From b2b67db957cf56e2caec0a5387c1ecb1289848a3 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Tue, 15 Oct 2024 15:40:07 +0200 Subject: [PATCH 001/239] Revert "Rotate textures of magic leaves; fix #2278" This reverts commit 7dfc6a981c316c553dd921282574533065997154. --- .../textures/block/mining_leaves.png | Bin 1788 -> 1730 bytes .../textures/block/time_leaves.png | Bin 1981 -> 1730 bytes .../textures/block/transformation_leaves.png | Bin 2667 -> 1718 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/twilightforest/textures/block/mining_leaves.png b/src/main/resources/assets/twilightforest/textures/block/mining_leaves.png index 083ec43cff57e5e2b45416970c1b90a2461eb8e0..08a37492565540150f71e373079d1d6a5dee6dff 100644 GIT binary patch delta 1714 zcmX|=e^k~X!v~VIp_KObMHC#b3gaK?tOoj zSGBHE`opJoM6tdU4UHT2?eyoo|E|$44koyjm$T7p816c7k84VQN_p~Tstw=59W6Jr z&w88N;IGW{wgzD-HS}>Mai?VZ$K$_M-m1J+HKC^-ukz_m-juL!pF%E|_loqv6w2NC z%uV{GiCRO_kt1a3of|js9|r{79LUVfoOv-h0UyfE>Qz2!wBXzSYA+YOV$BTjqPU&1+|vgH^$W;EjLjKe{tMMfrjJ%3&B^EFdQXz1=? zdz~)?O=OBC5+Cd0;$5Rrurz45+o$5ciC{2r91cgnWH1=gGBS$qKp%ei9^%)+nY6I5 z;{C5*z6?xANT@Gee0;2V<=^WW;|h}3T_@~xL~M3A9IZMX%iG7t%|dYd{6Fsom`fg* zmz(7|XSQwKy7fVA^Ua%IY?)drT;FX8Ozk_jTTG%*G^Hm_1YNJGX(&AM`(9oI6ZPHe zxuxpr>dCf+V{(N;F+2CUN&jBeOQ|6Le%^`m`xwxw2OGNmD3Y2c!>*zDzkN^U&3Z;{cSUl} z9)5*-v?6>3jMstktXrL$U>8nK$vJ{F2f!GH?&W*Usq1S%;_9^*}1C zPD@4l7t#9iy{bgY#h{SOQ)Xr%{SSHwdFr$|O7tcM^Q5xu?MXB|f)$9fcz-$+(dJ?A zZ!#Sc`+25Mub)C+F9X!fNw3eO$}VEjf{bij-u6$VEz$Ql0gKSW?a#fBu0>`exsTzi z=D=w=BqfPdWHrrb{@1o_R-sn~%^m!jF-dTP?#tt{%h*s_KKB8#jR80im!1zBt;|XM z(J?!@`N?br{H|Nz961Z6Sq%Zf$VAB5~k444?;0ANXvMOSrqB<2|DL5d1 zNSU%nuOq&X2mxt}6f##ptxOTCCO_E@P5E3Y1J)70v@qk1R@E0!SrI_3wEc!)BdG1J zN0G5ndKho>;@!vLwMnc10*&SWw{Ah{&2nk!rVY??iad37>fK?d%)=JJ-hBv6o9_D-p+=H%6=m z1_m)l-l$*IQ;#a&`z|t@5qPC^@v9FBE`Df;3Z~jUD z(8uS2evwW(@7EDnmGui>FtPSIY7wjlcrlMG+8^*n6e+Ft(4%j-cNccS)2yepN|!|)%l6ArdWHRn1l z4`mP#rS#g_mo1p@AVzuEi2vNf}9=OW1?!d33C1m DqBKL+ literal 1788 zcmXYyeN<9;8pki)^mei$$JYw4?#@eEI*vAJCKh0t*=p+MTQ<^a2{z(uf*>gBBDI=1 zzLlBfrjAX!IvU1gzC^iLx=GS*is+!WqOJ%5;tQ6;T&zES=iYPfIiK@=KELmC?v;?> z$cDC1qY?*n8tJUc)olMEMWzy;Y_fWh-ZIMk(tSq@7 zAyX)WcWiBK)h_jau&d|XSUXjtnx7xgKYRT;>=8LRS>*XFS+%gRs?|1G(bCe);qBcw z^$Gk@z_oDq)robJ2XFz$^xCy+|Lcy4jor~4X}Q@NFum9L)@ z(5!f3Q1N>Q%VjEUTqDkz`ePQ#XOEp-CW%B+t*uF?9-aycvWhF<^ZDccl>ItWPl-%M zg&;_!(TJxkR`O^xnhWT0NZpv*u(WjW`L#b?B$Hndv2JctsT49R<(EX_`gb9@27P22 z5KjPI2S91G%x3^hB$*PVqDCy6OzH=>eWNT+cS5UUQ<9UJr87_aN3R$TUtsPeT1^xl zvA2ku_#B=4ys5jQsa62yL{#B6HDvLhlRi9bN? z8CB40Q5kZIuWH$f0*SM;^6UWE6^Su#pgTNy5eBag8{{Z|ek7f3MkcXh{~-XWSEwad zbIPDI7ZB?5Q)Yzhpb(^x4xrVZ%3}DT5Ue02B;0modSgqeRmcg}0t#f9Su;kPog5|G zzuPf;^Oo5_I_}NIhqvXZl5}cSLA4weQ&FU>*ows|R^?g~Bd)!c)ru*=pdF+g%}o4o zraAghH;E32MTd!XwdGhrwqFk$Cc~H7a~(K+69>?#6;uxm+X}%=_*OyTi=QBaSX@s? zRMKKJeFTHP_x0Pn@sss;vG>ZDd!L-{kPKtz$cDO+tdPvMs}gH?vPqfrHZRGi(v|GZ zExNDWP*#jq7C+`^g=BG%S(lU=oT~9lx`T2YQ}-1*uAf!`McGf6y?X}q{na$P8fxcN zLysg6B>v35umt5lG4V$0l-bnKa2VH~5u+zOe-GW^ZkT6Kzd|<{M`4RagD8f`=91P< zo_9;O%Q4)E$R5I7*8+PJ5fiBdDZ;?$J#=)Zk7fq3msLr=)-aCTT9majCdtXb<{D40V{ z-cOv%GO!un!9${G1XT}X9eEjfkmI!V*n<`U=;QrF@*94OC8HiI;A~9zXdrG+S|}XQ zsO8+Nb(&xlLQ>HY!87pkC)VVmnoSjHanfjNwA8B~#5C51CiLtyLRY^jb)Ca=4oi;; zCNNE&BJk`+s8i)gN9!*37&GDjE3(Ybz~VYuC44PFNV3s5@FgW$TneWxG!Yri0m1Il zZ&KcxMjhEUUU>mSJZ}KzO6*e@-j41%(Q{h%!ToqhXev+m>Y? z78F{XNaT3kc#~R(gjwtUCHxzqN1PdArV5Mms&NfrAnLz_1H9|cRzsLK4}{bz$W4e; jYXNlG&kQ$l7>^HBm|EF8g3x52v|Kd&`P5q25phGXsAWV2XYgT zU2LI5MLb%OKxt8wBqAkH1rl^Y`4CVGgn&lmO9NYyKuCgyy}IY@`)B5ynR#cPXP#*x zw6B(ukyWR6MzX%-k4)gJ^V`wJuzNk3m3NTc0d z$lk17o>J&ijvl3oT5jGXe(dLWYbZNAd+xrNfk>AEc^t*<`y^!Dye zrctQ{4u>NMhSzs=cIu`_#~iktKY3=JwCy-Hc0BCdoZU``!^2ZOp1&#n`MMz}IC#&f zt==1grm_V>p_gT8>8@VST^_dCY%_`9ghfOUqNAg=%Q~GdBP*+{1^V#A_fa2FWWymL zWe488eCeN*l+;kM^!Rw|%D*;5Ocqc)?m7^MJ#35JZg1CUSe{;9E+&%8=l@ydXDokU zeBCO^JG*_`wrvj-t+#G{v2|v-WJ9mXKYif*9sz|$Q&pTi8E```Z!9_b`@Xm^Cg!_0 z=H(7N1fe4F2PmCXvnDZhYdFIqasr#ayAw?q#tQl%bzXO0TMa{u4-E|+AZxIK(rVx! zX5{uUwvy>curP<%tI?qKBNdRYSy*UzhI@=H0Y+(sus&C!!!Mq6|6?kjzKAyRCvc)MKp;Exo(k9rb_vz) zk&qI99@cwm3=+;GY3e29`s4hK^R?H|o_4!XgKPA8iJ>TAF@7!0_uYSDPu4Sfr!!h} z?#L_5TSwUeCPA4EvLZlR)gF2Rau2djgk5YGV)P-^VIYZiM%7 z9GMxMl|Uj2Uq)5JdgDL0=dwyXs$o~~>xgNR3v^$SkXsoAWfZX=pxYQi{0W&zk>0|b zCO&!Ep{ysxKq`y|~7ACSUHp5Yrk*>9^s-Pg4s`#Y%NoXjR#6P>)HJ znwS*nkO>iO>U6W+yCif1>AlgfX3)T;k|zWCPli+e5At|;ydPmWZz88U7Amcm0jA=E zl83YzTg-a$2dEIxu_!_2VtP%QKsNo!4rs>fY9+9q{H2MRsJFmYk0w;sESgBYZAUkX_dM^3JI5Av(|6apL>vA}g?J_GMC+!o zHNem??&w?f%X;hu_y1?o4uMZcaUAxMH+hJ~Cpeisg7YTdxv&Th=J@_Z%xvAH@b8wuQ^mF7Bpxr1?Z$9hY#7Mx7l1*&MzrA5JhT`y}Z`gMik=?VbrwS_wBAIG;w=etyg@48Wa9n;wL&<{z}y$%tQ?y$Q3)Xnc--!5O1UmLN_k4Tul zv5T^=D~j7!DBMcTkCxw=h?>%7ek?UMqp2A89N+IhpY#6b^LoACuk(DLbA{^Rx?$bc zbr=k0gWD13%w|Cb~dGg@O^GnLnXP&Y~ z+s4u9w|`ERK7IQ145^|2r9j|J5sO6lsHiBvfH9Z%r6a}D%E=cuXpxb6-cRFC?qE5o z?30!ZIIh*qPZMJ?7p0%*7i*gIcUxFI6N%0~{xUu;+;i}t(XY&fne)3m|6J^R*grlV zSY;Iy5q2*LGI_sg9GA^KUD$QS6D$`uYh| zaWn7m7C!v->FMd6i_6PN8mM~y!^>N=com=Ldgsy?rSTJ{kC5sr@*0#D7Dhb#D)M=% z8WCML| zeJ-RPoWKP)hdD=~{!pK4@1KYv`6iGvfUW@@a=aRD-b~mDe%R4<6%hS#WMaZx?it%BTHK80t=}dEbDC<>FyWG=^)g4trUB- zHbsWLUz?%;ZOylUxg5hM-&B~ld;N$|U$=j&fsz%yd!`%5o3epEn3kS0<9uch9X}Z_ zJpBWBAQR661UixCR*S=QR+yX!`3`Ii4%k_C+l|zgBDeF2kvaCfN`Qo>uy3A$bYE6E zOti~6L;y4N1zPCK-^yTpvmEt;h)o_f^|4a+%}_q)09d1ucMk#a!u_*I8|0rbSroJa-xq42P*(o^P~hA;Wo>dEKz{BX!|SP-qzBirXGAv1P_|V?I!J zj{N4>BQEfUhq#t>+Q*trVjHpz%k(C&t!LYCWMHAg#U@q>OFStZXyAPU-1Pp|)Uc*& zw^kCdszsguqv{6{jciLi;6B|e_&+MGK;>@o`eNXfIifx#SOp1}!^K~S)B`{KBGmdv zwi!qbw;9%GPgj}6hDuS(3;l{~1(a~OxuMoc$_^8132{m$tc1Jl`s)S0wpXKtTJkJJO9@k<>y`OPx~mpGl!u+G-DWZz98r(le=QiEaFnt&hNXKO zRm3(O(QwnpHe6T%b;{1C3&%GSw2Sz%pBTzCflkt}O?ey=563VMxpg379Q|;JeQIi* zNC?>q9bGYKMk2opglKiOPI_QXqMRx~z-jcL#%Jm;4L4-~sCaKmMc8yiv>}LY=;#Bb aS;e79qZ}MM@6u}e# diff --git a/src/main/resources/assets/twilightforest/textures/block/transformation_leaves.png b/src/main/resources/assets/twilightforest/textures/block/transformation_leaves.png index 2783b70b5760586a8f3837b1eed7929df0e56aff..b23d3ade4f5adec7986640ab8daddfb85e7f2b3c 100644 GIT binary patch delta 1703 zcmV;Y23Yy)6t)eJBYy^cNkld)T2KBvqVe%Fz8JqRv|yZwpSTO& zkuAC{`2765zc4Jo2I4b(%&_2YI4;5q!tAgBpLeog{4*NB$A5@Mqv7#;oR9vIkH8J6 z9#0#H6Y)29-Z;;1=)QJ*Fplv%%vGJr$K3$-bexPn2&>{T!|dg8(E@a+xQPFMH-IO? zEWA7V0QQ0E@VnE{RCHzRxXC-ibhN;ATr{-YUAd|oWIR?{2l~q71I&Vo2iSS%cu=u` z@3dHey&G=LLw`BmP~3THI9?I^09%*xfG<>jkq&1?TI`E$9Y>0b}lB`cyoS4PYdOqY>Xw@L*|xkyi1*!lYusxVz;6kI0M%GPL<| ze9+;6>O4uN$Lj@TfxDx%0KJUY3&;obkJ~F5C}<77GR1?X0W=@|BIN;F;9|fw58R|t zt{2dB4u8NE3zoOg;emq9;zSt_WCIwkAQN#u2p-5sz>^gZ5PuU)!gR-icm&ANs2{L$QSo3wS{4JA4d4v* zhzCkPP}3Vvhix9PKqDO~;{lI@ML$5(ng32dSbsV^;{mUeCXdC%mV>C`!DK3IIkx<9%K>8`TT;)F?1BoC0)pRfzlV# ze51-QAP@Kzr+T8}frM(BfFd4PCO+mtm48!=&y-ME>Iba&yX39q0e(U02h&?%`Z)a{ zC6dyTNw_O;(?n3mIin}VEUkYR|3_gw4|1v$SiO?V1N9l z`hi+-{EnWeqK~o~=xDxC@xaYU(_reNCf32SA-f`K$E)S;R zTuETt`hkkrxgIIyfzk{3`DJ{-`30OG7-@C|U+HHl4|pDMS-vri4_Gfy zB{U@uRK2p)6CDp!y|Qhf!vj^re6eKhQRWvE58SSr zbU#y7ulyrDQLUXP9#s1mc)>BbGVfnt7M48V{R>Jj*wznNPh=L9^~y?5+~R?9=N1bx zJ@I}0!0Cx)weV3Mbo7EWS=Y%omi0)kK2chrc%asi%DpWQoU*&UzkiW~@W=ZXSU;HD znfEWSeo*p2(WlzaRO$!3UgR1TYeA+bZt3=F z`Npyy$<-&e^9!n8S;>Kx2aW}g_B*q7_-OwE>j!drbNWHW1G#$d?suM4U5p1gI&mzp x`30pXIvy%HBCcAMAz#z zJ_{ij(&D{m`CAGX#9GVD%)>CSVP=-2N(mttW@ckdHmbFjqklGA8dz%?QyqqZ(JoFO z515&Wh^A>`{4jHTVVb6-9TCw%sZ7>dzFaPe5pTB}P1D3(*U|BKjGa9mj~_Lpk%nQ2 zBUo$W|60>b&=4JAB-jAY7CXQwvLo5C)E4bOq_v+*8kfu%W27cc(~z~6opW(Iv9a_> z>1}eohhgBlu7BxvyV3P}r4WKSc<=dsztiP%q0{L^$K#QRh~+9YO%pqJ&Y58txNTbs zA^cdjv>Mi0o~DVt_t7V$#JTGiz4t7aOur<((RlCKIcL20e7oJURjI0q9*+l|&*x~D zX`1-+^K*G0NP|i#JvU2@r4e`I!K#M|E#%Hz)c|;qsek=+Fk_4%xm|yQ2M1$}!2_%U z_C2I+TXN1BSRd^}2qwXUzVGRJy)NPbw6xaJ{eDmJ0BXwpk16QgSv2+%ph!H}wOZc$ z)YmBm8r{K%e%U!^#&Jxr0Gf>B7^j@!0UA5!5^sy^O=UbVB|P~0`bt(o%K3aY=*T%| zK8T30vwuE6KMf!)gkY}MD^*oRbzM_cRdl^xb7zxYB@KuvNmnmnL-c8BuyGvY0Da#l z0~%w@Ka2;Z-B{9M5f3y&DUK#O+RYENV708Z{2{F`@c=(hO~@Ey=6NP~r7^~Y5KICn zbzQIW188}_-*bL|<9iJccJl+>!7hHV1Sqn@5`RBPM4yMU101f0e@Gxweok6w0Ph!UStAmq4{BZ^HvEFXO?Ii>~qm*$`+f`2ieE4irL& zCx4b*#nubCM##*aC%Hsvy2qP`=gDBDl(rvZs8V^?af%iT+XoVjiw8@Hv>Okswd9=3;)Ub! zxEL=an@Q#mE|&{E9uMlej;yuB%-nSyF*D!q_n&Ppef~Fi@PXYHLNM62x{<~MDSuhW zQ`dDC!8T2U$Td1!5m2zhN+Ugk@MSz$a-=POP{aeElE#9*?@1$hFw@PYX|pD16DF@x?12K_sDu#`Vo z!vlknopV`wRFbSEeh^O~xf){k6@O_@mP5e@Tk%4XV91Q^`Ft*Vq{ag&2_8Icu!sl9 zC*mwg8kFJ%Z3B4-Wq2Uz99Ci}e<1N7@`KCe5nS<;0M;)m_Nwk1tOxauP^vKBY$we-`Dv8;)SOz$a@c7kN^!d z$U2bm0;ml$^E}TnUXTXQ;(rCX#yZfFhSsZd`1<-vK9HUXBd%daqQ(C{f3SoLIv|Bu zYq9m?ZNCYmrRbN;XO}5Z!35{XU=vBYQgAf8u)5L4{4>TUg z`v*z>pzFGL>Y~0tM1NU*K`w1}4@Kt_vEAi#L>18tYQOX|_@jzy9qJ;}&TR$uA zMlkkLK2akQJ}A0s2_K{n48y?L(XHdhQYYwWQv=!fujLPt4(ht5(sDi?k9Z%c>$*7l zIF98q(b{Ix(~J2;V@$02%Lem2lXDIcY{^8ayov{j4d5WZj(-=H@&{TFQxiQI$~@1j z_mSl0!u6snf^L6MRb1R=H8%v+Tv(0>B-}jOFuJVI5ZoJJ zH6F<4*%XMj?<@aX`GZ9CMHZ;NltW1j^%g+E-@n> z_m$<}CBwl+u*Zjt7nkq=fGb&C1}MlU${(F3-n@U1`8cI}zr+t#ZwG2TzzP-dK>n7Z z5ot4CK%+IJLYqYmwA;!-7V$t@TVg?}zK|FZ9l#$-M*O4uNdMjZfi$3;=UW+y#)DX( zSh}Ao@qZuN_;$NR3h>9@U)anaynJ7|6ff)olr=m6kU*-c`T^fp_(91RUg8IOg)%$H z(MlRX3yBB2zQ2I^;&0}ac%h`lE`ERyF%qyq;(>H~biT?Dyto-B@xWS3^E{_`AUDfP z_mSl3Gmc}nO!GXyh6jI~Ph0|&rGiZ?P$ZTWr+putOcfSpy6m+@eWA3%%6`hsRCOW$uS;=!5*Yy2QP-idzd z3J{%7lv*VT2;hNE%F2A=;`bX%{6OQw8u%u>=#~3O@j4Ms9o@(n6N!g}JIH(U2TM5= zJ%7yvZ~)&@q%lh`$z0L_`9ygiN#+mcd5+W$_m$O81q~Sl&;3YyKeP z2lAd`>ArHNowTe36pXF~912s2;XkT4Aq0~716+Ovi_x`*{EW From 01913431c1b13bf791f2c98001ab68f6c886601a Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 16 Oct 2024 01:08:06 +0200 Subject: [PATCH 002/239] Rotate the textures of magic leaves using blockStates --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 66 +++++++++---------- .../blockstates/mining_leaves.json | 11 ++-- .../blockstates/time_leaves.json | 11 ++-- .../blockstates/transformation_leaves.json | 11 ++-- .../data/BlockstateGenerator.java | 24 +++++-- 5 files changed, 74 insertions(+), 49 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index ff9dfc6638..18efa5bbab 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-09-01T12:17:47.1144411 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T00:54:21.994521572 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -6,10 +6,10 @@ cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acaci 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json -feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json 06b8d2c19720a41c08406f14c410780ca4f2f3ac assets/twilightforest/blockstates/aurora_pillar.json 87eabe763bbf2fb2afb0a556edea7e64da27211d assets/twilightforest/blockstates/aurora_slab.json +feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json eb255492ac41ed72ee0b4e9884c208e5f945239b assets/twilightforest/blockstates/bamboo_banister.json 62b18edaef9c27bb158830e8d1bb5e82cf3a73c2 assets/twilightforest/blockstates/beanstalk_grower.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json @@ -77,7 +77,6 @@ b66481a27d37b515e3f11b9769d77ab1be6adfb9 assets/twilightforest/blockstates/crack 6f3813d2be5875746912e49293aed0a7b76403b0 assets/twilightforest/blockstates/crimson_banister.json 6cf6563f8b20afc916bca69623fb3b877a585b26 assets/twilightforest/blockstates/cursed_spawner.json fadcab0f3a09e77d5520204bb9e4d712223a2483 assets/twilightforest/blockstates/cut_mazestone.json -c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json 6c2e4f65f2ac6cac95c9f4d26e3befd8863048c3 assets/twilightforest/blockstates/dark_banister.json 136fdf55d525160d3321baed5b89fa9aac036a9c assets/twilightforest/blockstates/dark_button.json 489c9e459f7445709058b454c656cdb40d23cdd3 assets/twilightforest/blockstates/dark_chest.json @@ -98,6 +97,7 @@ c135c60cdc09b4e3ad2388d1bd3b85a191bb26f0 assets/twilightforest/blockstates/dark_ 72d8da56732c5b1040bb4b17148626375be3c679 assets/twilightforest/blockstates/dark_wall_hanging_sign.json 4e2a0f36ccf630b4d1d7bef04e75d2136fea330a assets/twilightforest/blockstates/dark_wall_sign.json 8368e552fa0cccf2999999ff7f9861279c62ec94 assets/twilightforest/blockstates/dark_wood.json +c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json b1b2a5f4296eb9a42484d43f47c29ec576b36114 assets/twilightforest/blockstates/deadrock.json 48f4f43849807c8cd88dc198d2710f307ec4fe67 assets/twilightforest/blockstates/decorative_mazestone.json 0123daa7589bd70318c6e1a207e435e4941efa0b assets/twilightforest/blockstates/encased_castle_brick_pillar.json @@ -114,10 +114,10 @@ c95b39b44a263d1b9fbf2e8003fb9fb2e1c182b3 assets/twilightforest/blockstates/falle 5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/final_boss_boss_spawner.json +9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/firefly_jar.json 000396eb68815ecbc4d78f7b00984caaee57d88c assets/twilightforest/blockstates/firefly_particle_spawner.json -9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json dcd1310ef232e7152a9257192391d60b7dddb5b0 assets/twilightforest/blockstates/ghast_trap.json b3e26b3f33dfa534b0a5f46c8a7489deaf356594 assets/twilightforest/blockstates/giant_cobblestone.json @@ -192,14 +192,14 @@ e86bea94f77572b15fff713be3a8d75ace74e4b2 assets/twilightforest/blockstates/huge_ 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json 3928ab358eefd11e2ca1dc0a567ed34f3c245189 assets/twilightforest/blockstates/infested_towerwood.json -f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json 6d7d9b397edc853645164973510c6edad556522b assets/twilightforest/blockstates/iron_ladder.json +f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json a25ce2e10d4d9eaf78d2dcdb31a552597e417bf4 assets/twilightforest/blockstates/jungle_banister.json d76bac84e471c8e5afc6b73dcf1f6f2111c0cd8b assets/twilightforest/blockstates/keepsake_casket.json -87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/knight_phantom_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_wall_trophy.json +87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/lich_boss_spawner.json 905da1684726dd4027506a7aa6c37dadfa3a21db assets/twilightforest/blockstates/lich_tower_miniature_structure.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -d5160517781c85fb75caf34dcc287671ca5e3186 assets/twilightforest/blockstates/mining_leaves.json +eca7981adb1360930a4e8ebce5ef4334c63a676c assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -258,6 +258,7 @@ d0ea57e4cdbde330002525d12d9f02697ffc5bab assets/twilightforest/blockstates/minin 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json +740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json 1e7e1bbc92655d82be2ac43cbdf6eff906ab4115 assets/twilightforest/blockstates/mossy_castle_brick.json da4dc4c742e22985ae90252743e657d9e2890cea assets/twilightforest/blockstates/mossy_castle_brick_stairs.json b8ceffb95b20c515c26f42aff3a33a2758e2cd4b assets/twilightforest/blockstates/mossy_etched_nagastone.json @@ -267,17 +268,16 @@ bfe6854ab148f7ad06895f223c424450657d45e4 assets/twilightforest/blockstates/mossy 6405b78fef75615ece53882c1ccd403cb6d91767 assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json a9869cdf4ff867b8c21473686c7def05a6bb2e24 assets/twilightforest/blockstates/mossy_towerwood.json 388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json -740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json f06dac21e55066a5a2da510d51d778ef1be85f67 assets/twilightforest/blockstates/mushgloom.json +9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/naga_boss_spawner.json +94351b8a42fdd8e7eb8266c8c374ee551f7a07e0 assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json +94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json +94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 98bdda5c9940c6ed32d9b2ff0ad922e449803f73 assets/twilightforest/blockstates/nagastone.json 141ddaf8998fddb263fb97d87cefc45572d69ee6 assets/twilightforest/blockstates/nagastone_head.json 2318fa0e638d35481c77bc508ae735d667da9a01 assets/twilightforest/blockstates/nagastone_pillar.json acf0bf93d2640f47c26d2ad865e98066ead94436 assets/twilightforest/blockstates/nagastone_stairs_left.json c4d220562461456a603b55cdef6d4f2c74807607 assets/twilightforest/blockstates/nagastone_stairs_right.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/naga_boss_spawner.json -94351b8a42fdd8e7eb8266c8c374ee551f7a07e0 assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 4d9142feaee02216e196004df83e65262a43db4c assets/twilightforest/blockstates/oak_banister.json f4b4e9fdae1c3ee5efdb198162249d82a92b433c assets/twilightforest/blockstates/orange_force_field.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json @@ -319,10 +319,10 @@ e347a4db67dc3202cc0eed97364e00349a0f85f0 assets/twilightforest/blockstates/rope. 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json bb9836bc48eb6cbc52a2c7fb9b833d4085315602 assets/twilightforest/blockstates/slider.json 1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json -250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/snow_queen_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json +250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 0f8f8d0605dbe75204870855ebf14e0f1bcd97fd assets/twilightforest/blockstates/sorting_banister.json a5f6e4501a27ef88f0b994e12d99c5a6640dd62c assets/twilightforest/blockstates/sorting_button.json 02aecf1ae1d386eb03e8d8787a93fadaa5355987 assets/twilightforest/blockstates/sorting_chest.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json +5132ffbebb25f5b130268b8387af07082969fbe4 assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -708a669983dc33ab4ff8de5dd903a1b4e058bb08 assets/twilightforest/blockstates/transformation_leaves.json +dd85a8e8a026b550c5426d0d63c0d003cc19a0ae assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json @@ -471,7 +471,6 @@ f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/yello 3ca7c8b256be661c6af770dcfbef85453309edb0 assets/twilightforest/models/block/antibuilder.json 5014809ef2f9c92a40eb886c103388a23eedfe1e assets/twilightforest/models/block/antibuilt_block.json ace805e7747f4e4ca6e86ffbb875a3f72b0eb10c assets/twilightforest/models/block/arctic_fur_block.json -c9d506a723562e7532e5bdfb965785dc936b87d0 assets/twilightforest/models/block/auroralized_glass.json 0d21d32180ab0091e43fea680cd7ce2fc1673233 assets/twilightforest/models/block/aurora_block.json 0f58d72e257db5d77d5a38fc053fe2944b3dbbf0 assets/twilightforest/models/block/aurora_block_0.json 8281e1a05f3d7bf406008a0db8e68e544662a498 assets/twilightforest/models/block/aurora_block_1.json @@ -492,6 +491,7 @@ da2e2a820ffd8dfd6234287cf6c4bb38a66f422f assets/twilightforest/models/block/auro bb6e15f99fd619307044738a619b1f6dd84575d2 assets/twilightforest/models/block/aurora_pillar.json 08d05b927862842e0f3a9a7b4df17f08a7ef937a assets/twilightforest/models/block/aurora_slab.json 35e8cd5079b1dcfeef8b782f7d2265890bae4185 assets/twilightforest/models/block/aurora_slab_double.json +c9d506a723562e7532e5bdfb965785dc936b87d0 assets/twilightforest/models/block/auroralized_glass.json a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/beanstalk_grower.json 3b22b7437760208f6214b9b121890393af3278a2 assets/twilightforest/models/block/beanstalk_leaves.json acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/blue_castle_door.json @@ -558,15 +558,6 @@ af1100535ab0d2bff3afd31f15d56e923758c08a assets/twilightforest/models/block/cask ca23291a1e515aa159da74ba7d16754acba3b6a9 assets/twilightforest/models/block/castle_brick_stairs_inner.json f6967f950a74204b0e3fe494ebdc356a82febb5d assets/twilightforest/models/block/castle_brick_stairs_outer.json 712a9cc2925a57667316a7b4460df53535b35cc8 assets/twilightforest/models/block/castle_roof_tile.json -95c808ebe87de521b90b20bb20e9bb631f0df9d7 assets/twilightforest/models/block/castle_runes_0.json -29652bfdcd1c2653ef1579faf5e71fdb46d9f060 assets/twilightforest/models/block/castle_runes_1.json -8bdcd40ff7835d4fd018eaa48848f589e7e1b434 assets/twilightforest/models/block/castle_runes_2.json -a422357d5a836621c096845716e6ea5f7ad237a3 assets/twilightforest/models/block/castle_runes_3.json -eaaa89267f2e6512afda7d9a410e94b62e15cbb8 assets/twilightforest/models/block/castle_runes_4.json -0ef19cb6532606a4277879455c02d775c642ad4d assets/twilightforest/models/block/castle_runes_5.json -c48370f6351d2fc582d95a1dd4f95d4848fc6a31 assets/twilightforest/models/block/castle_runes_6.json -1de2d5ae3614e7ee9bbbb8dd88308b5e6389e122 assets/twilightforest/models/block/castle_runes_7.json -7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_rune_bricks.json 91e4211786bdcc5b9ab9fb6c467b00b4826e7bee assets/twilightforest/models/block/castle_rune_brick_0.json e8b6dcf6a014efbcd24927ac49844a24b846027d assets/twilightforest/models/block/castle_rune_brick_1.json 8796272dbd575cb1c660927f4d135fd30b5e7a90 assets/twilightforest/models/block/castle_rune_brick_2.json @@ -575,7 +566,16 @@ f8673b0a02babf1723fc9f9a335ca3772b470f18 assets/twilightforest/models/block/cast 9e09de0085270fadfcb7f8b140cd5536dd298700 assets/twilightforest/models/block/castle_rune_brick_5.json 366bb332e042e16f88832aab1db7e1776f1e6f7e assets/twilightforest/models/block/castle_rune_brick_6.json ba05b6c8d0c1e14d355fc0a30738ab6997cfec4f assets/twilightforest/models/block/castle_rune_brick_7.json +7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_rune_bricks.json 6aaaceded6c64e8353338a810bc6cbb657c26875 assets/twilightforest/models/block/castle_rune_inventory.json +95c808ebe87de521b90b20bb20e9bb631f0df9d7 assets/twilightforest/models/block/castle_runes_0.json +29652bfdcd1c2653ef1579faf5e71fdb46d9f060 assets/twilightforest/models/block/castle_runes_1.json +8bdcd40ff7835d4fd018eaa48848f589e7e1b434 assets/twilightforest/models/block/castle_runes_2.json +a422357d5a836621c096845716e6ea5f7ad237a3 assets/twilightforest/models/block/castle_runes_3.json +eaaa89267f2e6512afda7d9a410e94b62e15cbb8 assets/twilightforest/models/block/castle_runes_4.json +0ef19cb6532606a4277879455c02d775c642ad4d assets/twilightforest/models/block/castle_runes_5.json +c48370f6351d2fc582d95a1dd4f95d4848fc6a31 assets/twilightforest/models/block/castle_runes_6.json +1de2d5ae3614e7ee9bbbb8dd88308b5e6389e122 assets/twilightforest/models/block/castle_runes_7.json 0a84bb4ae7820eb2c4851201a8b565556cd1d40c assets/twilightforest/models/block/chiseled_canopy_bookshelf.json d911af86f5b2da2c4ad5aa1984fe7c8a9e8631ea assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json 09780aada910463ef71f1d51c74b1f430e4fe4e0 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json @@ -621,7 +621,6 @@ f67e83a8023518fa68474c65b98b6ea0818986d9 assets/twilightforest/models/block/crac 4d1988b8b507870b1c18dd435510898acdc849e6 assets/twilightforest/models/block/cracked_underbrick.json 765f2e8bd33db3fda202a9a3fbcff065968fa2bd assets/twilightforest/models/block/cursed_spawner.json 55aa238d7809a9a3221806646896b091abb8c1cf assets/twilightforest/models/block/cut_mazestone.json -a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_chest.json dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark_hanging_sign.json ff73cf220e6bec60699a36e7d250d62b92e4e4d0 assets/twilightforest/models/block/dark_leaves.json @@ -633,6 +632,7 @@ dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark 42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_wall_sign.json 2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json 3c29f7847d49d8b07f61abd607f4e612e76c7930 assets/twilightforest/models/block/dark_wood_horizontal.json +a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json e52c91b4b0e68fc9474fb415e72a373a15d549f5 assets/twilightforest/models/block/decorative_mazestone.json 321b34f169823a2a63e675ba8727da55eca811ee assets/twilightforest/models/block/encased_castle_brick_pillar.json @@ -670,8 +670,8 @@ bebac05813302a4e983cc452fd6957062e82a841 assets/twilightforest/models/block/fall 3219a9a2d844742003ab7de6f528651a988a549b assets/twilightforest/models/block/fallen_leaves7.json 58a049e44c40ab20cb322514cb34d65ce60ffa2c assets/twilightforest/models/block/fallen_leaves8.json e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/firefly.json 90f5aacf15e0b6d31622c680d5323a1941981426 assets/twilightforest/models/block/fire_jet.json +a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/firefly.json a8cb3a9bf21cd70ede74f84c27528adcfc805cb4 assets/twilightforest/models/block/fluffy_cloud.json ae42e425d0851f8b6779ec3b6d631628d7fe7505 assets/twilightforest/models/block/ghast_trap.json bb1097d5ef0560a2cd3bd476f1eb4976eef781fc assets/twilightforest/models/block/ghast_trap_active.json @@ -1168,6 +1168,12 @@ a6231204fb7cedf1ed204c8fd0e5bff3ebe6d850 assets/twilightforest/models/block/wood 395cce33c02c94c89dec973b008b4e4a4f76d28b assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json 2c03f87c0d219d4969f27dfb3770d3245a7517b2 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json 6531feceb39ab2904500388561dd9a47438d5a56 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json +e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json +8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json +7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json +0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json +85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json +dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json 42ee9e2cb9a23162fc6c39aad42f3ccf7a391186 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json 69974fae9a2c179d5a240751e244cf54d7a6b5d4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json ab97290a481ab279b235961619dde411f2efcf6a assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json @@ -1192,12 +1198,6 @@ c254af4c79720d1b41d5a1975733f833db5a850c assets/twilightforest/models/block/wood 6cc78b11e42419d01ce0107218b1cc704393dc49 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json f472c22634bcb98dd0fb85429b586e44822e3166 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json 156c8b19417d9614f3be99eb51d14ad1c16f6ee4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json -e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json -8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json -7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json -0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json -85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json -dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json 71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json f8e6a9570639dc59ebcd2981321001f3fccbeb95 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index 869eb33ce9..b435c2d1b6 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,7 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/mining_leaves" + "multipart": [ + { + "apply": { + "model": "twilightforest:block/mining_leaves", + "x": 90 + } } - } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index 28d91296f3..cf8361b7e2 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,7 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/time_leaves" + "multipart": [ + { + "apply": { + "model": "twilightforest:block/time_leaves", + "x": 180 + } } - } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index 303e750aa8..ed552c665a 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,7 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/transformation_leaves" + "multipart": [ + { + "apply": { + "model": "twilightforest:block/transformation_leaves", + "x": 270 + } } - } + ] } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 30bd499ad7..4ae26f99fc 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -913,22 +913,22 @@ private void registerWoodBlocks() { logWoodSapling(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.TIME_WOOD.get(), TFBlocks.STRIPPED_TIME_WOOD.get(), TFBlocks.TIME_SAPLING.get()); plankBlocks("time", TFBlocks.TIME_PLANKS.get(), TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_STAIRS.get(), TFBlocks.TIME_BUTTON.get(), TFBlocks.TIME_FENCE.get(), TFBlocks.TIME_GATE.get(), TFBlocks.TIME_PLATE.get(), TFBlocks.TIME_DOOR.get(), TFBlocks.TIME_TRAPDOOR.get(), true, false, TFBlocks.TIME_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.TIME_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/time_leaves")); + timeLeaves(); magicLogCore(TFBlocks.TIME_LOG_CORE.get()); logWoodSapling(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_WOOD.get(), TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), TFBlocks.TRANSFORMATION_SAPLING.get()); plankBlocks("trans", TFBlocks.TRANSFORMATION_PLANKS.get(), TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_STAIRS.get(), TFBlocks.TRANSFORMATION_BUTTON.get(), TFBlocks.TRANSFORMATION_FENCE.get(), TFBlocks.TRANSFORMATION_GATE.get(), TFBlocks.TRANSFORMATION_PLATE.get(), TFBlocks.TRANSFORMATION_DOOR.get(), TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, false, TFBlocks.TRANSFORMATION_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.TRANSFORMATION_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/transformation_leaves")); + transformationLeaves(); magicLogCore(TFBlocks.TRANSFORMATION_LOG_CORE.get()); logWoodSapling(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.MINING_WOOD.get(), TFBlocks.STRIPPED_MINING_WOOD.get(), TFBlocks.MINING_SAPLING.get()); plankBlocks("mine", TFBlocks.MINING_PLANKS.get(), TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_STAIRS.get(), TFBlocks.MINING_BUTTON.get(), TFBlocks.MINING_FENCE.get(), TFBlocks.MINING_GATE.get(), TFBlocks.MINING_PLATE.get(), TFBlocks.MINING_DOOR.get(), TFBlocks.MINING_TRAPDOOR.get(), TFBlocks.MINING_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.MINING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/mining_leaves")); + miningLeaves(); magicLogCore(TFBlocks.MINING_LOG_CORE.get()); logWoodSapling(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.SORTING_WOOD.get(), TFBlocks.STRIPPED_SORTING_WOOD.get(), TFBlocks.SORTING_SAPLING.get()); plankBlocks("sort", TFBlocks.SORTING_PLANKS.get(), TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_STAIRS.get(), TFBlocks.SORTING_BUTTON.get(), TFBlocks.SORTING_FENCE.get(), TFBlocks.SORTING_GATE.get(), TFBlocks.SORTING_PLATE.get(), TFBlocks.SORTING_DOOR.get(), TFBlocks.SORTING_TRAPDOOR.get(), true, true, TFBlocks.SORTING_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); + singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); // TODO: make all sides' texture rotation random magicLogCore(TFBlocks.SORTING_LOG_CORE.get()); banisterVanilla(TFBlocks.OAK_BANISTER.get(), "oak_planks", "oak"); @@ -979,6 +979,22 @@ private void registerWoodBlocks() { hollowLogs(TFBlocks.SORTING_LOG, TFBlocks.STRIPPED_SORTING_LOG, TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, EMPTY_LOG, MOSS_LOG, MOSS_LOG_GRASS, SNOW_LOG, HOLLOW_LOG, VINE_LOG, LADDER_LOG); } + // TODO: make bottom and top texture rotations random + private void timeLeaves() { + ModelFile model = models().leaves("time_leaves", prefix("block/time_leaves")); + getMultipartBuilder(TFBlocks.TIME_LEAVES.get()).part().modelFile(model).rotationX(180).addModel().end(); + } + + private void transformationLeaves() { + ModelFile model = models().leaves("transformation_leaves", prefix("block/transformation_leaves")); + getMultipartBuilder(TFBlocks.TRANSFORMATION_LEAVES.get()).part().modelFile(model).rotationX(270).addModel().end(); + } + + private void miningLeaves() { + ModelFile model = models().leaves("mining_leaves", prefix("block/mining_leaves")); + getMultipartBuilder(TFBlocks.MINING_LEAVES.get()).part().modelFile(model).rotationX(90).addModel().end(); + } + private void magicLogCore(Block b) { ResourceLocation topTex = prefix("block/" + name(b).replace("_core", "_top")); ModelFile off = models().cubeColumn(name(b), blockTexture(b), topTex); From 904940093f2d047b75e18722eb99d4efd1a9c20e Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 16 Oct 2024 14:18:34 +0200 Subject: [PATCH 003/239] Use ConfiguredModel with SimpleBlock instead of getMultipartBuilder --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 8 ++++---- .../blockstates/mining_leaves.json | 12 +++++------- .../twilightforest/blockstates/time_leaves.json | 12 +++++------- .../blockstates/transformation_leaves.json | 12 +++++------- .../twilightforest/data/BlockstateGenerator.java | 16 ++++++++++------ 5 files changed, 29 insertions(+), 31 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index 18efa5bbab..c65fa130e8 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T00:54:21.994521572 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T14:00:16.734999297 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -eca7981adb1360930a4e8ebce5ef4334c63a676c assets/twilightforest/blockstates/mining_leaves.json +583760c9ea8e184f2c97f57581bba6731ac2644b assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -5132ffbebb25f5b130268b8387af07082969fbe4 assets/twilightforest/blockstates/time_leaves.json +5e5f52ebbefcb264bece9abe7a673fa4cafd7b53 assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -dd85a8e8a026b550c5426d0d63c0d003cc19a0ae assets/twilightforest/blockstates/transformation_leaves.json +af2102fdd466056de347a44b4752d51403b34167 assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index b435c2d1b6..76a76f2d6c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,10 +1,8 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/mining_leaves", - "x": 90 - } + "variants": { + "": { + "model": "twilightforest:block/mining_leaves", + "x": 90 } - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index cf8361b7e2..f67b40a718 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,10 +1,8 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/time_leaves", - "x": 180 - } + "variants": { + "": { + "model": "twilightforest:block/time_leaves", + "x": 180 } - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index ed552c665a..bd5ced4dec 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,10 +1,8 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/transformation_leaves", - "x": 270 - } + "variants": { + "": { + "model": "twilightforest:block/transformation_leaves", + "x": 270 } - ] + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 4ae26f99fc..5f75b6c5a0 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -17,6 +17,7 @@ import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder; import net.neoforged.neoforge.client.model.generators.loaders.CompositeModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -981,18 +982,21 @@ private void registerWoodBlocks() { // TODO: make bottom and top texture rotations random private void timeLeaves() { - ModelFile model = models().leaves("time_leaves", prefix("block/time_leaves")); - getMultipartBuilder(TFBlocks.TIME_LEAVES.get()).part().modelFile(model).rotationX(180).addModel().end(); + magicLeaves(TFBlocks.TIME_LEAVES, 180); } private void transformationLeaves() { - ModelFile model = models().leaves("transformation_leaves", prefix("block/transformation_leaves")); - getMultipartBuilder(TFBlocks.TRANSFORMATION_LEAVES.get()).part().modelFile(model).rotationX(270).addModel().end(); + magicLeaves(TFBlocks.TRANSFORMATION_LEAVES, 270); } private void miningLeaves() { - ModelFile model = models().leaves("mining_leaves", prefix("block/mining_leaves")); - getMultipartBuilder(TFBlocks.MINING_LEAVES.get()).part().modelFile(model).rotationX(90).addModel().end(); + magicLeaves(TFBlocks.MINING_LEAVES, 90); + } + + private void magicLeaves(DeferredBlock block, int rotation) { + ModelFile model = models().leaves(block.getId().getPath(), prefix("block/" + block.getId().getPath())); + ConfiguredModel configuredModel = new ConfiguredModel(model, rotation, 0, false); + simpleBlock(block.get(), configuredModel); } private void magicLogCore(Block b) { From c8fdeef14aef2e593248d458f4081cc1b8238069 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 16 Oct 2024 14:29:26 +0200 Subject: [PATCH 004/239] Change the direction of timeLeaves to clockwise --- .../resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 4 ++-- .../assets/twilightforest/blockstates/time_leaves.json | 3 +-- src/main/java/twilightforest/data/BlockstateGenerator.java | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index c65fa130e8..c0873e7832 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T14:00:16.734999297 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T14:28:31.349210224 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -5e5f52ebbefcb264bece9abe7a673fa4cafd7b53 assets/twilightforest/blockstates/time_leaves.json +4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index f67b40a718..28d91296f3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,8 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/time_leaves", - "x": 180 + "model": "twilightforest:block/time_leaves" } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 5f75b6c5a0..4728d35542 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -982,7 +982,7 @@ private void registerWoodBlocks() { // TODO: make bottom and top texture rotations random private void timeLeaves() { - magicLeaves(TFBlocks.TIME_LEAVES, 180); + magicLeaves(TFBlocks.TIME_LEAVES, 0); } private void transformationLeaves() { From d527927525932f32fb8264a914d5609c20b08e8c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:59:24 -0600 Subject: [PATCH 005/239] setup gradle for 1.21.2 --- build.gradle | 16 ++++++++-------- gradle.properties | 6 +++--- .../compat/CosmeticArmorCompat.java | 0 .../compat/RecipeViewerConstants.java | 0 .../compat/curios/CuriosCompat.java | 0 .../curios/model/CharmOfLifeNecklaceModel.java | 0 .../compat/curios/model/package-info.java | 0 .../compat/curios/package-info.java | 0 .../curios/renderer/CharmOfKeepingRenderer.java | 0 .../renderer/CharmOfLifeNecklaceRenderer.java | 0 .../curios/renderer/CurioHeadRenderer.java | 0 .../compat/curios/renderer/package-info.java | 0 .../compat/emi/EmiEntityWidget.java | 0 .../compat/emi/EmiItemEntityWidget.java | 0 .../compat/emi/OrderedSlotWidget.java | 0 .../compat/emi/TFEmiCompat.java | 0 .../compat/emi/TFEmiRecipeCategory.java | 0 .../compat/emi/package-info.java | 0 .../compat/emi/recipes/EmiCrumbleHornRecipe.java | 0 .../emi/recipes/EmiEmperorsClothRecipe.java | 0 .../emi/recipes/EmiMoonwormQueenRecipe.java | 0 .../emi/recipes/EmiNoSmithingTemplateRecipe.java | 0 .../emi/recipes/EmiScepterRepairRecipe.java | 0 .../recipes/EmiTransformationPowderRecipe.java | 0 .../compat/emi/recipes/EmiUncraftingRecipe.java | 0 .../compat/emi/recipes/TFEmiRecipe.java | 0 .../compat/emi/recipes/package-info.java | 0 .../jade/ChiseledBookshelfSpawnProvider.java | 0 .../compat/jade/JadeCompat.java | 0 .../compat/jade/QuestRamWoolProvider.java | 0 .../compat/jade/package-info.java | 0 .../compat/jei/FakeEntityType.java | 0 .../compat/jei/FakeItemEntity.java | 0 .../compat/jei/JEICompat.java | 0 .../jei/categories/CrumbleHornCategory.java | 0 .../jei/categories/JEIUncraftingCategory.java | 0 .../jei/categories/MoonwormQueenCategory.java | 0 .../categories/TransformationPowderCategory.java | 0 .../compat/jei/categories/package-info.java | 0 .../compat/jei/package-info.java | 0 .../compat/jei/renderers/EntityHelper.java | 0 .../compat/jei/renderers/EntityRenderer.java | 0 .../jei/renderers/FakeItemEntityHelper.java | 0 .../jei/renderers/FakeItemEntityRenderer.java | 0 .../compat/jei/renderers/package-info.java | 0 .../compat/jei/util/CrumbleRecipe.java | 0 .../compat/jei/util/TransformationRecipe.java | 0 .../compat/package-info.java | 0 .../compat/rei/TFREIClientPlugin.java | 0 .../compat/rei/TFREIServerPlugin.java | 0 .../rei/categories/REICrumbleHornCategory.java | 0 .../rei/categories/REIMoonwormQueenCategory.java | 0 .../REITransformationPowderCategory.java | 0 .../rei/categories/REIUncraftingCategory.java | 0 .../compat/rei/categories/package-info.java | 0 .../rei/displays/REICrumbleHornDisplay.java | 0 .../displays/REITransformationPowderDisplay.java | 0 .../rei/displays/REIUncraftingDisplay.java | 0 .../compat/rei/displays/package-info.java | 0 .../compat/rei/entries/EntityComparator.java | 0 .../compat/rei/entries/EntityComparatorImpl.java | 0 .../rei/entries/EntityEntryDefinition.java | 0 .../compat/rei/entries/NbtHasher.java | 0 .../compat/rei/entries/package-info.java | 0 .../compat/rei/package-info.java | 0 .../top/ChiseledBookshelfSpawnProvider.java | 0 .../compat/top/QuestRamWoolElement.java | 0 .../compat/top/TOPQuestRamWoolProvider.java | 0 .../compat/top/TopCompat.java | 0 .../client/event/ClientEvents.java | 1 - .../resources/META-INF/accesstransformer.cfg | 16 ++++++++-------- 71 files changed, 19 insertions(+), 20 deletions(-) rename src/main/{java/twilightforest => disabled}/compat/CosmeticArmorCompat.java (100%) rename src/main/{java/twilightforest => disabled}/compat/RecipeViewerConstants.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/CuriosCompat.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/model/CharmOfLifeNecklaceModel.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/model/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/renderer/CharmOfKeepingRenderer.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/renderer/CharmOfLifeNecklaceRenderer.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/renderer/CurioHeadRenderer.java (100%) rename src/main/{java/twilightforest => disabled}/compat/curios/renderer/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/EmiEntityWidget.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/EmiItemEntityWidget.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/OrderedSlotWidget.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/TFEmiCompat.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/TFEmiRecipeCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiCrumbleHornRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiEmperorsClothRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiMoonwormQueenRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiNoSmithingTemplateRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiScepterRepairRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiTransformationPowderRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/EmiUncraftingRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/TFEmiRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/emi/recipes/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jade/ChiseledBookshelfSpawnProvider.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jade/JadeCompat.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jade/QuestRamWoolProvider.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jade/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/FakeEntityType.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/FakeItemEntity.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/JEICompat.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/categories/CrumbleHornCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/categories/JEIUncraftingCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/categories/MoonwormQueenCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/categories/TransformationPowderCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/categories/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/renderers/EntityHelper.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/renderers/EntityRenderer.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/renderers/FakeItemEntityHelper.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/renderers/FakeItemEntityRenderer.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/renderers/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/util/CrumbleRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/util/TransformationRecipe.java (100%) rename src/main/{java/twilightforest => disabled}/compat/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/TFREIClientPlugin.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/TFREIServerPlugin.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/categories/REICrumbleHornCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/categories/REIMoonwormQueenCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/categories/REITransformationPowderCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/categories/REIUncraftingCategory.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/categories/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/displays/REICrumbleHornDisplay.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/displays/REITransformationPowderDisplay.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/displays/REIUncraftingDisplay.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/displays/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/entries/EntityComparator.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/entries/EntityComparatorImpl.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/entries/EntityEntryDefinition.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/entries/NbtHasher.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/entries/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/package-info.java (100%) rename src/main/{java/twilightforest => disabled}/compat/top/ChiseledBookshelfSpawnProvider.java (100%) rename src/main/{java/twilightforest => disabled}/compat/top/QuestRamWoolElement.java (100%) rename src/main/{java/twilightforest => disabled}/compat/top/TOPQuestRamWoolProvider.java (100%) rename src/main/{java/twilightforest => disabled}/compat/top/TopCompat.java (100%) diff --git a/build.gradle b/build.gradle index 26680a8fe4..3451d1dcdb 100644 --- a/build.gradle +++ b/build.gradle @@ -156,24 +156,24 @@ dependencies { jarJar implementation(project(":tf-asm")) //make sure to only pick one of these when testing (switch others to compileOnly) - implementation "mezz.jei:jei-${project.base_minecraft_version}-neoforge:${project.jei_version}" - compileOnly "me.shedaniel:RoughlyEnoughItems-neoforge:${project.rei_version}" - compileOnly "dev.emi:emi-neoforge:${project.emi_version}+${project.base_minecraft_version}" +// implementation "mezz.jei:jei-${project.base_minecraft_version}-neoforge:${project.jei_version}" +// compileOnly "me.shedaniel:RoughlyEnoughItems-neoforge:${project.rei_version}" +// compileOnly "dev.emi:emi-neoforge:${project.emi_version}+${project.base_minecraft_version}" // theillusivec4 - implementation "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.base_minecraft_version}" +// implementation "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.base_minecraft_version}" //curse maven - implementation "curse.maven:jade-324717:5529595" - implementation "curse.maven:cosmetic-armor-reworked-237307:5427303" +// implementation "curse.maven:jade-324717:5529595" +// implementation "curse.maven:cosmetic-armor-reworked-237307:5427303" // implementation "curse.maven:world-edit-225608:5613180" // runtimeOnly "curse.maven:jeed-532286:5483315" // runtimeOnly "curse.maven:museum-curator-859070:4629894" - compileOnly "mcjty.theoneprobe:theoneprobe:${project.top_version}" +// compileOnly "mcjty.theoneprobe:theoneprobe:${project.top_version}" //mods we dont have compat with but are nice to have - runtimeOnly "com.telepathicgrunt:CommandStructures-Neoforge:4.3.2+1.20.6" +// runtimeOnly "com.telepathicgrunt:CommandStructures-Neoforge:4.3.2+1.20.6" testImplementation group: 'net.neoforged', name: 'testframework', version: project.neo_version testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.10.3' diff --git a/gradle.properties b/gradle.properties index 02bbec49fd..3059c9de03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,16 +7,16 @@ neoForge.parchment.minecraftVersion=1.21 neoForge.parchment.mappingsVersion=2024.06.23 # Mod Info -mod_version=4.6 +mod_version=4.7 mod_id=twilightforest group_name=com.github.teamtwilight.twilightforest # Minecraft base_minecraft_version=1.21 -minecraft_version=1.21.1 +minecraft_version=1.21.2 # NeoForge: https://projects.neoforged.net/neoforged/neoforge -neo_version=21.1.61 +neo_version=21.2.0-beta mdg_version=1.0.1 # Deps diff --git a/src/main/java/twilightforest/compat/CosmeticArmorCompat.java b/src/main/disabled/compat/CosmeticArmorCompat.java similarity index 100% rename from src/main/java/twilightforest/compat/CosmeticArmorCompat.java rename to src/main/disabled/compat/CosmeticArmorCompat.java diff --git a/src/main/java/twilightforest/compat/RecipeViewerConstants.java b/src/main/disabled/compat/RecipeViewerConstants.java similarity index 100% rename from src/main/java/twilightforest/compat/RecipeViewerConstants.java rename to src/main/disabled/compat/RecipeViewerConstants.java diff --git a/src/main/java/twilightforest/compat/curios/CuriosCompat.java b/src/main/disabled/compat/curios/CuriosCompat.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/CuriosCompat.java rename to src/main/disabled/compat/curios/CuriosCompat.java diff --git a/src/main/java/twilightforest/compat/curios/model/CharmOfLifeNecklaceModel.java b/src/main/disabled/compat/curios/model/CharmOfLifeNecklaceModel.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/model/CharmOfLifeNecklaceModel.java rename to src/main/disabled/compat/curios/model/CharmOfLifeNecklaceModel.java diff --git a/src/main/java/twilightforest/compat/curios/model/package-info.java b/src/main/disabled/compat/curios/model/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/model/package-info.java rename to src/main/disabled/compat/curios/model/package-info.java diff --git a/src/main/java/twilightforest/compat/curios/package-info.java b/src/main/disabled/compat/curios/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/package-info.java rename to src/main/disabled/compat/curios/package-info.java diff --git a/src/main/java/twilightforest/compat/curios/renderer/CharmOfKeepingRenderer.java b/src/main/disabled/compat/curios/renderer/CharmOfKeepingRenderer.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/renderer/CharmOfKeepingRenderer.java rename to src/main/disabled/compat/curios/renderer/CharmOfKeepingRenderer.java diff --git a/src/main/java/twilightforest/compat/curios/renderer/CharmOfLifeNecklaceRenderer.java b/src/main/disabled/compat/curios/renderer/CharmOfLifeNecklaceRenderer.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/renderer/CharmOfLifeNecklaceRenderer.java rename to src/main/disabled/compat/curios/renderer/CharmOfLifeNecklaceRenderer.java diff --git a/src/main/java/twilightforest/compat/curios/renderer/CurioHeadRenderer.java b/src/main/disabled/compat/curios/renderer/CurioHeadRenderer.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/renderer/CurioHeadRenderer.java rename to src/main/disabled/compat/curios/renderer/CurioHeadRenderer.java diff --git a/src/main/java/twilightforest/compat/curios/renderer/package-info.java b/src/main/disabled/compat/curios/renderer/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/curios/renderer/package-info.java rename to src/main/disabled/compat/curios/renderer/package-info.java diff --git a/src/main/java/twilightforest/compat/emi/EmiEntityWidget.java b/src/main/disabled/compat/emi/EmiEntityWidget.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/EmiEntityWidget.java rename to src/main/disabled/compat/emi/EmiEntityWidget.java diff --git a/src/main/java/twilightforest/compat/emi/EmiItemEntityWidget.java b/src/main/disabled/compat/emi/EmiItemEntityWidget.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/EmiItemEntityWidget.java rename to src/main/disabled/compat/emi/EmiItemEntityWidget.java diff --git a/src/main/java/twilightforest/compat/emi/OrderedSlotWidget.java b/src/main/disabled/compat/emi/OrderedSlotWidget.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/OrderedSlotWidget.java rename to src/main/disabled/compat/emi/OrderedSlotWidget.java diff --git a/src/main/java/twilightforest/compat/emi/TFEmiCompat.java b/src/main/disabled/compat/emi/TFEmiCompat.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/TFEmiCompat.java rename to src/main/disabled/compat/emi/TFEmiCompat.java diff --git a/src/main/java/twilightforest/compat/emi/TFEmiRecipeCategory.java b/src/main/disabled/compat/emi/TFEmiRecipeCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/TFEmiRecipeCategory.java rename to src/main/disabled/compat/emi/TFEmiRecipeCategory.java diff --git a/src/main/java/twilightforest/compat/emi/package-info.java b/src/main/disabled/compat/emi/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/package-info.java rename to src/main/disabled/compat/emi/package-info.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiCrumbleHornRecipe.java b/src/main/disabled/compat/emi/recipes/EmiCrumbleHornRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiCrumbleHornRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiCrumbleHornRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiEmperorsClothRecipe.java b/src/main/disabled/compat/emi/recipes/EmiEmperorsClothRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiEmperorsClothRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiEmperorsClothRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiMoonwormQueenRecipe.java b/src/main/disabled/compat/emi/recipes/EmiMoonwormQueenRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiMoonwormQueenRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiMoonwormQueenRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiNoSmithingTemplateRecipe.java b/src/main/disabled/compat/emi/recipes/EmiNoSmithingTemplateRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiNoSmithingTemplateRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiNoSmithingTemplateRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiScepterRepairRecipe.java b/src/main/disabled/compat/emi/recipes/EmiScepterRepairRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiScepterRepairRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiScepterRepairRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiTransformationPowderRecipe.java b/src/main/disabled/compat/emi/recipes/EmiTransformationPowderRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiTransformationPowderRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiTransformationPowderRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/EmiUncraftingRecipe.java b/src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/EmiUncraftingRecipe.java rename to src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/TFEmiRecipe.java b/src/main/disabled/compat/emi/recipes/TFEmiRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/TFEmiRecipe.java rename to src/main/disabled/compat/emi/recipes/TFEmiRecipe.java diff --git a/src/main/java/twilightforest/compat/emi/recipes/package-info.java b/src/main/disabled/compat/emi/recipes/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/emi/recipes/package-info.java rename to src/main/disabled/compat/emi/recipes/package-info.java diff --git a/src/main/java/twilightforest/compat/jade/ChiseledBookshelfSpawnProvider.java b/src/main/disabled/compat/jade/ChiseledBookshelfSpawnProvider.java similarity index 100% rename from src/main/java/twilightforest/compat/jade/ChiseledBookshelfSpawnProvider.java rename to src/main/disabled/compat/jade/ChiseledBookshelfSpawnProvider.java diff --git a/src/main/java/twilightforest/compat/jade/JadeCompat.java b/src/main/disabled/compat/jade/JadeCompat.java similarity index 100% rename from src/main/java/twilightforest/compat/jade/JadeCompat.java rename to src/main/disabled/compat/jade/JadeCompat.java diff --git a/src/main/java/twilightforest/compat/jade/QuestRamWoolProvider.java b/src/main/disabled/compat/jade/QuestRamWoolProvider.java similarity index 100% rename from src/main/java/twilightforest/compat/jade/QuestRamWoolProvider.java rename to src/main/disabled/compat/jade/QuestRamWoolProvider.java diff --git a/src/main/java/twilightforest/compat/jade/package-info.java b/src/main/disabled/compat/jade/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/jade/package-info.java rename to src/main/disabled/compat/jade/package-info.java diff --git a/src/main/java/twilightforest/compat/jei/FakeEntityType.java b/src/main/disabled/compat/jei/FakeEntityType.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/FakeEntityType.java rename to src/main/disabled/compat/jei/FakeEntityType.java diff --git a/src/main/java/twilightforest/compat/jei/FakeItemEntity.java b/src/main/disabled/compat/jei/FakeItemEntity.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/FakeItemEntity.java rename to src/main/disabled/compat/jei/FakeItemEntity.java diff --git a/src/main/java/twilightforest/compat/jei/JEICompat.java b/src/main/disabled/compat/jei/JEICompat.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/JEICompat.java rename to src/main/disabled/compat/jei/JEICompat.java diff --git a/src/main/java/twilightforest/compat/jei/categories/CrumbleHornCategory.java b/src/main/disabled/compat/jei/categories/CrumbleHornCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/categories/CrumbleHornCategory.java rename to src/main/disabled/compat/jei/categories/CrumbleHornCategory.java diff --git a/src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java b/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java rename to src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java diff --git a/src/main/java/twilightforest/compat/jei/categories/MoonwormQueenCategory.java b/src/main/disabled/compat/jei/categories/MoonwormQueenCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/categories/MoonwormQueenCategory.java rename to src/main/disabled/compat/jei/categories/MoonwormQueenCategory.java diff --git a/src/main/java/twilightforest/compat/jei/categories/TransformationPowderCategory.java b/src/main/disabled/compat/jei/categories/TransformationPowderCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/categories/TransformationPowderCategory.java rename to src/main/disabled/compat/jei/categories/TransformationPowderCategory.java diff --git a/src/main/java/twilightforest/compat/jei/categories/package-info.java b/src/main/disabled/compat/jei/categories/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/categories/package-info.java rename to src/main/disabled/compat/jei/categories/package-info.java diff --git a/src/main/java/twilightforest/compat/jei/package-info.java b/src/main/disabled/compat/jei/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/package-info.java rename to src/main/disabled/compat/jei/package-info.java diff --git a/src/main/java/twilightforest/compat/jei/renderers/EntityHelper.java b/src/main/disabled/compat/jei/renderers/EntityHelper.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/renderers/EntityHelper.java rename to src/main/disabled/compat/jei/renderers/EntityHelper.java diff --git a/src/main/java/twilightforest/compat/jei/renderers/EntityRenderer.java b/src/main/disabled/compat/jei/renderers/EntityRenderer.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/renderers/EntityRenderer.java rename to src/main/disabled/compat/jei/renderers/EntityRenderer.java diff --git a/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityHelper.java b/src/main/disabled/compat/jei/renderers/FakeItemEntityHelper.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityHelper.java rename to src/main/disabled/compat/jei/renderers/FakeItemEntityHelper.java diff --git a/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java b/src/main/disabled/compat/jei/renderers/FakeItemEntityRenderer.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java rename to src/main/disabled/compat/jei/renderers/FakeItemEntityRenderer.java diff --git a/src/main/java/twilightforest/compat/jei/renderers/package-info.java b/src/main/disabled/compat/jei/renderers/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/renderers/package-info.java rename to src/main/disabled/compat/jei/renderers/package-info.java diff --git a/src/main/java/twilightforest/compat/jei/util/CrumbleRecipe.java b/src/main/disabled/compat/jei/util/CrumbleRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/util/CrumbleRecipe.java rename to src/main/disabled/compat/jei/util/CrumbleRecipe.java diff --git a/src/main/java/twilightforest/compat/jei/util/TransformationRecipe.java b/src/main/disabled/compat/jei/util/TransformationRecipe.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/util/TransformationRecipe.java rename to src/main/disabled/compat/jei/util/TransformationRecipe.java diff --git a/src/main/java/twilightforest/compat/package-info.java b/src/main/disabled/compat/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/package-info.java rename to src/main/disabled/compat/package-info.java diff --git a/src/main/java/twilightforest/compat/rei/TFREIClientPlugin.java b/src/main/disabled/compat/rei/TFREIClientPlugin.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/TFREIClientPlugin.java rename to src/main/disabled/compat/rei/TFREIClientPlugin.java diff --git a/src/main/java/twilightforest/compat/rei/TFREIServerPlugin.java b/src/main/disabled/compat/rei/TFREIServerPlugin.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/TFREIServerPlugin.java rename to src/main/disabled/compat/rei/TFREIServerPlugin.java diff --git a/src/main/java/twilightforest/compat/rei/categories/REICrumbleHornCategory.java b/src/main/disabled/compat/rei/categories/REICrumbleHornCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/categories/REICrumbleHornCategory.java rename to src/main/disabled/compat/rei/categories/REICrumbleHornCategory.java diff --git a/src/main/java/twilightforest/compat/rei/categories/REIMoonwormQueenCategory.java b/src/main/disabled/compat/rei/categories/REIMoonwormQueenCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/categories/REIMoonwormQueenCategory.java rename to src/main/disabled/compat/rei/categories/REIMoonwormQueenCategory.java diff --git a/src/main/java/twilightforest/compat/rei/categories/REITransformationPowderCategory.java b/src/main/disabled/compat/rei/categories/REITransformationPowderCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/categories/REITransformationPowderCategory.java rename to src/main/disabled/compat/rei/categories/REITransformationPowderCategory.java diff --git a/src/main/java/twilightforest/compat/rei/categories/REIUncraftingCategory.java b/src/main/disabled/compat/rei/categories/REIUncraftingCategory.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/categories/REIUncraftingCategory.java rename to src/main/disabled/compat/rei/categories/REIUncraftingCategory.java diff --git a/src/main/java/twilightforest/compat/rei/categories/package-info.java b/src/main/disabled/compat/rei/categories/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/categories/package-info.java rename to src/main/disabled/compat/rei/categories/package-info.java diff --git a/src/main/java/twilightforest/compat/rei/displays/REICrumbleHornDisplay.java b/src/main/disabled/compat/rei/displays/REICrumbleHornDisplay.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/displays/REICrumbleHornDisplay.java rename to src/main/disabled/compat/rei/displays/REICrumbleHornDisplay.java diff --git a/src/main/java/twilightforest/compat/rei/displays/REITransformationPowderDisplay.java b/src/main/disabled/compat/rei/displays/REITransformationPowderDisplay.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/displays/REITransformationPowderDisplay.java rename to src/main/disabled/compat/rei/displays/REITransformationPowderDisplay.java diff --git a/src/main/java/twilightforest/compat/rei/displays/REIUncraftingDisplay.java b/src/main/disabled/compat/rei/displays/REIUncraftingDisplay.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/displays/REIUncraftingDisplay.java rename to src/main/disabled/compat/rei/displays/REIUncraftingDisplay.java diff --git a/src/main/java/twilightforest/compat/rei/displays/package-info.java b/src/main/disabled/compat/rei/displays/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/displays/package-info.java rename to src/main/disabled/compat/rei/displays/package-info.java diff --git a/src/main/java/twilightforest/compat/rei/entries/EntityComparator.java b/src/main/disabled/compat/rei/entries/EntityComparator.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/entries/EntityComparator.java rename to src/main/disabled/compat/rei/entries/EntityComparator.java diff --git a/src/main/java/twilightforest/compat/rei/entries/EntityComparatorImpl.java b/src/main/disabled/compat/rei/entries/EntityComparatorImpl.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/entries/EntityComparatorImpl.java rename to src/main/disabled/compat/rei/entries/EntityComparatorImpl.java diff --git a/src/main/java/twilightforest/compat/rei/entries/EntityEntryDefinition.java b/src/main/disabled/compat/rei/entries/EntityEntryDefinition.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/entries/EntityEntryDefinition.java rename to src/main/disabled/compat/rei/entries/EntityEntryDefinition.java diff --git a/src/main/java/twilightforest/compat/rei/entries/NbtHasher.java b/src/main/disabled/compat/rei/entries/NbtHasher.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/entries/NbtHasher.java rename to src/main/disabled/compat/rei/entries/NbtHasher.java diff --git a/src/main/java/twilightforest/compat/rei/entries/package-info.java b/src/main/disabled/compat/rei/entries/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/entries/package-info.java rename to src/main/disabled/compat/rei/entries/package-info.java diff --git a/src/main/java/twilightforest/compat/rei/package-info.java b/src/main/disabled/compat/rei/package-info.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/package-info.java rename to src/main/disabled/compat/rei/package-info.java diff --git a/src/main/java/twilightforest/compat/top/ChiseledBookshelfSpawnProvider.java b/src/main/disabled/compat/top/ChiseledBookshelfSpawnProvider.java similarity index 100% rename from src/main/java/twilightforest/compat/top/ChiseledBookshelfSpawnProvider.java rename to src/main/disabled/compat/top/ChiseledBookshelfSpawnProvider.java diff --git a/src/main/java/twilightforest/compat/top/QuestRamWoolElement.java b/src/main/disabled/compat/top/QuestRamWoolElement.java similarity index 100% rename from src/main/java/twilightforest/compat/top/QuestRamWoolElement.java rename to src/main/disabled/compat/top/QuestRamWoolElement.java diff --git a/src/main/java/twilightforest/compat/top/TOPQuestRamWoolProvider.java b/src/main/disabled/compat/top/TOPQuestRamWoolProvider.java similarity index 100% rename from src/main/java/twilightforest/compat/top/TOPQuestRamWoolProvider.java rename to src/main/disabled/compat/top/TOPQuestRamWoolProvider.java diff --git a/src/main/java/twilightforest/compat/top/TopCompat.java b/src/main/disabled/compat/top/TopCompat.java similarity index 100% rename from src/main/java/twilightforest/compat/top/TopCompat.java rename to src/main/disabled/compat/top/TopCompat.java diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index 44c84d56a7..789ea0c9f3 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -18,7 +18,6 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.network.chat.Style; import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 3571037e2f..d997579490 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -4,7 +4,7 @@ public net.minecraft.world.level.block.entity.BaseContainerBlockEntity name # Bighorn (gets color of baby bighorn based on parent colors) -protected net.minecraft.world.entity.animal.Sheep getOffspringColor(Lnet/minecraft/world/entity/animal/Animal;Lnet/minecraft/world/entity/animal/Animal;)Lnet/minecraft/world/item/DyeColor; +#protected net.minecraft.world.entity.animal.Sheep getOffspringColor(Lnet/minecraft/world/entity/animal/Animal;Lnet/minecraft/world/entity/animal/Animal;)Lnet/minecraft/world/item/DyeColor; # BiomeGrassColors and FoliageColorHandler (gets biome noise values for blending colors together) public net.minecraft.world.level.biome.Biome TEMPERATURE_NOISE @@ -23,7 +23,7 @@ protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cook protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingTotalTime # CloudEvents and TFWeatherRenderer (plays rain sounds in various scenarios) -public net.minecraft.client.renderer.LevelRenderer rainSoundTime +#public net.minecraft.client.renderer.LevelRenderer rainSoundTime # Codecs (for creation of a MapColor codec) public net.minecraft.world.level.material.MapColor (II)V # @@ -55,9 +55,9 @@ public net.minecraft.world.entity.Interaction setHeight(F)V public net.minecraft.world.entity.Interaction setWidth(F)V # FixedHumanoidModel (allows for arm posing like in HumanoidModel) -public net.minecraft.client.model.HumanoidModel getAttackArm(Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/HumanoidArm; -public net.minecraft.client.model.HumanoidModel poseRightArm(Lnet/minecraft/world/entity/LivingEntity;)V -public net.minecraft.client.model.HumanoidModel poseLeftArm(Lnet/minecraft/world/entity/LivingEntity;)V +#public net.minecraft.client.model.HumanoidModel getAttackArm(Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/HumanoidArm; +#public net.minecraft.client.model.HumanoidModel poseRightArm(Lnet/minecraft/world/entity/LivingEntity;)V +#public net.minecraft.client.model.HumanoidModel poseLeftArm(Lnet/minecraft/world/entity/LivingEntity;)V # FoilagePlacerType registration public net.minecraft.world.level.levelgen.feature.foliageplacers.FoliagePlacerType (Lcom/mojang/serialization/MapCodec;)V @@ -113,7 +113,7 @@ public net.minecraft.world.level.levelgen.carver.WorldCarver getCarveState(Lnet/ public net.minecraft.world.level.biome.BiomeManager biomeZoomSeed # TFClientEvents (so we can render custom block outlines) -public net.minecraft.client.renderer.LevelRenderer renderShape(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/phys/shapes/VoxelShape;DDDFFFF)V +#public net.minecraft.client.renderer.LevelRenderer renderShape(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/phys/shapes/VoxelShape;DDDFFFF)V # TFClientSetup (creates custom birthday splash) public-f net.minecraft.client.gui.components.SplashRenderer splash @@ -140,8 +140,8 @@ public net.minecraft.client.gui.Gui canRenderCrosshairForSpectator(Lnet/minecraf public net.minecraft.client.gui.Gui renderFood(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;II)V # TFSkyRenderer (allows for rendering the sky) -public net.minecraft.client.renderer.LevelRenderer skyBuffer -public net.minecraft.client.renderer.LevelRenderer darkBuffer +#public net.minecraft.client.renderer.LevelRenderer skyBuffer +#public net.minecraft.client.renderer.LevelRenderer darkBuffer # TFStructureComponent (adds an override for setOrientation that removed mirroring) protected net.minecraft.world.level.levelgen.structure.StructurePiece rotation From 7aeb1af82f2aa887c39fcd0d66cbc9505e07e30a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:17:48 -0600 Subject: [PATCH 006/239] blocks ported --- .../block/AbstractSkullCandleBlock.java | 13 +++--- .../block/AbstractTrophyBlock.java | 14 ++----- .../twilightforest/block/BanisterBlock.java | 19 ++++----- .../twilightforest/block/BuilderBlock.java | 5 ++- .../twilightforest/block/CandelabraBlock.java | 42 ++++++++++--------- .../block/CarminiteReactorBlock.java | 3 +- .../twilightforest/block/CastleDoorBlock.java | 7 ++-- .../block/ChiseledCanopyShelfBlock.java | 8 ++-- .../twilightforest/block/CicadaBlock.java | 2 +- .../twilightforest/block/CicadaJarBlock.java | 15 ++++--- .../block/CinderFurnaceBlock.java | 4 +- .../block/ClimbableHollowLogBlock.java | 17 ++++---- .../java/twilightforest/block/CloudBlock.java | 8 ++-- .../block/ConnectableRotatedPillarBlock.java | 7 +++- .../twilightforest/block/CritterBlock.java | 34 +++++++-------- .../twilightforest/block/DarkLeavesBlock.java | 2 +- .../block/EncasedFireJetBlock.java | 3 +- .../block/EncasedSmokerBlock.java | 3 +- .../block/Experiment115Block.java | 29 ++++++------- .../java/twilightforest/block/FieryBlock.java | 4 +- .../twilightforest/block/FireflyJarBlock.java | 19 +++++---- .../block/FireflySpawnerBlock.java | 18 ++++---- .../twilightforest/block/ForceFieldBlock.java | 17 ++++---- .../twilightforest/block/GhastTrapBlock.java | 6 ++- .../block/HorizontalHollowLogBlock.java | 25 ++++++----- .../block/HugeLilyPadBlock.java | 6 +-- .../block/InfestedTowerwoodBlock.java | 3 +- .../twilightforest/block/IronLadderBlock.java | 11 +++-- .../java/twilightforest/block/JarBlock.java | 20 ++++----- .../block/KeepsakeCasketBlock.java | 18 ++++---- .../block/KnightmetalBlock.java | 11 +++-- .../twilightforest/block/LightableBlock.java | 10 ++--- .../twilightforest/block/LiverootBlock.java | 10 ++--- .../block/LockedVanishingBlock.java | 6 +-- .../block/MangroveSaplingBlock.java | 8 ++-- .../twilightforest/block/MasonJarBlock.java | 12 +++--- .../block/MiniatureStructureBlock.java | 2 +- .../twilightforest/block/NagastoneBlock.java | 9 ++-- .../java/twilightforest/block/PatchBlock.java | 6 ++- .../java/twilightforest/block/RopeBlock.java | 13 +++--- .../block/SkullCandleBlock.java | 2 +- .../twilightforest/block/SliderBlock.java | 10 ++--- .../block/SpecialFlowerPotBlock.java | 2 +- .../block/SpiralBrickBlock.java | 11 +++-- .../block/StrongholdShieldBlock.java | 2 +- .../twilightforest/block/TFChestBlock.java | 2 +- .../twilightforest/block/TFPortalBlock.java | 8 ++-- .../block/TFTrappedChestBlock.java | 2 +- .../twilightforest/block/ThornsBlock.java | 11 +++-- .../block/TimeLogCoreBlock.java | 2 +- .../block/TorchberryPlantBlock.java | 2 +- .../block/TransLogCoreBlock.java | 8 ++-- .../twilightforest/block/TrollRootBlock.java | 14 +++---- .../block/TrollsteinnBlock.java | 2 +- .../twilightforest/block/TrophyBlock.java | 2 +- .../block/TrophyPedestalBlock.java | 15 +++---- .../twilightforest/block/TrophyWallBlock.java | 9 +--- .../block/UberousSoilBlock.java | 37 ++++++++-------- .../block/UncraftingTableBlock.java | 6 ++- .../twilightforest/block/VanishingBlock.java | 8 ++-- .../block/VerticalHollowLogBlock.java | 19 ++++----- .../twilightforest/block/WallPillarBlock.java | 9 ++-- .../block/WallSkullCandleBlock.java | 4 +- .../twilightforest/block/WispyCloudBlock.java | 2 +- .../block/WroughtIronFenceBlock.java | 12 +++--- .../twilightforest/world/TFTeleporter.java | 35 ++++++++-------- .../block/HollowLogVerticalTests.java | 22 +++++----- 67 files changed, 370 insertions(+), 357 deletions(-) diff --git a/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java b/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java index 5ff1288d52..2e8bdc87eb 100644 --- a/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java +++ b/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java @@ -1,6 +1,7 @@ package twilightforest.block; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; @@ -12,7 +13,7 @@ import net.minecraft.util.StringRepresentable; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; @@ -90,7 +91,7 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { //input one of the enum names to convert it into a candle block public static Block candleColorToCandle(CandleColors color) { if (color != CandleColors.PLAIN) { - return Objects.requireNonNull(BuiltInRegistries.BLOCK.get(ResourceLocation.withDefaultNamespace(color.getSerializedName() + "_candle"))); + return BuiltInRegistries.BLOCK.get(ResourceLocation.withDefaultNamespace(color.getSerializedName() + "_candle")).map(Holder::value).orElse(Blocks.CANDLE); } return Blocks.CANDLE; } @@ -130,7 +131,7 @@ public List getDrops(BlockState state, LootParams.Builder builder) { if (skullStack.isPresent()) { BlockEntity blockEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); if (blockEntity instanceof SkullCandleBlockEntity sc) { - if (!builder.getParameter(LootContextParams.TOOL).isEmpty() && builder.getParameter(LootContextParams.TOOL).getEnchantmentLevel(sc.getLevel().registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH)) > 0) { + if (!builder.getParameter(LootContextParams.TOOL).isEmpty() && builder.getParameter(LootContextParams.TOOL).getEnchantmentLevel(sc.getLevel().registryAccess().holderOrThrow(Enchantments.SILK_TOUCH)) > 0) { ItemStack newStack = new ItemStack(this); newStack.set(TFDataComponents.SKULL_CANDLES, new SkullCandles(sc.getCandleColor(), state.getValue(CANDLES))); @@ -164,7 +165,7 @@ public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelRead } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (level.getBlockEntity(pos) instanceof SkullCandleBlockEntity sc) { if (stack.is(ItemTags.CANDLES) && stack.is(candleColorToCandle(CandleColors.colorFromInt(sc.getCandleColor())).asItem()) @@ -176,7 +177,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev level.playSound(null, pos, SoundEvents.CANDLE_PLACE, SoundSource.BLOCKS, 1.0F, 1.0F); stack.consume(1, player); level.getLightEngine().checkBlock(pos); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } @@ -218,7 +219,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP player.drop(candle, false); } } - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useWithoutItem(state, level, pos, player, hitResult); } diff --git a/src/main/java/twilightforest/block/AbstractTrophyBlock.java b/src/main/java/twilightforest/block/AbstractTrophyBlock.java index 284b626f7a..557adbe015 100644 --- a/src/main/java/twilightforest/block/AbstractTrophyBlock.java +++ b/src/main/java/twilightforest/block/AbstractTrophyBlock.java @@ -7,9 +7,7 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Equipable; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BaseEntityBlock; @@ -23,6 +21,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.block.entity.TrophyBlockEntity; @@ -34,7 +33,7 @@ import twilightforest.network.ParticlePacket; //[VanillaCopy] of AbstractSkullBlock except uses Variants instead of ISkullType and adds Sounds when clicked or powered -public abstract class AbstractTrophyBlock extends BaseEntityBlock implements Equipable { +public abstract class AbstractTrophyBlock extends BaseEntityBlock { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; private final BossVariant variant; @@ -52,7 +51,7 @@ public int getComparatorValue() { } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (!level.isClientSide()) { boolean flag = level.hasNeighborSignal(pos); if (flag != state.getValue(POWERED)) { @@ -68,7 +67,7 @@ public void neighborChanged(BlockState state, Level level, BlockPos pos, Block b protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { this.playSound(level, pos); this.createParticle(level, pos); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } @Override @@ -234,9 +233,4 @@ public void createParticle(Level level, BlockPos pos) { PacketDistributor.sendToPlayersNear(server, null, pos.getX(), pos.getY(), pos.getZ(), 32.0F, particlePacket); } } - - @Override - public EquipmentSlot getEquipmentSlot() { - return EquipmentSlot.HEAD; - } } diff --git a/src/main/java/twilightforest/block/BanisterBlock.java b/src/main/java/twilightforest/block/BanisterBlock.java index 4246c46311..84d939ed76 100644 --- a/src/main/java/twilightforest/block/BanisterBlock.java +++ b/src/main/java/twilightforest/block/BanisterBlock.java @@ -7,17 +7,16 @@ import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.SimpleWaterloggedBlock; @@ -214,7 +213,7 @@ public FluidState getFluidState(BlockState state) { } @Override - protected ItemInteractionResult useItemOn(ItemStack held, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack held, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (held.canPerformAction(ItemAbilities.AXE_WAX_OFF)) { BlockState newState = state.cycle(SHAPE); BlockState belowState = level.getBlockState(pos.below()); @@ -229,18 +228,18 @@ protected ItemInteractionResult useItemOn(ItemStack held, BlockState state, Leve } - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } return super.useItemOn(held, state, level, pos, player, hand, result); } @Override - protected BlockState updateShape(BlockState thisState, Direction direction, BlockState neighborState, LevelAccessor level, BlockPos thisPos, BlockPos neighborPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { // If a non-short banister gets placed below this banister, while it is extended, un-extend - if (direction == Direction.DOWN && neighborState.getBlock() instanceof BanisterBlock && neighborState.getValue(SHAPE) != BanisterShape.SHORT && thisState.getValue(EXTENDED)) { - return thisState.setValue(EXTENDED, false); + if (direction == Direction.DOWN && facingState.getBlock() instanceof BanisterBlock && facingState.getValue(SHAPE) != BanisterShape.SHORT && state.getValue(EXTENDED)) { + return state.setValue(EXTENDED, false); } - return super.updateShape(thisState, direction, neighborState, level, thisPos, neighborPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } } diff --git a/src/main/java/twilightforest/block/BuilderBlock.java b/src/main/java/twilightforest/block/BuilderBlock.java index dc16bb9e18..a1dd58e7d2 100644 --- a/src/main/java/twilightforest/block/BuilderBlock.java +++ b/src/main/java/twilightforest/block/BuilderBlock.java @@ -17,6 +17,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.redstone.Orientation; import twilightforest.block.entity.CarminiteBuilderBlockEntity; import twilightforest.enums.TowerDeviceVariant; import twilightforest.init.TFBlockEntities; @@ -73,7 +74,7 @@ public void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldS } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (level.isClientSide()) { return; } @@ -144,7 +145,7 @@ public void sparkle(Level level, BlockPos pos) { for (Direction direction : Direction.values()) { BlockPos blockpos = pos.relative(direction); - if (!level.getBlockState(blockpos).isSolidRender(level, blockpos)) { + if (!level.getBlockState(blockpos).isSolidRender()) { Direction.Axis axis = direction.getAxis(); double d1 = axis == Direction.Axis.X ? 0.5 + 0.5625 * (double) direction.getStepX() : (double) random.nextFloat(); double d2 = axis == Direction.Axis.Y ? 0.5 + 0.5625 * (double) direction.getStepY() : (double) random.nextFloat(); diff --git a/src/main/java/twilightforest/block/CandelabraBlock.java b/src/main/java/twilightforest/block/CandelabraBlock.java index b802b35100..00e1b759e0 100644 --- a/src/main/java/twilightforest/block/CandelabraBlock.java +++ b/src/main/java/twilightforest/block/CandelabraBlock.java @@ -15,7 +15,8 @@ import net.minecraft.tags.ItemTags; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.BlockItem; @@ -24,20 +25,19 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.enchantment.Enchantments; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; -import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.level.redstone.ExperimentalRedstoneUtils; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; @@ -60,7 +60,7 @@ public class CandelabraBlock extends BaseEntityBlock implements LightableBlock, SimpleWaterloggedBlock { public static final BooleanProperty ON_WALL = BooleanProperty.create("on_wall"); - public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; + public static final EnumProperty FACING = BlockStateProperties.HORIZONTAL_FACING; public static final List CANDLES = List.of(BooleanProperty.create("has_candle_1"), BooleanProperty.create("has_candle_2"), BooleanProperty.create("has_candle_3")); public static final VoxelShape CANDLES_NORTH = Shapes.or(Block.box(1, 7, 2, 15, 15, 6), Block.box(1, 1, 3.5, 15, 7, 4.5), Block.box(7.5, 1, 1, 8.5, 7, 7), Block.box(6, 2, 0, 10, 6, 1)); public static final VoxelShape CANDLES_SOUTH = Shapes.or(Block.box(1, 7, 10, 15, 15, 14), Block.box(1, 1, 11.5, 15, 7, 12.5), Block.box(7.5, 1, 9, 8.5, 7, 15), Block.box(6, 2, 15, 10, 6, 16)); @@ -154,7 +154,7 @@ public BlockState getToolModifiedState(BlockState state, UseOnContext context, I } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (stack.is(ItemTags.CANDLES) || player.isSecondaryUseActive()) { if (level.getBlockEntity(pos) instanceof CandelabraBlockEntity candelabra) { int i = this.getSlot(state.getValue(FACING), result.getLocation().subtract(result.getBlockPos().getX(), result.getBlockPos().getY(), result.getBlockPos().getZ())); @@ -173,7 +173,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev } level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else if (!state.getValue(CANDLES.get(i))) { if (stack.is(ItemTags.CANDLES) && stack.getItem() instanceof BlockItem block) { if (!level.isClientSide()) { @@ -182,7 +182,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev level.playSound(null, pos, SoundEvents.CANDLE_PLACE, SoundSource.BLOCKS, 1.0F, 1.0F); stack.consume(1, player); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } } @@ -190,7 +190,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (stack.is(Tags.Items.DUSTS_REDSTONE) && state.getValue(LIGHTING) == Lighting.NORMAL) { level.setBlockAndUpdate(pos, state.setValue(LIGHTING, Lighting.DIM)); stack.consume(1, player); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return this.lightCandles(state, level, pos, player, hand); } @@ -199,17 +199,19 @@ protected void updateNeighborsBasedOnRotation(Level level, BlockPos pos, BlockSt if (state.getValue(ON_WALL)) { Direction direction = state.getValue(FACING); BlockPos blockpos = pos.relative(direction); - level.neighborChanged(blockpos, this, pos); - level.updateNeighborsAtExceptFromFacing(blockpos, this, direction.getOpposite()); + Orientation orientation = ExperimentalRedstoneUtils.initialOrientation(level, direction.getOpposite(), Direction.UP); + level.neighborChanged(blockpos, this, orientation); + level.updateNeighborsAtExceptFromFacing(blockpos, this, direction.getOpposite(), orientation); } else { - level.neighborChanged(pos.below(), this, pos); - level.updateNeighborsAtExceptFromFacing(pos.below(), this, Direction.UP); + Orientation orientation = ExperimentalRedstoneUtils.initialOrientation(level, Direction.DOWN, null); //TODO check + level.neighborChanged(pos.below(), this, orientation); + level.updateNeighborsAtExceptFromFacing(pos.below(), this, Direction.UP, orientation); } } protected int getSlot(Direction blockDir, Vec3 hitVec) { Vec3i up = new Vec3i(0, 1, 0); - Vec3i dir = up.cross(blockDir.getNormal()); + Vec3i dir = up.cross(blockDir.getUnitVec3i()); boolean reverse = blockDir == Direction.NORTH || blockDir == Direction.EAST; double cx = dir.getX() * hitVec.x() + dir.getZ() * hitVec.z(); @@ -325,12 +327,12 @@ public void animateTick(BlockState state, Level level, BlockPos pos, RandomSourc } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override @@ -346,7 +348,7 @@ public List getDrops(BlockState state, LootParams.Builder builder) { BlockEntity blockEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); if (blockEntity instanceof CandelabraBlockEntity candelabra) { RegistryAccess access = blockEntity.getLevel().registryAccess(); - if (!builder.getParameter(LootContextParams.TOOL).isEmpty() && builder.getParameter(LootContextParams.TOOL).getEnchantmentLevel(access.registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH)) > 0) { + if (!builder.getParameter(LootContextParams.TOOL).isEmpty() && builder.getParameter(LootContextParams.TOOL).getEnchantmentLevel(access.holderOrThrow(Enchantments.SILK_TOUCH)) > 0) { ItemStack newStack = new ItemStack(this); CompoundTag tag = new CompoundTag(); candelabra.saveAdditional(tag, access); diff --git a/src/main/java/twilightforest/block/CarminiteReactorBlock.java b/src/main/java/twilightforest/block/CarminiteReactorBlock.java index f0c776efd3..8fc0a95330 100644 --- a/src/main/java/twilightforest/block/CarminiteReactorBlock.java +++ b/src/main/java/twilightforest/block/CarminiteReactorBlock.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import twilightforest.block.entity.CarminiteReactorBlockEntity; import twilightforest.init.TFBlockEntities; import twilightforest.init.TFBlocks; @@ -47,7 +48,7 @@ public RenderShape getRenderShape(BlockState state) { } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (level.isClientSide()) return; if (!state.getValue(ACTIVE) && this.isReactorReady(level, pos)) { diff --git a/src/main/java/twilightforest/block/CastleDoorBlock.java b/src/main/java/twilightforest/block/CastleDoorBlock.java index c215e94b06..01e77d91d1 100644 --- a/src/main/java/twilightforest/block/CastleDoorBlock.java +++ b/src/main/java/twilightforest/block/CastleDoorBlock.java @@ -13,6 +13,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; @@ -52,8 +53,8 @@ public boolean skipRendering(BlockState state, BlockState otherState, Direction } @Override - public VoxelShape getOcclusionShape(BlockState state, BlockGetter getter, BlockPos pos) { - return state.getValue(VANISHED) || !state.getValue(ACTIVE) ? Shapes.empty() : super.getOcclusionShape(state, getter, pos); + public VoxelShape getOcclusionShape(BlockState state) { + return state.getValue(VANISHED) || !state.getValue(ACTIVE) ? Shapes.empty() : super.getOcclusionShape(state); } @Override @@ -72,7 +73,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (!(block instanceof CastleDoorBlock) && level.hasNeighborSignal(pos)) { this.onActivation(level, pos, state); } diff --git a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java index 1b4d8773c4..be45daa958 100644 --- a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java +++ b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java @@ -7,7 +7,7 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -65,10 +65,10 @@ public void onCaughtFire(BlockState state, Level level, BlockPos pos, @Nullable } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { //always allow spawn eggs to be clicked so spawns can be set - if (stack.getItem() instanceof SpawnEggItem) return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; - if (state.getValue(SPAWNER)) return ItemInteractionResult.FAIL; + if (stack.getItem() instanceof SpawnEggItem) return InteractionResult.PASS; + if (state.getValue(SPAWNER)) return InteractionResult.FAIL; return super.useItemOn(stack, state, level, pos, player, hand, result); } diff --git a/src/main/java/twilightforest/block/CicadaBlock.java b/src/main/java/twilightforest/block/CicadaBlock.java index f6a4ded809..fc942773e3 100644 --- a/src/main/java/twilightforest/block/CicadaBlock.java +++ b/src/main/java/twilightforest/block/CicadaBlock.java @@ -50,6 +50,6 @@ public ResourceKey getSquishLootTable() { public void destroy(LevelAccessor accessor, BlockPos pos, BlockState state) { super.destroy(accessor, pos, state); if (accessor.isClientSide()) - Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().getLocation(), SoundSource.NEUTRAL); + Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().location(), SoundSource.NEUTRAL); } } diff --git a/src/main/java/twilightforest/block/CicadaJarBlock.java b/src/main/java/twilightforest/block/CicadaJarBlock.java index fd40a7cf2c..b5b066380e 100644 --- a/src/main/java/twilightforest/block/CicadaJarBlock.java +++ b/src/main/java/twilightforest/block/CicadaJarBlock.java @@ -3,6 +3,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionResult; @@ -29,12 +30,14 @@ public CicadaJarBlock(Properties properties) { @Override protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult result) { if (player.isShiftKeyDown()) { - ItemEntity cicada = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.CICADA)); - level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); - cicada.spawnAtLocation(cicada.getItem()); - cicada.spawnAtLocation(TFItems.MASON_JAR.get()); + if (level instanceof ServerLevel sl) { + ItemEntity cicada = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.CICADA)); + level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); + cicada.spawnAtLocation(sl, cicada.getItem()); + cicada.spawnAtLocation(sl, TFItems.MASON_JAR.get()); + } level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useWithoutItem(state, level, pos, player, result); } @@ -48,7 +51,7 @@ public Item getDefaultLid() { public void destroy(LevelAccessor accessor, BlockPos pos, BlockState state) { super.destroy(accessor, pos, state); if (accessor.isClientSide()) - Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().getLocation(), SoundSource.BLOCKS); + Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().location(), SoundSource.BLOCKS); } @Override diff --git a/src/main/java/twilightforest/block/CinderFurnaceBlock.java b/src/main/java/twilightforest/block/CinderFurnaceBlock.java index fbced07582..6d3e34f38f 100644 --- a/src/main/java/twilightforest/block/CinderFurnaceBlock.java +++ b/src/main/java/twilightforest/block/CinderFurnaceBlock.java @@ -20,7 +20,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; -import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.phys.BlockHitResult; import twilightforest.block.entity.CinderFurnaceBlockEntity; import twilightforest.init.TFBlockEntities; @@ -28,7 +28,7 @@ public class CinderFurnaceBlock extends BaseEntityBlock { public static final BooleanProperty LIT = BooleanProperty.create("lit"); - private static final DirectionProperty FACING = TFHorizontalBlock.FACING; + private static final EnumProperty FACING = TFHorizontalBlock.FACING; public static final MapCodec CODEC = simpleCodec(CinderFurnaceBlock::new); public CinderFurnaceBlock(BlockBehaviour.Properties properties) { diff --git a/src/main/java/twilightforest/block/ClimbableHollowLogBlock.java b/src/main/java/twilightforest/block/ClimbableHollowLogBlock.java index 514baa6b8e..c30a57b105 100644 --- a/src/main/java/twilightforest/block/ClimbableHollowLogBlock.java +++ b/src/main/java/twilightforest/block/ClimbableHollowLogBlock.java @@ -8,15 +8,14 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.HorizontalDirectionalBlock; @@ -120,16 +119,16 @@ public FluidState getFluidState(BlockState state) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState neighborState, LevelAccessor accessor, BlockPos pos, BlockPos neighborPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (this.isStateWaterlogged(state)) { - accessor.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, neighborState, accessor, pos, neighborPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { if (!isInside(hit, pos)) return super.useItemOn(stack, state, level, pos, player, hand, hit); if (stack.canPerformAction(ItemAbilities.SHEARS_HARVEST)) { @@ -141,7 +140,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev level.addFreshEntity(new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, new ItemStack(variant == HollowLogVariants.Climbable.VINE ? Blocks.VINE : Blocks.LADDER))); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useItemOn(stack, state, level, pos, player, hand, hit); diff --git a/src/main/java/twilightforest/block/CloudBlock.java b/src/main/java/twilightforest/block/CloudBlock.java index 0dea917075..9263d832ff 100644 --- a/src/main/java/twilightforest/block/CloudBlock.java +++ b/src/main/java/twilightforest/block/CloudBlock.java @@ -33,7 +33,7 @@ public CloudBlock(Properties properties, @Nullable Biome.Precipitation precipita } public static boolean shouldSnow(LevelReader level, BlockPos pos) { - if (pos.getY() >= level.getMinBuildHeight() && pos.getY() < level.getMaxBuildHeight() && level.getBrightness(LightLayer.BLOCK, pos) < 10) { + if (!level.isOutsideBuildHeight(pos) && level.getBrightness(LightLayer.BLOCK, pos) < 10) { BlockState blockstate = level.getBlockState(pos); return (blockstate.isAir() || blockstate.is(Blocks.SNOW)) && Blocks.SNOW.defaultBlockState().canSurvive(level, pos); } @@ -62,7 +62,7 @@ public void fallOn(Level level, BlockState state, BlockPos pos, Entity entity, f } @Override - public int getLightBlock(BlockState state, BlockGetter level, BlockPos pos) { + public int getLightBlock(BlockState state) { return 1; } @@ -85,7 +85,7 @@ public Biome.Precipitation getPrecipitation() { */ public Pair getCurrentPrecipitation(BlockPos pos, Level level, float rainLevel) { if (this.getPrecipitation() == null) { - if (rainLevel > 0.0F) return Pair.of(level.getBiome(pos).value().getPrecipitationAt(pos), rainLevel); + if (rainLevel > 0.0F) return Pair.of(level.getBiome(pos).value().getPrecipitationAt(pos, level.getSeaLevel()), rainLevel); else return Pair.of(Biome.Precipitation.NONE, 0.0F); } else return Pair.of(this.getPrecipitation(), 1.0F); } @@ -106,7 +106,7 @@ public void randomTick(BlockState state, ServerLevel level, BlockPos pos, Random if (!Heightmap.Types.MOTION_BLOCKING.isOpaque().test(level.getBlockState(pos.atY(y)))) highestRainyBlock = y - 1; else break; } - if (highestRainyBlock > level.getMinBuildHeight()) { + if (highestRainyBlock > level.getMinY()) { if (precipitation == Biome.Precipitation.SNOW) { int snowHeight = level.getGameRules().getInt(GameRules.RULE_SNOW_ACCUMULATION_HEIGHT); BlockPos snowOnPos = pos.atY(highestRainyBlock + 1); // We check the position above our last block diff --git a/src/main/java/twilightforest/block/ConnectableRotatedPillarBlock.java b/src/main/java/twilightforest/block/ConnectableRotatedPillarBlock.java index 23c09a3e13..9559f0c93e 100644 --- a/src/main/java/twilightforest/block/ConnectableRotatedPillarBlock.java +++ b/src/main/java/twilightforest/block/ConnectableRotatedPillarBlock.java @@ -2,9 +2,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.PipeBlock; import net.minecraft.world.level.block.RotatedPillarBlock; @@ -48,8 +51,8 @@ protected void createBlockStateDefinition(StateDefinition.Builder FACING = DirectionalBlock.FACING; public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; private final VoxelShape DOWN_BB = Shapes.create(new AABB(0.2F, 0.85F, 0.2F, 0.8F, 1.0F, 0.8F)); private final VoxelShape UP_BB = Shapes.create(new AABB(0.2F, 0.0F, 0.2F, 0.8F, 0.15F, 0.8F)); @@ -107,14 +105,14 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor accessor, BlockPos pos, BlockPos neighborPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - if (state.getValue(FACING).getOpposite() == direction && !state.canSurvive(accessor, pos)) { + if (state.getValue(FACING).getOpposite() == direction && !state.canSurvive(reader, pos)) { return Blocks.AIR.defaultBlockState(); } else { - return super.updateShape(state, direction, neighborState, accessor, pos, neighborPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } } @@ -130,7 +128,7 @@ public BlockState rotate(BlockState state, Rotation rotation) { } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (stack.getItem() == TFItems.MASON_JAR.asItem()) { ItemContainerContents contents = stack.getComponents().get(DataComponents.CONTAINER); if (contents == null || contents.copyOne().isEmpty()) { @@ -138,18 +136,18 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev stack.consume(1, player); player.getInventory().add(new ItemStack(TFBlocks.FIREFLY_JAR.get())); level.setBlockAndUpdate(pos, state.getValue(WATERLOGGED) ? Blocks.WATER.defaultBlockState() : Blocks.AIR.defaultBlockState()); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else if (this == TFBlocks.CICADA.get()) { stack.consume(1, player); player.getInventory().add(new ItemStack(TFBlocks.CICADA_JAR.get())); if (level.isClientSide()) - Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().getLocation(), SoundSource.NEUTRAL); + Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().location(), SoundSource.NEUTRAL); level.setBlockAndUpdate(pos, state.getValue(WATERLOGGED) ? Blocks.WATER.defaultBlockState() : Blocks.AIR.defaultBlockState()); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.TRY_WITH_EMPTY_HAND; } @Override @@ -157,7 +155,7 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent if ((entity instanceof Projectile && !entity.getType().is(EntityTagGenerator.DONT_KILL_BUGS)) || entity instanceof FallingBlockEntity) { level.setBlockAndUpdate(pos, state.getValue(WATERLOGGED) ? Blocks.WATER.defaultBlockState() : Blocks.AIR.defaultBlockState()); if (level.isClientSide()) - Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().getLocation(), SoundSource.NEUTRAL); + Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().location(), SoundSource.NEUTRAL); level.playSound(null, pos, TFSounds.BUG_SQUISH.get(), SoundSource.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/twilightforest/block/DarkLeavesBlock.java b/src/main/java/twilightforest/block/DarkLeavesBlock.java index 0f25eae2a7..d8c9bc5233 100644 --- a/src/main/java/twilightforest/block/DarkLeavesBlock.java +++ b/src/main/java/twilightforest/block/DarkLeavesBlock.java @@ -19,7 +19,7 @@ public VoxelShape getBlockSupportShape(BlockState state, BlockGetter getter, Blo } @Override - public int getLightBlock(BlockState state, BlockGetter getter, BlockPos pos) { + public int getLightBlock(BlockState state) { return 15; } } diff --git a/src/main/java/twilightforest/block/EncasedFireJetBlock.java b/src/main/java/twilightforest/block/EncasedFireJetBlock.java index 4113d24d9b..2dcdd677c4 100644 --- a/src/main/java/twilightforest/block/EncasedFireJetBlock.java +++ b/src/main/java/twilightforest/block/EncasedFireJetBlock.java @@ -6,6 +6,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.redstone.Orientation; import twilightforest.enums.FireJetVariant; import twilightforest.init.TFSounds; @@ -18,7 +19,7 @@ public EncasedFireJetBlock(Properties properties) { } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { FireJetVariant variant = state.getValue(STATE); boolean powered = level.hasNeighborSignal(pos); diff --git a/src/main/java/twilightforest/block/EncasedSmokerBlock.java b/src/main/java/twilightforest/block/EncasedSmokerBlock.java index f7431d1404..73fea3500e 100644 --- a/src/main/java/twilightforest/block/EncasedSmokerBlock.java +++ b/src/main/java/twilightforest/block/EncasedSmokerBlock.java @@ -7,6 +7,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import twilightforest.init.TFSounds; public class EncasedSmokerBlock extends TFSmokerBlock { @@ -24,7 +25,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder FULL_SHAPE; case 2, 3 -> THREE_QUARTER_SHAPE; case 4, 5 -> HALF_SHAPE; case 6, 7 -> QUARTER_SHAPE; + default -> FULL_SHAPE; }; } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { int bitesTaken = state.getValue(BITES_TAKEN); if (!player.isSecondaryUseActive()) { if (stack.is(TFItems.EXPERIMENT_115.get())) { - if (bitesTaken == 0) return ItemInteractionResult.FAIL; + if (bitesTaken == 0) return InteractionResult.FAIL; level.setBlockAndUpdate(pos, state.setValue(BITES_TAKEN, bitesTaken - 1)); level.playSound(null, pos, state.getSoundType(level, pos, player).getPlaceSound(), SoundSource.BLOCKS, 1.0F, 1.0F); stack.consume(1, player); if (player instanceof ServerPlayer) CriteriaTriggers.PLACED_BLOCK.trigger((ServerPlayer) player, pos, stack); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else if (!state.getValue(REGENERATE) && bitesTaken == 0 && stack.is(Items.REDSTONE)) { level.setBlockAndUpdate(pos, state.setValue(REGENERATE, true)); level.playSound(null, pos, state.getSoundType(level, pos, player).getPlaceSound(), SoundSource.BLOCKS, 1.0F, 1.0F); @@ -80,7 +77,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (player instanceof ServerPlayer) { player.awardStat(Stats.ITEM_USED.get(Items.REDSTONE)); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } else { if (!state.getValue(REGENERATE)) { @@ -92,10 +89,10 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev player.playSound(SoundEvents.ITEM_PICKUP, 0.5F, 1.0F); if (!player.isCreative()) ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(TFItems.EXPERIMENT_115.get())); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.TRY_WITH_EMPTY_HAND; } @Override @@ -104,7 +101,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP else { player.awardStat(TFStats.E115_SLICES_EATEN.get()); player.getFoodData().eat(4, 0.3F); - level.playSound(null, pos, SoundEvents.GENERIC_EAT, SoundSource.PLAYERS, 0.5F, level.random.nextFloat() * 0.1F + 0.9F); + level.playSound(null, pos, SoundEvents.GENERIC_EAT.value(), SoundSource.PLAYERS, 0.5F, level.random.nextFloat() * 0.1F + 0.9F); int i = state.getValue(BITES_TAKEN); if (i < 7) { @@ -118,7 +115,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP player.awardStat(Stats.ITEM_USED.get(TFItems.EXPERIMENT_115.get())); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } } @@ -136,8 +133,8 @@ public boolean canSurvive(BlockState state, LevelReader reader, BlockPos pos) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor level, BlockPos currentPos, BlockPos facingPos) { - return facing == Direction.DOWN && !state.canSurvive(level, currentPos) ? Blocks.AIR.defaultBlockState() : super.updateShape(state, facing, facingState, level, currentPos, facingPos); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + return direction == Direction.DOWN && !state.canSurvive(reader, pos) ? Blocks.AIR.defaultBlockState() : super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/FieryBlock.java b/src/main/java/twilightforest/block/FieryBlock.java index 0e236eb3cc..758fd70045 100644 --- a/src/main/java/twilightforest/block/FieryBlock.java +++ b/src/main/java/twilightforest/block/FieryBlock.java @@ -32,7 +32,7 @@ public boolean skipRendering(BlockState state, BlockState otherState, Direction } @Override - public VoxelShape getOcclusionShape(BlockState state, BlockGetter getter, BlockPos pos) { + public VoxelShape getOcclusionShape(BlockState state) { return Shapes.empty(); } @@ -41,7 +41,7 @@ public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) { if ((!entity.fireImmune()) && entity instanceof LivingEntity living && !living.getItemBySlot(EquipmentSlot.FEET).is(TFItems.FIERY_BOOTS.get())) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.FIERY), 1.0F); + living.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.FIERY), 1.0F); } super.stepOn(level, pos, state, entity); diff --git a/src/main/java/twilightforest/block/FireflyJarBlock.java b/src/main/java/twilightforest/block/FireflyJarBlock.java index f00d16269b..14902595e8 100644 --- a/src/main/java/twilightforest/block/FireflyJarBlock.java +++ b/src/main/java/twilightforest/block/FireflyJarBlock.java @@ -1,6 +1,7 @@ package twilightforest.block; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.item.ItemEntity; @@ -22,24 +23,26 @@ public FireflyJarBlock(Properties properties) { } /*@Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (!player.isShiftKeyDown() && stack.is(Items.POPPY)) { level.setBlockAndUpdate(pos, TFBlocks.FIREFLY_SPAWNER.get().defaultBlockState().setValue(AbstractParticleSpawnerBlock.RADIUS, 1)); level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.TRY_WITH_EMPTY_HAND; }*/ @Override protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult result) { if (player.isShiftKeyDown()) { - ItemEntity firefly = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.FIREFLY)); - level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); - firefly.spawnAtLocation(firefly.getItem()); - firefly.spawnAtLocation(TFItems.MASON_JAR.get()); + if (level instanceof ServerLevel sl) { + ItemEntity firefly = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.FIREFLY)); + level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); + firefly.spawnAtLocation(sl, firefly.getItem()); + firefly.spawnAtLocation(sl, TFItems.MASON_JAR.get()); + } level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useWithoutItem(state, level, pos, player, result); } diff --git a/src/main/java/twilightforest/block/FireflySpawnerBlock.java b/src/main/java/twilightforest/block/FireflySpawnerBlock.java index f2dfda163f..ab0e1cb756 100644 --- a/src/main/java/twilightforest/block/FireflySpawnerBlock.java +++ b/src/main/java/twilightforest/block/FireflySpawnerBlock.java @@ -6,14 +6,12 @@ import net.minecraft.network.chat.Component; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.state.BlockState; @@ -56,18 +54,18 @@ public void animateTick(BlockState state, Level level, BlockPos pos, RandomSourc } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (stack.getItem() == TFBlocks.FIREFLY.get().asItem() && !player.isShiftKeyDown() && state.getValue(RADIUS) < 10) { level.setBlockAndUpdate(pos, state.setValue(RADIUS, state.getValue(RADIUS) + 1)); stack.consume(1, player); player.displayClientMessage(Component.translatable("misc.twilightforest.firefly_spawner_radius", state.getValue(RADIUS) + 1), true); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else if (player.isShiftKeyDown() && state.getValue(RADIUS) > 1) { level.setBlockAndUpdate(pos, state.setValue(RADIUS, state.getValue(RADIUS) - 1)); ItemEntity bug = new ItemEntity(level, pos.getX() + 0.5D, pos.getY() + 1, pos.getZ() + 0.5D, new ItemStack(TFBlocks.FIREFLY.get())); level.addFreshEntity(bug); player.displayClientMessage(Component.translatable("misc.twilightforest.firefly_spawner_radius", state.getValue(RADIUS) - 1), true); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useItemOn(stack, state, level, pos, player, hand, hitResult); } @@ -95,12 +93,12 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/ForceFieldBlock.java b/src/main/java/twilightforest/block/ForceFieldBlock.java index ec75164069..8d666554ef 100644 --- a/src/main/java/twilightforest/block/ForceFieldBlock.java +++ b/src/main/java/twilightforest/block/ForceFieldBlock.java @@ -3,11 +3,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; +import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.PipeBlock; import net.minecraft.world.level.block.SimpleWaterloggedBlock; @@ -60,8 +59,8 @@ public ForceFieldBlock(BlockBehaviour.Properties properties) { } public static boolean cornerConnects(BlockGetter getter, BlockPos pos, Direction dir1, Direction dir2) { - Vec3i vec31 = dir1.getNormal(); - Vec3i vec32 = dir2.getNormal(); + Vec3i vec31 = dir1.getUnitVec3i(); + Vec3i vec32 = dir2.getUnitVec3i(); return fullFaceOrSimilarForceField(getter, pos.offset(vec31), dir1, dir2) || fullFaceOrSimilarForceField(getter, pos.offset(vec32), dir2, dir1); @@ -125,7 +124,7 @@ public float getShadeBrightness(BlockState state, BlockGetter getter, BlockPos p } @Override - public boolean propagatesSkylightDown(BlockState state, BlockGetter getter, BlockPos pos) { + public boolean propagatesSkylightDown(BlockState state) { return true; } @@ -170,9 +169,9 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction direction, BlockState facingState, LevelAccessor accessor, BlockPos pos, BlockPos facingPos) { - if (state.getValue(WATERLOGGED)) accessor.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); - return this.canConnectTo(state, accessor, pos, direction) ? state.setValue(PipeBlock.PROPERTY_BY_DIRECTION.get(direction), true) : state; + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + if (state.getValue(WATERLOGGED)) access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); + return this.canConnectTo(state, reader, pos, direction) ? state.setValue(PipeBlock.PROPERTY_BY_DIRECTION.get(direction), true) : state; } @Override diff --git a/src/main/java/twilightforest/block/GhastTrapBlock.java b/src/main/java/twilightforest/block/GhastTrapBlock.java index 7b39735e3b..9f053028b4 100644 --- a/src/main/java/twilightforest/block/GhastTrapBlock.java +++ b/src/main/java/twilightforest/block/GhastTrapBlock.java @@ -17,7 +17,9 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.AABB; +import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.GhastTrapBlockEntity; import twilightforest.init.TFAdvancements; import twilightforest.init.TFBlockEntities; @@ -52,7 +54,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder FACING = TFHorizontalBlock.FACING; public static final EnumProperty PIECE = EnumProperty.create("piece", HugeLilypadPiece.class); private static final VoxelShape SHAPE = Block.box(0, 0, 0, 16, 1, 16); @@ -41,7 +41,7 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C } @Override - public VoxelShape getOcclusionShape(BlockState state, BlockGetter getter, BlockPos pos) { + public VoxelShape getOcclusionShape(BlockState state) { return Shapes.empty(); } diff --git a/src/main/java/twilightforest/block/InfestedTowerwoodBlock.java b/src/main/java/twilightforest/block/InfestedTowerwoodBlock.java index 0e1bbd049e..ec741523c7 100644 --- a/src/main/java/twilightforest/block/InfestedTowerwoodBlock.java +++ b/src/main/java/twilightforest/block/InfestedTowerwoodBlock.java @@ -3,6 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.EnchantmentTags; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.level.GameRules; @@ -21,7 +22,7 @@ public InfestedTowerwoodBlock(Properties properties) { public void spawnAfterBreak(BlockState state, ServerLevel level, BlockPos pos, ItemStack stack, boolean sourceIsPlayer) { super.spawnAfterBreak(state, level, pos, stack, sourceIsPlayer); if (!level.isClientSide() && level.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS) && !EnchantmentHelper.hasTag(stack, EnchantmentTags.PREVENTS_INFESTED_SPAWNS)) { - TowerwoodBorer termite = TFEntities.TOWERWOOD_BORER.get().create(level); + TowerwoodBorer termite = TFEntities.TOWERWOOD_BORER.get().create(level, EntitySpawnReason.TRIGGERED); termite.moveTo(pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, 0.0F, 0.0F); level.addFreshEntity(termite); termite.spawnAnim(); diff --git a/src/main/java/twilightforest/block/IronLadderBlock.java b/src/main/java/twilightforest/block/IronLadderBlock.java index 1d9731e0e3..0c037692d1 100644 --- a/src/main/java/twilightforest/block/IronLadderBlock.java +++ b/src/main/java/twilightforest/block/IronLadderBlock.java @@ -2,7 +2,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.LadderBlock; import net.minecraft.world.level.block.state.BlockState; @@ -24,15 +27,15 @@ protected void createBlockStateDefinition(StateDefinition.Builder= pos.getY() + (14.0D / 16.0D)) { Item lid = stack.getItem(); if (lid != jarBlockEntity.lid && JarBlockEntity.REGISTERED_LOG_LIDS.get(lid) instanceof BooleanSupplier check && check.getAsBoolean()) { @@ -123,10 +121,10 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev jarBlockEntity.wobble(DecoratedPotBlockEntity.WobbleStyle.POSITIVE); jarBlockEntity.setChanged(); } - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.TRY_WITH_EMPTY_HAND; } @Override diff --git a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java index 44daa44c31..a231114e54 100644 --- a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java +++ b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java @@ -7,6 +7,7 @@ import net.minecraft.core.Direction; import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; import net.minecraft.world.*; @@ -28,10 +29,11 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; @@ -45,7 +47,7 @@ public class KeepsakeCasketBlock extends BaseEntityBlock implements BlockLoggingEnum.IMultiLoggable { - public static final DirectionProperty FACING = TFHorizontalBlock.FACING; + public static final EnumProperty FACING = TFHorizontalBlock.FACING; public static final IntegerProperty BREAKAGE = IntegerProperty.create("damage", 0, 2); public static final MapCodec CODEC = simpleCodec(KeepsakeCasketBlock::new); private static final VoxelShape BOTTOM_X = Block.box(2.0D, 0.0D, 1.0D, 14.0D, 6.0D, 15.0D); @@ -133,12 +135,12 @@ public float getExplosionResistance(BlockState state, BlockGetter getter, BlockP } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { boolean flag = false; if (state.getValue(BlockLoggingEnum.MULTILOGGED).getBlock() == Blocks.AIR || state.getValue(BlockLoggingEnum.MULTILOGGED).getFluid() != Fluids.EMPTY) { if (!(stack.getItem() == TFItems.CHARM_OF_KEEPING_3.get())) { if (level.isClientSide()) { - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } else { MenuProvider inamedcontainerprovider = this.getMenuProvider(state, level, pos); @@ -156,12 +158,12 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev } } } - return flag ? ItemInteractionResult.sidedSuccess(level.isClientSide()) : ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return flag ? InteractionResult.SUCCESS : InteractionResult.TRY_WITH_EMPTY_HAND; } @Override public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { - if (!level.isClientSide() && !player.isCreative() && level.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { + if (level instanceof ServerLevel sl && !player.isCreative() && sl.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { BlockEntity tile = level.getBlockEntity(pos); if (tile instanceof KeepsakeCasketBlockEntity casket) { ItemStack stack = new ItemStack(this); @@ -208,9 +210,9 @@ public void setPlacedBy(Level level, BlockPos pos, BlockState state, @Nullable L } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { this.reactWithNeighbors(level, pos, state); - super.neighborChanged(state, level, pos, block, fromPos, isMoving); + super.neighborChanged(state, level, pos, block, orientation, isMoving); } //[VanillaCopy] of FlowingFluidBlock.reactWithNeighbors, adapted for blockstates diff --git a/src/main/java/twilightforest/block/KnightmetalBlock.java b/src/main/java/twilightforest/block/KnightmetalBlock.java index ec3fa083a9..483fbbfce7 100644 --- a/src/main/java/twilightforest/block/KnightmetalBlock.java +++ b/src/main/java/twilightforest/block/KnightmetalBlock.java @@ -6,15 +6,14 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.tags.FluidTags; +import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.state.BlockState; @@ -59,12 +58,12 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/LightableBlock.java b/src/main/java/twilightforest/block/LightableBlock.java index bf1636bb05..9840f41b9b 100644 --- a/src/main/java/twilightforest/block/LightableBlock.java +++ b/src/main/java/twilightforest/block/LightableBlock.java @@ -8,7 +8,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.util.StringRepresentable; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.level.Level; @@ -30,16 +30,16 @@ public interface LightableBlock { EnumProperty LIGHTING = EnumProperty.create("lighting", Lighting.class); - default ItemInteractionResult lightCandles(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand) { + default InteractionResult lightCandles(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand) { if (player.getAbilities().mayBuild && player.getItemInHand(hand).isEmpty() && state.getValue(LIGHTING) != Lighting.NONE) { this.extinguish(player, state, level, pos); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else if (this.canBeLit(state)) { if (player.getItemInHand(hand).canPerformAction(ItemAbilities.FIRESTARTER_LIGHT)) { - return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.PASS; } } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.TRY_WITH_EMPTY_HAND; } default void lightCandlesWithProjectile(Level level, BlockState state, BlockHitResult result, Projectile projectile) { diff --git a/src/main/java/twilightforest/block/LiverootBlock.java b/src/main/java/twilightforest/block/LiverootBlock.java index 561577fa76..3f6af64095 100644 --- a/src/main/java/twilightforest/block/LiverootBlock.java +++ b/src/main/java/twilightforest/block/LiverootBlock.java @@ -5,7 +5,7 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; @@ -26,13 +26,13 @@ public LiverootBlock(Properties properties) { } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (stack.getItem().canPerformAction(stack, ItemAbilities.AXE_STRIP)) { level.setBlockAndUpdate(pos, TFBlocks.ROOT_BLOCK.get().defaultBlockState()); int amountOfRoots = 1; //fortune formula copied from ApplyBonusCount.OreDrops.calculateNewCount so it acts exactly like the loot table - if (stack.getEnchantmentLevel(level.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.FORTUNE)) > 0) { - int i = level.getRandom().nextInt(stack.getEnchantmentLevel(level.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.FORTUNE)) + 2) - 1; + if (stack.getEnchantmentLevel(level.registryAccess().holderOrThrow(Enchantments.FORTUNE)) > 0) { + int i = level.getRandom().nextInt(stack.getEnchantmentLevel(level.registryAccess().holderOrThrow(Enchantments.FORTUNE)) + 2) - 1; if (i < 0) { i = 0; } @@ -43,7 +43,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev level.addFreshEntity(liveroot); level.playSound(null, pos, SoundEvents.AXE_STRIP, SoundSource.BLOCKS, 1.0F, 1.0F); stack.hurtAndBreak(1, player, hand == InteractionHand.MAIN_HAND ? EquipmentSlot.MAINHAND : EquipmentSlot.OFFHAND); - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useItemOn(stack, state, level, pos, player, hand, result); } diff --git a/src/main/java/twilightforest/block/LockedVanishingBlock.java b/src/main/java/twilightforest/block/LockedVanishingBlock.java index 8218376e32..953b5dabf5 100644 --- a/src/main/java/twilightforest/block/LockedVanishingBlock.java +++ b/src/main/java/twilightforest/block/LockedVanishingBlock.java @@ -3,7 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -43,14 +43,14 @@ public boolean canEntityDestroy(BlockState state, BlockGetter getter, BlockPos p } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (!stack.isEmpty() && stack.is(TFItems.TOWER_KEY.get()) && state.getValue(LOCKED)) { if (!level.isClientSide()) { stack.shrink(1); level.setBlockAndUpdate(pos, state.setValue(LOCKED, false)); level.playSound(null, pos, TFSounds.UNLOCK_VANISHING_BLOCK.get(), SoundSource.BLOCKS, 0.3F, 0.6F); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useItemOn(stack, state, level, pos, player, hand, hitResult); diff --git a/src/main/java/twilightforest/block/MangroveSaplingBlock.java b/src/main/java/twilightforest/block/MangroveSaplingBlock.java index 5471fe42a5..74da21c74c 100644 --- a/src/main/java/twilightforest/block/MangroveSaplingBlock.java +++ b/src/main/java/twilightforest/block/MangroveSaplingBlock.java @@ -8,6 +8,8 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SaplingBlock; @@ -64,12 +66,12 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return facing == Direction.DOWN && !this.canSurvive(state, accessor, currentPos) ? Blocks.AIR.defaultBlockState() : super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return direction == Direction.DOWN && !this.canSurvive(state, reader, pos) ? Blocks.AIR.defaultBlockState() : super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/MasonJarBlock.java b/src/main/java/twilightforest/block/MasonJarBlock.java index 4b4511d24c..b95f4327f2 100644 --- a/src/main/java/twilightforest/block/MasonJarBlock.java +++ b/src/main/java/twilightforest/block/MasonJarBlock.java @@ -8,7 +8,7 @@ import net.minecraft.stats.Stats; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -49,8 +49,8 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { - if (super.useItemOn(stack, state, level, pos, player, hand, hitResult) == ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (super.useItemOn(stack, state, level, pos, player, hand, hitResult) == InteractionResult.TRY_WITH_EMPTY_HAND) { if (level.getBlockEntity(pos) instanceof MasonJarBlockEntity blockEntity) { if (level instanceof ServerLevel serverLevel) { MasonJarBlockEntity.MasonJarItemStackHandler handler = blockEntity.getItemHandler(); @@ -87,12 +87,12 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev blockEntity.wobble(DecoratedPotBlockEntity.WobbleStyle.NEGATIVE); } } - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } else { - return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.PASS; } } - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } @Override diff --git a/src/main/java/twilightforest/block/MiniatureStructureBlock.java b/src/main/java/twilightforest/block/MiniatureStructureBlock.java index 29fb255aca..4738ec2ad9 100644 --- a/src/main/java/twilightforest/block/MiniatureStructureBlock.java +++ b/src/main/java/twilightforest/block/MiniatureStructureBlock.java @@ -44,7 +44,7 @@ public float getShadeBrightness(BlockState state, BlockGetter getter, BlockPos p @Override - public boolean propagatesSkylightDown(BlockState state, BlockGetter getter, BlockPos pos) { + public boolean propagatesSkylightDown(BlockState state) { return true; } diff --git a/src/main/java/twilightforest/block/NagastoneBlock.java b/src/main/java/twilightforest/block/NagastoneBlock.java index be01cf8d20..4c813d18ea 100644 --- a/src/main/java/twilightforest/block/NagastoneBlock.java +++ b/src/main/java/twilightforest/block/NagastoneBlock.java @@ -2,8 +2,11 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -21,8 +24,8 @@ public NagastoneBlock(Properties properties) { } @Override - public BlockState updateShape(BlockState state, Direction directionToNeighbor, BlockState neighborState, LevelAccessor accessor, BlockPos pos, BlockPos neighborPos) { - return this.getVariant(accessor, pos); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + return this.getVariant(reader, pos); } @Override @@ -31,7 +34,7 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @SuppressWarnings("fallthrough") - private BlockState getVariant(LevelAccessor accessor, BlockPos pos) { + private BlockState getVariant(LevelReader accessor, BlockPos pos) { int connectionCount = 0; BlockState stateOut; Direction[] facings = new Direction[2]; diff --git a/src/main/java/twilightforest/block/PatchBlock.java b/src/main/java/twilightforest/block/PatchBlock.java index c30bebba73..289f649c3c 100644 --- a/src/main/java/twilightforest/block/PatchBlock.java +++ b/src/main/java/twilightforest/block/PatchBlock.java @@ -7,6 +7,8 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.BushBlock; import net.minecraft.world.level.block.PipeBlock; @@ -88,8 +90,8 @@ protected MapCodec codec() { } @Override - public BlockState updateShape(BlockState state, Direction dir, BlockState neighborUpdated, LevelAccessor accessor, BlockPos pos, BlockPos posNeighbor) { - return dir.getAxis().isHorizontal() ? state.setValue(PROPERTY_BY_DIRECTION.get(dir), neighborUpdated.getBlock() == this) : super.updateShape(state, dir, neighborUpdated, accessor, pos, posNeighbor); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + return direction.getAxis().isHorizontal() ? state.setValue(PROPERTY_BY_DIRECTION.get(direction), facingState.getBlock() == this) : super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/RopeBlock.java b/src/main/java/twilightforest/block/RopeBlock.java index 737357dc7d..a6f5630b81 100644 --- a/src/main/java/twilightforest/block/RopeBlock.java +++ b/src/main/java/twilightforest/block/RopeBlock.java @@ -6,10 +6,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; @@ -60,7 +57,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder codec() { public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, CollisionContext ctx) { boolean piglin = this.getType() == SkullBlock.Types.PIGLIN; return switch (state.getValue(CANDLES)) { - default -> piglin ? PIGLIN_SKULL_WITH_ONE : SKULL_WITH_ONE; case 2 -> piglin ? PIGLIN_SKULL_WITH_TWO : SKULL_WITH_TWO; case 3 -> piglin ? PIGLIN_SKULL_WITH_THREE : SKULL_WITH_THREE; case 4 -> piglin ? PIGLIN_SKULL_WITH_FOUR : SKULL_WITH_FOUR; + default -> piglin ? PIGLIN_SKULL_WITH_ONE : SKULL_WITH_ONE; }; } diff --git a/src/main/java/twilightforest/block/SliderBlock.java b/src/main/java/twilightforest/block/SliderBlock.java index ed1f365bf2..73758c8538 100644 --- a/src/main/java/twilightforest/block/SliderBlock.java +++ b/src/main/java/twilightforest/block/SliderBlock.java @@ -7,9 +7,7 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.SimpleWaterloggedBlock; @@ -60,12 +58,12 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/SpecialFlowerPotBlock.java b/src/main/java/twilightforest/block/SpecialFlowerPotBlock.java index fe00e43702..6cdbeac98e 100644 --- a/src/main/java/twilightforest/block/SpecialFlowerPotBlock.java +++ b/src/main/java/twilightforest/block/SpecialFlowerPotBlock.java @@ -24,7 +24,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP if (!this.isEmpty()) { level.setBlock(pos, getEmptyPot().defaultBlockState(), 3); level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else { return super.useWithoutItem(state, level, pos, player, result); } diff --git a/src/main/java/twilightforest/block/SpiralBrickBlock.java b/src/main/java/twilightforest/block/SpiralBrickBlock.java index 5cccb40f66..13ebcb0e07 100644 --- a/src/main/java/twilightforest/block/SpiralBrickBlock.java +++ b/src/main/java/twilightforest/block/SpiralBrickBlock.java @@ -2,9 +2,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Mirror; import net.minecraft.world.level.block.Rotation; @@ -33,10 +36,10 @@ public SpiralBrickBlock(BlockBehaviour.Properties properties) { private static Diagonals convertVerticalDirectionToDiagonal(Direction facing) { return switch (facing) { - default -> Diagonals.TOP_RIGHT; case SOUTH -> Diagonals.BOTTOM_LEFT; case EAST -> Diagonals.TOP_LEFT; case WEST -> Diagonals.BOTTOM_RIGHT; + default -> Diagonals.TOP_RIGHT; }; } @@ -71,9 +74,9 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { - if (state.getValue(WATERLOGGED)) accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + if (state.getValue(WATERLOGGED)) access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/StrongholdShieldBlock.java b/src/main/java/twilightforest/block/StrongholdShieldBlock.java index 90354033cd..207c23a9cb 100644 --- a/src/main/java/twilightforest/block/StrongholdShieldBlock.java +++ b/src/main/java/twilightforest/block/StrongholdShieldBlock.java @@ -55,7 +55,7 @@ public float getDestroyProgress(BlockState state, Player player, BlockGetter get Direction upFace = state.getValue(DirectionalBlock.FACING); if (hitFace == (upOrDown ? upFace : sideFace)) { - return player.getDigSpeed(Blocks.STONE.defaultBlockState(), pos) / 1.5F / 100F; + return player.getDestroySpeed(Blocks.STONE.defaultBlockState(), pos) / 1.5F / 100F; } else { return super.getDestroyProgress(state, player, getter, pos); } diff --git a/src/main/java/twilightforest/block/TFChestBlock.java b/src/main/java/twilightforest/block/TFChestBlock.java index ac58f43b06..47f5753112 100644 --- a/src/main/java/twilightforest/block/TFChestBlock.java +++ b/src/main/java/twilightforest/block/TFChestBlock.java @@ -9,7 +9,7 @@ public class TFChestBlock extends ChestBlock { public TFChestBlock(Properties properties) { - super(properties, TFBlockEntities.TF_CHEST::get); + super(TFBlockEntities.TF_CHEST::get, properties); } @Override diff --git a/src/main/java/twilightforest/block/TFPortalBlock.java b/src/main/java/twilightforest/block/TFPortalBlock.java index 4b68e89b09..6bd976b5b6 100644 --- a/src/main/java/twilightforest/block/TFPortalBlock.java +++ b/src/main/java/twilightforest/block/TFPortalBlock.java @@ -32,7 +32,8 @@ import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; -import net.minecraft.world.level.portal.DimensionTransition; +import net.minecraft.world.level.portal.TeleportTransition; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; @@ -196,7 +197,7 @@ public boolean canFormPortal(BlockState state) { } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { boolean good = level.getBlockState(pos.below()).isFaceSturdy(level, pos, Direction.UP); for (Direction facing : Direction.Plane.HORIZONTAL) { @@ -277,9 +278,8 @@ public int getPortalTransitionTime(ServerLevel level, Entity entity) { return 60; } - @Nullable @Override - public DimensionTransition getPortalDestination(ServerLevel level, Entity entity, BlockPos pos) { + public TeleportTransition getPortalDestination(ServerLevel level, Entity entity, BlockPos pos) { if (cachedOriginDimension == null) cachedOriginDimension = ResourceKey.create(Registries.DIMENSION, ResourceLocation.parse(TFConfig.originDimension)); ResourceKey newDimension = !level.dimension().location().equals(TFDimension.DIMENSION) ? TFDimension.DIMENSION_KEY : cachedOriginDimension; ServerLevel serverlevel = level.getServer().getLevel(newDimension); diff --git a/src/main/java/twilightforest/block/TFTrappedChestBlock.java b/src/main/java/twilightforest/block/TFTrappedChestBlock.java index 41de739333..add2b4ff79 100644 --- a/src/main/java/twilightforest/block/TFTrappedChestBlock.java +++ b/src/main/java/twilightforest/block/TFTrappedChestBlock.java @@ -16,7 +16,7 @@ public class TFTrappedChestBlock extends ChestBlock { public TFTrappedChestBlock(Properties properties) { - super(properties, TFBlockEntities.TF_TRAPPED_CHEST::get); + super(TFBlockEntities.TF_TRAPPED_CHEST::get, properties); } @Override diff --git a/src/main/java/twilightforest/block/ThornsBlock.java b/src/main/java/twilightforest/block/ThornsBlock.java index 83b3475214..b0e9da724e 100644 --- a/src/main/java/twilightforest/block/ThornsBlock.java +++ b/src/main/java/twilightforest/block/ThornsBlock.java @@ -2,13 +2,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.PipeBlock; @@ -168,11 +167,11 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { - if (state.getValue(WATERLOGGED)) accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + if (state.getValue(WATERLOGGED)) access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); if (facingState.is(Blocks.AIR)) return state; - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override diff --git a/src/main/java/twilightforest/block/TimeLogCoreBlock.java b/src/main/java/twilightforest/block/TimeLogCoreBlock.java index 4adef775be..5ae848290b 100644 --- a/src/main/java/twilightforest/block/TimeLogCoreBlock.java +++ b/src/main/java/twilightforest/block/TimeLogCoreBlock.java @@ -65,7 +65,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { if (worked) { Vec3 xyz = Vec3.atCenterOf(dPos); ParticlePacket particlePacket = new ParticlePacket(); - double yOffset = state.getOcclusionShape(level, dPos).max(Direction.Axis.Y); + double yOffset = state.getOcclusionShape().max(Direction.Axis.Y); particlePacket.queueParticle(TFParticleType.LOG_CORE_PARTICLE.get(), false, xyz.add(0.0, yOffset - 0.5, 0.0), new Vec3(0.953, 0.698, 0.0)); PacketDistributor.sendToPlayersNear(level, null, xyz.x(), xyz.y(), xyz.z(), 64.0D, particlePacket); } diff --git a/src/main/java/twilightforest/block/TorchberryPlantBlock.java b/src/main/java/twilightforest/block/TorchberryPlantBlock.java index 76dfd82b15..cde890a5cd 100644 --- a/src/main/java/twilightforest/block/TorchberryPlantBlock.java +++ b/src/main/java/twilightforest/block/TorchberryPlantBlock.java @@ -60,7 +60,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP ItemEntity torchberries = new ItemEntity(level, pos.getX() + 0.5F, pos.getY(), pos.getZ() + 0.5F, new ItemStack(TFItems.TORCHBERRIES.get())); level.addFreshEntity(torchberries); if (player instanceof ServerPlayer) player.awardStat(TFStats.TORCHBERRIES_HARVESTED.get()); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useWithoutItem(state, level, pos, player, result); } diff --git a/src/main/java/twilightforest/block/TransLogCoreBlock.java b/src/main/java/twilightforest/block/TransLogCoreBlock.java index 4e3853de13..ec1725999d 100644 --- a/src/main/java/twilightforest/block/TransLogCoreBlock.java +++ b/src/main/java/twilightforest/block/TransLogCoreBlock.java @@ -42,7 +42,7 @@ public boolean doesCoreFunction() { @Override void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { ResourceKey target = TFBiomes.ENCHANTED_FOREST; - Holder biome = level.registryAccess().registryOrThrow(Registries.BIOME).getHolderOrThrow(target); + Holder biome = level.registryAccess().holderOrThrow(target); int range = TFConfig.transformationCoreRange; for (int i = 0; i < 16; i++) { BlockPos dPos = WorldUtil.randomOffset(rand, pos, range, 0, range); @@ -52,7 +52,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { if (level.getBiome(dPos).is(target)) continue; - int minY = QuartPos.fromBlock(level.getMinBuildHeight()); + int minY = QuartPos.fromBlock(level.getMinY()); int maxY = minY + QuartPos.fromBlock(level.getHeight()) - 1; int x = QuartPos.fromBlock(dPos.getX()); @@ -61,7 +61,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { LevelChunk chunkAt = level.getChunk(dPos.getX() >> 4, dPos.getZ() >> 4); for (LevelChunkSection section : chunkAt.getSections()) { for (int sy = 0; sy < 16; sy += 4) { - int y = Mth.clamp(QuartPos.fromBlock(chunkAt.getMinSection() + sy), minY, maxY); + int y = Mth.clamp(QuartPos.fromBlock(chunkAt.getMinY() + sy), minY, maxY); if (section.getBiomes().get(x & 3, y & 3, z & 3).is(target)) continue; if (section.getBiomes() instanceof PalettedContainer> container) @@ -69,7 +69,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { } } - if (!chunkAt.isUnsaved()) chunkAt.setUnsaved(true); + chunkAt.markUnsaved(); level.getChunkSource().chunkMap.resendBiomesForChunks(List.of(chunkAt)); Vec3 xyz = Vec3.atCenterOf(dPos); diff --git a/src/main/java/twilightforest/block/TrollRootBlock.java b/src/main/java/twilightforest/block/TrollRootBlock.java index be6e165f14..78fda23c10 100644 --- a/src/main/java/twilightforest/block/TrollRootBlock.java +++ b/src/main/java/twilightforest/block/TrollRootBlock.java @@ -5,14 +5,12 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.BlockTags; +import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; @@ -48,7 +46,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP ItemEntity torchberries = new ItemEntity(level, pos.getX() + 0.5F, pos.getY(), pos.getZ() + 0.5F, new ItemStack(TFItems.TORCHBERRIES.get())); level.addFreshEntity(torchberries); if (player instanceof ServerPlayer) player.awardStat(TFStats.TORCHBERRIES_HARVESTED.get()); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return super.useWithoutItem(state, level, pos, player, result); } @@ -64,9 +62,9 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C } @Override - public BlockState updateShape(BlockState state, Direction dirToNeighbor, BlockState neighborState, LevelAccessor accessor, BlockPos pos, BlockPos neighborPos) { - if (dirToNeighbor == Direction.UP) { - return this.canSurvive(state, accessor, pos) ? state : Blocks.AIR.defaultBlockState(); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + if (direction == Direction.UP) { + return this.canSurvive(state, reader, pos) ? state : Blocks.AIR.defaultBlockState(); } return state; } diff --git a/src/main/java/twilightforest/block/TrollsteinnBlock.java b/src/main/java/twilightforest/block/TrollsteinnBlock.java index 7a3d2acf0b..e28020d1d8 100644 --- a/src/main/java/twilightforest/block/TrollsteinnBlock.java +++ b/src/main/java/twilightforest/block/TrollsteinnBlock.java @@ -103,7 +103,7 @@ private void sparkle(Level level, BlockPos pos) { for (Direction direction : Direction.values()) { BlockPos blockpos = pos.relative(direction); - if (!level.getBlockState(blockpos).isSolidRender(level, blockpos) && level.getMaxLocalRawBrightness(pos.relative(direction)) <= LIGHT_THRESHOLD) { + if (!level.getBlockState(blockpos).isSolidRender() && level.getMaxLocalRawBrightness(pos.relative(direction)) <= LIGHT_THRESHOLD) { Direction.Axis direction$axis = direction.getAxis(); double d1 = direction$axis == Direction.Axis.X ? 0.5 + 0.5625 * (double) direction.getStepX() : (double) random.nextFloat(); double d2 = direction$axis == Direction.Axis.Y ? 0.5 + 0.5625 * (double) direction.getStepY() : (double) random.nextFloat(); diff --git a/src/main/java/twilightforest/block/TrophyBlock.java b/src/main/java/twilightforest/block/TrophyBlock.java index f04fc350c0..c9c5854ac8 100644 --- a/src/main/java/twilightforest/block/TrophyBlock.java +++ b/src/main/java/twilightforest/block/TrophyBlock.java @@ -61,7 +61,7 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C } @Override - public VoxelShape getOcclusionShape(BlockState state, BlockGetter getter, BlockPos pos) { + public VoxelShape getOcclusionShape(BlockState state) { return Shapes.empty(); } diff --git a/src/main/java/twilightforest/block/TrophyPedestalBlock.java b/src/main/java/twilightforest/block/TrophyPedestalBlock.java index 140fb2b5b4..83d7c3028a 100644 --- a/src/main/java/twilightforest/block/TrophyPedestalBlock.java +++ b/src/main/java/twilightforest/block/TrophyPedestalBlock.java @@ -5,11 +5,10 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.state.BlockState; @@ -19,10 +18,12 @@ import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.PushReaction; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.data.tags.BlockTagGenerator; import twilightforest.init.TFAdvancements; @@ -65,12 +66,12 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor accessor, BlockPos currentPos, BlockPos facingPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - accessor.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(accessor)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return super.updateShape(state, facing, facingState, accessor, currentPos, facingPos); + return super.updateShape(state, reader, access, pos, direction, facingPos, facingState, random); } @Override @@ -84,7 +85,7 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + protected void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { level.updateNeighbourForOutputSignal(pos, this); if (level.isClientSide() || state.getValue(ACTIVE) || !isTrophyOnTop(level, pos)) return; diff --git a/src/main/java/twilightforest/block/TrophyWallBlock.java b/src/main/java/twilightforest/block/TrophyWallBlock.java index 217f0c1314..4a70f32c13 100644 --- a/src/main/java/twilightforest/block/TrophyWallBlock.java +++ b/src/main/java/twilightforest/block/TrophyWallBlock.java @@ -13,7 +13,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import twilightforest.enums.BossVariant; @@ -22,7 +22,7 @@ public class TrophyWallBlock extends AbstractTrophyBlock { - public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; + public static final EnumProperty FACING = HorizontalDirectionalBlock.FACING; public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( BossVariant.CODEC.fieldOf("variant").forGetter(AbstractTrophyBlock::getVariant), propertiesCodec()) @@ -42,11 +42,6 @@ protected MapCodec codec() { return CODEC; } - @Override - public String getDescriptionId() { - return this.asItem().getDescriptionId(); - } - @Override public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, CollisionContext context) { if (((AbstractTrophyBlock) state.getBlock()).getVariant() == BossVariant.UR_GHAST) { diff --git a/src/main/java/twilightforest/block/UberousSoilBlock.java b/src/main/java/twilightforest/block/UberousSoilBlock.java index 59b0663294..276b4d0ffc 100644 --- a/src/main/java/twilightforest/block/UberousSoilBlock.java +++ b/src/main/java/twilightforest/block/UberousSoilBlock.java @@ -18,11 +18,14 @@ import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.redstone.ExperimentalRedstoneUtils; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.neoforged.neoforge.common.util.FakePlayer; import net.neoforged.neoforge.common.util.FakePlayerFactory; import net.neoforged.neoforge.common.util.TriState; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; @@ -64,9 +67,9 @@ public void onPlace(BlockState state, Level level, BlockPos pos, BlockState newS @Override @SuppressWarnings("deprecation") - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { - if (fromPos.getY() == pos.getY() + 1) { - BlockState above = level.getBlockState(fromPos); + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { + if (orientation != null && orientation.getSide() == Direction.UP) { + BlockState above = level.getBlockState(pos.above()); if (!(above.getBlock() instanceof BonemealableBlock bonemealableBlock && !above.is(this))) { if (above.isSolid()) FarmBlock.turnToDirt(null, state, level, pos); return; @@ -80,19 +83,17 @@ else if (bonemealableBlock instanceof MushroomBlock) newState = Blocks.MYCELIUM.defaultBlockState(); else if (bonemealableBlock instanceof BushBlock) newState = Blocks.GRASS_BLOCK.defaultBlockState(); - else if (bonemealableBlock instanceof MossBlock mossBlock) - newState = mossBlock.defaultBlockState(); if (level instanceof ServerLevel serverLevel) { if (bonemealableBlock instanceof MushgloomBlock mushgloomBlock) { //This seems a bit hacky, but it's the easiest way of letting the mushgloom only be grown by uberous soil //If we make it growable by bonemeal as well, just delete this if statement and update the appropriate method inside the mushgloom class level.setBlockAndUpdate(pos, pushEntitiesUp(state, newState, level, pos)); - mushgloomBlock.growMushroom(serverLevel, fromPos, above, serverLevel.random); - level.levelEvent(2005, fromPos, 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client + mushgloomBlock.growMushroom(serverLevel, pos.above(), above, serverLevel.random); + level.levelEvent(2005, pos.above(), 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client return; } - level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, fromPos, 15); // Bonemeal particles + level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos.above(), 15); // Bonemeal particles } @@ -103,16 +104,16 @@ else if (bonemealableBlock instanceof MossBlock mossBlock) if (level instanceof ServerLevel serverLevel) { MinecraftServer server = serverLevel.getServer(); FakePlayer fakePlayer = FakePlayerFactory.getMinecraft(serverLevel); - server.tell(new TickTask(server.getTickCount(), () -> { + server.schedule(new TickTask(server.getTickCount(), () -> { //We need to use a tick task so that plants that grow into tall variants don't just break upon growth for (int i = 0; i < 15; i++) - BoneMealItem.applyBonemeal(new ItemStack(Items.BONE_MEAL), serverLevel, fromPos, fakePlayer); + BoneMealItem.applyBonemeal(new ItemStack(Items.BONE_MEAL), serverLevel, pos.above(), fakePlayer); })); } - level.levelEvent(2005, fromPos, 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client - } else if (fromPos.getY() + 1 == pos.getY()) { - BlockState below = level.getBlockState(fromPos); + level.levelEvent(2005, pos.above(), 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client + } else if (orientation != null && orientation.getSide() == Direction.DOWN) { + BlockState below = level.getBlockState(pos.below()); if (!(below.getBlock() instanceof BonemealableBlock)) return; level.setBlockAndUpdate(pos, pushEntitiesUp(state, Blocks.DIRT.defaultBlockState(), level, pos)); @@ -120,14 +121,14 @@ else if (bonemealableBlock instanceof MossBlock mossBlock) if (level instanceof ServerLevel serverLevel) { MinecraftServer server = serverLevel.getServer(); FakePlayer fakePlayer = FakePlayerFactory.getMinecraft(serverLevel); - server.tell(new TickTask(server.getTickCount(), () -> { - for (int i = 0; i < 15; i++) BoneMealItem.applyBonemeal(new ItemStack(Items.BONE_MEAL), serverLevel, fromPos, fakePlayer); + server.schedule(new TickTask(server.getTickCount(), () -> { + for (int i = 0; i < 15; i++) BoneMealItem.applyBonemeal(new ItemStack(Items.BONE_MEAL), serverLevel, pos.below(), fakePlayer); })); - level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, fromPos, 15); // Bonemeal particles + level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos.below(), 15); // Bonemeal particles } - level.levelEvent(2005, fromPos, 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client + level.levelEvent(2005, pos.below(), 0); // FIXME Nothing happens, used to call BoneMealItem.addGrowthParticles on client } } @@ -220,6 +221,6 @@ public void performBonemeal(ServerLevel level, RandomSource rand, BlockPos pos, public void spreadTo(ServerLevel level, BlockPos pos) { level.setBlockAndUpdate(pos, this.defaultBlockState()); - if (!level.getBlockState(pos.above()).isAir()) this.neighborChanged(this.defaultBlockState(), level, pos, this, pos.above(), false); + if (!level.getBlockState(pos.above()).isAir()) this.neighborChanged(this.defaultBlockState(), level, pos, this, Orientation.of(Direction.UP, Direction.UP, Orientation.SideBias.LEFT), false); //TODO how tf do orientations work???? } } diff --git a/src/main/java/twilightforest/block/UncraftingTableBlock.java b/src/main/java/twilightforest/block/UncraftingTableBlock.java index 1b387d4981..dcdf348b66 100644 --- a/src/main/java/twilightforest/block/UncraftingTableBlock.java +++ b/src/main/java/twilightforest/block/UncraftingTableBlock.java @@ -20,7 +20,9 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; +import org.jetbrains.annotations.Nullable; import twilightforest.config.TFConfig; import twilightforest.init.TFSounds; import twilightforest.init.TFStats; @@ -53,7 +55,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (!level.isClientSide()) { boolean flag = level.hasNeighborSignal(pos); if (flag != state.getValue(POWERED)) { @@ -68,7 +70,7 @@ public void neighborChanged(BlockState state, Level level, BlockPos pos, Block b @Override public void onPlace(BlockState state, Level level, BlockPos pos, BlockState newState, boolean moving) { if (!newState.is(state.getBlock())) { - this.neighborChanged(state, level, pos, this, pos, moving); + this.neighborChanged(state, level, pos, this, null, moving); } } diff --git a/src/main/java/twilightforest/block/VanishingBlock.java b/src/main/java/twilightforest/block/VanishingBlock.java index 8a732c3e00..0d365260c2 100644 --- a/src/main/java/twilightforest/block/VanishingBlock.java +++ b/src/main/java/twilightforest/block/VanishingBlock.java @@ -16,10 +16,12 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFBlocks; import twilightforest.init.TFSounds; @@ -104,7 +106,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP } else { this.activate(level, pos); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return InteractionResult.PASS; @@ -121,7 +123,7 @@ public boolean canEntityDestroy(BlockState state, BlockGetter getter, BlockPos p } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { if (level.isClientSide()) { return; } @@ -176,7 +178,7 @@ public void sparkle(Level level, BlockPos pos) { for (Direction direction : Direction.values()) { BlockPos blockpos = pos.relative(direction); - if (!level.getBlockState(blockpos).isSolidRender(level, blockpos)) { + if (!level.getBlockState(blockpos).isSolidRender()) { Direction.Axis axis = direction.getAxis(); double d1 = axis == Direction.Axis.X ? 0.5 + 0.5625 * (double) direction.getStepX() : (double) random.nextFloat(); double d2 = axis == Direction.Axis.Y ? 0.5 + 0.5625 * (double) direction.getStepY() : (double) random.nextFloat(); diff --git a/src/main/java/twilightforest/block/VerticalHollowLogBlock.java b/src/main/java/twilightforest/block/VerticalHollowLogBlock.java index ea4f7ab9a3..cd1c076162 100644 --- a/src/main/java/twilightforest/block/VerticalHollowLogBlock.java +++ b/src/main/java/twilightforest/block/VerticalHollowLogBlock.java @@ -5,14 +5,13 @@ import net.minecraft.core.Holder; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SimpleWaterloggedBlock; @@ -75,7 +74,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder FACING = HorizontalDirectionalBlock.FACING; public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group(SkullBlock.Type.CODEC.fieldOf("kind").forGetter(AbstractSkullCandleBlock::getType), propertiesCodec()) .apply(instance, WallSkullCandleBlock::new) diff --git a/src/main/java/twilightforest/block/WispyCloudBlock.java b/src/main/java/twilightforest/block/WispyCloudBlock.java index 51daee383b..88167743a7 100644 --- a/src/main/java/twilightforest/block/WispyCloudBlock.java +++ b/src/main/java/twilightforest/block/WispyCloudBlock.java @@ -22,7 +22,7 @@ public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, Block } @Override - public int getLightBlock(BlockState state, BlockGetter level, BlockPos pos) { + public int getLightBlock(BlockState state) { return 0; } diff --git a/src/main/java/twilightforest/block/WroughtIronFenceBlock.java b/src/main/java/twilightforest/block/WroughtIronFenceBlock.java index 6b7098c324..13afb6be19 100644 --- a/src/main/java/twilightforest/block/WroughtIronFenceBlock.java +++ b/src/main/java/twilightforest/block/WroughtIronFenceBlock.java @@ -5,6 +5,7 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.tags.BlockTags; +import net.minecraft.util.RandomSource; import net.minecraft.util.StringRepresentable; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -13,6 +14,7 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -112,11 +114,11 @@ private boolean connectsTo(BlockState state, boolean solid) { } @Override - public BlockState updateShape(BlockState state, Direction direction, BlockState neighbor, LevelAccessor level, BlockPos pos, BlockPos neighborPos) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { if (state.getValue(WATERLOGGED)) { - level.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(level)); + access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); } - return direction.getAxis() == Direction.Axis.Y ? this.updateTop(level, state, pos) : this.updateSide(level, pos, state, neighborPos, neighbor, direction); + return direction.getAxis() == Direction.Axis.Y ? this.updateTop(reader, state, pos) : this.updateSide(reader, pos, state, facingPos, facingState, direction); } private BlockState updateSide(LevelReader level, BlockPos pos, BlockState firstState, BlockPos secondPos, BlockState secondState, Direction direction) { @@ -211,8 +213,8 @@ public FluidState getFluidState(BlockState state) { } @Override - public boolean propagatesSkylightDown(BlockState pState, BlockGetter pLevel, BlockPos pPos) { - return !pState.getValue(WATERLOGGED); + public boolean propagatesSkylightDown(BlockState state) { + return !state.getValue(WATERLOGGED); } @Override diff --git a/src/main/java/twilightforest/world/TFTeleporter.java b/src/main/java/twilightforest/world/TFTeleporter.java index 03450e27e9..1d0fbc7b13 100644 --- a/src/main/java/twilightforest/world/TFTeleporter.java +++ b/src/main/java/twilightforest/world/TFTeleporter.java @@ -20,7 +20,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.levelgen.structure.StructureStart; -import net.minecraft.world.level.portal.DimensionTransition; +import net.minecraft.world.level.portal.TeleportTransition; +import net.minecraft.world.level.portal.TeleportTransition; import net.minecraft.world.phys.Vec3; import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.Nullable; @@ -40,8 +41,8 @@ public class TFTeleporter { - public static DimensionTransition createTransition(Entity entity, ServerLevel dest, BlockPos pos, boolean forcedEntry) { - DimensionTransition transition; + public static TeleportTransition createTransition(Entity entity, ServerLevel dest, BlockPos pos, boolean forcedEntry) { + TeleportTransition transition; TeleporterCache cache = TeleporterCache.get(dest); if ((transition = placeInExistingPortal(cache, dest, entity, pos)) == null) { @@ -50,19 +51,19 @@ public static DimensionTransition createTransition(Entity entity, ServerLevel de } if (transition != null) return transition; - return new DimensionTransition(dest, Vec3.atCenterOf(pos.atY(dest.getSeaLevel())), Vec3.ZERO, entity.getYRot(), entity.getXRot(), DimensionTransition.PLACE_PORTAL_TICKET); + return new TeleportTransition(dest, Vec3.atCenterOf(pos.atY(dest.getSeaLevel())), Vec3.ZERO, entity.getYRot(), entity.getXRot(), TeleportTransition.PLACE_PORTAL_TICKET); } @Nullable - protected static DimensionTransition createPosition(ServerLevel dest, Entity entity, BlockPos destPos, TeleporterCache cache, boolean locked) { - DimensionTransition info = moveToSafeCoords(dest, entity, destPos); + protected static TeleportTransition createPosition(ServerLevel dest, Entity entity, BlockPos destPos, TeleporterCache cache, boolean locked) { + TeleportTransition info = moveToSafeCoords(dest, entity, destPos); makePortal(cache, entity, dest, info.pos(), locked); info = placeInExistingPortal(cache, dest, entity, BlockPos.containing(info.pos())); return info; } @Nullable - protected static DimensionTransition placeInExistingPortal(TeleporterCache cache, ServerLevel destDim, Entity entity, BlockPos pos) { + protected static TeleportTransition placeInExistingPortal(TeleporterCache cache, ServerLevel destDim, Entity entity, BlockPos pos) { boolean flag = true; BlockPos blockpos; ColumnPos columnPos = new ColumnPos(entity.blockPosition().getX(), entity.blockPosition().getZ()); // Must be the position from the src dim @@ -145,7 +146,7 @@ private static BlockPos getPortalPosition(ServerLevel destDim, BlockPos pos) { continue; } - for (BlockPos blockpos1 = pos.offset(i1, getScanHeight(destDim, pos) - pos.getY(), j1); blockpos1.getY() >= destDim.getMinBuildHeight(); blockpos1 = blockpos2) { + for (BlockPos blockpos1 = pos.offset(i1, getScanHeight(destDim, pos) - pos.getY(), j1); blockpos1.getY() >= destDim.getMinY(); blockpos1 = blockpos2) { blockpos2 = blockpos1.below(); // don't lookup state if inner condition would fail @@ -178,7 +179,7 @@ private static int getScanHeight(ServerLevel world, BlockPos pos) { } private static int getScanHeight(ServerLevel world, int x, int z) { - int worldHeight = world.getMaxBuildHeight() - 1; + int worldHeight = world.getMinY() - 1; //FIXME find an alternative to getHighestSectionPosition, its marked for removal @SuppressWarnings("removal") int chunkHeight = world.getChunk(x >> 4, z >> 4).getHighestSectionPosition() + 15; @@ -224,7 +225,7 @@ protected static double getHorizontalScale(ServerLevel destination) { return destination.dimension().equals(TFDimension.DIMENSION_KEY) ? 1F / scale : scale; } - protected static DimensionTransition moveToSafeCoords(ServerLevel level, Entity entity, BlockPos pos) { + protected static TeleportTransition moveToSafeCoords(ServerLevel level, Entity entity, BlockPos pos) { // if we're in enforced progression mode, check the biomes for safety boolean checkProgression = LandmarkUtil.isProgressionEnforced(level); @@ -416,7 +417,7 @@ protected static BlockPos findPortalCoords(ServerLevel world, Vec3 loc, Predicat for (int rz = entityZ - range; rz <= entityZ + range; rz++) { double zWeight = (rz + 0.5D) - loc.z(); - for (int ry = getScanHeight(world, rx, rz); ry >= world.getMinBuildHeight(); ry--) { + for (int ry = getScanHeight(world, rx, rz); ry >= world.getMinY(); ry--) { pos.set(rx, ry, rz); @@ -425,12 +426,12 @@ protected static BlockPos findPortalCoords(ServerLevel world, Vec3 loc, Predicat } if (makePortalInAir) { - while (ry > world.getMinBuildHeight() && world.isEmptyBlock(pos.set(rx, ry - 1, rz)) && predicate.test(pos)) { + while (ry > world.getMinY() && world.isEmptyBlock(pos.set(rx, ry - 1, rz)) && predicate.test(pos)) { ry--; } pos.set(rx, ry, rz); } else { - while (ry > world.getMinBuildHeight() && world.isEmptyBlock(pos.set(rx, ry - 1, rz))) { + while (ry > world.getMinY() && world.isEmptyBlock(pos.set(rx, ry - 1, rz))) { ry--; } } @@ -559,7 +560,7 @@ protected static BlockPos makePortalAt(Level world, BlockPos pos, boolean locked private static BlockState randNatureBlock(RandomSource random) { Optional optional = BuiltInRegistries.BLOCK - .getTag(BlockTagGenerator.GENERATED_PORTAL_DECO) + .get(BlockTagGenerator.GENERATED_PORTAL_DECO) .flatMap(tag -> tag.getRandomElement(random)) .map(Holder::value); return optional.map(Block::defaultBlockState).orElseGet(Blocks.SHORT_GRASS::defaultBlockState); @@ -599,12 +600,12 @@ protected static boolean isOkayForFallbackPortal(ServerLevel world, BlockPos pos return true; } - protected static DimensionTransition makePortalInfo(ServerLevel level, Entity entity, double x, double y, double z) { + protected static TeleportTransition makePortalInfo(ServerLevel level, Entity entity, double x, double y, double z) { return makePortalInfo(level, entity, new Vec3(x, y, z)); } - protected static DimensionTransition makePortalInfo(ServerLevel level, Entity entity, Vec3 pos) { - return new DimensionTransition(level, pos, Vec3.ZERO, entity.getYRot(), entity.getXRot(), DimensionTransition.PLACE_PORTAL_TICKET); + protected static TeleportTransition makePortalInfo(ServerLevel level, Entity entity, Vec3 pos) { + return new TeleportTransition(level, pos, Vec3.ZERO, entity.getYRot(), entity.getXRot(), TeleportTransition.PLACE_PORTAL_TICKET); } static class PortalPosition { diff --git a/src/test/java/twilightforest/block/HollowLogVerticalTests.java b/src/test/java/twilightforest/block/HollowLogVerticalTests.java index d17f54dea6..a1f9761088 100644 --- a/src/test/java/twilightforest/block/HollowLogVerticalTests.java +++ b/src/test/java/twilightforest/block/HollowLogVerticalTests.java @@ -5,7 +5,7 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -54,9 +54,9 @@ public void useItemOnNotInside() { when(hitResult.getLocation()).thenReturn(Vec3.ZERO); - ItemInteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); + InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION, result); + assertSame(InteractionResult.TRY_WITH_EMPTY_HAND, result); verify(stack, never()).is(any(Item.class)); } @@ -71,9 +71,9 @@ public void useItemOnInside() { when(hitResult.getLocation()).thenReturn(new Vec3(0.5, 0.5, 0.5)); when(stack.is(any(Item.class))).thenReturn(false); - ItemInteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); + InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION, result); + assertSame(InteractionResult.TRY_WITH_EMPTY_HAND, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); verify(stack, times(1)).is(Blocks.LADDER.asItem()); } @@ -95,9 +95,9 @@ public void useItemOnVine() { when(directionUtil.horizontalOrElse(any(Direction.class), any(Direction.class))).thenReturn(Direction.NORTH); when(level.isClientSide()).thenReturn(false); - ItemInteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); + InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(ItemInteractionResult.CONSUME, result); + assertSame(InteractionResult.CONSUME, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); ArgumentCaptor climbable = ArgumentCaptor.captor(); @@ -128,9 +128,9 @@ public void useItemOnLadder() { when(directionUtil.horizontalOrElse(any(Direction.class), any(Direction.class))).thenReturn(Direction.NORTH); when(level.isClientSide()).thenReturn(false); - ItemInteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); + InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(ItemInteractionResult.CONSUME, result); + assertSame(InteractionResult.CONSUME, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); verify(stack, times(1)).is(Blocks.LADDER.asItem()); @@ -160,9 +160,9 @@ public void useItemOnLadderWaterlogged() { when(directionUtil.horizontalOrElse(any(Direction.class), any(Direction.class))).thenReturn(Direction.NORTH); when(level.isClientSide()).thenReturn(false); - ItemInteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); + InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(ItemInteractionResult.CONSUME, result); + assertSame(InteractionResult.CONSUME, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); verify(stack, times(1)).is(Blocks.LADDER.asItem()); From 5d2d322541178c6c69e3b5ffc990f9f410812ba6 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:37:00 -0600 Subject: [PATCH 007/239] block entities and commands --- .../entity/CarminiteReactorBlockEntity.java | 5 +- .../entity/CinderFurnaceBlockEntity.java | 448 +++++++++--------- .../entity/bookshelf/BookshelfSpawner.java | 4 +- .../spawner/BossSpawnerBlockEntity.java | 6 +- .../entity/spawner/CursedSpawnerLogic.java | 8 +- .../KnightPhantomSpawnerBlockEntity.java | 4 +- .../spawner/LichSpawnerBlockEntity.java | 6 +- .../command/GenerateBookCommand.java | 4 +- .../twilightforest/command/InfoCommand.java | 2 +- .../command/MapBiomesCommand.java | 8 +- .../command/MapLocatorCommand.java | 2 +- 11 files changed, 249 insertions(+), 248 deletions(-) diff --git a/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java b/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java index ae84751241..2498e62520 100644 --- a/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java @@ -5,6 +5,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -151,7 +152,7 @@ public static void tick(Level level, BlockPos pos, BlockState state, CarminiteRe } private void spawnGhastNear(Level level, int x, int y, int z) { - CarminiteGhastling ghast = TFEntities.CARMINITE_GHASTLING.get().create(level); + CarminiteGhastling ghast = TFEntities.CARMINITE_GHASTLING.get().create(level, EntitySpawnReason.TRIGGERED); if (ghast != null) { ghast.moveTo(x - 1.5 + level.getRandom().nextFloat() * 3.0, y - 1.5 + level.getRandom().nextFloat() * 3.0, z - 1.5 + level.getRandom().nextFloat() * 3.0, level.getRandom().nextFloat() * 360F, 0.0F); level.addFreshEntity(ghast); @@ -212,7 +213,7 @@ private void transformBlock(BlockPos pos, BlockState state, int fuzz, boolean ne if (netherTransform && stateThere.getBlock() != Blocks.AIR) { Optional optional = BuiltInRegistries.BLOCK - .getTag(BlockTagGenerator.CARMINITE_REACTOR_ORES) + .get(BlockTagGenerator.CARMINITE_REACTOR_ORES) .flatMap(tag -> tag.getRandomElement(this.getLevel().getRandom())) .map(Holder::value); this.getLevel().setBlock(pos, (this.getLevel().getRandom().nextInt(8) == 0 && optional.isPresent() ? optional.get().defaultBlockState() : Blocks.NETHERRACK.defaultBlockState()), 3); diff --git a/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java b/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java index 475a0d4a3c..c238fa3b0b 100644 --- a/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java @@ -33,228 +33,228 @@ public CinderFurnaceBlockEntity(BlockPos pos, BlockState state) { super(pos, state); } - // [VanillaCopy] of superclass, edits noted - public static void tick(Level level, BlockPos pos, BlockState state, CinderFurnaceBlockEntity te) { - boolean flag = te.isBurning(); - boolean flag1 = false; - - if (te.isBurning()) { - --te.litTime; - } - - if (!level.isClientSide()) { - ItemStack itemstack = te.items.get(1); - - if (te.isBurning() || !itemstack.isEmpty() && !te.items.get(0).isEmpty()) { - RecipeHolder recipe = level.getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SingleRecipeInput(te.items.getFirst()), level).orElse(null); - if (recipe != null && !te.isBurning() && te.canBurn(level, recipe.value())) { - te.litTime = te.getBurnDuration(itemstack); - te.litDuration = te.litTime; - - if (te.isBurning()) { - flag1 = true; - - if (!itemstack.isEmpty()) { - Item item = itemstack.getItem(); - itemstack.shrink(1); - - if (itemstack.isEmpty()) { - ItemStack item1 = item.getCraftingRemainingItem(itemstack); - te.items.set(1, item1); - } - } - } - } - - if (recipe != null && te.isBurning() && te.canBurn(level, recipe.value())) { - // TF - cook faster - te.cookingProgress += te.getCurrentSpeedMultiplier(level); - - if (te.cookingProgress >= te.cookingTotalTime) { // TF - change to geq since we can increment by >1 - te.cookingProgress = 0; - te.cookingTotalTime = te.getRecipeBurnTime(level); - te.smeltItem(level, recipe.value()); - flag1 = true; - } - } else { - te.cookingProgress = 0; - } - } else if (!te.isBurning() && te.cookingProgress > 0) { - te.cookingProgress = Mth.clamp(te.cookingProgress - 2, 0, te.cookingTotalTime); - } - - if (flag != te.isBurning()) { - flag1 = true; - level.setBlock(pos, level.getBlockState(pos).setValue(CinderFurnaceBlock.LIT, te.isBurning()), 3); // TF - use our furnace - } - - // TF - occasionally cinderize nearby logs - if (te.isBurning() && te.litTime % 5 == 0) { - te.cinderizeNearbyLog(level, pos); - } - } - - if (flag1) { - te.setChanged(); - } - } - - // [VanillaCopy] of super - private boolean isBurning() { - return this.litTime > 0; - } - - // [VanillaCopy] of super, only using SMELTING IRecipeType - protected int getRecipeBurnTime(Level level) { - return level.getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SingleRecipeInput(this.items.getFirst()), level).map(recipeHolder -> recipeHolder.value().getCookingTime()).orElse(200); - } - - @SuppressWarnings("deprecation") - private void cinderizeNearbyLog(Level level, BlockPos origin) { - RandomSource rand = level.getRandom(); - - int dx = rand.nextInt(2) - rand.nextInt(2); - int dy = rand.nextInt(2) - rand.nextInt(2); - int dz = rand.nextInt(2) - rand.nextInt(2); - BlockPos pos = origin.offset(dx, dy, dz); - - if (level.hasChunkAt(pos)) { - BlockState nearbyBlock = level.getBlockState(pos); - - if (!nearbyBlock.is(TFBlocks.CINDER_LOG) && nearbyBlock.is(BlockTags.LOGS)) { - level.setBlock(pos, this.getCinderLog(dx, dy, dz), 2); - level.levelEvent(LevelEvent.PARTICLES_MOBBLOCK_SPAWN, pos, 0); - level.levelEvent(LevelEvent.PARTICLES_MOBBLOCK_SPAWN, pos, 0); - level.playSound(null, pos, SoundEvents.FIRE_AMBIENT, SoundSource.BLOCKS, 1.0F, 1.0F); - } - } - } - - /** - * What meta should we set the log block with the specified offset to? - */ - private BlockState getCinderLog(int dx, int dy, int dz) { - @Nullable Direction.Axis direction; - if (dz == 0 && dx != 0) { - direction = dy == 0 ? Direction.Axis.X : Direction.Axis.Z; - } else if (dx == 0 && dz != 0) { - direction = dy == 0 ? Direction.Axis.Z : Direction.Axis.X; - } else if (dx == 0) { - direction = Direction.Axis.Y; - } else { - direction = dy == 0 ? Direction.Axis.Y : null; //We return null so we can get Cinder Wood. - } - - return direction != null ? TFBlocks.CINDER_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction) - : TFBlocks.CINDER_WOOD.get().defaultBlockState(); - } - - /** - * What is the current speed multiplier, as an int. - */ - private int getCurrentSpeedMultiplier(Level level) { - return this.getCurrentMultiplier(level, 2); - } - - /** - * Returns a number that is based on the number of nearby logs divided by the factor given. - */ - private int getCurrentMultiplier(Level level, int factor) { - int logs = this.countNearbyLogs(level); - - if (logs < factor) { - return 1; - } else { - return (logs / factor) + (level.getRandom().nextInt(factor) >= (logs % factor) ? 0 : 1); - } - } - - @SuppressWarnings("deprecation") - private int countNearbyLogs(Level level) { - int count = 0; - - for (int dx = -1; dx <= 1; dx++) { - for (int dy = -1; dy <= 1; dy++) { - for (int dz = -1; dz <= 1; dz++) { - BlockPos pos = getBlockPos().offset(dx, dy, dz); - if (level.hasChunkAt(pos) && level.getBlockState(pos).is(TFBlocks.CINDER_LOG.get())) { - count++; - } - } - } - } - - return count; - } - - // [VanillaCopy] of superclass ver, changes noted - //@Override - protected boolean canBurn(Level level, Recipe recipe) { - if (this.items.get(0).isEmpty()) { - return false; - } else { - ItemStack itemstack = recipe.getResultItem(level.registryAccess()); - - if (itemstack.isEmpty()) { - return false; - } else { - ItemStack itemstack1 = this.items.get(2); - if (itemstack1.isEmpty()) return true; - if (!itemstack1.is(itemstack.getItem())) return false; - int result = itemstack1.getCount() + getMaxOutputStacks(level, this.items.getFirst(), itemstack); // TF - account for multiplying - return result <= this.getMaxStackSize() && result <= itemstack1.getMaxStackSize(); // Forge fix: make furnace respect stack sizes in furnace recipes - } - } - } - - /** - * Return the max number of items in the output stack, given our current multiplier - */ - public int getMaxOutputStacks(Level level, ItemStack input, ItemStack output) { - if (this.canMultiply(input)) { - return output.getCount() * this.getCurrentMaxSmeltMultiplier(level); - } else { - return output.getCount(); - } - } - - // [VanillaCopy] superclass, using our own canSmelt and multiplying output - public void smeltItem(Level level, Recipe recipe) { - if (this.canBurn(level, recipe)) { - ItemStack itemstack = this.items.getFirst(); - ItemStack itemstack1 = recipe.getResultItem(level.registryAccess()); - itemstack1.setCount(itemstack1.getCount() * this.getCurrentSmeltMultiplier(level)); - ItemStack itemstack2 = this.items.get(2); - - if (itemstack2.isEmpty()) { - this.items.set(2, itemstack1.copy()); - } else if (itemstack2.getItem() == itemstack1.getItem()) { - itemstack2.grow(itemstack1.getCount()); - } - - if (itemstack.getItem() == Blocks.WET_SPONGE.asItem() && !this.items.get(1).isEmpty() && this.items.get(1).getItem() == Items.BUCKET) { - this.items.set(1, new ItemStack(Items.WATER_BUCKET)); - } - - itemstack.shrink(1); - } - } - - private boolean canMultiply(ItemStack input) { - return input.is(ItemTags.LOGS) || input.is(Tags.Items.ORES); - } - - /** - * What is the current speed multiplier, as an int. - */ - private int getCurrentSmeltMultiplier(Level level) { - return this.getCurrentMultiplier(level, SMELT_LOG_FACTOR); - } - - /** - * What is the current speed multiplier, as an int. - */ - private int getCurrentMaxSmeltMultiplier(Level level) { - return (int) Math.ceil((float) this.countNearbyLogs(level) / (float) SMELT_LOG_FACTOR); - } +// // [VanillaCopy] of superclass, edits noted +// public static void tick(Level level, BlockPos pos, BlockState state, CinderFurnaceBlockEntity te) { +// boolean flag = te.isBurning(); +// boolean flag1 = false; +// +// if (te.isBurning()) { +// --te.litTime; +// } +// +// if (!level.isClientSide()) { +// ItemStack itemstack = te.items.get(1); +// +// if (te.isBurning() || !itemstack.isEmpty() && !te.items.get(0).isEmpty()) { +// RecipeHolder recipe = level.getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SingleRecipeInput(te.items.getFirst()), level).orElse(null); +// if (recipe != null && !te.isBurning() && te.canBurn(level, recipe.value())) { +// te.litTime = te.getBurnDuration(itemstack); +// te.litDuration = te.litTime; +// +// if (te.isBurning()) { +// flag1 = true; +// +// if (!itemstack.isEmpty()) { +// Item item = itemstack.getItem(); +// itemstack.shrink(1); +// +// if (itemstack.isEmpty()) { +// ItemStack item1 = item.getCraftingRemainingItem(itemstack); +// te.items.set(1, item1); +// } +// } +// } +// } +// +// if (recipe != null && te.isBurning() && te.canBurn(level, recipe.value())) { +// // TF - cook faster +// te.cookingProgress += te.getCurrentSpeedMultiplier(level); +// +// if (te.cookingProgress >= te.cookingTotalTime) { // TF - change to geq since we can increment by >1 +// te.cookingProgress = 0; +// te.cookingTotalTime = te.getRecipeBurnTime(level); +// te.smeltItem(level, recipe.value()); +// flag1 = true; +// } +// } else { +// te.cookingProgress = 0; +// } +// } else if (!te.isBurning() && te.cookingProgress > 0) { +// te.cookingProgress = Mth.clamp(te.cookingProgress - 2, 0, te.cookingTotalTime); +// } +// +// if (flag != te.isBurning()) { +// flag1 = true; +// level.setBlock(pos, level.getBlockState(pos).setValue(CinderFurnaceBlock.LIT, te.isBurning()), 3); // TF - use our furnace +// } +// +// // TF - occasionally cinderize nearby logs +// if (te.isBurning() && te.litTime % 5 == 0) { +// te.cinderizeNearbyLog(level, pos); +// } +// } +// +// if (flag1) { +// te.setChanged(); +// } +// } +// +// // [VanillaCopy] of super +// private boolean isBurning() { +// return this.litTime > 0; +// } +// +// // [VanillaCopy] of super, only using SMELTING IRecipeType +// protected int getRecipeBurnTime(Level level) { +// return level.getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SingleRecipeInput(this.items.getFirst()), level).map(recipeHolder -> recipeHolder.value().getCookingTime()).orElse(200); +// } +// +// @SuppressWarnings("deprecation") +// private void cinderizeNearbyLog(Level level, BlockPos origin) { +// RandomSource rand = level.getRandom(); +// +// int dx = rand.nextInt(2) - rand.nextInt(2); +// int dy = rand.nextInt(2) - rand.nextInt(2); +// int dz = rand.nextInt(2) - rand.nextInt(2); +// BlockPos pos = origin.offset(dx, dy, dz); +// +// if (level.hasChunkAt(pos)) { +// BlockState nearbyBlock = level.getBlockState(pos); +// +// if (!nearbyBlock.is(TFBlocks.CINDER_LOG) && nearbyBlock.is(BlockTags.LOGS)) { +// level.setBlock(pos, this.getCinderLog(dx, dy, dz), 2); +// level.levelEvent(LevelEvent.PARTICLES_MOBBLOCK_SPAWN, pos, 0); +// level.levelEvent(LevelEvent.PARTICLES_MOBBLOCK_SPAWN, pos, 0); +// level.playSound(null, pos, SoundEvents.FIRE_AMBIENT, SoundSource.BLOCKS, 1.0F, 1.0F); +// } +// } +// } +// +// /** +// * What meta should we set the log block with the specified offset to? +// */ +// private BlockState getCinderLog(int dx, int dy, int dz) { +// @Nullable Direction.Axis direction; +// if (dz == 0 && dx != 0) { +// direction = dy == 0 ? Direction.Axis.X : Direction.Axis.Z; +// } else if (dx == 0 && dz != 0) { +// direction = dy == 0 ? Direction.Axis.Z : Direction.Axis.X; +// } else if (dx == 0) { +// direction = Direction.Axis.Y; +// } else { +// direction = dy == 0 ? Direction.Axis.Y : null; //We return null so we can get Cinder Wood. +// } +// +// return direction != null ? TFBlocks.CINDER_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction) +// : TFBlocks.CINDER_WOOD.get().defaultBlockState(); +// } +// +// /** +// * What is the current speed multiplier, as an int. +// */ +// private int getCurrentSpeedMultiplier(Level level) { +// return this.getCurrentMultiplier(level, 2); +// } +// +// /** +// * Returns a number that is based on the number of nearby logs divided by the factor given. +// */ +// private int getCurrentMultiplier(Level level, int factor) { +// int logs = this.countNearbyLogs(level); +// +// if (logs < factor) { +// return 1; +// } else { +// return (logs / factor) + (level.getRandom().nextInt(factor) >= (logs % factor) ? 0 : 1); +// } +// } +// +// @SuppressWarnings("deprecation") +// private int countNearbyLogs(Level level) { +// int count = 0; +// +// for (int dx = -1; dx <= 1; dx++) { +// for (int dy = -1; dy <= 1; dy++) { +// for (int dz = -1; dz <= 1; dz++) { +// BlockPos pos = getBlockPos().offset(dx, dy, dz); +// if (level.hasChunkAt(pos) && level.getBlockState(pos).is(TFBlocks.CINDER_LOG.get())) { +// count++; +// } +// } +// } +// } +// +// return count; +// } +// +// // [VanillaCopy] of superclass ver, changes noted +// //@Override +// protected boolean canBurn(Level level, Recipe recipe) { +// if (this.items.get(0).isEmpty()) { +// return false; +// } else { +// ItemStack itemstack = recipe.getResultItem(level.registryAccess()); +// +// if (itemstack.isEmpty()) { +// return false; +// } else { +// ItemStack itemstack1 = this.items.get(2); +// if (itemstack1.isEmpty()) return true; +// if (!itemstack1.is(itemstack.getItem())) return false; +// int result = itemstack1.getCount() + getMaxOutputStacks(level, this.items.getFirst(), itemstack); // TF - account for multiplying +// return result <= this.getMaxStackSize() && result <= itemstack1.getMaxStackSize(); // Forge fix: make furnace respect stack sizes in furnace recipes +// } +// } +// } +// +// /** +// * Return the max number of items in the output stack, given our current multiplier +// */ +// public int getMaxOutputStacks(Level level, ItemStack input, ItemStack output) { +// if (this.canMultiply(input)) { +// return output.getCount() * this.getCurrentMaxSmeltMultiplier(level); +// } else { +// return output.getCount(); +// } +// } +// +// // [VanillaCopy] superclass, using our own canSmelt and multiplying output +// public void smeltItem(Level level, Recipe recipe) { +// if (this.canBurn(level, recipe)) { +// ItemStack itemstack = this.items.getFirst(); +// ItemStack itemstack1 = recipe.getResultItem(level.registryAccess()); +// itemstack1.setCount(itemstack1.getCount() * this.getCurrentSmeltMultiplier(level)); +// ItemStack itemstack2 = this.items.get(2); +// +// if (itemstack2.isEmpty()) { +// this.items.set(2, itemstack1.copy()); +// } else if (itemstack2.getItem() == itemstack1.getItem()) { +// itemstack2.grow(itemstack1.getCount()); +// } +// +// if (itemstack.getItem() == Blocks.WET_SPONGE.asItem() && !this.items.get(1).isEmpty() && this.items.get(1).getItem() == Items.BUCKET) { +// this.items.set(1, new ItemStack(Items.WATER_BUCKET)); +// } +// +// itemstack.shrink(1); +// } +// } +// +// private boolean canMultiply(ItemStack input) { +// return input.is(ItemTags.LOGS) || input.is(Tags.Items.ORES); +// } +// +// /** +// * What is the current speed multiplier, as an int. +// */ +// private int getCurrentSmeltMultiplier(Level level) { +// return this.getCurrentMultiplier(level, SMELT_LOG_FACTOR); +// } +// +// /** +// * What is the current speed multiplier, as an int. +// */ +// private int getCurrentMaxSmeltMultiplier(Level level) { +// return (int) Math.ceil((float) this.countNearbyLogs(level) / (float) SMELT_LOG_FACTOR); +// } } diff --git a/src/main/java/twilightforest/block/entity/bookshelf/BookshelfSpawner.java b/src/main/java/twilightforest/block/entity/bookshelf/BookshelfSpawner.java index 01a5823a15..2545996ddb 100644 --- a/src/main/java/twilightforest/block/entity/bookshelf/BookshelfSpawner.java +++ b/src/main/java/twilightforest/block/entity/bookshelf/BookshelfSpawner.java @@ -230,7 +230,7 @@ public boolean attemptSpawnTome(int slot, ServerLevel level, BlockPos pos, boole } } - Entity entity = EntityType.loadEntityRecursive(tag, level, processed -> { + Entity entity = EntityType.loadEntityRecursive(tag, level, EntitySpawnReason.SPAWNER, processed -> { processed.moveTo(x, y, z, processed.getYRot(), processed.getXRot()); //set entity on fire if told to do so if (fire) { @@ -258,7 +258,7 @@ public boolean attemptSpawnTome(int slot, ServerLevel level, BlockPos pos, boole entity.moveTo(entity.getX(), entity.getY(), entity.getZ(), random.nextFloat() * 360.0F, 0.0F); if (entity instanceof Mob mob) { boolean flag1 = data.getEntityToSpawn().size() == 1 && data.getEntityToSpawn().contains("id", 8); - EventHooks.finalizeMobSpawnSpawner(mob, level, level.getCurrentDifficultyAt(entity.blockPosition()), MobSpawnType.SPAWNER, null, this, flag1); + EventHooks.finalizeMobSpawnSpawner(mob, level, level.getCurrentDifficultyAt(entity.blockPosition()), EntitySpawnReason.SPAWNER, null, this, flag1); data.getEquipment().ifPresent(mob::equip); } diff --git a/src/main/java/twilightforest/block/entity/spawner/BossSpawnerBlockEntity.java b/src/main/java/twilightforest/block/entity/spawner/BossSpawnerBlockEntity.java index bdc01616bb..0cdd410e96 100644 --- a/src/main/java/twilightforest/block/entity/spawner/BossSpawnerBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/spawner/BossSpawnerBlockEntity.java @@ -5,9 +5,9 @@ import net.minecraft.core.particles.ParticleOptions; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.Difficulty; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.entity.BlockEntity; @@ -60,7 +60,7 @@ protected boolean spawnMyBoss(ServerLevelAccessor accessor) { BlockPos spawnPos = accessor.getBlockState(this.getBlockPos().below()).getCollisionShape(accessor, this.getBlockPos().below()).isEmpty() ? this.getBlockPos().below() : this.getBlockPos(); myCreature.moveTo(spawnPos, accessor.getLevel().getRandom().nextFloat() * 360F, 0.0F); - EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(spawnPos), MobSpawnType.SPAWNER, null); + EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(spawnPos), EntitySpawnReason.SPAWNER, null); // set creature's home to this this.initializeCreature(myCreature); @@ -80,6 +80,6 @@ protected int getRange() { } protected T makeMyCreature() { - return Objects.requireNonNull(this.entityType.create(Objects.requireNonNull(this.getLevel()))); + return Objects.requireNonNull(this.entityType.create(this.getLevel(), EntitySpawnReason.SPAWNER)); } } diff --git a/src/main/java/twilightforest/block/entity/spawner/CursedSpawnerLogic.java b/src/main/java/twilightforest/block/entity/spawner/CursedSpawnerLogic.java index 3db6f0663d..e04b44d29e 100644 --- a/src/main/java/twilightforest/block/entity/spawner/CursedSpawnerLogic.java +++ b/src/main/java/twilightforest/block/entity/spawner/CursedSpawnerLogic.java @@ -95,11 +95,11 @@ public void serverTick(ServerLevel serverLevel, BlockPos blockEntityPos) { if (!spawndata$customspawnrules.isValidPosition(spawnAt, serverLevel)) { continue; } - } else if (!SpawnPlacements.checkSpawnRules(possibleEntityType.get(), serverLevel, MobSpawnType.SPAWNER, spawnAt, serverLevel.getRandom())) { + } else if (!SpawnPlacements.checkSpawnRules(possibleEntityType.get(), serverLevel, EntitySpawnReason.SPAWNER, spawnAt, serverLevel.getRandom())) { continue; } - Entity entity = EntityType.loadEntityRecursive(entityData, serverLevel, spawnedEntity -> { + Entity entity = EntityType.loadEntityRecursive(entityData, serverLevel, EntitySpawnReason.SPAWNER, spawnedEntity -> { spawnedEntity.moveTo(spawnX, spawnY, spawnZ, spawnedEntity.getYRot(), spawnedEntity.getXRot()); return spawnedEntity; }); @@ -128,14 +128,14 @@ public void serverTick(ServerLevel serverLevel, BlockPos blockEntityPos) { entity.moveTo(entity.getX(), entity.getY(), entity.getZ(), randomsource.nextFloat() * 360.0F, 0.0F); if (entity instanceof Mob mob) { - if (!net.neoforged.neoforge.event.EventHooks.checkSpawnPositionSpawner(mob, serverLevel, MobSpawnType.SPAWNER, spawndata, this)) { + if (!net.neoforged.neoforge.event.EventHooks.checkSpawnPositionSpawner(mob, serverLevel, EntitySpawnReason.SPAWNER, spawndata, this)) { continue; } boolean flag1 = spawndata.getEntityToSpawn().size() == 1 && spawndata.getEntityToSpawn().contains("id", 8); // Neo: Patch in FinalizeSpawn for spawners so it may be fired unconditionally, instead of only when vanilla would normally call it. // The local flag1 is the conditions under which the spawner will normally call Mob#finalizeSpawn. - net.neoforged.neoforge.event.EventHooks.finalizeMobSpawnSpawner(mob, serverLevel, serverLevel.getCurrentDifficultyAt(entity.blockPosition()), MobSpawnType.SPAWNER, null, this, flag1); + net.neoforged.neoforge.event.EventHooks.finalizeMobSpawnSpawner(mob, serverLevel, serverLevel.getCurrentDifficultyAt(entity.blockPosition()), EntitySpawnReason.SPAWNER, null, this, flag1); spawndata.getEquipment().ifPresent(mob::equip); diff --git a/src/main/java/twilightforest/block/entity/spawner/KnightPhantomSpawnerBlockEntity.java b/src/main/java/twilightforest/block/entity/spawner/KnightPhantomSpawnerBlockEntity.java index 0689ec63bb..dfaa2c1506 100644 --- a/src/main/java/twilightforest/block/entity/spawner/KnightPhantomSpawnerBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/spawner/KnightPhantomSpawnerBlockEntity.java @@ -3,8 +3,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.world.Difficulty; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -47,7 +47,7 @@ protected boolean spawnMyBoss(ServerLevelAccessor accessor) { double rz = this.getBlockPos().getZ() + 0.5D + Math.sin(angle * Math.PI / 180.0D) * distance; myCreature.moveTo(rx, ry, rz, accessor.getLevel().getRandom().nextFloat() * 360F, 0.0F); - EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(new BlockPos(myCreature.blockPosition())), MobSpawnType.SPAWNER, null); + EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(new BlockPos(myCreature.blockPosition())), EntitySpawnReason.SPAWNER, null); if (i == 5 && accessor.getDifficulty() == Difficulty.HARD) { myCreature.setItemSlot(EquipmentSlot.OFFHAND, new ItemStack(TFItems.KNIGHTMETAL_SHIELD.get())); diff --git a/src/main/java/twilightforest/block/entity/spawner/LichSpawnerBlockEntity.java b/src/main/java/twilightforest/block/entity/spawner/LichSpawnerBlockEntity.java index 943af46045..6d3f419514 100644 --- a/src/main/java/twilightforest/block/entity/spawner/LichSpawnerBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/spawner/LichSpawnerBlockEntity.java @@ -4,7 +4,7 @@ import net.minecraft.core.Direction; import net.minecraft.core.GlobalPos; import net.minecraft.core.particles.ParticleOptions; -import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; @@ -33,7 +33,7 @@ protected boolean spawnMyBoss(ServerLevelAccessor accessor) { BlockPos.MutableBlockPos mutableBlockPos = this.getBlockPos().mutable(); while (true) { - if (accessor.getMinBuildHeight() >= mutableBlockPos.getY()) break; + if (accessor.getMinY() >= mutableBlockPos.getY()) break; if (accessor.getBlockState(mutableBlockPos.below()).isAir()) { mutableBlockPos.move(Direction.DOWN); } else break; @@ -41,7 +41,7 @@ protected boolean spawnMyBoss(ServerLevelAccessor accessor) { myCreature.moveTo(mutableBlockPos, accessor.getLevel().random.nextFloat() * 360F, 0.0F); - EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(mutableBlockPos), MobSpawnType.SPAWNER, null); + EventHooks.finalizeMobSpawn(myCreature, accessor, accessor.getCurrentDifficultyAt(mutableBlockPos), EntitySpawnReason.SPAWNER, null); myCreature.setAttackCooldown(40); myCreature.setExtinguishTimer(); diff --git a/src/main/java/twilightforest/command/GenerateBookCommand.java b/src/main/java/twilightforest/command/GenerateBookCommand.java index 72f5f07432..43ff89a5ba 100644 --- a/src/main/java/twilightforest/command/GenerateBookCommand.java +++ b/src/main/java/twilightforest/command/GenerateBookCommand.java @@ -33,7 +33,7 @@ public LiteralArgumentBuilder register() { private int generateBook(CommandSourceStack source, @Nullable Holder.Reference structureKey) throws CommandSyntaxException { if (!(source.getEntity() instanceof Player player) || player instanceof FakePlayer) throw ERROR_NOT_RUN_BY_PLAYER.create(); if (structureKey == null) { - for (Structure structure : source.getLevel().registryAccess().registryOrThrow(Registries.STRUCTURE).stream().toList()) { + for (Structure structure : source.getLevel().registryAccess().lookupOrThrow(Registries.STRUCTURE).stream().toList()) { if (structure instanceof StructureHints hint) { if (!player.addItem(hint.createHintBook(source.registryAccess()))) { player.drop(hint.createHintBook(source.registryAccess()), true); @@ -41,7 +41,7 @@ private int generateBook(CommandSourceStack source, @Nullable Holder.Reference ctx) { BlockPos pos = BlockPos.containing(source.getPosition()); - Optional> possibleStructureRegistry = level.registryAccess().registry(Registries.STRUCTURE); + Optional> possibleStructureRegistry = level.registryAccess().lookup(Registries.STRUCTURE); Optional possibleNearLandmark = LandmarkUtil.locateNearestLandmarkStart(level, SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())); if (possibleStructureRegistry.isEmpty() || possibleNearLandmark.isEmpty() || !(possibleNearLandmark.get().getStructure() instanceof LandmarkStructure landmarkStructure)) return 0; diff --git a/src/main/java/twilightforest/command/MapBiomesCommand.java b/src/main/java/twilightforest/command/MapBiomesCommand.java index c1af8d6418..f8268b4021 100644 --- a/src/main/java/twilightforest/command/MapBiomesCommand.java +++ b/src/main/java/twilightforest/command/MapBiomesCommand.java @@ -95,7 +95,7 @@ private int createMap(CommandSourceStack source, int width, int height, boolean for (int z = 0; z < img.getWidth(); z++) { ServerLevel level = source.getLevel(); Holder b = level.getNoiseBiome(x - (img.getWidth() / 2), 0, z - (img.getHeight() / 2)); - ResourceLocation key = level.registryAccess().registryOrThrow(Registries.BIOME).getKey(b.value()); + ResourceLocation key = level.registryAccess().lookupOrThrow(Registries.BIOME).getKey(b.value()); BiomeMapColor color = BIOME2COLOR.get(key); if (color == null) { @@ -114,7 +114,7 @@ private int createMap(CommandSourceStack source, int width, int height, boolean } //set the color - img.setPixelRGBA(x, z, ColorUtil.argbToABGR(color.getARGB())); + img.setPixel(x, z, color.getARGB()); } //send a progress update to let people know the server isn't dying @@ -128,7 +128,7 @@ private int createMap(CommandSourceStack source, int width, int height, boolean source.sendSuccess(() -> Component.literal("Approximate biome-block counts within a " + (width + "x" + height) + " region"), false); int totalCount = biomeCount.values().stream().mapToInt(i -> i).sum(); biomeCount.forEach((biome, integer) -> source.sendSuccess(() -> Component.literal( - source.getLevel().registryAccess().registryOrThrow(Registries.BIOME).getKey(biome.value()).toString()) + source.getLevel().registryAccess().lookupOrThrow(Registries.BIOME).getKey(biome.value()).toString()) .append(": " + (integer) + ChatFormatting.GRAY + " (" + numberFormat.format(((double) integer / totalCount) * 100) + "%)"), false)); } @@ -140,7 +140,7 @@ private int createMap(CommandSourceStack source, int width, int height, boolean try { if (!Files.exists(path)) { Files.createDirectories(path.getParent()); - Files.write(path, img.asByteArray()); + img.writeToFile(path); } } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/twilightforest/command/MapLocatorCommand.java b/src/main/java/twilightforest/command/MapLocatorCommand.java index cf2e9f124b..ebee4c974e 100644 --- a/src/main/java/twilightforest/command/MapLocatorCommand.java +++ b/src/main/java/twilightforest/command/MapLocatorCommand.java @@ -56,7 +56,7 @@ private int run(CommandContext context, Collection registry = source.getLevel().registryAccess().registryOrThrow(Registries.STRUCTURE); + Registry registry = source.getLevel().registryAccess().lookupOrThrow(Registries.STRUCTURE); HolderSet holderset = LocateCommand.getHolders(structure, registry).orElseThrow(() -> ERROR_STRUCTURE_INVALID.create(structure.asPrintable())); BlockPos blockpos = BlockPos.containing(source.getPosition()); ServerLevel serverlevel = source.getLevel(); From da781c8af81374840d8bfaab6eead40e71cba5e4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:35:58 -0600 Subject: [PATCH 008/239] screen things and uncrafting --- .../client/FoliageColorHandler.java | 2 +- .../java/twilightforest/client/ISTER.java | 8 +- .../client/LockedBiomeToast.java | 32 +++- .../client/MissingAdvancementToast.java | 36 +++- .../client/MovingCicadaSoundInstance.java | 8 +- .../client/TwilightForestRenderInfo.java | 8 +- .../client/UncraftingRecipeBookComponent.java | 21 --- .../client/UncraftingScreen.java | 100 ++--------- .../client/event/ClientEvents.java | 30 +++- .../client/event/CloudEvents.java | 14 +- .../client/event/ColorHandler.java | 8 - .../client/event/LockedBiomeToastHandler.java | 2 +- .../client/event/OverlayHandler.java | 12 +- .../client/event/RegistrationEvents.java | 11 +- .../client/particle/GhastTearParticle.java | 7 +- .../inventory/UncrafterPlaceRecipe.java | 156 ------------------ .../inventory/UncraftingMenu.java | 89 ++++------ .../inventory/UncraftingPlaceRecipe.java | 62 ------- 18 files changed, 155 insertions(+), 451 deletions(-) delete mode 100644 src/main/java/twilightforest/client/UncraftingRecipeBookComponent.java delete mode 100644 src/main/java/twilightforest/inventory/UncrafterPlaceRecipe.java delete mode 100644 src/main/java/twilightforest/inventory/UncraftingPlaceRecipe.java diff --git a/src/main/java/twilightforest/client/FoliageColorHandler.java b/src/main/java/twilightforest/client/FoliageColorHandler.java index dec5634c31..9411af1f42 100644 --- a/src/main/java/twilightforest/client/FoliageColorHandler.java +++ b/src/main/java/twilightforest/client/FoliageColorHandler.java @@ -34,7 +34,7 @@ public int get(int o, Biome biome, double x, double z) { if (handler == null) { handler = REGISTRY.getOrDefault( Minecraft.getInstance().level == null ? null : - Minecraft.getInstance().level.registryAccess().registryOrThrow(Registries.BIOME).getResourceKey(biome).orElse(null), + Minecraft.getInstance().level.registryAccess().lookupOrThrow(Registries.BIOME).getResourceKey(biome).orElse(null), Handler.DEFAULT); HANDLES.put(biome, handler); } diff --git a/src/main/java/twilightforest/client/ISTER.java b/src/main/java/twilightforest/client/ISTER.java index d704324bc3..18c1c0a116 100644 --- a/src/main/java/twilightforest/client/ISTER.java +++ b/src/main/java/twilightforest/client/ISTER.java @@ -128,7 +128,7 @@ public void renderByItem(ItemStack stack, ItemDisplayContext camera, PoseStack p if (camera == ItemDisplayContext.GUI) { ModelResourceLocation back = ModelResourceLocation.standalone(TwilightForestMod.prefix("item/" + ((AbstractTrophyBlock) block).getVariant().getTrophyType().getModelName())); - BakedModel modelBack = minecraft.getItemRenderer().getItemModelShaper().getModelManager().getModel(back); + BakedModel modelBack = minecraft.getModelManager().getModel(back); Lighting.setupForFlatItems(); MultiBufferSource.BufferSource bufferSource = minecraft.renderBuffers().bufferSource(); @@ -148,10 +148,10 @@ public void renderByItem(ItemStack stack, ItemDisplayContext camera, PoseStack p pose.translate(0.0F, 0.25F, 0.0F); if (trophyBlock.getVariant() == BossVariant.UR_GHAST) pose.translate(0.0F, 0.5F, 0.0F); if (trophyBlock.getVariant() == BossVariant.ALPHA_YETI) pose.translate(0.0F, -0.15F, 0.0F); - TrophyRenderer.render(null, 180.0F, trophy, variant, !minecraft.isPaused() ? ClientEvents.time + minecraft.getTimer().getRealtimeDeltaTicks() : 0, pose, buffers, light, camera); + TrophyRenderer.render(null, 180.0F, trophy, variant, !minecraft.isPaused() ? ClientEvents.time + minecraft.getDeltaTracker().getRealtimeDeltaTicks() : 0, pose, buffers, light, camera); pose.popPose(); } else { - TrophyRenderer.render(null, 180.0F, trophy, variant, !minecraft.isPaused() ? ClientEvents.time + minecraft.getTimer().getRealtimeDeltaTicks() : 0, pose, buffers, light, camera); + TrophyRenderer.render(null, 180.0F, trophy, variant, !minecraft.isPaused() ? ClientEvents.time + minecraft.getDeltaTracker().getRealtimeDeltaTicks() : 0, pose, buffers, light, camera); } } else if (block instanceof KeepsakeCasketBlock) { @@ -221,7 +221,7 @@ public void renderByItem(ItemStack stack, ItemDisplayContext camera, PoseStack p pose.pushPose(); pose.scale(1.0F, -1.0F, -1.0F); Material material = new Material(Sheets.SHIELD_SHEET, TwilightForestMod.prefix("entity/knightmetal_shield")); - VertexConsumer vertexconsumer = material.sprite().wrap(ItemRenderer.getFoilBufferDirect(buffers, this.shield.renderType(material.atlasLocation()), true, stack.hasFoil())); + VertexConsumer vertexconsumer = material.sprite().wrap(ItemRenderer.getFoilBuffer(buffers, this.shield.renderType(material.atlasLocation()), true, stack.hasFoil())); this.shield.renderToBuffer(pose, vertexconsumer, light, overlay); pose.popPose(); } else if (item instanceof WearableLichCrown && this.trophies.get(BossVariant.LICH) instanceof LichModel lichModel) { diff --git a/src/main/java/twilightforest/client/LockedBiomeToast.java b/src/main/java/twilightforest/client/LockedBiomeToast.java index ad395e3af3..fa56a6af6b 100644 --- a/src/main/java/twilightforest/client/LockedBiomeToast.java +++ b/src/main/java/twilightforest/client/LockedBiomeToast.java @@ -1,25 +1,41 @@ package twilightforest.client; +import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.toasts.Toast; -import net.minecraft.client.gui.components.toasts.ToastComponent; +import net.minecraft.client.gui.components.toasts.ToastManager; +import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; -public record LockedBiomeToast(ItemStack item) implements Toast { +public class LockedBiomeToast implements Toast { private static final Component TITLE = Component.translatable("misc.twilightforest.biome_locked"); private static final Component DESCRIPTION = Component.translatable("misc.twilightforest.biome_locked_2"); private static final ResourceLocation BACKGROUND_SPRITE = ResourceLocation.withDefaultNamespace("toast/advancement"); + private final ItemStack icon; + private Toast.Visibility wantedVisibility = Toast.Visibility.HIDE; + + public LockedBiomeToast(ItemStack icon) { + this.icon = icon; + } @Override - public Visibility render(GuiGraphics graphics, ToastComponent component, long timer) { - graphics.blitSprite(BACKGROUND_SPRITE, 0, 0, this.width(), this.height()); - graphics.renderFakeItem(this.item(), 6, 8); - graphics.drawString(component.getMinecraft().font, TITLE, 25, 7, -256, false); - graphics.drawString(component.getMinecraft().font, DESCRIPTION, 25, 18, 16777215, false); + public Visibility getWantedVisibility() { + return this.wantedVisibility; + } - return timer >= 10000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + @Override + public void update(ToastManager manager, long timer) { + this.wantedVisibility = timer >= 10000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + } + + @Override + public void render(GuiGraphics graphics, Font font, long timer) { + graphics.blitSprite(RenderType::guiTextured, BACKGROUND_SPRITE, 0, 0, this.width(), this.height()); + graphics.renderFakeItem(this.icon, 6, 8); + graphics.drawString(font, TITLE, 25, 7, -256, false); + graphics.drawString(font, DESCRIPTION, 25, 18, 16777215, false); } } diff --git a/src/main/java/twilightforest/client/MissingAdvancementToast.java b/src/main/java/twilightforest/client/MissingAdvancementToast.java index 566e2a98d4..5dc45b699c 100644 --- a/src/main/java/twilightforest/client/MissingAdvancementToast.java +++ b/src/main/java/twilightforest/client/MissingAdvancementToast.java @@ -1,26 +1,44 @@ package twilightforest.client; +import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.toasts.Toast; -import net.minecraft.client.gui.components.toasts.ToastComponent; +import net.minecraft.client.gui.components.toasts.ToastManager; +import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import twilightforest.init.TFBlocks; -public record MissingAdvancementToast(Component title, ItemStack icon) implements Toast { +public class MissingAdvancementToast implements Toast { public static final MissingAdvancementToast FALLBACK = new MissingAdvancementToast(Component.translatable("misc.twilightforest.advancement_hidden"), new ItemStack(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); private static final Component UPPER_TEXT = Component.translatable("misc.twilightforest.advancement_required"); private static final ResourceLocation BACKGROUND_SPRITE = ResourceLocation.withDefaultNamespace("toast/advancement"); + private final Component title; + private final ItemStack icon; + private Toast.Visibility wantedVisibility = Toast.Visibility.HIDE; + + public MissingAdvancementToast(Component title, ItemStack icon) { + this.title = title; + this.icon = icon; + } + + @Override + public Visibility getWantedVisibility() { + return this.wantedVisibility; + } + @Override - public Toast.Visibility render(GuiGraphics graphics, ToastComponent component, long timer) { - graphics.blitSprite(BACKGROUND_SPRITE, 0, 0, this.width(), this.height()); - graphics.renderFakeItem(this.icon(), 6, 8); - graphics.drawString(component.getMinecraft().font, UPPER_TEXT, 25, 7, 0xffffffff, false); - graphics.drawString(component.getMinecraft().font, this.title(), 25, 18, 0xffffff, false); + public void update(ToastManager manager, long timer) { + this.wantedVisibility = timer >= 10000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + } - // 10 seconds as millis - return timer >= 10000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + @Override + public void render(GuiGraphics graphics, Font font, long timer) { + graphics.blitSprite(RenderType::guiTextured, BACKGROUND_SPRITE, 0, 0, this.width(), this.height()); + graphics.renderFakeItem(this.icon, 6, 8); + graphics.drawString(font, UPPER_TEXT, 25, 7, 0xffffffff, false); + graphics.drawString(font, this.title, 25, 18, 0xffffff, false); } } diff --git a/src/main/java/twilightforest/client/MovingCicadaSoundInstance.java b/src/main/java/twilightforest/client/MovingCicadaSoundInstance.java index 5c520903ff..7fd45f54f0 100644 --- a/src/main/java/twilightforest/client/MovingCicadaSoundInstance.java +++ b/src/main/java/twilightforest/client/MovingCicadaSoundInstance.java @@ -5,8 +5,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.neoforged.fml.ModList; -import twilightforest.compat.curios.CuriosCompat; import twilightforest.config.TFConfig; import twilightforest.init.TFBlocks; import twilightforest.init.TFSounds; @@ -37,9 +35,9 @@ public void tick() { } private boolean isWearingCicadaCurio() { - if (ModList.get().isLoaded("curios")) { - return CuriosCompat.isCurioEquipped(this.wearer, stack -> stack.is(TFBlocks.CICADA.asItem())); - } +// if (ModList.get().isLoaded("curios")) { +// return CuriosCompat.isCurioEquipped(this.wearer, stack -> stack.is(TFBlocks.CICADA.asItem())); +// } return false; } diff --git a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java index dd4703e986..5bbf56c572 100644 --- a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java +++ b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java @@ -23,12 +23,6 @@ public TwilightForestRenderInfo(float cloudHeight, boolean placebo, SkyType fogT super(cloudHeight, placebo, fogType, brightenLightMap, entityLightingBottomsLit); } - @Nullable - @Override - public float[] getSunriseColor(float daycycle, float partialTicks) { // Fog color - return null; - } - @Override public Vec3 getBrightnessDependentFogColor(Vec3 biomeFogColor, float daylight) { // For modifying biome fog color with daycycle return biomeFogColor.multiply(daylight * 0.94F + 0.06F, (daylight * 0.94F + 0.06F), (daylight * 0.91F + 0.09F)); @@ -57,7 +51,7 @@ public boolean isFoggyAt(int x, int y) { // true = nearFog } @Override - public boolean renderSky(ClientLevel level, int ticks, float partialTick, Matrix4f modelViewMatrix, Camera camera, Matrix4f projectionMatrix, boolean isFoggy, Runnable setupFog) { + public boolean renderSky(ClientLevel level, int ticks, float partialTick, Matrix4f modelViewMatrix, Camera camera, Matrix4f projectionMatrix, Runnable setupFog) { return TFSkyRenderer.renderSky(level, partialTick, modelViewMatrix, camera, projectionMatrix, setupFog); } diff --git a/src/main/java/twilightforest/client/UncraftingRecipeBookComponent.java b/src/main/java/twilightforest/client/UncraftingRecipeBookComponent.java deleted file mode 100644 index be413f853b..0000000000 --- a/src/main/java/twilightforest/client/UncraftingRecipeBookComponent.java +++ /dev/null @@ -1,21 +0,0 @@ -package twilightforest.client; - -import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; -import net.minecraft.world.inventory.Slot; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.RecipeHolder; -import twilightforest.inventory.UncraftingPlaceRecipe; - -import java.util.List; - -public class UncraftingRecipeBookComponent extends RecipeBookComponent implements UncraftingPlaceRecipe { - - @Override - public void setupGhostRecipe(RecipeHolder recipe, List slots) { - ItemStack itemstack = recipe.value().getResultItem(this.minecraft.level.registryAccess()); - this.ghostRecipe.setRecipe(recipe); - this.ghostRecipe.addIngredient(Ingredient.of(itemstack), slots.get(1).x, slots.get(1).y); - this.placeRecipe(this.menu.getGridWidth(), this.menu.getGridHeight(), this.menu.getResultSlotIndex(), recipe, recipe.value().getIngredients().iterator(), 0); - } -} diff --git a/src/main/java/twilightforest/client/UncraftingScreen.java b/src/main/java/twilightforest/client/UncraftingScreen.java index f3483ff9f9..59229ef218 100644 --- a/src/main/java/twilightforest/client/UncraftingScreen.java +++ b/src/main/java/twilightforest/client/UncraftingScreen.java @@ -4,17 +4,16 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.ImageButton; import net.minecraft.client.gui.components.Tooltip; -import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; -import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; -import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; +import net.minecraft.client.gui.navigation.ScreenPosition; +import net.minecraft.client.gui.screens.inventory.AbstractRecipeBookScreen; +import net.minecraft.client.gui.screens.recipebook.CraftingRecipeBookComponent; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.inventory.ClickType; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.network.PacketDistributor; @@ -24,29 +23,22 @@ import twilightforest.inventory.UncraftingMenu; import twilightforest.network.UncraftingGuiPacket; -public class UncraftingScreen extends AbstractContainerScreen implements RecipeUpdateListener { +public class UncraftingScreen extends AbstractRecipeBookScreen { private static final ResourceLocation TEXTURE = TwilightForestMod.getGuiTexture("guigoblintinkering.png"); - private final RecipeBookComponent recipeBookComponent = new UncraftingRecipeBookComponent(); - private boolean widthTooNarrow; public UncraftingScreen(UncraftingMenu container, Inventory player, Component name) { - super(container, player, name); + super(container, new CraftingRecipeBookComponent(container), player, name); + } + + @Override + protected ScreenPosition getRecipeBookButtonPosition() { + return new ScreenPosition(this.leftPos + 145, this.topPos + 7); } @Override protected void init() { super.init(); - this.widthTooNarrow = this.width < 379; - this.recipeBookComponent.init(this.width, this.height, this.minecraft, this.widthTooNarrow, this.menu); - this.leftPos = this.recipeBookComponent.updateScreenPosition(this.width, this.imageWidth); - this.addRenderableWidget(new ImageButton(this.leftPos + 145, this.topPos + 7, 20, 18, RecipeBookComponent.RECIPE_BUTTON_SPRITES, button -> { - this.recipeBookComponent.toggleVisibility(); - this.repositionElements(); - })); - this.addWidget(this.recipeBookComponent); - this.setInitialFocus(this.recipeBookComponent); - this.addRenderableWidget(new CycleButton(this.leftPos + 40, this.topPos + 22, true, button -> { PacketDistributor.sendToServer(new UncraftingGuiPacket(0)); this.menu.unrecipeInCycle++; @@ -74,21 +66,15 @@ protected void init() { this.addRenderableWidget(new CycleButton(this.leftPos + 121, this.topPos + 22, true, button -> { PacketDistributor.sendToServer(new UncraftingGuiPacket(4)); this.menu.recipeInCycle++; - this.menu.slotsChanged(this.menu.assemblyMatrix); + this.menu.slotsChanged(this.menu.getCraftSlots()); }, Component.translatable("container.twilightforest.uncrafting_table.cycle_next_recipe"))); this.addRenderableWidget(new CycleButton(this.leftPos + 121, this.topPos + 55, false, button -> { PacketDistributor.sendToServer(new UncraftingGuiPacket(5)); this.menu.recipeInCycle--; - this.menu.slotsChanged(this.menu.assemblyMatrix); + this.menu.slotsChanged(this.menu.getCraftSlots()); }, Component.translatable("container.twilightforest.uncrafting_table.cycle_back_recipe"))); } - @Override - protected void containerTick() { - super.containerTick(); - this.recipeBookComponent.tick(); - } - @Override public boolean mouseScrolled(double x, double y, double vertScroll, double horizScroll) { boolean scrolled = super.mouseScrolled(x, y, vertScroll, horizScroll); @@ -128,27 +114,12 @@ public boolean mouseScrolled(double x, double y, double vertScroll, double horiz PacketDistributor.sendToServer(new UncraftingGuiPacket(5)); this.menu.recipeInCycle--; } - this.menu.slotsChanged(this.menu.assemblyMatrix); + this.menu.slotsChanged(this.menu.getCraftSlots()); } return scrolled; } - @Override - public void render(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { - if (this.recipeBookComponent.isVisible() && this.widthTooNarrow) { - this.renderBackground(graphics, mouseX, mouseY, partialTicks); - this.recipeBookComponent.render(graphics, mouseX, mouseY, partialTicks); - } else { - super.render(graphics, mouseX, mouseY, partialTicks); - this.recipeBookComponent.render(graphics, mouseX, mouseY, partialTicks); - this.recipeBookComponent.renderGhostRecipe(graphics, this.leftPos, this.topPos, true, partialTicks); - } - - this.renderTooltip(graphics, mouseX, mouseY); - this.recipeBookComponent.renderTooltip(graphics, this.leftPos, this.topPos, mouseX, mouseY); - } - @Override protected void renderLabels(GuiGraphics graphics, int mouseX, int mouseY) { graphics.drawString(this.font, this.title, 6, 6, 4210752, false); @@ -163,7 +134,7 @@ protected void renderLabels(GuiGraphics graphics, int mouseX, int mouseY) { protected void renderBg(GuiGraphics graphics, float partialTicks, int mouseX, int mouseY) { int frameX = this.leftPos; int frameY = (this.height - this.imageHeight) / 2; - graphics.blit(TEXTURE, frameX, frameY, 0, 0, this.imageWidth, this.imageHeight); + graphics.blit(RenderType::guiTextured, TEXTURE, frameX, frameY, 0, 0, this.imageWidth, this.imageHeight, 256, 256); UncraftingMenu tfContainer = this.menu; @@ -206,26 +177,6 @@ protected void renderBg(GuiGraphics graphics, float partialTicks, int mouseX, in } } - @Override - protected boolean isHovering(int x, int y, int width, int height, double mouseX, double mouseY) { - return (!this.widthTooNarrow || !this.recipeBookComponent.isVisible()) && super.isHovering(x, y, width, height, mouseX, mouseY); - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - if (this.recipeBookComponent.mouseClicked(mouseX, mouseY, button)) { - this.setFocused(this.recipeBookComponent); - return true; - } else { - return this.widthTooNarrow && this.recipeBookComponent.isVisible() || super.mouseClicked(mouseX, mouseY, button); - } - } - - @Override - protected boolean hasClickedOutside(double mouseX, double mouseY, int guiLeft, int guiTop, int mouseButton) { - return this.recipeBookComponent.hasClickedOutside(mouseX, mouseY, this.leftPos, this.topPos, this.imageWidth, this.imageHeight, mouseButton) && super.hasClickedOutside(mouseX, mouseY, guiLeft, guiTop, mouseButton); - } - private void drawSlotAsBackground(GuiGraphics graphics, Slot backgroundSlot, Slot appearSlot) { int screenX = appearSlot.x; @@ -263,22 +214,7 @@ protected void renderTooltip(GuiGraphics graphics, int pX, int pY) { } } - @Override - protected void slotClicked(Slot slot, int slotId, int mouseButton, ClickType type) { - super.slotClicked(slot, slotId, mouseButton, type); - this.recipeBookComponent.slotClicked(slot); - } - - @Override - public void recipesUpdated() { - this.recipeBookComponent.recipesUpdated(); - } - - @Override - public RecipeBookComponent getRecipeBookComponent() { - return this.recipeBookComponent; - } - + //TODO convert to sprites private static class CycleButton extends Button { private final boolean up; @@ -301,7 +237,7 @@ public void renderWidget(GuiGraphics graphics, int mouseX, int mouseY, float par // what's up if (!this.up) textureY += this.height; - graphics.blit(TEXTURE, this.getX(), this.getY(), textureX, textureY, this.width, this.height); + graphics.blit(RenderType::guiTextured, TEXTURE, this.getX(), this.getY(), textureX, textureY, this.width, this.height, 256, 256); } } } @@ -328,7 +264,7 @@ public void renderWidget(GuiGraphics graphics, int mouseX, int mouseY, float par // what's up if (!this.up) textureY += this.height; - graphics.blit(TEXTURE, this.getX(), this.getY(), textureX, textureY, this.width, this.height); + graphics.blit(RenderType::guiTextured, TEXTURE, this.getX(), this.getY(), textureX, textureY, this.width, this.height, 256, 256); } } } diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index 789ea0c9f3..8f60b505a6 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -12,6 +12,8 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.debug.DebugRenderer; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; @@ -283,9 +285,9 @@ private static void updateBowFOV(ComputeFovModifierEvent event) { } } - private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) { - ItemStack stack = event.getEntity().getItemBySlot(EquipmentSlot.HEAD); - boolean visible = !(stack.getItem() instanceof TrophyItem) && !(stack.getItem() instanceof SkullCandleItem) && !areCuriosEquipped(event.getEntity()); + private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) { + ItemStack stack = event.getRenderState().headItem; + boolean visible = !(stack.getItem() instanceof TrophyItem) && !(stack.getItem() instanceof SkullCandleItem) && !areCuriosEquipped(event.getRenderState()); boolean isPlayer = event.getEntity() instanceof Player; if (event.getRenderer().getModel() instanceof HeadedModel headedModel) { headedModel.getHead().visible = visible && (!isPlayer || headedModel.getHead().visible); // some mods like Better Combat can move player's head and hide it in the first person view @@ -295,10 +297,10 @@ private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) } } - private static boolean areCuriosEquipped(LivingEntity entity) { - if (ModList.get().isLoaded("curios")) { - return CuriosCompat.isCurioEquippedAndVisible(entity, stack -> stack.getItem() instanceof TrophyItem) || CuriosCompat.isCurioEquippedAndVisible(entity, stack -> stack.getItem() instanceof SkullCandleItem); - } + private static boolean areCuriosEquipped(EntityRenderState entity) { +// if (ModList.get().isLoaded("curios")) { +// return CuriosCompat.isCurioEquippedAndVisible(entity, stack -> stack.getItem() instanceof TrophyItem) || CuriosCompat.isCurioEquippedAndVisible(entity, stack -> stack.getItem() instanceof SkullCandleItem); +// } return false; } @@ -333,7 +335,19 @@ private static void renderGiantBlockOutlines(RenderHighlightEvent.Block event) { BlockPos offsetPos = new BlockPos(pos.getX() & ~0b11, pos.getY() & ~0b11, pos.getZ() & ~0b11); VertexConsumer consumer = event.getMultiBufferSource().getBuffer(RenderType.lines()); Vec3 xyz = Vec3.atLowerCornerOf(offsetPos).subtract(event.getCamera().getPosition()); - LevelRenderer.renderShape(event.getPoseStack(), consumer, GIANT_BLOCK, xyz.x(), xyz.y(), xyz.z(), 0.0F, 0.0F, 0.0F, 0.45F); + PoseStack.Pose pose = event.getPoseStack().last(); + GIANT_BLOCK.forAllEdges((x1, y1, z1, x2, y2, z2) -> { + float f = (float)(x2 - x1); + float f1 = (float)(y2 - y1); + float f2 = (float)(z2 - z1); + float f3 = Mth.sqrt(f * f + f1 * f1 + f2 * f2); + f /= f3; + f1 /= f3; + f2 /= f3; + consumer.addVertex(pose, (float)(x1 + xyz.x()), (float)(y1 + xyz.y()), (float)(z1 + xyz.z())).setColor(0.0F, 0.0F, 0.0F, 0.45F).setNormal(pose, f, f1, f2); + consumer.addVertex(pose, (float)(x2 + xyz.x()), (float)(y2 + xyz.y()), (float)(z2 + xyz.z())).setColor(0.0F, 0.0F, 0.0F, 0.45F).setNormal(pose, f, f1, f2); + } + ); } } } diff --git a/src/main/java/twilightforest/client/event/CloudEvents.java b/src/main/java/twilightforest/client/event/CloudEvents.java index 0cb1f6c845..d25b7b68ff 100644 --- a/src/main/java/twilightforest/client/event/CloudEvents.java +++ b/src/main/java/twilightforest/client/event/CloudEvents.java @@ -1,10 +1,9 @@ package twilightforest.client.event; - import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; import net.minecraft.client.Minecraft; -import net.minecraft.client.ParticleStatus; +import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.LightTexture; @@ -12,6 +11,7 @@ import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ParticleStatus; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; @@ -115,8 +115,8 @@ protected static void tickWeatherEffects(ClientTickEvent.Post event) { if (!Heightmap.Types.MOTION_BLOCKING.isOpaque().test(mc.level.getBlockState(highestRainyPos.below()))) continue; - if (yetToMakeASound && particlePos != null && randomsource.nextInt(3) < mc.levelRenderer.rainSoundTime++) { - mc.levelRenderer.rainSoundTime = 0; + if (yetToMakeASound && particlePos != null && randomsource.nextInt(3) < mc.levelRenderer.weatherEffectRenderer.rainSoundTime++) { + mc.levelRenderer.weatherEffectRenderer.rainSoundTime = 0; if (particlePos.getY() > camPos.getY() + 1 && mc.level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, camPos).getY() > Mth.floor((float) camPos.getY())) { mc.level.playLocalSound(particlePos, SoundEvents.WEATHER_RAIN_ABOVE, SoundSource.WEATHER, 0.1F, 0.5F, false); } else { @@ -125,7 +125,7 @@ protected static void tickWeatherEffects(ClientTickEvent.Post event) { yetToMakeASound = false; } - if (highestRainyPos.getY() > mc.level.getMinBuildHeight() && highestRainyPos.getY() <= camPos.getY() + 10 && highestRainyPos.getY() >= camPos.getY() - 10) { + if (highestRainyPos.getY() > mc.level.getMinY() && highestRainyPos.getY() <= camPos.getY() + 10 && highestRainyPos.getY() >= camPos.getY() - 10) { particlePos = highestRainyPos.below(); if (mc.options.particles().get() == ParticleStatus.MINIMAL) break; @@ -153,7 +153,7 @@ protected static void renderPrecipitation(RenderLevelStageEvent event) { if (event.getStage() == RenderLevelStageEvent.Stage.AFTER_WEATHER && TFConfig.getClientCloudBlockPrecipitationDistance() > 0 && !RENDER_HELPER.isEmpty()) { Minecraft minecraft = Minecraft.getInstance(); if (minecraft.level == null) return; - float partialTick = minecraft.getTimer().getGameTimeDeltaPartialTick(false); + float partialTick = minecraft.getDeltaTracker().getGameTimeDeltaPartialTick(false); LightTexture lightTexture = minecraft.gameRenderer.lightTexture(); int ticks = minecraft.levelRenderer.getTicks(); lightTexture.turnOnLightLayer(); @@ -178,7 +178,7 @@ protected static void renderPrecipitation(RenderLevelStageEvent event) { int tesselatorCheck = -1; float fullTick = (float) ticks + partialTick; - RenderSystem.setShader(GameRenderer::getParticleShader); + RenderSystem.setShader(CoreShaders.PARTICLE); BlockPos.MutableBlockPos mutableBlockPos = new BlockPos.MutableBlockPos(); for (PrecipitationRenderHelper helper : RENDER_HELPER) { diff --git a/src/main/java/twilightforest/client/event/ColorHandler.java b/src/main/java/twilightforest/client/event/ColorHandler.java index f1de3db01f..4c35938ed8 100644 --- a/src/main/java/twilightforest/client/event/ColorHandler.java +++ b/src/main/java/twilightforest/client/event/ColorHandler.java @@ -3,21 +3,17 @@ import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.renderer.BiomeColors; import net.minecraft.core.BlockPos; -import net.minecraft.util.FastColor; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.component.DyedItemColor; import net.minecraft.world.level.FoliageColor; import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; -import net.neoforged.neoforge.common.DeferredSpawnEggItem; -import net.neoforged.neoforge.registries.DeferredHolder; import twilightforest.block.ClimbableHollowLogBlock; import twilightforest.components.item.PotionFlaskComponent; import twilightforest.enums.HollowLogVariants; import twilightforest.init.TFBlocks; import twilightforest.init.TFDataComponents; -import twilightforest.init.TFEntities; import twilightforest.init.TFItems; import twilightforest.item.ArcticArmorItem; import twilightforest.util.ColorUtil; @@ -375,9 +371,5 @@ protected static void registerItemColors(RegisterColorHandlersEvent.Item event) event.register((stack, index) -> index != 1 ? -1 : DyedItemColor.getOrDefault(stack, ArcticArmorItem.DEFAULT_COLOR), TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); event.register((stack, index) -> index > 0 ? -1 : stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).potion().getColor(), TFItems.BRITTLE_FLASK.get(), TFItems.GREATER_FLASK.get()); - - for (DeferredSpawnEggItem egg : TFEntities.SPAWN_EGGS.getEntries().stream().map(DeferredHolder::get).map(DeferredSpawnEggItem.class::cast).toList()) { - event.register((stack, index) -> FastColor.ARGB32.opaque(egg.getColor(index)), egg); - } } } diff --git a/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java b/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java index 09aaf72c24..6a9b45af90 100644 --- a/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java +++ b/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java @@ -29,7 +29,7 @@ protected static void tickLockedToastLogic(ClientTickEvent.Post event) { if (restriction.isPresent() && restriction.get().lockedBiomeToast() != null) { timeUntilToast--; if (!shownToast && timeUntilToast <= 0) { - Minecraft.getInstance().getToasts().addToast(new LockedBiomeToast(restriction.get().lockedBiomeToast())); + Minecraft.getInstance().getToastManager().addToast(new LockedBiomeToast(restriction.get().lockedBiomeToast())); shownToast = true; } } else { diff --git a/src/main/java/twilightforest/client/event/OverlayHandler.java b/src/main/java/twilightforest/client/event/OverlayHandler.java index 09d1195c3a..ef56b531f1 100644 --- a/src/main/java/twilightforest/client/event/OverlayHandler.java +++ b/src/main/java/twilightforest/client/event/OverlayHandler.java @@ -10,11 +10,13 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.util.ARGB; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -95,13 +97,11 @@ protected static void registerOverlays(RegisterGuiLayersEvent event) { RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); RenderSystem.enableBlend(); - graphics.setColor(1.0F, 1.0F, 1.0F, (float) portal.getPortalTimer() / (float) TFPortalAttachment.MAX_TICKS); TextureAtlasSprite textureatlassprite = minecraft.getBlockRenderer().getBlockModelShaper().getParticleIcon(TFBlocks.TWILIGHT_PORTAL.get().defaultBlockState()); - graphics.blit(0, 0, -90, window.getGuiScaledWidth(), window.getGuiScaledHeight(), textureatlassprite); + graphics.blitSprite(RenderType::guiTexturedOverlay, textureatlassprite, 0, 0, window.getGuiScaledWidth(), window.getGuiScaledHeight(), ARGB.white((float) portal.getPortalTimer() / (float) TFPortalAttachment.MAX_TICKS)); RenderSystem.disableBlend(); RenderSystem.depthMask(true); RenderSystem.enableDepthTest(); - graphics.setColor(1.0F, 1.0F, 1.0F, 1.0F); } } }); @@ -115,9 +115,9 @@ private static void renderIndicator(Minecraft minecraft, GuiGraphics graphics, G int j = ((screenHeight - 1) / 2) - 11; int k = ((screenWidth - 1) / 2) - 3; if (ram.guessColor(stack) != null && !ram.isColorPresent(Objects.requireNonNull(ram.guessColor(stack)))) { - graphics.blitSprite(QUESTING_RAM_X_SPRITE, k, j, 7, 7); + graphics.blitSprite(RenderType::guiTexturedOverlay, QUESTING_RAM_X_SPRITE, k, j, 7, 7); } else { - graphics.blitSprite(QUESTING_RAM_CHECK_SPRITE, k, j, 7, 7); + graphics.blitSprite(RenderType::guiTexturedOverlay, QUESTING_RAM_CHECK_SPRITE, k, j, 7, 7); } RenderSystem.defaultBlendFunc(); } @@ -126,7 +126,7 @@ private static void renderIndicator(Minecraft minecraft, GuiGraphics graphics, G private static void renderShieldCount(GuiGraphics graphics, Gui gui, int screenWidth, int screenHeight, int shieldCount) { for (int i = 0; i < Math.min(shieldCount, 10); i++) { - graphics.blitSprite(FORTIFICATION_SHIELD_SPRITE, screenWidth / 2 - 91 + (i * 8), screenHeight - gui.leftHeight, 9, 9); + graphics.blitSprite(RenderType::guiTexturedOverlay, FORTIFICATION_SHIELD_SPRITE, screenWidth / 2 - 91 + (i * 8), screenHeight - gui.leftHeight, 9, 9); } gui.leftHeight += 10; } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index f774255958..aacfb3ef60 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -15,6 +15,9 @@ import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.NoopRenderer; import net.minecraft.client.renderer.entity.ThrownItemRenderer; +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.renderer.item.ClampedItemPropertyFunction; import net.minecraft.client.renderer.item.ItemProperties; import net.minecraft.client.resources.model.BakedModel; @@ -253,7 +256,7 @@ private double wobble(Level level, double rotation) { BakedModel oldModel = event.getModels().get(ModelResourceLocation.inventory(TwilightForestMod.prefix("trollsteinn"))); models.put(ModelResourceLocation.inventory(TwilightForestMod.prefix("trollsteinn")), new TrollsteinnModel(oldModel)); - BakedModel defaultReactorDebrisModel = event.getModels().get(ModelResourceLocation.vanilla("netherrack", "")); + BakedModel defaultReactorDebrisModel = event.getModels().get(new ModelResourceLocation(ResourceLocation.withDefaultNamespace("netherrack"), "")); models.put(new ModelResourceLocation(TwilightForestMod.prefix("reactor_debris"), ""), new ReactorDebrisModel(defaultReactorDebrisModel)); } @@ -655,18 +658,18 @@ private static void attachRenderLayers(EntityRenderersEvent.AddLayers event) { BakedMultiPartRenderers.bakeMultiPartRenderers(event.getContext()); for (EntityType type : event.getEntityTypes()) { var renderer = event.getRenderer(type); - if (renderer instanceof LivingEntityRenderer living) { + if (renderer instanceof LivingEntityRenderer living) { attachRenderLayers(living); } } event.getSkins().forEach(renderer -> { - LivingEntityRenderer> skin = event.getSkin(renderer); + LivingEntityRenderer> skin = event.getSkin(renderer); attachRenderLayers(Objects.requireNonNull(skin)); }); } - private static > void attachRenderLayers(LivingEntityRenderer renderer) { + private static > void attachRenderLayers(LivingEntityRenderer renderer) { renderer.addLayer(new ShieldLayer<>(renderer)); renderer.addLayer(new IceLayer<>(renderer)); } diff --git a/src/main/java/twilightforest/client/particle/GhastTearParticle.java b/src/main/java/twilightforest/client/particle/GhastTearParticle.java index d0cb2c7c81..b9d7c81205 100644 --- a/src/main/java/twilightforest/client/particle/GhastTearParticle.java +++ b/src/main/java/twilightforest/client/particle/GhastTearParticle.java @@ -18,9 +18,10 @@ public class GhastTearParticle extends TextureSheetParticle { - public GhastTearParticle(ClientLevel level, double x, double y, double z, Item item) { + public GhastTearParticle(ClientLevel level, double x, double y, double z, ItemStack stack) { super(level, x, y, z, 0.0D, 0.0D, 0.0D); - this.sprite = Minecraft.getInstance().getItemRenderer().getItemModelShaper().getItemModel(item).getParticleIcon(ModelData.EMPTY); + var model = Minecraft.getInstance().getItemRenderer().getModel(stack, level, null, 0); + this.setSprite(model.overrides().findOverride(stack, level, null, 0).getParticleIcon(ModelData.EMPTY)); this.rCol = this.gCol = this.bCol = 1.0F; this.quadSize = 2.0F; this.gravity = 0.6F; @@ -57,7 +58,7 @@ public void tick() { public static class Factory implements ParticleProvider { @Override public Particle createParticle(SimpleParticleType type, ClientLevel level, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { - return new GhastTearParticle(level, x, y, z, Items.GHAST_TEAR); + return new GhastTearParticle(level, x, y, z, new ItemStack(Items.GHAST_TEAR)); } } } diff --git a/src/main/java/twilightforest/inventory/UncrafterPlaceRecipe.java b/src/main/java/twilightforest/inventory/UncrafterPlaceRecipe.java deleted file mode 100644 index da75418ba4..0000000000 --- a/src/main/java/twilightforest/inventory/UncrafterPlaceRecipe.java +++ /dev/null @@ -1,156 +0,0 @@ -package twilightforest.inventory; - -import com.google.common.collect.Lists; -import it.unimi.dsi.fastutil.ints.IntArrayList; -import it.unimi.dsi.fastutil.ints.IntList; -import net.minecraft.network.protocol.game.ClientboundPlaceGhostRecipePacket; -import net.minecraft.recipebook.ServerPlaceRecipe; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.entity.player.StackedContents; -import net.minecraft.world.inventory.RecipeBookMenu; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.*; -import org.jetbrains.annotations.Nullable; - -import java.util.List; - -public class UncrafterPlaceRecipe> extends ServerPlaceRecipe implements UncraftingPlaceRecipe { - // Slots 0 & 1 are Uncrafting input & crafting output - // Slots 2 to 10 are Uncrafting matrix - // Slots 11 to 19 are Crafting matrix - private static final int matrixOffset = 11; - - public UncrafterPlaceRecipe(RecipeBookMenu menu) { - super(menu); - } - - @Override - public void recipeClicked(ServerPlayer player, @Nullable RecipeHolder recipe, boolean placeAll) { - if (recipe != null && player.getRecipeBook().contains(recipe)) { - this.inventory = player.getInventory(); - if (this.tryClearGrid() || player.isCreative()) { - this.stackedContents.clear(); - player.getInventory().fillStackedContents(this.stackedContents); - this.menu.fillCraftSlotsStackedContents(this.stackedContents); - if (this.stackedContents.canCraft(recipe.value(), null)) { - this.handleRecipeClicked(recipe, placeAll); - } else { - this.clearGrid(); - player.connection.send(new ClientboundPlaceGhostRecipePacket(player.containerMenu.containerId, recipe)); - } - - player.getInventory().setChanged(); - } - } - } - - @Override - protected void handleRecipeClicked(RecipeHolder recipeHolder, boolean placeAll) { - boolean flag = this.menu.recipeMatches(recipeHolder); - int i = this.stackedContents.getBiggestCraftableStack(recipeHolder, null); - if (flag) { - for (int slot = 0; slot < this.menu.getSize(); ++slot) { - if (slot != this.menu.getResultSlotIndex()) { - ItemStack itemstack = this.menu.getSlot(slot).getItem(); - if (!itemstack.isEmpty() && Math.min(i, itemstack.getMaxStackSize()) < itemstack.getCount() + 1) { - return; - } - } - } - } - - int j1 = this.getStackSize(placeAll, i, flag); - IntList intlist = new IntArrayList(); - if (this.stackedContents.canCraft(recipeHolder.value(), intlist, j1)) { - int k = j1; - - for (int l : intlist) { - int i1 = StackedContents.fromStackingIndex(l).getMaxStackSize(); - if (i1 < k) { - k = i1; - } - } - - if (this.stackedContents.canCraft(recipeHolder.value(), intlist, k)) { - this.clearGrid(); - this.placeRecipe(this.menu.getGridWidth(), this.menu.getGridHeight(), this.menu.getResultSlotIndex(), recipeHolder, intlist.iterator(), k); - } - } - } - - @Override - protected int getStackSize(boolean placeAll, int maxPossible, boolean recipeMatches) { - int i = 1; - if (placeAll) { - i = maxPossible; - } else if (recipeMatches) { - i = 64; - - for (int j = 0; j < this.menu.getGridWidth() * this.menu.getGridHeight(); ++j) { - ItemStack itemStack = this.menu.getSlot(j + matrixOffset).getItem(); - if (!itemStack.isEmpty() && i > itemStack.getCount()) { - i = itemStack.getCount(); - } - } - - if (i < 64) { - ++i; - } - } - - return i; - } - - private int getAmountOfFreeSlotsInInventory() { - int i = 0; - - for (ItemStack itemstack : this.inventory.items) { - if (itemstack.isEmpty()) { - ++i; - } - } - - return i; - } - - private boolean tryClearGrid() { - List list = Lists.newArrayList(); - int i = this.getAmountOfFreeSlotsInInventory(); - - if (i > 0) { - // Uncrafting input slot - ItemStack itemstack = this.menu.getSlot(0).getItem().copy(); - if (!itemstack.isEmpty()) list.add(itemstack); - } - - for (int slotIndex = 0; slotIndex < this.menu.getGridWidth() * this.menu.getGridHeight(); ++slotIndex) { - ItemStack itemstack = this.menu.getSlot(slotIndex + matrixOffset).getItem().copy(); - if (!itemstack.isEmpty()) { - int k = this.inventory.getSlotWithRemainingSpace(itemstack); - if (k == -1 && list.size() <= i) { - for (ItemStack itemstack1 : list) { - if (ItemStack.isSameItem(itemstack1, itemstack) - && itemstack1.getCount() != itemstack1.getMaxStackSize() - && itemstack1.getCount() + itemstack.getCount() <= itemstack1.getMaxStackSize()) { - itemstack1.grow(itemstack.getCount()); - itemstack.setCount(0); - break; - } - } - - if (!itemstack.isEmpty()) { - if (list.size() >= i) { - return false; - } - - list.add(itemstack); - } - } else if (k == -1) { - return false; - } - } - } - - return true; - } -} diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index c7e911772a..d21747d491 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -4,12 +4,14 @@ import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; import net.minecraft.core.component.DataComponents; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.tags.ItemTags; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.StackedContents; +import net.minecraft.world.entity.player.StackedItemContents; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; @@ -38,14 +40,12 @@ import java.util.*; -public class UncraftingMenu extends RecipeBookMenu> { +public class UncraftingMenu extends AbstractCraftingMenu { private static final String TAG_MARKER = "TwilightForestMarker"; // Inaccessible grid, for uncrafting logic private final UncraftingContainer uncraftingMatrix = new UncraftingContainer(this); - // Accessible grid, for actual crafting - public final CraftingContainer assemblyMatrix = new TransientCraftingContainer(this, 3, 3); // Inaccessible grid, for recrafting logic private final CraftingContainer combineMatrix = new TransientCraftingContainer(this, 3, 3); @@ -73,26 +73,26 @@ public static UncraftingMenu fromNetwork(int id, Inventory inventory) { } public UncraftingMenu(int id, Inventory inventory, Level level, ContainerLevelAccess positionData) { - super(TFMenuTypes.UNCRAFTING.get(), id); + super(TFMenuTypes.UNCRAFTING.get(), id, 3, 3); this.positionData = positionData; this.level = level; this.player = inventory.player; this.addSlot(new Slot(this.tinkerInput, 0, 13, 35)); - this.addSlot(new UncraftingResultSlot(inventory.player, this.tinkerInput, this.uncraftingMatrix, this.assemblyMatrix, this.tinkerResult, 0, 147, 35)); + this.addSlot(new UncraftingResultSlot(inventory.player, this.tinkerInput, this.uncraftingMatrix, this.craftSlots, this.tinkerResult, 0, 147, 35)); int invX; int invY; for (invX = 0; invX < 3; ++invX) { for (invY = 0; invY < 3; ++invY) { - this.addSlot(new UncraftingSlot(inventory.player, this.tinkerInput, this.uncraftingMatrix, this.assemblyMatrix, invY + invX * 3, 300000 + invY * 18, 17 + invX * 18)); + this.addSlot(new UncraftingSlot(inventory.player, this.tinkerInput, this.uncraftingMatrix, this.craftSlots, invY + invX * 3, 300000 + invY * 18, 17 + invX * 18)); } } for (invX = 0; invX < 3; ++invX) { for (invY = 0; invY < 3; ++invY) { - this.addSlot(new AssemblySlot(this.assemblyMatrix, invY + invX * 3, 62 + invY * 18, 17 + invX * 18)); + this.addSlot(new AssemblySlot(this.craftSlots, invY + invX * 3, 62 + invY * 18, 17 + invX * 18)); } } @@ -106,7 +106,7 @@ public UncraftingMenu(int id, Inventory inventory, Level level, ContainerLevelAc this.addSlot(new Slot(inventory, invX, 8 + invX * 18, 142)); } - this.slotsChanged(this.assemblyMatrix); + this.slotsChanged(this.craftSlots); if (!FMLLoader.isProduction()) { // Debug slot listing @@ -201,10 +201,10 @@ public void slotsChanged(Container inventory) { } } // Now we've got the uncrafting logic set in, currently we don't modify the uncraftingMatrix. That's fine. - if (inventory == this.assemblyMatrix || inventory == this.tinkerInput) { + if (inventory == this.craftSlots || inventory == this.tinkerInput) { if (this.tinkerInput.isEmpty()) { // display the output - this.chooseRecipe(this.assemblyMatrix.asCraftInput()); + this.chooseRecipe(this.craftSlots.asCraftInput()); } else { // we placed an item in the assembly matrix, the next step will re-initialize these with correct values this.tinkerResult.setItem(0, ItemStack.EMPTY); @@ -214,11 +214,11 @@ public void slotsChanged(Container inventory) { } // repairing / recrafting: if there is an input item, and items in both grids, can we combine them to produce an output item that is the same type as the input item? - if (inventory != this.combineMatrix && !this.uncraftingMatrix.isEmpty() && !this.assemblyMatrix.isEmpty()) { + if (inventory != this.combineMatrix && !this.uncraftingMatrix.isEmpty() && !this.craftSlots.isEmpty()) { // combine the two matrices for (int i = 0; i < 9; i++) { - ItemStack assembly = this.assemblyMatrix.getItem(i); + ItemStack assembly = this.craftSlots.getItem(i); ItemStack uncrafting = this.uncraftingMatrix.getItem(i); if (!assembly.isEmpty()) { @@ -271,7 +271,7 @@ public static void unmarkStack(ItemStack stack) { } public static boolean isIngredientProblematic(ItemStack ingredient) { - return (!ingredient.isEmpty() && ingredient.getItem().hasCraftingRemainingItem(ingredient)) || ingredient.is(Items.BARRIER); + return (!ingredient.isEmpty() && !ingredient.getItem().getCraftingRemainder(ingredient).isEmpty()) || ingredient.is(Items.BARRIER); } private static ItemStack normalizeIngredient(ItemStack ingredient) { @@ -368,7 +368,7 @@ private static boolean isValidMatchForInput(ItemStack inputStack, ItemStack resu } if (inputStack.getItem() instanceof ArmorItem input && resultStack.getItem() instanceof ArmorItem result) { - return input.getEquipmentSlot() == result.getEquipmentSlot(); + return input.getEquipmentSlot(inputStack) == result.getEquipmentSlot(resultStack); } return false; @@ -387,7 +387,7 @@ public int getRecraftingCost() { */ private int calculateUncraftingCost() { // we don't want to display anything if there is anything in the assembly grid - if ((!TFConfig.disableUncraftingOnly || this.storedGhostRecipe instanceof UncraftingRecipe) && this.assemblyMatrix.isEmpty()) { + if ((!TFConfig.disableUncraftingOnly || this.storedGhostRecipe instanceof UncraftingRecipe) && this.craftSlots.isEmpty()) { return this.storedGhostRecipe instanceof UncraftingRecipe recipe ? recipe.getCost() : (int) Math.round(countDamageableParts(this.uncraftingMatrix) * TFConfig.uncraftingXpCostMultiplier); } return 0; @@ -410,7 +410,7 @@ private int calculateRecraftingCost() { if (!ItemStack.isSameItem(input, output)) { // add each ingredient being used to the cost if recrafting - cost += this.assemblyMatrix.getItems().stream().filter(stack -> !stack.isEmpty()).toList().size(); + cost += this.craftSlots.getItems().stream().filter(stack -> !stack.isEmpty()).toList().size(); } // look at the input's enchantments and total them up @@ -456,11 +456,11 @@ private static int getWeightModifier(Enchantment ench) { public void clicked(int slotNum, int mouseButton, ClickType clickType, Player player) { // if the player is trying to take an item out of the assembly grid, and the assembly grid is empty, take the item from the uncrafting grid. - if (slotNum > 0 && this.getSlotContainer(slotNum) == this.assemblyMatrix + if (slotNum > 0 && this.getSlotContainer(slotNum) == this.craftSlots && player.containerMenu.getCarried().isEmpty() && !this.slots.get(slotNum).hasItem()) { // is the assembly matrix empty? - if (this.assemblyMatrix.isEmpty() && (clickType != ClickType.SWAP || player.getInventory().getItem(mouseButton).isEmpty())) { + if (this.craftSlots.isEmpty() && (clickType != ClickType.SWAP || player.getInventory().getItem(mouseButton).isEmpty())) { slotNum -= 9; } } @@ -561,7 +561,7 @@ public ItemStack quickMoveStack(Player player, int slotNum) { if (!this.moveItemStackTo(itemstack1, 0, 1, false)) { return ItemStack.EMPTY; } - } else if (slot.container == this.assemblyMatrix) { + } else if (slot.container == this.craftSlots) { if (!this.moveItemStackTo(itemstack1, 20, 56, false)) { return ItemStack.EMPTY; } @@ -591,15 +591,15 @@ public ItemStack quickMoveStack(Player player, int slotNum) { public void removed(Player player) { super.removed(player); this.positionData.execute((world, pos) -> { - this.clearContainer(player, this.assemblyMatrix); + this.clearContainer(player, this.craftSlots); this.clearContainer(player, this.tinkerInput); }); } private ItemStack[] getIngredients(Recipe recipe) { - ItemStack[] stacks = new ItemStack[recipe.getIngredients().size()]; + ItemStack[] stacks = new ItemStack[recipe.display().size()]; - for (int i = 0; i < recipe.getIngredients().size(); i++) { + for (int i = 0; i < recipe.display().size(); i++) { ItemStack[] matchingStacks = Arrays.stream(recipe.getIngredients().get(i).getItems()).filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).toArray(ItemStack[]::new); stacks[i] = matchingStacks.length > 0 ? matchingStacks[Math.floorMod(this.ingredientsInCycle, matchingStacks.length)] : ItemStack.EMPTY; } @@ -613,55 +613,26 @@ public boolean stillValid(Player player) { } @Override - public void fillCraftSlotsStackedContents(StackedContents stackedContents) { - this.assemblyMatrix.fillStackedContents(stackedContents); + public Slot getResultSlot() { + return this.slots.get(1); } @Override - public void clearCraftingContent() { - this.tinkerInput.clearContent(); - this.assemblyMatrix.clearContent(); - this.tinkerResult.clearContent(); + public List getInputGridSlots() { + return this.slots.subList(11, 20); } @Override - public int getResultSlotIndex() { - return 1; // tinkerResult slot + protected Player owner() { + return this.player; } - @Override - public int getGridWidth() { - return this.assemblyMatrix.getWidth(); - } - - @Override - public int getGridHeight() { - return this.assemblyMatrix.getHeight(); - } - - @Override - public int getSize() { - return 20; + public CraftingContainer getCraftSlots() { + return this.craftSlots; } @Override public RecipeBookType getRecipeBookType() { return RecipeBookType.CRAFTING; } - - @Override - public boolean shouldMoveToInventory(int slot) { - return slot == 0 || (11 <= slot && slot <= 19); - } - - @Override - public boolean recipeMatches(RecipeHolder> recipeHolder) { - return recipeHolder.value().matches(this.assemblyMatrix.asCraftInput(), this.player.level()); - } - - @SuppressWarnings({"unchecked", "rawtypes", "RedundantSuppression"}) - @Override - public void handlePlacement(boolean placeAll, RecipeHolder recipe, ServerPlayer player) { - new UncrafterPlaceRecipe<>(this).recipeClicked(player, (RecipeHolder>) recipe, placeAll); - } } diff --git a/src/main/java/twilightforest/inventory/UncraftingPlaceRecipe.java b/src/main/java/twilightforest/inventory/UncraftingPlaceRecipe.java deleted file mode 100644 index ea4976282d..0000000000 --- a/src/main/java/twilightforest/inventory/UncraftingPlaceRecipe.java +++ /dev/null @@ -1,62 +0,0 @@ -package twilightforest.inventory; - -import net.minecraft.recipebook.PlaceRecipe; -import net.minecraft.util.Mth; -import net.minecraft.world.item.crafting.RecipeHolder; -import net.minecraft.world.item.crafting.ShapedRecipe; - -import java.util.Iterator; - -//modified version of PlaceRecipe that uses the correct slots for the uncrafting table -public interface UncraftingPlaceRecipe extends PlaceRecipe { - - // Slots 0 & 1 are Uncrafting input & crafting output - // Slots 2 to 10 are Uncrafting matrix - // Slots 11 to 19 are Crafting matrix - int matrixOffset = 11; - - @Override - default void placeRecipe(int width, int height, int outputSlot, RecipeHolder recipe, Iterator ingredients, int maxAmount) { - int widthModified = width; - int heightModified = height; - if (recipe.value() instanceof ShapedRecipe shapedRecipe) { - widthModified = shapedRecipe.getWidth(); - heightModified = shapedRecipe.getHeight(); - } - - int slotIndex = matrixOffset; - - for (int gridY = 0; gridY < height; ++gridY) { - boolean yOverfitted = (float) heightModified < (float) height / 2.0F; - int rad = Mth.floor((float) height / 2.0F - (float) heightModified / 2.0F); - if (yOverfitted && rad > gridY) { - slotIndex += width; - ++gridY; - } - - for (int gridX = 0; gridX < width; ++gridX) { - if (!ingredients.hasNext()) { - return; - } - - yOverfitted = (float) widthModified < (float) width / 2.0F; - rad = Mth.floor((float) width / 2.0F - (float) widthModified / 2.0F); - int o = widthModified; - boolean xOverfitted = gridX < widthModified; - if (yOverfitted) { - o = rad + widthModified; - xOverfitted = rad <= gridX && gridX < rad + widthModified; - } - - if (xOverfitted) { - this.addItemToSlot(ingredients.next(), slotIndex, maxAmount, gridY, gridX); - } else if (o == gridX) { - slotIndex += width - gridX; - break; - } - - ++slotIndex; - } - } - } -} From 8026fe0c48c41b04ef24b8fc83aabd8ebd6aa3d6 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 17:42:10 -0600 Subject: [PATCH 009/239] finish model porting, renderers still need to be done --- .../client/model/armor/FieryArmorModel.java | 5 +- .../client/model/armor/TFArmorModel.java | 43 ----- .../client/model/armor/YetiArmorModel.java | 7 +- .../client/model/entity/AdherentModel.java | 17 +- .../client/model/entity/AlphaYetiModel.java | 53 +++--- .../client/model/entity/BighornModel.java | 11 +- .../model/entity/BlockChainGoblinModel.java | 7 +- .../client/model/entity/BoarModel.java | 2 +- .../client/model/entity/BunnyModel.java | 17 +- .../model/entity/CarminiteGolemModel.java | 60 +++---- .../client/model/entity/ChainModel.java | 21 +-- .../client/model/entity/CicadaModel.java | 28 +-- .../model/entity/CubeOfAnnihilationModel.java | 23 +-- .../client/model/entity/DeathTomeModel.java | 33 ++-- .../client/model/entity/DeerModel.java | 13 +- .../client/model/entity/FireBeetleModel.java | 44 ++--- .../client/model/entity/FireflyModel.java | 20 +-- .../model/entity/FixedHumanoidModel.java | 168 +++++++----------- .../model/entity/HarbingerCubeModel.java | 6 +- .../client/model/entity/HelmetCrabModel.java | 38 ++-- .../client/model/entity/HostileWolfModel.java | 44 ++--- .../client/model/entity/HydraHeadModel.java | 39 +--- .../client/model/entity/HydraModel.java | 44 ++--- .../client/model/entity/HydraMortarModel.java | 19 +- .../client/model/entity/HydraNeckModel.java | 20 +-- .../client/model/entity/IceCrystalModel.java | 41 +---- .../model/entity/KnightPhantomModel.java | 33 ++-- .../model/entity/KnightmetalShieldModel.java | 11 +- .../client/model/entity/KoboldModel.java | 32 ++-- .../client/model/entity/LichMinionModel.java | 9 +- .../client/model/entity/LichModel.java | 46 ++--- .../model/entity/LowerGoblinKnightModel.java | 36 ++-- .../client/model/entity/LoyalZombieModel.java | 44 ----- .../client/model/entity/MinoshroomModel.java | 71 ++++---- .../client/model/entity/MinotaurModel.java | 3 +- .../client/model/entity/MistWolfModel.java | 11 +- .../client/model/entity/MoonwormModel.java | 12 +- .../model/entity/MosquitoSwarmModel.java | 77 ++++---- .../client/model/entity/NagaModel.java | 23 +-- .../client/model/entity/NoopModel.java | 18 -- .../client/model/entity/PenguinModel.java | 38 +--- .../client/model/entity/PinchBeetleModel.java | 37 ++-- .../model/entity/ProtectionBoxModel.java | 44 ++--- .../client/model/entity/QuestRamModel.java | 34 ++-- .../client/model/entity/RavenModel.java | 34 ++-- .../client/model/entity/RedThreadModel.java | 11 +- .../model/entity/RisingZombieModel.java | 7 +- .../model/entity/SkeletonDruidModel.java | 36 ++-- .../client/model/entity/SlimeBeetleModel.java | 45 ++--- .../client/model/entity/SnowQueenModel.java | 19 +- .../client/model/entity/SpikeBlockModel.java | 20 +-- .../client/model/entity/SquirrelModel.java | 38 ++-- .../model/entity/StableIceCoreModel.java | 14 +- .../client/model/entity/TFGhastModel.java | 24 ++- .../client/model/entity/TinyBirdModel.java | 60 ++----- .../client/model/entity/TrollModel.java | 46 ++--- .../model/entity/UnstableIceCoreModel.java | 48 ++--- .../model/entity/UpperGoblinKnightModel.java | 67 ++----- .../client/model/entity/UrGhastModel.java | 10 +- .../client/model/entity/WraithModel.java | 38 +--- .../client/model/entity/YetiModel.java | 53 +++--- .../renderer/entity/SnowGuardianRenderer.java | 1 - .../client/state/AlphaYetiRenderState.java | 9 + .../client/state/BirdRenderState.java | 7 + .../client/state/DeathTomeRenderState.java | 14 ++ .../client/state/HydraHeadRenderState.java | 19 ++ .../client/state/HydraRenderState.java | 9 + .../client/state/KnightPhatomRenderState.java | 7 + .../client/state/KoboldRenderState.java | 7 + .../client/state/LichRenderState.java | 7 + .../state/LowerGoblinKnightRenderState.java | 8 + .../client/state/MinoshroomRenderState.java | 13 ++ .../client/state/PinchBeetleRenderState.java | 7 + .../state/ProtectionBoxRenderState.java | 10 ++ .../client/state/QuestingRamRenderState.java | 19 ++ .../client/state/SnowQueenRenderState.java | 10 ++ .../client/state/TrollRenderState.java | 7 + .../state/UpperGoblinKnightRenderState.java | 36 ++++ .../client/state/YetiRenderState.java | 8 + .../entity/boss/Minoshroom.java | 4 - .../twilightforest/item/ArcticArmorItem.java | 4 - .../item/KnightmetalArmorItem.java | 3 - .../twilightforest/item/PhantomArmorItem.java | 7 - 83 files changed, 847 insertions(+), 1341 deletions(-) delete mode 100644 src/main/java/twilightforest/client/model/armor/TFArmorModel.java delete mode 100644 src/main/java/twilightforest/client/model/entity/LoyalZombieModel.java delete mode 100644 src/main/java/twilightforest/client/model/entity/NoopModel.java create mode 100644 src/main/java/twilightforest/client/state/AlphaYetiRenderState.java create mode 100644 src/main/java/twilightforest/client/state/BirdRenderState.java create mode 100644 src/main/java/twilightforest/client/state/DeathTomeRenderState.java create mode 100644 src/main/java/twilightforest/client/state/HydraHeadRenderState.java create mode 100644 src/main/java/twilightforest/client/state/HydraRenderState.java create mode 100644 src/main/java/twilightforest/client/state/KnightPhatomRenderState.java create mode 100644 src/main/java/twilightforest/client/state/KoboldRenderState.java create mode 100644 src/main/java/twilightforest/client/state/LichRenderState.java create mode 100644 src/main/java/twilightforest/client/state/LowerGoblinKnightRenderState.java create mode 100644 src/main/java/twilightforest/client/state/MinoshroomRenderState.java create mode 100644 src/main/java/twilightforest/client/state/PinchBeetleRenderState.java create mode 100644 src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java create mode 100644 src/main/java/twilightforest/client/state/QuestingRamRenderState.java create mode 100644 src/main/java/twilightforest/client/state/SnowQueenRenderState.java create mode 100644 src/main/java/twilightforest/client/state/TrollRenderState.java create mode 100644 src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java create mode 100644 src/main/java/twilightforest/client/state/YetiRenderState.java diff --git a/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java b/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java index fcd71d019d..55ead11f78 100644 --- a/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java +++ b/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java @@ -2,14 +2,17 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -public class FieryArmorModel extends TFArmorModel { +public class FieryArmorModel extends HumanoidArmorModel { public FieryArmorModel(ModelPart part) { super(part); } + @Override public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { super.renderToBuffer(stack, builder, 0xF000F0, overlay, color); diff --git a/src/main/java/twilightforest/client/model/armor/TFArmorModel.java b/src/main/java/twilightforest/client/model/armor/TFArmorModel.java deleted file mode 100644 index eaaa75ff28..0000000000 --- a/src/main/java/twilightforest/client/model/armor/TFArmorModel.java +++ /dev/null @@ -1,43 +0,0 @@ -package twilightforest.client.model.armor; - -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.util.Mth; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.decoration.ArmorStand; - -public class TFArmorModel extends HumanoidModel { - - public TFArmorModel(ModelPart root) { - super(root); - } - - @Override - public void setupAnim(LivingEntity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - // [VanillaCopy] ArmorStandArmorModel - // this prevents helmets from always facing south, and the armor "breathing" on the stand - if (entity instanceof ArmorStand stand) { - this.head.xRot = Mth.DEG_TO_RAD * stand.getHeadPose().getX(); - this.head.yRot = Mth.DEG_TO_RAD * stand.getHeadPose().getY(); - this.head.zRot = Mth.DEG_TO_RAD * stand.getHeadPose().getZ(); - this.body.xRot = Mth.DEG_TO_RAD * stand.getBodyPose().getX(); - this.body.yRot = Mth.DEG_TO_RAD * stand.getBodyPose().getY(); - this.body.zRot = Mth.DEG_TO_RAD * stand.getBodyPose().getZ(); - this.leftArm.xRot = Mth.DEG_TO_RAD * stand.getLeftArmPose().getX(); - this.leftArm.yRot = Mth.DEG_TO_RAD * stand.getLeftArmPose().getY(); - this.leftArm.zRot = Mth.DEG_TO_RAD * stand.getLeftArmPose().getZ(); - this.rightArm.xRot = Mth.DEG_TO_RAD * stand.getRightArmPose().getX(); - this.rightArm.yRot = Mth.DEG_TO_RAD * stand.getRightArmPose().getY(); - this.rightArm.zRot = Mth.DEG_TO_RAD * stand.getRightArmPose().getZ(); - this.leftLeg.xRot = Mth.DEG_TO_RAD * stand.getLeftLegPose().getX(); - this.leftLeg.yRot = Mth.DEG_TO_RAD * stand.getLeftLegPose().getY(); - this.leftLeg.zRot = Mth.DEG_TO_RAD * stand.getLeftLegPose().getZ(); - this.rightLeg.xRot = Mth.DEG_TO_RAD * stand.getRightLegPose().getX(); - this.rightLeg.yRot = Mth.DEG_TO_RAD * stand.getRightLegPose().getY(); - this.rightLeg.zRot = Mth.DEG_TO_RAD * stand.getRightLegPose().getZ(); - this.hat.copyFrom(this.head); - } else { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - } // TF - Defer to super otherwise - } -} diff --git a/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java b/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java index 5c128969b9..26feb97fda 100644 --- a/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java +++ b/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java @@ -1,7 +1,6 @@ package twilightforest.client.model.armor; import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeDeformation; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -9,11 +8,7 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -public class YetiArmorModel extends TFArmorModel { - - public YetiArmorModel(ModelPart part) { - super(part); - } +public class YetiArmorModel { public static MeshDefinition addPieces(CubeDeformation deformation) { MeshDefinition meshdefinition = HumanoidModel.createMesh(deformation, 0.0F); diff --git a/src/main/java/twilightforest/client/model/entity/AdherentModel.java b/src/main/java/twilightforest/client/model/entity/AdherentModel.java index 5a2d859261..57d444aa6c 100644 --- a/src/main/java/twilightforest/client/model/entity/AdherentModel.java +++ b/src/main/java/twilightforest/client/model/entity/AdherentModel.java @@ -4,10 +4,11 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.entity.monster.Adherent; -public class AdherentModel extends HumanoidModel { +public class AdherentModel extends HumanoidModel { public AdherentModel(ModelPart root) { super(root); @@ -64,19 +65,19 @@ public static LayerDefinition create() { } @Override - public void setupAnim(Adherent entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + public void setupAnim(HumanoidRenderState state) { // rotate head normally - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.rightArm.xRot = 0.0F; this.leftArm.xRot = 0.0F; this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; - this.rightArm.zRot += Mth.cos((ageInTicks + 10.0F) * 0.133F) * 0.3F + 0.3F; - this.leftArm.zRot -= Mth.cos((ageInTicks + 10.0F) * 0.133F) * 0.3F + 0.3F; - this.rightArm.xRot += Mth.sin(ageInTicks * 0.067F) * 0.05F; - this.leftArm.xRot -= Mth.sin(ageInTicks * 0.067F) * 0.05F; + this.rightArm.zRot += Mth.cos((state.ageInTicks + 10.0F) * 0.133F) * 0.3F + 0.3F; + this.leftArm.zRot -= Mth.cos((state.ageInTicks + 10.0F) * 0.133F) * 0.3F + 0.3F; + this.rightArm.xRot += Mth.sin(state.ageInTicks * 0.067F) * 0.05F; + this.leftArm.xRot -= Mth.sin(state.ageInTicks * 0.067F) * 0.05F; } } diff --git a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java index 208a7c3288..62c7a2a854 100644 --- a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java +++ b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java @@ -1,6 +1,5 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.HumanoidModel; @@ -13,9 +12,9 @@ import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; -import twilightforest.entity.boss.AlphaYeti; +import twilightforest.client.state.AlphaYetiRenderState; -public class AlphaYetiModel extends HumanoidModel implements TrophyBlockModel { +public class AlphaYetiModel extends HumanoidModel implements TrophyBlockModel { private static final ResourceLocation ALPHA_YETI_TEXTURE = TwilightForestMod.getModelTexture("yetialpha.png"); @@ -140,26 +139,20 @@ private static void addPairHorns(PartDefinition partdefinition, float height, fl 0.0F, 20F * Mth.DEG_TO_RAD, -zangle * Mth.DEG_TO_RAD)); } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.rightArm, this.leftArm, this.rightLeg, this.leftLeg); - } - @Override - public void setupAnim(AlphaYeti entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(AlphaYetiRenderState state) { + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; - this.body.xRot = headPitch * Mth.DEG_TO_RAD; + this.body.xRot = state.xRot * Mth.DEG_TO_RAD; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - float f6 = Mth.sin(this.attackTime * Mth.PI); - float f7 = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); + float f6 = Mth.sin(state.attackTime * Mth.PI); + float f7 = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - f6 * 0.6F); @@ -168,19 +161,19 @@ public void setupAnim(AlphaYeti entity, float limbSwing, float limbSwingAmount, this.leftArm.xRot = -Mth.HALF_PI; this.rightArm.xRot -= f6 * 1.2F - f7 * 0.4F; this.leftArm.xRot -= f6 * 1.2F - f7 * 0.4F; - this.rightArm.zRot += Mth.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; - this.leftArm.zRot -= Mth.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; - this.rightArm.xRot += Mth.sin(ageInTicks * 0.067F) * 0.05F; - this.leftArm.xRot -= Mth.sin(ageInTicks * 0.067F) * 0.05F; + this.rightArm.zRot += Mth.cos(state.ageInTicks * 0.09F) * 0.05F + 0.05F; + this.leftArm.zRot -= Mth.cos(state.ageInTicks * 0.09F) * 0.05F + 0.05F; + this.rightArm.xRot += Mth.sin(state.ageInTicks * 0.067F) * 0.05F; + this.leftArm.xRot -= Mth.sin(state.ageInTicks * 0.067F) * 0.05F; this.body.y = -6F; this.rightLeg.y = 4F; this.leftLeg.y = 4F; - if (entity.isTired()) { + if (state.isTired) { // arms down - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * state.walkAnimationSpeed * 0.5F; this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; @@ -198,13 +191,13 @@ public void setupAnim(AlphaYeti entity, float limbSwing, float limbSwingAmount, this.leftLeg.y = 12.0F; } - if (entity.isRampaging()) { + if (state.isRampaging) { // arms up - this.rightArm.xRot = Mth.cos(limbSwing * 0.66F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.66F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.66F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.66F) * 2.0F * state.walkAnimationSpeed * 0.5F; - this.rightArm.yRot += Mth.cos(limbSwing * 0.25F) * 0.5F + 0.5F; - this.leftArm.yRot -= Mth.cos(limbSwing * 0.25F) * 0.5F + 0.5F; + this.rightArm.yRot += Mth.cos(state.walkAnimationPos * 0.25F) * 0.5F + 0.5F; + this.leftArm.yRot -= Mth.cos(state.walkAnimationPos * 0.25F) * 0.5F + 0.5F; this.rightArm.xRot += Mth.PI * 1.25F; this.leftArm.xRot += Mth.PI * 1.25F; @@ -212,7 +205,7 @@ public void setupAnim(AlphaYeti entity, float limbSwing, float limbSwingAmount, this.leftArm.zRot = 0.0F; } - if (entity.isVehicle()) { + if (state.isHoldingEntity) { // arms up! this.rightArm.xRot += Mth.PI; this.leftArm.xRot += Mth.PI; diff --git a/src/main/java/twilightforest/client/model/entity/BighornModel.java b/src/main/java/twilightforest/client/model/entity/BighornModel.java index f1f5d3a9c7..76325395be 100644 --- a/src/main/java/twilightforest/client/model/entity/BighornModel.java +++ b/src/main/java/twilightforest/client/model/entity/BighornModel.java @@ -4,10 +4,11 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.SheepRenderState; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.passive.Bighorn; -public class BighornModel extends SheepModel { +public class BighornModel extends SheepModel { public BighornModel(ModelPart root) { super(root); @@ -136,9 +137,9 @@ private static LayerDefinition createJappaModel() { } @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.head.getChild("left_horn").visible = !entity.isBaby(); - this.head.getChild("right_horn").visible = !entity.isBaby(); - super.prepareMobModel(entity, limbSwing, limbSwingAmount, partialTicks); + public void setupAnim(SheepRenderState state) { + this.head.getChild("left_horn").visible = !state.isBaby; + this.head.getChild("right_horn").visible = !state.isBaby; + super.setupAnim(state); } } diff --git a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java index 854421eb8a..a3bf6118b0 100644 --- a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java +++ b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java @@ -4,11 +4,12 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.monster.BlockChainGoblin; -public class BlockChainGoblinModel extends FixedHumanoidModel { +public class BlockChainGoblinModel extends FixedHumanoidModel { public BlockChainGoblinModel(ModelPart root) { super(root, 3.0F); @@ -107,8 +108,8 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); + public void setupAnim(T state) { + super.setupAnim(state); this.rightArm.xRot += Mth.PI; this.leftArm.xRot += Mth.PI; diff --git a/src/main/java/twilightforest/client/model/entity/BoarModel.java b/src/main/java/twilightforest/client/model/entity/BoarModel.java index 9e3a84c458..bc9097be02 100644 --- a/src/main/java/twilightforest/client/model/entity/BoarModel.java +++ b/src/main/java/twilightforest/client/model/entity/BoarModel.java @@ -8,7 +8,7 @@ import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.passive.Boar; -public class BoarModel extends PigModel { +public class BoarModel extends PigModel { public BoarModel(ModelPart root) { super(root); diff --git a/src/main/java/twilightforest/client/model/entity/BunnyModel.java b/src/main/java/twilightforest/client/model/entity/BunnyModel.java index e6a06e1c12..4a216d6290 100644 --- a/src/main/java/twilightforest/client/model/entity/BunnyModel.java +++ b/src/main/java/twilightforest/client/model/entity/BunnyModel.java @@ -10,13 +10,12 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.util.Mth; -import twilightforest.entity.passive.DwarfRabbit; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -public class BunnyModel extends QuadrupedModel { +public class BunnyModel extends QuadrupedModel { public BunnyModel(ModelPart root) { - super(root, true, 4.0F, 4.0F, 2.0F, 2.0F, 24); + super(root); } public static LayerDefinition create() { @@ -61,14 +60,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - - @Override - public void setupAnim(DwarfRabbit entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.leftHindLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.rightHindLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.leftFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.rightFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - } } diff --git a/src/main/java/twilightforest/client/model/entity/CarminiteGolemModel.java b/src/main/java/twilightforest/client/model/entity/CarminiteGolemModel.java index 8f4c41e9b6..026d4b7bc3 100644 --- a/src/main/java/twilightforest/client/model/entity/CarminiteGolemModel.java +++ b/src/main/java/twilightforest/client/model/entity/CarminiteGolemModel.java @@ -1,18 +1,17 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.IronGolemRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.CarminiteGolem; -public class CarminiteGolemModel extends HierarchicalModel { +public class CarminiteGolemModel extends EntityModel { - private final ModelPart root; private final ModelPart head; private final ModelPart rightArm; private final ModelPart leftArm; @@ -20,12 +19,12 @@ public class CarminiteGolemModel extends HierarchicalM private final ModelPart rightLeg; public CarminiteGolemModel(ModelPart root) { - this.root = root; - this.head = this.root.getChild("head"); - this.rightArm = this.root.getChild("right_arm"); - this.leftArm = this.root.getChild("left_arm"); - this.rightLeg = this.root.getChild("right_leg"); - this.leftLeg = this.root.getChild("left_leg"); + super(root); + this.head = root.getChild("head"); + this.rightArm = root.getChild("right_arm"); + this.leftArm = root.getChild("left_arm"); + this.rightLeg = root.getChild("right_leg"); + this.leftLeg = root.getChild("left_leg"); } public static LayerDefinition create() { @@ -109,34 +108,25 @@ public static LayerDefinition create() { } @Override - public ModelPart root() { - return this.root; - } + public void setupAnim(IronGolemRenderState state) { + super.setupAnim(state); + float timer = state.attackTicksRemaining; + if (timer > 0.0F) { + this.rightArm.xRot = -2.0F + 1.5F * Mth.triangleWave(timer, 10.0F); + this.leftArm.xRot = -2.0F + 1.5F * Mth.triangleWave(timer, 10.0F); + } else { + this.rightArm.xRot = (-0.2F + 1.5F * Mth.triangleWave(state.walkAnimationPos, 13.0F)) * state.walkAnimationSpeed; + this.leftArm.xRot = (-0.2F - 1.5F * Mth.triangleWave(state.walkAnimationPos, 13.0F)) * state.walkAnimationSpeed; + } - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.leftLeg.xRot = -1.5F * Mth.triangleWave(limbSwing, 13.0F) * limbSwingAmount; - this.rightLeg.xRot = 1.5F * Mth.triangleWave(limbSwing, 13.0F) * limbSwingAmount; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.leftLeg.xRot = -1.5F * Mth.triangleWave(state.walkAnimationPos, 13.0F) * state.walkAnimationSpeed; + this.rightLeg.xRot = 1.5F * Mth.triangleWave(state.walkAnimationPos, 13.0F) * state.walkAnimationSpeed; this.leftLeg.yRot = 0.0F; this.rightLeg.yRot = 0.0F; - - this.rightArm.zRot = Mth.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; - this.leftArm.zRot = -Mth.cos(ageInTicks * 0.09F) * 0.05F - 0.05F; - } - - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - int timer = entity.getAttackTimer(); - - if (timer > 0) { - this.rightArm.xRot = -2.0F + 1.5F * Mth.triangleWave(timer - partialTicks, 10.0F); - this.leftArm.xRot = -2.0F + 1.5F * Mth.triangleWave(timer - partialTicks, 10.0F); - } else { - this.rightArm.xRot = (-0.2F + 1.5F * Mth.triangleWave(limbSwing, 13.0F)) * limbSwingAmount; - this.leftArm.xRot = (-0.2F - 1.5F * Mth.triangleWave(limbSwing, 13.0F)) * limbSwingAmount; - } + this.rightArm.zRot = Mth.cos(state.ageInTicks * 0.09F) * 0.05F + 0.05F; + this.leftArm.zRot = -Mth.cos(state.ageInTicks * 0.09F) * 0.05F - 0.05F; } } diff --git a/src/main/java/twilightforest/client/model/entity/ChainModel.java b/src/main/java/twilightforest/client/model/entity/ChainModel.java index 0a1c40e197..7dee634411 100644 --- a/src/main/java/twilightforest/client/model/entity/ChainModel.java +++ b/src/main/java/twilightforest/client/model/entity/ChainModel.java @@ -1,21 +1,18 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import net.minecraft.world.entity.Entity; +import net.minecraft.client.renderer.RenderType; -public class ChainModel extends ListModel { - - private final ModelPart chain; +public class ChainModel extends Model { public ChainModel(ModelPart root) { - this.chain = root.getChild("chain"); + super(root, RenderType::entityCutoutNoCull); } public static LayerDefinition create() { @@ -29,14 +26,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 16); } - - @Override - public Iterable parts() { - return ImmutableList.of(this.chain); - } - - @Override - public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - - } } diff --git a/src/main/java/twilightforest/client/model/entity/CicadaModel.java b/src/main/java/twilightforest/client/model/entity/CicadaModel.java index 36f6d2e723..abf1be1bfd 100644 --- a/src/main/java/twilightforest/client/model/entity/CicadaModel.java +++ b/src/main/java/twilightforest/client/model/entity/CicadaModel.java @@ -1,7 +1,5 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -13,22 +11,8 @@ public class CicadaModel extends Model { - private final ModelPart legs; - private final ModelPart fatbody; - private final ModelPart skinnybody; - private final ModelPart eye1; - private final ModelPart eye2; - private final ModelPart wings; - public CicadaModel(ModelPart root) { - super(RenderType::entityCutoutNoCull); - - this.legs = root.getChild("legs"); - this.fatbody = root.getChild("fat_body"); - this.skinnybody = root.getChild("skinny_body"); - this.eye1 = root.getChild("eye_1"); - this.eye2 = root.getChild("eye_2"); - this.wings = root.getChild("wings"); + super(root, RenderType::entityCutoutNoCull); } public static LayerDefinition create() { @@ -67,14 +51,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - - @Override - public void renderToBuffer(PoseStack ms, VertexConsumer buffer, int light, int overlay, int color) { - this.legs.render(ms, buffer, light, overlay, color); - this.fatbody.render(ms, buffer, light, overlay, color); - this.skinnybody.render(ms, buffer, light, overlay, color); - this.eye1.render(ms, buffer, light, overlay, color); - this.eye2.render(ms, buffer, light, overlay, color); - this.wings.render(ms, buffer, light, overlay, color); - } } diff --git a/src/main/java/twilightforest/client/model/entity/CubeOfAnnihilationModel.java b/src/main/java/twilightforest/client/model/entity/CubeOfAnnihilationModel.java index c3b8e44278..d9f91f9f18 100644 --- a/src/main/java/twilightforest/client/model/entity/CubeOfAnnihilationModel.java +++ b/src/main/java/twilightforest/client/model/entity/CubeOfAnnihilationModel.java @@ -1,25 +1,23 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.projectile.CubeOfAnnihilation; -public class CubeOfAnnihilationModel extends ListModel { +public class CubeOfAnnihilationModel extends EntityModel { - private final ModelPart box; private final ModelPart boxX; private final ModelPart boxY; private final ModelPart boxZ; public CubeOfAnnihilationModel(ModelPart root) { - this.box = root.getChild("box"); + super(root); this.boxX = root.getChild("box_x"); this.boxY = root.getChild("box_y"); this.boxZ = root.getChild("box_z"); @@ -54,14 +52,9 @@ public static LayerDefinition create() { } @Override - public Iterable parts() { - return ImmutableList.of(this.box, this.boxX, this.boxY, this.boxZ); - } - - @Override - public void setupAnim(CubeOfAnnihilation entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.boxX.xRot = Mth.sin((entity.tickCount + headPitch)) / 5.0F; - this.boxY.yRot = Mth.sin((entity.tickCount + headPitch)) / 5.0F; - this.boxZ.zRot = Mth.sin((entity.tickCount + headPitch)) / 5.0F; + public void setupAnim(EntityRenderState state) { + this.boxX.xRot = Mth.sin((state.ageInTicks)) / 5.0F; + this.boxY.yRot = Mth.sin((state.ageInTicks)) / 5.0F; + this.boxZ.zRot = Mth.sin((state.ageInTicks)) / 5.0F; } } diff --git a/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java b/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java index 00fa0b98da..b0f81a2fd3 100644 --- a/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java +++ b/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java @@ -1,6 +1,6 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -8,11 +8,10 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.entity.monster.DeathTome; +import twilightforest.client.state.DeathTomeRenderState; -public class DeathTomeModel extends HierarchicalModel { +public class DeathTomeModel extends EntityModel { - private final ModelPart root; private final ModelPart book; private final ModelPart pagesRight; private final ModelPart pagesLeft; @@ -28,7 +27,7 @@ public class DeathTomeModel extends HierarchicalModel { private final ModelPart loosePage3; public DeathTomeModel(ModelPart root) { - this.root = root; + super(root); this.book = root.getChild("book"); @@ -41,7 +40,7 @@ public DeathTomeModel(ModelPart root) { this.coverRight = this.book.getChild("cover_right"); this.coverLeft = this.book.getChild("cover_left"); - this.paperStorm = this.root.getChild("paper_storm"); + this.paperStorm = root.getChild("paper_storm"); this.loosePage0 = this.paperStorm.getChild("loose_page_0"); this.loosePage1 = this.paperStorm.getChild("loose_page_1"); @@ -115,15 +114,12 @@ public static LayerDefinition create() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(DeathTome entity, float limbAngle, float limbDistance, float ageInTicks, float headYaw, float headPitch) { + public void setupAnim(DeathTomeRenderState state) { + super.setupAnim(state); this.root.yRot = Mth.HALF_PI; + boolean onLectern = state.onLectern; - if (entity.isOnLectern()) { + if (onLectern) { this.book.zRot = -0.8726646259971647F * 1.35F; this.book.x = 1.75F; } else { @@ -131,18 +127,13 @@ public void setupAnim(DeathTome entity, float limbAngle, float limbDistance, flo this.book.x = 0.0F; } - this.paperStorm.yRot = ageInTicks * Mth.DEG_TO_RAD + Mth.HALF_PI; + this.paperStorm.yRot = state.ageInTicks * Mth.DEG_TO_RAD + Mth.HALF_PI; this.paperStorm.zRot = 0.8726646259971647F; - } - - @Override - public void prepareMobModel(DeathTome entity, float limbSwing, float limbSwingAmount, float partialTicks) { - boolean onLectern = entity.isOnLectern(); - float bounce = onLectern ? 0.0F : entity.tickCount + partialTicks; + float bounce = onLectern ? 0.0F : state.ageInTicks; float open = onLectern ? 1.2F : 0.9f; - float flip = Mth.lerp(partialTicks, entity.oFlip, entity.flip); + float flip = state.getFlip(); float flipRight = Mth.clamp(Mth.frac(flip + 0.25F) * 1.6F - 0.3F, 0.0F, 1.0F); float flipLeft = Mth.clamp(Mth.frac(flip + 0.75F) * 1.6F - 0.3F, 0.0F, 1.0F); diff --git a/src/main/java/twilightforest/client/model/entity/DeerModel.java b/src/main/java/twilightforest/client/model/entity/DeerModel.java index bb5497623d..c836b31087 100644 --- a/src/main/java/twilightforest/client/model/entity/DeerModel.java +++ b/src/main/java/twilightforest/client/model/entity/DeerModel.java @@ -4,13 +4,14 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.passive.Deer; -public class DeerModel extends QuadrupedModel { +public class DeerModel extends QuadrupedModel { public DeerModel(ModelPart root) { - super(root, true, 4.0F, 4.0F, 2.0F, 2.0F, 10); + super(root); } public static LayerDefinition checkForPack() { @@ -146,9 +147,9 @@ private static LayerDefinition createJappaModel() { } @Override - public void prepareMobModel(Deer entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.head.getChild("right_antler").visible = !entity.isBaby(); - this.head.getChild("left_antler").visible = !entity.isBaby(); - super.prepareMobModel(entity, limbSwing, limbSwingAmount, partialTicks); + public void setupAnim(LivingEntityRenderState state) { + this.head.getChild("right_antler").visible = !state.isBaby; + this.head.getChild("left_antler").visible = !state.isBaby; + super.setupAnim(state); } } diff --git a/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java b/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java index 36d98296f5..09d27876b4 100644 --- a/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java @@ -5,20 +5,19 @@ // - ZeuX package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.FireBeetle; -public class FireBeetleModel extends HierarchicalModel { +public class FireBeetleModel extends EntityModel { - private final ModelPart root; private final ModelPart head; private final ModelPart rightLeg1; private final ModelPart rightLeg2; @@ -28,16 +27,16 @@ public class FireBeetleModel extends HierarchicalModel { private final ModelPart leftLeg3; public FireBeetleModel(ModelPart root) { - this.root = root; + super(root); this.head = root.getChild("head"); - this.rightLeg1 = this.root.getChild("right_leg_1"); - this.rightLeg2 = this.root.getChild("right_leg_2"); - this.rightLeg3 = this.root.getChild("right_leg_3"); + this.rightLeg1 = root.getChild("right_leg_1"); + this.rightLeg2 = root.getChild("right_leg_2"); + this.rightLeg3 = root.getChild("right_leg_3"); - this.leftLeg1 = this.root.getChild("left_leg_1"); - this.leftLeg2 = this.root.getChild("left_leg_2"); - this.leftLeg3 = this.root.getChild("left_leg_3"); + this.leftLeg1 = root.getChild("left_leg_1"); + this.leftLeg2 = root.getChild("left_leg_2"); + this.leftLeg3 = root.getChild("left_leg_3"); } public static LayerDefinition checkForPack() { @@ -221,14 +220,9 @@ private static LayerDefinition createJappaModel() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(FireBeetle entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(LivingEntityRenderState state) { + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; float legZ = Mth.PI / 11F; this.leftLeg1.zRot = legZ; @@ -247,13 +241,13 @@ public void setupAnim(FireBeetle entity, float limbSwing, float limbSwingAmount, this.leftLeg3.yRot = -var10 * 2.0F + var9; this.rightLeg3.yRot = var10 * 2.0F - var9; - float var11 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount; - float var12 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + Mth.PI) * 0.4F) * limbSwingAmount; - float var14 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + (Mth.PI * 1.5F)) * 0.4F) * limbSwingAmount; + float var11 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + 0.0F) * 0.4F) * state.walkAnimationSpeed; + float var12 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float var14 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + (Mth.PI * 1.5F)) * 0.4F) * state.walkAnimationSpeed; - float var15 = Math.abs(Mth.sin(limbSwing * 0.6662F + 0.0F) * 0.4F) * limbSwingAmount; - float var16 = Math.abs(Mth.sin(limbSwing * 0.6662F + Mth.PI) * 0.4F) * limbSwingAmount; - float var18 = Math.abs(Mth.sin(limbSwing * 0.6662F + (Mth.PI * 1.5F)) * 0.4F) * limbSwingAmount; + float var15 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + 0.0F) * 0.4F) * state.walkAnimationSpeed; + float var16 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float var18 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + (Mth.PI * 1.5F)) * 0.4F) * state.walkAnimationSpeed; this.leftLeg1.yRot += var11; this.rightLeg1.yRot -= var11; diff --git a/src/main/java/twilightforest/client/model/entity/FireflyModel.java b/src/main/java/twilightforest/client/model/entity/FireflyModel.java index 711996d813..076dd83968 100644 --- a/src/main/java/twilightforest/client/model/entity/FireflyModel.java +++ b/src/main/java/twilightforest/client/model/entity/FireflyModel.java @@ -11,21 +11,14 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; public class FireflyModel extends Model { - private final ModelPart legs; - private final ModelPart fatbody; - private final ModelPart skinnybody; private final ModelPart glow; public FireflyModel(ModelPart root) { - super(RenderType::entityCutoutNoCull); - - this.legs = root.getChild("legs"); - this.fatbody = root.getChild("fat_body"); - this.skinnybody = root.getChild("skinny_body"); + super(root, RenderType::entityCutoutNoCull); this.glow = root.getChild("glow"); } @@ -56,14 +49,7 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - this.legs.render(stack, consumer, light, overlay, color); - this.fatbody.render(stack, consumer, light, overlay, color); - this.skinnybody.render(stack, consumer, light, overlay, color); - } - public void renderGlow(PoseStack stack, VertexConsumer consumer, float alpha) { - this.glow.render(stack, consumer, 0xF000F0, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); + this.glow.render(stack, consumer, 0xF000F0, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); } } diff --git a/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java b/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java index 1e041dac5d..1c063033f7 100644 --- a/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java +++ b/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java @@ -3,15 +3,15 @@ import net.minecraft.client.model.AnimationUtils; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.HumanoidArm; -import net.minecraft.world.entity.LivingEntity; //fixes probably my biggest issue with HumanoidModel: the hardcoded positions of limbs. //this is most noticeable in the body (which is offset by 24 voxels), but it also fixes mobs that have smaller or bigger arms. //this also cleans up some movement logic that doesnt apply to mobs (swimming and elytra flying) -public class FixedHumanoidModel extends HumanoidModel { +public class FixedHumanoidModel extends HumanoidModel { private final float armWidth; @@ -21,134 +21,96 @@ public FixedHumanoidModel(ModelPart part, float armWidth) { } @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float headYaw, float headPitch) { - this.head.yRot = headYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - - this.body.yRot = 0.0F; - - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; - this.rightArm.zRot = 0.0F; - this.leftArm.zRot = 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.rightLeg.yRot = 0.0F; - this.leftLeg.yRot = 0.0F; - this.rightLeg.zRot = 0.0F; - this.leftLeg.zRot = 0.0F; - if (this.riding) { - this.rightArm.xRot += -Mth.PI / 5.0F; - this.leftArm.xRot += -Mth.PI / 5.0F; + public void setupAnim(T state) { + super.setupAnim(state); + HumanoidModel.ArmPose leftPose = this.getArmPose(state, HumanoidArm.LEFT); + HumanoidModel.ArmPose rightPose = this.getArmPose(state, HumanoidArm.RIGHT); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + + float f1 = state.walkAnimationPos; + float f2 = state.walkAnimationSpeed; + this.rightArm.xRot = Mth.cos(f1 * 0.6662F + Mth.PI) * 2.0F * f2 * 0.5F / state.speedValue; + this.leftArm.xRot = Mth.cos(f1 * 0.6662F) * 2.0F * f2 * 0.5F / state.speedValue; + this.rightLeg.xRot = Mth.cos(f1 * 0.6662F) * 1.4F * f2 / state.speedValue; + this.leftLeg.xRot = Mth.cos(f1 * 0.6662F + Mth.PI) * 1.4F * f2 / state.speedValue; + this.rightLeg.yRot = 0.005F; + this.leftLeg.yRot = -0.005F; + this.rightLeg.zRot = 0.005F; + this.leftLeg.zRot = -0.005F; + if (state.isPassenger) { + this.rightArm.xRot += -Mth.PI / 5; + this.leftArm.xRot += -Mth.PI / 5; this.rightLeg.xRot = -1.4137167F; - this.rightLeg.yRot = Mth.PI / 10F; + this.rightLeg.yRot = Mth.PI / 10; this.rightLeg.zRot = 0.07853982F; this.leftLeg.xRot = -1.4137167F; - this.leftLeg.yRot = -Mth.PI / 10F; + this.leftLeg.yRot = -Mth.PI / 10; this.leftLeg.zRot = -0.07853982F; } - this.rightArm.yRot = 0.0F; - this.leftArm.yRot = 0.0F; - boolean flag2 = entity.getMainArm() == HumanoidArm.RIGHT; - if (entity.isUsingItem()) { - boolean flag3 = entity.getUsedItemHand() == InteractionHand.MAIN_HAND; - if (flag3 == flag2) { - this.poseRightArm(entity); + boolean flag1 = state.mainArm == HumanoidArm.RIGHT; + if (state.isUsingItem) { + boolean flag2 = state.useItemHand == InteractionHand.MAIN_HAND; + if (flag2 == flag1) { + this.poseRightArm(state, rightPose); } else { - this.poseLeftArm(entity); + this.poseLeftArm(state, leftPose); } } else { - boolean flag4 = flag2 ? this.leftArmPose.isTwoHanded() : this.rightArmPose.isTwoHanded(); - if (flag2 != flag4) { - this.poseLeftArm(entity); - this.poseRightArm(entity); + boolean flag3 = flag1 ? leftPose.isTwoHanded() : rightPose.isTwoHanded(); + if (flag1 != flag3) { + this.poseLeftArm(state, leftPose); + this.poseRightArm(state, rightPose); } else { - this.poseRightArm(entity); - this.poseLeftArm(entity); + this.poseRightArm(state, rightPose); + this.poseLeftArm(state, leftPose); } } - this.setupAttackAnimation(entity, ageInTicks); + this.setupAttackAnimation(state, state.ageInTicks); - if (this.rightArmPose != HumanoidModel.ArmPose.SPYGLASS) { - AnimationUtils.bobModelPart(this.rightArm, ageInTicks, 1.0F); + if (rightPose != HumanoidModel.ArmPose.SPYGLASS) { + AnimationUtils.bobModelPart(this.rightArm, state.ageInTicks, 1.0F); } - if (this.leftArmPose != HumanoidModel.ArmPose.SPYGLASS) { - AnimationUtils.bobModelPart(this.leftArm, ageInTicks, -1.0F); + if (leftPose != HumanoidModel.ArmPose.SPYGLASS) { + AnimationUtils.bobModelPart(this.leftArm, state.ageInTicks, -1.0F); } - - if (this.swimAmount > 0.0F) { - float f5 = limbSwing % 26.0F; - HumanoidArm humanoidarm = this.getAttackArm(entity); - float f1 = humanoidarm == HumanoidArm.RIGHT && this.attackTime > 0.0F ? 0.0F : this.swimAmount; - float f2 = humanoidarm == HumanoidArm.LEFT && this.attackTime > 0.0F ? 0.0F : this.swimAmount; - if (!entity.isUsingItem()) { - if (f5 < 14.0F) { - this.leftArm.xRot = this.rotlerpRad(f2, this.leftArm.xRot, 0.0F); - this.rightArm.xRot = Mth.lerp(f1, this.rightArm.xRot, 0.0F); - this.leftArm.yRot = this.rotlerpRad(f2, this.leftArm.yRot, Mth.PI); - this.rightArm.yRot = Mth.lerp(f1, this.rightArm.yRot, Mth.PI); - this.leftArm.zRot = this.rotlerpRad(f2, this.leftArm.zRot, Mth.PI + 1.8707964F * this.quadraticArmUpdate(f5) / this.quadraticArmUpdate(14.0F)); - this.rightArm.zRot = Mth.lerp(f1, this.rightArm.zRot, Mth.PI - 1.8707964F * this.quadraticArmUpdate(f5) / this.quadraticArmUpdate(14.0F)); - } else if (f5 >= 14.0F && f5 < 22.0F) { - float f6 = (f5 - 14.0F) / 8.0F; - this.leftArm.xRot = this.rotlerpRad(f2, this.leftArm.xRot, (Mth.PI / 2F) * f6); - this.rightArm.xRot = Mth.lerp(f1, this.rightArm.xRot, (Mth.PI / 2F) * f6); - this.leftArm.yRot = this.rotlerpRad(f2, this.leftArm.yRot, Mth.PI); - this.rightArm.yRot = Mth.lerp(f1, this.rightArm.yRot, Mth.PI); - this.leftArm.zRot = this.rotlerpRad(f2, this.leftArm.zRot, 5.012389F - 1.8707964F * f6); - this.rightArm.zRot = Mth.lerp(f1, this.rightArm.zRot, 1.2707963F + 1.8707964F * f6); - } else if (f5 >= 22.0F && f5 < 26.0F) { - float f3 = (f5 - 22.0F) / 4.0F; - this.leftArm.xRot = this.rotlerpRad(f2, this.leftArm.xRot, (Mth.PI / 2F) - (Mth.PI / 2F) * f3); - this.rightArm.xRot = Mth.lerp(f1, this.rightArm.xRot, (Mth.PI / 2F) - (Mth.PI / 2F) * f3); - this.leftArm.yRot = this.rotlerpRad(f2, this.leftArm.yRot, Mth.PI); - this.rightArm.yRot = Mth.lerp(f1, this.rightArm.yRot, Mth.PI); - this.leftArm.zRot = this.rotlerpRad(f2, this.leftArm.zRot, Mth.PI); - this.rightArm.zRot = Mth.lerp(f1, this.rightArm.zRot, Mth.PI); - } - } - - this.leftLeg.xRot = Mth.lerp(this.swimAmount, this.leftLeg.xRot, 0.3F * Mth.cos(limbSwing * 0.33333334F + Mth.PI)); - this.rightLeg.xRot = Mth.lerp(this.swimAmount, this.rightLeg.xRot, 0.3F * Mth.cos(limbSwing * 0.33333334F)); - } - - this.hat.copyFrom(this.head); } @Override - protected void setupAttackAnimation(T pLivingEntity, float pAgeInTicks) { - if (!(this.attackTime <= 0.0F)) { - HumanoidArm humanoidarm = this.getAttackArm(pLivingEntity); + protected void setupAttackAnimation(T state, float ageInTicks) { + float f = state.attackTime; + if (!(f <= 0.0F)) { + HumanoidArm humanoidarm = state.attackArm; ModelPart modelpart = this.getArm(humanoidarm); - float f = this.attackTime; - this.body.yRot = Mth.sin(Mth.sqrt(f) * (Mth.PI * 2F)) * 0.2F; + this.body.yRot = Mth.sin(Mth.sqrt(f) * Mth.TWO_PI) * 0.2F; if (humanoidarm == HumanoidArm.LEFT) { this.body.yRot *= -1.0F; } - this.rightArm.z = Mth.sin(this.body.yRot) * (this.armWidth + 1.0F); - this.rightArm.x = -Mth.cos(this.body.yRot) * (this.armWidth + 1.0F); - this.leftArm.z = -Mth.sin(this.body.yRot) * (this.armWidth + 1.0F); - this.leftArm.x = Mth.cos(this.body.yRot) * (this.armWidth + 1.0F); - this.rightArm.yRot += this.body.yRot; - this.leftArm.yRot += this.body.yRot; - this.leftArm.xRot += this.body.yRot; - f = 1.0F - this.attackTime; - f *= f; - f *= f; - f = 1.0F - f; - float f1 = Mth.sin(f * Mth.PI); - float f2 = Mth.sin(this.attackTime * Mth.PI) * -(this.head.xRot - 0.7F) * 0.75F; - modelpart.xRot -= f1 * 1.2F + f2; - modelpart.yRot += this.body.yRot * 2.0F; - modelpart.zRot += Mth.sin(this.attackTime * Mth.PI) * -0.4F; + float f2 = state.ageScale; + this.rightArm.z = Mth.sin(this.body.yRot) * (this.armWidth + 1.0F) * f2; + this.rightArm.x = -Mth.cos(this.body.yRot) * (this.armWidth + 1.0F) * f2; + this.leftArm.z = -Mth.sin(this.body.yRot) * (this.armWidth + 1.0F) * f2; + this.leftArm.x = Mth.cos(this.body.yRot) * (this.armWidth + 1.0F) * f2; + this.rightArm.yRot = this.rightArm.yRot + this.body.yRot; + this.leftArm.yRot = this.leftArm.yRot + this.body.yRot; + this.leftArm.xRot = this.leftArm.xRot + this.body.yRot; + float $$5 = 1.0F - f; + $$5 *= $$5; + $$5 *= $$5; + $$5 = 1.0F - $$5; + float f3 = Mth.sin($$5 * Mth.PI); + float f4 = Mth.sin(f * Mth.PI) * -(this.head.xRot - 0.7F) * 0.75F; + modelpart.xRot -= f3 * 1.2F + f4; + modelpart.yRot = modelpart.yRot + this.body.yRot * 2.0F; + modelpart.zRot = modelpart.zRot + Mth.sin(f * Mth.PI) * -0.4F; } } - private float quadraticArmUpdate(float pLimbSwing) { - return -65.0F * pLimbSwing + pLimbSwing * pLimbSwing; + private float quadraticArmUpdate(float limbSwing) { + return -65.0F * limbSwing + limbSwing * limbSwing; } } diff --git a/src/main/java/twilightforest/client/model/entity/HarbingerCubeModel.java b/src/main/java/twilightforest/client/model/entity/HarbingerCubeModel.java index 97f1519d94..c761873413 100644 --- a/src/main/java/twilightforest/client/model/entity/HarbingerCubeModel.java +++ b/src/main/java/twilightforest/client/model/entity/HarbingerCubeModel.java @@ -4,12 +4,12 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import twilightforest.entity.monster.HarbingerCube; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -public class HarbingerCubeModel extends QuadrupedModel { +public class HarbingerCubeModel extends QuadrupedModel { public HarbingerCubeModel(ModelPart part) { - super(part, false, 0.0F, 0.0F, 0.0F, 0.0F, 4); //All this is from AgeableModel. Do we scale? + super(part); } public static LayerDefinition create() { diff --git a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java index 5f17ca70f5..1f4ee34b74 100644 --- a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java +++ b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java @@ -6,17 +6,16 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.HelmetCrab; -public class HelmetCrabModel extends HierarchicalModel { +public class HelmetCrabModel extends EntityModel { - private final ModelPart root; private final ModelPart body; private final ModelPart leftClaw; private final ModelPart rightClaw; @@ -26,7 +25,7 @@ public class HelmetCrabModel extends HierarchicalModel { private final ModelPart leftLeg2; public HelmetCrabModel(ModelPart root) { - this.root = root; + super(root); this.body = root.getChild("body"); this.rightClaw = root.getChild("right_claw"); @@ -197,14 +196,9 @@ private static LayerDefinition createJappaModel() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(HelmetCrab entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.body.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.body.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(LivingEntityRenderState state) { + this.body.yRot = state.yRot * Mth.DEG_TO_RAD; + this.body.xRot = state.xRot * Mth.DEG_TO_RAD; float f6 = (Mth.PI / 4F); this.rightLeg1.zRot = -f6 * 0.74F; @@ -217,12 +211,12 @@ public void setupAnim(HelmetCrab entity, float limbSwing, float limbSwingAmount, this.leftLeg1.yRot = -f8 - f7; this.rightLeg2.yRot = -f8 + f7; this.leftLeg2.yRot = f8 - f7; - float f10 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + Mth.PI) * 0.4F) * limbSwingAmount; - float f11 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + Mth.HALF_PI) * 0.4F) * limbSwingAmount; - float f12 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * limbSwingAmount; - float f14 = Math.abs(Mth.sin(limbSwing * 0.6662F + Mth.PI) * 0.4F) * limbSwingAmount; - float f15 = Math.abs(Mth.sin(limbSwing * 0.6662F + Mth.HALF_PI) * 0.4F) * limbSwingAmount; - float f16 = Math.abs(Mth.sin(limbSwing * 0.6662F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * limbSwingAmount; + float f10 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float f11 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + Mth.HALF_PI) * 0.4F) * state.walkAnimationSpeed; + float f12 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * state.walkAnimationSpeed; + float f14 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float f15 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + Mth.HALF_PI) * 0.4F) * state.walkAnimationSpeed; + float f16 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * state.walkAnimationSpeed; this.rightLeg1.yRot += f10; this.leftLeg1.yRot -= f10; this.rightLeg2.yRot += f11; @@ -235,12 +229,12 @@ public void setupAnim(HelmetCrab entity, float limbSwing, float limbSwingAmount, // swing right arm as if it were an arm, not a leg if (JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { this.rightClaw.yRot = 0.319531F; - this.rightClaw.yRot += (Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F) / 2; + this.rightClaw.yRot += (Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F) / 2; this.leftClaw.yRot = -0.319531F; - this.leftClaw.yRot += -(Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F) / 2; + this.leftClaw.yRot += -(Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F) / 2; } else { this.rightClaw.yRot = -1.319531F; - this.rightClaw.yRot += Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; + this.rightClaw.yRot += Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; this.leftClaw.zRot = f6; this.leftClaw.yRot = f8 * 2.0F - f7; this.leftClaw.yRot -= f12; diff --git a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java index c63a350d87..6f7fd278f9 100644 --- a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java +++ b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java @@ -1,16 +1,16 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.model.AgeableListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.client.renderer.entity.state.WolfRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; -import twilightforest.entity.monster.HostileWolf; import java.util.function.Function; -public class HostileWolfModel extends AgeableListModel { +public class HostileWolfModel extends EntityModel { private final ModelPart head; private final ModelPart body; @@ -26,7 +26,7 @@ public HostileWolfModel(ModelPart root) { } public HostileWolfModel(Function type, ModelPart root) { - super(type, false, 5.0F, 2.0F, 2.0F, 2.0F, 24.0F); + super(root, type); this.head = root.getChild("head"); this.body = root.getChild("body"); this.upperBody = root.getChild("upper_body"); @@ -38,21 +38,16 @@ public HostileWolfModel(Function type, ModelPart r } @Override - protected Iterable headParts() { - return ImmutableList.of(this.head); - } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.rightHindLeg, this.leftHindLeg, this.rightFrontLeg, this.leftFrontLeg, this.tail, this.upperBody); - } + public void setupAnim(WolfRenderState state) { + super.setupAnim(state); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.tail.xRot = state.ageInTicks; - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - if (entity.isAggressive()) { + if (state.isAngry) { this.tail.yRot = 0.0F; } else { - this.tail.yRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; + this.tail.yRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; } this.body.setPos(0.0F, 14.0F, 2.0F); @@ -64,16 +59,9 @@ public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, fl this.leftHindLeg.setPos(0.5F, 16.0F, 7.0F); this.rightFrontLeg.setPos(-2.5F, 16.0F, -4.0F); this.leftFrontLeg.setPos(0.5F, 16.0F, -4.0F); - this.rightHindLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftHindLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.rightFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.leftFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.tail.xRot = ageInTicks; + this.rightHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; } } diff --git a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java index 65a294073c..157dce8328 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java @@ -1,9 +1,8 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -16,15 +15,15 @@ import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.HydraRenderer; -import twilightforest.entity.boss.HydraHead; -import twilightforest.entity.boss.HydraPart; +import twilightforest.client.state.HydraHeadRenderState; -public class HydraHeadModel extends ListModel implements TrophyBlockModel { +public class HydraHeadModel extends EntityModel implements TrophyBlockModel { private final ModelPart head; private final ModelPart jaw; public HydraHeadModel(ModelPart root) { + super(root); this.head = root.getChild("head"); this.jaw = this.head.getChild("jaw"); } @@ -110,36 +109,16 @@ private static LayerDefinition createJappaModel() { } @Override - public Iterable parts() { - return ImmutableList.of(this.head); - } - - @Override - public void setupAnim(HydraHead entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.z = -16.0F; - } - - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.head.yRot = this.getRotationY(entity, partialTicks); - this.head.xRot = this.getRotationX(entity, partialTicks); + public void setupAnim(HydraHeadRenderState state) { + super.setupAnim(state); + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; - float mouthOpenLast = entity.getMouthOpenLast(); - float mouthOpenReal = entity.getMouthOpen(); - float mouthOpen = Mth.lerp(partialTicks, mouthOpenLast, mouthOpenReal); + float mouthOpen = state.getMouthAngle(); this.head.xRot -= mouthOpen * (Mth.PI / 12.0F); this.jaw.xRot = mouthOpen * (Mth.PI / 3.0F); } - public float getRotationY(HydraPart whichHead, float time) { - float yaw = whichHead.yRotO + (whichHead.getYRot() - whichHead.yRotO) * time; - - return yaw * Mth.DEG_TO_RAD; - } - - public float getRotationX(HydraPart whichHead, float time) { - return (whichHead.xRotO + (whichHead.getXRot() - whichHead.xRotO) * time) * Mth.DEG_TO_RAD; - } @Override public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) { diff --git a/src/main/java/twilightforest/client/model/entity/HydraModel.java b/src/main/java/twilightforest/client/model/entity/HydraModel.java index 573440f634..a97aba42c6 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraModel.java @@ -5,9 +5,7 @@ // - ZeuX package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -15,23 +13,18 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import org.jetbrains.annotations.Nullable; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.boss.Hydra; +import twilightforest.client.state.HydraRenderState; -public class HydraModel extends HierarchicalModel { +public class HydraModel extends EntityModel { - private final ModelPart root; private final ModelPart body; private final ModelPart tail; private final ModelPart rightLeg; private final ModelPart leftLeg; - @Nullable - private Hydra hydra; - public HydraModel(ModelPart root) { - this.root = root; + super(root); this.body = root.getChild("body"); this.tail = root.getChild("tail_1"); this.rightLeg = root.getChild("right_leg"); @@ -390,28 +383,17 @@ private static LayerDefinition createJappaModel() { return LayerDefinition.create(meshdefinition, 512, 256); } - @Override - public ModelPart root() { - return this.root; - } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - if (this.hydra != null && this.hydra.renderFakeHeads) { - super.renderToBuffer(stack, consumer, light, overlay, color); - } else { - this.rightLeg.render(stack, consumer, light, overlay, color); - this.leftLeg.render(stack, consumer, light, overlay, color); - this.body.render(stack, consumer, light, overlay, color); - this.tail.render(stack, consumer, light, overlay, color); + public void setupAnim(HydraRenderState state) { + if (!state.renderFakeHeads) { + this.root().getAllParts().forEach(modelPart -> modelPart.visible = false); + this.body.visible = true; + this.tail.visible = true; + this.rightLeg.visible = true; + this.leftLeg.visible = true; } - this.hydra = null; - } - - @Override - public void setupAnim(Hydra entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.hydra = entity; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; } } diff --git a/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java b/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java index 30f7f86891..dd8da3d2e6 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java @@ -1,20 +1,18 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import twilightforest.entity.boss.HydraMortar; +import net.minecraft.client.renderer.RenderType; -public class HydraMortarModel extends HierarchicalModel { - - private final ModelPart root; +public class HydraMortarModel extends Model { public HydraMortarModel(ModelPart root) { - this.root = root; + super(root, RenderType::entityCutoutNoCull); } public static LayerDefinition create() { @@ -28,13 +26,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - - @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(HydraMortar entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - } } diff --git a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java index e6d17b8f81..613d067c94 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java @@ -1,22 +1,23 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.boss.HydraNeck; -public class HydraNeckModel extends ListModel { +public class HydraNeckModel extends EntityModel { private final ModelPart neck; public HydraNeckModel(ModelPart root) { + super(root); this.neck = root.getChild("neck"); } @@ -53,13 +54,8 @@ private static LayerDefinition createJappaModel() { } @Override - public Iterable parts() { - return ImmutableList.of(this.neck); - } - - @Override - public void setupAnim(HydraNeck entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.neck.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.neck.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(LivingEntityRenderState state) { + this.neck.yRot = state.yRot * Mth.DEG_TO_RAD; + this.neck.xRot = state.xRot * Mth.DEG_TO_RAD; } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/entity/IceCrystalModel.java b/src/main/java/twilightforest/client/model/entity/IceCrystalModel.java index 01172e9e6b..61721c45f4 100644 --- a/src/main/java/twilightforest/client/model/entity/IceCrystalModel.java +++ b/src/main/java/twilightforest/client/model/entity/IceCrystalModel.java @@ -1,8 +1,6 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -10,25 +8,19 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.IceCrystal; -public class IceCrystalModel extends HierarchicalModel { +public class IceCrystalModel extends EntityModel { - private final ModelPart root; private final ModelPart[] spikes = new ModelPart[16]; - private boolean alive; - public IceCrystalModel(ModelPart root) { - super(RenderType::entityTranslucent); - this.root = root; + super(root, RenderType::entityTranslucent); for (int i = 0; i < spikes.length; i++) { this.spikes[i] = root.getChild("spike_" + i); } - } public static LayerDefinition create() { @@ -54,29 +46,12 @@ public static LayerDefinition create() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - for (ModelPart spike : this.spikes) { - spike.render(stack, builder, light, overlay, FastColor.ARGB32.color((int) (FastColor.ARGB32.alpha(color) * (alive ? 0.6F : 1.0F)), FastColor.ARGB32.red(color), FastColor.ARGB32.green(color), FastColor.ARGB32.blue(color))); - } - } - - @Override - public void setupAnim(IceCrystal entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - } - - @Override - public void prepareMobModel(IceCrystal entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.alive = entity.isAlive(); + public void setupAnim(LivingEntityRenderState state) { for (int i = 0; i < this.spikes.length; i++) { // rotate the spikes - this.spikes[i].xRot = Mth.sin((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - this.spikes[i].yRot = (entity.tickCount + partialTicks) / 5.0F; - this.spikes[i].zRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; + this.spikes[i].xRot = Mth.sin((state.ageInTicks) / 5.0F) / 4.0F; + this.spikes[i].yRot = (state.ageInTicks) / 5.0F; + this.spikes[i].zRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; this.spikes[i].xRot += i * (Mth.PI / 8.0F); diff --git a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java index 726f994615..2e323bb73c 100644 --- a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java +++ b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java @@ -10,21 +10,17 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; import twilightforest.client.renderer.entity.KnightPhantomRenderer; -import twilightforest.entity.boss.KnightPhantom; +import twilightforest.client.state.KnightPhatomRenderState; -import javax.annotation.Nullable; - -public class KnightPhantomModel extends HumanoidModel implements TrophyBlockModel { +public class KnightPhantomModel extends HumanoidModel implements TrophyBlockModel { private static final ResourceLocation PHANTOM_ARMOR_TEXTURE = TwilightForestMod.prefix("textures/models/armor/phantom_layer_1.png"); - @Nullable - private KnightPhantom knight; private ModelPart helmet; public KnightPhantomModel(ModelPart root) { @@ -114,27 +110,18 @@ public static LayerDefinition createTrophy() { } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (this.knight != null && this.knight.isChargingAtPlayer()) { - // render full skeleton - super.renderToBuffer(stack, builder, light, overlay, color); - } - this.knight = null; - } - - @Override - public void setupAnim(KnightPhantom entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.knight = entity; + public void setupAnim(KnightPhatomRenderState state) { + this.root.visible = state.isCharging; - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); + super.setupAnim(state); this.leftLeg.yRot = 0; this.leftLeg.zRot = 0; this.rightLeg.yRot = 0; this.rightLeg.zRot = 0; - this.rightLeg.xRot = 0.2F * Mth.sin(ageInTicks * 0.3F) + 0.4F; - this.leftLeg.xRot = 0.2F * Mth.sin(ageInTicks * 0.3F) + 0.4F; + this.rightLeg.xRot = 0.2F * Mth.sin(state.ageInTicks * 0.3F) + 0.4F; + this.leftLeg.xRot = 0.2F * Mth.sin(state.ageInTicks * 0.3F) + 0.4F; } @Override @@ -157,7 +144,7 @@ public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, i stack.pushPose(); stack.translate(0.0F, 0.3f, 0.0F); VertexConsumer armorConsumer = buffer.getBuffer(RenderType.entityCutoutNoCull(PHANTOM_ARMOR_TEXTURE)); - this.helmet.render(stack, armorConsumer, light, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.colorFromFloat(0.0625F, 1.0F, 1.0F, 1.0F)); + this.helmet.render(stack, armorConsumer, light, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(0.0625F, 1.0F, 1.0F, 1.0F)); stack.popPose(); stack.scale(1 / 1.1F, 1 / 1.1F, 1 / 1.1F); @@ -173,7 +160,7 @@ public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, i stack.scale(1.1F, 1.1F, 1.1F); stack.translate(0.0F, 0.05F, 0.0F); VertexConsumer armorConsumer = buffer.getBuffer(RenderType.entityCutoutNoCull(PHANTOM_ARMOR_TEXTURE)); - this.helmet.render(stack, armorConsumer, light, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.colorFromFloat(0.0625F, 1.0F, 1.0F, 1.0F)); + this.helmet.render(stack, armorConsumer, light, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(0.0625F, 1.0F, 1.0F, 1.0F)); } } } diff --git a/src/main/java/twilightforest/client/model/entity/KnightmetalShieldModel.java b/src/main/java/twilightforest/client/model/entity/KnightmetalShieldModel.java index 54be399f0a..59d8b4777e 100644 --- a/src/main/java/twilightforest/client/model/entity/KnightmetalShieldModel.java +++ b/src/main/java/twilightforest/client/model/entity/KnightmetalShieldModel.java @@ -1,7 +1,5 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -12,11 +10,9 @@ import net.minecraft.client.renderer.RenderType; public class KnightmetalShieldModel extends Model { - private final ModelPart root; public KnightmetalShieldModel(ModelPart root) { - super(RenderType::entitySolid); - this.root = root; + super(root, RenderType::entitySolid); } public static LayerDefinition create() { @@ -26,9 +22,4 @@ public static LayerDefinition create() { partdefinition.addOrReplaceChild("handle", CubeListBuilder.create().texOffs(28, 0).addBox(-1.0F, -3.0F, -0.5F, 2.0F, 6.0F, 6.0F), PartPose.ZERO); return LayerDefinition.create(meshdefinition, 64, 32); } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - this.root.render(stack, consumer, light, overlay); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/entity/KoboldModel.java b/src/main/java/twilightforest/client/model/entity/KoboldModel.java index 0a8ef91230..a1312b8563 100644 --- a/src/main/java/twilightforest/client/model/entity/KoboldModel.java +++ b/src/main/java/twilightforest/client/model/entity/KoboldModel.java @@ -11,15 +11,17 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.state.KoboldRenderState; import twilightforest.entity.monster.Kobold; -public class KoboldModel extends HumanoidModel { +public class KoboldModel extends HumanoidModel { private final ModelPart jaw; - private boolean isJumping; public KoboldModel(ModelPart root) { super(root); @@ -146,9 +148,9 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(Kobold entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(KoboldRenderState state) { + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; @@ -156,17 +158,17 @@ public void setupAnim(Kobold entity, float limbSwing, float limbSwingAmount, flo this.rightArm.xRot = -(Mth.PI * 0.15F); this.leftArm.xRot = -(Mth.PI * 0.15F); - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - this.rightArm.zRot += Mth.cos(ageInTicks * 0.19F) * 0.15F + 0.05F; - this.leftArm.zRot -= Mth.cos(ageInTicks * 0.19F) * 0.15F + 0.05F; - this.rightArm.xRot += Mth.sin(ageInTicks * 0.267F) * 0.25F; - this.leftArm.xRot -= Mth.sin(ageInTicks * 0.267F) * 0.25F; + this.rightArm.zRot += Mth.cos(state.ageInTicks * 0.19F) * 0.15F + 0.05F; + this.leftArm.zRot -= Mth.cos(state.ageInTicks * 0.19F) * 0.15F + 0.05F; + this.rightArm.xRot += Mth.sin(state.ageInTicks * 0.267F) * 0.25F; + this.leftArm.xRot -= Mth.sin(state.ageInTicks * 0.267F) * 0.25F; - if (this.isJumping) { + if (state.jumping) { // open jaw this.jaw.xRot = 1.44F; } else { @@ -180,10 +182,4 @@ public void translateToHand(HumanoidArm arm, PoseStack stack) { stack.translate(0.0F, -0.075F, 0.0F); stack.scale(0.75F, 0.75F, 0.75F); } - - @Override - public void prepareMobModel(Kobold entity, float limbSwing, float limbSwingAmount, float partialTicks) { - // check if entity is jumping - this.isJumping = !entity.isNoAi() && entity.getDeltaMovement().y() > 0; - } } diff --git a/src/main/java/twilightforest/client/model/entity/LichMinionModel.java b/src/main/java/twilightforest/client/model/entity/LichMinionModel.java index 6e5fd76ba0..19aa2c0711 100644 --- a/src/main/java/twilightforest/client/model/entity/LichMinionModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichMinionModel.java @@ -4,23 +4,18 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.ZombieModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.entity.state.ZombieRenderState; import net.minecraft.util.FastColor; import net.minecraft.world.effect.MobEffects; import twilightforest.entity.monster.LichMinion; -public class LichMinionModel extends ZombieModel { +public class LichMinionModel extends ZombieModel { - private boolean hasStrength; public LichMinionModel(ModelPart root) { super(root); } - @Override - public void prepareMobModel(LichMinion entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.hasStrength = entity.getEffect(MobEffects.DAMAGE_BOOST) != null; - } - @Override public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { if (this.hasStrength) { diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index e2250fbcbb..52634e2480 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -1,6 +1,5 @@ package twilightforest.client.model.entity; -import com.google.common.collect.Iterables; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.HumanoidModel; @@ -9,18 +8,14 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.renderer.entity.LichRenderer; -import twilightforest.entity.boss.Lich; +import twilightforest.client.state.LichRenderState; -import java.util.Arrays; +public class LichModel extends HumanoidModel implements TrophyBlockModel { -public class LichModel extends HumanoidModel implements TrophyBlockModel { - - private boolean shadowClone; private final ModelPart collar; private final ModelPart cloak; @@ -78,7 +73,6 @@ public static LayerDefinition create() { } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { if (!this.shadowClone) { super.renderToBuffer(stack, builder, light, overlay, color); @@ -88,46 +82,38 @@ public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, i } @Override - protected Iterable bodyParts() { - if (this.shadowClone) { - return super.bodyParts(); - } else { - return Iterables.concat(Arrays.asList(this.cloak, this.collar), super.bodyParts()); - } - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.shadowClone = entity.isShadowClone(); - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - - float ogSin = Mth.sin(this.attackTime * Mth.PI); - float otherSin = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); - if (entity.tickCount > 0 && !entity.isDeadOrDying()) { + public void setupAnim(LichRenderState state) { + super.setupAnim(state); + this.cloak.skipDraw = state.isShadowClone; + this.collar.skipDraw = state.isShadowClone; + + float ogSin = Mth.sin(state.attackTime * Mth.PI); + float otherSin = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); + if (state.ageInTicks > 0 && state.deathTime <= 0) { this.leftArm.zRot = 0.5F; this.leftArm.yRot = 0.1F - ogSin * 0.6F; this.leftArm.xRot = -3.141593F; this.leftArm.xRot -= ogSin * 1.2F - otherSin * 0.4F; - this.leftArm.zRot -= Mth.cos(ageInTicks * 0.26F) * 0.15F + 0.05F; - this.leftArm.xRot -= Mth.sin(ageInTicks * 0.167F) * 0.15F; + this.leftArm.zRot -= Mth.cos(state.ageInTicks * 0.26F) * 0.15F + 0.05F; + this.leftArm.xRot -= Mth.sin(state.ageInTicks * 0.167F) * 0.15F; } else { this.leftArm.xRot = 0.0F; this.leftArm.yRot = 0.0F; } - if (!entity.getMainHandItem().isEmpty()) { + if (!state.getMainHandItem().isEmpty()) { this.rightArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - ogSin * 0.6F); this.rightArm.xRot = -Mth.HALF_PI; this.rightArm.xRot -= ogSin * 1.2F - otherSin * 0.4F; - this.rightArm.zRot += Mth.cos(ageInTicks * 0.26F) * 0.15F + 0.05F; - this.rightArm.xRot += Mth.sin(ageInTicks * 0.167F) * 0.15F; + this.rightArm.zRot += Mth.cos(state.ageInTicks * 0.26F) * 0.15F + 0.05F; + this.rightArm.xRot += Mth.sin(state.ageInTicks * 0.167F) * 0.15F; } else { this.rightArm.xRot = 0.0F; this.rightArm.yRot = 0.0F; } - boolean flag = entity.deathTime > 50; + boolean flag = state.deathTime > 50; this.body.skipDraw = flag; this.leftArm.skipDraw = flag; this.rightArm.skipDraw = flag; diff --git a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java index d1ac5f31f1..d5d032cba4 100644 --- a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java @@ -1,7 +1,5 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.AnimationUtils; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; @@ -9,9 +7,9 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.LowerGoblinKnight; +import twilightforest.client.state.LowerGoblinKnightRenderState; -public class LowerGoblinKnightModel extends HumanoidModel { +public class LowerGoblinKnightModel extends HumanoidModel { private final ModelPart tunic; @@ -115,40 +113,34 @@ private static LayerDefinition createJappaModel() { } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - super.renderToBuffer(stack, builder, light, overlay, color); - this.tunic.render(stack, builder, light, overlay, color); - } - - @Override - public void setupAnim(LowerGoblinKnight entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - if (entity.isVehicle()) { + public void setupAnim(LowerGoblinKnightRenderState state) { + if (state.hasUpperGoblin) { this.head.yRot = 0; this.head.xRot = 0; } else { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; } this.hat.yRot = this.head.yRot; this.hat.xRot = this.head.xRot; - if (!entity.hasArmor() && !entity.isVehicle()) { - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + if (!state.hasArmor && !state.hasUpperGoblin) { + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * state.walkAnimationSpeed * 0.5F; } else { this.rightArm.xRot = 0.0F; this.leftArm.xRot = 0.0F; } this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - if (!entity.hasArmor() && !entity.isVehicle()) { - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + if (!state.hasArmor && !state.hasUpperGoblin) { + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); } - this.tunic.visible = entity.hasArmor(); + this.tunic.visible = state.hasArmor; } } diff --git a/src/main/java/twilightforest/client/model/entity/LoyalZombieModel.java b/src/main/java/twilightforest/client/model/entity/LoyalZombieModel.java deleted file mode 100644 index b03f722c97..0000000000 --- a/src/main/java/twilightforest/client/model/entity/LoyalZombieModel.java +++ /dev/null @@ -1,44 +0,0 @@ -package twilightforest.client.model.entity; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.AnimationUtils; -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.util.FastColor; -import net.minecraft.util.Mth; -import twilightforest.entity.monster.LoyalZombie; - -/** - * [VanillaCopy] {@link net.minecraft.client.model.AbstractZombieModel} due to generic restrictions - */ -public class LoyalZombieModel extends HumanoidModel { - - public LoyalZombieModel(ModelPart part) { - super(part); - } - - @Override - public void setupAnim(LoyalZombie e, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(e, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - boolean flag = e.isAggressive(); - float f = Mth.sin(this.attackTime * Mth.PI); - float f1 = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); - this.rightArm.zRot = 0.0F; - this.leftArm.zRot = 0.0F; - this.rightArm.yRot = -(0.1F - f * 0.6F); - this.leftArm.yRot = 0.1F - f * 0.6F; - float f2 = -Mth.PI / (flag ? 1.5F : 2.25F); - this.rightArm.xRot = f2; - this.leftArm.xRot = f2; - this.rightArm.xRot += f * 1.2F - f1 * 0.4F; - this.leftArm.xRot += f * 1.2F - f1 * 0.4F; - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - // GREEEEN - super.renderToBuffer(stack, builder, light, overlay, FastColor.ARGB32.color(FastColor.ARGB32.alpha(color), (int) (FastColor.ARGB32.red(color) * 0.25F), FastColor.ARGB32.green(color), (int) (FastColor.ARGB32.blue(color) * 0.25F))); - } -} diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index 8f1a92ff91..5c9bd0dbdc 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -1,6 +1,5 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.AnimationUtils; @@ -16,9 +15,9 @@ import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.MinoshroomRenderer; -import twilightforest.entity.boss.Minoshroom; +import twilightforest.client.state.MinoshroomRenderState; -public class MinoshroomModel extends HumanoidModel implements TrophyBlockModel { +public class MinoshroomModel extends HumanoidModel implements TrophyBlockModel { public final ModelPart cowTorso; private final ModelPart rightFrontLeg; @@ -188,67 +187,63 @@ private static LayerDefinition createJappaModel() { } @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.leftArm, this.rightArm, this.cowTorso, this.leftBackLeg, this.rightBackLeg, this.leftFrontLeg, this.rightFrontLeg); - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + public void setupAnim(MinoshroomRenderState state) { // copied from HumanoidModel - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + HumanoidModel.ArmPose leftPose = this.getArmPose(state, HumanoidArm.LEFT); + HumanoidModel.ArmPose rightPose = this.getArmPose(state, HumanoidArm.RIGHT); + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.hat.yRot = this.head.yRot; this.hat.xRot = this.head.xRot; - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * state.walkAnimationSpeed * 0.5F; this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; this.rightArm.yRot = 0.0F; this.leftArm.yRot = 0.0F; - boolean flag2 = entity.getMainArm() == HumanoidArm.RIGHT; - if (entity.isUsingItem()) { - boolean flag3 = entity.getUsedItemHand() == InteractionHand.MAIN_HAND; - if (flag3 == flag2) { - this.poseRightArm(entity); + boolean flag1 = state.mainArm == HumanoidArm.RIGHT; + if (state.isUsingItem) { + boolean flag2 = state.useItemHand == InteractionHand.MAIN_HAND; + if (flag2 == flag1) { + this.poseRightArm(state, rightPose); } else { - this.poseLeftArm(entity); + this.poseLeftArm(state, leftPose); } } else { - boolean flag4 = flag2 ? this.leftArmPose.isTwoHanded() : this.rightArmPose.isTwoHanded(); - if (flag2 != flag4) { - this.poseLeftArm(entity); - this.poseRightArm(entity); + boolean flag3 = flag1 ? leftPose.isTwoHanded() : rightPose.isTwoHanded(); + if (flag1 != flag3) { + this.poseLeftArm(state, leftPose); + this.poseRightArm(state, rightPose); } else { - this.poseRightArm(entity); - this.poseLeftArm(entity); + this.poseRightArm(state, rightPose); + this.poseLeftArm(state, leftPose); } } - if (this.rightArmPose != HumanoidModel.ArmPose.SPYGLASS) { - AnimationUtils.bobModelPart(this.rightArm, ageInTicks, 1.0F); + if (rightPose != HumanoidModel.ArmPose.SPYGLASS) { + AnimationUtils.bobModelPart(this.rightArm, state.ageInTicks, 1.0F); } - if (this.leftArmPose != HumanoidModel.ArmPose.SPYGLASS) { - AnimationUtils.bobModelPart(this.leftArm, ageInTicks, -1.0F); + if (leftPose != HumanoidModel.ArmPose.SPYGLASS) { + AnimationUtils.bobModelPart(this.leftArm, state.ageInTicks, -1.0F); } // copied from QuadrupedModel this.cowTorso.xRot = Mth.HALF_PI; - this.leftFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.rightFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.leftBackLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.rightBackLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; + this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.leftBackLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.rightBackLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; // Ground slam animation - float f = ageInTicks - entity.tickCount; - float f1 = entity.getChargeAnimationScale(f); + float f1 = state.getChargeAnimationScale(); f1 = f1 * f1; boolean jappa = JappaPackReloadListener.INSTANCE.isJappaPackLoaded(); @@ -269,7 +264,7 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag this.leftArm.z = this.rightArm.z; if (f1 > 0) { - if (entity.getMainArm() == HumanoidArm.RIGHT) { + if (state.mainArm == HumanoidArm.RIGHT) { this.rightArm.xRot = f1 * -1.8F; this.leftArm.xRot = 0.0F; this.rightArm.zRot = -0.2F; diff --git a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java index 4ab802eff6..2a3ca02666 100644 --- a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java @@ -4,11 +4,12 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.monster.Minotaur; -public class MinotaurModel extends HumanoidModel { +public class MinotaurModel extends HumanoidModel { public MinotaurModel(ModelPart root) { super(root); diff --git a/src/main/java/twilightforest/client/model/entity/MistWolfModel.java b/src/main/java/twilightforest/client/model/entity/MistWolfModel.java index 005d1a2b22..b9ecba2d61 100644 --- a/src/main/java/twilightforest/client/model/entity/MistWolfModel.java +++ b/src/main/java/twilightforest/client/model/entity/MistWolfModel.java @@ -8,10 +8,8 @@ import org.jetbrains.annotations.Nullable; import twilightforest.entity.monster.MistWolf; -public class MistWolfModel extends HostileWolfModel { +public class MistWolfModel extends HostileWolfModel { - @Nullable - private MistWolf wolf; public MistWolfModel(ModelPart root) { super(RenderType::entityTranslucent, root); @@ -27,12 +25,5 @@ public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, } else { super.renderToBuffer(stack, consumer, light, overlay, color); } - this.wolf = null; - } - - @Override - public void setupAnim(MistWolf entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - this.wolf = entity; } } diff --git a/src/main/java/twilightforest/client/model/entity/MoonwormModel.java b/src/main/java/twilightforest/client/model/entity/MoonwormModel.java index 8cf736e600..8c47daddba 100644 --- a/src/main/java/twilightforest/client/model/entity/MoonwormModel.java +++ b/src/main/java/twilightforest/client/model/entity/MoonwormModel.java @@ -6,8 +6,6 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -29,7 +27,7 @@ public class MoonwormModel extends Model { private final ModelPart head; public MoonwormModel(ModelPart root) { - super(RenderType::entityCutoutNoCull); + super(root, RenderType::entityCutoutNoCull); this.head = root.getChild("head"); this.shape1 = root.getChild("shape1"); @@ -88,12 +86,4 @@ public void setRotationAngles(@Nullable MoonwormBlockEntity moonworm, float part this.shape3.y += Math.min(0.0F, Mth.sin(time / 2.0F + 3.0F)); } } - - @Override - public void renderToBuffer(PoseStack ms, VertexConsumer buffer, int light, int overlay, int color) { - this.shape1.render(ms, buffer, light, overlay, color); - this.shape2.render(ms, buffer, light, overlay, color); - this.shape3.render(ms, buffer, light, overlay, color); - this.head.render(ms, buffer, light, overlay, color); - } } diff --git a/src/main/java/twilightforest/client/model/entity/MosquitoSwarmModel.java b/src/main/java/twilightforest/client/model/entity/MosquitoSwarmModel.java index 56186bcc2a..1e0216b123 100644 --- a/src/main/java/twilightforest/client/model/entity/MosquitoSwarmModel.java +++ b/src/main/java/twilightforest/client/model/entity/MosquitoSwarmModel.java @@ -1,20 +1,20 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import org.joml.Vector3f; -import twilightforest.entity.monster.MosquitoSwarm; -public class MosquitoSwarmModel extends HierarchicalModel { - private final ModelPart root; +public class MosquitoSwarmModel extends EntityModel { + private final ModelPart core; private final ModelPart group1; private final ModelPart group2; @@ -26,7 +26,7 @@ public class MosquitoSwarmModel extends HierarchicalModel { private static final RandomSource rand = RandomSource.create(); public MosquitoSwarmModel(ModelPart root) { - this.root = root; + super(root); this.core = this.root.getChild("core"); @@ -82,43 +82,34 @@ public static void addBugsToGroup(int iteration, PartDefinition parent) { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(MosquitoSwarm entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - - } - - @Override - public void prepareMobModel(MosquitoSwarm entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.core.yRot = (entity.tickCount + partialTicks) / 5.0F; - this.core.xRot = Mth.sin((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - this.core.zRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - - this.group1.yRot = (entity.tickCount + partialTicks) / 2.0F; - this.group1.xRot = Mth.sin((entity.tickCount + partialTicks) / 6.0F) / 2.0F; - this.group1.zRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - - this.group2.yRot = Mth.sin((entity.tickCount + partialTicks) / 2.0F) / 3.0F; - this.group2.xRot = (entity.tickCount + partialTicks) / 5.0F; - this.group2.zRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - - this.group3.yRot = Mth.sin((entity.tickCount + partialTicks) / 7.0F) / 3.0F; - this.group3.xRot = Mth.cos((entity.tickCount + partialTicks) / 4.0F) / 2.0F; - this.group3.zRot = (entity.tickCount + partialTicks) / 5.0F; - - this.group4.xRot = (entity.tickCount + partialTicks) / 2.0F; - this.group4.zRot = Mth.sin((entity.tickCount + partialTicks) / 6.0F) / 2.0F; - this.group4.yRot = Mth.sin((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - - this.group5.zRot = (entity.tickCount + partialTicks) / 2.0F; - this.group5.yRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - this.group5.xRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - - this.group6.zRot = Mth.cos((entity.tickCount + partialTicks) / 7.0F) / 3.0F; - this.group6.xRot = Mth.cos((entity.tickCount + partialTicks) / 4.0F) / 2.0F; - this.group6.yRot = (entity.tickCount + partialTicks) / 5.0F; + public void setupAnim(LivingEntityRenderState state) { + super.setupAnim(state); + this.core.yRot = (state.ageInTicks) / 5.0F; + this.core.xRot = Mth.sin((state.ageInTicks) / 5.0F) / 4.0F; + this.core.zRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; + + this.group1.yRot = (state.ageInTicks) / 2.0F; + this.group1.xRot = Mth.sin((state.ageInTicks) / 6.0F) / 2.0F; + this.group1.zRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; + + this.group2.yRot = Mth.sin((state.ageInTicks) / 2.0F) / 3.0F; + this.group2.xRot = (state.ageInTicks) / 5.0F; + this.group2.zRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; + + this.group3.yRot = Mth.sin((state.ageInTicks) / 7.0F) / 3.0F; + this.group3.xRot = Mth.cos((state.ageInTicks) / 4.0F) / 2.0F; + this.group3.zRot = (state.ageInTicks) / 5.0F; + + this.group4.xRot = (state.ageInTicks) / 2.0F; + this.group4.zRot = Mth.sin((state.ageInTicks) / 6.0F) / 2.0F; + this.group4.yRot = Mth.sin((state.ageInTicks) / 5.0F) / 4.0F; + + this.group5.zRot = (state.ageInTicks) / 2.0F; + this.group5.yRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; + this.group5.xRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; + + this.group6.zRot = Mth.cos((state.ageInTicks) / 7.0F) / 3.0F; + this.group6.xRot = Mth.cos((state.ageInTicks) / 4.0F) / 2.0F; + this.group6.yRot = (state.ageInTicks) / 5.0F; } } diff --git a/src/main/java/twilightforest/client/model/entity/NagaModel.java b/src/main/java/twilightforest/client/model/entity/NagaModel.java index d2210e80f8..76b74546b1 100644 --- a/src/main/java/twilightforest/client/model/entity/NagaModel.java +++ b/src/main/java/twilightforest/client/model/entity/NagaModel.java @@ -1,9 +1,8 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -12,22 +11,19 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import net.minecraft.util.FastColor; -import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; -import org.jetbrains.annotations.Nullable; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.NagaRenderer; import twilightforest.entity.boss.Naga; -public class NagaModel extends ListModel implements TrophyBlockModel { +public class NagaModel extends EntityModel implements TrophyBlockModel { private final ModelPart head; - @Nullable - private T entity; public NagaModel(ModelPart root) { + super(root); this.head = root.getChild("head"); } @@ -64,11 +60,6 @@ private static LayerDefinition createJappaModel() { return LayerDefinition.create(meshdefinition, 128, 64); } - @Override - public Iterable parts() { - return ImmutableList.of(this.head); - } - @Override public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { if (this.entity instanceof Naga naga) { @@ -76,12 +67,6 @@ public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, i } else { this.head.render(stack, builder, light, overlay, color); } - this.entity = null; - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.entity = entity; } @Override diff --git a/src/main/java/twilightforest/client/model/entity/NoopModel.java b/src/main/java/twilightforest/client/model/entity/NoopModel.java deleted file mode 100644 index ae8efbfc99..0000000000 --- a/src/main/java/twilightforest/client/model/entity/NoopModel.java +++ /dev/null @@ -1,18 +0,0 @@ -package twilightforest.client.model.entity; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.world.entity.LivingEntity; - -public class NoopModel extends HumanoidModel { - - public NoopModel(ModelPart part) { - super(part); - } - - @Override - public void renderToBuffer(PoseStack ms, VertexConsumer buffers, int light, int overlay, int color) { - } -} diff --git a/src/main/java/twilightforest/client/model/entity/PenguinModel.java b/src/main/java/twilightforest/client/model/entity/PenguinModel.java index af242d569e..3d173a93b9 100644 --- a/src/main/java/twilightforest/client/model/entity/PenguinModel.java +++ b/src/main/java/twilightforest/client/model/entity/PenguinModel.java @@ -12,10 +12,11 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.entity.passive.Penguin; -public class PenguinModel extends HumanoidModel { +public class PenguinModel extends HumanoidModel { public PenguinModel(ModelPart root) { super(root); @@ -66,35 +67,14 @@ public static LayerDefinition create() { } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (this.young) { - float f = 2.0F; - stack.pushPose(); - stack.scale(1.0F / f, 1.0F / f, 1.0F / f); - stack.translate(0.0F, 1.5F, 0.0F); - this.headParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - stack.popPose(); - - stack.pushPose(); - stack.scale(1.0F / f, 1.0F / f, 1.0F / f); - stack.translate(0.0F, 1.5F, 0.0F); - this.bodyParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - stack.popPose(); - } else { - this.headParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - this.bodyParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - } - } - - @Override - public void setupAnim(Penguin entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; + public void setupAnim(HumanoidRenderState state) { + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; - this.rightLeg.xRot = Mth.cos(limbSwing) * 0.7F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing + Mth.PI) * 0.7F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos) * 0.7F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos + Mth.PI) * 0.7F * state.walkAnimationSpeed; - this.rightArm.zRot = ageInTicks; - this.leftArm.zRot = -ageInTicks; + this.rightArm.zRot = state.ageInTicks; + this.leftArm.zRot = -state.ageInTicks; } } diff --git a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java index 206ec0e00c..7fc5e5ce1c 100644 --- a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java @@ -5,6 +5,7 @@ // - ZeuX package twilightforest.client.model.entity; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -12,13 +13,14 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.state.PinchBeetleRenderState; import twilightforest.entity.monster.PinchBeetle; -public class PinchBeetleModel extends HierarchicalModel { +public class PinchBeetleModel extends EntityModel { - private final ModelPart root; private final ModelPart head; private final ModelPart rightLeg1; private final ModelPart rightLeg2; @@ -30,7 +32,7 @@ public class PinchBeetleModel extends HierarchicalModel { private final ModelPart leftPincer; public PinchBeetleModel(ModelPart root) { - this.root = root; + super(root); this.head = root.getChild("head"); @@ -249,14 +251,10 @@ private static LayerDefinition createJappaModel() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(PinchBeetle entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(PinchBeetleRenderState state) { + super.setupAnim(state); + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; float legZ = (Mth.PI / 11.0F); this.leftLeg1.zRot = legZ; @@ -275,13 +273,13 @@ public void setupAnim(PinchBeetle entity, float limbSwing, float limbSwingAmount this.leftLeg3.yRot = var10 * 2.0F + var9; this.rightLeg3.yRot = -var10 * 2.0F - var9; - float var11 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount; - float var12 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + Mth.PI) * 0.4F) * limbSwingAmount; - float var14 = -(Mth.cos(limbSwing * 0.6662F * 2.0F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * limbSwingAmount; + float var11 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + 0.0F) * 0.4F) * state.walkAnimationSpeed; + float var12 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float var14 = -(Mth.cos(state.walkAnimationPos * 0.6662F * 2.0F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * state.walkAnimationSpeed; - float var15 = Math.abs(Mth.sin(limbSwing * 0.6662F + 0.0F) * 0.4F) * limbSwingAmount; - float var16 = Math.abs(Mth.sin(limbSwing * 0.6662F + Mth.PI) * 0.4F) * limbSwingAmount; - float var18 = Math.abs(Mth.sin(limbSwing * 0.6662F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * limbSwingAmount; + float var15 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + 0.0F) * 0.4F) * state.walkAnimationSpeed; + float var16 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + Mth.PI) * 0.4F) * state.walkAnimationSpeed; + float var18 = Math.abs(Mth.sin(state.walkAnimationPos * 0.6662F + (Mth.PI * 3.0F / 2.0F)) * 0.4F) * state.walkAnimationSpeed; this.leftLeg1.yRot += var11; this.rightLeg1.yRot -= var11; @@ -298,11 +296,8 @@ public void setupAnim(PinchBeetle entity, float limbSwing, float limbSwingAmount this.leftLeg3.zRot += var18; this.rightLeg3.zRot -= var18; - } - @Override - public void prepareMobModel(PinchBeetle entity, float limbSwing, float limbSwingAmount, float partialTicks) { - if (entity.isVehicle()) { + if (state.isHoldingVictim) { // open jaws this.rightPincer.yRot = -(JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 20.0F : 170.0F) * Mth.DEG_TO_RAD; this.leftPincer.yRot = 20.0F * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/model/entity/ProtectionBoxModel.java b/src/main/java/twilightforest/client/model/entity/ProtectionBoxModel.java index ba375abfff..672bfebe8f 100644 --- a/src/main/java/twilightforest/client/model/entity/ProtectionBoxModel.java +++ b/src/main/java/twilightforest/client/model/entity/ProtectionBoxModel.java @@ -1,21 +1,14 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import org.jetbrains.annotations.Nullable; -import twilightforest.entity.ProtectionBox; +import twilightforest.client.state.ProtectionBoxRenderState; -public class ProtectionBoxModel extends ListModel { - - @Nullable - private T entity; +public class ProtectionBoxModel extends EntityModel { public ModelPart box; private int lastPixelsX; @@ -23,6 +16,7 @@ public class ProtectionBoxModel extends ListModel { private int lastPixelsZ; public ProtectionBoxModel(ModelPart root) { + super(root); this.box = root.getChild("box"); } @@ -39,29 +33,15 @@ public static MeshDefinition createMesh() { } @Override - public Iterable parts() { - return ImmutableList.of(this.box); - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - if (this.entity != null) { - int pixelsX = this.entity.sizeX * 16 + 2; - int pixelsY = this.entity.sizeY * 16 + 2; - int pixelsZ = this.entity.sizeZ * 16 + 2; - - if (pixelsX != this.lastPixelsX || pixelsY != this.lastPixelsY || pixelsZ != this.lastPixelsZ) { - this.resizeBoxElement(pixelsX, pixelsY, pixelsZ); - } + public void setupAnim(ProtectionBoxRenderState state) { + super.setupAnim(state); + int pixelsX = state.sizeX * 16 + 2; + int pixelsY = state.sizeY * 16 + 2; + int pixelsZ = state.sizeZ * 16 + 2; + + if (pixelsX != this.lastPixelsX || pixelsY != this.lastPixelsY || pixelsZ != this.lastPixelsZ) { + this.resizeBoxElement(pixelsX, pixelsY, pixelsZ); } - - super.renderToBuffer(stack, consumer, light, overlay, color); - this.entity = null; - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.entity = entity; } private void resizeBoxElement(int pixelsX, int pixelsY, int pixelsZ) { diff --git a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java index 2b4da6eefc..475882ce53 100644 --- a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java +++ b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java @@ -8,6 +8,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -20,11 +21,12 @@ import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.QuestRamRenderer; +import twilightforest.client.state.QuestingRamRenderState; import twilightforest.entity.passive.QuestRam; import java.util.Arrays; -public class QuestRamModel extends HierarchicalModel implements TrophyBlockModel { +public class QuestRamModel extends EntityModel implements TrophyBlockModel { private final ModelPart root; private final ModelPart head; @@ -277,41 +279,33 @@ private static String getSegmentName(int num) { return "segment" + num; } - @Override - public ModelPart root() { - return this.root; - } - @Override public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { super.renderToBuffer(stack, builder, light, overlay, color); for (int i = 0; i < 16; i++) { final int dyeRgb = Sheep.getColor(DyeColor.byId(i)); - segments[i].render(stack, builder, light, overlay, dyeRgb); + this.segments[i].render(stack, builder, light, overlay, dyeRgb); } } @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; + public void setupAnim(QuestingRamRenderState state) { + super.setupAnim(state); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { this.neck.yRot = this.head.yRot; } - this.leftFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount * 0.5F; - this.rightFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount * 0.5F; - this.leftBackLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount * 0.5F; - this.rightBackLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount * 0.5F; - } - - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { + this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed * 0.5F; + this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed * 0.5F; + this.leftBackLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed * 0.5F; + this.rightBackLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed * 0.5F; // how many colors should we display? - int count = entity.countColorsSet(); + int count = state.countColorsSet(); boolean jappa = JappaPackReloadListener.INSTANCE.isJappaPackLoaded(); this.head.z = -count - (jappa ? 20 : 11); @@ -326,7 +320,7 @@ public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, fl // set up the colors displayed in color order int segmentOffset = 0; for (int color : this.colorOrder) { - if (entity.isColorPresent(DyeColor.byId(color))) { + if (state.isColorPresent(DyeColor.byId(color))) { this.segments[color].visible = true; this.segments[color].z = segmentOffset - count - (jappa ? 10 : 0); diff --git a/src/main/java/twilightforest/client/model/entity/RavenModel.java b/src/main/java/twilightforest/client/model/entity/RavenModel.java index 30da109ab0..6d910873c4 100644 --- a/src/main/java/twilightforest/client/model/entity/RavenModel.java +++ b/src/main/java/twilightforest/client/model/entity/RavenModel.java @@ -6,7 +6,7 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -15,10 +15,10 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.Raven; +import twilightforest.client.state.BirdRenderState; + +public class RavenModel extends EntityModel { -public class RavenModel extends HierarchicalModel { - private final ModelPart root; private final ModelPart head; private final ModelPart rightWing; private final ModelPart leftWing; @@ -26,7 +26,7 @@ public class RavenModel extends HierarchicalModel { private final ModelPart leftLeg; public RavenModel(ModelPart root) { - this.root = root; + super(root); this.head = root.getChild("head"); var body = root.getChild("body"); @@ -147,23 +147,19 @@ private static LayerDefinition createJappaModel() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void setupAnim(Raven entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.zRot = netHeadYaw > 5.0F ? -0.2617994F : 0.0F; + public void setupAnim(BirdRenderState state) { + super.setupAnim(state); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.zRot = state.yRot > 5.0F ? -0.2617994F : 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; - this.rightWing.zRot = ageInTicks; - this.leftWing.zRot = -ageInTicks; + this.rightWing.zRot = state.ageInTicks; + this.leftWing.zRot = -state.ageInTicks; - if (entity.isBirdLanded()) { + if (state.landed) { this.rightLeg.y = 21.0F; this.leftLeg.y = 21.0F; } else { diff --git a/src/main/java/twilightforest/client/model/entity/RedThreadModel.java b/src/main/java/twilightforest/client/model/entity/RedThreadModel.java index 2eef06e9a0..1a215405d6 100644 --- a/src/main/java/twilightforest/client/model/entity/RedThreadModel.java +++ b/src/main/java/twilightforest/client/model/entity/RedThreadModel.java @@ -22,7 +22,7 @@ public class RedThreadModel extends Model { private final ModelPart right; public RedThreadModel(ModelPart root) { - super(RenderType::entityCutoutNoCull); + super(root, RenderType::entityCutoutNoCull); this.center = root.getChild("center"); this.up = root.getChild("up"); this.down = root.getChild("down"); @@ -62,15 +62,6 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 16, 16); } - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - this.center.render(stack, consumer, light, overlay, color); - this.up.render(stack, consumer, light, overlay, color); - this.down.render(stack, consumer, light, overlay, color); - this.left.render(stack, consumer, light, overlay, color); - this.right.render(stack, consumer, light, overlay, color); - } - public void renderCenterPiece(PoseStack stack, VertexConsumer consumer, int light) { this.center.render(stack, consumer, light, OverlayTexture.NO_OVERLAY); } diff --git a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java index 75c7166684..6d94bc7f95 100644 --- a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java +++ b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java @@ -6,9 +6,10 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.model.ZombieModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.entity.state.ZombieRenderState; import twilightforest.entity.monster.RisingZombie; -public class RisingZombieModel extends ZombieModel { +public class RisingZombieModel extends ZombieModel { private float tick; @@ -45,8 +46,8 @@ public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, } @Override - protected void setupAttackAnimation(RisingZombie zombie, float ageInTicks) { + protected void setupAttackAnimation(ZombieRenderState zombie, float ageInTicks) { super.setupAttackAnimation(zombie, ageInTicks); - this.tick = ageInTicks + Minecraft.getInstance().getTimer().getGameTimeDeltaTicks(); + this.tick = ageInTicks + Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(); } } diff --git a/src/main/java/twilightforest/client/model/entity/SkeletonDruidModel.java b/src/main/java/twilightforest/client/model/entity/SkeletonDruidModel.java index 290e37daa8..67313fe0d9 100644 --- a/src/main/java/twilightforest/client/model/entity/SkeletonDruidModel.java +++ b/src/main/java/twilightforest/client/model/entity/SkeletonDruidModel.java @@ -1,67 +1,51 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import net.minecraft.client.model.SkeletonModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import twilightforest.entity.monster.SkeletonDruid; +import net.minecraft.client.renderer.entity.state.SkeletonRenderState; -public class SkeletonDruidModel extends SkeletonModel { - - private final ModelPart dress; +public class SkeletonDruidModel extends SkeletonModel { public SkeletonDruidModel(ModelPart root) { super(root); - - this.dress = root.getChild("dress"); } - public static LayerDefinition create(CubeDeformation deformation) { - MeshDefinition meshdefinition = SkeletonModel.createMesh(deformation, 0); + public static LayerDefinition create() { + MeshDefinition meshdefinition = SkeletonModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(8, 16) - .addBox(-4.0F, 0.0F, -2.0F, 8.0F, 12.0F, 4.0F, deformation), + .addBox(-4.0F, 0.0F, -2.0F, 8.0F, 12.0F, 4.0F), PartPose.ZERO); partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create().mirror() .texOffs(0, 16) - .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F, deformation), + .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(5.0F, 2.0F, 0.0F)); partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() .texOffs(0, 16) - .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F, deformation), + .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(-5.0F, 2.0F, 0.0F)); partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create().mirror() .texOffs(0, 16) - .addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, deformation), + .addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(3.0F, 12.0F, 0.0F)); partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() .texOffs(0, 16) - .addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, deformation), + .addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(-1.0F, 12.0F, 0.0F)); partdefinition.addOrReplaceChild("dress", CubeListBuilder.create() .texOffs(32, 16) - .addBox(-4.0F, 12.0F, -2.0F, 8.0F, 12.0F, 4.0F, deformation), + .addBox(-4.0F, 12.0F, -2.0F, 8.0F, 12.0F, 4.0F), PartPose.ZERO); return LayerDefinition.create(meshdefinition, 64, 32); } - - - public static LayerDefinition create() { - return create(CubeDeformation.NONE); - } - - @Override - protected Iterable bodyParts() { - return Iterables.concat(super.bodyParts(), ImmutableList.of(this.dress)); - } } diff --git a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java index edfa7612ab..b1352bea3a 100644 --- a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java @@ -7,6 +7,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -14,12 +15,13 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.monster.SlimeBeetle; -public class SlimeBeetleModel extends HierarchicalModel { - private final ModelPart root; +public class SlimeBeetleModel extends EntityModel { + private final ModelPart head; private final ModelPart rightLeg1; private final ModelPart rightLeg2; @@ -33,7 +35,7 @@ public class SlimeBeetleModel extends HierarchicalModel implements TrophyBlockModel { +public class SnowQueenModel extends HumanoidModel implements TrophyBlockModel { public SnowQueenModel(ModelPart root) { super(root); @@ -182,14 +182,13 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(SnowQueen entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - + public void setupAnim(SnowQueenRenderState state) { + super.setupAnim(state); // in beam phase, arms forwards - if (entity.getCurrentPhase() == Phase.BEAM) { - if (entity.isBreathing()) { - float f6 = Mth.sin(this.attackTime * Mth.PI); - float f7 = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); + if (state.phase == Phase.BEAM) { + if (state.breathing) { + float f6 = Mth.sin(state.attackTime * Mth.PI); + float f7 = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - f6 * 0.6F); @@ -198,7 +197,7 @@ public void setupAnim(SnowQueen entity, float limbSwing, float limbSwingAmount, this.leftArm.xRot = -Mth.HALF_PI; this.rightArm.xRot -= f6 * 1.2F - f7 * 0.4F; this.leftArm.xRot -= f6 * 1.2F - f7 * 0.4F; - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); } else { // arms up this.rightArm.xRot += Mth.PI; diff --git a/src/main/java/twilightforest/client/model/entity/SpikeBlockModel.java b/src/main/java/twilightforest/client/model/entity/SpikeBlockModel.java index f255660c5d..350da164dc 100644 --- a/src/main/java/twilightforest/client/model/entity/SpikeBlockModel.java +++ b/src/main/java/twilightforest/client/model/entity/SpikeBlockModel.java @@ -1,21 +1,19 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.RenderType; import net.minecraft.util.Mth; -import twilightforest.entity.SpikeBlock; -public class SpikeBlockModel extends ListModel { - private final ModelPart block; +public class SpikeBlockModel extends Model { public SpikeBlockModel(ModelPart root) { - this.block = root.getChild("block"); + super(root, RenderType::entityCutoutNoCull); } public static LayerDefinition create() { @@ -169,14 +167,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 16); } - - @Override - public void setupAnim(SpikeBlock entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - - } - - @Override - public Iterable parts() { - return ImmutableList.of(this.block); - } } diff --git a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java index 8f2866fb4d..5ebf5bec47 100644 --- a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java +++ b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java @@ -10,18 +10,19 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.entity.passive.Squirrel; -public class SquirrelModel extends QuadrupedModel { +public class SquirrelModel extends QuadrupedModel { private final ModelPart tail; private final ModelPart tailPart1; private final ModelPart tailPart2; public SquirrelModel(ModelPart root) { - super(root, false, 4.0F, 4.0F, 2.0F, 2.0F, 24); + super(root); this.tail = this.body.getChild("tail"); this.tailPart1 = this.tail.getChild("tail_1"); this.tailPart2 = this.tailPart1.getChild("tail_2"); @@ -142,23 +143,24 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(Squirrel entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.rightHindLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftHindLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.rightFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; - this.leftFrontLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - - if (limbSwingAmount > 0.2) { - float wiggle = Math.min(limbSwingAmount, 0.6F); - this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + (Mth.cos(ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; - this.tailPart1.xRot = Mth.cos(ageInTicks * 0.7774F) * 1.2F * wiggle; - this.tailPart2.xRot = Mth.cos(ageInTicks * 0.8886F + Mth.PI / 2.0F) * 1.4F * wiggle; + public void setupAnim(LivingEntityRenderState state) { + super.setupAnim(state); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.rightHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; + this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + + if (state.walkAnimationSpeed > 0.2) { + float wiggle = Math.min(state.walkAnimationSpeed, 0.6F); + this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + (Mth.cos(state.ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; + this.tailPart1.xRot = Mth.cos(state.ageInTicks * 0.7774F) * 1.2F * wiggle; + this.tailPart2.xRot = Mth.cos(state.ageInTicks * 0.8886F + Mth.PI / 2.0F) * 1.4F * wiggle; } else { - this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + Mth.cos(ageInTicks * 0.3335F) * 0.15F; - this.tailPart1.xRot = 0.1F + Mth.cos(ageInTicks * 0.4445F) * 0.20F; - this.tailPart2.xRot = 0.1F + Mth.cos(ageInTicks * 0.5555F) * 0.25F; + this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + Mth.cos(state.ageInTicks * 0.3335F) * 0.15F; + this.tailPart1.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.4445F) * 0.20F; + this.tailPart2.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.5555F) * 0.25F; } } } diff --git a/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java b/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java index 614da66e12..6da9da7211 100644 --- a/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java +++ b/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java @@ -1,28 +1,28 @@ package twilightforest.client.model.entity; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.entity.monster.StableIceCore; -public class StableIceCoreModel extends UnstableIceCoreModel { +public class StableIceCoreModel extends UnstableIceCoreModel { public StableIceCoreModel(ModelPart root) { super(root); } @Override - public void prepareMobModel(StableIceCore entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.alive = entity.isAlive(); - + public void setupAnim(LivingEntityRenderState state) { + this.resetPose(); for (int i = 0; i < this.spikes.length; i++) { // rotate the spikes - this.spikes[i].yRot = (3.14159F / 2F) + (Mth.sin((entity.tickCount + partialTicks) / 5.0F) * 0.5F); - this.spikes[i].xRot = (entity.tickCount + partialTicks) / 5.0F; + this.spikes[i].yRot = (3.14159F / 2F) + (Mth.sin((state.ageInTicks) / 5.0F) * 0.5F); + this.spikes[i].xRot = (state.ageInTicks) / 5.0F; this.spikes[i].zRot = Mth.cos(i / 5.0F) / 4.0F; this.spikes[i].xRot += i * (Mth.PI / 8.0F); - this.cubes[i].y = 9.5F + Mth.sin((i + entity.tickCount + partialTicks) / 3.0F) * 3.0F; + this.cubes[i].y = 9.5F + Mth.sin((i + state.ageInTicks) / 3.0F) * 3.0F; } } } diff --git a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java index 1085a2c326..82495b6774 100644 --- a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java @@ -1,26 +1,26 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Mob; -public class TFGhastModel extends HierarchicalModel { +public class TFGhastModel extends EntityModel { protected final static int tentacleCount = 9; - private final ModelPart root; private final ModelPart body; private final ModelPart[] tentacles = new ModelPart[tentacleCount]; public TFGhastModel(ModelPart root) { - this.root = root; - this.body = this.root.getChild("body"); + super(root); + this.body = root.getChild("body"); for (int i = 0; i < this.tentacles.length; i++) { this.tentacles[i] = this.body.getChild("tentacle_" + i); @@ -45,11 +45,6 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - @Override - public ModelPart root() { - return this.root; - } - private static void makeTentacle(PartDefinition parent, String name, RandomSource random, int i) { final float length = random.nextInt(7) + 8.0F; @@ -63,14 +58,15 @@ private static void makeTentacle(PartDefinition parent, String name, RandomSourc } @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + public void setupAnim(LivingEntityRenderState state) { + super.setupAnim(state); // wave tentacles for (int i = 0; i < this.tentacles.length; ++i) { - this.tentacles[i].xRot = 0.2F * Mth.sin(ageInTicks * 0.3F + i) + 0.4F; + this.tentacles[i].xRot = 0.2F * Mth.sin(state.ageInTicks * 0.3F + i) + 0.4F; } // make body face what we're looking at - this.body.xRot = headPitch * Mth.DEG_TO_RAD; - this.body.yRot = netHeadYaw * Mth.DEG_TO_RAD; + this.body.xRot = state.xRot * Mth.DEG_TO_RAD; + this.body.yRot = state.yRot * Mth.DEG_TO_RAD; } } diff --git a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java index e01a37f556..7dee3610bd 100644 --- a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java +++ b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java @@ -6,10 +6,7 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.AgeableListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -18,9 +15,9 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.TinyBird; +import twilightforest.client.state.BirdRenderState; -public class TinyBirdModel extends AgeableListModel { +public class TinyBirdModel extends EntityModel { private final ModelPart head; private final ModelPart body; @@ -30,12 +27,13 @@ public class TinyBirdModel extends AgeableListModel { private final ModelPart leftWing; public TinyBirdModel(ModelPart root) { + super(root); this.head = root.getChild("head"); this.body = root.getChild("body"); this.rightFoot = root.getChild("right_foot"); this.leftFoot = root.getChild("left_foot"); - this.rightWing = body.getChild("right_wing"); - this.leftWing = body.getChild("left_wing"); + this.rightWing = this.body.getChild("right_wing"); + this.leftWing = this.body.getChild("left_wing"); } public static LayerDefinition checkForPack() { @@ -136,46 +134,18 @@ private static LayerDefinition createJappaModel() { } @Override - protected Iterable headParts() { - return ImmutableList.of(this.head); - } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.head, this.body, this.rightFoot, this.leftFoot); - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (young) { - float f = 2.0F; - stack.pushPose(); - stack.translate(0.0F, 5.0F, 0.75F); - this.headParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - stack.popPose(); - stack.pushPose(); - stack.scale(1.0F / f, 1.0F / f, 1.0F / f); - stack.translate(0.0F, 24.0F, 0.0F); - this.bodyParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - stack.popPose(); - } else { - this.headParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - this.bodyParts().forEach((renderer) -> renderer.render(stack, builder, light, overlay, color)); - } - } - - @Override - public void setupAnim(TinyBird entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * Mth.DEG_TO_RAD; - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; + public void setupAnim(BirdRenderState state) { + super.setupAnim(state); + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; - this.rightFoot.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftFoot.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightFoot.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftFoot.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; - this.rightWing.zRot = ageInTicks; - this.leftWing.zRot = -ageInTicks; + this.rightWing.zRot = state.ageInTicks; + this.leftWing.zRot = -state.ageInTicks; - if (entity.isBirdLanded()) { + if (state.landed) { this.rightFoot.y = 23.0F; this.leftFoot.y = 23.0F; } else { diff --git a/src/main/java/twilightforest/client/model/entity/TrollModel.java b/src/main/java/twilightforest/client/model/entity/TrollModel.java index 6b037754bc..7fd789427e 100644 --- a/src/main/java/twilightforest/client/model/entity/TrollModel.java +++ b/src/main/java/twilightforest/client/model/entity/TrollModel.java @@ -7,9 +7,9 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.Troll; +import twilightforest.client.state.TrollRenderState; -public class TrollModel extends HumanoidModel { +public class TrollModel extends HumanoidModel { public TrollModel(ModelPart root) { super(root); @@ -105,36 +105,29 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(Troll entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(TrollRenderState state) { + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.hat.yRot = this.head.yRot; this.hat.xRot = this.head.xRot; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - if (entity.isVehicle()) { + if (state.isHoldingRock) { // arms up! this.rightArm.xRot = Mth.PI; this.leftArm.xRot = Mth.PI; } else { - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * state.walkAnimationSpeed * 0.5F; } this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; - if (this.leftArmPose != ArmPose.EMPTY) { - this.rightArm.xRot += Mth.PI; - } - if (this.rightArmPose != ArmPose.EMPTY) { - this.leftArm.xRot += Mth.PI; - } - - if (this.attackTime > 0F) { - float swing = 1.0F - this.attackTime; + if (state.attackTime > 0F) { + float swing = 1.0F - state.attackTime; this.rightArm.xRot -= (Mth.PI * swing); this.leftArm.xRot -= (Mth.PI * swing); @@ -143,16 +136,13 @@ public void setupAnim(Troll entity, float limbSwing, float limbSwingAmount, floa this.rightArm.yRot = 0.0F; this.leftArm.yRot = 0.0F; - if (!entity.isVehicle()) { - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + if (!state.isHoldingRock) { + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); } - } - @Override - public void prepareMobModel(Troll entity, float limbSwing, float limbSwingAmount, float partialTicks) { - if (entity.getTarget() != null) { - this.rightArm.xRot += Mth.PI; - this.leftArm.xRot += Mth.PI; - } +// if (entity.getTarget() != null) { +// this.rightArm.xRot += Mth.PI; +// this.leftArm.xRot += Mth.PI; +// } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/entity/UnstableIceCoreModel.java b/src/main/java/twilightforest/client/model/entity/UnstableIceCoreModel.java index fb2f12e478..dd2f3d99e5 100644 --- a/src/main/java/twilightforest/client/model/entity/UnstableIceCoreModel.java +++ b/src/main/java/twilightforest/client/model/entity/UnstableIceCoreModel.java @@ -1,8 +1,6 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.HierarchicalModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -10,21 +8,16 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.BaseIceMob; -public class UnstableIceCoreModel extends HierarchicalModel { +public class UnstableIceCoreModel extends EntityModel { protected final ModelPart[] spikes = new ModelPart[16]; protected final ModelPart[] cubes = new ModelPart[16]; - private final ModelPart root; - protected boolean alive; - public UnstableIceCoreModel(ModelPart root) { - super(RenderType::entityTranslucent); - this.root = root; + super(root, RenderType::entityTranslucent); for (int i = 0; i < this.spikes.length; i++) { this.spikes[i] = root.getChild("spike_" + i); @@ -62,39 +55,24 @@ public static LayerDefinition create() { } @Override - public ModelPart root() { - return this.root; - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - this.root().render(stack, builder, light, overlay, FastColor.ARGB32.color((int) (FastColor.ARGB32.alpha(color) * (alive ? 0.6F : 1.0F)), FastColor.ARGB32.red(color), FastColor.ARGB32.green(color), FastColor.ARGB32.blue(color))); - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - - } - - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - this.alive = entity.isAlive(); + public void setupAnim(LivingEntityRenderState state) { + super.setupAnim(state); for (int i = 0; i < this.spikes.length; i++) { // rotate the spikes - this.spikes[i].yRot = (entity.tickCount + partialTicks) / 5.0F; - this.spikes[i].xRot = Mth.sin((entity.tickCount + partialTicks) / 5.0F) / 4.0F; - this.spikes[i].zRot = Mth.cos((entity.tickCount + partialTicks) / 5.0F) / 4.0F; + this.spikes[i].yRot = state.ageInTicks / 5.0F; + this.spikes[i].xRot = Mth.sin((state.ageInTicks) / 5.0F) / 4.0F; + this.spikes[i].zRot = Mth.cos((state.ageInTicks) / 5.0F) / 4.0F; this.spikes[i].xRot += i * 5.0F; this.spikes[i].yRot += i * 2.5F; this.spikes[i].zRot += i * 3.0F; - this.spikes[i].x = Mth.cos((entity.tickCount + partialTicks) / i) * 3.0F; - this.spikes[i].y = 5.0F + Mth.sin((entity.tickCount + partialTicks) / i) * 3.0F; - this.spikes[i].z = Mth.sin((entity.tickCount + partialTicks) / i) * 3.0F; + this.spikes[i].x = Mth.cos((state.ageInTicks) / i) * 3.0F; + this.spikes[i].y = 5.0F + Mth.sin((state.ageInTicks) / i) * 3.0F; + this.spikes[i].z = Mth.sin((state.ageInTicks) / i) * 3.0F; - this.cubes[i].y = 10.0F + Mth.sin((i + entity.tickCount + partialTicks) / i) * 3.0F; + this.cubes[i].y = 10.0F + Mth.sin((i + state.ageInTicks) / i) * 3.0F; } } } diff --git a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java index 9bc16b522f..9333aef159 100644 --- a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java @@ -10,9 +10,9 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.UpperGoblinKnight; +import twilightforest.client.state.UpperGoblinKnightRenderState; -public class UpperGoblinKnightModel extends HumanoidModel { +public class UpperGoblinKnightModel extends HumanoidModel { private final ModelPart breastplate; private final ModelPart shield; @@ -175,58 +175,52 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(UpperGoblinKnight entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - boolean hasShield = entity.hasShield(); - - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(UpperGoblinKnightRenderState state) { + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.zRot = 0.0F; this.hat.yRot = this.head.yRot; this.hat.xRot = this.head.xRot; this.hat.zRot = this.head.zRot; - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; - float leftConstraint = hasShield ? 0.2F : limbSwingAmount; + float leftConstraint = state.hasShield ? 0.2F : state.walkAnimationSpeed; - if (entity.isShieldDisabled()) { - this.leftArm.zRot = ((Mth.cos(entity.tickCount * 3.25F) * Mth.PI * 0.4F) * Mth.DEG_TO_RAD) - 0.4F; + if (state.isShieldDisabled) { + this.leftArm.zRot = ((Mth.cos(state.ageInTicks * 3.25F) * Mth.PI * 0.4F) * Mth.DEG_TO_RAD) - 0.4F; } else { this.leftArm.zRot = 0.0F; } - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * leftConstraint * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * leftConstraint * 0.5F; this.rightArm.zRot = 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - if (this.riding) { + if (state.isPassenger) { this.rightArm.xRot -= (Mth.PI / 5.0F); this.leftArm.xRot -= (Mth.PI / 5.0F); this.rightLeg.xRot = 0; this.leftLeg.xRot = 0; } - if (this.leftArmPose != ArmPose.EMPTY) { - this.leftArm.xRot = this.leftArm.xRot * 0.5F - (Mth.PI / 10.0F); - } - this.rightArm.xRot = this.rightArm.xRot * 0.5F - (Mth.PI / 10.0F); rightArm.xRot -= (Mth.PI * 0.66F); // during swing move arm forward - if (entity.heavySpearTimer > 0) { - rightArm.xRot -= this.getArmRotationDuringSwing(60.0F - entity.heavySpearTimer) * Mth.DEG_TO_RAD; + if (state.spearTimer > 0) { + rightArm.xRot -= state.getArmRotationDuringSwing() * Mth.DEG_TO_RAD; } this.rightArm.yRot = 0.0F; this.leftArm.yRot = 0.0F; - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); // shield arm points somewhat inward this.leftArm.zRot = -this.leftArm.zRot; @@ -234,32 +228,7 @@ public void setupAnim(UpperGoblinKnight entity, float limbSwing, float limbSwing // fix shield so that it's always perpendicular to the floor this.shield.xRot = Mth.TWO_PI - this.leftArm.xRot; - this.breastplate.visible = entity.hasArmor(); - this.shield.visible = entity.hasShield(); - } - - private float getArmRotationDuringSwing(float attackTime) { - if (attackTime <= 10.0F) { - // rock back - return attackTime; - } - if (attackTime > 10.0F && attackTime <= 30.0F) { - // hang back - return 10.0F; - } - if (attackTime > 30.0F && attackTime <= 33.0F) { - // slam forward - return (attackTime - 30.0F) * -8.0F + 10.0F; - } - if (attackTime > 33.0F && attackTime <= 50.0F) { - // stay forward - return -15.0F; - } - if (attackTime > 50.0F && attackTime <= 60.0F) { - // back to normal - return (10.0F - (attackTime - 50.0F)) * -1.5F; - } - - return 0.0F; + this.breastplate.visible = state.hasArmor; + this.shield.visible = state.hasShield; } } diff --git a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java index 91eeca133f..fb8a7de533 100644 --- a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java @@ -10,13 +10,13 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; import twilightforest.client.renderer.entity.UrGhastRenderer; -import twilightforest.entity.boss.UrGhast; -public class UrGhastModel extends TFGhastModel implements TrophyBlockModel { +public class UrGhastModel extends TFGhastModel implements TrophyBlockModel { private final ModelPart[][] tentacles = new ModelPart[9][4]; private final ModelPart body; @@ -87,11 +87,11 @@ protected static void makeTentacle(PartDefinition parent, String name, int itera } @Override - public void setupAnim(UrGhast entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); + public void setupAnim(LivingEntityRenderState state) { + super.setupAnim(state); // wave tentacles - this.waveTentacles(limbSwingAmount, ageInTicks); + this.waveTentacles(state.walkAnimationSpeed, state.ageInTicks); } private void waveTentacles(float limbSwingAmount, float ageInTicks) { diff --git a/src/main/java/twilightforest/client/model/entity/WraithModel.java b/src/main/java/twilightforest/client/model/entity/WraithModel.java index c7489c226c..0b12140fac 100644 --- a/src/main/java/twilightforest/client/model/entity/WraithModel.java +++ b/src/main/java/twilightforest/client/model/entity/WraithModel.java @@ -1,26 +1,18 @@ package twilightforest.client.model.entity; -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.AnimationUtils; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.Wraith; -public class WraithModel extends HumanoidModel { - - private final ModelPart dress; +public class WraithModel extends HumanoidModel { public WraithModel(ModelPart root) { super(root, RenderType::entityTranslucent); - - this.dress = root.getChild("dress"); } public static LayerDefinition create() { @@ -46,26 +38,10 @@ public static LayerDefinition create() { } @Override - protected Iterable headParts() { - return ImmutableList.of(this.head, this.hat); - } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.rightArm, this.leftArm, this.dress); - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - super.renderToBuffer(stack, consumer, light, overlay, FastColor.ARGB32.color((int) (FastColor.ARGB32.alpha(color) * 0.6F), FastColor.ARGB32.red(color), FastColor.ARGB32.green(color), FastColor.ARGB32.blue(color))); - } - - @Override - public void setupAnim(Wraith entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - - float var8 = Mth.sin(this.attackTime * Mth.PI); - float var9 = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); + public void setupAnim(HumanoidRenderState state) { + super.setupAnim(state); + float var8 = Mth.sin(state.attackTime * Mth.PI); + float var9 = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - var8 * 0.6F); @@ -74,6 +50,6 @@ public void setupAnim(Wraith entity, float limbSwing, float limbSwingAmount, flo this.leftArm.xRot = -Mth.HALF_PI; this.rightArm.xRot -= var8 * 1.2F - var9 * 0.4F; this.leftArm.xRot -= var8 * 1.2F - var9 * 0.4F; - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); } } diff --git a/src/main/java/twilightforest/client/model/entity/YetiModel.java b/src/main/java/twilightforest/client/model/entity/YetiModel.java index 6ad0c8c0cf..27530d1454 100644 --- a/src/main/java/twilightforest/client/model/entity/YetiModel.java +++ b/src/main/java/twilightforest/client/model/entity/YetiModel.java @@ -9,9 +9,9 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.entity.monster.Yeti; +import twilightforest.client.state.YetiRenderState; -public class YetiModel extends HumanoidModel { +public class YetiModel extends HumanoidModel { private final ModelPart leftEye; private final ModelPart rightEye; private final ModelPart angryLeftEye; @@ -96,21 +96,26 @@ public static LayerDefinition create() { } @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.yRot = netHeadYaw * Mth.DEG_TO_RAD; - this.head.xRot = headPitch * Mth.DEG_TO_RAD; + public void setupAnim(YetiRenderState state) { + this.rightEye.visible = !state.isAngry; + this.leftEye.visible = !state.isAngry; + this.angryRightEye.visible = state.isAngry; + this.angryLeftEye.visible = state.isAngry; + + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.hat.yRot = this.head.yRot; this.hat.xRot = this.head.xRot; - this.rightArm.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 2.0F * limbSwingAmount * 0.5F; - this.leftArm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftArm.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 2.0F * state.walkAnimationSpeed * 0.5F; this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; - this.rightLeg.xRot = Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leftLeg.xRot = Mth.cos(limbSwing * 0.6662F + Mth.PI) * 1.4F * limbSwingAmount; + this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightLeg.yRot = 0.0F; this.leftLeg.yRot = 0.0F; - if (entity.isVehicle()) { + if (state.isHoldingEntity) { // arms up! this.rightArm.xRot += Mth.PI; this.leftArm.xRot += Mth.PI; @@ -119,12 +124,12 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag this.rightArm.yRot = 0.0F; this.leftArm.yRot = 0.0F; - AnimationUtils.bobArms(this.rightArm, this.leftArm, ageInTicks); + AnimationUtils.bobArms(this.rightArm, this.leftArm, state.ageInTicks); // if yeti is angry, hold arms forwards like a zombie - if (entity.isAngry()) { - float f6 = Mth.sin(this.attackTime * Mth.PI); - float f7 = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); + if (state.isAngry) { + float f6 = Mth.sin(state.attackTime * Mth.PI); + float f7 = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); this.rightArm.zRot = 0.0F; this.leftArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - f6 * 0.6F); @@ -133,29 +138,11 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag this.leftArm.xRot = -(Mth.HALF_PI); this.rightArm.xRot -= f6 * 1.2F - f7 * 0.4F; this.leftArm.xRot -= f6 * 1.2F - f7 * 0.4F; - if (entity.isVehicle()) { + if (state.isHoldingEntity) { // arms up! this.rightArm.xRot -= Mth.HALF_PI; this.leftArm.xRot -= Mth.HALF_PI; } } } - - /** - * Change eye color if yeti is angry - */ - @Override - public void prepareMobModel(T entity, float limbSwing, float limbSwingAmount, float partialTicks) { - if (entity.isAngry()) { - this.rightEye.visible = false; - this.leftEye.visible = false; - this.angryRightEye.visible = true; - this.angryLeftEye.visible = true; - } else { - this.rightEye.visible = true; - this.leftEye.visible = true; - this.angryRightEye.visible = false; - this.angryLeftEye.visible = false; - } - } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java index f783f233a7..728715025f 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java @@ -7,7 +7,6 @@ import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.util.Mth; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.entity.NoopModel; import twilightforest.entity.monster.SnowGuardian; public class SnowGuardianRenderer extends TFBipedRenderer> { diff --git a/src/main/java/twilightforest/client/state/AlphaYetiRenderState.java b/src/main/java/twilightforest/client/state/AlphaYetiRenderState.java new file mode 100644 index 0000000000..791edfb9c6 --- /dev/null +++ b/src/main/java/twilightforest/client/state/AlphaYetiRenderState.java @@ -0,0 +1,9 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class AlphaYetiRenderState extends HumanoidRenderState { + public boolean isTired; + public boolean isRampaging; + public boolean isHoldingEntity; +} diff --git a/src/main/java/twilightforest/client/state/BirdRenderState.java b/src/main/java/twilightforest/client/state/BirdRenderState.java new file mode 100644 index 0000000000..9cd8d7b95d --- /dev/null +++ b/src/main/java/twilightforest/client/state/BirdRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; + +public class BirdRenderState extends LivingEntityRenderState { + public boolean landed; +} diff --git a/src/main/java/twilightforest/client/state/DeathTomeRenderState.java b/src/main/java/twilightforest/client/state/DeathTomeRenderState.java new file mode 100644 index 0000000000..a4651e499f --- /dev/null +++ b/src/main/java/twilightforest/client/state/DeathTomeRenderState.java @@ -0,0 +1,14 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.util.Mth; + +public class DeathTomeRenderState extends LivingEntityRenderState { + public boolean onLectern; + private float oFlip; + private float flip; + + public float getFlip() { + return Mth.lerp(this.partialTick, this.oFlip, this.flip); + } +} diff --git a/src/main/java/twilightforest/client/state/HydraHeadRenderState.java b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java new file mode 100644 index 0000000000..b825116d12 --- /dev/null +++ b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java @@ -0,0 +1,19 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.util.Mth; +import twilightforest.entity.boss.HydraPart; + +public class HydraHeadRenderState extends LivingEntityRenderState { + private float mouthAngleO; + private float mouthAngle; + + public float getMouthAngle() { + return Mth.lerp(this.partialTick, this.mouthAngleO, this.mouthAngle); + } + + public float getRotationX(HydraPart whichHead, float time) { + return (whichHead.xRotO + (whichHead.getXRot() - whichHead.xRotO) * time) * Mth.DEG_TO_RAD; + } + +} diff --git a/src/main/java/twilightforest/client/state/HydraRenderState.java b/src/main/java/twilightforest/client/state/HydraRenderState.java new file mode 100644 index 0000000000..35ccae8ddf --- /dev/null +++ b/src/main/java/twilightforest/client/state/HydraRenderState.java @@ -0,0 +1,9 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.util.Mth; +import twilightforest.entity.boss.HydraPart; + +public class HydraRenderState extends LivingEntityRenderState { + public boolean renderFakeHeads; +} diff --git a/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java b/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java new file mode 100644 index 0000000000..6971004855 --- /dev/null +++ b/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class KnightPhatomRenderState extends HumanoidRenderState { + public boolean isCharging; +} diff --git a/src/main/java/twilightforest/client/state/KoboldRenderState.java b/src/main/java/twilightforest/client/state/KoboldRenderState.java new file mode 100644 index 0000000000..b03e07135a --- /dev/null +++ b/src/main/java/twilightforest/client/state/KoboldRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class KoboldRenderState extends HumanoidRenderState { + public boolean jumping; +} diff --git a/src/main/java/twilightforest/client/state/LichRenderState.java b/src/main/java/twilightforest/client/state/LichRenderState.java new file mode 100644 index 0000000000..bb866331cc --- /dev/null +++ b/src/main/java/twilightforest/client/state/LichRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class LichRenderState extends HumanoidRenderState { + public boolean isShadowClone; +} diff --git a/src/main/java/twilightforest/client/state/LowerGoblinKnightRenderState.java b/src/main/java/twilightforest/client/state/LowerGoblinKnightRenderState.java new file mode 100644 index 0000000000..759889608a --- /dev/null +++ b/src/main/java/twilightforest/client/state/LowerGoblinKnightRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class LowerGoblinKnightRenderState extends HumanoidRenderState { + public boolean hasArmor; + public boolean hasUpperGoblin; +} diff --git a/src/main/java/twilightforest/client/state/MinoshroomRenderState.java b/src/main/java/twilightforest/client/state/MinoshroomRenderState.java new file mode 100644 index 0000000000..9ace30084c --- /dev/null +++ b/src/main/java/twilightforest/client/state/MinoshroomRenderState.java @@ -0,0 +1,13 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.util.Mth; + +public class MinoshroomRenderState extends HumanoidRenderState { + public float chargeAnimO; + public float chargeAnim; + + public float getChargeAnimationScale() { + return Mth.lerp(this.partialTick, this.chargeAnimO, this.chargeAnim) / 6.0F; + } +} diff --git a/src/main/java/twilightforest/client/state/PinchBeetleRenderState.java b/src/main/java/twilightforest/client/state/PinchBeetleRenderState.java new file mode 100644 index 0000000000..25a29bc81c --- /dev/null +++ b/src/main/java/twilightforest/client/state/PinchBeetleRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class PinchBeetleRenderState extends HumanoidRenderState { + public boolean isHoldingVictim; +} diff --git a/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java b/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java new file mode 100644 index 0000000000..238ba66398 --- /dev/null +++ b/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java @@ -0,0 +1,10 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; + +public class ProtectionBoxRenderState extends EntityRenderState { + + public int sizeX; + public int sizeY; + public int sizeZ; +} diff --git a/src/main/java/twilightforest/client/state/QuestingRamRenderState.java b/src/main/java/twilightforest/client/state/QuestingRamRenderState.java new file mode 100644 index 0000000000..6f02296b05 --- /dev/null +++ b/src/main/java/twilightforest/client/state/QuestingRamRenderState.java @@ -0,0 +1,19 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.world.item.DyeColor; + +public class QuestingRamRenderState extends LivingEntityRenderState { + + public byte colorFlags; + + public boolean isColorPresent(DyeColor color) { + return (this.colorFlags & (1 << color.getId())) > 0; + } + + public int countColorsSet() { + return Integer.bitCount(this.colorFlags); + } + +} diff --git a/src/main/java/twilightforest/client/state/SnowQueenRenderState.java b/src/main/java/twilightforest/client/state/SnowQueenRenderState.java new file mode 100644 index 0000000000..d3daca17b4 --- /dev/null +++ b/src/main/java/twilightforest/client/state/SnowQueenRenderState.java @@ -0,0 +1,10 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import twilightforest.entity.boss.SnowQueen; + +public class SnowQueenRenderState extends HumanoidRenderState { + + public SnowQueen.Phase phase; + public boolean breathing; +} diff --git a/src/main/java/twilightforest/client/state/TrollRenderState.java b/src/main/java/twilightforest/client/state/TrollRenderState.java new file mode 100644 index 0000000000..42399b3a6c --- /dev/null +++ b/src/main/java/twilightforest/client/state/TrollRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class TrollRenderState extends HumanoidRenderState { + public boolean isHoldingRock; +} diff --git a/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java b/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java new file mode 100644 index 0000000000..69be0ebb54 --- /dev/null +++ b/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java @@ -0,0 +1,36 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class UpperGoblinKnightRenderState extends HumanoidRenderState { + public boolean hasArmor; + public boolean hasShield; + public boolean isShieldDisabled; + public float spearTimer; + + public float getArmRotationDuringSwing() { + float timer = 60.0F - this.spearTimer; + if (timer <= 10.0F) { + // rock back + return timer; + } + if (timer > 10.0F && timer <= 30.0F) { + // hang back + return 10.0F; + } + if (timer > 30.0F && timer <= 33.0F) { + // slam forward + return (timer - 30.0F) * -8.0F + 10.0F; + } + if (timer > 33.0F && timer <= 50.0F) { + // stay forward + return -15.0F; + } + if (timer > 50.0F && timer <= 60.0F) { + // back to normal + return (10.0F - (timer - 50.0F)) * -1.5F; + } + + return 0.0F; + } +} diff --git a/src/main/java/twilightforest/client/state/YetiRenderState.java b/src/main/java/twilightforest/client/state/YetiRenderState.java new file mode 100644 index 0000000000..cf85243b4a --- /dev/null +++ b/src/main/java/twilightforest/client/state/YetiRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class YetiRenderState extends HumanoidRenderState { + public boolean isAngry; + public boolean isHoldingEntity; +} diff --git a/src/main/java/twilightforest/entity/boss/Minoshroom.java b/src/main/java/twilightforest/entity/boss/Minoshroom.java index 4793d02386..d1939d0cc1 100644 --- a/src/main/java/twilightforest/entity/boss/Minoshroom.java +++ b/src/main/java/twilightforest/entity/boss/Minoshroom.java @@ -171,10 +171,6 @@ public float getVoicePitch() { return (this.getRandom().nextFloat() - this.getRandom().nextFloat()) * 0.2F + 0.7F; } - public float getChargeAnimationScale(float scale) { - return (this.prevClientSideChargeAnimation + (this.clientSideChargeAnimation - this.prevClientSideChargeAnimation) * scale) / 6.0F; - } - public void setMaxCharge(int charge) { this.getEntityData().set(GROUND_CHARGE, charge); } diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index 425e8983a5..fe4f53c52c 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.core.Holder; -import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.EquipmentSlot; @@ -15,15 +14,12 @@ import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.component.DyedItemColor; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.TFArmorModel; import twilightforest.init.TFItems; import java.util.List; -import java.util.function.Consumer; public class ArcticArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.arctic_armor.desc").withStyle(ChatFormatting.GRAY); diff --git a/src/main/java/twilightforest/item/KnightmetalArmorItem.java b/src/main/java/twilightforest/item/KnightmetalArmorItem.java index fa2d52889f..d15459c2fa 100644 --- a/src/main/java/twilightforest/item/KnightmetalArmorItem.java +++ b/src/main/java/twilightforest/item/KnightmetalArmorItem.java @@ -13,9 +13,6 @@ import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.TFArmorModel; - -import java.util.function.Consumer; public class KnightmetalArmorItem extends ArmorItem { diff --git a/src/main/java/twilightforest/item/PhantomArmorItem.java b/src/main/java/twilightforest/item/PhantomArmorItem.java index 57f0bda80c..b74ca602e1 100644 --- a/src/main/java/twilightforest/item/PhantomArmorItem.java +++ b/src/main/java/twilightforest/item/PhantomArmorItem.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.core.Holder; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; @@ -16,17 +15,11 @@ import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.enchantment.Enchantment; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.TFArmorModel; -import twilightforest.data.tags.CustomTagGenerator; import java.util.List; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Consumer; public class PhantomArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.phantom_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); From 1a06f5c8098940d8f0fa7209a8fa5fa9c9bd1fe4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Oct 2024 21:30:57 -0600 Subject: [PATCH 010/239] get about half the renderers done --- .../client/event/RegistrationEvents.java | 2 +- .../model/entity/BlockChainGoblinModel.java | 5 +- .../client/model/entity/BunnyModel.java | 3 +- .../client/model/entity/HostileWolfModel.java | 20 +- .../client/model/entity/HydraHeadModel.java | 5 +- .../client/model/entity/HydraMortarModel.java | 2 +- .../client/model/entity/HydraNeckModel.java | 5 +- .../client/model/entity/PenguinModel.java | 42 +++-- .../client/model/entity/RavenModel.java | 5 +- .../client/model/entity/TFGhastModel.java | 4 +- .../client/model/entity/TinyBirdModel.java | 5 +- .../renderer/entity/AdherentRenderer.java | 26 ++- .../renderer/entity/BighornRenderer.java | 11 +- .../client/renderer/entity/BirdRenderer.java | 21 ++- .../entity/BlockChainGoblinRenderer.java | 54 ++++-- .../renderer/entity/BlockChainRenderer.java | 9 +- .../client/renderer/entity/BoarRenderer.java | 12 +- .../client/renderer/entity/BunnyRenderer.java | 19 +- .../entity/CarminiteGhastRenderer.java | 13 +- .../entity/CarminiteGolemRenderer.java | 31 +++- .../entity/CubeOfAnnihilationRenderer.java | 21 +-- .../CustomProjectileTextureRenderer.java | 11 +- .../renderer/entity/DefaultArrowRenderer.java | 10 +- .../renderer/entity/FallingIceRenderer.java | 72 ++++++-- .../renderer/entity/HostileWolfRenderer.java | 23 ++- .../renderer/entity/HydraHeadRenderer.java | 85 ++++----- .../renderer/entity/HydraMortarRenderer.java | 46 +++-- .../renderer/entity/HydraNeckRenderer.java | 52 ++++-- .../client/renderer/entity/HydraRenderer.java | 39 ++-- .../renderer/entity/IceCrystalRenderer.java | 21 ++- .../entity/KnightPhantomRenderer.java | 37 ++-- .../client/renderer/entity/LichRenderer.java | 46 +++-- .../entity/MagicPaintingRenderer.java | 173 +++++++++++------- .../renderer/entity/TFBipedRenderer.java | 23 ++- .../renderer/entity/TFGhastRenderer.java | 23 ++- .../renderer/entity/TFPartRenderer.java | 90 +++++---- .../renderer/entity/layers/ShieldLayer.java | 14 +- .../client/state/BirdRenderState.java | 2 + .../state/BlockChainGoblinRenderState.java | 12 ++ .../client/state/DwarfRabbitRenderState.java | 8 + .../client/state/HydraHeadRenderState.java | 13 +- .../client/state/HydraMortarRenderState.java | 8 + .../client/state/HydraNeckRenderState.java | 9 + .../client/state/KnightPhatomRenderState.java | 1 + .../state/MagicPaintingRenderState.java | 19 ++ .../client/state/TFGhastRenderState.java | 10 + .../entity/MagicPaintingVariant.java | 4 +- 47 files changed, 744 insertions(+), 422 deletions(-) create mode 100644 src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java create mode 100644 src/main/java/twilightforest/client/state/DwarfRabbitRenderState.java create mode 100644 src/main/java/twilightforest/client/state/HydraMortarRenderState.java create mode 100644 src/main/java/twilightforest/client/state/HydraNeckRenderState.java create mode 100644 src/main/java/twilightforest/client/state/MagicPaintingRenderState.java create mode 100644 src/main/java/twilightforest/client/state/TFGhastRenderState.java diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index aacfb3ef60..ec9d882657 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -351,7 +351,7 @@ private static void registerEntityRenderers(EntityRenderersEvent.RegisterRendere event.registerEntityRenderer(TFEntities.TOWERWOOD_BORER.get(), m -> new TFGenericMobRenderer<>(m, new SilverfishModel<>(m.bakeLayer(ModelLayers.SILVERFISH)), 0.3F, "towertermite.png")); event.registerEntityRenderer(TFEntities.CARMINITE_GHASTGUARD.get(), m -> new CarminiteGhastRenderer<>(m, new TFGhastModel<>(m.bakeLayer(TFModelLayers.CARMINITE_GHASTGUARD)), 3.0F)); event.registerEntityRenderer(TFEntities.UR_GHAST.get(), m -> new UrGhastRenderer<>(m, new UrGhastModel(m.bakeLayer(TFModelLayers.UR_GHAST)), 8.0F, 24.0F)); - event.registerEntityRenderer(TFEntities.BLOCKCHAIN_GOBLIN.get(), m -> new BlockChainGoblinRenderer<>(m, new BlockChainGoblinModel<>(m.bakeLayer(TFModelLayers.BLOCKCHAIN_GOBLIN)), 0.4F)); + event.registerEntityRenderer(TFEntities.BLOCKCHAIN_GOBLIN.get(), m -> new BlockChainGoblinRenderer(m, new BlockChainGoblinModel(m.bakeLayer(TFModelLayers.BLOCKCHAIN_GOBLIN)), 0.4F)); event.registerEntityRenderer(TFEntities.UPPER_GOBLIN_KNIGHT.get(), m -> new UpperGoblinKnightRenderer<>(m, new UpperGoblinKnightModel(m.bakeLayer(TFModelLayers.UPPER_GOBLIN_KNIGHT)), 0.625F)); event.registerEntityRenderer(TFEntities.LOWER_GOBLIN_KNIGHT.get(), m -> new TFBipedRenderer<>(m, new LowerGoblinKnightModel(m.bakeLayer(TFModelLayers.LOWER_GOBLIN_KNIGHT)), 0.625F, "doublegoblin.png")); event.registerEntityRenderer(TFEntities.HELMET_CRAB.get(), m -> new TFGenericMobRenderer<>(m, new HelmetCrabModel(m.bakeLayer(TFModelLayers.HELMET_CRAB)), 0.625F, "helmetcrab.png")); diff --git a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java index a3bf6118b0..d13da59b25 100644 --- a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java +++ b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java @@ -7,9 +7,10 @@ import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.state.BlockChainGoblinRenderState; import twilightforest.entity.monster.BlockChainGoblin; -public class BlockChainGoblinModel extends FixedHumanoidModel { +public class BlockChainGoblinModel extends FixedHumanoidModel { public BlockChainGoblinModel(ModelPart root) { super(root, 3.0F); @@ -108,7 +109,7 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(T state) { + public void setupAnim(BlockChainGoblinRenderState state) { super.setupAnim(state); this.rightArm.xRot += Mth.PI; diff --git a/src/main/java/twilightforest/client/model/entity/BunnyModel.java b/src/main/java/twilightforest/client/model/entity/BunnyModel.java index 4a216d6290..cd8e1e4412 100644 --- a/src/main/java/twilightforest/client/model/entity/BunnyModel.java +++ b/src/main/java/twilightforest/client/model/entity/BunnyModel.java @@ -11,8 +11,9 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import twilightforest.client.state.DwarfRabbitRenderState; -public class BunnyModel extends QuadrupedModel { +public class BunnyModel extends QuadrupedModel { public BunnyModel(ModelPart root) { super(root); diff --git a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java index 6f7fd278f9..06ddba35ae 100644 --- a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java +++ b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java @@ -13,13 +13,11 @@ public class HostileWolfModel extends EntityModel { private final ModelPart head; - private final ModelPart body; private final ModelPart rightHindLeg; private final ModelPart leftHindLeg; private final ModelPart rightFrontLeg; private final ModelPart leftFrontLeg; private final ModelPart tail; - private final ModelPart upperBody; public HostileWolfModel(ModelPart root) { this(RenderType::entityCutoutNoCull, root); @@ -28,8 +26,6 @@ public HostileWolfModel(ModelPart root) { public HostileWolfModel(Function type, ModelPart root) { super(root, type); this.head = root.getChild("head"); - this.body = root.getChild("body"); - this.upperBody = root.getChild("upper_body"); this.rightHindLeg = root.getChild("right_hind_leg"); this.leftHindLeg = root.getChild("left_hind_leg"); this.rightFrontLeg = root.getChild("right_front_leg"); @@ -40,9 +36,6 @@ public HostileWolfModel(Function type, ModelPart r @Override public void setupAnim(WolfRenderState state) { super.setupAnim(state); - this.head.xRot = state.xRot * Mth.DEG_TO_RAD; - this.head.yRot = state.yRot * Mth.DEG_TO_RAD; - this.tail.xRot = state.ageInTicks; if (state.isAngry) { this.tail.yRot = 0.0F; @@ -50,18 +43,13 @@ public void setupAnim(WolfRenderState state) { this.tail.yRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; } - this.body.setPos(0.0F, 14.0F, 2.0F); - this.body.xRot = Mth.HALF_PI; - this.upperBody.setPos(-1.0F, 14.0F, -3.0F); - this.upperBody.xRot = this.body.xRot; - this.tail.setPos(-1.0F, 12.0F, 8.0F); - this.rightHindLeg.setPos(-2.5F, 16.0F, 7.0F); - this.leftHindLeg.setPos(0.5F, 16.0F, 7.0F); - this.rightFrontLeg.setPos(-2.5F, 16.0F, -4.0F); - this.leftFrontLeg.setPos(0.5F, 16.0F, -4.0F); this.rightHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; this.leftHindLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; + + this.head.xRot = state.xRot * Mth.DEG_TO_RAD; + this.head.yRot = state.yRot * Mth.DEG_TO_RAD; + this.tail.xRot = state.tailAngle; } } diff --git a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java index 157dce8328..04e5fd344c 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java @@ -114,9 +114,8 @@ public void setupAnim(HydraHeadRenderState state) { this.head.yRot = state.yRot * Mth.DEG_TO_RAD; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; - float mouthOpen = state.getMouthAngle(); - this.head.xRot -= mouthOpen * (Mth.PI / 12.0F); - this.jaw.xRot = mouthOpen * (Mth.PI / 3.0F); + this.head.xRot -= state.mouthAngle * (Mth.PI / 12.0F); + this.jaw.xRot = state.mouthAngle * (Mth.PI / 3.0F); } diff --git a/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java b/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java index dd8da3d2e6..7c24bd5335 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraMortarModel.java @@ -12,7 +12,7 @@ public class HydraMortarModel extends Model { public HydraMortarModel(ModelPart root) { - super(root, RenderType::entityCutoutNoCull); + super(root, RenderType::entityTranslucent); } public static LayerDefinition create() { diff --git a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java index 613d067c94..a105b77c46 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java @@ -11,8 +11,9 @@ import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.state.HydraNeckRenderState; -public class HydraNeckModel extends EntityModel { +public class HydraNeckModel extends EntityModel { private final ModelPart neck; @@ -54,7 +55,7 @@ private static LayerDefinition createJappaModel() { } @Override - public void setupAnim(LivingEntityRenderState state) { + public void setupAnim(HydraNeckRenderState state) { this.neck.yRot = state.yRot * Mth.DEG_TO_RAD; this.neck.xRot = state.xRot * Mth.DEG_TO_RAD; } diff --git a/src/main/java/twilightforest/client/model/entity/PenguinModel.java b/src/main/java/twilightforest/client/model/entity/PenguinModel.java index 3d173a93b9..3a32c440b1 100644 --- a/src/main/java/twilightforest/client/model/entity/PenguinModel.java +++ b/src/main/java/twilightforest/client/model/entity/PenguinModel.java @@ -8,22 +8,39 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import twilightforest.client.state.BirdRenderState; import twilightforest.entity.passive.Penguin; -public class PenguinModel extends HumanoidModel { +import java.util.function.Function; + +public class PenguinModel extends EntityModel { + + public final ModelPart head; + public final ModelPart rightWing; + public final ModelPart leftWing; + public final ModelPart rightFoot; + public final ModelPart leftFoot; public PenguinModel(ModelPart root) { super(root); + this.head = root.getChild("head"); + this.rightWing = root.getChild("right_wing"); + this.leftWing = root.getChild("left_wing"); + this.rightFoot = root.getChild("right_foot"); + this.leftFoot = root.getChild("left_foot"); } public static LayerDefinition create() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); + MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() @@ -36,29 +53,27 @@ public static LayerDefinition create() { .addBox(-3.5F, -4.0F, -3.5F, 7.0F, 5.0F, 7.0F), PartPose.offset(0.0F, 13.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - head.addOrReplaceChild("beak", CubeListBuilder.create() .texOffs(0, 13) .addBox(-1.0F, 0.0F, -1.0F, 2.0F, 1.0F, 2.0F), PartPose.offset(0.0F, -1.0F, -4.0F)); - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() + partdefinition.addOrReplaceChild("right_wing", CubeListBuilder.create() .texOffs(34, 18) .addBox(-1.0F, -1.0F, -2.0F, 1.0F, 8.0F, 4.0F), PartPose.offset(-4.0F, 15.0F, 0.0F)); - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() + partdefinition.addOrReplaceChild("left_wing", CubeListBuilder.create() .texOffs(24, 18) .addBox(0.0F, -1.0F, -2.0F, 1.0F, 8.0F, 4.0F), PartPose.offset(4.0F, 15.0F, 0.0F)); - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() + partdefinition.addOrReplaceChild("right_foot", CubeListBuilder.create() .texOffs(0, 16) .addBox(-2.0F, 0.0F, -5.0F, 4.0F, 1.0F, 8.0F), PartPose.offset(-2.0F, 23.0F, 0.0F)); - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() + partdefinition.addOrReplaceChild("left_foot", CubeListBuilder.create() .texOffs(0, 16) .addBox(-2.0F, 0.0F, -5.0F, 4.0F, 1.0F, 8.0F), PartPose.offset(2.0F, 23.0F, 0.0F)); @@ -67,14 +82,15 @@ public static LayerDefinition create() { } @Override - public void setupAnim(HumanoidRenderState state) { + public void setupAnim(BirdRenderState state) { + float f = (Mth.sin(state.flap) + 1.0F) * state.flapSpeed; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; - this.rightLeg.xRot = Mth.cos(state.walkAnimationPos) * 0.7F * state.walkAnimationSpeed; - this.leftLeg.xRot = Mth.cos(state.walkAnimationPos + Mth.PI) * 0.7F * state.walkAnimationSpeed; + this.rightFoot.xRot = Mth.cos(state.walkAnimationPos) * 0.7F * state.walkAnimationSpeed; + this.leftFoot.xRot = Mth.cos(state.walkAnimationPos + Mth.PI) * 0.7F * state.walkAnimationSpeed; - this.rightArm.zRot = state.ageInTicks; - this.leftArm.zRot = -state.ageInTicks; + this.rightWing.zRot = f; + this.leftWing.zRot = -f; } } diff --git a/src/main/java/twilightforest/client/model/entity/RavenModel.java b/src/main/java/twilightforest/client/model/entity/RavenModel.java index 6d910873c4..b67c26f54e 100644 --- a/src/main/java/twilightforest/client/model/entity/RavenModel.java +++ b/src/main/java/twilightforest/client/model/entity/RavenModel.java @@ -149,6 +149,7 @@ private static LayerDefinition createJappaModel() { @Override public void setupAnim(BirdRenderState state) { super.setupAnim(state); + float f = (Mth.sin(state.flap) + 1.0F) * state.flapSpeed; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; this.head.zRot = state.yRot > 5.0F ? -0.2617994F : 0.0F; @@ -156,8 +157,8 @@ public void setupAnim(BirdRenderState state) { this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; - this.rightWing.zRot = state.ageInTicks; - this.leftWing.zRot = -state.ageInTicks; + this.rightWing.zRot = f; + this.leftWing.zRot = -f; if (state.landed) { this.rightLeg.y = 21.0F; diff --git a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java index 82495b6774..431919616c 100644 --- a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java @@ -10,9 +10,9 @@ import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.Mob; +import twilightforest.client.state.TFGhastRenderState; -public class TFGhastModel extends EntityModel { +public class TFGhastModel extends EntityModel { protected final static int tentacleCount = 9; private final ModelPart body; diff --git a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java index 7dee3610bd..8989d88d32 100644 --- a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java +++ b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java @@ -136,14 +136,15 @@ private static LayerDefinition createJappaModel() { @Override public void setupAnim(BirdRenderState state) { super.setupAnim(state); + float f = (Mth.sin(state.flap) + 1.0F) * state.flapSpeed; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; this.rightFoot.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; this.leftFoot.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; - this.rightWing.zRot = state.ageInTicks; - this.leftWing.zRot = -state.ageInTicks; + this.rightWing.zRot = f; + this.leftWing.zRot = -f; if (state.landed) { this.rightFoot.y = 23.0F; diff --git a/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java b/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java index 60dcdd0c6a..305f5b8183 100644 --- a/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java @@ -2,19 +2,35 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.AdherentModel; import twilightforest.entity.monster.Adherent; -public class AdherentRenderer extends TFBipedRenderer { +public class AdherentRenderer extends MobRenderer { + + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("adherent.png"); + public AdherentRenderer(EntityRendererProvider.Context context) { - super(context, new AdherentModel(context.bakeLayer(TFModelLayers.ADHERENT)), 0.625F, "adherent.png"); + super(context, new AdherentModel(context.bakeLayer(TFModelLayers.ADHERENT)), 0.625F); + } + + @Override + public HumanoidRenderState createRenderState() { + return new HumanoidRenderState(); + } + + @Override + protected void scale(HumanoidRenderState state, PoseStack stack) { + stack.translate(0.0F, -0.125F - Mth.sin(state.ageInTicks * 0.133F) * 0.1F, 0.0F); } @Override - protected void scale(Adherent entity, PoseStack stack, float partialTicks) { - float bounce = entity.tickCount + partialTicks; - stack.translate(0.0F, -0.125F - Mth.sin((bounce) * 0.133F) * 0.1F, 0.0F); + public ResourceLocation getTextureLocation(HumanoidRenderState state) { + return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java index 6023f7dba9..382711990f 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java @@ -4,6 +4,8 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.SheepRenderer; import net.minecraft.client.renderer.entity.layers.SheepFurLayer; +import net.minecraft.client.renderer.entity.layers.SheepWoolLayer; +import net.minecraft.client.renderer.entity.state.SheepRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.animal.Sheep; import twilightforest.TwilightForestMod; @@ -12,16 +14,15 @@ public class BighornRenderer extends SheepRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("bighorn.png"); - @SuppressWarnings("unchecked") - public BighornRenderer(EntityRendererProvider.Context context, SheepModel baseModel, float shadowSize) { + public BighornRenderer(EntityRendererProvider.Context context, SheepModel baseModel, float shadowSize) { super(context); this.shadowRadius = shadowSize; - this.model = (SheepModel) baseModel; - this.addLayer(new SheepFurLayer(this, context.getModelSet())); + this.model = baseModel; + this.addLayer(new SheepWoolLayer(this, context.getModelSet())); } @Override - public ResourceLocation getTextureLocation(Sheep entity) { + public ResourceLocation getTextureLocation(SheepRenderState entity) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java index 839cc246a0..547b9224fe 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java @@ -1,14 +1,18 @@ package twilightforest.client.renderer.entity; import net.minecraft.client.model.EntityModel; +import net.minecraft.client.renderer.entity.AgeableMobRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.ChickenRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import net.minecraft.world.entity.animal.Chicken; import twilightforest.TwilightForestMod; +import twilightforest.client.state.BirdRenderState; import twilightforest.entity.passive.Bird; -public class BirdRenderer> extends MobRenderer { +public class BirdRenderer> extends MobRenderer { private final ResourceLocation texture; @@ -18,14 +22,19 @@ public BirdRenderer(EntityRendererProvider.Context context, M model, float shado } @Override - protected float getBob(T entity, float partialTicks) { - float flapLength = entity.lastFlapLength + (entity.flapLength - entity.lastFlapLength) * partialTicks; - float flapIntensity = entity.lastFlapIntensity + (entity.flapIntensity - entity.lastFlapIntensity) * partialTicks; - return (Mth.sin(flapLength) + 1.0F) * flapIntensity; + public BirdRenderState createRenderState() { + return new BirdRenderState(); } @Override - public ResourceLocation getTextureLocation(T entity) { + public void extractRenderState(T entity, BirdRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.flap = Mth.lerp(partialTick, entity.lastFlapLength, entity.flapLength); + state.flapSpeed = Mth.lerp(partialTick, entity.lastFlapIntensity, entity.flapIntensity); + } + + @Override + public ResourceLocation getTextureLocation(BirdRenderState state) { return this.texture; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java index f6896e2819..eaf82a53aa 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java @@ -9,6 +9,7 @@ import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -17,11 +18,13 @@ import net.minecraft.world.phys.Vec3; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.BlockChainGoblinModel; import twilightforest.client.model.entity.ChainModel; import twilightforest.client.model.entity.SpikeBlockModel; +import twilightforest.client.state.BlockChainGoblinRenderState; import twilightforest.entity.monster.BlockChainGoblin; -public class BlockChainGoblinRenderer> extends HumanoidMobRenderer { +public class BlockChainGoblinRenderer extends HumanoidMobRenderer { private static final ResourceLocation GOBLIN_TEXTURE = TwilightForestMod.getModelTexture("blockgoblin.png"); private static final ResourceLocation BLOCK_AND_CHAIN_TEXTURE = TwilightForestMod.getModelTexture("block_and_chain.png"); @@ -29,48 +32,59 @@ public class BlockChainGoblinRenderer> extends MobRenderer { +public class BoarRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("wildboar.png"); - public BoarRenderer(EntityRendererProvider.Context context, M model) { + public BoarRenderer(EntityRendererProvider.Context context, PigModel model) { super(context, model, 0.7F); } @Override - public ResourceLocation getTextureLocation(T entity) { + public PigRenderState createRenderState() { + return new PigRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(PigRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java index 2999ece1fb..6db060e847 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java @@ -2,18 +2,31 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.client.model.entity.BunnyModel; +import twilightforest.client.state.DwarfRabbitRenderState; import twilightforest.entity.passive.DwarfRabbit; -public class BunnyRenderer extends MobRenderer { +public class BunnyRenderer extends MobRenderer { public BunnyRenderer(EntityRendererProvider.Context context, BunnyModel model, float shadowSize) { super(context, model, shadowSize); } @Override - public ResourceLocation getTextureLocation(DwarfRabbit entity) { - return entity.getVariant().value().texture(); + public DwarfRabbitRenderState createRenderState() { + return new DwarfRabbitRenderState(); + } + + @Override + public void extractRenderState(DwarfRabbit entity, DwarfRabbitRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.texture = entity.getVariant().value().texture(); + } + + @Override + public ResourceLocation getTextureLocation(DwarfRabbitRenderState state) { + return state.texture; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java index 7c91c0f25d..f3b49a4d7f 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java @@ -3,22 +3,21 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; import twilightforest.client.model.entity.TFGhastModel; +import twilightforest.client.state.TFGhastRenderState; import twilightforest.entity.monster.CarminiteGhastguard; /** * This is a copy of the GhastRenderer class that changes the model */ -public class CarminiteGhastRenderer> extends TFGhastRenderer { +public class CarminiteGhastRenderer extends TFGhastRenderer { - public CarminiteGhastRenderer(EntityRendererProvider.Context renderManager, M modelTFGhast, float f) { - super(renderManager, modelTFGhast, f); + public CarminiteGhastRenderer(EntityRendererProvider.Context renderManager, TFGhastModel model, float f) { + super(renderManager, model, f); } @Override - protected void scale(T entity, PoseStack stack, float partialTicks) { - int attackTimer = entity.getAttackTimer(); - int prevAttackTimer = entity.getPrevAttackTimer(); - float scaleVariable = (prevAttackTimer + (attackTimer - prevAttackTimer) * partialTicks) / 20.0F; + protected void scale(TFGhastRenderState state, PoseStack stack) { + float scaleVariable = state.attackTimer / 20.0F; if (scaleVariable < 0.0F) { scaleVariable = 0.0F; } diff --git a/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java index 5074254572..aa42273046 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java @@ -4,35 +4,46 @@ import com.mojang.math.Axis; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.IronGolemRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; import twilightforest.client.model.entity.CarminiteGolemModel; import twilightforest.entity.monster.CarminiteGolem; -public class CarminiteGolemRenderer> extends MobRenderer { +public class CarminiteGolemRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("carminitegolem.png"); - public CarminiteGolemRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { + public CarminiteGolemRenderer(EntityRendererProvider.Context context, CarminiteGolemModel model, float shadowSize) { super(context, model, shadowSize); } + @Override + public IronGolemRenderState createRenderState() { + return new IronGolemRenderState(); + } + + @Override + public void extractRenderState(CarminiteGolem golem, IronGolemRenderState state, float partialTick) { + super.extractRenderState(golem, state, partialTick); + state.attackTicksRemaining = golem.attackAnim > 0.0F ? golem.attackAnim - partialTick : 0.0F; + } + /** - * [VanillaCopy] {@link net.minecraft.client.renderer.entity.IronGolemRenderer} + * [VanillaCopy] {@link net.minecraft.client.renderer.entity.IronGolemRenderer#setupRotations(IronGolemRenderState, PoseStack, float, float)} */ @Override - protected void setupRotations(T entity, PoseStack ms, float ageInTicks, float rotationYaw, float partialTicks, float scale) { - super.setupRotations(entity, ms, ageInTicks, rotationYaw, partialTicks, scale); - - if (!(entity.walkAnimation.speed() < 0.01F)) { - float f1 = entity.walkAnimation.position() - entity.walkAnimation.speed() * (1.0F - partialTicks) + 6.0F; + protected void setupRotations(IronGolemRenderState state, PoseStack stack, float partialTick, float scale) { + super.setupRotations(state, stack, partialTick, scale); + if (!((double)state.walkAnimationSpeed < 0.01D)) { + float f1 = state.walkAnimationPos + 6.0F; float f2 = (Math.abs(f1 % 13.0F - 6.5F) - 3.25F) / 3.25F; - ms.mulPose(Axis.ZP.rotationDegrees(6.5F * f2)); + stack.mulPose(Axis.ZP.rotationDegrees(6.5F * f2)); } } @Override - public ResourceLocation getTextureLocation(T entity) { + public ResourceLocation getTextureLocation(IronGolemRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/CubeOfAnnihilationRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CubeOfAnnihilationRenderer.java index 0558617b44..b133f32986 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CubeOfAnnihilationRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CubeOfAnnihilationRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -14,7 +15,7 @@ import twilightforest.client.model.entity.CubeOfAnnihilationModel; import twilightforest.entity.projectile.CubeOfAnnihilation; -public class CubeOfAnnihilationRenderer extends EntityRenderer { +public class CubeOfAnnihilationRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("cubeofannihilation.png"); private final Model model; @@ -25,21 +26,19 @@ public CubeOfAnnihilationRenderer(EntityRendererProvider.Context context) { } @Override - public void render(CubeOfAnnihilation entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - super.render(entity, yaw, partialTicks, stack, buffer, light); + public EntityRenderState createRenderState() { + return new EntityRenderState(); + } - stack.pushPose(); + @Override + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + super.render(state, stack, buffer, light); + stack.pushPose(); stack.scale(-1.0F, -1.0F, 1.0F); - stack.mulPose(Axis.YP.rotationDegrees(Mth.wrapDegrees((entity.tickCount + partialTicks) * 11.0F))); + stack.mulPose(Axis.YP.rotationDegrees(Mth.wrapDegrees(state.ageInTicks * 11.0F))); stack.translate(0.0F, -0.5F, 0.0F); this.model.renderToBuffer(stack, buffer.getBuffer(this.model.renderType(TEXTURE)), light, OverlayTexture.NO_OVERLAY); - stack.popPose(); } - - @Override - public ResourceLocation getTextureLocation(CubeOfAnnihilation entity) { - return TEXTURE; - } } diff --git a/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java index fdc10fcf04..c84ea9e03d 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import twilightforest.entity.projectile.TFThrowable; @@ -15,7 +16,7 @@ * This renderer serves as a way to render item textures on a projectile without needing an actual item registered for it. * Consider using {@link net.minecraft.client.renderer.entity.ThrownItemRenderer} if your projectile is an existing item already. */ -public class CustomProjectileTextureRenderer extends EntityRenderer { +public class CustomProjectileTextureRenderer extends EntityRenderer { private final ResourceLocation texture; @@ -26,7 +27,7 @@ public CustomProjectileTextureRenderer(EntityRendererProvider.Context ctx, Resou //[VanillaCopy] of DragonFireballRender.render, we just input our own texture stuff instead @Override - public void render(TFThrowable entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { stack.pushPose(); stack.scale(0.5F, 0.5F, 0.5F); stack.mulPose(this.entityRenderDispatcher.cameraOrientation()); @@ -38,7 +39,7 @@ public void render(TFThrowable entity, float entityYaw, float partialTicks, Pose vertex(consumer, pose, light, 1.0F, 1.0F, 1.0F, 0.0F); vertex(consumer, pose, light, 0.0F, 1.0F, 0.0F, 0.0F); stack.popPose(); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); + super.render(state, stack, buffer, light); } private static void vertex(VertexConsumer consumer, PoseStack.Pose pose, int light, float xOffset, float zOffset, float u, float v) { @@ -46,7 +47,7 @@ private static void vertex(VertexConsumer consumer, PoseStack.Pose pose, int lig } @Override - public ResourceLocation getTextureLocation(TFThrowable entity) { - return this.texture; + public EntityRenderState createRenderState() { + return new EntityRenderState(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/DefaultArrowRenderer.java b/src/main/java/twilightforest/client/renderer/entity/DefaultArrowRenderer.java index dc2a4d4552..31faa15b16 100644 --- a/src/main/java/twilightforest/client/renderer/entity/DefaultArrowRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/DefaultArrowRenderer.java @@ -2,10 +2,11 @@ import net.minecraft.client.renderer.entity.ArrowRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.ArrowRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.projectile.AbstractArrow; -public class DefaultArrowRenderer extends ArrowRenderer { +public class DefaultArrowRenderer extends ArrowRenderer { public static final ResourceLocation RES_ARROW = ResourceLocation.withDefaultNamespace("textures/entity/projectiles/arrow.png"); public DefaultArrowRenderer(EntityRendererProvider.Context context) { @@ -13,7 +14,12 @@ public DefaultArrowRenderer(EntityRendererProvider.Context context) { } @Override - public ResourceLocation getTextureLocation(T entity) { + public ArrowRenderState createRenderState() { + return new ArrowRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(ArrowRenderState state) { return RES_ARROW; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java b/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java index a95b2d14b2..a0438e6f3a 100644 --- a/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java @@ -4,12 +4,15 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.FallingBlockRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.item.FallingBlockEntity; import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; @@ -18,36 +21,65 @@ import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.entity.projectile.FallingIce; -public class FallingIceRenderer extends EntityRenderer { +/** + * [VanillaCopy] {@link net.minecraft.client.renderer.entity.FallingBlockRenderer} + */ +public class FallingIceRenderer extends EntityRenderer { + + private final BlockRenderDispatcher dispatcher; + public FallingIceRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.5F; + this.dispatcher = context.getBlockRenderDispatcher(); + } + + @Override + public boolean shouldRender(FallingIce entity, Frustum frustum, double x, double y, double z) { + return super.shouldRender(entity, frustum, x, y, z) && entity.getBlockState() != entity.level().getBlockState(entity.blockPosition()); } - /** - * [VanillaCopy] {@link net.minecraft.client.renderer.entity.FallingBlockRenderer} - */ @Override - public void render(FallingIce entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - BlockState blockstate = entity.getBlockState(); + public void render(FallingBlockRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + BlockState blockstate = state.blockState; if (blockstate.getRenderShape() == RenderShape.MODEL) { - Level world = entity.level(); - if (blockstate != world.getBlockState(entity.blockPosition()) && blockstate.getRenderShape() != RenderShape.INVISIBLE) { - stack.pushPose(); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - stack.translate(-0.5D, 0.0D, -0.5D); - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(entity.blockPosition())), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(world, model, blockstate, blockpos, stack, buffer.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), false, RandomSource.create(), blockstate.getSeed(entity.blockPosition()), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - stack.popPose(); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); - } + stack.pushPose(); + stack.translate(-0.5D, 0.0, -0.5D); + var model = this.dispatcher.getBlockModel(blockstate); + for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.startBlockPos)), ModelData.EMPTY)) + this.dispatcher.getModelRenderer().tesselateBlock( + state, + this.dispatcher.getBlockModel(blockstate), + blockstate, + state.blockPos, + stack, + buffer.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), + false, + RandomSource.create(), + blockstate.getSeed(state.startBlockPos), + OverlayTexture.NO_OVERLAY, + net.neoforged.neoforge.client.model.data.ModelData.EMPTY, + renderType + ); + stack.popPose(); + super.render(state, stack, buffer, light); } } @Override - public ResourceLocation getTextureLocation(FallingIce entity) { - return InventoryMenu.BLOCK_ATLAS; + public FallingBlockRenderState createRenderState() { + return new FallingBlockRenderState(); } + + @Override + public void extractRenderState(FallingIce entity, FallingBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); + state.startBlockPos = entity.getStartPos(); + state.blockPos = blockpos; + state.blockState = entity.getBlockState(); + state.biome = entity.level().getBiome(blockpos); + state.level = entity.level(); + } + } diff --git a/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java index ff3b157584..80e1d6a31d 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java @@ -2,24 +2,35 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.WolfRenderState; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; +import net.minecraft.world.entity.animal.Wolf; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.HostileWolfModel; import twilightforest.entity.monster.HostileWolf; -public class HostileWolfRenderer extends MobRenderer> { +public class HostileWolfRenderer extends MobRenderer { public HostileWolfRenderer(EntityRendererProvider.Context context) { - super(context, new HostileWolfModel<>(context.bakeLayer(TFModelLayers.HOSTILE_WOLF)), 0.5F); + super(context, new HostileWolfModel(context.bakeLayer(TFModelLayers.HOSTILE_WOLF)), 0.5F); } @Override - protected float getBob(HostileWolf entity, float partialTicks) { - return entity.getTailAngle(); + public WolfRenderState createRenderState() { + return new WolfRenderState(); } @Override - public ResourceLocation getTextureLocation(HostileWolf entity) { - return entity.getTexture(); + public void extractRenderState(HostileWolf entity, WolfRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.tailAngle = entity.getTailAngle(); + state.texture = entity.getTexture(); } + + @Override + public ResourceLocation getTextureLocation(WolfRenderState state) { + return state.texture; + } + } diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java index 09c375f553..b2b95479a4 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java @@ -4,79 +4,80 @@ import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.EntityAttachment; +import net.minecraft.util.Mth; import net.minecraft.world.phys.Vec3; -import net.neoforged.neoforge.client.ClientHooks; import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; import twilightforest.TwilightForestMod; +import twilightforest.client.model.entity.HydraHeadModel; +import twilightforest.client.state.HydraHeadRenderState; import twilightforest.entity.boss.Hydra; import twilightforest.entity.boss.HydraHead; import twilightforest.entity.boss.HydraHeadContainer; -public class HydraHeadRenderer> extends TFPartRenderer { +public class HydraHeadRenderer extends TFPartRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("hydra4.png"); - public HydraHeadRenderer(EntityRendererProvider.Context context, M model) { + public HydraHeadRenderer(EntityRendererProvider.Context context, HydraHeadModel model) { super(context, model); } @Override - public void render(T entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - // get the HydraHeadContainer that we're taking about - HydraHeadContainer headCon = getHeadObject(entity); - - if (headCon != null) { - // see whether we want to render these - if (entity.isActive()) { - stack.mulPose(Axis.YP.rotationDegrees(-180)); - super.render(entity, yaw, partialTicks, stack, buffer, light); - } - - } else { - super.render(entity, yaw, partialTicks, stack, buffer, light); + public void render(HydraHeadRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + // see whether we want to render these + if (state.active) { + stack.mulPose(Axis.YP.rotationDegrees(-180)); + super.render(state, stack, buffer, light); } } @Override - protected boolean shouldShowName(T entity) { + protected boolean shouldShowName(HydraHead entity, double partialTick) { return entity.hasCustomName() && !entity.getCustomName().getString().isEmpty(); } @Override - protected void renderNameTag(T entity, Component component, PoseStack stack, MultiBufferSource source, int light, float scale) { - double d0 = this.entityRenderDispatcher.distanceToSqr(entity); - if (ClientHooks.isNameplateInRenderDistance(entity, d0)) { - Vec3 vec3 = entity.getAttachments().getNullable(EntityAttachment.NAME_TAG, 0, entity.getViewYRot(scale)); - if (vec3 != null) { - boolean flag = !entity.isDiscrete(); - stack.pushPose(); - stack.translate(vec3.x, vec3.y + 0.5, vec3.z); - stack.mulPose(Axis.YP.rotationDegrees(180.0F)); - stack.mulPose(this.entityRenderDispatcher.cameraOrientation()); - stack.scale(-0.05F, -0.05F, 0.05F); - Matrix4f matrix4f = stack.last().pose(); - float f1 = Minecraft.getInstance().options.getBackgroundOpacity(0.25F); - int j = (int) (f1 * 255.0F) << 24; - Font font = this.getFont(); - float f2 = (float) (-font.width(component) / 2); - font.drawInBatch(component, f2, (float) 0, 553648127, false, matrix4f, source, flag ? Font.DisplayMode.SEE_THROUGH : Font.DisplayMode.NORMAL, j, light); - if (flag) { - font.drawInBatch(component, f2, (float) 0, -1, false, matrix4f, source, Font.DisplayMode.NORMAL, 0, light); - } - - stack.popPose(); + protected void renderNameTag(HydraHeadRenderState state, Component component, PoseStack stack, MultiBufferSource source, int light) { + Vec3 vec3 = state.nameTagAttachment; + if (vec3 != null) { + boolean flag = !state.isDiscrete; + stack.pushPose(); + stack.translate(vec3.x, vec3.y + 0.5, vec3.z); + stack.mulPose(this.entityRenderDispatcher.cameraOrientation()); + stack.scale(0.025F, -0.025F, 0.025F); + Matrix4f matrix4f = stack.last().pose(); + Font font = this.getFont(); + float f = (float)(-font.width(component)) / 2.0F; + int j = (int)(Minecraft.getInstance().options.getBackgroundOpacity(0.25F) * 255.0F) << 24; + font.drawInBatch(component, f, 0, -2130706433, false, matrix4f, source, flag ? Font.DisplayMode.SEE_THROUGH : Font.DisplayMode.NORMAL, j, light); + if (flag) { + font.drawInBatch(component, f, 0, -1, false, matrix4f, source, Font.DisplayMode.NORMAL, 0, LightTexture.lightCoordsWithEmission(light, 2)); } + + stack.popPose(); } } + @Override + public HydraHeadRenderState createRenderState() { + return new HydraHeadRenderState(); + } + + @Override + public void extractRenderState(HydraHead entity, HydraHeadRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + var container = getHeadObject(entity); + state.active = container == null || container.isActive(); + state.mouthAngle = Mth.lerp(partialTick, entity.getMouthOpenLast(), entity.getMouthOpen()); + } + @Nullable public static HydraHeadContainer getHeadObject(HydraHead entity) { Hydra hydra = entity.getParent(); @@ -92,7 +93,7 @@ public static HydraHeadContainer getHeadObject(HydraHead entity) { } @Override - public ResourceLocation getTextureLocation(T entity) { + public ResourceLocation getTextureLocation(HydraHeadRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraMortarRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraMortarRenderer.java index 52493893b1..f0f2533f23 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraMortarRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraMortarRenderer.java @@ -3,19 +3,19 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.HydraMortarModel; +import twilightforest.client.state.HydraMortarRenderState; import twilightforest.entity.boss.HydraMortar; -public class HydraMortarRenderer extends EntityRenderer { +public class HydraMortarRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("hydramortar.png"); private final HydraMortarModel mortarModel; @@ -27,33 +27,39 @@ public HydraMortarRenderer(EntityRendererProvider.Context context) { } @Override - public void render(HydraMortar entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffers, int light) { + public void render(HydraMortarRenderState state, PoseStack stack, MultiBufferSource source, int light) { stack.pushPose(); - // [VanillaCopy] TNTRenderer - if (entity.fuse - partialTicks + 1.0F < 10.0F) { - float f = 1.0F - (entity.fuse - partialTicks + 1.0F) / 10.0F; - f = Mth.clamp(f, 0.0F, 1.0F); - f = f * f; - f = f * f; - float f1 = 1.0F + f * 0.3F; - stack.scale(f1, f1, f1); + // [VanillaCopy] TNTRenderer fuse logic + float f = state.fuse; + if (state.fuse < 10.0F) { + float f1 = 1.0F - state.fuse / 10.0F; + f1 = Mth.clamp(f1, 0.0F, 1.0F); + f1 *= f1; + f1 *= f1; + float f2 = 1.0F + f1 * 0.3F; + stack.scale(f2, f2, f2); } - float alpha = (1.0F - (entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F; + float alpha = (1.0F - f / 100.0F) * 0.8F; - VertexConsumer consumer = buffers.getBuffer(this.mortarModel.renderType(TEXTURE)); - this.mortarModel.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.colorFromFloat(0.075F, 1.0F, 1.0F, 1.0F)); + VertexConsumer consumer = source.getBuffer(this.mortarModel.renderType(TEXTURE)); + this.mortarModel.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); - if (entity.fuse / 5 % 2 == 0) { - consumer = buffers.getBuffer(RenderType.entityTranslucent(TEXTURE)); - this.mortarModel.renderToBuffer(stack, consumer, light, OverlayTexture.pack(OverlayTexture.u(1.0F), 10), FastColor.ARGB32.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); + if (state.fuse / 5 % 2 == 0) { + this.mortarModel.renderToBuffer(stack, consumer, light, OverlayTexture.pack(OverlayTexture.u(1.0F), 10), ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); } stack.popPose(); } @Override - public ResourceLocation getTextureLocation(HydraMortar entity) { - return TEXTURE; + public HydraMortarRenderState createRenderState() { + return new HydraMortarRenderState(); + } + + @Override + public void extractRenderState(HydraMortar entity, HydraMortarRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.fuse = entity.fuse - partialTick + 1.0F; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java index 3b5108b8ec..e9f7e010ce 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java @@ -2,47 +2,59 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; -import net.minecraft.client.model.ListModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; -import twilightforest.entity.boss.HydraHeadContainer; +import twilightforest.client.model.entity.HydraNeckModel; +import twilightforest.client.state.HydraNeckRenderState; import twilightforest.entity.boss.HydraNeck; -public class HydraNeckRenderer> extends TFPartRenderer { +public class HydraNeckRenderer extends TFPartRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("hydra4.png"); - public HydraNeckRenderer(EntityRendererProvider.Context context, M model) { + public HydraNeckRenderer(EntityRendererProvider.Context context, HydraNeckModel model) { super(context, model); } @Override - public void render(T entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - HydraHeadContainer headCon = HydraHeadRenderer.getHeadObject(entity.head); - if (headCon != null) - if (entity.isActive()) { - float yawDiff = entity.getYRot() - entity.yRotO; - if (yawDiff > 180) { - yawDiff -= 360; - } else if (yawDiff < -180) { - yawDiff += 360; - } - float yaw2 = entity.yRotO + yawDiff * partialTicks; - - stack.mulPose(Axis.YN.rotationDegrees(yaw2 + 180)); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); + public void render(HydraNeckRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + if (state.active) { + float yawDiff = state.headYRot - state.headYRotO; + if (yawDiff > 180) { + yawDiff -= 360; + } else if (yawDiff < -180) { + yawDiff += 360; } + float yaw2 = state.headYRotO + yawDiff * state.partialTick; + + stack.mulPose(Axis.YN.rotationDegrees(yaw2 + 180)); + super.render(state, stack, buffer, light); + } + } + + @Override + public HydraNeckRenderState createRenderState() { + return new HydraNeckRenderState(); + } + + @Override + public void extractRenderState(HydraNeck entity, HydraNeckRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + var container = HydraHeadRenderer.getHeadObject(entity.head); + state.active = container == null || container.isActive(); + state.headYRot = entity.getYRot(); + state.headYRotO = entity.yRotO; } @Override - protected float getFlipDegrees(T entity) { + protected float getFlipDegrees() { return 0.0F; } @Override - public ResourceLocation getTextureLocation(T entity) { + public ResourceLocation getTextureLocation(HydraNeckRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java index c26905a52d..77dd175128 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java @@ -5,51 +5,66 @@ import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.entity.Pose; import twilightforest.TwilightForestMod; +import twilightforest.client.model.entity.HydraModel; +import twilightforest.client.state.HydraMortarRenderState; +import twilightforest.client.state.HydraRenderState; import twilightforest.entity.boss.Hydra; -public class HydraRenderer> extends MobRenderer { +public class HydraRenderer extends MobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("hydra4.png"); - public HydraRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { + public HydraRenderer(EntityRendererProvider.Context context, HydraModel model, float shadowSize) { super(context, model, shadowSize); } @Override - protected float getFlipDegrees(Hydra entity) { + protected float getFlipDegrees() { return 0.0F; } @Override - protected void setupRotations(T entity, PoseStack stack, float ageInTicks, float yaw, float partialTicks, float scale) { - if (this.isShaking(entity)) { - yaw += (float) (Math.cos((double) entity.tickCount * 3.25) * Math.PI * 0.4F); + protected void setupRotations(HydraRenderState state, PoseStack stack, float yaw, float scale) { + if (this.isShaking(state)) { + yaw += Mth.cos(Mth.floor(state.ageInTicks) * 3.25F) * Mth.PI * 0.4F; } - if (!entity.hasPose(Pose.SLEEPING)) { + if (!state.hasPose(Pose.SLEEPING)) { stack.mulPose(Axis.YP.rotationDegrees(180.0F - yaw)); } - if (entity.deathTime > 0) { - float f = ((float) entity.deathTime + partialTicks - 1.0F) / 20.0F * 1.6F; + if (state.deathTime > 0) { + float f = (state.deathTime - 1.0F) / 20.0F * 1.6F; f = Mth.sqrt(f); if (f > 1.0F) { f = 1.0F; } - stack.mulPose(Axis.ZP.rotationDegrees(f * this.getFlipDegrees(entity))); - } else if (isEntityUpsideDown(entity)) { + stack.mulPose(Axis.ZP.rotationDegrees(f * this.getFlipDegrees())); + } else if (state.isUpsideDown) { stack.translate(0.0F, 6.0F, 0.0F); stack.mulPose(Axis.ZP.rotationDegrees(180.0F)); } } @Override - public ResourceLocation getTextureLocation(T entity) { + public HydraRenderState createRenderState() { + return new HydraRenderState(); + } + + @Override + public void extractRenderState(Hydra entity, HydraRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.renderFakeHeads = entity.renderFakeHeads; + } + + @Override + public ResourceLocation getTextureLocation(HydraRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/IceCrystalRenderer.java b/src/main/java/twilightforest/client/renderer/entity/IceCrystalRenderer.java index 140b9239d2..5cf0fbdea9 100644 --- a/src/main/java/twilightforest/client/renderer/entity/IceCrystalRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/IceCrystalRenderer.java @@ -3,14 +3,16 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.IceCrystalModel; import twilightforest.entity.monster.IceCrystal; -public class IceCrystalRenderer extends MobRenderer { +public class IceCrystalRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("icecrystal.png"); @@ -19,13 +21,22 @@ public IceCrystalRenderer(EntityRendererProvider.Context context) { } @Override - protected void scale(IceCrystal entity, PoseStack stack, float partialTicks) { - float bounce = entity.tickCount + partialTicks; - stack.translate(0.0F, Mth.sin((bounce) * 0.2F) * 0.15F, 0.0F); + protected void scale(LivingEntityRenderState state, PoseStack stack) { + stack.translate(0.0F, Mth.sin(state.ageInTicks * 0.2F) * 0.15F, 0.0F); } @Override - public ResourceLocation getTextureLocation(IceCrystal entity) { + protected int getModelTint(LivingEntityRenderState state) { + return ARGB.colorFromFloat(state.deathTime > 0 ? 1.0F : 0.6F, 1.0F, 1.0F, 1.0F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java index f27d010254..86213e6271 100644 --- a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java @@ -10,41 +10,54 @@ import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; import twilightforest.client.model.entity.KnightPhantomModel; +import twilightforest.client.state.KnightPhatomRenderState; import twilightforest.entity.boss.KnightPhantom; -public class KnightPhantomRenderer extends HumanoidMobRenderer { +public class KnightPhantomRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("phantomskeleton.png"); public KnightPhantomRenderer(EntityRendererProvider.Context context, KnightPhantomModel model, float shadowSize) { super(context, model, shadowSize); - this.addLayer(new ItemInHandLayer<>(this, context.getItemInHandRenderer())); - this.addLayer(new HumanoidArmorLayer<>(this, new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getModelManager())); + this.addLayer(new ItemInHandLayer<>(this, context.getItemRenderer())); + this.addLayer(new HumanoidArmorLayer<>(this, new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } @Override - public void render(KnightPhantom entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int packedLight) { - if (entity.hasYetToDisappear()) super.render(entity, entityYaw, partialTicks, stack, buffer, packedLight); + public void render(KnightPhatomRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { + if (!state.isDying) super.render(state, stack, buffer, packedLight); } @Override - protected boolean isShaking(KnightPhantom entity) { - return super.isShaking(entity) || entity.isDeadOrDying(); + protected boolean isShaking(KnightPhatomRenderState state) { + return super.isShaking(state) || state.deathTime > 0; } @Override - public ResourceLocation getTextureLocation(KnightPhantom entity) { + public KnightPhatomRenderState createRenderState() { + return new KnightPhatomRenderState(); + } + + @Override + public void extractRenderState(KnightPhantom entity, KnightPhatomRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isDying = !entity.hasYetToDisappear(); + state.isCharging = entity.isChargingAtPlayer(); + } + + @Override + public ResourceLocation getTextureLocation(KnightPhatomRenderState state) { return TEXTURE; } @Override - protected void scale(KnightPhantom entity, PoseStack stack, float partialTicks) { - float scale = entity.isChargingAtPlayer() ? 1.8F : 1.2F; + protected void scale(KnightPhatomRenderState state, PoseStack stack) { + float scale = state.isCharging ? 1.8F : 1.2F; stack.scale(scale, scale, scale); } @Override - protected float getFlipDegrees(KnightPhantom entity) { //Prevent the body from keeling over - return entity.isDeadOrDying() ? 0.0F : super.getFlipDegrees(entity); + protected float getFlipDegrees() { //Prevent the body from keeling over + return 0.0F; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index f4f011d12a..7053e2efd1 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -11,51 +11,63 @@ import twilightforest.client.model.entity.LichModel; import twilightforest.client.renderer.TFRenderTypes; import twilightforest.client.renderer.entity.layers.ShieldLayer; +import twilightforest.client.state.LichRenderState; import twilightforest.entity.boss.Lich; -public class LichRenderer> extends HumanoidMobRenderer { +public class LichRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("twilightlich64.png"); - public LichRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { + public LichRenderer(EntityRendererProvider.Context context, LichModel model, float shadowSize) { super(context, model, shadowSize); this.addLayer(new ShieldLayer<>(this)); } @Nullable @Override - protected RenderType getRenderType(T entity, boolean bodyVisible, boolean translucent, boolean glowing) { - if (entity.isShadowClone()) return TFRenderTypes.SHADOW_CLONE; - else return super.getRenderType(entity, bodyVisible, translucent, glowing); + protected RenderType getRenderType(LichRenderState state, boolean bodyVisible, boolean translucent, boolean glowing) { + if (state.isShadowClone) return TFRenderTypes.SHADOW_CLONE; + else return super.getRenderType(state, bodyVisible, translucent, glowing); } @Override - protected boolean isShaking(T entity) { - return super.isShaking(entity) || (entity.isDeadOrDying() && entity.deathTime <= Lich.DEATH_ANIMATION_POINT_A); + protected boolean isShaking(LichRenderState state) { + return super.isShaking(state) || (state.deathTime <= Lich.DEATH_ANIMATION_POINT_A); } @Override - public void render(T entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int packedLight) { - if (entity.deathTime > 0) { + public void render(LichRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { + if (state.deathTime > 0) { stack.pushPose(); - if (entity.deathTime > Lich.DEATH_ANIMATION_POINT_A) { - stack.translate(0.0D, -1.8D * Math.pow(Math.min(((float) (entity.deathTime - Lich.DEATH_ANIMATION_POINT_A) + partialTicks) * 0.05D, 1.0D), 3.0D), 0.0D); + if (state.deathTime > Lich.DEATH_ANIMATION_POINT_A) { + stack.translate(0.0D, -1.8D * Math.pow(Math.min(((state.deathTime - Lich.DEATH_ANIMATION_POINT_A) + state.partialTick) * 0.05D, 1.0D), 3.0D), 0.0D); } else { - float time = (float) entity.deathTime + partialTicks; + float time = (float) state.deathTime + state.partialTick; stack.translate(Math.sin(time * time) * 0.01D, 0.0D, Math.cos(time * time) * 0.01D); } - super.render(entity, entityYaw, partialTicks, stack, buffer, packedLight); + super.render(state, stack, buffer, packedLight); stack.popPose(); - } else super.render(entity, entityYaw, partialTicks, stack, buffer, packedLight); + } else super.render(state, stack, buffer, packedLight); } @Override - protected float getFlipDegrees(T entity) { //Prevent the body from keeling over - return entity.isDeadOrDying() ? 0.0F : super.getFlipDegrees(entity); + protected float getFlipDegrees() { //Prevent the body from keeling over + return 0.0F; } @Override - public ResourceLocation getTextureLocation(Lich entity) { + public LichRenderState createRenderState() { + return new LichRenderState(); + } + + @Override + public void extractRenderState(Lich entity, LichRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isShadowClone = entity.isShadowClone(); + } + + @Override + public ResourceLocation getTextureLocation(LichRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java index f5f7cdcc49..61f716462b 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java @@ -22,8 +22,10 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.food.FoodData; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import twilightforest.client.MagicPaintingTextureManager; +import twilightforest.client.state.MagicPaintingRenderState; import twilightforest.entity.MagicPainting; import twilightforest.entity.MagicPaintingVariant; import twilightforest.entity.MagicPaintingVariant.Layer.OpacityModifier; @@ -32,7 +34,7 @@ import javax.annotation.Nullable; import java.util.Optional; -public class MagicPaintingRenderer extends EntityRenderer { +public class MagicPaintingRenderer extends EntityRenderer { public static long lastLightning = 0L; public MagicPaintingRenderer(EntityRendererProvider.Context pContext) { @@ -40,29 +42,25 @@ public MagicPaintingRenderer(EntityRendererProvider.Context pContext) { } @Override - public void render(MagicPainting painting, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int packedLight) { - MagicPaintingVariant paintingVariant = painting.getVariant().value(); - - stack.pushPose(); - stack.mulPose(Axis.YP.rotationDegrees(180.0F - yaw)); - stack.scale(0.0625F, 0.0625F, 0.0625F); - VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entityTranslucent(this.getTextureLocation(painting))); - - this.renderPainting(stack, vertexconsumer, painting, paintingVariant, partialTicks); - stack.popPose(); - super.render(painting, yaw, partialTicks, stack, buffer, packedLight); - } - - @Override - public ResourceLocation getTextureLocation(MagicPainting painting) { - return MagicPaintingTextureManager.ATLAS_LOCATION; + public void render(MagicPaintingRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { + MagicPaintingVariant variant = state.variant; + + if (variant != null) { + stack.pushPose(); + stack.mulPose(Axis.YP.rotationDegrees(180.0F - state.direction.get2DDataValue() * 90)); + stack.scale(0.0625F, 0.0625F, 0.0625F); + MagicPaintingTextureManager manager = MagicPaintingTextureManager.instance; + TextureAtlasSprite textureatlassprite = manager.getBackSprite(); + VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entitySolidZOffsetForward(textureatlassprite.atlasLocation())); + this.renderPainting(stack, vertexconsumer, state.lightCoords, variant.width(), variant.height(), state, manager, textureatlassprite); + stack.popPose(); + super.render(state, stack, buffer, packedLight); + } } - private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPainting painting, MagicPaintingVariant variant, float partialTicks) { - ResourceLocation textureLocation = MagicPaintingVariant.getVariantResourceLocation(painting.level().registryAccess(), variant); + private void renderPainting(PoseStack stack, VertexConsumer vertex, int[] worldLight, int width, int height, MagicPaintingRenderState state, MagicPaintingTextureManager manager, TextureAtlasSprite backSprite) { + ResourceLocation textureLocation = state.texture; - int width = variant.width(); - int height = variant.height(); int widthAsBlock = width / 16; int heightAsBlock = height / 16; @@ -75,12 +73,10 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin double widthFactor = 1.0D / (double) widthAsBlock; double heightFactor = 1.0D / (double) heightAsBlock; - Direction direction = painting.getDirection(); - int posX = painting.getBlockX(); - int posZ = painting.getBlockZ(); + Direction direction = state.direction; - for (MagicPaintingVariant.Layer layer : variant.layers()) { - float alpha = this.getAlpha(layer.opacityModifier(), painting, partialTicks); + for (MagicPaintingVariant.Layer layer : state.variant.layers()) { + float alpha = this.getAlpha(layer.opacityModifier(), state, state.partialTick); if (alpha <= 0.0F) continue; Parallax parallax = layer.parallax(); @@ -95,12 +91,12 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin double layerHeightFactor = 1.0D / layerHeightAsBlock; double widthDiff = parallax != null ? (widthFactor - layerWidthFactor) * (double) widthAsBlock * 0.5D : 0.0D; - double widthOffset = widthDiff != 0.0D ? this.getWidthOffset(parallax, painting, widthDiff, partialTicks) : 0.0D; + double widthOffset = widthDiff != 0.0D ? this.getWidthOffset(parallax, state, widthDiff, state.partialTick) : 0.0D; double heightDiff = parallax != null ? (heightFactor - layerHeightFactor) * (double) heightAsBlock * 0.5D : 0.0D; - double heightOffset = heightDiff != 0.0D ? this.getHeightOffset(parallax, painting, heightDiff, partialTicks) : 0.0D; + double heightOffset = heightDiff != 0.0D ? this.getHeightOffset(parallax, state, heightDiff, state.partialTick) : 0.0D; - TextureAtlasSprite layerTexture = MagicPaintingTextureManager.instance.getLayerSprite(textureLocation, layer); + TextureAtlasSprite layerTexture = manager.getLayerSprite(textureLocation, layer); for (int k = 0; k < widthAsBlock; ++k) { for (int l = 0; l < heightAsBlock; ++l) { @@ -109,12 +105,7 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin float yMax = y + (float) ((l + 1) * 16); float yMin = y + (float) (l * 16); - if (direction == Direction.NORTH) posX = Mth.floor(painting.getX() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.WEST) posZ = Mth.floor(painting.getZ() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.SOUTH) posX = Mth.floor(painting.getX() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.EAST) posZ = Mth.floor(painting.getZ() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - - int light = layer.fullbright() ? 15728850 : LevelRenderer.getLightColor(painting.level(), new BlockPos(posX, Mth.floor(painting.getY() + (double) ((yMax + yMin) / 2.0F / 16.0F)), posZ)); + int light = layer.fullbright() ? 15728850 : worldLight[widthAsBlock + heightAsBlock * width]; float xEnd = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - k) + widthOffset)); float xStart = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - (k + 1)) + widthOffset)); float yEnd = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - l) + heightOffset)); @@ -127,7 +118,6 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin } } - TextureAtlasSprite backSprite = MagicPaintingTextureManager.instance.getBackSprite(); float u0 = backSprite.getU0(); float u1 = backSprite.getU1(); float v0 = backSprite.getV0(); @@ -148,13 +138,7 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin float yMax = y + (float) ((h + 1) * 16); float yMin = y + (float) (h * 16); - if (direction == Direction.NORTH) posX = Mth.floor(painting.getX() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.WEST) posZ = Mth.floor(painting.getZ() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.SOUTH) posX = Mth.floor(painting.getX() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.EAST) posZ = Mth.floor(painting.getZ() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - - int light = LevelRenderer.getLightColor(painting.level(), new BlockPos(posX, Mth.floor(painting.getY() + (double) ((yMax + yMin) / 2.0F / 16.0F)), posZ)); - + int light = worldLight[widthAsBlock + heightAsBlock * width]; this.vertex(pose, vertex, xMax, yMax, z, u1, v0, 0, 0, 1, light); this.vertex(pose, vertex, xMin, yMax, z, u0, v0, 0, 0, 1, light); this.vertex(pose, vertex, xMin, yMin, z, u0, v1, 0, 0, 1, light); @@ -187,25 +171,25 @@ protected void vertex(PoseStack.Pose pose, VertexConsumer vertex, float x, float vertex.addVertex(pose, x, y, z).setColor(255, 255, 255, (int) (255.0F * a)).setUv(u, v).setOverlay(OverlayTexture.NO_OVERLAY).setLight(light).setNormal(pose, normX, normY, normZ); } - protected double getWidthOffset(@Nullable Parallax parallax, MagicPainting painting, double widthDiff, float partialTicks) { + protected double getWidthOffset(@Nullable Parallax parallax, MagicPaintingRenderState state, double widthDiff, float partialTicks) { if (parallax != null) switch (parallax.type()) { case VIEW_ANGLE -> { Vec3 camPos = Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.getEyePosition(partialTicks) : Minecraft.getInstance().gameRenderer.getMainCamera().getPosition(); - Vec3 paintPos = painting.position().relative(painting.getDirection().getOpposite(), 1.0D); + Vec3 paintPos = state.position.relative(state.direction.getOpposite(), 1.0D); double x = camPos.x - paintPos.x; double z = camPos.z - paintPos.z; - double yRot = Mth.wrapDegrees((float) (Mth.atan2(z, x) * (double) (180F / (float) Math.PI)) - 90.0F - painting.getYRot()); + double yRot = Mth.wrapDegrees((float) (Mth.atan2(z, x) * (double) (180F / (float) Math.PI)) - 90.0F - state.yRot); return widthDiff + Mth.clamp(yRot * parallax.multiplier() * widthDiff, -widthDiff, widthDiff); } case SINE_TIME -> { - return widthDiff + (Math.sin((painting.tickCount + partialTicks) * parallax.multiplier()) * widthDiff); + return widthDiff + (Math.sin(state.ageInTicks * parallax.multiplier()) * widthDiff); } case LINEAR_TIME -> { - double trueTick = (painting.tickCount + partialTicks) * parallax.multiplier(); + double trueTick = state.ageInTicks * parallax.multiplier(); double wholeDiff = widthDiff * 2.0D; return widthDiff + (parallax.multiplier() > 0.0D ? -widthDiff + (trueTick % wholeDiff) : widthDiff - (trueTick % wholeDiff)); } @@ -213,14 +197,14 @@ protected double getWidthOffset(@Nullable Parallax parallax, MagicPainting paint return 0.0D; } - protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting painting, double heightDiff, float partialTicks) { + protected double getHeightOffset(@Nullable Parallax parallax, MagicPaintingRenderState state, double heightDiff, float partialTicks) { if (parallax != null) switch (parallax.type()) { case VIEW_ANGLE -> { Vec3 camPos = Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.getEyePosition(partialTicks) : Minecraft.getInstance().gameRenderer.getMainCamera().getPosition(); - Vec3 paintPos = painting.position().relative(painting.getDirection().getOpposite(), 1.0D); + Vec3 paintPos = new Vec3(state.x, state.y, state.z).relative(state.direction.getOpposite(), 1.0D); double x = camPos.x - paintPos.x; double y = camPos.y - paintPos.y; @@ -231,10 +215,10 @@ protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting pain return heightDiff - Mth.clamp(xRot * parallax.multiplier() * heightDiff, -heightDiff, heightDiff); } case SINE_TIME -> { - return heightDiff - (Math.cos((painting.tickCount + partialTicks) * parallax.multiplier()) * heightDiff); + return heightDiff - (Math.cos(state.ageInTicks * parallax.multiplier()) * heightDiff); } case LINEAR_TIME -> { - double trueTick = (painting.tickCount + partialTicks) * parallax.multiplier(); + double trueTick = state.ageInTicks * parallax.multiplier(); double wholeDiff = heightDiff * 2.0D; return heightDiff - (parallax.multiplier() > 0.0D ? -heightDiff + (trueTick % wholeDiff) : heightDiff - (trueTick % wholeDiff)); } @@ -244,38 +228,35 @@ protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting pain protected static final float DAY_LENGTH = 24000.0F; - protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPainting painting, float partialTicks) { - if (opacityModifier == null) return 1.0F; + protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPaintingRenderState state, float partialTicks) { + ClientLevel level = Minecraft.getInstance().level; + if (level == null || opacityModifier == null) return 1.0F; float a = 1.0F; switch (opacityModifier.type()) { case DISTANCE -> { Vec3 camPos = Optional.ofNullable(Minecraft.getInstance().cameraEntity).map(Entity::getEyePosition).orElse(Minecraft.getInstance().gameRenderer.getMainCamera().getPosition()); - a = fromTo(opacityModifier.from(), opacityModifier.to(), (float) camPos.distanceTo(painting.position())); + a = fromTo(opacityModifier.from(), opacityModifier.to(), (float) camPos.distanceTo(state.position)); } - case WEATHER -> a = painting.level().getRainLevel(partialTicks); + case WEATHER -> a = level.getRainLevel(partialTicks); case STORM -> { - a = (painting.level().getRainLevel(partialTicks) + painting.level().getThunderLevel(partialTicks)) * 0.5F; + a = (level.getRainLevel(partialTicks) + level.getThunderLevel(partialTicks)) * 0.5F; } case LIGHTNING -> { - if (painting.level() instanceof ClientLevel clientLevel) { - a = 1.0F - ((float) (clientLevel.getGameTime() - lastLightning) - partialTicks) * opacityModifier.multiplier(); - if (a > 0.0F) a = a * a; - } + a = 1.0F - ((float) (level.getGameTime() - lastLightning) - partialTicks) * opacityModifier.multiplier(); + if (a > 0.0F) a = a * a; } case DAY_TIME -> { - if (painting.level() instanceof ClientLevel level) { - float time = level.dimensionType().fixedTime().orElse(level.dayTime()) + partialTicks; - - if (opacityModifier.from() < opacityModifier.to()) { - a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() - opacityModifier.from())) - 0.5F) * 2.0F; - } else { - if (time < opacityModifier.to()) time += DAY_LENGTH; - a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() + DAY_LENGTH - opacityModifier.from())) - 0.5F) * 2.0F; - } + float time = level.dimensionType().fixedTime().orElse(level.dayTime()) + partialTicks; + + if (opacityModifier.from() < opacityModifier.to()) { + a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() - opacityModifier.from())) - 0.5F) * 2.0F; + } else { + if (time < opacityModifier.to()) time += DAY_LENGTH; + a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() + DAY_LENGTH - opacityModifier.from())) - 0.5F) * 2.0F; } } - case SINE_TIME -> a = (float) (Math.sin((painting.tickCount + partialTicks) * opacityModifier.multiplier())) * 0.5F + 0.5F; + case SINE_TIME -> a = (float) (Math.sin(state.ageInTicks * opacityModifier.multiplier())) * 0.5F + 0.5F; case HEALTH -> { if (Minecraft.getInstance().getCameraEntity() instanceof LivingEntity living) { a = fromTo(opacityModifier.from(), opacityModifier.to(), living.getHealth()); @@ -328,4 +309,54 @@ protected int getFrameUV(int i, int maxI) { else if (i == maxI - 1) return 3; else return 2; } + + @Override + public MagicPaintingRenderState createRenderState() { + return new MagicPaintingRenderState(); + } + + @Override + public void extractRenderState(MagicPainting entity, MagicPaintingRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + Direction direction = entity.getDirection(); + MagicPaintingVariant variant = entity.getVariant().value(); + state.direction = direction; + state.variant = variant; + state.texture = MagicPaintingVariant.getVariantResourceLocation(entity.level().registryAccess(), variant); + state.yRot = Mth.lerp(partialTick, entity.yRotO, entity.getYRot()); + int i = variant.width(); + int j = variant.height(); + if (state.lightCoords.length != i * j) { + state.lightCoords = new int[i * j]; + } + + float f = (float)(-i) / 2.0F; + float f1 = (float)(-j) / 2.0F; + Level level = entity.level(); + + for (int k = 0; k < j; k++) { + for (int l = 0; l < i; l++) { + float f2 = (float)l + f + 0.5F; + float f3 = (float)k + f1 + 0.5F; + int i1 = entity.getBlockX(); + int j1 = Mth.floor(entity.getY() + (double)f3); + int k1 = entity.getBlockZ(); + switch (direction) { + case NORTH: + i1 = Mth.floor(entity.getX() + (double)f2); + break; + case WEST: + k1 = Mth.floor(entity.getZ() - (double)f2); + break; + case SOUTH: + i1 = Mth.floor(entity.getX() - (double)f2); + break; + case EAST: + k1 = Mth.floor(entity.getZ() + (double)f2); + } + + state.lightCoords[l + k * i] = LevelRenderer.getLightColor(level, new BlockPos(i1, j1, k1)); + } + } + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java index cb9573a89d..e2cf8b3a07 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java @@ -4,16 +4,19 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Mob; import twilightforest.TwilightForestMod; -public class TFBipedRenderer> extends HumanoidMobRenderer { +public class TFBipedRenderer> extends HumanoidMobRenderer { + private final S state; private final ResourceLocation texture; - public TFBipedRenderer(EntityRendererProvider.Context context, M model, float shadowSize, String textureName) { + public TFBipedRenderer(EntityRendererProvider.Context context, S state, M model, float shadowSize, String textureName) { super(context, model, shadowSize); + this.state = state; if (textureName.startsWith("textures")) { this.texture = ResourceLocation.withDefaultNamespace(textureName); @@ -22,13 +25,23 @@ public TFBipedRenderer(EntityRendererProvider.Context context, M model, float sh } } - public TFBipedRenderer(EntityRendererProvider.Context context, M model, M innerArmor, M outerArmor, float shadowSize, String textureName) { - this(context, model, shadowSize, textureName); + public TFBipedRenderer(EntityRendererProvider.Context context, S state, M model, M innerArmor, M outerArmor, float shadowSize, String textureName) { + this(context, state, model, shadowSize, textureName); this.addLayer(new HumanoidArmorLayer<>(this, innerArmor, outerArmor, context.getModelManager())); } @Override - public ResourceLocation getTextureLocation(T entity) { + public ResourceLocation getTextureLocation(S entity) { return this.texture; } + + @Override + public S createRenderState() { + return this.state; + } + + @Override + public void extractRenderState(T entity, S state, float partialTick) { + super.extractRenderState(p_365075_, p_361774_, p_363123_); + } } diff --git a/src/main/java/twilightforest/client/renderer/entity/TFGhastRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFGhastRenderer.java index ca5e1bc332..934ee8a89c 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFGhastRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFGhastRenderer.java @@ -3,11 +3,13 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; import twilightforest.client.model.entity.TFGhastModel; +import twilightforest.client.state.TFGhastRenderState; import twilightforest.entity.monster.CarminiteGhastguard; -public class TFGhastRenderer> extends MobRenderer { +public class TFGhastRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("towerghast.png"); private static final ResourceLocation LOOKING_TEXTURE = TwilightForestMod.getModelTexture("towerghast_openeyes.png"); @@ -18,12 +20,25 @@ public TFGhastRenderer(EntityRendererProvider.Context context, M model, float sh } @Override - public ResourceLocation getTextureLocation(T entity) { - if (entity.isCharging() || entity.isDeadOrDying()) { + public TFGhastRenderState createRenderState() { + return new TFGhastRenderState(); + } + + @Override + public void extractRenderState(T entity, TFGhastRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isCharging = entity.isCharging(); + state.attackTimer = Mth.lerp(partialTick, entity.getPrevAttackTimer(), entity.getAttackTimer()); + state.attackState = entity.getAttackStatus(); + } + + @Override + public ResourceLocation getTextureLocation(TFGhastRenderState state) { + if (state.isCharging || state.deathTime > 0) { return ATTACKING_TEXTURE; } - return switch (entity.getAttackStatus()) { + return switch (state.attackState) { case 1 -> LOOKING_TEXTURE; case 2 -> ATTACKING_TEXTURE; default -> TEXTURE; diff --git a/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java index d103e1722c..b86cb0a210 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java @@ -5,19 +5,21 @@ import com.mojang.math.Axis; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ListModel; +import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; -import net.minecraft.world.entity.LivingEntity; import org.jetbrains.annotations.Nullable; import twilightforest.entity.TFPart; -public abstract class TFPartRenderer, M extends ListModel> extends EntityRenderer { +public abstract class TFPartRenderer, S extends LivingEntityRenderState, M extends EntityModel> extends EntityRenderer { protected final M model; @@ -27,42 +29,36 @@ public TFPartRenderer(EntityRendererProvider.Context context, M model) { } @Override - public void render(T entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(S state, PoseStack stack, MultiBufferSource buffer, int light) { stack.pushPose(); - float yRot = Mth.rotLerp(partialTicks, entity.prevRenderYawOffset, entity.renderYawOffset); - float xRot = Mth.lerp(partialTicks, entity.xRotO, entity.getXRot()); - - float ageInTicks = this.getBob(entity, partialTicks); - this.setupRotations(entity, stack, partialTicks); + this.setupRotations(state, stack, state.partialTick); stack.scale(-1.0F, -1.0F, 1.0F); stack.translate(0.0D, -1.501F, 0.0D); - - this.model.prepareMobModel(entity, 0.0F, 0.0F, partialTicks); - this.model.setupAnim(entity, 0.0F, 0.0F, ageInTicks, yRot, xRot); - boolean visible = this.isBodyVisible(entity); - boolean ghostly = !visible && !entity.isInvisibleTo(Minecraft.getInstance().player); - boolean glowing = Minecraft.getInstance().shouldEntityAppearGlowing(entity); - RenderType rendertype = this.getRenderType(entity, visible, ghostly, glowing); + this.model.setupAnim(state); + boolean visible = !state.isInvisible; + boolean ghostly = !visible && !state.isInvisibleToPlayer; + boolean glowing = state.appearsGlowing; + RenderType rendertype = this.getRenderType(state, visible, ghostly, glowing); if (rendertype != null) { VertexConsumer consumer = buffer.getBuffer(rendertype); - int overlay = this.getOverlayCoords(entity, OverlayTexture.NO_WHITE_U); - this.model.renderToBuffer(stack, consumer, light, overlay, ghostly ? 654311423 : -1); + int overlay = LivingEntityRenderer.getOverlayCoords(state, OverlayTexture.NO_WHITE_U); + int j = ghostly ? 654311423 : -1; + int k = ARGB.multiply(j, this.getModelTint(state)); + this.model.renderToBuffer(stack, consumer, light, overlay, k); } stack.popPose(); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); + super.render(state, stack, buffer, light); } - public int getOverlayCoords(T entity, float u) { - if (entity.getParent() instanceof LivingEntity living) - return OverlayTexture.pack(OverlayTexture.u(u), OverlayTexture.v(living.hurtTime > 0 || living.deathTime > 0 || entity.hurtTime > 0 || entity.deathTime > 0)); - return OverlayTexture.pack(OverlayTexture.u(u), OverlayTexture.v(entity.hurtTime > 0 || entity.deathTime > 0)); + protected int getModelTint(S state) { + return -1; } @Nullable - protected RenderType getRenderType(T entity, boolean visible, boolean ghostly, boolean glowing) { - ResourceLocation resourcelocation = this.getTextureLocation(entity); + protected RenderType getRenderType(S state, boolean visible, boolean ghostly, boolean glowing) { + ResourceLocation resourcelocation = this.getTextureLocation(state); if (ghostly) { return RenderType.itemEntityTranslucentCull(resourcelocation); } else if (visible) { @@ -72,39 +68,53 @@ protected RenderType getRenderType(T entity, boolean visible, boolean ghostly, b } } - protected float getBob(T entity, float partialTicks) { - return (float) entity.tickCount + partialTicks; - } - - protected void setupRotations(T entity, PoseStack stack, float partialTicks) { - if (entity.deathTime > 0) { - float f = ((float) entity.deathTime + partialTicks - 1.0F) / 20.0F * 1.6F; + protected void setupRotations(S state, PoseStack stack, float partialTicks) { + if (state.deathTime > 0) { + float f = ((float) state.deathTime + partialTicks - 1.0F) / 20.0F * 1.6F; f = Mth.sqrt(f); if (f > 1.0F) { f = 1.0F; } - stack.mulPose(Axis.of(entity.getDirection().step()).rotationDegrees(f * this.getFlipDegrees(entity))); - } else if (this.isEntityUpsideDown(entity)) { - stack.translate(0.0F, entity.getBbHeight() + 0.1F, 0.0F); + stack.mulPose(Axis.ZP.rotationDegrees(f * this.getFlipDegrees())); + } else if (state.isUpsideDown) { + stack.translate(0.0F, (state.boundingBoxHeight + 0.1F) / partialTicks, 0.0F); stack.mulPose(Axis.ZP.rotationDegrees(180.0F)); } } - protected float getFlipDegrees(T entity) { + protected float getFlipDegrees() { return 90.0F; } - protected boolean isBodyVisible(T entity) { - return !entity.isInvisible(); + @Override + public void extractRenderState(T entity, S state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + float f = Mth.rotLerp(partialTick, entity.yRotO, entity.getYRot()); + state.yRot = Mth.wrapDegrees(f); + state.xRot = entity.getXRot(partialTick); + state.customName = entity.getCustomName(); + state.isUpsideDown = this.isEntityUpsideDown(entity); + if (state.isUpsideDown) { + state.xRot *= -1.0F; + state.yRot *= -1.0F; + } + + state.isInWater = entity.isInWater() || entity.isInFluidType((fluidType, height) -> entity.canSwimInFluidType(fluidType)); + state.hasRedOverlay = entity.hurtTime > 0 || entity.deathTime > 0; + state.deathTime = entity.deathTime > 0 ? (float)entity.deathTime + partialTick : 0.0F; + Minecraft minecraft = Minecraft.getInstance(); + state.isInvisibleToPlayer = state.isInvisible && entity.isInvisibleTo(minecraft.player); + state.appearsGlowing = minecraft.shouldEntityAppearGlowing(entity); } private boolean isEntityUpsideDown(T entity) { if (entity.hasCustomName()) { String s = ChatFormatting.stripFormatting(entity.getName().getString()); - return s != null && (s.equalsIgnoreCase("dinnerbone") || s.equalsIgnoreCase("grumm")); + return "Dinnerbone".equalsIgnoreCase(s) || "Grumm".equalsIgnoreCase(s); } - return false; } + + public abstract ResourceLocation getTextureLocation(S state); } diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java index 3d62eeb7e1..c9aea5ff8d 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java @@ -8,6 +8,7 @@ import net.minecraft.client.renderer.Sheets; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; @@ -21,30 +22,31 @@ import twilightforest.entity.boss.Lich; import twilightforest.init.TFDataAttachments; -public class ShieldLayer> extends RenderLayer { +public class ShieldLayer> extends RenderLayer { public static final ModelResourceLocation LOC = ModelResourceLocation.standalone(TwilightForestMod.prefix("item/shield")); private static final Direction[] DIRS = ArrayUtils.add(Direction.values(), null); - public ShieldLayer(RenderLayerParent renderer) { + public ShieldLayer(RenderLayerParent renderer) { super(renderer); } @Override - public void render(PoseStack stack, MultiBufferSource buffer, int light, T entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { + public void render(PoseStack stack, MultiBufferSource source, int light, S state, float netHeadYaw, float headPitch) { if (this.getShieldCount(entity) > 0) { - this.renderShields(stack, buffer, entity, partialTicks); + this.renderShields(stack, source, state); } } + //TODO oh no... private int getShieldCount(T entity) { return entity instanceof Lich lich ? lich.getShieldStrength() : entity.getData(TFDataAttachments.FORTIFICATION_SHIELDS).shieldsLeft(); } - private void renderShields(PoseStack stack, MultiBufferSource buffer, T entity, float partialTicks) { - float age = entity.tickCount + partialTicks; + private void renderShields(PoseStack stack, MultiBufferSource buffer, S state) { + float age = state.ageInTicks; float rotateAngleY = age / -5.0F; float rotateAngleX = Mth.sin(age / 5.0F) / 4.0F; float rotateAngleZ = Mth.cos(age / 5.0F) / 4.0F; diff --git a/src/main/java/twilightforest/client/state/BirdRenderState.java b/src/main/java/twilightforest/client/state/BirdRenderState.java index 9cd8d7b95d..a7ee6a98dd 100644 --- a/src/main/java/twilightforest/client/state/BirdRenderState.java +++ b/src/main/java/twilightforest/client/state/BirdRenderState.java @@ -4,4 +4,6 @@ public class BirdRenderState extends LivingEntityRenderState { public boolean landed; + public float flap; + public float flapSpeed; } diff --git a/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java b/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java new file mode 100644 index 0000000000..7032a4df83 --- /dev/null +++ b/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java @@ -0,0 +1,12 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.util.Mth; +import net.minecraft.world.phys.Vec3; + +public class BlockChainGoblinRenderState extends HumanoidRenderState { + public Vec3 chainBlockPos; + public Vec3 chainStartPos; + +} diff --git a/src/main/java/twilightforest/client/state/DwarfRabbitRenderState.java b/src/main/java/twilightforest/client/state/DwarfRabbitRenderState.java new file mode 100644 index 0000000000..9507b9f453 --- /dev/null +++ b/src/main/java/twilightforest/client/state/DwarfRabbitRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; + +public class DwarfRabbitRenderState extends LivingEntityRenderState { + public ResourceLocation texture; +} diff --git a/src/main/java/twilightforest/client/state/HydraHeadRenderState.java b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java index b825116d12..9feba84e4e 100644 --- a/src/main/java/twilightforest/client/state/HydraHeadRenderState.java +++ b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java @@ -5,15 +5,6 @@ import twilightforest.entity.boss.HydraPart; public class HydraHeadRenderState extends LivingEntityRenderState { - private float mouthAngleO; - private float mouthAngle; - - public float getMouthAngle() { - return Mth.lerp(this.partialTick, this.mouthAngleO, this.mouthAngle); - } - - public float getRotationX(HydraPart whichHead, float time) { - return (whichHead.xRotO + (whichHead.getXRot() - whichHead.xRotO) * time) * Mth.DEG_TO_RAD; - } - + public boolean active; + public float mouthAngle; } diff --git a/src/main/java/twilightforest/client/state/HydraMortarRenderState.java b/src/main/java/twilightforest/client/state/HydraMortarRenderState.java new file mode 100644 index 0000000000..efad347ce5 --- /dev/null +++ b/src/main/java/twilightforest/client/state/HydraMortarRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; + +public class HydraMortarRenderState extends EntityRenderState { + public float fuse; +} diff --git a/src/main/java/twilightforest/client/state/HydraNeckRenderState.java b/src/main/java/twilightforest/client/state/HydraNeckRenderState.java new file mode 100644 index 0000000000..0f5f9688df --- /dev/null +++ b/src/main/java/twilightforest/client/state/HydraNeckRenderState.java @@ -0,0 +1,9 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; + +public class HydraNeckRenderState extends LivingEntityRenderState { + public boolean active; + public float headYRot; + public float headYRotO; +} diff --git a/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java b/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java index 6971004855..1ffcdf94d1 100644 --- a/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java +++ b/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java @@ -4,4 +4,5 @@ public class KnightPhatomRenderState extends HumanoidRenderState { public boolean isCharging; + public boolean isDying; } diff --git a/src/main/java/twilightforest/client/state/MagicPaintingRenderState.java b/src/main/java/twilightforest/client/state/MagicPaintingRenderState.java new file mode 100644 index 0000000000..1efc4386c8 --- /dev/null +++ b/src/main/java/twilightforest/client/state/MagicPaintingRenderState.java @@ -0,0 +1,19 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.phys.Vec3; +import twilightforest.entity.MagicPaintingVariant; + +import javax.annotation.Nullable; + +public class MagicPaintingRenderState extends EntityRenderState { + public Direction direction = Direction.NORTH; + public Vec3 position = new Vec3(this.x, this.y, this.z); + public float yRot; + @Nullable + public MagicPaintingVariant variant; + public ResourceLocation texture; + public int[] lightCoords = new int[0]; +} diff --git a/src/main/java/twilightforest/client/state/TFGhastRenderState.java b/src/main/java/twilightforest/client/state/TFGhastRenderState.java new file mode 100644 index 0000000000..cb471f1e99 --- /dev/null +++ b/src/main/java/twilightforest/client/state/TFGhastRenderState.java @@ -0,0 +1,10 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.GhastRenderer; +import net.minecraft.client.renderer.entity.state.GhastRenderState; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +public class TFGhastRenderState extends GhastRenderState { + public float attackTimer; + public int attackState; +} diff --git a/src/main/java/twilightforest/entity/MagicPaintingVariant.java b/src/main/java/twilightforest/entity/MagicPaintingVariant.java index d7ce6f23f5..6b2662e143 100644 --- a/src/main/java/twilightforest/entity/MagicPaintingVariant.java +++ b/src/main/java/twilightforest/entity/MagicPaintingVariant.java @@ -36,7 +36,7 @@ public static Optional getVariant(@Nullable HolderLookup.P } public static Optional getVariant(@Nullable HolderLookup.Provider regAccess, ResourceKey id) { - return regAccess == null ? Optional.empty() : regAccess.asGetterLookup().lookup(TFRegistries.Keys.MAGIC_PAINTINGS).flatMap(reg -> reg.get(id)).map(Holder.Reference::value); + return regAccess == null ? Optional.empty() : regAccess.lookup(TFRegistries.Keys.MAGIC_PAINTINGS).flatMap(reg -> reg.get(id)).map(Holder.Reference::value); } public static String getVariantId(RegistryAccess regAccess, MagicPaintingVariant variant) { @@ -44,7 +44,7 @@ public static String getVariantId(RegistryAccess regAccess, MagicPaintingVariant } public static ResourceLocation getVariantResourceLocation(RegistryAccess regAccess, MagicPaintingVariant variant) { - return regAccess.registry(TFRegistries.Keys.MAGIC_PAINTINGS).map(reg -> reg.getKey(variant)).orElse(MagicPaintingVariants.DEFAULT.location()); + return regAccess.lookup(TFRegistries.Keys.MAGIC_PAINTINGS).map(reg -> reg.getKey(variant)).orElse(MagicPaintingVariants.DEFAULT.location()); } public record Layer(String path, @Nullable Parallax parallax, @Nullable OpacityModifier opacityModifier, boolean fullbright) { From 5e6f530580adc077a0de7716531df8e4c46e7eb3 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:00:52 +0200 Subject: [PATCH 011/239] Fix magic leaves rotation correctly --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 21 +- .../blockstates/mining_leaves.json | 480 +++++++++++++++++- .../blockstates/sorting_leaves.json | 395 +++++++++++++- .../blockstates/time_leaves.json | 479 ++++++++++++++++- .../blockstates/transformation_leaves.json | 480 +++++++++++++++++- .../models/block/mining_leaves.json | 52 ++ .../models/block/sorting_leaves.json | 43 ++ .../models/block/sorting_leaves1.json | 50 ++ .../models/block/sorting_leaves2.json | 52 ++ .../models/block/sorting_leaves3.json | 51 ++ .../models/block/time_leaves.json | 46 ++ .../models/block/transformation_leaves.json | 52 ++ .../data/BlockstateGenerator.java | 61 ++- 13 files changed, 2219 insertions(+), 43 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index c0873e7832..cb8c2d28c8 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T14:28:31.349210224 TwilightForest blockstates and block models +// 1.21.1 2024-10-23T14:54:32.927553817 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -583760c9ea8e184f2c97f57581bba6731ac2644b assets/twilightforest/blockstates/mining_leaves.json +8d21be46b1c82f50095ddb736bf2bd6a26a3a2b1 assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -330,7 +330,7 @@ a0cd385594f6d6c0d6e12d21cc48bdaffa43a306 assets/twilightforest/blockstates/sorti c7ff34e08b01913ba1cec1e9a76e55f1bd2f4d53 assets/twilightforest/blockstates/sorting_fence.json b475ef851269fcef3961af77d628769f658b6b4e assets/twilightforest/blockstates/sorting_fence_gate.json 214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json -45ce3b21e53ef2f5619227eaa406d23e69a54f31 assets/twilightforest/blockstates/sorting_leaves.json +fc7b72e4e1e51bce4ecdba8be61ec074ba3089b3 assets/twilightforest/blockstates/sorting_leaves.json 8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json aed0770ff0d2e7dc7faac02b1803946b930d2cc6 assets/twilightforest/blockstates/sorting_log_core.json 5dbc28cad2fef2bb42c4c434ebf3c9973b899920 assets/twilightforest/blockstates/sorting_planks.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json +8bb4373ac7d62930c7c05a4a14081c38f3954ee9 assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -af2102fdd466056de347a44b4752d51403b34167 assets/twilightforest/blockstates/transformation_leaves.json +a7a6e97acdca6dbf774c76b5c009c309dabc446d assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json @@ -900,7 +900,7 @@ ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/maze 326a7eb2700ebc7478f70ed50a2807bf317d79fc assets/twilightforest/models/block/mazestone_mosaic.json d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_chest.json 7305e35ab1972927c39429c74bfcf01fa7bc7e14 assets/twilightforest/models/block/mining_hanging_sign.json -26c42ba3b791e597b7c1144c0bb6d7837316f587 assets/twilightforest/models/block/mining_leaves.json +fa03d5031c320e55be438beadae0560fe806ab88 assets/twilightforest/models/block/mining_leaves.json efc73cc8fa5771fdd4c0e954ddd3c7bf4dac269c assets/twilightforest/models/block/mining_log.json ffcba12dbd958937d12018976ef8e0e99d8d7bc1 assets/twilightforest/models/block/mining_log_core.json d91d34f5af3408fbd9a375ddab8df97be64ed62b assets/twilightforest/models/block/mining_log_core_on.json @@ -979,7 +979,10 @@ a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/red_ 1f71929bf4dc1fd19d66c7123ffba231b1fcec46 assets/twilightforest/models/block/snowy_cloud.json d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_chest.json 911ccc4a0623bde0bb53424453c4eb5067f1b120 assets/twilightforest/models/block/sorting_hanging_sign.json -c0d52bf365f8f24a2a2f40642d4ea8eec361022c assets/twilightforest/models/block/sorting_leaves.json +57cf8b4823c3ab09fe44fb2f9ec21d42298c9d99 assets/twilightforest/models/block/sorting_leaves.json +966c5c800eb404df191415756c4eb0f365c2d532 assets/twilightforest/models/block/sorting_leaves1.json +e2406f8efab495067735deb952ff29f4ccb37528 assets/twilightforest/models/block/sorting_leaves2.json +d472af95038ba1f75b5cb428dd4aa320f50bedd0 assets/twilightforest/models/block/sorting_leaves3.json 1bd3517d6a2f7438e30618820d0782bc778ed7d7 assets/twilightforest/models/block/sorting_log.json 9bbe5e5a62cdc38a6f8511c156a03bb9e4704f07 assets/twilightforest/models/block/sorting_log_core.json 075d1cc785a8294fbbc71b439c2284eeb9a024d4 assets/twilightforest/models/block/sorting_log_core_on.json @@ -1039,7 +1042,7 @@ bd8ec10fba2faf5c43a345a3f6324458ffccf0aa assets/twilightforest/models/block/thor 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json 1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_chest.json 5865607a7ef9c9e9e0dcbdce6d06718dcf10184b assets/twilightforest/models/block/time_hanging_sign.json -09bf870ddb3ae0f4225711afee714b9cc619c3a0 assets/twilightforest/models/block/time_leaves.json +748d13a3b6291be36737045ccd8836fbd4279f56 assets/twilightforest/models/block/time_leaves.json d6fd1c256276de752510d2daff6bd231c4f60240 assets/twilightforest/models/block/time_log.json 4fb8f1db99ec95f03ed3244affbb6b17fc957d85 assets/twilightforest/models/block/time_log_core.json ad366cdb2c4d40253ed6932c8d970dadda93e7b2 assets/twilightforest/models/block/time_log_core_on.json @@ -1057,7 +1060,7 @@ fe2e0a67f4949e16b77b490571774c798f27e028 assets/twilightforest/models/block/towe 9d8857b8afa293e7c5242db4f357c7190b81acc6 assets/twilightforest/models/block/towerwood_flipped.json 3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_chest.json 74444280d2f22c61b08ce0e6d672e9d7c19ae7e2 assets/twilightforest/models/block/transformation_hanging_sign.json -be0e13b05ddad70a31b613a778a0be9f2013f564 assets/twilightforest/models/block/transformation_leaves.json +257cef5b0678fec42e1cf57e9dd27b13787b11b3 assets/twilightforest/models/block/transformation_leaves.json 1f1ac9b689198d6dc152fd2d5e9517d159f79c5b assets/twilightforest/models/block/transformation_log.json 3d37c4a41e4e753e97dc6b3ec560e738aa4d8780 assets/twilightforest/models/block/transformation_log_core.json 7790f7cd8f8d85c32b17e38733b7ee6a5fc9e8ef assets/twilightforest/models/block/transformation_log_core_on.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index 76a76f2d6c..bfad9214a1 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,8 +1,480 @@ { "variants": { - "": { - "model": "twilightforest:block/mining_leaves", - "x": 90 - } + "distance=1,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=1,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/mining_leaves" + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/mining_leaves", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json index 3266789032..bc12c78c34 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json @@ -1,7 +1,396 @@ { "variants": { - "": { - "model": "twilightforest:block/sorting_leaves" - } + "distance=1,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=1,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=1,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=1,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=2,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=2,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=2,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=2,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=3,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=3,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=3,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=3,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=4,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=4,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=4,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=4,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=5,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=5,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=5,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=5,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=6,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=6,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=6,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=6,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=7,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=7,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=7,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ], + "distance=7,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves1" + }, + { + "model": "twilightforest:block/sorting_leaves2" + }, + { + "model": "twilightforest:block/sorting_leaves3" + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index 28d91296f3..ce99a17503 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,7 +1,480 @@ { "variants": { - "": { - "model": "twilightforest:block/time_leaves" - } + "distance=1,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=1,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/time_leaves" + }, + { + "model": "twilightforest:block/time_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/time_leaves", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index bd5ced4dec..1102545bae 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,8 +1,480 @@ { "variants": { - "": { - "model": "twilightforest:block/transformation_leaves", - "x": 270 - } + "distance=1,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=1,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=1,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=2,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=2,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=3,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=3,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=4,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=4,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=5,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=5,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=6,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=6,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=7,persistent=false,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=false": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ], + "distance=7,persistent=true,waterlogged=true": [ + { + "model": "twilightforest:block/transformation_leaves" + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 90 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 180 + }, + { + "model": "twilightforest:block/transformation_leaves", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json index 44e13395a9..3f7cb1cc49 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json @@ -1,5 +1,57 @@ { "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/mining_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json index 14b1bfeb07..8c34695aa7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json @@ -1,5 +1,48 @@ { "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "texture": "#all", + "tintindex": 0 + }, + "east": { + "texture": "#all", + "tintindex": 0 + }, + "north": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/sorting_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json new file mode 100644 index 0000000000..05b816bda3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json @@ -0,0 +1,50 @@ +{ + "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "texture": "#all", + "tintindex": 0 + }, + "up": { + "texture": "#all", + "tintindex": 0 + }, + "west": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json new file mode 100644 index 0000000000..c28229c806 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json @@ -0,0 +1,52 @@ +{ + "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json new file mode 100644 index 0000000000..1136398e47 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json @@ -0,0 +1,51 @@ +{ + "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "texture": "#all", + "tintindex": 0 + }, + "south": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "rotation": 90, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json index 285bf0cf5e..45594f6ef4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json @@ -1,5 +1,51 @@ { "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/time_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json index 0f8ddeb0b0..7baed18800 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json @@ -1,5 +1,57 @@ { "parent": "minecraft:block/leaves", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/transformation_leaves" } diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 4728d35542..87188d0400 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -11,13 +11,9 @@ import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.SlabType; -import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; -import net.neoforged.neoforge.client.model.generators.ConfiguredModel; -import net.neoforged.neoforge.client.model.generators.ModelFile; -import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder; +import net.neoforged.neoforge.client.model.generators.*; import net.neoforged.neoforge.client.model.generators.loaders.CompositeModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; -import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -914,22 +910,22 @@ private void registerWoodBlocks() { logWoodSapling(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.TIME_WOOD.get(), TFBlocks.STRIPPED_TIME_WOOD.get(), TFBlocks.TIME_SAPLING.get()); plankBlocks("time", TFBlocks.TIME_PLANKS.get(), TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_STAIRS.get(), TFBlocks.TIME_BUTTON.get(), TFBlocks.TIME_FENCE.get(), TFBlocks.TIME_GATE.get(), TFBlocks.TIME_PLATE.get(), TFBlocks.TIME_DOOR.get(), TFBlocks.TIME_TRAPDOOR.get(), true, false, TFBlocks.TIME_BANISTER.get()); - timeLeaves(); + makeTimeLeaves(); magicLogCore(TFBlocks.TIME_LOG_CORE.get()); logWoodSapling(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_WOOD.get(), TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), TFBlocks.TRANSFORMATION_SAPLING.get()); plankBlocks("trans", TFBlocks.TRANSFORMATION_PLANKS.get(), TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_STAIRS.get(), TFBlocks.TRANSFORMATION_BUTTON.get(), TFBlocks.TRANSFORMATION_FENCE.get(), TFBlocks.TRANSFORMATION_GATE.get(), TFBlocks.TRANSFORMATION_PLATE.get(), TFBlocks.TRANSFORMATION_DOOR.get(), TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, false, TFBlocks.TRANSFORMATION_BANISTER.get()); - transformationLeaves(); + makeTransformationLeaves(); magicLogCore(TFBlocks.TRANSFORMATION_LOG_CORE.get()); logWoodSapling(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.MINING_WOOD.get(), TFBlocks.STRIPPED_MINING_WOOD.get(), TFBlocks.MINING_SAPLING.get()); plankBlocks("mine", TFBlocks.MINING_PLANKS.get(), TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_STAIRS.get(), TFBlocks.MINING_BUTTON.get(), TFBlocks.MINING_FENCE.get(), TFBlocks.MINING_GATE.get(), TFBlocks.MINING_PLATE.get(), TFBlocks.MINING_DOOR.get(), TFBlocks.MINING_TRAPDOOR.get(), TFBlocks.MINING_BANISTER.get()); - miningLeaves(); + makeMiningLeaves(); magicLogCore(TFBlocks.MINING_LOG_CORE.get()); logWoodSapling(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.SORTING_WOOD.get(), TFBlocks.STRIPPED_SORTING_WOOD.get(), TFBlocks.SORTING_SAPLING.get()); plankBlocks("sort", TFBlocks.SORTING_PLANKS.get(), TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_STAIRS.get(), TFBlocks.SORTING_BUTTON.get(), TFBlocks.SORTING_FENCE.get(), TFBlocks.SORTING_GATE.get(), TFBlocks.SORTING_PLATE.get(), TFBlocks.SORTING_DOOR.get(), TFBlocks.SORTING_TRAPDOOR.get(), true, true, TFBlocks.SORTING_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); // TODO: make all sides' texture rotation random + buildSortingLeaves(); magicLogCore(TFBlocks.SORTING_LOG_CORE.get()); banisterVanilla(TFBlocks.OAK_BANISTER.get(), "oak_planks", "oak"); @@ -980,23 +976,48 @@ private void registerWoodBlocks() { hollowLogs(TFBlocks.SORTING_LOG, TFBlocks.STRIPPED_SORTING_LOG, TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, EMPTY_LOG, MOSS_LOG, MOSS_LOG_GRASS, SNOW_LOG, HOLLOW_LOG, VINE_LOG, LADDER_LOG); } - // TODO: make bottom and top texture rotations random - private void timeLeaves() { - magicLeaves(TFBlocks.TIME_LEAVES, 0); + private void buildSortingLeaves() { + Block block = TFBlocks.SORTING_LEAVES.get(); + + // we create 4 variants of leaves and choose 1 of 4 flowing direction for each face of each variant + int[][] CHOSEN_VARIANTS = {{0, 2, 2, 3, 0, 0}, {2, 0, 3, 0, 2, 1}, {3, 3, 1, 2, 3, 2}, {1, 1, 0, 1, 1, 3}}; + ModelFile[] modelFiles = new ModelFile[CHOSEN_VARIANTS.length]; + for(int i = 0; i < CHOSEN_VARIANTS.length; i++) { + ModelBuilder modelBuilder = models().leaves(name(block) + (i > 0 ? i : ""), prefix("block/" + name(block))); // i > 0 ? i : "" to generate item model + ModelBuilder.ElementBuilder builder = modelBuilder.element().from(0, 0, 0).to(16, 16, 16); + for (Direction dir : Direction.values()) { + ModelBuilder.FaceRotation rotation = ModelBuilder.FaceRotation.values()[CHOSEN_VARIANTS[i][dir.ordinal()]]; + builder.face(dir).texture("#all").rotation(rotation).tintindex(0).end(); + } + builder.end(); + modelFiles[i] = modelBuilder; + } + getVariantBuilder(block).forAllStates(state -> + Arrays.stream(modelFiles) + .map(builder -> new ConfiguredModel(builder, 0, 0, false)) + .toArray(ConfiguredModel[]::new) + ); } - private void transformationLeaves() { - magicLeaves(TFBlocks.TRANSFORMATION_LEAVES, 270); + private void makeTimeLeaves() { + buildMagicLeaves(TFBlocks.TIME_LEAVES.get(), 0); } - private void miningLeaves() { - magicLeaves(TFBlocks.MINING_LEAVES, 90); + private void makeTransformationLeaves() { + buildMagicLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), -90); } - private void magicLeaves(DeferredBlock block, int rotation) { - ModelFile model = models().leaves(block.getId().getPath(), prefix("block/" + block.getId().getPath())); - ConfiguredModel configuredModel = new ConfiguredModel(model, rotation, 0, false); - simpleBlock(block.get(), configuredModel); + private void makeMiningLeaves() { + buildMagicLeaves(TFBlocks.MINING_LEAVES.get(), 90); + } + + private void buildMagicLeaves(Block block, int rotation) { + rotation = (rotation == -90) ? 270 : rotation; + ModelBuilder.FaceRotation faceRotation = ModelBuilder.FaceRotation.values()[rotation / 90]; + + ModelFile modelFile = models().leaves(name(block), prefix("block/" + name(block))).element() + .from(0, 0, 0).to(16, 16, 16).allFaces(((dir, builder) -> builder.cullface(dir).tintindex(0).rotation(faceRotation).texture("#all"))).end(); + getVariantBuilder(block).forAllStates((state -> ConfiguredModel.allYRotations(modelFile, 0, false))); } private void magicLogCore(Block b) { From b244cb8a9a905c327d96d378e3808ca2ae3670f1 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:07:15 +0200 Subject: [PATCH 012/239] Revert "Fix magic leaves rotation correctly" This reverts commit 5e6f530580adc077a0de7716531df8e4c46e7eb3. --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 21 +- .../blockstates/mining_leaves.json | 480 +----------------- .../blockstates/sorting_leaves.json | 395 +------------- .../blockstates/time_leaves.json | 479 +---------------- .../blockstates/transformation_leaves.json | 480 +----------------- .../models/block/mining_leaves.json | 52 -- .../models/block/sorting_leaves.json | 43 -- .../models/block/sorting_leaves1.json | 50 -- .../models/block/sorting_leaves2.json | 52 -- .../models/block/sorting_leaves3.json | 51 -- .../models/block/time_leaves.json | 46 -- .../models/block/transformation_leaves.json | 52 -- .../data/BlockstateGenerator.java | 61 +-- 13 files changed, 43 insertions(+), 2219 deletions(-) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index cb8c2d28c8..c0873e7832 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-23T14:54:32.927553817 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T14:28:31.349210224 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -8d21be46b1c82f50095ddb736bf2bd6a26a3a2b1 assets/twilightforest/blockstates/mining_leaves.json +583760c9ea8e184f2c97f57581bba6731ac2644b assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -330,7 +330,7 @@ a0cd385594f6d6c0d6e12d21cc48bdaffa43a306 assets/twilightforest/blockstates/sorti c7ff34e08b01913ba1cec1e9a76e55f1bd2f4d53 assets/twilightforest/blockstates/sorting_fence.json b475ef851269fcef3961af77d628769f658b6b4e assets/twilightforest/blockstates/sorting_fence_gate.json 214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json -fc7b72e4e1e51bce4ecdba8be61ec074ba3089b3 assets/twilightforest/blockstates/sorting_leaves.json +45ce3b21e53ef2f5619227eaa406d23e69a54f31 assets/twilightforest/blockstates/sorting_leaves.json 8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json aed0770ff0d2e7dc7faac02b1803946b930d2cc6 assets/twilightforest/blockstates/sorting_log_core.json 5dbc28cad2fef2bb42c4c434ebf3c9973b899920 assets/twilightforest/blockstates/sorting_planks.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -8bb4373ac7d62930c7c05a4a14081c38f3954ee9 assets/twilightforest/blockstates/time_leaves.json +4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -a7a6e97acdca6dbf774c76b5c009c309dabc446d assets/twilightforest/blockstates/transformation_leaves.json +af2102fdd466056de347a44b4752d51403b34167 assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json @@ -900,7 +900,7 @@ ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/maze 326a7eb2700ebc7478f70ed50a2807bf317d79fc assets/twilightforest/models/block/mazestone_mosaic.json d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_chest.json 7305e35ab1972927c39429c74bfcf01fa7bc7e14 assets/twilightforest/models/block/mining_hanging_sign.json -fa03d5031c320e55be438beadae0560fe806ab88 assets/twilightforest/models/block/mining_leaves.json +26c42ba3b791e597b7c1144c0bb6d7837316f587 assets/twilightforest/models/block/mining_leaves.json efc73cc8fa5771fdd4c0e954ddd3c7bf4dac269c assets/twilightforest/models/block/mining_log.json ffcba12dbd958937d12018976ef8e0e99d8d7bc1 assets/twilightforest/models/block/mining_log_core.json d91d34f5af3408fbd9a375ddab8df97be64ed62b assets/twilightforest/models/block/mining_log_core_on.json @@ -979,10 +979,7 @@ a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/red_ 1f71929bf4dc1fd19d66c7123ffba231b1fcec46 assets/twilightforest/models/block/snowy_cloud.json d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_chest.json 911ccc4a0623bde0bb53424453c4eb5067f1b120 assets/twilightforest/models/block/sorting_hanging_sign.json -57cf8b4823c3ab09fe44fb2f9ec21d42298c9d99 assets/twilightforest/models/block/sorting_leaves.json -966c5c800eb404df191415756c4eb0f365c2d532 assets/twilightforest/models/block/sorting_leaves1.json -e2406f8efab495067735deb952ff29f4ccb37528 assets/twilightforest/models/block/sorting_leaves2.json -d472af95038ba1f75b5cb428dd4aa320f50bedd0 assets/twilightforest/models/block/sorting_leaves3.json +c0d52bf365f8f24a2a2f40642d4ea8eec361022c assets/twilightforest/models/block/sorting_leaves.json 1bd3517d6a2f7438e30618820d0782bc778ed7d7 assets/twilightforest/models/block/sorting_log.json 9bbe5e5a62cdc38a6f8511c156a03bb9e4704f07 assets/twilightforest/models/block/sorting_log_core.json 075d1cc785a8294fbbc71b439c2284eeb9a024d4 assets/twilightforest/models/block/sorting_log_core_on.json @@ -1042,7 +1039,7 @@ bd8ec10fba2faf5c43a345a3f6324458ffccf0aa assets/twilightforest/models/block/thor 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json 1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_chest.json 5865607a7ef9c9e9e0dcbdce6d06718dcf10184b assets/twilightforest/models/block/time_hanging_sign.json -748d13a3b6291be36737045ccd8836fbd4279f56 assets/twilightforest/models/block/time_leaves.json +09bf870ddb3ae0f4225711afee714b9cc619c3a0 assets/twilightforest/models/block/time_leaves.json d6fd1c256276de752510d2daff6bd231c4f60240 assets/twilightforest/models/block/time_log.json 4fb8f1db99ec95f03ed3244affbb6b17fc957d85 assets/twilightforest/models/block/time_log_core.json ad366cdb2c4d40253ed6932c8d970dadda93e7b2 assets/twilightforest/models/block/time_log_core_on.json @@ -1060,7 +1057,7 @@ fe2e0a67f4949e16b77b490571774c798f27e028 assets/twilightforest/models/block/towe 9d8857b8afa293e7c5242db4f357c7190b81acc6 assets/twilightforest/models/block/towerwood_flipped.json 3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_chest.json 74444280d2f22c61b08ce0e6d672e9d7c19ae7e2 assets/twilightforest/models/block/transformation_hanging_sign.json -257cef5b0678fec42e1cf57e9dd27b13787b11b3 assets/twilightforest/models/block/transformation_leaves.json +be0e13b05ddad70a31b613a778a0be9f2013f564 assets/twilightforest/models/block/transformation_leaves.json 1f1ac9b689198d6dc152fd2d5e9517d159f79c5b assets/twilightforest/models/block/transformation_log.json 3d37c4a41e4e753e97dc6b3ec560e738aa4d8780 assets/twilightforest/models/block/transformation_log_core.json 7790f7cd8f8d85c32b17e38733b7ee6a5fc9e8ef assets/twilightforest/models/block/transformation_log_core_on.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index bfad9214a1..76a76f2d6c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,480 +1,8 @@ { "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ] + "": { + "model": "twilightforest:block/mining_leaves", + "x": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json index bc12c78c34..3266789032 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json @@ -1,396 +1,7 @@ { "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ] + "": { + "model": "twilightforest:block/sorting_leaves" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index ce99a17503..28d91296f3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,480 +1,7 @@ { "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ] + "": { + "model": "twilightforest:block/time_leaves" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index 1102545bae..bd5ced4dec 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,480 +1,8 @@ { "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ] + "": { + "model": "twilightforest:block/transformation_leaves", + "x": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json index 3f7cb1cc49..44e13395a9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json @@ -1,57 +1,5 @@ { "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], "textures": { "all": "twilightforest:block/mining_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json index 8c34695aa7..14b1bfeb07 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json @@ -1,48 +1,5 @@ { "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], "textures": { "all": "twilightforest:block/sorting_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json deleted file mode 100644 index 05b816bda3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "texture": "#all", - "tintindex": 0 - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json deleted file mode 100644 index c28229c806..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json deleted file mode 100644 index 1136398e47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json index 45594f6ef4..285bf0cf5e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json @@ -1,51 +1,5 @@ { "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], "textures": { "all": "twilightforest:block/time_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json index 7baed18800..0f8ddeb0b0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json @@ -1,57 +1,5 @@ { "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], "textures": { "all": "twilightforest:block/transformation_leaves" } diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 87188d0400..4728d35542 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -11,9 +11,13 @@ import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.SlabType; -import net.neoforged.neoforge.client.model.generators.*; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder; import net.neoforged.neoforge.client.model.generators.loaders.CompositeModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -910,22 +914,22 @@ private void registerWoodBlocks() { logWoodSapling(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.TIME_WOOD.get(), TFBlocks.STRIPPED_TIME_WOOD.get(), TFBlocks.TIME_SAPLING.get()); plankBlocks("time", TFBlocks.TIME_PLANKS.get(), TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_STAIRS.get(), TFBlocks.TIME_BUTTON.get(), TFBlocks.TIME_FENCE.get(), TFBlocks.TIME_GATE.get(), TFBlocks.TIME_PLATE.get(), TFBlocks.TIME_DOOR.get(), TFBlocks.TIME_TRAPDOOR.get(), true, false, TFBlocks.TIME_BANISTER.get()); - makeTimeLeaves(); + timeLeaves(); magicLogCore(TFBlocks.TIME_LOG_CORE.get()); logWoodSapling(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_WOOD.get(), TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), TFBlocks.TRANSFORMATION_SAPLING.get()); plankBlocks("trans", TFBlocks.TRANSFORMATION_PLANKS.get(), TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_STAIRS.get(), TFBlocks.TRANSFORMATION_BUTTON.get(), TFBlocks.TRANSFORMATION_FENCE.get(), TFBlocks.TRANSFORMATION_GATE.get(), TFBlocks.TRANSFORMATION_PLATE.get(), TFBlocks.TRANSFORMATION_DOOR.get(), TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, false, TFBlocks.TRANSFORMATION_BANISTER.get()); - makeTransformationLeaves(); + transformationLeaves(); magicLogCore(TFBlocks.TRANSFORMATION_LOG_CORE.get()); logWoodSapling(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.MINING_WOOD.get(), TFBlocks.STRIPPED_MINING_WOOD.get(), TFBlocks.MINING_SAPLING.get()); plankBlocks("mine", TFBlocks.MINING_PLANKS.get(), TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_STAIRS.get(), TFBlocks.MINING_BUTTON.get(), TFBlocks.MINING_FENCE.get(), TFBlocks.MINING_GATE.get(), TFBlocks.MINING_PLATE.get(), TFBlocks.MINING_DOOR.get(), TFBlocks.MINING_TRAPDOOR.get(), TFBlocks.MINING_BANISTER.get()); - makeMiningLeaves(); + miningLeaves(); magicLogCore(TFBlocks.MINING_LOG_CORE.get()); logWoodSapling(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.SORTING_WOOD.get(), TFBlocks.STRIPPED_SORTING_WOOD.get(), TFBlocks.SORTING_SAPLING.get()); plankBlocks("sort", TFBlocks.SORTING_PLANKS.get(), TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_STAIRS.get(), TFBlocks.SORTING_BUTTON.get(), TFBlocks.SORTING_FENCE.get(), TFBlocks.SORTING_GATE.get(), TFBlocks.SORTING_PLATE.get(), TFBlocks.SORTING_DOOR.get(), TFBlocks.SORTING_TRAPDOOR.get(), true, true, TFBlocks.SORTING_BANISTER.get()); - buildSortingLeaves(); + singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); // TODO: make all sides' texture rotation random magicLogCore(TFBlocks.SORTING_LOG_CORE.get()); banisterVanilla(TFBlocks.OAK_BANISTER.get(), "oak_planks", "oak"); @@ -976,48 +980,23 @@ private void registerWoodBlocks() { hollowLogs(TFBlocks.SORTING_LOG, TFBlocks.STRIPPED_SORTING_LOG, TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, EMPTY_LOG, MOSS_LOG, MOSS_LOG_GRASS, SNOW_LOG, HOLLOW_LOG, VINE_LOG, LADDER_LOG); } - private void buildSortingLeaves() { - Block block = TFBlocks.SORTING_LEAVES.get(); - - // we create 4 variants of leaves and choose 1 of 4 flowing direction for each face of each variant - int[][] CHOSEN_VARIANTS = {{0, 2, 2, 3, 0, 0}, {2, 0, 3, 0, 2, 1}, {3, 3, 1, 2, 3, 2}, {1, 1, 0, 1, 1, 3}}; - ModelFile[] modelFiles = new ModelFile[CHOSEN_VARIANTS.length]; - for(int i = 0; i < CHOSEN_VARIANTS.length; i++) { - ModelBuilder modelBuilder = models().leaves(name(block) + (i > 0 ? i : ""), prefix("block/" + name(block))); // i > 0 ? i : "" to generate item model - ModelBuilder.ElementBuilder builder = modelBuilder.element().from(0, 0, 0).to(16, 16, 16); - for (Direction dir : Direction.values()) { - ModelBuilder.FaceRotation rotation = ModelBuilder.FaceRotation.values()[CHOSEN_VARIANTS[i][dir.ordinal()]]; - builder.face(dir).texture("#all").rotation(rotation).tintindex(0).end(); - } - builder.end(); - modelFiles[i] = modelBuilder; - } - getVariantBuilder(block).forAllStates(state -> - Arrays.stream(modelFiles) - .map(builder -> new ConfiguredModel(builder, 0, 0, false)) - .toArray(ConfiguredModel[]::new) - ); + // TODO: make bottom and top texture rotations random + private void timeLeaves() { + magicLeaves(TFBlocks.TIME_LEAVES, 0); } - private void makeTimeLeaves() { - buildMagicLeaves(TFBlocks.TIME_LEAVES.get(), 0); + private void transformationLeaves() { + magicLeaves(TFBlocks.TRANSFORMATION_LEAVES, 270); } - private void makeTransformationLeaves() { - buildMagicLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), -90); + private void miningLeaves() { + magicLeaves(TFBlocks.MINING_LEAVES, 90); } - private void makeMiningLeaves() { - buildMagicLeaves(TFBlocks.MINING_LEAVES.get(), 90); - } - - private void buildMagicLeaves(Block block, int rotation) { - rotation = (rotation == -90) ? 270 : rotation; - ModelBuilder.FaceRotation faceRotation = ModelBuilder.FaceRotation.values()[rotation / 90]; - - ModelFile modelFile = models().leaves(name(block), prefix("block/" + name(block))).element() - .from(0, 0, 0).to(16, 16, 16).allFaces(((dir, builder) -> builder.cullface(dir).tintindex(0).rotation(faceRotation).texture("#all"))).end(); - getVariantBuilder(block).forAllStates((state -> ConfiguredModel.allYRotations(modelFile, 0, false))); + private void magicLeaves(DeferredBlock block, int rotation) { + ModelFile model = models().leaves(block.getId().getPath(), prefix("block/" + block.getId().getPath())); + ConfiguredModel configuredModel = new ConfiguredModel(model, rotation, 0, false); + simpleBlock(block.get(), configuredModel); } private void magicLogCore(Block b) { From 120e2775ca72ced02a3b6b7ff79d1916abb122c9 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:07:15 +0200 Subject: [PATCH 013/239] Revert "Change the direction of timeLeaves to clockwise" This reverts commit c8fdeef14aef2e593248d458f4081cc1b8238069. --- .../resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 4 ++-- .../assets/twilightforest/blockstates/time_leaves.json | 3 ++- src/main/java/twilightforest/data/BlockstateGenerator.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index c0873e7832..c65fa130e8 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T14:28:31.349210224 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T14:00:16.734999297 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json +5e5f52ebbefcb264bece9abe7a673fa4cafd7b53 assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index 28d91296f3..f67b40a718 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,7 +1,8 @@ { "variants": { "": { - "model": "twilightforest:block/time_leaves" + "model": "twilightforest:block/time_leaves", + "x": 180 } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 4728d35542..5f75b6c5a0 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -982,7 +982,7 @@ private void registerWoodBlocks() { // TODO: make bottom and top texture rotations random private void timeLeaves() { - magicLeaves(TFBlocks.TIME_LEAVES, 0); + magicLeaves(TFBlocks.TIME_LEAVES, 180); } private void transformationLeaves() { From 7b1b7962a1795a8c7ec2e6fe92f75a859921eb9f Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:07:15 +0200 Subject: [PATCH 014/239] Revert "Use ConfiguredModel with SimpleBlock instead of getMultipartBuilder" This reverts commit 904940093f2d047b75e18722eb99d4efd1a9c20e. --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 8 ++++---- .../blockstates/mining_leaves.json | 12 +++++++----- .../twilightforest/blockstates/time_leaves.json | 12 +++++++----- .../blockstates/transformation_leaves.json | 12 +++++++----- .../twilightforest/data/BlockstateGenerator.java | 16 ++++++---------- 5 files changed, 31 insertions(+), 29 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index c65fa130e8..18efa5bbab 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T14:00:16.734999297 TwilightForest blockstates and block models +// 1.21.1 2024-10-16T00:54:21.994521572 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -583760c9ea8e184f2c97f57581bba6731ac2644b assets/twilightforest/blockstates/mining_leaves.json +eca7981adb1360930a4e8ebce5ef4334c63a676c assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -5e5f52ebbefcb264bece9abe7a673fa4cafd7b53 assets/twilightforest/blockstates/time_leaves.json +5132ffbebb25f5b130268b8387af07082969fbe4 assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -af2102fdd466056de347a44b4752d51403b34167 assets/twilightforest/blockstates/transformation_leaves.json +dd85a8e8a026b550c5426d0d63c0d003cc19a0ae assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index 76a76f2d6c..b435c2d1b6 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,8 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/mining_leaves", - "x": 90 + "multipart": [ + { + "apply": { + "model": "twilightforest:block/mining_leaves", + "x": 90 + } } - } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index f67b40a718..cf8361b7e2 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,8 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/time_leaves", - "x": 180 + "multipart": [ + { + "apply": { + "model": "twilightforest:block/time_leaves", + "x": 180 + } } - } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index bd5ced4dec..ed552c665a 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,8 +1,10 @@ { - "variants": { - "": { - "model": "twilightforest:block/transformation_leaves", - "x": 270 + "multipart": [ + { + "apply": { + "model": "twilightforest:block/transformation_leaves", + "x": 270 + } } - } + ] } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 5f75b6c5a0..4ae26f99fc 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -17,7 +17,6 @@ import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder; import net.neoforged.neoforge.client.model.generators.loaders.CompositeModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; -import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -982,21 +981,18 @@ private void registerWoodBlocks() { // TODO: make bottom and top texture rotations random private void timeLeaves() { - magicLeaves(TFBlocks.TIME_LEAVES, 180); + ModelFile model = models().leaves("time_leaves", prefix("block/time_leaves")); + getMultipartBuilder(TFBlocks.TIME_LEAVES.get()).part().modelFile(model).rotationX(180).addModel().end(); } private void transformationLeaves() { - magicLeaves(TFBlocks.TRANSFORMATION_LEAVES, 270); + ModelFile model = models().leaves("transformation_leaves", prefix("block/transformation_leaves")); + getMultipartBuilder(TFBlocks.TRANSFORMATION_LEAVES.get()).part().modelFile(model).rotationX(270).addModel().end(); } private void miningLeaves() { - magicLeaves(TFBlocks.MINING_LEAVES, 90); - } - - private void magicLeaves(DeferredBlock block, int rotation) { - ModelFile model = models().leaves(block.getId().getPath(), prefix("block/" + block.getId().getPath())); - ConfiguredModel configuredModel = new ConfiguredModel(model, rotation, 0, false); - simpleBlock(block.get(), configuredModel); + ModelFile model = models().leaves("mining_leaves", prefix("block/mining_leaves")); + getMultipartBuilder(TFBlocks.MINING_LEAVES.get()).part().modelFile(model).rotationX(90).addModel().end(); } private void magicLogCore(Block b) { From 34d415b8af21016a54f3bbcd83ca662bd727fee3 Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:07:16 +0200 Subject: [PATCH 015/239] Revert "Rotate the textures of magic leaves using blockStates" This reverts commit 01913431c1b13bf791f2c98001ab68f6c886601a. --- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 66 +++++++++---------- .../blockstates/mining_leaves.json | 11 ++-- .../blockstates/time_leaves.json | 11 ++-- .../blockstates/transformation_leaves.json | 11 ++-- .../data/BlockstateGenerator.java | 24 ++----- 5 files changed, 49 insertions(+), 74 deletions(-) diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index 18efa5bbab..ff9dfc6638 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-16T00:54:21.994521572 TwilightForest blockstates and block models +// 1.21.1 2024-09-01T12:17:47.1144411 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -6,10 +6,10 @@ cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acaci 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json +feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json 06b8d2c19720a41c08406f14c410780ca4f2f3ac assets/twilightforest/blockstates/aurora_pillar.json 87eabe763bbf2fb2afb0a556edea7e64da27211d assets/twilightforest/blockstates/aurora_slab.json -feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json eb255492ac41ed72ee0b4e9884c208e5f945239b assets/twilightforest/blockstates/bamboo_banister.json 62b18edaef9c27bb158830e8d1bb5e82cf3a73c2 assets/twilightforest/blockstates/beanstalk_grower.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json @@ -77,6 +77,7 @@ b66481a27d37b515e3f11b9769d77ab1be6adfb9 assets/twilightforest/blockstates/crack 6f3813d2be5875746912e49293aed0a7b76403b0 assets/twilightforest/blockstates/crimson_banister.json 6cf6563f8b20afc916bca69623fb3b877a585b26 assets/twilightforest/blockstates/cursed_spawner.json fadcab0f3a09e77d5520204bb9e4d712223a2483 assets/twilightforest/blockstates/cut_mazestone.json +c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json 6c2e4f65f2ac6cac95c9f4d26e3befd8863048c3 assets/twilightforest/blockstates/dark_banister.json 136fdf55d525160d3321baed5b89fa9aac036a9c assets/twilightforest/blockstates/dark_button.json 489c9e459f7445709058b454c656cdb40d23cdd3 assets/twilightforest/blockstates/dark_chest.json @@ -97,7 +98,6 @@ c135c60cdc09b4e3ad2388d1bd3b85a191bb26f0 assets/twilightforest/blockstates/dark_ 72d8da56732c5b1040bb4b17148626375be3c679 assets/twilightforest/blockstates/dark_wall_hanging_sign.json 4e2a0f36ccf630b4d1d7bef04e75d2136fea330a assets/twilightforest/blockstates/dark_wall_sign.json 8368e552fa0cccf2999999ff7f9861279c62ec94 assets/twilightforest/blockstates/dark_wood.json -c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json b1b2a5f4296eb9a42484d43f47c29ec576b36114 assets/twilightforest/blockstates/deadrock.json 48f4f43849807c8cd88dc198d2710f307ec4fe67 assets/twilightforest/blockstates/decorative_mazestone.json 0123daa7589bd70318c6e1a207e435e4941efa0b assets/twilightforest/blockstates/encased_castle_brick_pillar.json @@ -114,10 +114,10 @@ c95b39b44a263d1b9fbf2e8003fb9fb2e1c182b3 assets/twilightforest/blockstates/falle 5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/final_boss_boss_spawner.json -9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/firefly_jar.json 000396eb68815ecbc4d78f7b00984caaee57d88c assets/twilightforest/blockstates/firefly_particle_spawner.json +9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json dcd1310ef232e7152a9257192391d60b7dddb5b0 assets/twilightforest/blockstates/ghast_trap.json b3e26b3f33dfa534b0a5f46c8a7489deaf356594 assets/twilightforest/blockstates/giant_cobblestone.json @@ -192,14 +192,14 @@ e86bea94f77572b15fff713be3a8d75ace74e4b2 assets/twilightforest/blockstates/huge_ 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json 3928ab358eefd11e2ca1dc0a567ed34f3c245189 assets/twilightforest/blockstates/infested_towerwood.json -6d7d9b397edc853645164973510c6edad556522b assets/twilightforest/blockstates/iron_ladder.json f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json +6d7d9b397edc853645164973510c6edad556522b assets/twilightforest/blockstates/iron_ladder.json a25ce2e10d4d9eaf78d2dcdb31a552597e417bf4 assets/twilightforest/blockstates/jungle_banister.json d76bac84e471c8e5afc6b73dcf1f6f2111c0cd8b assets/twilightforest/blockstates/keepsake_casket.json +87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/knight_phantom_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_wall_trophy.json -87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/lich_boss_spawner.json 905da1684726dd4027506a7aa6c37dadfa3a21db assets/twilightforest/blockstates/lich_tower_miniature_structure.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json @@ -240,7 +240,7 @@ dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/minin 51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json 7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -eca7981adb1360930a4e8ebce5ef4334c63a676c assets/twilightforest/blockstates/mining_leaves.json +d5160517781c85fb75caf34dcc287671ca5e3186 assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json 261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json @@ -258,7 +258,6 @@ d0ea57e4cdbde330002525d12d9f02697ffc5bab assets/twilightforest/blockstates/minin 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json -740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json 1e7e1bbc92655d82be2ac43cbdf6eff906ab4115 assets/twilightforest/blockstates/mossy_castle_brick.json da4dc4c742e22985ae90252743e657d9e2890cea assets/twilightforest/blockstates/mossy_castle_brick_stairs.json b8ceffb95b20c515c26f42aff3a33a2758e2cd4b assets/twilightforest/blockstates/mossy_etched_nagastone.json @@ -268,16 +267,17 @@ bfe6854ab148f7ad06895f223c424450657d45e4 assets/twilightforest/blockstates/mossy 6405b78fef75615ece53882c1ccd403cb6d91767 assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json a9869cdf4ff867b8c21473686c7def05a6bb2e24 assets/twilightforest/blockstates/mossy_towerwood.json 388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json +740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json f06dac21e55066a5a2da510d51d778ef1be85f67 assets/twilightforest/blockstates/mushgloom.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/naga_boss_spawner.json -94351b8a42fdd8e7eb8266c8c374ee551f7a07e0 assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 98bdda5c9940c6ed32d9b2ff0ad922e449803f73 assets/twilightforest/blockstates/nagastone.json 141ddaf8998fddb263fb97d87cefc45572d69ee6 assets/twilightforest/blockstates/nagastone_head.json 2318fa0e638d35481c77bc508ae735d667da9a01 assets/twilightforest/blockstates/nagastone_pillar.json acf0bf93d2640f47c26d2ad865e98066ead94436 assets/twilightforest/blockstates/nagastone_stairs_left.json c4d220562461456a603b55cdef6d4f2c74807607 assets/twilightforest/blockstates/nagastone_stairs_right.json +9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/naga_boss_spawner.json +94351b8a42fdd8e7eb8266c8c374ee551f7a07e0 assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json +94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json +94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 4d9142feaee02216e196004df83e65262a43db4c assets/twilightforest/blockstates/oak_banister.json f4b4e9fdae1c3ee5efdb198162249d82a92b433c assets/twilightforest/blockstates/orange_force_field.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json @@ -319,10 +319,10 @@ e347a4db67dc3202cc0eed97364e00349a0f85f0 assets/twilightforest/blockstates/rope. 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json bb9836bc48eb6cbc52a2c7fb9b833d4085315602 assets/twilightforest/blockstates/slider.json 1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json +250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/snow_queen_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json -250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 0f8f8d0605dbe75204870855ebf14e0f1bcd97fd assets/twilightforest/blockstates/sorting_banister.json a5f6e4501a27ef88f0b994e12d99c5a6640dd62c assets/twilightforest/blockstates/sorting_button.json 02aecf1ae1d386eb03e8d8787a93fadaa5355987 assets/twilightforest/blockstates/sorting_chest.json @@ -377,7 +377,7 @@ e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_ 0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json 2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -5132ffbebb25f5b130268b8387af07082969fbe4 assets/twilightforest/blockstates/time_leaves.json +4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json 3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json @@ -400,7 +400,7 @@ cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/trans c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json 5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -dd85a8e8a026b550c5426d0d63c0d003cc19a0ae assets/twilightforest/blockstates/transformation_leaves.json +708a669983dc33ab4ff8de5dd903a1b4e058bb08 assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json 6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json @@ -471,6 +471,7 @@ f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/yello 3ca7c8b256be661c6af770dcfbef85453309edb0 assets/twilightforest/models/block/antibuilder.json 5014809ef2f9c92a40eb886c103388a23eedfe1e assets/twilightforest/models/block/antibuilt_block.json ace805e7747f4e4ca6e86ffbb875a3f72b0eb10c assets/twilightforest/models/block/arctic_fur_block.json +c9d506a723562e7532e5bdfb965785dc936b87d0 assets/twilightforest/models/block/auroralized_glass.json 0d21d32180ab0091e43fea680cd7ce2fc1673233 assets/twilightforest/models/block/aurora_block.json 0f58d72e257db5d77d5a38fc053fe2944b3dbbf0 assets/twilightforest/models/block/aurora_block_0.json 8281e1a05f3d7bf406008a0db8e68e544662a498 assets/twilightforest/models/block/aurora_block_1.json @@ -491,7 +492,6 @@ da2e2a820ffd8dfd6234287cf6c4bb38a66f422f assets/twilightforest/models/block/auro bb6e15f99fd619307044738a619b1f6dd84575d2 assets/twilightforest/models/block/aurora_pillar.json 08d05b927862842e0f3a9a7b4df17f08a7ef937a assets/twilightforest/models/block/aurora_slab.json 35e8cd5079b1dcfeef8b782f7d2265890bae4185 assets/twilightforest/models/block/aurora_slab_double.json -c9d506a723562e7532e5bdfb965785dc936b87d0 assets/twilightforest/models/block/auroralized_glass.json a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/beanstalk_grower.json 3b22b7437760208f6214b9b121890393af3278a2 assets/twilightforest/models/block/beanstalk_leaves.json acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/blue_castle_door.json @@ -558,6 +558,15 @@ af1100535ab0d2bff3afd31f15d56e923758c08a assets/twilightforest/models/block/cask ca23291a1e515aa159da74ba7d16754acba3b6a9 assets/twilightforest/models/block/castle_brick_stairs_inner.json f6967f950a74204b0e3fe494ebdc356a82febb5d assets/twilightforest/models/block/castle_brick_stairs_outer.json 712a9cc2925a57667316a7b4460df53535b35cc8 assets/twilightforest/models/block/castle_roof_tile.json +95c808ebe87de521b90b20bb20e9bb631f0df9d7 assets/twilightforest/models/block/castle_runes_0.json +29652bfdcd1c2653ef1579faf5e71fdb46d9f060 assets/twilightforest/models/block/castle_runes_1.json +8bdcd40ff7835d4fd018eaa48848f589e7e1b434 assets/twilightforest/models/block/castle_runes_2.json +a422357d5a836621c096845716e6ea5f7ad237a3 assets/twilightforest/models/block/castle_runes_3.json +eaaa89267f2e6512afda7d9a410e94b62e15cbb8 assets/twilightforest/models/block/castle_runes_4.json +0ef19cb6532606a4277879455c02d775c642ad4d assets/twilightforest/models/block/castle_runes_5.json +c48370f6351d2fc582d95a1dd4f95d4848fc6a31 assets/twilightforest/models/block/castle_runes_6.json +1de2d5ae3614e7ee9bbbb8dd88308b5e6389e122 assets/twilightforest/models/block/castle_runes_7.json +7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_rune_bricks.json 91e4211786bdcc5b9ab9fb6c467b00b4826e7bee assets/twilightforest/models/block/castle_rune_brick_0.json e8b6dcf6a014efbcd24927ac49844a24b846027d assets/twilightforest/models/block/castle_rune_brick_1.json 8796272dbd575cb1c660927f4d135fd30b5e7a90 assets/twilightforest/models/block/castle_rune_brick_2.json @@ -566,16 +575,7 @@ f8673b0a02babf1723fc9f9a335ca3772b470f18 assets/twilightforest/models/block/cast 9e09de0085270fadfcb7f8b140cd5536dd298700 assets/twilightforest/models/block/castle_rune_brick_5.json 366bb332e042e16f88832aab1db7e1776f1e6f7e assets/twilightforest/models/block/castle_rune_brick_6.json ba05b6c8d0c1e14d355fc0a30738ab6997cfec4f assets/twilightforest/models/block/castle_rune_brick_7.json -7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_rune_bricks.json 6aaaceded6c64e8353338a810bc6cbb657c26875 assets/twilightforest/models/block/castle_rune_inventory.json -95c808ebe87de521b90b20bb20e9bb631f0df9d7 assets/twilightforest/models/block/castle_runes_0.json -29652bfdcd1c2653ef1579faf5e71fdb46d9f060 assets/twilightforest/models/block/castle_runes_1.json -8bdcd40ff7835d4fd018eaa48848f589e7e1b434 assets/twilightforest/models/block/castle_runes_2.json -a422357d5a836621c096845716e6ea5f7ad237a3 assets/twilightforest/models/block/castle_runes_3.json -eaaa89267f2e6512afda7d9a410e94b62e15cbb8 assets/twilightforest/models/block/castle_runes_4.json -0ef19cb6532606a4277879455c02d775c642ad4d assets/twilightforest/models/block/castle_runes_5.json -c48370f6351d2fc582d95a1dd4f95d4848fc6a31 assets/twilightforest/models/block/castle_runes_6.json -1de2d5ae3614e7ee9bbbb8dd88308b5e6389e122 assets/twilightforest/models/block/castle_runes_7.json 0a84bb4ae7820eb2c4851201a8b565556cd1d40c assets/twilightforest/models/block/chiseled_canopy_bookshelf.json d911af86f5b2da2c4ad5aa1984fe7c8a9e8631ea assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json 09780aada910463ef71f1d51c74b1f430e4fe4e0 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json @@ -621,6 +621,7 @@ f67e83a8023518fa68474c65b98b6ea0818986d9 assets/twilightforest/models/block/crac 4d1988b8b507870b1c18dd435510898acdc849e6 assets/twilightforest/models/block/cracked_underbrick.json 765f2e8bd33db3fda202a9a3fbcff065968fa2bd assets/twilightforest/models/block/cursed_spawner.json 55aa238d7809a9a3221806646896b091abb8c1cf assets/twilightforest/models/block/cut_mazestone.json +a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_chest.json dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark_hanging_sign.json ff73cf220e6bec60699a36e7d250d62b92e4e4d0 assets/twilightforest/models/block/dark_leaves.json @@ -632,7 +633,6 @@ dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark 42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_wall_sign.json 2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json 3c29f7847d49d8b07f61abd607f4e612e76c7930 assets/twilightforest/models/block/dark_wood_horizontal.json -a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json e52c91b4b0e68fc9474fb415e72a373a15d549f5 assets/twilightforest/models/block/decorative_mazestone.json 321b34f169823a2a63e675ba8727da55eca811ee assets/twilightforest/models/block/encased_castle_brick_pillar.json @@ -670,8 +670,8 @@ bebac05813302a4e983cc452fd6957062e82a841 assets/twilightforest/models/block/fall 3219a9a2d844742003ab7de6f528651a988a549b assets/twilightforest/models/block/fallen_leaves7.json 58a049e44c40ab20cb322514cb34d65ce60ffa2c assets/twilightforest/models/block/fallen_leaves8.json e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json -90f5aacf15e0b6d31622c680d5323a1941981426 assets/twilightforest/models/block/fire_jet.json a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/firefly.json +90f5aacf15e0b6d31622c680d5323a1941981426 assets/twilightforest/models/block/fire_jet.json a8cb3a9bf21cd70ede74f84c27528adcfc805cb4 assets/twilightforest/models/block/fluffy_cloud.json ae42e425d0851f8b6779ec3b6d631628d7fe7505 assets/twilightforest/models/block/ghast_trap.json bb1097d5ef0560a2cd3bd476f1eb4976eef781fc assets/twilightforest/models/block/ghast_trap_active.json @@ -1168,12 +1168,6 @@ a6231204fb7cedf1ed204c8fd0e5bff3ebe6d850 assets/twilightforest/models/block/wood 395cce33c02c94c89dec973b008b4e4a4f76d28b assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json 2c03f87c0d219d4969f27dfb3770d3245a7517b2 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json 6531feceb39ab2904500388561dd9a47438d5a56 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json -e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json -8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json -7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json -0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json -85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json -dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json 42ee9e2cb9a23162fc6c39aad42f3ccf7a391186 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json 69974fae9a2c179d5a240751e244cf54d7a6b5d4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json ab97290a481ab279b235961619dde411f2efcf6a assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json @@ -1198,6 +1192,12 @@ c254af4c79720d1b41d5a1975733f833db5a850c assets/twilightforest/models/block/wood 6cc78b11e42419d01ce0107218b1cc704393dc49 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json f472c22634bcb98dd0fb85429b586e44822e3166 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json 156c8b19417d9614f3be99eb51d14ad1c16f6ee4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json +e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json +8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json +7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json +0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json +85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json +dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json 71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json f8e6a9570639dc59ebcd2981321001f3fccbeb95 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json index b435c2d1b6..869eb33ce9 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -1,10 +1,7 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/mining_leaves", - "x": 90 - } + "variants": { + "": { + "model": "twilightforest:block/mining_leaves" } - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json index cf8361b7e2..28d91296f3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -1,10 +1,7 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/time_leaves", - "x": 180 - } + "variants": { + "": { + "model": "twilightforest:block/time_leaves" } - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json index ed552c665a..303e750aa8 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -1,10 +1,7 @@ { - "multipart": [ - { - "apply": { - "model": "twilightforest:block/transformation_leaves", - "x": 270 - } + "variants": { + "": { + "model": "twilightforest:block/transformation_leaves" } - ] + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/java/twilightforest/data/BlockstateGenerator.java index 4ae26f99fc..30bd499ad7 100644 --- a/src/main/java/twilightforest/data/BlockstateGenerator.java +++ b/src/main/java/twilightforest/data/BlockstateGenerator.java @@ -913,22 +913,22 @@ private void registerWoodBlocks() { logWoodSapling(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.TIME_WOOD.get(), TFBlocks.STRIPPED_TIME_WOOD.get(), TFBlocks.TIME_SAPLING.get()); plankBlocks("time", TFBlocks.TIME_PLANKS.get(), TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_STAIRS.get(), TFBlocks.TIME_BUTTON.get(), TFBlocks.TIME_FENCE.get(), TFBlocks.TIME_GATE.get(), TFBlocks.TIME_PLATE.get(), TFBlocks.TIME_DOOR.get(), TFBlocks.TIME_TRAPDOOR.get(), true, false, TFBlocks.TIME_BANISTER.get()); - timeLeaves(); + singleBlockBoilerPlate(TFBlocks.TIME_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/time_leaves")); magicLogCore(TFBlocks.TIME_LOG_CORE.get()); logWoodSapling(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_WOOD.get(), TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), TFBlocks.TRANSFORMATION_SAPLING.get()); plankBlocks("trans", TFBlocks.TRANSFORMATION_PLANKS.get(), TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_STAIRS.get(), TFBlocks.TRANSFORMATION_BUTTON.get(), TFBlocks.TRANSFORMATION_FENCE.get(), TFBlocks.TRANSFORMATION_GATE.get(), TFBlocks.TRANSFORMATION_PLATE.get(), TFBlocks.TRANSFORMATION_DOOR.get(), TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, false, TFBlocks.TRANSFORMATION_BANISTER.get()); - transformationLeaves(); + singleBlockBoilerPlate(TFBlocks.TRANSFORMATION_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/transformation_leaves")); magicLogCore(TFBlocks.TRANSFORMATION_LOG_CORE.get()); logWoodSapling(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.MINING_WOOD.get(), TFBlocks.STRIPPED_MINING_WOOD.get(), TFBlocks.MINING_SAPLING.get()); plankBlocks("mine", TFBlocks.MINING_PLANKS.get(), TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_STAIRS.get(), TFBlocks.MINING_BUTTON.get(), TFBlocks.MINING_FENCE.get(), TFBlocks.MINING_GATE.get(), TFBlocks.MINING_PLATE.get(), TFBlocks.MINING_DOOR.get(), TFBlocks.MINING_TRAPDOOR.get(), TFBlocks.MINING_BANISTER.get()); - miningLeaves(); + singleBlockBoilerPlate(TFBlocks.MINING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/mining_leaves")); magicLogCore(TFBlocks.MINING_LOG_CORE.get()); logWoodSapling(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.SORTING_WOOD.get(), TFBlocks.STRIPPED_SORTING_WOOD.get(), TFBlocks.SORTING_SAPLING.get()); plankBlocks("sort", TFBlocks.SORTING_PLANKS.get(), TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_STAIRS.get(), TFBlocks.SORTING_BUTTON.get(), TFBlocks.SORTING_FENCE.get(), TFBlocks.SORTING_GATE.get(), TFBlocks.SORTING_PLATE.get(), TFBlocks.SORTING_DOOR.get(), TFBlocks.SORTING_TRAPDOOR.get(), true, true, TFBlocks.SORTING_BANISTER.get()); - singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); // TODO: make all sides' texture rotation random + singleBlockBoilerPlate(TFBlocks.SORTING_LEAVES.get(), "block/leaves", m -> m.texture("all", "block/sorting_leaves")); magicLogCore(TFBlocks.SORTING_LOG_CORE.get()); banisterVanilla(TFBlocks.OAK_BANISTER.get(), "oak_planks", "oak"); @@ -979,22 +979,6 @@ private void registerWoodBlocks() { hollowLogs(TFBlocks.SORTING_LOG, TFBlocks.STRIPPED_SORTING_LOG, TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, EMPTY_LOG, MOSS_LOG, MOSS_LOG_GRASS, SNOW_LOG, HOLLOW_LOG, VINE_LOG, LADDER_LOG); } - // TODO: make bottom and top texture rotations random - private void timeLeaves() { - ModelFile model = models().leaves("time_leaves", prefix("block/time_leaves")); - getMultipartBuilder(TFBlocks.TIME_LEAVES.get()).part().modelFile(model).rotationX(180).addModel().end(); - } - - private void transformationLeaves() { - ModelFile model = models().leaves("transformation_leaves", prefix("block/transformation_leaves")); - getMultipartBuilder(TFBlocks.TRANSFORMATION_LEAVES.get()).part().modelFile(model).rotationX(270).addModel().end(); - } - - private void miningLeaves() { - ModelFile model = models().leaves("mining_leaves", prefix("block/mining_leaves")); - getMultipartBuilder(TFBlocks.MINING_LEAVES.get()).part().modelFile(model).rotationX(90).addModel().end(); - } - private void magicLogCore(Block b) { ResourceLocation topTex = prefix("block/" + name(b).replace("_core", "_top")); ModelFile off = models().cubeColumn(name(b), blockTexture(b), topTex); From 29aa918ac81a1274cb235b8b26e7b14d49a7092b Mon Sep 17 00:00:00 2001 From: Sleepy-Horse Date: Wed, 23 Oct 2024 15:07:16 +0200 Subject: [PATCH 016/239] Reapply "Rotate textures of magic leaves; fix #2278" This reverts commit b2b67db957cf56e2caec0a5387c1ecb1289848a3. --- .../textures/block/mining_leaves.png | Bin 1730 -> 1788 bytes .../textures/block/time_leaves.png | Bin 1730 -> 1981 bytes .../textures/block/transformation_leaves.png | Bin 1718 -> 2667 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/twilightforest/textures/block/mining_leaves.png b/src/main/resources/assets/twilightforest/textures/block/mining_leaves.png index 08a37492565540150f71e373079d1d6a5dee6dff..083ec43cff57e5e2b45416970c1b90a2461eb8e0 100644 GIT binary patch literal 1788 zcmXYyeN<9;8pki)^mei$$JYw4?#@eEI*vAJCKh0t*=p+MTQ<^a2{z(uf*>gBBDI=1 zzLlBfrjAX!IvU1gzC^iLx=GS*is+!WqOJ%5;tQ6;T&zES=iYPfIiK@=KELmC?v;?> z$cDC1qY?*n8tJUc)olMEMWzy;Y_fWh-ZIMk(tSq@7 zAyX)WcWiBK)h_jau&d|XSUXjtnx7xgKYRT;>=8LRS>*XFS+%gRs?|1G(bCe);qBcw z^$Gk@z_oDq)robJ2XFz$^xCy+|Lcy4jor~4X}Q@NFum9L)@ z(5!f3Q1N>Q%VjEUTqDkz`ePQ#XOEp-CW%B+t*uF?9-aycvWhF<^ZDccl>ItWPl-%M zg&;_!(TJxkR`O^xnhWT0NZpv*u(WjW`L#b?B$Hndv2JctsT49R<(EX_`gb9@27P22 z5KjPI2S91G%x3^hB$*PVqDCy6OzH=>eWNT+cS5UUQ<9UJr87_aN3R$TUtsPeT1^xl zvA2ku_#B=4ys5jQsa62yL{#B6HDvLhlRi9bN? z8CB40Q5kZIuWH$f0*SM;^6UWE6^Su#pgTNy5eBag8{{Z|ek7f3MkcXh{~-XWSEwad zbIPDI7ZB?5Q)Yzhpb(^x4xrVZ%3}DT5Ue02B;0modSgqeRmcg}0t#f9Su;kPog5|G zzuPf;^Oo5_I_}NIhqvXZl5}cSLA4weQ&FU>*ows|R^?g~Bd)!c)ru*=pdF+g%}o4o zraAghH;E32MTd!XwdGhrwqFk$Cc~H7a~(K+69>?#6;uxm+X}%=_*OyTi=QBaSX@s? zRMKKJeFTHP_x0Pn@sss;vG>ZDd!L-{kPKtz$cDO+tdPvMs}gH?vPqfrHZRGi(v|GZ zExNDWP*#jq7C+`^g=BG%S(lU=oT~9lx`T2YQ}-1*uAf!`McGf6y?X}q{na$P8fxcN zLysg6B>v35umt5lG4V$0l-bnKa2VH~5u+zOe-GW^ZkT6Kzd|<{M`4RagD8f`=91P< zo_9;O%Q4)E$R5I7*8+PJ5fiBdDZ;?$J#=)Zk7fq3msLr=)-aCTT9majCdtXb<{D40V{ z-cOv%GO!un!9${G1XT}X9eEjfkmI!V*n<`U=;QrF@*94OC8HiI;A~9zXdrG+S|}XQ zsO8+Nb(&xlLQ>HY!87pkC)VVmnoSjHanfjNwA8B~#5C51CiLtyLRY^jb)Ca=4oi;; zCNNE&BJk`+s8i)gN9!*37&GDjE3(Ybz~VYuC44PFNV3s5@FgW$TneWxG!Yri0m1Il zZ&KcxMjhEUUU>mSJZ}KzO6*e@-j41%(Q{h%!ToqhXev+m>Y? z78F{XNaT3kc#~R(gjwtUCHxzqN1PdArV5Mms&NfrAnLz_1H9|cRzsLK4}{bz$W4e; jYXNlG&~X!v~VIp_KObMHC#b3gaK?tOoj zSGBHE`opJoM6tdU4UHT2?eyoo|E|$44koyjm$T7p816c7k84VQN_p~Tstw=59W6Jr z&w88N;IGW{wgzD-HS}>Mai?VZ$K$_M-m1J+HKC^-ukz_m-juL!pF%E|_loqv6w2NC z%uV{GiCRO_kt1a3of|js9|r{79LUVfoOv-h0UyfE>Qz2!wBXzSYA+YOV$BTjqPU&1+|vgH^$W;EjLjKe{tMMfrjJ%3&B^EFdQXz1=? zdz~)?O=OBC5+Cd0;$5Rrurz45+o$5ciC{2r91cgnWH1=gGBS$qKp%ei9^%)+nY6I5 z;{C5*z6?xANT@Gee0;2V<=^WW;|h}3T_@~xL~M3A9IZMX%iG7t%|dYd{6Fsom`fg* zmz(7|XSQwKy7fVA^Ua%IY?)drT;FX8Ozk_jTTG%*G^Hm_1YNJGX(&AM`(9oI6ZPHe zxuxpr>dCf+V{(N;F+2CUN&jBeOQ|6Le%^`m`xwxw2OGNmD3Y2c!>*zDzkN^U&3Z;{cSUl} z9)5*-v?6>3jMstktXrL$U>8nK$vJ{F2f!GH?&W*Usq1S%;_9^*}1C zPD@4l7t#9iy{bgY#h{SOQ)Xr%{SSHwdFr$|O7tcM^Q5xu?MXB|f)$9fcz-$+(dJ?A zZ!#Sc`+25Mub)C+F9X!fNw3eO$}VEjf{bij-u6$VEz$Ql0gKSW?a#fBu0>`exsTzi z=D=w=BqfPdWHrrb{@1o_R-sn~%^m!jF-dTP?#tt{%h*s_KKB8#jR80im!1zBt;|XM z(J?!@`N?br{H|Nz961Z6Sq%Zf$VAB5~k444?;0ANXvMOSrqB<2|DL5d1 zNSU%nuOq&X2mxt}6f##ptxOTCCO_E@P5E3Y1J)70v@qk1R@E0!SrI_3wEc!)BdG1J zN0G5ndKho>;@!vLwMnc10*&SWw{Ah{&2nk!rVY??iad37>fK?d%)=JJ-hBv6o9_D-p+=H%6=m z1_m)l-l$*IQ;#a&`z|t@5qPC^@v9FBE`Df;3Z~jUD z(8uS2evwW(@7EDnmGui>FtPSIY7wjlcrlMG+8^*n6e+Ft(4%j-cNccS)2yepN|!|)%l6ArdWHRn1l z4`mP#rS#g_mo1p@AVzuEi2vNf}9=OW1?!d33C1m DqBKL+ diff --git a/src/main/resources/assets/twilightforest/textures/block/time_leaves.png b/src/main/resources/assets/twilightforest/textures/block/time_leaves.png index 08a37492565540150f71e373079d1d6a5dee6dff..af37397c1c0ab16e51f2013f90b7348fad477254 100644 GIT binary patch literal 1981 zcmXYye>_wBAIG;w=etyg@48Wa9n;wL&<{z}y$%tQ?y$Q3)Xnc--!5O1UmLN_k4Tul zv5T^=D~j7!DBMcTkCxw=h?>%7ek?UMqp2A89N+IhpY#6b^LoACuk(DLbA{^Rx?$bc zbr=k0gWD13%w|Cb~dGg@O^GnLnXP&Y~ z+s4u9w|`ERK7IQ145^|2r9j|J5sO6lsHiBvfH9Z%r6a}D%E=cuXpxb6-cRFC?qE5o z?30!ZIIh*qPZMJ?7p0%*7i*gIcUxFI6N%0~{xUu;+;i}t(XY&fne)3m|6J^R*grlV zSY;Iy5q2*LGI_sg9GA^KUD$QS6D$`uYh| zaWn7m7C!v->FMd6i_6PN8mM~y!^>N=com=Ldgsy?rSTJ{kC5sr@*0#D7Dhb#D)M=% z8WCML| zeJ-RPoWKP)hdD=~{!pK4@1KYv`6iGvfUW@@a=aRD-b~mDe%R4<6%hS#WMaZx?it%BTHK80t=}dEbDC<>FyWG=^)g4trUB- zHbsWLUz?%;ZOylUxg5hM-&B~ld;N$|U$=j&fsz%yd!`%5o3epEn3kS0<9uch9X}Z_ zJpBWBAQR661UixCR*S=QR+yX!`3`Ii4%k_C+l|zgBDeF2kvaCfN`Qo>uy3A$bYE6E zOti~6L;y4N1zPCK-^yTpvmEt;h)o_f^|4a+%}_q)09d1ucMk#a!u_*I8|0rbSroJa-xq42P*(o^P~hA;Wo>dEKz{BX!|SP-qzBirXGAv1P_|V?I!J zj{N4>BQEfUhq#t>+Q*trVjHpz%k(C&t!LYCWMHAg#U@q>OFStZXyAPU-1Pp|)Uc*& zw^kCdszsguqv{6{jciLi;6B|e_&+MGK;>@o`eNXfIifx#SOp1}!^K~S)B`{KBGmdv zwi!qbw;9%GPgj}6hDuS(3;l{~1(a~OxuMoc$_^8132{m$tc1Jl`s)S0wpXKtTJkJJO9@k<>y`OPx~mpGl!u+G-DWZz98r(le=QiEaFnt&hNXKO zRm3(O(QwnpHe6T%b;{1C3&%GSw2Sz%pBTzCflkt}O?ey=563VMxpg379Q|;JeQIi* zNC?>q9bGYKMk2opglKiOPI_QXqMRx~z-jcL#%Jm;4L4-~sCaKmMc8yiv>}LY=;#Bb aS;e79qZ}MM@6u}e# delta 1715 zcmX|AZB$cd5++IGrQFpJ=>kQ$l7>^HBm|EF8g3x52v|Kd&`P5q25phGXsAWV2XYgT zU2LI5MLb%OKxt8wBqAkH1rl^Y`4CVGgn&lmO9NYyKuCgyy}IY@`)B5ynR#cPXP#*x zw6B(ukyWR6MzX%-k4)gJ^V`wJuzNk3m3NTc0d z$lk17o>J&ijvl3oT5jGXe(dLWYbZNAd+xrNfk>AEc^t*<`y^!Dye zrctQ{4u>NMhSzs=cIu`_#~iktKY3=JwCy-Hc0BCdoZU``!^2ZOp1&#n`MMz}IC#&f zt==1grm_V>p_gT8>8@VST^_dCY%_`9ghfOUqNAg=%Q~GdBP*+{1^V#A_fa2FWWymL zWe488eCeN*l+;kM^!Rw|%D*;5Ocqc)?m7^MJ#35JZg1CUSe{;9E+&%8=l@ydXDokU zeBCO^JG*_`wrvj-t+#G{v2|v-WJ9mXKYif*9sz|$Q&pTi8E```Z!9_b`@Xm^Cg!_0 z=H(7N1fe4F2PmCXvnDZhYdFIqasr#ayAw?q#tQl%bzXO0TMa{u4-E|+AZxIK(rVx! zX5{uUwvy>curP<%tI?qKBNdRYSy*UzhI@=H0Y+(sus&C!!!Mq6|6?kjzKAyRCvc)MKp;Exo(k9rb_vz) zk&qI99@cwm3=+;GY3e29`s4hK^R?H|o_4!XgKPA8iJ>TAF@7!0_uYSDPu4Sfr!!h} z?#L_5TSwUeCPA4EvLZlR)gF2Rau2djgk5YGV)P-^VIYZiM%7 z9GMxMl|Uj2Uq)5JdgDL0=dwyXs$o~~>xgNR3v^$SkXsoAWfZX=pxYQi{0W&zk>0|b zCO&!Ep{ysxKq`y|~7ACSUHp5Yrk*>9^s-Pg4s`#Y%NoXjR#6P>)HJ znwS*nkO>iO>U6W+yCif1>AlgfX3)T;k|zWCPli+e5At|;ydPmWZz88U7Amcm0jA=E zl83YzTg-a$2dEIxu_!_2VtP%QKsNo!4rs>fY9+9q{H2MRsJFmYk0w;sESgBYZAUkX_dM^3JI5Av(|6apL>vA}g?J_GMC+!o zHNem??&w?f%X;hu_y1?o4uMZcaUAxMH+hJ~Cpeisg7YTdxv&Th=J@_Z%xvAH@b8wuQ^mF7Bpxr1?Z$9hY#7Mx7l1*&MzrA5JhT`y}Z`gMik=?VbrwS%HBCcAMAz#z zJ_{ij(&D{m`CAGX#9GVD%)>CSVP=-2N(mttW@ckdHmbFjqklGA8dz%?QyqqZ(JoFO z515&Wh^A>`{4jHTVVb6-9TCw%sZ7>dzFaPe5pTB}P1D3(*U|BKjGa9mj~_Lpk%nQ2 zBUo$W|60>b&=4JAB-jAY7CXQwvLo5C)E4bOq_v+*8kfu%W27cc(~z~6opW(Iv9a_> z>1}eohhgBlu7BxvyV3P}r4WKSc<=dsztiP%q0{L^$K#QRh~+9YO%pqJ&Y58txNTbs zA^cdjv>Mi0o~DVt_t7V$#JTGiz4t7aOur<((RlCKIcL20e7oJURjI0q9*+l|&*x~D zX`1-+^K*G0NP|i#JvU2@r4e`I!K#M|E#%Hz)c|;qsek=+Fk_4%xm|yQ2M1$}!2_%U z_C2I+TXN1BSRd^}2qwXUzVGRJy)NPbw6xaJ{eDmJ0BXwpk16QgSv2+%ph!H}wOZc$ z)YmBm8r{K%e%U!^#&Jxr0Gf>B7^j@!0UA5!5^sy^O=UbVB|P~0`bt(o%K3aY=*T%| zK8T30vwuE6KMf!)gkY}MD^*oRbzM_cRdl^xb7zxYB@KuvNmnmnL-c8BuyGvY0Da#l z0~%w@Ka2;Z-B{9M5f3y&DUK#O+RYENV708Z{2{F`@c=(hO~@Ey=6NP~r7^~Y5KICn zbzQIW188}_-*bL|<9iJccJl+>!7hHV1Sqn@5`RBPM4yMU101f0e@Gxweok6w0Ph!UStAmq4{BZ^HvEFXO?Ii>~qm*$`+f`2ieE4irL& zCx4b*#nubCM##*aC%Hsvy2qP`=gDBDl(rvZs8V^?af%iT+XoVjiw8@Hv>Okswd9=3;)Ub! zxEL=an@Q#mE|&{E9uMlej;yuB%-nSyF*D!q_n&Ppef~Fi@PXYHLNM62x{<~MDSuhW zQ`dDC!8T2U$Td1!5m2zhN+Ugk@MSz$a-=POP{aeElE#9*?@1$hFw@PYX|pD16DF@x?12K_sDu#`Vo z!vlknopV`wRFbSEeh^O~xf){k6@O_@mP5e@Tk%4XV91Q^`Ft*Vq{ag&2_8Icu!sl9 zC*mwg8kFJ%Z3B4-Wq2Uz99Ci}e<1N7@`KCe5nS<;0M;)m_Nwk1tOxauP^vKBY$we-`Dv8;)SOz$a@c7kN^!d z$U2bm0;ml$^E}TnUXTXQ;(rCX#yZfFhSsZd`1<-vK9HUXBd%daqQ(C{f3SoLIv|Bu zYq9m?ZNCYmrRbN;XO}5Z!35{XU=vBYQgAf8u)5L4{4>TUg z`v*z>pzFGL>Y~0tM1NU*K`w1}4@Kt_vEAi#L>18tYQOX|_@jzy9qJ;}&TR$uA zMlkkLK2akQJ}A0s2_K{n48y?L(XHdhQYYwWQv=!fujLPt4(ht5(sDi?k9Z%c>$*7l zIF98q(b{Ix(~J2;V@$02%Lem2lXDIcY{^8ayov{j4d5WZj(-=H@&{TFQxiQI$~@1j z_mSl0!u6snf^L6MRb1R=H8%v+Tv(0>B-}jOFuJVI5ZoJJ zH6F<4*%XMj?<@aX`GZ9CMHZ;NltW1j^%g+E-@n> z_m$<}CBwl+u*Zjt7nkq=fGb&C1}MlU${(F3-n@U1`8cI}zr+t#ZwG2TzzP-dK>n7Z z5ot4CK%+IJLYqYmwA;!-7V$t@TVg?}zK|FZ9l#$-M*O4uNdMjZfi$3;=UW+y#)DX( zSh}Ao@qZuN_;$NR3h>9@U)anaynJ7|6ff)olr=m6kU*-c`T^fp_(91RUg8IOg)%$H z(MlRX3yBB2zQ2I^;&0}ac%h`lE`ERyF%qyq;(>H~biT?Dyto-B@xWS3^E{_`AUDfP z_mSl3Gmc}nO!GXyh6jI~Ph0|&rGiZ?P$ZTWr+putOcfSpy6m+@eWA3%%6`hsRCOW$uS;=!5*Yy2QP-idzd z3J{%7lv*VT2;hNE%F2A=;`bX%{6OQw8u%u>=#~3O@j4Ms9o@(n6N!g}JIH(U2TM5= zJ%7yvZ~)&@q%lh`$z0L_`9ygiN#+mcd5+W$_m$O81q~Sl&;3YyKeP z2lAd`>ArHNowTe36pXF~912s2;XkT4Aq0~716+Ovi_x`*{EW delta 1703 zcmV;Y23Yy)6t)eJBYy^cNkld)T2KBvqVe%Fz8JqRv|yZwpSTO& zkuAC{`2765zc4Jo2I4b(%&_2YI4;5q!tAgBpLeog{4*NB$A5@Mqv7#;oR9vIkH8J6 z9#0#H6Y)29-Z;;1=)QJ*Fplv%%vGJr$K3$-bexPn2&>{T!|dg8(E@a+xQPFMH-IO? zEWA7V0QQ0E@VnE{RCHzRxXC-ibhN;ATr{-YUAd|oWIR?{2l~q71I&Vo2iSS%cu=u` z@3dHey&G=LLw`BmP~3THI9?I^09%*xfG<>jkq&1?TI`E$9Y>0b}lB`cyoS4PYdOqY>Xw@L*|xkyi1*!lYusxVz;6kI0M%GPL<| ze9+;6>O4uN$Lj@TfxDx%0KJUY3&;obkJ~F5C}<77GR1?X0W=@|BIN;F;9|fw58R|t zt{2dB4u8NE3zoOg;emq9;zSt_WCIwkAQN#u2p-5sz>^gZ5PuU)!gR-icm&ANs2{L$QSo3wS{4JA4d4v* zhzCkPP}3Vvhix9PKqDO~;{lI@ML$5(ng32dSbsV^;{mUeCXdC%mV>C`!DK3IIkx<9%K>8`TT;)F?1BoC0)pRfzlV# ze51-QAP@Kzr+T8}frM(BfFd4PCO+mtm48!=&y-ME>Iba&yX39q0e(U02h&?%`Z)a{ zC6dyTNw_O;(?n3mIin}VEUkYR|3_gw4|1v$SiO?V1N9l z`hi+-{EnWeqK~o~=xDxC@xaYU(_reNCf32SA-f`K$E)S;R zTuETt`hkkrxgIIyfzk{3`DJ{-`30OG7-@C|U+HHl4|pDMS-vri4_Gfy zB{U@uRK2p)6CDp!y|Qhf!vj^re6eKhQRWvE58SSr zbU#y7ulyrDQLUXP9#s1mc)>BbGVfnt7M48V{R>Jj*wznNPh=L9^~y?5+~R?9=N1bx zJ@I}0!0Cx)weV3Mbo7EWS=Y%omi0)kK2chrc%asi%DpWQoU*&UzkiW~@W=ZXSU;HD znfEWSeo*p2(WlzaRO$!3UgR1TYeA+bZt3=F z`Npyy$<-&e^9!n8S;>Kx2aW}g_B*q7_-OwE>j!drbNWHW1G#$d?suM4U5p1gI&mzp x`30pXIvy Date: Wed, 23 Oct 2024 17:45:14 -0600 Subject: [PATCH 017/239] finish renderers --- .../client/BakedMultiPartRenderers.java | 12 +- .../client/event/RegistrationEvents.java | 88 ++++++------- .../client/model/entity/AdherentModel.java | 1 - .../client/model/entity/AlphaYetiModel.java | 5 +- .../client/model/entity/BighornModel.java | 1 - .../model/entity/BlockChainGoblinModel.java | 2 - .../client/model/entity/BoarModel.java | 1 - .../client/model/entity/BunnyModel.java | 1 - .../client/model/entity/DeathTomeModel.java | 2 +- .../client/model/entity/DeerModel.java | 1 - .../client/model/entity/GiantModel.java | 62 ++++++++++ .../client/model/entity/HostileWolfModel.java | 1 - .../client/model/entity/HydraNeckModel.java | 2 - .../client/model/entity/KoboldModel.java | 3 - .../client/model/entity/LichMinionModel.java | 27 ---- .../client/model/entity/LichModel.java | 9 -- .../client/model/entity/MinoshroomModel.java | 2 +- .../client/model/entity/MinotaurModel.java | 1 - .../client/model/entity/MistWolfModel.java | 18 --- .../client/model/entity/NagaModel.java | 14 +-- .../client/model/entity/PenguinModel.java | 9 -- .../client/model/entity/PinchBeetleModel.java | 3 - .../client/model/entity/QuestRamModel.java | 5 +- .../client/model/entity/RedcapModel.java | 4 +- .../model/entity/RisingZombieModel.java | 1 - .../client/model/entity/SlimeBeetleModel.java | 9 +- .../client/model/entity/SquirrelModel.java | 1 - .../model/entity/StableIceCoreModel.java | 1 - .../client/model/entity/TFGhastModel.java | 3 +- .../client/model/entity/TinyBirdModel.java | 7 +- .../client/model/entity/UrGhastModel.java | 4 +- .../renderer/entity/AdherentRenderer.java | 4 +- .../renderer/entity/AlphaYetiRenderer.java | 37 ++++++ .../renderer/entity/BighornRenderer.java | 11 +- .../client/renderer/entity/BirdRenderer.java | 3 - .../entity/BlockChainGoblinRenderer.java | 6 +- .../client/renderer/entity/BoarRenderer.java | 6 +- .../client/renderer/entity/BunnyRenderer.java | 6 +- .../entity/CarminiteGhastRenderer.java | 5 +- .../entity/CarminiteGolemRenderer.java | 5 +- .../renderer/entity/DeathTomeRenderer.java | 36 ++++++ .../client/renderer/entity/DeerRenderer.java | 29 +++++ .../renderer/entity/FallingIceRenderer.java | 6 - .../renderer/entity/FireBeetleRenderer.java | 29 +++++ .../entity/HarbingerCubeRenderer.java | 29 +++++ .../renderer/entity/HelmetCrabRenderer.java | 29 +++++ .../renderer/entity/HostileWolfRenderer.java | 2 - .../renderer/entity/HydraHeadRenderer.java | 1 - .../renderer/entity/HydraNeckRenderer.java | 6 +- .../client/renderer/entity/HydraRenderer.java | 8 +- .../entity/KnightPhantomRenderer.java | 5 +- .../renderer/entity/KoboldRenderer.java | 35 ++++++ .../renderer/entity/LichMinionRenderer.java | 18 +++ .../client/renderer/entity/LichRenderer.java | 14 ++- .../entity/LowerGoblinKnightRenderer.java | 37 ++++++ .../renderer/entity/LoyalZombieRenderer.java | 41 ++++++ .../entity/MagicPaintingRenderer.java | 4 +- .../renderer/entity/MazeSlimeRenderer.java | 37 ++++-- .../renderer/entity/MinoshroomRenderer.java | 117 ++++++++++-------- .../renderer/entity/MinotaurRenderer.java | 29 +++++ .../renderer/entity/MistWolfRenderer.java | 24 ++-- .../renderer/entity/MoonwormShotRenderer.java | 30 +++-- .../entity/MosquitoSwarmRenderer.java | 22 +++- .../client/renderer/entity/NagaRenderer.java | 43 +++++-- .../renderer/entity/NagaSegmentRenderer.java | 31 +++-- .../renderer/entity/PinchBeetleRenderer.java | 35 ++++++ .../entity/ProtectionBoxRenderer.java | 33 +++-- .../renderer/entity/QuestRamRenderer.java | 31 +++-- .../renderer/entity/RedcapRenderer.java | 31 +++++ .../renderer/entity/RedcapSapperRenderer.java | 20 +++ .../renderer/entity/RovingCubeRenderer.java | 11 +- .../entity/SkeletonDruidRenderer.java | 35 ++++++ .../renderer/entity/SlideBlockRenderer.java | 73 ++++++----- .../renderer/entity/SlimeBeetleRenderer.java | 37 +++--- .../renderer/entity/SnowGuardianRenderer.java | 34 +++-- .../entity/SnowQueenIceShieldRenderer.java | 41 +++--- .../renderer/entity/SnowQueenRenderer.java | 32 +++-- .../renderer/entity/SquirrelRenderer.java | 29 +++++ .../entity/StableIceCoreRenderer.java | 28 ++++- .../renderer/entity/TFBipedRenderer.java | 47 ------- .../renderer/entity/TFGenericMobRenderer.java | 28 ----- .../renderer/entity/TFGiantRenderer.java | 103 +++++++-------- .../renderer/entity/TFPartRenderer.java | 17 +-- .../renderer/entity/TFSpiderRenderer.java | 5 +- .../renderer/entity/ThrownBlockRenderer.java | 57 +++++---- .../renderer/entity/ThrownIceRenderer.java | 54 ++++---- .../renderer/entity/ThrownWepRenderer.java | 47 +++---- .../renderer/entity/TinyBirdRenderer.java | 29 ++++- .../entity/TowerwoodBorerRenderer.java | 29 +++++ .../client/renderer/entity/TrollRenderer.java | 35 ++++++ .../entity/UnstableIceCoreRenderer.java | 40 ++++-- .../entity/UpperGoblinKnightRenderer.java | 65 +++++----- .../renderer/entity/UrGhastRenderer.java | 64 ++++++---- .../renderer/entity/WinterWolfRenderer.java | 9 +- .../renderer/entity/WraithRenderer.java | 15 ++- .../client/renderer/entity/YetiRenderer.java | 35 ++++++ .../renderer/entity/layers/ShieldLayer.java | 1 - .../state/BlockChainGoblinRenderState.java | 2 - .../client/state/DeathTomeRenderState.java | 8 +- .../client/state/GiantRenderState.java | 16 +++ .../client/state/HydraHeadRenderState.java | 6 +- .../client/state/HydraMortarRenderState.java | 1 - .../client/state/HydraNeckRenderState.java | 6 +- .../client/state/HydraRenderState.java | 2 - .../client/state/IceShieldRenderState.java | 65 ++++++++++ .../client/state/MinoshroomRenderState.java | 6 - .../client/state/MistWolfRenderState.java | 8 ++ .../client/state/MoonwormShotRenderState.java | 8 ++ .../client/state/NagaRenderState.java | 9 ++ .../client/state/NagaSegmentRenderState.java | 5 + .../client/state/PartEntityState.java | 22 ++++ .../state/ProtectionBoxRenderState.java | 1 + .../client/state/QuestingRamRenderState.java | 3 +- .../client/state/TFGhastRenderState.java | 2 - .../client/state/ThrownWepRenderState.java | 7 ++ .../client/state/TinyBirdRenderState.java | 7 ++ .../state/UpperGoblinKnightRenderState.java | 26 ++++ .../entity/boss/Minoshroom.java | 4 +- 118 files changed, 1648 insertions(+), 761 deletions(-) create mode 100644 src/main/java/twilightforest/client/model/entity/GiantModel.java delete mode 100644 src/main/java/twilightforest/client/model/entity/LichMinionModel.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/AlphaYetiRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/DeathTomeRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/DeerRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/FireBeetleRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/HarbingerCubeRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/HelmetCrabRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/LichMinionRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/LowerGoblinKnightRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/LoyalZombieRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/PinchBeetleRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/RedcapSapperRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/SkeletonDruidRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/SquirrelRenderer.java delete mode 100644 src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java delete mode 100644 src/main/java/twilightforest/client/renderer/entity/TFGenericMobRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/TowerwoodBorerRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/TrollRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/entity/YetiRenderer.java create mode 100644 src/main/java/twilightforest/client/state/GiantRenderState.java create mode 100644 src/main/java/twilightforest/client/state/IceShieldRenderState.java create mode 100644 src/main/java/twilightforest/client/state/MistWolfRenderState.java create mode 100644 src/main/java/twilightforest/client/state/MoonwormShotRenderState.java create mode 100644 src/main/java/twilightforest/client/state/NagaRenderState.java create mode 100644 src/main/java/twilightforest/client/state/NagaSegmentRenderState.java create mode 100644 src/main/java/twilightforest/client/state/PartEntityState.java create mode 100644 src/main/java/twilightforest/client/state/ThrownWepRenderState.java create mode 100644 src/main/java/twilightforest/client/state/TinyBirdRenderState.java diff --git a/src/main/java/twilightforest/client/BakedMultiPartRenderers.java b/src/main/java/twilightforest/client/BakedMultiPartRenderers.java index 4124c54131..206d39d347 100644 --- a/src/main/java/twilightforest/client/BakedMultiPartRenderers.java +++ b/src/main/java/twilightforest/client/BakedMultiPartRenderers.java @@ -21,17 +21,17 @@ @SuppressWarnings("deprecation") public class BakedMultiPartRenderers { - private static final Map>> renderers = new HashMap<>(); + private static final Map>> renderers = new HashMap<>(); public static void bakeMultiPartRenderers(EntityRendererProvider.Context context) { renderers.put(TFPart.RENDERER, new LazyLoadedValue<>(() -> new NoopRenderer<>(context))); - renderers.put(HydraHead.RENDERER, new LazyLoadedValue<>(() -> new HydraHeadRenderer<>(context, new HydraHeadModel<>(context.bakeLayer(TFModelLayers.HYDRA_HEAD))))); - renderers.put(HydraNeck.RENDERER, new LazyLoadedValue<>(() -> new HydraNeckRenderer<>(context, new HydraNeckModel(context.bakeLayer(TFModelLayers.HYDRA_NECK))))); - renderers.put(SnowQueenIceShield.RENDERER, new LazyLoadedValue<>(() -> new SnowQueenIceShieldRenderer<>(context))); - renderers.put(NagaSegment.RENDERER, new LazyLoadedValue<>(() -> new NagaSegmentRenderer<>(context, new NagaModel<>(context.bakeLayer(TFModelLayers.NAGA_BODY))))); + renderers.put(HydraHead.RENDERER, new LazyLoadedValue<>(() -> new HydraHeadRenderer(context, new HydraHeadModel(context.bakeLayer(TFModelLayers.HYDRA_HEAD))))); + renderers.put(HydraNeck.RENDERER, new LazyLoadedValue<>(() -> new HydraNeckRenderer(context, new HydraNeckModel(context.bakeLayer(TFModelLayers.HYDRA_NECK))))); + renderers.put(SnowQueenIceShield.RENDERER, new LazyLoadedValue<>(() -> new SnowQueenIceShieldRenderer(context))); + renderers.put(NagaSegment.RENDERER, new LazyLoadedValue<>(() -> new NagaSegmentRenderer(context, new NagaModel<>(context.bakeLayer(TFModelLayers.NAGA_BODY))))); } - public static EntityRenderer lookup(ResourceLocation location) { + public static EntityRenderer lookup(ResourceLocation location) { return renderers.get(location).get(); } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index ec9d882657..2c90d87cf6 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -15,7 +15,7 @@ import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.NoopRenderer; import net.minecraft.client.renderer.entity.ThrownItemRenderer; -import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.ZombieRenderer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.renderer.item.ClampedItemPropertyFunction; @@ -319,69 +319,69 @@ private static void registerScreens(RegisterMenuScreensEvent event) { } private static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) { - event.registerEntityRenderer(TFEntities.BOAR.get(), m -> new BoarRenderer<>(m, new BoarModel<>(m.bakeLayer(TFModelLayers.BOAR)))); - event.registerEntityRenderer(TFEntities.BIGHORN_SHEEP.get(), m -> new BighornRenderer(m, new BighornModel<>(m.bakeLayer(TFModelLayers.BIGHORN_SHEEP)), 0.7F)); - event.registerEntityRenderer(TFEntities.DEER.get(), m -> new TFGenericMobRenderer<>(m, new DeerModel(m.bakeLayer(TFModelLayers.DEER)), 0.7F, "wilddeer.png")); - event.registerEntityRenderer(TFEntities.REDCAP.get(), m -> new TFBipedRenderer<>(m, new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP)), new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP_ARMOR_INNER)), new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP_ARMOR_OUTER)), 0.4F, "redcap.png")); - event.registerEntityRenderer(TFEntities.SKELETON_DRUID.get(), m -> new TFBipedRenderer<>(m, new SkeletonDruidModel(m.bakeLayer(TFModelLayers.SKELETON_DRUID)), 0.5F, "skeletondruid.png")); + event.registerEntityRenderer(TFEntities.BOAR.get(), BoarRenderer::new); + event.registerEntityRenderer(TFEntities.BIGHORN_SHEEP.get(), BighornRenderer::new); + event.registerEntityRenderer(TFEntities.DEER.get(), DeerRenderer::new); + event.registerEntityRenderer(TFEntities.REDCAP.get(), RedcapRenderer::new); + event.registerEntityRenderer(TFEntities.SKELETON_DRUID.get(), SkeletonDruidRenderer::new); event.registerEntityRenderer(TFEntities.HOSTILE_WOLF.get(), HostileWolfRenderer::new); - event.registerEntityRenderer(TFEntities.WRAITH.get(), m -> new WraithRenderer(m, new WraithModel(m.bakeLayer(TFModelLayers.WRAITH)), 0.5F)); - event.registerEntityRenderer(TFEntities.HYDRA.get(), m -> new HydraRenderer<>(m, new HydraModel(m.bakeLayer(TFModelLayers.HYDRA)), 4.0F)); - event.registerEntityRenderer(TFEntities.LICH.get(), m -> new LichRenderer<>(m, new LichModel<>(m.bakeLayer(TFModelLayers.LICH)), 0.6F)); + event.registerEntityRenderer(TFEntities.WRAITH.get(), WraithRenderer::new); + event.registerEntityRenderer(TFEntities.HYDRA.get(), HydraRenderer::new); + event.registerEntityRenderer(TFEntities.LICH.get(), LichRenderer::new); event.registerEntityRenderer(TFEntities.PENGUIN.get(), m -> new BirdRenderer<>(m, new PenguinModel(m.bakeLayer(TFModelLayers.PENGUIN)), 0.375F, "penguin.png")); - event.registerEntityRenderer(TFEntities.LICH_MINION.get(), m -> new TFBipedRenderer<>(m, new LichMinionModel(m.bakeLayer(TFModelLayers.LICH_MINION)), new LichMinionModel(m.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new LichMinionModel(m.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), 0.5F, "textures/entity/zombie/zombie.png")); - event.registerEntityRenderer(TFEntities.LOYAL_ZOMBIE.get(), m -> new TFBipedRenderer<>(m, new LoyalZombieModel(m.bakeLayer(TFModelLayers.LOYAL_ZOMBIE)), new LoyalZombieModel(m.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new LoyalZombieModel(m.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), 0.5F, "textures/entity/zombie/zombie.png")); - event.registerEntityRenderer(TFEntities.TINY_BIRD.get(), m -> new TinyBirdRenderer<>(m, new TinyBirdModel(m.bakeLayer(TFModelLayers.TINY_BIRD)), 0.3F)); - event.registerEntityRenderer(TFEntities.SQUIRREL.get(), m -> new TFGenericMobRenderer<>(m, new SquirrelModel(m.bakeLayer(TFModelLayers.SQUIRREL)), 0.3F, "squirrel2.png")); - event.registerEntityRenderer(TFEntities.DWARF_RABBIT.get(), m -> new BunnyRenderer(m, new BunnyModel(m.bakeLayer(TFModelLayers.BUNNY)), 0.3F)); + event.registerEntityRenderer(TFEntities.LICH_MINION.get(), LichMinionRenderer::new); + event.registerEntityRenderer(TFEntities.LOYAL_ZOMBIE.get(), LoyalZombieRenderer::new); + event.registerEntityRenderer(TFEntities.TINY_BIRD.get(), TinyBirdRenderer::new); + event.registerEntityRenderer(TFEntities.SQUIRREL.get(), SquirrelRenderer::new); + event.registerEntityRenderer(TFEntities.DWARF_RABBIT.get(), BunnyRenderer::new); event.registerEntityRenderer(TFEntities.RAVEN.get(), m -> new BirdRenderer<>(m, new RavenModel(m.bakeLayer(TFModelLayers.RAVEN)), 0.3F, "raven.png")); - event.registerEntityRenderer(TFEntities.QUEST_RAM.get(), m -> new QuestRamRenderer<>(m, new QuestRamModel<>(m.bakeLayer(TFModelLayers.QUEST_RAM)))); - event.registerEntityRenderer(TFEntities.KOBOLD.get(), m -> new TFBipedRenderer<>(m, new KoboldModel(m.bakeLayer(TFModelLayers.KOBOLD)), 0.4F, "kobold.png")); + event.registerEntityRenderer(TFEntities.QUEST_RAM.get(), QuestRamRenderer::new); + event.registerEntityRenderer(TFEntities.KOBOLD.get(), KoboldRenderer::new); //event.registerEntityRenderer(TFEntities.BOGGARD.get(), m -> new RenderTFBiped<>(m, new BipedModel<>(0), 0.625F, "kobold.png")); event.registerEntityRenderer(TFEntities.MOSQUITO_SWARM.get(), MosquitoSwarmRenderer::new); - event.registerEntityRenderer(TFEntities.DEATH_TOME.get(), m -> new TFGenericMobRenderer<>(m, new DeathTomeModel(m.bakeLayer(TFModelLayers.DEATH_TOME)), 0.3F, "textures/entity/enchanting_table_book.png")); - event.registerEntityRenderer(TFEntities.MINOTAUR.get(), m -> new TFBipedRenderer<>(m, new MinotaurModel(m.bakeLayer(TFModelLayers.MINOTAUR)), 0.625F, "minotaur.png")); - event.registerEntityRenderer(TFEntities.MINOSHROOM.get(), m -> new MinoshroomRenderer<>(m, new MinoshroomModel<>(m.bakeLayer(TFModelLayers.MINOSHROOM)), 0.625F)); - event.registerEntityRenderer(TFEntities.FIRE_BEETLE.get(), m -> new TFGenericMobRenderer<>(m, new FireBeetleModel(m.bakeLayer(TFModelLayers.FIRE_BEETLE)), 0.8F, "firebeetle.png")); - event.registerEntityRenderer(TFEntities.SLIME_BEETLE.get(), m -> new SlimeBeetleRenderer<>(m, new SlimeBeetleModel<>(m.bakeLayer(TFModelLayers.SLIME_BEETLE)), m.bakeLayer(TFModelLayers.SLIME_BEETLE_TAIL), 0.6F)); - event.registerEntityRenderer(TFEntities.PINCH_BEETLE.get(), m -> new TFGenericMobRenderer<>(m, new PinchBeetleModel(m.bakeLayer(TFModelLayers.PINCH_BEETLE)), 0.6F, "pinchbeetle.png")); + event.registerEntityRenderer(TFEntities.DEATH_TOME.get(), DeathTomeRenderer::new); + event.registerEntityRenderer(TFEntities.MINOTAUR.get(), MinotaurRenderer::new); + event.registerEntityRenderer(TFEntities.MINOSHROOM.get(), MinoshroomRenderer::new); + event.registerEntityRenderer(TFEntities.FIRE_BEETLE.get(), FireBeetleRenderer::new); + event.registerEntityRenderer(TFEntities.SLIME_BEETLE.get(), SlimeBeetleRenderer::new); + event.registerEntityRenderer(TFEntities.PINCH_BEETLE.get(), PinchBeetleRenderer::new); event.registerEntityRenderer(TFEntities.MIST_WOLF.get(), MistWolfRenderer::new); - event.registerEntityRenderer(TFEntities.CARMINITE_GHASTLING.get(), m -> new TFGhastRenderer<>(m, new TFGhastModel<>(m.bakeLayer(TFModelLayers.CARMINITE_GHASTLING)), 0.625F)); - event.registerEntityRenderer(TFEntities.CARMINITE_GOLEM.get(), m -> new CarminiteGolemRenderer<>(m, new CarminiteGolemModel<>(m.bakeLayer(TFModelLayers.CARMINITE_GOLEM)), 0.75F)); - event.registerEntityRenderer(TFEntities.TOWERWOOD_BORER.get(), m -> new TFGenericMobRenderer<>(m, new SilverfishModel<>(m.bakeLayer(ModelLayers.SILVERFISH)), 0.3F, "towertermite.png")); - event.registerEntityRenderer(TFEntities.CARMINITE_GHASTGUARD.get(), m -> new CarminiteGhastRenderer<>(m, new TFGhastModel<>(m.bakeLayer(TFModelLayers.CARMINITE_GHASTGUARD)), 3.0F)); - event.registerEntityRenderer(TFEntities.UR_GHAST.get(), m -> new UrGhastRenderer<>(m, new UrGhastModel(m.bakeLayer(TFModelLayers.UR_GHAST)), 8.0F, 24.0F)); - event.registerEntityRenderer(TFEntities.BLOCKCHAIN_GOBLIN.get(), m -> new BlockChainGoblinRenderer(m, new BlockChainGoblinModel(m.bakeLayer(TFModelLayers.BLOCKCHAIN_GOBLIN)), 0.4F)); - event.registerEntityRenderer(TFEntities.UPPER_GOBLIN_KNIGHT.get(), m -> new UpperGoblinKnightRenderer<>(m, new UpperGoblinKnightModel(m.bakeLayer(TFModelLayers.UPPER_GOBLIN_KNIGHT)), 0.625F)); - event.registerEntityRenderer(TFEntities.LOWER_GOBLIN_KNIGHT.get(), m -> new TFBipedRenderer<>(m, new LowerGoblinKnightModel(m.bakeLayer(TFModelLayers.LOWER_GOBLIN_KNIGHT)), 0.625F, "doublegoblin.png")); - event.registerEntityRenderer(TFEntities.HELMET_CRAB.get(), m -> new TFGenericMobRenderer<>(m, new HelmetCrabModel(m.bakeLayer(TFModelLayers.HELMET_CRAB)), 0.625F, "helmetcrab.png")); - event.registerEntityRenderer(TFEntities.KNIGHT_PHANTOM.get(), m -> new KnightPhantomRenderer(m, new KnightPhantomModel(m.bakeLayer(TFModelLayers.KNIGHT_PHANTOM)), 0.625F)); - event.registerEntityRenderer(TFEntities.NAGA.get(), m -> new NagaRenderer<>(m, new NagaModel<>(m.bakeLayer(TFModelLayers.NAGA)), 1.45F)); + event.registerEntityRenderer(TFEntities.CARMINITE_GHASTLING.get(), m -> new TFGhastRenderer<>(m, new TFGhastModel(m.bakeLayer(TFModelLayers.CARMINITE_GHASTLING)), 0.625F)); + event.registerEntityRenderer(TFEntities.CARMINITE_GOLEM.get(), CarminiteGolemRenderer::new); + event.registerEntityRenderer(TFEntities.TOWERWOOD_BORER.get(), TowerwoodBorerRenderer::new); + event.registerEntityRenderer(TFEntities.CARMINITE_GHASTGUARD.get(), CarminiteGhastRenderer::new); + event.registerEntityRenderer(TFEntities.UR_GHAST.get(), UrGhastRenderer::new); + event.registerEntityRenderer(TFEntities.BLOCKCHAIN_GOBLIN.get(), BlockChainGoblinRenderer::new); + event.registerEntityRenderer(TFEntities.UPPER_GOBLIN_KNIGHT.get(), UpperGoblinKnightRenderer::new); + event.registerEntityRenderer(TFEntities.LOWER_GOBLIN_KNIGHT.get(), LowerGoblinKnightRenderer::new); + event.registerEntityRenderer(TFEntities.HELMET_CRAB.get(), HelmetCrabRenderer::new); + event.registerEntityRenderer(TFEntities.KNIGHT_PHANTOM.get(), KnightPhantomRenderer::new); + event.registerEntityRenderer(TFEntities.NAGA.get(), NagaRenderer::new); event.registerEntityRenderer(TFEntities.SWARM_SPIDER.get(), m -> new TFSpiderRenderer<>(m, 0.25F, "swarmspider.png", 0.5F)); event.registerEntityRenderer(TFEntities.KING_SPIDER.get(), m -> new TFSpiderRenderer<>(m, 1.25F, "kingspider.png", 1.9F)); event.registerEntityRenderer(TFEntities.CARMINITE_BROODLING.get(), m -> new TFSpiderRenderer<>(m, 0.6F, "towerbroodling.png", 0.7F)); event.registerEntityRenderer(TFEntities.HEDGE_SPIDER.get(), m -> new TFSpiderRenderer<>(m, 0.8F, "hedgespider.png", 1.0F)); - event.registerEntityRenderer(TFEntities.REDCAP_SAPPER.get(), m -> new TFBipedRenderer<>(m, new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP)), new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP_ARMOR_INNER)), new RedcapModel<>(m.bakeLayer(TFModelLayers.REDCAP_ARMOR_OUTER)), 0.4F, "redcapsapper.png")); - event.registerEntityRenderer(TFEntities.MAZE_SLIME.get(), m -> new MazeSlimeRenderer(m, 0.625F)); - event.registerEntityRenderer(TFEntities.YETI.get(), m -> new TFBipedRenderer<>(m, new YetiModel<>(m.bakeLayer(TFModelLayers.YETI)), 0.625F, "yeti2.png")); + event.registerEntityRenderer(TFEntities.REDCAP_SAPPER.get(), RedcapSapperRenderer::new); + event.registerEntityRenderer(TFEntities.MAZE_SLIME.get(), MazeSlimeRenderer::new); + event.registerEntityRenderer(TFEntities.YETI.get(), YetiRenderer::new); event.registerEntityRenderer(TFEntities.PROTECTION_BOX.get(), ProtectionBoxRenderer::new); event.registerEntityRenderer(TFEntities.MAGIC_PAINTING.get(), MagicPaintingRenderer::new); - event.registerEntityRenderer(TFEntities.ALPHA_YETI.get(), m -> new TFBipedRenderer<>(m, new AlphaYetiModel(m.bakeLayer(TFModelLayers.ALPHA_YETI)), 1.75F, "yetialpha.png")); + event.registerEntityRenderer(TFEntities.ALPHA_YETI.get(), AlphaYetiRenderer::new); event.registerEntityRenderer(TFEntities.WINTER_WOLF.get(), WinterWolfRenderer::new); - event.registerEntityRenderer(TFEntities.SNOW_GUARDIAN.get(), m -> new SnowGuardianRenderer(m, new NoopModel<>(m.bakeLayer(TFModelLayers.NOOP)))); - event.registerEntityRenderer(TFEntities.STABLE_ICE_CORE.get(), m -> new StableIceCoreRenderer(m, new StableIceCoreModel(m.bakeLayer(TFModelLayers.STABLE_ICE_CORE)))); - event.registerEntityRenderer(TFEntities.UNSTABLE_ICE_CORE.get(), m -> new UnstableIceCoreRenderer<>(m, new UnstableIceCoreModel<>(m.bakeLayer(TFModelLayers.UNSTABLE_ICE_CORE)))); - event.registerEntityRenderer(TFEntities.SNOW_QUEEN.get(), m -> new SnowQueenRenderer<>(m, new SnowQueenModel(m.bakeLayer(TFModelLayers.SNOW_QUEEN)))); - event.registerEntityRenderer(TFEntities.TROLL.get(), m -> new TFBipedRenderer<>(m, new TrollModel(m.bakeLayer(TFModelLayers.TROLL)), 0.625F, "troll.png")); + event.registerEntityRenderer(TFEntities.SNOW_GUARDIAN.get(), SnowGuardianRenderer::new); + event.registerEntityRenderer(TFEntities.STABLE_ICE_CORE.get(), StableIceCoreRenderer::new); + event.registerEntityRenderer(TFEntities.UNSTABLE_ICE_CORE.get(), UnstableIceCoreRenderer::new); + event.registerEntityRenderer(TFEntities.SNOW_QUEEN.get(), SnowQueenRenderer::new); + event.registerEntityRenderer(TFEntities.TROLL.get(), TrollRenderer::new); event.registerEntityRenderer(TFEntities.GIANT_MINER.get(), TFGiantRenderer::new); event.registerEntityRenderer(TFEntities.ARMORED_GIANT.get(), TFGiantRenderer::new); event.registerEntityRenderer(TFEntities.ICE_CRYSTAL.get(), IceCrystalRenderer::new); event.registerEntityRenderer(TFEntities.CHAIN_BLOCK.get(), BlockChainRenderer::new); event.registerEntityRenderer(TFEntities.CUBE_OF_ANNIHILATION.get(), CubeOfAnnihilationRenderer::new); - event.registerEntityRenderer(TFEntities.HARBINGER_CUBE.get(), m -> new TFGenericMobRenderer<>(m, new HarbingerCubeModel<>(m.bakeLayer(TFModelLayers.HARBINGER_CUBE)), 1.0F, "apocalypse2.png")); + event.registerEntityRenderer(TFEntities.HARBINGER_CUBE.get(), HarbingerCubeRenderer::new); event.registerEntityRenderer(TFEntities.ADHERENT.get(), AdherentRenderer::new); event.registerEntityRenderer(TFEntities.ROVING_CUBE.get(), RovingCubeRenderer::new); - event.registerEntityRenderer(TFEntities.RISING_ZOMBIE.get(), m -> new TFBipedRenderer<>(m, new RisingZombieModel(m.bakeLayer(TFModelLayers.RISING_ZOMBIE)), new RisingZombieModel(m.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new RisingZombieModel(m.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), 0.5F, "textures/entity/zombie/zombie.png")); + event.registerEntityRenderer(TFEntities.RISING_ZOMBIE.get(), ZombieRenderer::new); event.registerEntityRenderer(TFEntities.PLATEAU_BOSS.get(), NoopRenderer::new); // projectiles diff --git a/src/main/java/twilightforest/client/model/entity/AdherentModel.java b/src/main/java/twilightforest/client/model/entity/AdherentModel.java index 57d444aa6c..2ad47e6b8d 100644 --- a/src/main/java/twilightforest/client/model/entity/AdherentModel.java +++ b/src/main/java/twilightforest/client/model/entity/AdherentModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.Adherent; public class AdherentModel extends HumanoidModel { diff --git a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java index 62c7a2a854..f58982cb4f 100644 --- a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java +++ b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java @@ -12,12 +12,11 @@ import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; +import twilightforest.client.renderer.entity.AlphaYetiRenderer; import twilightforest.client.state.AlphaYetiRenderState; public class AlphaYetiModel extends HumanoidModel implements TrophyBlockModel { - private static final ResourceLocation ALPHA_YETI_TEXTURE = TwilightForestMod.getModelTexture("yetialpha.png"); - public AlphaYetiModel(ModelPart root) { super(root); } @@ -222,7 +221,7 @@ public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { stack.scale(0.2F, 0.2F, 0.2F); stack.translate(0.0F, -1.5F, 0.0F); - VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(ALPHA_YETI_TEXTURE)); + VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(AlphaYetiRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } } diff --git a/src/main/java/twilightforest/client/model/entity/BighornModel.java b/src/main/java/twilightforest/client/model/entity/BighornModel.java index 76325395be..81a568cbbe 100644 --- a/src/main/java/twilightforest/client/model/entity/BighornModel.java +++ b/src/main/java/twilightforest/client/model/entity/BighornModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.SheepRenderState; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.Bighorn; public class BighornModel extends SheepModel { diff --git a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java index d13da59b25..a83041ae3e 100644 --- a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java +++ b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java @@ -4,11 +4,9 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.BlockChainGoblinRenderState; -import twilightforest.entity.monster.BlockChainGoblin; public class BlockChainGoblinModel extends FixedHumanoidModel { diff --git a/src/main/java/twilightforest/client/model/entity/BoarModel.java b/src/main/java/twilightforest/client/model/entity/BoarModel.java index bc9097be02..a6bf159c2d 100644 --- a/src/main/java/twilightforest/client/model/entity/BoarModel.java +++ b/src/main/java/twilightforest/client/model/entity/BoarModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.Boar; public class BoarModel extends PigModel { diff --git a/src/main/java/twilightforest/client/model/entity/BunnyModel.java b/src/main/java/twilightforest/client/model/entity/BunnyModel.java index cd8e1e4412..f4cda94cf0 100644 --- a/src/main/java/twilightforest/client/model/entity/BunnyModel.java +++ b/src/main/java/twilightforest/client/model/entity/BunnyModel.java @@ -10,7 +10,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import twilightforest.client.state.DwarfRabbitRenderState; public class BunnyModel extends QuadrupedModel { diff --git a/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java b/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java index b0f81a2fd3..4821655d11 100644 --- a/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java +++ b/src/main/java/twilightforest/client/model/entity/DeathTomeModel.java @@ -133,7 +133,7 @@ public void setupAnim(DeathTomeRenderState state) { float bounce = onLectern ? 0.0F : state.ageInTicks; float open = onLectern ? 1.2F : 0.9f; - float flip = state.getFlip(); + float flip = state.flip; float flipRight = Mth.clamp(Mth.frac(flip + 0.25F) * 1.6F - 0.3F, 0.0F, 1.0F); float flipLeft = Mth.clamp(Mth.frac(flip + 0.75F) * 1.6F - 0.3F, 0.0F, 1.0F); diff --git a/src/main/java/twilightforest/client/model/entity/DeerModel.java b/src/main/java/twilightforest/client/model/entity/DeerModel.java index c836b31087..a5f1c3a41d 100644 --- a/src/main/java/twilightforest/client/model/entity/DeerModel.java +++ b/src/main/java/twilightforest/client/model/entity/DeerModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.Deer; public class DeerModel extends QuadrupedModel { diff --git a/src/main/java/twilightforest/client/model/entity/GiantModel.java b/src/main/java/twilightforest/client/model/entity/GiantModel.java new file mode 100644 index 0000000000..c279b4e8b2 --- /dev/null +++ b/src/main/java/twilightforest/client/model/entity/GiantModel.java @@ -0,0 +1,62 @@ +package twilightforest.client.model.entity; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.world.entity.HumanoidArm; +import twilightforest.client.state.GiantRenderState; + +public class GiantModel extends HumanoidModel { + public final ModelPart leftSleeve; + public final ModelPart rightSleeve; + public final ModelPart leftPants; + public final ModelPart rightPants; + public final ModelPart jacket; + private final boolean slim; + + public GiantModel(ModelPart root, boolean slim) { + super(root, RenderType::entityTranslucent); + this.slim = slim; + this.leftSleeve = this.leftArm.getChild("left_sleeve"); + this.rightSleeve = this.rightArm.getChild("right_sleeve"); + this.leftPants = this.leftLeg.getChild("left_pants"); + this.rightPants = this.rightLeg.getChild("right_pants"); + this.jacket = this.body.getChild("jacket"); + } + + @Override + public void setupAnim(GiantRenderState state) { + this.hat.visible = state.showHat; + this.jacket.visible = state.showJacket; + this.leftPants.visible = state.showLeftPants; + this.rightPants.visible = state.showRightPants; + this.leftSleeve.visible = state.showLeftSleeve; + this.rightSleeve.visible = state.showRightSleeve; + super.setupAnim(state); + } + + @Override + public void setAllVisible(boolean visible) { + super.setAllVisible(visible); + this.leftSleeve.visible = visible; + this.rightSleeve.visible = visible; + this.leftPants.visible = visible; + this.rightPants.visible = visible; + this.jacket.visible = visible; + } + + @Override + public void translateToHand(HumanoidArm side, PoseStack poseStack) { + this.root().translateAndRotate(poseStack); + ModelPart modelpart = this.getArm(side); + if (this.slim) { + float f = 0.5F * (float)(side == HumanoidArm.RIGHT ? 1 : -1); + modelpart.x += f; + modelpart.translateAndRotate(poseStack); + modelpart.x -= f; + } else { + modelpart.translateAndRotate(poseStack); + } + } +} diff --git a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java index 06ddba35ae..5e9a500050 100644 --- a/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java +++ b/src/main/java/twilightforest/client/model/entity/HostileWolfModel.java @@ -3,7 +3,6 @@ import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.entity.state.WolfRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; diff --git a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java index a105b77c46..19661a1666 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java @@ -7,8 +7,6 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import net.minecraft.client.renderer.entity.state.EntityRenderState; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.HydraNeckRenderState; diff --git a/src/main/java/twilightforest/client/model/entity/KoboldModel.java b/src/main/java/twilightforest/client/model/entity/KoboldModel.java index a1312b8563..d868c285b0 100644 --- a/src/main/java/twilightforest/client/model/entity/KoboldModel.java +++ b/src/main/java/twilightforest/client/model/entity/KoboldModel.java @@ -11,13 +11,10 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.KoboldRenderState; -import twilightforest.entity.monster.Kobold; public class KoboldModel extends HumanoidModel { diff --git a/src/main/java/twilightforest/client/model/entity/LichMinionModel.java b/src/main/java/twilightforest/client/model/entity/LichMinionModel.java deleted file mode 100644 index 19aa2c0711..0000000000 --- a/src/main/java/twilightforest/client/model/entity/LichMinionModel.java +++ /dev/null @@ -1,27 +0,0 @@ -package twilightforest.client.model.entity; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.ZombieModel; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.client.renderer.entity.state.ZombieRenderState; -import net.minecraft.util.FastColor; -import net.minecraft.world.effect.MobEffects; -import twilightforest.entity.monster.LichMinion; - -public class LichMinionModel extends ZombieModel { - - - public LichMinionModel(ModelPart root) { - super(root); - } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (this.hasStrength) { - super.renderToBuffer(stack, builder, light, overlay, FastColor.ARGB32.color(FastColor.ARGB32.alpha(color), (int) (FastColor.ARGB32.red(color) * 0.25F), FastColor.ARGB32.green(color), (int) (FastColor.ARGB32.blue(color) * 0.25F))); - } else { - super.renderToBuffer(stack, builder, light, overlay, FastColor.ARGB32.color(FastColor.ARGB32.alpha(color), (int) (FastColor.ARGB32.red(color) * 0.5F), FastColor.ARGB32.green(color), (int) (FastColor.ARGB32.blue(color) * 0.5F))); - } - } -} diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index 52634e2480..ddc7773cb6 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -72,15 +72,6 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 64); } - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (!this.shadowClone) { - super.renderToBuffer(stack, builder, light, overlay, color); - } else { - super.renderToBuffer(stack, builder, light, overlay, FastColor.ARGB32.color((int) (FastColor.ARGB32.alpha(color) * 0.5F), (int) (FastColor.ARGB32.red(color) * 0.333F), (int) (FastColor.ARGB32.green(color) * 0.333F), (int) (FastColor.ARGB32.blue(color) * 0.333F))); - } - } - @Override public void setupAnim(LichRenderState state) { super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index 5c9bd0dbdc..df92d35113 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -243,7 +243,7 @@ public void setupAnim(MinoshroomRenderState state) { this.rightBackLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; // Ground slam animation - float f1 = state.getChargeAnimationScale(); + float f1 = state.chargeAnim; f1 = f1 * f1; boolean jappa = JappaPackReloadListener.INSTANCE.isJappaPackLoaded(); diff --git a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java index 2a3ca02666..368b06494a 100644 --- a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java @@ -7,7 +7,6 @@ import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.Minotaur; public class MinotaurModel extends HumanoidModel { diff --git a/src/main/java/twilightforest/client/model/entity/MistWolfModel.java b/src/main/java/twilightforest/client/model/entity/MistWolfModel.java index b9ecba2d61..2138cf743d 100644 --- a/src/main/java/twilightforest/client/model/entity/MistWolfModel.java +++ b/src/main/java/twilightforest/client/model/entity/MistWolfModel.java @@ -1,29 +1,11 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; -import org.jetbrains.annotations.Nullable; -import twilightforest.entity.monster.MistWolf; public class MistWolfModel extends HostileWolfModel { - public MistWolfModel(ModelPart root) { super(RenderType::entityTranslucent, root); } - - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { - if (this.wolf != null) { - float brightness = this.wolf.level().getMaxLocalRawBrightness(this.wolf.blockPosition()); - float misty = Math.min(1.0F, brightness * 3.0F + 0.25F); - float smoky = brightness * 2.0F + 0.6F; - super.renderToBuffer(stack, consumer, light, overlay, FastColor.ARGB32.colorFromFloat(smoky, misty, misty, misty)); - } else { - super.renderToBuffer(stack, consumer, light, overlay, color); - } - } } diff --git a/src/main/java/twilightforest/client/model/entity/NagaModel.java b/src/main/java/twilightforest/client/model/entity/NagaModel.java index 76b74546b1..c4891a233f 100644 --- a/src/main/java/twilightforest/client/model/entity/NagaModel.java +++ b/src/main/java/twilightforest/client/model/entity/NagaModel.java @@ -11,14 +11,13 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.NagaRenderer; -import twilightforest.entity.boss.Naga; -public class NagaModel extends EntityModel implements TrophyBlockModel { +public class NagaModel extends EntityModel implements TrophyBlockModel { private final ModelPart head; @@ -60,15 +59,6 @@ private static LayerDefinition createJappaModel() { return LayerDefinition.create(meshdefinition, 128, 64); } - @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (this.entity instanceof Naga naga) { - this.head.render(stack, builder, light, overlay, FastColor.ARGB32.color(FastColor.ARGB32.alpha(color), FastColor.ARGB32.red(color), (int) (FastColor.ARGB32.green(color)- naga.stunlessRedOverlayProgress), (int) (FastColor.ARGB32.blue(color) - naga.stunlessRedOverlayProgress))); - } else { - this.head.render(stack, builder, light, overlay, color); - } - } - @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { if (JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { diff --git a/src/main/java/twilightforest/client/model/entity/PenguinModel.java b/src/main/java/twilightforest/client/model/entity/PenguinModel.java index 3a32c440b1..8dc19a19c1 100644 --- a/src/main/java/twilightforest/client/model/entity/PenguinModel.java +++ b/src/main/java/twilightforest/client/model/entity/PenguinModel.java @@ -6,21 +6,12 @@ package twilightforest.client.model.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import twilightforest.client.state.BirdRenderState; -import twilightforest.entity.passive.Penguin; - -import java.util.function.Function; public class PenguinModel extends EntityModel { diff --git a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java index 7fc5e5ce1c..25dda7caa7 100644 --- a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java @@ -6,18 +6,15 @@ package twilightforest.client.model.entity; import net.minecraft.client.model.EntityModel; -import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.PinchBeetleRenderState; -import twilightforest.entity.monster.PinchBeetle; public class PinchBeetleModel extends EntityModel { diff --git a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java index 475882ce53..cc1dd40201 100644 --- a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java +++ b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java @@ -9,7 +9,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; -import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; @@ -22,13 +21,11 @@ import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.QuestRamRenderer; import twilightforest.client.state.QuestingRamRenderState; -import twilightforest.entity.passive.QuestRam; import java.util.Arrays; public class QuestRamModel extends EntityModel implements TrophyBlockModel { - private final ModelPart root; private final ModelPart head; private ModelPart neck; private ModelPart frontTorso; @@ -42,7 +39,7 @@ public class QuestRamModel extends EntityModel implement final int[] colorOrder = new int[]{0, 8, 7, 15, 14, 1, 4, 5, 13, 3, 9, 11, 10, 2, 6, 12}; public QuestRamModel(ModelPart root) { - this.root = root; + super(root); this.head = root.getChild("head"); if (root.hasChild("neck")) { this.neck = root.getChild("neck"); diff --git a/src/main/java/twilightforest/client/model/entity/RedcapModel.java b/src/main/java/twilightforest/client/model/entity/RedcapModel.java index a2f4481a49..d8aeab0020 100644 --- a/src/main/java/twilightforest/client/model/entity/RedcapModel.java +++ b/src/main/java/twilightforest/client/model/entity/RedcapModel.java @@ -4,10 +4,10 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.Redcap; -public class RedcapModel extends FixedHumanoidModel { +public class RedcapModel extends FixedHumanoidModel { public RedcapModel(ModelPart root) { super(root, 3.0F); diff --git a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java index 6d94bc7f95..016ca1b841 100644 --- a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java +++ b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java @@ -7,7 +7,6 @@ import net.minecraft.client.model.ZombieModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.entity.state.ZombieRenderState; -import twilightforest.entity.monster.RisingZombie; public class RisingZombieModel extends ZombieModel { diff --git a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java index b1352bea3a..f78f24fc61 100644 --- a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java @@ -8,7 +8,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; -import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -18,7 +17,6 @@ import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.monster.SlimeBeetle; public class SlimeBeetleModel extends EntityModel { @@ -242,6 +240,13 @@ private static LayerDefinition createJappaModel() { return LayerDefinition.create(meshdefinition, 64, 64); } + public void copyTailTo(SlimeBeetleModel model) { + model.tailBottom.copyFrom(this.tailBottom); + model.tailTop.copyFrom(this.tailTop); + model.slimeCenter.copyFrom(this.slimeCenter); + model.slime.copyFrom(this.slime); + } + public void renderTail(PoseStack stack, VertexConsumer builder, int light, int overlay) { this.slime.visible = true; this.tailBottom.render(stack, builder, light, overlay); diff --git a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java index 5ebf5bec47..b56a494681 100644 --- a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java +++ b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java @@ -13,7 +13,6 @@ import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import twilightforest.client.JappaPackReloadListener; -import twilightforest.entity.passive.Squirrel; public class SquirrelModel extends QuadrupedModel { diff --git a/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java b/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java index 6da9da7211..8e8fdc1abf 100644 --- a/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java +++ b/src/main/java/twilightforest/client/model/entity/StableIceCoreModel.java @@ -3,7 +3,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.entity.monster.StableIceCore; public class StableIceCoreModel extends UnstableIceCoreModel { diff --git a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java index 431919616c..d02f67e3b7 100644 --- a/src/main/java/twilightforest/client/model/entity/TFGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/TFGhastModel.java @@ -7,7 +7,6 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import twilightforest.client.state.TFGhastRenderState; @@ -58,7 +57,7 @@ private static void makeTentacle(PartDefinition parent, String name, RandomSourc } @Override - public void setupAnim(LivingEntityRenderState state) { + public void setupAnim(TFGhastRenderState state) { super.setupAnim(state); // wave tentacles for (int i = 0; i < this.tentacles.length; ++i) { diff --git a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java index 8989d88d32..cd1f7ee509 100644 --- a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java +++ b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java @@ -20,7 +20,6 @@ public class TinyBirdModel extends EntityModel { private final ModelPart head; - private final ModelPart body; private final ModelPart rightFoot; private final ModelPart leftFoot; private final ModelPart rightWing; @@ -29,11 +28,11 @@ public class TinyBirdModel extends EntityModel { public TinyBirdModel(ModelPart root) { super(root); this.head = root.getChild("head"); - this.body = root.getChild("body"); + ModelPart body = root.getChild("body"); this.rightFoot = root.getChild("right_foot"); this.leftFoot = root.getChild("left_foot"); - this.rightWing = this.body.getChild("right_wing"); - this.leftWing = this.body.getChild("left_wing"); + this.rightWing = body.getChild("right_wing"); + this.leftWing = body.getChild("left_wing"); } public static LayerDefinition checkForPack() { diff --git a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java index fb8a7de533..e97a0c7a53 100644 --- a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java @@ -10,11 +10,11 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; import twilightforest.client.renderer.entity.UrGhastRenderer; +import twilightforest.client.state.TFGhastRenderState; public class UrGhastModel extends TFGhastModel implements TrophyBlockModel { @@ -87,7 +87,7 @@ protected static void makeTentacle(PartDefinition parent, String name, int itera } @Override - public void setupAnim(LivingEntityRenderState state) { + public void setupAnim(TFGhastRenderState state) { super.setupAnim(state); // wave tentacles diff --git a/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java b/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java index 305f5b8183..a1ac00e5e0 100644 --- a/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/AdherentRenderer.java @@ -2,7 +2,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -11,7 +11,7 @@ import twilightforest.client.model.entity.AdherentModel; import twilightforest.entity.monster.Adherent; -public class AdherentRenderer extends MobRenderer { +public class AdherentRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("adherent.png"); diff --git a/src/main/java/twilightforest/client/renderer/entity/AlphaYetiRenderer.java b/src/main/java/twilightforest/client/renderer/entity/AlphaYetiRenderer.java new file mode 100644 index 0000000000..24c059cd92 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/AlphaYetiRenderer.java @@ -0,0 +1,37 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.AlphaYetiModel; +import twilightforest.client.state.AlphaYetiRenderState; +import twilightforest.entity.boss.AlphaYeti; + +public class AlphaYetiRenderer extends HumanoidMobRenderer { + + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("yetialpha.png"); + + public AlphaYetiRenderer(EntityRendererProvider.Context context) { + super(context, new AlphaYetiModel(context.bakeLayer(TFModelLayers.ALPHA_YETI)), 1.75F); + } + + @Override + public AlphaYetiRenderState createRenderState() { + return new AlphaYetiRenderState(); + } + + @Override + public void extractRenderState(AlphaYeti entity, AlphaYetiRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isHoldingEntity = entity.isVehicle(); + state.isRampaging = entity.isRampaging(); + state.isTired = entity.isTired(); + } + + @Override + public ResourceLocation getTextureLocation(AlphaYetiRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java index 382711990f..669a1337ef 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java @@ -1,23 +1,22 @@ package twilightforest.client.renderer.entity; -import net.minecraft.client.model.SheepModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.SheepRenderer; -import net.minecraft.client.renderer.entity.layers.SheepFurLayer; import net.minecraft.client.renderer.entity.layers.SheepWoolLayer; import net.minecraft.client.renderer.entity.state.SheepRenderState; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.animal.Sheep; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.BighornModel; public class BighornRenderer extends SheepRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("bighorn.png"); - public BighornRenderer(EntityRendererProvider.Context context, SheepModel baseModel, float shadowSize) { + public BighornRenderer(EntityRendererProvider.Context context) { super(context); - this.shadowRadius = shadowSize; - this.model = baseModel; + this.shadowRadius = 0.7F; + this.model = new BighornModel(context.bakeLayer(TFModelLayers.BIGHORN_SHEEP)); this.addLayer(new SheepWoolLayer(this, context.getModelSet())); } diff --git a/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java index 547b9224fe..b04e297075 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BirdRenderer.java @@ -1,13 +1,10 @@ package twilightforest.client.renderer.entity; import net.minecraft.client.model.EntityModel; -import net.minecraft.client.renderer.entity.AgeableMobRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.client.renderer.entity.state.ChickenRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; -import net.minecraft.world.entity.animal.Chicken; import twilightforest.TwilightForestMod; import twilightforest.client.state.BirdRenderState; import twilightforest.entity.passive.Bird; diff --git a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java index eaf82a53aa..2941dcc550 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java @@ -3,13 +3,11 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.Model; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -32,8 +30,8 @@ public class BlockChainGoblinRenderer extends HumanoidMobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("wildboar.png"); - public BoarRenderer(EntityRendererProvider.Context context, PigModel model) { - super(context, model, 0.7F); + public BoarRenderer(EntityRendererProvider.Context context) { + super(context, new BoarModel(context.bakeLayer(TFModelLayers.BOAR)), 0.7F); } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java index 6db060e847..d51f4dc77c 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BunnyRenderer.java @@ -2,16 +2,16 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.BunnyModel; import twilightforest.client.state.DwarfRabbitRenderState; import twilightforest.entity.passive.DwarfRabbit; public class BunnyRenderer extends MobRenderer { - public BunnyRenderer(EntityRendererProvider.Context context, BunnyModel model, float shadowSize) { - super(context, model, shadowSize); + public BunnyRenderer(EntityRendererProvider.Context context) { + super(context, new BunnyModel(context.bakeLayer(TFModelLayers.BUNNY)), 0.3F); } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java index f3b49a4d7f..7d4007884b 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CarminiteGhastRenderer.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.TFGhastModel; import twilightforest.client.state.TFGhastRenderState; import twilightforest.entity.monster.CarminiteGhastguard; @@ -11,8 +12,8 @@ */ public class CarminiteGhastRenderer extends TFGhastRenderer { - public CarminiteGhastRenderer(EntityRendererProvider.Context renderManager, TFGhastModel model, float f) { - super(renderManager, model, f); + public CarminiteGhastRenderer(EntityRendererProvider.Context context) { + super(context, new TFGhastModel(context.bakeLayer(TFModelLayers.CARMINITE_GHASTGUARD)), 3.0F); } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java index aa42273046..3ad5cdadb1 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CarminiteGolemRenderer.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.entity.state.IronGolemRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.CarminiteGolemModel; import twilightforest.entity.monster.CarminiteGolem; @@ -14,8 +15,8 @@ public class CarminiteGolemRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/entity/enchanting_table_book.png"); + + public DeathTomeRenderer(EntityRendererProvider.Context context) { + super(context, new DeathTomeModel(context.bakeLayer(TFModelLayers.DEATH_TOME)), 0.3F); + } + + @Override + public DeathTomeRenderState createRenderState() { + return new DeathTomeRenderState(); + } + + @Override + public void extractRenderState(DeathTome entity, DeathTomeRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.onLectern = entity.isOnLectern(); + state.flip = Mth.lerp(partialTick, entity.oFlip, entity.flip); + } + + @Override + public ResourceLocation getTextureLocation(DeathTomeRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/DeerRenderer.java b/src/main/java/twilightforest/client/renderer/entity/DeerRenderer.java new file mode 100644 index 0000000000..7529a49194 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/DeerRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.DeerModel; +import twilightforest.entity.passive.Deer; + +public class DeerRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("wilddeer.png"); + + public DeerRenderer(EntityRendererProvider.Context context) { + super(context, new DeerModel(context.bakeLayer(TFModelLayers.DEER)), 0.7F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java b/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java index a0438e6f3a..40e46c424e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/FallingIceRenderer.java @@ -1,7 +1,6 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; import net.minecraft.client.renderer.culling.Frustum; @@ -10,11 +9,7 @@ import net.minecraft.client.renderer.entity.state.FallingBlockRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.item.FallingBlockEntity; -import net.minecraft.world.inventory.InventoryMenu; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.client.RenderTypeHelper; @@ -81,5 +76,4 @@ public void extractRenderState(FallingIce entity, FallingBlockRenderState state, state.biome = entity.level().getBiome(blockpos); state.level = entity.level(); } - } diff --git a/src/main/java/twilightforest/client/renderer/entity/FireBeetleRenderer.java b/src/main/java/twilightforest/client/renderer/entity/FireBeetleRenderer.java new file mode 100644 index 0000000000..35743bfa03 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/FireBeetleRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.FireBeetleModel; +import twilightforest.entity.monster.FireBeetle; + +public class FireBeetleRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("firebeetle.png"); + + public FireBeetleRenderer(EntityRendererProvider.Context context) { + super(context, new FireBeetleModel(context.bakeLayer(TFModelLayers.FIRE_BEETLE)), 0.8F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/HarbingerCubeRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HarbingerCubeRenderer.java new file mode 100644 index 0000000000..4571a217b7 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/HarbingerCubeRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.HarbingerCubeModel; +import twilightforest.entity.monster.HarbingerCube; + +public class HarbingerCubeRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("apocalypse2.png"); + + public HarbingerCubeRenderer(EntityRendererProvider.Context context) { + super(context, new HarbingerCubeModel(context.bakeLayer(TFModelLayers.HARBINGER_CUBE)), 0.8F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/HelmetCrabRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HelmetCrabRenderer.java new file mode 100644 index 0000000000..c244ca2002 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/HelmetCrabRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.HelmetCrabModel; +import twilightforest.entity.monster.HelmetCrab; + +public class HelmetCrabRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("helmetcrab.png"); + + public HelmetCrabRenderer(EntityRendererProvider.Context context) { + super(context, new HelmetCrabModel(context.bakeLayer(TFModelLayers.HELMET_CRAB)), 0.625F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java index 80e1d6a31d..cb62b3666c 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HostileWolfRenderer.java @@ -4,8 +4,6 @@ import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.client.renderer.entity.state.WolfRenderState; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ARGB; -import net.minecraft.world.entity.animal.Wolf; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.HostileWolfModel; import twilightforest.entity.monster.HostileWolf; diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java index b2b95479a4..f46c033d7d 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java @@ -24,7 +24,6 @@ public class HydraHeadRenderer extends TFPartRenderer 180) { yawDiff -= 360; } else if (yawDiff < -180) { yawDiff += 360; } - float yaw2 = state.headYRotO + yawDiff * state.partialTick; + float yaw2 = state.yRotO + yawDiff * state.partialTick; stack.mulPose(Axis.YN.rotationDegrees(yaw2 + 180)); super.render(state, stack, buffer, light); @@ -44,8 +44,6 @@ public void extractRenderState(HydraNeck entity, HydraNeckRenderState state, flo super.extractRenderState(entity, state, partialTick); var container = HydraHeadRenderer.getHeadObject(entity.head); state.active = container == null || container.isActive(); - state.headYRot = entity.getYRot(); - state.headYRotO = entity.yRotO; } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java index 77dd175128..0661a88f97 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraRenderer.java @@ -2,16 +2,14 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; -import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.entity.Pose; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.HydraModel; -import twilightforest.client.state.HydraMortarRenderState; import twilightforest.client.state.HydraRenderState; import twilightforest.entity.boss.Hydra; @@ -19,8 +17,8 @@ public class HydraRenderer extends MobRenderer(this, context.getItemRenderer())); this.addLayer(new HumanoidArmorLayer<>(this, new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } diff --git a/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java b/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java new file mode 100644 index 0000000000..b0adbfb130 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java @@ -0,0 +1,35 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.KoboldModel; +import twilightforest.client.state.KoboldRenderState; +import twilightforest.entity.monster.Kobold; + +public class KoboldRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("kobold.png"); + + public KoboldRenderer(EntityRendererProvider.Context context) { + super(context, new KoboldModel(context.bakeLayer(TFModelLayers.KOBOLD)), 0.4F); + } + + @Override + public KoboldRenderState createRenderState() { + return new KoboldRenderState(); + } + + @Override + public void extractRenderState(Kobold entity, KoboldRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.jumping = !entity.isNoAi() && entity.getDeltaMovement().y() != 0; + } + + @Override + public ResourceLocation getTextureLocation(KoboldRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/LichMinionRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichMinionRenderer.java new file mode 100644 index 0000000000..701b583a74 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/LichMinionRenderer.java @@ -0,0 +1,18 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ZombieRenderer; +import net.minecraft.client.renderer.entity.state.ZombieRenderState; +import net.minecraft.util.ARGB; + +public class LichMinionRenderer extends ZombieRenderer { + + public LichMinionRenderer(EntityRendererProvider.Context context) { + super(context); + } + + @Override + protected int getModelTint(ZombieRenderState state) { + return ARGB.colorFromFloat(1.0F, 0.5F, 1.0F, 0.5F); + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index 7053e2efd1..e588eb857e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -6,8 +6,10 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.LichModel; import twilightforest.client.renderer.TFRenderTypes; import twilightforest.client.renderer.entity.layers.ShieldLayer; @@ -18,11 +20,19 @@ public class LichRenderer extends HumanoidMobRenderer(this)); } + @Override + protected int getModelTint(LichRenderState state) { + if (state.isShadowClone) { + return ARGB.colorFromFloat(0.5F, 0.333F, 0.333F, 0.333F); + } + return super.getModelTint(state); + } + @Nullable @Override protected RenderType getRenderType(LichRenderState state, boolean bodyVisible, boolean translucent, boolean glowing) { diff --git a/src/main/java/twilightforest/client/renderer/entity/LowerGoblinKnightRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LowerGoblinKnightRenderer.java new file mode 100644 index 0000000000..a40dcff6df --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/LowerGoblinKnightRenderer.java @@ -0,0 +1,37 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.LowerGoblinKnightModel; +import twilightforest.client.state.LowerGoblinKnightRenderState; +import twilightforest.entity.monster.LowerGoblinKnight; +import twilightforest.entity.monster.UpperGoblinKnight; + +public class LowerGoblinKnightRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("doublegoblin.png"); + + public LowerGoblinKnightRenderer(EntityRendererProvider.Context context) { + super(context, new LowerGoblinKnightModel(context.bakeLayer(TFModelLayers.LOWER_GOBLIN_KNIGHT)), 0.625F); + } + + @Override + public LowerGoblinKnightRenderState createRenderState() { + return new LowerGoblinKnightRenderState(); + } + + @Override + public void extractRenderState(LowerGoblinKnight entity, LowerGoblinKnightRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.hasArmor = entity.hasArmor(); + state.hasUpperGoblin = entity.isVehicle() && entity.getFirstPassenger() instanceof UpperGoblinKnight; + } + + @Override + public ResourceLocation getTextureLocation(LowerGoblinKnightRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/LoyalZombieRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LoyalZombieRenderer.java new file mode 100644 index 0000000000..64ef597e96 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/LoyalZombieRenderer.java @@ -0,0 +1,41 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.model.AbstractZombieModel; +import net.minecraft.client.model.ZombieModel; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.state.ZombieRenderState; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; +import twilightforest.client.model.TFModelLayers; +import twilightforest.entity.monster.LoyalZombie; + +public class LoyalZombieRenderer extends HumanoidMobRenderer> { + + private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/entity/zombie/zombie.png"); + + public LoyalZombieRenderer(EntityRendererProvider.Context context) { + super(context, new ZombieModel<>(context.bakeLayer(TFModelLayers.LOYAL_ZOMBIE)), 0.5F); + } + + @Override + protected int getModelTint(ZombieRenderState state) { + return ARGB.colorFromFloat(1.0F, 0.25F, 1.0F, 0.25F); + } + + @Override + public ZombieRenderState createRenderState() { + return new ZombieRenderState(); + } + + @Override + public void extractRenderState(LoyalZombie entity, ZombieRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isAggressive = entity.isAggressive(); + } + + @Override + public ResourceLocation getTextureLocation(ZombieRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java index 61f716462b..8576a4b479 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java @@ -37,8 +37,8 @@ public class MagicPaintingRenderer extends EntityRenderer { public static long lastLightning = 0L; - public MagicPaintingRenderer(EntityRendererProvider.Context pContext) { - super(pContext); + public MagicPaintingRenderer(EntityRendererProvider.Context context) { + super(context); } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java index e8e3e550f0..d6b103f024 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java @@ -6,39 +6,52 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.client.renderer.entity.layers.SlimeOuterLayer; +import net.minecraft.client.renderer.entity.state.SlimeRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.entity.monster.MazeSlime; -public class MazeSlimeRenderer extends MobRenderer> { +public class MazeSlimeRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("mazeslime.png"); - public MazeSlimeRenderer(EntityRendererProvider.Context context, float shadowSize) { - super(context, new SlimeModel<>(context.bakeLayer(TFModelLayers.MAZE_SLIME)), shadowSize); - this.addLayer(new SlimeOuterLayer<>(this, context.getModelSet())); + public MazeSlimeRenderer(EntityRendererProvider.Context context) { + super(context, new SlimeModel(context.bakeLayer(TFModelLayers.MAZE_SLIME)), 0.625F); + this.addLayer(new SlimeOuterLayer(this, context.getModelSet())); } @Override - public void render(MazeSlime entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - this.shadowRadius = 0.25F * (float) entity.getSize(); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); + public void render(SlimeRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + this.shadowRadius = 0.25F * state.size; + super.render(state, stack, buffer, light); } @Override - protected void scale(MazeSlime entity, PoseStack stack, float partialTicks) { + protected void scale(SlimeRenderState state, PoseStack stack) { stack.scale(0.999F, 0.999F, 0.999F); - stack.translate(0.0D, 0.0010000000474974513D, 0.0D); - float size = entity.getSize(); - float squishFactor = Mth.lerp(partialTicks, entity.oSquish, entity.squish) / (size * 0.5F + 1.0F); + stack.translate(0.0D, 0.001D, 0.0D); + float size = state.size; + float squishFactor = state.squish / (size * 0.5F + 1.0F); float scaledSquish = 1.0F / (squishFactor + 1.0F); stack.scale(scaledSquish * size, 1.0F / scaledSquish * size, scaledSquish * size); } @Override - public ResourceLocation getTextureLocation(MazeSlime entity) { + public SlimeRenderState createRenderState() { + return new SlimeRenderState(); + } + + @Override + public void extractRenderState(MazeSlime entity, SlimeRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.squish = Mth.lerp(partialTick, entity.oSquish, entity.squish); + state.size = entity.getSize(); + } + + @Override + public ResourceLocation getTextureLocation(SlimeRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java index 99ebd3c133..28f51988e5 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java @@ -11,78 +11,95 @@ import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import twilightforest.TwilightForestMod; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.MinoshroomModel; +import twilightforest.client.state.MinoshroomRenderState; import twilightforest.entity.boss.Minoshroom; -public class MinoshroomRenderer> extends HumanoidMobRenderer { +public class MinoshroomRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("minoshroomtaur.png"); - public MinoshroomRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { - super(context, model, shadowSize); - this.addLayer(new MinoshroomMushroomLayer<>(this)); + public MinoshroomRenderer(EntityRendererProvider.Context context) { + super(context, new MinoshroomModel(context.bakeLayer(TFModelLayers.MINOSHROOM)), 0.625F); + this.addLayer(new MinoshroomMushroomLayer(this)); + } + + @Override + public MinoshroomRenderState createRenderState() { + return new MinoshroomRenderState(); + } + + @Override + public void extractRenderState(Minoshroom entity, MinoshroomRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.chargeAnim = Mth.lerp(state.partialTick, entity.prevClientSideChargeAnimation, entity.clientSideChargeAnimation) / 6.0F; + } + + @Override + public ResourceLocation getTextureLocation(MinoshroomRenderState state) { + return TEXTURE; } /** * [VanillaCopy] {@link net.minecraft.client.renderer.entity.layers.MushroomCowMushroomLayer} */ - static class MinoshroomMushroomLayer> extends RenderLayer { + static class MinoshroomMushroomLayer extends RenderLayer { - public MinoshroomMushroomLayer(RenderLayerParent renderer) { + public MinoshroomMushroomLayer(RenderLayerParent renderer) { super(renderer); } @Override - public void render(PoseStack ms, MultiBufferSource buffers, int light, Minoshroom entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - if (!entity.isBaby() && !entity.isInvisible()) { - BlockRenderDispatcher blockrendererdispatcher = Minecraft.getInstance().getBlockRenderer(); - BlockState blockstate = Blocks.RED_MUSHROOM.defaultBlockState(); // TF: hardcode mushroom state - int i = LivingEntityRenderer.getOverlayCoords(entity, 0.0F); - float yOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? -0.95F : -0.65F; - float zOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 0.0F : 0.25F; - ms.pushPose(); - this.getParentModel().cowTorso.translateAndRotate(ms); - ms.mulPose(Axis.XP.rotationDegrees(-90.0F)); - ms.translate(0.2F, yOffs, zOffs); - ms.mulPose(Axis.YP.rotationDegrees(-48.0F)); - ms.scale(-1.0F, -1.0F, 1.0F); - ms.translate(-0.5D, -0.5D, -0.5D); - blockrendererdispatcher.renderSingleBlock(blockstate, ms, buffers, light, i); - ms.popPose(); - ms.pushPose(); - this.getParentModel().cowTorso.translateAndRotate(ms); - ms.mulPose(Axis.XP.rotationDegrees(-90.0F)); - ms.translate(0.2F, yOffs, zOffs + 0.5D); - ms.mulPose(Axis.YP.rotationDegrees(42.0F)); - ms.translate(0.35F, 0.0D, -0.9F); - ms.mulPose(Axis.YP.rotationDegrees(-48.0F)); - ms.scale(-1.0F, -1.0F, 1.0F); - ms.translate(-0.5D, -0.5D, -0.5D); - blockrendererdispatcher.renderSingleBlock(blockstate, ms, buffers, light, i); - ms.popPose(); - ms.pushPose(); - this.getParentModel().head.translateAndRotate(ms); - // TF - adjust head shroom - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - ms.translate(0.0D, -0.9D, 0.05D); - } else { - ms.translate(0.0D, -1.1D, 0.0D); + public void render(PoseStack stack, MultiBufferSource source, int light, MinoshroomRenderState state, float netHeadYaw, float headPitch) { + if (!state.isBaby) { + boolean flag = state.appearsGlowing && state.isInvisible; + if (!state.isInvisible || flag) { + BlockRenderDispatcher blockrendererdispatcher = Minecraft.getInstance().getBlockRenderer(); + BlockState blockstate = Blocks.RED_MUSHROOM.defaultBlockState(); // TF: hardcode mushroom state + int i = LivingEntityRenderer.getOverlayCoords(state, 0.0F); + float yOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? -0.95F : -0.65F; + float zOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 0.0F : 0.25F; + stack.pushPose(); + this.getParentModel().cowTorso.translateAndRotate(stack); + stack.mulPose(Axis.XP.rotationDegrees(-90.0F)); + stack.translate(0.2F, yOffs, zOffs); + stack.mulPose(Axis.YP.rotationDegrees(-48.0F)); + stack.scale(-1.0F, -1.0F, 1.0F); + stack.translate(-0.5D, -0.5D, -0.5D); + blockrendererdispatcher.renderSingleBlock(blockstate, stack, source, light, i); + stack.popPose(); + stack.pushPose(); + this.getParentModel().cowTorso.translateAndRotate(stack); + stack.mulPose(Axis.XP.rotationDegrees(-90.0F)); + stack.translate(0.2F, yOffs, zOffs + 0.5D); + stack.mulPose(Axis.YP.rotationDegrees(42.0F)); + stack.translate(0.35F, 0.0D, -0.9F); + stack.mulPose(Axis.YP.rotationDegrees(-48.0F)); + stack.scale(-1.0F, -1.0F, 1.0F); + stack.translate(-0.5D, -0.5D, -0.5D); + blockrendererdispatcher.renderSingleBlock(blockstate, stack, source, light, i); + stack.popPose(); + stack.pushPose(); + this.getParentModel().head.translateAndRotate(stack); + // TF - adjust head shroom + if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { + stack.translate(0.0D, -0.9D, 0.05D); + } else { + stack.translate(0.0D, -1.1D, 0.0D); + } + stack.mulPose(Axis.YP.rotationDegrees(-78.0F)); + stack.scale(-1.0F, -1.0F, 1.0F); + stack.translate(-0.5D, -0.5D, -0.5D); + blockrendererdispatcher.renderSingleBlock(blockstate, stack, source, light, i); + stack.popPose(); } - ms.mulPose(Axis.YP.rotationDegrees(-78.0F)); - ms.scale(-1.0F, -1.0F, 1.0F); - ms.translate(-0.5D, -0.5D, -0.5D); - blockrendererdispatcher.renderSingleBlock(blockstate, ms, buffers, light, i); - ms.popPose(); } } } - - @Override - public ResourceLocation getTextureLocation(Minoshroom entity) { - return TEXTURE; - } } diff --git a/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java new file mode 100644 index 0000000000..941eab6349 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.MinotaurModel; +import twilightforest.entity.monster.Minotaur; + +public class MinotaurRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("minotaur.png"); + + public MinotaurRenderer(EntityRendererProvider.Context context) { + super(context, new MinotaurModel(context.bakeLayer(TFModelLayers.MINOTAUR)), 0.625F); + } + + @Override + public HumanoidRenderState createRenderState() { + return new HumanoidRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(HumanoidRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java index c13c8096fa..c2a05dd27e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java @@ -1,15 +1,16 @@ package twilightforest.client.renderer.entity; -import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.MistWolfModel; +import twilightforest.client.state.MistWolfRenderState; import twilightforest.entity.monster.MistWolf; -public class MistWolfRenderer extends MobRenderer { +public class MistWolfRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("mistwolf.png"); @@ -18,18 +19,25 @@ public MistWolfRenderer(EntityRendererProvider.Context context) { } @Override - protected void scale(MistWolf entity, PoseStack stack, float partialTicks) { - float wolfScale = 1.9F; - stack.scale(wolfScale, wolfScale, wolfScale); + protected int getModelTint(MistWolfRenderState state) { + float misty = Math.min(1.0F, state.brightness * 3.0F + 0.25F); + float smoky = state.brightness * 2.0F + 0.6F; + return ARGB.colorFromFloat(smoky, misty, misty, misty); } @Override - protected float getBob(MistWolf entity, float partialTicks) { - return entity.getTailAngle(); + public MistWolfRenderState createRenderState() { + return new MistWolfRenderState(); } @Override - public ResourceLocation getTextureLocation(MistWolf entity) { + public void extractRenderState(MistWolf entity, MistWolfRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.brightness = entity.level().getMaxLocalRawBrightness(entity.blockPosition()); + } + + @Override + public ResourceLocation getTextureLocation(MistWolfRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/MoonwormShotRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MoonwormShotRenderer.java index 6864cff455..b8d96b6b63 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MoonwormShotRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MoonwormShotRenderer.java @@ -8,41 +8,47 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.MoonwormModel; +import twilightforest.client.state.MoonwormShotRenderState; import twilightforest.entity.projectile.MoonwormShot; -public class MoonwormShotRenderer extends EntityRenderer { +public class MoonwormShotRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("moonworm.png"); - private final MoonwormModel wormModel; + private final MoonwormModel model; public MoonwormShotRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.25F; - - this.wormModel = new MoonwormModel(context.bakeLayer(TFModelLayers.MOONWORM)); + this.model = new MoonwormModel(context.bakeLayer(TFModelLayers.MOONWORM)); } @Override - public void render(MoonwormShot entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(MoonwormShotRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { stack.pushPose(); stack.translate(0.0F, 0.5F, 0.0F); stack.scale(-1.0F, -1.0F, -1.0F); - stack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entity.yRotO, entity.getYRot()) - 180.0F)); - stack.mulPose(Axis.ZP.rotationDegrees(Mth.lerp(partialTicks, entity.xRotO, entity.getXRot()))); + stack.mulPose(Axis.YP.rotationDegrees(state.yRot - 180.0F)); + stack.mulPose(Axis.ZP.rotationDegrees(state.xRot)); - VertexConsumer consumer = buffer.getBuffer(this.wormModel.renderType(TEXTURE)); - this.wormModel.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); + VertexConsumer consumer = buffer.getBuffer(this.model.renderType(TEXTURE)); + this.model.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); stack.popPose(); } @Override - public ResourceLocation getTextureLocation(MoonwormShot entity) { - return TEXTURE; + public MoonwormShotRenderState createRenderState() { + return new MoonwormShotRenderState(); + } + + @Override + public void extractRenderState(MoonwormShot entity, MoonwormShotRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.xRot = entity.getXRot(partialTick); + state.yRot = entity.getYRot(partialTick); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/MosquitoSwarmRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MosquitoSwarmRenderer.java index 2a4e9bd964..38a05910f2 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MosquitoSwarmRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MosquitoSwarmRenderer.java @@ -1,18 +1,34 @@ package twilightforest.client.renderer.entity; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.MosquitoSwarmModel; import twilightforest.entity.monster.MosquitoSwarm; -public class MosquitoSwarmRenderer extends TFGenericMobRenderer { +public class MosquitoSwarmRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("mosquitoswarm.png"); public MosquitoSwarmRenderer(EntityRendererProvider.Context context) { - super(context, new MosquitoSwarmModel(context.bakeLayer(TFModelLayers.MOSQUITO_SWARM)), 0.0F, "mosquitoswarm.png"); + super(context, new MosquitoSwarmModel(context.bakeLayer(TFModelLayers.MOSQUITO_SWARM)), 0.0F); } @Override - protected float getFlipDegrees(MosquitoSwarm entity) { + protected float getFlipDegrees() { return 0.0F; } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } } diff --git a/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java b/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java index 39ada76ff6..bbc9da171a 100644 --- a/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java @@ -4,41 +4,62 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import twilightforest.TwilightForestMod; import twilightforest.client.JappaPackReloadListener; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.NagaModel; +import twilightforest.client.state.NagaRenderState; import twilightforest.entity.boss.Naga; -public class NagaRenderer> extends MobRenderer { +public class NagaRenderer extends MobRenderer> { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("nagahead.png"); public static final ResourceLocation CHARGING_TEXTURE = TwilightForestMod.getModelTexture("nagahead_charging.png"); public static final ResourceLocation DAZED_TEXTURE = TwilightForestMod.getModelTexture("nagahead_dazed.png"); - public NagaRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { - super(context, model, shadowSize); + public NagaRenderer(EntityRendererProvider.Context context) { + super(context, new NagaModel<>(context.bakeLayer(TFModelLayers.NAGA)), 1.45F); } @Override - protected void scale(T entity, PoseStack stack, float partialTicks) { - super.scale(entity, stack, partialTicks); + protected void scale(NagaRenderState state, PoseStack stack) { + super.scale(state, stack); //make size adjustment if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { stack.scale(2.01F, 2.01F, 2.01F); } - stack.translate(0.0F, entity.isDazed() ? 1.075F : 0.75F, entity.isDazed() ? 0.175F : 0.0F); + stack.translate(0.0F, state.isDazed ? 1.075F : 0.75F, state.isDazed ? 0.175F : 0.0F); } @Override - protected float getFlipDegrees(T naga) { //Prevent the body from keeling over - return naga.isDeadOrDying() ? 0.0F : super.getFlipDegrees(naga); + protected int getModelTint(NagaRenderState state) { + return ARGB.colorFromFloat(1.0F, 1.0F, 1.0F - state.stunlessChargeProgress, 1.0F - state.stunlessChargeProgress); } @Override - public ResourceLocation getTextureLocation(T entity) { - if (entity.isDazed()) { + protected float getFlipDegrees() { //Prevent the body from keeling over + return 0.0F; + } + + @Override + public NagaRenderState createRenderState() { + return new NagaRenderState(); + } + + @Override + public void extractRenderState(Naga entity, NagaRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.stunlessChargeProgress = entity.stunlessRedOverlayProgress; + state.isCharging = entity.isCharging() || entity.isStunlessCharging(); + state.isDazed = entity.isDazed(); + } + + @Override + public ResourceLocation getTextureLocation(NagaRenderState state) { + if (state.isDazed) { return DAZED_TEXTURE; - } else if (entity.isCharging() || entity.isDeadOrDying()) { + } else if (state.isCharging || state.deathTime > 0) { return CHARGING_TEXTURE; } else { return TEXTURE; diff --git a/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java b/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java index d8aaa5e2f9..056085fbd9 100644 --- a/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java @@ -8,44 +8,55 @@ import twilightforest.TwilightForestMod; import twilightforest.client.JappaPackReloadListener; import twilightforest.client.model.entity.NagaModel; +import twilightforest.client.state.NagaSegmentRenderState; import twilightforest.entity.boss.NagaSegment; -public class NagaSegmentRenderer> extends TFPartRenderer { +public class NagaSegmentRenderer extends TFPartRenderer> { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("nagasegment.png"); - public NagaSegmentRenderer(EntityRendererProvider.Context context, M model) { + public NagaSegmentRenderer(EntityRendererProvider.Context context, NagaModel model) { super(context, model); } @Override - public void render(T entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - if (!entity.isInvisible()) { + public void render(NagaSegmentRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + if (!state.isInvisible) { stack.pushPose(); - float yawDiff = entity.getYRot() - entity.yRotO; + float yawDiff = state.yRot - state.yRotO; if (yawDiff > 180) { yawDiff -= 360; } else if (yawDiff < -180) { yawDiff += 360; } - float yaw2 = entity.yRotO + yawDiff * partialTicks; + float yaw2 = state.yRotO + yawDiff * state.partialTick; stack.mulPose(Axis.YP.rotationDegrees(yaw2)); - stack.mulPose(Axis.XP.rotationDegrees(entity.getXRot())); + stack.mulPose(Axis.XP.rotationDegrees(state.xRot)); if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { stack.scale(2.0F, 2.0F, 2.0F); } stack.translate(0.0D, -1.25F, 0.0D); - int realLight = this.entityRenderDispatcher.getPackedLightCoords(entity.getParent(), partialTicks); - super.render(entity, entityYaw, partialTicks, stack, buffer, realLight); + super.render(state, stack, buffer, state.parentLight); stack.popPose(); } } @Override - public ResourceLocation getTextureLocation(T entity) { + public NagaSegmentRenderState createRenderState() { + return new NagaSegmentRenderState(); + } + + @Override + public void extractRenderState(NagaSegment entity, NagaSegmentRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.parentLight = this.entityRenderDispatcher.getPackedLightCoords(entity.getParent(), partialTick); + } + + @Override + public ResourceLocation getTextureLocation(NagaSegmentRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/PinchBeetleRenderer.java b/src/main/java/twilightforest/client/renderer/entity/PinchBeetleRenderer.java new file mode 100644 index 0000000000..2094928647 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/PinchBeetleRenderer.java @@ -0,0 +1,35 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.PinchBeetleModel; +import twilightforest.client.state.PinchBeetleRenderState; +import twilightforest.entity.monster.PinchBeetle; + +public class PinchBeetleRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("pinchbeetle.png"); + + public PinchBeetleRenderer(EntityRendererProvider.Context context) { + super(context, new PinchBeetleModel(context.bakeLayer(TFModelLayers.PINCH_BEETLE)), 0.6F); + } + + @Override + public PinchBeetleRenderState createRenderState() { + return new PinchBeetleRenderState(); + } + + @Override + public void extractRenderState(PinchBeetle entity, PinchBeetleRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isHoldingVictim = entity.isVehicle(); + } + + @Override + public ResourceLocation getTextureLocation(PinchBeetleRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java index f94851e590..b1a46221e7 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java @@ -7,42 +7,49 @@ import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.FastColor; -import twilightforest.TwilightForestMod; +import net.minecraft.util.ARGB; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.ProtectionBoxModel; import twilightforest.client.renderer.TFRenderTypes; +import twilightforest.client.state.ProtectionBoxRenderState; import twilightforest.entity.ProtectionBox; -public class ProtectionBoxRenderer extends EntityRenderer { +public class ProtectionBoxRenderer extends EntityRenderer { - private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("protectionbox.png"); - private final ProtectionBoxModel boxModel; + private final ProtectionBoxModel boxModel; public ProtectionBoxRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.0F; - this.boxModel = new ProtectionBoxModel<>(context.bakeLayer(TFModelLayers.PROTECTION_BOX)); + this.boxModel = new ProtectionBoxModel(context.bakeLayer(TFModelLayers.PROTECTION_BOX)); } @Override - public boolean shouldRender(T entity, Frustum frustum, double x, double y, double z) { + public boolean shouldRender(ProtectionBox entity, Frustum frustum, double x, double y, double z) { return true; } @Override - public void render(T entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(ProtectionBoxRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { float alpha = 1.0F; - if (entity.lifeTime < 20) alpha = entity.lifeTime / 20.0F; + if (state.life < 20) alpha = state.life / 20.0F; VertexConsumer vertexconsumer = buffer.getBuffer(TFRenderTypes.PROTECTION_BOX); - this.boxModel.renderToBuffer(stack, vertexconsumer, light, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); + this.boxModel.renderToBuffer(stack, vertexconsumer, light, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); } @Override - public ResourceLocation getTextureLocation(T entity) { - return TEXTURE; + public ProtectionBoxRenderState createRenderState() { + return new ProtectionBoxRenderState(); + } + + @Override + public void extractRenderState(ProtectionBox entity, ProtectionBoxRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.life = entity.lifeTime; + state.sizeX = entity.sizeX; + state.sizeY = entity.sizeY; + state.sizeZ = entity.sizeZ; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/QuestRamRenderer.java b/src/main/java/twilightforest/client/renderer/entity/QuestRamRenderer.java index 2f4146b909..9a8544ab27 100644 --- a/src/main/java/twilightforest/client/renderer/entity/QuestRamRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/QuestRamRenderer.java @@ -11,33 +11,46 @@ import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.QuestRamModel; +import twilightforest.client.state.QuestingRamRenderState; import twilightforest.entity.passive.QuestRam; -public class QuestRamRenderer> extends MobRenderer { +public class QuestRamRenderer extends MobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("questram.png"); public static final ResourceLocation LINE_TEXTURE = TwilightForestMod.getModelTexture("questram_lines.png"); - public QuestRamRenderer(EntityRendererProvider.Context context, M model) { - super(context, model, 1.0F); - this.addLayer(new GlowingLinesLayer<>(this)); + public QuestRamRenderer(EntityRendererProvider.Context context) { + super(context, new QuestRamModel(context.bakeLayer(TFModelLayers.QUEST_RAM)), 1.0F); + this.addLayer(new GlowingLinesLayer(this)); } @Override - public ResourceLocation getTextureLocation(T entity) { + public QuestingRamRenderState createRenderState() { + return new QuestingRamRenderState(); + } + + @Override + public void extractRenderState(QuestRam entity, QuestingRamRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.colorFlags = entity.getColorFlags(); + } + + @Override + public ResourceLocation getTextureLocation(QuestingRamRenderState state) { return TEXTURE; } - public static class GlowingLinesLayer> extends RenderLayer { + public static class GlowingLinesLayer extends RenderLayer { - public GlowingLinesLayer(RenderLayerParent renderer) { + public GlowingLinesLayer(RenderLayerParent renderer) { super(renderer); } @Override - public void render(PoseStack stack, MultiBufferSource buffer, int i, T entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - VertexConsumer consumer = buffer.getBuffer(RenderType.entityTranslucent(LINE_TEXTURE)); + public void render(PoseStack stack, MultiBufferSource source, int light, QuestingRamRenderState state, float netHeadYaw, float headPitch) { + VertexConsumer consumer = source.getBuffer(RenderType.entityTranslucent(LINE_TEXTURE)); stack.scale(1.025F, 1.025F, 1.025F); this.getParentModel().renderToBuffer(stack, consumer, 0xF000F0, OverlayTexture.NO_OVERLAY); } diff --git a/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java b/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java new file mode 100644 index 0000000000..420568c935 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java @@ -0,0 +1,31 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.RedcapModel; +import twilightforest.entity.monster.Redcap; + +public class RedcapRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("redcap.png"); + + public RedcapRenderer(EntityRendererProvider.Context context) { + super(context, new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP)), 0.4F); + this.addLayer(new HumanoidArmorLayer<>(this, new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_INNER)), new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_OUTER)), context.getEquipmentRenderer())); + } + + @Override + public HumanoidRenderState createRenderState() { + return new HumanoidRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(HumanoidRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/RedcapSapperRenderer.java b/src/main/java/twilightforest/client/renderer/entity/RedcapSapperRenderer.java new file mode 100644 index 0000000000..70ef191297 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/RedcapSapperRenderer.java @@ -0,0 +1,20 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; + +public class RedcapSapperRenderer extends RedcapRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("redcapsapper.png"); + + public RedcapSapperRenderer(EntityRendererProvider.Context context) { + super(context); + } + + @Override + public ResourceLocation getTextureLocation(HumanoidRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/RovingCubeRenderer.java b/src/main/java/twilightforest/client/renderer/entity/RovingCubeRenderer.java index 8c97563c6f..11e1dd6dbb 100644 --- a/src/main/java/twilightforest/client/renderer/entity/RovingCubeRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/RovingCubeRenderer.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -15,7 +16,7 @@ import twilightforest.client.model.entity.CubeOfAnnihilationModel; import twilightforest.entity.RovingCube; -public class RovingCubeRenderer extends EntityRenderer { +public class RovingCubeRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("cubeofannihilation.png"); private final Model model; @@ -26,13 +27,13 @@ public RovingCubeRenderer(EntityRendererProvider.Context context) { } @Override - public void render(T entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { stack.pushPose(); VertexConsumer consumer = buffer.getBuffer(this.model.renderType(TEXTURE)); stack.scale(2.0F, 2.0F, 2.0F); - stack.mulPose(Axis.YP.rotationDegrees(Mth.wrapDegrees(entity.tickCount + partialTicks) * 11.0F)); + stack.mulPose(Axis.YP.rotationDegrees(Mth.wrapDegrees(state.ageInTicks) * 11.0F)); stack.translate(0.0F, 0.75F, 0.0F); this.model.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); @@ -40,7 +41,7 @@ public void render(T entity, float yaw, float partialTicks, PoseStack stack, Mul } @Override - public ResourceLocation getTextureLocation(T entity) { - return TEXTURE; + public EntityRenderState createRenderState() { + return new EntityRenderState(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SkeletonDruidRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SkeletonDruidRenderer.java new file mode 100644 index 0000000000..941d534e5a --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/SkeletonDruidRenderer.java @@ -0,0 +1,35 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.state.SkeletonRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.SkeletonDruidModel; +import twilightforest.entity.monster.SkeletonDruid; + +public class SkeletonDruidRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("skeletondruid.png"); + + public SkeletonDruidRenderer(EntityRendererProvider.Context context) { + super(context, new SkeletonDruidModel(context.bakeLayer(TFModelLayers.SKELETON_DRUID)), 0.5F); + } + + @Override + public SkeletonRenderState createRenderState() { + return new SkeletonRenderState(); + } + + @Override + public void extractRenderState(SkeletonDruid entity, SkeletonRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isAggressive = entity.isAggressive(); + } + + @Override + public ResourceLocation getTextureLocation(SkeletonRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/SlideBlockRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SlideBlockRenderer.java index 337f5842af..851cffd828 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SlideBlockRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SlideBlockRenderer.java @@ -5,15 +5,14 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.FallingBlockRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; -import net.minecraft.world.inventory.InventoryMenu; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.state.BlockState; @@ -21,48 +20,60 @@ import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.entity.SlideBlock; -public class SlideBlockRenderer extends EntityRenderer { +public class SlideBlockRenderer extends EntityRenderer { public SlideBlockRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.0F; } + @Override + public boolean shouldRender(SlideBlock entity, Frustum frustum, double x, double y, double z) { + return super.shouldRender(entity, frustum, x, y, z) && entity.getBlockState() != entity.level().getBlockState(entity.blockPosition()); + } + // [VanillaCopy] FallingBlockRenderer, with spin @Override - public void render(SlideBlock entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - BlockState blockstate = entity.getBlockState(); + public void render(FallingBlockRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + BlockState blockstate = state.blockState; if (blockstate.getRenderShape() == RenderShape.MODEL) { - Level level = entity.level(); - if (blockstate != level.getBlockState(entity.blockPosition()) && blockstate.getRenderShape() != RenderShape.INVISIBLE) { - stack.pushPose(); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - // spin - if (blockstate.getProperties().contains(RotatedPillarBlock.AXIS)) { - Direction.Axis axis = blockstate.getValue(RotatedPillarBlock.AXIS); - float angle = (entity.tickCount + partialTicks) * 60F; - stack.translate(0.0D, 0.5D, 0.0D); - if (axis == Direction.Axis.Y) { - stack.mulPose(Axis.YP.rotationDegrees(angle)); - } else if (axis == Direction.Axis.X) { - stack.mulPose(Axis.XP.rotationDegrees(angle)); - } else if (axis == Direction.Axis.Z) { - stack.mulPose(Axis.ZP.rotationDegrees(angle)); - } - stack.translate(-0.5D, -0.5D, -0.5D); + stack.pushPose(); + // spin + if (blockstate.getProperties().contains(RotatedPillarBlock.AXIS)) { + Direction.Axis axis = blockstate.getValue(RotatedPillarBlock.AXIS); + float angle = state.ageInTicks * 60F; + stack.translate(0.0D, 0.5D, 0.0D); + if (axis == Direction.Axis.Y) { + stack.mulPose(Axis.YP.rotationDegrees(angle)); + } else if (axis == Direction.Axis.X) { + stack.mulPose(Axis.XP.rotationDegrees(angle)); + } else if (axis == Direction.Axis.Z) { + stack.mulPose(Axis.ZP.rotationDegrees(angle)); } - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(entity.blockPosition())), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(level, model, blockstate, blockpos, stack, buffer.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), false, RandomSource.create(), blockstate.getSeed(entity.blockPosition()), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - stack.popPose(); - super.render(entity, yaw, partialTicks, stack, buffer, light); + stack.translate(-0.5D, -0.5D, -0.5D); } + BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); + var model = dispatcher.getBlockModel(blockstate); + for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.startBlockPos)), ModelData.EMPTY)) + dispatcher.getModelRenderer().tesselateBlock(state, model, blockstate, state.blockPos, stack, buffer.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), false, RandomSource.create(), blockstate.getSeed(state.startBlockPos), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); + stack.popPose(); + super.render(state, stack, buffer, light); } } @Override - public ResourceLocation getTextureLocation(SlideBlock entity) { - return InventoryMenu.BLOCK_ATLAS; + public FallingBlockRenderState createRenderState() { + return new FallingBlockRenderState(); + } + + @Override + public void extractRenderState(SlideBlock entity, FallingBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); + state.startBlockPos = blockpos; + state.blockPos = blockpos; + state.blockState = entity.getBlockState(); + state.biome = entity.level().getBiome(blockpos); + state.level = entity.level(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SlimeBeetleRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SlimeBeetleRenderer.java index 361b45310d..5ddaa9df45 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SlimeBeetleRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SlimeBeetleRenderer.java @@ -2,8 +2,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.model.HierarchicalModel; -import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; @@ -11,41 +9,42 @@ import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.SlimeBeetleModel; import twilightforest.entity.monster.SlimeBeetle; -public class SlimeBeetleRenderer> extends MobRenderer { +public class SlimeBeetleRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("slimebeetle.png"); - public SlimeBeetleRenderer(EntityRendererProvider.Context context, M model, ModelPart innerRoot, float shadowSize) { - super(context, model, shadowSize); - this.addLayer(new OuterTailLayer<>(this, innerRoot)); + public SlimeBeetleRenderer(EntityRendererProvider.Context context) { + super(context, new SlimeBeetleModel(context.bakeLayer(TFModelLayers.SLIME_BEETLE)), 0.6F); + this.addLayer(new OuterTailLayer(this)); } @Override - public ResourceLocation getTextureLocation(T entity) { - return TEXTURE; + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); } - public static class OuterTailLayer> extends RenderLayer { - private final SlimeBeetleModel tailModel; + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } - public OuterTailLayer(RenderLayerParent renderer, ModelPart innerRoot) { + public static class OuterTailLayer extends RenderLayer { + public OuterTailLayer(RenderLayerParent renderer) { super(renderer); - this.tailModel = new SlimeBeetleModel<>(innerRoot); } @Override - public void render(PoseStack ms, MultiBufferSource buffers, int light, T entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - if (!entity.isInvisible()) { - this.tailModel.copyPropertiesTo(this.getParentModel()); - this.tailModel.prepareMobModel(entity, limbSwing, limbSwingAmount, partialTicks); - this.tailModel.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - VertexConsumer consumer = buffers.getBuffer(RenderType.entityTranslucent(this.getTextureLocation(entity))); - this.tailModel.renderTail(ms, consumer, light, LivingEntityRenderer.getOverlayCoords(entity, 0)); + public void render(PoseStack ms, MultiBufferSource buffers, int light, LivingEntityRenderState state, float netHeadYaw, float headPitch) { + if (!state.isInvisible) { + VertexConsumer consumer = buffers.getBuffer(RenderType.entityTranslucent(TEXTURE)); + this.getParentModel().renderTail(ms, consumer, light, LivingEntityRenderer.getOverlayCoords(state, 0)); } } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java index 728715025f..13d7d10f7c 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java @@ -4,21 +4,41 @@ import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import twilightforest.client.model.TFModelLayers; import twilightforest.entity.monster.SnowGuardian; -public class SnowGuardianRenderer extends TFBipedRenderer> { +public class SnowGuardianRenderer extends MobRenderer> { - public SnowGuardianRenderer(EntityRendererProvider.Context context, NoopModel model) { - super(context, model, new NoopModel<>(context.bakeLayer(TFModelLayers.NOOP)), new NoopModel<>(context.bakeLayer(TFModelLayers.NOOP)), 0.25F, "textures/entity/zombie/zombie.png"); - this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getModelManager())); + private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/entity/zombie/zombie.png"); + + public SnowGuardianRenderer(EntityRendererProvider.Context context) { + super(context, new HumanoidModel<>(context.bakeLayer(TFModelLayers.NOOP)), 0.25F); + this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); + } + + @Override + protected int getModelTint(HumanoidRenderState state) { + return ARGB.colorFromFloat(0.0F, 0.0F, 0.0F, 0.0F); + } + + @Override + protected void scale(HumanoidRenderState state, PoseStack stack) { + stack.translate(0.0F, Mth.sin(state.ageInTicks * 0.2F) * 0.15F, 0.0F); + } + + @Override + public HumanoidRenderState createRenderState() { + return new HumanoidRenderState(); } @Override - protected void scale(SnowGuardian entity, PoseStack stack, float partialTicks) { - float bounce = entity.tickCount + partialTicks; - stack.translate(0.0F, Mth.sin((bounce) * 0.2F) * 0.15F, 0.0F); + public ResourceLocation getTextureLocation(HumanoidRenderState state) { + return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java index cd06ea7f26..5081b836aa 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java @@ -8,42 +8,45 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; -import net.minecraft.world.inventory.InventoryMenu; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.client.model.data.ModelData; +import twilightforest.client.state.IceShieldRenderState; import twilightforest.entity.boss.SnowQueenIceShield; -public class SnowQueenIceShieldRenderer extends EntityRenderer { +public class SnowQueenIceShieldRenderer extends EntityRenderer { public SnowQueenIceShieldRenderer(EntityRendererProvider.Context context) { super(context); } @Override - public void render(T entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(IceShieldRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { BlockState blockstate = Blocks.PACKED_ICE.defaultBlockState(); if (blockstate.getRenderShape() == RenderShape.MODEL) { - Level level = entity.level(); - if (blockstate.getRenderShape() != RenderShape.INVISIBLE) { - stack.pushPose(); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - stack.translate(-0.5D, 0.0D, -0.5D); - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(entity.blockPosition())), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(level, model, blockstate, blockpos, stack, buffer.getBuffer(renderType), false, RandomSource.create(), blockstate.getSeed(entity.blockPosition()), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - stack.popPose(); - super.render(entity, entityYaw, partialTicks, stack, buffer, light); - } + stack.pushPose(); + stack.translate(-0.5D, 0.0D, -0.5D); + BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); + var model = dispatcher.getBlockModel(blockstate); + for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.blockPos)), ModelData.EMPTY)) + dispatcher.getModelRenderer().tesselateBlock(state, model, blockstate, state.blockPos, stack, buffer.getBuffer(renderType), false, RandomSource.create(), blockstate.getSeed(state.blockPos), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); + stack.popPose(); + super.render(state, stack, buffer, light); } } @Override - public ResourceLocation getTextureLocation(T entity) { - return InventoryMenu.BLOCK_ATLAS; + public IceShieldRenderState createRenderState() { + return new IceShieldRenderState(); + } + + @Override + public void extractRenderState(SnowQueenIceShield entity, IceShieldRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); + state.blockPos = blockpos; + state.biome = entity.level().getBiome(blockpos); + state.level = entity.level(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowQueenRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowQueenRenderer.java index c658194a6e..688ad4eec3 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowQueenRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowQueenRenderer.java @@ -1,29 +1,43 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.SnowQueenModel; +import twilightforest.client.state.SnowQueenRenderState; import twilightforest.entity.boss.SnowQueen; -public class SnowQueenRenderer> extends HumanoidMobRenderer { +public class SnowQueenRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("snowqueen.png"); - public SnowQueenRenderer(EntityRendererProvider.Context context, M model) { - super(context, model, 0.625F); + public SnowQueenRenderer(EntityRendererProvider.Context context) { + super(context, new SnowQueenModel(context.bakeLayer(TFModelLayers.SNOW_QUEEN)), 0.625F); } @Override - public ResourceLocation getTextureLocation(SnowQueen entity) { - return TEXTURE; + protected void scale(SnowQueenRenderState state, PoseStack stack) { + stack.scale(1.2F, 1.2F, 1.2F); } @Override - protected void scale(SnowQueen entity, PoseStack stack, float partialTicks) { - float scale = 1.2F; - stack.scale(scale, scale, scale); + public SnowQueenRenderState createRenderState() { + return new SnowQueenRenderState(); } + + @Override + public void extractRenderState(SnowQueen entity, SnowQueenRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.breathing = entity.isBreathing(); + state.phase = entity.getCurrentPhase(); + } + + @Override + public ResourceLocation getTextureLocation(SnowQueenRenderState entity) { + return TEXTURE; + } + } diff --git a/src/main/java/twilightforest/client/renderer/entity/SquirrelRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SquirrelRenderer.java new file mode 100644 index 0000000000..42d8b426f9 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/SquirrelRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.SquirrelModel; +import twilightforest.entity.passive.Squirrel; + +public class SquirrelRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("squirrel2.png"); + + public SquirrelRenderer(EntityRendererProvider.Context context) { + super(context, new SquirrelModel(context.bakeLayer(TFModelLayers.SQUIRREL)), 0.3F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/StableIceCoreRenderer.java b/src/main/java/twilightforest/client/renderer/entity/StableIceCoreRenderer.java index 676472ff33..e43d69c366 100644 --- a/src/main/java/twilightforest/client/renderer/entity/StableIceCoreRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/StableIceCoreRenderer.java @@ -2,19 +2,35 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.StableIceCoreModel; import twilightforest.entity.monster.StableIceCore; -public class StableIceCoreRenderer extends TFGenericMobRenderer { +public class StableIceCoreRenderer extends MobRenderer { - public StableIceCoreRenderer(EntityRendererProvider.Context context, StableIceCoreModel model) { - super(context, model, 0.4F, "iceshooter.png"); + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("iceshooter.png"); + + public StableIceCoreRenderer(EntityRendererProvider.Context context) { + super(context, new StableIceCoreModel(context.bakeLayer(TFModelLayers.STABLE_ICE_CORE)), 0.4F); + } + + @Override + protected void scale(LivingEntityRenderState state, PoseStack stack) { + stack.translate(0.0F, Mth.sin(state.ageInTicks * 0.2F) * 0.15F, 0.0F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); } @Override - protected void scale(StableIceCore entity, PoseStack stack, float partialTicks) { - float bounce = entity.tickCount + partialTicks; - stack.translate(0.0F, Mth.sin((bounce) * 0.2F) * 0.15F, 0.0F); + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java deleted file mode 100644 index e2cf8b3a07..0000000000 --- a/src/main/java/twilightforest/client/renderer/entity/TFBipedRenderer.java +++ /dev/null @@ -1,47 +0,0 @@ -package twilightforest.client.renderer.entity; - -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.HumanoidMobRenderer; -import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Mob; -import twilightforest.TwilightForestMod; - -public class TFBipedRenderer> extends HumanoidMobRenderer { - - private final S state; - private final ResourceLocation texture; - - public TFBipedRenderer(EntityRendererProvider.Context context, S state, M model, float shadowSize, String textureName) { - super(context, model, shadowSize); - this.state = state; - - if (textureName.startsWith("textures")) { - this.texture = ResourceLocation.withDefaultNamespace(textureName); - } else { - this.texture = TwilightForestMod.getModelTexture(textureName); - } - } - - public TFBipedRenderer(EntityRendererProvider.Context context, S state, M model, M innerArmor, M outerArmor, float shadowSize, String textureName) { - this(context, state, model, shadowSize, textureName); - this.addLayer(new HumanoidArmorLayer<>(this, innerArmor, outerArmor, context.getModelManager())); - } - - @Override - public ResourceLocation getTextureLocation(S entity) { - return this.texture; - } - - @Override - public S createRenderState() { - return this.state; - } - - @Override - public void extractRenderState(T entity, S state, float partialTick) { - super.extractRenderState(p_365075_, p_361774_, p_363123_); - } -} diff --git a/src/main/java/twilightforest/client/renderer/entity/TFGenericMobRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFGenericMobRenderer.java deleted file mode 100644 index 991394e3fa..0000000000 --- a/src/main/java/twilightforest/client/renderer/entity/TFGenericMobRenderer.java +++ /dev/null @@ -1,28 +0,0 @@ -package twilightforest.client.renderer.entity; - -import net.minecraft.client.model.EntityModel; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Mob; -import twilightforest.TwilightForestMod; - -public class TFGenericMobRenderer> extends MobRenderer { - - private final ResourceLocation texture; - - public TFGenericMobRenderer(EntityRendererProvider.Context context, M model, float shadowSize, String textureName) { - super(context, model, shadowSize); - - if (textureName.startsWith("textures")) { - this.texture = ResourceLocation.withDefaultNamespace(textureName); - } else { - this.texture = TwilightForestMod.getModelTexture(textureName); - } - } - - @Override - public ResourceLocation getTextureLocation(T entity) { - return this.texture; - } -} diff --git a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java index 5bc3da89a8..63472dcd5a 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java @@ -7,46 +7,49 @@ import net.minecraft.client.model.ArmedModel; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.player.AbstractClientPlayer; -import net.minecraft.client.renderer.ItemInHandRenderer; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.client.renderer.entity.RenderLayerParent; +import net.minecraft.client.renderer.entity.*; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; -import net.minecraft.client.renderer.entity.layers.RenderLayer; +import net.minecraft.client.renderer.entity.layers.ItemInHandLayer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.DefaultPlayerSkin; import net.minecraft.client.resources.PlayerSkin; +import net.minecraft.client.resources.model.BakedModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.HumanoidArm; -import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.PlayerModelPart; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; +import twilightforest.client.model.entity.GiantModel; +import twilightforest.client.state.GiantRenderState; import twilightforest.config.TFConfig; import twilightforest.entity.monster.GiantMiner; -public class TFGiantRenderer extends MobRenderer> { - private final PlayerModel normalModel; - private final PlayerModel slimModel; +import javax.annotation.Nullable; + +public class TFGiantRenderer extends HumanoidMobRenderer { + private final GiantModel normalModel; + private final GiantModel slimModel; public TFGiantRenderer(EntityRendererProvider.Context context) { - super(context, new PlayerModel<>(context.bakeLayer(ModelLayers.PLAYER), false), 1.8F); + super(context, new GiantModel(context.bakeLayer(ModelLayers.PLAYER), false), 1.8F); this.normalModel = this.getModel(); - this.slimModel = new PlayerModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM), true); + this.slimModel = new GiantModel(context.bakeLayer(ModelLayers.PLAYER_SLIM), true); - this.addLayer(new GiantItemInHandLayer<>(this, context.getItemInHandRenderer())); - this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getModelManager())); + this.addLayer(new GiantItemInHandLayer<>(this, context.getItemRenderer())); + this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } @Override - public ResourceLocation getTextureLocation(GiantMiner entity) { + public ResourceLocation getTextureLocation(GiantRenderState state) { Minecraft mc = Minecraft.getInstance(); ResourceLocation texture = DefaultPlayerSkin.getDefaultTexture(); this.model = this.normalModel; - GameProfile profile = TFConfig.GAME_PROFILES.isEmpty() ? null : TFConfig.GAME_PROFILES.get(Math.abs((int) entity.getUUID().getMostSignificantBits()) % TFConfig.GAME_PROFILES.size()); + GameProfile profile = TFConfig.GAME_PROFILES.isEmpty() ? null : TFConfig.GAME_PROFILES.get(Math.abs((int) state.uuid.getMostSignificantBits()) % TFConfig.GAME_PROFILES.size()); if (profile != null) { PlayerSkin skin = mc.getSkinManager().getInsecureSkin(profile); @@ -61,51 +64,51 @@ public ResourceLocation getTextureLocation(GiantMiner entity) { } @Override - public void scale(T entity, PoseStack stack, float partialTicks) { - float scale = 4.0F; - stack.scale(scale, scale, scale); + public void scale(GiantRenderState state, PoseStack stack) { + stack.scale(4.0F, 4.0F, 4.0F); } - //[VanillaCopy] of ItemInHandLayer, changes noted - public static class GiantItemInHandLayer & ArmedModel> extends RenderLayer { - private final ItemInHandRenderer handRenderer; + @Override + public GiantRenderState createRenderState() { + return new GiantRenderState(); + } - public GiantItemInHandLayer(RenderLayerParent renderer, ItemInHandRenderer handRenderer) { - super(renderer); - this.handRenderer = handRenderer; + @Override + public void extractRenderState(T entity, GiantRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.uuid = entity.getUUID(); + if (Minecraft.getInstance().player != null) { + state.showHat = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.HAT); + state.showJacket = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.JACKET); + state.showLeftPants = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.LEFT_PANTS_LEG); + state.showRightPants = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.RIGHT_PANTS_LEG); + state.showLeftSleeve = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.LEFT_SLEEVE); + state.showRightSleeve = Minecraft.getInstance().player.isModelPartShown(PlayerModelPart.RIGHT_SLEEVE); } + } - @Override - public void render(PoseStack stack, MultiBufferSource buffer, int light, T entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - boolean flag = entity.getMainArm() == HumanoidArm.RIGHT; - ItemStack itemstack = flag ? entity.getOffhandItem() : entity.getMainHandItem(); - ItemStack itemstack1 = flag ? entity.getMainHandItem() : entity.getOffhandItem(); - if (!itemstack.isEmpty() || !itemstack1.isEmpty()) { - stack.pushPose(); - if (this.getParentModel().young) { - stack.translate(0.0D, 0.75D, 0.0D); - stack.scale(0.5F, 0.5F, 0.5F); - } + public static class GiantItemInHandLayer & ArmedModel> extends ItemInHandLayer { + private final ItemRenderer itemRenderer; - this.renderArmWithItem(entity, itemstack1, ItemDisplayContext.THIRD_PERSON_RIGHT_HAND, HumanoidArm.RIGHT, stack, buffer, light); - this.renderArmWithItem(entity, itemstack, ItemDisplayContext.THIRD_PERSON_LEFT_HAND, HumanoidArm.LEFT, stack, buffer, light); - stack.popPose(); - } + public GiantItemInHandLayer(RenderLayerParent renderer, ItemRenderer itemRenderer) { + super(renderer, itemRenderer); + this.itemRenderer = itemRenderer; } - protected void renderArmWithItem(LivingEntity entity, ItemStack stack, ItemDisplayContext type, HumanoidArm arm, PoseStack ms, MultiBufferSource buffer, int light) { - if (!stack.isEmpty()) { - ms.pushPose(); - this.getParentModel().translateToHand(arm, ms); - ms.mulPose(Axis.XP.rotationDegrees(-90.0F)); - ms.mulPose(Axis.YP.rotationDegrees(180.0F)); + @Override + protected void renderArmWithItem(S state, @Nullable BakedModel model, ItemStack item, ItemDisplayContext context, HumanoidArm arm, PoseStack stack, MultiBufferSource source, int light) { + if (!item.isEmpty()) { + stack.pushPose(); + this.getParentModel().translateToHand(arm, stack); + stack.mulPose(Axis.XP.rotationDegrees(-90.0F)); + stack.mulPose(Axis.YP.rotationDegrees(180.0F)); boolean flag = arm == HumanoidArm.LEFT; // TF - move item a bit to actually fit in the giant's hand (y and z changes) - ms.translate((float) (flag ? -1 : 1) / 16.0F, 0.0D, -0.5D); + stack.translate((float) (flag ? -1 : 1) / 16.0F, 0.0D, -0.5D); // TF - scale items down to accurately match the actual size it would be in a giant's hand - ms.scale(0.25F, 0.25F, 0.25F); - this.handRenderer.renderItem(entity, stack, type, flag, ms, buffer, light); - ms.popPose(); + stack.scale(0.25F, 0.25F, 0.25F); + this.itemRenderer.render(item, context, flag, stack, source, light, OverlayTexture.NO_OVERLAY, model); + stack.popPose(); } } } diff --git a/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java index b86cb0a210..f2fcdb3009 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFPartRenderer.java @@ -10,16 +10,15 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.LivingEntityRenderer; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import org.jetbrains.annotations.Nullable; +import twilightforest.client.state.PartEntityState; import twilightforest.entity.TFPart; -public abstract class TFPartRenderer, S extends LivingEntityRenderState, M extends EntityModel> extends EntityRenderer { +public abstract class TFPartRenderer, S extends PartEntityState, M extends EntityModel> extends EntityRenderer { protected final M model; @@ -42,7 +41,7 @@ public void render(S state, PoseStack stack, MultiBufferSource buffer, int light RenderType rendertype = this.getRenderType(state, visible, ghostly, glowing); if (rendertype != null) { VertexConsumer consumer = buffer.getBuffer(rendertype); - int overlay = LivingEntityRenderer.getOverlayCoords(state, OverlayTexture.NO_WHITE_U); + int overlay = this.getOverlayCoords(state); int j = ghostly ? 654311423 : -1; int k = ARGB.multiply(j, this.getModelTint(state)); this.model.renderToBuffer(stack, consumer, light, overlay, k); @@ -56,6 +55,10 @@ protected int getModelTint(S state) { return -1; } + private int getOverlayCoords(PartEntityState state) { + return OverlayTexture.pack(OverlayTexture.u(OverlayTexture.NO_WHITE_U), OverlayTexture.v(state.hasRedOverlay)); + } + @Nullable protected RenderType getRenderType(S state, boolean visible, boolean ghostly, boolean glowing) { ResourceLocation resourcelocation = this.getTextureLocation(state); @@ -70,7 +73,7 @@ protected RenderType getRenderType(S state, boolean visible, boolean ghostly, bo protected void setupRotations(S state, PoseStack stack, float partialTicks) { if (state.deathTime > 0) { - float f = ((float) state.deathTime + partialTicks - 1.0F) / 20.0F * 1.6F; + float f = (state.deathTime + partialTicks - 1.0F) / 20.0F * 1.6F; f = Mth.sqrt(f); if (f > 1.0F) { f = 1.0F; @@ -90,8 +93,8 @@ protected float getFlipDegrees() { @Override public void extractRenderState(T entity, S state, float partialTick) { super.extractRenderState(entity, state, partialTick); - float f = Mth.rotLerp(partialTick, entity.yRotO, entity.getYRot()); - state.yRot = Mth.wrapDegrees(f); + state.yRot = entity.getYRot(); + state.yRotO = entity.yRotO; state.xRot = entity.getXRot(partialTick); state.customName = entity.getCustomName(); state.isUpsideDown = this.isEntityUpsideDown(entity); diff --git a/src/main/java/twilightforest/client/renderer/entity/TFSpiderRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFSpiderRenderer.java index b55dd3013b..eaa935c937 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFSpiderRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFSpiderRenderer.java @@ -3,6 +3,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.SpiderRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.monster.Spider; import twilightforest.TwilightForestMod; @@ -20,12 +21,12 @@ public TFSpiderRenderer(EntityRendererProvider.Context context, float shadowSize } @Override - public ResourceLocation getTextureLocation(T entity) { + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { return this.texture; } @Override - protected void scale(T entity, PoseStack stack, float partialTicks) { + protected void scale(LivingEntityRenderState state, PoseStack stack) { stack.scale(this.scale, this.scale, this.scale); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/ThrownBlockRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ThrownBlockRenderer.java index b6898ac747..8cb406eaf6 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ThrownBlockRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ThrownBlockRenderer.java @@ -1,56 +1,63 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Axis; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.FallingBlockRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; -import net.minecraft.world.inventory.InventoryMenu; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.RenderTypeHelper; import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.entity.projectile.ThrownBlock; /** * [VanillaCopy] of {@link net.minecraft.client.renderer.entity.FallingBlockRenderer} because of generic type restrictions */ -public class ThrownBlockRenderer extends EntityRenderer { +public class ThrownBlockRenderer extends EntityRenderer { + + private final BlockRenderDispatcher dispatcher; public ThrownBlockRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.5F; + this.dispatcher = context.getBlockRenderDispatcher(); } @Override - public void render(ThrownBlock entity, float yaw, float partialTicks, PoseStack ms, MultiBufferSource buffers, int light) { - BlockState blockstate = entity.getBlockState(); + public boolean shouldRender(ThrownBlock entity, Frustum frustum, double x, double y, double z) { + return super.shouldRender(entity, frustum, x, y, z) && entity.getBlockState() != entity.level().getBlockState(entity.blockPosition()); + } + + public void render(FallingBlockRenderState state, PoseStack stack, MultiBufferSource source, int light) { + BlockState blockstate = state.blockState; if (blockstate.getRenderShape() == RenderShape.MODEL) { - Level world = entity.level(); - if (blockstate.getRenderShape() != RenderShape.INVISIBLE) { - ms.pushPose(); - ms.mulPose(Axis.YN.rotationDegrees(Mth.lerp(partialTicks, entity.yRotO, entity.getYRot()) - 90.0F)); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - ms.translate(-0.5D, 0.0D, -0.5D); - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(entity.getId()), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(world, model, blockstate, blockpos, ms, buffers.getBuffer(renderType), false, RandomSource.create(), entity.getId(), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - ms.popPose(); - super.render(entity, yaw, partialTicks, ms, buffers, light); - } + stack.pushPose(); + stack.translate(-0.5, 0.0, -0.5); + var model = this.dispatcher.getBlockModel(blockstate); + for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.startBlockPos)), ModelData.EMPTY)) + this.dispatcher.getModelRenderer().tesselateBlock(state, this.dispatcher.getBlockModel(blockstate), blockstate, state.blockPos, stack, source.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), false, RandomSource.create(), blockstate.getSeed(state.startBlockPos), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); + stack.popPose(); + super.render(state, stack, source, light); } } - @Override - public ResourceLocation getTextureLocation(ThrownBlock entity) { - return InventoryMenu.BLOCK_ATLAS; + public FallingBlockRenderState createRenderState() { + return new FallingBlockRenderState(); + } + + public void extractRenderState(ThrownBlock entity, FallingBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); + state.startBlockPos = entity.getOwner() != null ? entity.getOwner().blockPosition() : entity.blockPosition(); + state.blockPos = blockpos; + state.blockState = entity.getBlockState(); + state.biome = entity.level().getBiome(blockpos); + state.level = entity.level(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/ThrownIceRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ThrownIceRenderer.java index 4e7e8f3583..2d6d8f451e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ThrownIceRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ThrownIceRenderer.java @@ -1,53 +1,63 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.FallingBlockRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; -import net.minecraft.world.inventory.InventoryMenu; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.RenderTypeHelper; import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.entity.projectile.IceBomb; /** * [VanillaCopy] of {@link net.minecraft.client.renderer.entity.FallingBlockRenderer} because of generic type restrictions */ -public class ThrownIceRenderer extends EntityRenderer { +public class ThrownIceRenderer extends EntityRenderer { + + private final BlockRenderDispatcher dispatcher; public ThrownIceRenderer(EntityRendererProvider.Context context) { super(context); this.shadowRadius = 0.5F; + this.dispatcher = context.getBlockRenderDispatcher(); } @Override - public void render(IceBomb entity, float yaw, float partialTicks, PoseStack ms, MultiBufferSource buffers, int light) { - BlockState blockstate = entity.getBlockState(); + public boolean shouldRender(IceBomb entity, Frustum frustum, double x, double y, double z) { + return super.shouldRender(entity, frustum, x, y, z) && entity.getBlockState() != entity.level().getBlockState(entity.blockPosition()); + } + + public void render(FallingBlockRenderState state, PoseStack stack, MultiBufferSource source, int light) { + BlockState blockstate = state.blockState; if (blockstate.getRenderShape() == RenderShape.MODEL) { - Level world = entity.getCommandSenderWorld(); - if (blockstate != world.getBlockState(entity.blockPosition()) && blockstate.getRenderShape() != RenderShape.INVISIBLE) { - ms.pushPose(); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - ms.translate(-0.5D, 0.0D, -0.5D); - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(entity.blockPosition())), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(world, model, blockstate, blockpos, ms, buffers.getBuffer(renderType), false, RandomSource.create(), blockstate.getSeed(entity.blockPosition()), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - ms.popPose(); - super.render(entity, yaw, partialTicks, ms, buffers, light); - } + stack.pushPose(); + stack.translate(-0.5, 0.0, -0.5); + var model = this.dispatcher.getBlockModel(blockstate); + for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.startBlockPos)), ModelData.EMPTY)) + this.dispatcher.getModelRenderer().tesselateBlock(state, this.dispatcher.getBlockModel(blockstate), blockstate, state.blockPos, stack, source.getBuffer(RenderTypeHelper.getMovingBlockRenderType(renderType)), false, RandomSource.create(), blockstate.getSeed(state.startBlockPos), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); + stack.popPose(); + super.render(state, stack, source, light); } } - @Override - public ResourceLocation getTextureLocation(IceBomb entity) { - return InventoryMenu.BLOCK_ATLAS; + public FallingBlockRenderState createRenderState() { + return new FallingBlockRenderState(); + } + + public void extractRenderState(IceBomb entity, FallingBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); + state.startBlockPos = entity.getOwner() != null ? entity.getOwner().blockPosition() : entity.blockPosition(); + state.blockPos = blockpos; + state.blockState = entity.getBlockState(); + state.biome = entity.level().getBiome(blockpos); + state.level = entity.level(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java index 533b732b86..910a35a5bc 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java @@ -2,59 +2,64 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; +import twilightforest.client.state.ThrownWepRenderState; import twilightforest.entity.projectile.ThrownWep; -public class ThrownWepRenderer extends EntityRenderer { +public class ThrownWepRenderer extends EntityRenderer { + + private final ItemRenderer itemRenderer; public ThrownWepRenderer(EntityRendererProvider.Context context) { super(context); + this.itemRenderer = context.getItemRenderer(); } @Override - public void render(ThrownWep entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(ThrownWepRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { stack.pushPose(); - - float spin = (entity.tickCount + partialTicks) * 10.0F; - + float spin = state.ageInTicks * 10.0F; // size up stack.scale(1.25F, 1.25F, 1.25F); - - this.renderDroppedItem(stack, buffer, light, entity.getItem(), yaw, spin); - + this.renderDroppedItem(stack, buffer, light, state, spin); stack.popPose(); } - private void renderDroppedItem(PoseStack stack, MultiBufferSource buffer, int light, ItemStack item, float rotation, float spin) { + private void renderDroppedItem(PoseStack stack, MultiBufferSource buffer, int light, ThrownWepRenderState state, float spin) { stack.pushPose(); - + stack.mulPose(Axis.YP.rotationDegrees(state.yRot + 90.0F)); + stack.mulPose(Axis.ZP.rotationDegrees(spin)); float f9 = 0.5F; float f10 = 0.25F; - - stack.mulPose(Axis.YP.rotationDegrees(rotation + 90.0F)); - stack.mulPose(Axis.ZP.rotationDegrees(spin)); - float f12 = 0.0625F; float f11 = 0.021875F; stack.translate(-f9, -f10, -(f12 + f11)); stack.translate(0.0F, 0.0F, f12 + f11); - Minecraft.getInstance().getItemRenderer().renderStatic(item, ItemDisplayContext.GROUND, light, OverlayTexture.NO_OVERLAY, stack, buffer, null, 0); - + if (state.itemModel != null) { + this.itemRenderer.render(state.item, ItemDisplayContext.GROUND, false, stack, buffer, light, OverlayTexture.NO_OVERLAY, state.itemModel); + } stack.popPose(); } @Override - public ResourceLocation getTextureLocation(ThrownWep entity) { - return InventoryMenu.BLOCK_ATLAS; + public ThrownWepRenderState createRenderState() { + return new ThrownWepRenderState(); + } + + @Override + public void extractRenderState(ThrownWep entity, ThrownWepRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + ItemStack itemstack = entity.getItem(); + state.itemModel = !itemstack.isEmpty() ? this.itemRenderer.getModel(itemstack, entity.level(), null, entity.getId()) : null; + state.item = itemstack.copy(); + state.yRot = entity.getYRot(partialTick); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/TinyBirdRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TinyBirdRenderer.java index 030376e3ef..f140705925 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TinyBirdRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TinyBirdRenderer.java @@ -1,18 +1,35 @@ package twilightforest.client.renderer.entity; -import net.minecraft.client.model.AgeableListModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.TinyBirdModel; +import twilightforest.client.state.TinyBirdRenderState; import twilightforest.entity.passive.TinyBird; -public class TinyBirdRenderer> extends BirdRenderer { +public class TinyBirdRenderer extends MobRenderer { - public TinyBirdRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { - super(context, model, shadowSize, ""); + public TinyBirdRenderer(EntityRendererProvider.Context context) { + super(context, new TinyBirdModel(context.bakeLayer(TFModelLayers.TINY_BIRD)), 0.3F); } @Override - public ResourceLocation getTextureLocation(T entity) { - return entity.getVariant().value().texture(); + public TinyBirdRenderState createRenderState() { + return new TinyBirdRenderState(); + } + + @Override + public void extractRenderState(TinyBird entity, TinyBirdRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.flap = Mth.lerp(partialTick, entity.lastFlapLength, entity.flapLength); + state.flapSpeed = Mth.lerp(partialTick, entity.lastFlapIntensity, entity.flapIntensity); + state.texture = entity.getVariant().value().texture(); + } + + @Override + public ResourceLocation getTextureLocation(TinyBirdRenderState state) { + return state.texture; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/TowerwoodBorerRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TowerwoodBorerRenderer.java new file mode 100644 index 0000000000..1a7faf0566 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/TowerwoodBorerRenderer.java @@ -0,0 +1,29 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.model.SilverfishModel; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.entity.monster.TowerwoodBorer; + +public class TowerwoodBorerRenderer extends MobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("towertermite.png"); + + public TowerwoodBorerRenderer(EntityRendererProvider.Context context) { + super(context, new SilverfishModel(context.bakeLayer(TFModelLayers.TOWERWOOD_BORER)), 0.3F); + } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/TrollRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TrollRenderer.java new file mode 100644 index 0000000000..2a8793f319 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/TrollRenderer.java @@ -0,0 +1,35 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.TrollModel; +import twilightforest.client.state.TrollRenderState; +import twilightforest.entity.monster.Troll; + +public class TrollRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("troll.png"); + + public TrollRenderer(EntityRendererProvider.Context context) { + super(context, new TrollModel(context.bakeLayer(TFModelLayers.TROLL)), 0.625F); + } + + @Override + public TrollRenderState createRenderState() { + return new TrollRenderState(); + } + + @Override + public void extractRenderState(Troll entity, TrollRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isHoldingRock = entity.hasRock(); + } + + @Override + public ResourceLocation getTextureLocation(TrollRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java b/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java index b6ad13f246..29aaf2c0b3 100644 --- a/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java @@ -3,24 +3,30 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.UnstableIceCoreModel; import twilightforest.entity.monster.UnstableIceCore; -public class UnstableIceCoreRenderer> extends TFGenericMobRenderer { +public class UnstableIceCoreRenderer extends MobRenderer { - public UnstableIceCoreRenderer(EntityRendererProvider.Context context, M model) { - super(context, model, 0.4F, "iceexploder.png"); + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("iceexploder.png"); + + public UnstableIceCoreRenderer(EntityRendererProvider.Context context) { + super(context, new UnstableIceCoreModel(context.bakeLayer(TFModelLayers.UNSTABLE_ICE_CORE)), 0.4F); } @Override - protected void scale(T entity, PoseStack stack, float partialTicks) { - float bounce = entity.tickCount + partialTicks; + protected void scale(LivingEntityRenderState state, PoseStack stack) { - stack.translate(0.0F, Mth.sin((bounce) * 0.2F) * 0.15F, 0.0F); + stack.translate(0.0F, Mth.sin(state.ageInTicks * 0.2F) * 0.15F, 0.0F); // flash - float f1 = entity.deathTime; + float f1 = state.deathTime; if (f1 > 0) { float f2 = 1.0F + Mth.sin(f1 * 100.0F) * f1 * 0.01F; @@ -37,14 +43,14 @@ protected void scale(T entity, PoseStack stack, float partialTicks) { } @Override - protected void setupRotations(T entity, PoseStack stack, float ageInTicks, float rotationYaw, float partialTicks, float scale) { - stack.mulPose(Axis.YP.rotationDegrees(180 - rotationYaw)); + protected void setupRotations(LivingEntityRenderState state, PoseStack stack, float yRot, float scale) { + stack.mulPose(Axis.YP.rotationDegrees(180 - yRot)); } @Override - protected float getWhiteOverlayProgress(T entity, float partialTicks) { - if (entity.deathTime > 0) { - float f2 = entity.deathTime + partialTicks; + protected float getWhiteOverlayProgress(LivingEntityRenderState state) { + if (state.deathTime > 0) { + float f2 = state.deathTime + state.partialTick; if ((int) (f2 / 2) % 2 == 0) { return 0; @@ -68,6 +74,16 @@ protected float getWhiteOverlayProgress(T entity, float partialTicks) { return 0; } } + + @Override + public LivingEntityRenderState createRenderState() { + return new LivingEntityRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(LivingEntityRenderState state) { + return TEXTURE; + } } diff --git a/src/main/java/twilightforest/client/renderer/entity/UpperGoblinKnightRenderer.java b/src/main/java/twilightforest/client/renderer/entity/UpperGoblinKnightRenderer.java index e52ca2c013..0789205078 100644 --- a/src/main/java/twilightforest/client/renderer/entity/UpperGoblinKnightRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/UpperGoblinKnightRenderer.java @@ -2,49 +2,48 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.UpperGoblinKnightModel; +import twilightforest.client.state.UpperGoblinKnightRenderState; import twilightforest.entity.monster.UpperGoblinKnight; -public class UpperGoblinKnightRenderer> extends TFBipedRenderer { - public UpperGoblinKnightRenderer(EntityRendererProvider.Context context, M model, float shadowSize) { - super(context, model, shadowSize, "doublegoblin.png"); +public class UpperGoblinKnightRenderer extends HumanoidMobRenderer { + + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("doublegoblin.png"); + + public UpperGoblinKnightRenderer(EntityRendererProvider.Context context) { + super(context, new UpperGoblinKnightModel(context.bakeLayer(TFModelLayers.UPPER_GOBLIN_KNIGHT)), 0.625F); } @Override - protected void setupRotations(T entity, PoseStack stack, float ageInTicks, float rotationYaw, float partialTicks, float scale) { - super.setupRotations(entity, stack, ageInTicks, rotationYaw, partialTicks, scale); + protected void setupRotations(UpperGoblinKnightRenderState state, PoseStack stack, float rotationYaw, float scale) { + super.setupRotations(state, stack, rotationYaw, scale); - if (entity.heavySpearTimer > 0) { - stack.mulPose(Axis.XP.rotationDegrees(this.getPitchForAttack((60.0F - entity.heavySpearTimer) + partialTicks))); + if (state.spearTimer > 0) { + stack.mulPose(Axis.XP.rotationDegrees(state.getPitchForAttack())); } } - /** - * Figure out what pitch the goblin should be at depending on where it's at on the timer - */ - private float getPitchForAttack(float attackTime) { - if (attackTime <= 10.0F) { - // rock back - return attackTime * 3.0F; - } - if (attackTime > 10.0F && attackTime <= 30.0F) { - // hang back - return 30.0F; - } - if (attackTime > 30.0F && attackTime <= 33.0F) { - // slam forward - return (attackTime - 30.0F) * -25.0F + 30.0F; - } - if (attackTime > 33.0F && attackTime <= 50.0F) { - // stay forward - return -45.0F; - } - if (attackTime > 50.0F && attackTime <= 60.0F) { - // back to normal - return (10.0F - (attackTime - 50.0F)) * -4.5F; - } + @Override + public UpperGoblinKnightRenderState createRenderState() { + return new UpperGoblinKnightRenderState(); + } + + @Override + public void extractRenderState(UpperGoblinKnight entity, UpperGoblinKnightRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.spearTimer = entity.heavySpearTimer; + state.hasArmor = entity.hasArmor(); + state.hasShield = entity.hasShield(); + state.isShieldDisabled = entity.isShieldDisabled(); + } - return 0.0F; + @Override + public ResourceLocation getTextureLocation(UpperGoblinKnightRenderState state) { + return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/UrGhastRenderer.java b/src/main/java/twilightforest/client/renderer/entity/UrGhastRenderer.java index c409a3bc1d..a086ee8513 100644 --- a/src/main/java/twilightforest/client/renderer/entity/UrGhastRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/UrGhastRenderer.java @@ -5,58 +5,70 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import twilightforest.TwilightForestMod; -import twilightforest.client.model.entity.TFGhastModel; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.UrGhastModel; +import twilightforest.client.state.TFGhastRenderState; import twilightforest.entity.boss.UrGhast; -public class UrGhastRenderer> extends MobRenderer { +public class UrGhastRenderer extends MobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("towerboss.png"); public static final ResourceLocation LOOKING_TEXTURE = TwilightForestMod.getModelTexture("towerboss_openeyes.png"); public static final ResourceLocation ATTACKING_TEXTURE = TwilightForestMod.getModelTexture("towerboss_fire.png"); - private final float scale; - public UrGhastRenderer(EntityRendererProvider.Context context, M model, float shadowSize, float scale) { - super(context, model, shadowSize); - this.scale = scale; + public UrGhastRenderer(EntityRendererProvider.Context context) { + super(context, new UrGhastModel(context.bakeLayer(TFModelLayers.UR_GHAST)), 8.0F); } @Override - public ResourceLocation getTextureLocation(T entity) { - if (entity.isCharging() || entity.isDeadOrDying()) { - return ATTACKING_TEXTURE; - } + public boolean shouldRender(UrGhast entity, Frustum frustum, double x, double y, double z) { + if (entity.deathTime > UrGhast.DEATH_ANIMATION_DURATION / 3) return false; + return super.shouldRender(entity, frustum, x, y, z); + } - return switch (entity.getAttackStatus()) { - case 1 -> LOOKING_TEXTURE; - case 2 -> ATTACKING_TEXTURE; - default -> TEXTURE; - }; + @Override + protected float getFlipDegrees() { //Prevent the body from keeling over + return 0.0F; } @Override - protected void scale(T entity, PoseStack stack, float partialTicks) { - int attackTimer = entity.getAttackTimer(); - int prevAttackTimer = entity.getPrevAttackTimer(); - float scaleVariable = (prevAttackTimer + (attackTimer - prevAttackTimer) * partialTicks) / 20.0F; + protected void scale(TFGhastRenderState state, PoseStack stack) { + float scaleVariable = state.attackTimer / 20.0F; if (scaleVariable < 0.0F) { scaleVariable = 0.0F; } scaleVariable = 1.0F / (scaleVariable * scaleVariable * scaleVariable * scaleVariable * scaleVariable * 2.0F + 1.0F); - float yScale = (this.scale + scaleVariable) / 2.0F; - float xzScale = (this.scale + 1.0F / scaleVariable) / 2.0F; + float yScale = (24.0F + scaleVariable) / 2.0F; + float xzScale = (24.0F + 1.0F / scaleVariable) / 2.0F; stack.scale(xzScale, yScale, xzScale); } @Override - public boolean shouldRender(T entity, Frustum frustum, double x, double y, double z) { - if (entity.deathTime > UrGhast.DEATH_ANIMATION_DURATION / 3) return false; - return super.shouldRender(entity, frustum, x, y, z); + public TFGhastRenderState createRenderState() { + return new TFGhastRenderState(); + } + + @Override + public void extractRenderState(UrGhast entity, TFGhastRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isCharging = entity.isCharging(); + state.attackTimer = Mth.lerp(partialTick, entity.getPrevAttackTimer(), entity.getAttackTimer()); + state.attackState = entity.getAttackStatus(); } @Override - protected float getFlipDegrees(T entity) { //Prevent the body from keeling over - return entity.isDeadOrDying() ? 0.0F : super.getFlipDegrees(entity); + public ResourceLocation getTextureLocation(TFGhastRenderState state) { + if (state.isCharging || state.deathTime > 0) { + return ATTACKING_TEXTURE; + } + + return switch (state.attackState) { + case 1 -> LOOKING_TEXTURE; + case 2 -> ATTACKING_TEXTURE; + default -> TEXTURE; + }; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/WinterWolfRenderer.java b/src/main/java/twilightforest/client/renderer/entity/WinterWolfRenderer.java index 2762981b75..e638507b17 100644 --- a/src/main/java/twilightforest/client/renderer/entity/WinterWolfRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/WinterWolfRenderer.java @@ -2,9 +2,9 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.WolfRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; -import twilightforest.entity.monster.HostileWolf; public class WinterWolfRenderer extends HostileWolfRenderer { @@ -16,13 +16,12 @@ public WinterWolfRenderer(EntityRendererProvider.Context context) { } @Override - protected void scale(HostileWolf entity, PoseStack stack, float partialTicks) { - float wolfScale = 1.9F; - stack.scale(wolfScale, wolfScale, wolfScale); + protected void scale(WolfRenderState state, PoseStack stack) { + stack.scale(1.9F, 1.9F, 1.9F); } @Override - public ResourceLocation getTextureLocation(HostileWolf entity) { + public ResourceLocation getTextureLocation(WolfRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java b/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java index 83b28b33bc..0d67a974f6 100644 --- a/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java @@ -2,21 +2,28 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.WraithModel; import twilightforest.entity.monster.Wraith; -public class WraithRenderer extends HumanoidMobRenderer { +public class WraithRenderer extends HumanoidMobRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("ghost.png"); - public WraithRenderer(EntityRendererProvider.Context context, WraithModel model, float shadowSize) { - super(context, model, shadowSize); + public WraithRenderer(EntityRendererProvider.Context context) { + super(context, new WraithModel(context.bakeLayer(TFModelLayers.WRAITH)), 0.5F); } @Override - public ResourceLocation getTextureLocation(Wraith wraith) { + public HumanoidRenderState createRenderState() { + return new HumanoidRenderState(); + } + + @Override + public ResourceLocation getTextureLocation(HumanoidRenderState state) { return TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/YetiRenderer.java b/src/main/java/twilightforest/client/renderer/entity/YetiRenderer.java new file mode 100644 index 0000000000..fd6f44303b --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/entity/YetiRenderer.java @@ -0,0 +1,35 @@ +package twilightforest.client.renderer.entity; + +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.YetiModel; +import twilightforest.client.state.YetiRenderState; +import twilightforest.entity.monster.Yeti; + +public class YetiRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("yeti2.png"); + + public YetiRenderer(EntityRendererProvider.Context context) { + super(context, new YetiModel(context.bakeLayer(TFModelLayers.YETI)), 0.625F); + } + + @Override + public YetiRenderState createRenderState() { + return new YetiRenderState(); + } + + @Override + public void extractRenderState(Yeti entity, YetiRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.isHoldingEntity = entity.isVehicle(); + } + + @Override + public ResourceLocation getTextureLocation(YetiRenderState state) { + return TEXTURE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java index c9aea5ff8d..dc6379deb9 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java @@ -14,7 +14,6 @@ import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.Direction; import net.minecraft.util.Mth; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.client.model.data.ModelData; import org.apache.commons.lang3.ArrayUtils; diff --git a/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java b/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java index 7032a4df83..17f67ed947 100644 --- a/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java +++ b/src/main/java/twilightforest/client/state/BlockChainGoblinRenderState.java @@ -1,8 +1,6 @@ package twilightforest.client.state; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import net.minecraft.util.Mth; import net.minecraft.world.phys.Vec3; public class BlockChainGoblinRenderState extends HumanoidRenderState { diff --git a/src/main/java/twilightforest/client/state/DeathTomeRenderState.java b/src/main/java/twilightforest/client/state/DeathTomeRenderState.java index a4651e499f..3d98dfad7e 100644 --- a/src/main/java/twilightforest/client/state/DeathTomeRenderState.java +++ b/src/main/java/twilightforest/client/state/DeathTomeRenderState.java @@ -1,14 +1,8 @@ package twilightforest.client.state; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import net.minecraft.util.Mth; public class DeathTomeRenderState extends LivingEntityRenderState { public boolean onLectern; - private float oFlip; - private float flip; - - public float getFlip() { - return Mth.lerp(this.partialTick, this.oFlip, this.flip); - } + public float flip; } diff --git a/src/main/java/twilightforest/client/state/GiantRenderState.java b/src/main/java/twilightforest/client/state/GiantRenderState.java new file mode 100644 index 0000000000..452d788973 --- /dev/null +++ b/src/main/java/twilightforest/client/state/GiantRenderState.java @@ -0,0 +1,16 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; + +import java.util.UUID; + +public class GiantRenderState extends HumanoidRenderState { + + public UUID uuid; + public boolean showHat = true; + public boolean showJacket = true; + public boolean showLeftPants = true; + public boolean showRightPants = true; + public boolean showLeftSleeve = true; + public boolean showRightSleeve = true; +} diff --git a/src/main/java/twilightforest/client/state/HydraHeadRenderState.java b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java index 9feba84e4e..96fc7f0543 100644 --- a/src/main/java/twilightforest/client/state/HydraHeadRenderState.java +++ b/src/main/java/twilightforest/client/state/HydraHeadRenderState.java @@ -1,10 +1,6 @@ package twilightforest.client.state; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import net.minecraft.util.Mth; -import twilightforest.entity.boss.HydraPart; - -public class HydraHeadRenderState extends LivingEntityRenderState { +public class HydraHeadRenderState extends PartEntityState { public boolean active; public float mouthAngle; } diff --git a/src/main/java/twilightforest/client/state/HydraMortarRenderState.java b/src/main/java/twilightforest/client/state/HydraMortarRenderState.java index efad347ce5..52d8faeec0 100644 --- a/src/main/java/twilightforest/client/state/HydraMortarRenderState.java +++ b/src/main/java/twilightforest/client/state/HydraMortarRenderState.java @@ -1,7 +1,6 @@ package twilightforest.client.state; import net.minecraft.client.renderer.entity.state.EntityRenderState; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; public class HydraMortarRenderState extends EntityRenderState { public float fuse; diff --git a/src/main/java/twilightforest/client/state/HydraNeckRenderState.java b/src/main/java/twilightforest/client/state/HydraNeckRenderState.java index 0f5f9688df..f3b1a9a7c5 100644 --- a/src/main/java/twilightforest/client/state/HydraNeckRenderState.java +++ b/src/main/java/twilightforest/client/state/HydraNeckRenderState.java @@ -1,9 +1,5 @@ package twilightforest.client.state; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; - -public class HydraNeckRenderState extends LivingEntityRenderState { +public class HydraNeckRenderState extends PartEntityState { public boolean active; - public float headYRot; - public float headYRotO; } diff --git a/src/main/java/twilightforest/client/state/HydraRenderState.java b/src/main/java/twilightforest/client/state/HydraRenderState.java index 35ccae8ddf..99a5150c00 100644 --- a/src/main/java/twilightforest/client/state/HydraRenderState.java +++ b/src/main/java/twilightforest/client/state/HydraRenderState.java @@ -1,8 +1,6 @@ package twilightforest.client.state; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import net.minecraft.util.Mth; -import twilightforest.entity.boss.HydraPart; public class HydraRenderState extends LivingEntityRenderState { public boolean renderFakeHeads; diff --git a/src/main/java/twilightforest/client/state/IceShieldRenderState.java b/src/main/java/twilightforest/client/state/IceShieldRenderState.java new file mode 100644 index 0000000000..40b828985d --- /dev/null +++ b/src/main/java/twilightforest/client/state/IceShieldRenderState.java @@ -0,0 +1,65 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Holder; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.ColorResolver; +import net.minecraft.world.level.EmptyBlockAndTintGetter; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.lighting.LevelLightEngine; +import net.minecraft.world.level.material.FluidState; + +import javax.annotation.Nullable; + +public class IceShieldRenderState extends EntityRenderState implements BlockAndTintGetter { + public BlockPos blockPos; + @Nullable + public Holder biome; + public BlockAndTintGetter level = EmptyBlockAndTintGetter.INSTANCE; + + @Override + public float getShade(Direction direction, boolean shade) { + return this.level.getShade(direction, shade); + } + + @Override + public LevelLightEngine getLightEngine() { + return this.level.getLightEngine(); + } + + @Override + public int getBlockTint(BlockPos pos, ColorResolver resolver) { + return this.biome == null ? -1 : resolver.getColor(this.biome.value(), pos.getX(), pos.getZ()); + } + + @Nullable + @Override + public BlockEntity getBlockEntity(BlockPos pos) { + return null; + } + + @Override + public BlockState getBlockState(BlockPos pos) { + return Blocks.PACKED_ICE.defaultBlockState(); + } + + @Override + public FluidState getFluidState(BlockPos pos) { + return this.getBlockState(pos).getFluidState(); + } + + @Override + public int getHeight() { + return 1; + } + + @Override + public int getMinY() { + return this.blockPos.getY(); + } +} diff --git a/src/main/java/twilightforest/client/state/MinoshroomRenderState.java b/src/main/java/twilightforest/client/state/MinoshroomRenderState.java index 9ace30084c..cbcbf81b6b 100644 --- a/src/main/java/twilightforest/client/state/MinoshroomRenderState.java +++ b/src/main/java/twilightforest/client/state/MinoshroomRenderState.java @@ -1,13 +1,7 @@ package twilightforest.client.state; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.util.Mth; public class MinoshroomRenderState extends HumanoidRenderState { - public float chargeAnimO; public float chargeAnim; - - public float getChargeAnimationScale() { - return Mth.lerp(this.partialTick, this.chargeAnimO, this.chargeAnim) / 6.0F; - } } diff --git a/src/main/java/twilightforest/client/state/MistWolfRenderState.java b/src/main/java/twilightforest/client/state/MistWolfRenderState.java new file mode 100644 index 0000000000..12b0fdb650 --- /dev/null +++ b/src/main/java/twilightforest/client/state/MistWolfRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.WolfRenderState; + +public class MistWolfRenderState extends WolfRenderState { + + public float brightness; +} diff --git a/src/main/java/twilightforest/client/state/MoonwormShotRenderState.java b/src/main/java/twilightforest/client/state/MoonwormShotRenderState.java new file mode 100644 index 0000000000..562a2c79ec --- /dev/null +++ b/src/main/java/twilightforest/client/state/MoonwormShotRenderState.java @@ -0,0 +1,8 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; + +public class MoonwormShotRenderState extends EntityRenderState { + public float xRot; + public float yRot; +} diff --git a/src/main/java/twilightforest/client/state/NagaRenderState.java b/src/main/java/twilightforest/client/state/NagaRenderState.java new file mode 100644 index 0000000000..2c970c5371 --- /dev/null +++ b/src/main/java/twilightforest/client/state/NagaRenderState.java @@ -0,0 +1,9 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; + +public class NagaRenderState extends LivingEntityRenderState { + public float stunlessChargeProgress; + public boolean isCharging; + public boolean isDazed; +} diff --git a/src/main/java/twilightforest/client/state/NagaSegmentRenderState.java b/src/main/java/twilightforest/client/state/NagaSegmentRenderState.java new file mode 100644 index 0000000000..562f98ba86 --- /dev/null +++ b/src/main/java/twilightforest/client/state/NagaSegmentRenderState.java @@ -0,0 +1,5 @@ +package twilightforest.client.state; + +public class NagaSegmentRenderState extends PartEntityState { + public int parentLight; +} diff --git a/src/main/java/twilightforest/client/state/PartEntityState.java b/src/main/java/twilightforest/client/state/PartEntityState.java new file mode 100644 index 0000000000..dcffa841de --- /dev/null +++ b/src/main/java/twilightforest/client/state/PartEntityState.java @@ -0,0 +1,22 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.network.chat.Component; + +import javax.annotation.Nullable; + +public class PartEntityState extends EntityRenderState { + public float yRot; + public float yRotO; + public float xRot; + public float deathTime; + public float walkAnimationPos; + public float walkAnimationSpeed; + public boolean isUpsideDown; + public boolean isInWater; + public boolean hasRedOverlay; + public boolean isInvisibleToPlayer; + public boolean appearsGlowing; + @Nullable + public Component customName; +} diff --git a/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java b/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java index 238ba66398..8d01a2447e 100644 --- a/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java +++ b/src/main/java/twilightforest/client/state/ProtectionBoxRenderState.java @@ -4,6 +4,7 @@ public class ProtectionBoxRenderState extends EntityRenderState { + public int life; public int sizeX; public int sizeY; public int sizeZ; diff --git a/src/main/java/twilightforest/client/state/QuestingRamRenderState.java b/src/main/java/twilightforest/client/state/QuestingRamRenderState.java index 6f02296b05..b764bef470 100644 --- a/src/main/java/twilightforest/client/state/QuestingRamRenderState.java +++ b/src/main/java/twilightforest/client/state/QuestingRamRenderState.java @@ -1,12 +1,11 @@ package twilightforest.client.state; -import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.world.item.DyeColor; public class QuestingRamRenderState extends LivingEntityRenderState { - public byte colorFlags; + public int colorFlags; public boolean isColorPresent(DyeColor color) { return (this.colorFlags & (1 << color.getId())) > 0; diff --git a/src/main/java/twilightforest/client/state/TFGhastRenderState.java b/src/main/java/twilightforest/client/state/TFGhastRenderState.java index cb471f1e99..88c59cb0fa 100644 --- a/src/main/java/twilightforest/client/state/TFGhastRenderState.java +++ b/src/main/java/twilightforest/client/state/TFGhastRenderState.java @@ -1,8 +1,6 @@ package twilightforest.client.state; -import net.minecraft.client.renderer.entity.GhastRenderer; import net.minecraft.client.renderer.entity.state.GhastRenderState; -import net.minecraft.client.renderer.entity.state.HumanoidRenderState; public class TFGhastRenderState extends GhastRenderState { public float attackTimer; diff --git a/src/main/java/twilightforest/client/state/ThrownWepRenderState.java b/src/main/java/twilightforest/client/state/ThrownWepRenderState.java new file mode 100644 index 0000000000..5c39d5ac9f --- /dev/null +++ b/src/main/java/twilightforest/client/state/ThrownWepRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.ThrownItemRenderState; + +public class ThrownWepRenderState extends ThrownItemRenderState { + public float yRot; +} diff --git a/src/main/java/twilightforest/client/state/TinyBirdRenderState.java b/src/main/java/twilightforest/client/state/TinyBirdRenderState.java new file mode 100644 index 0000000000..1d7afbda83 --- /dev/null +++ b/src/main/java/twilightforest/client/state/TinyBirdRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.resources.ResourceLocation; + +public class TinyBirdRenderState extends BirdRenderState { + public ResourceLocation texture; +} diff --git a/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java b/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java index 69be0ebb54..29013f4bdc 100644 --- a/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java +++ b/src/main/java/twilightforest/client/state/UpperGoblinKnightRenderState.java @@ -33,4 +33,30 @@ public float getArmRotationDuringSwing() { return 0.0F; } + + public float getPitchForAttack() { + float attackTime = 60.0F - this.spearTimer; + if (attackTime <= 10.0F) { + // rock back + return attackTime * 3.0F; + } + if (attackTime > 10.0F && attackTime <= 30.0F) { + // hang back + return 30.0F; + } + if (attackTime > 30.0F && attackTime <= 33.0F) { + // slam forward + return (attackTime - 30.0F) * -25.0F + 30.0F; + } + if (attackTime > 33.0F && attackTime <= 50.0F) { + // stay forward + return -45.0F; + } + if (attackTime > 50.0F && attackTime <= 60.0F) { + // back to normal + return (10.0F - (attackTime - 50.0F)) * -4.5F; + } + + return 0.0F; + } } diff --git a/src/main/java/twilightforest/entity/boss/Minoshroom.java b/src/main/java/twilightforest/entity/boss/Minoshroom.java index d1939d0cc1..e63ec20c37 100644 --- a/src/main/java/twilightforest/entity/boss/Minoshroom.java +++ b/src/main/java/twilightforest/entity/boss/Minoshroom.java @@ -39,8 +39,8 @@ public class Minoshroom extends BaseTFBoss implements ITFCharger { private static final EntityDataAccessor GROUND_ATTACK = SynchedEntityData.defineId(Minoshroom.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor GROUND_CHARGE = SynchedEntityData.defineId(Minoshroom.class, EntityDataSerializers.INT); - private float prevClientSideChargeAnimation; - private float clientSideChargeAnimation; + public float prevClientSideChargeAnimation; + public float clientSideChargeAnimation; private boolean groundSmashState = false; @SuppressWarnings("this-escape") From b7dc96f829d36f5e40fac83037c6654e2100414c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:48:31 -0600 Subject: [PATCH 018/239] entity classes fixed --- .../twilightforest/entity/CharmEffect.java | 8 +- .../entity/IBreathAttacker.java | 3 +- .../twilightforest/entity/MagicPainting.java | 15 ++-- .../twilightforest/entity/ProtectionBox.java | 10 ++- .../twilightforest/entity/SlideBlock.java | 32 ++++---- .../twilightforest/entity/SpikeBlock.java | 3 +- .../entity/ai/goal/BreathAttackGoal.java | 3 +- .../entity/ai/goal/HeavySpearAttackGoal.java | 4 +- .../entity/ai/goal/YetiRampageGoal.java | 8 +- .../twilightforest/entity/boss/AlphaYeti.java | 21 ++--- .../entity/boss/BaseTFBoss.java | 20 ++--- .../twilightforest/entity/boss/Hydra.java | 34 ++++---- .../twilightforest/entity/boss/HydraHead.java | 2 +- .../entity/boss/HydraHeadContainer.java | 19 ++--- .../entity/boss/HydraMortar.java | 53 ++++++------ .../twilightforest/entity/boss/HydraPart.java | 6 +- .../entity/boss/IBossLootBuffer.java | 7 +- .../entity/boss/KnightPhantom.java | 81 ++++++++++--------- .../java/twilightforest/entity/boss/Lich.java | 23 +++--- .../entity/boss/Minoshroom.java | 8 +- .../java/twilightforest/entity/boss/Naga.java | 27 +++---- .../entity/boss/NagaSegment.java | 5 +- .../twilightforest/entity/boss/SnowQueen.java | 30 +++---- .../entity/boss/SnowQueenIceShield.java | 3 +- .../twilightforest/entity/boss/UrGhast.java | 24 +++--- .../entity/boss/bar/ClientTFBossBar.java | 9 ++- .../entity/monster/BlockChainGoblin.java | 18 ++--- .../entity/monster/CarminiteGhastguard.java | 11 +-- .../entity/monster/CarminiteGhastling.java | 7 +- .../entity/monster/CarminiteGolem.java | 9 ++- .../entity/monster/DeathTome.java | 8 +- .../entity/monster/FireBeetle.java | 11 +-- .../entity/monster/GiantMiner.java | 12 +-- .../entity/monster/HedgeSpider.java | 4 +- .../entity/monster/HostileWolf.java | 6 +- .../entity/monster/KingSpider.java | 8 +- .../twilightforest/entity/monster/Kobold.java | 23 ++---- .../entity/monster/LichMinion.java | 11 +-- .../entity/monster/LowerGoblinKnight.java | 18 ++--- .../entity/monster/LoyalZombie.java | 12 +-- .../entity/monster/MazeSlime.java | 6 +- .../entity/monster/Minotaur.java | 7 +- .../entity/monster/MistWolf.java | 5 +- .../entity/monster/MosquitoSwarm.java | 7 +- .../entity/monster/PinchBeetle.java | 16 +--- .../twilightforest/entity/monster/Redcap.java | 4 +- .../entity/monster/RisingZombie.java | 35 +++++++- .../entity/monster/SkeletonDruid.java | 9 +-- .../entity/monster/SnowGuardian.java | 3 +- .../entity/monster/SwarmSpider.java | 20 ++--- .../entity/monster/TowerwoodBorer.java | 11 +-- .../twilightforest/entity/monster/Troll.java | 6 -- .../entity/monster/UnstableIceCore.java | 13 +-- .../entity/monster/UpperGoblinKnight.java | 22 ++--- .../entity/monster/WinterWolf.java | 9 ++- .../twilightforest/entity/monster/Wraith.java | 18 ++--- .../twilightforest/entity/monster/Yeti.java | 9 ++- .../entity/passive/Bighorn.java | 39 ++------- .../twilightforest/entity/passive/Boar.java | 5 +- .../twilightforest/entity/passive/Deer.java | 5 +- .../entity/passive/DwarfRabbit.java | 10 +-- .../entity/passive/DwarfRabbitVariant.java | 12 +-- .../entity/passive/FlyingBird.java | 10 +-- .../entity/passive/Penguin.java | 27 +++---- .../entity/passive/QuestRam.java | 23 ++---- .../entity/passive/Squirrel.java | 2 +- .../entity/passive/TinyBird.java | 8 +- .../entity/passive/TinyBirdVariant.java | 6 +- .../entity/projectile/ChainBlock.java | 16 ++-- .../entity/projectile/CubeOfAnnihilation.java | 12 +-- .../entity/projectile/FallingIce.java | 12 ++- .../entity/projectile/IceArrow.java | 2 +- .../entity/projectile/IceSnowball.java | 5 +- .../entity/projectile/LichBolt.java | 7 +- .../entity/projectile/LichBomb.java | 5 +- .../entity/projectile/MoonwormShot.java | 7 +- .../entity/projectile/NatureBolt.java | 10 +-- .../entity/projectile/SeekerArrow.java | 5 +- .../entity/projectile/SlimeProjectile.java | 10 +-- .../entity/projectile/TFThrowable.java | 13 +-- .../entity/projectile/TomeBolt.java | 5 +- .../entity/projectile/TwilightWandBolt.java | 8 +- .../entity/projectile/UrGhastFireball.java | 19 +++-- .../util/entities/EntityUtil.java | 35 ++++---- 84 files changed, 570 insertions(+), 564 deletions(-) diff --git a/src/main/java/twilightforest/entity/CharmEffect.java b/src/main/java/twilightforest/entity/CharmEffect.java index 96d8363cfc..1c763c0714 100644 --- a/src/main/java/twilightforest/entity/CharmEffect.java +++ b/src/main/java/twilightforest/entity/CharmEffect.java @@ -4,7 +4,9 @@ import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; +import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -36,7 +38,6 @@ public CharmEffect(EntityType type, Level level) { super(type, level); } - @SuppressWarnings("this-escape") public CharmEffect(EntityType type, Level level, LivingEntity owner, ItemStack item) { this(type, level); this.orbiter = owner; @@ -89,6 +90,11 @@ public void tick() { } } + @Override + public final boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + return false; + } + @Override public void lerpTo(double x, double y, double z, float yaw, float pitch, int posRotationIncrements) { this.interpTargetX = x; diff --git a/src/main/java/twilightforest/entity/IBreathAttacker.java b/src/main/java/twilightforest/entity/IBreathAttacker.java index efbec1acf5..099fb44119 100644 --- a/src/main/java/twilightforest/entity/IBreathAttacker.java +++ b/src/main/java/twilightforest/entity/IBreathAttacker.java @@ -1,5 +1,6 @@ package twilightforest.entity; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; public interface IBreathAttacker { @@ -13,5 +14,5 @@ public interface IBreathAttacker { * * @param target */ - void doBreathAttack(Entity target); + void doBreathAttack(ServerLevel level, Entity target); } \ No newline at end of file diff --git a/src/main/java/twilightforest/entity/MagicPainting.java b/src/main/java/twilightforest/entity/MagicPainting.java index 13734cfcf9..a3e2462e5a 100644 --- a/src/main/java/twilightforest/entity/MagicPainting.java +++ b/src/main/java/twilightforest/entity/MagicPainting.java @@ -13,6 +13,7 @@ import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerEntity; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -49,7 +50,7 @@ private MagicPainting(Level level, BlockPos pos) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { - builder.define(MAGIC_PAINTING_VARIANT, this.getReg().getHolderOrThrow(MagicPaintingVariants.DEFAULT)); + builder.define(MAGIC_PAINTING_VARIANT, this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT)); } @Override @@ -70,7 +71,7 @@ public Holder getVariant() { public static Optional create(Level level, BlockPos pos, Direction direction) { MagicPainting magicPainting = new MagicPainting(level, pos); List> list = new ArrayList<>(); - level.registryAccess().registryOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).holders().forEach(list::add); + level.registryAccess().lookupOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).listElements().forEach(list::add); if (list.isEmpty()) { return Optional.empty(); } else { @@ -117,7 +118,7 @@ public void readAdditionalSaveData(CompoundTag tag) { if (tag.contains("variant")) { ResourceLocation location = ResourceLocation.tryParse(tag.getString("variant")); if (location != null) { - this.setVariant(this.getReg().getHolder(location).orElse(this.getReg().getHolderOrThrow(MagicPaintingVariants.DEFAULT))); + this.setVariant(this.getReg().get(location).orElse(this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT))); } } @@ -127,7 +128,7 @@ public void readAdditionalSaveData(CompoundTag tag) { } protected Registry getReg() { - return this.registryAccess().registryOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS); + return this.registryAccess().lookupOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS); } @Override @@ -150,8 +151,8 @@ private double offsetForPaintingSize(int size) { } @Override - public void dropItem(@Nullable Entity entity) { - if (this.level().getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) { + public void dropItem(ServerLevel level, @Nullable Entity entity) { + if (level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) { this.playSound(SoundEvents.PAINTING_BREAK, 1.0F, 1.0F); if (entity instanceof Player player) { if (player.getAbilities().instabuild) { @@ -159,7 +160,7 @@ public void dropItem(@Nullable Entity entity) { } } - this.spawnAtLocation(this.getPickResult()); + this.spawnAtLocation(level, this.getPickResult()); } } diff --git a/src/main/java/twilightforest/entity/ProtectionBox.java b/src/main/java/twilightforest/entity/ProtectionBox.java index d872f8e893..00a6aa8177 100644 --- a/src/main/java/twilightforest/entity/ProtectionBox.java +++ b/src/main/java/twilightforest/entity/ProtectionBox.java @@ -2,11 +2,14 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.Level; import net.minecraft.world.level.levelgen.structure.BoundingBox; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFEntities; public class ProtectionBox extends Entity { @@ -17,6 +20,7 @@ public class ProtectionBox extends Entity { public final int sizeY; public final int sizeZ; + @Nullable private final BoundingBox sbb; public ProtectionBox(EntityType type, Level world) { @@ -25,7 +29,6 @@ public ProtectionBox(EntityType type, Level world) { this.sbb = null; } - @SuppressWarnings("this-escape") public ProtectionBox(Level world, BoundingBox sbb) { super(TFEntities.PROTECTION_BOX.get(), world); @@ -53,6 +56,11 @@ public void tick() { } } + @Override + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + return false; + } + public boolean matches(BoundingBox sbb) { return this.sbb.minX() == sbb.minX() && this.sbb.minY() == sbb.minY() && this.sbb.minZ() == sbb.minZ() && this.sbb.maxX() == sbb.maxX() && this.sbb.maxY() == sbb.maxY() && this.sbb.maxZ() == sbb.maxZ(); diff --git a/src/main/java/twilightforest/entity/SlideBlock.java b/src/main/java/twilightforest/entity/SlideBlock.java index 475b82540e..fbde134054 100644 --- a/src/main/java/twilightforest/entity/SlideBlock.java +++ b/src/main/java/twilightforest/entity/SlideBlock.java @@ -8,6 +8,8 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -33,13 +35,12 @@ public class SlideBlock extends Entity { private BlockState myState; private int slideTime; - public SlideBlock(EntityType type, Level world) { - super(type, world); + public SlideBlock(EntityType type, Level level) { + super(type, level); this.blocksBuilding = true; this.myState = TFBlocks.SLIDER.get().defaultBlockState(); } - @SuppressWarnings("this-escape") public SlideBlock(EntityType type, Level world, double x, double y, double z, BlockState state) { super(type, world); @@ -92,6 +93,11 @@ public boolean isSteppingCarefully() { return false; } + @Override + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + return false; + } + @Override public boolean isPickable() { return this.isAlive(); @@ -115,7 +121,7 @@ public void tick() { } this.getDeltaMovement().multiply(0.98, 0.98, 0.98); - if (!this.level().isClientSide()) { + if (this.level() instanceof ServerLevel level) { if (this.slideTime % 5 == 0) { this.playSound(TFSounds.SLIDER.get(), 1.0F, 0.9F + (this.random.nextFloat() * 0.4F)); } @@ -145,10 +151,10 @@ public void tick() { if (this.level().isUnobstructed(this.myState, pos, CollisionContext.empty())) { this.level().setBlockAndUpdate(pos, this.myState); } else { - this.spawnAtLocation(new ItemStack(this.myState.getBlock()), 0.0F); + this.spawnAtLocation(level, new ItemStack(this.myState.getBlock()), 0.0F); } - } else if (this.slideTime > 100 && (pos.getY() < this.level().getMinBuildHeight() + 1 || pos.getY() > this.level().getMaxBuildHeight()) || this.slideTime > 600) { - this.spawnAtLocation(new ItemStack(this.myState.getBlock()), 0.0F); + } else if (this.slideTime > 100 && (pos.getY() < this.level().getMinY() + 1 || pos.getY() > this.level().getMaxY()) || this.slideTime > 600) { + this.spawnAtLocation(level, new ItemStack(this.myState.getBlock()), 0.0F); this.discard(); } @@ -191,17 +197,7 @@ protected void addAdditionalSaveData(@Nonnull CompoundTag compound) { } @Override - public boolean isPushable() { - return false; - } - - @Override - public boolean isPushedByFluid() { - return false; - } - - @Override - protected boolean canRide(Entity entityIn) { + protected boolean canRide(Entity entity) { return false; } diff --git a/src/main/java/twilightforest/entity/SpikeBlock.java b/src/main/java/twilightforest/entity/SpikeBlock.java index 4ae74a2b0d..af2d0d4c7a 100644 --- a/src/main/java/twilightforest/entity/SpikeBlock.java +++ b/src/main/java/twilightforest/entity/SpikeBlock.java @@ -5,6 +5,7 @@ import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerEntity; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; @@ -49,7 +50,7 @@ public void doFall() { } @Override - public boolean hurt(DamageSource source, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { return false; } diff --git a/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java index dc2333aabf..a012dd7255 100644 --- a/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntitySelector; @@ -85,7 +86,7 @@ public void tick() { // anyhoo, deal damage Entity target = this.getHeadLookTarget(); if (target != null) { - this.entityHost.doBreathAttack(target); + this.entityHost.doBreathAttack((ServerLevel) this.entityHost.level(), target); this.entityHost.gameEvent(GameEvent.PROJECTILE_SHOOT); } } diff --git a/src/main/java/twilightforest/entity/ai/goal/HeavySpearAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/HeavySpearAttackGoal.java index 5c042a4cab..a690b4f822 100644 --- a/src/main/java/twilightforest/entity/ai/goal/HeavySpearAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/HeavySpearAttackGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.EntitySelector; import net.minecraft.world.entity.ai.goal.Goal; import twilightforest.entity.monster.UpperGoblinKnight; @@ -10,7 +11,6 @@ public class HeavySpearAttackGoal extends Goal { private final UpperGoblinKnight entity; - @SuppressWarnings("this-escape") public HeavySpearAttackGoal(UpperGoblinKnight upperKnight) { this.entity = upperKnight; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); @@ -19,7 +19,7 @@ public HeavySpearAttackGoal(UpperGoblinKnight upperKnight) { @Override public void tick() { if (this.entity.heavySpearTimer == 25) { - this.entity.landHeavySpearAttack(); + this.entity.landHeavySpearAttack((ServerLevel) this.entity.level()); } } diff --git a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java index e37a7fc691..349c4054d5 100644 --- a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.Vec3; @@ -72,11 +73,12 @@ public void tick() { this.yeti.gameEvent(GameEvent.HIT_GROUND); } - this.yeti.destroyBlocksInAABB(this.yeti.getBoundingBox().inflate(1, 2, 1).move(0, 2, 0)); + ServerLevel level = (ServerLevel) this.yeti.level(); + this.yeti.destroyBlocksInAABB(level, this.yeti.getBoundingBox().inflate(1, 2, 1).move(0, 2, 0)); // regular falling blocks, twice a second if (this.currentDuration % 10 == 0) { - this.yeti.makeRandomBlockFall(30, 80); + this.yeti.makeRandomBlockFall(level, 30, 80); } // blocks target players, one every second @@ -86,7 +88,7 @@ public void tick() { // blocks that fall close to the yeti, twice a second near the end of the rampage if (this.currentDuration < 40 && this.currentDuration % 10 == 0) { - this.yeti.makeRandomBlockFall(15, 40); + this.yeti.makeRandomBlockFall(level, 15, 40); } if (this.currentDuration % 20 == 0) { diff --git a/src/main/java/twilightforest/entity/boss/AlphaYeti.java b/src/main/java/twilightforest/entity/boss/AlphaYeti.java index 2b37ffafaf..84db048b71 100644 --- a/src/main/java/twilightforest/entity/boss/AlphaYeti.java +++ b/src/main/java/twilightforest/entity/boss/AlphaYeti.java @@ -6,6 +6,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.BlockTags; import net.minecraft.tags.DamageTypeTags; @@ -134,14 +135,14 @@ public void aiStep() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.isRampaging() && (this.horizontalCollision || this.verticalCollision)) { //collided does not exist, but this is an equal? this.collisionCounter++; } if (this.collisionCounter >= 15) { - this.destroyBlocksInAABB(this.getBoundingBox()); + this.destroyBlocksInAABB(level, this.getBoundingBox()); this.collisionCounter = 0; } } @@ -162,13 +163,13 @@ public void setTarget(@Nullable LivingEntity entity) { } @Override - public boolean hurt(DamageSource source, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { // no arrow damage when in ranged mode if (!this.canRampage() && !this.isTired() && source.is(DamageTypeTags.IS_PROJECTILE)) { return false; } - boolean flag = super.hurt(source, amount); + boolean flag = super.hurtServer(level, source, amount); if (flag) { this.canRampage = true; @@ -212,8 +213,8 @@ public boolean canRiderInteract() { return true; } - public void destroyBlocksInAABB(AABB box) { - if (EventHooks.canEntityGrief(this.level(), this)) { + public void destroyBlocksInAABB(ServerLevel level, AABB box) { + if (EventHooks.canEntityGrief(level, this)) { for (BlockPos pos : WorldUtil.getAllInBB(box)) { if (EntityUtil.canDestroyBlock(this.level(), pos, this)) { this.level().destroyBlock(pos, false); @@ -222,8 +223,8 @@ public void destroyBlocksInAABB(AABB box) { } } - public void makeRandomBlockFall(int range, int hangTime) { - if (EventHooks.canEntityGrief(this.level(), this)) { + public void makeRandomBlockFall(ServerLevel level, int range, int hangTime) { + if (EventHooks.canEntityGrief(level, this)) { // find a block nearby int bx = Mth.floor(this.getX()) + this.getRandom().nextInt(range) - this.getRandom().nextInt(range); int bz = Mth.floor(this.getZ()) + this.getRandom().nextInt(range) - this.getRandom().nextInt(range); @@ -306,7 +307,7 @@ public boolean causeFallDamage(float distance, float multiplier, DamageSource so private void hitNearbyEntities() { for (LivingEntity entity : this.level().getEntitiesOfClass(LivingEntity.class, this.getBoundingBox().inflate(5.0D, 0.0D, 5.0D))) { - if (entity != this && entity.hurt(this.damageSources().mobAttack(this), 5.0F)) { + if (entity != this && entity.hurtOrSimulate(this.damageSources().mobAttack(this), 5.0F)) { entity.push(0.0D, 0.4D, 0.0D); } } diff --git a/src/main/java/twilightforest/entity/boss/BaseTFBoss.java b/src/main/java/twilightforest/entity/boss/BaseTFBoss.java index 228c57993d..f11805df34 100644 --- a/src/main/java/twilightforest/entity/boss/BaseTFBoss.java +++ b/src/main/java/twilightforest/entity/boss/BaseTFBoss.java @@ -56,8 +56,8 @@ protected BaseTFBoss(EntityType type, Level level) { public abstract Block getBossSpawner(); - protected boolean shouldSpawnLoot() { - return this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT); + protected boolean shouldSpawnLoot(ServerLevel level) { + return level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT); } protected boolean shouldCreateSpawner() { @@ -101,8 +101,10 @@ public void readAdditionalSaveData(CompoundTag compound) { public void lavaHurt() { if (!this.fireImmune()) { this.igniteForSeconds(5); - if (this.hurt(this.damageSources().lava(), 4.0F)) { - this.playSound(SoundEvents.GENERIC_BURN, 0.4F, 2.0F + this.getRandom().nextFloat() * 0.4F); + if (this.level() instanceof ServerLevel serverlevel && this.hurtServer(serverlevel, this.damageSources().lava(), 4.0F)) { + if (this.shouldPlayLavaHurtSound() && !this.isSilent()) { + this.playSound(SoundEvents.GENERIC_BURN, 0.4F, 2.0F + this.getRandom().nextFloat() * 0.4F); + } EntityUtil.killLavaAround(this); } } @@ -111,7 +113,7 @@ public void lavaHurt() { @Override public void die(DamageSource cause) { super.die(cause); - if (this.shouldSpawnLoot() && this.level() instanceof ServerLevel server) this.postmortem(server, cause); + if (this.level() instanceof ServerLevel server && this.shouldSpawnLoot(server)) this.postmortem(server, cause); } // mark the boss structure as conquered, separate method, so it can be overridden @@ -129,7 +131,7 @@ public void remove(RemovalReason reason) { // drop loot into a chest after removal, separate method, so it can be overridden protected void postRemoval(ServerLevel serverLevel, RemovalReason reason) { - if (reason.equals(RemovalReason.KILLED) && this.shouldSpawnLoot()) { + if (reason.equals(RemovalReason.KILLED) && this.shouldSpawnLoot(serverLevel)) { IBossLootBuffer.depositDropsIntoChest(this, this.getDeathContainer(this.getRandom()).defaultBlockState().setValue(ChestBlock.FACING, Direction.Plane.HORIZONTAL.getRandomDirection(this.level().getRandom())), EntityUtil.bossChestLocation(this), serverLevel); } } @@ -222,9 +224,9 @@ public ServerTFBossBar getBossBar() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); - if (!this.level().isClientSide()) this.tickBossBar(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); + this.tickBossBar(); } protected void tickBossBar() { diff --git a/src/main/java/twilightforest/entity/boss/Hydra.java b/src/main/java/twilightforest/entity/boss/Hydra.java index 6a0ed91f63..d0ab790e4f 100644 --- a/src/main/java/twilightforest/entity/boss/Hydra.java +++ b/src/main/java/twilightforest/entity/boss/Hydra.java @@ -11,6 +11,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.DamageTypeTags; import net.minecraft.util.Mth; @@ -42,7 +43,6 @@ import java.util.Comparator; import java.util.List; -@SuppressWarnings("this-escape") public class Hydra extends BaseTFBoss { private static final int TICKS_BEFORE_HEALING = 1000; @@ -232,8 +232,8 @@ private void activateHeadsOnLoad(byte heads) { private int numTicksToChaseTarget; @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); this.xxa = 0.0F; this.zza = 0.0F; float f = 48.0F; @@ -270,19 +270,19 @@ protected void customServerAiStep() { } // destroy blocks - this.destroyBlocksInAABB(this.body.getBoundingBox()); - this.destroyBlocksInAABB(this.tail.getBoundingBox()); + this.destroyBlocksInAABB(level, this.body.getBoundingBox()); + this.destroyBlocksInAABB(level, this.tail.getBoundingBox()); for (int i = 0; i < MAX_HEADS; i++) { if (!this.hc[i].isDead()) { - this.destroyBlocksInAABB(this.hc[i].headEntity.getBoundingBox()); + this.destroyBlocksInAABB(level, this.hc[i].headEntity.getBoundingBox()); } } // smash blocks beneath us too if (this.tickCount % 20 == 0) { if (this.isUnsteadySurfaceBeneath()) { - this.destroyBlocksInAABB(this.getBoundingBox().move(0, -1, 0)); + this.destroyBlocksInAABB(level, this.getBoundingBox().move(0, -1, 0)); } } @@ -527,8 +527,8 @@ private boolean isUnsteadySurfaceBeneath() { return ((float) solid / (float) total) < 0.6F; } - private void destroyBlocksInAABB(AABB box) { - if (this.deathTime <= 0 && EventHooks.canEntityGrief(this.level(), this)) { + private void destroyBlocksInAABB(ServerLevel level, AABB box) { + if (this.deathTime <= 0 && EventHooks.canEntityGrief(level, this)) { for (BlockPos pos : WorldUtil.getAllInBB(box)) { if (EntityUtil.canDestroyBlock(this.level(), pos, this)) { this.level().destroyBlock(pos, false); @@ -542,10 +542,10 @@ public int getMaxHeadXRot() { return 500; } - public boolean attackEntityFromPart(HydraPart part, DamageSource source, float damage) { + public boolean attackEntityFromPart(ServerLevel level, HydraPart part, DamageSource source, float damage) { // if we're in a wall, kill that wall if (!this.level().isClientSide() && source.is(DamageTypes.IN_WALL)) { - this.destroyBlocksInAABB(part.getBoundingBox()); + this.destroyBlocksInAABB(level, part.getBoundingBox()); } if (source.getEntity() == this || source.getDirectEntity() == this) @@ -578,11 +578,11 @@ public boolean attackEntityFromPart(HydraPart part, DamageSource source, float d boolean tookDamage; if (headCon != null && headCon.getCurrentMouthOpen() > 0.5) { - tookDamage = super.hurt(source, damage); + tookDamage = super.hurtServer(level, source, damage); headCon.addDamage(damage); } else { int armoredDamage = Math.round(damage / ARMOR_MULTIPLIER); - tookDamage = super.hurt(source, armoredDamage); + tookDamage = super.hurtServer(level, source, armoredDamage); if (headCon != null) { headCon.addDamage(armoredDamage); @@ -601,13 +601,13 @@ private double calculateRange(DamageSource damagesource) { } @Override - public boolean hurt(DamageSource src, float damage) { - return src.is(DamageTypeTags.BYPASSES_INVULNERABILITY) && super.hurt(src, damage); + public boolean hurtServer(ServerLevel level, DamageSource src, float damage) { + return src.is(DamageTypeTags.BYPASSES_INVULNERABILITY) && super.hurtServer(level, src, damage); } @Override - public boolean isInvulnerableTo(DamageSource source) { - return !source.is(TFDamageTypes.HYDRA_MORTAR) && super.isInvulnerableTo(source); + public boolean isInvulnerableTo(ServerLevel level, DamageSource source) { + return !source.is(TFDamageTypes.HYDRA_MORTAR) && super.isInvulnerableTo(level, source); } @Override diff --git a/src/main/java/twilightforest/entity/boss/HydraHead.java b/src/main/java/twilightforest/entity/boss/HydraHead.java index c5df9ee87e..c5095f14be 100644 --- a/src/main/java/twilightforest/entity/boss/HydraHead.java +++ b/src/main/java/twilightforest/entity/boss/HydraHead.java @@ -79,7 +79,7 @@ public InteractionResult interact(Player player, InteractionHand hand) { } } - return InteractionResult.sidedSuccess(this.level().isClientSide()); + return InteractionResult.SUCCESS; } return super.interact(player, hand); } diff --git a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java index d7d1deda9f..2b3ef6587b 100644 --- a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java +++ b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java @@ -4,6 +4,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; @@ -47,7 +48,7 @@ public class HydraHeadContainer { @Nullable private static final State NEXT_AUTOMATIC = null; - enum State { + public enum State { IDLE(10), BITE_BEGINNING(40), @@ -147,7 +148,7 @@ enum State { private final Map[] stateYRotations; private final Map[] stateMouthOpen; - @SuppressWarnings({"this-escape", "unchecked"}) + @SuppressWarnings("unchecked") public HydraHeadContainer(Hydra hydra, int number, boolean startActive) { this.headNum = number; this.hydra = hydra; @@ -348,7 +349,7 @@ public void tick() { this.setDifficultyVariables(); // only actually do these things on the server - if (!this.hydra.level().isClientSide()) { + if (this.hydra.level() instanceof ServerLevel level) { // make sure this is set up if (!this.isDead() && this.headEntity.dimensions.width() == 0) { this.headEntity.activate(); @@ -361,7 +362,7 @@ public void tick() { this.advanceHeadState(); this.setHeadPosition(); this.setHeadFacing(); - this.executeAttacks(); + this.executeAttacks(level); this.playSounds(); } else { this.addMouthParticles(); @@ -654,7 +655,7 @@ protected void setHeadPosition() { this.headEntity.setMouthOpen(getCurrentMouthOpen()); } - private void executeAttacks() { + private void executeAttacks(ServerLevel level) { if (this.currentState == State.MORTAR_SHOOTING && this.ticksProgress % 10 == 0) { HydraMortar mortar = new HydraMortar(TFEntities.HYDRA_MORTAR.get(), this.headEntity.level(), this.headEntity); @@ -675,19 +676,19 @@ private void executeAttacks() { if (nearby instanceof LivingEntity living && nearby != this.hydra) { //is a player holding a shield? Let's do some extra stuff! if (nearby instanceof Player player && player.isBlocking()) { - if (!player.getCooldowns().isOnCooldown(player.getUseItem().getItem())) { + if (!player.getCooldowns().isOnCooldown(player.getUseItem())) { //cause severe damage and play a shatter sound this.headEntity.level().playSound(null, player.blockPosition(), player.getUseItem().is(Items.SHIELD) ? TFSounds.WOOD_SHIELD_SHATTERS.get() : TFSounds.METAL_SHIELD_SHATTERS.get(), SoundSource.PLAYERS, 1.0F, player.getVoicePitch()); player.getUseItem().hurtAndBreak(112, player, LivingEntity.getSlotForHand(player.getUsedItemHand())); } //add cooldown and knockback - player.getCooldowns().addCooldown(player.getUseItem().getItem(), 200); + player.getCooldowns().addCooldown(player.getUseItem(), 200); player.stopUsingItem(); PacketDistributor.sendToPlayer((ServerPlayer) player, new MovePlayerPacket(-this.headEntity.getDirection().getStepX() * 0.5F, 0.15F, -this.headEntity.getDirection().getStepZ() * 0.5F)); } // bite it! - nearby.hurt(TFDamageTypes.getEntityDamageSource(living.level(), TFDamageTypes.HYDRA_BITE, this.hydra, TFEntities.HYDRA.get()), BITE_DAMAGE); + nearby.hurtServer(level, TFDamageTypes.getEntityDamageSource(living.level(), TFDamageTypes.HYDRA_BITE, this.hydra, TFEntities.HYDRA.get()), BITE_DAMAGE); //knockback! if (living instanceof Player player) { @@ -703,7 +704,7 @@ private void executeAttacks() { Entity target = getHeadLookTarget(); if (target != null && target != this.headEntity.getParent() && (!(target instanceof HydraPart) || ((HydraPart) target).getParent() != this.headEntity.getParent())) { - if (!target.fireImmune() && target.hurt(TFDamageTypes.getEntityDamageSource(target.level(), TFDamageTypes.HYDRA_FIRE, this.hydra, TFEntities.HYDRA.get()), FLAME_DAMAGE)) { + if (!target.fireImmune() && target.hurtServer(level, TFDamageTypes.getEntityDamageSource(target.level(), TFDamageTypes.HYDRA_FIRE, this.hydra, TFEntities.HYDRA.get()), FLAME_DAMAGE)) { target.igniteForSeconds(FLAME_BURN_FACTOR); } } diff --git a/src/main/java/twilightforest/entity/boss/HydraMortar.java b/src/main/java/twilightforest/entity/boss/HydraMortar.java index 5dd67c204b..4b2aabb50d 100644 --- a/src/main/java/twilightforest/entity/boss/HydraMortar.java +++ b/src/main/java/twilightforest/entity/boss/HydraMortar.java @@ -3,6 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -22,6 +23,8 @@ import twilightforest.init.TFDamageTypes; import twilightforest.init.TFEntities; +import java.util.Objects; + public class HydraMortar extends ThrowableProjectile { private static final int BURN_FACTOR = 5; @@ -30,13 +33,13 @@ public class HydraMortar extends ThrowableProjectile { public int fuse = 80; private boolean megaBlast = false; - public HydraMortar(EntityType type, Level world) { - super(type, world); + public HydraMortar(EntityType type, Level level) { + super(type, level); } - @SuppressWarnings("this-escape") - public HydraMortar(EntityType type, Level world, HydraHead head) { - super(type, head.getParent(), world); + public HydraMortar(EntityType type, Level level, HydraHead head) { + super(type, level); + this.setOwner(head.getParent()); Vec3 vector = head.getLookAngle(); @@ -65,8 +68,8 @@ public void tick() { if (this.onGround()) { this.getDeltaMovement().multiply(0.9D, 0.9D, 0.9D); - if (!this.level().isClientSide() && this.fuse-- <= 0) { - this.detonate(); + if (this.level() instanceof ServerLevel level && this.fuse-- <= 0) { + this.detonate(level); } } } @@ -78,14 +81,16 @@ public void setToBlasting() { @Override protected void onHitBlock(BlockHitResult result) { super.onHitBlock(result); - if (!this.megaBlast) { - //if we hit a wall, explode - if (result.getDirection() != Direction.UP) this.detonate(); - // we hit the ground - this.setDeltaMovement(this.getDeltaMovement().x(), 0.0D, this.getDeltaMovement().z()); - this.setOnGround(true); - } else { - this.detonate(); + if (this.level() instanceof ServerLevel level) { + if (!this.megaBlast) { + //if we hit a wall, explode + if (result.getDirection() != Direction.UP) this.detonate(level); + // we hit the ground + this.setDeltaMovement(this.getDeltaMovement().x(), 0.0D, this.getDeltaMovement().z()); + this.setOnGround(true); + } else { + this.detonate(level); + } } } @@ -102,9 +107,9 @@ protected void onHit(HitResult result) { @Override protected void onHitEntity(EntityHitResult result) { Entity entity = result.getEntity(); - if (!this.level().isClientSide() && this.getOwner() != null) { - if ((!(entity instanceof HydraMortar mortar) || mortar.getOwner().is(this.getOwner())) && !entity.is(this.getOwner()) && !this.isPartOfHydra(entity)) { - this.detonate(); + if (this.level() instanceof ServerLevel level && this.getOwner() != null) { + if ((!(entity instanceof HydraMortar mortar) || Objects.equals(mortar.getOwner(), this.getOwner())) && !entity.is(this.getOwner()) && !this.isPartOfHydra(entity)) { + this.detonate(level); } } } @@ -124,13 +129,13 @@ public float getBlockExplosionResistance(Explosion explosion, BlockGetter getter return resistance; } - private void detonate() { - float explosionPower = megaBlast ? 4.0F : 0.1F; - boolean flag = EventHooks.canEntityGrief(this.level(), this); + private void detonate(ServerLevel level) { + float explosionPower = this.megaBlast ? 4.0F : 0.1F; + boolean flag = EventHooks.canEntityGrief(level, this); this.level().explode(this, this.getX(), this.getY(), this.getZ(), explosionPower, flag, Level.ExplosionInteraction.MOB); for (Entity nearby : this.level().getEntities(this, this.getBoundingBox().inflate(1.0D, 1.0D, 1.0D))) { - if ((!nearby.fireImmune() || nearby instanceof Hydra || nearby instanceof HydraPart) && nearby.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.HYDRA_MORTAR, this.getOwner(), TFEntities.HYDRA.get()), DIRECT_DAMAGE)) { + if ((!nearby.fireImmune() || nearby instanceof Hydra || nearby instanceof HydraPart) && nearby.hurtServer(level, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.HYDRA_MORTAR, this.getOwner(), TFEntities.HYDRA.get()), DIRECT_DAMAGE)) { nearby.igniteForSeconds(BURN_FACTOR); } } @@ -139,9 +144,7 @@ private void detonate() { } @Override - public boolean hurt(DamageSource source, float amount) { - super.hurt(source, amount); - + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { if (source.getEntity() != null && !this.level().isClientSide()) { Vec3 vec3d = source.getEntity().getLookAngle(); if (vec3d != null) { diff --git a/src/main/java/twilightforest/entity/boss/HydraPart.java b/src/main/java/twilightforest/entity/boss/HydraPart.java index df26ef4df9..dc105b022c 100644 --- a/src/main/java/twilightforest/entity/boss/HydraPart.java +++ b/src/main/java/twilightforest/entity/boss/HydraPart.java @@ -5,6 +5,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; @@ -22,7 +23,6 @@ public abstract class HydraPart extends TFPart { boolean markedDead; private EntityDimensions cacheSize; - @SuppressWarnings("this-escape") public HydraPart(Hydra parent, float width, float height) { super(parent); this.setSize(EntityDimensions.scalable(width, height)); @@ -89,8 +89,8 @@ public void tick() { } @Override - public boolean hurt(DamageSource source, float amount) { - boolean flag = this.getParent() != null && this.getParent().attackEntityFromPart(this, source, amount); + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + boolean flag = this.getParent() != null && this.getParent().attackEntityFromPart(level, this, source, amount); if (flag) { this.gameEvent(GameEvent.ENTITY_DAMAGE); } diff --git a/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java b/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java index c83c21ce1c..f69cb9d062 100644 --- a/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java +++ b/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java @@ -51,8 +51,9 @@ default void readDeathItemsSaveData(CompoundTag tag, RegistryAccess registryAcce } static void saveDropsIntoBoss(T boss, LootParams params, ServerLevel serverLevel) { - if (TFConfig.bossDropChests) { - LootTable table = serverLevel.getServer().reloadableRegistries().getLootTable(boss.getLootTable()); + var loot = boss.getLootTable(); + if (TFConfig.bossDropChests && loot.isPresent()) { + LootTable table = serverLevel.getServer().reloadableRegistries().getLootTable(loot.get()); ObjectArrayList stacks = table.getRandomItems(params); boss.fill(boss, params, table); @@ -72,7 +73,7 @@ static void depositDropsIntoChest(T b if (TFConfig.bossDropChests && !boss.getItemStacks().isEmpty()) { if (!tryDeposit(boss, chest, pos, serverLevel)) { BlockPos.MutableBlockPos chestPos = pos.mutable(); - for (int y = pos.getY(); y < serverLevel.getMaxBuildHeight(); y++) { + for (int y = pos.getY(); y < serverLevel.getMaxY(); y++) { chestPos.setY(y); if (tryDeposit(boss, chest, chestPos, serverLevel)) return; } diff --git a/src/main/java/twilightforest/entity/boss/KnightPhantom.java b/src/main/java/twilightforest/entity/boss/KnightPhantom.java index 7a9888e20e..51e3b84cb6 100644 --- a/src/main/java/twilightforest/entity/boss/KnightPhantom.java +++ b/src/main/java/twilightforest/entity/boss/KnightPhantom.java @@ -83,7 +83,6 @@ public class KnightPhantom extends BaseTFBoss { private final EntityDimensions invisibleSize = EntityDimensions.fixed(1.25F, 2.5F); private final EntityDimensions visibleSize = EntityDimensions.fixed(1.75F, 4.0F); - @SuppressWarnings("this-escape") public KnightPhantom(EntityType type, Level level) { super(type, level); this.noPhysics = true; @@ -129,8 +128,8 @@ public void die(DamageSource cause) { @Nullable @Override - @SuppressWarnings({"deprecation", "OverrideOnly"}) - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + @SuppressWarnings("deprecation") + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); this.populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); this.populateDefaultEquipmentEnchantments(accessor, accessor.getRandom(), difficulty); @@ -158,8 +157,8 @@ public void setChargePos(BlockPos pos) { } @Override - public boolean isInvulnerableTo(DamageSource source) { - return source.is(DamageTypes.IN_WALL) || super.isInvulnerableTo(source); + public boolean isInvulnerableTo(ServerLevel level, DamageSource source) { + return source.is(DamageTypes.IN_WALL) || super.isInvulnerableTo(level, source); } @Override @@ -177,8 +176,8 @@ public void aiStep() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.totalKnownKnights == Integer.MIN_VALUE) this.updateMyNumber(); float health = 0F; float maxHealth = 0F; @@ -197,50 +196,56 @@ protected void customServerAiStep() { @Override protected void postmortem(ServerLevel serverLevel, DamageSource cause) { + var loot = this.getLootTable(); + List knights = this.getNearbyKnights(); LootParams params = TFLootTables.createLootParams(this, true, cause).create(LootContextParamSets.ENTITY); - LootTable table = serverLevel.getServer().reloadableRegistries().getLootTable(this.getLootTable()); if (!knights.isEmpty()) { knights.forEach(KnightPhantom::updateMyNumber); - ObjectArrayList items = table.getRandomItems(params); - if (!this.getItemStacks().isEmpty()) items.addAll(this.getItemStacks()); - List list = this.getAvailableSlots(this.random); - table.shuffleAndSplitItems(items, list.size(), this.random); + if (loot.isPresent()) { + LootTable table = serverLevel.getServer().reloadableRegistries().getLootTable(loot.get()); + ObjectArrayList items = table.getRandomItems(params); + if (!this.getItemStacks().isEmpty()) items.addAll(this.getItemStacks()); + List list = this.getAvailableSlots(this.random); + table.shuffleAndSplitItems(items, list.size(), this.random); - giveKnightLoot(knights.getFirst(), items, serverLevel, list, this.position()); + giveKnightLoot(knights.getFirst(), items, serverLevel, list, this.position()); + } } else { this.getBossBar().setProgress(0.0F); BlockPos treasurePos = this.getRestrictionPoint() != null ? serverLevel.getBlockState(this.getRestrictionPoint().pos().below()).canBeReplaced() ? this.getRestrictionPoint().pos().below() : this.getRestrictionPoint().pos() : this.blockPosition(); - ObjectArrayList items = table.getRandomItems(params); + if (loot.isPresent()) { + LootTable table = serverLevel.getServer().reloadableRegistries().getLootTable(loot.get()); + ObjectArrayList items = table.getRandomItems(params); - LootParams.Builder builder = new LootParams.Builder(serverLevel) - .withParameter(LootContextParams.THIS_ENTITY, this) - .withParameter(LootContextParams.ORIGIN, this.getEyePosition()) - .withParameter(LootContextParams.DAMAGE_SOURCE, cause); + LootParams.Builder builder = new LootParams.Builder(serverLevel) + .withParameter(LootContextParams.THIS_ENTITY, this) + .withParameter(LootContextParams.ORIGIN, this.getEyePosition()) + .withParameter(LootContextParams.DAMAGE_SOURCE, cause); - if (this.lastHurtByPlayer != null) { - builder = builder.withParameter(LootContextParams.LAST_DAMAGE_PLAYER, this.lastHurtByPlayer) - .withLuck(this.lastHurtByPlayer.getLuck()); - } - - if (cause.getEntity() != null) { - builder = builder.withParameter(LootContextParams.ATTACKING_ENTITY, cause.getEntity()); - } + if (this.lastHurtByPlayer != null) { + builder = builder.withParameter(LootContextParams.LAST_DAMAGE_PLAYER, this.lastHurtByPlayer) + .withLuck(this.lastHurtByPlayer.getLuck()); + } - if (cause.getDirectEntity() != null) { - builder = builder.withParameter(LootContextParams.DIRECT_ATTACKING_ENTITY, cause.getDirectEntity()); - } + if (cause.getEntity() != null) { + builder = builder.withParameter(LootContextParams.ATTACKING_ENTITY, cause.getEntity()); + } - items.addAll(serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.KNIGHT_PHANTOM_DEFEATED).getRandomItems(builder.create(LootContextParamSets.ENTITY))); - List list = this.getAvailableSlots(this.random); - table.shuffleAndSplitItems(items, list.size(), this.random); + if (cause.getDirectEntity() != null) { + builder = builder.withParameter(LootContextParams.DIRECT_ATTACKING_ENTITY, cause.getDirectEntity()); + } - giveKnightLoot(this, items, serverLevel, list, this.position()); + items.addAll(serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.KNIGHT_PHANTOM_DEFEATED).getRandomItems(builder.create(LootContextParamSets.ENTITY))); + List list = this.getAvailableSlots(this.random); + table.shuffleAndSplitItems(items, list.size(), this.random); + giveKnightLoot(this, items, serverLevel, list, this.position()); + } //trigger criteria for killing every phantom in a group if (cause.getEntity() instanceof ServerPlayer player) { TFAdvancements.KILL_ALL_PHANTOMS.get().trigger(player); @@ -286,24 +291,24 @@ protected static void giveKnightLoot(KnightPhantom phantom, ObjectArrayList type, Level level) { this.xpReward = 217; } - @SuppressWarnings("this-escape") public Lich(Level level, Lich otherLich) { this(TFEntities.LICH.get(), level); this.setMasterUUID(otherLich.getUUID()); @@ -234,8 +233,8 @@ public void aiStep() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); // Teleport home if we get too far away from it if (this.getRestrictionPoint() != null && this.getRestrictionPoint().pos().distSqr(this.blockPosition()) > (this.getHomeRadius() * this.getHomeRadius()) || (this.getPhase() == 3 && this.getRestrictionPoint() != null && this.getY() < this.getRestrictionPoint().pos().below(3).getY())) { @@ -271,7 +270,7 @@ protected void customServerAiStep() { } @Override - public boolean hurt(DamageSource src, float damage) { + public boolean hurtServer(ServerLevel level, DamageSource src, float damage) { // if we're in a wall, teleport for gosh sakes if (src.is(DamageTypes.IN_WALL) && this.getTarget() != null) { this.teleportToSightOfEntity(this.getTarget()); @@ -307,7 +306,7 @@ public boolean hurt(DamageSource src, float damage) { return false; } - if (super.hurt(src, damage)) { + if (super.hurtServer(level, src, damage)) { if (this.getRandom().nextInt(this.getPhase() == 3 ? 6 : 3) == 0) { this.teleportToSightOfEntity(this.getTarget()); } @@ -635,11 +634,6 @@ protected SoundEvent getDeathSound() { return this.deathTime > 1 || this.isShadowClone() ? TFSounds.LICH_DEATH.get() : TFSounds.LICH_HURT.get(); } - @Override - public ResourceKey getDefaultLootTable() { - return !this.isShadowClone() ? super.getDefaultLootTable() : null; - } - @Override public boolean displayFireAnimation() { return this.deathTime <= 0 && super.displayFireAnimation(); @@ -677,8 +671,13 @@ protected boolean shouldCreateSpawner() { } @Override - protected boolean shouldSpawnLoot() { - return !this.isShadowClone() && super.shouldSpawnLoot(); + protected boolean shouldDropLoot() { + return !this.isShadowClone() && super.shouldDropLoot(); + } + + @Override + protected boolean shouldSpawnLoot(ServerLevel level) { + return !this.isShadowClone() && super.shouldSpawnLoot(level); } @Override diff --git a/src/main/java/twilightforest/entity/boss/Minoshroom.java b/src/main/java/twilightforest/entity/boss/Minoshroom.java index e63ec20c37..167dc0c5fd 100644 --- a/src/main/java/twilightforest/entity/boss/Minoshroom.java +++ b/src/main/java/twilightforest/entity/boss/Minoshroom.java @@ -7,6 +7,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; @@ -43,7 +44,6 @@ public class Minoshroom extends BaseTFBoss implements ITFCharger { public float clientSideChargeAnimation; private boolean groundSmashState = false; - @SuppressWarnings("this-escape") public Minoshroom(EntityType type, Level level) { super(type, level); this.xpReward = 100; @@ -134,7 +134,7 @@ public void aiStep() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); this.populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); this.populateDefaultEquipmentEnchantments(accessor, accessor.getRandom(), difficulty); @@ -142,8 +142,8 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst } @Override - public boolean doHurtTarget(Entity entity) { - return EntityUtil.properlyApplyCustomDamageSource(this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.AXING, this), TFSounds.MINOSHROOM_ATTACK.get()); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.AXING, this), TFSounds.MINOSHROOM_ATTACK.get()); } @Override diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index 70c13ad336..5105e9527a 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -84,7 +84,6 @@ public class Naga extends BaseTFBoss { private static final EntityDataAccessor DATA_CHARGE = SynchedEntityData.defineId(Naga.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor DATA_STUNLESS = SynchedEntityData.defineId(Naga.class, EntityDataSerializers.BOOLEAN); - @SuppressWarnings("this-escape") public Naga(EntityType type, Level level) { super(type, level); this.xpReward = 217; @@ -207,7 +206,7 @@ private void setSegmentsPerHealth() { @Nullable @Override @SuppressWarnings("deprecation") - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType type, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason type, @Nullable SpawnGroupData data) { if (this.level().getDifficulty() != Difficulty.EASY && this.getAttribute(Attributes.MAX_HEALTH) != null) { boolean hard = this.level().getDifficulty() == Difficulty.HARD; AttributeModifier modifier = new AttributeModifier(TwilightForestMod.prefix("difficulty_health_boost"), hard ? 130 : 80, AttributeModifier.Operation.ADD_VALUE); @@ -256,14 +255,14 @@ public void tick() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.getTarget() != null && (this.distanceToSqr(this.getTarget()) > 80 * 80 || !this.areSelfAndTargetInHome(this.getTarget()))) { this.setTarget(null); } - if (EventHooks.canEntityGrief(this.level(), this)) { + if (EventHooks.canEntityGrief(level, this)) { AABB bb = this.getBoundingBox(); int minx = Mth.floor(bb.minX - 0.75D); @@ -344,15 +343,15 @@ public boolean isPushable() { } @Override - public boolean isInvulnerableTo(DamageSource src) { + public boolean isInvulnerableTo(ServerLevel level, DamageSource src) { return src.getEntity() != null && !this.isOtherEntityWithinHomeArea(src.getEntity()) // reject damage from outside of our home radius || src.getDirectEntity() != null && !this.isOtherEntityWithinHomeArea(src.getDirectEntity()) - || src.is(DamageTypeTags.IS_EXPLOSION) || super.isInvulnerableTo(src); + || src.is(DamageTypeTags.IS_EXPLOSION) || super.isInvulnerableTo(level, src); } @Override - public boolean hurt(DamageSource source, float amount) { - if (super.hurt(source, amount)) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + if (super.hurtServer(level, source, amount)) { this.ticksSinceDamaged = 0; if (this.isDazed()) { this.damageDuringCurrentStun += (int) amount; @@ -364,7 +363,7 @@ public boolean hurt(DamageSource source, float amount) { } @Override - public boolean doHurtTarget(Entity toAttack) { + public boolean doHurtTarget(ServerLevel level, Entity toAttack) { if (toAttack instanceof LivingEntity living && living.isBlocking()) { if (this.getMovementPattern().getState() == NagaMovementPattern.MovementState.CHARGE) { Vec3 motion = this.getDeltaMovement(); @@ -381,7 +380,7 @@ public boolean doHurtTarget(Entity toAttack) { } else if (this.getMovementPattern().getState() == NagaMovementPattern.MovementState.STUNLESS_CHARGE) { if (toAttack instanceof ServerPlayer player) { player.getUseItem().hurtAndBreak(10, player, LivingEntity.getSlotForHand(player.getUsedItemHand())); - player.getCooldowns().addCooldown(player.getUseItem().getItem(), 200); + player.getCooldowns().addCooldown(player.getUseItem(), 200); player.stopUsingItem(); this.level().broadcastEntityEvent(player, (byte) 30); } @@ -392,7 +391,7 @@ public boolean doHurtTarget(Entity toAttack) { } } if (!this.isDazed()) { - boolean result = super.doHurtTarget(toAttack); + boolean result = super.doHurtTarget(level, toAttack); if (result) { // charging, apply extra pushback @@ -416,11 +415,11 @@ public float getWalkTargetValue(BlockPos pos) { @Override public void remove(RemovalReason reason) { super.remove(reason); - if (this.level() instanceof ServerLevel) { + if (this.level() instanceof ServerLevel level) { for (NagaSegment seg : this.bodySegments) { // must use this instead of setDead // since multiparts are not added to the world tick list which is what checks isDead - seg.kill(); + seg.kill(level); } } } diff --git a/src/main/java/twilightforest/entity/boss/NagaSegment.java b/src/main/java/twilightforest/entity/boss/NagaSegment.java index 4bc6c77ae4..012e68a7fa 100644 --- a/src/main/java/twilightforest/entity/boss/NagaSegment.java +++ b/src/main/java/twilightforest/entity/boss/NagaSegment.java @@ -4,6 +4,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; @@ -40,8 +41,8 @@ public ResourceLocation renderer() { } @Override - public boolean hurt(DamageSource src, float damage) { - return !this.isInvisible() && this.getParent().hurt(src, damage * 2.0F / 3.0F); + public boolean hurtServer(ServerLevel level, DamageSource src, float damage) { + return !this.isInvisible() && this.getParent().hurtServer(level, src, damage * 2.0F / 3.0F); } @Override diff --git a/src/main/java/twilightforest/entity/boss/SnowQueen.java b/src/main/java/twilightforest/entity/boss/SnowQueen.java index d5cab7fa63..3d570d967a 100644 --- a/src/main/java/twilightforest/entity/boss/SnowQueen.java +++ b/src/main/java/twilightforest/entity/boss/SnowQueen.java @@ -7,6 +7,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.BlockTags; import net.minecraft.util.RandomSource; @@ -64,7 +65,6 @@ public enum Phase {SUMMON, DROP, BEAM} private int maxDrops; private int damageWhileBeaming; - @SuppressWarnings("this-escape") public SnowQueen(EntityType type, Level level) { super(type, level); @@ -207,8 +207,8 @@ public void tick() { this.iceArray[i].setYRot(this.getIceShieldAngle(i)); // collide things with the block - if (!this.level().isClientSide()) { - this.applyShieldCollisions(this.iceArray[i]); + if (this.level() instanceof ServerLevel level) { + this.applyShieldCollisions(level, this.iceArray[i]); } } @@ -226,12 +226,12 @@ public void tick() { } } - private void applyShieldCollisions(Entity collider) { + private void applyShieldCollisions(ServerLevel level, Entity collider) { List list = this.level().getEntities(collider, collider.getBoundingBox().inflate(-0.2F, -0.2F, -0.2F)); for (Entity collided : list) { if (collided.isPushable()) { - this.applyShieldCollision(collider, collided); + this.applyShieldCollision(level, collider, collided); } } } @@ -239,10 +239,10 @@ private void applyShieldCollisions(Entity collider) { /** * Do the effect where the shield hits something */ - private void applyShieldCollision(Entity collider, Entity collided) { + private void applyShieldCollision(ServerLevel level, Entity collider, Entity collided) { if (collided != this) { collided.push(collider); - if (collided instanceof LivingEntity && this.doHurtTarget(collided)) { + if (collided instanceof LivingEntity && this.doHurtTarget(level, collided)) { Vec3 motion = collided.getDeltaMovement(); collided.setDeltaMovement(motion.x(), motion.y() + 0.4, motion.z()); this.playSound(TFSounds.SNOW_QUEEN_ATTACK.get(), 1.0F, 1.0F); @@ -251,14 +251,14 @@ private void applyShieldCollision(Entity collider, Entity collided) { } @Override - public boolean doHurtTarget(Entity entity) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { DamageSource source = this.getCurrentPhase() == Phase.DROP ? TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.SQUISH, this, TFEntities.SNOW_QUEEN.get()) : this.level().damageSources().mobAttack(this); - return EntityUtil.properlyApplyCustomDamageSource(this, entity, source, null); + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, source, null); } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); // switch phases if (this.getCurrentPhase() == Phase.SUMMON && this.getSummonsRemaining() == 0 && this.countMyMinions() <= 0) { @@ -273,8 +273,8 @@ protected void customServerAiStep() { } @Override - public boolean hurt(DamageSource source, float damage) { - boolean result = super.hurt(source, damage); + public boolean hurtServer(ServerLevel level, DamageSource source, float damage) { + boolean result = super.hurtServer(level, source, damage); if (result && this.getCurrentPhase() == Phase.BEAM) { this.damageWhileBeaming += (int) damage; @@ -301,8 +301,8 @@ private double getShieldYOffset() { return 0.1F; } - public void destroyBlocksInAABB(AABB box) { - if (EventHooks.canEntityGrief(this.level(), this)) { + public void destroyBlocksInAABB(ServerLevel level, AABB box) { + if (EventHooks.canEntityGrief(level, this)) { for (BlockPos pos : WorldUtil.getAllInBB(box)) { BlockState state = this.level().getBlockState(pos); if (state.is(BlockTags.ICE)) { diff --git a/src/main/java/twilightforest/entity/boss/SnowQueenIceShield.java b/src/main/java/twilightforest/entity/boss/SnowQueenIceShield.java index fb3a698e8f..5053538760 100644 --- a/src/main/java/twilightforest/entity/boss/SnowQueenIceShield.java +++ b/src/main/java/twilightforest/entity/boss/SnowQueenIceShield.java @@ -3,6 +3,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.EntityDimensions; import net.minecraft.world.entity.projectile.AbstractArrow; @@ -25,7 +26,7 @@ public ResourceLocation renderer() { } @Override - public boolean hurt(DamageSource source, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { if (source.getDirectEntity() instanceof AbstractArrow arrow && arrow.getPierceLevel() > 0) { return true; } diff --git a/src/main/java/twilightforest/entity/boss/UrGhast.java b/src/main/java/twilightforest/entity/boss/UrGhast.java index a602baaa81..89962cde04 100644 --- a/src/main/java/twilightforest/entity/boss/UrGhast.java +++ b/src/main/java/twilightforest/entity/boss/UrGhast.java @@ -14,9 +14,9 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageTypes; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LightningBolt; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -148,8 +148,8 @@ private boolean isReflectedFireball(DamageSource source) { } @Override - public boolean isInvulnerableTo(DamageSource source) { - return !this.isReflectedFireball(source) && (source.is(DamageTypes.IN_WALL) || source.is(DamageTypeTags.IS_FIRE) || super.isInvulnerableTo(source)); + public boolean isInvulnerableTo(ServerLevel level, DamageSource source) { + return !this.isReflectedFireball(source) && (source.is(DamageTypes.IN_WALL) || source.is(DamageTypeTags.IS_FIRE) || super.isInvulnerableTo(level, source)); } @Override @@ -158,14 +158,14 @@ public void knockback(double strength, double xRatio, double zRatio) { } @Override - public boolean hurt(DamageSource source, float damage) { + public boolean hurtServer(ServerLevel level, DamageSource source, float damage) { // in tantrum mode take only 1/10 damage if (this.isInTantrum()) { damage /= 10; } float oldHealth = this.getHealth(); - boolean hurt = super.hurt(source, damage); + boolean hurt = super.hurtServer(level, source, damage); float lastDamage = oldHealth - this.getHealth(); if (!this.level().isClientSide()) { @@ -198,7 +198,7 @@ public void resetDamageUntilNextPhase() { private void startTantrum() { this.setInTantrum(true); if (this.level() instanceof ServerLevel serverLevel) { - LightningBolt lightningbolt = EntityType.LIGHTNING_BOLT.create(serverLevel); + LightningBolt lightningbolt = EntityType.LIGHTNING_BOLT.create(serverLevel, EntitySpawnReason.EVENT); if (lightningbolt != null) { BlockPos blockpos = serverLevel.findLightningTargetAround(BlockPos.containing(this.position().add(new Vec3(18.0D, 0.0D, 0.0D).yRot((float) Math.toRadians(this.getRandom().nextInt(360)))))); lightningbolt.moveTo(Vec3.atBottomCenterOf(blockpos)); @@ -249,7 +249,7 @@ private void spawnMinionGhastsAt(ServerLevel level, int x, int y, int z) { level.addFreshEntity(bolt); for (int i = 0; i < tries; i++) { - CarminiteGhastling minion = TFEntities.CARMINITE_GHASTLING.get().create(level); + CarminiteGhastling minion = TFEntities.CARMINITE_GHASTLING.get().create(level, EntitySpawnReason.MOB_SUMMONED); double sx = x + ((this.getRandom().nextDouble() - this.getRandom().nextDouble()) * rangeXZ); double sy = y + (this.getRandom().nextDouble() * rangeY); @@ -257,8 +257,8 @@ private void spawnMinionGhastsAt(ServerLevel level, int x, int y, int z) { minion.moveTo(sx, sy, sz, level.getRandom().nextFloat() * 360.0F, 0.0F); minion.makeBossMinion(); - EventHooks.finalizeMobSpawn(minion, level, level.getCurrentDifficultyAt(minion.blockPosition()), MobSpawnType.MOB_SUMMONED, null); - if (minion.checkSpawnRules(level, MobSpawnType.MOB_SUMMONED)) { + EventHooks.finalizeMobSpawn(minion, level, level.getCurrentDifficultyAt(minion.blockPosition()), EntitySpawnReason.MOB_SUMMONED, null); + if (minion.checkSpawnRules(level, EntitySpawnReason.MOB_SUMMONED)) { level.addFreshEntity(minion); minion.spawnAnim(); } @@ -270,8 +270,8 @@ private void spawnMinionGhastsAt(ServerLevel level, int x, int y, int z) { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.inTrapCounter > 0) { this.inTrapCounter--; @@ -439,7 +439,7 @@ public void die(DamageSource cause) { super.die(cause); // mark the tower as defeated if (this.level() instanceof ServerLevel serverLevel) { - LightningBolt lightningbolt = EntityType.LIGHTNING_BOLT.create(serverLevel); + LightningBolt lightningbolt = EntityType.LIGHTNING_BOLT.create(serverLevel, EntitySpawnReason.EVENT); if (lightningbolt != null) { lightningbolt.moveTo(this.position().add(0.0D, this.getBbHeight() * 0.5F, 0.0D)); lightningbolt.setVisualOnly(true); diff --git a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java index cdca47852f..d110be356f 100644 --- a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java +++ b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java @@ -5,6 +5,7 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.BossHealthOverlay; import net.minecraft.client.gui.components.LerpingBossEvent; +import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -39,12 +40,12 @@ public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.enableBlend(); RenderSystem.setShaderColor(((this.color >> 16) & 255) / 255F, ((this.color >> 8) & 255) / 255F, (this.color & 255) / 255F, 1.0F); - guiGraphics.blitSprite(BAR_BACKGROUND, 182, 5, 0, 0, x, y, 182, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, 182, 5); + guiGraphics.blitSprite(RenderType::guiTextured, BAR_BACKGROUND, 182, 5, 0, 0, x, y, 182, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, 182, 5); int i = Mth.lerpDiscrete(this.getProgress(), 0, 182); if (i > 0) { - guiGraphics.blitSprite(BAR_PROGRESS, 182, 5, 0, 0, x, y, i, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, i, 5); + guiGraphics.blitSprite(RenderType::guiTextured, BAR_PROGRESS, 182, 5, 0, 0, x, y, i, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, i, 5); } RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/twilightforest/entity/monster/BlockChainGoblin.java b/src/main/java/twilightforest/entity/monster/BlockChainGoblin.java index b4c0b28c8f..6c9a090209 100644 --- a/src/main/java/twilightforest/entity/monster/BlockChainGoblin.java +++ b/src/main/java/twilightforest/entity/monster/BlockChainGoblin.java @@ -4,6 +4,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.world.damagesource.DamageSource; @@ -46,7 +47,6 @@ public class BlockChainGoblin extends Monster { private float chainMoveLength; - @SuppressWarnings("this-escape") public final SpikeBlock block = new SpikeBlock(this); private final MultipartGenericsAreDumb[] partsArray; @@ -136,8 +136,8 @@ public boolean isSwingingChain() { } @Override - public boolean doHurtTarget(Entity entity) { - return EntityUtil.properlyApplyCustomDamageSource(this, entity, TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.SPIKED, this, this.block), null); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.SPIKED, this, this.block), null); } @Override @@ -192,8 +192,8 @@ public void tick() { } // collide things with the block - if (!this.level().isClientSide() && this.isAlive() && (this.isThrowing() || this.isSwingingChain())) { - this.applyBlockCollisions(this.block); + if (this.level() instanceof ServerLevel level && this.isAlive() && (this.isThrowing() || this.isSwingingChain())) { + this.applyBlockCollisions(level, this.block); } this.chainMove(); } @@ -218,12 +218,12 @@ public float getChainMoveLength() { /** * Check if the block is colliding with any nearby entities */ - protected void applyBlockCollisions(Entity collider) { + protected void applyBlockCollisions(ServerLevel level, Entity collider) { List list = this.level().getEntities(collider, collider.getBoundingBox().inflate(0.2D, 0.0D, 0.2D)); for (Entity entity : list) { if (entity.isPushable()) { - this.applyBlockCollision(collider, entity); + this.applyBlockCollision(level, collider, entity); } } @@ -237,11 +237,11 @@ protected void applyBlockCollisions(Entity collider) { /** * Do the effect where the block hits something */ - protected void applyBlockCollision(Entity collider, Entity collided) { + protected void applyBlockCollision(ServerLevel level, Entity collider, Entity collided) { if (collided != this) { collided.push(collider); if (collided instanceof LivingEntity) { - if (super.doHurtTarget(collided)) { + if (super.doHurtTarget(level, collided)) { collided.push(0, 0.4, 0); this.playSound(TFSounds.BLOCK_AND_CHAIN_HIT.get(), 1.0F, 1.0F); this.gameEvent(GameEvent.PROJECTILE_LAND); diff --git a/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java b/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java index b5d71e1589..2193af31d8 100644 --- a/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java +++ b/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java @@ -7,14 +7,15 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; @@ -123,7 +124,7 @@ public void aiStep() { } @Override - protected void customServerAiStep() { + protected void customServerAiStep(ServerLevel level) { int status = this.getTarget() != null && this.shouldAttack(this.getTarget()) ? 1 : 0; this.getEntityData().set(ATTACK_STATUS, (byte) status); @@ -160,7 +161,7 @@ protected boolean canRide(Entity entity) { return false; } - public static boolean ghastSpawnHandler(EntityType entityType, LevelAccessor accessor, MobSpawnType type, BlockPos pos, RandomSource random) { + public static boolean ghastSpawnHandler(EntityType entityType, LevelAccessor accessor, EntitySpawnReason type, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && checkMobSpawnRules(entityType, accessor, type, pos, random); } @@ -174,8 +175,8 @@ public boolean isMobWithinHomeArea(Entity entity) { if (!this.isRestrictionPointValid(entity.level().dimension())) return true; // TF - restrict valid y levels // Towers are so large, a simple radius doesn't really work, so we make it more of a cylinder - return entity.blockPosition().getY() > this.level().getMinBuildHeight() + 64 && - entity.blockPosition().getY() < this.level().getMaxBuildHeight() - 64 && + return entity.blockPosition().getY() > this.level().getMinY() + 64 && + entity.blockPosition().getY() < this.level().getMaxY() - 64 && this.getRestrictionPoint().pos().distSqr(entity.blockPosition()) < (double) (this.getHomeRadius() * this.getHomeRadius()); } diff --git a/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java b/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java index 76a0424efc..ad3bedf7e3 100644 --- a/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java +++ b/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java @@ -6,10 +6,10 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.monster.Monster; @@ -26,7 +26,6 @@ public class CarminiteGhastling extends CarminiteGhastguard { private boolean isMinion = false; - @SuppressWarnings("this-escape") public CarminiteGhastling(EntityType type, Level world) { super(type, world); this.wanderFactor = 4.0F; @@ -92,8 +91,8 @@ public boolean shouldAttack(LivingEntity living) { } //This does not factor into whether the entity is a Minion or not. However, since it is spawned via MOB_SUMMONED, it will always spawn if that is the SpawnReason - public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor world, MobSpawnType reason, BlockPos pos, RandomSource random) { - return world.getDifficulty() != Difficulty.PEACEFUL && (reason == MobSpawnType.MOB_SUMMONED || Monster.isDarkEnoughToSpawn(world, pos, random)) && checkMobSpawnRules(entity, world, reason, pos, random); + public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + return world.getDifficulty() != Difficulty.PEACEFUL && (reason == EntitySpawnReason.MOB_SUMMONED || Monster.isDarkEnoughToSpawn(world, pos, random)) && checkMobSpawnRules(entity, world, reason, pos, random); } public void makeBossMinion() { diff --git a/src/main/java/twilightforest/entity/monster/CarminiteGolem.java b/src/main/java/twilightforest/entity/monster/CarminiteGolem.java index 1463650105..f511fb4b47 100644 --- a/src/main/java/twilightforest/entity/monster/CarminiteGolem.java +++ b/src/main/java/twilightforest/entity/monster/CarminiteGolem.java @@ -2,7 +2,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.DustParticleOptions; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; +import net.minecraft.util.ARGB; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityEvent; @@ -27,7 +29,6 @@ public class CarminiteGolem extends Monster { private int attackTimer; - @SuppressWarnings("this-escape") public CarminiteGolem(EntityType type, Level world) { super(type, world); this.setPathfindingMalus(PathType.WATER, -1.0F); @@ -52,8 +53,8 @@ public static AttributeSupplier.Builder registerAttributes() { } @Override - public boolean doHurtTarget(Entity entity) { - boolean attackSuccess = super.doHurtTarget(entity); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + boolean attackSuccess = super.doHurtTarget(level, entity); if (attackSuccess) { this.attackTimer = 10; @@ -88,7 +89,7 @@ public void aiStep() { } if (this.getRandom().nextBoolean()) { - this.level().addParticle(new DustParticleOptions(new Vector3f(1.0F, 0.0F, 0.0F), 1.0F), this.getX() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth(), this.getY() + this.getRandom().nextDouble() * this.getBbHeight() - 0.25D, this.getZ() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth(), 0, 0, 0); + this.level().addParticle(new DustParticleOptions(16711680, 1.0F), this.getX() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth(), this.getY() + this.getRandom().nextDouble() * this.getBbHeight() - 0.25D, this.getZ() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth(), 0, 0, 0); } } diff --git a/src/main/java/twilightforest/entity/monster/DeathTome.java b/src/main/java/twilightforest/entity/monster/DeathTome.java index d0578fe4d7..8d6870db81 100644 --- a/src/main/java/twilightforest/entity/monster/DeathTome.java +++ b/src/main/java/twilightforest/entity/monster/DeathTome.java @@ -7,6 +7,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.DamageTypeTags; import net.minecraft.util.Mth; @@ -50,7 +51,6 @@ public class DeathTome extends Monster implements RangedAttackMob { public float flipT; public float flipA; - @SuppressWarnings("this-escape") public DeathTome(EntityType type, Level world) { super(type, world); this.moveControl = new FlyingMoveControl(this, 10, false); @@ -170,7 +170,7 @@ public void tick() { } @Override - public boolean hurt(DamageSource src, float damage) { + public boolean hurtServer(ServerLevel level, DamageSource src, float damage) { if (this.isOnLectern()) { this.jumpControl.jump(); this.setOnLectern(false); @@ -180,12 +180,12 @@ public boolean hurt(DamageSource src, float damage) { damage *= 2; } - if (super.hurt(src, damage)) { + if (super.hurtServer(level, src, damage)) { if (damage > 0) { if (!this.level().isClientSide()) { LootParams ctx = TFLootTables.createLootParams(this, true, src).create(LootContextParamSets.ENTITY); - Objects.requireNonNull(this.level().getServer()).reloadableRegistries().getLootTable(TFLootTables.DEATH_TOME_HURT).getRandomItems(ctx, s -> spawnAtLocation(s, 1.0F)); + Objects.requireNonNull(this.level().getServer()).reloadableRegistries().getLootTable(TFLootTables.DEATH_TOME_HURT).getRandomItems(ctx, s -> this.spawnAtLocation(level, s, 1.0F)); } } return true; diff --git a/src/main/java/twilightforest/entity/monster/FireBeetle.java b/src/main/java/twilightforest/entity/monster/FireBeetle.java index bfc615fb1a..0baa980618 100644 --- a/src/main/java/twilightforest/entity/monster/FireBeetle.java +++ b/src/main/java/twilightforest/entity/monster/FireBeetle.java @@ -5,6 +5,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; @@ -135,17 +136,17 @@ public int getMaxHeadXRot() { } @Override - public void doBreathAttack(Entity target) { - if (!target.fireImmune() && target.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.SCORCHED, this), BREATH_DAMAGE)) { + public void doBreathAttack(ServerLevel level, Entity target) { + if (!target.fireImmune() && target.hurtServer(level, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.SCORCHED, this), BREATH_DAMAGE)) { target.igniteForSeconds(BREATH_DURATION); } } @Override - public boolean doHurtTarget(Entity entity) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { if (this.isBreathing()) { - return entity.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.SCORCHED, this), BREATH_DAMAGE); + return entity.hurtServer(level, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.SCORCHED, this), BREATH_DAMAGE); } - return super.doHurtTarget(entity); + return super.doHurtTarget(level, entity); } } diff --git a/src/main/java/twilightforest/entity/monster/GiantMiner.java b/src/main/java/twilightforest/entity/monster/GiantMiner.java index 5fa6099229..370faef96b 100644 --- a/src/main/java/twilightforest/entity/monster/GiantMiner.java +++ b/src/main/java/twilightforest/entity/monster/GiantMiner.java @@ -1,6 +1,7 @@ package twilightforest.entity.monster; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.entity.*; @@ -25,7 +26,6 @@ public class GiantMiner extends Monster { - @SuppressWarnings("this-escape") public GiantMiner(EntityType type, Level world) { super(type, world); @@ -56,7 +56,7 @@ public static AttributeSupplier.Builder registerAttributes() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData spawnDataIn) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnDataIn) { SpawnGroupData data = super.finalizeSpawn(accessor, difficulty, reason, spawnDataIn); populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); populateDefaultEquipmentEnchantments(accessor, accessor.getRandom(), difficulty); @@ -79,8 +79,8 @@ protected void enchantSpawnedArmor(ServerLevelAccessor accessor, RandomSource ra } @Override - public boolean doHurtTarget(Entity entity) { - return EntityUtil.properlyApplyCustomDamageSource(this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.ANT, this), null); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.ANT, this), null); } @Override @@ -89,12 +89,12 @@ public int getMaxSpawnClusterSize() { } @Override - public boolean checkSpawnRules(LevelAccessor accessor, MobSpawnType reason) { + public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason reason) { List giantsNearby = accessor.getEntitiesOfClass(GiantMiner.class, this.getBoundingBox().inflate(100, 10, 100)); return giantsNearby.size() < 5; } - public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource rand) { + public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { return accessor.getBlockState(pos.below()).is(BlockTagGenerator.GIANTS_SPAWNABLE_ON); } diff --git a/src/main/java/twilightforest/entity/monster/HedgeSpider.java b/src/main/java/twilightforest/entity/monster/HedgeSpider.java index 63c45a7ac9..a050d0e28c 100644 --- a/src/main/java/twilightforest/entity/monster/HedgeSpider.java +++ b/src/main/java/twilightforest/entity/monster/HedgeSpider.java @@ -6,8 +6,8 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; import net.minecraft.world.entity.monster.Monster; @@ -74,7 +74,7 @@ protected void playStepSound(BlockPos pos, BlockState state) { this.playSound(TFSounds.HEDGE_SPIDER_STEP.get(), 0.15F, 1.0F); } - public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random); } } diff --git a/src/main/java/twilightforest/entity/monster/HostileWolf.java b/src/main/java/twilightforest/entity/monster/HostileWolf.java index f3d95d5928..ad02169a95 100644 --- a/src/main/java/twilightforest/entity/monster/HostileWolf.java +++ b/src/main/java/twilightforest/entity/monster/HostileWolf.java @@ -65,7 +65,7 @@ protected void registerGoals() { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT, this.registryAccess().registryOrThrow(Registries.WOLF_VARIANT).getHolderOrThrow(WolfVariants.PALE)); + builder.define(VARIANT, this.registryAccess().lookupOrThrow(Registries.WOLF_VARIANT).getOrThrow(WolfVariants.PALE)); } public ResourceLocation getTexture() { @@ -94,7 +94,7 @@ public void readAdditionalSaveData(CompoundTag tag) { super.readAdditionalSaveData(tag); Optional.ofNullable(ResourceLocation.tryParse(tag.getString("variant"))) .map(location -> ResourceKey.create(Registries.WOLF_VARIANT, location)) - .flatMap(key -> this.registryAccess().registryOrThrow(Registries.WOLF_VARIANT).getHolder(key)) + .flatMap(key -> this.registryAccess().lookupOrThrow(Registries.WOLF_VARIANT).get(key)) .ifPresent(this::setVariant); } @@ -105,7 +105,7 @@ public void setTarget(@Nullable LivingEntity entity) { super.setTarget(entity); } - public static boolean checkWolfSpawnRules(EntityType entity, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean checkWolfSpawnRules(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/KingSpider.java b/src/main/java/twilightforest/entity/monster/KingSpider.java index 87d0d9c403..076ad30e37 100644 --- a/src/main/java/twilightforest/entity/monster/KingSpider.java +++ b/src/main/java/twilightforest/entity/monster/KingSpider.java @@ -57,17 +57,17 @@ public boolean onClimbable() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); // will always have a druid riding the spider or whatever is riding the spider - SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level()); + SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level(), EntitySpawnReason.JOCKEY); if (druid != null) { druid.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F); - druid.finalizeSpawn(accessor, difficulty, MobSpawnType.JOCKEY, null); + druid.finalizeSpawn(accessor, difficulty, EntitySpawnReason.JOCKEY, null); Entity lastRider = this; while (!lastRider.getPassengers().isEmpty()) - lastRider = lastRider.getPassengers().get(0); + lastRider = lastRider.getPassengers().getFirst(); druid.startRiding(lastRider); } return data; diff --git a/src/main/java/twilightforest/entity/monster/Kobold.java b/src/main/java/twilightforest/entity/monster/Kobold.java index 9fd028c837..945cce1415 100644 --- a/src/main/java/twilightforest/entity/monster/Kobold.java +++ b/src/main/java/twilightforest/entity/monster/Kobold.java @@ -8,6 +8,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.world.damagesource.DamageSource; @@ -45,7 +46,6 @@ public class Kobold extends Monster { private int lastEatenBreadTicks; private int eatingTime; - @SuppressWarnings("this-escape") public Kobold(EntityType type, Level world) { super(type, world); this.setCanPickUpLoot(true); @@ -103,11 +103,6 @@ public void setPanicked(boolean flag) { this.getEntityData().set(PANICKED, flag); } - @Override - public SoundEvent getEatingSound(ItemStack stack) { - return TFSounds.KOBOLD_MUNCH.get(); - } - @Override public void aiStep() { super.aiStep(); @@ -132,7 +127,7 @@ public void aiStep() { } //every 3 seconds chew some bread if (this.lastEatenBreadTicks > 60 && this.getRandom().nextFloat() < 0.1F) { - this.playSound(this.getEatingSound(itemstack), 0.75F, 0.9F); + this.playSound(TFSounds.KOBOLD_MUNCH.get(), 0.75F, 0.9F); this.gameEvent(GameEvent.EAT); this.level().broadcastEntityEvent(this, (byte) 45); this.lastEatenBreadTicks = 0; @@ -154,7 +149,8 @@ public void handleEntityEvent(byte pId) { } - private void spawnItemParticles(ItemStack stack, int amount) { + @Override + public void spawnItemParticles(ItemStack stack, int amount) { ParticleOptions particleOptions = new ItemParticleOption(ParticleTypes.ITEM, stack); if (this.level().isClientSide()) { for (int i = 0; i < amount; ++i) { @@ -193,13 +189,8 @@ private boolean canEat(ItemStack stack) { } @Override - public boolean canTakeItem(ItemStack stack) { - EquipmentSlot equipmentslot = this.getEquipmentSlotForItem(stack); - if (!this.getItemBySlot(equipmentslot).isEmpty()) { - return false; - } else { - return equipmentslot == EquipmentSlot.MAINHAND && super.canTakeItem(stack); - } + protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) { + return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot(); } @Override @@ -208,7 +199,7 @@ public boolean canHoldItem(ItemStack stack) { } @Override - protected void pickUpItem(ItemEntity item) { + protected void pickUpItem(ServerLevel level, ItemEntity item) { ItemStack itemstack = item.getItem(); if (this.canHoldItem(itemstack)) { int i = itemstack.getCount(); diff --git a/src/main/java/twilightforest/entity/monster/LichMinion.java b/src/main/java/twilightforest/entity/monster/LichMinion.java index 13ad2ee1e9..d98848b3d8 100644 --- a/src/main/java/twilightforest/entity/monster/LichMinion.java +++ b/src/main/java/twilightforest/entity/monster/LichMinion.java @@ -1,5 +1,6 @@ package twilightforest.entity.monster; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; @@ -30,10 +31,10 @@ public LichMinion(Level world, Lich entityTFLich) { } @Override - public boolean hurt(DamageSource source, float amount) { - LivingEntity prevTarget = getTarget(); + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + LivingEntity prevTarget = this.getTarget(); - if (super.hurt(source, amount)) { + if (super.hurtServer(level, source, amount)) { if (source.getEntity() instanceof Lich) { // return to previous target but speed up this.setLastHurtByMob(prevTarget); @@ -72,8 +73,8 @@ public void aiStep() { this.findNewMaster(); } // if we still don't have a master, or ours is dead, die. - if (this.master == null || !this.master.isAlive()) { - this.kill(); + if ((this.master == null || !this.master.isAlive()) && this.level() instanceof ServerLevel level) { + this.kill(level); } super.aiStep(); } diff --git a/src/main/java/twilightforest/entity/monster/LowerGoblinKnight.java b/src/main/java/twilightforest/entity/monster/LowerGoblinKnight.java index 4d54cb2ccd..8e2498b1d9 100644 --- a/src/main/java/twilightforest/entity/monster/LowerGoblinKnight.java +++ b/src/main/java/twilightforest/entity/monster/LowerGoblinKnight.java @@ -4,6 +4,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.world.DifficultyInstance; @@ -36,7 +37,6 @@ public class LowerGoblinKnight extends Monster { private static final EntityDataAccessor ARMOR = SynchedEntityData.defineId(LowerGoblinKnight.class, EntityDataSerializers.BOOLEAN); private static final AttributeModifier ARMOR_MODIFIER = new AttributeModifier(TwilightForestMod.prefix("armor_boost"), 17, AttributeModifier.Operation.ADD_VALUE); - @SuppressWarnings("this-escape") public LowerGoblinKnight(EntityType type, Level world) { super(type, world); this.setHasArmor(true); @@ -107,12 +107,12 @@ public void readAdditionalSaveData(CompoundTag compound) { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); UpperGoblinKnight upper = new UpperGoblinKnight(TFEntities.UPPER_GOBLIN_KNIGHT.get(), this.level()); upper.moveTo(this.getX(), this.getY() + 1, this.getZ(), this.getYRot(), 0.0F); - EventHooks.finalizeMobSpawn(upper, accessor, difficulty, MobSpawnType.NATURAL, data); + EventHooks.finalizeMobSpawn(upper, accessor, difficulty, EntitySpawnReason.NATURAL, data); upper.startRiding(this); return data; @@ -124,11 +124,11 @@ protected Vec3 getPassengerAttachmentPoint(Entity entity, EntityDimensions dimen } @Override - public boolean doHurtTarget(Entity entity) { - if (this.isVehicle() && this.getPassengers().get(0) instanceof LivingEntity living) { - return living.doHurtTarget(entity); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + if (this.isVehicle() && this.getPassengers().getFirst() instanceof LivingEntity living) { + return living.doHurtTarget(level, entity); } else { - return super.doHurtTarget(entity); + return super.doHurtTarget(level, entity); } } @@ -150,7 +150,7 @@ protected SoundEvent getHurtSound(DamageSource source) { } @Override - public boolean hurt(DamageSource source, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { // check the angle of attack, if applicable Entity attacker = null; if (source.getEntity() != null) { @@ -189,7 +189,7 @@ public boolean hurt(DamageSource source, float amount) { } } - return super.hurt(source, amount); + return super.hurtServer(level, source, amount); } @Override diff --git a/src/main/java/twilightforest/entity/monster/LoyalZombie.java b/src/main/java/twilightforest/entity/monster/LoyalZombie.java index 00bdee5e6b..ff0ffd071d 100644 --- a/src/main/java/twilightforest/entity/monster/LoyalZombie.java +++ b/src/main/java/twilightforest/entity/monster/LoyalZombie.java @@ -37,6 +37,7 @@ public class LoyalZombie extends TamableAnimal { public LoyalZombie(EntityType type, Level world) { super(type, world); + this.xpReward = 0; } @Override @@ -66,8 +67,8 @@ public static AttributeSupplier.Builder registerAttributes() { } @Override - public boolean doHurtTarget(Entity entity) { - boolean success = entity.hurt(this.damageSources().mobAttack(this), 7.0F); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + boolean success = entity.hurtServer(level, this.damageSources().mobAttack(this), 7.0F); if (success) { entity.push(0.0D, 0.2D, 0.0D); @@ -98,7 +99,7 @@ public InteractionResult interactAt(Player player, Vec3 vec3, InteractionHand ha this.heal(1.0F); this.playSound(SoundEvents.ZOMBIE_INFECT, this.getSoundVolume(), this.getVoicePitch()); player.getItemInHand(hand).consume(1, player); - return InteractionResult.sidedSuccess(this.level().isClientSide()); + return InteractionResult.SUCCESS; } return super.interactAt(player, vec3, hand); @@ -153,9 +154,4 @@ protected SoundEvent getDeathSound() { protected void playStepSound(BlockPos pos, BlockState state) { playSound(TFSounds.LOYAL_ZOMBIE_STEP.get(), 0.15F, 1.0F); } - - @Override - protected void dropExperience(@Nullable Entity entity) { - - } } diff --git a/src/main/java/twilightforest/entity/monster/MazeSlime.java b/src/main/java/twilightforest/entity/monster/MazeSlime.java index e95ca74a6c..e91dab9d1c 100644 --- a/src/main/java/twilightforest/entity/monster/MazeSlime.java +++ b/src/main/java/twilightforest/entity/monster/MazeSlime.java @@ -9,8 +9,8 @@ import net.minecraft.world.Difficulty; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeInstance; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -40,7 +40,7 @@ public void setSize(int size, boolean resetHealth) { this.xpReward = size + 3; } - public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor world, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return world.getDifficulty() != Difficulty.PEACEFUL && checkMobSpawnRules(entity, world, reason, pos, random) && Monster.isDarkEnoughToSpawn(world, pos, random); } @@ -51,7 +51,7 @@ public static AttributeSupplier.Builder registerAttributes() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor worldIn, DifficultyInstance difficultyIn, MobSpawnType reason, @Nullable SpawnGroupData spawnDataIn) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor worldIn, DifficultyInstance difficultyIn, EntitySpawnReason reason, @Nullable SpawnGroupData spawnDataIn) { AttributeInstance health = this.getAttribute(Attributes.MAX_HEALTH); assert health != null; health.addPermanentModifier(DOUBLE_HEALTH); diff --git a/src/main/java/twilightforest/entity/monster/Minotaur.java b/src/main/java/twilightforest/entity/monster/Minotaur.java index 4f15bfddce..4732ce00fe 100644 --- a/src/main/java/twilightforest/entity/monster/Minotaur.java +++ b/src/main/java/twilightforest/entity/monster/Minotaur.java @@ -4,6 +4,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; @@ -63,7 +64,7 @@ protected void defineSynchedData(SynchedEntityData.Builder builder) { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); this.populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); this.populateDefaultEquipmentEnchantments(accessor, accessor.getRandom(), difficulty); @@ -92,8 +93,8 @@ public void setCharging(boolean flag) { } @Override - public boolean doHurtTarget(Entity entity) { - return EntityUtil.properlyApplyCustomDamageSource(this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.AXING, this), TFSounds.MINOTAUR_ATTACK.get()); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.AXING, this), TFSounds.MINOTAUR_ATTACK.get()); } @Override diff --git a/src/main/java/twilightforest/entity/monster/MistWolf.java b/src/main/java/twilightforest/entity/monster/MistWolf.java index 6a3d0b24d1..cfe39457e7 100644 --- a/src/main/java/twilightforest/entity/monster/MistWolf.java +++ b/src/main/java/twilightforest/entity/monster/MistWolf.java @@ -1,5 +1,6 @@ package twilightforest.entity.monster; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; @@ -25,8 +26,8 @@ public static AttributeSupplier.Builder registerAttributes() { } @Override - public boolean doHurtTarget(Entity entity) { - if (super.doHurtTarget(entity)) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { + if (super.doHurtTarget(level, entity)) { float myBrightness = this.level().getMaxLocalRawBrightness(this.blockPosition()); if (entity instanceof LivingEntity && myBrightness < 0.10F) { diff --git a/src/main/java/twilightforest/entity/monster/MosquitoSwarm.java b/src/main/java/twilightforest/entity/monster/MosquitoSwarm.java index fdb8cc374e..b56dd5de5a 100644 --- a/src/main/java/twilightforest/entity/monster/MosquitoSwarm.java +++ b/src/main/java/twilightforest/entity/monster/MosquitoSwarm.java @@ -1,5 +1,6 @@ package twilightforest.entity.monster; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; @@ -48,7 +49,7 @@ protected SoundEvent getAmbientSound() { } @Override - protected SoundEvent getHurtSound(DamageSource pDamageSource) { + protected SoundEvent getHurtSound(DamageSource source) { return null; } @@ -58,8 +59,8 @@ protected SoundEvent getDeathSound() { } @Override - public boolean doHurtTarget(Entity entity) { - if (super.doHurtTarget(entity)) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { + if (super.doHurtTarget(level, entity)) { if (entity instanceof LivingEntity living) { int duration = switch (this.level().getDifficulty()) { case EASY -> 7; diff --git a/src/main/java/twilightforest/entity/monster/PinchBeetle.java b/src/main/java/twilightforest/entity/monster/PinchBeetle.java index 96ecac67b8..320f317d3d 100644 --- a/src/main/java/twilightforest/entity/monster/PinchBeetle.java +++ b/src/main/java/twilightforest/entity/monster/PinchBeetle.java @@ -1,6 +1,7 @@ package twilightforest.entity.monster; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.damagesource.DamageSource; @@ -117,7 +118,7 @@ public void knockback(double x, double y, double z) { } @Override - public boolean doHurtTarget(Entity entity) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { if (this.getPassengers().isEmpty()) { var v = entity.getVehicle(); @@ -128,22 +129,13 @@ public boolean doHurtTarget(Entity entity) { entity.startRiding(this, true); } } - return EntityUtil.properlyApplyCustomDamageSource(this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.CLAMPED, this), null); + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.CLAMPED, this), null); } @Override public boolean startRiding(Entity entity, boolean force) { if (entity instanceof Boat boat) { - boat.kill(); - if (this.level().getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) { - for (int i = 0; i < 3; i++) { - this.spawnAtLocation(boat.getVariant().getPlanks()); - } - - for (int j = 0; j < 2; j++) { - this.spawnAtLocation(Items.STICK); - } - } + boat.discard(); this.playSound(SoundEvents.ZOMBIE_BREAK_WOODEN_DOOR); return false; } diff --git a/src/main/java/twilightforest/entity/monster/Redcap.java b/src/main/java/twilightforest/entity/monster/Redcap.java index bb3b1ce3f7..2d963a4ca7 100644 --- a/src/main/java/twilightforest/entity/monster/Redcap.java +++ b/src/main/java/twilightforest/entity/monster/Redcap.java @@ -5,9 +5,9 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -79,7 +79,7 @@ public boolean isShy() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData spawnDataIn) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnDataIn) { SpawnGroupData data = super.finalizeSpawn(accessor, difficulty, reason, spawnDataIn); this.populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); diff --git a/src/main/java/twilightforest/entity/monster/RisingZombie.java b/src/main/java/twilightforest/entity/monster/RisingZombie.java index 0dc2e4da3d..14ab14a37d 100644 --- a/src/main/java/twilightforest/entity/monster/RisingZombie.java +++ b/src/main/java/twilightforest/entity/monster/RisingZombie.java @@ -4,8 +4,8 @@ import net.minecraft.core.particles.ParticleTypes; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.monster.Zombie; @@ -13,6 +13,7 @@ import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.fluids.FluidType; import org.jetbrains.annotations.Nullable; import java.util.Objects; @@ -30,7 +31,7 @@ protected void registerGoals() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { // NO-OP return data; } @@ -65,4 +66,34 @@ public void knockback(double strength, double xRatio, double zRatio) { protected boolean canRide(Entity entity) { return false; } + + @Override + public void push(Entity entity) { + + } + + @Override + public boolean isPushable() { + return false; + } + + @Override + protected boolean isImmobile() { + return true; + } + + @Override + public boolean canUsePortal(boolean allowPassengers) { + return false; + } + + @Override + public boolean isPushedByFluid(FluidType type) { + return false; + } + + @Override + protected void pushEntities() { + + } } diff --git a/src/main/java/twilightforest/entity/monster/SkeletonDruid.java b/src/main/java/twilightforest/entity/monster/SkeletonDruid.java index aa69635f0b..e5cc271531 100644 --- a/src/main/java/twilightforest/entity/monster/SkeletonDruid.java +++ b/src/main/java/twilightforest/entity/monster/SkeletonDruid.java @@ -5,6 +5,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; @@ -29,8 +30,6 @@ import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; -import java.util.UUID; - public class SkeletonDruid extends AbstractSkeleton { private RangedAttackGoal rangedAttackGoal; @@ -115,7 +114,7 @@ public void performRangedAttack(LivingEntity attackTarget, float extraDamage) { } } - public static boolean checkDruidSpawnRules(EntityType entity, LevelAccessor world, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean checkDruidSpawnRules(EntityType entity, LevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return world.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(world, pos, random) && checkMobSpawnRules(entity, world, reason, pos, random); } @@ -152,12 +151,12 @@ public boolean isBaby() { } @Override - public int getBaseExperienceReward() { + public int getBaseExperienceReward(ServerLevel level) { if (this.isBaby()) { this.xpReward = (int) (this.xpReward * 2.5F); } - return super.getBaseExperienceReward(); + return super.getBaseExperienceReward(level); } @Override diff --git a/src/main/java/twilightforest/entity/monster/SnowGuardian.java b/src/main/java/twilightforest/entity/monster/SnowGuardian.java index d10a23b7ec..6a00cfbf8d 100644 --- a/src/main/java/twilightforest/entity/monster/SnowGuardian.java +++ b/src/main/java/twilightforest/entity/monster/SnowGuardian.java @@ -4,6 +4,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.MobSpawnType; @@ -112,7 +113,7 @@ private Item makeItemForSlot(EquipmentSlot slot, int type) { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData spawnDataIn) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnDataIn) { SpawnGroupData data = super.finalizeSpawn(accessor, difficulty, reason, spawnDataIn); this.populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); this.populateDefaultEquipmentEnchantments(accessor, accessor.getRandom(), difficulty); diff --git a/src/main/java/twilightforest/entity/monster/SwarmSpider.java b/src/main/java/twilightforest/entity/monster/SwarmSpider.java index a15b970f18..7113808c7e 100644 --- a/src/main/java/twilightforest/entity/monster/SwarmSpider.java +++ b/src/main/java/twilightforest/entity/monster/SwarmSpider.java @@ -9,8 +9,8 @@ import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -79,8 +79,8 @@ protected void playStepSound(BlockPos pos, BlockState state) { } @Override - public boolean doHurtTarget(Entity entity) { - return this.getRandom().nextInt(4) == 0 && super.doHurtTarget(entity); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return this.getRandom().nextInt(4) == 0 && super.doHurtTarget(level, entity); } protected boolean spawnAnother(ServerLevel level) { @@ -91,7 +91,7 @@ protected boolean spawnAnother(ServerLevel level) { double sz = this.getZ() + (this.getRandom().nextBoolean() ? 0.9D : -0.9D); another.moveTo(sx, sy, sz, this.getRandom().nextFloat() * 360.0F, 0.0F); - if (!another.checkSpawnRules(level, MobSpawnType.REINFORCEMENT)) { + if (!another.checkSpawnRules(level, EntitySpawnReason.REINFORCEMENT)) { another.discard(); return false; } @@ -105,7 +105,7 @@ public EntityType getReinforcementType() { return TFEntities.SWARM_SPIDER.get(); } - public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); } @@ -128,14 +128,14 @@ public int getMaxSpawnClusterSize() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData livingData) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData livingData) { livingData = super.finalizeSpawn(accessor, difficulty, reason, livingData); - if (reason != MobSpawnType.CONVERSION && reason != MobSpawnType.REINFORCEMENT) { + if (reason != EntitySpawnReason.CONVERSION && reason != EntitySpawnReason.REINFORCEMENT && reason != EntitySpawnReason.SPAWN_ITEM_USE) { int more = 1 + this.getRandom().nextInt(2); for (int i = 0; i < more; i++) { // try twice to spawn - if (!spawnAnother(accessor.getLevel())) spawnAnother(accessor.getLevel()); + if (!this.spawnAnother(accessor.getLevel())) this.spawnAnother(accessor.getLevel()); } } @@ -146,11 +146,11 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst public void summonJockey(ServerLevelAccessor accessor, DifficultyInstance difficulty) { if (this.getFirstPassenger() != null || accessor.getRandom().nextInt(200) == 0) { - SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level()); + SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level(), EntitySpawnReason.JOCKEY); if (druid != null) { druid.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F); druid.setBaby(true); - EventHooks.finalizeMobSpawn(druid, accessor, difficulty, MobSpawnType.JOCKEY, null); + EventHooks.finalizeMobSpawn(druid, accessor, difficulty, EntitySpawnReason.JOCKEY, null); if (this.hasPassenger(e -> true)) this.ejectPassengers(); druid.startRiding(this); diff --git a/src/main/java/twilightforest/entity/monster/TowerwoodBorer.java b/src/main/java/twilightforest/entity/monster/TowerwoodBorer.java index 1eed981635..e76a4b55bb 100644 --- a/src/main/java/twilightforest/entity/monster/TowerwoodBorer.java +++ b/src/main/java/twilightforest/entity/monster/TowerwoodBorer.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.DamageTypeTags; import net.minecraft.util.RandomSource; @@ -78,15 +79,15 @@ protected SoundEvent getDeathSound() { // [VanillaCopy] Silverfish.hurt @Override - public boolean hurt(DamageSource source, float amount) { - if (this.isInvulnerableTo(source)) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + if (this.isInvulnerableTo(level, source)) { return false; } else { if ((source.getEntity() != null || source.is(DamageTypeTags.ALWAYS_TRIGGERS_SILVERFISH)) && this.summonBorers != null) { this.summonBorers.notifyHurt(); } - return super.hurt(source, amount); + return super.hurtServer(level, source, amount); } } @@ -121,7 +122,7 @@ public boolean canUse() { } else { RandomSource random = this.mob.getRandom(); - if (random.nextInt(10) == 0 && EventHooks.canEntityGrief(this.mob.level(), this.mob)) { + if (random.nextInt(10) == 0 && EventHooks.canEntityGrief((ServerLevel) this.mob.level(), this.mob)) { this.facing = Direction.getRandom(random); BlockPos blockpos = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.facing); BlockState state = this.mob.level().getBlockState(blockpos); @@ -204,7 +205,7 @@ public void tick() { // TF - Change block check if (state.is(TFBlocks.INFESTED_TOWERWOOD)) { - if (EventHooks.canEntityGrief(world, this.borer)) { + if (EventHooks.canEntityGrief((ServerLevel) world, this.borer)) { world.destroyBlock(offsetPos, true); this.borer.gameEvent(GameEvent.BLOCK_DESTROY); } else { diff --git a/src/main/java/twilightforest/entity/monster/Troll.java b/src/main/java/twilightforest/entity/monster/Troll.java index c5a56b4281..19bdeec8cd 100644 --- a/src/main/java/twilightforest/entity/monster/Troll.java +++ b/src/main/java/twilightforest/entity/monster/Troll.java @@ -53,7 +53,6 @@ public class Troll extends Monster implements RangedAttackMob { @Nullable private BlockState rock; - @SuppressWarnings("this-escape") public Troll(EntityType type, Level level) { super(type, level); this.rockCooldown = 300 + this.getRandom().nextInt(100); @@ -161,11 +160,6 @@ public void setHasRock(boolean rock) { } } - @Override - public boolean doHurtTarget(Entity entity) { - return super.doHurtTarget(entity); - } - @Override public void addAdditionalSaveData(CompoundTag compound) { super.addAdditionalSaveData(compound); diff --git a/src/main/java/twilightforest/entity/monster/UnstableIceCore.java b/src/main/java/twilightforest/entity/monster/UnstableIceCore.java index cf552e8dc4..16c7c42570 100644 --- a/src/main/java/twilightforest/entity/monster/UnstableIceCore.java +++ b/src/main/java/twilightforest/entity/monster/UnstableIceCore.java @@ -1,9 +1,10 @@ package twilightforest.entity.monster; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.BlockTags; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; @@ -68,8 +69,8 @@ protected void tickDeath() { ++this.deathTime; if (this.deathTime == 60) { // delay until 3 seconds - if (!this.level().isClientSide()) { - boolean mobGriefing = EventHooks.canEntityGrief(this.level(), this); + if (this.level() instanceof ServerLevel level) { + boolean mobGriefing = EventHooks.canEntityGrief(level, this); this.level().explode(this, this.getX(), this.getY(), this.getZ(), UnstableIceCore.EXPLOSION_RADIUS, Level.ExplosionInteraction.MOB); if (mobGriefing) { @@ -141,9 +142,9 @@ private static DyeColor getClosestDyeColor(int blockColor) { for (DyeColor color : DyeColor.values()) { int iColor = color.getTextureDiffuseColor(); - int iRed = FastColor.ARGB32.red(iColor); - int iGreen = FastColor.ARGB32.green(iColor); - int iBlue = FastColor.ARGB32.blue(iColor); + int iRed = ARGB.red(iColor); + int iGreen = ARGB.green(iColor); + int iBlue = ARGB.blue(iColor); int difference = Math.abs(red - iRed) + Math.abs(green - iGreen) + Math.abs(blue - iBlue); diff --git a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java index 868a7667b4..27d4064a7f 100644 --- a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java +++ b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java @@ -167,8 +167,8 @@ protected SoundEvent getHurtSound(DamageSource source) { } @Override - public void customServerAiStep() { - super.customServerAiStep(); + public void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.isShieldDisabled() && this.shieldDisabledTicks++ >= 100) { this.shieldDisabledTicks = 0; @@ -195,7 +195,7 @@ public void customServerAiStep() { } } - public void landHeavySpearAttack() { + public void landHeavySpearAttack(ServerLevel level) { // find vector in front of us Vec3 vector = this.getLookAngle(); @@ -224,7 +224,7 @@ public void landHeavySpearAttack() { List inBox = this.level().getEntities(this, spearBB, e -> e != this.getVehicle()); for (Entity entity : inBox) { - super.doHurtTarget(entity); + super.doHurtTarget(level, entity); } if (!inBox.isEmpty()) { @@ -249,7 +249,7 @@ public void handleEntityEvent(byte id) { } @Override - public boolean doHurtTarget(Entity entity) { + public boolean doHurtTarget(ServerLevel level, Entity entity) { if (this.heavySpearTimer > 0) { return false; @@ -262,17 +262,17 @@ public boolean doHurtTarget(Entity entity) { } this.swing(InteractionHand.MAIN_HAND); - return super.doHurtTarget(entity); + return super.doHurtTarget(level, entity); } @Override - public boolean hurt(DamageSource damageSource, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { // don't take suffocation damage while riding - if (damageSource.is(DamageTypes.IN_WALL) && this.getVehicle() != null) { + if (source.is(DamageTypes.IN_WALL) && this.getVehicle() != null) { return false; } - Entity attacker = damageSource.getEntity(); + Entity attacker = source.getEntity(); if (attacker != null) { double dx = this.getX() - attacker.getX(); @@ -282,7 +282,7 @@ public boolean hurt(DamageSource damageSource, float amount) { float difference = Mth.abs((this.yBodyRot - angle) % 360); if (this.hasShield() && difference > 150 && difference < 230) { - if (this.takeHitOnShield(damageSource, amount)) { + if (this.takeHitOnShield(source, amount)) { return false; } } else { @@ -296,7 +296,7 @@ public boolean hurt(DamageSource damageSource, float amount) { } } - return super.hurt(damageSource, amount); + return super.hurtServer(level, source, amount); } private void breakArmor() { diff --git a/src/main/java/twilightforest/entity/monster/WinterWolf.java b/src/main/java/twilightforest/entity/monster/WinterWolf.java index 3556c30541..0100ea3e20 100644 --- a/src/main/java/twilightforest/entity/monster/WinterWolf.java +++ b/src/main/java/twilightforest/entity/monster/WinterWolf.java @@ -5,13 +5,14 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; @@ -147,11 +148,11 @@ public void setBreathing(boolean flag) { } @Override - public void doBreathAttack(Entity target) { - target.hurt(this.damageSources().mobAttack(this), BREATH_DAMAGE); + public void doBreathAttack(ServerLevel level, Entity target) { + target.hurtServer(level, this.damageSources().mobAttack(this), BREATH_DAMAGE); } - public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { Optional> key = accessor.getBiome(pos).unwrapKey(); return accessor.getDifficulty() != Difficulty.PEACEFUL && Objects.equals(key, Optional.of(TFBiomes.SNOWY_FOREST)) || Monster.isDarkEnoughToSpawn(accessor, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/Wraith.java b/src/main/java/twilightforest/entity/monster/Wraith.java index 08b3c13882..83d1f228b9 100644 --- a/src/main/java/twilightforest/entity/monster/Wraith.java +++ b/src/main/java/twilightforest/entity/monster/Wraith.java @@ -7,6 +7,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; @@ -30,6 +31,7 @@ import twilightforest.entity.ai.goal.SimplifiedAttackGoal; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFSounds; +import twilightforest.util.entities.EntityUtil; import java.util.EnumSet; import java.util.Optional; @@ -38,7 +40,6 @@ public class Wraith extends FlyingMob implements Enemy, EnforcedHomePoint { private static final EntityDataAccessor> HOME_POINT = SynchedEntityData.defineId(Wraith.class, EntityDataSerializers.OPTIONAL_GLOBAL_POS); - @SuppressWarnings("this-escape") public Wraith(EntityType type, Level level) { super(type, level); this.moveControl = new NoClipMoveControl(this); @@ -79,8 +80,8 @@ protected boolean shouldDespawnInPeaceful() { } @Override - public boolean hurt(DamageSource source, float amount) { - if (super.hurt(source, amount)) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + if (super.hurtServer(level, source, amount)) { Entity entity = source.getEntity(); if (this.getVehicle() == entity || this.getPassengers().contains(entity)) { return true; @@ -95,9 +96,8 @@ public boolean hurt(DamageSource source, float amount) { } @Override - public boolean doHurtTarget(Entity entity) { - entity.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.HAUNT, this), (float) this.getAttributeValue(Attributes.ATTACK_DAMAGE)); - return super.doHurtTarget(entity); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return EntityUtil.properlyApplyCustomDamageSource(level, this, entity, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.HAUNT, this), null); } @Override @@ -120,13 +120,13 @@ protected SoundEvent getDeathSound() { return TFSounds.WRAITH_DEATH.get(); } - public static boolean checkMonsterSpawnRules(EntityType entity, ServerLevelAccessor world, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean checkMonsterSpawnRules(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return world.getDifficulty() != Difficulty.PEACEFUL && Monster.isDarkEnoughToSpawn(world, pos, random) && checkMobSpawnRules(entity, world, reason, pos, random); } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType type, @Nullable SpawnGroupData data) { - if (type == MobSpawnType.STRUCTURE || type == MobSpawnType.SPAWNER) this.setRestrictionPoint(GlobalPos.of(accessor.getLevel().dimension(), this.blockPosition())); + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason type, @Nullable SpawnGroupData data) { + if (type == EntitySpawnReason.STRUCTURE || type == EntitySpawnReason.SPAWNER) this.setRestrictionPoint(GlobalPos.of(accessor.getLevel().dimension(), this.blockPosition())); return super.finalizeSpawn(accessor, difficulty, type, data); } diff --git a/src/main/java/twilightforest/entity/monster/Yeti.java b/src/main/java/twilightforest/entity/monster/Yeti.java index c9e9d815b4..0a785ab5db 100644 --- a/src/main/java/twilightforest/entity/monster/Yeti.java +++ b/src/main/java/twilightforest/entity/monster/Yeti.java @@ -6,6 +6,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; import net.minecraft.world.Difficulty; @@ -96,13 +97,13 @@ public void aiStep() { } @Override - public boolean hurt(DamageSource source, float amount) { + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { if (source.getEntity() != null && !source.isCreativePlayer()) { // become angry this.setAngry(true); } - return super.hurt(source, amount); + return super.hurtServer(level, source, amount); } public boolean isAngry() { @@ -145,7 +146,7 @@ public boolean canRiderInteract() { return true; } - public static boolean yetiSnowyForestSpawnHandler(EntityType entityType, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean yetiSnowyForestSpawnHandler(EntityType entityType, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { if (accessor.getDifficulty() != Difficulty.PEACEFUL) { if (accessor.getBiome(pos).is(TFBiomes.SNOWY_FOREST)) { return checkMobSpawnRules(entityType, accessor, reason, pos, random); @@ -157,7 +158,7 @@ public static boolean yetiSnowyForestSpawnHandler(EntityType ent return false; } - public static boolean normalYetiSpawnHandler(EntityType entity, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean normalYetiSpawnHandler(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); } diff --git a/src/main/java/twilightforest/entity/passive/Bighorn.java b/src/main/java/twilightforest/entity/passive/Bighorn.java index 23785246a0..dc72641493 100644 --- a/src/main/java/twilightforest/entity/passive/Bighorn.java +++ b/src/main/java/twilightforest/entity/passive/Bighorn.java @@ -1,15 +1,14 @@ package twilightforest.entity.passive; import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.animal.Sheep; import net.minecraft.world.item.DyeColor; @@ -18,12 +17,10 @@ import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.storage.loot.LootTable; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; -import twilightforest.loot.TFLootTables; public class Bighorn extends Sheep { @@ -31,32 +28,6 @@ public Bighorn(EntityType type, Level world) { super(type, world); } - @Override - public ResourceKey getDefaultLootTable() { - if (this.isSheared()) { - return this.getType().getDefaultLootTable(); - } else { - return switch (this.getColor()) { - case ORANGE -> TFLootTables.BIGHORN_SHEEP_ORANGE; - case MAGENTA -> TFLootTables.BIGHORN_SHEEP_MAGENTA; - case LIGHT_BLUE -> TFLootTables.BIGHORN_SHEEP_LIGHT_BLUE; - case YELLOW -> TFLootTables.BIGHORN_SHEEP_YELLOW; - case LIME -> TFLootTables.BIGHORN_SHEEP_LIME; - case PINK -> TFLootTables.BIGHORN_SHEEP_PINK; - case GRAY -> TFLootTables.BIGHORN_SHEEP_GRAY; - case LIGHT_GRAY -> TFLootTables.BIGHORN_SHEEP_LIGHT_GRAY; - case CYAN -> TFLootTables.BIGHORN_SHEEP_CYAN; - case PURPLE -> TFLootTables.BIGHORN_SHEEP_PURPLE; - case BLUE -> TFLootTables.BIGHORN_SHEEP_BLUE; - case BROWN -> TFLootTables.BIGHORN_SHEEP_BROWN; - case GREEN -> TFLootTables.BIGHORN_SHEEP_GREEN; - case RED -> TFLootTables.BIGHORN_SHEEP_RED; - case BLACK -> TFLootTables.BIGHORN_SHEEP_BLACK; - default -> TFLootTables.BIGHORN_SHEEP_WHITE; - }; - } - } - private static DyeColor getRandomFleeceColor(RandomSource random) { return random.nextBoolean() ? DyeColor.BROWN @@ -65,22 +36,22 @@ private static DyeColor getRandomFleeceColor(RandomSource random) { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData livingdata) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData livingdata) { livingdata = super.finalizeSpawn(accessor, difficulty, reason, livingdata); this.setColor(getRandomFleeceColor(accessor.getRandom())); return livingdata; } @Override - public Sheep getBreedOffspring(ServerLevel world, AgeableMob ageable) { + public Sheep getBreedOffspring(ServerLevel level, AgeableMob ageable) { if (!(ageable instanceof Bighorn otherParent)) { TwilightForestMod.LOGGER.error("Code was called to breed a Bighorn with a non Bighorn! Cancelling!"); return null; } - Bighorn babySheep = TFEntities.BIGHORN_SHEEP.get().create(world); + Bighorn babySheep = TFEntities.BIGHORN_SHEEP.get().create(level, EntitySpawnReason.BREEDING); if (babySheep != null) { - babySheep.setColor(this.getOffspringColor(this, otherParent)); + babySheep.setColor(this.getOffspringColor(level, this, otherParent)); } return babySheep; } diff --git a/src/main/java/twilightforest/entity/passive/Boar.java b/src/main/java/twilightforest/entity/passive/Boar.java index f47493335e..2f58281c96 100644 --- a/src/main/java/twilightforest/entity/passive/Boar.java +++ b/src/main/java/twilightforest/entity/passive/Boar.java @@ -5,6 +5,7 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; @@ -34,7 +35,7 @@ protected void registerGoals() { this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); this.goalSelector.addGoal(3, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, Ingredient.of(Items.CARROT_ON_A_STICK), false)); - this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, Ingredient.of(ItemTagGenerator.BOAR_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, stack -> stack.is(ItemTagGenerator.BOAR_TEMPT_ITEMS), false)); this.goalSelector.addGoal(5, new FollowParentGoal(this, 1.1D)); this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F)); @@ -47,7 +48,7 @@ public static AttributeSupplier.Builder registerAttributes() { @Override public Boar getBreedOffspring(ServerLevel world, AgeableMob ageableMob) { - return TFEntities.BOAR.get().create(world); + return TFEntities.BOAR.get().create(world, EntitySpawnReason.BREEDING); } @Override diff --git a/src/main/java/twilightforest/entity/passive/Deer.java b/src/main/java/twilightforest/entity/passive/Deer.java index 1ba634ae24..f410747368 100644 --- a/src/main/java/twilightforest/entity/passive/Deer.java +++ b/src/main/java/twilightforest/entity/passive/Deer.java @@ -5,6 +5,7 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; @@ -31,7 +32,7 @@ protected void registerGoals() { goalSelector.addGoal(0, new FloatGoal(this)); goalSelector.addGoal(1, new PanicGoal(this, 2.0D)); goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); - goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(ItemTagGenerator.DEER_TEMPT_ITEMS), false)); + goalSelector.addGoal(3, new TemptGoal(this, 1.25D, stack -> stack.is(ItemTagGenerator.DEER_TEMPT_ITEMS), false)); goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Player.class, 16.0F, 1.5D, 1.8D)); goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); @@ -66,7 +67,7 @@ protected void playStepSound(BlockPos pos, BlockState state) { @Override public Deer getBreedOffspring(ServerLevel level, AgeableMob mate) { - return TFEntities.DEER.get().create(level); + return TFEntities.DEER.get().create(level, EntitySpawnReason.BREEDING); } @Override diff --git a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java index adb0793d3f..c0d234940d 100644 --- a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java +++ b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java @@ -46,7 +46,7 @@ protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 2.0F)); this.goalSelector.addGoal(2, new BreedGoal(this, 0.8D)); - this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, Ingredient.of(ItemTagGenerator.DWARF_RABBIT_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(ItemTagGenerator.DWARF_RABBIT_TEMPT_ITEMS), false)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Player.class, 2.0F, 0.8F, 1.33F)); this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Ocelot.class, 8.0F, 0.8F, 1.1F)); this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Cat.class, 8.0F, 0.8F, 1.1F)); @@ -68,7 +68,7 @@ public static AttributeSupplier.Builder registerAttributes() { @Nullable @Override public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob mob) { - DwarfRabbit dwarf = TFEntities.DWARF_RABBIT.get().create(level); + DwarfRabbit dwarf = TFEntities.DWARF_RABBIT.get().create(level, EntitySpawnReason.BREEDING); Holder variant = DwarfRabbitVariant.getRandomCommonVariant(level.registryAccess(), level.getRandom()); if (dwarf != null && mob instanceof DwarfRabbit parent) { if (this.getRandom().nextInt(20) != 0) { @@ -87,7 +87,7 @@ public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob mob) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT, this.registryAccess().registryOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getHolderOrThrow(DwarfRabbitVariants.BROWN)); + builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getOrThrow(DwarfRabbitVariants.BROWN)); } @Override @@ -101,12 +101,12 @@ public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); Optional.ofNullable(ResourceLocation.tryParse(compound.getString("variant"))) .map(location -> ResourceKey.create(TFRegistries.Keys.DWARF_RABBIT_VARIANT, location)) - .flatMap(key -> this.registryAccess().registryOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getHolder(key)) + .flatMap(key -> this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).get(key)) .ifPresent(this::setVariant); } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType type, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason type, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, type, data); this.setVariant(DwarfRabbitVariant.getVariant(accessor.registryAccess(), accessor.getBiome(this.blockPosition()), this.getRandom())); return data; diff --git a/src/main/java/twilightforest/entity/passive/DwarfRabbitVariant.java b/src/main/java/twilightforest/entity/passive/DwarfRabbitVariant.java index 064831c48e..e7d64c6320 100644 --- a/src/main/java/twilightforest/entity/passive/DwarfRabbitVariant.java +++ b/src/main/java/twilightforest/entity/passive/DwarfRabbitVariant.java @@ -30,14 +30,14 @@ public DwarfRabbitVariant(ResourceLocation texture) { } public static Holder getVariant(RegistryAccess access, Holder currentBiome, RandomSource random) { - Registry registry = access.registryOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT); - List> validBunnies = registry.holders().filter(variant -> variant.value().spawnBiomes().isEmpty() || variant.value().spawnBiomes().get().contains(currentBiome)).toList(); - return validBunnies.isEmpty() ? registry.getHolderOrThrow(DwarfRabbitVariants.BROWN) : validBunnies.get(random.nextInt(validBunnies.size())); + Registry registry = access.lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT); + List> validBunnies = registry.listElements().filter(variant -> variant.value().spawnBiomes().isEmpty() || variant.value().spawnBiomes().get().contains(currentBiome)).toList(); + return validBunnies.isEmpty() ? registry.getOrThrow(DwarfRabbitVariants.BROWN) : validBunnies.get(random.nextInt(validBunnies.size())); } public static Holder getRandomCommonVariant(RegistryAccess access, RandomSource random) { - Registry registry = access.registryOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT); - List> validBunnies = registry.holders().filter(variant -> variant.value().spawnBiomes().isEmpty()).toList(); - return validBunnies.isEmpty() ? registry.getHolderOrThrow(DwarfRabbitVariants.BROWN) : validBunnies.get(random.nextInt(validBunnies.size())); + Registry registry = access.lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT); + List> validBunnies = registry.listElements().filter(variant -> variant.value().spawnBiomes().isEmpty()).toList(); + return validBunnies.isEmpty() ? registry.getOrThrow(DwarfRabbitVariants.BROWN) : validBunnies.get(random.nextInt(validBunnies.size())); } } diff --git a/src/main/java/twilightforest/entity/passive/FlyingBird.java b/src/main/java/twilightforest/entity/passive/FlyingBird.java index c15b2aa4d3..58299a2e4b 100644 --- a/src/main/java/twilightforest/entity/passive/FlyingBird.java +++ b/src/main/java/twilightforest/entity/passive/FlyingBird.java @@ -5,6 +5,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.BlockTags; import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; @@ -31,7 +32,6 @@ public abstract class FlyingBird extends Bird { private BlockPos targetPosition; private int currentFlightTime; - @SuppressWarnings("this-escape") public FlyingBird(EntityType entity, Level world) { super(entity, world); this.setIsBirdLanded(true); @@ -49,7 +49,7 @@ protected void registerGoals() { super.registerGoals(); this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new PanicGoal(this, 1.5F)); - this.goalSelector.addGoal(3, new TemptGoal(this, 1.0F, Ingredient.of(this.getTemptItems()), true)); + this.goalSelector.addGoal(3, new TemptGoal(this, 1.0F, stack -> stack.is(this.getTemptItems()), true)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6F)); this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); @@ -82,8 +82,8 @@ public void tick() { } @Override - protected void customServerAiStep() { - super.customServerAiStep(); + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); if (this.isBirdLanded()) { this.currentFlightTime = 0; @@ -99,7 +99,7 @@ protected void customServerAiStep() { this.currentFlightTime++; // [VanillaCopy] Modified version of last half of Bat.customServerAiStep(). Edits noted - if (this.targetPosition != null && (!this.level().isEmptyBlock(this.targetPosition) || this.targetPosition.getY() <= this.level().getMinBuildHeight())) { + if (this.targetPosition != null && (!this.level().isEmptyBlock(this.targetPosition) || this.targetPosition.getY() <= this.level().getMinY())) { this.targetPosition = null; } diff --git a/src/main/java/twilightforest/entity/passive/Penguin.java b/src/main/java/twilightforest/entity/passive/Penguin.java index 8de8ba5037..894b2f9bf8 100644 --- a/src/main/java/twilightforest/entity/passive/Penguin.java +++ b/src/main/java/twilightforest/entity/passive/Penguin.java @@ -6,16 +6,15 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.*; import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import org.jetbrains.annotations.Nullable; @@ -31,20 +30,20 @@ public Penguin(EntityType type, Level world) { @Override protected void registerGoals() { - goalSelector.addGoal(0, new FloatGoal(this)); - goalSelector.addGoal(1, new PanicGoal(this, 1.75F)); - goalSelector.addGoal(2, new BreedGoal(this, 1.0F)); - goalSelector.addGoal(3, new TemptGoal(this, 0.75F, Ingredient.of(ItemTagGenerator.PENGUIN_TEMPT_ITEMS), false)); - goalSelector.addGoal(4, new FollowParentGoal(this, 1.15F)); - goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0F)); - goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6F)); - goalSelector.addGoal(7, new LookAtPlayerGoal(this, Penguin.class, 5F, 0.02F)); - goalSelector.addGoal(8, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.75F)); + this.goalSelector.addGoal(2, new BreedGoal(this, 1.0F)); + this.goalSelector.addGoal(3, new TemptGoal(this, 0.75F, stack -> stack.is(ItemTagGenerator.PENGUIN_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.15F)); + this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0F)); + this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6F)); + this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Penguin.class, 5F, 0.02F)); + this.goalSelector.addGoal(8, new RandomLookAroundGoal(this)); } @Override public Animal getBreedOffspring(ServerLevel level, AgeableMob ageableMob) { - return TFEntities.PENGUIN.get().create(level); + return TFEntities.PENGUIN.get().create(level, EntitySpawnReason.BREEDING); } @Override @@ -75,11 +74,11 @@ public static AttributeSupplier.Builder registerAttributes() { } @Override - public boolean checkSpawnRules(LevelAccessor accessor, MobSpawnType type) { + public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason type) { return true; } - public static boolean canSpawn(EntityType type, LevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource rand) { + public static boolean canSpawn(EntityType type, LevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { return accessor.getBlockState(pos.below()).is(BlockTagGenerator.PENGUINS_SPAWNABLE_ON); } } diff --git a/src/main/java/twilightforest/entity/passive/QuestRam.java b/src/main/java/twilightforest/entity/passive/QuestRam.java index cd800065e9..d210eeb3c8 100644 --- a/src/main/java/twilightforest/entity/passive/QuestRam.java +++ b/src/main/java/twilightforest/entity/passive/QuestRam.java @@ -13,7 +13,6 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.ItemTags; -import net.minecraft.util.FastColor; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; @@ -29,7 +28,6 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.MapColor; @@ -69,7 +67,7 @@ protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 1.38F)); this.goalSelector.addGoal(2, new QuestRamEatWoolGoal(this)); - this.goalSelector.addGoal(3, new TemptGoal(this, 1.0F, Ingredient.of(ItemTags.WOOL), false)); + this.goalSelector.addGoal(3, new TemptGoal(this, 1.0F, stack -> stack.is(ItemTags.WOOL), false)); this.addRestrictionGoals(this, this.goalSelector); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0F)); this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); @@ -101,12 +99,12 @@ protected void defineSynchedData(SynchedEntityData.Builder builder) { } @Override - protected void customServerAiStep() { + protected void customServerAiStep(ServerLevel level) { if (--this.randomTickDivider <= 0) { this.randomTickDivider = 70 + this.getRandom().nextInt(50); if (this.countColorsSet() > 15 && !this.getRewarded()) { - this.rewardQuest(); + this.rewardQuest(level); this.setRewarded(true); } @@ -117,14 +115,14 @@ protected void customServerAiStep() { this.playAmbientSound(); } - super.customServerAiStep(); + super.customServerAiStep(level); } - private void rewardQuest() { + private void rewardQuest(ServerLevel level) { // todo flesh the context out more - LootParams ctx = new LootParams.Builder((ServerLevel) this.level()).withParameter(LootContextParams.THIS_ENTITY, this).create(LootContextParamSets.PIGLIN_BARTER); + LootParams ctx = new LootParams.Builder(level).withParameter(LootContextParams.THIS_ENTITY, this).create(LootContextParamSets.PIGLIN_BARTER); ObjectArrayList rewards = this.level().getServer().reloadableRegistries().getLootTable(TFLootTables.QUESTING_RAM_REWARDS).getRandomItems(ctx); - rewards.forEach(stack -> this.spawnAtLocation(stack, 1.0F)); + rewards.forEach(stack -> this.spawnAtLocation(level, stack, 1.0F)); for (ServerPlayer player : this.level().getEntitiesOfClass(ServerPlayer.class, getBoundingBox().inflate(16.0D, 16.0D, 16.0D))) { TFAdvancements.QUEST_RAM_COMPLETED.get().trigger(player); @@ -146,11 +144,6 @@ public InteractionResult interactAt(Player player, Vec3 vec, InteractionHand han } } - @Override - public AABB getBoundingBoxForCulling() { - return super.getBoundingBoxForCulling().inflate(3.0D); - } - public boolean tryAccept(ItemStack stack) { if (stack.is(ItemTags.WOOL)) { DyeColor color = this.guessColor(stack); @@ -226,7 +219,7 @@ private void animateAddColor(DyeColor color, int iterations) { ParticlePacket packet = new ParticlePacket(); for (int i = 0; i < iterations; i++) { - packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, FastColor.ARGB32.red(colorVal), FastColor.ARGB32.green(colorVal), FastColor.ARGB32.blue(colorVal)), false, + packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, colorVal), false, this.getX() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, this.getY() + this.getRandom().nextDouble() * this.getBbHeight() * 1.5D, this.getZ() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, diff --git a/src/main/java/twilightforest/entity/passive/Squirrel.java b/src/main/java/twilightforest/entity/passive/Squirrel.java index 3b73dd5b5f..4d2e219be5 100644 --- a/src/main/java/twilightforest/entity/passive/Squirrel.java +++ b/src/main/java/twilightforest/entity/passive/Squirrel.java @@ -31,7 +31,7 @@ public Squirrel(EntityType type, Level world) { protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 1.38F)); - this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, Ingredient.of(ItemTagGenerator.SQUIRREL_TEMPT_ITEMS), true)); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(ItemTagGenerator.SQUIRREL_TEMPT_ITEMS), true)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Player.class, 2.0F, 0.8F, 1.4F)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Wolf.class, 8.0F, 0.8F, 1.4F)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Cat.class, 8.0F, 0.8F, 1.4F)); diff --git a/src/main/java/twilightforest/entity/passive/TinyBird.java b/src/main/java/twilightforest/entity/passive/TinyBird.java index 299fd41cb4..816102dff7 100644 --- a/src/main/java/twilightforest/entity/passive/TinyBird.java +++ b/src/main/java/twilightforest/entity/passive/TinyBird.java @@ -10,8 +10,8 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.VariantHolder; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; @@ -50,7 +50,7 @@ protected void registerGoals() { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT, this.registryAccess().registryOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getHolderOrThrow(TinyBirdVariants.RED)); + builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getOrThrow(TinyBirdVariants.RED)); } public static AttributeSupplier.Builder registerAttributes() { @@ -71,12 +71,12 @@ public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); Optional.ofNullable(ResourceLocation.tryParse(compound.getString("variant"))) .map(location -> ResourceKey.create(TFRegistries.Keys.TINY_BIRD_VARIANT, location)) - .flatMap(key -> this.registryAccess().registryOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getHolder(key)) + .flatMap(key -> this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).get(key)) .ifPresent(this::setVariant); } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType type, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason type, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, type, data); this.setVariant(TinyBirdVariant.getVariant(accessor.registryAccess(), accessor.getBiome(this.blockPosition()), this.getRandom())); return data; diff --git a/src/main/java/twilightforest/entity/passive/TinyBirdVariant.java b/src/main/java/twilightforest/entity/passive/TinyBirdVariant.java index b6c94488f6..104856c26a 100644 --- a/src/main/java/twilightforest/entity/passive/TinyBirdVariant.java +++ b/src/main/java/twilightforest/entity/passive/TinyBirdVariant.java @@ -29,8 +29,8 @@ public TinyBirdVariant(ResourceLocation texture) { } public static Holder getVariant(RegistryAccess access, Holder currentBiome, RandomSource random) { - Registry registry = access.registryOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT); - List> validBirds = registry.holders().filter(variant -> variant.value().spawnBiomes().isEmpty() || variant.value().spawnBiomes().get().contains(currentBiome)).toList(); - return validBirds.isEmpty() ? registry.getHolderOrThrow(TinyBirdVariants.RED) : validBirds.get(random.nextInt(validBirds.size())); + Registry registry = access.lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT); + List> validBirds = registry.listElements().filter(variant -> variant.value().spawnBiomes().isEmpty() || variant.value().spawnBiomes().get().contains(currentBiome)).toList(); + return validBirds.isEmpty() ? registry.getOrThrow(TinyBirdVariants.RED) : validBirds.get(random.nextInt(validBirds.size())); } } diff --git a/src/main/java/twilightforest/entity/projectile/ChainBlock.java b/src/main/java/twilightforest/entity/projectile/ChainBlock.java index e683fa39fd..78f4fc1e12 100644 --- a/src/main/java/twilightforest/entity/projectile/ChainBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ChainBlock.java @@ -53,7 +53,8 @@ public ChainBlock(EntityType type, Level level) { } public ChainBlock(EntityType type, Level level, LivingEntity thrower, InteractionHand hand, ItemStack stack) { - super(type, thrower, level); + super(type, level); + this.setOwner(thrower); this.isReturning = false; this.stack = stack; this.setHand(hand); @@ -97,26 +98,25 @@ protected double getDefaultGravity() { protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); // only hit living things & inside the world border - Level level = this.level(); - if (!level.isClientSide() && result.getEntity() != this.getOwner() && level.getWorldBorder().isWithinBounds(result.getEntity().blockPosition())) { + if (this.level() instanceof ServerLevel level && result.getEntity() != this.getOwner() && level.getWorldBorder().isWithinBounds(result.getEntity().blockPosition())) { float damage = 10.0F; DamageSource source = TFDamageTypes.getIndirectEntityDamageSource(level, TFDamageTypes.SPIKED, this, this.getOwner()); if (stack != null) { if (result.getEntity() instanceof LivingEntity living) { - damage = EnchantmentHelper.modifyDamage((ServerLevel) level, this.stack, living, source, damage); + damage = EnchantmentHelper.modifyDamage(level, this.stack, living, source, damage); } else if (result.getEntity() instanceof PartEntity part && part.getParent() instanceof LivingEntity living) { - damage = EnchantmentHelper.modifyDamage((ServerLevel) level, this.stack, living, source, damage); + damage = EnchantmentHelper.modifyDamage(level, this.stack, living, source, damage); } } //properly disable shields if (result.getEntity() instanceof Player player && player.isUsingItem() && player.getUseItem().canPerformAction(ItemAbilities.SHIELD_BLOCK)) { player.getUseItem().hurtAndBreak(5, player, LivingEntity.getSlotForHand(player.getUsedItemHand())); - player.disableShield(); + player.disableShield(player.getUseItem()); } if (damage > 0.0F) { - if (result.getEntity().hurt(source, damage)) { + if (result.getEntity().hurtServer(level, source, damage)) { this.playSound(TFSounds.BLOCK_AND_CHAIN_HIT.get(), 1.0f, this.random.nextFloat()); // age when we hit a monster so that we go back to the player faster this.hitEntity = true; @@ -151,7 +151,7 @@ protected void onHitBlock(BlockHitResult result) { null, vec3, level.getBlockState(result.getBlockPos()), - item -> this.kill() + item -> this.kill(level) ); } } diff --git a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java index a2bec17d03..bc78890364 100644 --- a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java +++ b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java @@ -34,13 +34,13 @@ public class CubeOfAnnihilation extends ThrowableProjectile { private boolean hasHitObstacle = false; private ItemStack stack; - public CubeOfAnnihilation(EntityType type, Level world) { - super(type, world); + public CubeOfAnnihilation(EntityType type, Level level) { + super(type, level); } - @SuppressWarnings("this-escape") - public CubeOfAnnihilation(EntityType type, Level world, LivingEntity thrower, ItemStack stack) { - super(type, thrower, world); + public CubeOfAnnihilation(EntityType type, Level level, LivingEntity thrower, ItemStack stack) { + super(type, level); + this.setOwner(thrower); this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0.0F, 1.5F, 1.0F); this.stack = stack; } @@ -62,7 +62,7 @@ protected double getDefaultGravity() { @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (result.getEntity() instanceof LivingEntity && result.getEntity().hurt(this.getDamageSource(), 10)) { + if (result.getEntity() instanceof LivingEntity && result.getEntity().hurtServer((ServerLevel) this.level(), this.getDamageSource(), 10)) { this.tickCount += 60; } } diff --git a/src/main/java/twilightforest/entity/projectile/FallingIce.java b/src/main/java/twilightforest/entity/projectile/FallingIce.java index 5c4ae82600..4301472eda 100644 --- a/src/main/java/twilightforest/entity/projectile/FallingIce.java +++ b/src/main/java/twilightforest/entity/projectile/FallingIce.java @@ -62,7 +62,6 @@ public FallingIce(EntityType type, Level level) { super(type, level); } - @SuppressWarnings("this-escape") public FallingIce(Level level, double x, double y, double z, BlockState state, int hangTime) { this(TFEntities.FALLING_ICE.get(), level); this.hangTime = hangTime; @@ -130,7 +129,7 @@ public void tick() { } if (!this.onGround() && !flag1) { - if (!this.level().isClientSide() && (this.time > 100 && (blockpos.getY() <= this.level().getMinBuildHeight() || blockpos.getY() > this.level().getMaxBuildHeight()) || this.time > 1000)) { + if (!this.level().isClientSide() && (this.time > 100 && (blockpos.getY() <= this.level().getMinY() || blockpos.getY() > this.level().getMaxY()) || this.time > 1000)) { this.discard(); } } else { @@ -219,6 +218,15 @@ public boolean causeFallDamage(float dist, float multiplier, DamageSource source return false; } + @Override + public final boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + if (!this.isInvulnerableToBase(source)) { + this.markHurt(); + } + + return false; + } + @Override protected void addAdditionalSaveData(CompoundTag tag) { tag.put("BlockState", NbtUtils.writeBlockState(this.blockState)); diff --git a/src/main/java/twilightforest/entity/projectile/IceArrow.java b/src/main/java/twilightforest/entity/projectile/IceArrow.java index d6a31bf17b..c8e1f74cfc 100644 --- a/src/main/java/twilightforest/entity/projectile/IceArrow.java +++ b/src/main/java/twilightforest/entity/projectile/IceArrow.java @@ -27,7 +27,7 @@ public IceArrow(Level world, @Nullable LivingEntity shooter, ItemStack stack, It @Override public void tick() { super.tick(); - if (this.level().isClientSide() && !this.inGround) { + if (this.level().isClientSide() && !this.isInGround()) { BlockState stateId = Blocks.SNOW.defaultBlockState(); for (int i = 0; i < 4; ++i) { this.level().addParticle(new BlockParticleOption(ParticleTypes.FALLING_DUST, stateId), this.getX() + this.getDeltaMovement().x() * i / 4.0D, this.getY() + this.getDeltaMovement().y() * i / 4.0D, this.getZ() + this.getDeltaMovement().z() * i / 4.0D, -this.getDeltaMovement().x(), -this.getDeltaMovement().y() + 0.2D, -this.getDeltaMovement().z()); diff --git a/src/main/java/twilightforest/entity/projectile/IceSnowball.java b/src/main/java/twilightforest/entity/projectile/IceSnowball.java index f1225ffaaa..f58e8755d4 100644 --- a/src/main/java/twilightforest/entity/projectile/IceSnowball.java +++ b/src/main/java/twilightforest/entity/projectile/IceSnowball.java @@ -1,6 +1,7 @@ package twilightforest.entity.projectile; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.Player; @@ -37,8 +38,8 @@ protected double getDefaultGravity() { } @Override - public boolean hurt(DamageSource source, float amount) { - super.hurt(source, amount); + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { + super.hurtServer(level, source, amount); this.die(); return true; } diff --git a/src/main/java/twilightforest/entity/projectile/LichBolt.java b/src/main/java/twilightforest/entity/projectile/LichBolt.java index f60dfb739f..9a2a5816d1 100644 --- a/src/main/java/twilightforest/entity/projectile/LichBolt.java +++ b/src/main/java/twilightforest/entity/projectile/LichBolt.java @@ -3,6 +3,7 @@ import net.minecraft.core.particles.ColorParticleOption; import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityEvent; @@ -53,9 +54,7 @@ public float getPickRadius() { } @Override - public boolean hurt(DamageSource damagesource, float amount) { - super.hurt(damagesource, amount); - + public boolean hurtServer(ServerLevel level, DamageSource damagesource, float amount) { if (!this.level().isClientSide() && damagesource.getEntity() != null) { Vec3 vec3d = damagesource.getEntity().getLookAngle(); // reflect faster and more accurately @@ -67,7 +66,7 @@ public boolean hurt(DamageSource damagesource, float amount) { return true; } - return false; + return super.hurtServer(level, damagesource, amount); } @Override diff --git a/src/main/java/twilightforest/entity/projectile/LichBomb.java b/src/main/java/twilightforest/entity/projectile/LichBomb.java index 2b5d5ffc4c..3540a4fb80 100644 --- a/src/main/java/twilightforest/entity/projectile/LichBomb.java +++ b/src/main/java/twilightforest/entity/projectile/LichBomb.java @@ -1,6 +1,7 @@ package twilightforest.entity.projectile; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.DamageTypeTags; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.EntityType; @@ -61,9 +62,7 @@ public float getPickRadius() { } @Override - public boolean hurt(DamageSource source, float amount) { - super.hurt(source, amount); - + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { if (source.getDirectEntity() != null) { if (!source.is(DamageTypeTags.IS_EXPLOSION)) this.explode(); diff --git a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java index f44b99ce80..e5cb3c0037 100644 --- a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java +++ b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java @@ -39,7 +39,6 @@ public MoonwormShot(EntityType type, Level level) { super(type, level); } - @SuppressWarnings("this-escape") public MoonwormShot(EntityType type, Level level, LivingEntity thrower) { super(type, level, thrower); this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0F, 1.5F, 1.0F); @@ -92,7 +91,7 @@ protected void onHitBlock(BlockHitResult result) { LootParams ctx = new LootParams.Builder(serverLevel).withParameter(LootContextParams.THIS_ENTITY, this).withParameter(LootContextParams.ORIGIN, this.position()).withParameter(LootContextParams.DAMAGE_SOURCE, this.damageSources().fall()).create(LootContextParamSets.ENTITY); serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.MOONWORM_SQUISH_DROPS).getRandomItems(ctx).forEach((stack) -> { ItemEntity squish = new ItemEntity(this.level(), this.getX(), this.getY(), this.getZ(), stack); - squish.spawnAtLocation(squish.getItem()); + squish.spawnAtLocation(serverLevel, squish.getItem()); }); } this.level().playSound(null, pos, TFSounds.BUG_SQUISH.get(), SoundSource.NEUTRAL, 1.0F, 1.0F); @@ -106,12 +105,12 @@ protected void onHitEntity(EntityHitResult result) { if (result.getEntity() instanceof Player player && !player.hasItemInSlot(EquipmentSlot.HEAD)) { player.setItemSlot(EquipmentSlot.HEAD, new ItemStack(TFBlocks.MOONWORM.get())); } else { - result.getEntity().hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.MOONWORM, this, this.getOwner()), this.random.nextInt(3) == 0 ? 1 : 0); if (this.level() instanceof ServerLevel serverLevel) { + result.getEntity().hurtServer(serverLevel, TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.MOONWORM, this, this.getOwner()), this.random.nextInt(3) == 0 ? 1 : 0); LootParams ctx = new LootParams.Builder(serverLevel).withParameter(LootContextParams.THIS_ENTITY, this).withParameter(LootContextParams.ORIGIN, this.position()).withParameter(LootContextParams.DAMAGE_SOURCE, this.damageSources().fall()).create(LootContextParamSets.ENTITY); serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.MOONWORM_SQUISH_DROPS).getRandomItems(ctx).forEach((stack) -> { ItemEntity squish = new ItemEntity(this.level(), this.getX(), this.getY(), this.getZ(), stack); - squish.spawnAtLocation(squish.getItem()); + squish.spawnAtLocation(serverLevel, squish.getItem()); }); } this.level().playSound(null, this.blockPosition(), TFSounds.BUG_SQUISH.get(), SoundSource.NEUTRAL, 1.0F, 1.0F); diff --git a/src/main/java/twilightforest/entity/projectile/NatureBolt.java b/src/main/java/twilightforest/entity/projectile/NatureBolt.java index 397935f0d3..0004a3120e 100644 --- a/src/main/java/twilightforest/entity/projectile/NatureBolt.java +++ b/src/main/java/twilightforest/entity/projectile/NatureBolt.java @@ -66,8 +66,8 @@ protected void onHitBlock(BlockHitResult result) { BlockPos blockPosHit = result.getBlockPos(); BlockState stateHit = this.level().getBlockState(blockPosHit); - if (EventHooks.canEntityGrief(this.level(), this)) { - if (!this.level().isClientSide() && stateHit.getBlock() instanceof BonemealableBlock bonemealable && bonemealable.isValidBonemealTarget(this.level(), blockPosHit, stateHit)) { + if (this.level() instanceof ServerLevel level && EventHooks.canEntityGrief(level, this)) { + if (stateHit.getBlock() instanceof BonemealableBlock bonemealable && bonemealable.isValidBonemealTarget(this.level(), blockPosHit, stateHit)) { bonemealable.performBonemeal((ServerLevel) this.level(), this.random, blockPosHit, stateHit); } else if (stateHit.isSolid() && this.canReplaceBlock(this.level(), blockPosHit)) { this.level().setBlockAndUpdate(blockPosHit, Blocks.BIRCH_LEAVES.defaultBlockState().setValue(LeavesBlock.PERSISTENT, true)); @@ -80,8 +80,8 @@ protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); Entity owner = this.getOwner(); Entity entityHit = result.getEntity(); - if (entityHit instanceof LivingEntity living && (owner == null || (entityHit != owner && entityHit != owner.getVehicle()))) { - if (entityHit.hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.LEAF_BRAIN, this, this.getOwner()), 2) + if (this.level() instanceof ServerLevel level && entityHit instanceof LivingEntity living && (owner == null || (entityHit != owner && entityHit != owner.getVehicle()))) { + if (entityHit.hurtServer(level, TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.LEAF_BRAIN, this, this.getOwner()), 2) && this.level().getDifficulty() != Difficulty.PEACEFUL) { int poisonTime = this.level().getDifficulty() == Difficulty.HARD ? 7 : 3; living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonTime * 20, 0)); @@ -99,7 +99,7 @@ protected void onHit(HitResult result) { } private boolean canReplaceBlock(Level level, BlockPos pos) { - return !level.getBlockState(pos).hasBlockEntity() && level.getBlockState(pos).isSolidRender(level, pos) && level.getBlockState(pos).is(BlockTagGenerator.DRUID_PROJECTILE_REPLACEABLE) && EntityUtil.canDestroyBlock(level, pos, this); + return !level.getBlockState(pos).hasBlockEntity() && level.getBlockState(pos).isSolidRender() && level.getBlockState(pos).is(BlockTagGenerator.DRUID_PROJECTILE_REPLACEABLE) && EntityUtil.canDestroyBlock(level, pos, this); } @Override diff --git a/src/main/java/twilightforest/entity/projectile/SeekerArrow.java b/src/main/java/twilightforest/entity/projectile/SeekerArrow.java index 4e6c8ee03f..b277df6a1a 100644 --- a/src/main/java/twilightforest/entity/projectile/SeekerArrow.java +++ b/src/main/java/twilightforest/entity/projectile/SeekerArrow.java @@ -25,7 +25,6 @@ public class SeekerArrow extends TFArrow { private static final double seekAngle = Math.PI / 6.0; private static final double seekThreshold = 0.5; - @SuppressWarnings("this-escape") public SeekerArrow(EntityType type, Level world) { super(type, world); this.setBaseDamage(1.0D); @@ -49,7 +48,7 @@ public void tick() { this.updateTarget(); } - if (this.level().isClientSide() && !this.inGround) { + if (this.level().isClientSide() && !this.isInGround()) { for (int i = 0; i < 4; ++i) { this.level().addParticle(ParticleTypes.WITCH, this.getX() + this.getDeltaMovement().x() * i / 4.0D, this.getY() + this.getDeltaMovement().y() * i / 4.0D, this.getZ() + this.getDeltaMovement().z() * i / 4.0D, -this.getDeltaMovement().x(), -this.getDeltaMovement().y() + 0.2D, -this.getDeltaMovement().z()); } @@ -174,7 +173,7 @@ private void setTarget(@Nullable Entity e) { } private boolean isThisArrowFlying() { - return !this.inGround && getDeltaMovement().lengthSqr() > 1.0; + return !this.isInGround() && getDeltaMovement().lengthSqr() > 1.0; } @Override diff --git a/src/main/java/twilightforest/entity/projectile/SlimeProjectile.java b/src/main/java/twilightforest/entity/projectile/SlimeProjectile.java index ba254270f3..59641f05f1 100644 --- a/src/main/java/twilightforest/entity/projectile/SlimeProjectile.java +++ b/src/main/java/twilightforest/entity/projectile/SlimeProjectile.java @@ -1,6 +1,7 @@ package twilightforest.entity.projectile; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.*; @@ -34,10 +35,9 @@ protected double getDefaultGravity() { } @Override - public boolean hurt(DamageSource source, float amount) { - super.hurt(source, amount); + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { this.die(); - return true; + return super.hurtServer(level, source, amount); } @Override @@ -55,8 +55,8 @@ public void handleEntityEvent(byte id) { protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); Entity target = result.getEntity(); - if (!this.level().isClientSide() && target instanceof LivingEntity) - target.hurt(this.damageSources().thrown(this, this.getOwner()), 4); + if (this.level() instanceof ServerLevel level && target instanceof LivingEntity) + target.hurtServer(level, this.damageSources().thrown(this, this.getOwner()), 4); } @Override diff --git a/src/main/java/twilightforest/entity/projectile/TFThrowable.java b/src/main/java/twilightforest/entity/projectile/TFThrowable.java index c31cb41b6c..be8c353149 100644 --- a/src/main/java/twilightforest/entity/projectile/TFThrowable.java +++ b/src/main/java/twilightforest/entity/projectile/TFThrowable.java @@ -9,16 +9,17 @@ public abstract class TFThrowable extends ThrowableProjectile implements ITFProjectile { - public TFThrowable(EntityType type, Level worldIn) { - super(type, worldIn); + public TFThrowable(EntityType type, Level level) { + super(type, level); } - public TFThrowable(EntityType type, Level worldIn, double x, double y, double z) { - super(type, x, y, z, worldIn); + public TFThrowable(EntityType type, Level level, double x, double y, double z) { + super(type, x, y, z, level); } - public TFThrowable(EntityType type, Level worldIn, LivingEntity throwerIn) { - super(type, throwerIn, worldIn); + public TFThrowable(EntityType type, Level level, LivingEntity thrower) { + super(type, level); + this.setOwner(thrower); } @Override diff --git a/src/main/java/twilightforest/entity/projectile/TomeBolt.java b/src/main/java/twilightforest/entity/projectile/TomeBolt.java index a617d898f4..f396821f79 100644 --- a/src/main/java/twilightforest/entity/projectile/TomeBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TomeBolt.java @@ -3,6 +3,7 @@ import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.Difficulty; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; @@ -55,8 +56,8 @@ public void handleEntityEvent(byte id) { @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (result.getEntity() instanceof LivingEntity living) { - if (result.getEntity().hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), this.random.nextBoolean() ? TFDamageTypes.LOST_WORDS : TFDamageTypes.SCHOOLED, this, this.getOwner()), 3)) { + if (result.getEntity() instanceof LivingEntity living && this.level() instanceof ServerLevel level) { + if (result.getEntity().hurtServer(level, TFDamageTypes.getIndirectEntityDamageSource(level, this.random.nextBoolean() ? TFDamageTypes.LOST_WORDS : TFDamageTypes.SCHOOLED, this, this.getOwner()), 3)) { // inflict move slowdown int duration = this.level().getDifficulty() == Difficulty.EASY ? 2 : this.level().getDifficulty() == Difficulty.NORMAL ? 6 : 8; living.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, duration * 20, 1)); diff --git a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java index ea12ab18ed..27e2c0d739 100644 --- a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java @@ -4,6 +4,7 @@ import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundSource; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.EntityEvent; @@ -25,7 +26,6 @@ public TwilightWandBolt(EntityType type, Level world super(type, world); } - @SuppressWarnings("this-escape") public TwilightWandBolt(Level world, LivingEntity thrower) { super(TFEntities.WAND_BOLT.get(), world, thrower); this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0, 1.5F, 1.0F); @@ -94,9 +94,7 @@ protected void onHitBlock(BlockHitResult result) { } @Override - public boolean hurt(DamageSource source, float amount) { - super.hurt(source, amount); - + public boolean hurtServer(ServerLevel level, DamageSource source, float amount) { if (!this.level().isClientSide() && source.getEntity() != null) { Vec3 vec3d = source.getEntity().getLookAngle(); // reflect faster and more accurately @@ -108,6 +106,6 @@ public boolean hurt(DamageSource source, float amount) { return true; } - return false; + return super.hurtServer(level, source, amount); } } diff --git a/src/main/java/twilightforest/entity/projectile/UrGhastFireball.java b/src/main/java/twilightforest/entity/projectile/UrGhastFireball.java index 680b7f40c3..e3fc2ac307 100644 --- a/src/main/java/twilightforest/entity/projectile/UrGhastFireball.java +++ b/src/main/java/twilightforest/entity/projectile/UrGhastFireball.java @@ -49,10 +49,10 @@ protected void onHitEntity(EntityHitResult result) { Entity owner = this.getOwner(); DamageSource source = this.damageSources().fireball(this, owner); // TF - up damage by 10 - entity1.hurt(source, 16.0F); + entity1.hurtServer(serverlevel, source, 16.0F); EnchantmentHelper.doPostAttackEffects(serverlevel, entity1, source); - boolean flag = EventHooks.canEntityGrief(this.level(), this.getOwner()); + boolean flag = EventHooks.canEntityGrief(serverlevel, this.getOwner()); this.level().explode(null, this.getX(), this.getY(), this.getZ(), this.power, flag, Level.ExplosionInteraction.NONE); this.discard(); } @@ -61,18 +61,17 @@ protected void onHitEntity(EntityHitResult result) { @Override protected void onHitBlock(BlockHitResult result) { super.onHitBlock(result); - //explode and leave fire when hitting a block, but dont destroy them - boolean flag = EventHooks.canEntityGrief(this.level(), this.getOwner()); - this.level().explode(null, this.getX(), this.getY(), this.getZ(), (float) this.power, flag, Level.ExplosionInteraction.NONE); - this.discard(); + if (this.level() instanceof ServerLevel level) { + //explode and leave fire when hitting a block, but dont destroy them + boolean flag = EventHooks.canEntityGrief(level, this.getOwner()); + this.level().explode(null, this.getX(), this.getY(), this.getZ(), (float) this.power, flag, Level.ExplosionInteraction.NONE); + this.discard(); + } } @Override public void shoot(double x, double y, double z, float scale, float dist) { - Vec3 vec3d = (new Vec3(x, y, z)) - .normalize() - .add(this.random.nextGaussian() * 0.0075F * dist, this.random.nextGaussian() * 0.0075F * dist, this.random.nextGaussian() * 0.0075F * dist) - .scale(scale); + Vec3 vec3d = new Vec3(x, y, z).normalize().add(this.random.nextGaussian() * 0.0075F * dist, this.random.nextGaussian() * 0.0075F * dist, this.random.nextGaussian() * 0.0075F * dist).scale(scale); this.setDeltaMovement(vec3d); float f = Mth.sqrt((float) distanceToSqr(vec3d)); this.setYRot((float) (Mth.atan2(vec3d.x(), z) * (180F / Mth.PI))); diff --git a/src/main/java/twilightforest/util/entities/EntityUtil.java b/src/main/java/twilightforest/util/entities/EntityUtil.java index 3d858fdf5b..352210b27b 100644 --- a/src/main/java/twilightforest/util/entities/EntityUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityUtil.java @@ -12,10 +12,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.Container; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.decoration.HangingEntity; import net.minecraft.world.entity.decoration.Painting; @@ -133,13 +130,13 @@ public static void killLavaAround(Entity entity) { } //copy of Mob.doHurtTarget, allows for using a custom DamageSource instead of the generic Mob Attack one - public static boolean properlyApplyCustomDamageSource(Mob entity, Entity victim, DamageSource source, @Nullable SoundEvent flingSound) { + public static boolean properlyApplyCustomDamageSource(ServerLevel level, Mob entity, Entity victim, DamageSource source, @Nullable SoundEvent flingSound) { float f = (float)entity.getAttributeValue(Attributes.ATTACK_DAMAGE); if (entity.level() instanceof ServerLevel serverlevel) { f = EnchantmentHelper.modifyDamage(serverlevel, entity.getWeaponItem(), entity, source, f); } - boolean flag = victim.hurt(source, f); + boolean flag = victim.hurtServer(level, source, f); if (flag) { float f1 = getKnockback(entity, victim, source); if (f1 > 0.0F && victim instanceof LivingEntity livingentity) { @@ -149,11 +146,7 @@ public static boolean properlyApplyCustomDamageSource(Mob entity, Entity victim, livingentity.knockback(f1 * 0.5F, Mth.sin(entity.getYRot() * Mth.DEG_TO_RAD), -Mth.cos(entity.getYRot() * Mth.DEG_TO_RAD)); entity.setDeltaMovement(entity.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D)); } - - if (entity.level() instanceof ServerLevel level) { - EnchantmentHelper.doPostAttackEffects(level, victim, source); - } - + EnchantmentHelper.doPostAttackEffects(level, victim, source); entity.setLastHurtMob(entity); } @@ -167,9 +160,9 @@ protected static float getKnockback(Mob entity, Entity victim, DamageSource sour // [VanillaCopy] with modifications: StructureTemplate.createEntityIgnoreException @Nullable - private static T createEntityIgnoreException(EntityType type, ServerLevelAccessor levelAccessor) { + private static T createEntityIgnoreException(EntityType type, ServerLevelAccessor levelAccessor, EntitySpawnReason reason) { try { - return type.create(levelAccessor.getLevel()); + return type.create(levelAccessor.getLevel(), reason); } catch (Exception exception) { return null; } @@ -178,7 +171,7 @@ private static T createEntityIgnoreException(EntityType ty public static boolean tryHangPainting(WorldGenLevel world, BlockPos pos, Direction direction, @Nullable Holder chosenPainting) { if (chosenPainting == null) return false; - Painting painting = createEntityIgnoreException(EntityType.PAINTING, world); + Painting painting = createEntityIgnoreException(EntityType.PAINTING, world, EntitySpawnReason.STRUCTURE); painting.setPos(pos.getX(), pos.getY(), pos.getZ()); try { @@ -207,14 +200,14 @@ public static Holder getPaintingOfSize(WorldGenLevel level, Ran public static Holder getPaintingOfSize(WorldGenLevel level, RandomSource rand, int width, int height, boolean exactMeasurements) { List> valid = new ArrayList<>(); - for (Holder art : level.registryAccess().registryOrThrow(Registries.PAINTING_VARIANT).holders().toList()) { + for (PaintingVariant art : level.registryAccess().lookupOrThrow(Registries.PAINTING_VARIANT)) { if (exactMeasurements) { - if (art.value().width() == width && art.value().height() == height) { - valid.add(art); + if (art.width() == width && art.height() == height) { + valid.add(level.registryAccess().lookupOrThrow(Registries.PAINTING_VARIANT).wrapAsHolder(art)); } } else { - if (art.value().width() >= width || art.value().height() >= height) { - valid.add(art); + if (art.width() >= width || art.height() >= height) { + valid.add(level.registryAccess().lookupOrThrow(Registries.PAINTING_VARIANT).wrapAsHolder(art)); } } } @@ -229,7 +222,7 @@ public static Holder getPaintingOfSize(WorldGenLevel level, Ran public static List> getPaintingsOfSizeOrSmaller(WorldGenLevel level, TagKey lichTowerPaintings, int width, int height) { List> valid = new ArrayList<>(); - for (Holder art : level.registryAccess().registryOrThrow(Registries.PAINTING_VARIANT).getTagOrEmpty(lichTowerPaintings)) { + for (Holder art : level.registryAccess().lookupOrThrow(Registries.PAINTING_VARIANT).getTagOrEmpty(lichTowerPaintings)) { if (art.value().width() <= width && art.value().height() <= height) { valid.add(art); } @@ -272,7 +265,7 @@ public static List getEntitiesInAABB(WorldGenLevel world, AABB boundingB ChunkAccess chunk = world.getChunk(i1, j1, ChunkStatus.STRUCTURE_STARTS); if (chunk instanceof ProtoChunk proto) { proto.getEntities().forEach(nbt -> { - Entity entity = EntityType.loadEntityRecursive(nbt, world.getLevel(), e -> e); + Entity entity = EntityType.loadEntityRecursive(nbt, world.getLevel(), EntitySpawnReason.STRUCTURE, e -> e); if (entity != null && boundingBox.intersects(entity.getBoundingBox())) { list.add(entity); } From 3885e346d542d28b470c80c56cd909b79c4f37a7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 23 Oct 2024 21:55:31 -0600 Subject: [PATCH 019/239] port sky code, fix ATs, fix asm generics, remove armor color asm --- src/main/java/twilightforest/ASMHooks.java | 13 +- .../twilightforest/block/CritterBlock.java | 7 - .../client/TwilightForestRenderInfo.java | 2 +- .../client/event/ClientEvents.java | 6 - .../client/event/RegistrationEvents.java | 1 - .../client/renderer/TFSkyRenderer.java | 145 ++++++++---------- .../twilightforest/item/ArcticArmorItem.java | 23 +-- .../util/multiparts/MultipartEntityUtil.java | 2 +- .../resources/META-INF/accesstransformer.cfg | 16 +- .../java/twilightforest/asm/TFCoreMod.java | 2 - .../armor/ArmorColorRenderingTransformer.java | 64 -------- 11 files changed, 87 insertions(+), 194 deletions(-) delete mode 100644 tf-asm/src/main/java/twilightforest/asm/transformers/armor/ArmorColorRenderingTransformer.java diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index cdf6b5da42..9447d37224 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -71,17 +71,6 @@ public class ASMHooks { // armor // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /** - * {@link twilightforest.asm.transformers.armor.ArmorColorRenderingTransformer}

- * - * Injection Point:
- * {@link net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer#renderArmorPiece(PoseStack, MultiBufferSource, LivingEntity, EquipmentSlot, int, HumanoidModel)}
- * Targets: {@link net.minecraft.world.item.component.DyedItemColor#getOrDefault(net.minecraft.world.item.ItemStack, int)} - */ - public static int armorColorRendering(int color, ItemStack armorStack) { - return armorUtil.getArmorColor(armorStack).orElse(color); - } - /** * {@link twilightforest.asm.transformers.armor.ArmorVisibilityRenderingTransformer}

* @@ -288,7 +277,7 @@ public static Iterator resolveEntitiesForRendering(Iterator iter * Targets: {@link net.minecraft.client.renderer.entity.EntityRenderDispatcher#renderers} */ @Nullable - public static EntityRenderer resolveEntityRenderer(@Nullable EntityRenderer renderer, Entity entity) { + public static EntityRenderer resolveEntityRenderer(@Nullable EntityRenderer renderer, Entity entity) { return multipartEntityUtil.tryLookupTFPartRenderer(renderer, entity); } diff --git a/src/main/java/twilightforest/block/CritterBlock.java b/src/main/java/twilightforest/block/CritterBlock.java index 47a670f70c..2d4e960b1d 100644 --- a/src/main/java/twilightforest/block/CritterBlock.java +++ b/src/main/java/twilightforest/block/CritterBlock.java @@ -15,11 +15,9 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.item.FallingBlockEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; -import net.minecraft.world.item.Equipable; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.component.ItemContainerContents; import net.minecraft.world.item.context.BlockPlaceContext; @@ -185,11 +183,6 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent @Override public abstract BlockEntity newBlockEntity(BlockPos pos, BlockState state); - @Override - public EquipmentSlot getEquipmentSlot() { - return EquipmentSlot.HEAD; - } - @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { builder.add(FACING, WATERLOGGED); diff --git a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java index 5bbf56c572..504b05aa7c 100644 --- a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java +++ b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java @@ -52,7 +52,7 @@ public boolean isFoggyAt(int x, int y) { // true = nearFog @Override public boolean renderSky(ClientLevel level, int ticks, float partialTick, Matrix4f modelViewMatrix, Camera camera, Matrix4f projectionMatrix, Runnable setupFog) { - return TFSkyRenderer.renderSky(level, partialTick, modelViewMatrix, camera, projectionMatrix, setupFog); + return TFSkyRenderer.renderSky(level, partialTick, camera, setupFog); } @Override diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index 8f60b505a6..f4b4a9e469 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -11,8 +11,6 @@ import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.LevelRenderer; -import net.minecraft.client.renderer.debug.DebugRenderer; import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; @@ -24,8 +22,6 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -40,7 +36,6 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import net.neoforged.api.distmarker.Dist; -import net.neoforged.fml.ModList; import net.neoforged.neoforge.client.event.*; import net.neoforged.neoforge.client.gui.VanillaGuiLayers; import net.neoforged.neoforge.common.NeoForge; @@ -54,7 +49,6 @@ import twilightforest.client.ISTER; import twilightforest.client.OptifineWarningScreen; import twilightforest.client.TFShaders; -import twilightforest.compat.curios.CuriosCompat; import twilightforest.config.TFConfig; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.entity.boss.bar.ClientTFBossBar; diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 2c90d87cf6..3da5db019a 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -284,7 +284,6 @@ private static void cacheJarLids(ModelEvent.BakingCompleted event) { } private static void registerDimEffects(RegisterDimensionSpecialEffectsEvent event) { - TFSkyRenderer.createStars(); event.register(TFDimension.DIMENSION_RENDERER, new TwilightForestRenderInfo(128.0F, false, DimensionSpecialEffects.SkyType.NONE, false, false)); } diff --git a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java index be48e24415..5da5566dcc 100644 --- a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java @@ -1,105 +1,88 @@ package twilightforest.client.renderer; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.buffers.BufferUsage; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; -import com.mojang.math.Axis; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.FogRenderer; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.client.renderer.LevelRenderer; -import net.minecraft.client.renderer.ShaderInstance; +import net.minecraft.client.renderer.*; +import net.minecraft.util.ARGB; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; -import net.minecraft.world.phys.Vec3; -import org.joml.Matrix4f; -import org.joml.Quaternionf; -import org.joml.Vector3f; +import org.joml.*; + +import java.lang.Math; public class TFSkyRenderer { - private static VertexBuffer starBuffer; + private static final VertexBuffer starBuffer = createStarBuffer(); // [VanillaCopy] LevelRenderer.renderSky's overworld branch, without sun/moon/sunrise/sunset, using our own stars at full brightness, and lowering void horizon threshold height from getHorizonHeight (63) to 0 - public static boolean renderSky(ClientLevel level, float partialTicks, Matrix4f frustumMatrix, Camera camera, Matrix4f projectionMatrix, Runnable setupFog) { + public static boolean renderSky(ClientLevel level, float partialTicks, Camera camera, Runnable setupFog) { LevelRenderer levelRenderer = Minecraft.getInstance().levelRenderer; - PoseStack stack = new PoseStack(); - stack.mulPose(frustumMatrix); - setupFog.run(); - Vec3 vec3 = level.getSkyColor(camera.getPosition(), partialTicks); - float f = (float) vec3.x(); - float f1 = (float) vec3.y(); - float f2 = (float) vec3.z(); - FogRenderer.levelFogColor(); - //BufferBuilder bufferbuilder = Tesselator.getInstance().getBuilder(); TF - Unused - RenderSystem.depthMask(false); - RenderSystem.setShaderColor(f, f1, f2, 1.0F); - ShaderInstance shaderinstance = RenderSystem.getShader(); - levelRenderer.skyBuffer.bind(); - levelRenderer.skyBuffer.drawWithShader(stack.last().pose(), projectionMatrix, shaderinstance); - VertexBuffer.unbind(); - RenderSystem.enableBlend(); - /* TF - snip out sunrise/sunset since that doesn't happen here - * float[] afloat = level.effects().getSunriseColor(level.getTimeOfDay(partialTicks), partialTicks); - * if (afloat != null) ... - */ - - RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); - stack.pushPose(); - float f11 = 1.0F - level.getRainLevel(partialTicks); - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, f11); - stack.mulPose(Axis.YP.rotationDegrees(-90.0F)); - stack.mulPose(Axis.XP.rotationDegrees(level.getTimeOfDay(partialTicks) * 360.0F)); - /* TF - snip out sun/moon - * Matrix4f matrix4f1 = stack.last().pose(); - * float f12 = 30.0F; - * ... - * BufferUploader.drawWithShader(bufferbuilder1.buildOrThrow()); - */ - float f10 = 1.0F; // TF - stars are always bright + RenderStateShard.MAIN_TARGET.setupRenderState(); + PoseStack posestack = new PoseStack(); - //if (f10 > 0.0F) { Always true - RenderSystem.setShaderColor(f10, f10, f10, f10); - FogRenderer.setupNoFog(); - starBuffer.bind(); - starBuffer.drawWithShader(stack.last().pose(), projectionMatrix, GameRenderer.getPositionShader()); - VertexBuffer.unbind(); - setupFog.run(); - //} + //TF: all unused +// Tesselator tesselator = Tesselator.getInstance(); +// float f = level.getSunAngle(partialTicks); +// float f1 = level.getTimeOfDay(partialTicks); +// float f2 = 1.0F - level.getRainLevel(partialTicks); +// float f3 = level.getStarBrightness(partialTicks) * f2; +// int i = dimensionspecialeffects.getSunriseOrSunsetColor(f1); +// int j = level.getMoonPhase(); + int k = level.getSkyColor(camera.getPosition(), partialTicks); + float f4 = ARGB.from8BitChannel(ARGB.red(k)); + float f5 = ARGB.from8BitChannel(ARGB.green(k)); + float f6 = ARGB.from8BitChannel(ARGB.blue(k)); + levelRenderer.skyRenderer.renderSkyDisc(f4, f5, f6); + //TF: snip out sunrise and sunset coloring +// if (dimensionspecialeffects.isSunriseOrSunset(f1)) { +// levelRenderer.skyRenderer.renderSunriseAndSunset(posestack, tesselator, f, i); +// } - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - RenderSystem.disableBlend(); - RenderSystem.defaultBlendFunc(); - stack.popPose(); - RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F); - double d0 = camera.getEntity().getEyePosition(partialTicks).y() - level.getMinBuildHeight(); // TF: Lower Void Horizon Y-Threshold from 63 to actual void location (-32) - if (d0 < 0.0D) { - stack.pushPose(); - stack.translate(0.0F, 12.0F, 0.0F); - levelRenderer.darkBuffer.bind(); - levelRenderer.darkBuffer.drawWithShader(stack.last().pose(), projectionMatrix, shaderinstance); - VertexBuffer.unbind(); - stack.popPose(); + //TF: replace sun, moon, and star rendering method with our own star renderer + renderStars(setupFog, posestack); + //TF: use custom height checks for the void sky as vanilla hardcodes to 63 + if (shouldDarkenSky(level, camera, partialTicks)) { + levelRenderer.skyRenderer.renderDarkDisc(posestack); } - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - RenderSystem.depthMask(true); return true; } - // [VanillaCopy] LevelRenderer.createStars - public static void createStars() { - if (starBuffer != null) { - starBuffer.close(); - } + private static boolean shouldDarkenSky(ClientLevel level, Camera camera, float partialTicks) { + return camera.getEntity().getEyePosition(partialTicks).y - level.getMinY() < 0.0; + } + + private static VertexBuffer createStarBuffer() { + VertexBuffer vertexbuffer = new VertexBuffer(BufferUsage.STATIC_WRITE); + vertexbuffer.bind(); + vertexbuffer.upload(drawStars(Tesselator.getInstance())); + VertexBuffer.unbind(); + return vertexbuffer; + } - starBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); + //[VanillaCopy] of SkyRenderer.renderStars, using our own buffer instead. Coloring was also removed as the stars are always fully bright + private static void renderStars(Runnable setupFog, PoseStack stack) { + Matrix4fStack matrix = RenderSystem.getModelViewStack(); + matrix.pushMatrix(); + matrix.mul(stack.last().pose()); + RenderSystem.depthMask(false); + RenderSystem.overlayBlendFunc(); + RenderSystem.setShader(CoreShaders.POSITION); + RenderSystem.enableBlend(); + RenderSystem.setShaderFog(FogParameters.NO_FOG); starBuffer.bind(); - starBuffer.upload(drawStars(Tesselator.getInstance())); + starBuffer.drawWithShader(matrix, RenderSystem.getProjectionMatrix(), RenderSystem.getShader()); VertexBuffer.unbind(); + setupFog.run(); + RenderSystem.disableBlend(); + RenderSystem.defaultBlendFunc(); + RenderSystem.depthMask(true); + matrix.popMatrix(); } // [VanillaCopy] of LevelRenderer.drawStars but with double the number of them @@ -117,11 +100,11 @@ private static MeshData drawStars(Tesselator tesselator) { if (!(f5 <= 0.010000001F) && !(f5 >= 1.0F)) { Vector3f vector3f = new Vector3f(f1, f2, f3).normalize(100.0F); float f6 = (float)(random.nextDouble() * (float) Math.PI * 2.0); - Quaternionf quaternionf = new Quaternionf().rotateTo(new Vector3f(0.0F, 0.0F, -1.0F), vector3f).rotateZ(f6); - bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, -f4, 0.0F).rotate(quaternionf))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, f4, 0.0F).rotate(quaternionf))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, f4, 0.0F).rotate(quaternionf))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, -f4, 0.0F).rotate(quaternionf))); + Matrix3f matrix3f = new Matrix3f().rotateTowards(new Vector3f(vector3f).negate(), new Vector3f(0.0F, 1.0F, 0.0F)).rotateZ(-f6); + bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); + bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, f4, 0.0F).mul(matrix3f).add(vector3f))); + bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, f4, 0.0F).mul(matrix3f).add(vector3f))); + bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); } } diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index fe4f53c52c..668316c48e 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -2,20 +2,20 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.HumanoidArmorModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; +import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; import twilightforest.init.TFItems; @@ -25,7 +25,7 @@ public class ArcticArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.arctic_armor.desc").withStyle(ChatFormatting.GRAY); public static final int DEFAULT_COLOR = 0xFFBDCFD9; - public ArcticArmorItem(Holder armorMaterial, Type type, Properties properties) { + public ArcticArmorItem(ArmorMaterial armorMaterial, ArmorType type, Properties properties) { super(armorMaterial, type, properties); } @@ -44,10 +44,15 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { + public int getDefaultDyeColor(ItemStack stack) { + return DEFAULT_COLOR; + } + + @Override + public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(slot == EquipmentSlot.LEGS ? TFModelLayers.ARCTIC_ARMOR_INNER : TFModelLayers.ARCTIC_ARMOR_OUTER); - return new TFArmorModel(root); + ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.ARCTIC_ARMOR_INNER : TFModelLayers.ARCTIC_ARMOR_OUTER); + return new HumanoidArmorModel<>(root); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/util/multiparts/MultipartEntityUtil.java b/src/main/java/twilightforest/util/multiparts/MultipartEntityUtil.java index 68141258b4..cd08a1c318 100644 --- a/src/main/java/twilightforest/util/multiparts/MultipartEntityUtil.java +++ b/src/main/java/twilightforest/util/multiparts/MultipartEntityUtil.java @@ -19,7 +19,7 @@ public Iterator injectTFPartEntities(Iterator iter) { } @Nullable - public EntityRenderer tryLookupTFPartRenderer(@Nullable EntityRenderer renderer, Entity entity) { + public EntityRenderer tryLookupTFPartRenderer(@Nullable EntityRenderer renderer, Entity entity) { if (entity instanceof TFPart part) return BakedMultiPartRenderers.lookup(part.renderer()); return renderer; diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index d997579490..31cd645d4d 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -4,7 +4,7 @@ public net.minecraft.world.level.block.entity.BaseContainerBlockEntity name # Bighorn (gets color of baby bighorn based on parent colors) -#protected net.minecraft.world.entity.animal.Sheep getOffspringColor(Lnet/minecraft/world/entity/animal/Animal;Lnet/minecraft/world/entity/animal/Animal;)Lnet/minecraft/world/item/DyeColor; +protected net.minecraft.world.entity.animal.Sheep getOffspringColor(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/animal/Sheep;Lnet/minecraft/world/entity/animal/Sheep;)Lnet/minecraft/world/item/DyeColor; # BiomeGrassColors and FoliageColorHandler (gets biome noise values for blending colors together) public net.minecraft.world.level.biome.Biome TEMPERATURE_NOISE @@ -23,7 +23,8 @@ protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cook protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingTotalTime # CloudEvents and TFWeatherRenderer (plays rain sounds in various scenarios) -#public net.minecraft.client.renderer.LevelRenderer rainSoundTime +public net.minecraft.client.renderer.LevelRenderer weatherEffectRenderer +public net.minecraft.client.renderer.WeatherEffectRenderer rainSoundTime # Codecs (for creation of a MapColor codec) public net.minecraft.world.level.material.MapColor (II)V # @@ -55,9 +56,8 @@ public net.minecraft.world.entity.Interaction setHeight(F)V public net.minecraft.world.entity.Interaction setWidth(F)V # FixedHumanoidModel (allows for arm posing like in HumanoidModel) -#public net.minecraft.client.model.HumanoidModel getAttackArm(Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/HumanoidArm; -#public net.minecraft.client.model.HumanoidModel poseRightArm(Lnet/minecraft/world/entity/LivingEntity;)V -#public net.minecraft.client.model.HumanoidModel poseLeftArm(Lnet/minecraft/world/entity/LivingEntity;)V +public net.minecraft.client.model.HumanoidModel poseRightArm(Lnet/minecraft/client/renderer/entity/state/HumanoidRenderState;Lnet/minecraft/client/model/HumanoidModel$ArmPose;)V +public net.minecraft.client.model.HumanoidModel poseLeftArm(Lnet/minecraft/client/renderer/entity/state/HumanoidRenderState;Lnet/minecraft/client/model/HumanoidModel$ArmPose;)V # FoilagePlacerType registration public net.minecraft.world.level.levelgen.feature.foliageplacers.FoliagePlacerType (Lcom/mojang/serialization/MapCodec;)V @@ -112,9 +112,6 @@ public net.minecraft.world.level.levelgen.carver.WorldCarver getCarveState(Lnet/ # TFClientEvents (fetches the biome seed for the aurora shader) public net.minecraft.world.level.biome.BiomeManager biomeZoomSeed -# TFClientEvents (so we can render custom block outlines) -#public net.minecraft.client.renderer.LevelRenderer renderShape(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/phys/shapes/VoxelShape;DDDFFFF)V - # TFClientSetup (creates custom birthday splash) public-f net.minecraft.client.gui.components.SplashRenderer splash public net.minecraft.client.gui.screens.TitleScreen splash @@ -140,8 +137,7 @@ public net.minecraft.client.gui.Gui canRenderCrosshairForSpectator(Lnet/minecraf public net.minecraft.client.gui.Gui renderFood(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;II)V # TFSkyRenderer (allows for rendering the sky) -#public net.minecraft.client.renderer.LevelRenderer skyBuffer -#public net.minecraft.client.renderer.LevelRenderer darkBuffer +public net.minecraft.client.renderer.LevelRenderer skyRenderer # TFStructureComponent (adds an override for setOrientation that removed mirroring) protected net.minecraft.world.level.levelgen.structure.StructurePiece rotation diff --git a/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java b/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java index 6afc6ff66a..9e6ae78d28 100644 --- a/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java +++ b/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java @@ -2,7 +2,6 @@ import cpw.mods.modlauncher.api.ITransformer; import net.neoforged.neoforgespi.coremod.ICoreMod; -import twilightforest.asm.transformers.armor.ArmorColorRenderingTransformer; import twilightforest.asm.transformers.armor.ArmorVisibilityRenderingTransformer; import twilightforest.asm.transformers.armor.CancelArmorRenderingTransformer; import twilightforest.asm.transformers.beardifier.BeardifierClassTransformer; @@ -27,7 +26,6 @@ public class TFCoreMod implements ICoreMod { public Iterable> getTransformers() { return List.of( // armor - new ArmorColorRenderingTransformer(), new ArmorVisibilityRenderingTransformer(), new CancelArmorRenderingTransformer(), diff --git a/tf-asm/src/main/java/twilightforest/asm/transformers/armor/ArmorColorRenderingTransformer.java b/tf-asm/src/main/java/twilightforest/asm/transformers/armor/ArmorColorRenderingTransformer.java deleted file mode 100644 index b1da92aca5..0000000000 --- a/tf-asm/src/main/java/twilightforest/asm/transformers/armor/ArmorColorRenderingTransformer.java +++ /dev/null @@ -1,64 +0,0 @@ -package twilightforest.asm.transformers.armor; - -import cpw.mods.modlauncher.api.ITransformer; -import cpw.mods.modlauncher.api.ITransformerVotingContext; -import cpw.mods.modlauncher.api.TargetType; -import cpw.mods.modlauncher.api.TransformerVoteResult; -import net.neoforged.coremod.api.ASMAPI; -import org.jetbrains.annotations.NotNull; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.VarInsnNode; -import twilightforest.asm.ASMUtil; - -import java.util.Set; - -/** - * {@link twilightforest.ASMHooks#armorColorRendering} - */ -public class ArmorColorRenderingTransformer implements ITransformer { - - @Override - public @NotNull MethodNode transform(MethodNode node, ITransformerVotingContext context) { - ASMUtil.findMethodInstructions( - node, - Opcodes.INVOKESTATIC, - "net/minecraft/world/item/component/DyedItemColor", - "getOrDefault", - "(Lnet/minecraft/world/item/ItemStack;I)I" - ).findFirst().ifPresent(target -> node.instructions.insert( - target, - ASMAPI.listOf( - new VarInsnNode(Opcodes.ALOAD, 7), - new MethodInsnNode( - Opcodes.INVOKESTATIC, - "twilightforest/ASMHooks", - "armorColorRendering", - "(ILnet/minecraft/world/item/ItemStack;)I" - ) - ) - )); - return node; - } - - @Override - public @NotNull TransformerVoteResult castVote(ITransformerVotingContext context) { - return TransformerVoteResult.YES; - } - - @Override - public @NotNull Set> targets() { - return Set.of(Target.targetMethod( - "net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer", - "renderArmorPiece", - "(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/EquipmentSlot;ILnet/minecraft/client/model/HumanoidModel;)V" - )); - } - - @Override - public @NotNull TargetType getTargetType() { - return TargetType.METHOD; - } - -} From e7240bf2229eaedf28202e30f6d4039ebbf3e3be Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 23 Oct 2024 22:48:58 -0600 Subject: [PATCH 020/239] fix weather renderer and baked models --- .../aurorablock/UnbakedNoiseVaryingModel.java | 16 +- .../model/block/carpet/RoyalRagsModel.java | 184 ------------------ .../block/carpet/UnbakedRoyalRagsModel.java | 25 +-- .../connected/ConnectedTextureModel.java | 50 ++--- .../UnbakedConnectedTextureModel.java | 20 +- .../block/forcefield/ForceFieldModel.java | 26 +-- .../forcefield/UnbakedForceFieldModel.java | 7 +- .../block/giantblock/GiantBlockModel.java | 26 +-- .../giantblock/UnbakedGiantBlockModel.java | 8 +- .../client/model/block/patch/PatchModel.java | 9 +- .../model/block/patch/UnbakedPatchModel.java | 5 +- .../client/renderer/TFWeatherRenderer.java | 27 ++- 12 files changed, 98 insertions(+), 305 deletions(-) delete mode 100644 src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModel.java diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java index 0d2a053d3e..7a7fa5e07a 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java @@ -1,7 +1,7 @@ package twilightforest.client.model.block.aurorablock; import net.minecraft.client.renderer.block.model.BlockModel; -import net.minecraft.client.renderer.block.model.ItemOverrides; +import net.minecraft.client.renderer.block.model.ItemOverride; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; @@ -23,7 +23,7 @@ public UnbakedNoiseVaryingModel(String[] variants) { } @Override - public void resolveParents(Function modelGetter, IGeometryBakingContext context) { + public void resolveDependencies(UnbakedModel.Resolver modelGetter, IGeometryBakingContext context) { for (String variant : this.importVariants) { BlockModel checkedParent = resolveParent(modelGetter, variant); @@ -32,22 +32,22 @@ public void resolveParents(Function modelGetter, } @NotNull - private static BlockModel resolveParent(Function modelGetter, String variant) { - if (modelGetter.apply(ResourceLocation.parse(variant)) instanceof BlockModel blockModel) { - blockModel.resolveParents(modelGetter); + private static BlockModel resolveParent(UnbakedModel.Resolver modelGetter, String variant) { + if (modelGetter.resolve(ResourceLocation.parse(variant)) instanceof BlockModel blockModel) { + blockModel.resolveDependencies(modelGetter); return blockModel; } - return (BlockModel) modelGetter.apply(ModelBakery.MISSING_MODEL_LOCATION); + return (BlockModel) modelGetter.resolve(ResourceLocation.withDefaultNamespace("builtin/missing")); } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, ItemOverrides overrides) { + public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { BakedModel[] bakedVariants = new BakedModel[this.importVariants.length]; for (int i = 0; i < bakedVariants.length; i++) { BlockModel variant = this.variants.get(i); - bakedVariants[i] = variant.bake(baker, variant, spriteGetter, modelState, variant.getGuiLight().lightLikeBlock()); + bakedVariants[i] = variant.bake(baker, spriteGetter, modelState); } return new NoiseVaryingModel(bakedVariants); diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModel.java deleted file mode 100644 index 7568476543..0000000000 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModel.java +++ /dev/null @@ -1,184 +0,0 @@ -package twilightforest.client.model.block.carpet; - -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.ItemOverrides; -import net.minecraft.client.renderer.block.model.ItemTransforms; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockAndTintGetter; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.ChunkRenderTypeSet; -import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.IDynamicBakedModel; -import net.neoforged.neoforge.client.model.data.ModelData; -import net.neoforged.neoforge.client.model.data.ModelProperty; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import twilightforest.client.model.block.connected.ConnectionLogic; -import twilightforest.init.TFBlocks; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -@SuppressWarnings("deprecation") -public class RoyalRagsModel implements IDynamicBakedModel { - @Nullable - private final List[] baseQuads; - private final BakedQuad[][][] quads; - private final TextureAtlasSprite particle; - private final ItemOverrides overrides; - private final ItemTransforms transforms; - private final ChunkRenderTypeSet blockRenderTypes; - private final List itemRenderTypes; - private final List fabulousItemRenderTypes; - // FIXME Generalize - private final Block[] validConnectors = {TFBlocks.ROYAL_RAGS.value()}; - private static final ModelProperty DATA = new ModelProperty<>(); - - public RoyalRagsModel(@Nullable List[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { - this.baseQuads = baseQuads; - this.quads = quads; - this.particle = particle; - this.overrides = overrides; - this.transforms = transforms; - this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; - this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; - this.fabulousItemRenderTypes = !group.isEmpty() ? List.of(group.entityFabulous()) : null; - } - - @NotNull - @Override - public List getQuads(@Nullable BlockState state, @Nullable Direction side, @NotNull RandomSource random, @NotNull ModelData extraData, @Nullable RenderType type) { - if (side != null) { - ArrayList quads = new ArrayList<>(4 + (this.baseQuads != null ? 4 : 0)); - if (side.getAxis().isHorizontal()) { - if (this.baseQuads != null) { - quads.addAll(this.baseQuads[side.get2DDataValue()]); - } - } else { - int faceIndex = side.get3DDataValue(); - LoftyCarpetData data = extraData.get(DATA); - for (int quad = 0; quad < 4; ++quad) { - //if our model data is null (I really hope it isn't) we can skip connected textures since we dont have the info we need - //i'd rather do this than crash the game or skip rendering the block entirely - ConnectionLogic connectionType = data != null ? data.logic[faceIndex][quad] : ConnectionLogic.NONE; - quads.add(this.quads[faceIndex][quad][connectionType.ordinal()]); - } - } - - return quads; - } else { - return List.of(); - } - } - - @NotNull - @Override - public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ModelData modelData) { - LoftyCarpetData data = new LoftyCarpetData(); - - for (Direction face : Direction.values()) { - Direction[] directions = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; - boolean[] sideStates = new boolean[4]; - - int faceIndex; - for (faceIndex = 0; faceIndex < directions.length; faceIndex++) { - sideStates[faceIndex] = this.shouldConnectSide(getter, pos, face, directions[faceIndex]); - } - - faceIndex = face.get3DDataValue(); - - for (int dir = 0; dir < directions.length; dir++) { - int cornerOffset = (dir + 1) % directions.length; - boolean side1 = sideStates[dir]; - boolean side2 = sideStates[cornerOffset]; - boolean corner = side1 && side2 && this.isCornerBlockPresent(getter, pos, face, directions[dir], directions[cornerOffset]); - data.logic[faceIndex][dir] = dir % 2 == 0 ? ConnectionLogic.of(side1, side2, corner) : ConnectionLogic.of(side2, side1, corner); - } - } - - return modelData.derive().with(DATA, data).build(); - } - - private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side) { - BlockState neighborState = getter.getBlockState(pos.relative(side)); - return Arrays.stream(this.validConnectors).anyMatch(neighborState::is) && Block.shouldRenderFace(neighborState, getter, pos, face, pos.relative(face)); - } - - private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side1, Direction side2) { - BlockState neighborState = getter.getBlockState(pos.relative(side1).relative(side2)); - return Arrays.stream(this.validConnectors).anyMatch(neighborState::is) && Block.shouldRenderFace(neighborState, getter, pos, face, pos.relative(face)); - } - - @Override - public boolean useAmbientOcclusion() { - return true; - } - - @Override - public boolean isGui3d() { - return true; - } - - @Override - public boolean usesBlockLight() { - return true; - } - - @Override - public boolean isCustomRenderer() { - return false; - } - - @NotNull - @Override - public TextureAtlasSprite getParticleIcon() { - return this.particle; - } - - @NotNull - @Override - public ItemOverrides getOverrides() { - return this.overrides; - } - - @NotNull - @Override - public ItemTransforms getTransforms() { - return this.transforms; - } - - @NotNull - @Override - public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { - return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); - } - - @NotNull - @Override - public List getRenderTypes(@NotNull ItemStack stack, boolean fabulous) { - if (!fabulous) { - if (this.itemRenderTypes != null) { - return this.itemRenderTypes; - } - } else if (this.fabulousItemRenderTypes != null) { - return this.fabulousItemRenderTypes; - } - - return IDynamicBakedModel.super.getRenderTypes(stack, fabulous); - } - - //we need a class to make model data. Fine, here you go - private static final class LoftyCarpetData { - private final ConnectionLogic[][] logic = new ConnectionLogic[6][4]; - - private LoftyCarpetData() { - } - } -} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java index cdf1827da9..f7901f1689 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java @@ -17,17 +17,19 @@ import net.neoforged.neoforge.client.model.geometry.UnbakedGeometryHelper; import org.apache.commons.lang3.mutable.MutableObject; import org.joml.Vector3f; +import twilightforest.client.model.block.connected.ConnectedTextureModel; import twilightforest.client.model.block.connected.ConnectionLogic; +import twilightforest.client.model.block.connected.UnbakedConnectedTextureModel; +import twilightforest.init.TFBlocks; import java.lang.reflect.Array; import java.util.ArrayList; +import java.util.EnumSet; import java.util.List; import java.util.Map; import java.util.function.Function; -//for now, im keeping this hardcoded to a 2 layer block, with the overlay layer being fullbright and tinted. -//It might be worth expanding this in the future to be more flexible for other kinds of blocks (1 layer blocks, determining emissivity and tinting per layer, maybe >2 layer blocks?) but for now, I see no point. -//I only wanted this system for castle doors after all! +//FIXME remove this once the connected texture loader supports custom geometry public class UnbakedRoyalRagsModel implements IUnbakedGeometry { private final BlockElement[][] baseElements; @@ -48,14 +50,14 @@ public UnbakedRoyalRagsModel() { Direction[] planeDirections = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; for (int quad = 0; quad < 4; quad++) { - Vec3i corner = face.getNormal().offset(planeDirections[quad].getNormal()).offset(planeDirections[(quad + 1) % 4].getNormal()).offset(1, 1, 1).multiply(8); - BlockElement element = new BlockElement(new Vector3f((float) Math.min(center.getX(), corner.getX()), (float) Math.min(center.getY(), corner.getY()) / 16f, (float) Math.min(center.getZ(), corner.getZ())), new Vector3f((float) Math.max(center.getX(), corner.getX()), (float) Math.max(center.getY(), corner.getY()) / 16f, (float) Math.max(center.getZ(), corner.getZ())), Map.of(), null, true); + Vec3i corner = face.getUnitVec3i().offset(planeDirections[quad].getUnitVec3i()).offset(planeDirections[(quad + 1) % 4].getUnitVec3i()).offset(1, 1, 1).multiply(8); + BlockElement element = new BlockElement(new Vector3f((float) Math.min(center.getX(), corner.getX()), (float) Math.min(center.getY(), corner.getY()) / 16f, (float) Math.min(center.getZ(), corner.getZ())), new Vector3f((float) Math.max(center.getX(), corner.getX()), (float) Math.max(center.getY(), corner.getY()) / 16f, (float) Math.max(center.getZ(), corner.getZ())), Map.of(), null, true, 0); if (face.getAxis().isHorizontal()) { - this.baseElements[face.get2DDataValue()][quad] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, -1, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true); + this.baseElements[face.get2DDataValue()][quad] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, -1, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, 0); } else { for (ConnectionLogic connectionType : ConnectionLogic.values()) { - this.faceElements[face.get3DDataValue()][quad][connectionType.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, 0, "", new BlockFaceUV(connectionType.remapUVs(element.uvsByFace(face)), 0), null, new MutableObject<>())), null, true); + this.faceElements[face.get3DDataValue()][quad][connectionType.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, 0, "", new BlockFaceUV(connectionType.remapUVs(element.uvsByFace(face)), 0), null, new MutableObject<>())), null, true, 0); } } } @@ -63,14 +65,13 @@ public UnbakedRoyalRagsModel() { } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, ItemOverrides overrides) { + public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { Transformation transformation = context.getRootTransform(); if (!transformation.isIdentity()) { modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); } - //making an array list like this is cursed, would not recommend @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 4); TextureAtlasSprite baseTexture = spriteGetter.apply(context.getMaterial("wool")); @@ -79,7 +80,7 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio baseQuads[direction.get2DDataValue()] = new ArrayList<>(); for (BlockElement element : this.baseElements[direction.get2DDataValue()]) { - baseQuads[direction.get2DDataValue()].add(UnbakedGeometryHelper.bakeElementFace(element, element.faces.values().iterator().next(), baseTexture, direction, modelState)); + baseQuads[direction.get2DDataValue()].add(UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, direction, modelState, element.rotation, element.shade, element.lightEmission)); } } @@ -93,13 +94,13 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = UnbakedGeometryHelper.bakeElementFace(element, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState); + quads[dir][quad][type] = UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); } } } ResourceLocation renderTypeHint = context.getRenderTypeHint(); RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new RoyalRagsModel(baseQuads, quads, spriteGetter.apply(context.getMaterial("wool")), overrides, context.getTransforms(), renderTypes); + return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.ROYAL_RAGS.get()), baseQuads, quads, spriteGetter.apply(context.getMaterial("wool")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index aa883a1a7c..127262bdfc 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -1,8 +1,8 @@ package twilightforest.client.model.block.connected; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.renderer.block.model.ItemTransforms; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.core.BlockPos; @@ -29,22 +29,19 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final EnumSet enabledFaces; private final boolean renderOnDisabledFaces; - @Nullable - private final List[] baseQuads; + private final List@Nullable[] baseQuads; private final BakedQuad[][][] quads; private final TextureAtlasSprite particle; - private final ItemOverrides overrides; + private final BakedOverrides overrides; private final ItemTransforms transforms; @Nullable private final ChunkRenderTypeSet blockRenderTypes; @Nullable private final List itemRenderTypes; - @Nullable - private final List fabulousItemRenderTypes; private final List validConnectors; - private static final ModelProperty DATA = new ModelProperty<>(); + private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, @Nullable List[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { + public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, BakedOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { this.enabledFaces = enabledFaces; this.renderOnDisabledFaces = renderOnDisabledFaces; this.validConnectors = connectableBlocks; @@ -55,7 +52,6 @@ public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDi this.transforms = transforms; this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; - this.fabulousItemRenderTypes = !group.isEmpty() ? List.of(group.entityFabulous()) : null; } @NotNull @@ -63,7 +59,7 @@ public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDi public List getQuads(@Nullable BlockState state, @Nullable Direction side, @NotNull RandomSource random, @NotNull ModelData extraData, @Nullable RenderType type) { if (side != null) { int faceIndex = side.get3DDataValue(); - CastleDoorData data = extraData.get(DATA); + ConnectedTextureData data = extraData.get(DATA); ArrayList quads = new ArrayList<>(4 + (this.baseQuads != null ? 4 : 0)); if (this.baseQuads != null) { quads.addAll(this.baseQuads[faceIndex]); @@ -87,7 +83,7 @@ public List getQuads(@Nullable BlockState state, @Nullable Direction @NotNull @Override public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ModelData modelData) { - CastleDoorData data = new CastleDoorData(); + ConnectedTextureData data = new ConnectedTextureData(); for (Direction face : Direction.values()) { Direction[] directions = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; @@ -95,7 +91,7 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block int faceIndex; for (faceIndex = 0; faceIndex < directions.length; faceIndex++) { - sideStates[faceIndex] = this.shouldConnectSide(getter, pos, face, directions[faceIndex]); + sideStates[faceIndex] = this.shouldConnectSide(getter, pos, state, face, directions[faceIndex]); } faceIndex = face.get3DDataValue(); @@ -104,7 +100,7 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block int cornerOffset = (dir + 1) % directions.length; boolean side1 = sideStates[dir]; boolean side2 = sideStates[cornerOffset]; - boolean corner = side1 && side2 && this.isCornerBlockPresent(getter, pos, face, directions[dir], directions[cornerOffset]); + boolean corner = side1 && side2 && this.isCornerBlockPresent(getter, pos, state, face, directions[dir], directions[cornerOffset]); data.logic[faceIndex][dir] = dir % 2 == 0 ? ConnectionLogic.of(side1, side2, corner) : ConnectionLogic.of(side2, side1, corner); } } @@ -112,14 +108,14 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block return modelData.derive().with(DATA, data).build(); } - private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side) { + private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, BlockState state, Direction face, Direction side) { BlockState neighborState = getter.getBlockState(pos.relative(side)); - return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(neighborState, getter, pos, face, pos.relative(face)); + return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos, state, neighborState, face); } - private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side1, Direction side2) { + private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, BlockState state, Direction face, Direction side1, Direction side2) { BlockState neighborState = getter.getBlockState(pos.relative(side1).relative(side2)); - return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(neighborState, getter, pos, face, pos.relative(face)); + return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos, state, neighborState, face); } @Override @@ -148,9 +144,8 @@ public TextureAtlasSprite getParticleIcon() { return this.particle; } - @NotNull @Override - public ItemOverrides getOverrides() { + public BakedOverrides overrides() { return this.overrides; } @@ -168,23 +163,14 @@ public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull Ran @NotNull @Override - public List getRenderTypes(@NotNull ItemStack stack, boolean fabulous) { - if (!fabulous) { - if (this.itemRenderTypes != null) { - return this.itemRenderTypes; - } - } else if (this.fabulousItemRenderTypes != null) { - return this.fabulousItemRenderTypes; - } - - return IDynamicBakedModel.super.getRenderTypes(stack, fabulous); + public List getRenderTypes(@NotNull ItemStack stack) { + return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); } - //we need a class to make model data. Fine, here you go - private static final class CastleDoorData { + private static final class ConnectedTextureData { private final ConnectionLogic[][] logic = new ConnectionLogic[6][4]; - private CastleDoorData() { + private ConnectedTextureData() { } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index f2d3abf7cf..1ff683e797 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -34,6 +34,7 @@ public class UnbakedConnectedTextureModel implements IUnbakedGeometry connectableBlocks; private final BlockElement[][] baseElements; private final BlockElement[][][] faceElements; + public static final FaceBakery FACE_BAKERY = new FaceBakery(); public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity) { //a list of block faces that should have connected textures. @@ -49,33 +50,30 @@ public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean ren //face elements - the connected bit of the model. //the array is made of the directions, quads, and each logic value in the ConnectionLogic class this.faceElements = new BlockElement[6][4][5]; - ExtraFaceData baseFace = new ExtraFaceData(-1, baseEmissivity, baseEmissivity, false); - ExtraFaceData overlayFace = new ExtraFaceData(-1, emissivity, emissivity, true); Vec3i center = new Vec3i(8, 8, 8); for (Direction face : Direction.values()) { Direction[] planeDirections = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; for(int i = 0; i < 4; ++i) { - Vec3i corner = face.getNormal().offset(planeDirections[i].getNormal()).offset(planeDirections[(i + 1) % 4].getNormal()).offset(1, 1, 1).multiply(8); - BlockElement element = new BlockElement(new Vector3f((float)Math.min(center.getX(), corner.getX()), (float)Math.min(center.getY(), corner.getY()), (float)Math.min(center.getZ(), corner.getZ())), new Vector3f((float)Math.max(center.getX(), corner.getX()), (float)Math.max(center.getY(), corner.getY()), (float)Math.max(center.getZ(), corner.getZ())), Map.of(), null, true); - this.baseElements[face.get3DDataValue()][i] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, baseTintIndex, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0), baseFace, new MutableObject<>())), null, true); + Vec3i corner = face.getUnitVec3i().offset(planeDirections[i].getUnitVec3i()).offset(planeDirections[(i + 1) % 4].getUnitVec3i()).offset(1, 1, 1).multiply(8); + BlockElement element = new BlockElement(new Vector3f((float)Math.min(center.getX(), corner.getX()), (float)Math.min(center.getY(), corner.getY()), (float)Math.min(center.getZ(), corner.getZ())), new Vector3f((float)Math.max(center.getX(), corner.getX()), (float)Math.max(center.getY(), corner.getY()), (float)Math.max(center.getZ(), corner.getZ())), Map.of(), null, true, 0); + this.baseElements[face.get3DDataValue()][i] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, baseTintIndex, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, baseEmissivity); for (ConnectionLogic logic : ConnectionLogic.values()) { - this.faceElements[face.get3DDataValue()][i][logic.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, tintIndex, "", new BlockFaceUV(logic.remapUVs(element.uvsByFace(face)), 0), overlayFace, new MutableObject<>())), null, true); + this.faceElements[face.get3DDataValue()][i][logic.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, tintIndex, "", new BlockFaceUV(logic.remapUVs(element.uvsByFace(face)), 0))), null, true, emissivity); } } } } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, ItemOverrides overrides) { + public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { Transformation transformation = context.getRootTransform(); if (!transformation.isIdentity()) { modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); } - //making an array list like this is cursed, would not recommend @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 6); @@ -86,7 +84,7 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio baseQuads[dir] = new ArrayList<>(); for (BlockElement element : this.baseElements[dir]) { - baseQuads[dir].add(UnbakedGeometryHelper.bakeElementFace(element, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], modelState)); + baseQuads[dir].add(FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission)); } } } else { @@ -106,13 +104,13 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = UnbakedGeometryHelper.bakeElementFace(element, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState); + quads[dir][quad][type] = FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); } } } ResourceLocation renderTypeHint = context.getRenderTypeHint(); RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], overrides, context.getTransforms(), renderTypes); + return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java index 2db2d69c95..539043888c 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java @@ -35,15 +35,13 @@ public class ForceFieldModel implements IDynamicBakedModel { private final Function spriteFunction; private final IGeometryBakingContext context; private final TextureAtlasSprite particle; - private final ItemOverrides overrides; + private final BakedOverrides overrides; @Nullable private final ChunkRenderTypeSet blockRenderTypes; @Nullable private final List itemRenderTypes; - @Nullable - private final List fabulousItemRenderTypes; - public ForceFieldModel(Map parts, Function spriteFunction, IGeometryBakingContext context, ItemOverrides overrides) { + public ForceFieldModel(Map parts, Function spriteFunction, IGeometryBakingContext context, BakedOverrides overrides) { this.parts = parts; this.spriteFunction = spriteFunction; this.context = context; @@ -53,7 +51,6 @@ public ForceFieldModel(Map parts, RenderTypeGroup group = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; - this.fabulousItemRenderTypes = !group.isEmpty() ? List.of(group.entityFabulous()) : null; } @Override @@ -86,8 +83,9 @@ public ForceFieldModel(Map parts, sprite, side, BlockModelRotation.X0_Y0, - null, - false) + entry.getKey().rotation, + entry.getKey().shade, + entry.getKey().lightEmission) ); } } @@ -192,7 +190,7 @@ public TextureAtlasSprite getParticleIcon() { } @Override - public ItemOverrides getOverrides() { + public BakedOverrides overrides() { return this.overrides; } @@ -211,16 +209,8 @@ public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull Ran @NotNull @Override - public List getRenderTypes(@NotNull ItemStack stack, boolean fabulous) { - if (!fabulous) { - if (this.itemRenderTypes != null) { - return this.itemRenderTypes; - } - } else if (this.fabulousItemRenderTypes != null) { - return this.fabulousItemRenderTypes; - } - - return IDynamicBakedModel.super.getRenderTypes(stack, fabulous); + public List getRenderTypes(@NotNull ItemStack stack) { + return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); } public enum ExtraDirection implements StringRepresentable { diff --git a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java index 8719e864b9..ae61f59880 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java @@ -1,6 +1,8 @@ package twilightforest.client.model.block.forcefield; +import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.renderer.block.model.BlockElement; +import net.minecraft.client.renderer.block.model.ItemOverride; import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; @@ -10,13 +12,14 @@ import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; +import java.util.List; import java.util.Map; import java.util.function.Function; public record UnbakedForceFieldModel(Map elementsAndConditions) implements IUnbakedGeometry { @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, ItemOverrides overrides) { - return new ForceFieldModel(this.elementsAndConditions, spriteGetter, context, overrides); + public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { + return new ForceFieldModel(this.elementsAndConditions, spriteGetter, context, new BakedOverrides(baker, overrides, spriteGetter)); } } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java index 4d39e6b085..f596f13fb2 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java @@ -32,20 +32,20 @@ public class GiantBlockModel implements IDynamicBakedModel { private final TextureAtlasSprite[] textures; private final TextureAtlasSprite particle; - private final ItemOverrides overrides; + private final BakedOverrides overrides; private final ItemTransforms transforms; + @Nullable private final ChunkRenderTypeSet blockRenderTypes; + @Nullable private final List itemRenderTypes; - private final List fabulousItemRenderTypes; - public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, ItemOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { + public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, BakedOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { this.textures = texture; this.particle = particle; this.overrides = overrides; this.transforms = transforms; this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; - this.fabulousItemRenderTypes = !group.isEmpty() ? List.of(group.entityFabulous()) : null; } @Override @@ -58,8 +58,8 @@ public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle TextureAtlasSprite sprite = this.textures[this.textures.length > 1 ? side.ordinal() : 0]; - if (!Iterables.contains(GiantBlock.getVolume(pos), pos.offset(side.getNormal()))) { - quads.add(FACE_BAKERY.bakeQuad(new Vector3f(0.0F, 0.0F, 0.0F), new Vector3f(16.0F, 16.0F, 16.0F), new BlockElementFace(side, side.ordinal(), side.name(), new BlockFaceUV(new float[]{0.0F + coords.x, 0.0F + coords.z, 4.0F + coords.x, 4.0F + coords.z}, 0)), sprite, side, BlockModelRotation.X0_Y0, null, true)); + if (!Iterables.contains(GiantBlock.getVolume(pos), pos.offset(side.getUnitVec3i()))) { + quads.add(FACE_BAKERY.bakeQuad(new Vector3f(0.0F, 0.0F, 0.0F), new Vector3f(16.0F, 16.0F, 16.0F), new BlockElementFace(side, side.ordinal(), side.name(), new BlockFaceUV(new float[]{0.0F + coords.x, 0.0F + coords.z, 4.0F + coords.x, 4.0F + coords.z}, 0)), sprite, side, BlockModelRotation.X0_Y0, null, true, 0)); } } @@ -144,7 +144,7 @@ public TextureAtlasSprite getParticleIcon() { } @Override - public ItemOverrides getOverrides() { + public BakedOverrides overrides() { return this.overrides; } @@ -162,16 +162,8 @@ public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull Ran @NotNull @Override - public List getRenderTypes(@NotNull ItemStack stack, boolean fabulous) { - if (!fabulous) { - if (this.itemRenderTypes != null) { - return this.itemRenderTypes; - } - } else if (this.fabulousItemRenderTypes != null) { - return this.fabulousItemRenderTypes; - } - - return IDynamicBakedModel.super.getRenderTypes(stack, fabulous); + public List getRenderTypes(@NotNull ItemStack stack) { + return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); } //modeldata holder diff --git a/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java index dd2f7dfae4..ce953edaf8 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java @@ -1,6 +1,7 @@ package twilightforest.client.model.block.giantblock; -import net.minecraft.client.renderer.block.model.ItemOverrides; +import net.minecraft.client.renderer.block.model.BakedOverrides; +import net.minecraft.client.renderer.block.model.ItemOverride; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.Material; @@ -13,13 +14,14 @@ import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.function.Function; public record UnbakedGiantBlockModel(ResourceLocation parent) implements IUnbakedGeometry { @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, ItemOverrides overrides) { + public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { TextureAtlasSprite[] sprites; if (context.hasMaterial("all")) { sprites = new TextureAtlasSprite[]{spriteGetter.apply(context.getMaterial("all"))}; @@ -33,6 +35,6 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio ResourceLocation renderTypeHint = context.getRenderTypeHint(); RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new GiantBlockModel(sprites, spriteGetter.apply(context.getMaterial("particle")), overrides, context.getTransforms(), renderTypes); + return new GiantBlockModel(sprites, spriteGetter.apply(context.getMaterial("particle")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); } } diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java index b80c04be2c..b721ecd8a2 100644 --- a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java @@ -17,13 +17,13 @@ import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; import twilightforest.block.PatchBlock; +import twilightforest.client.model.block.connected.UnbakedConnectedTextureModel; import twilightforest.init.TFBlocks; import java.util.ArrayList; import java.util.List; public record PatchModel(TextureAtlasSprite texture, boolean shaggify) implements BakedModel { - private static final FaceBakery BAKERY = new FaceBakery(); @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, RandomSource random) { @@ -152,7 +152,7 @@ private BakedQuad quadFromVectors(Direction direction, float minX, float minY, f default -> new BlockFaceUV(new float[]{minX, minZ, maxX, maxZ}, 0); }); - return BAKERY.bakeQuad(new Vector3f(minX, minY, minZ), new Vector3f(maxX, maxY, maxZ), face, this.texture, direction, new SimpleModelState(Transformation.identity()), null, true); + return UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(new Vector3f(minX, minY, minZ), new Vector3f(maxX, maxY, maxZ), face, this.texture, direction, new SimpleModelState(Transformation.identity()), null, true, 0); } // --- Boilerplating --------------------------------------------------- @@ -182,11 +182,6 @@ public TextureAtlasSprite getParticleIcon() { return this.texture; } - @Override - public ItemOverrides getOverrides() { - return ItemOverrides.EMPTY; //I doubt we need to do anything here - } - @Override public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { if (state.is(TFBlocks.CLOVER_PATCH)) { diff --git a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java index 29da35ae0a..9ed982f534 100644 --- a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java @@ -1,6 +1,6 @@ package twilightforest.client.model.block.patch; -import net.minecraft.client.renderer.block.model.ItemOverrides; +import net.minecraft.client.renderer.block.model.ItemOverride; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.Material; @@ -11,6 +11,7 @@ import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; +import java.util.List; import java.util.function.Function; public record UnbakedPatchModel(Material material, boolean shaggify) implements IUnbakedGeometry { @@ -19,7 +20,7 @@ public UnbakedPatchModel(ResourceLocation texture, boolean shaggify) { } @Override - public BakedModel bake(IGeometryBakingContext owner, ModelBaker baker, Function spriteGetter, ModelState modelTransform, ItemOverrides overrides) { + public BakedModel bake(IGeometryBakingContext owner, ModelBaker baker, Function spriteGetter, ModelState modelTransform, List overrides) { return new PatchModel(spriteGetter.apply(this.material()), this.shaggify()); } } diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index 52c120eae8..07b6c1aea1 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -4,17 +4,18 @@ import com.mojang.blaze3d.vertex.*; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; -import net.minecraft.client.ParticleStatus; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.LightTexture; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.SectionPos; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ParticleStatus; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; @@ -112,7 +113,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel RenderType currentType = null; float combinedTicks = ticks + partialTicks; - RenderSystem.setShader(GameRenderer::getParticleShader); + RenderSystem.setShader(CoreShaders.PARTICLE); BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(); for (int dz = pz - range; dz <= pz + range; ++dz) { @@ -126,7 +127,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel Optional restriction = Restriction.getRestrictionForBiome(biome, player); if (restriction.isPresent()) { - int groundY = level.getMinBuildHeight(); + int groundY = level.getMinY(); int minY = py - range; int maxY = py + range; @@ -381,7 +382,7 @@ public ResourceLocation getTextureLocation() { /** * [VanillaCopy]:
- * {@link net.minecraft.client.renderer.LevelRenderer#tickRain(Camera)}
+ * {@link net.minecraft.client.renderer.WeatherEffectRenderer#tickRainParticles(ClientLevel, Camera, int, ParticleStatus)}
*/ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blockpos) { //TF - render rain if the Ur-Ghast is alive as well @@ -401,8 +402,7 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo int k = randomsource.nextInt(21) - 10; int l = randomsource.nextInt(21) - 10; BlockPos blockpos2 = level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, blockpos.offset(k, 0, l)); - Biome biome = level.getBiome(blockpos2).value(); - if (blockpos2.getY() > level.getMinBuildHeight() && blockpos2.getY() <= blockpos.getY() + 10 && blockpos2.getY() >= blockpos.getY() - 10 && biome.hasPrecipitation() && biome.warmEnoughToRain(blockpos2)) { + if (blockpos2.getY() > level.getMinY() && blockpos2.getY() <= blockpos.getY() + 10 && blockpos2.getY() >= blockpos.getY() - 10 && getPrecipitationAt(level, blockpos2) == Biome.Precipitation.RAIN) { blockpos1 = blockpos2.below(); if (Minecraft.getInstance().options.particles().get() == ParticleStatus.MINIMAL) { break; @@ -421,8 +421,8 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo } } - if (blockpos1 != null && randomsource.nextInt(4) < Minecraft.getInstance().levelRenderer.rainSoundTime++) { - Minecraft.getInstance().levelRenderer.rainSoundTime = 0; + if (blockpos1 != null && randomsource.nextInt(3) < Minecraft.getInstance().levelRenderer.weatherEffectRenderer.rainSoundTime++) { + Minecraft.getInstance().levelRenderer.weatherEffectRenderer.rainSoundTime = 0; if (blockpos1.getY() > blockpos.getY() + 1 && level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, blockpos).getY() > Mth.floor((float) blockpos.getY())) { level.playLocalSound(blockpos1, SoundEvents.WEATHER_RAIN_ABOVE, SoundSource.WEATHER, 0.1F, 0.5F, false); } else { @@ -433,4 +433,13 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo } return true; } + + public static Biome.Precipitation getPrecipitationAt(Level level, BlockPos pos) { + if (!level.getChunkSource().hasChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ()))) { + return Biome.Precipitation.NONE; + } else { + Biome biome = level.getBiome(pos).value(); + return biome.getPrecipitationAt(pos, level.getSeaLevel()); + } + } } From 98747ed54f4ddea94fd8cf2b046ab6502dc25876 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 26 Oct 2024 17:33:43 -0600 Subject: [PATCH 021/239] port blocks, items, and recipe datagen (I LOVE REGEX) --- .../java/twilightforest/TFEnumExtensions.java | 150 --- .../twilightforest/TwilightForestMod.java | 2 +- .../java/twilightforest/block/CloudBlock.java | 2 +- .../block/SpecialStemLeavesBlock.java | 2 +- .../block/VerticalHollowLogBlock.java | 2 +- .../twilightforest/block/WallPillarBlock.java | 2 +- .../twilightforest/block/WispyCloudBlock.java | 4 +- .../java/twilightforest/client/ISTER.java | 4 +- .../client/model/armor/FieryArmorModel.java | 5 +- .../forcefield/UnbakedForceFieldModel.java | 1 - .../data/CraftingGenerator.java | 935 --------------- .../twilightforest/data/DataGenerators.java | 4 +- .../twilightforest/data/EntityLootTables.java | 2 +- .../data/StonecuttingGenerator.java | 167 --- .../data/TFAdvancementGenerator.java | 236 ++-- .../NoSmithingTemplateRecipeBuilder.java | 8 +- .../data/custom/ScepterRecipeBuilder.java | 4 +- .../data/custom/UncraftingGenerator.java | 8 +- .../data/custom/UncraftingRecipeBuilder.java | 42 +- .../entry/StalactiteReloadListener.java | 5 +- .../data/helpers/CraftingDataHelper.java | 285 +++-- .../data/recipes/CraftingGenerator.java | 930 +++++++++++++++ .../data/recipes/CraftingGeneratorRunner.java | 25 + .../data/recipes/StonecuttingGenerator.java | 171 +++ .../data/tags/ItemTagGenerator.java | 10 + .../twilightforest/entity/TFEntityNames.java | 124 -- .../entity/ai/goal/LichMinionsGoal.java | 7 +- .../twilightforest/entity/boss/SnowQueen.java | 7 +- .../entity/monster/CarminiteGhastguard.java | 2 +- .../entity/monster/CarminiteGhastling.java | 2 +- .../entity/monster/GiantMiner.java | 2 +- .../entity/monster/HedgeSpider.java | 2 +- .../entity/monster/IceCrystal.java | 8 +- .../entity/monster/MazeSlime.java | 2 +- .../entity/monster/SnowGuardian.java | 1 - .../entity/monster/SwarmSpider.java | 2 +- .../entity/monster/WinterWolf.java | 2 +- .../twilightforest/entity/monster/Yeti.java | 8 +- .../entity/passive/Penguin.java | 2 +- .../extensions/TFBoatTypeEnumExtension.java | 56 - .../events/RegistrationEvents.java | 20 + .../twilightforest/init/TFArmorMaterials.java | 126 +- .../java/twilightforest/init/TFBlocks.java | 1049 +++++++++-------- .../java/twilightforest/init/TFEntities.java | 399 +++---- .../init/TFEquipmentModels.java | 33 + .../java/twilightforest/init/TFItems.java | 465 ++++---- .../twilightforest/init/TFTrimMaterials.java | 3 +- .../twilightforest/item/BrittleFlaskItem.java | 21 +- .../twilightforest/item/ChainBlockItem.java | 28 +- .../twilightforest/item/CrumbleHornItem.java | 14 +- .../item/CubeOfAnnihilationItem.java | 13 +- .../item/EmptyMagicMapItem.java | 18 +- .../twilightforest/item/EmptyMazeMapItem.java | 37 +- .../item/Experiment115Item.java | 2 +- .../twilightforest/item/FallenLeavesItem.java | 30 + .../twilightforest/item/FieryArmorItem.java | 24 +- .../twilightforest/item/FieryPickItem.java | 6 +- .../twilightforest/item/FierySwordItem.java | 8 +- .../item/FortificationWandItem.java | 15 +- .../twilightforest/item/GiantPickItem.java | 20 +- .../twilightforest/item/GiantSwordItem.java | 29 - .../twilightforest/item/GlassSwordItem.java | 7 +- .../twilightforest/item/HollowLogItem.java | 14 +- .../twilightforest/item/HugeLilyPadItem.java | 12 +- .../java/twilightforest/item/IceBombItem.java | 18 +- .../java/twilightforest/item/IceBowItem.java | 6 - .../twilightforest/item/IceSwordItem.java | 6 +- .../item/KnightmetalArmorItem.java | 19 +- .../item/KnightmetalAxeItem.java | 6 +- .../item/KnightmetalPickItem.java | 6 +- .../item/KnightmetalShieldItem.java | 15 - .../item/KnightmetalSwordItem.java | 6 +- .../item/LampOfCindersItem.java | 20 +- .../item/LifedrainScepterItem.java | 109 +- .../twilightforest/item/MagicMapItem.java | 15 +- .../item/MagicPaintingItem.java | 2 +- .../java/twilightforest/item/MazeMapItem.java | 11 - .../item/MazebreakerPickItem.java | 11 +- .../twilightforest/item/MinotaurAxeItem.java | 9 +- .../twilightforest/item/MoonDialItem.java | 1 - .../item/MoonwormQueenItem.java | 25 +- .../twilightforest/item/OreMagnetItem.java | 33 +- .../twilightforest/item/OreMeterItem.java | 19 +- .../twilightforest/item/PeacockFanItem.java | 15 +- .../twilightforest/item/PhantomArmorItem.java | 19 +- .../java/twilightforest/item/RopeItem.java | 2 +- .../twilightforest/item/SeekerBowItem.java | 1 - .../twilightforest/item/SkullCandleItem.java | 20 +- .../item/TransformPowderItem.java | 19 +- .../twilightforest/item/TripleBowItem.java | 6 +- .../java/twilightforest/item/TrophyItem.java | 6 +- .../twilightforest/item/TwilightWandItem.java | 13 +- .../item/WearableLichCrown.java | 53 - .../twilightforest/item/YetiArmorItem.java | 25 +- .../twilightforest/item/ZombieWandItem.java | 18 +- .../item/food/TFConsumables.java | 13 + .../twilightforest/item/food/TFFoods.java | 16 + .../item/recipe/EmperorsClothRecipe.java | 1 - .../item/recipe/MagicMapCloningRecipe.java | 1 - .../item/recipe/MazeMapCloningRecipe.java | 1 - .../recipe/MoonwormQueenRepairRecipe.java | 1 - .../item/recipe/NoTemplateSmithingRecipe.java | 1 - .../java/twilightforest/util/TFRemapper.java | 2 +- .../twilightforest/util/TFToolMaterials.java | 21 +- 104 files changed, 2827 insertions(+), 3390 deletions(-) delete mode 100644 src/main/java/twilightforest/data/CraftingGenerator.java delete mode 100644 src/main/java/twilightforest/data/StonecuttingGenerator.java create mode 100644 src/main/java/twilightforest/data/recipes/CraftingGenerator.java create mode 100644 src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java create mode 100644 src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java delete mode 100644 src/main/java/twilightforest/entity/TFEntityNames.java delete mode 100644 src/main/java/twilightforest/enums/extensions/TFBoatTypeEnumExtension.java create mode 100644 src/main/java/twilightforest/events/RegistrationEvents.java create mode 100644 src/main/java/twilightforest/init/TFEquipmentModels.java create mode 100644 src/main/java/twilightforest/item/FallenLeavesItem.java delete mode 100644 src/main/java/twilightforest/item/GiantSwordItem.java delete mode 100644 src/main/java/twilightforest/item/WearableLichCrown.java create mode 100644 src/main/java/twilightforest/item/food/TFConsumables.java create mode 100644 src/main/java/twilightforest/item/food/TFFoods.java diff --git a/src/main/java/twilightforest/TFEnumExtensions.java b/src/main/java/twilightforest/TFEnumExtensions.java index bd31520e41..523676bdef 100644 --- a/src/main/java/twilightforest/TFEnumExtensions.java +++ b/src/main/java/twilightforest/TFEnumExtensions.java @@ -2,17 +2,12 @@ import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Style; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; import net.minecraft.world.level.biome.BiomeSpecialEffects; import twilightforest.beans.Autowired; -import twilightforest.init.TFBlocks; -import twilightforest.init.TFItems; import twilightforest.init.TFSounds; import twilightforest.util.ModidPrefixUtil; import twilightforest.world.components.BiomeColorAlgorithms; -import java.util.function.Supplier; import java.util.function.UnaryOperator; @SuppressWarnings("unused") // Referenced by enumextender.json @@ -128,149 +123,4 @@ public static Object ItemDisplayContext_JARRED(int idx, Class type) { default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); }); } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#TWILIGHT_OAK} - */ - public static Object Boat$Type_TWILIGHT_OAK(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.TWILIGHT_OAK_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("twilight_oak"); - case 2 -> TFItems.TWILIGHT_OAK_BOAT; - case 3 -> TFItems.TWILIGHT_OAK_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#CANOPY} - */ - public static Object Boat$Type_CANOPY(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.CANOPY_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("canopy"); - case 2 -> TFItems.CANOPY_BOAT; - case 3 -> TFItems.CANOPY_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#MANGROVE} - */ - public static Object Boat$Type_MANGROVE(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.MANGROVE_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("mangrove"); - case 2 -> TFItems.MANGROVE_BOAT; - case 3 -> TFItems.MANGROVE_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#DARK} - */ - public static Object Boat$Type_DARK(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.DARK_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("dark"); - case 2 -> TFItems.DARK_BOAT; - case 3 -> TFItems.DARK_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#TIME} - */ - public static Object Boat$Type_TIME(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.TIME_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("time"); - case 2 -> TFItems.TIME_BOAT; - case 3 -> TFItems.TIME_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#TRANSFORMATION} - */ - public static Object Boat$Type_TRANSFORMATION(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.TRANSFORMATION_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("transformation"); - case 2 -> TFItems.TRANSFORMATION_BOAT; - case 3 -> TFItems.TRANSFORMATION_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#MINING} - */ - public static Object Boat$Type_MINING(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.MINING_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("mining"); - case 2 -> TFItems.MINING_BOAT; - case 3 -> TFItems.MINING_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - - /** - * {@link net.minecraft.world.entity.vehicle.Boat.Type}

- * - * {@link twilightforest.enums.extensions.TFBoatTypeEnumExtension#SORTING} - */ - public static Object Boat$Type_SORTING(int idx, Class type) { - if (idx == 5) // Lazy away around boxing the boolean - return false; - return type.cast(switch (idx) { - case 0 -> TFBlocks.SORTING_PLANKS; - case 1 -> modidPrefixUtil.stringPrefix("sorting"); - case 2 -> TFItems.SORTING_BOAT; - case 3 -> TFItems.SORTING_CHEST_BOAT; - case 4 -> (Supplier) () -> Items.STICK; - default -> throw new IllegalArgumentException("Unexpected parameter index: " + idx); - }); - } - } diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index 60d5ac08f2..b64543f326 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -120,7 +120,7 @@ public TwilightForestMod(IEventBus bus, Dist dist) { TFSounds.SOUNDS.register(bus); TFLoot.FUNCTIONS.register(bus); TFLoot.CONDITIONS.register(bus); - TFEntities.ENTITIES.register(bus); + TFEntities.ENTITY_TYPES.register(bus); TFFeatures.FEATURES.register(bus); TFCreativeTabs.TABS.register(bus); TFLoot.CONDITIONALS.register(bus); diff --git a/src/main/java/twilightforest/block/CloudBlock.java b/src/main/java/twilightforest/block/CloudBlock.java index 9263d832ff..95035e20cc 100644 --- a/src/main/java/twilightforest/block/CloudBlock.java +++ b/src/main/java/twilightforest/block/CloudBlock.java @@ -27,7 +27,7 @@ public class CloudBlock extends Block { @Nullable protected final Biome.Precipitation precipitation; - public CloudBlock(Properties properties, @Nullable Biome.Precipitation precipitation) { + public CloudBlock(@Nullable Biome.Precipitation precipitation, Properties properties) { super(properties); this.precipitation = precipitation; } diff --git a/src/main/java/twilightforest/block/SpecialStemLeavesBlock.java b/src/main/java/twilightforest/block/SpecialStemLeavesBlock.java index 96a3f493e1..b6901f6831 100644 --- a/src/main/java/twilightforest/block/SpecialStemLeavesBlock.java +++ b/src/main/java/twilightforest/block/SpecialStemLeavesBlock.java @@ -13,7 +13,7 @@ public class SpecialStemLeavesBlock extends LeavesBlock { protected final Predicate stemPredicate; - public SpecialStemLeavesBlock(Properties properties, Predicate stemPredicate) { + public SpecialStemLeavesBlock(Predicate stemPredicate, Properties properties) { super(properties); this.stemPredicate = stemPredicate; } diff --git a/src/main/java/twilightforest/block/VerticalHollowLogBlock.java b/src/main/java/twilightforest/block/VerticalHollowLogBlock.java index cd1c076162..552dedce9a 100644 --- a/src/main/java/twilightforest/block/VerticalHollowLogBlock.java +++ b/src/main/java/twilightforest/block/VerticalHollowLogBlock.java @@ -45,7 +45,7 @@ public class VerticalHollowLogBlock extends Block implements SimpleWaterloggedBl private final Holder climbable; - public VerticalHollowLogBlock(Properties properties, Holder climbable) { + public VerticalHollowLogBlock(Holder climbable, Properties properties) { super(properties); this.climbable = climbable; diff --git a/src/main/java/twilightforest/block/WallPillarBlock.java b/src/main/java/twilightforest/block/WallPillarBlock.java index 894a880494..042555f905 100644 --- a/src/main/java/twilightforest/block/WallPillarBlock.java +++ b/src/main/java/twilightforest/block/WallPillarBlock.java @@ -38,7 +38,7 @@ public class WallPillarBlock extends ConnectableRotatedPillarBlock implements Si private static final VoxelShape NORTH_FLAT = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 3.0D); private static final VoxelShape SOUTH_FLAT = Block.box(0.0D, 0.0D, 13.0D, 16.0D, 16.0D, 16.0D); - public WallPillarBlock(BlockBehaviour.Properties properties, double width, double height) { + public WallPillarBlock(double width, double height, BlockBehaviour.Properties properties) { super(properties, width); this.registerDefaultState(this.defaultBlockState().setValue(WATERLOGGED, false)); } diff --git a/src/main/java/twilightforest/block/WispyCloudBlock.java b/src/main/java/twilightforest/block/WispyCloudBlock.java index 88167743a7..1962086be6 100644 --- a/src/main/java/twilightforest/block/WispyCloudBlock.java +++ b/src/main/java/twilightforest/block/WispyCloudBlock.java @@ -12,8 +12,8 @@ public class WispyCloudBlock extends CloudBlock { protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D); - public WispyCloudBlock(Properties properties, Biome.Precipitation precipitation) { - super(properties, precipitation); + public WispyCloudBlock(Biome.Precipitation precipitation, Properties properties) { + super(precipitation, properties); } @Override diff --git a/src/main/java/twilightforest/client/ISTER.java b/src/main/java/twilightforest/client/ISTER.java index 18c1c0a116..e54bbb8913 100644 --- a/src/main/java/twilightforest/client/ISTER.java +++ b/src/main/java/twilightforest/client/ISTER.java @@ -57,8 +57,8 @@ import twilightforest.enums.extensions.TFItemDisplayContextEnumExtension; import twilightforest.init.TFBlocks; import twilightforest.init.TFDataComponents; +import twilightforest.init.TFItems; import twilightforest.item.KnightmetalShieldItem; -import twilightforest.item.WearableLichCrown; import java.util.HashMap; import java.util.Map; @@ -224,7 +224,7 @@ public void renderByItem(ItemStack stack, ItemDisplayContext camera, PoseStack p VertexConsumer vertexconsumer = material.sprite().wrap(ItemRenderer.getFoilBuffer(buffers, this.shield.renderType(material.atlasLocation()), true, stack.hasFoil())); this.shield.renderToBuffer(pose, vertexconsumer, light, overlay); pose.popPose(); - } else if (item instanceof WearableLichCrown && this.trophies.get(BossVariant.LICH) instanceof LichModel lichModel) { + } else if (stack.is(TFItems.MYSTIC_CROWN) && this.trophies.get(BossVariant.LICH) instanceof LichModel lichModel) { pose.pushPose(); pose.scale(1.0F, -1.0F, -1.0F); if (camera == ItemDisplayContext.GUI) { diff --git a/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java b/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java index 55ead11f78..afcac8f83c 100644 --- a/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java +++ b/src/main/java/twilightforest/client/model/armor/FieryArmorModel.java @@ -8,11 +8,10 @@ public class FieryArmorModel extends HumanoidArmorModel { - public FieryArmorModel(ModelPart part) { - super(part); + public FieryArmorModel(ModelPart root) { + super(root); } - @Override public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { super.renderToBuffer(stack, builder, 0xF000F0, overlay, color); diff --git a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java index ae61f59880..b4324826f0 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java @@ -3,7 +3,6 @@ import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.renderer.block.model.BlockElement; import net.minecraft.client.renderer.block.model.ItemOverride; -import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.Material; diff --git a/src/main/java/twilightforest/data/CraftingGenerator.java b/src/main/java/twilightforest/data/CraftingGenerator.java deleted file mode 100644 index edfc88b8c4..0000000000 --- a/src/main/java/twilightforest/data/CraftingGenerator.java +++ /dev/null @@ -1,935 +0,0 @@ -package twilightforest.data; - -import com.mojang.datafixers.util.Pair; -import net.minecraft.core.HolderLookup; -import net.minecraft.core.component.DataComponents; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.data.PackOutput; -import net.minecraft.data.recipes.*; -import net.minecraft.util.Unit; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.PotionContents; -import net.minecraft.world.item.alchemy.Potions; -import net.minecraft.world.item.crafting.*; -import net.minecraft.world.item.enchantment.Enchantments; -import net.minecraft.world.level.block.Blocks; -import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.crafting.CompoundIngredient; -import net.neoforged.neoforge.common.crafting.DataComponentIngredient; -import twilightforest.TwilightForestMod; -import twilightforest.data.custom.NoSmithingTemplateRecipeBuilder; -import twilightforest.data.custom.ScepterRecipeBuilder; -import twilightforest.data.custom.UncraftingGenerator; -import twilightforest.data.helpers.CraftingDataHelper; -import twilightforest.data.tags.ItemTagGenerator; -import twilightforest.init.TFBlocks; -import twilightforest.init.TFDataComponents; -import twilightforest.init.TFItems; -import twilightforest.item.recipe.*; - -import java.util.concurrent.CompletableFuture; - -public class CraftingGenerator extends CraftingDataHelper { - - private final HolderLookup.Provider provider; - - public CraftingGenerator(PackOutput output, CompletableFuture provider) { - super(output, provider); - this.provider = provider.join(); - } - - @Override - protected void buildRecipes(RecipeOutput output) { - StonecuttingGenerator.buildRecipes(output); - UncraftingGenerator.buildRecipes(output); - - // The Recipe Builder currently doesn't support enchantment-resulting recipes, those must be manually created. - // IT DOES NOW WOOOOOOOOO - blockCompressionRecipes(output); - equipmentRecipes(this.provider, output); - emptyMapRecipes(output); - woodRecipes(output); - fieryConversions(output); - - nagastoneRecipes(output); - darkTowerRecipes(output); - castleRecipes(output); - - bannerPattern(output, "naga_banner_pattern", TFBlocks.NAGA_TROPHY, TFItems.NAGA_BANNER_PATTERN); - bannerPattern(output, "lich_banner_pattern", TFBlocks.LICH_TROPHY, TFItems.LICH_BANNER_PATTERN); - bannerPattern(output, "minoshroom_banner_pattern", TFBlocks.MINOSHROOM_TROPHY, TFItems.MINOSHROOM_BANNER_PATTERN); - bannerPattern(output, "hydra_banner_pattern", TFBlocks.HYDRA_TROPHY, TFItems.HYDRA_BANNER_PATTERN); - bannerPattern(output, "knight_phantom_banner_pattern", TFBlocks.KNIGHT_PHANTOM_TROPHY, TFItems.KNIGHT_PHANTOM_BANNER_PATTERN); - bannerPattern(output, "ur_ghast_banner_pattern", TFBlocks.UR_GHAST_TROPHY, TFItems.UR_GHAST_BANNER_PATTERN); - bannerPattern(output, "alpha_yeti_banner_pattern", TFBlocks.ALPHA_YETI_TROPHY, TFItems.ALPHA_YETI_BANNER_PATTERN); - bannerPattern(output, "snow_queen_banner_pattern", TFBlocks.SNOW_QUEEN_TROPHY, TFItems.SNOW_QUEEN_BANNER_PATTERN); -// bannerPattern(output, "questing_ram_banner_pattern", TFBlocks.QUEST_RAM_TROPHY, TFItems.QUEST_RAM_BANNER_PATTERN); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, Blocks.MOSS_BLOCK) - .pattern("mmm") - .pattern("mtm") - .pattern("mmm") - .define('m', Ingredient.of(TFBlocks.MOSS_PATCH.get())) - .define('t', Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(output, TwilightForestMod.prefix("tf_moss_to_vanilla")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, TFBlocks.MOSS_PATCH.get(), 8) - .requires(Ingredient.of(Items.MOSS_BLOCK)) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(output, TwilightForestMod.prefix("vanilla_to_tf_moss")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, TFBlocks.HUGE_LILY_PAD.get()) - .requires(Ingredient.of(Blocks.LILY_PAD), 4) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(output, TwilightForestMod.prefix("vanilla_to_tf_lilypad")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, Blocks.LILY_PAD, 4) - .requires(Ingredient.of(TFBlocks.HUGE_LILY_PAD.get())) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(output, TwilightForestMod.prefix("tf_to_vanilla_lilypad")); - - slabBlock(output, "aurora_slab", TFBlocks.AURORA_SLAB, TFBlocks.AURORA_BLOCK); - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.AURORA_PILLAR.get(), 2) - .pattern("#") - .pattern("#") - .define('#', Ingredient.of(TFBlocks.AURORA_BLOCK.get())) - .unlockedBy("has_slab", has(TFBlocks.AURORA_SLAB.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.IRON_LADDER.get(), 3) - .pattern("-#-") - .pattern("-#-") - .define('#', Ingredient.of(Blocks.IRON_BARS)) - .define('-', Tags.Items.NUGGETS_IRON) - .unlockedBy("has_iron_bars", has(Blocks.IRON_BARS)) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.ROPE.get(), 8) - .pattern("#") - .pattern("#") - .pattern("#") - .define('#', Ingredient.of(TFBlocks.ROOT_STRAND.get())) - .unlockedBy("has_root_strand", has(TFBlocks.ROOT_STRAND.get())) - .save(output); - -// ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW.value(), 4) -// .pattern("GPG") -// .pattern("PPP") -// .pattern("GPG") -// .define('G', Ingredient.of(Tags.Items.GLASS_BLOCKS)) -// .define('P', Ingredient.of(TFBlocks.CANOPY_PLANKS.value())) -// .unlockedBy("has_planks", has(TFBlocks.CANOPY_PLANKS.value())) -// .save(output); -// -// ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW_PANE.value(), 16) -// .pattern("GGG") -// .pattern("GGG") -// .define('G', Ingredient.of(TFBlocks.CANOPY_WINDOW.value())) -// .unlockedBy("has_windows", has(TFBlocks.CANOPY_WINDOW.value())) -// .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFItems.MASON_JAR.get(), 4) - .pattern("GLG") - .pattern("G G") - .pattern("GGG") - .define('G', Ingredient.of(Items.GLASS)) - .define('L', Ingredient.of(TFBlocks.TWILIGHT_OAK_LOG.get())) - .unlockedBy("has_tf_oak", has(TFBlocks.TWILIGHT_OAK_LOG.value())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_JAR.get()) - .requires(Ingredient.of(TFBlocks.FIREFLY.get())) - .requires(Ingredient.of(TFItems.MASON_JAR.get())) - .unlockedBy("has_item", has(TFBlocks.FIREFLY.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_SPAWNER.get()) - .requires(Ingredient.of(TFBlocks.FIREFLY_JAR.get())) - .requires(Ingredient.of(TFBlocks.FIREFLY.get())) - .requires(Ingredient.of(Blocks.POPPY)) - .unlockedBy("has_jar", has(TFBlocks.FIREFLY_JAR.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.DECORATIONS, TFBlocks.CICADA_JAR.get()) - .requires(Ingredient.of(TFBlocks.CICADA.get())) - .requires(Ingredient.of(TFItems.MASON_JAR.get())) - .unlockedBy("has_item", has(TFBlocks.CICADA.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, Items.MAGENTA_DYE) - .requires(Ingredient.of(TFBlocks.HUGE_WATER_LILY.get())) - .unlockedBy("has_item", has(TFBlocks.HUGE_WATER_LILY.get())) - .save(output, TwilightForestMod.prefix("waterlily_to_magenta")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, Items.RED_DYE) - .requires(Ingredient.of(TFBlocks.THORN_ROSE.get())) - .unlockedBy("has_item", has(TFBlocks.THORN_ROSE.get())) - .save(output, TwilightForestMod.prefix("thorn_rose_to_red")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, Items.STICK) - .requires(Ingredient.of(TFBlocks.ROOT_STRAND.get())) - .unlockedBy("has_item", has(TFBlocks.ROOT_STRAND.get())) - .group("sticks") - .save(output, TwilightForestMod.prefix("root_stick")); - - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, Blocks.TORCH, 5) - .pattern("∓") - .pattern("|") - .define('∓', Ingredient.of(TFItems.TORCHBERRIES.get())) - .define('|', Tags.Items.RODS_WOODEN) - .unlockedBy("has_item", has(TFItems.TORCHBERRIES.get())) - .save(output, TwilightForestMod.prefix("berry_torch")); - - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.UNCRAFTING_TABLE.get()) - .pattern("###") - .pattern("#X#") - .pattern("###") - .define('#', Blocks.CRAFTING_TABLE) - .define('X', TFItems.MAZE_MAP_FOCUS.get()) - .unlockedBy("has_uncrafting_table", has(TFBlocks.UNCRAFTING_TABLE.get())) - .save(output.withConditions(UncraftingTableCondition.INSTANCE), TwilightForestMod.prefix("uncrafting_table")); - - cookingRecipes(output, "smelted", RecipeSerializer.SMELTING_RECIPE, SmeltingRecipe::new, 200); - cookingRecipes(output, "smoked", RecipeSerializer.SMOKING_RECIPE, SmokingRecipe::new, 100); - cookingRecipes(output, "campfired", RecipeSerializer.CAMPFIRE_COOKING_RECIPE, CampfireCookingRecipe::new, 600); - - ingotRecipes(output, "smelted", RecipeSerializer.SMELTING_RECIPE, SmeltingRecipe::new, 200); - ingotRecipes(output, "blasted", RecipeSerializer.BLASTING_RECIPE, BlastingRecipe::new, 100); - - crackedWoodRecipes(output); - crackedStoneRecipes(output); - -// ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()) -// .pattern("---") -// .pattern(" ") -// .pattern("---") -// .define('-', TFBlocks.CANOPY_SLAB.get()) -// .unlockedBy("has_item", has(TFBlocks.CANOPY_SLAB.get())) -// .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.CANOPY_BOOKSHELF.get()) - .pattern("---") - .pattern("B B") - .pattern("---") - .define('-', TFBlocks.CANOPY_PLANKS.get()) - .define('B', Items.BOOK) - .unlockedBy("has_item", has(TFBlocks.CANOPY_PLANKS.get())) - .save(output); - -// ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA.get()) -// .pattern("III") -// .pattern(" W ") -// .define('W', TFBlocks.WROUGHT_IRON_FENCE.get()) -// .define('I', Tags.Items.INGOTS_IRON) -// .unlockedBy("has_item", has(TFBlocks.WROUGHT_IRON_FENCE.get())) -// .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.ARMOR_SHARD_CLUSTER.get()) - .requires(Ingredient.of(TFItems.ARMOR_SHARD.get()), 9) - .unlockedBy("has_item", has(TFItems.ARMOR_SHARD.get())) - .save(output, TwilightForestMod.prefix("material/" + TFItems.ARMOR_SHARD_CLUSTER.getId().getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_UNDERBRICK.get(), 1) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.UNDERBRICK.get())) - .unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_MAZESTONE.get(), 1) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get())) - .unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())) - .save(output, TwilightForestMod.prefix("maze_stone/mossy_mazestone")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.CARMINITE.get()) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) - .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) - .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(Items.GHAST_TEAR)) - .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) - .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) - .unlockedBy("has_item", has(TFItems.BORER_ESSENCE.get())) - .save(output, TwilightForestMod.prefix("material/" + TFItems.CARMINITE.getId().getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.RAW_IRONWOOD.get(), 2) - .requires(Ingredient.of(TFItems.LIVEROOT.get())) - .requires(Ingredient.of(Items.RAW_IRON)) - .requires(Tags.Items.NUGGETS_GOLD) - .unlockedBy("has_item", has(TFItems.LIVEROOT.get())) - .save(output, TwilightForestMod.prefix("material/" + TFItems.RAW_IRONWOOD.getId().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.RAINY_CLOUD.get(), 8) - .pattern("ccc") - .pattern("cbc") - .pattern("ccc") - .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) - .define('b', Ingredient.of(Items.WATER_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) - .save(output, TwilightForestMod.prefix("rainy_cloud")); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.SNOWY_CLOUD.get(), 8) - .pattern("ccc") - .pattern("cbc") - .pattern("ccc") - .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) - .define('b', Ingredient.of(Items.POWDER_SNOW_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) - .save(output, TwilightForestMod.prefix("snowy_cloud")); - -// ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.LICH_CROWN, 1) -// .pattern("ttt") -// .pattern("t t") -// .pattern("ttt") -// .define('t', Ingredient.of(TFItems.CROWN_SPLINTER)) -// .unlockedBy("has_item", has(TFItems.CROWN_SPLINTER)) -// .save(output); - } - - private void darkTowerRecipes(RecipeOutput output) { - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.ENCASED_FIRE_JET.get()) - .pattern("#∓#") - .pattern("∓^∓") - .pattern("uuu") - .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('^', Ingredient.of(TFBlocks.FIRE_JET.get())) - .define('u', Ingredient.of(Items.LAVA_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FIRE_JET.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.ENCASED_SMOKER.get()) - .pattern("#∓#") - .pattern("∓^∓") - .pattern("#∓#") - .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('^', Ingredient.of(TFBlocks.SMOKER.get())) - .unlockedBy("has_item", has(TFBlocks.SMOKER.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.CARMINITE_BUILDER.get()) - .pattern("#6#") - .pattern("6o6") - .pattern("#6#") - .define('6', ItemTagGenerator.CARMINITE_GEMS) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('o', Ingredient.of(Blocks.DISPENSER)) - .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.CARMINITE_REACTOR.get()) - .pattern("#6#") - .pattern("6%6") - .pattern("#6#") - .define('6', ItemTagGenerator.CARMINITE_GEMS) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('%', Tags.Items.ORES_REDSTONE) - .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.REAPPEARING_BLOCK.get(), 2) - .pattern("#∓#") - .pattern("∓6∓") - .pattern("#∓#") - .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('6', ItemTagGenerator.CARMINITE_GEMS) - .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, TFBlocks.VANISHING_BLOCK.get(), 8) - .pattern("#w#") - .pattern("w6w") - .pattern("#w#") - .define('w', ItemTagGenerator.TOWERWOOD) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('6', ItemTagGenerator.CARMINITE_GEMS) - .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_TOWERWOOD.get()) - .requires(Ingredient.of(TFBlocks.TOWERWOOD.get())) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())) - .save(output, TwilightForestMod.prefix("wood/" + TFBlocks.MOSSY_TOWERWOOD.getId().getPath())); - - } - - private void equipmentRecipes(HolderLookup.Provider provider, RecipeOutput output) { - bootsItem(output, TFItems.IRONWOOD_BOOTS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 1))); - leggingsItem(output, TFItems.IRONWOOD_LEGGINGS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); - chestplateItem(output, TFItems.IRONWOOD_CHESTPLATE, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); - helmetItem(output, TFItems.IRONWOOD_HELMET, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.AQUA_AFFINITY, 1))); - swordItem(output, TFItems.IRONWOOD_SWORD, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.KNOCKBACK, 1))); - pickaxeItem(output, TFItems.IRONWOOD_PICKAXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); - axeItem(output, TFItems.IRONWOOD_AXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 1))); - shovelItem(output, TFItems.IRONWOOD_SHOVEL, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.UNBREAKING, 1))); - hoeItem(output, TFItems.IRONWOOD_HOE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); - - bootsItem(output, TFItems.STEELEAF_BOOTS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 2))); - leggingsItem(output, TFItems.STEELEAF_LEGGINGS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 2))); - chestplateItem(output, TFItems.STEELEAF_CHESTPLATE, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.BLAST_PROTECTION, 2))); - helmetItem(output, TFItems.STEELEAF_HELMET, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROJECTILE_PROTECTION, 2))); - swordItem(output, TFItems.STEELEAF_SWORD, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.LOOTING, 2))); - pickaxeItem(output, TFItems.STEELEAF_PICKAXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); - axeItem(output, TFItems.STEELEAF_AXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); - shovelItem(output, TFItems.STEELEAF_SHOVEL, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); - hoeItem(output, TFItems.STEELEAF_HOE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); - - bootsItem(output, TFItems.ARCTIC_BOOTS, ItemTagGenerator.ARCTIC_FUR); - chestplateItem(output, TFItems.ARCTIC_CHESTPLATE, ItemTagGenerator.ARCTIC_FUR); - helmetItem(output, TFItems.ARCTIC_HELMET, ItemTagGenerator.ARCTIC_FUR); - leggingsItem(output, TFItems.ARCTIC_LEGGINGS, ItemTagGenerator.ARCTIC_FUR); - - bootsItem(output, TFItems.KNIGHTMETAL_BOOTS, ItemTagGenerator.KNIGHTMETAL_INGOTS); - chestplateItem(output, TFItems.KNIGHTMETAL_CHESTPLATE, ItemTagGenerator.KNIGHTMETAL_INGOTS); - helmetItem(output, TFItems.KNIGHTMETAL_HELMET, ItemTagGenerator.KNIGHTMETAL_INGOTS); - leggingsItem(output, TFItems.KNIGHTMETAL_LEGGINGS, ItemTagGenerator.KNIGHTMETAL_INGOTS); - pickaxeItem(output, TFItems.KNIGHTMETAL_PICKAXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); - swordItem(output, TFItems.KNIGHTMETAL_SWORD, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); - axeItem(output, TFItems.KNIGHTMETAL_AXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.FIERY_BOOTS) - .pattern("# #") - .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_boots") - .save(output, locEquip(TFItems.FIERY_BOOTS.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.FIERY_LEGGINGS) - .pattern("###") - .pattern("# #") - .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_leggings") - .save(output, locEquip(TFItems.FIERY_LEGGINGS.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.FIERY_CHESTPLATE) - .pattern("# #") - .pattern("###") - .pattern("###") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_chestplate") - .save(output, locEquip(TFItems.FIERY_CHESTPLATE.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.FIERY_HELMET) - .pattern("###") - .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_helmet") - .save(output, locEquip(TFItems.FIERY_HELMET.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE) - .pattern("###") - .pattern(" X ") - .pattern(" X ") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .define('X', Tags.Items.RODS_BLAZE) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_pickaxe") - .save(output, locEquip(TFItems.FIERY_PICKAXE.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.FIERY_SWORD) - .pattern("#") - .pattern("#") - .pattern("X") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .define('X', Tags.Items.RODS_BLAZE) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) - .group("fiery_sword") - .save(output, locEquip(TFItems.FIERY_SWORD.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.NAGA_CHESTPLATE, 1, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 3)).build())) - .pattern("# #") - .pattern("###") - .pattern("###") - .define('#', TFItems.NAGA_SCALE) - .unlockedBy("has_item", has(TFItems.NAGA_SCALE)) - .save(output, locEquip(TFItems.NAGA_CHESTPLATE.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.NAGA_LEGGINGS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 3)).build())) - .pattern("###") - .pattern("# #") - .pattern("# #") - .define('#', TFItems.NAGA_SCALE) - .unlockedBy("has_item", has(TFItems.NAGA_SCALE)) - .save(output, locEquip(TFItems.NAGA_LEGGINGS.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_HELMET, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) - .pattern("###") - .pattern("# #") - .define('#', TFItems.ALPHA_YETI_FUR) - .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) - .save(output, locEquip(TFItems.YETI_HELMET.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_CHESTPLATE, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) - .pattern("# #") - .pattern("###") - .pattern("###") - .define('#', TFItems.ALPHA_YETI_FUR) - .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) - .save(output, locEquip(TFItems.YETI_CHESTPLATE.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_LEGGINGS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) - .pattern("###") - .pattern("# #") - .pattern("# #") - .define('#', TFItems.ALPHA_YETI_FUR) - .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) - .save(output, locEquip(TFItems.YETI_LEGGINGS.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_BOOTS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2), Pair.of(Enchantments.FEATHER_FALLING, 4)).build())) - .pattern("# #") - .pattern("# #") - .define('#', TFItems.ALPHA_YETI_FUR) - .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) - .save(output, locEquip(TFItems.YETI_BOOTS.getKey().location().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, TFItems.GIANT_PICKAXE.get()) - .pattern("###") - .pattern(" X ") - .pattern(" X ") - .define('#', TFBlocks.GIANT_COBBLESTONE.get()) - .define('X', TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) - .save(output, locEquip(TFItems.GIANT_PICKAXE.getId().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, TFItems.GIANT_SWORD.get()) - .pattern("#") - .pattern("#") - .pattern("X") - .define('#', TFBlocks.GIANT_COBBLESTONE.get()) - .define('X', TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) - .save(output, locEquip(TFItems.GIANT_SWORD.getId().getPath())); - - charmRecipe(output, "charm_of_keeping_2", TFItems.CHARM_OF_KEEPING_2, TFItems.CHARM_OF_KEEPING_1); - charmRecipe(output, "charm_of_keeping_3", TFItems.CHARM_OF_KEEPING_3, TFItems.CHARM_OF_KEEPING_2); - charmRecipe(output, "charm_of_life_2", TFItems.CHARM_OF_LIFE_2, TFItems.CHARM_OF_LIFE_1); - - SpecialRecipeBuilder.special(MoonwormQueenRepairRecipe::new).save(output, TwilightForestMod.prefix("moonworm_queen_repair_recipe").toString()); - SpecialRecipeBuilder.special(MagicMapCloningRecipe::new).save(output, TwilightForestMod.prefix("magic_map_cloning_recipe").toString()); - SpecialRecipeBuilder.special(MazeMapCloningRecipe::new).save(output, TwilightForestMod.prefix("maze_map_cloning_recipe").toString()); - SpecialRecipeBuilder.special(EmperorsClothRecipe::new).save(output, TwilightForestMod.prefix("emperors_cloth_recipe").toString()); - - NoSmithingTemplateRecipeBuilder - .noTemplate(Ingredient.of(Tags.Items.ARMORS), Ingredient.of(TFItems.EMPERORS_CLOTH.get()), RecipeCategory.MISC) - .attachData(TFDataComponents.EMPERORS_CLOTH::value, Unit.INSTANCE) - .unlocks("has_cloth", has(TFItems.EMPERORS_CLOTH)) - .save(output, TwilightForestMod.prefix("emperors_cloth_smithing")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, Blocks.COBBLESTONE, 64) - .requires(TFBlocks.GIANT_COBBLESTONE.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) - .save(output, TwilightForestMod.prefix(TFBlocks.GIANT_COBBLESTONE.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.COBBLESTONE).getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_PLANKS, 64) - .requires(TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_LOG.get())) - .save(output, TwilightForestMod.prefix(TFBlocks.GIANT_LOG.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_PLANKS).getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_LEAVES, 64) - .requires(TFBlocks.GIANT_LEAVES.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_LEAVES.get())) - .save(output, TwilightForestMod.prefix(TFBlocks.GIANT_LEAVES.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_LEAVES).getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, Blocks.OBSIDIAN, 64) - .requires(TFBlocks.GIANT_OBSIDIAN.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_OBSIDIAN.get())) - .save(output, TwilightForestMod.prefix(TFBlocks.GIANT_OBSIDIAN.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OBSIDIAN).getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.COMBAT, TFItems.BLOCK_AND_CHAIN.get()) - .requires(Ingredient.of(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL)) - .requires(Ingredient.of(ItemTagGenerator.KNIGHTMETAL_INGOTS), 3) - .requires(Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) - .unlockedBy("has_block", has(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL)) - .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) - .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) - .save(output, locEquip(TFItems.BLOCK_AND_CHAIN.getId().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, TFItems.KNIGHTMETAL_RING.get()) - .pattern(" - ") - .pattern("- -") - .pattern(" - ") - .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) - .save(output, locEquip(TFItems.KNIGHTMETAL_RING.getId().getPath())); - - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, TFItems.KNIGHTMETAL_SHIELD.get()) - .pattern("-#") - .pattern("-o") - .pattern("-#") - .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) - .define('#', ItemTagGenerator.TOWERWOOD) - .define('o', Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) - .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) - .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) - .save(output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); - - ScepterRecipeBuilder.repairFor(TFItems.LIFEDRAIN_SCEPTER.get()) - .addRepairIngredient(Items.FERMENTED_SPIDER_EYE) - .save(output, locEquip(TFItems.LIFEDRAIN_SCEPTER.getId().getPath())); - - ScepterRecipeBuilder.repairFor(TFItems.FORTIFICATION_SCEPTER.get()) - .addRepairIngredient(Ingredient.of(Items.GOLDEN_APPLE)) - .save(output, locEquip(TFItems.FORTIFICATION_SCEPTER.getId().getPath())); - - ScepterRecipeBuilder.repairFor(TFItems.TWILIGHT_SCEPTER.get()) - .addRepairIngredient(Tags.Items.ENDER_PEARLS) - .save(output, locEquip(TFItems.TWILIGHT_SCEPTER.getId().getPath())); - - ScepterRecipeBuilder.repairFor(TFItems.ZOMBIE_SCEPTER.get()) - .addRepairIngredient(CompoundIngredient.of( - DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRENGTH), Items.POTION), - DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.LONG_STRENGTH), Items.POTION), - DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRONG_STRENGTH), Items.POTION) - )) - .addRepairIngredient(Items.ROTTEN_FLESH) - .save(output, locEquip(TFItems.ZOMBIE_SCEPTER.getId().getPath())); - } - - private void blockCompressionRecipes(RecipeOutput output) { - reverseCompressBlock(output, "arctic_block_to_item", TFItems.ARCTIC_FUR, ItemTagGenerator.STORAGE_BLOCKS_ARCTIC_FUR); - reverseCompressBlock(output, "carminite_block_to_item", TFItems.CARMINITE, ItemTagGenerator.STORAGE_BLOCKS_CARMINITE); - reverseCompressBlock(output, "ironwood_block_ingot", TFItems.IRONWOOD_INGOT, ItemTagGenerator.STORAGE_BLOCKS_IRONWOOD); - reverseCompressBlock(output, "knightmetal_block_ingot", TFItems.KNIGHTMETAL_INGOT, ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL); - reverseCompressBlock(output, "steeleaf_block_ingot", TFItems.STEELEAF_INGOT, ItemTagGenerator.STORAGE_BLOCKS_STEELEAF); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.FIERY_INGOT, 9) - .requires(ItemTagGenerator.STORAGE_BLOCKS_FIERY) - .unlockedBy("has_item", has(ItemTagGenerator.STORAGE_BLOCKS_FIERY)) - .group("fiery_ingot") - .save(output, TwilightForestMod.prefix("compressed_blocks/reversed/fiery_block_to_ingot")); - - compressedBlock(output, "arctic_block", TFBlocks.ARCTIC_FUR_BLOCK, ItemTagGenerator.ARCTIC_FUR); - compressedBlock(output, "carminite_block", TFBlocks.CARMINITE_BLOCK, ItemTagGenerator.CARMINITE_GEMS); - compressedBlock(output, "fiery_block", TFBlocks.FIERY_BLOCK, ItemTagGenerator.FIERY_INGOTS); - compressedBlock(output, "ironwood_block", TFBlocks.IRONWOOD_BLOCK, ItemTagGenerator.IRONWOOD_INGOTS); - compressedBlock(output, "knightmetal_block", TFBlocks.KNIGHTMETAL_BLOCK, ItemTagGenerator.KNIGHTMETAL_INGOTS); - compressedBlock(output, "steeleaf_block", TFBlocks.STEELEAF_BLOCK, ItemTagGenerator.STEELEAF_INGOTS); - } - - private void emptyMapRecipes(RecipeOutput output) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.MAGIC_MAP_FOCUS.get()) - .requires(TFItems.RAVEN_FEATHER.get()) - .requires(TFItems.TORCHBERRIES.get()) - .requires(Tags.Items.DUSTS_GLOWSTONE) - .unlockedBy("has_berries", has(TFItems.TORCHBERRIES.get())) - .unlockedBy("has_feather", has(TFItems.RAVEN_FEATHER.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, TFItems.MAGIC_MAP.get()) - .pattern("###") - .pattern("#•#") - .pattern("###") - .define('#', ItemTagGenerator.PAPER) - .define('•', Ingredient.of(TFItems.MAGIC_MAP_FOCUS.get())) - .unlockedBy("has_item", has(TFItems.MAGIC_MAP_FOCUS.get())) - .save(output); - - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, TFItems.MAZE_MAP.get()) - .pattern("###") - .pattern("#•#") - .pattern("###") - .define('#', ItemTagGenerator.PAPER) - .define('•', Ingredient.of(TFItems.MAZE_MAP_FOCUS.get())) - .unlockedBy("has_item", has(TFItems.MAZE_MAP_FOCUS.get())) - .save(output); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.ORE_MAP.get()) - .requires(TFItems.MAZE_MAP.get()) - .requires(Tags.Items.STORAGE_BLOCKS_DIAMOND) - .requires(Tags.Items.STORAGE_BLOCKS_GOLD) - .requires(Tags.Items.STORAGE_BLOCKS_IRON) - .unlockedBy("has_item", has(TFItems.MAZE_MAP.get())) - .save(output); - } - - private void woodRecipes(RecipeOutput output) { - buttonBlock(output, "canopy", TFBlocks.CANOPY_BUTTON, TFBlocks.CANOPY_PLANKS); - buttonBlock(output, "dark", TFBlocks.DARK_BUTTON, TFBlocks.DARK_PLANKS); - buttonBlock(output, "mangrove", TFBlocks.MANGROVE_BUTTON, TFBlocks.MANGROVE_PLANKS); - buttonBlock(output, "mining", TFBlocks.MINING_BUTTON, TFBlocks.MINING_PLANKS); - buttonBlock(output, "sorting", TFBlocks.SORTING_BUTTON, TFBlocks.SORTING_PLANKS); - buttonBlock(output, "time", TFBlocks.TIME_BUTTON, TFBlocks.TIME_PLANKS); - buttonBlock(output, "transformation", TFBlocks.TRANSFORMATION_BUTTON, TFBlocks.TRANSFORMATION_PLANKS); - buttonBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_BUTTON, TFBlocks.TWILIGHT_OAK_PLANKS); - - doorBlock(output, "canopy", TFBlocks.CANOPY_DOOR, TFBlocks.CANOPY_PLANKS); - doorBlock(output, "dark", TFBlocks.DARK_DOOR, TFBlocks.DARK_PLANKS); - doorBlock(output, "mangrove", TFBlocks.MANGROVE_DOOR, TFBlocks.MANGROVE_PLANKS); - doorBlock(output, "mining", TFBlocks.MINING_DOOR, TFBlocks.MINING_PLANKS); - doorBlock(output, "sorting", TFBlocks.SORTING_DOOR, TFBlocks.SORTING_PLANKS); - doorBlock(output, "time", TFBlocks.TIME_DOOR, TFBlocks.TIME_PLANKS); - doorBlock(output, "transformation", TFBlocks.TRANSFORMATION_DOOR, TFBlocks.TRANSFORMATION_PLANKS); - doorBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_DOOR, TFBlocks.TWILIGHT_OAK_PLANKS); - - fenceBlock(output, "canopy", TFBlocks.CANOPY_FENCE, TFBlocks.CANOPY_PLANKS); - fenceBlock(output, "dark", TFBlocks.DARK_FENCE, TFBlocks.DARK_PLANKS); - fenceBlock(output, "mangrove", TFBlocks.MANGROVE_FENCE, TFBlocks.MANGROVE_PLANKS); - fenceBlock(output, "mining", TFBlocks.MINING_FENCE, TFBlocks.MINING_PLANKS); - fenceBlock(output, "sorting", TFBlocks.SORTING_FENCE, TFBlocks.SORTING_PLANKS); - fenceBlock(output, "time", TFBlocks.TIME_FENCE, TFBlocks.TIME_PLANKS); - fenceBlock(output, "transformation", TFBlocks.TRANSFORMATION_FENCE, TFBlocks.TRANSFORMATION_PLANKS); - fenceBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_FENCE, TFBlocks.TWILIGHT_OAK_PLANKS); - - gateBlock(output, "canopy", TFBlocks.CANOPY_GATE, TFBlocks.CANOPY_PLANKS); - gateBlock(output, "dark", TFBlocks.DARK_GATE, TFBlocks.DARK_PLANKS); - gateBlock(output, "mangrove", TFBlocks.MANGROVE_GATE, TFBlocks.MANGROVE_PLANKS); - gateBlock(output, "mining", TFBlocks.MINING_GATE, TFBlocks.MINING_PLANKS); - gateBlock(output, "sorting", TFBlocks.SORTING_GATE, TFBlocks.SORTING_PLANKS); - gateBlock(output, "time", TFBlocks.TIME_GATE, TFBlocks.TIME_PLANKS); - gateBlock(output, "transformation", TFBlocks.TRANSFORMATION_GATE, TFBlocks.TRANSFORMATION_PLANKS); - gateBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_GATE, TFBlocks.TWILIGHT_OAK_PLANKS); - - planksBlock(output, "canopy", TFBlocks.CANOPY_PLANKS, ItemTagGenerator.CANOPY_LOGS); - planksBlock(output, "dark", TFBlocks.DARK_PLANKS, ItemTagGenerator.DARKWOOD_LOGS); - planksBlock(output, "mangrove", TFBlocks.MANGROVE_PLANKS, ItemTagGenerator.MANGROVE_LOGS); - planksBlock(output, "mining", TFBlocks.MINING_PLANKS, ItemTagGenerator.MINING_LOGS); - planksBlock(output, "sorting", TFBlocks.SORTING_PLANKS, ItemTagGenerator.SORTING_LOGS); - planksBlock(output, "time", TFBlocks.TIME_PLANKS, ItemTagGenerator.TIME_LOGS); - planksBlock(output, "transformation", TFBlocks.TRANSFORMATION_PLANKS, ItemTagGenerator.TRANSFORMATION_LOGS); - planksBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLANKS, ItemTagGenerator.TWILIGHT_OAK_LOGS); - - woodBlock(output, "canopy", TFBlocks.CANOPY_WOOD, TFBlocks.CANOPY_LOG); - woodBlock(output, "dark", TFBlocks.DARK_WOOD, TFBlocks.DARK_LOG); - woodBlock(output, "mangrove", TFBlocks.MANGROVE_WOOD, TFBlocks.MANGROVE_LOG); - woodBlock(output, "mining", TFBlocks.MINING_WOOD, TFBlocks.MINING_LOG); - woodBlock(output, "sorting", TFBlocks.SORTING_WOOD, TFBlocks.SORTING_LOG); - woodBlock(output, "time", TFBlocks.TIME_WOOD, TFBlocks.TIME_LOG); - woodBlock(output, "transformation", TFBlocks.TRANSFORMATION_WOOD, TFBlocks.TRANSFORMATION_LOG); - woodBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_WOOD, TFBlocks.TWILIGHT_OAK_LOG); - - strippedWoodBlock(output, "canopy", TFBlocks.STRIPPED_CANOPY_WOOD, TFBlocks.STRIPPED_CANOPY_LOG); - strippedWoodBlock(output, "dark", TFBlocks.STRIPPED_DARK_WOOD, TFBlocks.STRIPPED_DARK_LOG); - strippedWoodBlock(output, "mangrove", TFBlocks.STRIPPED_MANGROVE_WOOD, TFBlocks.STRIPPED_MANGROVE_LOG); - strippedWoodBlock(output, "mining", TFBlocks.STRIPPED_MINING_WOOD, TFBlocks.STRIPPED_MINING_LOG); - strippedWoodBlock(output, "sorting", TFBlocks.STRIPPED_SORTING_WOOD, TFBlocks.STRIPPED_SORTING_LOG); - strippedWoodBlock(output, "time", TFBlocks.STRIPPED_TIME_WOOD, TFBlocks.STRIPPED_TIME_LOG); - strippedWoodBlock(output, "transformation", TFBlocks.STRIPPED_TRANSFORMATION_WOOD, TFBlocks.STRIPPED_TRANSFORMATION_LOG); - strippedWoodBlock(output, "twilight_oak", TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD, TFBlocks.STRIPPED_TWILIGHT_OAK_LOG); - - plateBlock(output, "canopy", TFBlocks.CANOPY_PLATE, TFBlocks.CANOPY_PLANKS); - plateBlock(output, "dark", TFBlocks.DARK_PLATE, TFBlocks.DARK_PLANKS); - plateBlock(output, "mangrove", TFBlocks.MANGROVE_PLATE, TFBlocks.MANGROVE_PLANKS); - plateBlock(output, "mining", TFBlocks.MINING_PLATE, TFBlocks.MINING_PLANKS); - plateBlock(output, "sorting", TFBlocks.SORTING_PLATE, TFBlocks.SORTING_PLANKS); - plateBlock(output, "time", TFBlocks.TIME_PLATE, TFBlocks.TIME_PLANKS); - plateBlock(output, "transformation", TFBlocks.TRANSFORMATION_PLATE, TFBlocks.TRANSFORMATION_PLANKS); - plateBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLATE, TFBlocks.TWILIGHT_OAK_PLANKS); - - woodenSlabBlock(output, "canopy", TFBlocks.CANOPY_SLAB, TFBlocks.CANOPY_PLANKS); - woodenSlabBlock(output, "dark", TFBlocks.DARK_SLAB, TFBlocks.DARK_PLANKS); - woodenSlabBlock(output, "mangrove", TFBlocks.MANGROVE_SLAB, TFBlocks.MANGROVE_PLANKS); - woodenSlabBlock(output, "mining", TFBlocks.MINING_SLAB, TFBlocks.MINING_PLANKS); - woodenSlabBlock(output, "sorting", TFBlocks.SORTING_SLAB, TFBlocks.SORTING_PLANKS); - woodenSlabBlock(output, "time", TFBlocks.TIME_SLAB, TFBlocks.TIME_PLANKS); - woodenSlabBlock(output, "transformation", TFBlocks.TRANSFORMATION_SLAB, TFBlocks.TRANSFORMATION_PLANKS); - woodenSlabBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_SLAB, TFBlocks.TWILIGHT_OAK_PLANKS); - - woodenStairsBlock(output, locWood("canopy_stairs"), TFBlocks.CANOPY_STAIRS, TFBlocks.CANOPY_PLANKS, TFBlocks.CANOPY_PLANKS.get()); - woodenStairsBlock(output, locWood("dark_stairs"), TFBlocks.DARK_STAIRS, TFBlocks.DARK_PLANKS, TFBlocks.DARK_PLANKS.get()); - woodenStairsBlock(output, locWood("mangrove_stairs"), TFBlocks.MANGROVE_STAIRS, TFBlocks.MANGROVE_PLANKS, TFBlocks.MANGROVE_PLANKS.get()); - woodenStairsBlock(output, locWood("mining_stairs"), TFBlocks.MINING_STAIRS, TFBlocks.MINING_PLANKS, TFBlocks.MINING_PLANKS.get()); - woodenStairsBlock(output, locWood("sorting_stairs"), TFBlocks.SORTING_STAIRS, TFBlocks.SORTING_PLANKS, TFBlocks.SORTING_PLANKS.get()); - woodenStairsBlock(output, locWood("time_stairs"), TFBlocks.TIME_STAIRS, TFBlocks.TIME_PLANKS, TFBlocks.TIME_PLANKS.get()); - woodenStairsBlock(output, locWood("transformation_stairs"), TFBlocks.TRANSFORMATION_STAIRS, TFBlocks.TRANSFORMATION_PLANKS, TFBlocks.TRANSFORMATION_PLANKS.get()); - woodenStairsBlock(output, locWood("twilight_oak_stairs"), TFBlocks.TWILIGHT_OAK_STAIRS, TFBlocks.TWILIGHT_OAK_PLANKS, TFBlocks.TWILIGHT_OAK_PLANKS.get()); - - trapdoorBlock(output, "canopy", TFBlocks.CANOPY_TRAPDOOR, TFBlocks.CANOPY_PLANKS); - trapdoorBlock(output, "dark", TFBlocks.DARK_TRAPDOOR, TFBlocks.DARK_PLANKS); - trapdoorBlock(output, "mangrove", TFBlocks.MANGROVE_TRAPDOOR, TFBlocks.MANGROVE_PLANKS); - trapdoorBlock(output, "mining", TFBlocks.MINING_TRAPDOOR, TFBlocks.MINING_PLANKS); - trapdoorBlock(output, "sorting", TFBlocks.SORTING_TRAPDOOR, TFBlocks.SORTING_PLANKS); - trapdoorBlock(output, "time", TFBlocks.TIME_TRAPDOOR, TFBlocks.TIME_PLANKS); - trapdoorBlock(output, "transformation", TFBlocks.TRANSFORMATION_TRAPDOOR, TFBlocks.TRANSFORMATION_PLANKS); - trapdoorBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_TRAPDOOR, TFBlocks.TWILIGHT_OAK_PLANKS); - - signBlock(output, "canopy", TFItems.CANOPY_SIGN, TFBlocks.CANOPY_PLANKS); - signBlock(output, "dark", TFItems.DARK_SIGN, TFBlocks.DARK_PLANKS); - signBlock(output, "mangrove", TFItems.MANGROVE_SIGN, TFBlocks.MANGROVE_PLANKS); - signBlock(output, "mining", TFItems.MINING_SIGN, TFBlocks.MINING_PLANKS); - signBlock(output, "sorting", TFItems.SORTING_SIGN, TFBlocks.SORTING_PLANKS); - signBlock(output, "time", TFItems.TIME_SIGN, TFBlocks.TIME_PLANKS); - signBlock(output, "transformation", TFItems.TRANSFORMATION_SIGN, TFBlocks.TRANSFORMATION_PLANKS); - signBlock(output, "twilight_oak", TFItems.TWILIGHT_OAK_SIGN, TFBlocks.TWILIGHT_OAK_PLANKS); - - hangingSignBlock(output, "canopy", TFItems.CANOPY_HANGING_SIGN, TFBlocks.STRIPPED_CANOPY_LOG); - hangingSignBlock(output, "dark", TFItems.DARK_HANGING_SIGN, TFBlocks.STRIPPED_DARK_LOG); - hangingSignBlock(output, "mangrove", TFItems.MANGROVE_HANGING_SIGN, TFBlocks.STRIPPED_MANGROVE_LOG); - hangingSignBlock(output, "mining", TFItems.MINING_HANGING_SIGN, TFBlocks.STRIPPED_MINING_LOG); - hangingSignBlock(output, "sorting", TFItems.SORTING_HANGING_SIGN, TFBlocks.STRIPPED_SORTING_LOG); - hangingSignBlock(output, "time", TFItems.TIME_HANGING_SIGN, TFBlocks.STRIPPED_TIME_LOG); - hangingSignBlock(output, "transformation", TFItems.TRANSFORMATION_HANGING_SIGN, TFBlocks.STRIPPED_TRANSFORMATION_LOG); - hangingSignBlock(output, "twilight_oak", TFItems.TWILIGHT_OAK_HANGING_SIGN, TFBlocks.STRIPPED_TWILIGHT_OAK_LOG); - - banisterBlock(output, "canopy", TFBlocks.CANOPY_BANISTER, TFBlocks.CANOPY_SLAB); - banisterBlock(output, "dark", TFBlocks.DARK_BANISTER, TFBlocks.DARK_SLAB); - banisterBlock(output, "mangrove", TFBlocks.MANGROVE_BANISTER, TFBlocks.MANGROVE_SLAB); - banisterBlock(output, "mining", TFBlocks.MINING_BANISTER, TFBlocks.MINING_SLAB); - banisterBlock(output, "sorting", TFBlocks.SORTING_BANISTER, TFBlocks.SORTING_SLAB); - banisterBlock(output, "time", TFBlocks.TIME_BANISTER, TFBlocks.TIME_SLAB); - banisterBlock(output, "transformation", TFBlocks.TRANSFORMATION_BANISTER, TFBlocks.TRANSFORMATION_SLAB); - banisterBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_BANISTER, TFBlocks.TWILIGHT_OAK_SLAB); - - banisterBlock(output, "oak", TFBlocks.OAK_BANISTER, Blocks.OAK_SLAB); - banisterBlock(output, "spruce", TFBlocks.SPRUCE_BANISTER, Blocks.SPRUCE_SLAB); - banisterBlock(output, "birch", TFBlocks.BIRCH_BANISTER, Blocks.BIRCH_SLAB); - banisterBlock(output, "jungle", TFBlocks.JUNGLE_BANISTER, Blocks.JUNGLE_SLAB); - banisterBlock(output, "acacia", TFBlocks.ACACIA_BANISTER, Blocks.ACACIA_SLAB); - banisterBlock(output, "dark_oak", TFBlocks.DARK_OAK_BANISTER, Blocks.DARK_OAK_SLAB); - banisterBlock(output, "crimson", TFBlocks.CRIMSON_BANISTER, Blocks.CRIMSON_SLAB); - banisterBlock(output, "warped", TFBlocks.WARPED_BANISTER, Blocks.WARPED_SLAB); - banisterBlock(output, "vangrove", TFBlocks.VANGROVE_BANISTER, Blocks.MANGROVE_SLAB); - banisterBlock(output, "bamboo", TFBlocks.BAMBOO_BANISTER, Blocks.BAMBOO_SLAB); - banisterBlock(output, "cherry", TFBlocks.CHERRY_BANISTER, Blocks.CHERRY_SLAB); - - chestBlock(output, "twilight_oak", TFBlocks.TWILIGHT_OAK_CHEST, TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST, TFBlocks.TWILIGHT_OAK_PLANKS); - chestBlock(output, "canopy", TFBlocks.CANOPY_CHEST, TFBlocks.CANOPY_TRAPPED_CHEST, TFBlocks.CANOPY_PLANKS); - chestBlock(output, "mangrove", TFBlocks.MANGROVE_CHEST, TFBlocks.MANGROVE_TRAPPED_CHEST, TFBlocks.MANGROVE_PLANKS); - chestBlock(output, "dark", TFBlocks.DARK_CHEST, TFBlocks.DARK_TRAPPED_CHEST, TFBlocks.DARK_PLANKS); - chestBlock(output, "time", TFBlocks.TIME_CHEST, TFBlocks.TIME_TRAPPED_CHEST, TFBlocks.TIME_PLANKS); - chestBlock(output, "transformation", TFBlocks.TRANSFORMATION_CHEST, TFBlocks.TRANSFORMATION_TRAPPED_CHEST, TFBlocks.TRANSFORMATION_PLANKS); - chestBlock(output, "mining", TFBlocks.MINING_CHEST, TFBlocks.MINING_TRAPPED_CHEST, TFBlocks.MINING_PLANKS); - chestBlock(output, "sorting", TFBlocks.SORTING_CHEST, TFBlocks.SORTING_TRAPPED_CHEST, TFBlocks.SORTING_PLANKS); - - buildBoats(output, TFItems.TWILIGHT_OAK_BOAT, TFItems.TWILIGHT_OAK_CHEST_BOAT, TFBlocks.TWILIGHT_OAK_PLANKS); - buildBoats(output, TFItems.CANOPY_BOAT, TFItems.CANOPY_CHEST_BOAT, TFBlocks.CANOPY_PLANKS); - buildBoats(output, TFItems.MANGROVE_BOAT, TFItems.MANGROVE_CHEST_BOAT, TFBlocks.MANGROVE_PLANKS); - buildBoats(output, TFItems.DARK_BOAT, TFItems.DARK_CHEST_BOAT, TFBlocks.DARK_PLANKS); - buildBoats(output, TFItems.TIME_BOAT, TFItems.TIME_CHEST_BOAT, TFBlocks.TIME_PLANKS); - buildBoats(output, TFItems.TRANSFORMATION_BOAT, TFItems.TRANSFORMATION_CHEST_BOAT, TFBlocks.TRANSFORMATION_PLANKS); - buildBoats(output, TFItems.MINING_BOAT, TFItems.MINING_CHEST_BOAT, TFBlocks.MINING_PLANKS); - buildBoats(output, TFItems.SORTING_BOAT, TFItems.SORTING_CHEST_BOAT, TFBlocks.SORTING_PLANKS); - } - - private void nagastoneRecipes(RecipeOutput output) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.SPIRAL_BRICKS.get(), 8) - .pattern("BSS") - .pattern("BSS") - .pattern("BBB") - .define('B', Ingredient.of(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS))//Ingredient.merge(ImmutableList.of(Ingredient.fromTag(Tags.Items.STONE), Ingredient.fromItems(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS)))) - .define('S', Ingredient.of(Blocks.STONE_SLAB, Blocks.STONE_BRICK_SLAB)) - .unlockedBy("has_item", has(TFBlocks.SPIRAL_BRICKS.get())) - .save(output, locNaga("nagastone_spiral")); - - stairsBlock(output, locNaga("nagastone_stairs_left"), TFBlocks.NAGASTONE_STAIRS_LEFT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); - stairsRightBlock(output, locNaga("nagastone_stairs_right"), TFBlocks.NAGASTONE_STAIRS_RIGHT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); - - stairsBlock(output, locNaga("mossy_nagastone_stairs_left"), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); - stairsRightBlock(output, locNaga("mossy_nagastone_stairs_right"), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), 1) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get())) - .unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())) - .save(output, locNaga("mossy_etched_nagastone")); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_NAGASTONE_PILLAR.get(), 1) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get())) - .unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())) - .save(output, locNaga("mossy_nagastone_pillar")); - - stairsBlock(output, locNaga("cracked_nagastone_stairs_left"), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); - stairsRightBlock(output, locNaga("cracked_nagastone_stairs_right"), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); - } - - private void castleRecipes(RecipeOutput output) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_CASTLE_BRICK.get(), 1) - .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.CASTLE_BRICK.get())) - .unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())) - .save(output, locCastle("mossy_castle_brick")); - - castleBlock(output, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get()); - castleBlock(output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.THICK_CASTLE_BRICK.get()); - castleBlock(output, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), 4) - .pattern("##") - .pattern("##") - .define('#', Ingredient.of(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) - .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) - .save(output, locCastle("bold_castle_pillar_from_tile")); - - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), 6) - .pattern("#H#") - .pattern("#H#") - .define('#', Ingredient.of(TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get())) - .define('H', Ingredient.of(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) - .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) - .save(output, locCastle("encased_castle_pillar")); - - stairsBlock(output, locCastle("bold_castle_brick_stairs"), TFBlocks.BOLD_CASTLE_BRICK_STAIRS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stairsBlock(output, locCastle("castle_brick_stairs"), TFBlocks.CASTLE_BRICK_STAIRS, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get()); - stairsBlock(output, locCastle("cracked_castle_brick_stairs"), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK.get()); - stairsBlock(output, locCastle("encased_castle_brick_stairs"), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stairsBlock(output, locCastle("mossy_castle_brick_stairs"), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK.get()); - stairsBlock(output, locCastle("worn_castle_brick_stairs"), TFBlocks.WORN_CASTLE_BRICK_STAIRS, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK.get()); - } - - private void fieryConversions(RecipeOutput output) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TFItems.FIERY_INGOT.get()) - .requires(Ingredient.of(ItemTagGenerator.FIERY_VIAL)) - .requires(Ingredient.of(Tags.Items.INGOTS_IRON)) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) - .group("fiery_ingot") - .save(output, locEquip("fiery_ingot_crafting")); - - fieryConversion(output, TFItems.FIERY_HELMET, Items.IRON_HELMET, 5); - fieryConversion(output, TFItems.FIERY_CHESTPLATE, Items.IRON_CHESTPLATE, 8); - fieryConversion(output, TFItems.FIERY_LEGGINGS, Items.IRON_LEGGINGS, 7); - fieryConversion(output, TFItems.FIERY_BOOTS, Items.IRON_BOOTS, 4); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.COMBAT, TFItems.FIERY_SWORD.get()) - .requires(Items.IRON_SWORD) - .requires(Ingredient.of(ItemTagGenerator.FIERY_VIAL), 2) - .requires(Ingredient.of(Tags.Items.RODS_BLAZE)) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) - .group("fiery_sword") - .save(output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_SWORD).getPath())); - - ShapelessRecipeBuilder.shapeless(RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE.get()) - .requires(Items.IRON_PICKAXE) - .requires(Ingredient.of(ItemTagGenerator.FIERY_VIAL), 3) - .requires(Ingredient.of(Tags.Items.RODS_BLAZE), 2) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) - .group("fiery_pickaxe") - .save(output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_PICKAXE).getPath())); - } - - private void cookingRecipes(RecipeOutput output, String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF.get()), RecipeCategory.FOOD, TFItems.COOKED_MEEF.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF.get())).save(output, TwilightForestMod.prefix("food/" + processName + "_meef").toString()); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON.get()), RecipeCategory.FOOD, TFItems.COOKED_VENISON.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON.get())).save(output, TwilightForestMod.prefix("food/" + processName + "_venison").toString()); - } - - private void ingotRecipes(RecipeOutput output, String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER.get()), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER.get())).group("knightmetal_ingot").save(output, TwilightForestMod.prefix("material/" + processName + "_knightmetal_ingot").toString()); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD.get()), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD.get())).group("ironwood_ingot").save(output, TwilightForestMod.prefix("material/" + processName + "_ironwood_ingot").toString()); - } - - private void crackedWoodRecipes(RecipeOutput output) { - SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD.get(), 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())).save(output, TwilightForestMod.prefix("wood/" + "smoked" + "_cracked_towerwood").toString()); - } - - private void crackedStoneRecipes(RecipeOutput output) { - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())).save(output, TwilightForestMod.prefix("nagastone/" + "smelted" + "_cracked_nagastone_pillar").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())).save(output, TwilightForestMod.prefix("nagastone/" + "smelted" + "_cracked_etched_nagastone").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())).save(output, TwilightForestMod.prefix("maze_stone/" + "smelted" + "_maze_stone_cracked").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())).save(output, TwilightForestMod.prefix("castleblock/" + "smelted" + "_cracked_castle_brick").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())).save(output, TwilightForestMod.prefix("smelted" + "_cracked_underbrick").toString()); - } -} diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java index e2a594478c..3875501a74 100644 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ b/src/main/java/twilightforest/data/DataGenerators.java @@ -16,6 +16,8 @@ import net.neoforged.neoforge.data.event.GatherDataEvent; import twilightforest.TwilightForestMod; import twilightforest.data.custom.stalactites.StalactiteGenerator; +import twilightforest.data.recipes.CraftingGenerator; +import twilightforest.data.recipes.CraftingGeneratorRunner; import twilightforest.data.tags.*; import java.util.Optional; @@ -62,7 +64,7 @@ public static void gatherData(GatherDataEvent event) { generator.addProvider(event.includeServer(), new FluidTagGenerator(output, lookupProvider, helper)); generator.addProvider(event.includeServer(), new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter(), helper)); generator.addProvider(event.includeServer(), new EntityTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CraftingGenerator(output, lookupProvider)); + generator.addProvider(event.includeServer(), new CraftingGeneratorRunner(output, lookupProvider)); generator.addProvider(event.includeServer(), new LootModifierGenerator(output, lookupProvider)); //these have to go last due to magic paintings diff --git a/src/main/java/twilightforest/data/EntityLootTables.java b/src/main/java/twilightforest/data/EntityLootTables.java index 035b887115..7c4911ee81 100644 --- a/src/main/java/twilightforest/data/EntityLootTables.java +++ b/src/main/java/twilightforest/data/EntityLootTables.java @@ -610,6 +610,6 @@ private static LootTable.Builder sheepLootTableBuilderWithDrop(ItemLike wool) { @Override protected Stream> getKnownEntityTypes() { - return TFEntities.ENTITIES.getEntries().stream().map(DeferredHolder::value); + return TFEntities.ENTITY_TYPES.getEntries().stream().map(DeferredHolder::value); } } diff --git a/src/main/java/twilightforest/data/StonecuttingGenerator.java b/src/main/java/twilightforest/data/StonecuttingGenerator.java deleted file mode 100644 index 1af6ac4d8a..0000000000 --- a/src/main/java/twilightforest/data/StonecuttingGenerator.java +++ /dev/null @@ -1,167 +0,0 @@ -package twilightforest.data; - -import net.minecraft.advancements.CriteriaTriggers; -import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.InventoryChangeTrigger; -import net.minecraft.advancements.critereon.ItemPredicate; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.data.recipes.RecipeOutput; -import net.minecraft.data.recipes.SingleItemRecipeBuilder; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Blocks; -import twilightforest.init.TFBlocks; -import twilightforest.init.TFItems; - -import java.util.Collections; -import java.util.Optional; - -import static twilightforest.TwilightForestMod.prefix; - -public class StonecuttingGenerator { - - protected static void buildRecipes(RecipeOutput output) { - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); - - stonecutting(output, TFBlocks.NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.NAGASTONE_STAIRS_LEFT.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(output, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(output, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(output, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); - - stonecutting(output, TFBlocks.DARK_LOG.get(), TFBlocks.TOWERWOOD.get()); - stonecutting(output, TFBlocks.DARK_WOOD.get(), TFBlocks.TOWERWOOD.get()); - stonecutting(output, TFBlocks.DARK_LOG.get(), TFBlocks.ENCASED_TOWERWOOD.get()); - stonecutting(output, TFBlocks.DARK_WOOD.get(), TFBlocks.ENCASED_TOWERWOOD.get()); - - stonecutting(output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(output, TFBlocks.MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BRICK.get()); - - stonecutting(output, TFBlocks.TWILIGHT_OAK_LOG.get(), TFItems.HOLLOW_TWILIGHT_OAK_LOG.get()); - stonecutting(output, TFBlocks.CANOPY_LOG.get(), TFItems.HOLLOW_CANOPY_LOG.get()); - stonecutting(output, TFBlocks.MANGROVE_LOG.get(), TFItems.HOLLOW_MANGROVE_LOG.get()); - stonecutting(output, TFBlocks.DARK_LOG.get(), TFItems.HOLLOW_DARK_LOG.get()); - stonecutting(output, TFBlocks.TIME_LOG.get(), TFItems.HOLLOW_TIME_LOG.get()); - stonecutting(output, TFBlocks.TRANSFORMATION_LOG.get(), TFItems.HOLLOW_TRANSFORMATION_LOG.get()); - stonecutting(output, TFBlocks.MINING_LOG.get(), TFItems.HOLLOW_MINING_LOG.get()); - stonecutting(output, TFBlocks.SORTING_LOG.get(), TFItems.HOLLOW_SORTING_LOG.get()); - - stonecutting(output, Blocks.OAK_LOG, TFItems.HOLLOW_OAK_LOG.get()); - stonecutting(output, Blocks.SPRUCE_LOG, TFItems.HOLLOW_SPRUCE_LOG.get()); - stonecutting(output, Blocks.BIRCH_LOG, TFItems.HOLLOW_BIRCH_LOG.get()); - stonecutting(output, Blocks.JUNGLE_LOG, TFItems.HOLLOW_JUNGLE_LOG.get()); - stonecutting(output, Blocks.ACACIA_LOG, TFItems.HOLLOW_ACACIA_LOG.get()); - stonecutting(output, Blocks.DARK_OAK_LOG, TFItems.HOLLOW_DARK_OAK_LOG.get()); - stonecutting(output, Blocks.CRIMSON_STEM, TFItems.HOLLOW_CRIMSON_STEM.get()); - stonecutting(output, Blocks.WARPED_STEM, TFItems.HOLLOW_WARPED_STEM.get()); - stonecutting(output, Blocks.MANGROVE_LOG, TFItems.HOLLOW_VANGROVE_LOG.get()); - stonecutting(output, Blocks.CHERRY_LOG, TFItems.HOLLOW_CHERRY_LOG.get()); - stonecutting(output, Blocks.STONE, TFBlocks.TWISTED_STONE.get()); - stonecutting(output, Blocks.STONE, TFBlocks.BOLD_STONE_PILLAR.get()); - stonecutting(output, Blocks.STONE, TFBlocks.TWISTED_STONE_PILLAR.get()); - stonecutting(output, Blocks.STONE, TFBlocks.SPIRAL_BRICKS.get()); - stonecutting(output, TFBlocks.TWISTED_STONE.get(), TFBlocks.TWISTED_STONE_PILLAR.get()); - - stonecutting(output, TFBlocks.UNDERBRICK.get(), TFBlocks.UNDERBRICK_FLOOR.get()); - } - - private static void stonecutting(RecipeOutput recipe, ItemLike input, ItemLike output) { - stonecutting(recipe, input, output, 1); - } - - private static void stonecutting(RecipeOutput recipe, ItemLike input, ItemLike output, int count) { - SingleItemRecipeBuilder.stonecutting(Ingredient.of(input), RecipeCategory.BUILDING_BLOCKS, output.asItem(), count).unlockedBy("has_block", has(input)).save(recipe, getIdFor(input, output)); - } - - private static ResourceLocation getIdFor(ItemLike input, ItemLike output) { - String path = String.format("stonecutting/%s/%s", BuiltInRegistries.ITEM.getKey(input.asItem()).getPath(), BuiltInRegistries.ITEM.getKey(output.asItem()).getPath()); - return prefix(path); - } - - protected static Criterion has(ItemLike item) { - return CriteriaTriggers.INVENTORY_CHANGED.createCriterion(new InventoryChangeTrigger.TriggerInstance(Optional.empty(), InventoryChangeTrigger.TriggerInstance.Slots.ANY, Collections.singletonList(ItemPredicate.Builder.item().of(item).build()))); - } -} diff --git a/src/main/java/twilightforest/data/TFAdvancementGenerator.java b/src/main/java/twilightforest/data/TFAdvancementGenerator.java index 8508016504..6f37ebb96c 100644 --- a/src/main/java/twilightforest/data/TFAdvancementGenerator.java +++ b/src/main/java/twilightforest/data/TFAdvancementGenerator.java @@ -37,16 +37,16 @@ public class TFAdvancementGenerator implements AdvancementProvider.AdvancementGe private static final Supplier[]> TF_KILLABLE = Lazy.of(() -> new EntityType[]{TFEntities.ADHERENT.get(), TFEntities.ARMORED_GIANT.get(), TFEntities.BIGHORN_SHEEP.get(), TFEntities.BLOCKCHAIN_GOBLIN.get(), TFEntities.DWARF_RABBIT.get(), TFEntities.DEATH_TOME.get(), TFEntities.DEER.get(), TFEntities.FIRE_BEETLE.get(), TFEntities.GIANT_MINER.get(), TFEntities.LOWER_GOBLIN_KNIGHT.get(), TFEntities.UPPER_GOBLIN_KNIGHT.get(), TFEntities.HARBINGER_CUBE.get(), TFEntities.HEDGE_SPIDER.get(), TFEntities.HELMET_CRAB.get(), TFEntities.HOSTILE_WOLF.get(), TFEntities.HYDRA.get(), TFEntities.KING_SPIDER.get(), TFEntities.KNIGHT_PHANTOM.get(), TFEntities.KOBOLD.get(), TFEntities.LICH.get(), TFEntities.LICH_MINION.get(), TFEntities.MAZE_SLIME.get(), TFEntities.CARMINITE_GHASTLING.get(), TFEntities.MINOSHROOM.get(), TFEntities.MINOTAUR.get(), TFEntities.MIST_WOLF.get(), TFEntities.MOSQUITO_SWARM.get(), TFEntities.NAGA.get(), TFEntities.PENGUIN.get(), TFEntities.PINCH_BEETLE.get(), TFEntities.PLATEAU_BOSS.get(), TFEntities.QUEST_RAM.get(), TFEntities.RAVEN.get(), TFEntities.REDCAP.get(), TFEntities.REDCAP_SAPPER.get(), TFEntities.SKELETON_DRUID.get(), TFEntities.SLIME_BEETLE.get(), TFEntities.SNOW_GUARDIAN.get(), TFEntities.SNOW_QUEEN.get(), TFEntities.SQUIRREL.get(), TFEntities.STABLE_ICE_CORE.get(), TFEntities.SWARM_SPIDER.get(), TFEntities.TINY_BIRD.get(), TFEntities.CARMINITE_BROODLING.get(), TFEntities.CARMINITE_GHASTGUARD.get(), TFEntities.CARMINITE_GOLEM.get(), TFEntities.TOWERWOOD_BORER.get(), TFEntities.TROLL.get(), TFEntities.UNSTABLE_ICE_CORE.get(), TFEntities.UR_GHAST.get(), TFEntities.BOAR.get(), TFEntities.WINTER_WOLF.get(), TFEntities.WRAITH.get(), TFEntities.YETI.get(), TFEntities.ALPHA_YETI.get()}); private static final Supplier DENDROLOGIST_BLOCKS = Lazy.of(() -> new ItemLike[]{ - TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.TWILIGHT_OAK_WOOD.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TFBlocks.TWILIGHT_OAK_SLAB.get(), TFBlocks.TWILIGHT_OAK_STAIRS.get(), TFBlocks.TWILIGHT_OAK_BUTTON.get(), TFBlocks.TWILIGHT_OAK_FENCE.get(), TFBlocks.TWILIGHT_OAK_GATE.get(), TFBlocks.TWILIGHT_OAK_PLATE.get(), TFBlocks.TWILIGHT_OAK_DOOR.get(), TFBlocks.TWILIGHT_OAK_TRAPDOOR.get(), TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_BANISTER.get(), TFItems.TWILIGHT_OAK_BOAT.get(), TFItems.TWILIGHT_OAK_CHEST_BOAT.get(), - TFBlocks.CANOPY_LOG.get(), TFBlocks.CANOPY_WOOD.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_WOOD.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.CANOPY_LEAVES.get(), TFBlocks.CANOPY_SAPLING.get(), TFBlocks.CANOPY_PLANKS.get(), TFBlocks.CANOPY_SLAB.get(), TFBlocks.CANOPY_STAIRS.get(), TFBlocks.CANOPY_BUTTON.get(), TFBlocks.CANOPY_FENCE.get(), TFBlocks.CANOPY_GATE.get(), TFBlocks.CANOPY_PLATE.get(), TFBlocks.CANOPY_DOOR.get(), TFBlocks.CANOPY_TRAPDOOR.get(), TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_BANISTER.get(), TFBlocks.CANOPY_BOOKSHELF.get(), TFBlocks.CHISELED_CANOPY_BOOKSHELF.get(), TFItems.CANOPY_BOAT.get(), TFItems.CANOPY_CHEST_BOAT.get(), - TFBlocks.MANGROVE_LOG.get(), TFBlocks.MANGROVE_WOOD.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_WOOD.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.MANGROVE_LEAVES.get(), TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.MANGROVE_PLANKS.get(), TFBlocks.MANGROVE_SLAB.get(), TFBlocks.MANGROVE_STAIRS.get(), TFBlocks.MANGROVE_BUTTON.get(), TFBlocks.MANGROVE_FENCE.get(), TFBlocks.MANGROVE_GATE.get(), TFBlocks.MANGROVE_PLATE.get(), TFBlocks.MANGROVE_DOOR.get(), TFBlocks.MANGROVE_TRAPDOOR.get(), TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_BANISTER.get(), TFItems.MANGROVE_BOAT.get(), TFItems.MANGROVE_CHEST_BOAT.get(), - TFBlocks.DARK_LOG.get(), TFBlocks.DARK_WOOD.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.STRIPPED_DARK_WOOD.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.DARK_PLANKS.get(), TFBlocks.DARK_SLAB.get(), TFBlocks.DARK_STAIRS.get(), TFBlocks.DARK_BUTTON.get(), TFBlocks.DARK_FENCE.get(), TFBlocks.DARK_GATE.get(), TFBlocks.DARK_PLATE.get(), TFBlocks.DARK_DOOR.get(), TFBlocks.DARK_TRAPDOOR.get(), TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_BANISTER.get(), TFItems.DARK_BOAT.get(), TFItems.DARK_CHEST_BOAT.get(), - TFBlocks.TIME_LOG.get(), TFBlocks.TIME_WOOD.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.STRIPPED_TIME_WOOD.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.TIME_LEAVES.get(), TFBlocks.TIME_SAPLING.get(), TFBlocks.TIME_PLANKS.get(), TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_STAIRS.get(), TFBlocks.TIME_BUTTON.get(), TFBlocks.TIME_FENCE.get(), TFBlocks.TIME_GATE.get(), TFBlocks.TIME_PLATE.get(), TFBlocks.TIME_DOOR.get(), TFBlocks.TIME_TRAPDOOR.get(), TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_BANISTER.get(), TFItems.TIME_BOAT.get(), TFItems.TIME_CHEST_BOAT.get(), - TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_WOOD.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.TRANSFORMATION_LEAVES.get(), TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_STAIRS.get(), TFBlocks.TRANSFORMATION_BUTTON.get(), TFBlocks.TRANSFORMATION_FENCE.get(), TFBlocks.TRANSFORMATION_GATE.get(), TFBlocks.TRANSFORMATION_PLATE.get(), TFBlocks.TRANSFORMATION_DOOR.get(), TFBlocks.TRANSFORMATION_TRAPDOOR.get(), TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_BANISTER.get(), TFItems.TRANSFORMATION_BOAT.get(), TFItems.TRANSFORMATION_CHEST_BOAT.get(), - TFBlocks.MINING_LOG.get(), TFBlocks.MINING_WOOD.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.STRIPPED_MINING_WOOD.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.MINING_LEAVES.get(), TFBlocks.MINING_SAPLING.get(), TFBlocks.MINING_PLANKS.get(), TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_STAIRS.get(), TFBlocks.MINING_BUTTON.get(), TFBlocks.MINING_FENCE.get(), TFBlocks.MINING_GATE.get(), TFBlocks.MINING_PLATE.get(), TFBlocks.MINING_DOOR.get(), TFBlocks.MINING_TRAPDOOR.get(), TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_BANISTER.get(), TFItems.MINING_BOAT.get(), TFItems.MINING_CHEST_BOAT.get(), - TFBlocks.SORTING_LOG.get(), TFBlocks.SORTING_WOOD.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_WOOD.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.SORTING_LEAVES.get(), TFBlocks.SORTING_SAPLING.get(), TFBlocks.SORTING_PLANKS.get(), TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_STAIRS.get(), TFBlocks.SORTING_BUTTON.get(), TFBlocks.SORTING_FENCE.get(), TFBlocks.SORTING_GATE.get(), TFBlocks.SORTING_PLATE.get(), TFBlocks.SORTING_DOOR.get(), TFBlocks.SORTING_TRAPDOOR.get(), TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_BANISTER.get(), TFItems.SORTING_BOAT.get(), TFItems.SORTING_CHEST_BOAT.get(), - TFBlocks.TOWERWOOD.get(), TFBlocks.CRACKED_TOWERWOOD.get(), TFBlocks.MOSSY_TOWERWOOD.get(), TFBlocks.ENCASED_TOWERWOOD.get(), - TFBlocks.ROOT_BLOCK.get(), TFBlocks.ROOT_STRAND.get(), TFBlocks.LIVEROOT_BLOCK.get(), TFItems.LIVEROOT.get(), TFBlocks.HOLLOW_OAK_SAPLING.get(), TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.RAINBOW_OAK_LEAVES.get(), TFBlocks.GIANT_LOG.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.HUGE_STALK.get(), TFBlocks.BEANSTALK_LEAVES.get(), TFBlocks.THORN_LEAVES.get(), TFBlocks.THORN_ROSE.get(), TFBlocks.HEDGE.get(), TFBlocks.FALLEN_LEAVES.get(), TFBlocks.MANGROVE_ROOT.get(), + TFBlocks.TWILIGHT_OAK_LOG, TFBlocks.TWILIGHT_OAK_WOOD, TFBlocks.STRIPPED_TWILIGHT_OAK_LOG, TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.TWILIGHT_OAK_LEAVES, TFBlocks.TWILIGHT_OAK_SAPLING, TFBlocks.TWILIGHT_OAK_PLANKS, TFBlocks.TWILIGHT_OAK_SLAB, TFBlocks.TWILIGHT_OAK_STAIRS, TFBlocks.TWILIGHT_OAK_BUTTON, TFBlocks.TWILIGHT_OAK_FENCE, TFBlocks.TWILIGHT_OAK_GATE, TFBlocks.TWILIGHT_OAK_PLATE, TFBlocks.TWILIGHT_OAK_DOOR, TFBlocks.TWILIGHT_OAK_TRAPDOOR, TFBlocks.TWILIGHT_OAK_SIGN, TFBlocks.TWILIGHT_OAK_HANGING_SIGN, TFBlocks.TWILIGHT_OAK_CHEST, TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST, TFBlocks.TWILIGHT_OAK_BANISTER, TFItems.TWILIGHT_OAK_BOAT, TFItems.TWILIGHT_OAK_CHEST_BOAT, + TFBlocks.CANOPY_LOG, TFBlocks.CANOPY_WOOD, TFBlocks.STRIPPED_CANOPY_LOG, TFBlocks.STRIPPED_CANOPY_WOOD, TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.CANOPY_LEAVES, TFBlocks.CANOPY_SAPLING, TFBlocks.CANOPY_PLANKS, TFBlocks.CANOPY_SLAB, TFBlocks.CANOPY_STAIRS, TFBlocks.CANOPY_BUTTON, TFBlocks.CANOPY_FENCE, TFBlocks.CANOPY_GATE, TFBlocks.CANOPY_PLATE, TFBlocks.CANOPY_DOOR, TFBlocks.CANOPY_TRAPDOOR, TFBlocks.CANOPY_SIGN, TFBlocks.CANOPY_HANGING_SIGN, TFBlocks.CANOPY_CHEST, TFBlocks.CANOPY_TRAPPED_CHEST, TFBlocks.CANOPY_BANISTER, TFBlocks.CANOPY_BOOKSHELF, TFBlocks.CHISELED_CANOPY_BOOKSHELF, TFItems.CANOPY_BOAT, TFItems.CANOPY_CHEST_BOAT, + TFBlocks.MANGROVE_LOG, TFBlocks.MANGROVE_WOOD, TFBlocks.STRIPPED_MANGROVE_LOG, TFBlocks.STRIPPED_MANGROVE_WOOD, TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.MANGROVE_LEAVES, TFBlocks.MANGROVE_SAPLING, TFBlocks.MANGROVE_PLANKS, TFBlocks.MANGROVE_SLAB, TFBlocks.MANGROVE_STAIRS, TFBlocks.MANGROVE_BUTTON, TFBlocks.MANGROVE_FENCE, TFBlocks.MANGROVE_GATE, TFBlocks.MANGROVE_PLATE, TFBlocks.MANGROVE_DOOR, TFBlocks.MANGROVE_TRAPDOOR, TFBlocks.MANGROVE_SIGN, TFBlocks.MANGROVE_HANGING_SIGN, TFBlocks.MANGROVE_CHEST, TFBlocks.MANGROVE_TRAPPED_CHEST, TFBlocks.MANGROVE_BANISTER, TFItems.MANGROVE_BOAT, TFItems.MANGROVE_CHEST_BOAT, + TFBlocks.DARK_LOG, TFBlocks.DARK_WOOD, TFBlocks.STRIPPED_DARK_LOG, TFBlocks.STRIPPED_DARK_WOOD, TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.DARK_LEAVES, TFBlocks.DARKWOOD_SAPLING, TFBlocks.DARK_PLANKS, TFBlocks.DARK_SLAB, TFBlocks.DARK_STAIRS, TFBlocks.DARK_BUTTON, TFBlocks.DARK_FENCE, TFBlocks.DARK_GATE, TFBlocks.DARK_PLATE, TFBlocks.DARK_DOOR, TFBlocks.DARK_TRAPDOOR, TFBlocks.DARK_SIGN, TFBlocks.DARK_HANGING_SIGN, TFBlocks.DARK_CHEST, TFBlocks.DARK_TRAPPED_CHEST, TFBlocks.DARK_BANISTER, TFItems.DARK_BOAT, TFItems.DARK_CHEST_BOAT, + TFBlocks.TIME_LOG, TFBlocks.TIME_WOOD, TFBlocks.STRIPPED_TIME_LOG, TFBlocks.STRIPPED_TIME_WOOD, TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.TIME_LEAVES, TFBlocks.TIME_SAPLING, TFBlocks.TIME_PLANKS, TFBlocks.TIME_SLAB, TFBlocks.TIME_STAIRS, TFBlocks.TIME_BUTTON, TFBlocks.TIME_FENCE, TFBlocks.TIME_GATE, TFBlocks.TIME_PLATE, TFBlocks.TIME_DOOR, TFBlocks.TIME_TRAPDOOR, TFBlocks.TIME_SIGN, TFBlocks.TIME_HANGING_SIGN, TFBlocks.TIME_CHEST, TFBlocks.TIME_TRAPPED_CHEST, TFBlocks.TIME_BANISTER, TFItems.TIME_BOAT, TFItems.TIME_CHEST_BOAT, + TFBlocks.TRANSFORMATION_LOG, TFBlocks.TRANSFORMATION_WOOD, TFBlocks.STRIPPED_TRANSFORMATION_LOG, TFBlocks.STRIPPED_TRANSFORMATION_WOOD, TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.TRANSFORMATION_LEAVES, TFBlocks.TRANSFORMATION_SAPLING, TFBlocks.TRANSFORMATION_PLANKS, TFBlocks.TRANSFORMATION_SLAB, TFBlocks.TRANSFORMATION_STAIRS, TFBlocks.TRANSFORMATION_BUTTON, TFBlocks.TRANSFORMATION_FENCE, TFBlocks.TRANSFORMATION_GATE, TFBlocks.TRANSFORMATION_PLATE, TFBlocks.TRANSFORMATION_DOOR, TFBlocks.TRANSFORMATION_TRAPDOOR, TFBlocks.TRANSFORMATION_SIGN, TFBlocks.TRANSFORMATION_HANGING_SIGN, TFBlocks.TRANSFORMATION_CHEST, TFBlocks.TRANSFORMATION_TRAPPED_CHEST, TFBlocks.TRANSFORMATION_BANISTER, TFItems.TRANSFORMATION_BOAT, TFItems.TRANSFORMATION_CHEST_BOAT, + TFBlocks.MINING_LOG, TFBlocks.MINING_WOOD, TFBlocks.STRIPPED_MINING_LOG, TFBlocks.STRIPPED_MINING_WOOD, TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.MINING_LEAVES, TFBlocks.MINING_SAPLING, TFBlocks.MINING_PLANKS, TFBlocks.MINING_SLAB, TFBlocks.MINING_STAIRS, TFBlocks.MINING_BUTTON, TFBlocks.MINING_FENCE, TFBlocks.MINING_GATE, TFBlocks.MINING_PLATE, TFBlocks.MINING_DOOR, TFBlocks.MINING_TRAPDOOR, TFBlocks.MINING_SIGN, TFBlocks.MINING_HANGING_SIGN, TFBlocks.MINING_CHEST, TFBlocks.MINING_TRAPPED_CHEST, TFBlocks.MINING_BANISTER, TFItems.MINING_BOAT, TFItems.MINING_CHEST_BOAT, + TFBlocks.SORTING_LOG, TFBlocks.SORTING_WOOD, TFBlocks.STRIPPED_SORTING_LOG, TFBlocks.STRIPPED_SORTING_WOOD, TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.SORTING_LEAVES, TFBlocks.SORTING_SAPLING, TFBlocks.SORTING_PLANKS, TFBlocks.SORTING_SLAB, TFBlocks.SORTING_STAIRS, TFBlocks.SORTING_BUTTON, TFBlocks.SORTING_FENCE, TFBlocks.SORTING_GATE, TFBlocks.SORTING_PLATE, TFBlocks.SORTING_DOOR, TFBlocks.SORTING_TRAPDOOR, TFBlocks.SORTING_SIGN, TFBlocks.SORTING_HANGING_SIGN, TFBlocks.SORTING_CHEST, TFBlocks.SORTING_TRAPPED_CHEST, TFBlocks.SORTING_BANISTER, TFItems.SORTING_BOAT, TFItems.SORTING_CHEST_BOAT, + TFBlocks.TOWERWOOD, TFBlocks.CRACKED_TOWERWOOD, TFBlocks.MOSSY_TOWERWOOD, TFBlocks.ENCASED_TOWERWOOD, + TFBlocks.ROOT_BLOCK, TFBlocks.ROOT_STRAND, TFBlocks.LIVEROOT_BLOCK, TFItems.LIVEROOT, TFBlocks.HOLLOW_OAK_SAPLING, TFBlocks.RAINBOW_OAK_SAPLING, TFBlocks.RAINBOW_OAK_LEAVES, TFBlocks.GIANT_LOG, TFBlocks.GIANT_LEAVES, TFBlocks.HUGE_STALK, TFBlocks.BEANSTALK_LEAVES, TFBlocks.THORN_LEAVES, TFBlocks.THORN_ROSE, TFBlocks.HEDGE, TFBlocks.FALLEN_LEAVES, TFBlocks.MANGROVE_ROOT, }); @Autowired @@ -61,7 +61,7 @@ public void generate(HolderLookup.Provider registries, Consumer structures = registries.lookupOrThrow(Registries.STRUCTURE); AdvancementHolder root = Advancement.Builder.advancement().display( - TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), + TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE, Component.translatable("advancement.twilightforest.root"), Component.translatable("advancement.twilightforest.root.desc"), TwilightForestMod.prefix("textures/block/mazestone_large_brick.png"), @@ -74,8 +74,8 @@ public void generate(HolderLookup.Provider registries, Consumer entity : TF_KILLABLE.get()) { builder.addCriterion(EntityType.getKey(entity).getPath(), - KilledTrigger.TriggerInstance.playerKilledEntity(EntityPredicate.Builder.entity().of(entity) + KilledTrigger.TriggerInstance.playerKilledEntity(EntityPredicate.Builder.entity().of(registries.lookupOrThrow(Registries.ENTITY_TYPE), entity) .located(LocationPredicate.Builder.inDimension(TFDimension.DIMENSION_KEY)))); } return builder; diff --git a/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java b/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java index 927a29a18f..5e0d35c661 100644 --- a/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java @@ -9,8 +9,10 @@ import net.minecraft.core.component.TypedDataComponent; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; import twilightforest.item.recipe.NoTemplateSmithingRecipe; import java.util.ArrayList; @@ -51,7 +53,7 @@ public NoSmithingTemplateRecipeBuilder attachData(TypedDataComponent componen return this; } - public void save(RecipeOutput output, ResourceLocation id) { + public void save(RecipeOutput output, ResourceKey> id) { this.ensureValid(id); Advancement.Builder advancement$builder = output.advancement() .addCriterion("has_the_recipe", RecipeUnlockedTrigger.unlocked(id)) @@ -59,10 +61,10 @@ public void save(RecipeOutput output, ResourceLocation id) { .requirements(AdvancementRequirements.Strategy.OR); this.criteria.forEach(advancement$builder::addCriterion); NoTemplateSmithingRecipe smithingtrimrecipe = new NoTemplateSmithingRecipe(this.base, this.addition, this.additionalData); - output.accept(id, smithingtrimrecipe, advancement$builder.build(id.withPrefix("recipes/" + this.category.getFolderName() + "/"))); + output.accept(id, smithingtrimrecipe, advancement$builder.build(id.location().withPrefix("recipes/" + this.category.getFolderName() + "/"))); } - private void ensureValid(ResourceLocation location) { + private void ensureValid(ResourceKey> location) { if (this.criteria.isEmpty()) { throw new IllegalStateException("No way of obtaining recipe " + location); } diff --git a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java index c6385946e9..9c152c632f 100644 --- a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java @@ -1,12 +1,14 @@ package twilightforest.data.custom; import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.level.ItemLike; import twilightforest.item.recipe.ScepterRepairRecipe; @@ -45,7 +47,7 @@ public ScepterRecipeBuilder addRepairIngredient(ItemLike item) { return this; } - public void save(RecipeOutput output, ResourceLocation id) { + public void save(RecipeOutput output, ResourceKey> id) { ScepterRepairRecipe recipe = new ScepterRepairRecipe(this.scepter, this.repairItems, CraftingBookCategory.MISC); output.accept(id, recipe, null); } diff --git a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java b/src/main/java/twilightforest/data/custom/UncraftingGenerator.java index 7893cb9bfd..c5a38547d6 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java +++ b/src/main/java/twilightforest/data/custom/UncraftingGenerator.java @@ -1,19 +1,21 @@ package twilightforest.data.custom; +import net.minecraft.core.HolderGetter; import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; public class UncraftingGenerator { - public static void buildRecipes(RecipeOutput output) { - UncraftingRecipeBuilder.uncrafting(Items.TIPPED_ARROW, 8).setCost(4) + public static void buildRecipes(HolderGetter items, RecipeOutput output) { + UncraftingRecipeBuilder.uncrafting(items, Items.TIPPED_ARROW, 8).setCost(4) .pattern("AAA") .pattern("A A") .pattern("AAA") .define('A', Ingredient.of(Items.ARROW)).save(output); - UncraftingRecipeBuilder.uncrafting(Items.WRITTEN_BOOK).setCost(0) + UncraftingRecipeBuilder.uncrafting(items, Items.WRITTEN_BOOK).setCost(0) .pattern("B") .define('B', Items.BOOK).save(output); } diff --git a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java b/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java index 0ebe0e99cc..4c0fa5ad22 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java @@ -1,12 +1,16 @@ package twilightforest.data.custom; import net.minecraft.advancements.Criterion; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; import net.minecraft.data.recipes.RecipeBuilder; import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.ShapedRecipePattern; import net.minecraft.world.level.ItemLike; import org.jetbrains.annotations.Nullable; @@ -20,43 +24,45 @@ public class UncraftingRecipeBuilder implements RecipeBuilder { + private final HolderGetter items; private final Ingredient input; private final int count; private int cost = -1; private final List rows = new ArrayList<>(); private final Map key = new LinkedHashMap<>(); - public UncraftingRecipeBuilder(Ingredient input, int count) { + public UncraftingRecipeBuilder(HolderGetter getter, Ingredient input, int count) { + this.items = getter; this.input = input; this.count = count; } - public static UncraftingRecipeBuilder uncrafting(ItemLike input) { - return uncrafting(Ingredient.of(input), 1); + public static UncraftingRecipeBuilder uncrafting(HolderGetter getter, ItemLike input) { + return uncrafting(getter, Ingredient.of(input), 1); } - public static UncraftingRecipeBuilder uncrafting(TagKey input) { - return uncrafting(Ingredient.of(input), 1); + public static UncraftingRecipeBuilder uncrafting(HolderGetter getter, TagKey input) { + return uncrafting(getter, Ingredient.of(getter.getOrThrow(input)), 1); } - public static UncraftingRecipeBuilder uncrafting(ItemLike input, int count) { - return uncrafting(Ingredient.of(input), count); + public static UncraftingRecipeBuilder uncrafting(HolderGetter getter, ItemLike input, int count) { + return uncrafting(getter, Ingredient.of(input), count); } - public static UncraftingRecipeBuilder uncrafting(TagKey input, int count) { - return uncrafting(Ingredient.of(input), count); + public static UncraftingRecipeBuilder uncrafting(HolderGetter getter, TagKey input, int count) { + return uncrafting(getter, Ingredient.of(getter.getOrThrow(input)), count); } - public static UncraftingRecipeBuilder uncrafting(Ingredient input, int count) { - return new UncraftingRecipeBuilder(input, count); + public static UncraftingRecipeBuilder uncrafting(HolderGetter getter, Ingredient input, int count) { + return new UncraftingRecipeBuilder(getter, input, count); } - public UncraftingRecipeBuilder define(Character pSymbol, TagKey pTag) { - return this.define(pSymbol, Ingredient.of(pTag)); + public UncraftingRecipeBuilder define(Character symbol, TagKey tag) { + return this.define(symbol, Ingredient.of(this.items.getOrThrow(tag))); } - public UncraftingRecipeBuilder define(Character pSymbol, ItemLike pItem) { - return this.define(pSymbol, Ingredient.of(pItem)); + public UncraftingRecipeBuilder define(Character symbol, ItemLike item) { + return this.define(symbol, Ingredient.of(item)); } public UncraftingRecipeBuilder setCost(int cost) { @@ -96,16 +102,16 @@ public RecipeBuilder group(@Nullable String group) { @Override public Item getResult() { - return this.input.getItems()[0].getItem(); + return this.input.getValues().get(0).value(); } @Override public void save(RecipeOutput output) { - this.save(output, TwilightForestMod.prefix("uncrafting/" + RecipeBuilder.getDefaultRecipeId(this.getResult()).getPath())); + this.save(output, ResourceKey.create(Registries.RECIPE, TwilightForestMod.prefix("uncrafting/" + RecipeBuilder.getDefaultRecipeId(this.getResult()).getPath()))); } @Override - public void save(RecipeOutput output, ResourceLocation id) { + public void save(RecipeOutput output, ResourceKey> id) { ShapedRecipePattern pattern = ShapedRecipePattern.of(this.key, this.rows); UncraftingRecipe recipe = new UncraftingRecipe(this.cost, this.input, this.count, pattern); output.accept(id, recipe, null); diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java index a22d1e5bd3..a4a77c8c20 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java +++ b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java @@ -9,6 +9,7 @@ import net.minecraft.server.packs.resources.Resource; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; +import net.minecraft.util.ExtraCodecs; import net.minecraft.util.GsonHelper; import net.minecraft.util.profiling.ProfilerFiller; import twilightforest.TwilightForestMod; @@ -17,7 +18,7 @@ import java.io.Reader; import java.util.*; -public class StalactiteReloadListener extends SimpleJsonResourceReloadListener { +public class StalactiteReloadListener extends SimpleJsonResourceReloadListener { public static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); public static final String STALACTITE_DIRECTORY = "twilight/stalactites"; @@ -28,7 +29,7 @@ public class StalactiteReloadListener extends SimpleJsonResourceReloadListener { public static final Map> STALAGMITES_PER_HILL = new HashMap<>(); public StalactiteReloadListener() { - super(GSON, STALACTITE_DIRECTORY); + super(ExtraCodecs.JSON, STALACTITE_DIRECTORY); } @Override diff --git a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java b/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java index 290b9552ee..e2f9ca2489 100644 --- a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java +++ b/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java @@ -1,25 +1,21 @@ package twilightforest.data.helpers; import com.mojang.datafixers.util.Pair; -import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.InventoryChangeTrigger; -import net.minecraft.advancements.critereon.ItemPredicate; -import net.minecraft.core.Holder; +import net.minecraft.core.HolderGetter; import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponentPatch; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; -import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.*; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.ItemEnchantments; import net.minecraft.world.level.ItemLike; @@ -29,201 +25,198 @@ import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.registries.DeferredHolder; import twilightforest.TwilightForestMod; -import twilightforest.block.TFChestBlock; import twilightforest.block.TFTrappedChestBlock; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.init.TFBlocks; -import java.util.concurrent.CompletableFuture; - public abstract class CraftingDataHelper extends RecipeProvider { - public CraftingDataHelper(PackOutput output, CompletableFuture provider) { - super(output, provider); + public CraftingDataHelper(RecipeOutput output, HolderLookup.Provider provider) { + super(provider, output); } - protected final void charmRecipe(RecipeOutput output, String name, DeferredHolder result, DeferredHolder item) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.TOOLS, result.get()) + protected final void charmRecipe(HolderGetter getter, String name, DeferredHolder result, DeferredHolder item) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, result.get()) .requires(item.get(), 4) .unlockedBy("has_item", has(item.get())) - .save(output, TwilightForestMod.prefix(name)); + .save(this.output, this.createKey(name)); } - protected final void castleBlock(RecipeOutput output, DeferredHolder result, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 4) + protected final void castleBlock(HolderGetter getter, DeferredHolder result, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 4) .pattern("##") .pattern("##") .define('#', Ingredient.of(ingredients)) .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) - .save(output, locCastle(BuiltInRegistries.BLOCK.getKey(result.get()).getPath())); + .save(this.output, locCastle(BuiltInRegistries.BLOCK.getKey(result.get()).getPath())); } - protected final void woodenStairsBlock(RecipeOutput output, ResourceLocation loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void woodenStairsBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) .pattern("# ") .pattern("## ") .pattern("###") .define('#', Ingredient.of(ingredients)) .unlockedBy("has_item", has(criteria.get())) .group("wooden_stairs") - .save(output, loc); + .save(this.output, loc); } - protected final void stairsBlock(RecipeOutput output, ResourceLocation loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void stairsBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) .pattern("# ") .pattern("## ") .pattern("###") .define('#', Ingredient.of(ingredients)) .unlockedBy("has_item", has(criteria.get())) - .save(output, loc); + .save(this.output, loc); } - protected final void stairsRightBlock(RecipeOutput output, ResourceLocation loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void stairsRightBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) .pattern("###") .pattern(" ##") .pattern(" #") .define('#', Ingredient.of(ingredients)) .unlockedBy("has_item", has(criteria.get())) - .save(output, loc); + .save(this.output, loc); } - protected final void compressedBlock(RecipeOutput output, String name, DeferredHolder result, TagKey ingredient) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get()) + protected final void compressedBlock(HolderGetter getter, String name, DeferredHolder result, TagKey ingredient) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get()) .pattern("###") .pattern("###") .pattern("###") .define('#', ingredient) .unlockedBy("has_item", has(ingredient)) - .save(output, TwilightForestMod.prefix("compressed_blocks/" + name)); + .save(this.output, this.createKey("compressed_blocks/" + name)); } - protected final void reverseCompressBlock(RecipeOutput output, String name, DeferredHolder result, TagKey ingredient) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, result.get(), 9) + protected final void reverseCompressBlock(HolderGetter getter, String name, DeferredHolder result, TagKey ingredient) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result.get(), 9) .requires(ingredient) .unlockedBy("has_item", has(ingredient)) - .save(output, TwilightForestMod.prefix("compressed_blocks/reversed/" + name)); + .save(this.output, this.createKey("compressed_blocks/reversed/" + name)); } - protected final void helmetItem(RecipeOutput output, DeferredHolder result, TagKey material) { - this.helmetItem(output, result, material, DataComponentPatch.builder()); + protected final void helmetItem(HolderGetter getter, DeferredHolder result, TagKey material) { + this.helmetItem(getter, result, material, DataComponentPatch.builder()); } - protected final void helmetItem(RecipeOutput output, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) + protected final void helmetItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("###") .pattern("# #") .define('#', material) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void chestplateItem(RecipeOutput output, DeferredHolder result, TagKey material) { - this.chestplateItem(output, result, material, DataComponentPatch.builder()); + protected final void chestplateItem(HolderGetter getter, DeferredHolder result, TagKey material) { + this.chestplateItem(getter, result, material, DataComponentPatch.builder()); } - protected final void chestplateItem(RecipeOutput output, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) + protected final void chestplateItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("# #") .pattern("###") .pattern("###") .define('#', material) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void leggingsItem(RecipeOutput output, DeferredHolder result, TagKey material) { - this.leggingsItem(output, result, material, DataComponentPatch.builder()); + protected final void leggingsItem(HolderGetter getter, DeferredHolder result, TagKey material) { + this.leggingsItem(getter, result, material, DataComponentPatch.builder()); } - protected final void leggingsItem(RecipeOutput output, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) + protected final void leggingsItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("###") .pattern("# #") .pattern("# #") .define('#', material) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void bootsItem(RecipeOutput output, DeferredHolder result, TagKey material) { - this.bootsItem(output, result, material, DataComponentPatch.builder()); + protected final void bootsItem(HolderGetter getter, DeferredHolder result, TagKey material) { + this.bootsItem(getter, result, material, DataComponentPatch.builder()); } - protected final void bootsItem(RecipeOutput output, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) + protected final void bootsItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("# #") .pattern("# #") .define('#', material) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void pickaxeItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle) { - this.pickaxeItem(output, result, material, handle, DataComponentPatch.builder()); + protected final void pickaxeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle) { + this.pickaxeItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void pickaxeItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) + protected final void pickaxeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("###") .pattern(" X ") .pattern(" X ") .define('#', material) .define('X', handle) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void swordItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle) { - this.swordItem(output, result, material, handle, DataComponentPatch.builder()); + protected final void swordItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle) { + this.swordItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void swordItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) + protected final void swordItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("#") .pattern("#") .pattern("X") .define('#', material) .define('X', handle) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void axeItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle) { - this.axeItem(output, result, material, handle, DataComponentPatch.builder()); + protected final void axeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle) { + this.axeItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void axeItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) + protected final void axeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("##") .pattern("#X") .pattern(" X") .define('#', material) .define('X', handle) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void shovelItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) + protected final void shovelItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("#") .pattern("X") .pattern("X") .define('#', material) .define('X', handle) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } - protected final void hoeItem(RecipeOutput output, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { - ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) + protected final void hoeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("##") .pattern(" X") .pattern(" X") .define('#', material) .define('X', handle) .unlockedBy("has_item", has(material)) - .save(output, locEquip(result.getKey().location().getPath())); + .save(this.output, locEquip(result.getId().getPath())); } @SafeVarargs @@ -236,120 +229,120 @@ protected final DataComponentPatch.Builder buildEnchants(HolderLookup.Provider p return DataComponentPatch.builder().set(DataComponents.ENCHANTMENTS, itemEnchants.toImmutable()); } - protected final void buttonBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.REDSTONE, result.get()) + protected final void buttonBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.REDSTONE, result.get()) .requires(material.get()) .unlockedBy("has_item", has(material.get())) .group("wooden_button") - .save(output, locWood(name + "_button")); + .save(this.output, locWood(name + "_button")); } - protected final void doorBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, result.get(), 3) + protected final void doorBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get(), 3) .pattern("##") .pattern("##") .pattern("##") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) .group("wooden_door") - .save(output, locWood(name + "_door")); + .save(this.output, locWood(name + "_door")); } - protected final void fenceBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, result.get(), 3) + protected final void fenceBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) .pattern("#S#") .pattern("#S#") .define('#', material.get()) .define('S', Tags.Items.RODS_WOODEN) .unlockedBy("has_item", has(material.get())) .group("wooden_fence") - .save(output, locWood(name + "_fence")); + .save(this.output, locWood(name + "_fence")); } - protected final void gateBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, result.get()) + protected final void gateBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get()) .pattern("S#S") .pattern("S#S") .define('#', material.get()) .define('S', Tags.Items.RODS_WOODEN) .unlockedBy("has_item", has(material.get())) .group("wooden_fence_gate") - .save(output, locWood(name + "_gate")); + .save(this.output, locWood(name + "_gate")); } - protected final void planksBlock(RecipeOutput output, String name, DeferredHolder result, TagKey material) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, result.get(), 4) + protected final void planksBlock(HolderGetter getter, String name, DeferredHolder result, TagKey material) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 4) .requires(material) .unlockedBy("has_item", has(material)) .group("planks") - .save(output, locWood(name + "_planks")); + .save(this.output, locWood(name + "_planks")); } - protected final void plateBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, result.get()) + protected final void plateBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get()) .pattern("##") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) .group("wooden_pressure_plate") - .save(output, locWood(name + "_plate")); + .save(this.output, locWood(name + "_plate")); } - protected final void woodenSlabBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 6) + protected final void woodenSlabBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 6) .pattern("###") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) .group("wooden_slab") - .save(output, locWood(name + "_slab")); + .save(this.output, locWood(name + "_slab")); } - protected final void slabBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 6) + protected final void slabBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 6) .pattern("###") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) - .save(output, locWood(name + "_slab")); + .save(this.output, locWood(name + "_slab")); } - protected final void bannerPattern(RecipeOutput output, String name, DeferredHolder trophy, DeferredHolder result) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, result.get()) - .requires(Ingredient.of(ItemTagGenerator.PAPER)) + protected final void bannerPattern(HolderGetter getter, String name, DeferredHolder trophy, DeferredHolder result) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result.get()) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.PAPER))) .requires(Ingredient.of(trophy.get().asItem())) .unlockedBy("has_trophy", has(trophy.get())) - .save(output); + .save(this.output); } - protected final void trapdoorBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, result.get(), 2) + protected final void trapdoorBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get(), 2) .pattern("###") .pattern("###") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) .group("wooden_trapdoor") - .save(output, locWood(name + "_trapdoor")); + .save(this.output, locWood(name + "_trapdoor")); } - protected final void woodBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 3) + protected final void woodBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 3) .pattern("##") .pattern("##") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) .group("bark") - .save(output, locWood(name + "_wood")); + .save(this.output, locWood(name + "_wood")); } - protected final void strippedWoodBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, result.get(), 3) + protected final void strippedWoodBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 3) .pattern("##") .pattern("##") .define('#', material.get()) .unlockedBy("has_item", has(material.get())) - .save(output, locWood(name + "_stripped_wood")); + .save(this.output, locWood(name + "_stripped_wood")); } - protected final void signBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, result.get(), 3) + protected final void signBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) .pattern("###") .pattern("###") .pattern(" - ") @@ -357,11 +350,11 @@ protected final void signBlock(RecipeOutput output, String name, DeferredHolder< .define('-', Tags.Items.RODS_WOODEN) .unlockedBy("has_item", has(material.get())) .group("wooden_sign") - .save(output, locWood(name + "_sign")); + .save(this.output, locWood(name + "_sign")); } - protected final void hangingSignBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, result.get(), 6) + protected final void hangingSignBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 6) .pattern("| |") .pattern("###") .pattern("###") @@ -369,26 +362,26 @@ protected final void hangingSignBlock(RecipeOutput output, String name, Deferred .define('|', Items.CHAIN) .unlockedBy("has_item", has(material.get())) .group("hanging_sign") - .save(output, locWood(name + "_hanging_sign")); + .save(this.output, locWood(name + "_hanging_sign")); } - protected final void banisterBlock(RecipeOutput output, String name, DeferredHolder result, DeferredHolder material) { - this.banisterBlock(output, name, result, material.get()); + protected final void banisterBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + this.banisterBlock(getter, name, result, material.get()); } - protected final void banisterBlock(RecipeOutput output, String name, DeferredHolder result, Block material) { - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, result.get(), 3) + protected final void banisterBlock(HolderGetter getter, String name, DeferredHolder result, Block material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) .pattern("---") .pattern("| |") .define('-', material) .define('|', Tags.Items.RODS_WOODEN) .unlockedBy("has_item", has(material)) .group("wooden_banister") - .save(output, locWood(name + "_banister")); + .save(this.output, locWood(name + "_banister")); } - protected final void chestBlock(RecipeOutput output, String name, DeferredHolder chest, DeferredHolder trapped, DeferredHolder material) { - ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, chest.get(), 2) + protected final void chestBlock(HolderGetter getter, String name, DeferredHolder chest, DeferredHolder trapped, DeferredHolder material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, chest.get(), 2) .pattern("###") .pattern("#C#") .pattern("###") @@ -396,9 +389,9 @@ protected final void chestBlock(RecipeOutput output, String name, DeferredHolder .define('C', Items.CHEST) .unlockedBy("has_item", has(material.get())) .group("chest") - .save(output, locWood(name + "_chest")); + .save(this.output, locWood(name + "_chest")); - ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, trapped.get(), 2) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, trapped.get(), 2) .pattern("###") .pattern("#C#") .pattern("###") @@ -406,52 +399,52 @@ protected final void chestBlock(RecipeOutput output, String name, DeferredHolder .define('C', Items.TRAPPED_CHEST) .unlockedBy("has_item", has(material.get())) .group("trapped_chest") - .save(output, locWood(name + "_trapped_chest")); + .save(this.output, locWood(name + "_trapped_chest")); } - protected final void fieryConversion(RecipeOutput output, DeferredHolder result, Item armor, int vials) { - ShapelessRecipeBuilder.shapeless(RecipeCategory.COMBAT, result.get()) + protected final void fieryConversion(HolderGetter getter, DeferredHolder result, Item armor, int vials) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, result.get()) .requires(armor) - .requires(Ingredient.of(ItemTagGenerator.FIERY_VIAL), vials) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), vials) .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) - .group(result.getKey().location().getPath()) - .save(output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(armor).getPath())); + .group(result.getId().getPath()) + .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(armor).getPath())); } - protected final void buildBoats(RecipeOutput output, DeferredHolder boat, DeferredHolder chestBoat, DeferredHolder planks) { - ShapedRecipeBuilder.shaped(RecipeCategory.TRANSPORTATION, boat.get()) + protected final void buildBoats(HolderGetter getter, DeferredHolder boat, DeferredHolder chestBoat, DeferredHolder planks) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TRANSPORTATION, boat.get()) .pattern("P P") .pattern("PPP") .define('P', planks.get()) .group("boat") .unlockedBy("in_water", insideOf(Blocks.WATER)) - .save(output); + .save(this.output); - ShapelessRecipeBuilder.shapeless(RecipeCategory.TRANSPORTATION, chestBoat.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TRANSPORTATION, chestBoat.get()) .requires(boat.get()) .requires(Tags.Items.CHESTS_WOODEN) .group("chest_boat") .unlockedBy("has_boat", has(ItemTags.BOATS)) - .save(output); + .save(this.output); } - protected final ResourceLocation locCastle(String name) { - return TwilightForestMod.prefix("castleblock/" + name); + protected final ResourceKey> locCastle(String name) { + return this.createKey("castleblock/" + name); } - protected final ResourceLocation locEquip(String name) { - return TwilightForestMod.prefix("equipment/" + name); + protected final ResourceKey> locEquip(String name) { + return this.createKey("equipment/" + name); } - protected final ResourceLocation locNaga(String name) { - return TwilightForestMod.prefix("nagastone/" + name); + protected final ResourceKey> locNaga(String name) { + return this.createKey("nagastone/" + name); } - protected final ResourceLocation locWood(String name) { - return TwilightForestMod.prefix("wood/" + name); + protected final ResourceKey> locWood(String name) { + return this.createKey("wood/" + name); } - protected static Criterion has(TagKey tag) { - return inventoryTrigger(ItemPredicate.Builder.item().of(tag).build()); + protected ResourceKey> createKey(String name) { + return ResourceKey.create(Registries.RECIPE, TwilightForestMod.prefix(name)); } } diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java new file mode 100644 index 0000000000..c6873fd25f --- /dev/null +++ b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java @@ -0,0 +1,930 @@ +package twilightforest.data.recipes; + +import com.mojang.datafixers.util.Pair; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.component.DataComponents; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.recipes.*; +import net.minecraft.util.Unit; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.alchemy.PotionContents; +import net.minecraft.world.item.alchemy.Potions; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.crafting.CompoundIngredient; +import net.neoforged.neoforge.common.crafting.DataComponentIngredient; +import twilightforest.data.custom.NoSmithingTemplateRecipeBuilder; +import twilightforest.data.custom.ScepterRecipeBuilder; +import twilightforest.data.custom.UncraftingGenerator; +import twilightforest.data.helpers.CraftingDataHelper; +import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFDataComponents; +import twilightforest.init.TFItems; +import twilightforest.item.recipe.*; + +public class CraftingGenerator extends CraftingDataHelper { + + public CraftingGenerator(RecipeOutput output, HolderLookup.Provider provider) { + super(output, provider); + } + + @Override + protected void buildRecipes() { + HolderGetter getter = this.registries.lookupOrThrow(Registries.ITEM); + StonecuttingGenerator.buildRecipes(getter, this.output); + UncraftingGenerator.buildRecipes(getter, this.output); + + blockCompressionRecipes(getter); + equipmentRecipes(getter, this.registries); + emptyMapRecipes(getter); + woodRecipes(getter); + fieryConversions(getter); + + nagastoneRecipes(getter); + darkTowerRecipes(getter); + castleRecipes(getter); + + bannerPattern(getter, "naga_banner_pattern", TFBlocks.NAGA_TROPHY, TFItems.NAGA_BANNER_PATTERN); + bannerPattern(getter, "lich_banner_pattern", TFBlocks.LICH_TROPHY, TFItems.LICH_BANNER_PATTERN); + bannerPattern(getter, "minoshroom_banner_pattern", TFBlocks.MINOSHROOM_TROPHY, TFItems.MINOSHROOM_BANNER_PATTERN); + bannerPattern(getter, "hydra_banner_pattern", TFBlocks.HYDRA_TROPHY, TFItems.HYDRA_BANNER_PATTERN); + bannerPattern(getter, "knight_phantom_banner_pattern", TFBlocks.KNIGHT_PHANTOM_TROPHY, TFItems.KNIGHT_PHANTOM_BANNER_PATTERN); + bannerPattern(getter, "ur_ghast_banner_pattern", TFBlocks.UR_GHAST_TROPHY, TFItems.UR_GHAST_BANNER_PATTERN); + bannerPattern(getter, "alpha_yeti_banner_pattern", TFBlocks.ALPHA_YETI_TROPHY, TFItems.ALPHA_YETI_BANNER_PATTERN); + bannerPattern(getter, "snow_queen_banner_pattern", TFBlocks.SNOW_QUEEN_TROPHY, TFItems.SNOW_QUEEN_BANNER_PATTERN); +// bannerPattern(getter, "questing_ram_banner_pattern", TFBlocks.QUEST_RAM_TROPHY, TFItems.QUEST_RAM_BANNER_PATTERN); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.MOSS_BLOCK) + .pattern("mmm") + .pattern("mtm") + .pattern("mmm") + .define('m', Ingredient.of(TFBlocks.MOSS_PATCH.get())) + .define('t', Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) + .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) + .save(this.output, this.createKey("tf_moss_to_vanilla")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.MOSS_PATCH.get(), 8) + .requires(Ingredient.of(Items.MOSS_BLOCK)) + .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) + .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) + .save(this.output, this.createKey("vanilla_to_tf_moss")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.HUGE_LILY_PAD.get()) + .requires(Ingredient.of(Blocks.LILY_PAD), 4) + .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) + .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) + .save(this.output, this.createKey("vanilla_to_tf_lilypad")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, Blocks.LILY_PAD, 4) + .requires(Ingredient.of(TFBlocks.HUGE_LILY_PAD.get())) + .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) + .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) + .save(this.output, this.createKey("tf_to_vanilla_lilypad")); + + slabBlock(getter, "aurora_slab", TFBlocks.AURORA_SLAB, TFBlocks.AURORA_BLOCK); + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.AURORA_PILLAR.get(), 2) + .pattern("#") + .pattern("#") + .define('#', Ingredient.of(TFBlocks.AURORA_BLOCK.get())) + .unlockedBy("has_slab", has(TFBlocks.AURORA_SLAB.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.IRON_LADDER.get(), 3) + .pattern("-#-") + .pattern("-#-") + .define('#', Ingredient.of(Blocks.IRON_BARS)) + .define('-', Tags.Items.NUGGETS_IRON) + .unlockedBy("has_iron_bars", has(Blocks.IRON_BARS)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.ROPE.get(), 8) + .pattern("#") + .pattern("#") + .pattern("#") + .define('#', Ingredient.of(TFBlocks.ROOT_STRAND.get())) + .unlockedBy("has_root_strand", has(TFBlocks.ROOT_STRAND.get())) + .save(this.output); + +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW.value(), 4) +// .pattern("GPG") +// .pattern("PPP") +// .pattern("GPG") +// .define('G', Ingredient.of(Tags.Items.GLASS_BLOCKS)) +// .define('P', Ingredient.of(TFBlocks.CANOPY_PLANKS.value())) +// .unlockedBy("has_planks", has(TFBlocks.CANOPY_PLANKS.value())) +// .save(this.output); +// +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW_PANE.value(), 16) +// .pattern("GGG") +// .pattern("GGG") +// .define('G', Ingredient.of(TFBlocks.CANOPY_WINDOW.value())) +// .unlockedBy("has_windows", has(TFBlocks.CANOPY_WINDOW.value())) +// .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFItems.MASON_JAR.get(), 4) + .pattern("GLG") + .pattern("G G") + .pattern("GGG") + .define('G', Ingredient.of(Items.GLASS)) + .define('L', Ingredient.of(TFBlocks.TWILIGHT_OAK_LOG.get())) + .unlockedBy("has_tf_oak", has(TFBlocks.TWILIGHT_OAK_LOG.value())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_JAR.get()) + .requires(Ingredient.of(TFBlocks.FIREFLY.get())) + .requires(Ingredient.of(TFItems.MASON_JAR.get())) + .unlockedBy("has_item", has(TFBlocks.FIREFLY.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_SPAWNER.get()) + .requires(Ingredient.of(TFBlocks.FIREFLY_JAR.get())) + .requires(Ingredient.of(TFBlocks.FIREFLY.get())) + .requires(Ingredient.of(Blocks.POPPY)) + .unlockedBy("has_jar", has(TFBlocks.FIREFLY_JAR.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.CICADA_JAR.get()) + .requires(Ingredient.of(TFBlocks.CICADA.get())) + .requires(Ingredient.of(TFItems.MASON_JAR.get())) + .unlockedBy("has_item", has(TFBlocks.CICADA.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.MAGENTA_DYE) + .requires(Ingredient.of(TFBlocks.HUGE_WATER_LILY.get())) + .unlockedBy("has_item", has(TFBlocks.HUGE_WATER_LILY.get())) + .save(this.output, this.createKey("waterlily_to_magenta")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.RED_DYE) + .requires(Ingredient.of(TFBlocks.THORN_ROSE.get())) + .unlockedBy("has_item", has(TFBlocks.THORN_ROSE.get())) + .save(this.output, this.createKey("thorn_rose_to_red")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.STICK) + .requires(Ingredient.of(TFBlocks.ROOT_STRAND.get())) + .unlockedBy("has_item", has(TFBlocks.ROOT_STRAND.get())) + .group("sticks") + .save(this.output, this.createKey("root_stick")); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, Blocks.TORCH, 5) + .pattern("∓") + .pattern("|") + .define('∓', Ingredient.of(TFItems.TORCHBERRIES.get())) + .define('|', Tags.Items.RODS_WOODEN) + .unlockedBy("has_item", has(TFItems.TORCHBERRIES.get())) + .save(this.output, this.createKey("berry_torch")); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.UNCRAFTING_TABLE.get()) + .pattern("###") + .pattern("#X#") + .pattern("###") + .define('#', Blocks.CRAFTING_TABLE) + .define('X', TFItems.MAZE_MAP_FOCUS.get()) + .unlockedBy("has_uncrafting_table", has(TFBlocks.UNCRAFTING_TABLE.get())) + .save(this.output.withConditions(UncraftingTableCondition.INSTANCE), this.createKey("uncrafting_table")); + + cookingRecipes("smelted", RecipeSerializer.SMELTING_RECIPE, SmeltingRecipe::new, 200); + cookingRecipes("smoked", RecipeSerializer.SMOKING_RECIPE, SmokingRecipe::new, 100); + cookingRecipes("campfired", RecipeSerializer.CAMPFIRE_COOKING_RECIPE, CampfireCookingRecipe::new, 600); + + ingotRecipes("smelted", RecipeSerializer.SMELTING_RECIPE, SmeltingRecipe::new, 200); + ingotRecipes("blasted", RecipeSerializer.BLASTING_RECIPE, BlastingRecipe::new, 100); + + crackedWoodRecipes(); + crackedStoneRecipes(); + +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()) +// .pattern("---") +// .pattern(" ") +// .pattern("---") +// .define('-', TFBlocks.CANOPY_SLAB.get()) +// .unlockedBy("has_item", has(TFBlocks.CANOPY_SLAB.get())) +// .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CANOPY_BOOKSHELF.get()) + .pattern("---") + .pattern("B B") + .pattern("---") + .define('-', TFBlocks.CANOPY_PLANKS.get()) + .define('B', Items.BOOK) + .unlockedBy("has_item", has(TFBlocks.CANOPY_PLANKS.get())) + .save(this.output); + +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA.get()) +// .pattern("III") +// .pattern(" W ") +// .define('W', TFBlocks.WROUGHT_IRON_FENCE.get()) +// .define('I', Tags.Items.INGOTS_IRON) +// .unlockedBy("has_item", has(TFBlocks.WROUGHT_IRON_FENCE.get())) +// .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ARMOR_SHARD_CLUSTER.get()) + .requires(Ingredient.of(TFItems.ARMOR_SHARD.get()), 9) + .unlockedBy("has_item", has(TFItems.ARMOR_SHARD.get())) + .save(this.output, this.createKey("material/" + TFItems.ARMOR_SHARD_CLUSTER.getId().getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_UNDERBRICK.get(), 1) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .requires(Ingredient.of(TFBlocks.UNDERBRICK.get())) + .unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_MAZESTONE.get(), 1) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .requires(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get())) + .unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())) + .save(this.output, this.createKey("maze_stone/mossy_mazestone")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.CARMINITE.get()) + .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .requires(Tags.Items.DUSTS_REDSTONE) + .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .requires(Tags.Items.DUSTS_REDSTONE) + .requires(Ingredient.of(Items.GHAST_TEAR)) + .requires(Tags.Items.DUSTS_REDSTONE) + .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .requires(Tags.Items.DUSTS_REDSTONE) + .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .unlockedBy("has_item", has(TFItems.BORER_ESSENCE.get())) + .save(this.output, this.createKey("material/" + TFItems.CARMINITE.getId().getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.RAW_IRONWOOD.get(), 2) + .requires(Ingredient.of(TFItems.LIVEROOT.get())) + .requires(Ingredient.of(Items.RAW_IRON)) + .requires(Tags.Items.NUGGETS_GOLD) + .unlockedBy("has_item", has(TFItems.LIVEROOT.get())) + .save(this.output, this.createKey("material/" + TFItems.RAW_IRONWOOD.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.RAINY_CLOUD.get(), 8) + .pattern("ccc") + .pattern("cbc") + .pattern("ccc") + .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) + .define('b', Ingredient.of(Items.WATER_BUCKET)) + .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) + .save(this.output, this.createKey("rainy_cloud")); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SNOWY_CLOUD.get(), 8) + .pattern("ccc") + .pattern("cbc") + .pattern("ccc") + .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) + .define('b', Ingredient.of(Items.POWDER_SNOW_BUCKET)) + .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) + .save(this.output, this.createKey("snowy_cloud")); + +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.LICH_CROWN, 1) +// .pattern("ttt") +// .pattern("t t") +// .pattern("ttt") +// .define('t', Ingredient.of(TFItems.CROWN_SPLINTER)) +// .unlockedBy("has_item", has(TFItems.CROWN_SPLINTER)) +// .save(this.output); + } + + private void darkTowerRecipes(HolderGetter getter) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_FIRE_JET.get()) + .pattern("#∓#") + .pattern("∓^∓") + .pattern("uuu") + .define('∓', Tags.Items.DUSTS_REDSTONE) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('^', Ingredient.of(TFBlocks.FIRE_JET.get())) + .define('u', Ingredient.of(Items.LAVA_BUCKET)) + .unlockedBy("has_item", has(TFBlocks.FIRE_JET.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_SMOKER.get()) + .pattern("#∓#") + .pattern("∓^∓") + .pattern("#∓#") + .define('∓', Tags.Items.DUSTS_REDSTONE) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('^', Ingredient.of(TFBlocks.SMOKER.get())) + .unlockedBy("has_item", has(TFBlocks.SMOKER.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_BUILDER.get()) + .pattern("#6#") + .pattern("6o6") + .pattern("#6#") + .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('o', Ingredient.of(Blocks.DISPENSER)) + .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_REACTOR.get()) + .pattern("#6#") + .pattern("6%6") + .pattern("#6#") + .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('%', Tags.Items.ORES_REDSTONE) + .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.REAPPEARING_BLOCK.get(), 2) + .pattern("#∓#") + .pattern("∓6∓") + .pattern("#∓#") + .define('∓', Tags.Items.DUSTS_REDSTONE) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('6', ItemTagGenerator.CARMINITE_GEMS) + .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.VANISHING_BLOCK.get(), 8) + .pattern("#w#") + .pattern("w6w") + .pattern("#w#") + .define('w', ItemTagGenerator.TOWERWOOD) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('6', ItemTagGenerator.CARMINITE_GEMS) + .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_TOWERWOOD.get()) + .requires(Ingredient.of(TFBlocks.TOWERWOOD.get())) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())) + .save(this.output, this.createKey("wood/" + TFBlocks.MOSSY_TOWERWOOD.getId().getPath())); + + } + + private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider provider) { + bootsItem(getter, TFItems.IRONWOOD_BOOTS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 1))); + leggingsItem(getter, TFItems.IRONWOOD_LEGGINGS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); + chestplateItem(getter, TFItems.IRONWOOD_CHESTPLATE, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); + helmetItem(getter, TFItems.IRONWOOD_HELMET, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.AQUA_AFFINITY, 1))); + swordItem(getter, TFItems.IRONWOOD_SWORD, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.KNOCKBACK, 1))); + pickaxeItem(getter, TFItems.IRONWOOD_PICKAXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); + axeItem(getter, TFItems.IRONWOOD_AXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 1))); + shovelItem(getter, TFItems.IRONWOOD_SHOVEL, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.UNBREAKING, 1))); + hoeItem(getter, TFItems.IRONWOOD_HOE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); + + bootsItem(getter, TFItems.STEELEAF_BOOTS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 2))); + leggingsItem(getter, TFItems.STEELEAF_LEGGINGS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 2))); + chestplateItem(getter, TFItems.STEELEAF_CHESTPLATE, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.BLAST_PROTECTION, 2))); + helmetItem(getter, TFItems.STEELEAF_HELMET, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROJECTILE_PROTECTION, 2))); + swordItem(getter, TFItems.STEELEAF_SWORD, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.LOOTING, 2))); + pickaxeItem(getter, TFItems.STEELEAF_PICKAXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); + axeItem(getter, TFItems.STEELEAF_AXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); + shovelItem(getter, TFItems.STEELEAF_SHOVEL, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); + hoeItem(getter, TFItems.STEELEAF_HOE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); + + bootsItem(getter, TFItems.ARCTIC_BOOTS, ItemTagGenerator.ARCTIC_FUR); + chestplateItem(getter, TFItems.ARCTIC_CHESTPLATE, ItemTagGenerator.ARCTIC_FUR); + helmetItem(getter, TFItems.ARCTIC_HELMET, ItemTagGenerator.ARCTIC_FUR); + leggingsItem(getter, TFItems.ARCTIC_LEGGINGS, ItemTagGenerator.ARCTIC_FUR); + + bootsItem(getter, TFItems.KNIGHTMETAL_BOOTS, ItemTagGenerator.KNIGHTMETAL_INGOTS); + chestplateItem(getter, TFItems.KNIGHTMETAL_CHESTPLATE, ItemTagGenerator.KNIGHTMETAL_INGOTS); + helmetItem(getter, TFItems.KNIGHTMETAL_HELMET, ItemTagGenerator.KNIGHTMETAL_INGOTS); + leggingsItem(getter, TFItems.KNIGHTMETAL_LEGGINGS, ItemTagGenerator.KNIGHTMETAL_INGOTS); + pickaxeItem(getter, TFItems.KNIGHTMETAL_PICKAXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + swordItem(getter, TFItems.KNIGHTMETAL_SWORD, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + axeItem(getter, TFItems.KNIGHTMETAL_AXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_BOOTS) + .pattern("# #") + .pattern("# #") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_boots") + .save(this.output, locEquip(TFItems.FIERY_BOOTS.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_LEGGINGS) + .pattern("###") + .pattern("# #") + .pattern("# #") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_leggings") + .save(this.output, locEquip(TFItems.FIERY_LEGGINGS.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_CHESTPLATE) + .pattern("# #") + .pattern("###") + .pattern("###") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_chestplate") + .save(this.output, locEquip(TFItems.FIERY_CHESTPLATE.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_HELMET) + .pattern("###") + .pattern("# #") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_helmet") + .save(this.output, locEquip(TFItems.FIERY_HELMET.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE) + .pattern("###") + .pattern(" X ") + .pattern(" X ") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .define('X', Tags.Items.RODS_BLAZE) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_pickaxe") + .save(this.output, locEquip(TFItems.FIERY_PICKAXE.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_SWORD) + .pattern("#") + .pattern("#") + .pattern("X") + .define('#', ItemTagGenerator.FIERY_INGOTS) + .define('X', Tags.Items.RODS_BLAZE) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .group("fiery_sword") + .save(this.output, locEquip(TFItems.FIERY_SWORD.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.NAGA_CHESTPLATE, 1, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 3)).build())) + .pattern("# #") + .pattern("###") + .pattern("###") + .define('#', TFItems.NAGA_SCALE) + .unlockedBy("has_item", has(TFItems.NAGA_SCALE)) + .save(this.output, locEquip(TFItems.NAGA_CHESTPLATE.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.NAGA_LEGGINGS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 3)).build())) + .pattern("###") + .pattern("# #") + .pattern("# #") + .define('#', TFItems.NAGA_SCALE) + .unlockedBy("has_item", has(TFItems.NAGA_SCALE)) + .save(this.output, locEquip(TFItems.NAGA_LEGGINGS.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_HELMET, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) + .pattern("###") + .pattern("# #") + .define('#', TFItems.ALPHA_YETI_FUR) + .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) + .save(this.output, locEquip(TFItems.YETI_HELMET.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_CHESTPLATE, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) + .pattern("# #") + .pattern("###") + .pattern("###") + .define('#', TFItems.ALPHA_YETI_FUR) + .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) + .save(this.output, locEquip(TFItems.YETI_CHESTPLATE.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_LEGGINGS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2)).build())) + .pattern("###") + .pattern("# #") + .pattern("# #") + .define('#', TFItems.ALPHA_YETI_FUR) + .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) + .save(this.output, locEquip(TFItems.YETI_LEGGINGS.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(TFItems.YETI_BOOTS, 1, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 2), Pair.of(Enchantments.FEATHER_FALLING, 4)).build())) + .pattern("# #") + .pattern("# #") + .define('#', TFItems.ALPHA_YETI_FUR) + .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) + .save(this.output, locEquip(TFItems.YETI_BOOTS.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_PICKAXE.get()) + .pattern("###") + .pattern(" X ") + .pattern(" X ") + .define('#', TFBlocks.GIANT_COBBLESTONE.get()) + .define('X', TFBlocks.GIANT_LOG.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .save(this.output, locEquip(TFItems.GIANT_PICKAXE.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_SWORD.get()) + .pattern("#") + .pattern("#") + .pattern("X") + .define('#', TFBlocks.GIANT_COBBLESTONE.get()) + .define('X', TFBlocks.GIANT_LOG.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .save(this.output, locEquip(TFItems.GIANT_SWORD.getId().getPath())); + + charmRecipe(getter, "charm_of_keeping_2", TFItems.CHARM_OF_KEEPING_2, TFItems.CHARM_OF_KEEPING_1); + charmRecipe(getter, "charm_of_keeping_3", TFItems.CHARM_OF_KEEPING_3, TFItems.CHARM_OF_KEEPING_2); + charmRecipe(getter, "charm_of_life_2", TFItems.CHARM_OF_LIFE_2, TFItems.CHARM_OF_LIFE_1); + + SpecialRecipeBuilder.special(MoonwormQueenRepairRecipe::new).save(this.output, this.createKey("moonworm_queen_repair_recipe").toString()); + SpecialRecipeBuilder.special(MagicMapCloningRecipe::new).save(this.output, this.createKey("magic_map_cloning_recipe").toString()); + SpecialRecipeBuilder.special(MazeMapCloningRecipe::new).save(this.output, this.createKey("maze_map_cloning_recipe").toString()); + SpecialRecipeBuilder.special(EmperorsClothRecipe::new).save(this.output, this.createKey("emperors_cloth_recipe").toString()); + + NoSmithingTemplateRecipeBuilder + .noTemplate(Ingredient.of(getter.getOrThrow(Tags.Items.ARMORS)), Ingredient.of(TFItems.EMPERORS_CLOTH.get()), RecipeCategory.MISC) + .attachData(TFDataComponents.EMPERORS_CLOTH::value, Unit.INSTANCE) + .unlocks("has_cloth", has(TFItems.EMPERORS_CLOTH)) + .save(this.output, this.createKey("emperors_cloth_smithing")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.COBBLESTONE, 64) + .requires(TFBlocks.GIANT_COBBLESTONE.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .save(this.output, this.createKey(TFBlocks.GIANT_COBBLESTONE.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.COBBLESTONE).getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_PLANKS, 64) + .requires(TFBlocks.GIANT_LOG.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_LOG.get())) + .save(this.output, this.createKey(TFBlocks.GIANT_LOG.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_PLANKS).getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_LEAVES, 64) + .requires(TFBlocks.GIANT_LEAVES.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_LEAVES.get())) + .save(this.output, this.createKey(TFBlocks.GIANT_LEAVES.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_LEAVES).getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OBSIDIAN, 64) + .requires(TFBlocks.GIANT_OBSIDIAN.get()) + .unlockedBy("has_item", has(TFBlocks.GIANT_OBSIDIAN.get())) + .save(this.output, this.createKey(TFBlocks.GIANT_OBSIDIAN.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OBSIDIAN).getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.BLOCK_AND_CHAIN.get()) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL))) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.KNIGHTMETAL_INGOTS)), 3) + .requires(Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) + .unlockedBy("has_block", has(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL)) + .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) + .save(this.output, locEquip(TFItems.BLOCK_AND_CHAIN.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.KNIGHTMETAL_RING.get()) + .pattern(" - ") + .pattern("- -") + .pattern(" - ") + .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) + .unlockedBy("has_item", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .save(this.output, locEquip(TFItems.KNIGHTMETAL_RING.getId().getPath())); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.KNIGHTMETAL_SHIELD.get()) + .pattern("-#") + .pattern("-o") + .pattern("-#") + .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) + .define('#', ItemTagGenerator.TOWERWOOD) + .define('o', Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) + .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) + .save(this.output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); + + ScepterRecipeBuilder.repairFor(TFItems.LIFEDRAIN_SCEPTER.get()) + .addRepairIngredient(Items.FERMENTED_SPIDER_EYE) + .save(this.output, locEquip(TFItems.LIFEDRAIN_SCEPTER.getId().getPath())); + + ScepterRecipeBuilder.repairFor(TFItems.FORTIFICATION_SCEPTER.get()) + .addRepairIngredient(Ingredient.of(Items.GOLDEN_APPLE)) + .save(this.output, locEquip(TFItems.FORTIFICATION_SCEPTER.getId().getPath())); + + ScepterRecipeBuilder.repairFor(TFItems.TWILIGHT_SCEPTER.get()) + .addRepairIngredient(Tags.Items.ENDER_PEARLS) + .save(this.output, locEquip(TFItems.TWILIGHT_SCEPTER.getId().getPath())); + + ScepterRecipeBuilder.repairFor(TFItems.ZOMBIE_SCEPTER.get()) + .addRepairIngredient(CompoundIngredient.of( + DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRENGTH), Items.POTION), + DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.LONG_STRENGTH), Items.POTION), + DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRONG_STRENGTH), Items.POTION) + )) + .addRepairIngredient(Items.ROTTEN_FLESH) + .save(this.output, locEquip(TFItems.ZOMBIE_SCEPTER.getId().getPath())); + } + + private void blockCompressionRecipes(HolderGetter getter) { + reverseCompressBlock(getter, "arctic_block_to_item", TFItems.ARCTIC_FUR, ItemTagGenerator.STORAGE_BLOCKS_ARCTIC_FUR); + reverseCompressBlock(getter, "carminite_block_to_item", TFItems.CARMINITE, ItemTagGenerator.STORAGE_BLOCKS_CARMINITE); + reverseCompressBlock(getter, "ironwood_block_ingot", TFItems.IRONWOOD_INGOT, ItemTagGenerator.STORAGE_BLOCKS_IRONWOOD); + reverseCompressBlock(getter, "knightmetal_block_ingot", TFItems.KNIGHTMETAL_INGOT, ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL); + reverseCompressBlock(getter, "steeleaf_block_ingot", TFItems.STEELEAF_INGOT, ItemTagGenerator.STORAGE_BLOCKS_STEELEAF); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT, 9) + .requires(ItemTagGenerator.STORAGE_BLOCKS_FIERY) + .unlockedBy("has_item", has(ItemTagGenerator.STORAGE_BLOCKS_FIERY)) + .group("fiery_ingot") + .save(this.output, this.createKey("compressed_blocks/reversed/fiery_block_to_ingot")); + + compressedBlock(getter, "arctic_block", TFBlocks.ARCTIC_FUR_BLOCK, ItemTagGenerator.ARCTIC_FUR); + compressedBlock(getter, "carminite_block", TFBlocks.CARMINITE_BLOCK, ItemTagGenerator.CARMINITE_GEMS); + compressedBlock(getter, "fiery_block", TFBlocks.FIERY_BLOCK, ItemTagGenerator.FIERY_INGOTS); + compressedBlock(getter, "ironwood_block", TFBlocks.IRONWOOD_BLOCK, ItemTagGenerator.IRONWOOD_INGOTS); + compressedBlock(getter, "knightmetal_block", TFBlocks.KNIGHTMETAL_BLOCK, ItemTagGenerator.KNIGHTMETAL_INGOTS); + compressedBlock(getter, "steeleaf_block", TFBlocks.STEELEAF_BLOCK, ItemTagGenerator.STEELEAF_INGOTS); + } + + private void emptyMapRecipes(HolderGetter getter) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP_FOCUS.get()) + .requires(TFItems.RAVEN_FEATHER.get()) + .requires(TFItems.TORCHBERRIES.get()) + .requires(Tags.Items.DUSTS_GLOWSTONE) + .unlockedBy("has_berries", has(TFItems.TORCHBERRIES.get())) + .unlockedBy("has_feather", has(TFItems.RAVEN_FEATHER.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP.get()) + .pattern("###") + .pattern("#•#") + .pattern("###") + .define('#', ItemTagGenerator.PAPER) + .define('•', Ingredient.of(TFItems.MAGIC_MAP_FOCUS.get())) + .unlockedBy("has_item", has(TFItems.MAGIC_MAP_FOCUS.get())) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAZE_MAP.get()) + .pattern("###") + .pattern("#•#") + .pattern("###") + .define('#', ItemTagGenerator.PAPER) + .define('•', Ingredient.of(TFItems.MAZE_MAP_FOCUS.get())) + .unlockedBy("has_item", has(TFItems.MAZE_MAP_FOCUS.get())) + .save(this.output); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ORE_MAP.get()) + .requires(TFItems.MAZE_MAP.get()) + .requires(Tags.Items.STORAGE_BLOCKS_DIAMOND) + .requires(Tags.Items.STORAGE_BLOCKS_GOLD) + .requires(Tags.Items.STORAGE_BLOCKS_IRON) + .unlockedBy("has_item", has(TFItems.MAZE_MAP.get())) + .save(this.output); + } + + private void woodRecipes(HolderGetter getter) { + buttonBlock(getter, "canopy", TFBlocks.CANOPY_BUTTON, TFBlocks.CANOPY_PLANKS); + buttonBlock(getter, "dark", TFBlocks.DARK_BUTTON, TFBlocks.DARK_PLANKS); + buttonBlock(getter, "mangrove", TFBlocks.MANGROVE_BUTTON, TFBlocks.MANGROVE_PLANKS); + buttonBlock(getter, "mining", TFBlocks.MINING_BUTTON, TFBlocks.MINING_PLANKS); + buttonBlock(getter, "sorting", TFBlocks.SORTING_BUTTON, TFBlocks.SORTING_PLANKS); + buttonBlock(getter, "time", TFBlocks.TIME_BUTTON, TFBlocks.TIME_PLANKS); + buttonBlock(getter, "transformation", TFBlocks.TRANSFORMATION_BUTTON, TFBlocks.TRANSFORMATION_PLANKS); + buttonBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_BUTTON, TFBlocks.TWILIGHT_OAK_PLANKS); + + doorBlock(getter, "canopy", TFBlocks.CANOPY_DOOR, TFBlocks.CANOPY_PLANKS); + doorBlock(getter, "dark", TFBlocks.DARK_DOOR, TFBlocks.DARK_PLANKS); + doorBlock(getter, "mangrove", TFBlocks.MANGROVE_DOOR, TFBlocks.MANGROVE_PLANKS); + doorBlock(getter, "mining", TFBlocks.MINING_DOOR, TFBlocks.MINING_PLANKS); + doorBlock(getter, "sorting", TFBlocks.SORTING_DOOR, TFBlocks.SORTING_PLANKS); + doorBlock(getter, "time", TFBlocks.TIME_DOOR, TFBlocks.TIME_PLANKS); + doorBlock(getter, "transformation", TFBlocks.TRANSFORMATION_DOOR, TFBlocks.TRANSFORMATION_PLANKS); + doorBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_DOOR, TFBlocks.TWILIGHT_OAK_PLANKS); + + fenceBlock(getter, "canopy", TFBlocks.CANOPY_FENCE, TFBlocks.CANOPY_PLANKS); + fenceBlock(getter, "dark", TFBlocks.DARK_FENCE, TFBlocks.DARK_PLANKS); + fenceBlock(getter, "mangrove", TFBlocks.MANGROVE_FENCE, TFBlocks.MANGROVE_PLANKS); + fenceBlock(getter, "mining", TFBlocks.MINING_FENCE, TFBlocks.MINING_PLANKS); + fenceBlock(getter, "sorting", TFBlocks.SORTING_FENCE, TFBlocks.SORTING_PLANKS); + fenceBlock(getter, "time", TFBlocks.TIME_FENCE, TFBlocks.TIME_PLANKS); + fenceBlock(getter, "transformation", TFBlocks.TRANSFORMATION_FENCE, TFBlocks.TRANSFORMATION_PLANKS); + fenceBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_FENCE, TFBlocks.TWILIGHT_OAK_PLANKS); + + gateBlock(getter, "canopy", TFBlocks.CANOPY_GATE, TFBlocks.CANOPY_PLANKS); + gateBlock(getter, "dark", TFBlocks.DARK_GATE, TFBlocks.DARK_PLANKS); + gateBlock(getter, "mangrove", TFBlocks.MANGROVE_GATE, TFBlocks.MANGROVE_PLANKS); + gateBlock(getter, "mining", TFBlocks.MINING_GATE, TFBlocks.MINING_PLANKS); + gateBlock(getter, "sorting", TFBlocks.SORTING_GATE, TFBlocks.SORTING_PLANKS); + gateBlock(getter, "time", TFBlocks.TIME_GATE, TFBlocks.TIME_PLANKS); + gateBlock(getter, "transformation", TFBlocks.TRANSFORMATION_GATE, TFBlocks.TRANSFORMATION_PLANKS); + gateBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_GATE, TFBlocks.TWILIGHT_OAK_PLANKS); + + planksBlock(getter, "canopy", TFBlocks.CANOPY_PLANKS, ItemTagGenerator.CANOPY_LOGS); + planksBlock(getter, "dark", TFBlocks.DARK_PLANKS, ItemTagGenerator.DARKWOOD_LOGS); + planksBlock(getter, "mangrove", TFBlocks.MANGROVE_PLANKS, ItemTagGenerator.MANGROVE_LOGS); + planksBlock(getter, "mining", TFBlocks.MINING_PLANKS, ItemTagGenerator.MINING_LOGS); + planksBlock(getter, "sorting", TFBlocks.SORTING_PLANKS, ItemTagGenerator.SORTING_LOGS); + planksBlock(getter, "time", TFBlocks.TIME_PLANKS, ItemTagGenerator.TIME_LOGS); + planksBlock(getter, "transformation", TFBlocks.TRANSFORMATION_PLANKS, ItemTagGenerator.TRANSFORMATION_LOGS); + planksBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLANKS, ItemTagGenerator.TWILIGHT_OAK_LOGS); + + woodBlock(getter, "canopy", TFBlocks.CANOPY_WOOD, TFBlocks.CANOPY_LOG); + woodBlock(getter, "dark", TFBlocks.DARK_WOOD, TFBlocks.DARK_LOG); + woodBlock(getter, "mangrove", TFBlocks.MANGROVE_WOOD, TFBlocks.MANGROVE_LOG); + woodBlock(getter, "mining", TFBlocks.MINING_WOOD, TFBlocks.MINING_LOG); + woodBlock(getter, "sorting", TFBlocks.SORTING_WOOD, TFBlocks.SORTING_LOG); + woodBlock(getter, "time", TFBlocks.TIME_WOOD, TFBlocks.TIME_LOG); + woodBlock(getter, "transformation", TFBlocks.TRANSFORMATION_WOOD, TFBlocks.TRANSFORMATION_LOG); + woodBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_WOOD, TFBlocks.TWILIGHT_OAK_LOG); + + strippedWoodBlock(getter, "canopy", TFBlocks.STRIPPED_CANOPY_WOOD, TFBlocks.STRIPPED_CANOPY_LOG); + strippedWoodBlock(getter, "dark", TFBlocks.STRIPPED_DARK_WOOD, TFBlocks.STRIPPED_DARK_LOG); + strippedWoodBlock(getter, "mangrove", TFBlocks.STRIPPED_MANGROVE_WOOD, TFBlocks.STRIPPED_MANGROVE_LOG); + strippedWoodBlock(getter, "mining", TFBlocks.STRIPPED_MINING_WOOD, TFBlocks.STRIPPED_MINING_LOG); + strippedWoodBlock(getter, "sorting", TFBlocks.STRIPPED_SORTING_WOOD, TFBlocks.STRIPPED_SORTING_LOG); + strippedWoodBlock(getter, "time", TFBlocks.STRIPPED_TIME_WOOD, TFBlocks.STRIPPED_TIME_LOG); + strippedWoodBlock(getter, "transformation", TFBlocks.STRIPPED_TRANSFORMATION_WOOD, TFBlocks.STRIPPED_TRANSFORMATION_LOG); + strippedWoodBlock(getter, "twilight_oak", TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD, TFBlocks.STRIPPED_TWILIGHT_OAK_LOG); + + plateBlock(getter, "canopy", TFBlocks.CANOPY_PLATE, TFBlocks.CANOPY_PLANKS); + plateBlock(getter, "dark", TFBlocks.DARK_PLATE, TFBlocks.DARK_PLANKS); + plateBlock(getter, "mangrove", TFBlocks.MANGROVE_PLATE, TFBlocks.MANGROVE_PLANKS); + plateBlock(getter, "mining", TFBlocks.MINING_PLATE, TFBlocks.MINING_PLANKS); + plateBlock(getter, "sorting", TFBlocks.SORTING_PLATE, TFBlocks.SORTING_PLANKS); + plateBlock(getter, "time", TFBlocks.TIME_PLATE, TFBlocks.TIME_PLANKS); + plateBlock(getter, "transformation", TFBlocks.TRANSFORMATION_PLATE, TFBlocks.TRANSFORMATION_PLANKS); + plateBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLATE, TFBlocks.TWILIGHT_OAK_PLANKS); + + woodenSlabBlock(getter, "canopy", TFBlocks.CANOPY_SLAB, TFBlocks.CANOPY_PLANKS); + woodenSlabBlock(getter, "dark", TFBlocks.DARK_SLAB, TFBlocks.DARK_PLANKS); + woodenSlabBlock(getter, "mangrove", TFBlocks.MANGROVE_SLAB, TFBlocks.MANGROVE_PLANKS); + woodenSlabBlock(getter, "mining", TFBlocks.MINING_SLAB, TFBlocks.MINING_PLANKS); + woodenSlabBlock(getter, "sorting", TFBlocks.SORTING_SLAB, TFBlocks.SORTING_PLANKS); + woodenSlabBlock(getter, "time", TFBlocks.TIME_SLAB, TFBlocks.TIME_PLANKS); + woodenSlabBlock(getter, "transformation", TFBlocks.TRANSFORMATION_SLAB, TFBlocks.TRANSFORMATION_PLANKS); + woodenSlabBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_SLAB, TFBlocks.TWILIGHT_OAK_PLANKS); + + woodenStairsBlock(getter, locWood("canopy_stairs"), TFBlocks.CANOPY_STAIRS, TFBlocks.CANOPY_PLANKS, TFBlocks.CANOPY_PLANKS.get()); + woodenStairsBlock(getter, locWood("dark_stairs"), TFBlocks.DARK_STAIRS, TFBlocks.DARK_PLANKS, TFBlocks.DARK_PLANKS.get()); + woodenStairsBlock(getter, locWood("mangrove_stairs"), TFBlocks.MANGROVE_STAIRS, TFBlocks.MANGROVE_PLANKS, TFBlocks.MANGROVE_PLANKS.get()); + woodenStairsBlock(getter, locWood("mining_stairs"), TFBlocks.MINING_STAIRS, TFBlocks.MINING_PLANKS, TFBlocks.MINING_PLANKS.get()); + woodenStairsBlock(getter, locWood("sorting_stairs"), TFBlocks.SORTING_STAIRS, TFBlocks.SORTING_PLANKS, TFBlocks.SORTING_PLANKS.get()); + woodenStairsBlock(getter, locWood("time_stairs"), TFBlocks.TIME_STAIRS, TFBlocks.TIME_PLANKS, TFBlocks.TIME_PLANKS.get()); + woodenStairsBlock(getter, locWood("transformation_stairs"), TFBlocks.TRANSFORMATION_STAIRS, TFBlocks.TRANSFORMATION_PLANKS, TFBlocks.TRANSFORMATION_PLANKS.get()); + woodenStairsBlock(getter, locWood("twilight_oak_stairs"), TFBlocks.TWILIGHT_OAK_STAIRS, TFBlocks.TWILIGHT_OAK_PLANKS, TFBlocks.TWILIGHT_OAK_PLANKS.get()); + + trapdoorBlock(getter, "canopy", TFBlocks.CANOPY_TRAPDOOR, TFBlocks.CANOPY_PLANKS); + trapdoorBlock(getter, "dark", TFBlocks.DARK_TRAPDOOR, TFBlocks.DARK_PLANKS); + trapdoorBlock(getter, "mangrove", TFBlocks.MANGROVE_TRAPDOOR, TFBlocks.MANGROVE_PLANKS); + trapdoorBlock(getter, "mining", TFBlocks.MINING_TRAPDOOR, TFBlocks.MINING_PLANKS); + trapdoorBlock(getter, "sorting", TFBlocks.SORTING_TRAPDOOR, TFBlocks.SORTING_PLANKS); + trapdoorBlock(getter, "time", TFBlocks.TIME_TRAPDOOR, TFBlocks.TIME_PLANKS); + trapdoorBlock(getter, "transformation", TFBlocks.TRANSFORMATION_TRAPDOOR, TFBlocks.TRANSFORMATION_PLANKS); + trapdoorBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_TRAPDOOR, TFBlocks.TWILIGHT_OAK_PLANKS); + + signBlock(getter, "canopy", TFItems.CANOPY_SIGN, TFBlocks.CANOPY_PLANKS); + signBlock(getter, "dark", TFItems.DARK_SIGN, TFBlocks.DARK_PLANKS); + signBlock(getter, "mangrove", TFItems.MANGROVE_SIGN, TFBlocks.MANGROVE_PLANKS); + signBlock(getter, "mining", TFItems.MINING_SIGN, TFBlocks.MINING_PLANKS); + signBlock(getter, "sorting", TFItems.SORTING_SIGN, TFBlocks.SORTING_PLANKS); + signBlock(getter, "time", TFItems.TIME_SIGN, TFBlocks.TIME_PLANKS); + signBlock(getter, "transformation", TFItems.TRANSFORMATION_SIGN, TFBlocks.TRANSFORMATION_PLANKS); + signBlock(getter, "twilight_oak", TFItems.TWILIGHT_OAK_SIGN, TFBlocks.TWILIGHT_OAK_PLANKS); + + hangingSignBlock(getter, "canopy", TFItems.CANOPY_HANGING_SIGN, TFBlocks.STRIPPED_CANOPY_LOG); + hangingSignBlock(getter, "dark", TFItems.DARK_HANGING_SIGN, TFBlocks.STRIPPED_DARK_LOG); + hangingSignBlock(getter, "mangrove", TFItems.MANGROVE_HANGING_SIGN, TFBlocks.STRIPPED_MANGROVE_LOG); + hangingSignBlock(getter, "mining", TFItems.MINING_HANGING_SIGN, TFBlocks.STRIPPED_MINING_LOG); + hangingSignBlock(getter, "sorting", TFItems.SORTING_HANGING_SIGN, TFBlocks.STRIPPED_SORTING_LOG); + hangingSignBlock(getter, "time", TFItems.TIME_HANGING_SIGN, TFBlocks.STRIPPED_TIME_LOG); + hangingSignBlock(getter, "transformation", TFItems.TRANSFORMATION_HANGING_SIGN, TFBlocks.STRIPPED_TRANSFORMATION_LOG); + hangingSignBlock(getter, "twilight_oak", TFItems.TWILIGHT_OAK_HANGING_SIGN, TFBlocks.STRIPPED_TWILIGHT_OAK_LOG); + + banisterBlock(getter, "canopy", TFBlocks.CANOPY_BANISTER, TFBlocks.CANOPY_SLAB); + banisterBlock(getter, "dark", TFBlocks.DARK_BANISTER, TFBlocks.DARK_SLAB); + banisterBlock(getter, "mangrove", TFBlocks.MANGROVE_BANISTER, TFBlocks.MANGROVE_SLAB); + banisterBlock(getter, "mining", TFBlocks.MINING_BANISTER, TFBlocks.MINING_SLAB); + banisterBlock(getter, "sorting", TFBlocks.SORTING_BANISTER, TFBlocks.SORTING_SLAB); + banisterBlock(getter, "time", TFBlocks.TIME_BANISTER, TFBlocks.TIME_SLAB); + banisterBlock(getter, "transformation", TFBlocks.TRANSFORMATION_BANISTER, TFBlocks.TRANSFORMATION_SLAB); + banisterBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_BANISTER, TFBlocks.TWILIGHT_OAK_SLAB); + + banisterBlock(getter, "oak", TFBlocks.OAK_BANISTER, Blocks.OAK_SLAB); + banisterBlock(getter, "spruce", TFBlocks.SPRUCE_BANISTER, Blocks.SPRUCE_SLAB); + banisterBlock(getter, "birch", TFBlocks.BIRCH_BANISTER, Blocks.BIRCH_SLAB); + banisterBlock(getter, "jungle", TFBlocks.JUNGLE_BANISTER, Blocks.JUNGLE_SLAB); + banisterBlock(getter, "acacia", TFBlocks.ACACIA_BANISTER, Blocks.ACACIA_SLAB); + banisterBlock(getter, "dark_oak", TFBlocks.DARK_OAK_BANISTER, Blocks.DARK_OAK_SLAB); + banisterBlock(getter, "crimson", TFBlocks.CRIMSON_BANISTER, Blocks.CRIMSON_SLAB); + banisterBlock(getter, "warped", TFBlocks.WARPED_BANISTER, Blocks.WARPED_SLAB); + banisterBlock(getter, "vangrove", TFBlocks.VANGROVE_BANISTER, Blocks.MANGROVE_SLAB); + banisterBlock(getter, "bamboo", TFBlocks.BAMBOO_BANISTER, Blocks.BAMBOO_SLAB); + banisterBlock(getter, "cherry", TFBlocks.CHERRY_BANISTER, Blocks.CHERRY_SLAB); + + chestBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_CHEST, TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST, TFBlocks.TWILIGHT_OAK_PLANKS); + chestBlock(getter, "canopy", TFBlocks.CANOPY_CHEST, TFBlocks.CANOPY_TRAPPED_CHEST, TFBlocks.CANOPY_PLANKS); + chestBlock(getter, "mangrove", TFBlocks.MANGROVE_CHEST, TFBlocks.MANGROVE_TRAPPED_CHEST, TFBlocks.MANGROVE_PLANKS); + chestBlock(getter, "dark", TFBlocks.DARK_CHEST, TFBlocks.DARK_TRAPPED_CHEST, TFBlocks.DARK_PLANKS); + chestBlock(getter, "time", TFBlocks.TIME_CHEST, TFBlocks.TIME_TRAPPED_CHEST, TFBlocks.TIME_PLANKS); + chestBlock(getter, "transformation", TFBlocks.TRANSFORMATION_CHEST, TFBlocks.TRANSFORMATION_TRAPPED_CHEST, TFBlocks.TRANSFORMATION_PLANKS); + chestBlock(getter, "mining", TFBlocks.MINING_CHEST, TFBlocks.MINING_TRAPPED_CHEST, TFBlocks.MINING_PLANKS); + chestBlock(getter, "sorting", TFBlocks.SORTING_CHEST, TFBlocks.SORTING_TRAPPED_CHEST, TFBlocks.SORTING_PLANKS); + + buildBoats(getter, TFItems.TWILIGHT_OAK_BOAT, TFItems.TWILIGHT_OAK_CHEST_BOAT, TFBlocks.TWILIGHT_OAK_PLANKS); + buildBoats(getter, TFItems.CANOPY_BOAT, TFItems.CANOPY_CHEST_BOAT, TFBlocks.CANOPY_PLANKS); + buildBoats(getter, TFItems.MANGROVE_BOAT, TFItems.MANGROVE_CHEST_BOAT, TFBlocks.MANGROVE_PLANKS); + buildBoats(getter, TFItems.DARK_BOAT, TFItems.DARK_CHEST_BOAT, TFBlocks.DARK_PLANKS); + buildBoats(getter, TFItems.TIME_BOAT, TFItems.TIME_CHEST_BOAT, TFBlocks.TIME_PLANKS); + buildBoats(getter, TFItems.TRANSFORMATION_BOAT, TFItems.TRANSFORMATION_CHEST_BOAT, TFBlocks.TRANSFORMATION_PLANKS); + buildBoats(getter, TFItems.MINING_BOAT, TFItems.MINING_CHEST_BOAT, TFBlocks.MINING_PLANKS); + buildBoats(getter, TFItems.SORTING_BOAT, TFItems.SORTING_CHEST_BOAT, TFBlocks.SORTING_PLANKS); + } + + private void nagastoneRecipes(HolderGetter getter) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SPIRAL_BRICKS.get(), 8) + .pattern("BSS") + .pattern("BSS") + .pattern("BBB") + .define('B', Ingredient.of(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS))//Ingredient.merge(ImmutableList.of(Ingredient.fromTag(Tags.Items.STONE), Ingredient.fromItems(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS)))) + .define('S', Ingredient.of(Blocks.STONE_SLAB, Blocks.STONE_BRICK_SLAB)) + .unlockedBy("has_item", has(TFBlocks.SPIRAL_BRICKS.get())) + .save(this.output, locNaga("nagastone_spiral")); + + stairsBlock(getter, locNaga("nagastone_stairs_left"), TFBlocks.NAGASTONE_STAIRS_LEFT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); + stairsRightBlock(getter, locNaga("nagastone_stairs_right"), TFBlocks.NAGASTONE_STAIRS_RIGHT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); + + stairsBlock(getter, locNaga("mossy_nagastone_stairs_left"), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); + stairsRightBlock(getter, locNaga("mossy_nagastone_stairs_right"), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), 1) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .requires(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get())) + .unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())) + .save(this.output, locNaga("mossy_etched_nagastone")); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_NAGASTONE_PILLAR.get(), 1) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .requires(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get())) + .unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())) + .save(this.output, locNaga("mossy_nagastone_pillar")); + + stairsBlock(getter, locNaga("cracked_nagastone_stairs_left"), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); + stairsRightBlock(getter, locNaga("cracked_nagastone_stairs_right"), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); + } + + private void castleRecipes(HolderGetter getter) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_CASTLE_BRICK.get(), 1) + .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) + .requires(Ingredient.of(TFBlocks.CASTLE_BRICK.get())) + .unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())) + .save(this.output, locCastle("mossy_castle_brick")); + + castleBlock(getter, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get()); + castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.THICK_CASTLE_BRICK.get()); + castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), 4) + .pattern("##") + .pattern("##") + .define('#', Ingredient.of(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) + .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) + .save(this.output, locCastle("bold_castle_pillar_from_tile")); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), 6) + .pattern("#H#") + .pattern("#H#") + .define('#', Ingredient.of(TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get())) + .define('H', Ingredient.of(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) + .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) + .save(this.output, locCastle("encased_castle_pillar")); + + stairsBlock(getter, locCastle("bold_castle_brick_stairs"), TFBlocks.BOLD_CASTLE_BRICK_STAIRS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stairsBlock(getter, locCastle("castle_brick_stairs"), TFBlocks.CASTLE_BRICK_STAIRS, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get()); + stairsBlock(getter, locCastle("cracked_castle_brick_stairs"), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK.get()); + stairsBlock(getter, locCastle("encased_castle_brick_stairs"), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); + stairsBlock(getter, locCastle("mossy_castle_brick_stairs"), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK.get()); + stairsBlock(getter, locCastle("worn_castle_brick_stairs"), TFBlocks.WORN_CASTLE_BRICK_STAIRS, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK.get()); + } + + private void fieryConversions(HolderGetter getter) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT.get()) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL))) + .requires(Ingredient.of(getter.getOrThrow(Tags.Items.INGOTS_IRON))) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .group("fiery_ingot") + .save(this.output, locEquip("fiery_ingot_crafting")); + + fieryConversion(getter, TFItems.FIERY_HELMET, Items.IRON_HELMET, 5); + fieryConversion(getter, TFItems.FIERY_CHESTPLATE, Items.IRON_CHESTPLATE, 8); + fieryConversion(getter, TFItems.FIERY_LEGGINGS, Items.IRON_LEGGINGS, 7); + fieryConversion(getter, TFItems.FIERY_BOOTS, Items.IRON_BOOTS, 4); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.FIERY_SWORD.get()) + .requires(Items.IRON_SWORD) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 2) + .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE))) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .group("fiery_sword") + .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_SWORD).getPath())); + + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE.get()) + .requires(Items.IRON_PICKAXE) + .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 3) + .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE)), 2) + .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .group("fiery_pickaxe") + .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_PICKAXE).getPath())); + } + + private void cookingRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF.get()), RecipeCategory.FOOD, TFItems.COOKED_MEEF.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF.get())).save(this.output, this.createKey("food/" + processName + "_meef").toString()); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON.get()), RecipeCategory.FOOD, TFItems.COOKED_VENISON.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON.get())).save(this.output, this.createKey("food/" + processName + "_venison").toString()); + } + + private void ingotRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER.get()), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER.get())).group("knightmetal_ingot").save(this.output, this.createKey("material/" + processName + "_knightmetal_ingot").toString()); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD.get()), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD.get())).group("ironwood_ingot").save(this.output, this.createKey("material/" + processName + "_ironwood_ingot").toString()); + } + + private void crackedWoodRecipes() { + SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD.get(), 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())).save(this.output, this.createKey("wood/" + "smoked" + "_cracked_towerwood").toString()); + } + + private void crackedStoneRecipes() { + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_nagastone_pillar").toString()); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_etched_nagastone").toString()); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())).save(this.output, this.createKey("maze_stone/" + "smelted" + "_maze_stone_cracked").toString()); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())).save(this.output, this.createKey("castleblock/" + "smelted" + "_cracked_castle_brick").toString()); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())).save(this.output, this.createKey("smelted" + "_cracked_underbrick").toString()); + } +} diff --git a/src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java b/src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java new file mode 100644 index 0000000000..7862d94b72 --- /dev/null +++ b/src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java @@ -0,0 +1,25 @@ +package twilightforest.data.recipes; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.RecipeProvider; + +import java.util.concurrent.CompletableFuture; + +public class CraftingGeneratorRunner extends RecipeProvider.Runner { + + public CraftingGeneratorRunner(PackOutput output, CompletableFuture registries) { + super(output, registries); + } + + @Override + protected RecipeProvider createRecipeProvider(HolderLookup.Provider provider, RecipeOutput output) { + return new CraftingGenerator(output, provider); + } + + @Override + public String getName() { + return "Twilight Forest Recipes"; + } +} diff --git a/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java b/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java new file mode 100644 index 0000000000..84a45ece53 --- /dev/null +++ b/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java @@ -0,0 +1,171 @@ +package twilightforest.data.recipes; + +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.advancements.Criterion; +import net.minecraft.advancements.critereon.InventoryChangeTrigger; +import net.minecraft.advancements.critereon.ItemPredicate; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.SingleItemRecipeBuilder; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Blocks; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFItems; + +import java.util.Collections; +import java.util.Optional; + +import static twilightforest.TwilightForestMod.prefix; + +public class StonecuttingGenerator { + + protected static void buildRecipes(HolderGetter getter, RecipeOutput output) { + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_ROOF_TILE.get()); + + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.CASTLE_ROOF_TILE.get()); + + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.CASTLE_ROOF_TILE.get()); + + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + + stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); + stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); + stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); + + stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_LEFT.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); + stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); + stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); + stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); + + stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFBlocks.TOWERWOOD.get()); + stonecutting(getter, output, TFBlocks.DARK_WOOD.get(), TFBlocks.TOWERWOOD.get()); + stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFBlocks.ENCASED_TOWERWOOD.get()); + stonecutting(getter, output, TFBlocks.DARK_WOOD.get(), TFBlocks.ENCASED_TOWERWOOD.get()); + + stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); + + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_BORDER.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.CUT_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_MOSAIC.get()); + + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_BRICK.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.CUT_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_MOSAIC.get()); + + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); + + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); + + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BORDER.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.CUT_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BRICK.get()); + + stonecutting(getter, output, TFBlocks.TWILIGHT_OAK_LOG.get(), TFItems.HOLLOW_TWILIGHT_OAK_LOG.get()); + stonecutting(getter, output, TFBlocks.CANOPY_LOG.get(), TFItems.HOLLOW_CANOPY_LOG.get()); + stonecutting(getter, output, TFBlocks.MANGROVE_LOG.get(), TFItems.HOLLOW_MANGROVE_LOG.get()); + stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFItems.HOLLOW_DARK_LOG.get()); + stonecutting(getter, output, TFBlocks.TIME_LOG.get(), TFItems.HOLLOW_TIME_LOG.get()); + stonecutting(getter, output, TFBlocks.TRANSFORMATION_LOG.get(), TFItems.HOLLOW_TRANSFORMATION_LOG.get()); + stonecutting(getter, output, TFBlocks.MINING_LOG.get(), TFItems.HOLLOW_MINING_LOG.get()); + stonecutting(getter, output, TFBlocks.SORTING_LOG.get(), TFItems.HOLLOW_SORTING_LOG.get()); + + stonecutting(getter, output, Blocks.OAK_LOG, TFItems.HOLLOW_OAK_LOG.get()); + stonecutting(getter, output, Blocks.SPRUCE_LOG, TFItems.HOLLOW_SPRUCE_LOG.get()); + stonecutting(getter, output, Blocks.BIRCH_LOG, TFItems.HOLLOW_BIRCH_LOG.get()); + stonecutting(getter, output, Blocks.JUNGLE_LOG, TFItems.HOLLOW_JUNGLE_LOG.get()); + stonecutting(getter, output, Blocks.ACACIA_LOG, TFItems.HOLLOW_ACACIA_LOG.get()); + stonecutting(getter, output, Blocks.DARK_OAK_LOG, TFItems.HOLLOW_DARK_OAK_LOG.get()); + stonecutting(getter, output, Blocks.CRIMSON_STEM, TFItems.HOLLOW_CRIMSON_STEM.get()); + stonecutting(getter, output, Blocks.WARPED_STEM, TFItems.HOLLOW_WARPED_STEM.get()); + stonecutting(getter, output, Blocks.MANGROVE_LOG, TFItems.HOLLOW_VANGROVE_LOG.get()); + stonecutting(getter, output, Blocks.CHERRY_LOG, TFItems.HOLLOW_CHERRY_LOG.get()); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE.get()); + stonecutting(getter, output, Blocks.STONE, TFBlocks.BOLD_STONE_PILLAR.get()); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE_PILLAR.get()); + stonecutting(getter, output, Blocks.STONE, TFBlocks.SPIRAL_BRICKS.get()); + stonecutting(getter, output, TFBlocks.TWISTED_STONE.get(), TFBlocks.TWISTED_STONE_PILLAR.get()); + + stonecutting(getter, output, TFBlocks.UNDERBRICK.get(), TFBlocks.UNDERBRICK_FLOOR.get()); + } + + private static void stonecutting(HolderGetter getter, RecipeOutput recipe, ItemLike input, ItemLike output) { + stonecutting(getter, recipe, input, output, 1); + } + + private static void stonecutting(HolderGetter getter, RecipeOutput recipe, ItemLike input, ItemLike output, int count) { + SingleItemRecipeBuilder.stonecutting(Ingredient.of(input), RecipeCategory.BUILDING_BLOCKS, output.asItem(), count).unlockedBy("has_block", has(getter, input)).save(recipe, getIdFor(input, output)); + } + + private static ResourceKey> getIdFor(ItemLike input, ItemLike output) { + String path = String.format("stonecutting/%s/%s", BuiltInRegistries.ITEM.getKey(input.asItem()).getPath(), BuiltInRegistries.ITEM.getKey(output.asItem()).getPath()); + return ResourceKey.create(Registries.RECIPE, prefix(path)); + } + + protected static Criterion has(HolderGetter getter, ItemLike item) { + return CriteriaTriggers.INVENTORY_CHANGED.createCriterion(new InventoryChangeTrigger.TriggerInstance(Optional.empty(), InventoryChangeTrigger.TriggerInstance.Slots.ANY, Collections.singletonList(ItemPredicate.Builder.item().of(getter, item).build()))); + } +} diff --git a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java b/src/main/java/twilightforest/data/tags/ItemTagGenerator.java index 00f1c1dc6a..d24bd2d26c 100644 --- a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/ItemTagGenerator.java @@ -81,6 +81,16 @@ public class ItemTagGenerator extends ModdedItemTagGenerator { public static final TagKey REPAIRS_FIERY_TOOLS = create("repairs_fiery_tools"); public static final TagKey REPAIRS_GIANT_TOOLS = create("repairs_giant_tools"); public static final TagKey REPAIRS_ICE_TOOLS = create("repairs_ice_tools"); + public static final TagKey REPAIRS_GLASS_TOOLS = create("repairs_glass_tools"); + + public static final TagKey REPAIRS_IRONWOOD_ARMOR = create("repairs_ironwood_armor"); + public static final TagKey REPAIRS_STEELEAF_ARMOR = create("repairs_steeleaf_armor"); + public static final TagKey REPAIRS_NAGA_ARMOR = create("repairs_naga_armor"); + public static final TagKey REPAIRS_FIERY_ARMOR = create("repairs_fiery_armor"); + public static final TagKey REPAIRS_KNIGHTMETAL_ARMOR = create("repairs_knightmetal_armor"); + public static final TagKey REPAIRS_PHANTOM_ARMOR = create("repairs_phantom_armor"); + public static final TagKey REPAIRS_ARCTIC_ARMOR = create("repairs_arctic_armor"); + public static final TagKey REPAIRS_YETI_ARMOR = create("repairs_yeti_armor"); public ItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider, ExistingFileHelper helper) { super(output, future, provider, helper); diff --git a/src/main/java/twilightforest/entity/TFEntityNames.java b/src/main/java/twilightforest/entity/TFEntityNames.java deleted file mode 100644 index ba2f338c9a..0000000000 --- a/src/main/java/twilightforest/entity/TFEntityNames.java +++ /dev/null @@ -1,124 +0,0 @@ -package twilightforest.entity; - -import net.minecraft.resources.ResourceLocation; - -import static twilightforest.TwilightForestMod.prefix; - -public class TFEntityNames { - // Passive Animals - public static final ResourceLocation BOAR = prefix("boar"); - public static final ResourceLocation BIGHORN_SHEEP = prefix("bighorn_sheep"); - public static final ResourceLocation DEER = prefix("deer"); - public static final ResourceLocation PENGUIN = prefix("penguin"); - public static final ResourceLocation TINY_BIRD = prefix("tiny_bird"); - public static final ResourceLocation SQUIRREL = prefix("squirrel"); - public static final ResourceLocation DWARF_RABBIT = prefix("dwarf_rabbit"); - public static final ResourceLocation RAVEN = prefix("raven"); - - public static final ResourceLocation QUEST_RAM = prefix("quest_ram"); - - // Common Enemies - public static final ResourceLocation SKELETON_DRUID = prefix("skeleton_druid"); - public static final ResourceLocation WRAITH = prefix("wraith"); - public static final ResourceLocation KOBOLD = prefix("kobold"); - public static final ResourceLocation HOSTILE_WOLF = prefix("hostile_wolf"); - - public static final ResourceLocation REDCAP = prefix("redcap"); - public static final ResourceLocation REDCAP_SAPPER = prefix("redcap_sapper"); - - public static final ResourceLocation SWARM_SPIDER = prefix("swarm_spider"); - public static final ResourceLocation HEDGE_SPIDER = prefix("hedge_spider"); - - public static final ResourceLocation FIRE_BEETLE = prefix("fire_beetle"); - public static final ResourceLocation SLIME_BEETLE = prefix("slime_beetle"); - public static final ResourceLocation PINCH_BEETLE = prefix("pinch_beetle"); - - public static final ResourceLocation BOGGARD = prefix("boggard"); // <- ?? - - // Graveyard - public static final ResourceLocation RISING_ZOMBIE = prefix("rising_zombie"); - - // Courtyard - public static final ResourceLocation NAGA = prefix("naga"); - - // Lich Tower - public static final ResourceLocation LICH = prefix("lich"); - public static final ResourceLocation LICH_MINION = prefix("lich_minion"); - public static final ResourceLocation LOYAL_ZOMBIE = prefix("loyal_zombie"); - public static final ResourceLocation DEATH_TOME = prefix("death_tome"); - - // Swamp - public static final ResourceLocation MOSQUITO_SWARM = prefix("mosquito_swarm"); - public static final ResourceLocation HYDRA = prefix("hydra"); - - public static final ResourceLocation MINOTAUR = prefix("minotaur"); - public static final ResourceLocation MINOSHROOM = prefix("minoshroom"); - public static final ResourceLocation MAZE_SLIME = prefix("maze_slime"); - - // Dark Forest - public static final ResourceLocation MIST_WOLF = prefix("mist_wolf"); - public static final ResourceLocation KING_SPIDER = prefix("king_spider"); - - public static final ResourceLocation CARMINITE_GHASTLING = prefix("carminite_ghastling"); - public static final ResourceLocation CARMINITE_GHASTGUARD = prefix("carminite_ghastguard"); - public static final ResourceLocation CARMINITE_GOLEM = prefix("carminite_golem"); - public static final ResourceLocation TOWERWOOD_BORER = prefix("towerwood_borer"); - public static final ResourceLocation CARMINITE_BROODLING = prefix("carminite_broodling"); - public static final ResourceLocation UR_GHAST = prefix("ur_ghast"); - - public static final ResourceLocation BLOCKCHAIN_GOBLIN = prefix("blockchain_goblin"); - public static final ResourceLocation UPPER_GOBLIN_KNIGHT = prefix("upper_goblin_knight"); - public static final ResourceLocation LOWER_GOBLIN_KNIGHT = prefix("lower_goblin_knight"); - public static final ResourceLocation HELMET_CRAB = prefix("helmet_crab"); - public static final ResourceLocation KNIGHT_PHANTOM = prefix("knight_phantom"); - - // Snow Region - public static final ResourceLocation YETI = prefix("yeti"); - public static final ResourceLocation ALPHA_YETI = prefix("alpha_yeti"); - public static final ResourceLocation WINTER_WOLF = prefix("winter_wolf"); - - public static final ResourceLocation SNOW_GUARDIAN = prefix("snow_guardian"); - public static final ResourceLocation STABLE_ICE_CORE = prefix("stable_ice_core"); - public static final ResourceLocation UNSTABLE_ICE_CORE = prefix("unstable_ice_core"); - public static final ResourceLocation SNOW_QUEEN = prefix("snow_queen"); - public static final ResourceLocation ICE_CRYSTAL = prefix("ice_crystal"); - - // Highlands - public static final ResourceLocation TROLL = prefix("troll"); - - public static final ResourceLocation GIANT_MINER = prefix("giant_miner"); - public static final ResourceLocation ARMORED_GIANT = prefix("armored_giant"); - - public static final ResourceLocation HARBINGER_CUBE = prefix("harbinger_cube"); - public static final ResourceLocation ADHERENT = prefix("adherent"); - public static final ResourceLocation ROVING_CUBE = prefix("roving_cube"); - public static final ResourceLocation SLIDER = prefix("slider"); - public static final ResourceLocation PLATEAU_BOSS = prefix("plateau_boss"); - - // Technical - public static final ResourceLocation CHARM_EFFECT = prefix("charm_effect"); - public static final ResourceLocation FALLING_ICE = prefix("falling_ice"); - public static final ResourceLocation CHAIN_BLOCK = prefix("chain_block"); - public static final ResourceLocation CUBE_OF_ANNIHILATION = prefix("cube_of_annihilation"); - public static final ResourceLocation PROTECTION_BOX = prefix("protection_box"); - public static final ResourceLocation BOAT = prefix("boat"); - public static final ResourceLocation CHEST_BOAT = prefix("chest_boat"); - public static final ResourceLocation MAGIC_PAINTING = prefix("magic_painting"); - - // Projectiles - public static final ResourceLocation NATURE_BOLT = prefix("nature_bolt"); - public static final ResourceLocation LICH_BOLT = prefix("lich_bolt"); - public static final ResourceLocation WAND_BOLT = prefix("wand_bolt"); - public static final ResourceLocation TOME_BOLT = prefix("tome_bolt"); - public static final ResourceLocation HYDRA_MORTAR = prefix("hydra_mortar"); - public static final ResourceLocation LICH_BOMB = prefix("lich_bomb"); - public static final ResourceLocation CICADA_SHOT = prefix("cicada_shot"); - public static final ResourceLocation MOONWORM_SHOT = prefix("moonworm_shot"); - public static final ResourceLocation SLIME_BLOB = prefix("slime_blob"); - public static final ResourceLocation THROWN_WEP = prefix("thrown_wep"); - public static final ResourceLocation THROWN_ICE = prefix("thrown_ice"); - public static final ResourceLocation THROWN_BLOCK = prefix("thrown_block"); - public static final ResourceLocation SEEKER_ARROW = prefix("seeker_arrow"); - public static final ResourceLocation ICE_ARROW = prefix("ice_arrow"); - public static final ResourceLocation ICE_SNOWBALL = prefix("ice_snowball"); -} diff --git a/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java index 6378dab3d3..aa4c3b6e87 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java @@ -1,10 +1,11 @@ package twilightforest.entity.ai.goal; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ServerLevelAccessor; @@ -53,7 +54,7 @@ public void tick() { if (this.lich.getAttackCooldown() == 0) { if (dist < 2.0F) { // melee attack - this.lich.doHurtTarget(targetedEntity); + this.lich.doHurtTarget((ServerLevel) this.lich.level(), targetedEntity); this.lich.setAttackCooldown(20); } else if (dist < 20F && this.lich.getSensing().hasLineOfSight(targetedEntity)) { if (this.lich.getNextAttackType() == 0) { @@ -95,7 +96,7 @@ private void spawnMinionAt() { // put a clone there LichMinion minion = new LichMinion(this.lich.level(), this.lich); minion.setPos(minionSpot.x(), minionSpot.y(), minionSpot.z()); - EventHooks.finalizeMobSpawn(minion, accessor, this.lich.level().getCurrentDifficultyAt(BlockPos.containing(minionSpot)), MobSpawnType.MOB_SUMMONED, null); + EventHooks.finalizeMobSpawn(minion, accessor, this.lich.level().getCurrentDifficultyAt(BlockPos.containing(minionSpot)), EntitySpawnReason.MOB_SUMMONED, null); this.lich.level().addFreshEntity(minion); minion.setTarget(targetedEntity); diff --git a/src/main/java/twilightforest/entity/boss/SnowQueen.java b/src/main/java/twilightforest/entity/boss/SnowQueen.java index 3d570d967a..1ea83402d7 100644 --- a/src/main/java/twilightforest/entity/boss/SnowQueen.java +++ b/src/main/java/twilightforest/entity/boss/SnowQueen.java @@ -13,6 +13,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; @@ -352,7 +353,7 @@ public void setSummonsRemaining(int summonsRemaining) { } public void summonMinionAt(LivingEntity targetedEntity) { - IceCrystal minion = new IceCrystal(this.level()); + IceCrystal minion = TFEntities.ICE_CRYSTAL.get().create(this.level(), EntitySpawnReason.MOB_SUMMONED); minion.absMoveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F); this.level().addFreshEntity(minion); @@ -392,8 +393,8 @@ public void incrementSuccessfulDrops() { } @Override - public void doBreathAttack(Entity target) { - target.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.CHILLING_BREATH, this, TFEntities.SNOW_QUEEN.get()), BREATH_DAMAGE); + public void doBreathAttack(ServerLevel level, Entity target) { + target.hurtServer(level, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.CHILLING_BREATH, this, TFEntities.SNOW_QUEEN.get()), BREATH_DAMAGE); // TODO: slow target? } diff --git a/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java b/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java index 2193af31d8..334bc30ad9 100644 --- a/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java +++ b/src/main/java/twilightforest/entity/monster/CarminiteGhastguard.java @@ -161,7 +161,7 @@ protected boolean canRide(Entity entity) { return false; } - public static boolean ghastSpawnHandler(EntityType entityType, LevelAccessor accessor, EntitySpawnReason type, BlockPos pos, RandomSource random) { + public static boolean checkGhastguardSpawnRules(EntityType entityType, LevelAccessor accessor, EntitySpawnReason type, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && checkMobSpawnRules(entityType, accessor, type, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java b/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java index ad3bedf7e3..4ff0bf5290 100644 --- a/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java +++ b/src/main/java/twilightforest/entity/monster/CarminiteGhastling.java @@ -91,7 +91,7 @@ public boolean shouldAttack(LivingEntity living) { } //This does not factor into whether the entity is a Minion or not. However, since it is spawned via MOB_SUMMONED, it will always spawn if that is the SpawnReason - public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkGhastlingSpawnRules(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return world.getDifficulty() != Difficulty.PEACEFUL && (reason == EntitySpawnReason.MOB_SUMMONED || Monster.isDarkEnoughToSpawn(world, pos, random)) && checkMobSpawnRules(entity, world, reason, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/GiantMiner.java b/src/main/java/twilightforest/entity/monster/GiantMiner.java index 370faef96b..97919521aa 100644 --- a/src/main/java/twilightforest/entity/monster/GiantMiner.java +++ b/src/main/java/twilightforest/entity/monster/GiantMiner.java @@ -94,7 +94,7 @@ public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason reason) return giantsNearby.size() < 5; } - public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { + public static boolean checkGiantSpawnRules(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { return accessor.getBlockState(pos.below()).is(BlockTagGenerator.GIANTS_SPAWNABLE_ON); } diff --git a/src/main/java/twilightforest/entity/monster/HedgeSpider.java b/src/main/java/twilightforest/entity/monster/HedgeSpider.java index a050d0e28c..dadf5c5025 100644 --- a/src/main/java/twilightforest/entity/monster/HedgeSpider.java +++ b/src/main/java/twilightforest/entity/monster/HedgeSpider.java @@ -74,7 +74,7 @@ protected void playStepSound(BlockPos pos, BlockState state) { this.playSound(TFSounds.HEDGE_SPIDER_STEP.get(), 0.15F, 1.0F); } - public static boolean canSpawn(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkSpiderSpawnRules(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random); } } diff --git a/src/main/java/twilightforest/entity/monster/IceCrystal.java b/src/main/java/twilightforest/entity/monster/IceCrystal.java index 06930e3ac7..3b72a7e42c 100644 --- a/src/main/java/twilightforest/entity/monster/IceCrystal.java +++ b/src/main/java/twilightforest/entity/monster/IceCrystal.java @@ -19,12 +19,8 @@ public class IceCrystal extends BaseIceMob { private int crystalAge; private int maxCrystalAge = -1; - public IceCrystal(Level worldIn) { - super(TFEntities.ICE_CRYSTAL.get(), worldIn); - } - - public IceCrystal(EntityType type, Level world) { - super(type, world); + public IceCrystal(EntityType type, Level level) { + super(type, level); } @Override diff --git a/src/main/java/twilightforest/entity/monster/MazeSlime.java b/src/main/java/twilightforest/entity/monster/MazeSlime.java index e91dab9d1c..4ed7697e07 100644 --- a/src/main/java/twilightforest/entity/monster/MazeSlime.java +++ b/src/main/java/twilightforest/entity/monster/MazeSlime.java @@ -40,7 +40,7 @@ public void setSize(int size, boolean resetHealth) { this.xpReward = size + 3; } - public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkSlimeSpawnRules(EntityType entity, ServerLevelAccessor world, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return world.getDifficulty() != Difficulty.PEACEFUL && checkMobSpawnRules(entity, world, reason, pos, random) && Monster.isDarkEnoughToSpawn(world, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/SnowGuardian.java b/src/main/java/twilightforest/entity/monster/SnowGuardian.java index 6a00cfbf8d..fe0ccef821 100644 --- a/src/main/java/twilightforest/entity/monster/SnowGuardian.java +++ b/src/main/java/twilightforest/entity/monster/SnowGuardian.java @@ -7,7 +7,6 @@ import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; diff --git a/src/main/java/twilightforest/entity/monster/SwarmSpider.java b/src/main/java/twilightforest/entity/monster/SwarmSpider.java index 7113808c7e..74d84090df 100644 --- a/src/main/java/twilightforest/entity/monster/SwarmSpider.java +++ b/src/main/java/twilightforest/entity/monster/SwarmSpider.java @@ -105,7 +105,7 @@ public EntityType getReinforcementType() { return TFEntities.SWARM_SPIDER.get(); } - public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkSwarmSpawnRules(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/WinterWolf.java b/src/main/java/twilightforest/entity/monster/WinterWolf.java index 0100ea3e20..b7385a59da 100644 --- a/src/main/java/twilightforest/entity/monster/WinterWolf.java +++ b/src/main/java/twilightforest/entity/monster/WinterWolf.java @@ -152,7 +152,7 @@ public void doBreathAttack(ServerLevel level, Entity target) { target.hurtServer(level, this.damageSources().mobAttack(this), BREATH_DAMAGE); } - public static boolean canSpawnHere(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkWinterSpawnRules(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { Optional> key = accessor.getBiome(pos).unwrapKey(); return accessor.getDifficulty() != Difficulty.PEACEFUL && Objects.equals(key, Optional.of(TFBiomes.SNOWY_FOREST)) || Monster.isDarkEnoughToSpawn(accessor, pos, random); } diff --git a/src/main/java/twilightforest/entity/monster/Yeti.java b/src/main/java/twilightforest/entity/monster/Yeti.java index 0a785ab5db..ed80703b47 100644 --- a/src/main/java/twilightforest/entity/monster/Yeti.java +++ b/src/main/java/twilightforest/entity/monster/Yeti.java @@ -146,22 +146,18 @@ public boolean canRiderInteract() { return true; } - public static boolean yetiSnowyForestSpawnHandler(EntityType entityType, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { + public static boolean checkYetiSpawnRules(EntityType entityType, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { if (accessor.getDifficulty() != Difficulty.PEACEFUL) { if (accessor.getBiome(pos).is(TFBiomes.SNOWY_FOREST)) { return checkMobSpawnRules(entityType, accessor, reason, pos, random); } else { // normal Mob spawn check, checks light level - return normalYetiSpawnHandler(entityType, accessor, reason, pos, random); + return checkMonsterSpawnRules(entityType, accessor, reason, pos, random); } } return false; } - public static boolean normalYetiSpawnHandler(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { - return isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); - } - public static boolean isValidLightLevel(ServerLevelAccessor accessor, BlockPos blockPos, RandomSource random) { Optional> key = accessor.getBiome(blockPos).unwrapKey(); if (accessor.getBrightness(LightLayer.SKY, blockPos) > random.nextInt(32)) { diff --git a/src/main/java/twilightforest/entity/passive/Penguin.java b/src/main/java/twilightforest/entity/passive/Penguin.java index 894b2f9bf8..fbdf7925d0 100644 --- a/src/main/java/twilightforest/entity/passive/Penguin.java +++ b/src/main/java/twilightforest/entity/passive/Penguin.java @@ -78,7 +78,7 @@ public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason type) { return true; } - public static boolean canSpawn(EntityType type, LevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { + public static boolean checkPenguinSpawnRules(EntityType type, LevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { return accessor.getBlockState(pos.below()).is(BlockTagGenerator.PENGUINS_SPAWNABLE_ON); } } diff --git a/src/main/java/twilightforest/enums/extensions/TFBoatTypeEnumExtension.java b/src/main/java/twilightforest/enums/extensions/TFBoatTypeEnumExtension.java deleted file mode 100644 index ab07188075..0000000000 --- a/src/main/java/twilightforest/enums/extensions/TFBoatTypeEnumExtension.java +++ /dev/null @@ -1,56 +0,0 @@ -package twilightforest.enums.extensions; - -import net.minecraft.world.entity.vehicle.Boat; -import net.neoforged.neoforge.common.util.Lazy; -import twilightforest.TFEnumExtensions; -import twilightforest.beans.Autowired; -import twilightforest.beans.Component; -import twilightforest.util.ModidPrefixUtil; - -@Component -public class TFBoatTypeEnumExtension { - - @Autowired - private ModidPrefixUtil modidPrefixUtil; - - /** - * {@link TFEnumExtensions#Boat$Type_TWILIGHT_OAK(int, Class)} - */ - public final Lazy TWILIGHT_OAK = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("twilight_oak"))); - - /** - * {@link TFEnumExtensions#Boat$Type_CANOPY(int, Class)} - */ - public final Lazy CANOPY = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("canopy"))); - - /** - * {@link TFEnumExtensions#Boat$Type_MANGROVE(int, Class)} - */ - public final Lazy MANGROVE = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("mangrove"))); - - /** - * {@link TFEnumExtensions#Boat$Type_DARK(int, Class)} - */ - public final Lazy DARK = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("dark"))); - - /** - * {@link TFEnumExtensions#Boat$Type_TIME(int, Class)} - */ - public final Lazy TIME = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("time"))); - - /** - * {@link TFEnumExtensions#Boat$Type_TRANSFORMATION(int, Class)} - */ - public final Lazy TRANSFORMATION = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("transformation"))); - - /** - * {@link TFEnumExtensions#Boat$Type_MINING(int, Class)} - */ - public final Lazy MINING = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("mining"))); - - /** - * {@link TFEnumExtensions#Boat$Type_SORTING(int, Class)} - */ - public final Lazy SORTING = Lazy.of(() -> Boat.Type.byName(modidPrefixUtil.stringPrefix("sorting"))); - -} diff --git a/src/main/java/twilightforest/events/RegistrationEvents.java b/src/main/java/twilightforest/events/RegistrationEvents.java new file mode 100644 index 0000000000..0e034ce09a --- /dev/null +++ b/src/main/java/twilightforest/events/RegistrationEvents.java @@ -0,0 +1,20 @@ +package twilightforest.events; + +import net.minecraft.world.entity.*; +import net.minecraft.world.level.levelgen.Heightmap; +import net.neoforged.neoforge.event.entity.EntityAttributeCreationEvent; +import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent; +import twilightforest.init.TFEntities; + +public class RegistrationEvents { + + @SuppressWarnings("unchecked") //entities added this way will always extend LivingEntity + private static void registerAttributes(EntityAttributeCreationEvent event) { + TFEntities.ATTRIBUTES.forEach((type, builder) -> event.put((EntityType) type.value(), builder.get().build())); + } + + @SuppressWarnings("unchecked") //PAIN + private static void registerPlacements(RegisterSpawnPlacementsEvent event) { + TFEntities.SPAWN_PREDICATES.forEach((type, predicate) -> event.register((EntityType) type.value(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, (SpawnPlacements.SpawnPredicate) predicate, RegisterSpawnPlacementsEvent.Operation.REPLACE)); + } +} diff --git a/src/main/java/twilightforest/init/TFArmorMaterials.java b/src/main/java/twilightforest/init/TFArmorMaterials.java index 3085bd623a..049356c6d1 100644 --- a/src/main/java/twilightforest/init/TFArmorMaterials.java +++ b/src/main/java/twilightforest/init/TFArmorMaterials.java @@ -1,84 +1,76 @@ package twilightforest.init; import net.minecraft.Util; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; -import net.minecraft.world.item.crafting.Ingredient; -import net.neoforged.neoforge.registries.DeferredHolder; -import net.neoforged.neoforge.registries.DeferredRegister; -import twilightforest.TwilightForestMod; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; +import twilightforest.data.tags.ItemTagGenerator; import java.util.EnumMap; -import java.util.List; public class TFArmorMaterials { - public static final DeferredRegister ARMOR_MATERIALS = DeferredRegister.create(Registries.ARMOR_MATERIAL, TwilightForestMod.ID); + public static final ArmorMaterial NAGA = new ArmorMaterial(21, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 3); + map.put(ArmorType.LEGGINGS, 6); + map.put(ArmorType.CHESTPLATE, 7); + map.put(ArmorType.HELMET, 2); + map.put(ArmorType.BODY, 8); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.5F, 0.0F, ItemTagGenerator.REPAIRS_NAGA_ARMOR, TFEquipmentModels.NAGA); - public static final DeferredHolder NAGA = ARMOR_MATERIALS.register("naga_scale", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 6); - map.put(ArmorItem.Type.CHESTPLATE, 7); - map.put(ArmorItem.Type.HELMET, 2); - map.put(ArmorItem.Type.BODY, 8); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.NAGA_SCALE.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("naga_scale"))), 0.5F, 0.0F)); + public static final ArmorMaterial IRONWOOD = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 2); + map.put(ArmorType.LEGGINGS, 5); + map.put(ArmorType.CHESTPLATE, 7); + map.put(ArmorType.HELMET, 2); + map.put(ArmorType.BODY, 5); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, ItemTagGenerator.REPAIRS_IRONWOOD_ARMOR, TFEquipmentModels.IRONWOOD); - public static final DeferredHolder IRONWOOD = ARMOR_MATERIALS.register("ironwood", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 2); - map.put(ArmorItem.Type.LEGGINGS, 5); - map.put(ArmorItem.Type.CHESTPLATE, 7); - map.put(ArmorItem.Type.HELMET, 2); - map.put(ArmorItem.Type.BODY, 5); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.IRONWOOD_INGOT.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("ironwood"))), 0.0F, 0.0F)); + public static final ArmorMaterial FIERY = new ArmorMaterial(25, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 4); + map.put(ArmorType.LEGGINGS, 7); + map.put(ArmorType.CHESTPLATE, 9); + map.put(ArmorType.HELMET, 4); + map.put(ArmorType.BODY, 13); + }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, 1.5F, 0.0F, ItemTagGenerator.REPAIRS_FIERY_ARMOR, TFEquipmentModels.FIERY); - public static final DeferredHolder FIERY = ARMOR_MATERIALS.register("fiery", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 4); - map.put(ArmorItem.Type.LEGGINGS, 7); - map.put(ArmorItem.Type.CHESTPLATE, 9); - map.put(ArmorItem.Type.HELMET, 4); - map.put(ArmorItem.Type.BODY, 13); - }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.FIERY_INGOT.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("fiery"))), 1.5F, 0.0F)); + public static final ArmorMaterial STEELEAF = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 3); + map.put(ArmorType.LEGGINGS, 6); + map.put(ArmorType.CHESTPLATE, 8); + map.put(ArmorType.HELMET, 3); + map.put(ArmorType.BODY, 11); + }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, ItemTagGenerator.REPAIRS_STEELEAF_ARMOR, TFEquipmentModels.STEELEAF); - public static final DeferredHolder STEELEAF = ARMOR_MATERIALS.register("steeleaf", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 6); - map.put(ArmorItem.Type.CHESTPLATE, 8); - map.put(ArmorItem.Type.HELMET, 3); - map.put(ArmorItem.Type.BODY, 11); - }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.STEELEAF_INGOT.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("steeleaf"))), 0.0F, 0.0F)); + public static final ArmorMaterial KNIGHTMETAL = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 3); + map.put(ArmorType.LEGGINGS, 6); + map.put(ArmorType.CHESTPLATE, 8); + map.put(ArmorType.HELMET, 3); + map.put(ArmorType.BODY, 11); + }), 8, TFSounds.KNIGHTMETAL_EQUIP, 1.0F, 0.0F, ItemTagGenerator.REPAIRS_KNIGHTMETAL_ARMOR, TFEquipmentModels.KNIGHTMETAL); - public static final DeferredHolder KNIGHTMETAL = ARMOR_MATERIALS.register("knightmetal", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 6); - map.put(ArmorItem.Type.CHESTPLATE, 8); - map.put(ArmorItem.Type.HELMET, 3); - map.put(ArmorItem.Type.BODY, 11); - }), 8, TFSounds.KNIGHTMETAL_EQUIP, () -> Ingredient.of(TFItems.KNIGHTMETAL_INGOT.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("knightmetal"))), 1.0F, 0.0F)); + public static final ArmorMaterial PHANTOM = new ArmorMaterial(30, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 3); + map.put(ArmorType.LEGGINGS, 6); + map.put(ArmorType.CHESTPLATE, 8); + map.put(ArmorType.HELMET, 3); + map.put(ArmorType.BODY, 10); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.5F, 0.0F, ItemTagGenerator.REPAIRS_PHANTOM_ARMOR, TFEquipmentModels.PHANTOM); - public static final DeferredHolder PHANTOM = ARMOR_MATERIALS.register("phantom", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 6); - map.put(ArmorItem.Type.CHESTPLATE, 8); - map.put(ArmorItem.Type.HELMET, 3); - map.put(ArmorItem.Type.BODY, 10); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.KNIGHTMETAL_INGOT.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("phantom"))), 2.5F, 0.0F)); + public static final ArmorMaterial YETI = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 3); + map.put(ArmorType.LEGGINGS, 6); + map.put(ArmorType.CHESTPLATE, 7); + map.put(ArmorType.HELMET, 4); + map.put(ArmorType.BODY, 11); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 3.0F, 0.0F, ItemTagGenerator.REPAIRS_YETI_ARMOR, TFEquipmentModels.YETI); - public static final DeferredHolder YETI = ARMOR_MATERIALS.register("yeti", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 3); - map.put(ArmorItem.Type.LEGGINGS, 6); - map.put(ArmorItem.Type.CHESTPLATE, 7); - map.put(ArmorItem.Type.HELMET, 4); - map.put(ArmorItem.Type.BODY, 11); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.ALPHA_YETI_FUR.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("yeti"))), 3.0F, 0.0F)); - - public static final DeferredHolder ARCTIC = ARMOR_MATERIALS.register("arctic", () -> new ArmorMaterial(Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { - map.put(ArmorItem.Type.BOOTS, 2); - map.put(ArmorItem.Type.LEGGINGS, 5); - map.put(ArmorItem.Type.CHESTPLATE, 7); - map.put(ArmorItem.Type.HELMET, 2); - map.put(ArmorItem.Type.BODY, 7); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, () -> Ingredient.of(TFItems.ARCTIC_FUR.get()), List.of(new ArmorMaterial.Layer(TwilightForestMod.prefix("arctic"), "_dyed", true), new ArmorMaterial.Layer(TwilightForestMod.prefix("arctic"), "_overlay", false)), 2.0F, 0.0F)); + public static final ArmorMaterial ARCTIC = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { + map.put(ArmorType.BOOTS, 2); + map.put(ArmorType.LEGGINGS, 5); + map.put(ArmorType.CHESTPLATE, 7); + map.put(ArmorType.HELMET, 2); + map.put(ArmorType.BODY, 7); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.0F, 0.0F, ItemTagGenerator.REPAIRS_ARCTIC_ARMOR, TFEquipmentModels.ARCTIC); } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 067bf6c26d..67f1c8d89d 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -2,6 +2,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.*; import net.minecraft.world.level.BlockGetter; @@ -24,265 +26,265 @@ import twilightforest.util.woods.TFWoodTypes; import twilightforest.world.components.feature.trees.growers.TFTreeGrowers; -import java.util.function.Supplier; +import java.util.function.Function; public class TFBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(TwilightForestMod.ID); - public static final DeferredBlock TWILIGHT_PORTAL = BLOCKS.register("twilight_portal", () -> new TFPortalBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).strength(-1.0F).sound(SoundType.GLASS).lightLevel((state) -> 11).noCollission().noOcclusion().noLootTable())); + public static final DeferredBlock TWILIGHT_PORTAL = register("twilight_portal", TFPortalBlock::new, BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).strength(-1.0F).sound(SoundType.GLASS).lightLevel((state) -> 11).noCollission().noOcclusion().noLootTable()); //misc. - public static final DeferredBlock HEDGE = register("hedge", () -> new HedgeBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(2.0F, 6.0F))); - public static final DeferredBlock MASON_JAR = BLOCKS.register("mason_jar", () -> new MasonJarBlock(BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F))); - public static final DeferredBlock FIREFLY_JAR = BLOCKS.register("firefly_jar", () -> new FireflyJarBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F))); - public static final DeferredBlock FIREFLY_SPAWNER = register("firefly_particle_spawner", () -> new FireflySpawnerBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F))); - public static final DeferredBlock CICADA_JAR = BLOCKS.register("cicada_jar", () -> new CicadaJarBlock(BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F))); - public static final DeferredBlock MOSS_PATCH = register("moss_patch", () -> new MossPatchBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.MOSS))); - public static final DeferredBlock MAYAPPLE = register("mayapple", () -> new MayappleBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS))); - public static final DeferredBlock CLOVER_PATCH = register("clover_patch", () -> new PatchBlock(BlockBehaviour.Properties.of().ignitedByLava().noCollission().noOcclusion().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS))); - public static final DeferredBlock FIDDLEHEAD = register("fiddlehead", () -> new FiddleheadBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.GRASS))); - public static final DeferredBlock MUSHGLOOM = register("mushgloom", () -> new MushgloomBlock(BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 3).noCollission().noOcclusion().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.FUNGUS))); - public static final DeferredBlock TORCHBERRY_PLANT = register("torchberry_plant", () -> new TorchberryPlantBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().lightLevel(value -> value.getValue(TorchberryPlantBlock.HAS_BERRIES) ? 7 : 1).noCollission().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS))); - public static final DeferredBlock ROOT_STRAND = register("root_strand", () -> new RootStrandBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS))); - public static final DeferredBlock FALLEN_LEAVES = BLOCKS.register("fallen_leaves", () -> new FallenLeavesBlock(BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().replaceable().pushReaction(PushReaction.DESTROY).sound(SoundType.AZALEA_LEAVES))); - public static final DeferredBlock ROOT_BLOCK = register("root", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(2.0F, 3.0F))); - public static final DeferredBlock LIVEROOT_BLOCK = register("liveroot_block", () -> new LiverootBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_LIGHT_GREEN).sound(SoundType.WOOD).strength(2.0F, 3.0F))); - public static final DeferredBlock UNCRAFTING_TABLE = register("uncrafting_table", () -> new UncraftingTableBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.FIRE).sound(SoundType.WOOD).strength(2.5F))); - public static final DeferredBlock SMOKER = register("smoker", () -> new TFSmokerBlock(BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.WOOD).strength(1.5F, 6.0F))); - public static final DeferredBlock ENCASED_SMOKER = register("encased_smoker", () -> new EncasedSmokerBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F))); - public static final DeferredBlock FIRE_JET = register("fire_jet", () -> new FireJetBlock(BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.WOOD).strength(1.5F, 6.0F))); - public static final DeferredBlock ENCASED_FIRE_JET = register("encased_fire_jet", () -> new EncasedFireJetBlock(BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F))); - public static final DeferredBlock FIREFLY = register("firefly", () -> new FireflyBlock(BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK))); - public static final DeferredBlock CICADA = register("cicada", () -> new CicadaBlock(BlockBehaviour.Properties.of().instabreak().noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK))); - public static final DeferredBlock MOONWORM = register("moonworm", () -> new MoonwormBlock(BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 14).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK))); - public static final DeferredBlock HUGE_LILY_PAD = BLOCKS.register("huge_lily_pad", () -> new HugeLilyPadBlock(BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD))); - public static final DeferredBlock HUGE_WATER_LILY = BLOCKS.register("huge_water_lily", () -> new HugeWaterLilyBlock(BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD))); - public static final DeferredBlock SLIDER = register("slider", () -> new SliderBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).noLootTable().noOcclusion().randomTicks().strength(2.0F, 10.0F))); - public static final DeferredBlock IRON_LADDER = register("iron_ladder", () -> new IronLadderBlock(BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F))); - public static final DeferredBlock ROPE = BLOCKS.register("rope", () -> new RopeBlock(BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.3F, 3.0F))); - public static final DeferredBlock CANOPY_WINDOW = register("canopy_window", () -> new TransparentBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false))); - public static final DeferredBlock CANOPY_WINDOW_PANE = register("canopy_window_pane", () -> new IronBarsBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion())); + public static final DeferredBlock HEDGE = registerWithItem("hedge", HedgeBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(2.0F, 6.0F)); + public static final DeferredBlock MASON_JAR = register("mason_jar", MasonJarBlock::new, BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock FIREFLY_JAR = register("firefly_jar", FireflyJarBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock FIREFLY_SPAWNER = registerWithItem("firefly_particle_spawner", FireflySpawnerBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock CICADA_JAR = register("cicada_jar", CicadaJarBlock::new, BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock MOSS_PATCH = registerWithItem("moss_patch", MossPatchBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.MOSS)); + public static final DeferredBlock MAYAPPLE = registerWithItem("mayapple", MayappleBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); + public static final DeferredBlock CLOVER_PATCH = registerWithItem("clover_patch", PatchBlock::new, BlockBehaviour.Properties.of().ignitedByLava().noCollission().noOcclusion().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); + public static final DeferredBlock FIDDLEHEAD = registerWithItem("fiddlehead", FiddleheadBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.GRASS)); + public static final DeferredBlock MUSHGLOOM = registerWithItem("mushgloom", MushgloomBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 3).noCollission().noOcclusion().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.FUNGUS)); + public static final DeferredBlock TORCHBERRY_PLANT = registerWithItem("torchberry_plant", TorchberryPlantBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().lightLevel(value -> value.getValue(TorchberryPlantBlock.HAS_BERRIES) ? 7 : 1).noCollission().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); + public static final DeferredBlock ROOT_STRAND = registerWithItem("root_strand", RootStrandBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); + public static final DeferredBlock FALLEN_LEAVES = register("fallen_leaves", FallenLeavesBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().replaceable().pushReaction(PushReaction.DESTROY).sound(SoundType.AZALEA_LEAVES)); + public static final DeferredBlock ROOT_BLOCK = registerWithItem("root", Block::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(2.0F, 3.0F)); + public static final DeferredBlock LIVEROOT_BLOCK = registerWithItem("liveroot_block", LiverootBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_LIGHT_GREEN).sound(SoundType.WOOD).strength(2.0F, 3.0F)); + public static final DeferredBlock UNCRAFTING_TABLE = registerWithItem("uncrafting_table", UncraftingTableBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.FIRE).sound(SoundType.WOOD).strength(2.5F)); + public static final DeferredBlock SMOKER = registerWithItem("smoker", TFSmokerBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock ENCASED_SMOKER = registerWithItem("encased_smoker", EncasedSmokerBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock FIRE_JET = registerWithItem("fire_jet", FireJetBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock ENCASED_FIRE_JET = registerWithItem("encased_fire_jet", EncasedFireJetBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock FIREFLY = registerWithItem("firefly", FireflyBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock CICADA = registerWithItem("cicada", CicadaBlock::new, BlockBehaviour.Properties.of().instabreak().noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock MOONWORM = registerWithItem("moonworm", MoonwormBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 14).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock HUGE_LILY_PAD = register("huge_lily_pad", HugeLilyPadBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); + public static final DeferredBlock HUGE_WATER_LILY = register("huge_water_lily", HugeWaterLilyBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); + public static final DeferredBlock SLIDER = registerWithItem("slider", SliderBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).noLootTable().noOcclusion().randomTicks().strength(2.0F, 10.0F)); + public static final DeferredBlock IRON_LADDER = registerWithItem("iron_ladder", IronLadderBlock::new, BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F)); + public static final DeferredBlock ROPE = register("rope", RopeBlock::new, BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.3F, 3.0F)); + public static final DeferredBlock CANOPY_WINDOW = registerWithItem("canopy_window", TransparentBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false)); + public static final DeferredBlock CANOPY_WINDOW_PANE = registerWithItem("canopy_window_pane", IronBarsBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion()); //naga courtyard - public static final DeferredBlock NAGASTONE_HEAD = register("nagastone_head", () -> new TFHorizontalBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock NAGASTONE = register("nagastone", () -> new NagastoneBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock SPIRAL_BRICKS = register("spiral_bricks", () -> new SpiralBrickBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock ETCHED_NAGASTONE = register("etched_nagastone", () -> new EtchedNagastoneBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock NAGASTONE_PILLAR = register("nagastone_pillar", () -> new DirectionalRotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock NAGASTONE_STAIRS_LEFT = register("nagastone_stairs_left", () -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get()))); - public static final DeferredBlock NAGASTONE_STAIRS_RIGHT = register("nagastone_stairs_right", () -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get()))); - public static final DeferredBlock MOSSY_ETCHED_NAGASTONE = register("mossy_etched_nagastone", () -> new EtchedNagastoneBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock MOSSY_NAGASTONE_PILLAR = register("mossy_nagastone_pillar", () -> new DirectionalRotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_LEFT = register("mossy_nagastone_stairs_left", () -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get()))); - public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_RIGHT = register("mossy_nagastone_stairs_right", () -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get()))); - public static final DeferredBlock CRACKED_ETCHED_NAGASTONE = register("cracked_etched_nagastone", () -> new EtchedNagastoneBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock CRACKED_NAGASTONE_PILLAR = register("cracked_nagastone_pillar", () -> new DirectionalRotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_LEFT = register("cracked_nagastone_stairs_left", () -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get()))); - public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_RIGHT = register("cracked_nagastone_stairs_right", () -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get()))); + public static final DeferredBlock NAGASTONE_HEAD = registerWithItem("nagastone_head", TFHorizontalBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE = registerWithItem("nagastone", NagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock SPIRAL_BRICKS = registerWithItem("spiral_bricks", SpiralBrickBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock ETCHED_NAGASTONE = registerWithItem("etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE_PILLAR = registerWithItem("nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE_STAIRS_LEFT = registerWithItem("nagastone_stairs_left", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); + public static final DeferredBlock NAGASTONE_STAIRS_RIGHT = registerWithItem("nagastone_stairs_right", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); + public static final DeferredBlock MOSSY_ETCHED_NAGASTONE = registerWithItem("mossy_etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_NAGASTONE_PILLAR = registerWithItem("mossy_nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_LEFT = registerWithItem("mossy_nagastone_stairs_left", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); + public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_RIGHT = registerWithItem("mossy_nagastone_stairs_right", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); + public static final DeferredBlock CRACKED_ETCHED_NAGASTONE = registerWithItem("cracked_etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CRACKED_NAGASTONE_PILLAR = registerWithItem("cracked_nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_LEFT = registerWithItem("cracked_nagastone_stairs_left", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); + public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_RIGHT = registerWithItem("cracked_nagastone_stairs_right", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); //lich tower - public static final DeferredBlock TWISTED_STONE = register("twisted_stone", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock TWISTED_STONE_PILLAR = register("twisted_stone_pillar", () -> new WallPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F), 12, 16)); - public static final DeferredBlock KEEPSAKE_CASKET = register("keepsake_casket", () -> new KeepsakeCasketBlock(BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(50.0F, 1200.0F))); - public static final DeferredBlock BOLD_STONE_PILLAR = register("bold_stone_pillar", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F))); - public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = register("chiseled_canopy_bookshelf", () -> new ChiseledCanopyShelfBlock(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F))); - public static final DeferredBlock CANDELABRA = register("candelabra", () -> new CandelabraBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F))); - public static final DeferredBlock ZOMBIE_SKULL_CANDLE = BLOCKS.register("zombie_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.ZOMBIE, BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_HEAD))); - public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = BLOCKS.register("zombie_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_WALL_HEAD))); - public static final DeferredBlock SKELETON_SKULL_CANDLE = BLOCKS.register("skeleton_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.SKELETON, BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_SKULL))); - public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = BLOCKS.register("skeleton_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_WALL_SKULL))); - public static final DeferredBlock WITHER_SKELE_SKULL_CANDLE = BLOCKS.register("wither_skeleton_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_SKULL))); - public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = BLOCKS.register("wither_skeleton_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_WALL_SKULL))); - public static final DeferredBlock CREEPER_SKULL_CANDLE = BLOCKS.register("creeper_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.CREEPER, BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_HEAD))); - public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = BLOCKS.register("creeper_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_WALL_HEAD))); - public static final DeferredBlock PLAYER_SKULL_CANDLE = BLOCKS.register("player_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.PLAYER, BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_HEAD))); - public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = BLOCKS.register("player_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_WALL_HEAD))); - public static final DeferredBlock PIGLIN_SKULL_CANDLE = BLOCKS.register("piglin_skull_candle", () -> new SkullCandleBlock(SkullBlock.Types.PIGLIN, BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_HEAD))); - public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = BLOCKS.register("piglin_wall_skull_candle", () -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_WALL_HEAD))); - public static final DeferredBlock WROUGHT_IRON_FENCE = registerWroughtFence("wrought_iron_fence", () -> new WroughtIronFenceBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(SoundType.METAL).requiresCorrectToolForDrops().noOcclusion())); - public static final DeferredBlock TERRORCOTTA_ARCS = register("terrorcotta_arcs", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F))); - public static final DeferredBlock TERRORCOTTA_CURVES = register("terrorcotta_curves", () -> new GlazedTerracottaBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F))); - public static final DeferredBlock TERRORCOTTA_LINES = register("terrorcotta_lines", () -> new BinaryRotatedBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F))); - public static final DeferredBlock ROYAL_RAGS = register("royal_rags", () -> new WoolCarpetBlock(DyeColor.RED, BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always))); + public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(50.0F, 1200.0F)); + public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); + public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); + public static final DeferredBlock ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_HEAD)); + public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = register("zombie_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_WALL_HEAD)); + public static final DeferredBlock SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_SKULL)); + public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = register("skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_WALL_SKULL)); + public static final DeferredBlock WITHER_SKELE_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_SKULL)); + public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = register("wither_skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_WALL_SKULL)); + public static final DeferredBlock CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.CREEPER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_HEAD)); + public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = register("creeper_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_WALL_HEAD)); + public static final DeferredBlock PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PLAYER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_HEAD)); + public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = register("player_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_WALL_HEAD)); + public static final DeferredBlock PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PIGLIN, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_HEAD)); + public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = register("piglin_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_WALL_HEAD)); + public static final DeferredBlock WROUGHT_IRON_FENCE = registerWroughtFence("wrought_iron_fence", WroughtIronFenceBlock::new, BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(SoundType.METAL).requiresCorrectToolForDrops().noOcclusion()); + public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock TERRORCOTTA_LINES = registerWithItem("terrorcotta_lines", BinaryRotatedBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock ROYAL_RAGS = registerWithItem("royal_rags", properties -> new WoolCarpetBlock(DyeColor.RED, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); //labyrinth - public static final DeferredBlock MAZESTONE = register("mazestone", () -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F))); - public static final DeferredBlock MAZESTONE_BRICK = register("mazestone_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock CUT_MAZESTONE = register("cut_mazestone", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock DECORATIVE_MAZESTONE = register("decorative_mazestone", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock CRACKED_MAZESTONE = register("cracked_mazestone", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock MOSSY_MAZESTONE = register("mossy_mazestone", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock MAZESTONE_MOSAIC = register("mazestone_mosaic", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock MAZESTONE_BORDER = register("mazestone_border", () -> new Block(BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get()))); - public static final DeferredBlock RED_THREAD = register("red_thread", () -> new RedThreadBlock(BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.FIRE).isValidSpawn(TFBlocks::noSpawning).noCollission().noOcclusion().noTerrainParticles().pushReaction(PushReaction.DESTROY))); + public static final DeferredBlock MAZESTONE = registerWithItem("mazestone", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F)); + public static final DeferredBlock MAZESTONE_BRICK = registerWithItem("mazestone_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock CUT_MAZESTONE = registerWithItem("cut_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock DECORATIVE_MAZESTONE = registerWithItem("decorative_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock CRACKED_MAZESTONE = registerWithItem("cracked_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MOSSY_MAZESTONE = registerWithItem("mossy_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MAZESTONE_MOSAIC = registerWithItem("mazestone_mosaic", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MAZESTONE_BORDER = registerWithItem("mazestone_border", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock RED_THREAD = registerWithItem("red_thread", RedThreadBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.FIRE).isValidSpawn(TFBlocks::noSpawning).noCollission().noOcclusion().noTerrainParticles().pushReaction(PushReaction.DESTROY)); //stronghold - public static final DeferredBlock STRONGHOLD_SHIELD = register("stronghold_shield", () -> new StrongholdShieldBlock(BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(-1.0F, 6000000.0F))); - public static final DeferredBlock TROPHY_PEDESTAL = register("trophy_pedestal", () -> new TrophyPedestalBlock(BlockBehaviour.Properties.of().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 2000.0F))); - public static final DeferredBlock UNDERBRICK = register("underbrick", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_BRICKS).strength(1.5F, 6.0F))); - public static final DeferredBlock MOSSY_UNDERBRICK = register("mossy_underbrick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get()))); - public static final DeferredBlock CRACKED_UNDERBRICK = register("cracked_underbrick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get()))); - public static final DeferredBlock UNDERBRICK_FLOOR = register("underbrick_floor", () -> new Block(BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get()))); + public static final DeferredBlock STRONGHOLD_SHIELD = registerWithItem("stronghold_shield", StrongholdShieldBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(-1.0F, 6000000.0F)); + public static final DeferredBlock TROPHY_PEDESTAL = registerWithItem("trophy_pedestal", TrophyPedestalBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 2000.0F)); + public static final DeferredBlock UNDERBRICK = registerWithItem("underbrick", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_BRICKS).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_UNDERBRICK = registerWithItem("mossy_underbrick", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); + public static final DeferredBlock CRACKED_UNDERBRICK = registerWithItem("cracked_underbrick", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); + public static final DeferredBlock UNDERBRICK_FLOOR = registerWithItem("underbrick_floor", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); //dark tower - public static final DeferredBlock TOWERWOOD = register("towerwood", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(40.0F, 6.0F).sound(SoundType.WOOD))); - public static final DeferredBlock ENCASED_TOWERWOOD = register("encased_towerwood", () -> new Block(BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).mapColor(MapColor.SAND))); - public static final DeferredBlock CRACKED_TOWERWOOD = register("cracked_towerwood", () -> new Block(BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()))); - public static final DeferredBlock MOSSY_TOWERWOOD = register("mossy_towerwood", () -> new Block(BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()))); - public static final DeferredBlock INFESTED_TOWERWOOD = register("infested_towerwood", () -> new InfestedTowerwoodBlock(BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).instrument(NoteBlockInstrument.FLUTE).noLootTable().strength(2.0F, 6.0F))); - public static final DeferredBlock REAPPEARING_BLOCK = register("reappearing_block", () -> new ReappearingBlock(BlockBehaviour.Properties.of().forceSolidOn().lightLevel((state) -> 4).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 35.0F))); - public static final DeferredBlock VANISHING_BLOCK = register("vanishing_block", () -> new VanishingBlock(BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(VanishingBlock.ACTIVE) ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(10.0F, 35.0F))); - public static final DeferredBlock UNBREAKABLE_VANISHING_BLOCK = BLOCKS.register("unbreakable_vanishing_block", () -> new VanishingBlock(BlockBehaviour.Properties.ofFullCopy(VANISHING_BLOCK.get()).noLootTable().strength(-1.0F, 6000000.0F))); - public static final DeferredBlock LOCKED_VANISHING_BLOCK = register("locked_vanishing_block", () -> new LockedVanishingBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).sound(SoundType.WOOD).strength(-1.0F, 2000.0F))); - public static final DeferredBlock CARMINITE_BUILDER = register("carminite_builder", () -> new BuilderBlock(BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(BuilderBlock.STATE) == TowerDeviceVariant.BUILDER_ACTIVE ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F))); - public static final DeferredBlock BUILT_BLOCK = BLOCKS.register("built_block", () -> new TranslucentBuiltBlock(BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F))); - public static final DeferredBlock ANTIBUILDER = register("antibuilder", () -> new AntibuilderBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 10).noLootTable().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F))); - public static final DeferredBlock ANTIBUILT_BLOCK = BLOCKS.register("antibuilt_block", () -> new Block(BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(0.3F, 2000.0F))); - public static final DeferredBlock GHAST_TRAP = register("ghast_trap", () -> new GhastTrapBlock(BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(GhastTrapBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F))); - public static final DeferredBlock CARMINITE_REACTOR = register("carminite_reactor", () -> new CarminiteReactorBlock(BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(CarminiteReactorBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F))); - public static final DeferredBlock REACTOR_DEBRIS = BLOCKS.register("reactor_debris", () -> new ReactorDebrisBlock(BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.ANCIENT_DEBRIS).strength(0.3F, 2000.0F))); - public static final DeferredBlock FAKE_GOLD = BLOCKS.register("fake_gold", () -> new Block(BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F))); - public static final DeferredBlock FAKE_DIAMOND = BLOCKS.register("fake_diamond", () -> new Block(BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F))); - public static final DeferredBlock EXPERIMENT_115 = BLOCKS.register("experiment_115", () -> new Experiment115Block(BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.WOOL).strength(0.5F))); + public static final DeferredBlock TOWERWOOD = registerWithItem("towerwood", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(40.0F, 6.0F).sound(SoundType.WOOD)); + public static final DeferredBlock ENCASED_TOWERWOOD = registerWithItem("encased_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).mapColor(MapColor.SAND)); + public static final DeferredBlock CRACKED_TOWERWOOD = registerWithItem("cracked_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); + public static final DeferredBlock MOSSY_TOWERWOOD = registerWithItem("mossy_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); + public static final DeferredBlock INFESTED_TOWERWOOD = registerWithItem("infested_towerwood", InfestedTowerwoodBlock::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).instrument(NoteBlockInstrument.FLUTE).noLootTable().strength(2.0F, 6.0F)); + public static final DeferredBlock REAPPEARING_BLOCK = registerWithItem("reappearing_block", ReappearingBlock::new, BlockBehaviour.Properties.of().forceSolidOn().lightLevel((state) -> 4).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 35.0F)); + public static final DeferredBlock VANISHING_BLOCK = registerWithItem("vanishing_block", VanishingBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(VanishingBlock.ACTIVE) ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(10.0F, 35.0F)); + public static final DeferredBlock UNBREAKABLE_VANISHING_BLOCK = register("unbreakable_vanishing_block", VanishingBlock::new, BlockBehaviour.Properties.ofFullCopy(VANISHING_BLOCK.get()).noLootTable().strength(-1.0F, 6000000.0F)); + public static final DeferredBlock LOCKED_VANISHING_BLOCK = registerWithItem("locked_vanishing_block", LockedVanishingBlock::new, BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).sound(SoundType.WOOD).strength(-1.0F, 2000.0F)); + public static final DeferredBlock CARMINITE_BUILDER = registerWithItem("carminite_builder", BuilderBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(BuilderBlock.STATE) == TowerDeviceVariant.BUILDER_ACTIVE ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock BUILT_BLOCK = register("built_block", TranslucentBuiltBlock::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock ANTIBUILDER = registerWithItem("antibuilder", AntibuilderBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 10).noLootTable().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock ANTIBUILT_BLOCK = register("antibuilt_block", Block::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(0.3F, 2000.0F)); + public static final DeferredBlock GHAST_TRAP = registerWithItem("ghast_trap", GhastTrapBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(GhastTrapBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock CARMINITE_REACTOR = registerWithItem("carminite_reactor", CarminiteReactorBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(CarminiteReactorBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock REACTOR_DEBRIS = register("reactor_debris", ReactorDebrisBlock::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.ANCIENT_DEBRIS).strength(0.3F, 2000.0F)); + public static final DeferredBlock FAKE_GOLD = register("fake_gold", Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); + public static final DeferredBlock FAKE_DIAMOND = register("fake_diamond", Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); + public static final DeferredBlock EXPERIMENT_115 = register("experiment_115", Experiment115Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.WOOL).strength(0.5F)); //aurora palace - public static final DeferredBlock AURORA_BLOCK = register("aurora_block", () -> new AuroraBrickBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).strength(10.0F, 6.0F))); - public static final DeferredBlock AURORA_PILLAR = register("aurora_pillar", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F))); - public static final DeferredBlock AURORA_SLAB = register("aurora_slab", () -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F))); - public static final DeferredBlock AURORALIZED_GLASS = register("auroralized_glass", () -> new AuroralizedGlassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS))); + public static final DeferredBlock AURORA_BLOCK = registerWithItem("aurora_block", AuroraBrickBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).strength(10.0F, 6.0F)); + public static final DeferredBlock AURORA_PILLAR = registerWithItem("aurora_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); + public static final DeferredBlock AURORA_SLAB = registerWithItem("aurora_slab", SlabBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); + public static final DeferredBlock AURORALIZED_GLASS = registerWithItem("auroralized_glass", AuroralizedGlassBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS)); //highlands/thornlands - public static final DeferredBlock BROWN_THORNS = register("brown_thorns", () -> new ThornsBlock(BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PODZOL).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F))); - public static final DeferredBlock GREEN_THORNS = register("green_thorns", () -> new ThornsBlock(BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PLANT).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F))); - public static final DeferredBlock BURNT_THORNS = register("burnt_thorns", () -> new BurntThornsBlock(BlockBehaviour.Properties.of().instabreak().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.DESTROY).sound(SoundType.SAND))); - public static final DeferredBlock THORN_ROSE = register("thorn_rose", () -> new ThornRoseBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(10.0F, 0.0F))); - public static final DeferredBlock THORN_LEAVES = register("thorn_leaves", () -> new SpecialStemLeavesBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false), state -> state.is(TFBlocks.BROWN_THORNS) || state.is(TFBlocks.GREEN_THORNS))); - public static final DeferredBlock BEANSTALK_LEAVES = register("beanstalk_leaves", () -> new SpecialStemLeavesBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false), state -> state.is(TFBlocks.HUGE_STALK))); - public static final DeferredBlock DEADROCK = register("deadrock", () -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 6000000.0F))); - public static final DeferredBlock CRACKED_DEADROCK = register("cracked_deadrock", () -> new Block(BlockBehaviour.Properties.ofFullCopy(DEADROCK.get()))); - public static final DeferredBlock WEATHERED_DEADROCK = register("weathered_deadrock", () -> new Block(BlockBehaviour.Properties.ofFullCopy(DEADROCK.get()))); - public static final DeferredBlock TROLLSTEINN = register("trollsteinn", () -> new TrollsteinnBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).randomTicks().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 6.0F))); - - public static final DeferredBlock WISPY_CLOUD = register("wispy_cloud", () -> new WispyCloudBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.SNOW).noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.WOOL).strength(0.3F, 0.0F).forceSolidOff(), Biome.Precipitation.NONE)); - public static final DeferredBlock FLUFFY_CLOUD = register("fluffy_cloud", () -> new CloudBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks(), null)); - public static final DeferredBlock RAINY_CLOUD = register("rainy_cloud", () -> new CloudBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks(), Biome.Precipitation.RAIN)); - public static final DeferredBlock SNOWY_CLOUD = register("snowy_cloud", () -> new CloudBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks(), Biome.Precipitation.SNOW)); - - public static final DeferredBlock GIANT_COBBLESTONE = register("giant_cobblestone", () -> new GiantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COBBLESTONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 50.0F))); - public static final DeferredBlock GIANT_LOG = register("giant_log", () -> new GiantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 30.0F))); - public static final DeferredBlock GIANT_LEAVES = register("giant_leaves", () -> new GiantLeavesBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LEAVES).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.AZALEA_LEAVES).strength(0.2F * 64.0F, 15.0F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock GIANT_OBSIDIAN = register("giant_obsidian", () -> new GiantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(50.0F * 64.0F * 64.0F, 2000.0F * 64.0F * 64.0F).isValidSpawn(TFBlocks::noSpawning))); - public static final DeferredBlock UBEROUS_SOIL = register("uberous_soil", () -> new UberousSoilBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).sound(SoundType.GRAVEL).strength(0.6F))); - public static final DeferredBlock HUGE_STALK = register("huge_stalk", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PLANT).sound(SoundType.STEM).strength(1.5F, 3.0F))); - public static final DeferredBlock BEANSTALK_GROWER = BLOCKS.register("beanstalk_grower", () -> new GrowingBeanstalkBlock(BlockBehaviour.Properties.of().noCollission().noLootTable().noOcclusion().noTerrainParticles().strength(-1.0F, 6000000.0F))); - public static final DeferredBlock HUGE_MUSHGLOOM = register("huge_mushgloom", () -> new HugeMushroomBlock(BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.SHROOMLIGHT).strength(0.2F))); - public static final DeferredBlock HUGE_MUSHGLOOM_STEM = register("huge_mushgloom_stem", () -> new HugeMushroomBlock(BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.NYLIUM).strength(0.2F))); - public static final DeferredBlock TROLLVIDR = register("trollvidr", () -> new TrollRootBlock(BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA))); - public static final DeferredBlock UNRIPE_TROLLBER = register("unripe_trollber", () -> new UnripeTorchClusterBlock(BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.FLOWERING_AZALEA))); - public static final DeferredBlock TROLLBER = register("trollber", () -> new TrollRootBlock(BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA))); + public static final DeferredBlock BROWN_THORNS = registerWithItem("brown_thorns", ThornsBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PODZOL).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock GREEN_THORNS = registerWithItem("green_thorns", ThornsBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PLANT).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock BURNT_THORNS = registerWithItem("burnt_thorns", BurntThornsBlock::new, BlockBehaviour.Properties.of().instabreak().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.DESTROY).sound(SoundType.SAND)); + public static final DeferredBlock THORN_ROSE = registerWithItem("thorn_rose", ThornRoseBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(10.0F, 0.0F)); + public static final DeferredBlock THORN_LEAVES = registerWithItem("thorn_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.BROWN_THORNS) || state.is(TFBlocks.GREEN_THORNS), properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock BEANSTALK_LEAVES = registerWithItem("beanstalk_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.HUGE_STALK), properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock DEADROCK = registerWithItem("deadrock", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 6000000.0F)); + public static final DeferredBlock CRACKED_DEADROCK = registerWithItem("cracked_deadrock", Block::new, BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); + public static final DeferredBlock WEATHERED_DEADROCK = registerWithItem("weathered_deadrock", Block::new, BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); + public static final DeferredBlock TROLLSTEINN = registerWithItem("trollsteinn", TrollsteinnBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).randomTicks().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 6.0F)); + + public static final DeferredBlock WISPY_CLOUD = registerWithItem("wispy_cloud", properties -> new WispyCloudBlock(Biome.Precipitation.NONE, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.SNOW).noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.WOOL).strength(0.3F, 0.0F).forceSolidOff()); + public static final DeferredBlock FLUFFY_CLOUD = registerWithItem("fluffy_cloud", properties -> new CloudBlock(null, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + public static final DeferredBlock RAINY_CLOUD = registerWithItem("rainy_cloud", properties -> new CloudBlock(Biome.Precipitation.RAIN, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + public static final DeferredBlock SNOWY_CLOUD = registerWithItem("snowy_cloud", properties -> new CloudBlock(Biome.Precipitation.SNOW, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + + public static final DeferredBlock GIANT_COBBLESTONE = registerWithItem("giant_cobblestone", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.COBBLESTONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 50.0F)); + public static final DeferredBlock GIANT_LOG = registerWithItem("giant_log", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 30.0F)); + public static final DeferredBlock GIANT_LEAVES = registerWithItem("giant_leaves", GiantLeavesBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LEAVES).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.AZALEA_LEAVES).strength(0.2F * 64.0F, 15.0F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock GIANT_OBSIDIAN = registerWithItem("giant_obsidian", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(50.0F * 64.0F * 64.0F, 2000.0F * 64.0F * 64.0F).isValidSpawn(TFBlocks::noSpawning)); + public static final DeferredBlock UBEROUS_SOIL = registerWithItem("uberous_soil", UberousSoilBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).sound(SoundType.GRAVEL).strength(0.6F)); + public static final DeferredBlock HUGE_STALK = registerWithItem("huge_stalk", RotatedPillarBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PLANT).sound(SoundType.STEM).strength(1.5F, 3.0F)); + public static final DeferredBlock BEANSTALK_GROWER = register("beanstalk_grower", GrowingBeanstalkBlock::new, BlockBehaviour.Properties.of().noCollission().noLootTable().noOcclusion().noTerrainParticles().strength(-1.0F, 6000000.0F)); + public static final DeferredBlock HUGE_MUSHGLOOM = registerWithItem("huge_mushgloom", HugeMushroomBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.SHROOMLIGHT).strength(0.2F)); + public static final DeferredBlock HUGE_MUSHGLOOM_STEM = registerWithItem("huge_mushgloom_stem", HugeMushroomBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.NYLIUM).strength(0.2F)); + public static final DeferredBlock TROLLVIDR = registerWithItem("trollvidr", TrollRootBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); + public static final DeferredBlock UNRIPE_TROLLBER = registerWithItem("unripe_trollber", UnripeTorchClusterBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.FLOWERING_AZALEA)); + public static final DeferredBlock TROLLBER = registerWithItem("trollber", TrollRootBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); //plateau castle - public static final DeferredBlock CASTLE_BRICK = register("castle_brick", () -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 50.0F))); - public static final DeferredBlock WORN_CASTLE_BRICK = register("worn_castle_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock CRACKED_CASTLE_BRICK = register("cracked_castle_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock CASTLE_ROOF_TILE = register("castle_roof_tile", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(MapColor.COLOR_GRAY))); - public static final DeferredBlock MOSSY_CASTLE_BRICK = register("mossy_castle_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock THICK_CASTLE_BRICK = register("thick_castle_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock ENCASED_CASTLE_BRICK_PILLAR = register("encased_castle_brick_pillar", () -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock ENCASED_CASTLE_BRICK_TILE = register("encased_castle_brick_tile", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock BOLD_CASTLE_BRICK_PILLAR = register("bold_castle_brick_pillar", () -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock BOLD_CASTLE_BRICK_TILE = register("bold_castle_brick_tile", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock CASTLE_BRICK_STAIRS = register("castle_brick_stairs", () -> new StairBlock(CASTLE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()))); - public static final DeferredBlock WORN_CASTLE_BRICK_STAIRS = register("worn_castle_brick_stairs", () -> new StairBlock(WORN_CASTLE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(WORN_CASTLE_BRICK.get()))); - public static final DeferredBlock CRACKED_CASTLE_BRICK_STAIRS = register("cracked_castle_brick_stairs", () -> new StairBlock(CRACKED_CASTLE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CRACKED_CASTLE_BRICK.get()))); - public static final DeferredBlock MOSSY_CASTLE_BRICK_STAIRS = register("mossy_castle_brick_stairs", () -> new StairBlock(MOSSY_CASTLE_BRICK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MOSSY_CASTLE_BRICK.get()))); - public static final DeferredBlock ENCASED_CASTLE_BRICK_STAIRS = register("encased_castle_brick_stairs", () -> new StairBlock(ENCASED_CASTLE_BRICK_PILLAR.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ENCASED_CASTLE_BRICK_PILLAR.get()))); - public static final DeferredBlock BOLD_CASTLE_BRICK_STAIRS = register("bold_castle_brick_stairs", () -> new StairBlock(BOLD_CASTLE_BRICK_PILLAR.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BOLD_CASTLE_BRICK_PILLAR.get()))); - public static final DeferredBlock PINK_CASTLE_RUNE_BRICK = register("pink_castle_rune_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.MAGENTA))); - public static final DeferredBlock BLUE_CASTLE_RUNE_BRICK = register("blue_castle_rune_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.LIGHT_BLUE))); - public static final DeferredBlock YELLOW_CASTLE_RUNE_BRICK = register("yellow_castle_rune_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.YELLOW))); - public static final DeferredBlock VIOLET_CASTLE_RUNE_BRICK = register("violet_castle_rune_brick", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.PURPLE))); - public static final DeferredBlock VIOLET_FORCE_FIELD = register("violet_force_field", () -> new ForceFieldBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.PURPLE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F))); - public static final DeferredBlock PINK_FORCE_FIELD = register("pink_force_field", () -> new ForceFieldBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.MAGENTA).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F))); - public static final DeferredBlock ORANGE_FORCE_FIELD = register("orange_force_field", () -> new ForceFieldBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.ORANGE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F))); - public static final DeferredBlock GREEN_FORCE_FIELD = register("green_force_field", () -> new ForceFieldBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.GREEN).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F))); - public static final DeferredBlock BLUE_FORCE_FIELD = register("blue_force_field", () -> new ForceFieldBlock(BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.LIGHT_BLUE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F))); - public static final DeferredBlock CINDER_FURNACE = register("cinder_furnace", () -> new CinderFurnaceBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().strength(7.0F).lightLevel((state) -> 15))); - public static final DeferredBlock CINDER_LOG = register("cinder_log", () -> new RotatedPillarBlock(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F))); - public static final DeferredBlock CINDER_WOOD = register("cinder_wood", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F))); - public static final DeferredBlock YELLOW_CASTLE_DOOR = register("yellow_castle_door", () -> new CastleDoorBlock(BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.YELLOW.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F))); - public static final DeferredBlock VIOLET_CASTLE_DOOR = register("violet_castle_door", () -> new CastleDoorBlock(BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.LIGHT_BLUE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F))); - public static final DeferredBlock PINK_CASTLE_DOOR = register("pink_castle_door", () -> new CastleDoorBlock(BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.MAGENTA.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F))); - public static final DeferredBlock BLUE_CASTLE_DOOR = register("blue_castle_door", () -> new CastleDoorBlock(BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.PURPLE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F))); + public static final DeferredBlock CASTLE_BRICK = registerWithItem("castle_brick", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 50.0F)); + public static final DeferredBlock WORN_CASTLE_BRICK = registerWithItem("worn_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CRACKED_CASTLE_BRICK = registerWithItem("cracked_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CASTLE_ROOF_TILE = registerWithItem("castle_roof_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(MapColor.COLOR_GRAY)); + public static final DeferredBlock MOSSY_CASTLE_BRICK = registerWithItem("mossy_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock THICK_CASTLE_BRICK = registerWithItem("thick_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_PILLAR = registerWithItem("encased_castle_brick_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_TILE = registerWithItem("encased_castle_brick_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_PILLAR = registerWithItem("bold_castle_brick_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_TILE = registerWithItem("bold_castle_brick_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CASTLE_BRICK_STAIRS = registerWithItem("castle_brick_stairs", properties -> new StairBlock(CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock WORN_CASTLE_BRICK_STAIRS = registerWithItem("worn_castle_brick_stairs", properties -> new StairBlock(WORN_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(WORN_CASTLE_BRICK.get())); + public static final DeferredBlock CRACKED_CASTLE_BRICK_STAIRS = registerWithItem("cracked_castle_brick_stairs", properties -> new StairBlock(CRACKED_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_CASTLE_BRICK.get())); + public static final DeferredBlock MOSSY_CASTLE_BRICK_STAIRS = registerWithItem("mossy_castle_brick_stairs", properties -> new StairBlock(MOSSY_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_STAIRS = registerWithItem("encased_castle_brick_stairs", properties -> new StairBlock(ENCASED_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ENCASED_CASTLE_BRICK_PILLAR.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_STAIRS = registerWithItem("bold_castle_brick_stairs", properties -> new StairBlock(BOLD_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(BOLD_CASTLE_BRICK_PILLAR.get())); + public static final DeferredBlock PINK_CASTLE_RUNE_BRICK = registerWithItem("pink_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.MAGENTA)); + public static final DeferredBlock BLUE_CASTLE_RUNE_BRICK = registerWithItem("blue_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.LIGHT_BLUE)); + public static final DeferredBlock YELLOW_CASTLE_RUNE_BRICK = registerWithItem("yellow_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.YELLOW)); + public static final DeferredBlock VIOLET_CASTLE_RUNE_BRICK = registerWithItem("violet_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.PURPLE)); + public static final DeferredBlock VIOLET_FORCE_FIELD = registerWithItem("violet_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.PURPLE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock PINK_FORCE_FIELD = registerWithItem("pink_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.MAGENTA).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock ORANGE_FORCE_FIELD = registerWithItem("orange_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.ORANGE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock GREEN_FORCE_FIELD = registerWithItem("green_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.GREEN).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock BLUE_FORCE_FIELD = registerWithItem("blue_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.LIGHT_BLUE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock CINDER_FURNACE = registerWithItem("cinder_furnace", CinderFurnaceBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().strength(7.0F).lightLevel((state) -> 15)); + public static final DeferredBlock CINDER_LOG = registerWithItem("cinder_log", RotatedPillarBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); + public static final DeferredBlock CINDER_WOOD = registerWithItem("cinder_wood", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); + public static final DeferredBlock YELLOW_CASTLE_DOOR = registerWithItem("yellow_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.YELLOW.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock VIOLET_CASTLE_DOOR = registerWithItem("violet_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.LIGHT_BLUE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock PINK_CASTLE_DOOR = registerWithItem("pink_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.MAGENTA.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock BLUE_CASTLE_DOOR = registerWithItem("blue_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.PURPLE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); //mini structures - public static final DeferredBlock TWILIGHT_PORTAL_MINIATURE_STRUCTURE = register("twilight_portal_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.of().noCollission().noOcclusion().requiresCorrectToolForDrops().strength(0.75F))); - // public static final DeferredBlock HEDGE_MAZE_MINIATURE_STRUCTURE = register("hedge_maze_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock HOLLOW_HILL_MINIATURE_STRUCTURE = register("hollow_hill_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock QUEST_GROVE_MINIATURE_STRUCTURE = register("quest_grove_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock MUSHROOM_TOWER_MINIATURE_STRUCTURE = register("mushroom_tower_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); - public static final DeferredBlock NAGA_COURTYARD_MINIATURE_STRUCTURE = register("naga_courtyard_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); - public static final DeferredBlock LICH_TOWER_MINIATURE_STRUCTURE = register("lich_tower_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE = register("minotaur_labyrinth_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock HYDRA_LAIR_MINIATURE_STRUCTURE = register("hydra_lair_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE = register("goblin_stronghold_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock DARK_TOWER_MINIATURE_STRUCTURE = register("dark_tower_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock YETI_CAVE_MINIATURE_STRUCTURE = register("yeti_cave_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock AURORA_PALACE_MINIATURE_STRUCTURE = register("aurora_palace_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE = register("troll_cave_cottage_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); -// public static final DeferredBlock FINAL_CASTLE_MINIATURE_STRUCTURE = register("final_castle_miniature_structure", () -> new MiniatureStructureBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get()))); + public static final DeferredBlock TWILIGHT_PORTAL_MINIATURE_STRUCTURE = registerWithItem("twilight_portal_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.of().noCollission().noOcclusion().requiresCorrectToolForDrops().strength(0.75F)); + // public static final DeferredBlock HEDGE_MAZE_MINIATURE_STRUCTURE = register("hedge_maze_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock HOLLOW_HILL_MINIATURE_STRUCTURE = register("hollow_hill_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock QUEST_GROVE_MINIATURE_STRUCTURE = register("quest_grove_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock MUSHROOM_TOWER_MINIATURE_STRUCTURE = register("mushroom_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); + public static final DeferredBlock NAGA_COURTYARD_MINIATURE_STRUCTURE = registerWithItem("naga_courtyard_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); + public static final DeferredBlock LICH_TOWER_MINIATURE_STRUCTURE = registerWithItem("lich_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE = register("minotaur_labyrinth_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock HYDRA_LAIR_MINIATURE_STRUCTURE = register("hydra_lair_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE = register("goblin_stronghold_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock DARK_TOWER_MINIATURE_STRUCTURE = register("dark_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock YETI_CAVE_MINIATURE_STRUCTURE = register("yeti_cave_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock AURORA_PALACE_MINIATURE_STRUCTURE = register("aurora_palace_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE = register("troll_cave_cottage_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock FINAL_CASTLE_MINIATURE_STRUCTURE = register("final_castle_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); //storage blocks - public static final DeferredBlock KNIGHTMETAL_BLOCK = register("knightmetal_block", () -> new KnightmetalBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 40.0F))); - public static final DeferredBlock IRONWOOD_BLOCK = register("ironwood_block", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(5.0F, 6.0F))); - public static final DeferredBlock FIERY_BLOCK = registerFireResistantItem("fiery_block", () -> new FieryBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F).emissiveRendering((state, world, pos) -> true))); - public static final DeferredBlock STEELEAF_BLOCK = register("steeleaf_block", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.MOSS).strength(5.0F, 6.0F))); - public static final DeferredBlock ARCTIC_FUR_BLOCK = register("arctic_fur_block", () -> new ArcticFurBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOL).sound(SoundType.WOOL).strength(0.8F))); - public static final DeferredBlock CARMINITE_BLOCK = register("carminite_block", () -> new Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(1.5F, 10.0F).requiresCorrectToolForDrops().sound(SoundType.METAL))); + public static final DeferredBlock KNIGHTMETAL_BLOCK = registerWithItem("knightmetal_block", KnightmetalBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 40.0F)); + public static final DeferredBlock IRONWOOD_BLOCK = registerWithItem("ironwood_block", Block::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(5.0F, 6.0F)); + public static final DeferredBlock FIERY_BLOCK = registerFireResistantItem("fiery_block", FieryBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F).emissiveRendering((state, world, pos) -> true)); + public static final DeferredBlock STEELEAF_BLOCK = registerWithItem("steeleaf_block", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.MOSS).strength(5.0F, 6.0F)); + public static final DeferredBlock ARCTIC_FUR_BLOCK = registerWithItem("arctic_fur_block", ArcticFurBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOL).sound(SoundType.WOOL).strength(0.8F)); + public static final DeferredBlock CARMINITE_BLOCK = registerWithItem("carminite_block", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(1.5F, 10.0F).requiresCorrectToolForDrops().sound(SoundType.METAL)); //boss trophies and spawners - public static final DeferredBlock NAGA_BOSS_SPAWNER = register("naga_boss_spawner", () -> new BossSpawnerBlock(BossVariant.NAGA, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock LICH_BOSS_SPAWNER = register("lich_boss_spawner", () -> new BossSpawnerBlock(BossVariant.LICH, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock HYDRA_BOSS_SPAWNER = register("hydra_boss_spawner", () -> new BossSpawnerBlock(BossVariant.HYDRA, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock UR_GHAST_BOSS_SPAWNER = register("ur_ghast_boss_spawner", () -> new BossSpawnerBlock(BossVariant.UR_GHAST, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock KNIGHT_PHANTOM_BOSS_SPAWNER = register("knight_phantom_boss_spawner", () -> new BossSpawnerBlock(BossVariant.KNIGHT_PHANTOM, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock SNOW_QUEEN_BOSS_SPAWNER = register("snow_queen_boss_spawner", () -> new BossSpawnerBlock(BossVariant.SNOW_QUEEN, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock MINOSHROOM_BOSS_SPAWNER = register("minoshroom_boss_spawner", () -> new BossSpawnerBlock(BossVariant.MINOSHROOM, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock ALPHA_YETI_BOSS_SPAWNER = register("alpha_yeti_boss_spawner", () -> new BossSpawnerBlock(BossVariant.ALPHA_YETI, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock FINAL_BOSS_BOSS_SPAWNER = register("final_boss_boss_spawner", () -> new BossSpawnerBlock(BossVariant.FINAL_BOSS, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F))); - public static final DeferredBlock NAGA_TROPHY = BLOCKS.register("naga_trophy", () -> new TrophyBlock(BossVariant.NAGA, 5, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock LICH_TROPHY = BLOCKS.register("lich_trophy", () -> new TrophyBlock(BossVariant.LICH, 6, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock HYDRA_TROPHY = BLOCKS.register("hydra_trophy", () -> new TrophyBlock(BossVariant.HYDRA, 12, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock UR_GHAST_TROPHY = BLOCKS.register("ur_ghast_trophy", () -> new TrophyBlock(BossVariant.UR_GHAST, 13, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock KNIGHT_PHANTOM_TROPHY = BLOCKS.register("knight_phantom_trophy", () -> new TrophyBlock(BossVariant.KNIGHT_PHANTOM, 8, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock SNOW_QUEEN_TROPHY = BLOCKS.register("snow_queen_trophy", () -> new TrophyBlock(BossVariant.SNOW_QUEEN, 14, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock MINOSHROOM_TROPHY = BLOCKS.register("minoshroom_trophy", () -> new TrophyBlock(BossVariant.MINOSHROOM, 7, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock ALPHA_YETI_TROPHY = BLOCKS.register("alpha_yeti_trophy", () -> new TrophyBlock(BossVariant.ALPHA_YETI, 9, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock QUEST_RAM_TROPHY = BLOCKS.register("quest_ram_trophy", () -> new TrophyBlock(BossVariant.QUEST_RAM, 1, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock NAGA_WALL_TROPHY = BLOCKS.register("naga_wall_trophy", () -> new TrophyWallBlock(BossVariant.NAGA, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock LICH_WALL_TROPHY = BLOCKS.register("lich_wall_trophy", () -> new TrophyWallBlock(BossVariant.LICH, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock HYDRA_WALL_TROPHY = BLOCKS.register("hydra_wall_trophy", () -> new TrophyWallBlock(BossVariant.HYDRA, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock UR_GHAST_WALL_TROPHY = BLOCKS.register("ur_ghast_wall_trophy", () -> new TrophyWallBlock(BossVariant.UR_GHAST, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = BLOCKS.register("knight_phantom_wall_trophy", () -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = BLOCKS.register("snow_queen_wall_trophy", () -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock MINOSHROOM_WALL_TROPHY = BLOCKS.register("minoshroom_wall_trophy", () -> new TrophyWallBlock(BossVariant.MINOSHROOM, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = BLOCKS.register("alpha_yeti_wall_trophy", () -> new TrophyWallBlock(BossVariant.ALPHA_YETI, BlockBehaviour.Properties.of().instabreak())); - public static final DeferredBlock QUEST_RAM_WALL_TROPHY = BLOCKS.register("quest_ram_wall_trophy", () -> new TrophyWallBlock(BossVariant.QUEST_RAM, BlockBehaviour.Properties.of().instabreak())); + public static final DeferredBlock NAGA_BOSS_SPAWNER = registerWithItem("naga_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.NAGA, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock LICH_BOSS_SPAWNER = registerWithItem("lich_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.LICH, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock HYDRA_BOSS_SPAWNER = registerWithItem("hydra_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.HYDRA, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock UR_GHAST_BOSS_SPAWNER = registerWithItem("ur_ghast_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.UR_GHAST, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock KNIGHT_PHANTOM_BOSS_SPAWNER = registerWithItem("knight_phantom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.KNIGHT_PHANTOM, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock SNOW_QUEEN_BOSS_SPAWNER = registerWithItem("snow_queen_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.SNOW_QUEEN, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock MINOSHROOM_BOSS_SPAWNER = registerWithItem("minoshroom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.MINOSHROOM, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock ALPHA_YETI_BOSS_SPAWNER = registerWithItem("alpha_yeti_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.ALPHA_YETI, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock FINAL_BOSS_BOSS_SPAWNER = registerWithItem("final_boss_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.FINAL_BOSS, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock NAGA_TROPHY = register("naga_trophy", properties -> new TrophyBlock(BossVariant.NAGA, 5, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock LICH_TROPHY = register("lich_trophy", properties -> new TrophyBlock(BossVariant.LICH, 6, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyBlock(BossVariant.HYDRA, 12, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyBlock(BossVariant.UR_GHAST, 13, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyBlock(BossVariant.KNIGHT_PHANTOM, 8, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyBlock(BossVariant.SNOW_QUEEN, 14, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyBlock(BossVariant.MINOSHROOM, 7, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyBlock(BossVariant.ALPHA_YETI, 9, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyBlock(BossVariant.QUEST_RAM, 1, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock NAGA_WALL_TROPHY = register("naga_wall_trophy", properties -> new TrophyWallBlock(BossVariant.NAGA, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock LICH_WALL_TROPHY = register("lich_wall_trophy", properties -> new TrophyWallBlock(BossVariant.LICH, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock HYDRA_WALL_TROPHY = register("hydra_wall_trophy", properties -> new TrophyWallBlock(BossVariant.HYDRA, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock UR_GHAST_WALL_TROPHY = register("ur_ghast_wall_trophy", properties -> new TrophyWallBlock(BossVariant.UR_GHAST, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = register("knight_phantom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = register("snow_queen_wall_trophy", properties -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock MINOSHROOM_WALL_TROPHY = register("minoshroom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.MINOSHROOM, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = register("alpha_yeti_wall_trophy", properties -> new TrophyWallBlock(BossVariant.ALPHA_YETI, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock QUEST_RAM_WALL_TROPHY = register("quest_ram_wall_trophy", properties -> new TrophyWallBlock(BossVariant.QUEST_RAM, properties), BlockBehaviour.Properties.of().instabreak()); // TODO Enumify all of the dang tree stuff //all tree related stuff - public static final DeferredBlock OAK_BANISTER = register("oak_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final DeferredBlock SPRUCE_BANISTER = register("spruce_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS))); - public static final DeferredBlock BIRCH_BANISTER = register("birch_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS))); - public static final DeferredBlock JUNGLE_BANISTER = register("jungle_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS))); - public static final DeferredBlock ACACIA_BANISTER = register("acacia_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS))); - public static final DeferredBlock DARK_OAK_BANISTER = register("dark_oak_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS))); - public static final DeferredBlock CRIMSON_BANISTER = register("crimson_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS))); - public static final DeferredBlock WARPED_BANISTER = register("warped_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS))); - public static final DeferredBlock VANGROVE_BANISTER = register("vangrove_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS))); - public static final DeferredBlock BAMBOO_BANISTER = register("bamboo_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS))); - public static final DeferredBlock CHERRY_BANISTER = register("cherry_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS))); + public static final DeferredBlock OAK_BANISTER = registerWithItem("oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS)); + public static final DeferredBlock SPRUCE_BANISTER = registerWithItem("spruce_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS)); + public static final DeferredBlock BIRCH_BANISTER = registerWithItem("birch_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS)); + public static final DeferredBlock JUNGLE_BANISTER = registerWithItem("jungle_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS)); + public static final DeferredBlock ACACIA_BANISTER = registerWithItem("acacia_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS)); + public static final DeferredBlock DARK_OAK_BANISTER = registerWithItem("dark_oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS)); + public static final DeferredBlock CRIMSON_BANISTER = registerWithItem("crimson_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS)); + public static final DeferredBlock WARPED_BANISTER = registerWithItem("warped_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS)); + public static final DeferredBlock VANGROVE_BANISTER = registerWithItem("vangrove_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS)); + public static final DeferredBlock BAMBOO_BANISTER = registerWithItem("bamboo_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS)); + public static final DeferredBlock CHERRY_BANISTER = registerWithItem("cherry_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS)); public static final BlockBehaviour.Properties TWILIGHT_OAK_LOG_PROPS = logProperties(MapColor.WOOD, MapColor.PODZOL).strength(2.0F).sound(SoundType.WOOD); public static final BlockBehaviour.Properties CANOPY_LOG_PROPS = logProperties(MapColor.PODZOL, MapColor.COLOR_BROWN).strength(2.0F).sound(SoundType.WOOD); @@ -311,314 +313,317 @@ public class TFBlocks { public static final BlockBehaviour.Properties MINING_STRIPPED_PROPS = logProperties(MapColor.SAND).strength(2.0F).sound(SoundType.WOOD); public static final BlockBehaviour.Properties SORTING_STRIPPED_PROPS = logProperties(MapColor.PODZOL).strength(2.0F).sound(SoundType.WOOD); - public static final DeferredBlock TWILIGHT_OAK_LOG = register("twilight_oak_log", () -> new RotatedPillarBlock(TWILIGHT_OAK_LOG_PROPS)); - public static final DeferredBlock CANOPY_LOG = register("canopy_log", () -> new RotatedPillarBlock(CANOPY_LOG_PROPS)); - public static final DeferredBlock MANGROVE_LOG = register("mangrove_log", () -> new RotatedPillarBlock(MANGROVE_LOG_PROPS)); - public static final DeferredBlock DARK_LOG = register("dark_log", () -> new RotatedPillarBlock(DARK_LOG_PROPS)); - public static final DeferredBlock TIME_LOG = register("time_log", () -> new RotatedPillarBlock(TIME_LOG_PROPS)); - public static final DeferredBlock TRANSFORMATION_LOG = register("transformation_log", () -> new RotatedPillarBlock(TRANSFORMATION_LOG_PROPS)); - public static final DeferredBlock MINING_LOG = register("mining_log", () -> new RotatedPillarBlock(MINING_LOG_PROPS)); - public static final DeferredBlock SORTING_LOG = register("sorting_log", () -> new RotatedPillarBlock(SORTING_LOG_PROPS)); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = BLOCKS.register("hollow_twilight_oak_log_horizontal", () -> new HorizontalHollowLogBlock(TWILIGHT_OAK_BARK_PROPS)); - public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = BLOCKS.register("hollow_canopy_log_horizontal", () -> new HorizontalHollowLogBlock(CANOPY_BARK_PROPS)); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = BLOCKS.register("hollow_mangrove_log_horizontal", () -> new HorizontalHollowLogBlock(MANGROVE_BARK_PROPS)); - public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = BLOCKS.register("hollow_dark_log_horizontal", () -> new HorizontalHollowLogBlock(DARK_BARK_PROPS)); - public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = BLOCKS.register("hollow_time_log_horizontal", () -> new HorizontalHollowLogBlock(TIME_BARK_PROPS)); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = BLOCKS.register("hollow_transformation_log_horizontal", () -> new HorizontalHollowLogBlock(TRANSFORMATION_BARK_PROPS)); - public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = BLOCKS.register("hollow_mining_log_horizontal", () -> new HorizontalHollowLogBlock(MINING_BARK_PROPS)); - public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = BLOCKS.register("hollow_sorting_log_horizontal", () -> new HorizontalHollowLogBlock(SORTING_BARK_PROPS)); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = BLOCKS.register("hollow_twilight_oak_log_vertical", () -> new VerticalHollowLogBlock(TWILIGHT_OAK_STRIPPED_PROPS, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = BLOCKS.register("hollow_canopy_log_vertical", () -> new VerticalHollowLogBlock(CANOPY_STRIPPED_PROPS, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = BLOCKS.register("hollow_mangrove_log_vertical", () -> new VerticalHollowLogBlock(MANGROVE_STRIPPED_PROPS, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = BLOCKS.register("hollow_dark_log_vertical", () -> new VerticalHollowLogBlock(DARK_STRIPPED_PROPS, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = BLOCKS.register("hollow_time_log_vertical", () -> new VerticalHollowLogBlock(TIME_STRIPPED_PROPS, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = BLOCKS.register("hollow_transformation_log_vertical", () -> new VerticalHollowLogBlock(TRANSFORMATION_STRIPPED_PROPS, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = BLOCKS.register("hollow_mining_log_vertical", () -> new VerticalHollowLogBlock(MINING_STRIPPED_PROPS, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = BLOCKS.register("hollow_sorting_log_vertical", () -> new VerticalHollowLogBlock(SORTING_STRIPPED_PROPS, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE)); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = BLOCKS.register("hollow_twilight_oak_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TWILIGHT_OAK_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = BLOCKS.register("hollow_canopy_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, CANOPY_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = BLOCKS.register("hollow_mangrove_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, MANGROVE_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = BLOCKS.register("hollow_dark_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, DARK_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = BLOCKS.register("hollow_time_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TIME_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = BLOCKS.register("hollow_transformation_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TRANSFORMATION_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = BLOCKS.register("hollow_mining_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, MINING_STRIPPED_PROPS)); - public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = BLOCKS.register("hollow_sorting_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, SORTING_STRIPPED_PROPS)); - - public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = BLOCKS.register("hollow_oak_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD))); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = BLOCKS.register("hollow_spruce_log_horizontal", () -> new HorizontalHollowLogBlock((BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD)))); - public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = BLOCKS.register("hollow_birch_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD))); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = BLOCKS.register("hollow_jungle_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD))); - public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = BLOCKS.register("hollow_acacia_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD))); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = BLOCKS.register("hollow_dark_oak_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD))); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = BLOCKS.register("hollow_crimson_stem_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE))); - public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = BLOCKS.register("hollow_warped_stem_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE))); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = BLOCKS.register("hollow_vangrove_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD))); - public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = BLOCKS.register("hollow_cherry_log_horizontal", () -> new HorizontalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD))); - - public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = BLOCKS.register("hollow_oak_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD), TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = BLOCKS.register("hollow_spruce_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD), TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = BLOCKS.register("hollow_birch_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD), TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = BLOCKS.register("hollow_jungle_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD), TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = BLOCKS.register("hollow_acacia_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD), TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = BLOCKS.register("hollow_dark_oak_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD), TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = BLOCKS.register("hollow_crimson_stem_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE), TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = BLOCKS.register("hollow_warped_stem_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE), TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE)); + public static final DeferredBlock TWILIGHT_OAK_LOG = registerWithItem("twilight_oak_log", RotatedPillarBlock::new, TWILIGHT_OAK_LOG_PROPS); + public static final DeferredBlock CANOPY_LOG = registerWithItem("canopy_log", RotatedPillarBlock::new, CANOPY_LOG_PROPS); + public static final DeferredBlock MANGROVE_LOG = registerWithItem("mangrove_log", RotatedPillarBlock::new, MANGROVE_LOG_PROPS); + public static final DeferredBlock DARK_LOG = registerWithItem("dark_log", RotatedPillarBlock::new, DARK_LOG_PROPS); + public static final DeferredBlock TIME_LOG = registerWithItem("time_log", RotatedPillarBlock::new, TIME_LOG_PROPS); + public static final DeferredBlock TRANSFORMATION_LOG = registerWithItem("transformation_log", RotatedPillarBlock::new, TRANSFORMATION_LOG_PROPS); + public static final DeferredBlock MINING_LOG = registerWithItem("mining_log", RotatedPillarBlock::new, MINING_LOG_PROPS); + public static final DeferredBlock SORTING_LOG = registerWithItem("sorting_log", RotatedPillarBlock::new, SORTING_LOG_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = register("hollow_twilight_oak_log_horizontal", HorizontalHollowLogBlock::new, TWILIGHT_OAK_BARK_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = register("hollow_canopy_log_horizontal", HorizontalHollowLogBlock::new, CANOPY_BARK_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = register("hollow_mangrove_log_horizontal", HorizontalHollowLogBlock::new, MANGROVE_BARK_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = register("hollow_dark_log_horizontal", HorizontalHollowLogBlock::new, DARK_BARK_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = register("hollow_time_log_horizontal", HorizontalHollowLogBlock::new, TIME_BARK_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = register("hollow_transformation_log_horizontal", HorizontalHollowLogBlock::new, TRANSFORMATION_BARK_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = register("hollow_mining_log_horizontal", HorizontalHollowLogBlock::new, MINING_BARK_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = register("hollow_sorting_log_horizontal", HorizontalHollowLogBlock::new, SORTING_BARK_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = register("hollow_twilight_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = register("hollow_canopy_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), CANOPY_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = register("hollow_mangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = register("hollow_dark_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), DARK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = register("hollow_time_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), TIME_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = register("hollow_transformation_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = register("hollow_mining_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), MINING_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = register("hollow_sorting_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), SORTING_STRIPPED_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = register("hollow_twilight_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, properties), TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = register("hollow_canopy_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, properties), CANOPY_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = register("hollow_mangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, properties), MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = register("hollow_dark_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, properties), DARK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = register("hollow_time_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, properties), TIME_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = register("hollow_transformation_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, properties), TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = register("hollow_mining_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, properties), MINING_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = register("hollow_sorting_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, properties), SORTING_STRIPPED_PROPS); + + public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = register("hollow_oak_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = register("hollow_spruce_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = register("hollow_birch_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = register("hollow_jungle_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = register("hollow_acacia_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = register("hollow_dark_oak_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = register("hollow_crimson_stem_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = register("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = register("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = register("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD)); + + public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = register("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = register("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = register("hollow_birch_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = register("hollow_jungle_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = register("hollow_acacia_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = register("hollow_dark_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = register("hollow_crimson_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = register("hollow_warped_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); // wanna see a funny crash? Use BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_MANGROVE_WOOD) instead of the BlockBehaviour.Properties.of(...) // I still legit have no idea why it happens but it does - public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = BLOCKS.register("hollow_vangrove_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD), TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = BLOCKS.register("hollow_cherry_log_vertical", () -> new VerticalHollowLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD), TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE)); - - public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = BLOCKS.register("hollow_oak_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD))); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = BLOCKS.register("hollow_spruce_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD))); - public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = BLOCKS.register("hollow_birch_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD))); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = BLOCKS.register("hollow_jungle_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD))); - public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = BLOCKS.register("hollow_acacia_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD))); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = BLOCKS.register("hollow_dark_oak_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD))); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = BLOCKS.register("hollow_crimson_stem_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE))); - public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = BLOCKS.register("hollow_warped_stem_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE))); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = BLOCKS.register("hollow_vangrove_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD))); - public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = BLOCKS.register("hollow_cherry_log_climbable", () -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD))); - - public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = register("stripped_twilight_oak_log", () -> new RotatedPillarBlock(TWILIGHT_OAK_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_CANOPY_LOG = register("stripped_canopy_log", () -> new RotatedPillarBlock(CANOPY_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_MANGROVE_LOG = register("stripped_mangrove_log", () -> new RotatedPillarBlock(MANGROVE_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_DARK_LOG = register("stripped_dark_log", () -> new RotatedPillarBlock(DARK_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_TIME_LOG = register("stripped_time_log", () -> new RotatedPillarBlock(TIME_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_TRANSFORMATION_LOG = register("stripped_transformation_log", () -> new RotatedPillarBlock(TRANSFORMATION_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_MINING_LOG = register("stripped_mining_log", () -> new RotatedPillarBlock(MINING_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_SORTING_LOG = register("stripped_sorting_log", () -> new RotatedPillarBlock(SORTING_STRIPPED_PROPS)); - - public static final DeferredBlock TWILIGHT_OAK_WOOD = register("twilight_oak_wood", () -> new RotatedPillarBlock(TWILIGHT_OAK_BARK_PROPS)); - public static final DeferredBlock CANOPY_WOOD = register("canopy_wood", () -> new RotatedPillarBlock(CANOPY_BARK_PROPS)); - public static final DeferredBlock MANGROVE_WOOD = register("mangrove_wood", () -> new RotatedPillarBlock(MANGROVE_BARK_PROPS)); - public static final DeferredBlock DARK_WOOD = register("dark_wood", () -> new RotatedPillarBlock(DARK_BARK_PROPS)); - public static final DeferredBlock TIME_WOOD = register("time_wood", () -> new RotatedPillarBlock(TIME_BARK_PROPS)); - public static final DeferredBlock TRANSFORMATION_WOOD = register("transformation_wood", () -> new RotatedPillarBlock(TRANSFORMATION_BARK_PROPS)); - public static final DeferredBlock MINING_WOOD = register("mining_wood", () -> new RotatedPillarBlock(MINING_BARK_PROPS)); - public static final DeferredBlock SORTING_WOOD = register("sorting_wood", () -> new RotatedPillarBlock(SORTING_BARK_PROPS)); - - public static final DeferredBlock STRIPPED_TWILIGHT_OAK_WOOD = register("stripped_twilight_oak_wood", () -> new RotatedPillarBlock(TWILIGHT_OAK_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_CANOPY_WOOD = register("stripped_canopy_wood", () -> new RotatedPillarBlock(CANOPY_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_MANGROVE_WOOD = register("stripped_mangrove_wood", () -> new RotatedPillarBlock(MANGROVE_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_DARK_WOOD = register("stripped_dark_wood", () -> new RotatedPillarBlock(DARK_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_TIME_WOOD = register("stripped_time_wood", () -> new RotatedPillarBlock(TIME_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_TRANSFORMATION_WOOD = register("stripped_transformation_wood", () -> new RotatedPillarBlock(TRANSFORMATION_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_MINING_WOOD = register("stripped_mining_wood", () -> new RotatedPillarBlock(MINING_STRIPPED_PROPS)); - public static final DeferredBlock STRIPPED_SORTING_WOOD = register("stripped_sorting_wood", () -> new RotatedPillarBlock(SORTING_STRIPPED_PROPS)); - - public static final DeferredBlock TIME_LOG_CORE = register("time_log_core", () -> new TimeLogCoreBlock(TIME_LOG_PROPS)); - public static final DeferredBlock TRANSFORMATION_LOG_CORE = register("transformation_log_core", () -> new TransLogCoreBlock(TRANSFORMATION_LOG_PROPS)); - public static final DeferredBlock MINING_LOG_CORE = register("mining_log_core", () -> new MineLogCoreBlock(MINING_LOG_PROPS)); - public static final DeferredBlock SORTING_LOG_CORE = register("sorting_log_core", () -> new SortLogCoreBlock(SORTING_LOG_PROPS)); - - public static final DeferredBlock MANGROVE_ROOT = register("mangrove_root", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.STONE).sound(SoundType.WOOD).strength(2.0F))); - - public static final DeferredBlock TWILIGHT_OAK_LEAVES = register("twilight_oak_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock CANOPY_LEAVES = register("canopy_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock MANGROVE_LEAVES = register("mangrove_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock DARK_LEAVES = register("dark_leaves", () -> new DarkLeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock HARDENED_DARK_LEAVES = BLOCKS.register("hardened_dark_leaves", () -> new HardenedDarkLeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock RAINBOW_OAK_LEAVES = register("rainbow_oak_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock TIME_LEAVES = register("time_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock TRANSFORMATION_LEAVES = register("transformation_leaves", () -> new TransformationLeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock MINING_LEAVES = register("mining_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - public static final DeferredBlock SORTING_LEAVES = register("sorting_leaves", () -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false))); - - public static final DeferredBlock TWILIGHT_OAK_SAPLING = register("twilight_oak_sapling", () -> new SaplingBlock(TFTreeGrowers.TWILIGHT_OAK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock CANOPY_SAPLING = register("canopy_sapling", () -> new SaplingBlock(TFTreeGrowers.CANOPY, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock MANGROVE_SAPLING = register("mangrove_sapling", () -> new MangroveSaplingBlock(TFTreeGrowers.MANGROVE, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock DARKWOOD_SAPLING = register("darkwood_sapling", () -> new SaplingBlock(TFTreeGrowers.DARK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock HOLLOW_OAK_SAPLING = register("hollow_oak_sapling", () -> new SaplingBlock(TFTreeGrowers.HOLLOW_OAK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock TIME_SAPLING = register("time_sapling", () -> new SaplingBlock(TFTreeGrowers.TIME, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock TRANSFORMATION_SAPLING = register("transformation_sapling", () -> new SaplingBlock(TFTreeGrowers.TRANSFORMATION, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock MINING_SAPLING = register("mining_sapling", () -> new SaplingBlock(TFTreeGrowers.MINING, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock SORTING_SAPLING = register("sorting_sapling", () -> new SaplingBlock(TFTreeGrowers.SORTING, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - public static final DeferredBlock RAINBOW_OAK_SAPLING = register("rainbow_oak_sapling", () -> new SaplingBlock(TFTreeGrowers.RAINBOW_OAK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks())); - - public static final DeferredBlock TWILIGHT_OAK_PLANKS = register("twilight_oak_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock TWILIGHT_OAK_STAIRS = register("twilight_oak_stairs", () -> new StairBlock(TWILIGHT_OAK_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()))); - public static final DeferredBlock TWILIGHT_OAK_SLAB = register("twilight_oak_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()))); - public static final DeferredBlock TWILIGHT_OAK_BUTTON = register("twilight_oak_button", () -> new ButtonBlock(TFWoodTypes.TWILIGHT_OAK_SET, 30, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock TWILIGHT_OAK_FENCE = register("twilight_oak_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()))); - public static final DeferredBlock TWILIGHT_OAK_GATE = register("twilight_oak_fence_gate", () -> new FenceGateBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock TWILIGHT_OAK_PLATE = register("twilight_oak_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.TWILIGHT_OAK_SET, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock TWILIGHT_OAK_DOOR = registerDoubleBlockItem("twilight_oak_door", () -> new DoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion())); - public static final DeferredBlock TWILIGHT_OAK_TRAPDOOR = register("twilight_oak_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock TWILIGHT_OAK_SIGN = BLOCKS.register("twilight_oak_sign", () -> new StandingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission())); - public static final DeferredBlock TWILIGHT_WALL_SIGN = BLOCKS.register("twilight_wall_sign", () -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission())); - public static final DeferredBlock TWILIGHT_OAK_HANGING_SIGN = BLOCKS.register("twilight_oak_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = BLOCKS.register("twilight_oak_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TWILIGHT_OAK_BANISTER = register("twilight_oak_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()))); - - public static final DeferredBlock CANOPY_PLANKS = register("canopy_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock CANOPY_STAIRS = register("canopy_stairs", () -> new StairBlock(CANOPY_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()))); - public static final DeferredBlock CANOPY_SLAB = register("canopy_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()))); - public static final DeferredBlock CANOPY_BUTTON = register("canopy_button", () -> new ButtonBlock(TFWoodTypes.CANOPY_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock CANOPY_FENCE = register("canopy_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()))); - public static final DeferredBlock CANOPY_GATE = register("canopy_fence_gate", () -> new FenceGateBlock(TFWoodTypes.CANOPY_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock CANOPY_PLATE = register("canopy_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.CANOPY_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock CANOPY_DOOR = registerDoubleBlockItem("canopy_door", () -> new DoorBlock(TFWoodTypes.CANOPY_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock CANOPY_TRAPDOOR = register("canopy_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.CANOPY_WOOD_SET, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).strength(3.0F).sound(SoundType.WOOD).noOcclusion())); - public static final DeferredBlock CANOPY_SIGN = BLOCKS.register("canopy_sign", () -> new StandingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock CANOPY_WALL_SIGN = BLOCKS.register("canopy_wall_sign", () -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock CANOPY_BOOKSHELF = register("canopy_bookshelf", () -> new Block(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.5F))); - public static final DeferredBlock CANOPY_HANGING_SIGN = BLOCKS.register("canopy_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = BLOCKS.register("canopy_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock CANOPY_BANISTER = register("canopy_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()))); - - public static final DeferredBlock MANGROVE_PLANKS = register("mangrove_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock MANGROVE_STAIRS = register("mangrove_stairs", () -> new StairBlock(MANGROVE_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()))); - public static final DeferredBlock MANGROVE_SLAB = register("mangrove_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()))); - public static final DeferredBlock MANGROVE_BUTTON = register("mangrove_button", () -> new ButtonBlock(TFWoodTypes.MANGROVE_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock MANGROVE_FENCE = register("mangrove_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()))); - public static final DeferredBlock MANGROVE_GATE = register("mangrove_fence_gate", () -> new FenceGateBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock MANGROVE_PLATE = register("mangrove_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.MANGROVE_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock MANGROVE_DOOR = registerDoubleBlockItem("mangrove_door", () -> new DoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock MANGROVE_TRAPDOOR = register("mangrove_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock MANGROVE_SIGN = BLOCKS.register("mangrove_sign", () -> new StandingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock MANGROVE_WALL_SIGN = BLOCKS.register("mangrove_wall_sign", () -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock MANGROVE_HANGING_SIGN = BLOCKS.register("mangrove_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = BLOCKS.register("mangrove_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock MANGROVE_BANISTER = register("mangrove_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()))); - - public static final DeferredBlock DARK_PLANKS = register("dark_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock DARK_STAIRS = register("dark_stairs", () -> new StairBlock(DARK_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()))); - public static final DeferredBlock DARK_SLAB = register("dark_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).sound(SoundType.WOOD))); - public static final DeferredBlock DARK_BUTTON = register("dark_button", () -> new ButtonBlock(TFWoodTypes.DARK_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock DARK_FENCE = register("dark_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()))); - public static final DeferredBlock DARK_GATE = register("dark_fence_gate", () -> new FenceGateBlock(TFWoodTypes.DARK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock DARK_PLATE = register("dark_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.DARK_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock DARK_DOOR = registerDoubleBlockItem("dark_door", () -> new DoorBlock(TFWoodTypes.DARK_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion())); - public static final DeferredBlock DARK_TRAPDOOR = register("dark_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.DARK_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock DARK_SIGN = BLOCKS.register("dark_sign", () -> new StandingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock DARK_WALL_SIGN = BLOCKS.register("dark_wall_sign", () -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock DARK_HANGING_SIGN = BLOCKS.register("dark_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock DARK_WALL_HANGING_SIGN = BLOCKS.register("dark_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock DARK_BANISTER = register("dark_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()))); - - public static final DeferredBlock TIME_PLANKS = register("time_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock TIME_STAIRS = register("time_stairs", () -> new StairBlock(TIME_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()))); - public static final DeferredBlock TIME_SLAB = register("time_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).sound(SoundType.WOOD))); - public static final DeferredBlock TIME_BUTTON = register("time_button", () -> new ButtonBlock(TFWoodTypes.TIME_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock TIME_FENCE = register("time_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()))); - public static final DeferredBlock TIME_GATE = register("time_fence_gate", () -> new FenceGateBlock(TFWoodTypes.TIME_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock TIME_PLATE = register("time_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.TIME_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock TIME_DOOR = registerDoubleBlockItem("time_door", () -> new DoorBlock(TFWoodTypes.TIME_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion())); - public static final DeferredBlock TIME_TRAPDOOR = register("time_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.TIME_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock TIME_SIGN = BLOCKS.register("time_sign", () -> new StandingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock TIME_WALL_SIGN = BLOCKS.register("time_wall_sign", () -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock TIME_HANGING_SIGN = BLOCKS.register("time_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TIME_WALL_HANGING_SIGN = BLOCKS.register("time_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TIME_BANISTER = register("time_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()))); - - public static final DeferredBlock TRANSFORMATION_PLANKS = register("transformation_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock TRANSFORMATION_STAIRS = register("transformation_stairs", () -> new StairBlock(TRANSFORMATION_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()))); - public static final DeferredBlock TRANSFORMATION_SLAB = register("transformation_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()))); - public static final DeferredBlock TRANSFORMATION_BUTTON = register("transformation_button", () -> new ButtonBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock TRANSFORMATION_FENCE = register("transformation_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()))); - public static final DeferredBlock TRANSFORMATION_GATE = register("transformation_fence_gate", () -> new FenceGateBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock TRANSFORMATION_PLATE = register("transformation_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock TRANSFORMATION_DOOR = registerDoubleBlockItem("transformation_door", () -> new DoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock TRANSFORMATION_TRAPDOOR = register("transformation_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock TRANSFORMATION_SIGN = BLOCKS.register("transformation_sign", () -> new StandingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock TRANSFORMATION_WALL_SIGN = BLOCKS.register("transformation_wall_sign", () -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock TRANSFORMATION_HANGING_SIGN = BLOCKS.register("transformation_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = BLOCKS.register("transformation_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock TRANSFORMATION_BANISTER = register("transformation_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()))); - - public static final DeferredBlock MINING_PLANKS = register("mining_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.SAND).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock MINING_STAIRS = register("mining_stairs", () -> new StairBlock(MINING_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()))); - public static final DeferredBlock MINING_SLAB = register("mining_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()))); - public static final DeferredBlock MINING_BUTTON = register("mining_button", () -> new ButtonBlock(TFWoodTypes.MINING_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock MINING_FENCE = register("mining_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()))); - public static final DeferredBlock MINING_GATE = register("mining_fence_gate", () -> new FenceGateBlock(TFWoodTypes.MINING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock MINING_PLATE = register("mining_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.MINING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock MINING_DOOR = registerDoubleBlockItem("mining_door", () -> new DoorBlock(TFWoodTypes.MINING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock MINING_TRAPDOOR = register("mining_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.MINING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock MINING_SIGN = BLOCKS.register("mining_sign", () -> new StandingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock MINING_WALL_SIGN = BLOCKS.register("mining_wall_sign", () -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock MINING_HANGING_SIGN = BLOCKS.register("mining_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock MINING_WALL_HANGING_SIGN = BLOCKS.register("mining_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock MINING_BANISTER = register("mining_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()))); - - public static final DeferredBlock SORTING_PLANKS = register("sorting_planks", () -> new Block(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD))); - public static final DeferredBlock SORTING_STAIRS = register("sorting_stairs", () -> new StairBlock(SORTING_PLANKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()))); - public static final DeferredBlock SORTING_SLAB = register("sorting_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()))); - public static final DeferredBlock SORTING_BUTTON = register("sorting_button", () -> new ButtonBlock(TFWoodTypes.SORTING_WOOD_SET, 30, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(0.5F))); - public static final DeferredBlock SORTING_FENCE = register("sorting_fence", () -> new FenceBlock(BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()))); - public static final DeferredBlock SORTING_GATE = register("sorting_fence_gate", () -> new FenceGateBlock(TFWoodTypes.SORTING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn())); - public static final DeferredBlock SORTING_PLATE = register("sorting_pressure_plate", () -> new PressurePlateBlock(TFWoodTypes.SORTING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F))); - public static final DeferredBlock SORTING_DOOR = registerDoubleBlockItem("sorting_door", () -> new DoorBlock(TFWoodTypes.SORTING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock SORTING_TRAPDOOR = register("sorting_trapdoor", () -> new TrapDoorBlock(TFWoodTypes.SORTING_WOOD_SET, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion())); - public static final DeferredBlock SORTING_SIGN = BLOCKS.register("sorting_sign", () -> new StandingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock SORTING_WALL_SIGN = BLOCKS.register("sorting_wall_sign", () -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission())); - public static final DeferredBlock SORTING_HANGING_SIGN = BLOCKS.register("sorting_hanging_sign", () -> new CeilingHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock SORTING_WALL_HANGING_SIGN = BLOCKS.register("sorting_wall_hanging_sign", () -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F))); - public static final DeferredBlock SORTING_BANISTER = register("sorting_banister", () -> new BanisterBlock(BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()))); - - public static final DeferredBlock TWILIGHT_OAK_CHEST = register("twilight_oak_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock CANOPY_CHEST = register("canopy_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock MANGROVE_CHEST = register("mangrove_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock DARK_CHEST = register("dark_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock TIME_CHEST = register("time_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock TRANSFORMATION_CHEST = register("transformation_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock MINING_CHEST = register("mining_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock SORTING_CHEST = register("sorting_chest", () -> new TFChestBlock(BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F))); - - public static final DeferredBlock TWILIGHT_OAK_TRAPPED_CHEST = register("twilight_oak_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock CANOPY_TRAPPED_CHEST = register("canopy_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock MANGROVE_TRAPPED_CHEST = register("mangrove_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock DARK_TRAPPED_CHEST = register("dark_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock TIME_TRAPPED_CHEST = register("time_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock TRANSFORMATION_TRAPPED_CHEST = register("transformation_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock MINING_TRAPPED_CHEST = register("mining_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F))); - public static final DeferredBlock SORTING_TRAPPED_CHEST = register("sorting_trapped_chest", () -> new TFTrappedChestBlock(BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F))); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = register("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = register("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + + public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = register("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = register("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = register("hollow_birch_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = register("hollow_jungle_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = register("hollow_acacia_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = register("hollow_dark_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = register("hollow_crimson_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = register("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = register("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = register("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + + public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = registerWithItem("stripped_twilight_oak_log", RotatedPillarBlock::new, TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_CANOPY_LOG = registerWithItem("stripped_canopy_log", RotatedPillarBlock::new, CANOPY_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MANGROVE_LOG = registerWithItem("stripped_mangrove_log", RotatedPillarBlock::new, MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_DARK_LOG = registerWithItem("stripped_dark_log", RotatedPillarBlock::new, DARK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TIME_LOG = registerWithItem("stripped_time_log", RotatedPillarBlock::new, TIME_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TRANSFORMATION_LOG = registerWithItem("stripped_transformation_log", RotatedPillarBlock::new, TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MINING_LOG = registerWithItem("stripped_mining_log", RotatedPillarBlock::new, MINING_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_SORTING_LOG = registerWithItem("stripped_sorting_log", RotatedPillarBlock::new, SORTING_STRIPPED_PROPS); + + public static final DeferredBlock TWILIGHT_OAK_WOOD = registerWithItem("twilight_oak_wood", RotatedPillarBlock::new, TWILIGHT_OAK_BARK_PROPS); + public static final DeferredBlock CANOPY_WOOD = registerWithItem("canopy_wood", RotatedPillarBlock::new, CANOPY_BARK_PROPS); + public static final DeferredBlock MANGROVE_WOOD = registerWithItem("mangrove_wood", RotatedPillarBlock::new, MANGROVE_BARK_PROPS); + public static final DeferredBlock DARK_WOOD = registerWithItem("dark_wood", RotatedPillarBlock::new, DARK_BARK_PROPS); + public static final DeferredBlock TIME_WOOD = registerWithItem("time_wood", RotatedPillarBlock::new, TIME_BARK_PROPS); + public static final DeferredBlock TRANSFORMATION_WOOD = registerWithItem("transformation_wood", RotatedPillarBlock::new, TRANSFORMATION_BARK_PROPS); + public static final DeferredBlock MINING_WOOD = registerWithItem("mining_wood", RotatedPillarBlock::new, MINING_BARK_PROPS); + public static final DeferredBlock SORTING_WOOD = registerWithItem("sorting_wood", RotatedPillarBlock::new, SORTING_BARK_PROPS); + + public static final DeferredBlock STRIPPED_TWILIGHT_OAK_WOOD = registerWithItem("stripped_twilight_oak_wood", RotatedPillarBlock::new, TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_CANOPY_WOOD = registerWithItem("stripped_canopy_wood", RotatedPillarBlock::new, CANOPY_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MANGROVE_WOOD = registerWithItem("stripped_mangrove_wood", RotatedPillarBlock::new, MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_DARK_WOOD = registerWithItem("stripped_dark_wood", RotatedPillarBlock::new, DARK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TIME_WOOD = registerWithItem("stripped_time_wood", RotatedPillarBlock::new, TIME_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TRANSFORMATION_WOOD = registerWithItem("stripped_transformation_wood", RotatedPillarBlock::new, TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MINING_WOOD = registerWithItem("stripped_mining_wood", RotatedPillarBlock::new, MINING_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_SORTING_WOOD = registerWithItem("stripped_sorting_wood", RotatedPillarBlock::new, SORTING_STRIPPED_PROPS); + + public static final DeferredBlock TIME_LOG_CORE = registerWithItem("time_log_core", TimeLogCoreBlock::new, TIME_LOG_PROPS); + public static final DeferredBlock TRANSFORMATION_LOG_CORE = registerWithItem("transformation_log_core", TransLogCoreBlock::new, TRANSFORMATION_LOG_PROPS); + public static final DeferredBlock MINING_LOG_CORE = registerWithItem("mining_log_core", MineLogCoreBlock::new, MINING_LOG_PROPS); + public static final DeferredBlock SORTING_LOG_CORE = registerWithItem("sorting_log_core", SortLogCoreBlock::new, SORTING_LOG_PROPS); + + public static final DeferredBlock MANGROVE_ROOT = registerWithItem("mangrove_root", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.STONE).sound(SoundType.WOOD).strength(2.0F)); + + public static final DeferredBlock TWILIGHT_OAK_LEAVES = registerWithItem("twilight_oak_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock CANOPY_LEAVES = registerWithItem("canopy_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock MANGROVE_LEAVES = registerWithItem("mangrove_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock DARK_LEAVES = registerWithItem("dark_leaves", DarkLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock HARDENED_DARK_LEAVES = register("hardened_dark_leaves", HardenedDarkLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock RAINBOW_OAK_LEAVES = registerWithItem("rainbow_oak_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock TIME_LEAVES = registerWithItem("time_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock TRANSFORMATION_LEAVES = registerWithItem("transformation_leaves", TransformationLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock MINING_LEAVES = registerWithItem("mining_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock SORTING_LEAVES = registerWithItem("sorting_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + + public static final DeferredBlock TWILIGHT_OAK_SAPLING = registerWithItem("twilight_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.TWILIGHT_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock CANOPY_SAPLING = registerWithItem("canopy_sapling", properties -> new SaplingBlock(TFTreeGrowers.CANOPY, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock MANGROVE_SAPLING = registerWithItem("mangrove_sapling", properties -> new MangroveSaplingBlock(TFTreeGrowers.MANGROVE, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock DARKWOOD_SAPLING = registerWithItem("darkwood_sapling", properties -> new SaplingBlock(TFTreeGrowers.DARK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock HOLLOW_OAK_SAPLING = registerWithItem("hollow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.HOLLOW_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock TIME_SAPLING = registerWithItem("time_sapling", properties -> new SaplingBlock(TFTreeGrowers.TIME, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock TRANSFORMATION_SAPLING = registerWithItem("transformation_sapling", properties -> new SaplingBlock(TFTreeGrowers.TRANSFORMATION, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock MINING_SAPLING = registerWithItem("mining_sapling", properties -> new SaplingBlock(TFTreeGrowers.MINING, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock SORTING_SAPLING = registerWithItem("sorting_sapling", properties -> new SaplingBlock(TFTreeGrowers.SORTING, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock RAINBOW_OAK_SAPLING = registerWithItem("rainbow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.RAINBOW_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + + public static final DeferredBlock TWILIGHT_OAK_PLANKS = registerWithItem("twilight_oak_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TWILIGHT_OAK_STAIRS = registerWithItem("twilight_oak_stairs", properties -> new StairBlock(TWILIGHT_OAK_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_SLAB = registerWithItem("twilight_oak_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_BUTTON = registerWithItem("twilight_oak_button", properties -> new ButtonBlock(TFWoodTypes.TWILIGHT_OAK_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TWILIGHT_OAK_FENCE = registerWithItem("twilight_oak_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_GATE = registerWithItem("twilight_oak_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TWILIGHT_OAK_PLATE = registerWithItem("twilight_oak_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TWILIGHT_OAK_DOOR = registerDoubleBlockItem("twilight_oak_door", properties -> new DoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock TWILIGHT_OAK_TRAPDOOR = registerWithItem("twilight_oak_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new StandingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); + public static final DeferredBlock TWILIGHT_WALL_SIGN = register("twilight_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); + public static final DeferredBlock TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = register("twilight_oak_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TWILIGHT_OAK_BANISTER = registerWithItem("twilight_oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + + public static final DeferredBlock CANOPY_PLANKS = registerWithItem("canopy_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock CANOPY_STAIRS = registerWithItem("canopy_stairs", properties -> new StairBlock(CANOPY_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_SLAB = registerWithItem("canopy_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_BUTTON = registerWithItem("canopy_button", properties -> new ButtonBlock(TFWoodTypes.CANOPY_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock CANOPY_FENCE = registerWithItem("canopy_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_GATE = registerWithItem("canopy_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock CANOPY_PLATE = registerWithItem("canopy_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock CANOPY_DOOR = registerDoubleBlockItem("canopy_door", properties -> new DoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock CANOPY_TRAPDOOR = registerWithItem("canopy_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock CANOPY_SIGN = register("canopy_sign", properties -> new StandingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock CANOPY_WALL_SIGN = register("canopy_wall_sign", properties -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock CANOPY_BOOKSHELF = registerWithItem("canopy_bookshelf", Block::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.5F)); + public static final DeferredBlock CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = register("canopy_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock CANOPY_BANISTER = registerWithItem("canopy_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + + public static final DeferredBlock MANGROVE_PLANKS = registerWithItem("mangrove_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock MANGROVE_STAIRS = registerWithItem("mangrove_stairs", properties -> new StairBlock(MANGROVE_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_SLAB = registerWithItem("mangrove_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_BUTTON = registerWithItem("mangrove_button", properties -> new ButtonBlock(TFWoodTypes.MANGROVE_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock MANGROVE_FENCE = registerWithItem("mangrove_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_GATE = registerWithItem("mangrove_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock MANGROVE_PLATE = registerWithItem("mangrove_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock MANGROVE_DOOR = registerDoubleBlockItem("mangrove_door", properties -> new DoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MANGROVE_TRAPDOOR = registerWithItem("mangrove_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MANGROVE_SIGN = register("mangrove_sign", properties -> new StandingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MANGROVE_WALL_SIGN = register("mangrove_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = register("mangrove_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MANGROVE_BANISTER = registerWithItem("mangrove_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + + public static final DeferredBlock DARK_PLANKS = registerWithItem("dark_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock DARK_STAIRS = registerWithItem("dark_stairs", properties -> new StairBlock(DARK_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + public static final DeferredBlock DARK_SLAB = registerWithItem("dark_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).sound(SoundType.WOOD)); + public static final DeferredBlock DARK_BUTTON = registerWithItem("dark_button", properties -> new ButtonBlock(TFWoodTypes.DARK_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock DARK_FENCE = registerWithItem("dark_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + public static final DeferredBlock DARK_GATE = registerWithItem("dark_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock DARK_PLATE = registerWithItem("dark_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock DARK_DOOR = registerDoubleBlockItem("dark_door", properties -> new DoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock DARK_TRAPDOOR = registerWithItem("dark_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock DARK_SIGN = register("dark_sign", properties -> new StandingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock DARK_WALL_SIGN = register("dark_wall_sign", properties -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock DARK_WALL_HANGING_SIGN = register("dark_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock DARK_BANISTER = registerWithItem("dark_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + + public static final DeferredBlock TIME_PLANKS = registerWithItem("time_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TIME_STAIRS = registerWithItem("time_stairs", properties -> new StairBlock(TIME_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + public static final DeferredBlock TIME_SLAB = registerWithItem("time_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).sound(SoundType.WOOD)); + public static final DeferredBlock TIME_BUTTON = registerWithItem("time_button", properties -> new ButtonBlock(TFWoodTypes.TIME_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TIME_FENCE = registerWithItem("time_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + public static final DeferredBlock TIME_GATE = registerWithItem("time_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TIME_PLATE = registerWithItem("time_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TIME_DOOR = registerDoubleBlockItem("time_door", properties -> new DoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock TIME_TRAPDOOR = registerWithItem("time_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TIME_SIGN = register("time_sign", properties -> new StandingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TIME_WALL_SIGN = register("time_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TIME_WALL_HANGING_SIGN = register("time_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TIME_BANISTER = registerWithItem("time_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + + public static final DeferredBlock TRANSFORMATION_PLANKS = registerWithItem("transformation_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TRANSFORMATION_STAIRS = registerWithItem("transformation_stairs", properties -> new StairBlock(TRANSFORMATION_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_SLAB = registerWithItem("transformation_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_BUTTON = registerWithItem("transformation_button", properties -> new ButtonBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TRANSFORMATION_FENCE = registerWithItem("transformation_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_GATE = registerWithItem("transformation_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TRANSFORMATION_PLATE = registerWithItem("transformation_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TRANSFORMATION_DOOR = registerDoubleBlockItem("transformation_door", properties -> new DoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TRANSFORMATION_TRAPDOOR = registerWithItem("transformation_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TRANSFORMATION_SIGN = register("transformation_sign", properties -> new StandingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TRANSFORMATION_WALL_SIGN = register("transformation_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = register("transformation_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TRANSFORMATION_BANISTER = registerWithItem("transformation_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + + public static final DeferredBlock MINING_PLANKS = registerWithItem("mining_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.SAND).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock MINING_STAIRS = registerWithItem("mining_stairs", properties -> new StairBlock(MINING_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_SLAB = registerWithItem("mining_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_BUTTON = registerWithItem("mining_button", properties -> new ButtonBlock(TFWoodTypes.MINING_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock MINING_FENCE = registerWithItem("mining_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_GATE = registerWithItem("mining_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock MINING_PLATE = registerWithItem("mining_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock MINING_DOOR = registerDoubleBlockItem("mining_door", properties -> new DoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MINING_TRAPDOOR = registerWithItem("mining_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MINING_SIGN = register("mining_sign", properties -> new StandingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MINING_WALL_SIGN = register("mining_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MINING_WALL_HANGING_SIGN = register("mining_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MINING_BANISTER = registerWithItem("mining_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + + public static final DeferredBlock SORTING_PLANKS = registerWithItem("sorting_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock SORTING_STAIRS = registerWithItem("sorting_stairs", properties -> new StairBlock(SORTING_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_SLAB = registerWithItem("sorting_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_BUTTON = registerWithItem("sorting_button", properties -> new ButtonBlock(TFWoodTypes.SORTING_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock SORTING_FENCE = registerWithItem("sorting_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_GATE = registerWithItem("sorting_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock SORTING_PLATE = registerWithItem("sorting_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock SORTING_DOOR = registerDoubleBlockItem("sorting_door", properties -> new DoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock SORTING_TRAPDOOR = registerWithItem("sorting_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock SORTING_SIGN = register("sorting_sign", properties -> new StandingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock SORTING_WALL_SIGN = register("sorting_wall_sign", properties -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock SORTING_WALL_HANGING_SIGN = register("sorting_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock SORTING_BANISTER = registerWithItem("sorting_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + + public static final DeferredBlock TWILIGHT_OAK_CHEST = registerWithItem("twilight_oak_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock CANOPY_CHEST = registerWithItem("canopy_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MANGROVE_CHEST = registerWithItem("mangrove_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock DARK_CHEST = registerWithItem("dark_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TIME_CHEST = registerWithItem("time_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TRANSFORMATION_CHEST = registerWithItem("transformation_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MINING_CHEST = registerWithItem("mining_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock SORTING_CHEST = registerWithItem("sorting_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); + + public static final DeferredBlock TWILIGHT_OAK_TRAPPED_CHEST = registerWithItem("twilight_oak_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock CANOPY_TRAPPED_CHEST = registerWithItem("canopy_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MANGROVE_TRAPPED_CHEST = registerWithItem("mangrove_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock DARK_TRAPPED_CHEST = registerWithItem("dark_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TIME_TRAPPED_CHEST = registerWithItem("time_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TRANSFORMATION_TRAPPED_CHEST = registerWithItem("transformation_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MINING_TRAPPED_CHEST = registerWithItem("mining_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock SORTING_TRAPPED_CHEST = registerWithItem("sorting_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); //Flower Pots - public static final DeferredBlock POTTED_TWILIGHT_OAK_SAPLING = BLOCKS.register("potted_twilight_oak_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TWILIGHT_OAK_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_CANOPY_SAPLING = BLOCKS.register("potted_canopy_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, CANOPY_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_MANGROVE_SAPLING = BLOCKS.register("potted_mangrove_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MANGROVE_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_DARKWOOD_SAPLING = BLOCKS.register("potted_darkwood_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, DARKWOOD_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_HOLLOW_OAK_SAPLING = BLOCKS.register("potted_hollow_oak_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, HOLLOW_OAK_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_RAINBOW_OAK_SAPLING = BLOCKS.register("potted_rainbow_oak_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, RAINBOW_OAK_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_TIME_SAPLING = BLOCKS.register("potted_time_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TIME_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_TRANSFORMATION_SAPLING = BLOCKS.register("potted_transformation_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TRANSFORMATION_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_MINING_SAPLING = BLOCKS.register("potted_mining_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MINING_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_SORTING_SAPLING = BLOCKS.register("potted_sorting_sapling", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, SORTING_SAPLING, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_MAYAPPLE = BLOCKS.register("potted_mayapple", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MAYAPPLE, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_FIDDLEHEAD = BLOCKS.register("potted_fiddlehead", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, FIDDLEHEAD, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_MUSHGLOOM = BLOCKS.register("potted_mushgloom", () -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MUSHGLOOM, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_THORN = BLOCKS.register("potted_thorn", () -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BROWN_THORNS, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_GREEN_THORN = BLOCKS.register("potted_green_thorn", () -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, GREEN_THORNS, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - public static final DeferredBlock POTTED_DEAD_THORN = BLOCKS.register("potted_dead_thorn", () -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BURNT_THORNS, BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))); - - public static final DeferredBlock CURSED_SPAWNER = register("cursed_spawner", () -> new CursedSpawnerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable())); - - - public static DeferredBlock register(String name, Supplier block) { - DeferredBlock ret = BLOCKS.register(name, block); - TFItems.ITEMS.register(name, () -> new BlockItem(ret.get(), new Item.Properties())); + public static final DeferredBlock POTTED_TWILIGHT_OAK_SAPLING = register("potted_twilight_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TWILIGHT_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_CANOPY_SAPLING = register("potted_canopy_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, CANOPY_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MANGROVE_SAPLING = register("potted_mangrove_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MANGROVE_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_DARKWOOD_SAPLING = register("potted_darkwood_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, DARKWOOD_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_HOLLOW_OAK_SAPLING = register("potted_hollow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, HOLLOW_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_RAINBOW_OAK_SAPLING = register("potted_rainbow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, RAINBOW_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_TIME_SAPLING = register("potted_time_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TIME_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_TRANSFORMATION_SAPLING = register("potted_transformation_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TRANSFORMATION_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MINING_SAPLING = register("potted_mining_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MINING_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_SORTING_SAPLING = register("potted_sorting_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, SORTING_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MAYAPPLE = register("potted_mayapple", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MAYAPPLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_FIDDLEHEAD = register("potted_fiddlehead", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, FIDDLEHEAD, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MUSHGLOOM = register("potted_mushgloom", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MUSHGLOOM, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_THORN = register("potted_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BROWN_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_GREEN_THORN = register("potted_green_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, GREEN_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_DEAD_THORN = register("potted_dead_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BURNT_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + + public static final DeferredBlock CURSED_SPAWNER = registerWithItem("cursed_spawner", CursedSpawnerBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable()); + + public static DeferredBlock register(String name, Function block, BlockBehaviour.Properties properties) { + return BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + } + + public static DeferredBlock registerWithItem(String name, Function block, BlockBehaviour.Properties properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), new Item.Properties()); return ret; } - public static DeferredBlock registerFireResistantItem(String name, Supplier block) { - DeferredBlock ret = BLOCKS.register(name, block); - TFItems.ITEMS.register(name, () -> new BlockItem(ret.get(), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON))); + public static DeferredBlock registerFireResistantItem(String name, Function block, BlockBehaviour.Properties properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); return ret; } - public static DeferredBlock registerDoubleBlockItem(String name, Supplier block) { - DeferredBlock ret = BLOCKS.register(name, block); - TFItems.ITEMS.register(name, () -> new DoubleHighBlockItem(ret.get(), new Item.Properties())); + public static DeferredBlock registerDoubleBlockItem(String name, Function block, BlockBehaviour.Properties properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new DoubleHighBlockItem(ret.get(), itemProps), new Item.Properties()); return ret; } - public static DeferredBlock registerWroughtFence(String name, Supplier block) { - DeferredBlock ret = BLOCKS.register(name, block); - TFItems.ITEMS.register(name, () -> new WroughtIronFenceItem(ret.get(), new Item.Properties())); + public static DeferredBlock registerWroughtFence(String name, Function block, BlockBehaviour.Properties properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new WroughtIronFenceItem(ret.get(), itemProps), new Item.Properties()); return ret; } diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index b54ed2d6b6..f59af60374 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -1,23 +1,19 @@ package twilightforest.init; +import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.*; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.animal.Animal; -import net.minecraft.world.entity.animal.Sheep; -import net.minecraft.world.entity.monster.AbstractSkeleton; import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.monster.Spider; -import net.minecraft.world.entity.monster.Zombie; +import net.minecraft.world.entity.vehicle.Boat; +import net.minecraft.world.entity.vehicle.ChestBoat; import net.minecraft.world.item.Item; -import net.minecraft.world.level.levelgen.Heightmap; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.DeferredSpawnEggItem; -import net.neoforged.neoforge.event.entity.EntityAttributeCreationEvent; -import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; +import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.entity.*; import twilightforest.entity.boss.*; @@ -25,273 +21,146 @@ import twilightforest.entity.passive.*; import twilightforest.entity.projectile.*; -@EventBusSubscriber(modid = TwilightForestMod.ID, bus = EventBusSubscriber.Bus.MOD) +import java.util.HashMap; +import java.util.Map; +import java.util.function.Supplier; + public class TFEntities { - public static final DeferredRegister> ENTITIES = DeferredRegister.create(Registries.ENTITY_TYPE, TwilightForestMod.ID); + public static final DeferredRegister> ENTITY_TYPES = DeferredRegister.create(Registries.ENTITY_TYPE, TwilightForestMod.ID); public static final DeferredRegister SPAWN_EGGS = DeferredRegister.create(Registries.ITEM, TwilightForestMod.ID); - - public static final DeferredHolder, EntityType> ADHERENT = make(TFEntityNames.ADHERENT, Adherent::new, MobCategory.MONSTER, 0.8F, 2.2F, 0, 0); - public static final DeferredHolder, EntityType> ALPHA_YETI = make(TFEntityNames.ALPHA_YETI, AlphaYeti::new, MobCategory.MONSTER, 3.8F, 5.0F, 0xcdcdcd, 0x29486e); - public static final DeferredHolder, EntityType> ARMORED_GIANT = make(TFEntityNames.ARMORED_GIANT, ArmoredGiant::new, MobCategory.MONSTER, 2.4F, 7.2F, 0x239391, 0x9a9a9a); - public static final DeferredHolder, EntityType> BIGHORN_SHEEP = make(TFEntityNames.BIGHORN_SHEEP, Bighorn::new, MobCategory.CREATURE, 0.9F, 1.3F, 0xdbceaf, 0xd7c771); - public static final DeferredHolder, EntityType> BLOCKCHAIN_GOBLIN = make(TFEntityNames.BLOCKCHAIN_GOBLIN, BlockChainGoblin::new, MobCategory.MONSTER, 0.9F, 1.4F, 0xd3e7bc, 0x1f3fff); - public static final DeferredHolder, EntityType> BOAR = make(TFEntityNames.BOAR, Boar::new, MobCategory.CREATURE, 0.9F, 0.9F, 0x83653b, 0xffefca); - //public static final DeferredHolder, EntityType> BOGGARD = make(TFEntityNames.BOGGARD, Boggard::new, MobCategory.MONSTER, 0.8F, 1.1F); - public static final DeferredHolder, EntityType> CARMINITE_BROODLING = make(TFEntityNames.CARMINITE_BROODLING, TowerBroodling::new, MobCategory.MONSTER, 0.7F, 0.5F, 0x343c14, 0xbaee02); - public static final DeferredHolder, EntityType> CARMINITE_GHASTGUARD = make(TFEntityNames.CARMINITE_GHASTGUARD, CarminiteGhastguard::new, MobCategory.MONSTER, 4.0F, 6.0F, true, 0xbcbcbc, 0xb77878); - public static final DeferredHolder, EntityType> CARMINITE_GHASTLING = make(TFEntityNames.CARMINITE_GHASTLING, CarminiteGhastling::new, MobCategory.MONSTER, 1.1F, 1.5F, 0.5F, true, 0xbcbcbc, 0xa74343); - public static final DeferredHolder, EntityType> CARMINITE_GOLEM = make(TFEntityNames.CARMINITE_GOLEM, CarminiteGolem::new, MobCategory.MONSTER, 1.4F, 2.9F, 0x6b3d20, 0xe2ddda); - public static final DeferredHolder, EntityType> CHAIN_BLOCK = buildNoEgg(TFEntityNames.CHAIN_BLOCK, makeCastedBuilder(ChainBlock.class, ChainBlock::new, 0.6F, 0.6F, 80, 1), true); - public static final DeferredHolder, EntityType> CHARM_EFFECT = buildNoEgg(TFEntityNames.CHARM_EFFECT, makeCastedBuilder(CharmEffect.class, CharmEffect::new, 0.0F, 0.0F, 80, 3).noSave().noSummon(), true); - public static final DeferredHolder, EntityType> CUBE_OF_ANNIHILATION = buildNoEgg(TFEntityNames.CUBE_OF_ANNIHILATION, makeCastedBuilder(CubeOfAnnihilation.class, CubeOfAnnihilation::new, 1.0F, 1.0F, 80, 1), true); - public static final DeferredHolder, EntityType> DEATH_TOME = make(TFEntityNames.DEATH_TOME, DeathTome::new, MobCategory.MONSTER, 0.6F, 1.1F, 0x774e22, 0xdbcdbe); - public static final DeferredHolder, EntityType> DEER = make(TFEntityNames.DEER, Deer::new, MobCategory.CREATURE, 0.7F, 1.8F, 0x7b4d2e, 0x4b241d); - public static final DeferredHolder, EntityType> DWARF_RABBIT = make(TFEntityNames.DWARF_RABBIT, DwarfRabbit::new, MobCategory.CREATURE, 0.4F, 0.4F, 0xfefeee, 0xccaa99); - public static final DeferredHolder, EntityType> FALLING_ICE = make(TFEntityNames.FALLING_ICE, FallingIce::new, MobCategory.MISC, 1.0F, 1.0F, true, 0, 0); - public static final DeferredHolder, EntityType> FIRE_BEETLE = make(TFEntityNames.FIRE_BEETLE, FireBeetle::new, MobCategory.MONSTER, 1.1F, 0.5F, true, 0x1d0b00, 0xcb6f25); - public static final DeferredHolder, EntityType> GIANT_MINER = make(TFEntityNames.GIANT_MINER, GiantMiner::new, MobCategory.MONSTER, 2.4F, 7.2F, 0x211b52, 0x9a9a9a); - public static final DeferredHolder, EntityType> HARBINGER_CUBE = make(TFEntityNames.HARBINGER_CUBE, HarbingerCube::new, MobCategory.MONSTER, 1.9F, 2.4F, true, 0, 0); - public static final DeferredHolder, EntityType> HEDGE_SPIDER = make(TFEntityNames.HEDGE_SPIDER, HedgeSpider::new, MobCategory.MONSTER, 1.4F, 0.9F, 0x235f13, 0x562653); - public static final DeferredHolder, EntityType> HELMET_CRAB = make(TFEntityNames.HELMET_CRAB, HelmetCrab::new, MobCategory.MONSTER, 0.8F, 1.1F, 0.45F, false, 0xfb904b, 0xd3e7bc); - public static final DeferredHolder, EntityType> HOSTILE_WOLF = make(TFEntityNames.HOSTILE_WOLF, HostileWolf::new, MobCategory.MONSTER, 0.6F, 0.85F, 0xd7d3d3, 0xab1e14); - public static final DeferredHolder, EntityType> HYDRA = make(TFEntityNames.HYDRA, Hydra::new, MobCategory.MONSTER, 16.0F, 12.0F, true, 0x142940, 0x29806b); - public static final DeferredHolder, EntityType> HYDRA_MORTAR = buildNoEgg(TFEntityNames.HYDRA_MORTAR, makeCastedBuilder(HydraMortar.class, HydraMortar::new, 0.75F, 0.75F, 150, 3), true); - public static final DeferredHolder, EntityType> ICE_ARROW = buildNoEgg(TFEntityNames.ICE_ARROW, makeCastedBuilder(IceArrow.class, IceArrow::new, 0.5F, 0.5F, 150, 1), false); - public static final DeferredHolder, EntityType> THROWN_ICE = buildNoEgg(TFEntityNames.THROWN_ICE, makeCastedBuilder(IceBomb.class, IceBomb::new, 1.0F, 1.0F, 80, 2), true); - public static final DeferredHolder, EntityType> ICE_CRYSTAL = make(TFEntityNames.ICE_CRYSTAL, IceCrystal::new, MobCategory.MONSTER, 0.6F, 1.8F, 0xdce9fe, 0xadcafb); - public static final DeferredHolder, EntityType> ICE_SNOWBALL = buildNoEgg(TFEntityNames.ICE_SNOWBALL, makeCastedBuilder(IceSnowball.class, IceSnowball::new, 0.25F, 0.25F, 150, 3), false); - public static final DeferredHolder, EntityType> KING_SPIDER = make(TFEntityNames.KING_SPIDER, KingSpider::new, MobCategory.MONSTER, 1.6F, 1.6F, 0x2c1a0e, 0xffc017); - public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = make(TFEntityNames.KNIGHT_PHANTOM, KnightPhantom::new, MobCategory.MONSTER, 1.25F, 2.5F, 0xa6673b, 0xd3e7bc); - public static final DeferredHolder, EntityType> KOBOLD = make(TFEntityNames.KOBOLD, Kobold::new, MobCategory.MONSTER, 0.8F, 1.1F, 0x372096, 0x895d1b); - public static final DeferredHolder, EntityType> LICH = make(TFEntityNames.LICH, Lich::new, MobCategory.MONSTER, 1.1F, 2.1F, 0xaca489, 0x360472); - public static final DeferredHolder, EntityType> LICH_BOLT = buildNoEgg(TFEntityNames.LICH_BOLT, makeCastedBuilder(LichBolt.class, LichBolt::new, 0.25F, 0.25F, 150, 2), false); - public static final DeferredHolder, EntityType> LICH_BOMB = buildNoEgg(TFEntityNames.LICH_BOMB, makeCastedBuilder(LichBomb.class, LichBomb::new, 0.25F, 0.25F, 150, 3), false); - public static final DeferredHolder, EntityType> LICH_MINION = make(TFEntityNames.LICH_MINION, LichMinion::new, MobCategory.MONSTER, 0.6F, 1.95F, 0, 0); - public static final DeferredHolder, EntityType> LOWER_GOBLIN_KNIGHT = make(TFEntityNames.LOWER_GOBLIN_KNIGHT, LowerGoblinKnight::new, MobCategory.MONSTER, 0.7F, 1.1F, 0x566055, 0xd3e7bc); - public static final DeferredHolder, EntityType> LOYAL_ZOMBIE = make(TFEntityNames.LOYAL_ZOMBIE, LoyalZombie::new, MobCategory.MONSTER, 0.6F, 1.8F, 0, 0, -0.7F); - public static final DeferredHolder, EntityType> MAZE_SLIME = make(TFEntityNames.MAZE_SLIME, MazeSlime::new, MobCategory.MONSTER, 0.52F, 0.52F, 0.325F, false, 0xa3a3a3, 0x2a3b17); - public static final DeferredHolder, EntityType> MINOSHROOM = make(TFEntityNames.MINOSHROOM, Minoshroom::new, MobCategory.MONSTER, 1.49F, 2.5F, 0xa81012, 0xaa7d66); - public static final DeferredHolder, EntityType> MINOTAUR = make(TFEntityNames.MINOTAUR, Minotaur::new, MobCategory.MONSTER, 0.6F, 2.1F, 0x3f3024, 0xaa7d66); - public static final DeferredHolder, EntityType> MIST_WOLF = make(TFEntityNames.MIST_WOLF, MistWolf::new, MobCategory.MONSTER, 1.4F, 1.9F, 1.45F, false, 0x3a1411, 0xe2c88a); - public static final DeferredHolder, EntityType> MOONWORM_SHOT = buildNoEgg(TFEntityNames.MOONWORM_SHOT, makeCastedBuilder(MoonwormShot.class, MoonwormShot::new, 0.25F, 0.25F, 150, 3), false); - public static final DeferredHolder, EntityType> MOSQUITO_SWARM = make(TFEntityNames.MOSQUITO_SWARM, MosquitoSwarm::new, MobCategory.MONSTER, 0.7F, 1.9F, 0x080904, 0x2d2f21); - public static final DeferredHolder, EntityType> NAGA = make(TFEntityNames.NAGA, Naga::new, MobCategory.MONSTER, 2.0F, 3.0F, 2.0F, true, 0xa4d316, 0x1b380b); - public static final DeferredHolder, EntityType> NATURE_BOLT = buildNoEgg(TFEntityNames.NATURE_BOLT, makeCastedBuilder(NatureBolt.class, NatureBolt::new, 0.25F, 0.25F, 150, 5), false); - public static final DeferredHolder, EntityType> MAGIC_PAINTING = buildNoEgg(TFEntityNames.MAGIC_PAINTING, makeCastedBuilder(MagicPainting.class, MagicPainting::new, 0.5F, 0.5F, 10, Integer.MAX_VALUE), false); - public static final DeferredHolder, EntityType> PENGUIN = make(TFEntityNames.PENGUIN, Penguin::new, MobCategory.CREATURE, 0.5F, 0.9F, 0x12151b, 0xf9edd2); - public static final DeferredHolder, EntityType> PINCH_BEETLE = make(TFEntityNames.PINCH_BEETLE, PinchBeetle::new, MobCategory.MONSTER, 1.2F, 0.5F, 0xbc9327, 0x241609); - public static final DeferredHolder, EntityType> PLATEAU_BOSS = make(TFEntityNames.PLATEAU_BOSS, PlateauBoss::new, MobCategory.MONSTER, 1F, 1F, true, 0, 0); - public static final DeferredHolder, EntityType> PROTECTION_BOX = buildNoEgg(TFEntityNames.PROTECTION_BOX, makeCastedBuilder(ProtectionBox.class, ProtectionBox::new, 0, 0, 80, 3).noSave().noSummon(), true); - public static final DeferredHolder, EntityType> QUEST_RAM = make(TFEntityNames.QUEST_RAM, QuestRam::new, MobCategory.CREATURE, 1.25F, 2.9F, 0xfefeee, 0x33aadd); - public static final DeferredHolder, EntityType> RAVEN = make(TFEntityNames.RAVEN, Raven::new, MobCategory.CREATURE, 0.3F, 0.5F, 0x000011, 0x222233); - public static final DeferredHolder, EntityType> REDCAP = make(TFEntityNames.REDCAP, Redcap::new, MobCategory.MONSTER, 0.9F, 1.4F, 0x3b3a6c, 0xab1e14, -0.4F); - public static final DeferredHolder, EntityType> REDCAP_SAPPER = make(TFEntityNames.REDCAP_SAPPER, RedcapSapper::new, MobCategory.MONSTER, 0.9F, 1.4F, 0x575d21, 0xab1e14, -0.4F); - public static final DeferredHolder, EntityType> RISING_ZOMBIE = make(TFEntityNames.RISING_ZOMBIE, RisingZombie::new, MobCategory.MONSTER, 0.6F, 1.95F, 0, 0); - public static final DeferredHolder, EntityType> ROVING_CUBE = make(TFEntityNames.ROVING_CUBE, RovingCube::new, MobCategory.MONSTER, 1.2F, 2.1F, 0, 0); - public static final DeferredHolder, EntityType> SEEKER_ARROW = buildNoEgg(TFEntityNames.SEEKER_ARROW, makeCastedBuilder(SeekerArrow.class, SeekerArrow::new, 0.5F, 0.5F, 150, 1), false); - public static final DeferredHolder, EntityType> SKELETON_DRUID = make(TFEntityNames.SKELETON_DRUID, SkeletonDruid::new, MobCategory.MONSTER, 0.6F, 1.99F, 0xa3a3a3, 0x2a3b17, -0.7F); - public static final DeferredHolder, EntityType> SLIDER = buildNoEgg(TFEntityNames.SLIDER, makeCastedBuilder(SlideBlock.class, SlideBlock::new, 0.98F, 0.98F, 80, 1), false); - public static final DeferredHolder, EntityType> SLIME_BEETLE = make(TFEntityNames.SLIME_BEETLE, SlimeBeetle::new, MobCategory.MONSTER, 0.9F, 0.5F, 0x0c1606, 0x60a74c); - public static final DeferredHolder, EntityType> SLIME_BLOB = buildNoEgg(TFEntityNames.SLIME_BLOB, makeCastedBuilder(SlimeProjectile.class, SlimeProjectile::new, 0.25F, 0.25F, 150, 3), false); - public static final DeferredHolder, EntityType> SNOW_GUARDIAN = make(TFEntityNames.SNOW_GUARDIAN, SnowGuardian::new, MobCategory.MONSTER, 0.6F, 1.8F, 0xd3e7bc, 0xfefefe); - public static final DeferredHolder, EntityType> SNOW_QUEEN = make(TFEntityNames.SNOW_QUEEN, SnowQueen::new, MobCategory.MONSTER, 0.7F, 2.5F, 0xb1b2d4, 0x87006e); - public static final DeferredHolder, EntityType> SQUIRREL = make(TFEntityNames.SQUIRREL, Squirrel::new, MobCategory.CREATURE, 0.3F, 0.5F, 0x904f12, 0xeeeeee); - public static final DeferredHolder, EntityType> STABLE_ICE_CORE = make(TFEntityNames.STABLE_ICE_CORE, StableIceCore::new, MobCategory.MONSTER, 0.8F, 1.8F, 1.35F, false, 0xa1bff3, 0x7000f8); - public static final DeferredHolder, EntityType> SWARM_SPIDER = make(TFEntityNames.SWARM_SPIDER, SwarmSpider::new, MobCategory.MONSTER, 0.8F, 0.4F, 0x32022e, 0x17251e); - public static final DeferredHolder, EntityType> THROWN_BLOCK = buildNoEgg(TFEntityNames.THROWN_BLOCK, makeCastedBuilder(ThrownBlock.class, ThrownBlock::new, 1.0F, 1.0F, 80, 2), true); - public static final DeferredHolder, EntityType> THROWN_WEP = make(TFEntityNames.THROWN_WEP, ThrownWep::new, MobCategory.MISC, 0.5F, 0.5F, 0, 0); - public static final DeferredHolder, EntityType> TINY_BIRD = make(TFEntityNames.TINY_BIRD, TinyBird::new, MobCategory.CREATURE, 0.3F, 0.3F, 0x33aadd, 0x1188ee); - public static final DeferredHolder, EntityType> TOME_BOLT = buildNoEgg(TFEntityNames.TOME_BOLT, makeCastedBuilder(TomeBolt.class, TomeBolt::new, 0.25F, 0.25F, 150, 5), false); - public static final DeferredHolder, EntityType> TOWERWOOD_BORER = make(TFEntityNames.TOWERWOOD_BORER, TowerwoodBorer::new, MobCategory.MONSTER, 0.4F, 0.3F, 0x5d2b21, 0xaca03a); - public static final DeferredHolder, EntityType> TROLL = make(TFEntityNames.TROLL, Troll::new, MobCategory.MONSTER, 1.4F, 2.4F, 0x9ea98f, 0xb0948e); - public static final DeferredHolder, EntityType> WAND_BOLT = buildNoEgg(TFEntityNames.WAND_BOLT, makeCastedBuilder(TwilightWandBolt.class, TwilightWandBolt::new, 0.25F, 0.25F, 150, 5), false); - public static final DeferredHolder, EntityType> UNSTABLE_ICE_CORE = make(TFEntityNames.UNSTABLE_ICE_CORE, UnstableIceCore::new, MobCategory.MONSTER, 0.8F, 1.8F, 1.35F, false, 0x9aacf5, 0x9b0fa5); - public static final DeferredHolder, EntityType> UPPER_GOBLIN_KNIGHT = make(TFEntityNames.UPPER_GOBLIN_KNIGHT, UpperGoblinKnight::new, MobCategory.MONSTER, 1.1F, 1.3F, 0, 0); - public static final DeferredHolder, EntityType> UR_GHAST = make(TFEntityNames.UR_GHAST, UrGhast::new, MobCategory.MONSTER, 14.0F, 18.0F, true, 0xbcbcbc, 0xb77878); - public static final DeferredHolder, EntityType> WINTER_WOLF = make(TFEntityNames.WINTER_WOLF, WinterWolf::new, MobCategory.MONSTER, 1.4F, 1.9F, 1.45F, false, 0xdfe3e5, 0xb2bcca); - public static final DeferredHolder, EntityType> WRAITH = make(TFEntityNames.WRAITH, Wraith::new, MobCategory.MONSTER, 0.6F, 2.1F, true, 0x505050, 0x838383); - public static final DeferredHolder, EntityType> YETI = make(TFEntityNames.YETI, Yeti::new, MobCategory.MONSTER, 1.4F, 2.4F, 0xdedede, 0x4675bb); - - //Same as below, but with riding offset set to 0.0F; - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, int primary, int secondary) { - return make(id, factory, classification, width, height, primary, secondary, 0.0F); - } - - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, int primary, int secondary, float ridingOffset) { - return make(id, factory, classification, width, height, false, primary, secondary, ridingOffset); - } - - //Same as below, but with riding offset set to 0.0F; - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, boolean fireproof, int primary, int secondary) { - return make(id, factory, classification, width, height, fireproof, primary, secondary, 0.0F); - } - - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, boolean fireproof, int primary, int secondary, float ridingOffset) { - return build(id, makeBuilder(factory, classification, width, height, 80, 3, ridingOffset), fireproof, primary, secondary); - } - - //Same as below, but with riding offset set to 0.0F; - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, float eyeHeight, boolean fireproof, int primary, int secondary) { - return make(id, factory, classification, width, height, eyeHeight, fireproof, primary, secondary, 0.0F); + public static final Map>, Supplier> ATTRIBUTES = new HashMap<>(); + public static final Map>, SpawnPlacements.SpawnPredicate> SPAWN_PREDICATES = new HashMap<>(); + + public static final DeferredHolder, EntityType> ADHERENT = registerWithAttributes("adherent", EntityType.Builder.of(Adherent::new, MobCategory.MONSTER).sized(0.8F, 2.2F).clientTrackingRange(8), Adherent::registerAttributes); + public static final DeferredHolder, EntityType> ALPHA_YETI = registerWithEgg("alpha_yeti", EntityType.Builder.of(AlphaYeti::new, MobCategory.MONSTER).sized(3.8F, 5.0F).clientTrackingRange(16), 0xCDCDCD, 0x29486E, AlphaYeti::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> ARMORED_GIANT = registerWithEgg("armored_giant", EntityType.Builder.of(ArmoredGiant::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), 0x239391, 0x9A9A9A, ArmoredGiant::registerAttributes, ArmoredGiant::checkGiantSpawnRules); + public static final DeferredHolder, EntityType> BIGHORN_SHEEP = registerWithEgg("bighorn_sheep", EntityType.Builder.of(Bighorn::new, MobCategory.CREATURE).sized(0.9F, 1.3F).clientTrackingRange(8), 0xDBCEAF, 0xD7C771, Bighorn::createAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> BLOCKCHAIN_GOBLIN = registerWithEgg("block_and_chain_goblin", EntityType.Builder.of(BlockChainGoblin::new, MobCategory.MONSTER).sized(0.9F, 1.4F).clientTrackingRange(8), 0xD3E7BC, 0x1F3FFF, BlockChainGoblin::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> BOAR = registerWithEgg("boar", EntityType.Builder.of(Boar::new, MobCategory.CREATURE).sized(0.9F, 0.9F).clientTrackingRange(8), 0x83653B, 0xFFEFCA, Boar::registerAttributes, Animal::checkAnimalSpawnRules); + //public static final DeferredHolder, EntityType> BOGGARD = registerWithAttributes("boggard", EntityType.Builder.of(Boggard::new, MobCategory.MONSTER).sized(0.8F, 1.1F), Boggard::registerAttributes); + public static final DeferredHolder, EntityType> CARMINITE_BROODLING = registerWithEgg("carminite_broodling", EntityType.Builder.of(TowerBroodling::new, MobCategory.MONSTER).sized(0.7F, 0.5F).clientTrackingRange(8), 0x343C14, 0xBAEE02, TowerBroodling::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GHASTGUARD = registerWithEgg("carminite_ghastguard", EntityType.Builder.of(CarminiteGhastguard::new, MobCategory.MONSTER).sized(4.0F, 6.0F).clientTrackingRange(20).fireImmune(), 0xBCBCBC, 0xB77878, CarminiteGhastguard::registerAttributes, CarminiteGhastguard::checkGhastguardSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GHASTLING = registerWithEgg("carminite_ghastling", EntityType.Builder.of(CarminiteGhastling::new, MobCategory.MONSTER).sized(1.1F, 1.5F).eyeHeight(0.5F).clientTrackingRange(10).fireImmune(), 0xBCBCBC, 0xA74343, CarminiteGhastling::registerAttributes, CarminiteGhastling::checkGhastlingSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GOLEM = registerWithEgg("carminite_golem", EntityType.Builder.of(CarminiteGolem::new, MobCategory.MONSTER).sized(1.4F, 2.9F).clientTrackingRange(8), 0x6B3D20, 0xE2DDDA, CarminiteGolem::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> CHAIN_BLOCK = registerMisc("chain_block", EntityType.Builder.of(ChainBlock::new, MobCategory.MISC).noLootTable().sized(0.6F, 0.6F).noSummon().clientTrackingRange(8).setUpdateInterval(1).fireImmune()); + public static final DeferredHolder, EntityType> CHARM_EFFECT = registerMisc("charm_effect", EntityType.Builder.of(CharmEffect::new, MobCategory.MISC).noLootTable().sized(0.0F, 0.0F).clientTrackingRange(4).updateInterval(Integer.MAX_VALUE).noSave().noSummon().fireImmune()); + public static final DeferredHolder, EntityType> CUBE_OF_ANNIHILATION = registerMisc("cube_of_annihilation", EntityType.Builder.of(CubeOfAnnihilation::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).noSummon().clientTrackingRange(4).setUpdateInterval(20).fireImmune()); + public static final DeferredHolder, EntityType> DEATH_TOME = registerWithEgg("death_tome", EntityType.Builder.of(DeathTome::new, MobCategory.MONSTER).sized(0.6F, 1.1F).clientTrackingRange(8), 0x774E22, 0xDBCDBE, DeathTome::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> DEER = registerWithEgg("deer", EntityType.Builder.of(Deer::new, MobCategory.CREATURE).sized(0.7F, 1.8F).clientTrackingRange(8), 0x7B4D2E, 0x4B241D, Deer::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> DWARF_RABBIT = registerWithEgg("dwarf_rabbit", EntityType.Builder.of(DwarfRabbit::new, MobCategory.CREATURE).sized(0.4F, 0.4F).clientTrackingRange(8), 0xFEFEEE, 0xCCAA99, DwarfRabbit::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> FALLING_ICE = registerMisc("falling_ice", EntityType.Builder.of(FallingIce::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> FIRE_BEETLE = registerWithEgg("fire_beetle", EntityType.Builder.of(FireBeetle::new, MobCategory.MONSTER).sized(1.1F, 0.5F).clientTrackingRange(8).fireImmune(), 0x1D0B00, 0xCB6F25, FireBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> GIANT_MINER = registerWithEgg("giant_miner", EntityType.Builder.of(GiantMiner::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), 0x211B52, 0x9A9A9A, GiantMiner::registerAttributes, GiantMiner::checkGiantSpawnRules); + public static final DeferredHolder, EntityType> HARBINGER_CUBE = registerWithAttributes("harbinger_cube", EntityType.Builder.of(HarbingerCube::new, MobCategory.MONSTER).sized(1.9F, 2.4F).clientTrackingRange(8).fireImmune(), HarbingerCube::registerAttributes); + public static final DeferredHolder, EntityType> HEDGE_SPIDER = registerWithEgg("hedge_spider", EntityType.Builder.of(HedgeSpider::new, MobCategory.MONSTER).sized(1.4F, 0.9F), 0x235F13, 0x562653, HedgeSpider::createAttributes, HedgeSpider::checkSpiderSpawnRules); + public static final DeferredHolder, EntityType> HELMET_CRAB = registerWithEgg("helmet_crab", EntityType.Builder.of(HelmetCrab::new, MobCategory.MONSTER).sized(0.8F, 1.1F).eyeHeight(0.45F).clientTrackingRange(8).fireImmune(), 0xFB904B, 0xD3E7BC, HelmetCrab::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> HOSTILE_WOLF = registerWithEgg("hostile_wolf", EntityType.Builder.of(HostileWolf::new, MobCategory.MONSTER).sized(0.6F, 0.85F).clientTrackingRange(8), 0xD7D3D3, 0xAB1E14, HostileWolf::registerAttributes, HostileWolf::checkWolfSpawnRules); + public static final DeferredHolder, EntityType> HYDRA = registerWithEgg("hydra", EntityType.Builder.of(Hydra::new, MobCategory.MONSTER).sized(16.0F, 12.0F).clientTrackingRange(20).fireImmune(), 0x142940, 0x29806B, Hydra::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> HYDRA_MORTAR = registerMisc("hydra_mortar", EntityType.Builder.of(HydraMortar::new, MobCategory.MISC).noLootTable().sized(0.75F, 0.75F).clientTrackingRange(8).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> ICE_ARROW = registerMisc("ice_arrow", EntityType.Builder.of(IceArrow::new, MobCategory.MISC).noLootTable().sized(0.5F, 0.5F).eyeHeight(0.13F).clientTrackingRange(4).updateInterval(20)); + public static final DeferredHolder, EntityType> THROWN_ICE = registerMisc("ice_bomb", EntityType.Builder.of(IceBomb::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).clientTrackingRange(8).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> ICE_CRYSTAL = registerWithEgg("ice_crystal", EntityType.Builder.of(IceCrystal::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), 0xDCE9FE, 0xADCAFB, IceCrystal::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> ICE_SNOWBALL = registerMisc("ice_snowball", EntityType.Builder.of(IceSnowball::new, MobCategory.MISC).noLootTable().sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> KING_SPIDER = registerWithEgg("king_spider", EntityType.Builder.of(KingSpider::new, MobCategory.MONSTER).sized(1.6F, 1.6F).clientTrackingRange(8), 0x2C1A0E, 0xFFC017, KingSpider::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = registerWithEgg("knight_phantom", EntityType.Builder.of(KnightPhantom::new, MobCategory.MONSTER).sized(1.25F, 2.5F).clientTrackingRange(10), 0xA6673B, 0xD3E7BC, KnightPhantom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> KOBOLD = registerWithEgg("kobold", EntityType.Builder.of(Kobold::new, MobCategory.MONSTER).sized(0.8F, 1.1F).clientTrackingRange(8), 0x372096, 0x895D1B, Kobold::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> LICH = registerWithEgg("lich", EntityType.Builder.of(Lich::new, MobCategory.MONSTER).sized(1.1F, 2.1F), 0xACA489, 0x360472, Lich::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> LICH_BOLT = registerMisc("lich_bolt", EntityType.Builder.of(LichBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); + public static final DeferredHolder, EntityType> LICH_BOMB = registerMisc("lich_bomb", EntityType.Builder.of(LichBomb::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); + public static final DeferredHolder, EntityType> LICH_MINION = registerWithAttributes("lich_minion", EntityType.Builder.of(LichMinion::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(8), LichMinion::createAttributes); + public static final DeferredHolder, EntityType> LOWER_GOBLIN_KNIGHT = registerWithEgg("lower_goblin_knight", EntityType.Builder.of(LowerGoblinKnight::new, MobCategory.MONSTER).sized(0.7F, 1.1F).clientTrackingRange(10), 0x566055, 0xD3E7BC, LowerGoblinKnight::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> LOYAL_ZOMBIE = registerWithAttributes("loyal_zombie", EntityType.Builder.of(LoyalZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F), LoyalZombie::registerAttributes); + public static final DeferredHolder, EntityType> MAZE_SLIME = registerWithEgg("maze_slime", EntityType.Builder.of(MazeSlime::new, MobCategory.MONSTER).sized(0.52F, 0.52F).eyeHeight(0.325F).spawnDimensionsScale(4.0F).clientTrackingRange(10), 0xA3A3A3, 0x2A3B17, MazeSlime::registerAttributes, MazeSlime::checkSlimeSpawnRules); + public static final DeferredHolder, EntityType> MINOSHROOM = registerWithEgg("minoshroom", EntityType.Builder.of(Minoshroom::new, MobCategory.MONSTER).sized(1.49F, 2.5F).clientTrackingRange(10), 0xA81012, 0xAA7D66, Minoshroom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> MINOTAUR = registerWithEgg("minotaur", EntityType.Builder.of(Minotaur::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8), 0x3F3024, 0xAA7D66, Minotaur::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> MIST_WOLF = registerWithEgg("mist_wolf", EntityType.Builder.of(MistWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).clientTrackingRange(8), 0x3A1411, 0xE2C88A, MistWolf::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> MOONWORM_SHOT = registerMisc("moonworm_shot", EntityType.Builder.of(MoonwormShot::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> MOSQUITO_SWARM = registerWithEgg("mosquito_swarm", EntityType.Builder.of(MosquitoSwarm::new, MobCategory.MONSTER).sized(0.7F, 1.9F).clientTrackingRange(10), 0x080904, 0x2D2F21, MosquitoSwarm::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> NAGA = registerWithEgg("naga", EntityType.Builder.of(Naga::new, MobCategory.MONSTER).sized(2.0F, 3.0F).eyeHeight(2.0F).clientTrackingRange(10), 0xa4d316, 0x1b380b, Naga::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> NATURE_BOLT = registerMisc("nature_bolt", EntityType.Builder.of(NatureBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> MAGIC_PAINTING = registerMisc("magic_painting", EntityType.Builder.of(MagicPainting::new, MobCategory.MISC).noLootTable().noSummon().sized(0.5F, 0.5F).clientTrackingRange(10).updateInterval(Integer.MAX_VALUE)); + public static final DeferredHolder, EntityType> PENGUIN = registerWithEgg("penguin", EntityType.Builder.of(Penguin::new, MobCategory.CREATURE).sized(0.5F, 0.9F).clientTrackingRange(8), 0x12151b, 0xf9edd2, Penguin::registerAttributes, Penguin::checkPenguinSpawnRules); + public static final DeferredHolder, EntityType> PINCH_BEETLE = registerWithEgg("pinch_beetle", EntityType.Builder.of(PinchBeetle::new, MobCategory.MONSTER).sized(1.2F, 0.5F).clientTrackingRange(8), 0xbc9327, 0x241609, PinchBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> PLATEAU_BOSS = registerWithAttributes("plateau_boss", EntityType.Builder.of(PlateauBoss::new, MobCategory.MONSTER).noLootTable().noSave().noSummon().sized(1.0F, 1.0F).fireImmune().clientTrackingRange(10), PlateauBoss::registerAttributes); + public static final DeferredHolder, EntityType> PROTECTION_BOX = registerMisc("protection_box", EntityType.Builder.of(ProtectionBox::new, MobCategory.MISC).noSave().noSummon().sized(0.0F, 0.0F).clientTrackingRange(16).fireImmune()); + public static final DeferredHolder, EntityType> QUEST_RAM = registerWithEgg("quest_ram", EntityType.Builder.of(QuestRam::new, MobCategory.CREATURE).sized(1.25F, 2.9F).clientTrackingRange(10), 0xFEFEEE, 0x33AADD, QuestRam::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> RAVEN = registerWithEgg("raven", EntityType.Builder.of(Raven::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(10), 0x000011, 0x222233, Raven::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> REDCAP = registerWithEgg("redcap", EntityType.Builder.of(Redcap::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x3B3A6C, 0xAB1E14, Redcap::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> REDCAP_SAPPER = registerWithEgg("redcap_sapper", EntityType.Builder.of(RedcapSapper::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x575D21, 0xAB1E14, RedcapSapper::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> RISING_ZOMBIE = registerWithAttributes("rising_zombie", EntityType.Builder.of(RisingZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).clientTrackingRange(8).noSummon(), RisingZombie::createAttributes); + public static final DeferredHolder, EntityType> ROVING_CUBE = registerWithAttributes("roving_cube", EntityType.Builder.of(RovingCube::new, MobCategory.MONSTER).sized(1.2F, 2.1F).noLootTable().noSummon().clientTrackingRange(8).fireImmune(), RovingCube::registerAttributes); + public static final DeferredHolder, EntityType> SEEKER_ARROW = registerMisc("seeker_arrow", EntityType.Builder.of(SeekerArrow::new, MobCategory.MISC).sized(0.5F, 0.5F).clientTrackingRange(4).updateInterval(20)); + public static final DeferredHolder, EntityType> SKELETON_DRUID = registerWithEgg("skeleton_druid", EntityType.Builder.of(SkeletonDruid::new, MobCategory.MONSTER).sized(0.6F, 1.99F).ridingOffset(-0.7F).clientTrackingRange(10), 0xA3A3A3, 0x2A3B17, SkeletonDruid::createAttributes, SkeletonDruid::checkDruidSpawnRules); + public static final DeferredHolder, EntityType> SLIDER = registerMisc("slider", EntityType.Builder.of(SlideBlock::new, MobCategory.MISC).sized(0.98F, 0.98F).noSummon().clientTrackingRange(8)); + public static final DeferredHolder, EntityType> SLIME_BEETLE = registerWithEgg("slime_beetle", EntityType.Builder.of(SlimeBeetle::new, MobCategory.MONSTER).sized(0.9F, 0.5F).clientTrackingRange(8), 0x0C1606, 0x60A74C, SlimeBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SLIME_BLOB = registerMisc("slime_projectile", EntityType.Builder.of(SlimeProjectile::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> SNOW_GUARDIAN = registerWithEgg("snow_guardian", EntityType.Builder.of(SnowGuardian::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), 0xD3E7BC, 0xFEFEFE, SnowGuardian::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SNOW_QUEEN = registerWithEgg("snow_queen", EntityType.Builder.of(SnowQueen::new, MobCategory.MONSTER).sized(0.7F, 2.5F).clientTrackingRange(10), 0xB1B2D4, 0x87006E, SnowGuardian::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> SQUIRREL = registerWithEgg("squirrel", EntityType.Builder.of(Squirrel::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(8), 0x904f12, 0xeeeeee, Squirrel::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> STABLE_ICE_CORE = registerWithEgg("stable_ice_core", EntityType.Builder.of(StableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), 0xa1bff3, 0x7000f8, StableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SWARM_SPIDER = registerWithEgg("swarm_spider", EntityType.Builder.of(SwarmSpider::new, MobCategory.MONSTER).sized(0.8F, 0.4F).clientTrackingRange(8), 0x32022e, 0x17251e, SwarmSpider::registerAttributes, SwarmSpider::checkSwarmSpawnRules); + public static final DeferredHolder, EntityType> THROWN_BLOCK = registerMisc("thrown_block", EntityType.Builder.of(ThrownBlock::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> THROWN_WEP = registerMisc("thrown_weapon", EntityType.Builder.of(ThrownWep::new, MobCategory.MISC).sized(0.5F, 0.5F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> TINY_BIRD = registerWithEgg("tiny_bird", EntityType.Builder.of(TinyBird::new, MobCategory.CREATURE).sized(0.3F, 0.3F).clientTrackingRange(8), 0x33aadd, 0x1188ee, TinyBird::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> TOME_BOLT = registerMisc("tome_bolt", EntityType.Builder.of(TomeBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> TOWERWOOD_BORER = registerWithEgg("towerwood_borer", EntityType.Builder.of(TowerwoodBorer::new, MobCategory.MONSTER).sized(0.4F, 0.3F).eyeHeight(0.13F).clientTrackingRange(8), 0x5d2b21, 0xaca03a, TowerwoodBorer::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> TROLL = registerWithEgg("troll", EntityType.Builder.of(Troll::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), 0x9ea98f, 0xb0948e, Troll::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> WAND_BOLT = registerMisc("wand_bolt", EntityType.Builder.of(TwilightWandBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> UNSTABLE_ICE_CORE = registerWithEgg("unstable_ice_core", EntityType.Builder.of(UnstableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), 0x9aacf5, 0x9b0fa5, UnstableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> UPPER_GOBLIN_KNIGHT = registerWithPlacement("upper_goblin_knight", EntityType.Builder.of(UpperGoblinKnight::new, MobCategory.MONSTER).sized(1.1F, 1.3F).clientTrackingRange(8), UpperGoblinKnight::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> UR_GHAST = registerWithEgg("ur_ghast", EntityType.Builder.of(UrGhast::new, MobCategory.MONSTER).sized(14.0F, 18.0F).clientTrackingRange(24).fireImmune(), 0xbcbcbc, 0xb77878, UrGhast::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> WINTER_WOLF = registerWithEgg("winter_wolf", EntityType.Builder.of(WinterWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).eyeHeight(1.45F).clientTrackingRange(8), 0xdfe3e5, 0xb2bcca, WinterWolf::registerAttributes, WinterWolf::checkWinterSpawnRules); + public static final DeferredHolder, EntityType> WRAITH = registerWithEgg("wraith", EntityType.Builder.of(Wraith::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8).fireImmune(), 0x505050, 0x838383, Wraith::registerAttributes, Wraith::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> YETI = registerWithEgg("yeti", EntityType.Builder.of(Yeti::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), 0xdedede, 0x4675bb, Yeti::registerAttributes, Yeti::checkYetiSpawnRules); + + public static final DeferredHolder, EntityType> TWILIGHT_OAK_BOAT = registerMisc("twilight_oak_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TWILIGHT_OAK_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TWILIGHT_OAK_CHEST_BOAT = registerMisc("twilight_oak_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TWILIGHT_OAK_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> CANOPY_BOAT = registerMisc("canopy_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.CANOPY_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> CANOPY_CHEST_BOAT = registerMisc("canopy_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.CANOPY_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MANGROVE_BOAT = registerMisc("mangrove_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MANGROVE_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MANGROVE_CHEST_BOAT = registerMisc("mangrove_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MANGROVE_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> DARK_BOAT = registerMisc("dark_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.DARK_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> DARK_CHEST_BOAT = registerMisc("dark_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.DARK_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TIME_BOAT = registerMisc("time_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TIME_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TIME_CHEST_BOAT = registerMisc("time_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TIME_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TRANSFORMATION_BOAT = registerMisc("transformation_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TRANSFORMATION_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TRANSFORMATION_CHEST_BOAT = registerMisc("transformation_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TRANSFORMATION_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MINING_BOAT = registerMisc("mining_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MINING_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MINING_CHEST_BOAT = registerMisc("mining_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MINING_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> SORTING_BOAT = registerMisc("sorting_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.SORTING_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> SORTING_CHEST_BOAT = registerMisc("sorting_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.SORTING_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + + public static DeferredHolder, EntityType> registerMisc(String name, EntityType.Builder builder) { + return ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); } - private static DeferredHolder, EntityType> make(ResourceLocation id, EntityType.EntityFactory factory, MobCategory classification, float width, float height, float eyeHeight, boolean fireproof, int primary, int secondary, float ridingOffset) { - return build(id, makeBuilder(factory, classification, width, height, 80, 3, ridingOffset).eyeHeight(eyeHeight), fireproof, primary, secondary); - } - - private static DeferredHolder, EntityType> buildNoEgg(ResourceLocation id, EntityType.Builder builder, boolean fireproof) { - if (fireproof) builder.fireImmune(); - return ENTITIES.register(id.getPath(), () -> builder.build(id.toString())); + public static DeferredHolder, EntityType> registerWithAttributes(String name, EntityType.Builder builder, Supplier attributes) { + DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); + ATTRIBUTES.put(ret, attributes); + return ret; } - @SuppressWarnings("unchecked") - private static DeferredHolder, EntityType> build(ResourceLocation id, EntityType.Builder builder, boolean fireproof, int primary, int secondary) { - if (fireproof) builder.fireImmune(); - DeferredHolder, EntityType> ret = ENTITIES.register(id.getPath(), () -> builder.build(id.toString())); - if (primary != 0 && secondary != 0) { - SPAWN_EGGS.register(id.getPath() + "_spawn_egg", () -> new DeferredSpawnEggItem(() -> (EntityType) ret.get(), primary, secondary, new Item.Properties())); + public static DeferredHolder, EntityType> registerWithPlacement(String name, EntityType.Builder builder, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { + DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); + ATTRIBUTES.put(ret, attributes); + if (predicate != null) { + SPAWN_PREDICATES.put(ret, predicate); } return ret; } - private static EntityType.Builder makeCastedBuilder(@SuppressWarnings("unused") Class cast, EntityType.EntityFactory factory, float width, float height, int range, int interval) { - return makeBuilder(factory, MobCategory.MISC, width, height, range, interval, 0.0F); - } - - private static EntityType.Builder makeBuilder(EntityType.EntityFactory factory, MobCategory classification, float width, float height, int range, int interval, float ridingOffset) { - return EntityType.Builder.of(factory, classification) - .sized(width, height) - .setTrackingRange(range) - .setUpdateInterval(interval) - .setShouldReceiveVelocityUpdates(true) - .ridingOffset(ridingOffset); - } - - @SubscribeEvent - public static void registerSpawnPlacements(RegisterSpawnPlacementsEvent event) { - event.register(BOAR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(BIGHORN_SHEEP.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(DEER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(REDCAP.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SKELETON_DRUID.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SkeletonDruid::checkDruidSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(WRAITH.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Wraith::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(HOSTILE_WOLF.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, HostileWolf::checkWolfSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(HYDRA.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Mob::checkMobSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(LICH.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(PENGUIN.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Penguin::canSpawn, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(LICH_MINION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(LOYAL_ZOMBIE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Mob::checkMobSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(TINY_BIRD.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SQUIRREL.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(DWARF_RABBIT.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(RAVEN.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(QUEST_RAM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(KOBOLD.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(MOSQUITO_SWARM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(DEATH_TOME.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(MINOTAUR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(MINOSHROOM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(FIRE_BEETLE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SLIME_BEETLE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(PINCH_BEETLE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(MIST_WOLF.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(CARMINITE_GHASTLING.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CarminiteGhastling::canSpawnHere, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(CARMINITE_GOLEM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(TOWERWOOD_BORER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(CARMINITE_GHASTGUARD.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CarminiteGhastguard::ghastSpawnHandler, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(UR_GHAST.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(BLOCKCHAIN_GOBLIN.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(UPPER_GOBLIN_KNIGHT.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(LOWER_GOBLIN_KNIGHT.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(HELMET_CRAB.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(KNIGHT_PHANTOM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Mob::checkMobSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(NAGA.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SWARM_SPIDER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SwarmSpider::getCanSpawnHere, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(KING_SPIDER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(CARMINITE_BROODLING.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(HEDGE_SPIDER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, HedgeSpider::canSpawn, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(REDCAP_SAPPER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(MAZE_SLIME.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MazeSlime::getCanSpawnHere, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(YETI.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Yeti::yetiSnowyForestSpawnHandler, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(ALPHA_YETI.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(WINTER_WOLF.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WinterWolf::canSpawnHere, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SNOW_GUARDIAN.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(STABLE_ICE_CORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(UNSTABLE_ICE_CORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(SNOW_QUEEN.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(TROLL.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(GIANT_MINER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, GiantMiner::canSpawn, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(ARMORED_GIANT.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, GiantMiner::canSpawn, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(ICE_CRYSTAL.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(HARBINGER_CUBE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(ADHERENT.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(ROVING_CUBE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); - event.register(RISING_ZOMBIE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, RegisterSpawnPlacementsEvent.Operation.REPLACE); + public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, int primaryColor, int secondaryColor, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { + DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); + SPAWN_EGGS.register(name + "_spawn_egg", () -> new DeferredSpawnEggItem(ret, primaryColor, secondaryColor, new Item.Properties())); + ATTRIBUTES.put(ret, attributes); + if (predicate != null) { + SPAWN_PREDICATES.put(ret, predicate); + } + return ret; } - @SubscribeEvent - public static void addEntityAttributes(EntityAttributeCreationEvent event) { - event.put(BOAR.get(), Boar.registerAttributes().build()); - event.put(BIGHORN_SHEEP.get(), Sheep.createAttributes().build()); - event.put(DEER.get(), Deer.registerAttributes().build()); - event.put(REDCAP.get(), Redcap.registerAttributes().build()); - event.put(SWARM_SPIDER.get(), SwarmSpider.registerAttributes().build()); - event.put(NAGA.get(), Naga.registerAttributes().build()); - event.put(SKELETON_DRUID.get(), AbstractSkeleton.createAttributes().build()); - event.put(HOSTILE_WOLF.get(), HostileWolf.registerAttributes().build()); - event.put(WRAITH.get(), Wraith.registerAttributes().build()); - event.put(HEDGE_SPIDER.get(), Spider.createAttributes().build()); - event.put(HYDRA.get(), Hydra.registerAttributes().build()); - event.put(LICH.get(), Lich.registerAttributes().build()); - event.put(PENGUIN.get(), Penguin.registerAttributes().build()); - event.put(LICH_MINION.get(), Zombie.createAttributes().build()); - event.put(LOYAL_ZOMBIE.get(), LoyalZombie.registerAttributes().build()); - event.put(TINY_BIRD.get(), TinyBird.registerAttributes().build()); - event.put(SQUIRREL.get(), Squirrel.registerAttributes().build()); - event.put(DWARF_RABBIT.get(), DwarfRabbit.registerAttributes().build()); - event.put(RAVEN.get(), Raven.registerAttributes().build()); - event.put(QUEST_RAM.get(), QuestRam.registerAttributes().build()); - event.put(KOBOLD.get(), Kobold.registerAttributes().build()); - event.put(MOSQUITO_SWARM.get(), MosquitoSwarm.registerAttributes().build()); - event.put(DEATH_TOME.get(), DeathTome.registerAttributes().build()); - event.put(MINOTAUR.get(), Minotaur.registerAttributes().build()); - event.put(MINOSHROOM.get(), Minoshroom.registerAttributes().build()); - event.put(FIRE_BEETLE.get(), FireBeetle.registerAttributes().build()); - event.put(SLIME_BEETLE.get(), SlimeBeetle.registerAttributes().build()); - event.put(PINCH_BEETLE.get(), PinchBeetle.registerAttributes().build()); - event.put(MAZE_SLIME.get(), MazeSlime.registerAttributes().build()); - event.put(REDCAP_SAPPER.get(), RedcapSapper.registerAttributes().build()); - event.put(MIST_WOLF.get(), MistWolf.registerAttributes().build()); - event.put(KING_SPIDER.get(), KingSpider.registerAttributes().build()); - event.put(CARMINITE_GHASTLING.get(), CarminiteGhastling.registerAttributes().build()); - event.put(CARMINITE_GHASTGUARD.get(), CarminiteGhastguard.registerAttributes().build()); - event.put(CARMINITE_GOLEM.get(), CarminiteGolem.registerAttributes().build()); - event.put(TOWERWOOD_BORER.get(), TowerwoodBorer.registerAttributes().build()); - event.put(CARMINITE_BROODLING.get(), TowerBroodling.registerAttributes().build()); - event.put(UR_GHAST.get(), UrGhast.registerAttributes().build()); - event.put(BLOCKCHAIN_GOBLIN.get(), BlockChainGoblin.registerAttributes().build()); - event.put(UPPER_GOBLIN_KNIGHT.get(), UpperGoblinKnight.registerAttributes().build()); - event.put(LOWER_GOBLIN_KNIGHT.get(), LowerGoblinKnight.registerAttributes().build()); - event.put(HELMET_CRAB.get(), HelmetCrab.registerAttributes().build()); - event.put(KNIGHT_PHANTOM.get(), KnightPhantom.registerAttributes().build()); - event.put(YETI.get(), Yeti.registerAttributes().build()); - event.put(ALPHA_YETI.get(), AlphaYeti.registerAttributes().build()); - event.put(WINTER_WOLF.get(), WinterWolf.registerAttributes().build()); - event.put(SNOW_GUARDIAN.get(), SnowGuardian.registerAttributes().build()); - event.put(STABLE_ICE_CORE.get(), StableIceCore.registerAttributes().build()); - event.put(UNSTABLE_ICE_CORE.get(), UnstableIceCore.registerAttributes().build()); - event.put(SNOW_QUEEN.get(), SnowQueen.registerAttributes().build()); - event.put(TROLL.get(), Troll.registerAttributes().build()); - event.put(GIANT_MINER.get(), GiantMiner.registerAttributes().build()); - event.put(ARMORED_GIANT.get(), GiantMiner.registerAttributes().build()); - event.put(ICE_CRYSTAL.get(), IceCrystal.registerAttributes().build()); - event.put(HARBINGER_CUBE.get(), HarbingerCube.registerAttributes().build()); - event.put(ADHERENT.get(), Adherent.registerAttributes().build()); - event.put(ROVING_CUBE.get(), RovingCube.registerAttributes().build()); - event.put(PLATEAU_BOSS.get(), PlateauBoss.registerAttributes().build()); - - //event.put(BOGGARD.get(), Boggard.registerAttributes().create()); - event.put(RISING_ZOMBIE.get(), Zombie.createAttributes().build()); + private static ResourceKey> createIDFor(String name) { + return ResourceKey.create(Registries.ENTITY_TYPE, TwilightForestMod.prefix(name)); } } diff --git a/src/main/java/twilightforest/init/TFEquipmentModels.java b/src/main/java/twilightforest/init/TFEquipmentModels.java new file mode 100644 index 0000000000..39d83c60bf --- /dev/null +++ b/src/main/java/twilightforest/init/TFEquipmentModels.java @@ -0,0 +1,33 @@ +package twilightforest.init; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.equipment.EquipmentModel; +import twilightforest.TwilightForestMod; + +import java.util.function.BiConsumer; + +public class TFEquipmentModels { + + public static final ResourceLocation IRONWOOD = TwilightForestMod.prefix("ironwood"); + public static final ResourceLocation STEELEAF = TwilightForestMod.prefix("steeleaf"); + public static final ResourceLocation NAGA = TwilightForestMod.prefix("naga"); + public static final ResourceLocation FIERY = TwilightForestMod.prefix("fiery"); + public static final ResourceLocation KNIGHTMETAL = TwilightForestMod.prefix("knightmetal"); + public static final ResourceLocation PHANTOM = TwilightForestMod.prefix("phantom"); + public static final ResourceLocation ARCTIC = TwilightForestMod.prefix("arctic"); + public static final ResourceLocation YETI = TwilightForestMod.prefix("yeti"); + + public static void bootstrap(BiConsumer consumer) { + consumer.accept(IRONWOOD, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("ironwood"), false).build()); + consumer.accept(STEELEAF, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("steeleaf"), false).build()); + consumer.accept(NAGA, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("naga"), false).build()); + consumer.accept(FIERY, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("fiery"), false).build()); + consumer.accept(KNIGHTMETAL, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("knightmetal"), false).build()); + consumer.accept(PHANTOM, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("phantom"), false).build()); + consumer.accept(ARCTIC, EquipmentModel.builder() + .addHumanoidLayers(TwilightForestMod.prefix("arctic_dyed"), true) + .addHumanoidLayers(TwilightForestMod.prefix("arctic_overlay"), false) + .build()); + consumer.accept(YETI, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("yeti"), false).build()); + } +} diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index b6a81347d3..ef098dd8e6 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -1,271 +1,260 @@ package twilightforest.init; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.player.Player; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.EquipmentSlotGroup; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.*; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.ClipContext; -import net.minecraft.world.level.Level; -import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.item.component.ItemAttributeModifiers; +import net.minecraft.world.item.equipment.ArmorType; import net.neoforged.neoforge.registries.DeferredItem; import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TwilightForestMod; import twilightforest.beans.Autowired; import twilightforest.components.item.PotionFlaskComponent; import twilightforest.data.tags.CustomTagGenerator; -import twilightforest.enums.extensions.TFBoatTypeEnumExtension; import twilightforest.enums.extensions.TFRarityEnumExtension; import twilightforest.item.*; +import twilightforest.item.food.TFConsumables; +import twilightforest.item.food.TFFoods; import twilightforest.util.TFToolMaterials; -public class TFItems { +import java.util.function.Function; - @Autowired - private static TFBoatTypeEnumExtension boatTypeEnumExtension; +public class TFItems { @Autowired private static TFRarityEnumExtension tfRarityEnumExtension; public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(TwilightForestMod.ID); - public static final DeferredItem NAGA_SCALE = ITEMS.register("naga_scale", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem NAGA_CHESTPLATE = ITEMS.register("naga_chestplate", () -> new ArmorItem(TFArmorMaterials.NAGA, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(21)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem NAGA_LEGGINGS = ITEMS.register("naga_leggings", () -> new ArmorItem(TFArmorMaterials.NAGA, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(21)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem TWILIGHT_SCEPTER = ITEMS.register("twilight_scepter", () -> new TwilightWandItem(new Item.Properties().durability(99).rarity(Rarity.UNCOMMON))); - public static final DeferredItem LIFEDRAIN_SCEPTER = ITEMS.register("lifedrain_scepter", () -> new LifedrainScepterItem(new Item.Properties().durability(99).rarity(Rarity.UNCOMMON))); - public static final DeferredItem ZOMBIE_SCEPTER = ITEMS.register("zombie_scepter", () -> new ZombieWandItem(new Item.Properties().durability(9).rarity(Rarity.UNCOMMON))); - public static final DeferredItem FORTIFICATION_SCEPTER = ITEMS.register("fortification_scepter", () -> new FortificationWandItem(new Item.Properties().durability(9).rarity(Rarity.UNCOMMON))); - public static final DeferredItem EXANIMATE_ESSENCE = ITEMS.register("exanimate_essence", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem NAGA_SCALE = register("naga_scale", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem NAGA_CHESTPLATE = register("naga_chestplate", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(21)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem NAGA_LEGGINGS = register("naga_leggings", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(21)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem TWILIGHT_SCEPTER = register("twilight_scepter", TwilightWandItem::new, new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); + public static final DeferredItem LIFEDRAIN_SCEPTER = register("lifedrain_scepter", LifedrainScepterItem::new, new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); + public static final DeferredItem ZOMBIE_SCEPTER = register("zombie_scepter", ZombieWandItem::new, new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FORTIFICATION_SCEPTER = register("fortification_scepter", FortificationWandItem::new, new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); + public static final DeferredItem EXANIMATE_ESSENCE = register("exanimate_essence", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); //items.register("Wand of Pacification [NYI]", new Item().setIconIndex(6).setTranslationKey("wandPacification").setMaxStackSize(1)); - public static final DeferredItem MAGIC_PAINTING = ITEMS.register("magic_painting", () -> new MagicPaintingItem(new Item.Properties())); - public static final DeferredItem ORE_METER = ITEMS.register("ore_meter", () -> new OreMeterItem(new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON))); - public static final DeferredItem FILLED_MAGIC_MAP = ITEMS.register("filled_magic_map", () -> new MagicMapItem(new Item.Properties())); - public static final DeferredItem FILLED_MAZE_MAP = ITEMS.register("filled_maze_map", () -> new MazeMapItem(false, new Item.Properties())); - public static final DeferredItem FILLED_ORE_MAP = ITEMS.register("filled_ore_map", () -> new MazeMapItem(true, new Item.Properties())); - public static final DeferredItem RAVEN_FEATHER = ITEMS.register("raven_feather", () -> new Item(new Item.Properties())); - public static final DeferredItem MAGIC_MAP_FOCUS = ITEMS.register("magic_map_focus", () -> new Item(new Item.Properties())); - public static final DeferredItem MAZE_MAP_FOCUS = ITEMS.register("maze_map_focus", () -> new Item(new Item.Properties())); - public static final DeferredItem MAGIC_MAP = ITEMS.register("magic_map", () -> new EmptyMagicMapItem(new Item.Properties())); - public static final DeferredItem MAZE_MAP = ITEMS.register("maze_map", () -> new EmptyMazeMapItem(false, new Item.Properties())); - public static final DeferredItem ORE_MAP = ITEMS.register("ore_map", () -> new EmptyMazeMapItem(true, new Item.Properties())); - public static final DeferredItem LIVEROOT = ITEMS.register("liveroot", () -> new Item(new Item.Properties())); - public static final DeferredItem RAW_IRONWOOD = ITEMS.register("raw_ironwood", () -> new Item(new Item.Properties())); - public static final DeferredItem IRONWOOD_INGOT = ITEMS.register("ironwood_ingot", () -> new Item(new Item.Properties())); - public static final DeferredItem IRONWOOD_HELMET = ITEMS.register("ironwood_helmet", () -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(20)))); - public static final DeferredItem IRONWOOD_CHESTPLATE = ITEMS.register("ironwood_chestplate", () -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(20)))); - public static final DeferredItem IRONWOOD_LEGGINGS = ITEMS.register("ironwood_leggings", () -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(20)))); - public static final DeferredItem IRONWOOD_BOOTS = ITEMS.register("ironwood_boots", () -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(20)))); - public static final DeferredItem IRONWOOD_SWORD = ITEMS.register("ironwood_sword", () -> new SwordItem(TFToolMaterials.IRONWOOD, new Item.Properties().attributes(SwordItem.createAttributes(TFToolMaterials.IRONWOOD, 3, -2.4F)))); - public static final DeferredItem IRONWOOD_SHOVEL = ITEMS.register("ironwood_shovel", () -> new ShovelItem(TFToolMaterials.IRONWOOD, new Item.Properties().attributes(ShovelItem.createAttributes(TFToolMaterials.IRONWOOD, 1.5F, -3.0F)))); - public static final DeferredItem IRONWOOD_PICKAXE = ITEMS.register("ironwood_pickaxe", () -> new PickaxeItem(TFToolMaterials.IRONWOOD, new Item.Properties().attributes(PickaxeItem.createAttributes(TFToolMaterials.IRONWOOD, 1.0F, -2.8F)))); - public static final DeferredItem IRONWOOD_AXE = ITEMS.register("ironwood_axe", () -> new AxeItem(TFToolMaterials.IRONWOOD, new Item.Properties().attributes(AxeItem.createAttributes(TFToolMaterials.IRONWOOD, 6.0F, -3.1F)))); - public static final DeferredItem IRONWOOD_HOE = ITEMS.register("ironwood_hoe", () -> new HoeItem(TFToolMaterials.IRONWOOD, new Item.Properties().attributes(HoeItem.createAttributes(TFToolMaterials.IRONWOOD, -2, -1.0F)))); - public static final DeferredItem TORCHBERRIES = ITEMS.register("torchberries", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().alwaysEdible().effect(() -> new MobEffectInstance(MobEffects.GLOWING, 100, 0), 0.75F).build()))); - public static final DeferredItem RAW_VENISON = ITEMS.register("raw_venison", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(3).saturationModifier(0.3F).build()))); - public static final DeferredItem COOKED_VENISON = ITEMS.register("cooked_venison", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(8).saturationModifier(0.8F).build()))); - public static final DeferredItem HYDRA_CHOP = ITEMS.register("hydra_chop", () -> new HydraChopItem(new Item.Properties().fireResistant().food(new FoodProperties.Builder().nutrition(18).saturationModifier(2.0F).effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 100, 0), 1.0F).build()).rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_BLOOD = ITEMS.register("fiery_blood", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_TEARS = ITEMS.register("fiery_tears", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_INGOT = ITEMS.register("fiery_ingot", () -> new Item(new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_HELMET = ITEMS.register("fiery_helmet", () -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(25)).fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_CHESTPLATE = ITEMS.register("fiery_chestplate", () -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(25)).fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_LEGGINGS = ITEMS.register("fiery_leggings", () -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(25)).fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_BOOTS = ITEMS.register("fiery_boots", () -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(25)).fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FIERY_SWORD = ITEMS.register("fiery_sword", () -> new FierySwordItem(TFToolMaterials.FIERY, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON).attributes(SwordItem.createAttributes(TFToolMaterials.FIERY, 3, -2.4F)))); - public static final DeferredItem FIERY_PICKAXE = ITEMS.register("fiery_pickaxe", () -> new FieryPickItem(TFToolMaterials.FIERY, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON).attributes(PickaxeItem.createAttributes(TFToolMaterials.FIERY, 1.0F, -2.8F)))); - public static final DeferredItem STEELEAF_INGOT = ITEMS.register("steeleaf_ingot", () -> new Item(new Item.Properties())); - public static final DeferredItem STEELEAF_HELMET = ITEMS.register("steeleaf_helmet", () -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(10)))); - public static final DeferredItem STEELEAF_CHESTPLATE = ITEMS.register("steeleaf_chestplate", () -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(10)))); - public static final DeferredItem STEELEAF_LEGGINGS = ITEMS.register("steeleaf_leggings", () -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(10)))); - public static final DeferredItem STEELEAF_BOOTS = ITEMS.register("steeleaf_boots", () -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(10)))); - public static final DeferredItem STEELEAF_SWORD = ITEMS.register("steeleaf_sword", () -> new SwordItem(TFToolMaterials.STEELEAF, new Item.Properties().attributes(SwordItem.createAttributes(TFToolMaterials.STEELEAF, 3, -2.4F)))); - public static final DeferredItem STEELEAF_SHOVEL = ITEMS.register("steeleaf_shovel", () -> new ShovelItem(TFToolMaterials.STEELEAF, new Item.Properties().attributes(ShovelItem.createAttributes(TFToolMaterials.STEELEAF, 1.5F, -3.0F)))); - public static final DeferredItem STEELEAF_PICKAXE = ITEMS.register("steeleaf_pickaxe", () -> new PickaxeItem(TFToolMaterials.STEELEAF, new Item.Properties().attributes(PickaxeItem.createAttributes(TFToolMaterials.STEELEAF, 1.0F, -2.8F)))); - public static final DeferredItem STEELEAF_AXE = ITEMS.register("steeleaf_axe", () -> new AxeItem(TFToolMaterials.STEELEAF, new Item.Properties().attributes(AxeItem.createAttributes(TFToolMaterials.STEELEAF, 6.0F, -3.0F)))); - public static final DeferredItem STEELEAF_HOE = ITEMS.register("steeleaf_hoe", () -> new HoeItem(TFToolMaterials.STEELEAF, new Item.Properties().attributes(HoeItem.createAttributes(TFToolMaterials.STEELEAF, -3.0F, -0.5F)))); - public static final DeferredItem GOLDEN_MINOTAUR_AXE = ITEMS.register("gold_minotaur_axe", () -> new MinotaurAxeItem(Tiers.GOLD, new Item.Properties().rarity(Rarity.COMMON).attributes(AxeItem.createAttributes(Tiers.GOLD, 6.0F, -3.2F)))); - public static final DeferredItem DIAMOND_MINOTAUR_AXE = ITEMS.register("diamond_minotaur_axe", () -> new MinotaurAxeItem(Tiers.DIAMOND, new Item.Properties().rarity(Rarity.UNCOMMON).attributes(AxeItem.createAttributes(Tiers.DIAMOND, 6.0F, -3.2F)))); - public static final DeferredItem MAZEBREAKER_PICKAXE = ITEMS.register("mazebreaker_pickaxe", () -> new MazebreakerPickItem(Tiers.DIAMOND, new Item.Properties().setNoRepair().rarity(Rarity.RARE).attributes(PickaxeItem.createAttributes(Tiers.DIAMOND, 1.0F, -2.8F)))); - public static final DeferredItem TRANSFORMATION_POWDER = ITEMS.register("transformation_powder", () -> new TransformPowderItem(new Item.Properties())); - public static final DeferredItem RAW_MEEF = ITEMS.register("raw_meef", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(2).saturationModifier(0.3F).build()))); - public static final DeferredItem COOKED_MEEF = ITEMS.register("cooked_meef", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(6).saturationModifier(0.6F).build()))); - public static final DeferredItem MEEF_STROGANOFF = ITEMS.register("meef_stroganoff", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().food(new FoodProperties.Builder().nutrition(8).saturationModifier(0.6F).alwaysEdible().usingConvertsTo(Items.BOWL).build()))); - public static final DeferredItem MAZE_WAFER = ITEMS.register("maze_wafer", () -> new Item(new Item.Properties().food(new FoodProperties.Builder().nutrition(4).saturationModifier(0.6F).build()))); - public static final DeferredItem ORE_MAGNET = ITEMS.register("ore_magnet", () -> new OreMagnetItem(new Item.Properties().durability(64))); - public static final DeferredItem CRUMBLE_HORN = ITEMS.register("crumble_horn", () -> new CrumbleHornItem(new Item.Properties().durability(1024).rarity(Rarity.RARE))); - public static final DeferredItem PEACOCK_FEATHER_FAN = ITEMS.register("peacock_feather_fan", () -> new PeacockFanItem(new Item.Properties().durability(1024).rarity(Rarity.RARE))); - public static final DeferredItem MOONWORM_QUEEN = ITEMS.register("moonworm_queen", () -> new MoonwormQueenItem(new Item.Properties().setNoRepair().durability(256).rarity(Rarity.RARE))); - public static final DeferredItem BRITTLE_FLASK = ITEMS.register("brittle_potion_flask", () -> new BrittleFlaskItem(new Item.Properties().stacksTo(1).component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY))); - public static final DeferredItem GREATER_FLASK = ITEMS.register("greater_potion_flask", () -> new GreaterFlaskItem(new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY_UNBREAKABLE))); - public static final DeferredItem CHARM_OF_LIFE_1 = ITEMS.register("charm_of_life_1", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CHARM_OF_LIFE_2 = ITEMS.register("charm_of_life_2", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CHARM_OF_KEEPING_1 = ITEMS.register("charm_of_keeping_1", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CHARM_OF_KEEPING_2 = ITEMS.register("charm_of_keeping_2", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CHARM_OF_KEEPING_3 = ITEMS.register("charm_of_keeping_3", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem TOWER_KEY = ITEMS.register("tower_key", () -> new Item(new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem BORER_ESSENCE = ITEMS.register("borer_essence", () -> new Item(new Item.Properties())); - public static final DeferredItem CARMINITE = ITEMS.register("carminite", () -> new Item(new Item.Properties())); - public static final DeferredItem EXPERIMENT_115 = ITEMS.register("experiment_115", () -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), new Item.Properties().food(new FoodProperties.Builder().nutrition(4).saturationModifier(0.3F).build()))); - public static final DeferredItem ROPE = ITEMS.register("rope", () -> new RopeItem(TFBlocks.ROPE.get(), new Item.Properties())); - public static final DeferredItem MASON_JAR = ITEMS.register("mason_jar", () -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), new Item.Properties())); - public static final DeferredItem FIREFLY_JAR = ITEMS.register("firefly_jar", () -> new JarItem(TFBlocks.FIREFLY_JAR.get(), new Item.Properties())); - public static final DeferredItem CICADA_JAR = ITEMS.register("cicada_jar", () -> new JarItem(TFBlocks.CICADA_JAR.get(), new Item.Properties())); - public static final DeferredItem ARMOR_SHARD = ITEMS.register("armor_shard", () -> new Item(new Item.Properties())); - public static final DeferredItem ARMOR_SHARD_CLUSTER = ITEMS.register("armor_shard_cluster", () -> new Item(new Item.Properties())); - public static final DeferredItem KNIGHTMETAL_INGOT = ITEMS.register("knightmetal_ingot", () -> new Item(new Item.Properties())); - public static final DeferredItem KNIGHTMETAL_HELMET = ITEMS.register("knightmetal_helmet", () -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(20)))); - public static final DeferredItem KNIGHTMETAL_CHESTPLATE = ITEMS.register("knightmetal_chestplate", () -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(20)))); - public static final DeferredItem KNIGHTMETAL_LEGGINGS = ITEMS.register("knightmetal_leggings", () -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(20)))); - public static final DeferredItem KNIGHTMETAL_BOOTS = ITEMS.register("knightmetal_boots", () -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(20)))); - public static final DeferredItem KNIGHTMETAL_SWORD = ITEMS.register("knightmetal_sword", () -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, new Item.Properties().attributes(SwordItem.createAttributes(TFToolMaterials.KNIGHTMETAL, 3, -2.4F)))); - public static final DeferredItem KNIGHTMETAL_PICKAXE = ITEMS.register("knightmetal_pickaxe", () -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, new Item.Properties().attributes(PickaxeItem.createAttributes(TFToolMaterials.KNIGHTMETAL, 1, -2.8F)))); - public static final DeferredItem KNIGHTMETAL_AXE = ITEMS.register("knightmetal_axe", () -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, new Item.Properties().attributes(AxeItem.createAttributes(TFToolMaterials.KNIGHTMETAL, 6F, TFToolMaterials.KNIGHTMETAL.getSpeed() * 0.05f - 3.4f)))); - public static final DeferredItem KNIGHTMETAL_RING = ITEMS.register("knightmetal_ring", () -> new Item(new Item.Properties())); - public static final DeferredItem KNIGHTMETAL_SHIELD = ITEMS.register("knightmetal_shield", () -> new KnightmetalShieldItem(new Item.Properties().durability(1024))); - public static final DeferredItem BLOCK_AND_CHAIN = ITEMS.register("block_and_chain", () -> new ChainBlockItem(new Item.Properties().durability(99))); - public static final DeferredItem PHANTOM_HELMET = ITEMS.register("phantom_helmet", () -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(30)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem PHANTOM_CHESTPLATE = ITEMS.register("phantom_chestplate", () -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(30)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem ICE_BOMB = ITEMS.register("ice_bomb", () -> new IceBombItem(new Item.Properties().stacksTo(16))); - public static final DeferredItem ARCTIC_FUR = ITEMS.register("arctic_fur", () -> new Item(new Item.Properties())); - public static final DeferredItem ARCTIC_HELMET = ITEMS.register("arctic_helmet", () -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(10)))); - public static final DeferredItem ARCTIC_CHESTPLATE = ITEMS.register("arctic_chestplate", () -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(10)))); - public static final DeferredItem ARCTIC_LEGGINGS = ITEMS.register("arctic_leggings", () -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(10)))); - public static final DeferredItem ARCTIC_BOOTS = ITEMS.register("arctic_boots", () -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(10)))); - public static final DeferredItem ALPHA_YETI_FUR = ITEMS.register("alpha_yeti_fur", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem YETI_HELMET = ITEMS.register("yeti_helmet", () -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorItem.Type.HELMET, new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(20)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem YETI_CHESTPLATE = ITEMS.register("yeti_chestplate", () -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorItem.Type.CHESTPLATE, new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(20)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem YETI_LEGGINGS = ITEMS.register("yeti_leggings", () -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorItem.Type.LEGGINGS, new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(20)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem YETI_BOOTS = ITEMS.register("yeti_boots", () -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorItem.Type.BOOTS, new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(20)).rarity(Rarity.UNCOMMON))); - public static final DeferredItem TRIPLE_BOW = ITEMS.register("triple_bow", () -> new TripleBowItem(new Item.Properties().rarity(Rarity.UNCOMMON).durability(384))); - public static final DeferredItem SEEKER_BOW = ITEMS.register("seeker_bow", () -> new SeekerBowItem(new Item.Properties().rarity(Rarity.UNCOMMON).durability(384))); - public static final DeferredItem ICE_BOW = ITEMS.register("ice_bow", () -> new IceBowItem(new Item.Properties().rarity(Rarity.UNCOMMON).durability(384))); - public static final DeferredItem ENDER_BOW = ITEMS.register("ender_bow", () -> new EnderBowItem(new Item.Properties().rarity(Rarity.UNCOMMON).durability(384))); - public static final DeferredItem ICE_SWORD = ITEMS.register("ice_sword", () -> new IceSwordItem(TFToolMaterials.ICE, new Item.Properties().attributes(SwordItem.createAttributes(TFToolMaterials.ICE, 3, -2.4F)))); - public static final DeferredItem GLASS_SWORD = ITEMS.register("glass_sword", () -> new GlassSwordItem(TFToolMaterials.GLASS, new Item.Properties().setNoRepair().rarity(Rarity.UNCOMMON).attributes(SwordItem.createAttributes(TFToolMaterials.GLASS, 3, -2.4F)))); - public static final DeferredItem MAGIC_BEANS = ITEMS.register("magic_beans", () -> new MagicBeansItem(new Item.Properties())); - public static final DeferredItem GIANT_PICKAXE = ITEMS.register("giant_pickaxe", () -> new GiantPickItem(TFToolMaterials.GIANT, new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 8, -3.5F)))); - public static final DeferredItem GIANT_SWORD = ITEMS.register("giant_sword", () -> new GiantSwordItem(TFToolMaterials.GIANT, new Item.Properties().attributes(GiantSwordItem.createGiantAttributes(TFToolMaterials.GIANT, 10, -3.5F)))); - public static final DeferredItem LAMP_OF_CINDERS = ITEMS.register("lamp_of_cinders", () -> new LampOfCindersItem(new Item.Properties().fireResistant().durability(1024).rarity(Rarity.UNCOMMON))); - public static final DeferredItem CUBE_TALISMAN = ITEMS.register("cube_talisman", () -> new Item(new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CUBE_OF_ANNIHILATION = ITEMS.register("cube_of_annihilation", () -> new CubeOfAnnihilationItem(new Item.Properties().stacksTo(1).fireResistant().rarity(Rarity.UNCOMMON))); - public static final DeferredItem MOON_DIAL = ITEMS.register("moon_dial", () -> new MoonDialItem(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem POCKET_WATCH = ITEMS.register("pocket_watch", () -> new PocketWatchItem(new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON))); - public static final DeferredItem EMPERORS_CLOTH = ITEMS.register("emperors_cloth", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem FOUR_LEAF_CLOVER = ITEMS.register("four_leaf_clover", () -> new Item(new Item.Properties())); - public static final DeferredItem CROWN_SPLINTER = ITEMS.register("crown_splinter", () -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem MYSTIC_CROWN = ITEMS.register("mystic_crown", () -> new WearableLichCrown(new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1), 2.0F, 0.0F)); - - public static final DeferredItem HUGE_LILY_PAD = ITEMS.register("huge_lily_pad", () -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), new Item.Properties())); - public static final DeferredItem HUGE_WATER_LILY = ITEMS.register("huge_water_lily", () -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), new Item.Properties())); - public static final DeferredItem FALLEN_LEAVES = ITEMS.register("fallen_leaves", () -> new BlockItem(TFBlocks.FALLEN_LEAVES.get(), new Item.Properties()) { - @Override - public InteractionResult useOn(UseOnContext context) { - return context.getLevel().getBlockState(context.getClickedPos()).is(this.getBlock()) ? super.useOn(context) : InteractionResult.PASS; - } + public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, new Item.Properties()); + public static final DeferredItem ORE_METER = register("ore_meter", OreMeterItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FILLED_MAGIC_MAP = register("filled_magic_map", MagicMapItem::new, new Item.Properties()); + public static final DeferredItem FILLED_MAZE_MAP = register("filled_maze_map", properties -> new MazeMapItem(false, properties), new Item.Properties()); + public static final DeferredItem FILLED_ORE_MAP = register("filled_ore_map", properties -> new MazeMapItem(true, properties), new Item.Properties()); + public static final DeferredItem RAVEN_FEATHER = register("raven_feather", Item::new, new Item.Properties()); + public static final DeferredItem MAGIC_MAP_FOCUS = register("magic_map_focus", Item::new, new Item.Properties()); + public static final DeferredItem MAZE_MAP_FOCUS = register("maze_map_focus", Item::new, new Item.Properties()); + public static final DeferredItem MAGIC_MAP = register("magic_map", EmptyMagicMapItem::new, new Item.Properties()); + public static final DeferredItem MAZE_MAP = register("maze_map", properties -> new EmptyMazeMapItem(false, properties), new Item.Properties()); + public static final DeferredItem ORE_MAP = register("ore_map", properties -> new EmptyMazeMapItem(true, properties), new Item.Properties()); + public static final DeferredItem LIVEROOT = register("liveroot", Item::new, new Item.Properties()); + public static final DeferredItem RAW_IRONWOOD = register("raw_ironwood", Item::new, new Item.Properties()); + public static final DeferredItem IRONWOOD_INGOT = register("ironwood_ingot", Item::new, new Item.Properties()); + public static final DeferredItem IRONWOOD_HELMET = register("ironwood_helmet", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(20))); + public static final DeferredItem IRONWOOD_CHESTPLATE = register("ironwood_chestplate", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20))); + public static final DeferredItem IRONWOOD_LEGGINGS = register("ironwood_leggings", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20))); + public static final DeferredItem IRONWOOD_BOOTS = register("ironwood_boots", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(20))); + public static final DeferredItem IRONWOOD_SWORD = register("ironwood_sword", properties -> new SwordItem(TFToolMaterials.IRONWOOD, 3.0F, -2.4F, properties), new Item.Properties()); + public static final DeferredItem IRONWOOD_SHOVEL = register("ironwood_shovel", properties -> new ShovelItem(TFToolMaterials.IRONWOOD, 1.5F, -3.0F, properties), new Item.Properties()); + public static final DeferredItem IRONWOOD_PICKAXE = register("ironwood_pickaxe", properties -> new PickaxeItem(TFToolMaterials.IRONWOOD, 1.0F, -2.8F, properties), new Item.Properties()); + public static final DeferredItem IRONWOOD_AXE = register("ironwood_axe", properties -> new AxeItem(TFToolMaterials.IRONWOOD, 6.0F, -3.1F, properties), new Item.Properties()); + public static final DeferredItem IRONWOOD_HOE = register("ironwood_hoe", properties -> new HoeItem(TFToolMaterials.IRONWOOD, -2, -1.0F, properties), new Item.Properties()); + public static final DeferredItem TORCHBERRIES = register("torchberries", Item::new, new Item.Properties().food(TFFoods.TORCHBERRIES, TFConsumables.TORCHBERRIES)); + public static final DeferredItem RAW_VENISON = register("raw_venison", Item::new, new Item.Properties().food(TFFoods.RAW_VENISON)); + public static final DeferredItem COOKED_VENISON = register("cooked_venison", Item::new, new Item.Properties().food(TFFoods.VENISON_STEAK)); + public static final DeferredItem HYDRA_CHOP = register("hydra_chop", HydraChopItem::new, new Item.Properties().fireResistant().food(TFFoods.HYDRA_CHOP, TFConsumables.HYDRA_CHOP).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_BLOOD = register("fiery_blood", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_TEARS = register("fiery_tears", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_INGOT = register("fiery_ingot", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_HELMET = register("fiery_helmet", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.HELMET, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_CHESTPLATE = register("fiery_chestplate", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.CHESTPLATE, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_LEGGINGS = register("fiery_leggings", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.LEGGINGS, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_BOOTS = register("fiery_boots", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.BOOTS, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_SWORD = register("fiery_sword", properties -> new FierySwordItem(TFToolMaterials.FIERY, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_PICKAXE = register("fiery_pickaxe", properties -> new FieryPickItem(TFToolMaterials.FIERY, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem STEELEAF_INGOT = register("steeleaf_ingot", Item::new, new Item.Properties()); + public static final DeferredItem STEELEAF_HELMET = register("steeleaf_helmet", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.HELMET, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_CHESTPLATE = register("steeleaf_chestplate", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.CHESTPLATE, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_LEGGINGS = register("steeleaf_leggings", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.LEGGINGS, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_BOOTS = register("steeleaf_boots", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.BOOTS, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_SWORD = register("steeleaf_sword", properties -> new SwordItem(TFToolMaterials.STEELEAF, 3.0F, -2.4F, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_SHOVEL = register("steeleaf_shovel", properties -> new ShovelItem(TFToolMaterials.STEELEAF, 1.5F, -3.0F, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_PICKAXE = register("steeleaf_pickaxe", properties -> new PickaxeItem(TFToolMaterials.STEELEAF, 1.0F, -2.8F, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_AXE = register("steeleaf_axe", properties -> new AxeItem(TFToolMaterials.STEELEAF, 6.0F, -3.0F, properties), new Item.Properties()); + public static final DeferredItem STEELEAF_HOE = register("steeleaf_hoe", properties -> new HoeItem(TFToolMaterials.STEELEAF, -3.0F, -0.5F, properties), new Item.Properties()); + public static final DeferredItem GOLDEN_MINOTAUR_AXE = register("gold_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.GOLD, properties), new Item.Properties()); + public static final DeferredItem DIAMOND_MINOTAUR_AXE = register("diamond_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.DIAMOND, properties), new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MAZEBREAKER_PICKAXE = register("mazebreaker_pickaxe", properties -> new MazebreakerPickItem(ToolMaterial.DIAMOND, properties), new Item.Properties().rarity(Rarity.RARE)); + public static final DeferredItem TRANSFORMATION_POWDER = register("transformation_powder", TransformPowderItem::new, new Item.Properties()); + public static final DeferredItem RAW_MEEF = register("raw_meef", Item::new, new Item.Properties().food(TFFoods.RAW_MEEF)); + public static final DeferredItem COOKED_MEEF = register("cooked_meef", Item::new, new Item.Properties().food(TFFoods.MEEF_STEAK)); + public static final DeferredItem MEEF_STROGANOFF = register("meef_stroganoff", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().food(TFFoods.MEEF_STROGANOFF).usingConvertsTo(Items.BOWL)); + public static final DeferredItem MAZE_WAFER = register("maze_wafer", Item::new, new Item.Properties().food(new FoodProperties.Builder().nutrition(4).saturationModifier(0.6F).build())); + public static final DeferredItem ORE_MAGNET = register("ore_magnet", OreMagnetItem::new, new Item.Properties().durability(64)); + public static final DeferredItem CRUMBLE_HORN = register("crumble_horn", CrumbleHornItem::new, new Item.Properties().durability(1024).rarity(Rarity.RARE)); + public static final DeferredItem PEACOCK_FEATHER_FAN = register("peacock_feather_fan", PeacockFanItem::new, new Item.Properties().durability(1024).rarity(Rarity.RARE)); + public static final DeferredItem MOONWORM_QUEEN = register("moonworm_queen", MoonwormQueenItem::new, new Item.Properties().durability(256).rarity(Rarity.RARE)); + public static final DeferredItem BRITTLE_FLASK = register("brittle_potion_flask", BrittleFlaskItem::new, new Item.Properties().stacksTo(1).component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY)); + public static final DeferredItem GREATER_FLASK = register("greater_potion_flask", GreaterFlaskItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY_UNBREAKABLE)); + public static final DeferredItem CHARM_OF_LIFE_1 = register("charm_of_life_1", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_LIFE_2 = register("charm_of_life_2", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_1 = register("charm_of_keeping_1", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_2 = register("charm_of_keeping_2", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_3 = register("charm_of_keeping_3", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem TOWER_KEY = register("tower_key", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, new Item.Properties()); + public static final DeferredItem CARMINITE = register("carminite", Item::new, new Item.Properties()); + public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), new Item.Properties().food(TFFoods.EXPERIMENT_115)); + public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), new Item.Properties()); + public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), new Item.Properties()); + public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), new Item.Properties()); + public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), new Item.Properties()); + public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, new Item.Properties()); + public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_RING = register("knightmetal_ring", Item::new, new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_SHIELD = register("knightmetal_shield", KnightmetalShieldItem::new, new Item.Properties().durability(1024)); + public static final DeferredItem BLOCK_AND_CHAIN = register("block_and_chain", ChainBlockItem::new, new Item.Properties().durability(99)); + public static final DeferredItem PHANTOM_HELMET = register("phantom_helmet", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(30)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem PHANTOM_CHESTPLATE = register("phantom_chestplate", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(30)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem ICE_BOMB = register("ice_bomb", IceBombItem::new, new Item.Properties().stacksTo(16)); + public static final DeferredItem ARCTIC_FUR = register("arctic_fur", Item::new, new Item.Properties()); + public static final DeferredItem ARCTIC_HELMET = register("arctic_helmet", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.HELMET, properties), new Item.Properties()); + public static final DeferredItem ARCTIC_CHESTPLATE = register("arctic_chestplate", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.CHESTPLATE, properties), new Item.Properties()); + public static final DeferredItem ARCTIC_LEGGINGS = register("arctic_leggings", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(10))); + public static final DeferredItem ARCTIC_BOOTS = register("arctic_boots", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(10))); + public static final DeferredItem ALPHA_YETI_FUR = register("alpha_yeti_fur", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_HELMET = register("yeti_helmet", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_CHESTPLATE = register("yeti_chestplate", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_LEGGINGS = register("yeti_leggings", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_BOOTS = register("yeti_boots", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem TRIPLE_BOW = register("triple_bow", TripleBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem SEEKER_BOW = register("seeker_bow", SeekerBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ICE_BOW = register("ice_bow", IceBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ENDER_BOW = register("ender_bow", EnderBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ICE_SWORD = register("ice_sword", properties -> new IceSwordItem(TFToolMaterials.ICE, properties), new Item.Properties()); + public static final DeferredItem GLASS_SWORD = register("glass_sword", properties -> new GlassSwordItem(TFToolMaterials.GLASS, 3, -2.4F, properties), new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MAGIC_BEANS = register("magic_beans", MagicBeansItem::new, new Item.Properties()); + public static final DeferredItem GIANT_PICKAXE = register("giant_pickaxe", properties -> new GiantPickItem(TFToolMaterials.GIANT, properties), new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 8, -3.5F))); + public static final DeferredItem GIANT_SWORD = register("giant_sword", properties -> new SwordItem(TFToolMaterials.GIANT, 10, -3.5F, properties), new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 10, -3.5F))); + public static final DeferredItem LAMP_OF_CINDERS = register("lamp_of_cinders", LampOfCindersItem::new, new Item.Properties().fireResistant().durability(1024).rarity(Rarity.UNCOMMON)); + public static final DeferredItem CUBE_TALISMAN = register("cube_talisman", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CUBE_OF_ANNIHILATION = register("cube_of_annihilation", CubeOfAnnihilationItem::new, new Item.Properties().stacksTo(1).fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MOON_DIAL = register("moon_dial", MoonDialItem::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem POCKET_WATCH = register("pocket_watch", PocketWatchItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); + public static final DeferredItem EMPERORS_CLOTH = register("emperors_cloth", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, new Item.Properties()); + public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); - @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - BlockHitResult fluidHitResult = getPlayerPOVHitResult(level, player, ClipContext.Fluid.SOURCE_ONLY); - BlockHitResult placeBlockResult = fluidHitResult.withPosition(fluidHitResult.getBlockPos().above()); - InteractionResult result = super.useOn(new UseOnContext(player, hand, placeBlockResult)); - return new InteractionResultHolder<>(result, player.getItemInHand(hand)); - } - }); + public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), new Item.Properties()); + public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), new Item.Properties()); + public static final DeferredItem FALLEN_LEAVES = ITEMS.register("fallen_leaves", () -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), new Item.Properties())); - public static final DeferredItem ZOMBIE_SKULL_CANDLE = ITEMS.register("zombie_skull_candle", () -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem SKELETON_SKULL_CANDLE = ITEMS.register("skeleton_skull_candle", () -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = ITEMS.register("wither_skeleton_skull_candle", () -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem CREEPER_SKULL_CANDLE = ITEMS.register("creeper_skull_candle", () -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem PLAYER_SKULL_CANDLE = ITEMS.register("player_skull_candle", () -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem PIGLIN_SKULL_CANDLE = ITEMS.register("piglin_skull_candle", () -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem NAGA_TROPHY = ITEMS.register("naga_trophy", () -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem LICH_TROPHY = ITEMS.register("lich_trophy", () -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem MINOSHROOM_TROPHY = ITEMS.register("minoshroom_trophy", () -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem HYDRA_TROPHY = ITEMS.register("hydra_trophy", () -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem KNIGHT_PHANTOM_TROPHY = ITEMS.register("knight_phantom_trophy", () -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem UR_GHAST_TROPHY = ITEMS.register("ur_ghast_trophy", () -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem ALPHA_YETI_TROPHY = ITEMS.register("alpha_yeti_trophy", () -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem SNOW_QUEEN_TROPHY = ITEMS.register("snow_queen_trophy", () -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem QUEST_RAM_TROPHY = ITEMS.register("quest_ram_trophy", () -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT))); + public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = ITEMS.register("hollow_twilight_oak_log", () -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_CANOPY_LOG = ITEMS.register("hollow_canopy_log", () -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_MANGROVE_LOG = ITEMS.register("hollow_mangrove_log", () -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_DARK_LOG = ITEMS.register("hollow_dark_log", () -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_TIME_LOG = ITEMS.register("hollow_time_log", () -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = ITEMS.register("hollow_transformation_log", () -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_MINING_LOG = ITEMS.register("hollow_mining_log", () -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_SORTING_LOG = ITEMS.register("hollow_sorting_log", () -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, new Item.Properties())); + public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_OAK_LOG = ITEMS.register("hollow_oak_log", () -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_SPRUCE_LOG = ITEMS.register("hollow_spruce_log", () -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_BIRCH_LOG = ITEMS.register("hollow_birch_log", () -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_JUNGLE_LOG = ITEMS.register("hollow_jungle_log", () -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_ACACIA_LOG = ITEMS.register("hollow_acacia_log", () -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_DARK_OAK_LOG = ITEMS.register("hollow_dark_oak_log", () -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_CRIMSON_STEM = ITEMS.register("hollow_crimson_stem", () -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_WARPED_STEM = ITEMS.register("hollow_warped_stem", () -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_VANGROVE_LOG = ITEMS.register("hollow_vangrove_log", () -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, new Item.Properties())); - public static final DeferredItem HOLLOW_CHERRY_LOG = ITEMS.register("hollow_cherry_log", () -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, new Item.Properties())); + public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem TWILIGHT_OAK_SIGN = ITEMS.register("twilight_oak_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get())); - public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = ITEMS.register("twilight_oak_hanging_sign", () -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem CANOPY_SIGN = ITEMS.register("canopy_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get())); - public static final DeferredItem CANOPY_HANGING_SIGN = ITEMS.register("canopy_hanging_sign", () -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem MANGROVE_SIGN = ITEMS.register("mangrove_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get())); - public static final DeferredItem MANGROVE_HANGING_SIGN = ITEMS.register("mangrove_hanging_sign", () -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem DARK_SIGN = ITEMS.register("dark_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get())); - public static final DeferredItem DARK_HANGING_SIGN = ITEMS.register("dark_hanging_sign", () -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem TIME_SIGN = ITEMS.register("time_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get())); - public static final DeferredItem TIME_HANGING_SIGN = ITEMS.register("time_hanging_sign", () -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem TRANSFORMATION_SIGN = ITEMS.register("transformation_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get())); - public static final DeferredItem TRANSFORMATION_HANGING_SIGN = ITEMS.register("transformation_hanging_sign", () -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem MINING_SIGN = ITEMS.register("mining_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get())); - public static final DeferredItem MINING_HANGING_SIGN = ITEMS.register("mining_hanging_sign", () -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); - public static final DeferredItem SORTING_SIGN = ITEMS.register("sorting_sign", () -> new SignItem(new Item.Properties().stacksTo(16), TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get())); - public static final DeferredItem SORTING_HANGING_SIGN = ITEMS.register("sorting_hanging_sign", () -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); + public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem CANOPY_SIGN = register("canopy_sign", properties -> new SignItem(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem MANGROVE_SIGN = register("mangrove_sign", properties -> new SignItem(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem DARK_SIGN = register("dark_sign", properties -> new SignItem(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TIME_SIGN = register("time_sign", properties -> new SignItem(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_SIGN = register("transformation_sign", properties -> new SignItem(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem MINING_SIGN = register("mining_sign", properties -> new SignItem(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem SORTING_SIGN = register("sorting_sign", properties -> new SignItem(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TWILIGHT_OAK_BOAT = ITEMS.register("twilight_oak_boat", () -> new BoatItem(false, boatTypeEnumExtension.TWILIGHT_OAK.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem TWILIGHT_OAK_CHEST_BOAT = ITEMS.register("twilight_oak_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.TWILIGHT_OAK.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem CANOPY_BOAT = ITEMS.register("canopy_boat", () -> new BoatItem(false, boatTypeEnumExtension.CANOPY.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem CANOPY_CHEST_BOAT = ITEMS.register("canopy_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.CANOPY.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem MANGROVE_BOAT = ITEMS.register("mangrove_boat", () -> new BoatItem(false, boatTypeEnumExtension.MANGROVE.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem MANGROVE_CHEST_BOAT = ITEMS.register("mangrove_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.MANGROVE.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem DARK_BOAT = ITEMS.register("dark_boat", () -> new BoatItem(false, boatTypeEnumExtension.DARK.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem DARK_CHEST_BOAT = ITEMS.register("dark_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.DARK.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem TIME_BOAT = ITEMS.register("time_boat", () -> new BoatItem(false, boatTypeEnumExtension.TIME.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem TIME_CHEST_BOAT = ITEMS.register("time_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.TIME.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem TRANSFORMATION_BOAT = ITEMS.register("transformation_boat", () -> new BoatItem(false, boatTypeEnumExtension.TRANSFORMATION.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem TRANSFORMATION_CHEST_BOAT = ITEMS.register("transformation_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.TRANSFORMATION.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem MINING_BOAT = ITEMS.register("mining_boat", () -> new BoatItem(false, boatTypeEnumExtension.MINING.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem MINING_CHEST_BOAT = ITEMS.register("mining_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.MINING.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem SORTING_BOAT = ITEMS.register("sorting_boat", () -> new BoatItem(false, boatTypeEnumExtension.SORTING.get(), new Item.Properties().stacksTo(1))); - public static final DeferredItem SORTING_CHEST_BOAT = ITEMS.register("sorting_chest_boat", () -> new BoatItem(true, boatTypeEnumExtension.SORTING.get(), new Item.Properties().stacksTo(1))); + public static final DeferredItem TWILIGHT_OAK_BOAT = register("twilight_oak_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TWILIGHT_OAK_CHEST_BOAT = register("twilight_oak_chest_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem CANOPY_BOAT = register("canopy_boat", properties -> new BoatItem(TFEntities.CANOPY_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem CANOPY_CHEST_BOAT = register("canopy_chest_boat", properties -> new BoatItem(TFEntities.CANOPY_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem MANGROVE_BOAT = register("mangrove_boat", properties -> new BoatItem(TFEntities.MANGROVE_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem MANGROVE_CHEST_BOAT = register("mangrove_chest_boat", properties -> new BoatItem(TFEntities.MANGROVE_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem DARK_BOAT = register("dark_boat", properties -> new BoatItem(TFEntities.DARK_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem DARK_CHEST_BOAT = register("dark_chest_boat", properties -> new BoatItem(TFEntities.DARK_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TIME_BOAT = register("time_boat", properties -> new BoatItem(TFEntities.TIME_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TIME_CHEST_BOAT = register("time_chest_boat", properties -> new BoatItem(TFEntities.TIME_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TRANSFORMATION_BOAT = register("transformation_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TRANSFORMATION_CHEST_BOAT = register("transformation_chest_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem MINING_BOAT = register("mining_boat", properties -> new BoatItem(TFEntities.MINING_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem MINING_CHEST_BOAT = register("mining_chest_boat", properties -> new BoatItem(TFEntities.MINING_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem SORTING_BOAT = register("sorting_boat", properties -> new BoatItem(TFEntities.SORTING_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem SORTING_CHEST_BOAT = register("sorting_chest_boat", properties -> new BoatItem(TFEntities.SORTING_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem MUSIC_DISC_RADIANCE = ITEMS.register("music_disc_radiance", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.RADIANCE))); - public static final DeferredItem MUSIC_DISC_STEPS = ITEMS.register("music_disc_steps", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.STEPS))); - public static final DeferredItem MUSIC_DISC_SUPERSTITIOUS = ITEMS.register("music_disc_superstitious", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.SUPERSTITIOUS))); - public static final DeferredItem MUSIC_DISC_HOME = ITEMS.register("music_disc_home", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.HOME))); - public static final DeferredItem MUSIC_DISC_WAYFARER = ITEMS.register("music_disc_wayfarer", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.WAYFARER))); - public static final DeferredItem MUSIC_DISC_FINDINGS = ITEMS.register("music_disc_findings", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.FINDINGS))); - public static final DeferredItem MUSIC_DISC_MAKER = ITEMS.register("music_disc_maker", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MAKER))); - public static final DeferredItem MUSIC_DISC_THREAD = ITEMS.register("music_disc_thread", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.THREAD))); - public static final DeferredItem MUSIC_DISC_MOTION = ITEMS.register("music_disc_motion", () -> new Item(new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MOTION))); + public static final DeferredItem MUSIC_DISC_RADIANCE = register("music_disc_radiance", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.RADIANCE)); + public static final DeferredItem MUSIC_DISC_STEPS = register("music_disc_steps", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.STEPS)); + public static final DeferredItem MUSIC_DISC_SUPERSTITIOUS = register("music_disc_superstitious", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.SUPERSTITIOUS)); + public static final DeferredItem MUSIC_DISC_HOME = register("music_disc_home", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.HOME)); + public static final DeferredItem MUSIC_DISC_WAYFARER = register("music_disc_wayfarer", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.WAYFARER)); + public static final DeferredItem MUSIC_DISC_FINDINGS = register("music_disc_findings", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.FINDINGS)); + public static final DeferredItem MUSIC_DISC_MAKER = register("music_disc_maker", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MAKER)); + public static final DeferredItem MUSIC_DISC_THREAD = register("music_disc_thread", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.THREAD)); + public static final DeferredItem MUSIC_DISC_MOTION = register("music_disc_motion", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MOTION)); - public static final DeferredItem NAGA_BANNER_PATTERN = ITEMS.register("naga_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.NAGA_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem LICH_BANNER_PATTERN = ITEMS.register("lich_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.LICH_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem MINOSHROOM_BANNER_PATTERN = ITEMS.register("minoshroom_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.MINOSHROOM_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem HYDRA_BANNER_PATTERN = ITEMS.register("hydra_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.HYDRA_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = ITEMS.register("knight_phantom_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.KNIGHT_PHANTOM_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem UR_GHAST_BANNER_PATTERN = ITEMS.register("ur_ghast_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.UR_GHAST_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = ITEMS.register("alpha_yeti_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.ALPHA_YETI_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = ITEMS.register("snow_queen_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.SNOW_QUEEN_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); - public static final DeferredItem QUEST_RAM_BANNER_PATTERN = ITEMS.register("quest_ram_banner_pattern", () -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.QUEST_RAM_BANNER_PATTERN, new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT))); + public static final DeferredItem NAGA_BANNER_PATTERN = register("naga_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.NAGA_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem LICH_BANNER_PATTERN = register("lich_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.LICH_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem MINOSHROOM_BANNER_PATTERN = register("minoshroom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.MINOSHROOM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem HYDRA_BANNER_PATTERN = register("hydra_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.HYDRA_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = register("knight_phantom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.KNIGHT_PHANTOM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem UR_GHAST_BANNER_PATTERN = register("ur_ghast_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.UR_GHAST_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = register("alpha_yeti_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.ALPHA_YETI_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = register("snow_queen_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.SNOW_QUEEN_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem QUEST_RAM_BANNER_PATTERN = register("quest_ram_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.QUEST_RAM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static DeferredItem register(String name, Function item, Item.Properties properties) { + return ITEMS.register(name, () -> item.apply(properties.setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name))))); + } } diff --git a/src/main/java/twilightforest/init/TFTrimMaterials.java b/src/main/java/twilightforest/init/TFTrimMaterials.java index 5aefbf4058..7a2a2cee81 100644 --- a/src/main/java/twilightforest/init/TFTrimMaterials.java +++ b/src/main/java/twilightforest/init/TFTrimMaterials.java @@ -7,9 +7,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; -import net.minecraft.world.item.armortrim.TrimMaterial; +import net.minecraft.world.item.equipment.trim.TrimMaterial; import twilightforest.TwilightForestMod; import java.util.Map; diff --git a/src/main/java/twilightforest/item/BrittleFlaskItem.java b/src/main/java/twilightforest/item/BrittleFlaskItem.java index 3d78c83915..cc7ab036bd 100644 --- a/src/main/java/twilightforest/item/BrittleFlaskItem.java +++ b/src/main/java/twilightforest/item/BrittleFlaskItem.java @@ -3,11 +3,12 @@ import net.minecraft.ChatFormatting; import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.stats.Stats; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.SlotAccess; @@ -46,7 +47,7 @@ public boolean isBarVisible(ItemStack stack) { @Override public int getBarColor(ItemStack stack) { - return FastColor.ARGB32.opaque(stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).potion().getColor()); + return ARGB.opaque(stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).potion().getColor()); } @Override @@ -73,19 +74,19 @@ public boolean overrideOtherStackedOnMe(ItemStack stack, ItemStack other, Slot s } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); PotionFlaskComponent flaskContents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); if (flaskContents.potion() == PotionContents.EMPTY) { - return InteractionResultHolder.fail(player.getItemInHand(hand)); + return InteractionResult.FAIL; } if (flaskContents.doses() > 0) { return ItemUtils.startUsingInstantly(level, player, hand); } - return InteractionResultHolder.fail(player.getItemInHand(hand)); + return InteractionResult.FAIL; } @Override @@ -94,8 +95,8 @@ public int getUseDuration(ItemStack stack, LivingEntity entity) { } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.DRINK; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.DRINK; } @Override @@ -103,13 +104,13 @@ public ItemStack finishUsingItem(ItemStack stack, Level level, LivingEntity enti PotionFlaskComponent flaskContents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); if (flaskContents.potion() != PotionContents.EMPTY) { if (entity instanceof Player player) { - if (!level.isClientSide()) { + if (level instanceof ServerLevel serverLevel) { if (!player.isCreative() && !player.isSpectator() && player instanceof ServerPlayer serverPlayer) { flaskContents.potion().potion().ifPresent(potion -> player.getData(TFDataAttachments.FLASK_DOSES).trackDrink(potion, serverPlayer)); } for (MobEffectInstance mobeffectinstance : flaskContents.potion().getAllEffects()) { if (mobeffectinstance.getEffect().value().isInstantenous()) { - mobeffectinstance.getEffect().value().applyInstantenousEffect(player, player, player, mobeffectinstance.getAmplifier(), 1.0D); + mobeffectinstance.getEffect().value().applyInstantenousEffect(serverLevel, player, player, entity, mobeffectinstance.getAmplifier(), 1.0D); } else { player.addEffect(new MobEffectInstance(mobeffectinstance)); } diff --git a/src/main/java/twilightforest/item/ChainBlockItem.java b/src/main/java/twilightforest/item/ChainBlockItem.java index 89d3001dcc..763f8c9f58 100644 --- a/src/main/java/twilightforest/item/ChainBlockItem.java +++ b/src/main/java/twilightforest/item/ChainBlockItem.java @@ -1,11 +1,9 @@ package twilightforest.item; -import net.minecraft.core.registries.Registries; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; @@ -15,7 +13,6 @@ import net.neoforged.neoforge.server.ServerLifecycleHooks; import org.jetbrains.annotations.Nullable; import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.ItemTagGenerator; import twilightforest.entity.projectile.ChainBlock; import twilightforest.init.TFDataComponents; import twilightforest.init.TFEnchantments; @@ -38,11 +35,11 @@ public void inventoryTick(ItemStack stack, Level level, Entity holder, int slot, } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.get(TFDataComponents.THROWN_PROJECTILE) != null || !level.getWorldBorder().isWithinBounds(player.blockPosition())) - return new InteractionResultHolder<>(InteractionResult.PASS, stack); + return InteractionResult.PASS; player.playSound(TFSounds.BLOCK_AND_CHAIN_FIRED.get(), 0.5F, 1.0F / (level.getRandom().nextFloat() * 0.4F + 1.2F)); @@ -53,7 +50,7 @@ public InteractionResultHolder use(Level level, Player player, Intera } player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.SUCCESS, stack); + return InteractionResult.SUCCESS; } @Nullable @@ -77,13 +74,8 @@ public int getUseDuration(ItemStack stack, LivingEntity user) { } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BLOCK; - } - - @Override - public boolean isValidRepairItem(ItemStack stack, ItemStack repairItem) { - return repairItem.is(ItemTagGenerator.KNIGHTMETAL_INGOTS); + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BLOCK; } @Override @@ -92,17 +84,17 @@ public boolean isCorrectToolForDrops(ItemStack stack, BlockState state) { if (stack.get(TFDataComponents.THROWN_PROJECTILE) == null || !state.is(BlockTagGenerator.MINEABLE_WITH_BLOCK_AND_CHAIN)) return false; MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); if (server != null) { - int destruction = stack.getEnchantmentLevel(server.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(TFEnchantments.DESTRUCTION)); + int destruction = stack.getEnchantmentLevel(server.registryAccess().holderOrThrow(TFEnchantments.DESTRUCTION)); if (destruction > 0) return this.getHarvestLevel(destruction).createToolProperties(BlockTagGenerator.MINEABLE_WITH_BLOCK_AND_CHAIN).isCorrectForDrops(state); } return false; } - public Tier getHarvestLevel(int destruction) { + public ToolMaterial getHarvestLevel(int destruction) { return switch (destruction) { - case 1 -> Tiers.WOOD; - case 2 -> Tiers.STONE; - default -> Tiers.IRON; + case 1 -> ToolMaterial.WOOD; + case 2 -> ToolMaterial.STONE; + default -> ToolMaterial.IRON; }; } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/CrumbleHornItem.java b/src/main/java/twilightforest/item/CrumbleHornItem.java index 186822410b..f320312c76 100644 --- a/src/main/java/twilightforest/item/CrumbleHornItem.java +++ b/src/main/java/twilightforest/item/CrumbleHornItem.java @@ -5,12 +5,12 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.stats.Stats; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -33,10 +33,10 @@ public CrumbleHornItem(Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { player.startUsingItem(hand); player.playSound(TFSounds.QUEST_RAM_AMBIENT.get(), 1.0F, 0.8F); - return InteractionResultHolder.consume(player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } @Override @@ -48,8 +48,8 @@ public void onUseTick(Level level, LivingEntity living, ItemStack stack, int cou } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.TOOT_HORN; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.TOOT_HORN; } @Override @@ -107,7 +107,7 @@ private boolean crumbleBlock(ServerLevel serverLevel, LivingEntity living, Block if (crumbleMap.result() == Blocks.AIR) { if (serverLevel.getRandom().nextFloat() < crumbleMap.chanceToCrumble()) { if (living instanceof Player player) { - if (block.canHarvestBlock(state, serverLevel, pos, (Player) living)) { + if (block.canHarvestBlock(state, serverLevel, pos, player)) { serverLevel.removeBlock(pos, false); block.playerDestroy(serverLevel, (Player) living, pos, state, serverLevel.getBlockEntity(pos), ItemStack.EMPTY); serverLevel.levelEvent(LevelEvent.PARTICLES_DESTROY_BLOCK, pos, Block.getId(state)); diff --git a/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java b/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java index ddfc321c3f..795d0204ac 100644 --- a/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java +++ b/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java @@ -3,13 +3,12 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import twilightforest.entity.projectile.CubeOfAnnihilation; @@ -32,11 +31,11 @@ public void inventoryTick(ItemStack stack, Level level, Entity holder, int slot, } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.get(TFDataComponents.THROWN_PROJECTILE) != null) - return new InteractionResultHolder<>(InteractionResult.PASS, stack); + return InteractionResult.PASS; if (!level.isClientSide()) { CubeOfAnnihilation launchedCube = new CubeOfAnnihilation(TFEntities.CUBE_OF_ANNIHILATION.get(), level, player, stack); @@ -45,7 +44,7 @@ public InteractionResultHolder use(Level level, Player player, Intera } player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.SUCCESS, stack); + return InteractionResult.SUCCESS; } @Nullable @@ -69,8 +68,8 @@ public int getUseDuration(ItemStack stack, LivingEntity user) { } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BLOCK; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BLOCK; } @Override diff --git a/src/main/java/twilightforest/item/EmptyMagicMapItem.java b/src/main/java/twilightforest/item/EmptyMagicMapItem.java index 675ac329aa..4cf67f5de3 100644 --- a/src/main/java/twilightforest/item/EmptyMagicMapItem.java +++ b/src/main/java/twilightforest/item/EmptyMagicMapItem.java @@ -5,29 +5,29 @@ import net.minecraft.stats.Stats; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ComplexItem; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import twilightforest.data.tags.CustomTagGenerator; -public class EmptyMagicMapItem extends ComplexItem { +public class EmptyMagicMapItem extends Item { public EmptyMagicMapItem(Properties properties) { super(properties); } - // [VanillaCopy] ItemEmptyMap.onItemRightClick, edits noted + // [VanillaCopy] EmptyMapItem.use, edits noted @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack emptyMapStack = player.getItemInHand(hand); if (level.isClientSide()) - return InteractionResultHolder.pass(emptyMapStack); + return InteractionResult.SUCCESS; //TF - only allow magic maps to be created in allowed dimensions (controlled via tag) if (!level.dimensionTypeRegistration().is(CustomTagGenerator.DimensionTypeTagGenerator.ALLOWS_MAGIC_MAP_CHARTING)) { player.displayClientMessage(Component.translatable("misc.twilightforest.magic_map_fail"), true); - return InteractionResultHolder.fail(emptyMapStack); + return InteractionResult.FAIL; } emptyMapStack.consume(1, player); @@ -38,12 +38,12 @@ public InteractionResultHolder use(Level level, Player player, Intera ItemStack newMapStack = MagicMapItem.setupNewMap(level, Mth.floor(player.getX()), Mth.floor(player.getZ()), (byte) 4, true, false); if (emptyMapStack.isEmpty()) { - return InteractionResultHolder.success(newMapStack); + return InteractionResult.SUCCESS.heldItemTransformedTo(newMapStack); } else { if (!player.getInventory().add(newMapStack.copy())) { player.drop(newMapStack, false); } - return InteractionResultHolder.success(emptyMapStack); + return InteractionResult.SUCCESS; } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/EmptyMazeMapItem.java b/src/main/java/twilightforest/item/EmptyMazeMapItem.java index c567027706..23ec442923 100644 --- a/src/main/java/twilightforest/item/EmptyMazeMapItem.java +++ b/src/main/java/twilightforest/item/EmptyMazeMapItem.java @@ -4,13 +4,13 @@ import net.minecraft.stats.Stats; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ComplexItem; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -public class EmptyMazeMapItem extends ComplexItem { +public class EmptyMazeMapItem extends Item { final boolean mapOres; public EmptyMazeMapItem(boolean mapOres, Properties properties) { @@ -18,23 +18,26 @@ public EmptyMazeMapItem(boolean mapOres, Properties properties) { this.mapOres = mapOres; } - // [VanillaCopy] MapItem.onItemRightClick calling own setup method + // [VanillaCopy] EmptyMapItem.use calling own setup method @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - ItemStack itemstack = MazeMapItem.setupNewMap(level, Mth.floor(player.getX()), Mth.floor(player.getZ()), (byte) 0, true, false, Mth.floor(player.getY()), this.mapOres); - ItemStack itemstack1 = player.getItemInHand(hand); - itemstack1.consume(1, player); - player.awardStat(Stats.ITEM_USED.get(this)); - player.level().playSound(null, player, SoundEvents.UI_CARTOGRAPHY_TABLE_TAKE_RESULT, player.getSoundSource(), 1.0F, 1.0F); - - if (itemstack1.isEmpty()) { - return InteractionResultHolder.success(itemstack); + public InteractionResult use(Level level, Player player, InteractionHand hand) { + ItemStack itemstack = player.getItemInHand(hand); + if (level.isClientSide()) { + return InteractionResult.SUCCESS; } else { - if (!player.getInventory().add(itemstack.copy())) { - player.drop(itemstack, false); - } + itemstack.consume(1, player); + player.awardStat(Stats.ITEM_USED.get(this)); + player.level().playSound(null, player, SoundEvents.UI_CARTOGRAPHY_TABLE_TAKE_RESULT, player.getSoundSource(), 1.0F, 1.0F); + ItemStack itemstack1 = MazeMapItem.setupNewMap(level, Mth.floor(player.getX()), Mth.floor(player.getZ()), (byte) 0, true, false, Mth.floor(player.getY()), this.mapOres); + if (itemstack.isEmpty()) { + return InteractionResult.SUCCESS.heldItemTransformedTo(itemstack1); + } else { + if (!player.getInventory().add(itemstack1.copy())) { + player.drop(itemstack1, false); + } - return InteractionResultHolder.success(itemstack1); + return InteractionResult.SUCCESS; + } } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/Experiment115Item.java b/src/main/java/twilightforest/item/Experiment115Item.java index ac3bc8ce1f..9a50ccd192 100644 --- a/src/main/java/twilightforest/item/Experiment115Item.java +++ b/src/main/java/twilightforest/item/Experiment115Item.java @@ -30,7 +30,7 @@ public InteractionResult useOn(UseOnContext context) { Player player = context.getPlayer(); if (player != null && !player.isShiftKeyDown()) { InteractionResult result = this.place(new BlockPlaceContext(context)); - return !result.consumesAction() && context.getItemInHand().get(DataComponents.FOOD) != null ? this.use(context.getLevel(), context.getPlayer(), context.getHand()).getResult() : result; + return !result.consumesAction() && context.getItemInHand().get(DataComponents.FOOD) != null ? this.use(context.getLevel(), context.getPlayer(), context.getHand()) : result; } return InteractionResult.PASS; } diff --git a/src/main/java/twilightforest/item/FallenLeavesItem.java b/src/main/java/twilightforest/item/FallenLeavesItem.java new file mode 100644 index 0000000000..fe216df431 --- /dev/null +++ b/src/main/java/twilightforest/item/FallenLeavesItem.java @@ -0,0 +1,30 @@ +package twilightforest.item; + +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.ClipContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.phys.BlockHitResult; + +public class FallenLeavesItem extends BlockItem { + public FallenLeavesItem(Block block, Properties properties) { + super(block, properties); + } + + @Override + public InteractionResult useOn(UseOnContext context) { + return context.getLevel().getBlockState(context.getClickedPos()).is(this.getBlock()) ? super.useOn(context) : InteractionResult.PASS; + } + + @Override + public InteractionResult use(Level level, Player player, InteractionHand hand) { + BlockHitResult fluidHitResult = getPlayerPOVHitResult(level, player, ClipContext.Fluid.SOURCE_ONLY); + BlockHitResult placeBlockResult = fluidHitResult.withPosition(fluidHitResult.getBlockPos().above()); + return super.useOn(new UseOnContext(player, hand, placeBlockResult)); + } +} diff --git a/src/main/java/twilightforest/item/FieryArmorItem.java b/src/main/java/twilightforest/item/FieryArmorItem.java index b34683abc8..65005ca145 100644 --- a/src/main/java/twilightforest/item/FieryArmorItem.java +++ b/src/main/java/twilightforest/item/FieryArmorItem.java @@ -2,36 +2,28 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.item.equipment.ArmorType; +import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.armor.FieryArmorModel; -import twilightforest.init.TFEnchantments; import java.util.List; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Consumer; public class FieryArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.fiery_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public FieryArmorItem(Holder material, Type type, Properties properties) { + public FieryArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -45,10 +37,10 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(slot == EquipmentSlot.LEGS ? TFModelLayers.FIERY_ARMOR_INNER : TFModelLayers.FIERY_ARMOR_OUTER); - return new FieryArmorModel(root); + ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.FIERY_ARMOR_INNER : TFModelLayers.FIERY_ARMOR_OUTER); + return new FieryArmorModel<>(root); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/FieryPickItem.java b/src/main/java/twilightforest/item/FieryPickItem.java index f9c1281238..8d9cb8d1cd 100644 --- a/src/main/java/twilightforest/item/FieryPickItem.java +++ b/src/main/java/twilightforest/item/FieryPickItem.java @@ -6,15 +6,15 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.item.TooltipFlag; import java.util.List; public class FieryPickItem extends PickaxeItem { - public FieryPickItem(Tier toolMaterial, Properties properties) { - super(toolMaterial, properties); + public FieryPickItem(ToolMaterial material, Properties properties) { + super(material, 1.0F, -2.8F, properties); } @Override diff --git a/src/main/java/twilightforest/item/FierySwordItem.java b/src/main/java/twilightforest/item/FierySwordItem.java index 5593d35744..49bd690f22 100644 --- a/src/main/java/twilightforest/item/FierySwordItem.java +++ b/src/main/java/twilightforest/item/FierySwordItem.java @@ -6,17 +6,15 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.Enchantments; import java.util.List; public class FierySwordItem extends SwordItem { - public FierySwordItem(Tier toolMaterial, Properties properties) { - super(toolMaterial, properties); + public FierySwordItem(ToolMaterial material, Properties properties) { + super(material, 3.0F, -2.4F, properties); } @Override diff --git a/src/main/java/twilightforest/item/FortificationWandItem.java b/src/main/java/twilightforest/item/FortificationWandItem.java index e338561b9e..0ee912ca66 100644 --- a/src/main/java/twilightforest/item/FortificationWandItem.java +++ b/src/main/java/twilightforest/item/FortificationWandItem.java @@ -4,7 +4,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -25,11 +25,11 @@ public FortificationWandItem(Properties properties) { @Nonnull @Override - public InteractionResultHolder use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { - return InteractionResultHolder.fail(stack); + return InteractionResult.FAIL; } if (!level.isClientSide()) { @@ -41,14 +41,9 @@ public InteractionResultHolder use(Level level, Player player, @Nonnu player.playSound(TFSounds.SHIELD_ADD.get(), 1.0F, (player.getRandom().nextFloat() - player.getRandom().nextFloat()) * 0.2F + 1.0F); if (!player.isCreative()) - player.getCooldowns().addCooldown(this, 1200); + player.getCooldowns().addCooldown(stack, 1200); - return InteractionResultHolder.success(stack); - } - - @Override - public boolean isEnchantable(ItemStack stack) { - return false; + return InteractionResult.SUCCESS; } @Override diff --git a/src/main/java/twilightforest/item/GiantPickItem.java b/src/main/java/twilightforest/item/GiantPickItem.java index 4eab4ffa1c..f640325f1d 100644 --- a/src/main/java/twilightforest/item/GiantPickItem.java +++ b/src/main/java/twilightforest/item/GiantPickItem.java @@ -7,10 +7,7 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.PickaxeItem; -import net.minecraft.world.item.Tier; -import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.*; import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; @@ -23,8 +20,8 @@ public class GiantPickItem extends PickaxeItem { - public GiantPickItem(Tier material, Properties properties) { - super(material, properties); + public GiantPickItem(ToolMaterial material, Properties properties) { + super(material, 8, -3.5F, properties); } @Override @@ -33,10 +30,13 @@ public void appendHoverText(ItemStack stack, TooltipContext context, List blockItemMap, Item item) { blockItemMap.put(this.climbable, item); } - // FIXME Depreciated for removal, NeoForge will no longer continue supporting this method - // https://github.com/neoforged/NeoForge/pull/1480 - @SuppressWarnings("removal") @Override - public void removeFromBlockToItemMap(Map blockItemMap, Item item) { - super.removeFromBlockToItemMap(blockItemMap, item); - blockItemMap.remove(this.horizontalLog); - blockItemMap.remove(this.verticalLog); - blockItemMap.remove(this.climbable); - } - - @Override - public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) { + public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType, FuelValues fuelValues) { return 300; } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/HugeLilyPadItem.java b/src/main/java/twilightforest/item/HugeLilyPadItem.java index 4a00e67523..dadda2ac13 100644 --- a/src/main/java/twilightforest/item/HugeLilyPadItem.java +++ b/src/main/java/twilightforest/item/HugeLilyPadItem.java @@ -9,7 +9,7 @@ import net.minecraft.stats.Stats; import net.minecraft.tags.BlockTags; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PlaceOnWaterBlockItem; @@ -33,11 +33,11 @@ public HugeLilyPadItem(HugeLilyPadBlock block, Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack itemstack = player.getItemInHand(hand); BlockHitResult raytraceresult = getPlayerPOVHitResult(level, player, ClipContext.Fluid.SOURCE_ONLY); if (raytraceresult.getType() == HitResult.Type.MISS) { - return InteractionResultHolder.pass(itemstack); + return InteractionResult.PASS; } else { if (raytraceresult.getType() == HitResult.Type.BLOCK) { BlockPos blockpos = raytraceresult.getBlockPos(); @@ -48,7 +48,7 @@ public InteractionResultHolder use(Level level, Player player, Intera || !level.mayInteract(player, blockpos.south()) || !player.mayUseItemAt(blockpos.relative(direction).south(), direction, itemstack) || !level.mayInteract(player, blockpos.east().south()) || !player.mayUseItemAt(blockpos.relative(direction).east().south(), direction, itemstack) ) { - return InteractionResultHolder.fail(itemstack); + return InteractionResult.FAIL; } BlockPos blockpos1 = blockpos.above(); @@ -78,11 +78,11 @@ public InteractionResultHolder use(Level level, Player player, Intera player.awardStat(Stats.ITEM_USED.get(this)); level.playSound(player, blockpos, SoundEvents.LILY_PAD_PLACE, SoundSource.BLOCKS, 1.0F, 1.0F); - return InteractionResultHolder.success(itemstack); + return InteractionResult.SUCCESS; } } - return InteractionResultHolder.fail(itemstack); + return InteractionResult.FAIL; } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/IceBombItem.java b/src/main/java/twilightforest/item/IceBombItem.java index 6627f73716..2432de82e2 100644 --- a/src/main/java/twilightforest/item/IceBombItem.java +++ b/src/main/java/twilightforest/item/IceBombItem.java @@ -2,9 +2,10 @@ import net.minecraft.core.Direction; import net.minecraft.core.Position; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.stats.Stats; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.Item; @@ -22,17 +23,18 @@ public IceBombItem(Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); player.playSound(TFSounds.ICE_BOMB_FIRED.get(), 0.5F, 0.4F / (level.getRandom().nextFloat() * 0.4F + 0.8F)); - if (!level.isClientSide()) { - player.getItemInHand(hand).consume(1, player); - IceBomb ice = new IceBomb(TFEntities.THROWN_ICE.get(), level, player); - ice.shootFromRotation(player, player.getXRot(), player.getYRot(), -5.0F, 1.25F, 1.0F); - level.addFreshEntity(ice); + if (level instanceof ServerLevel serverlevel) { + Projectile.spawnProjectileFromRotation((lev, entity, stacc) -> new IceBomb(TFEntities.THROWN_ICE.get(), level, player), serverlevel, stack, player, 0.0F, 1.5F, 1.0F); } - return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand)); + player.awardStat(Stats.ITEM_USED.get(this)); + stack.consume(1, player); + + return InteractionResult.SUCCESS; } @Override diff --git a/src/main/java/twilightforest/item/IceBowItem.java b/src/main/java/twilightforest/item/IceBowItem.java index 21fc7b06d6..86f793b714 100644 --- a/src/main/java/twilightforest/item/IceBowItem.java +++ b/src/main/java/twilightforest/item/IceBowItem.java @@ -5,7 +5,6 @@ import net.minecraft.world.item.BowItem; import net.minecraft.world.item.ItemStack; import twilightforest.entity.projectile.IceArrow; -import twilightforest.util.TFToolMaterials; public class IceBowItem extends BowItem { @@ -17,9 +16,4 @@ public IceBowItem(Properties properties) { public AbstractArrow customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) { return new IceArrow(arrow.level(), (LivingEntity) arrow.getOwner(), projectileStack.copyWithCount(1), weaponStack); } - - @Override - public boolean isValidRepairItem(ItemStack toRepair, ItemStack repairWith) { - return TFToolMaterials.ICE.getRepairIngredient().test(repairWith); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/IceSwordItem.java b/src/main/java/twilightforest/item/IceSwordItem.java index 2c55b258b6..26f5dabab4 100644 --- a/src/main/java/twilightforest/item/IceSwordItem.java +++ b/src/main/java/twilightforest/item/IceSwordItem.java @@ -3,7 +3,7 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.enchantment.ApplyFrostedEffect; import twilightforest.init.TFParticleType; @@ -11,8 +11,8 @@ public class IceSwordItem extends SwordItem { - public IceSwordItem(Tier toolMaterial, Properties properties) { - super(toolMaterial, properties); + public IceSwordItem(ToolMaterial material, Properties properties) { + super(material, 3.0F, -2.4F, properties); } @Override diff --git a/src/main/java/twilightforest/item/KnightmetalArmorItem.java b/src/main/java/twilightforest/item/KnightmetalArmorItem.java index d15459c2fa..cd3023b80b 100644 --- a/src/main/java/twilightforest/item/KnightmetalArmorItem.java +++ b/src/main/java/twilightforest/item/KnightmetalArmorItem.java @@ -1,22 +1,21 @@ package twilightforest.item; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.HumanoidArmorModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.core.Holder; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; +import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; public class KnightmetalArmorItem extends ArmorItem { - public KnightmetalArmorItem(Holder material, Type type, Properties properties) { + public KnightmetalArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -24,10 +23,10 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(slot == EquipmentSlot.LEGS ? TFModelLayers.KNIGHTMETAL_ARMOR_INNER : TFModelLayers.KNIGHTMETAL_ARMOR_OUTER); - return new TFArmorModel(root); + ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.KNIGHTMETAL_ARMOR_INNER : TFModelLayers.KNIGHTMETAL_ARMOR_OUTER); + return new HumanoidArmorModel<>(root); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/KnightmetalAxeItem.java b/src/main/java/twilightforest/item/KnightmetalAxeItem.java index 190b81e0bd..6eda0b70ed 100644 --- a/src/main/java/twilightforest/item/KnightmetalAxeItem.java +++ b/src/main/java/twilightforest/item/KnightmetalAxeItem.java @@ -4,15 +4,15 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.AxeItem; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.item.TooltipFlag; import java.util.List; public class KnightmetalAxeItem extends AxeItem { - public KnightmetalAxeItem(Tier material, Properties properties) { - super(material, properties); + public KnightmetalAxeItem(ToolMaterial material, Properties properties) { + super(material, 6.0F, -3.8F, properties); } @Override diff --git a/src/main/java/twilightforest/item/KnightmetalPickItem.java b/src/main/java/twilightforest/item/KnightmetalPickItem.java index 91987abe66..5c18cea216 100644 --- a/src/main/java/twilightforest/item/KnightmetalPickItem.java +++ b/src/main/java/twilightforest/item/KnightmetalPickItem.java @@ -4,15 +4,15 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.item.TooltipFlag; import java.util.List; public class KnightmetalPickItem extends PickaxeItem { - public KnightmetalPickItem(Tier material, Properties properties) { - super(material, properties); + public KnightmetalPickItem(ToolMaterial material, Properties properties) { + super(material, 1.0F, -2.8F, properties); } @Override diff --git a/src/main/java/twilightforest/item/KnightmetalShieldItem.java b/src/main/java/twilightforest/item/KnightmetalShieldItem.java index 08f07684d5..d4989550bf 100644 --- a/src/main/java/twilightforest/item/KnightmetalShieldItem.java +++ b/src/main/java/twilightforest/item/KnightmetalShieldItem.java @@ -1,18 +1,13 @@ package twilightforest.item; import net.minecraft.network.chat.Component; -import net.minecraft.tags.ItemTags; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ShieldItem; import net.minecraft.world.item.TooltipFlag; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import net.neoforged.neoforge.common.ItemAbilities; import net.neoforged.neoforge.common.ItemAbility; -import twilightforest.client.ISTER; -import twilightforest.data.tags.ItemTagGenerator; import java.util.List; -import java.util.function.Consumer; public class KnightmetalShieldItem extends ShieldItem { @@ -23,14 +18,4 @@ public KnightmetalShieldItem(Properties properties) { @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { } - - @Override - public boolean isValidRepairItem(ItemStack toRepair, ItemStack repair) { - return repair.is(ItemTagGenerator.KNIGHTMETAL_INGOTS) || !repair.is(ItemTags.PLANKS) && super.isValidRepairItem(toRepair, repair); - } - - @Override - public boolean canPerformAction(ItemStack stack, ItemAbility toolAction) { - return ItemAbilities.DEFAULT_SHIELD_ACTIONS.contains(toolAction) || super.canPerformAction(stack, toolAction); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/KnightmetalSwordItem.java b/src/main/java/twilightforest/item/KnightmetalSwordItem.java index eda371f13f..7436b254c4 100644 --- a/src/main/java/twilightforest/item/KnightmetalSwordItem.java +++ b/src/main/java/twilightforest/item/KnightmetalSwordItem.java @@ -4,15 +4,15 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.item.TooltipFlag; import java.util.List; public class KnightmetalSwordItem extends SwordItem { - public KnightmetalSwordItem(Tier material, Properties properties) { - super(material, properties); + public KnightmetalSwordItem(ToolMaterial material, Properties properties) { + super(material, 3, -2.4F, properties); } @Override diff --git a/src/main/java/twilightforest/item/LampOfCindersItem.java b/src/main/java/twilightforest/item/LampOfCindersItem.java index d6cadc5d90..970d1292d1 100644 --- a/src/main/java/twilightforest/item/LampOfCindersItem.java +++ b/src/main/java/twilightforest/item/LampOfCindersItem.java @@ -6,12 +6,11 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.LevelEvent; @@ -30,11 +29,6 @@ public LampOfCindersItem(Properties properties) { super(properties); } - @Override - public boolean isEnchantable(ItemStack pStack) { - return false; - } - @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; @@ -42,9 +36,9 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { @Nonnull @Override - public InteractionResultHolder use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } @Nonnull @@ -81,12 +75,14 @@ private boolean burnBlock(Level level, BlockPos pos) { } @Override - public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { + public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { int useTime = this.getUseDuration(stack, living) - useRemaining; if (useTime > FIRING_TIME && (stack.getDamageValue() + 1) < this.getMaxDamage(stack)) { this.doBurnEffect(level, living); + return true; } + return false; } private void doBurnEffect(Level level, LivingEntity living) { @@ -125,8 +121,8 @@ private void doBurnEffect(Level level, LivingEntity living) { } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BOW; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BOW; } @Override diff --git a/src/main/java/twilightforest/item/LifedrainScepterItem.java b/src/main/java/twilightforest/item/LifedrainScepterItem.java index 2cafadc036..74802037a8 100644 --- a/src/main/java/twilightforest/item/LifedrainScepterItem.java +++ b/src/main/java/twilightforest/item/LifedrainScepterItem.java @@ -12,7 +12,7 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; @@ -49,22 +49,17 @@ public LifedrainScepterItem(Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { - return InteractionResultHolder.fail(player.getItemInHand(hand)); + return InteractionResult.FAIL; } else { player.startUsingItem(hand); - return InteractionResultHolder.success(player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } } - @Override - public boolean isEnchantable(ItemStack stack) { - return false; - } - @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; @@ -149,61 +144,59 @@ public void onUseTick(Level level, LivingEntity living, ItemStack stack, int cou Entity pointedEntity = getPlayerLookTarget(level, living); if (pointedEntity instanceof LivingEntity target && !(target instanceof ArmorStand)) { - if (!level.isClientSide() && !target.isDeadOrDying()) { + if (!level.isClientSide() && !target.isDeadOrDying()) { PacketDistributor.sendToPlayersTrackingEntityAndSelf(living, new LifedrainParticlePacket(living.getId(), target.getEyePosition())); level.playSound(null, living.blockPosition(), TFSounds.LIFE_SCEPTER_DRAIN.get(), SoundSource.PLAYERS); } DamageSource damageSource = TFDamageTypes.getEntityDamageSource(level, TFDamageTypes.LIFEDRAIN, living); - if (target.hurt(damageSource, 1)) { + if (level instanceof ServerLevel serverLevel && target.hurtServer(serverLevel, damageSource, 1)) { // make it explode - if (!level.isClientSide()) { - if (target.getHealth() <= 1 && !target.getType().is(Tags.EntityTypes.BOSSES)) { - if (!target.getType().is(EntityTagGenerator.LIFEDRAIN_DROPS_NO_FLESH) && level instanceof ServerLevel serverLevel && living instanceof Player player) { - LootParams ctx = new LootParams.Builder(serverLevel) - .withParameter(LootContextParams.THIS_ENTITY, target) - .withParameter(LootContextParams.ORIGIN, target.getEyePosition()) - .withParameter(LootContextParams.DAMAGE_SOURCE, damageSource) - .withParameter(LootContextParams.LAST_DAMAGE_PLAYER, player) - .withParameter(LootContextParams.ATTACKING_ENTITY, player) - .withParameter(LootContextParams.DIRECT_ATTACKING_ENTITY, player).create(LootContextParamSets.ENTITY); - serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.LIFEDRAIN_SCEPTER_KILL_BONUS).getRandomItems(ctx).forEach(target::spawnAtLocation); - animateTargetShatter(serverLevel, target); - } + if (target.getHealth() <= 1 && !target.getType().is(Tags.EntityTypes.BOSSES)) { + if (!target.getType().is(EntityTagGenerator.LIFEDRAIN_DROPS_NO_FLESH) && living instanceof Player player) { + LootParams ctx = new LootParams.Builder(serverLevel) + .withParameter(LootContextParams.THIS_ENTITY, target) + .withParameter(LootContextParams.ORIGIN, target.getEyePosition()) + .withParameter(LootContextParams.DAMAGE_SOURCE, damageSource) + .withParameter(LootContextParams.LAST_DAMAGE_PLAYER, player) + .withParameter(LootContextParams.ATTACKING_ENTITY, player) + .withParameter(LootContextParams.DIRECT_ATTACKING_ENTITY, player).create(LootContextParamSets.ENTITY); + serverLevel.getServer().reloadableRegistries().getLootTable(TFLootTables.LIFEDRAIN_SCEPTER_KILL_BONUS).getRandomItems(ctx).forEach(dropped -> target.spawnAtLocation(serverLevel, dropped)); + animateTargetShatter(serverLevel, target); + } - if (target instanceof Mob mob) { - mob.spawnAnim(); - } - SoundEvent deathSound = EntityUtil.getDeathSound(target); - if (deathSound != null) { - level.playSound(null, target.blockPosition(), deathSound, SoundSource.HOSTILE, 1.0F, target.getVoicePitch()); - } - if (!target.isDeadOrDying()) { - if (target instanceof Player) { - target.hurt(TFDamageTypes.getEntityDamageSource(level, TFDamageTypes.LIFEDRAIN, living), Float.MAX_VALUE); - } else { - target.die(TFDamageTypes.getEntityDamageSource(level, TFDamageTypes.LIFEDRAIN, living)); - target.discard(); - } - } - } else { - target.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 20, 2)); - if (count % 10 == 0) { - // heal the player - living.heal(1.0F); - // and give foods - if (living instanceof Player player) - player.getFoodData().eat(1, 0.1F); + if (target instanceof Mob mob) { + mob.spawnAnim(); + } + SoundEvent deathSound = EntityUtil.getDeathSound(target); + if (deathSound != null) { + level.playSound(null, target.blockPosition(), deathSound, SoundSource.HOSTILE, 1.0F, target.getVoicePitch()); + } + if (!target.isDeadOrDying()) { + if (target instanceof Player) { + target.hurtServer(serverLevel, TFDamageTypes.getEntityDamageSource(level, TFDamageTypes.LIFEDRAIN, living), Float.MAX_VALUE); + } else { + target.die(TFDamageTypes.getEntityDamageSource(level, TFDamageTypes.LIFEDRAIN, living)); + target.discard(); } } - - if (living instanceof Player player && !player.getAbilities().instabuild && (!player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) || level.getRandom().nextFloat() > 0.05f)) { - TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + } else { + target.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 20, 2)); + if (count % 10 == 0) { + // heal the player + living.heal(1.0F); + // and give foods + if (living instanceof Player player) + player.getFoodData().eat(1, 0.1F); } } + + if (living instanceof Player player && !player.getAbilities().instabuild && (!player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) || level.getRandom().nextFloat() > 0.05f)) { + TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + } } - if (!level.isClientSide() && target.getHealth() <= living.getHealth()) { + if (target.getHealth() <= living.getHealth()) { // only do lifting effect on creatures weaker than the player target.setDeltaMovement(0, 0.15D, 0); } @@ -213,7 +206,7 @@ public void onUseTick(Level level, LivingEntity living, ItemStack stack, int cou public static void makeRedMagicTrail(Level level, LivingEntity source, Vec3 target) { // make particle trail - Vec3 handPos = getPlayerHandPos(source, Minecraft.getInstance().getTimer().getGameTimeDeltaPartialTick(false)); + Vec3 handPos = getPlayerHandPos(source, Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaPartialTick(false)); double distance = handPos.distanceTo(target); for (double i = 0; i <= distance * 3; i++) { @@ -241,7 +234,7 @@ private static Vec3 getPlayerHandPos(LivingEntity living, float partialTicks) { Vec3 vec3 = minecraft.getEntityRenderDispatcher() .camera .getNearPlane() - .getPointOnPlane((float)hand * 0.525F, -0.1F) + .getPointOnPlane((float) hand * 0.525F, -0.1F) .scale(960.0D / (double) minecraft.options.fov().get()) .yRot(armSwing * 0.5F) .xRot(-armSwing * 0.7F); @@ -251,10 +244,10 @@ private static Vec3 getPlayerHandPos(LivingEntity living, float partialTicks) { double sin = Mth.sin(yRot); double cos = Mth.cos(yRot); float scale = living.getScale(); - double offset = (double)hand * 0.35 * (double)scale; - double factor = 0.8 * (double)scale; + double offset = (double) hand * 0.35 * (double) scale; + double factor = 0.8 * (double) scale; float crouch = living.isCrouching() ? -0.1875F : 0.0F; - return living.getEyePosition(partialTicks).add(-cos * offset - sin * factor, (double)crouch - 0.45 * (double)scale, -sin * offset + cos * factor); + return living.getEyePosition(partialTicks).add(-cos * offset - sin * factor, (double) crouch - 0.45 * (double) scale, -sin * offset + cos * factor); } } @@ -264,8 +257,8 @@ public int getUseDuration(ItemStack stack, LivingEntity user) { } @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BOW; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BOW; } @Override diff --git a/src/main/java/twilightforest/item/MagicMapItem.java b/src/main/java/twilightforest/item/MagicMapItem.java index 55b314bc7a..74a30de357 100644 --- a/src/main/java/twilightforest/item/MagicMapItem.java +++ b/src/main/java/twilightforest/item/MagicMapItem.java @@ -7,7 +7,6 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.Packet; import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ColumnPos; import net.minecraft.util.Mth; @@ -126,7 +125,7 @@ public void update(Level level, Entity viewer, MapItemSavedData data) { return array; }); - Registry structureRegistry = level.registryAccess().registryOrThrow(Registries.STRUCTURE); + Registry structureRegistry = level.registryAccess().lookupOrThrow(Registries.STRUCTURE); for (int xPixel = viewerX - viewRadiusPixels + 1; xPixel < viewerX + viewRadiusPixels; ++xPixel) { for (int zPixel = viewerZ - viewRadiusPixels - 1; zPixel < viewerZ + viewRadiusPixels; ++zPixel) { @@ -162,9 +161,9 @@ public void update(Level level, Entity viewer, MapItemSavedData data) { if (LegacyLandmarkPlacements.blockIsInLandmarkCenter(worldX, worldZ)) { ResourceKey structureKey = LegacyLandmarkPlacements.pickLandmarkAtBlock(worldX, worldZ, level); // Filters by structures we want to give icons for - if (structureRegistry.getHolder(structureKey).map(structureRef -> structureRef.is(StructureTagGenerator.LANDMARK)).orElse(false)) { + if (structureRegistry.get(structureKey).map(structureRef -> structureRef.is(StructureTagGenerator.LANDMARK)).orElse(false)) { TFMagicMapData tfData = (TFMagicMapData) data; - if (structureRegistry.getOrThrow(structureKey) instanceof LandmarkStructure landmark) { + if (structureRegistry.getValueOrThrow(structureKey) instanceof LandmarkStructure landmark) { landmark.getMapIcon().ifPresent(icon -> tfData.addTFDecoration(icon, level, makeName(icon, worldX, worldZ), worldX, worldZ, 180.0F, LandmarkUtil.isConquered(level, worldX, worldZ))); //TwilightForestMod.LOGGER.info("Found feature at {}, {}. Placing it on the map at {}, {}", worldX, worldZ, mapX, mapZ); } @@ -191,14 +190,6 @@ public void onCraftedBy(ItemStack stack, Level world, Player player) { // disable zooming } - @Override - @Nullable - public Packet getUpdatePacket(ItemStack stack, Level world, Player player) { - MapId mapId = stack.get(DataComponents.MAP_ID); - TFMagicMapData mapdata = getCustomMapData(stack, world); - return mapId == null || mapdata == null ? null : mapdata.getUpdatePacket(mapId, player); - } - @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { MapId mapId = stack.get(DataComponents.MAP_ID); diff --git a/src/main/java/twilightforest/item/MagicPaintingItem.java b/src/main/java/twilightforest/item/MagicPaintingItem.java index fe00408409..3701a623b9 100644 --- a/src/main/java/twilightforest/item/MagicPaintingItem.java +++ b/src/main/java/twilightforest/item/MagicPaintingItem.java @@ -56,7 +56,7 @@ public InteractionResult useOn(UseOnContext context) { } stack.shrink(1); - return InteractionResult.sidedSuccess(level.isClientSide); + return InteractionResult.SUCCESS; } else { return InteractionResult.CONSUME; } diff --git a/src/main/java/twilightforest/item/MazeMapItem.java b/src/main/java/twilightforest/item/MazeMapItem.java index 46fc67d7de..2db8e26f03 100644 --- a/src/main/java/twilightforest/item/MazeMapItem.java +++ b/src/main/java/twilightforest/item/MazeMapItem.java @@ -8,7 +8,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.Packet; import net.minecraft.resources.ResourceKey; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; @@ -16,7 +15,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.MapItem; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.component.MapPostProcessing; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; @@ -30,7 +28,6 @@ import org.jetbrains.annotations.Nullable; import twilightforest.init.TFDataMaps; import twilightforest.init.TFItems; -import twilightforest.item.mapdata.TFMagicMapData; import twilightforest.item.mapdata.TFMazeMapData; import twilightforest.util.datamaps.OreMapOreColor; @@ -232,14 +229,6 @@ public void onCraftedBy(ItemStack stack, Level level, Player player) { // disable zooming } - @Override - @Nullable - public Packet getUpdatePacket(ItemStack stack, Level level, Player player) { - MapId mapId = stack.get(DataComponents.MAP_ID); - TFMazeMapData mapdata = this.getCustomMapData(stack, level); - return mapId == null || mapdata == null ? null : mapdata.getUpdatePacket(mapId, player); - } - @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { MapId mapId = stack.get(DataComponents.MAP_ID); diff --git a/src/main/java/twilightforest/item/MazebreakerPickItem.java b/src/main/java/twilightforest/item/MazebreakerPickItem.java index feaeba915e..d15e2a4a31 100644 --- a/src/main/java/twilightforest/item/MazebreakerPickItem.java +++ b/src/main/java/twilightforest/item/MazebreakerPickItem.java @@ -2,15 +2,15 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; -import net.minecraft.world.item.Tier; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.level.block.state.BlockState; import twilightforest.data.tags.BlockTagGenerator; import javax.annotation.Nonnull; public class MazebreakerPickItem extends PickaxeItem { - public MazebreakerPickItem(Tier material, Properties properties) { - super(material, properties); + public MazebreakerPickItem(ToolMaterial material, Properties properties) { + super(material, 1.0F, -2.8F, properties); } @Override @@ -18,9 +18,4 @@ public float getDestroySpeed(@Nonnull ItemStack stack, BlockState state) { float destroySpeed = super.getDestroySpeed(stack, state); return state.is(BlockTagGenerator.MAZEBREAKER_ACCELERATED) ? destroySpeed * 16.0F : destroySpeed; } - - @Override - public boolean isValidRepairItem(ItemStack stack, ItemStack otherStack) { - return false; - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/MinotaurAxeItem.java b/src/main/java/twilightforest/item/MinotaurAxeItem.java index 46e62e9b51..ad8e30372b 100644 --- a/src/main/java/twilightforest/item/MinotaurAxeItem.java +++ b/src/main/java/twilightforest/item/MinotaurAxeItem.java @@ -8,13 +8,8 @@ public class MinotaurAxeItem extends AxeItem { - public MinotaurAxeItem(Tier material, Properties properties) { - super(material, properties); - } - - @Override - public int getEnchantmentValue() { - return Tiers.GOLD.getEnchantmentValue(); + public MinotaurAxeItem(ToolMaterial material, Properties properties) { + super(material, 6.0F, -3.2F, properties); } @Override diff --git a/src/main/java/twilightforest/item/MoonDialItem.java b/src/main/java/twilightforest/item/MoonDialItem.java index 6c3ddb781f..a78321d91c 100644 --- a/src/main/java/twilightforest/item/MoonDialItem.java +++ b/src/main/java/twilightforest/item/MoonDialItem.java @@ -1,7 +1,6 @@ package twilightforest.item; import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/twilightforest/item/MoonwormQueenItem.java b/src/main/java/twilightforest/item/MoonwormQueenItem.java index be05943c62..42dc887ba0 100644 --- a/src/main/java/twilightforest/item/MoonwormQueenItem.java +++ b/src/main/java/twilightforest/item/MoonwormQueenItem.java @@ -9,17 +9,15 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; @@ -43,24 +41,19 @@ public MoonwormQueenItem(Properties properties) { super(properties); } - @Override - public boolean isEnchantable(ItemStack stack) { - return false; - } - @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.getDamageValue() == this.getMaxDamage(stack)) { - return InteractionResultHolder.fail(stack); + return InteractionResult.FAIL; } else { player.startUsingItem(hand); - return InteractionResultHolder.success(player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } } @@ -81,7 +74,7 @@ public InteractionResult useOn(UseOnContext context) { ItemStack itemstack = player.getItemInHand(context.getHand()); if (itemstack.getDamageValue() < itemstack.getMaxDamage() && player.mayUseItemAt(pos, context.getClickedFace(), itemstack) && level.isUnobstructed(TFBlocks.MOONWORM.get().defaultBlockState(), pos, CollisionContext.empty())) { - if (this.tryPlace(blockItemUseContext).shouldSwing()) { + if (this.tryPlace(blockItemUseContext).consumesAction()) { SoundType soundtype = level.getBlockState(pos).getBlock().getSoundType(level.getBlockState(pos), level, pos, player); level.playSound(player, pos, soundtype.getPlaceSound(), SoundSource.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F); // TF - damage stack instead of shrinking @@ -98,7 +91,7 @@ public InteractionResult useOn(UseOnContext context) { @Override - public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { + public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { int useTime = this.getUseDuration(stack, living) - useRemaining; if (!level.isClientSide() && useTime > FIRING_TIME && (stack.getDamageValue() + 1) < stack.getMaxDamage()) { @@ -107,15 +100,17 @@ public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int if (living instanceof Player player && !player.getAbilities().instabuild) TFItemStackUtils.hurtButDontBreak(stack, 2, (ServerLevel) level, player); level.playSound(null, living.getX(), living.getY(), living.getZ(), TFSounds.MOONWORM_SQUISH.get(), living instanceof Player ? SoundSource.PLAYERS : SoundSource.NEUTRAL, 1.0F, 1.0F); + return true; } } + return false; } @Nonnull @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BOW; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BOW; } @Override diff --git a/src/main/java/twilightforest/item/OreMagnetItem.java b/src/main/java/twilightforest/item/OreMagnetItem.java index 40856d89fd..c94d7d98be 100644 --- a/src/main/java/twilightforest/item/OreMagnetItem.java +++ b/src/main/java/twilightforest/item/OreMagnetItem.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderSet; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; @@ -11,12 +12,11 @@ import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -50,11 +50,6 @@ public OreMagnetItem(Properties properties) { super(properties); } - @Override - public boolean isEnchantable(ItemStack stack) { - return false; - } - @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { AtomicBoolean badEnchant = new AtomicBoolean(); @@ -69,13 +64,13 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { @Nonnull @Override - public InteractionResultHolder use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } @Override - public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { + public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { int useTime = this.getUseDuration(stack, living) - useRemaining; if (!level.isClientSide() && useTime > 10) { @@ -109,14 +104,16 @@ public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int if (moved > 0) { stack.hurtAndBreak(moved, living, LivingEntity.getSlotForHand(living.getUsedItemHand())); level.playSound(null, living.getX(), living.getY(), living.getZ(), TFSounds.MAGNET_GRAB.get(), living.getSoundSource(), 1.0F, 1.0F); + return true; } } + return false; } @Nonnull @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BOW; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BOW; } @Override @@ -258,16 +255,16 @@ public static void onTagsUpdatedEvent(TagsUpdatedEvent event) { ORE_TO_BLOCK_REPLACEMENTS.clear(); //collect all tags - for (TagKey tag : BuiltInRegistries.BLOCK.getTagNames().filter(location -> location.location().getNamespace().equals("c")).toList()) { + for (HolderSet.Named tag : BuiltInRegistries.BLOCK.getTags().filter(location -> location.key().location().getNamespace().equals("c")).toList()) { //check if the tag is a valid ore tag - if (tag.location().getPath().contains("ores_in_ground/")) { + if (tag.key().location().getPath().contains("ores_in_ground/")) { //grab the part after the slash for use later - String oreground = tag.location().getPath().substring(15); + String oreground = tag.key().location().getPath().substring(15); //check if a tag for ore grounds matches up with our ores in ground tag - if (BuiltInRegistries.BLOCK.getTagNames().filter(location -> location.location().getNamespace().equals("c")).anyMatch(blockTagKey -> blockTagKey.location().getPath().equals("ore_bearing_ground/" + oreground))) { + if (BuiltInRegistries.BLOCK.getTags().filter(location -> location.key().location().getNamespace().equals("c")).anyMatch(blockTagKey -> blockTagKey.key().location().getPath().equals("ore_bearing_ground/" + oreground))) { //add each ground type to each ore - BuiltInRegistries.BLOCK.getTag(TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath("c", "ore_bearing_ground/" + oreground))).get().forEach(ground -> - BuiltInRegistries.BLOCK.getTag(tag).get().forEach(ore -> { + BuiltInRegistries.BLOCK.get(TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath("c", "ore_bearing_ground/" + oreground))).get().forEach(ground -> + tag.forEach(ore -> { //exclude ignored ores if (!ore.value().defaultBlockState().is(BlockTagGenerator.ORE_MAGNET_IGNORE)) { ORE_TO_BLOCK_REPLACEMENTS.put(ore.value(), ground.value()); diff --git a/src/main/java/twilightforest/item/OreMeterItem.java b/src/main/java/twilightforest/item/OreMeterItem.java index db9a4b7b5e..e575cc5bed 100644 --- a/src/main/java/twilightforest/item/OreMeterItem.java +++ b/src/main/java/twilightforest/item/OreMeterItem.java @@ -8,7 +8,6 @@ import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -63,14 +62,14 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); // FakePlayers should never be allowed to use the Ore Meter - if (player.getClass() != ServerPlayer.class) return InteractionResultHolder.fail(stack); + if (player.getClass() != ServerPlayer.class) return InteractionResult.FAIL; //if we're in the "loading" state don't try to run any logic - if (isLoading(stack)) return InteractionResultHolder.pass(stack); + if (isLoading(stack)) return InteractionResult.PASS; //if we're not crouching, put the ore meter into its "loading" state if (!player.isSecondaryUseActive()) { @@ -81,8 +80,8 @@ public InteractionResultHolder use(Level level, Player player, Intera } @NotNull - private static InteractionResultHolder beginScanning(Level level, Player player, ItemStack stack) { - if (!level.isClientSide) { + private static InteractionResult beginScanning(Level level, Player player, ItemStack stack) { + if (!level.isClientSide()) { int range = getRange(stack); // 50 base ticks plus 25 additional ticks for each range increment @@ -98,11 +97,11 @@ private static InteractionResultHolder beginScanning(Level level, Pla level.playSound(player, player.blockPosition(), TFSounds.ORE_METER_CRACKLE.get(), SoundSource.PLAYERS, 0.5F, level.getRandom().nextFloat() * 0.1F + 0.9F); - return InteractionResultHolder.pass(stack); + return InteractionResult.PASS; } @NotNull - private static InteractionResultHolder toggleRange(Level level, Player player, ItemStack stack) { + private static InteractionResult toggleRange(Level level, Player player, ItemStack stack) { //if we're crouching and not targeting a block, change the ore meter range instead HitResult result = getPlayerPOVHitResult(level, player, ClipContext.Fluid.ANY); if (result.getType() == HitResult.Type.MISS) { @@ -113,10 +112,10 @@ private static InteractionResultHolder toggleRange(Level level, Playe player.displayClientMessage(Component.translatable("misc.twilightforest.ore_meter_new_range", newRange), true); level.playSound(null, player.blockPosition(), SoundEvents.UI_BUTTON_CLICK.value(), SoundSource.PLAYERS, 0.25F, 0.75F + (newRange * 0.1F)); } - return InteractionResultHolder.success(stack); + return InteractionResult.SUCCESS; } - return InteractionResultHolder.pass(stack); + return InteractionResult.PASS; } @Override diff --git a/src/main/java/twilightforest/item/PeacockFanItem.java b/src/main/java/twilightforest/item/PeacockFanItem.java index 126a48fe5e..eb084469d4 100644 --- a/src/main/java/twilightforest/item/PeacockFanItem.java +++ b/src/main/java/twilightforest/item/PeacockFanItem.java @@ -7,7 +7,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.item.ItemEntity; @@ -15,7 +14,7 @@ import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.ItemUseAnimation; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.AbstractCandleBlock; import net.minecraft.world.level.block.FlowerBlock; @@ -43,7 +42,7 @@ public PeacockFanItem(Properties properties) { @Nonnull @Override - public InteractionResultHolder use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); boolean flag = !player.onGround() && !player.isSwimming() && !player.getData(TFDataAttachments.FEATHER_FAN); @@ -91,18 +90,18 @@ public InteractionResultHolder use(Level level, Player player, @Nonnu player.getDeltaMovement().z() * 1.05F )); } - return new InteractionResultHolder<>(InteractionResult.SUCCESS, stack); + return InteractionResult.SUCCESS; } player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.PASS, stack); + return InteractionResult.PASS; } @Nonnull @Override - public UseAnim getUseAnimation(ItemStack stack) { - return UseAnim.BLOCK; + public ItemUseAnimation getUseAnimation(ItemStack stack) { + return ItemUseAnimation.BLOCK; } @Override @@ -117,7 +116,7 @@ private int doFan(Level level, Player player) { private int fanEntitiesInAABB(Level level, Player player, AABB fanBox) { Vec3 moveVec = player.getLookAngle().scale(2); - Item fan = player.getUseItem().getItem(); + ItemStack fan = player.getUseItem(); int fannedEntities = 0; for (Entity entity : level.getEntitiesOfClass(Entity.class, fanBox)) { diff --git a/src/main/java/twilightforest/item/PhantomArmorItem.java b/src/main/java/twilightforest/item/PhantomArmorItem.java index b74ca602e1..6955d6178a 100644 --- a/src/main/java/twilightforest/item/PhantomArmorItem.java +++ b/src/main/java/twilightforest/item/PhantomArmorItem.java @@ -2,21 +2,20 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.HumanoidArmorModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.equipment.ArmorType; +import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.jetbrains.annotations.NotNull; import twilightforest.client.model.TFModelLayers; import java.util.List; @@ -24,7 +23,7 @@ public class PhantomArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.phantom_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public PhantomArmorItem(Holder material, Type type, Properties properties) { + public PhantomArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -37,10 +36,10 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(slot == EquipmentSlot.LEGS ? TFModelLayers.PHANTOM_ARMOR_INNER : TFModelLayers.PHANTOM_ARMOR_OUTER); - return new TFArmorModel(root); + ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.PHANTOM_ARMOR_INNER : TFModelLayers.PHANTOM_ARMOR_OUTER); + return new HumanoidArmorModel<>(root); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/RopeItem.java b/src/main/java/twilightforest/item/RopeItem.java index bbaa7b87ce..6e1ca5f6ec 100644 --- a/src/main/java/twilightforest/item/RopeItem.java +++ b/src/main/java/twilightforest/item/RopeItem.java @@ -47,7 +47,7 @@ public BlockPlaceContext updatePlacementContext(BlockPlaceContext context) { while (i < EXTEND_RANGE) { if (!level.isClientSide && !level.isInWorldBounds(mutableBlockPos)) { Player player = context.getPlayer(); - int j = level.getMaxBuildHeight(); + int j = level.getMaxY(); if (player instanceof ServerPlayer serverPlayer && mutableBlockPos.getY() >= j) { serverPlayer.sendSystemMessage(Component.translatable("build.tooHigh", j - 1).withStyle(ChatFormatting.RED), true); } diff --git a/src/main/java/twilightforest/item/SeekerBowItem.java b/src/main/java/twilightforest/item/SeekerBowItem.java index e477eafe6a..be3e9278fd 100644 --- a/src/main/java/twilightforest/item/SeekerBowItem.java +++ b/src/main/java/twilightforest/item/SeekerBowItem.java @@ -4,7 +4,6 @@ import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.BowItem; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import twilightforest.entity.projectile.SeekerArrow; public class SeekerBowItem extends BowItem { diff --git a/src/main/java/twilightforest/item/SkullCandleItem.java b/src/main/java/twilightforest/item/SkullCandleItem.java index 2581105f6a..c9f16642fe 100644 --- a/src/main/java/twilightforest/item/SkullCandleItem.java +++ b/src/main/java/twilightforest/item/SkullCandleItem.java @@ -5,27 +5,21 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Equipable; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.StandingAndWallBlockItem; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.CustomData; import net.minecraft.world.item.component.ResolvableProfile; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.SkullBlockEntity; import org.apache.commons.lang3.text.WordUtils; import twilightforest.block.AbstractSkullCandleBlock; import java.util.List; -public class SkullCandleItem extends StandingAndWallBlockItem implements Equipable { +public class SkullCandleItem extends StandingAndWallBlockItem { public SkullCandleItem(AbstractSkullCandleBlock floor, AbstractSkullCandleBlock wall, Properties properties) { - super(floor, wall, properties, Direction.DOWN); + super(floor, wall, Direction.DOWN, properties); } @Override @@ -46,16 +40,6 @@ public void appendHoverText(ItemStack stack, TooltipContext context, List use(Level level, Player player, InteractionHand hand) { - return this.swapWithEquipmentSlot(this, level, player, hand); - } - @Override public Component getName(ItemStack stack) { ResolvableProfile resolvableprofile = stack.get(DataComponents.PROFILE); diff --git a/src/main/java/twilightforest/item/TransformPowderItem.java b/src/main/java/twilightforest/item/TransformPowderItem.java index ed71470dad..68e3a9c39d 100644 --- a/src/main/java/twilightforest/item/TransformPowderItem.java +++ b/src/main/java/twilightforest/item/TransformPowderItem.java @@ -2,16 +2,15 @@ import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; -import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.event.EventHooks; @@ -39,7 +38,7 @@ public InteractionResult interactLivingEntity(ItemStack stack, Player player, Li @Nonnull @Override - public InteractionResultHolder use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { if (level.isClientSide()) { AABB area = this.getEffectAABB(player); @@ -53,7 +52,7 @@ public InteractionResultHolder use(Level level, Player player, @Nonnu } - return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } public static boolean transformEntityIfPossible(Level level, LivingEntity target, ItemStack powder, boolean shrinkStack) { @@ -63,18 +62,18 @@ public static boolean transformEntityIfPossible(Level level, LivingEntity target var datamap = target.getType().builtInRegistryHolder().getData(TFDataMaps.TRANSFORMATION_POWDER); if (datamap != null) { - Entity newEntity = datamap.result().create(level); + Entity newEntity = datamap.result().create(level, EntitySpawnReason.CONVERSION); if (newEntity == null) { return false; } newEntity.moveTo(target.getX(), target.getY(), target.getZ(), target.getYRot(), target.getXRot()); - if (newEntity instanceof Mob mob && target.level() instanceof ServerLevelAccessor world) { - EventHooks.finalizeMobSpawn(mob, world, target.level().getCurrentDifficultyAt(target.blockPosition()), MobSpawnType.CONVERSION, null); - } + if (newEntity instanceof Mob mob && target.level() instanceof ServerLevel world) { + EventHooks.finalizeMobSpawn(mob, world, target.level().getCurrentDifficultyAt(target.blockPosition()), EntitySpawnReason.CONVERSION, null); - if (target instanceof Saddleable saddleable && saddleable.isSaddled() && !(newEntity instanceof Saddleable)) { - newEntity.spawnAtLocation(Items.SADDLE); + if (target instanceof Saddleable saddleable && saddleable.isSaddled() && !(newEntity instanceof Saddleable)) { + newEntity.spawnAtLocation(world, Items.SADDLE); + } } try { // try copying what can be copied diff --git a/src/main/java/twilightforest/item/TripleBowItem.java b/src/main/java/twilightforest/item/TripleBowItem.java index 0aa88fa219..a74f5bdb81 100644 --- a/src/main/java/twilightforest/item/TripleBowItem.java +++ b/src/main/java/twilightforest/item/TripleBowItem.java @@ -26,13 +26,13 @@ public TripleBowItem(Properties properties) { // Half [VanillaCopy]: copy of modified super to fire three arrows @Override - public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int timeLeft) { + public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int timeLeft) { if (living instanceof Player player) { ItemStack arrowStack = player.getProjectile(stack); int i = this.getUseDuration(stack, player) - timeLeft; i = EventHooks.onArrowLoose(stack, level, player, i, !arrowStack.isEmpty()); - if (i < 0) return; + if (i < 0) return false; if (!arrowStack.isEmpty()) { float f = getPowerForTime(i); @@ -44,9 +44,11 @@ public void releaseUsing(ItemStack stack, Level level, LivingEntity living, int level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.ARROW_SHOOT, SoundSource.PLAYERS, 1.0F, 1.0F / (level.getRandom().nextFloat() * 0.4F + 1.2F) + f * 0.5F); player.awardStat(Stats.ITEM_USED.get(this)); + return true; } } } + return false; } @Override diff --git a/src/main/java/twilightforest/item/TrophyItem.java b/src/main/java/twilightforest/item/TrophyItem.java index 1a2b4599c8..6d2c1c121b 100644 --- a/src/main/java/twilightforest/item/TrophyItem.java +++ b/src/main/java/twilightforest/item/TrophyItem.java @@ -3,14 +3,10 @@ import net.minecraft.core.Direction; import net.minecraft.world.item.StandingAndWallBlockItem; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import twilightforest.client.ISTER; - -import java.util.function.Consumer; public class TrophyItem extends StandingAndWallBlockItem { public TrophyItem(Block floorBlock, Block wallBlock, Properties properties) { - super(floorBlock, wallBlock, properties, Direction.DOWN); + super(floorBlock, wallBlock, Direction.DOWN, properties); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/TwilightWandItem.java b/src/main/java/twilightforest/item/TwilightWandItem.java index ae874dd82e..712174ef3a 100644 --- a/src/main/java/twilightforest/item/TwilightWandItem.java +++ b/src/main/java/twilightforest/item/TwilightWandItem.java @@ -4,7 +4,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -25,11 +25,11 @@ public TwilightWandItem(Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { - return InteractionResultHolder.fail(player.getItemInHand(hand)); + return InteractionResult.FAIL; } else { player.playSound(TFSounds.TWILIGHT_SCEPTER_USE.get(), 1.0F, (level.getRandom().nextFloat() - level.getRandom().nextFloat()) * 0.2F + 1.0F); @@ -40,15 +40,10 @@ public InteractionResultHolder use(Level level, Player player, Intera } } - return InteractionResultHolder.success(player.getItemInHand(hand)); + return InteractionResult.SUCCESS; } } - @Override - public boolean isEnchantable(ItemStack stack) { - return false; - } - @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; diff --git a/src/main/java/twilightforest/item/WearableLichCrown.java b/src/main/java/twilightforest/item/WearableLichCrown.java deleted file mode 100644 index 17a53f1e13..0000000000 --- a/src/main/java/twilightforest/item/WearableLichCrown.java +++ /dev/null @@ -1,53 +0,0 @@ -package twilightforest.item; - -import com.google.common.base.Suppliers; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.EquipmentSlotGroup; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Equipable; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.component.ItemAttributeModifiers; -import net.minecraft.world.level.Level; - -import java.util.function.Supplier; - -public class WearableLichCrown extends Item implements Equipable { - private final Supplier defaultModifiers; - - public WearableLichCrown(Properties properties, final float armor, final float toughness) { - super(properties); - - this.defaultModifiers = Suppliers.memoize(() -> { - ResourceLocation attribForEquipSlot = ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()); - - ItemAttributeModifiers.Builder attribBuilder = ItemAttributeModifiers.builder(); - attribBuilder.add(Attributes.ARMOR, new AttributeModifier(attribForEquipSlot, armor, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); - if (toughness > 0.0F) - attribBuilder.add(Attributes.ARMOR_TOUGHNESS, new AttributeModifier(attribForEquipSlot, toughness, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); - - return attribBuilder.build(); - }); - } - - @Override - public EquipmentSlot getEquipmentSlot() { - return EquipmentSlot.HEAD; - } - - @SuppressWarnings("deprecation") - @Override - public ItemAttributeModifiers getDefaultAttributeModifiers() { - return this.defaultModifiers.get(); - } - - @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - return this.swapWithEquipmentSlot(this, level, player, hand); - } -} diff --git a/src/main/java/twilightforest/item/YetiArmorItem.java b/src/main/java/twilightforest/item/YetiArmorItem.java index a7eecd9bf0..ce3630b785 100644 --- a/src/main/java/twilightforest/item/YetiArmorItem.java +++ b/src/main/java/twilightforest/item/YetiArmorItem.java @@ -2,38 +2,31 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.HumanoidArmorModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.item.equipment.ArmorType; +import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.YetiArmorModel; -import twilightforest.init.TFEnchantments; import twilightforest.init.TFItems; import java.util.List; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Consumer; public class YetiArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.yeti_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public YetiArmorItem(Holder material, Type type, Properties properties) { + public YetiArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -52,10 +45,10 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(slot == EquipmentSlot.LEGS ? TFModelLayers.YETI_ARMOR_INNER : TFModelLayers.YETI_ARMOR_OUTER); - return new YetiArmorModel(root); + ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.YETI_ARMOR_INNER : TFModelLayers.YETI_ARMOR_OUTER); + return new HumanoidArmorModel<>(root); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/ZombieWandItem.java b/src/main/java/twilightforest/item/ZombieWandItem.java index 8386539c74..54e3b392b2 100644 --- a/src/main/java/twilightforest/item/ZombieWandItem.java +++ b/src/main/java/twilightforest/item/ZombieWandItem.java @@ -4,9 +4,10 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionResult; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -32,12 +33,12 @@ public ZombieWandItem(Properties properties) { } @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { - return InteractionResultHolder.fail(stack); + return InteractionResult.FAIL; } if (!level.isClientSide()) { @@ -45,10 +46,10 @@ public InteractionResultHolder use(Level level, Player player, Intera BlockHitResult result = getPlayerPOVHitResult(level, player, ClipContext.Fluid.NONE); if (result.getType() != HitResult.Type.MISS) { - LoyalZombie zombie = TFEntities.LOYAL_ZOMBIE.get().create(level); + LoyalZombie zombie = TFEntities.LOYAL_ZOMBIE.get().create(level, EntitySpawnReason.MOB_SUMMONED); zombie.moveTo(result.getLocation()); if (!level.noCollision(zombie, zombie.getBoundingBox())) { - return InteractionResultHolder.pass(stack); + return InteractionResult.PASS; } zombie.spawnAnim(); zombie.setTame(true, false); @@ -67,12 +68,7 @@ public InteractionResultHolder use(Level level, Player player, Intera } } - return InteractionResultHolder.sidedSuccess(stack, level.isClientSide()); - } - - @Override - public boolean isEnchantable(ItemStack stack) { - return false; + return InteractionResult.SUCCESS; } @Override diff --git a/src/main/java/twilightforest/item/food/TFConsumables.java b/src/main/java/twilightforest/item/food/TFConsumables.java new file mode 100644 index 0000000000..871297ec9a --- /dev/null +++ b/src/main/java/twilightforest/item/food/TFConsumables.java @@ -0,0 +1,13 @@ +package twilightforest.item.food; + +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.item.component.Consumable; +import net.minecraft.world.item.component.Consumables; +import net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect; + +public class TFConsumables extends Consumables { + + public static final Consumable TORCHBERRIES = Consumable.builder().onConsume(new ApplyStatusEffectsConsumeEffect(new MobEffectInstance(MobEffects.GLOWING, 100, 0), 0.75F)).hasConsumeParticles(false).build(); + public static final Consumable HYDRA_CHOP = Consumable.builder().onConsume(new ApplyStatusEffectsConsumeEffect(new MobEffectInstance(MobEffects.REGENERATION, 100, 0))).build(); +} diff --git a/src/main/java/twilightforest/item/food/TFFoods.java b/src/main/java/twilightforest/item/food/TFFoods.java new file mode 100644 index 0000000000..9753ce94e0 --- /dev/null +++ b/src/main/java/twilightforest/item/food/TFFoods.java @@ -0,0 +1,16 @@ +package twilightforest.item.food; + +import net.minecraft.world.food.FoodProperties; +import net.minecraft.world.food.Foods; + +public class TFFoods extends Foods { + + public static final FoodProperties TORCHBERRIES = new FoodProperties.Builder().alwaysEdible().build(); + public static final FoodProperties RAW_VENISON = new FoodProperties.Builder().nutrition(3).saturationModifier(0.3F).build(); + public static final FoodProperties VENISON_STEAK = new FoodProperties.Builder().nutrition(8).saturationModifier(0.8F).build(); + public static final FoodProperties HYDRA_CHOP = new FoodProperties.Builder().nutrition(18).saturationModifier(2.0F).build(); + public static final FoodProperties RAW_MEEF = new FoodProperties.Builder().nutrition(2).saturationModifier(0.3F).build(); + public static final FoodProperties MEEF_STEAK = new FoodProperties.Builder().nutrition(6).saturationModifier(0.6F).build(); + public static final FoodProperties MEEF_STROGANOFF = new FoodProperties.Builder().nutrition(8).saturationModifier(0.6F).alwaysEdible().build(); + public static final FoodProperties EXPERIMENT_115 = new FoodProperties.Builder().nutrition(4).saturationModifier(0.3F).build(); +} diff --git a/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java b/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java index fa917943a4..d24c3c46b4 100644 --- a/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java +++ b/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java @@ -2,7 +2,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.util.Unit; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; diff --git a/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java b/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java index f107cf01ad..de1fb9898f 100644 --- a/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java @@ -1,7 +1,6 @@ package twilightforest.item.recipe; import net.minecraft.core.HolderLookup; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.item.crafting.CraftingInput; diff --git a/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java b/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java index e19d6d6f68..7614ac0f36 100644 --- a/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java @@ -1,7 +1,6 @@ package twilightforest.item.recipe; import net.minecraft.core.HolderLookup; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.item.crafting.CraftingInput; diff --git a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java index c352bd99fe..7d5e18ff03 100644 --- a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java @@ -1,7 +1,6 @@ package twilightforest.item.recipe; import net.minecraft.core.HolderLookup; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; diff --git a/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java b/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java index aa26227d1f..915ebe5999 100644 --- a/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java +++ b/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java @@ -10,7 +10,6 @@ import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; diff --git a/src/main/java/twilightforest/util/TFRemapper.java b/src/main/java/twilightforest/util/TFRemapper.java index 959db554b2..4e722cbaf8 100644 --- a/src/main/java/twilightforest/util/TFRemapper.java +++ b/src/main/java/twilightforest/util/TFRemapper.java @@ -13,7 +13,7 @@ public class TFRemapper { public static void addRegistryAliases() { DeferredRegister blockReg = TFBlocks.BLOCKS; - DeferredRegister> entityReg = TFEntities.ENTITIES; + DeferredRegister> entityReg = TFEntities.ENTITY_TYPES; DeferredRegister itemReg = TFItems.ITEMS; remapEntryFromRegistries("yeti_trophy", "alpha_yeti_trophy", blockReg, itemReg); diff --git a/src/main/java/twilightforest/util/TFToolMaterials.java b/src/main/java/twilightforest/util/TFToolMaterials.java index f829478145..71e6d18c58 100644 --- a/src/main/java/twilightforest/util/TFToolMaterials.java +++ b/src/main/java/twilightforest/util/TFToolMaterials.java @@ -1,20 +1,15 @@ package twilightforest.util; -import net.minecraft.world.item.Tier; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.block.Blocks; -import net.neoforged.neoforge.common.SimpleTier; +import net.minecraft.world.item.ToolMaterial; import twilightforest.data.tags.BlockTagGenerator; import twilightforest.data.tags.ItemTagGenerator; -import twilightforest.init.TFBlocks; -import twilightforest.init.TFItems; public class TFToolMaterials { - public static final Tier IRONWOOD = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_IRONWOOD_TOOL, 512, 6.5F, 2, 25, () -> Ingredient.of(ItemTagGenerator.REPAIRS_IRONWOOD_TOOLS)); - public static final Tier FIERY = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_FIERY_TOOL, 1024, 9F, 4, 10, () -> Ingredient.of(ItemTagGenerator.REPAIRS_FIERY_TOOLS)); - public static final Tier STEELEAF = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_STEELEAF_TOOL, 131, 8.0F, 3, 9, () -> Ingredient.of(ItemTagGenerator.REPAIRS_STEELEAF_TOOLS)); - public static final Tier KNIGHTMETAL = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_KNIGHTMETAL_TOOL, 512, 8.0F, 3, 8, () -> Ingredient.of(ItemTagGenerator.REPAIRS_KNIGHTMETAL_TOOLS)); - public static final Tier GIANT = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_GIANT_TOOL, 1024, 4.0F, 1.0F, 5, () -> Ingredient.of(ItemTagGenerator.REPAIRS_GIANT_TOOLS)); - public static final Tier ICE = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_ICE_TOOL, 32, 1.0F, 3.5F, 5, () -> Ingredient.of(ItemTagGenerator.REPAIRS_ICE_TOOLS)); - public static final Tier GLASS = new SimpleTier(BlockTagGenerator.INCORRECT_FOR_GLASS_TOOL, 1, 1.0F, 36.0F, 30, () -> Ingredient.EMPTY); + public static final ToolMaterial IRONWOOD = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_IRONWOOD_TOOL, 512, 6.5F, 2, 25, ItemTagGenerator.REPAIRS_IRONWOOD_TOOLS); + public static final ToolMaterial FIERY = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_FIERY_TOOL, 1024, 9.0F, 4, 10, ItemTagGenerator.REPAIRS_FIERY_TOOLS); + public static final ToolMaterial STEELEAF = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_STEELEAF_TOOL, 131, 8.0F, 3, 9, ItemTagGenerator.REPAIRS_STEELEAF_TOOLS); + public static final ToolMaterial KNIGHTMETAL = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_KNIGHTMETAL_TOOL, 512, 8.0F, 3, 8, ItemTagGenerator.REPAIRS_KNIGHTMETAL_TOOLS); + public static final ToolMaterial GIANT = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_GIANT_TOOL, 1024, 4.0F, 1.0F, 5, ItemTagGenerator.REPAIRS_GIANT_TOOLS); + public static final ToolMaterial ICE = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_ICE_TOOL, 32, 1.0F, 3.5F, 5, ItemTagGenerator.REPAIRS_ICE_TOOLS); + public static final ToolMaterial GLASS = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_GLASS_TOOL, 1, 1.0F, 36.0F, 30, ItemTagGenerator.REPAIRS_GLASS_TOOLS); } From b1f2be2dcf94cf4d9725ee7e3d8b4feb9cf45938 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 26 Oct 2024 21:19:54 -0600 Subject: [PATCH 022/239] some more porting stuff, 65 errors remain --- .../twilightforest/TwilightForestMod.java | 21 ++- .../advancements/UncraftItemTrigger.java | 6 +- .../twilightforest/beans/TFBeanContext.java | 2 +- .../block/AbstractTrophyBlock.java | 1 + .../twilightforest/block/BuilderBlock.java | 1 + .../block/CarminiteReactorBlock.java | 1 + .../twilightforest/block/CastleDoorBlock.java | 1 + .../block/CinderFurnaceBlock.java | 8 -- .../block/EncasedFireJetBlock.java | 1 + .../block/EncasedSmokerBlock.java | 1 + .../twilightforest/block/TFPortalBlock.java | 4 +- .../block/TrophyPedestalBlock.java | 5 +- .../block/UberousSoilBlock.java | 2 +- .../ConnectedTextureModelLoader.java | 2 +- .../forcefield/ForceFieldModelBuilder.java | 4 +- .../client/model/item/TrollsteinnModel.java | 15 +-- .../client/renderer/TFRenderTypes.java | 9 +- .../client/renderer/block/JarRenderer.java | 2 +- .../renderer/block/MoonwormRenderer.java | 2 +- .../renderer/block/ReactorDebrisRenderer.java | 3 +- .../renderer/block/RedThreadRenderer.java | 5 +- .../client/renderer/block/TrophyRenderer.java | 8 +- .../renderer/entity/BlockChainRenderer.java | 37 +++--- .../client/renderer/entity/LichRenderer.java | 2 +- .../map/ConqueredMapIconRenderer.java | 15 ++- .../client/state/ChainBlockRenderState.java | 14 ++ .../components/item/OreScannerComponent.java | 8 +- .../java/twilightforest/config/TFConfig.java | 2 +- .../twilightforest/data/BlockLootTables.java | 2 +- .../twilightforest/data/DataMapGenerator.java | 2 +- .../twilightforest/data/EntityLootTables.java | 9 +- .../data/ItemModelGenerator.java | 23 ++-- .../data/LootModifierGenerator.java | 3 +- .../twilightforest/data/SoundGenerator.java | 2 +- .../data/TFAdvancementGenerator.java | 2 +- .../data/TFStructureUpdater.java | 2 +- .../NoSmithingTemplateRecipeBuilder.java | 7 +- .../data/custom/ScepterRecipeBuilder.java | 17 ++- .../data/helpers/TFSoundProvider.java | 8 +- .../data/recipes/CraftingGenerator.java | 8 +- .../dispenser/FeatherFanDispenseBehavior.java | 2 +- .../dispenser/TFDispenserBehaviors.java | 25 ---- .../entity/ai/goal/AttemptToGoHomeGoal.java | 1 - .../entity/ai/goal/AvoidAnyEntityGoal.java | 1 - .../entity/ai/goal/BreathAttackGoal.java | 1 - .../entity/ai/goal/ChargeAttackGoal.java | 6 +- .../ai/goal/CubeCenterOnSymbolGoal.java | 1 - .../goal/CubeMoveToRedstoneSymbolsGoal.java | 1 - .../ai/goal/GhastguardHomedFlightGoal.java | 1 - .../ai/goal/GhastguardRandomFlyGoal.java | 1 - .../entity/ai/goal/GroundAttackGoal.java | 1 - .../entity/ai/goal/HoverBeamGoal.java | 6 +- .../entity/ai/goal/HoverSummonGoal.java | 1 - .../entity/ai/goal/HoverThenDropGoal.java | 4 +- .../entity/ai/goal/LichAbsorbMinionsGoal.java | 1 - .../entity/ai/goal/LichMinionsGoal.java | 1 - .../entity/ai/goal/LichPopMobsGoal.java | 1 - .../entity/ai/goal/LichShadowsGoal.java | 1 - .../entity/ai/goal/NagaMovementPattern.java | 4 +- .../entity/ai/goal/NagaSmashGoal.java | 5 +- .../entity/ai/goal/PanicOnFlockDeathGoal.java | 1 - .../ai/goal/PhantomAttackStartGoal.java | 1 - .../ai/goal/PhantomThrowWeaponGoal.java | 1 - .../ai/goal/PhantomWatchAndAttackGoal.java | 3 +- .../entity/ai/goal/QuestRamEatWoolGoal.java | 1 - .../entity/ai/goal/RedcapLightTNTGoal.java | 4 +- .../entity/ai/goal/RedcapPlantTNTGoal.java | 3 +- .../entity/ai/goal/RedcapShyGoal.java | 1 - .../entity/ai/goal/RiderSpearAttackGoal.java | 1 - .../entity/ai/goal/SimplifiedAttackGoal.java | 3 +- .../entity/ai/goal/ThrowSpikeBlockGoal.java | 1 - .../entity/ai/goal/UrGhastFlightGoal.java | 1 - .../entity/ai/goal/UrGhastLookGoal.java | 1 - .../entity/ai/goal/YetiRampageGoal.java | 8 +- .../entity/ai/goal/YetiTiredGoal.java | 1 - .../twilightforest/entity/boss/Hydra.java | 2 - .../java/twilightforest/entity/boss/Naga.java | 1 - .../entity/boss/NagaSegment.java | 1 - .../entity/monster/UpperGoblinKnight.java | 1 - .../twilightforest/entity/monster/Wraith.java | 2 - .../events/CapabilityEvents.java | 2 +- .../twilightforest/events/CharmEvents.java | 12 +- .../twilightforest/events/EntityEvents.java | 2 +- .../twilightforest/events/MiscEvents.java | 5 +- .../twilightforest/events/TFTickHandler.java | 34 +++-- .../twilightforest/init/TFBlockEntities.java | 120 ++++++------------ .../init/TFConfiguredFeatures.java | 18 +-- .../twilightforest/init/TFDamageTypes.java | 2 +- .../twilightforest/init/TFEnchantments.java | 4 +- .../twilightforest/init/TFPlacedFeatures.java | 2 +- .../java/twilightforest/init/TFRecipes.java | 13 +- .../init/custom/ChunkBlanketProcessors.java | 2 +- .../init/custom/Enforcements.java | 2 +- .../item/recipe/EmperorsClothRecipe.java | 9 +- .../item/recipe/MagicMapCloningRecipe.java | 7 +- .../item/recipe/MazeMapCloningRecipe.java | 7 +- .../recipe/MoonwormQueenRepairRecipe.java | 39 +++--- .../item/recipe/NoTemplateSmithingRecipe.java | 84 ++++++------ .../item/recipe/ScepterRepairRecipe.java | 15 +-- .../item/recipe/UncraftingRecipe.java | 6 +- .../loot/LootingEnchantNumberProvider.java | 6 +- .../MultiplayerBasedAdditionLootFunction.java | 6 +- .../loot/MultiplayerBasedNumberProvider.java | 8 +- .../conditions/GiantPickUsedCondition.java | 6 +- .../loot/conditions/IsMinionCondition.java | 2 +- .../modifiers/FieryToolSmeltingModifier.java | 17 ++- .../modifiers/GiantToolGroupingModifier.java | 4 +- .../MissingAdvancementToastPacket.java | 2 +- .../network/SpawnCharmPacket.java | 2 +- .../network/UncraftingGuiPacket.java | 2 +- .../twilightforest/potions/FrostedEffect.java | 10 +- src/main/java/twilightforest/util/Codecs.java | 4 +- .../java/twilightforest/util/Enforcement.java | 2 +- .../java/twilightforest/util/Restriction.java | 4 +- .../twilightforest/util/TFItemStackUtils.java | 15 --- .../util/entities/EntityRenderingUtil.java | 11 +- .../util/features/FeaturePlacers.java | 6 +- .../util/features/FeatureUtil.java | 2 +- .../util/jigsaw/JigsawUtil.java | 4 +- .../util/landmarks/LandmarkUtil.java | 13 +- .../world/NoReturnTeleporter.java | 10 +- .../twilightforest/world/TFTeleporter.java | 4 +- .../world/components/TFCavesCarver.java | 6 +- .../feature/BigMushgloomFeature.java | 2 +- .../components/feature/MonolithFeature.java | 3 +- .../feature/TFSmallLakeFeature.java | 2 +- .../feature/UndergroundPlantFeature.java | 2 +- .../world/components/feature/WebFeature.java | 2 +- .../feature/templates/GraveyardFeature.java | 4 +- .../feature/templates/TemplateFeature.java | 2 +- .../feature/trees/CanopyMushroomFeature.java | 6 +- .../feature/trees/DarkCanopyTreeFeature.java | 4 +- .../feature/trees/MegaCanopyTreeFeature.java | 2 +- .../feature/trees/MegaOakTreeFeature.java | 2 +- .../trees/RedCanopyMushroomFeature.java | 6 +- .../feature/trees/SnowTreeFeature.java | 2 +- .../trees/growers/StructureTreeGrower.java | 6 +- .../structures/HedgeMazeComponent.java | 1 - .../structures/HollowHillComponent.java | 1 - .../world/components/structures/TFMaze.java | 2 +- .../TwilightTemplateStructurePiece.java | 2 - .../structures/courtyard/CourtyardMain.java | 1 - .../darktower/DarkTowerBeardComponent.java | 1 - .../darktower/DarkTowerMainComponent.java | 4 +- .../darktower/DarkTowerRoofComponent.java | 1 - .../FinalCastleBellTower21Component.java | 1 - .../FinalCastleBossGazeboComponent.java | 1 - .../FinalCastleBridgeComponent.java | 1 - .../FinalCastleDungeonForgeRoomComponent.java | 1 - .../FinalCastleDungeonRoom31Component.java | 5 +- .../FinalCastleDungeonStepsComponent.java | 1 - ...FinalCastleEntranceSideTowerComponent.java | 1 - .../FinalCastleEntranceStairsComponent.java | 1 - .../FinalCastleFoundation13Component.java | 1 - .../FinalCastleFoundation48Component.java | 1 - .../FinalCastleLargeTowerComponent.java | 1 - .../finalcastle/FinalCastleMainComponent.java | 1 - .../FinalCastleMazeTower13Component.java | 2 - .../FinalCastleMuralComponent.java | 1 - .../FinalCastleRoof13ConicalComponent.java | 1 - ...FinalCastleRoof13CrenellatedComponent.java | 1 - .../FinalCastleRoof13PeakedComponent.java | 1 - ...FinalCastleRoof48CrenellatedComponent.java | 1 - .../FinalCastleRoof9CrenellatedComponent.java | 1 - .../FinalCastleStairTowerComponent.java | 1 - .../hollowtree/HollowTreeLargeBranch.java | 4 +- .../hollowtree/HollowTreeLeafDungeon.java | 5 +- .../hollowtree/HollowTreeMedBranch.java | 1 - .../hollowtree/HollowTreePiece.java | 4 +- .../hollowtree/HollowTreeTrunk.java | 5 +- .../icetower/IceTowerBeardComponent.java | 1 - .../icetower/IceTowerBridgeComponent.java | 1 - .../icetower/IceTowerRoofComponent.java | 2 - .../lichtower/TowerBeardComponent.java | 1 - .../lichtower/TowerRoofFenceComponent.java | 1 - .../TowerRoofGableForwardsComponent.java | 1 - .../lichtower/TowerRoofPointyComponent.java | 1 - .../TowerRoofPointyOverhangComponent.java | 1 - .../lichtower/TowerRoofSlabComponent.java | 1 - .../TowerRoofSlabForwardsComponent.java | 1 - .../lichtower/TowerRoofStairsComponent.java | 1 - .../TowerRoofStairsOverhangComponent.java | 1 - .../lichtower/TowerWingComponent.java | 3 +- .../LichTowerMagicGallery.java | 5 +- .../lichtowerrevamp/LichTowerRoomDecor.java | 4 +- .../LichTowerSpawnerBridge.java | 6 +- .../lichtowerrevamp/LichTowerWingRoom.java | 10 +- .../minotaurmaze/MazeCorridorComponent.java | 1 - .../MazeDeadEndChestComponent.java | 1 - .../minotaurmaze/MazeDeadEndComponent.java | 1 - .../MazeDeadEndTrappedChestComponent.java | 1 - .../MazeEntranceShaftComponent.java | 1 - .../minotaurmaze/MazeMoundComponent.java | 1 - .../minotaurmaze/MazeMushRoomComponent.java | 1 - .../minotaurmaze/MazeRoomComponent.java | 1 - .../minotaurmaze/MazeRuinsComponent.java | 1 - .../MazeUpperEntranceComponent.java | 1 - .../minotaurmaze/MinotaurMazeComponent.java | 2 - .../TowerRoofMushroomComponent.java | 1 - .../structures/start/TFStructureStart.java | 2 +- .../stronghold/KnightStrongholdComponent.java | 1 - .../stronghold/StrongholdAtriumComponent.java | 2 +- .../trollcave/CloudCastleComponent.java | 11 +- .../trollcave/CloudTreeComponent.java | 1 - .../trollcave/TrollCaveConnectComponent.java | 1 - .../trollcave/TrollCaveGardenComponent.java | 7 +- .../trollcave/TrollCaveMainComponent.java | 3 +- .../trollcave/TrollVaultComponent.java | 1 - .../structures/type/HollowTreeStructure.java | 4 +- .../structures/util/ProgressionStructure.java | 3 +- .../structures/util/StructureHints.java | 4 +- .../registration/biomes/BiomeHelper.java | 5 +- .../resources/META-INF/accesstransformer.cfg | 4 +- 213 files changed, 463 insertions(+), 643 deletions(-) create mode 100644 src/main/java/twilightforest/client/state/ChainBlockRenderState.java diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index b64543f326..2e7ee82edb 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -50,8 +50,6 @@ import twilightforest.client.event.ClientEvents; import twilightforest.client.event.RegistrationEvents; import twilightforest.command.TFCommand; -import twilightforest.compat.CosmeticArmorCompat; -import twilightforest.compat.curios.CuriosCompat; import twilightforest.config.ConfigSetup; import twilightforest.data.custom.stalactites.entry.Stalactite; import twilightforest.dispenser.TFDispenserBehaviors; @@ -137,7 +135,6 @@ public TwilightForestMod(IEventBus bus, Dist dist) { TFParticleType.PARTICLE_TYPES.register(bus); TFBlockEntities.BLOCK_ENTITIES.register(bus); TFLootModifiers.LOOT_MODIFIERS.register(bus); - TFArmorMaterials.ARMOR_MATERIALS.register(bus); TFStructureTypes.STRUCTURE_TYPES.register(bus); TFFeatureModifiers.TRUNK_PLACERS.register(bus); BiomeLayerTypes.BIOME_LAYER_TYPES.register(bus); @@ -170,14 +167,14 @@ public TwilightForestMod(IEventBus bus, Dist dist) { NeoForge.EVENT_BUS.addListener(ConfigSetup::syncUncraftingConfig); if (ModList.get().isLoaded("curios")) loadCuriosCompat(bus); - if (ModList.get().isLoaded("cosmeticarmorreworked")) NeoForge.EVENT_BUS.addListener(CosmeticArmorCompat::keepCosmeticArmor); + //if (ModList.get().isLoaded("cosmeticarmorreworked")) NeoForge.EVENT_BUS.addListener(CosmeticArmorCompat::keepCosmeticArmor); } private static void loadCuriosCompat(IEventBus bus) { - NeoForge.EVENT_BUS.addListener(CuriosCompat::keepCurios); - bus.addListener(CuriosCompat::registerCuriosCapabilities); - bus.addListener(CuriosCompat::registerCurioRenderers); - bus.addListener(CuriosCompat::registerCurioLayers); +// NeoForge.EVENT_BUS.addListener(CuriosCompat::keepCurios); +// bus.addListener(CuriosCompat::registerCuriosCapabilities); +// bus.addListener(CuriosCompat::registerCurioRenderers); +// bus.addListener(CuriosCompat::registerCurioLayers); } private void registerGenericItemHandlers(RegisterCapabilitiesEvent event) { @@ -296,10 +293,10 @@ public void init(FMLCommonSetupEvent evt) { TFDispenserBehaviors.init(); TFStats.init(); - CauldronInteraction.WATER.map().put(TFItems.ARCTIC_HELMET.get(), CauldronInteraction.DYED_ITEM); - CauldronInteraction.WATER.map().put(TFItems.ARCTIC_CHESTPLATE.get(), CauldronInteraction.DYED_ITEM); - CauldronInteraction.WATER.map().put(TFItems.ARCTIC_LEGGINGS.get(), CauldronInteraction.DYED_ITEM); - CauldronInteraction.WATER.map().put(TFItems.ARCTIC_BOOTS.get(), CauldronInteraction.DYED_ITEM); + CauldronInteraction.WATER.map().put(TFItems.ARCTIC_HELMET.get(), CauldronInteraction::dyedItemIteration); + CauldronInteraction.WATER.map().put(TFItems.ARCTIC_CHESTPLATE.get(), CauldronInteraction::dyedItemIteration); + CauldronInteraction.WATER.map().put(TFItems.ARCTIC_LEGGINGS.get(), CauldronInteraction::dyedItemIteration); + CauldronInteraction.WATER.map().put(TFItems.ARCTIC_BOOTS.get(), CauldronInteraction::dyedItemIteration); AxeItem.STRIPPABLES = Maps.newHashMap(AxeItem.STRIPPABLES); AxeItem.STRIPPABLES.put(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()); diff --git a/src/main/java/twilightforest/advancements/UncraftItemTrigger.java b/src/main/java/twilightforest/advancements/UncraftItemTrigger.java index 1ca5aa2505..9971c24bdc 100644 --- a/src/main/java/twilightforest/advancements/UncraftItemTrigger.java +++ b/src/main/java/twilightforest/advancements/UncraftItemTrigger.java @@ -7,7 +7,9 @@ import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.ItemPredicate; import net.minecraft.advancements.critereon.SimpleCriterionTrigger; +import net.minecraft.core.HolderGetter; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ItemLike; import twilightforest.init.TFAdvancements; @@ -36,8 +38,8 @@ public static Criterion uncraftedItem(ItemPr return TFAdvancements.UNCRAFT_ITEM.get().createCriterion(new UncraftItemTrigger.TriggerInstance(Optional.empty(), Optional.of(predicate))); } - public static Criterion uncraftedItem(ItemLike item) { - return uncraftedItem(ItemPredicate.Builder.item().of(item).build()); + public static Criterion uncraftedItem(HolderGetter getter, ItemLike item) { + return uncraftedItem(ItemPredicate.Builder.item().of(getter, item).build()); } public boolean matches(ItemStack item) { diff --git a/src/main/java/twilightforest/beans/TFBeanContext.java b/src/main/java/twilightforest/beans/TFBeanContext.java index 23ad70e8a5..3c25dc0609 100644 --- a/src/main/java/twilightforest/beans/TFBeanContext.java +++ b/src/main/java/twilightforest/beans/TFBeanContext.java @@ -159,7 +159,7 @@ private void injectRegistries(ModContainer modContainer, ModFileScanData scanDat final long ms = System.currentTimeMillis(); logger.debug("Processing registry objects"); AtomicReference curInj = new AtomicReference<>(); - BuiltInRegistries.REGISTRY.holders().flatMap(r -> r.value().holders()).forEach(holder -> { + BuiltInRegistries.REGISTRY.listElements().flatMap(r -> r.value().listElements()).forEach(holder -> { try { Object o = holder.value(); if (classOrSuperHasAnnotation(o.getClass(), Configurable.class)) { diff --git a/src/main/java/twilightforest/block/AbstractTrophyBlock.java b/src/main/java/twilightforest/block/AbstractTrophyBlock.java index 557adbe015..8b6a31eeb5 100644 --- a/src/main/java/twilightforest/block/AbstractTrophyBlock.java +++ b/src/main/java/twilightforest/block/AbstractTrophyBlock.java @@ -24,6 +24,7 @@ import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; import net.neoforged.neoforge.network.PacketDistributor; +import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.TrophyBlockEntity; import twilightforest.enums.BossVariant; import twilightforest.init.TFBlockEntities; diff --git a/src/main/java/twilightforest/block/BuilderBlock.java b/src/main/java/twilightforest/block/BuilderBlock.java index a1dd58e7d2..0ff46b53da 100644 --- a/src/main/java/twilightforest/block/BuilderBlock.java +++ b/src/main/java/twilightforest/block/BuilderBlock.java @@ -18,6 +18,7 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.redstone.Orientation; +import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.CarminiteBuilderBlockEntity; import twilightforest.enums.TowerDeviceVariant; import twilightforest.init.TFBlockEntities; diff --git a/src/main/java/twilightforest/block/CarminiteReactorBlock.java b/src/main/java/twilightforest/block/CarminiteReactorBlock.java index 8fc0a95330..892bff40d9 100644 --- a/src/main/java/twilightforest/block/CarminiteReactorBlock.java +++ b/src/main/java/twilightforest/block/CarminiteReactorBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.redstone.Orientation; +import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.CarminiteReactorBlockEntity; import twilightforest.init.TFBlockEntities; import twilightforest.init.TFBlocks; diff --git a/src/main/java/twilightforest/block/CastleDoorBlock.java b/src/main/java/twilightforest/block/CastleDoorBlock.java index 01e77d91d1..05beeeb89f 100644 --- a/src/main/java/twilightforest/block/CastleDoorBlock.java +++ b/src/main/java/twilightforest/block/CastleDoorBlock.java @@ -20,6 +20,7 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import net.neoforged.neoforge.network.PacketDistributor; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFParticleType; import twilightforest.init.TFSounds; import twilightforest.network.ParticlePacket; diff --git a/src/main/java/twilightforest/block/CinderFurnaceBlock.java b/src/main/java/twilightforest/block/CinderFurnaceBlock.java index 6d3e34f38f..7a82901af6 100644 --- a/src/main/java/twilightforest/block/CinderFurnaceBlock.java +++ b/src/main/java/twilightforest/block/CinderFurnaceBlock.java @@ -14,8 +14,6 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityTicker; -import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -23,7 +21,6 @@ import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.phys.BlockHitResult; import twilightforest.block.entity.CinderFurnaceBlockEntity; -import twilightforest.init.TFBlockEntities; public class CinderFurnaceBlock extends BaseEntityBlock { @@ -62,11 +59,6 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new CinderFurnaceBlockEntity(pos, state); } - @Override - public BlockEntityTicker getTicker(Level level, BlockState state, BlockEntityType type) { - return createTickerHelper(type, TFBlockEntities.CINDER_FURNACE.get(), CinderFurnaceBlockEntity::tick); - } - @Override @SuppressWarnings("deprecation") public boolean triggerEvent(BlockState state, Level level, BlockPos pos, int id, int param) { diff --git a/src/main/java/twilightforest/block/EncasedFireJetBlock.java b/src/main/java/twilightforest/block/EncasedFireJetBlock.java index 2dcdd677c4..b45efc6c56 100644 --- a/src/main/java/twilightforest/block/EncasedFireJetBlock.java +++ b/src/main/java/twilightforest/block/EncasedFireJetBlock.java @@ -7,6 +7,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.redstone.Orientation; +import org.jetbrains.annotations.Nullable; import twilightforest.enums.FireJetVariant; import twilightforest.init.TFSounds; diff --git a/src/main/java/twilightforest/block/EncasedSmokerBlock.java b/src/main/java/twilightforest/block/EncasedSmokerBlock.java index 73fea3500e..af07ddc1d8 100644 --- a/src/main/java/twilightforest/block/EncasedSmokerBlock.java +++ b/src/main/java/twilightforest/block/EncasedSmokerBlock.java @@ -8,6 +8,7 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.redstone.Orientation; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFSounds; public class EncasedSmokerBlock extends TFSmokerBlock { diff --git a/src/main/java/twilightforest/block/TFPortalBlock.java b/src/main/java/twilightforest/block/TFPortalBlock.java index 6bd976b5b6..9a27f3b10c 100644 --- a/src/main/java/twilightforest/block/TFPortalBlock.java +++ b/src/main/java/twilightforest/block/TFPortalBlock.java @@ -153,7 +153,7 @@ public FluidState getFluidState(BlockState state) { return Fluids.WATER.getFlowing(1, false); // 1 is minimum value. Minecraft wiki at time of this writing has the values backwards. } - public boolean tryToCreatePortal(Level level, BlockPos pos, ItemEntity catalyst, @Nullable Player player) { + public boolean tryToCreatePortal(ServerLevel level, BlockPos pos, ItemEntity catalyst, @Nullable Player player) { BlockState state = level.getBlockState(pos); @@ -166,7 +166,7 @@ public boolean tryToCreatePortal(Level level, BlockPos pos, ItemEntity catalyst, if (recursivelyValidatePortal(level, pos, blocksChecked, size, state) && size.intValue() >= MIN_PORTAL_SIZE) { if (!TFConfig.checkPortalPlacement) { - boolean checkProgression = LandmarkUtil.isProgressionEnforced(catalyst.level()); + boolean checkProgression = LandmarkUtil.isProgressionEnforced(level); if (!TFTeleporter.isSafeAround(level, pos, catalyst, checkProgression)) { // TODO: "failure" effect - particles? if (player != null) { diff --git a/src/main/java/twilightforest/block/TrophyPedestalBlock.java b/src/main/java/twilightforest/block/TrophyPedestalBlock.java index 83d7c3028a..b16929300a 100644 --- a/src/main/java/twilightforest/block/TrophyPedestalBlock.java +++ b/src/main/java/twilightforest/block/TrophyPedestalBlock.java @@ -3,6 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; @@ -87,9 +88,9 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C @Override protected void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { level.updateNeighbourForOutputSignal(pos, this); - if (level.isClientSide() || state.getValue(ACTIVE) || !isTrophyOnTop(level, pos)) return; + if (!(level instanceof ServerLevel serverLevel) || state.getValue(ACTIVE) || !isTrophyOnTop(level, pos)) return; - if (LandmarkUtil.isProgressionEnforced(level)) { + if (LandmarkUtil.isProgressionEnforced(serverLevel)) { if (this.areNearbyPlayersEligible(level, pos)) { this.doPedestalEffect(level, pos, state); } diff --git a/src/main/java/twilightforest/block/UberousSoilBlock.java b/src/main/java/twilightforest/block/UberousSoilBlock.java index 276b4d0ffc..2820f5826a 100644 --- a/src/main/java/twilightforest/block/UberousSoilBlock.java +++ b/src/main/java/twilightforest/block/UberousSoilBlock.java @@ -62,7 +62,7 @@ public TriState canSustainPlant(BlockState state, BlockGetter level, BlockPos so @Override public void onPlace(BlockState state, Level level, BlockPos pos, BlockState newState, boolean moving) { - if (!newState.is(state.getBlock()) && !level.getBlockState(pos.above()).isAir()) this.neighborChanged(state, level, pos, this, pos.above(), moving); + if (!newState.is(state.getBlock()) && !level.getBlockState(pos.above()).isAir()) this.neighborChanged(state, level, pos, this, Orientation.of(Direction.UP, Direction.UP, Orientation.SideBias.LEFT), moving); } @Override diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index 6c217b5679..8bdbb964ad 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -74,7 +74,7 @@ private List parseConnnectableBlocks(JsonObject object) { throw new JsonParseException("Invalid block tag: " + element.getAsString()); } } else { - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.tryParse(element.getAsString())); + Block block = BuiltInRegistries.BLOCK.getValue(ResourceLocation.tryParse(element.getAsString())); if (block == Blocks.AIR) { throw new JsonParseException("Invalid block: " + element.getAsString()); } diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java index 362b5484e2..9aba988b37 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java @@ -153,6 +153,7 @@ public class ForceFieldElementBuilder { private Vector3f from = new Vector3f(); private Vector3f to = new Vector3f(16, 16, 16); private final Map faces = new LinkedHashMap<>(); + @Nullable private ForceFieldElementBuilder.RotationBuilder rotation; private boolean shade = true; private int color = 0xFFFFFFFF; @@ -272,7 +273,7 @@ BlockElement build() { .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().build(), (k1, k2) -> { throw new IllegalArgumentException(); }, LinkedHashMap::new)); - return new BlockElement(from, to, faces, rotation == null ? null : rotation.build(), shade, new ExtraFaceData(this.color, this.blockLight, this.skyLight, this.hasAmbientOcclusion)); + return new BlockElement(from, to, faces, this.rotation == null ? null : this.rotation.build(), this.shade, this.skyLight, new ExtraFaceData(this.color, this.blockLight, this.skyLight, this.hasAmbientOcclusion)); } public ForceFieldModelBuilder end() { @@ -280,6 +281,7 @@ public ForceFieldModelBuilder end() { } public class FaceBuilder { + @Nullable private Direction cullface; private int tintindex = -1; private String texture = MissingTextureAtlasSprite.getLocation().toString(); diff --git a/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java b/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java index 47c7968cd2..90cd7a01ff 100644 --- a/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java +++ b/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java @@ -2,14 +2,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.block.model.ItemOverrides; +import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.client.model.BakedModelWrapper; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.block.TrollsteinnBlock; @@ -18,23 +17,23 @@ public class TrollsteinnModel extends BakedModelWrapper { public static final ModelResourceLocation LIT_TROLLSTEINN = ModelResourceLocation.standalone(TwilightForestMod.prefix("item/trollsteinn_light")); @Nullable private BakedModel litTrollsteinnModel; - private final ItemOverrides overrides = new ItemOverrides() { + private final BakedOverrides overrides = new BakedOverrides() { @Override - public BakedModel resolve(@NotNull BakedModel model, @NotNull ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { + public @Nullable BakedModel findOverride(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { if (TrollsteinnModel.this.litTrollsteinnModel == null) TrollsteinnModel.this.litTrollsteinnModel = Minecraft.getInstance().getModelManager().getModel(LIT_TROLLSTEINN); Entity itemEntity = (entity == null) ? stack.getEntityRepresentation() : entity; if (level == null || itemEntity == null) { - return super.resolve(TrollsteinnModel.this.originalModel, stack, level, entity, seed); + return TrollsteinnModel.this.originalModel; } int brightness = level.getMaxLocalRawBrightness(itemEntity.blockPosition(), TrollsteinnBlock.calculateServerSkyDarken(level)); if (brightness > TrollsteinnBlock.LIGHT_THRESHOLD) { - return super.resolve(TrollsteinnModel.this.litTrollsteinnModel, stack, level, entity, seed); + return TrollsteinnModel.this.litTrollsteinnModel; } else { - return super.resolve(TrollsteinnModel.this.originalModel, stack, level, entity, seed); + return TrollsteinnModel.this.originalModel; } } }; @@ -44,7 +43,7 @@ public TrollsteinnModel(BakedModel originalModel) { } @Override - public ItemOverrides getOverrides() { + public BakedOverrides overrides() { return overrides; } } diff --git a/src/main/java/twilightforest/client/renderer/TFRenderTypes.java b/src/main/java/twilightforest/client/renderer/TFRenderTypes.java index 40a51fb72f..890bcbea34 100644 --- a/src/main/java/twilightforest/client/renderer/TFRenderTypes.java +++ b/src/main/java/twilightforest/client/renderer/TFRenderTypes.java @@ -7,6 +7,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderStateShard; import net.minecraft.client.renderer.RenderType; +import net.minecraft.util.TriState; import org.joml.Matrix4f; import twilightforest.TwilightForestMod; import twilightforest.client.renderer.entity.LichRenderer; @@ -19,7 +20,7 @@ public TFRenderTypes(String name, VertexFormat vertexFormat, VertexFormat.Mode m public static final RenderType PROTECTION_BOX = create("protection_box", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, false, true, RenderType.CompositeState.builder() .setShaderState(RENDERTYPE_ENERGY_SWIRL_SHADER) - .setTextureState(new RenderStateShard.TextureStateShard(TwilightForestMod.getModelTexture("protectionbox.png"), false, false)) + .setTextureState(new RenderStateShard.TextureStateShard(TwilightForestMod.getModelTexture("protectionbox.png"), TriState.FALSE, false)) .setTexturingState(new ProtectionBoxTexturingStateShard()) .setTransparencyState(TRANSLUCENT_TRANSPARENCY) .setCullState(NO_CULL) @@ -37,8 +38,8 @@ public TFRenderTypes(String name, VertexFormat vertexFormat, VertexFormat.Mode m public static final RenderType SHADOW_CLONE = create("shadow_clone", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 1536, true, true, RenderType.CompositeState.builder() - .setShaderState(RENDERTYPE_ENTITY_TRANSLUCENT_CULL_SHADER) - .setTextureState(new RenderStateShard.TextureStateShard(LichRenderer.TEXTURE, false, false)) + .setShaderState(RENDERTYPE_ITEM_ENTITY_TRANSLUCENT_CULL_SHADER) + .setTextureState(new RenderStateShard.TextureStateShard(LichRenderer.TEXTURE, TriState.FALSE, false)) .setTransparencyState(TRANSPARENCY_STATE_SHARD) .setCullState(NO_CULL) .setLightmapState(LIGHTMAP) @@ -48,7 +49,7 @@ public TFRenderTypes(String name, VertexFormat vertexFormat, VertexFormat.Mode m public static final class ProtectionBoxTexturingStateShard extends RenderStateShard.TexturingStateShard { public ProtectionBoxTexturingStateShard() { super("protection_offset_texturing", () -> { - float tick = (float) (Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.tickCount : 0) + Minecraft.getInstance().getTimer().getGameTimeDeltaPartialTick(false); + float tick = (float) (Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.tickCount : 0) + Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaPartialTick(false); RenderSystem.setTextureMatrix((new Matrix4f()).translation((-tick * 0.06F) % 1.0F, (-tick * 0.035F) % 1.0F, 0.0F).scale(0.5F)); }, RenderSystem::resetTextureMatrix); } diff --git a/src/main/java/twilightforest/client/renderer/block/JarRenderer.java b/src/main/java/twilightforest/client/renderer/block/JarRenderer.java index e5ed002c3a..38448520ac 100644 --- a/src/main/java/twilightforest/client/renderer/block/JarRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/JarRenderer.java @@ -157,7 +157,7 @@ public static void renderModel(BakedModel bakedModel, BlockState blockState, Blo blockRenderer.getModelRenderer() .renderModel( stack.last(), - buffer.getBuffer(RenderTypeHelper.getEntityRenderType(rt, false)), + buffer.getBuffer(RenderTypeHelper.getEntityRenderType(rt)), blockState, bakedModel, r, diff --git a/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java b/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java index 77627ae5d9..dbbcae0952 100644 --- a/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java @@ -30,7 +30,7 @@ public MoonwormRenderer(BlockEntityRendererProvider.Context context) { @Override public void render(@Nullable MoonwormBlockEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { int yaw = entity != null ? entity.currentYaw : BugModelAnimationHelper.currentRotation; - if (entity == null) partialTicks = Minecraft.getInstance().getTimer().getGameTimeDeltaTicks(); + if (entity == null) partialTicks = Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(); float randRot = entity != null ? entity.randRot : 0.0F; stack.pushPose(); diff --git a/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java b/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java index 191f318d74..7260ee162a 100644 --- a/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java @@ -11,6 +11,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; +import net.minecraft.world.inventory.InventoryMenu; import org.joml.Matrix4f; import twilightforest.block.entity.ReactorDebrisBlockEntity; @@ -43,7 +44,7 @@ public void render(ReactorDebrisBlockEntity entity, float partialTicks, PoseStac if (entity.getLevel() == null) return; poseStack.pushPose(); - VertexConsumer builder = buffer.getBuffer(RenderType.entityTranslucentCull(TextureAtlas.LOCATION_BLOCKS)); + VertexConsumer builder = buffer.getBuffer(RenderType.itemEntityTranslucentCull(InventoryMenu.BLOCK_ATLAS)); Matrix4f matrix = poseStack.last().pose(); QuadRenderInfo info = new QuadRenderInfo(builder, matrix, light, overlay); diff --git a/src/main/java/twilightforest/client/renderer/block/RedThreadRenderer.java b/src/main/java/twilightforest/client/renderer/block/RedThreadRenderer.java index bf2651cda6..53819fad7a 100644 --- a/src/main/java/twilightforest/client/renderer/block/RedThreadRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/RedThreadRenderer.java @@ -15,6 +15,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.TriState; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.PipeBlock; import net.minecraft.world.level.block.state.BlockState; @@ -36,8 +37,8 @@ public class RedThreadRenderer implements BlockE .setLightmapState(new RenderStateShard.LightmapStateShard(true)) .setCullState(new RenderStateShard.CullStateShard(true)) .setDepthTestState(new RenderStateShard.DepthTestStateShard("always", 519)) - .setShaderState(new RenderStateShard.ShaderStateShard(() -> TFShaders.RED_THREAD)) - .setTextureState(new RenderStateShard.TextureStateShard(TEXTURE, false, true)) + .setShaderState(new RenderStateShard.ShaderStateShard(TFShaders.RED_THREAD)) + .setTextureState(new RenderStateShard.TextureStateShard(TEXTURE, TriState.FALSE, true)) .createCompositeState(true)); public RedThreadRenderer(BlockEntityRendererProvider.Context context) { diff --git a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java index 6aadb2fa0e..1cc6ca80bc 100644 --- a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java @@ -34,14 +34,14 @@ public TrophyRenderer(BlockEntityRendererProvider.Context context) { public static Map createTrophyRenderers(EntityModelSet set) { ImmutableMap.Builder trophyList = ImmutableMap.builder(); trophyList.put(BossVariant.NAGA, new NagaModel<>(set.bakeLayer(TFModelLayers.NAGA_TROPHY))); - trophyList.put(BossVariant.LICH, new LichModel<>(set.bakeLayer(TFModelLayers.LICH_TROPHY))); - trophyList.put(BossVariant.MINOSHROOM, new MinoshroomModel<>(set.bakeLayer(TFModelLayers.MINOSHROOM_TROPHY))); - trophyList.put(BossVariant.HYDRA, new HydraHeadModel<>(set.bakeLayer(TFModelLayers.HYDRA_TROPHY))); + trophyList.put(BossVariant.LICH, new LichModel(set.bakeLayer(TFModelLayers.LICH_TROPHY))); + trophyList.put(BossVariant.MINOSHROOM, new MinoshroomModel(set.bakeLayer(TFModelLayers.MINOSHROOM_TROPHY))); + trophyList.put(BossVariant.HYDRA, new HydraHeadModel(set.bakeLayer(TFModelLayers.HYDRA_TROPHY))); trophyList.put(BossVariant.KNIGHT_PHANTOM, new KnightPhantomModel(set.bakeLayer(TFModelLayers.KNIGHT_PHANTOM_TROPHY))); trophyList.put(BossVariant.UR_GHAST, new UrGhastModel(set.bakeLayer(TFModelLayers.UR_GHAST_TROPHY))); trophyList.put(BossVariant.ALPHA_YETI, new AlphaYetiModel(set.bakeLayer(TFModelLayers.ALPHA_YETI_TROPHY))); trophyList.put(BossVariant.SNOW_QUEEN, new SnowQueenModel(set.bakeLayer(TFModelLayers.SNOW_QUEEN_TROPHY))); - trophyList.put(BossVariant.QUEST_RAM, new QuestRamModel<>(set.bakeLayer(TFModelLayers.QUEST_RAM_TROPHY))); + trophyList.put(BossVariant.QUEST_RAM, new QuestRamModel(set.bakeLayer(TFModelLayers.QUEST_RAM_TROPHY))); return trophyList.build(); } diff --git a/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java index f73e2d1095..d2f05d6625 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java @@ -11,16 +11,15 @@ import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.entity.Entity; import net.minecraft.world.phys.Vec3; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.ChainModel; import twilightforest.client.model.entity.SpikeBlockModel; +import twilightforest.client.state.ChainBlockRenderState; import twilightforest.entity.projectile.ChainBlock; -public class BlockChainRenderer extends EntityRenderer { +public class BlockChainRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("block_and_chain.png"); private final Model model; @@ -33,27 +32,25 @@ public BlockChainRenderer(EntityRendererProvider.Context context) { } @Override - public void render(ChainBlock entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - super.render(entity, yaw, partialTicks, stack, buffer, light); + public void render(ChainBlockRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + super.render(state, stack, buffer, light); stack.pushPose(); - VertexConsumer consumer = ItemRenderer.getFoilBufferDirect(buffer, this.model.renderType(TEXTURE), false, entity.isFoil()); + VertexConsumer consumer = ItemRenderer.getFoilBuffer(buffer, this.model.renderType(TEXTURE), false, state.isFoil); - stack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entity.yRotO, entity.getYRot()) - 90.0F)); - stack.mulPose(Axis.ZP.rotationDegrees(Mth.lerp(partialTicks, entity.xRotO, entity.getXRot()))); + stack.mulPose(Axis.YP.rotationDegrees(state.yRot - 90.0F)); + stack.mulPose(Axis.ZP.rotationDegrees(state.xRot)); stack.scale(-1.0F, -1.0F, 1.0F); this.model.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); stack.popPose(); - Entity owner = entity.getOwner(); - if (owner != null) { - Vec3 xyz = owner.getEyePosition(partialTicks).subtract(entity.getEyePosition(partialTicks)); + if (state.chainStartPos != null) { + Vec3 xyz = state.chainStartPos; double links = xyz.length(); xyz = xyz.normalize(); - int ownerLight = Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(owner, partialTicks); for (int i = 1; i < links; i++) { - renderChain(entity, xyz, links - i, stack, buffer, Math.max(light, ownerLight), this.chainModel); + renderChain(state.isFoil, xyz, links - i, stack, buffer, Math.max(light, state.ownerLight), this.chainModel); } } } @@ -72,7 +69,17 @@ public static void renderChain(boolean renderFoil, Vec3 xyz, double scale, PoseS } @Override - public ResourceLocation getTextureLocation(ChainBlock entity) { - return TEXTURE; + public ChainBlockRenderState createRenderState() { + return new ChainBlockRenderState(); + } + + @Override + public void extractRenderState(ChainBlock entity, ChainBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.yRot = entity.getYRot(partialTick); + state.xRot = entity.getXRot(partialTick); + state.isFoil = entity.isFoil(); + state.chainStartPos = entity.getOwner() != null ? entity.getOwner().getEyePosition(partialTick).subtract(entity.getEyePosition(partialTick)) : null; + state.ownerLight = entity.getOwner() != null ? Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(entity.getOwner(), partialTick) : 0; } } diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index e588eb857e..4c53fd9696 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -52,7 +52,7 @@ public void render(LichRenderState state, PoseStack stack, MultiBufferSource buf if (state.deathTime > Lich.DEATH_ANIMATION_POINT_A) { stack.translate(0.0D, -1.8D * Math.pow(Math.min(((state.deathTime - Lich.DEATH_ANIMATION_POINT_A) + state.partialTick) * 0.05D, 1.0D), 3.0D), 0.0D); } else { - float time = (float) state.deathTime + state.partialTick; + float time = state.deathTime + state.partialTick; stack.translate(Math.sin(time * time) * 0.01D, 0.0D, Math.cos(time * time) * 0.01D); } super.render(state, stack, buffer, packedLight); diff --git a/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java b/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java index 5ad1017acc..d4f493b980 100644 --- a/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java +++ b/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.state.MapRenderState; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.MapDecorationTextureManager; import net.minecraft.world.level.saveddata.maps.MapDecoration; @@ -18,19 +19,19 @@ public class ConqueredMapIconRenderer implements IMapDecorationRenderer { - private boolean isConquered(MapItemSavedData data, MapDecoration decoration) { + private boolean isConquered(MapItemSavedData data, MapRenderState.MapDecorationRenderState decoration) { if (data instanceof TFMagicMapData map) { - return map.conqueredStructures.contains(MagicMapItem.makeName(decoration.type(), decoration.x(), decoration.y())); + return map.conqueredStructures.contains(MagicMapItem.makeName(decoration.type, decoration.x, decoration.y)); } return false; } @Override - public boolean render(MapDecoration decoration, PoseStack stack, MultiBufferSource bufferSource, MapItemSavedData mapData, MapDecorationTextureManager decorationTextures, boolean inItemFrame, int light, int index) { - if (this.isConquered(mapData, decoration)) { + public boolean render(MapRenderState.MapDecorationRenderState decoState, PoseStack stack, MultiBufferSource source, MapRenderState state, MapDecorationTextureManager manager, boolean inItemFrame, int light, int index) { + if (this.isConquered(mapData, decoState)) { stack.pushPose(); - stack.translate(0.0F + decoration.x() / 2.0F + 64.0F, 0.0F + decoration.y() / 2.0F + 64.0F, 0.0F); - stack.mulPose(Axis.ZP.rotationDegrees((decoration.rot() * 360) / 16.0F)); + stack.translate(0.0F + decoState.x / 2.0F + 64.0F, 0.0F + decoState.y / 2.0F + 64.0F, 0.0F); + stack.mulPose(Axis.ZP.rotationDegrees((decoState.rot * 360) / 16.0F)); stack.scale(2.0F, 2.0F, 2.0F); stack.translate(-1.0F, -1.0F, -0.005F); Matrix4f matrix4f = stack.last().pose(); @@ -40,7 +41,7 @@ public boolean render(MapDecoration decoration, PoseStack stack, MultiBufferSour float f3 = xSprite.getV0(); float f4 = xSprite.getU1(); float f5 = xSprite.getV1(); - VertexConsumer consumer = bufferSource.getBuffer(RenderType.text(xSprite.atlasLocation())); + VertexConsumer consumer = source.getBuffer(RenderType.text(xSprite.atlasLocation())); consumer.addVertex(matrix4f, -1.0F, 1.0F, depth).setColor(-1).setUv(f2, f3).setLight(light); consumer.addVertex(matrix4f, 1.0F, 1.0F, depth).setColor(-1).setUv(f4, f3).setLight(light); consumer.addVertex(matrix4f, 1.0F, -1.0F, depth).setColor(-1).setUv(f4, f5).setLight(light); diff --git a/src/main/java/twilightforest/client/state/ChainBlockRenderState.java b/src/main/java/twilightforest/client/state/ChainBlockRenderState.java new file mode 100644 index 0000000000..e3cab15708 --- /dev/null +++ b/src/main/java/twilightforest/client/state/ChainBlockRenderState.java @@ -0,0 +1,14 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; + +public class ChainBlockRenderState extends EntityRenderState { + public float xRot; + public float yRot; + public boolean isFoil; + @Nullable + public Vec3 chainStartPos; + public int ownerLight; +} diff --git a/src/main/java/twilightforest/components/item/OreScannerComponent.java b/src/main/java/twilightforest/components/item/OreScannerComponent.java index 791e2a89e7..bd9ec7be07 100644 --- a/src/main/java/twilightforest/components/item/OreScannerComponent.java +++ b/src/main/java/twilightforest/components/item/OreScannerComponent.java @@ -8,8 +8,6 @@ import it.unimi.dsi.fastutil.objects.Object2IntMaps; import net.minecraft.core.BlockPos; import net.minecraft.core.SectionPos; -import net.minecraft.core.component.DataComponentHolder; -import net.minecraft.core.component.DataComponentMap; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.util.Mth; import net.minecraft.world.level.BlockGetter; @@ -76,8 +74,8 @@ public OreScannerComponent(BlockPos origin, int xSpan, int zSpan, int scanDurati } public OreScannerComponent tickScan(BlockGetter reader) { - BlockPos originPos = this.origin.atY(reader.getMinBuildHeight()); - int volume = this.area * reader.getMaxBuildHeight(); + BlockPos originPos = this.origin.atY(reader.getMinY()); + int volume = this.area * reader.getMinY(); int march = Mth.ceil((float) volume / Mth.abs(this.scanDurationTicks)); int totalProgress = this.ticksProgressed * march; Object2IntMap nextCounter = new Object2IntArrayMap<>(this.blockCounter); @@ -114,7 +112,7 @@ public Map getResults(@Nullable Block assignedBlock) { } public int getVolume(BlockGetter reader) { - return this.area * reader.getMaxBuildHeight(); + return this.area * reader.getMinY(); } public int getTickProgress() { diff --git a/src/main/java/twilightforest/config/TFConfig.java b/src/main/java/twilightforest/config/TFConfig.java index 246e9857b8..00ec7049f7 100644 --- a/src/main/java/twilightforest/config/TFConfig.java +++ b/src/main/java/twilightforest/config/TFConfig.java @@ -121,7 +121,7 @@ public static ResourceLocation getPortalLockingAdvancement(Player player) { public static List> getValidAuroraBiomes(RegistryAccess access) { if (VALID_AURORA_BIOMES.isEmpty() && !ConfigSetup.CLIENT_CONFIG.auroraBiomes.get().isEmpty()) { ConfigSetup.CLIENT_CONFIG.auroraBiomes.get().forEach(s -> { - Optional> holder = Optional.ofNullable(ResourceLocation.tryParse(s)).flatMap(key -> access.registryOrThrow(Registries.BIOME).getHolder(key)); + Optional> holder = Optional.ofNullable(ResourceLocation.tryParse(s)).flatMap(key -> access.lookupOrThrow(Registries.BIOME).get(key)); if (holder.isEmpty()) { TwilightForestMod.LOGGER.warn("Biome {} in Twilight Forest's validAuroraBiomes config option is not a valid biome. Skipping!", s); } else { diff --git a/src/main/java/twilightforest/data/BlockLootTables.java b/src/main/java/twilightforest/data/BlockLootTables.java index 92c6a28017..76e489c088 100644 --- a/src/main/java/twilightforest/data/BlockLootTables.java +++ b/src/main/java/twilightforest/data/BlockLootTables.java @@ -704,7 +704,7 @@ protected LootTable.Builder createSilkTouchOrShearsDispatchTable(Block block, Lo return createSelfDropDispatchTable(block, HAS_SHEARS.or(this.hasSilkTouch()), builder); } - protected static LootTable.Builder createShearsOnlyDrop(ItemLike p_124287_) { + protected LootTable.Builder createShearsOnlyDrop(ItemLike p_124287_) { return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)).when(HAS_SHEARS).add(LootItem.lootTableItem(p_124287_))); } diff --git a/src/main/java/twilightforest/data/DataMapGenerator.java b/src/main/java/twilightforest/data/DataMapGenerator.java index 94eea3425c..6dbebf8ff6 100644 --- a/src/main/java/twilightforest/data/DataMapGenerator.java +++ b/src/main/java/twilightforest/data/DataMapGenerator.java @@ -31,7 +31,7 @@ public DataMapGenerator(PackOutput output, CompletableFuture parent) { return LootTable.lootTable() .withPool(LootPool.lootPool() .setRolls(ConstantValue.exactly(1)) - .add(NestedLootTable.lootTableReference(parent.getDefaultLootTable()))); + .add(NestedLootTable.lootTableReference(parent.getDefaultLootTable().orElseThrow()))); } private static LootTable.Builder sheepLootTableBuilderWithDrop(ItemLike wool) { - return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(LootItem.lootTableItem(wool))).withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(NestedLootTable.lootTableReference(EntityType.SHEEP.getDefaultLootTable()))); + return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(LootItem.lootTableItem(wool))).withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(NestedLootTable.lootTableReference(EntityType.SHEEP.getDefaultLootTable().orElseThrow()))); } @Override diff --git a/src/main/java/twilightforest/data/ItemModelGenerator.java b/src/main/java/twilightforest/data/ItemModelGenerator.java index f08e1a282b..9580ff7f2f 100644 --- a/src/main/java/twilightforest/data/ItemModelGenerator.java +++ b/src/main/java/twilightforest/data/ItemModelGenerator.java @@ -17,6 +17,7 @@ import net.neoforged.neoforge.client.model.generators.loaders.SeparateTransformsModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredItem; import twilightforest.TwilightForestMod; import twilightforest.beans.Autowired; import twilightforest.enums.extensions.TFItemDisplayContextEnumExtension; @@ -865,32 +866,24 @@ private void toGiantItemModel(DeferredHolder item, ResourceLocation .perspective(ItemDisplayContext.GUI, gui.texture("all", parent)).end(); } - private void trimmedArmor(DeferredHolder armor) { + private ItemModelBuilder trimmedArmor(DeferredItem armor) { ItemModelBuilder base = this.singleTex(armor); for (ItemModelGenerators.TrimModelData trim : ItemModelGenerators.GENERATED_TRIM_MODELS) { String material = trim.name(); String name = armor.getId().getPath() + "_" + material + "_trim"; ModelFile trimModel = this.withExistingParent(name, this.mcLoc("item/generated")) .texture("layer0", prefix("item/" + armor.getId().getPath())) - .texture("layer1", this.mcLoc("trims/items/" + armor.get().getType().getName() + "_trim_" + material)); + .texture("layer1", this.mcLoc("trims/items/" + armor.get().getEquipmentSlot(armor.toStack()).getName() + "_trim_" + material)); base.override().predicate(ResourceLocation.withDefaultNamespace("trim_type"), trim.itemModelIndex()).model(trimModel).end(); } + return base; } - private void trimmedFullbrightArmor(DeferredHolder armor) { - ItemModelBuilder base = this.singleTexFullbright(armor); - for (ItemModelGenerators.TrimModelData trim : ItemModelGenerators.GENERATED_TRIM_MODELS) { - String material = trim.name(); - String name = armor.getId().getPath() + "_" + material + "_trim"; - ModelFile trimModel = this.withExistingParent(name, this.mcLoc("item/generated")) - .texture("layer0", prefix("item/" + armor.getId().getPath())) - .texture("layer1", this.mcLoc("trims/items/" + armor.get().getType().getName() + "_trim_" + material)); - base.override().predicate(ResourceLocation.withDefaultNamespace("trim_type"), trim.itemModelIndex()).model(trimModel).end(); - } - base.customLoader(ItemLayerModelBuilder::begin).emissive(15, 15, 0).renderType("minecraft:translucent", 0).end(); + private void trimmedFullbrightArmor(DeferredItem armor) { + this.trimmedArmor(armor).customLoader(ItemLayerModelBuilder::begin).emissive(15, 15, 0).renderType("minecraft:translucent", 0).end(); } - private void trimmedLayeredArmor(DeferredHolder armor) { + private void trimmedLayeredArmor(DeferredItem armor) { ItemModelBuilder base = this.generated(armor.getId().getPath(), prefix("item/" + armor.getId().getPath()), prefix("item/" + armor.getId().getPath() + "_0")); for (ItemModelGenerators.TrimModelData trim : ItemModelGenerators.GENERATED_TRIM_MODELS) { String material = trim.name(); @@ -898,7 +891,7 @@ private void trimmedLayeredArmor(DeferredHolder armor) { ModelFile trimModel = this.withExistingParent(name, this.mcLoc("item/generated")) .texture("layer0", prefix("item/" + armor.getId().getPath())) .texture("layer1", prefix("item/" + armor.getId().getPath() + "_0")) - .texture("layer2", this.mcLoc("trims/items/" + armor.get().getType().getName() + "_trim_" + material)); + .texture("layer2", this.mcLoc("trims/items/" + armor.get().getEquipmentSlot(armor.toStack()).getName() + "_trim_" + material)); base.override().predicate(ResourceLocation.withDefaultNamespace("trim_type"), trim.itemModelIndex()).model(trimModel).end(); } } diff --git a/src/main/java/twilightforest/data/LootModifierGenerator.java b/src/main/java/twilightforest/data/LootModifierGenerator.java index 80924e2d1c..e850b57c27 100644 --- a/src/main/java/twilightforest/data/LootModifierGenerator.java +++ b/src/main/java/twilightforest/data/LootModifierGenerator.java @@ -2,6 +2,7 @@ import net.minecraft.advancements.critereon.ItemPredicate; import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; @@ -22,7 +23,7 @@ public LootModifierGenerator(PackOutput output, CompletableFuture> id) { .rewards(AdvancementRewards.Builder.recipe(id)) .requirements(AdvancementRequirements.Strategy.OR); this.criteria.forEach(advancement$builder::addCriterion); - NoTemplateSmithingRecipe smithingtrimrecipe = new NoTemplateSmithingRecipe(this.base, this.addition, this.additionalData); + NoTemplateSmithingRecipe smithingtrimrecipe = new NoTemplateSmithingRecipe(Optional.of(this.base), Optional.of(this.addition), this.additionalData); output.accept(id, smithingtrimrecipe, advancement$builder.build(id.location().withPrefix("recipes/" + this.category.getFolderName() + "/"))); } diff --git a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java index 9c152c632f..112a44816c 100644 --- a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java @@ -1,5 +1,6 @@ package twilightforest.data.custom; +import net.minecraft.core.HolderGetter; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -16,15 +17,18 @@ import java.util.List; public class ScepterRecipeBuilder { + + private final HolderGetter getter; private final Item scepter; private final List repairItems = new ArrayList<>(); - private ScepterRecipeBuilder(Item scepter) { + private ScepterRecipeBuilder(HolderGetter getter, Item scepter) { + this.getter = getter; this.scepter = scepter; } - public static ScepterRecipeBuilder repairFor(Item scepter) { - return new ScepterRecipeBuilder(scepter); + public static ScepterRecipeBuilder repairFor(HolderGetter getter, Item scepter) { + return new ScepterRecipeBuilder(getter, scepter); } public ScepterRecipeBuilder addRepairIngredient(Ingredient item) { @@ -32,13 +36,8 @@ public ScepterRecipeBuilder addRepairIngredient(Ingredient item) { return this; } - public ScepterRecipeBuilder addRepairIngredient(ItemStack item) { - this.repairItems.add(Ingredient.of(item)); - return this; - } - public ScepterRecipeBuilder addRepairIngredient(TagKey item) { - this.repairItems.add(Ingredient.of(item)); + this.repairItems.add(Ingredient.of(getter.getOrThrow(item))); return this; } diff --git a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java b/src/main/java/twilightforest/data/helpers/TFSoundProvider.java index 8e8b9b2d7f..5e418bbd1c 100644 --- a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java +++ b/src/main/java/twilightforest/data/helpers/TFSoundProvider.java @@ -54,7 +54,7 @@ public void generateExistingSoundWithSubtitle(DeferredHolder event, SoundEvent referencedSound, String subtitle) { this.add(event, SoundDefinition.definition() .subtitle(subtitle) - .with(SoundDefinition.Sound.sound(referencedSound.getLocation(), SoundDefinition.SoundType.EVENT))); + .with(SoundDefinition.Sound.sound(referencedSound.location(), SoundDefinition.SoundType.EVENT))); } public void generateExistingSound(DeferredHolder event, SoundEvent referencedSound, @Nullable String subtitle, float volume, float pitch) { @@ -63,13 +63,13 @@ public void generateExistingSound(DeferredHolder event, this.createSubtitleAndLangEntry(event, definition, subtitle); } this.add(event, definition - .with(SoundDefinition.Sound.sound(referencedSound.getLocation(), SoundDefinition.SoundType.EVENT).volume(volume).pitch(pitch))); + .with(SoundDefinition.Sound.sound(referencedSound.location(), SoundDefinition.SoundType.EVENT).volume(volume).pitch(pitch))); } public void makeStepSound(DeferredHolder event, SoundEvent referencedSound) { this.add(event, SoundDefinition.definition() .subtitle("subtitles.block.generic.footsteps") - .with(SoundDefinition.Sound.sound(referencedSound.getLocation(), SoundDefinition.SoundType.EVENT))); + .with(SoundDefinition.Sound.sound(referencedSound.location(), SoundDefinition.SoundType.EVENT))); } public void makeNewStepjSound(DeferredHolder event, String baseSoundDirectory, int numberOfSounds) { @@ -99,7 +99,7 @@ public void generateParrotSound(DeferredHolder event, So this.createSubtitleAndLangEntry(event, definition, subtitle); this.add(event, definition - .with(SoundDefinition.Sound.sound(referencedSound.getLocation(), SoundDefinition.SoundType.EVENT).pitch(1.8F).volume(0.6F))); + .with(SoundDefinition.Sound.sound(referencedSound.location(), SoundDefinition.SoundType.EVENT).pitch(1.8F).volume(0.6F))); } private void createSubtitleAndLangEntry(DeferredHolder event, SoundDefinition definition, String subtitle) { diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java index c6873fd25f..825a8df715 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java +++ b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java @@ -573,19 +573,19 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) .save(this.output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); - ScepterRecipeBuilder.repairFor(TFItems.LIFEDRAIN_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.LIFEDRAIN_SCEPTER.get()) .addRepairIngredient(Items.FERMENTED_SPIDER_EYE) .save(this.output, locEquip(TFItems.LIFEDRAIN_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(TFItems.FORTIFICATION_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.FORTIFICATION_SCEPTER.get()) .addRepairIngredient(Ingredient.of(Items.GOLDEN_APPLE)) .save(this.output, locEquip(TFItems.FORTIFICATION_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(TFItems.TWILIGHT_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.TWILIGHT_SCEPTER.get()) .addRepairIngredient(Tags.Items.ENDER_PEARLS) .save(this.output, locEquip(TFItems.TWILIGHT_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(TFItems.ZOMBIE_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.ZOMBIE_SCEPTER.get()) .addRepairIngredient(CompoundIngredient.of( DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRENGTH), Items.POTION), DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.LONG_STRENGTH), Items.POTION), diff --git a/src/main/java/twilightforest/dispenser/FeatherFanDispenseBehavior.java b/src/main/java/twilightforest/dispenser/FeatherFanDispenseBehavior.java index 73d93193d1..598e0cfbfc 100644 --- a/src/main/java/twilightforest/dispenser/FeatherFanDispenseBehavior.java +++ b/src/main/java/twilightforest/dispenser/FeatherFanDispenseBehavior.java @@ -34,7 +34,7 @@ protected ItemStack execute(BlockSource source, ItemStack stack) { List thingsToPush = level.getEntitiesOfClass(LivingEntity.class, new AABB(blockpos).inflate(3), EntitySelector.NO_SPECTATORS); if (!(thingsToPush.size() >= damage)) { for (Entity entity : thingsToPush) { - Vec3i lookVec = level.getBlockState(source.pos()).getValue(DispenserBlock.FACING).getNormal(); + Vec3i lookVec = level.getBlockState(source.pos()).getValue(DispenserBlock.FACING).getUnitVec3i(); if (entity.isPushable() || entity instanceof ItemEntity) { entity.setDeltaMovement(lookVec.getX(), lookVec.getY(), lookVec.getZ()); diff --git a/src/main/java/twilightforest/dispenser/TFDispenserBehaviors.java b/src/main/java/twilightforest/dispenser/TFDispenserBehaviors.java index af7a297cb6..762360e7af 100644 --- a/src/main/java/twilightforest/dispenser/TFDispenserBehaviors.java +++ b/src/main/java/twilightforest/dispenser/TFDispenserBehaviors.java @@ -37,31 +37,6 @@ protected SoundEvent getFiredSound() { } }); - DispenseItemBehavior idispenseitembehavior = new OptionalDispenseItemBehavior() { - @Override - protected ItemStack execute(BlockSource source, ItemStack stack) { - this.setSuccess(ArmorItem.dispenseArmor(source, stack)); - return stack; - } - }; - DispenserBlock.registerBehavior(TFBlocks.NAGA_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.LICH_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.MINOSHROOM_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.HYDRA_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.KNIGHT_PHANTOM_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.UR_GHAST_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.ALPHA_YETI_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.SNOW_QUEEN_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.QUEST_RAM_TROPHY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.CREEPER_SKULL_CANDLE.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.PLAYER_SKULL_CANDLE.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.SKELETON_SKULL_CANDLE.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.ZOMBIE_SKULL_CANDLE.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.CICADA.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.FIREFLY.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFBlocks.MOONWORM.get().asItem(), idispenseitembehavior); - DispenserBlock.registerBehavior(TFItems.PEACOCK_FEATHER_FAN.get().asItem(), new FeatherFanDispenseBehavior()); DispenserBlock.registerBehavior(TFItems.CRUMBLE_HORN.get().asItem(), new CrumbleDispenseBehavior()); DispenserBlock.registerBehavior(TFItems.TRANSFORMATION_POWDER.get().asItem(), new TransformationDispenseBehavior()); diff --git a/src/main/java/twilightforest/entity/ai/goal/AttemptToGoHomeGoal.java b/src/main/java/twilightforest/entity/ai/goal/AttemptToGoHomeGoal.java index 61a9865428..ab89fc5a8a 100644 --- a/src/main/java/twilightforest/entity/ai/goal/AttemptToGoHomeGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/AttemptToGoHomeGoal.java @@ -15,7 +15,6 @@ public class AttemptToGoHomeGoal ex private double wantedZ; private final double speedModifier; - @SuppressWarnings("this-escape") public AttemptToGoHomeGoal(T mob, double speedModifier) { this.mob = mob; this.speedModifier = speedModifier; diff --git a/src/main/java/twilightforest/entity/ai/goal/AvoidAnyEntityGoal.java b/src/main/java/twilightforest/entity/ai/goal/AvoidAnyEntityGoal.java index 362c7864d8..7c5bd367b4 100644 --- a/src/main/java/twilightforest/entity/ai/goal/AvoidAnyEntityGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/AvoidAnyEntityGoal.java @@ -36,7 +36,6 @@ public AvoidAnyEntityGoal(PathfinderMob entityIn, Class classToAvoidIn, float this(entityIn, classToAvoidIn, (entity) -> true, avoidDistanceIn, farSpeedIn, nearSpeedIn); } - @SuppressWarnings("this-escape") public AvoidAnyEntityGoal(PathfinderMob entityIn, Class avoidClass, Predicate targetPredicate, float distance, double nearSpeedIn, double farSpeedIn) { this.builtTargetSelector = new Predicate<>() { @Override diff --git a/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java index a012dd7255..c2d6f51246 100644 --- a/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/BreathAttackGoal.java @@ -28,7 +28,6 @@ public class BreathAttackGoal extends Goal { private int durationLeft; - @SuppressWarnings("this-escape") public BreathAttackGoal(T living, float range, int time, float chance) { this.entityHost = living; this.breathRange = range; diff --git a/src/main/java/twilightforest/entity/ai/goal/ChargeAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/ChargeAttackGoal.java index 03935b4ab5..453adcc078 100644 --- a/src/main/java/twilightforest/entity/ai/goal/ChargeAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/ChargeAttackGoal.java @@ -1,6 +1,7 @@ package twilightforest.entity.ai.goal; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; @@ -30,7 +31,6 @@ public class ChargeAttackGoal extends Goal { private int windup; private boolean hasAttacked; - @SuppressWarnings("this-escape") public ChargeAttackGoal(PathfinderMob mob, float f, boolean canBreak) { this.charger = mob; this.speed = f; @@ -97,7 +97,7 @@ public void tick() { } } } else if (this.canBreak) { - if (!this.charger.level().isClientSide() && EventHooks.canEntityGrief(this.charger.level(), this.charger)) { + if (!this.charger.level().isClientSide() && EventHooks.canEntityGrief(getServerLevel(this.charger), this.charger)) { AABB bb = this.charger.getBoundingBox(); int minx = Mth.floor(bb.minX - 0.75D); @@ -126,7 +126,7 @@ public void tick() { if (this.charger.distanceToSqr(this.chargeTarget.getX(), this.chargeTarget.getBoundingBox().minY, this.chargeTarget.getZ()) <= rangeSq) { if (!this.hasAttacked) { this.hasAttacked = true; - this.charger.doHurtTarget(this.chargeTarget); + this.charger.doHurtTarget(getServerLevel(this.charger), this.chargeTarget); } } } diff --git a/src/main/java/twilightforest/entity/ai/goal/CubeCenterOnSymbolGoal.java b/src/main/java/twilightforest/entity/ai/goal/CubeCenterOnSymbolGoal.java index 02d13a6f8b..27ce8053fa 100644 --- a/src/main/java/twilightforest/entity/ai/goal/CubeCenterOnSymbolGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/CubeCenterOnSymbolGoal.java @@ -20,7 +20,6 @@ public class CubeCenterOnSymbolGoal extends Goal { private double yPosition; private double zPosition; - @SuppressWarnings("this-escape") public CubeCenterOnSymbolGoal(RovingCube cube, double d) { this.myCube = cube; this.xPosition = this.myCube.symbolX; diff --git a/src/main/java/twilightforest/entity/ai/goal/CubeMoveToRedstoneSymbolsGoal.java b/src/main/java/twilightforest/entity/ai/goal/CubeMoveToRedstoneSymbolsGoal.java index dbb5adff42..d75b61c113 100644 --- a/src/main/java/twilightforest/entity/ai/goal/CubeMoveToRedstoneSymbolsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/CubeMoveToRedstoneSymbolsGoal.java @@ -15,7 +15,6 @@ public class CubeMoveToRedstoneSymbolsGoal extends Goal { private final double speed; private BlockPos targetPos; - @SuppressWarnings("this-escape") public CubeMoveToRedstoneSymbolsGoal(RovingCube cube, double speed) { this.myCube = cube; this.speed = speed; diff --git a/src/main/java/twilightforest/entity/ai/goal/GhastguardHomedFlightGoal.java b/src/main/java/twilightforest/entity/ai/goal/GhastguardHomedFlightGoal.java index a278f93f37..820b9b4272 100644 --- a/src/main/java/twilightforest/entity/ai/goal/GhastguardHomedFlightGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/GhastguardHomedFlightGoal.java @@ -12,7 +12,6 @@ public class GhastguardHomedFlightGoal extends Goal { private final CarminiteGhastguard ghast; - @SuppressWarnings("this-escape") public GhastguardHomedFlightGoal(CarminiteGhastguard ghast) { this.ghast = ghast; this.setFlags(EnumSet.of(Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/GhastguardRandomFlyGoal.java b/src/main/java/twilightforest/entity/ai/goal/GhastguardRandomFlyGoal.java index c509b0fa8b..33e1a4e3c9 100644 --- a/src/main/java/twilightforest/entity/ai/goal/GhastguardRandomFlyGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/GhastguardRandomFlyGoal.java @@ -11,7 +11,6 @@ public class GhastguardRandomFlyGoal extends Goal { private final CarminiteGhastguard parentEntity; - @SuppressWarnings("this-escape") public GhastguardRandomFlyGoal(CarminiteGhastguard ghast) { this.parentEntity = ghast; this.setFlags(EnumSet.of(Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java index d0315963be..f01cd1e039 100644 --- a/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java @@ -25,7 +25,6 @@ public class GroundAttackGoal extends Goal { private int cooldown; private int attackTick; - @SuppressWarnings("this-escape") public GroundAttackGoal(Minoshroom minoshroom) { this.attacker = minoshroom; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); diff --git a/src/main/java/twilightforest/entity/ai/goal/HoverBeamGoal.java b/src/main/java/twilightforest/entity/ai/goal/HoverBeamGoal.java index 6574ff16c9..aeb9dfb01c 100644 --- a/src/main/java/twilightforest/entity/ai/goal/HoverBeamGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/HoverBeamGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; @@ -23,7 +24,6 @@ public class HoverBeamGoal extends HoverBaseGoal { private double beamY; private boolean isInPosition; - @SuppressWarnings("this-escape") public HoverBeamGoal(SnowQueen snowQueen, int hoverTime, int dropTime) { super(snowQueen, 3F, 4F); @@ -155,14 +155,14 @@ private void doRayAttack() { if (collisionBB.contains(srcVec)) { if (0.0D < hitDist || hitDist == 0.0D) { - this.attacker.doBreathAttack(possibleEntity); + this.attacker.doBreathAttack(getServerLevel(this.attacker), possibleEntity); hitDist = 0.0D; } } else if (interceptPos.isPresent()) { double possibleDist = srcVec.distanceTo(interceptPos.get()); if (possibleDist < hitDist || hitDist == 0.0D) { - this.attacker.doBreathAttack(possibleEntity); + this.attacker.doBreathAttack(getServerLevel(this.attacker), possibleEntity); hitDist = possibleDist; } } diff --git a/src/main/java/twilightforest/entity/ai/goal/HoverSummonGoal.java b/src/main/java/twilightforest/entity/ai/goal/HoverSummonGoal.java index ace226d756..5075b32b9c 100644 --- a/src/main/java/twilightforest/entity/ai/goal/HoverSummonGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/HoverSummonGoal.java @@ -15,7 +15,6 @@ public class HoverSummonGoal extends HoverBaseGoal { private final int maxSeekTime; - @SuppressWarnings("this-escape") public HoverSummonGoal(SnowQueen snowQueen) { super(snowQueen, 6F, 6F); diff --git a/src/main/java/twilightforest/entity/ai/goal/HoverThenDropGoal.java b/src/main/java/twilightforest/entity/ai/goal/HoverThenDropGoal.java index 4dc9390878..0b960339de 100644 --- a/src/main/java/twilightforest/entity/ai/goal/HoverThenDropGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/HoverThenDropGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.LivingEntity; import twilightforest.entity.boss.SnowQueen; @@ -19,7 +20,6 @@ public class HoverThenDropGoal extends HoverBaseGoal { private double dropY; - @SuppressWarnings("this-escape") public HoverThenDropGoal(SnowQueen snowQueen, int hoverTime, int dropTime) { super(snowQueen, 6F, 0F); @@ -114,7 +114,7 @@ public void tick() { // drop! this.dropTimer++; if (this.attacker.getY() > this.dropY) { - this.attacker.destroyBlocksInAABB(this.attacker.getBoundingBox().inflate(1, 0.5F, 1)); + this.attacker.destroyBlocksInAABB(getServerLevel(this.attacker), this.attacker.getBoundingBox().inflate(1, 0.5F, 1)); } } } diff --git a/src/main/java/twilightforest/entity/ai/goal/LichAbsorbMinionsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichAbsorbMinionsGoal.java index b21ebb187d..de28226fb6 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichAbsorbMinionsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichAbsorbMinionsGoal.java @@ -19,7 +19,6 @@ public class LichAbsorbMinionsGoal extends Goal { private final Lich lich; - @SuppressWarnings("this-escape") public LichAbsorbMinionsGoal(Lich lich) { this.lich = lich; this.setFlags(EnumSet.of(Flag.LOOK, Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java index aa4c3b6e87..a85c570a28 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichMinionsGoal.java @@ -24,7 +24,6 @@ public class LichMinionsGoal extends Goal { private final Lich lich; - @SuppressWarnings("this-escape") public LichMinionsGoal(Lich boss) { this.lich = boss; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); diff --git a/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java index 4163b718bd..f6801e1105 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java @@ -19,7 +19,6 @@ public class LichPopMobsGoal extends Goal { private final Lich lich; - @SuppressWarnings("this-escape") public LichPopMobsGoal(Lich lich) { this.lich = lich; this.setFlags(EnumSet.of(Flag.LOOK, Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/LichShadowsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichShadowsGoal.java index 7f66b0925c..05e368b603 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichShadowsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichShadowsGoal.java @@ -22,7 +22,6 @@ public class LichShadowsGoal extends Goal { private final Lich lich; - @SuppressWarnings("this-escape") public LichShadowsGoal(Lich boss) { this.lich = boss; this.setFlags(EnumSet.of(Flag.LOOK, Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/NagaMovementPattern.java b/src/main/java/twilightforest/entity/ai/goal/NagaMovementPattern.java index 36d9a0adb0..6f53a84009 100644 --- a/src/main/java/twilightforest/entity/ai/goal/NagaMovementPattern.java +++ b/src/main/java/twilightforest/entity/ai/goal/NagaMovementPattern.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.goal.Goal; @@ -21,7 +22,6 @@ public class NagaMovementPattern extends Goal { private boolean clockwise; private boolean stunCalculated; - @SuppressWarnings("this-escape") public NagaMovementPattern(Naga naga) { this.naga = naga; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); @@ -176,7 +176,7 @@ private void doIntimidate() { } private void crumbleBelowTarget(int range) { - if (!EventHooks.canEntityGrief(this.naga.level(), this.naga) || naga.getTarget() == null) return; + if (!EventHooks.canEntityGrief((ServerLevel) this.naga.level(), this.naga) || this.naga.getTarget() == null) return; int floor = (int) this.naga.getBoundingBox().minY; int targetY = (int) this.naga.getTarget().getBoundingBox().minY; diff --git a/src/main/java/twilightforest/entity/ai/goal/NagaSmashGoal.java b/src/main/java/twilightforest/entity/ai/goal/NagaSmashGoal.java index 0c2a7b2406..5680b0ad1c 100644 --- a/src/main/java/twilightforest/entity/ai/goal/NagaSmashGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/NagaSmashGoal.java @@ -1,6 +1,7 @@ package twilightforest.entity.ai.goal; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.BlockTags; import net.minecraft.util.Mth; import net.minecraft.world.entity.ai.goal.Goal; @@ -20,14 +21,12 @@ public NagaSmashGoal(Naga naga) { @Override public boolean canUse() { - return this.naga.horizontalCollision && EventHooks.canEntityGrief(this.naga.level(), this.naga); + return this.naga.horizontalCollision && EventHooks.canEntityGrief(getServerLevel(this.naga), this.naga); } @Override public void start() { // NAGA SMASH! - if (this.naga.level().isClientSide()) return; - AABB bb = this.naga.getBoundingBox(); int minx = Mth.floor(bb.minX - 0.75D); diff --git a/src/main/java/twilightforest/entity/ai/goal/PanicOnFlockDeathGoal.java b/src/main/java/twilightforest/entity/ai/goal/PanicOnFlockDeathGoal.java index ae1953b99c..5901a86ef4 100644 --- a/src/main/java/twilightforest/entity/ai/goal/PanicOnFlockDeathGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/PanicOnFlockDeathGoal.java @@ -19,7 +19,6 @@ public class PanicOnFlockDeathGoal extends Goal { private int fleeTimer; - @SuppressWarnings("this-escape") public PanicOnFlockDeathGoal(PathfinderMob creature, float speed) { this.flockCreature = creature; this.speed = speed; diff --git a/src/main/java/twilightforest/entity/ai/goal/PhantomAttackStartGoal.java b/src/main/java/twilightforest/entity/ai/goal/PhantomAttackStartGoal.java index c438ce9e97..23557299a8 100644 --- a/src/main/java/twilightforest/entity/ai/goal/PhantomAttackStartGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/PhantomAttackStartGoal.java @@ -11,7 +11,6 @@ public class PhantomAttackStartGoal extends Goal { private final KnightPhantom boss; - @SuppressWarnings("this-escape") public PhantomAttackStartGoal(KnightPhantom entity) { this.boss = entity; setFlags(EnumSet.of(Flag.LOOK)); diff --git a/src/main/java/twilightforest/entity/ai/goal/PhantomThrowWeaponGoal.java b/src/main/java/twilightforest/entity/ai/goal/PhantomThrowWeaponGoal.java index 3325a9e9c1..ceaf373989 100644 --- a/src/main/java/twilightforest/entity/ai/goal/PhantomThrowWeaponGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/PhantomThrowWeaponGoal.java @@ -17,7 +17,6 @@ public class PhantomThrowWeaponGoal extends Goal { private final KnightPhantom boss; - @SuppressWarnings("this-escape") public PhantomThrowWeaponGoal(KnightPhantom entity) { this.boss = entity; setFlags(EnumSet.of(Flag.LOOK)); diff --git a/src/main/java/twilightforest/entity/ai/goal/PhantomWatchAndAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/PhantomWatchAndAttackGoal.java index 55a0cd9ed9..8eaf460b1c 100644 --- a/src/main/java/twilightforest/entity/ai/goal/PhantomWatchAndAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/PhantomWatchAndAttackGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.goal.Goal; @@ -34,7 +35,7 @@ public void tick() { if (this.boss.getSensing().hasLineOfSight(target)) { if (attackTime-- <= 0 && f1 < 2.0F && target.getBoundingBox().maxY > this.boss.getBoundingBox().minY && this.boss.getTarget().getBoundingBox().minY < this.boss.getBoundingBox().maxY) { attackTime = 20; - this.boss.doHurtTarget(target); + this.boss.doHurtTarget(getServerLevel(this.boss), target); } } diff --git a/src/main/java/twilightforest/entity/ai/goal/QuestRamEatWoolGoal.java b/src/main/java/twilightforest/entity/ai/goal/QuestRamEatWoolGoal.java index a9baf61505..f6c9825ec3 100644 --- a/src/main/java/twilightforest/entity/ai/goal/QuestRamEatWoolGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/QuestRamEatWoolGoal.java @@ -20,7 +20,6 @@ public class QuestRamEatWoolGoal extends Goal { @Nullable private ItemEntity targetItem = null; - @SuppressWarnings("this-escape") public QuestRamEatWoolGoal(QuestRam ram) { this.ram = ram; this.navigation = ram.getNavigation(); diff --git a/src/main/java/twilightforest/entity/ai/goal/RedcapLightTNTGoal.java b/src/main/java/twilightforest/entity/ai/goal/RedcapLightTNTGoal.java index 697da7346f..543130308e 100644 --- a/src/main/java/twilightforest/entity/ai/goal/RedcapLightTNTGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/RedcapLightTNTGoal.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.level.block.Blocks; @@ -18,7 +19,6 @@ public class RedcapLightTNTGoal extends RedcapBaseGoal { private int delay; private BlockPos tntPos = null; - @SuppressWarnings("this-escape") public RedcapLightTNTGoal(Redcap hostEntity, float speed) { super(hostEntity); this.pursueSpeed = speed; @@ -27,7 +27,7 @@ public RedcapLightTNTGoal(Redcap hostEntity, float speed) { @Override public boolean canUse() { - if (!EventHooks.canEntityGrief(this.redcap.level(), this.redcap)) { + if (!EventHooks.canEntityGrief(getServerLevel(this.redcap), this.redcap)) { return false; } diff --git a/src/main/java/twilightforest/entity/ai/goal/RedcapPlantTNTGoal.java b/src/main/java/twilightforest/entity/ai/goal/RedcapPlantTNTGoal.java index bb69f9e9cc..4b0336d2b3 100644 --- a/src/main/java/twilightforest/entity/ai/goal/RedcapPlantTNTGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/RedcapPlantTNTGoal.java @@ -1,6 +1,7 @@ package twilightforest.entity.ai.goal; import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.block.Blocks; @@ -21,7 +22,7 @@ public boolean canUse() { && !this.redcap.heldTNT.isEmpty() && this.redcap.distanceToSqr(attackTarget) < 25 && !this.isTargetLookingAtMe(attackTarget) - && EventHooks.canEntityGrief(this.redcap.level(), this.redcap) + && EventHooks.canEntityGrief(getServerLevel(this.redcap), this.redcap) && !this.isLitTNTNearby(8) && this.findBlockTNTNearby(5) == null; } diff --git a/src/main/java/twilightforest/entity/ai/goal/RedcapShyGoal.java b/src/main/java/twilightforest/entity/ai/goal/RedcapShyGoal.java index 59a541cb29..d15dbefcb6 100644 --- a/src/main/java/twilightforest/entity/ai/goal/RedcapShyGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/RedcapShyGoal.java @@ -20,7 +20,6 @@ public class RedcapShyGoal extends RedcapBaseGoal { private static final double minDistance = 3.0; private static final double maxDistance = 6.0; - @SuppressWarnings("this-escape") public RedcapShyGoal(Redcap entityTFRedcap, float moveSpeed) { super(entityTFRedcap); this.speed = moveSpeed; diff --git a/src/main/java/twilightforest/entity/ai/goal/RiderSpearAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/RiderSpearAttackGoal.java index 15239deafe..a108d2d952 100644 --- a/src/main/java/twilightforest/entity/ai/goal/RiderSpearAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/RiderSpearAttackGoal.java @@ -11,7 +11,6 @@ public class RiderSpearAttackGoal extends Goal { private final LowerGoblinKnight entity; - @SuppressWarnings("this-escape") public RiderSpearAttackGoal(LowerGoblinKnight lowerKnight) { this.entity = lowerKnight; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); // Prevent moving diff --git a/src/main/java/twilightforest/entity/ai/goal/SimplifiedAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/SimplifiedAttackGoal.java index bb03851ff7..01e8625bcc 100644 --- a/src/main/java/twilightforest/entity/ai/goal/SimplifiedAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/SimplifiedAttackGoal.java @@ -1,5 +1,6 @@ package twilightforest.entity.ai.goal; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; @@ -53,7 +54,7 @@ protected void checkAndPerformAttack(LivingEntity entity) { if (this.attackTick <= 0 && this.mob.isWithinMeleeAttackRange(entity) && this.mob.hasLineOfSight(entity)) { this.attackTick = this.adjustedTickDelay(20); this.mob.swing(InteractionHand.MAIN_HAND); - this.mob.doHurtTarget(entity); + this.mob.doHurtTarget(getServerLevel(this.mob), entity); } } } \ No newline at end of file diff --git a/src/main/java/twilightforest/entity/ai/goal/ThrowSpikeBlockGoal.java b/src/main/java/twilightforest/entity/ai/goal/ThrowSpikeBlockGoal.java index ace14c67d5..5d6e214bc5 100644 --- a/src/main/java/twilightforest/entity/ai/goal/ThrowSpikeBlockGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/ThrowSpikeBlockGoal.java @@ -14,7 +14,6 @@ public class ThrowSpikeBlockGoal extends Goal { protected final SpikeBlock spikeBlock; private int cooldown; - @SuppressWarnings("this-escape") public ThrowSpikeBlockGoal(BlockChainGoblin goblin, SpikeBlock block) { this.attacker = goblin; this.spikeBlock = block; diff --git a/src/main/java/twilightforest/entity/ai/goal/UrGhastFlightGoal.java b/src/main/java/twilightforest/entity/ai/goal/UrGhastFlightGoal.java index a886e8875a..966b706479 100644 --- a/src/main/java/twilightforest/entity/ai/goal/UrGhastFlightGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/UrGhastFlightGoal.java @@ -20,7 +20,6 @@ public class UrGhastFlightGoal extends Goal { private List pointsToVisit = new ArrayList<>(); private int currentPoint = 0; - @SuppressWarnings("this-escape") public UrGhastFlightGoal(UrGhast ghast) { this.ghast = ghast; setFlags(EnumSet.of(Flag.MOVE)); diff --git a/src/main/java/twilightforest/entity/ai/goal/UrGhastLookGoal.java b/src/main/java/twilightforest/entity/ai/goal/UrGhastLookGoal.java index 2ac17ca907..3668355005 100644 --- a/src/main/java/twilightforest/entity/ai/goal/UrGhastLookGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/UrGhastLookGoal.java @@ -12,7 +12,6 @@ public class UrGhastLookGoal extends Goal { private final UrGhast ghast; - @SuppressWarnings("this-escape") public UrGhastLookGoal(UrGhast pGhast) { this.ghast = pGhast; this.setFlags(EnumSet.of(Goal.Flag.LOOK)); diff --git a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java index 349c4054d5..d8a362e6d8 100644 --- a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java @@ -19,7 +19,6 @@ public class YetiRampageGoal extends Goal { private final int maxTantrumTimeOut; private final int tantrumDuration; - @SuppressWarnings("this-escape") public YetiRampageGoal(AlphaYeti yeti, int timeout, int duration) { this.yeti = yeti; this.currentTimeOut = timeout; @@ -73,12 +72,11 @@ public void tick() { this.yeti.gameEvent(GameEvent.HIT_GROUND); } - ServerLevel level = (ServerLevel) this.yeti.level(); - this.yeti.destroyBlocksInAABB(level, this.yeti.getBoundingBox().inflate(1, 2, 1).move(0, 2, 0)); + this.yeti.destroyBlocksInAABB(getServerLevel(this.yeti), this.yeti.getBoundingBox().inflate(1, 2, 1).move(0, 2, 0)); // regular falling blocks, twice a second if (this.currentDuration % 10 == 0) { - this.yeti.makeRandomBlockFall(level, 30, 80); + this.yeti.makeRandomBlockFall(getServerLevel(this.yeti), 30, 80); } // blocks target players, one every second @@ -88,7 +86,7 @@ public void tick() { // blocks that fall close to the yeti, twice a second near the end of the rampage if (this.currentDuration < 40 && this.currentDuration % 10 == 0) { - this.yeti.makeRandomBlockFall(level, 15, 40); + this.yeti.makeRandomBlockFall(getServerLevel(this.yeti), 15, 40); } if (this.currentDuration % 20 == 0) { diff --git a/src/main/java/twilightforest/entity/ai/goal/YetiTiredGoal.java b/src/main/java/twilightforest/entity/ai/goal/YetiTiredGoal.java index c4db6ab87b..82e9a035d3 100644 --- a/src/main/java/twilightforest/entity/ai/goal/YetiTiredGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/YetiTiredGoal.java @@ -12,7 +12,6 @@ public class YetiTiredGoal extends Goal { private final int tiredDuration; private int tiredTimer; - @SuppressWarnings("this-escape") public YetiTiredGoal(AlphaYeti alpha, int i) { this.yeti = alpha; this.tiredDuration = i; diff --git a/src/main/java/twilightforest/entity/boss/Hydra.java b/src/main/java/twilightforest/entity/boss/Hydra.java index d0ab790e4f..34f87c1da1 100644 --- a/src/main/java/twilightforest/entity/boss/Hydra.java +++ b/src/main/java/twilightforest/entity/boss/Hydra.java @@ -86,8 +86,6 @@ public Hydra(EntityType type, Level level) { } this.partArray = parts.toArray(new HydraPart[0]); - - this.noCulling = true; this.xpReward = 511; } diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index 5105e9527a..356d07f88e 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -87,7 +87,6 @@ public class Naga extends BaseTFBoss { public Naga(EntityType type, Level level) { super(type, level); this.xpReward = 217; - this.noCulling = true; for (int i = 0; i < this.bodySegments.length; i++) { this.bodySegments[i] = new NagaSegment(this); diff --git a/src/main/java/twilightforest/entity/boss/NagaSegment.java b/src/main/java/twilightforest/entity/boss/NagaSegment.java index 012e68a7fa..629bb4bd08 100644 --- a/src/main/java/twilightforest/entity/boss/NagaSegment.java +++ b/src/main/java/twilightforest/entity/boss/NagaSegment.java @@ -23,7 +23,6 @@ public class NagaSegment extends TFPart { private int deathCounter; - @SuppressWarnings("this-escape") public NagaSegment(Naga naga) { super(naga); this.setPos(naga.getX(), naga.getY(), naga.getZ()); diff --git a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java index 27d4064a7f..13e82d192a 100644 --- a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java +++ b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java @@ -51,7 +51,6 @@ public class UpperGoblinKnight extends Monster { private int shieldDisabledTicks; public int heavySpearTimer; - @SuppressWarnings("this-escape") public UpperGoblinKnight(EntityType type, Level level) { super(type, level); diff --git a/src/main/java/twilightforest/entity/monster/Wraith.java b/src/main/java/twilightforest/entity/monster/Wraith.java index 83d1f228b9..770fa2a793 100644 --- a/src/main/java/twilightforest/entity/monster/Wraith.java +++ b/src/main/java/twilightforest/entity/monster/Wraith.java @@ -223,7 +223,6 @@ public void start() { public static class LookAroundGoal extends Goal { private final Wraith wraith; - @SuppressWarnings("this-escape") public LookAroundGoal(Wraith wraith) { this.wraith = wraith; this.setFlags(EnumSet.of(Flag.LOOK)); @@ -260,7 +259,6 @@ public static class MoveTowardsHomeGoal extends Goal { private double wantedZ; private final double speedModifier; - @SuppressWarnings("this-escape") public MoveTowardsHomeGoal(Wraith mob, double speedModifier) { this.mob = mob; this.speedModifier = speedModifier; diff --git a/src/main/java/twilightforest/events/CapabilityEvents.java b/src/main/java/twilightforest/events/CapabilityEvents.java index c80770cf20..49aa3ee3f8 100644 --- a/src/main/java/twilightforest/events/CapabilityEvents.java +++ b/src/main/java/twilightforest/events/CapabilityEvents.java @@ -122,7 +122,7 @@ private static void banishNewbieToTwilightZone(ServerPlayer player) { if (level == null) return; - player.changeDimension(TFConfig.portalForNewPlayerSpawn ? + player.teleport(TFConfig.portalForNewPlayerSpawn ? TFTeleporter.createTransition(player, level, player.blockPosition(), true) : NoReturnTeleporter.createNoPortalTransition(level, player, player.blockPosition())); player.setRespawnPosition(TFDimension.DIMENSION_KEY, player.blockPosition(), player.getYRot(), true, false); diff --git a/src/main/java/twilightforest/events/CharmEvents.java b/src/main/java/twilightforest/events/CharmEvents.java index 17e513b688..1bf387787d 100644 --- a/src/main/java/twilightforest/events/CharmEvents.java +++ b/src/main/java/twilightforest/events/CharmEvents.java @@ -7,6 +7,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; @@ -31,7 +32,6 @@ import twilightforest.TwilightForestMod; import twilightforest.block.KeepsakeCasketBlock; import twilightforest.block.entity.KeepsakeCasketBlockEntity; -import twilightforest.compat.curios.CuriosCompat; import twilightforest.config.TFConfig; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.enums.BlockLoggingEnum; @@ -71,10 +71,10 @@ public static void applyKeepingAndCasket(LivingDeathEvent event) { LivingEntity living = event.getEntity(); //ensure our player is real and in survival before attempting anything - if (event.isCanceled() || living.level().isClientSide() || !(living instanceof Player player) || living instanceof FakePlayer || + if (event.isCanceled() || !(living.level() instanceof ServerLevel level) || !(living instanceof Player player) || living instanceof FakePlayer || player.isCreative() || player.isSpectator()) return; - if (!living.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY)) { + if (!level.getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY)) { // Did the player recover? No? Let's give them their stuff based on the keeping charms charmOfKeeping(player); @@ -310,9 +310,9 @@ private static void keepWholeList(NonNullList transferTo, NonNullList } private static boolean hasCharmCurio(Item item, Player player) { - if (ModList.get().isLoaded("curios")) { - return CuriosCompat.findAndConsumeCurio(item, player); - } +// if (ModList.get().isLoaded("curios")) { +// return CuriosCompat.findAndConsumeCurio(item, player); +// } return false; } diff --git a/src/main/java/twilightforest/events/EntityEvents.java b/src/main/java/twilightforest/events/EntityEvents.java index 674637dc0b..afdc34df3f 100644 --- a/src/main/java/twilightforest/events/EntityEvents.java +++ b/src/main/java/twilightforest/events/EntityEvents.java @@ -88,7 +88,7 @@ public class EntityEvents { @SubscribeEvent public static void alertPlayerCastleIsWIP(AdvancementEvent.AdvancementEarnEvent event) { if (event.getAdvancement().id().equals(TwilightForestMod.prefix("progression_end"))) { - event.getEntity().sendSystemMessage(Component.translatable("gui.twilightforest.progression_end.message", Component.translatable("gui.twilightforest.progression_end.discord").withStyle(style -> style.withColor(ChatFormatting.BLUE).applyFormat(ChatFormatting.UNDERLINE).withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://discord.experiment115.com/"))))); + event.getEntity().displayClientMessage(Component.translatable("gui.twilightforest.progression_end.message", Component.translatable("gui.twilightforest.progression_end.discord").withStyle(style -> style.withColor(ChatFormatting.BLUE).applyFormat(ChatFormatting.UNDERLINE).withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://discord.experiment115.com/")))), false); } } diff --git a/src/main/java/twilightforest/events/MiscEvents.java b/src/main/java/twilightforest/events/MiscEvents.java index 937d22635e..fad3eff2f3 100644 --- a/src/main/java/twilightforest/events/MiscEvents.java +++ b/src/main/java/twilightforest/events/MiscEvents.java @@ -27,7 +27,6 @@ import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.TwilightForestMod; -import twilightforest.compat.curios.CuriosCompat; import twilightforest.entity.monster.DeathTome; import twilightforest.entity.passive.Bighorn; import twilightforest.entity.passive.DwarfRabbit; @@ -73,7 +72,7 @@ public static void armorChanged(LivingEquipmentChangeEvent event) { //if we have a cicada in our curios slot, don't try to run this if (ModList.get().isLoaded("curios")) { - if (CuriosCompat.isCurioEquipped(living, stack -> stack.is(TFBlocks.CICADA.asItem()))) return; + //if (CuriosCompat.isCurioEquipped(living, stack -> stack.is(TFBlocks.CICADA.asItem()))) return; } if (living != null && !living.level().isClientSide() && event.getSlot() == EquipmentSlot.HEAD && event.getTo().is(TFBlocks.CICADA.asItem())) { @@ -98,7 +97,7 @@ public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) level.playSound(null, pos, SoundEvents.BOOK_PUT, SoundSource.BLOCKS, 1.0F, 1.0F); if (level instanceof ServerLevel serverLevel) { - DeathTome tome = TFEntities.DEATH_TOME.get().spawn(serverLevel, stack, player, pos.below(), MobSpawnType.SPAWN_EGG, true, false); + DeathTome tome = TFEntities.DEATH_TOME.get().spawn(serverLevel, stack, player, pos.below(), EntitySpawnReason.SPAWN_ITEM_USE, true, false); if (tome != null) { stack.consume(1, player); serverLevel.gameEvent(player, GameEvent.ENTITY_PLACE, pos); diff --git a/src/main/java/twilightforest/events/TFTickHandler.java b/src/main/java/twilightforest/events/TFTickHandler.java index ea38eb0597..8d794d05b5 100644 --- a/src/main/java/twilightforest/events/TFTickHandler.java +++ b/src/main/java/twilightforest/events/TFTickHandler.java @@ -45,28 +45,28 @@ public static void playerTick(PlayerTickEvent.Post event) { Player eventPlayer = event.getEntity(); if (!(eventPlayer instanceof ServerPlayer player)) return; - if (!(player.level() instanceof ServerLevel world)) return; + if (!(player.level() instanceof ServerLevel level)) return; // check for portal creation, at least if it's not disabled if (!TFConfig.disablePortalCreation && player.tickCount % (!TFConfig.checkPortalPlacement ? 100 : 20) == 0) { // skip non admin players when the option is on - if (world.getServer().getProfilePermissions(player.getGameProfile()) >= TFConfig.portalCreationPermission) { + if (level.getServer().getProfilePermissions(player.getGameProfile()) >= TFConfig.portalCreationPermission) { // reduce range to 4.0 if config is set to admins/owners only - checkForPortalCreation(player, world, TFConfig.portalCreationPermission >= Commands.LEVEL_ADMINS ? 4.0F : 32.0F); + checkForPortalCreation(player, level, TFConfig.portalCreationPermission >= Commands.LEVEL_ADMINS ? 4.0F : 32.0F); } } // check the player for being in a forbidden progression area, only every 20 ticks - if (player.tickCount % 20 == 0 && LandmarkUtil.isProgressionEnforced(world) && !player.isCreative() && !player.isSpectator()) { - Enforcement.enforceBiomeProgression(player, world); + if (player.tickCount % 20 == 0 && LandmarkUtil.isProgressionEnforced(level) && !player.isCreative() && !player.isSpectator()) { + Enforcement.enforceBiomeProgression(player, level); } // check and send nearby forbidden structures, every 100 ticks or so - if (player.tickCount % 100 == 0 && LandmarkUtil.isProgressionEnforced(world)) { + if (player.tickCount % 100 == 0 && LandmarkUtil.isProgressionEnforced(level)) { if (player.isCreative() || player.isSpectator()) { sendAllClearPacket(player); } else { - checkForLockedStructuresSendPacket(player, world); + checkForLockedStructuresSendPacket(player, level); } } } @@ -84,9 +84,9 @@ private static void sendAllClearPacket(Player player) { } @SuppressWarnings("UnusedReturnValue") - private static boolean checkForLockedStructuresSendPacket(Player player, ServerLevel world) { + private static boolean checkForLockedStructuresSendPacket(Player player, ServerLevel level) { ChunkPos chunkPlayer = player.chunkPosition(); - return LandmarkUtil.locateNearestLandmarkStart(world, chunkPlayer.x, chunkPlayer.z).map(structureStart -> { + return LandmarkUtil.locateNearestLandmarkStart(level, chunkPlayer.x, chunkPlayer.z).map(structureStart -> { if (structureStart.getStructure() instanceof AdvancementLockedStructure advancementLockedStructure && !advancementLockedStructure.doesPlayerHaveRequiredAdvancements(player)) { sendStructureProtectionPacket(player, structureStart.getBoundingBox()); return true; @@ -97,17 +97,17 @@ private static boolean checkForLockedStructuresSendPacket(Player player, ServerL }).orElse(false); } - private static void checkForPortalCreation(ServerPlayer player, Level world, float rangeToCheck) { - if (world.dimension().location().equals(ResourceLocation.parse(TFConfig.originDimension)) - || TFDimension.isTwilightPortalDestination(world) + private static void checkForPortalCreation(ServerPlayer player, ServerLevel level, float rangeToCheck) { + if (level.dimension().location().equals(ResourceLocation.parse(TFConfig.originDimension)) + || TFDimension.isTwilightPortalDestination(level) || TFConfig.allowPortalsInOtherDimensions) { - List itemList = world.getEntitiesOfClass(ItemEntity.class, player.getBoundingBox().inflate(rangeToCheck)); + List itemList = level.getEntitiesOfClass(ItemEntity.class, player.getBoundingBox().inflate(rangeToCheck)); ItemEntity qualified = null; for (ItemEntity entityItem : itemList) { if (entityItem.getItem().is(ItemTagGenerator.PORTAL_ACTIVATOR) && - TFBlocks.TWILIGHT_PORTAL.get().canFormPortal(world.getBlockState(entityItem.blockPosition())) && + TFBlocks.TWILIGHT_PORTAL.get().canFormPortal(level.getBlockState(entityItem.blockPosition())) && Objects.equals(entityItem.getOwner(), player)) { qualified = entityItem; @@ -140,13 +140,11 @@ private static void checkForPortalCreation(ServerPlayer player, Level world, flo double vy = rand.nextGaussian() * 0.02D; double vz = rand.nextGaussian() * 0.02D; - world.addParticle(ParticleTypes.EFFECT, qualified.getX(), qualified.getY() + 0.2, qualified.getZ(), vx, vy, vz); + level.addParticle(ParticleTypes.EFFECT, qualified.getX(), qualified.getY() + 0.2, qualified.getZ(), vx, vy, vz); } - if (TFBlocks.TWILIGHT_PORTAL.get().tryToCreatePortal(world, qualified.blockPosition(), qualified, player)) + if (TFBlocks.TWILIGHT_PORTAL.get().tryToCreatePortal(level, qualified.blockPosition(), qualified, player)) TFAdvancements.MADE_TF_PORTAL.get().trigger(player); - } } - } diff --git a/src/main/java/twilightforest/init/TFBlockEntities.java b/src/main/java/twilightforest/init/TFBlockEntities.java index f607dd9cf2..a99bfbd9b7 100644 --- a/src/main/java/twilightforest/init/TFBlockEntities.java +++ b/src/main/java/twilightforest/init/TFBlockEntities.java @@ -9,101 +9,63 @@ import twilightforest.block.entity.bookshelf.ChiseledCanopyShelfBlockEntity; import twilightforest.block.entity.spawner.*; -@SuppressWarnings("DataFlowIssue") public class TFBlockEntities { public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, TwilightForestMod.ID); - public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> - BlockEntityType.Builder.of(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> - BlockEntityType.Builder.of(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> - BlockEntityType.Builder.of(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get()).build(null)); - public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> - BlockEntityType.Builder.of(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> - BlockEntityType.Builder.of(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get()).build(null)); - public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> - BlockEntityType.Builder.of(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> - BlockEntityType.Builder.of(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> - BlockEntityType.Builder.of(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> - BlockEntityType.Builder.of(TrophyBlockEntity::new, TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), + public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> new BlockEntityType<>(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get())); + public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> new BlockEntityType<>(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get())); + public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> new BlockEntityType<>(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get())); + public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> new BlockEntityType<>(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get())); + public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> new BlockEntityType<>(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get())); + public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> new BlockEntityType<>(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get())); + public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> new BlockEntityType<>(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get())); + public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> new BlockEntityType<>(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get())); + public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> new BlockEntityType<>(TrophyBlockEntity::new, + TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.HYDRA_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), - TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> - BlockEntityType.Builder.of(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> - BlockEntityType.Builder.of(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> - BlockEntityType.Builder.of(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> - BlockEntityType.Builder.of(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> - BlockEntityType.Builder.of(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> - BlockEntityType.Builder.of(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> - BlockEntityType.Builder.of(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> - BlockEntityType.Builder.of(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> - BlockEntityType.Builder.of(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> - BlockEntityType.Builder.of(CicadaBlockEntity::new, TFBlocks.CICADA.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> - BlockEntityType.Builder.of(FireflyBlockEntity::new, TFBlocks.FIREFLY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> - BlockEntityType.Builder.of(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> - BlockEntityType.Builder.of(KeepsakeCasketBlockEntity::new, TFBlocks.KEEPSAKE_CASKET.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> - BlockEntityType.Builder.of(TFChestBlockEntity::new, + TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get())); + public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> new BlockEntityType<>(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> new BlockEntityType<>(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> new BlockEntityType<>(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> new BlockEntityType<>(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> new BlockEntityType<>(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> new BlockEntityType<>(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> new BlockEntityType<>(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> new BlockEntityType<>(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> new BlockEntityType<>(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get())); + + public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> new BlockEntityType<>(CicadaBlockEntity::new, TFBlocks.CICADA.get())); + public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> new BlockEntityType<>(FireflyBlockEntity::new, TFBlocks.FIREFLY.get())); + public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> new BlockEntityType<>(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get())); + + public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> new BlockEntityType<>(KeepsakeCasketBlockEntity::new, TFBlocks.KEEPSAKE_CASKET.get())); + + public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> new BlockEntityType<>(TFChestBlockEntity::new, TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.MANGROVE_CHEST.get(), TFBlocks.DARK_CHEST.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TRANSFORMATION_CHEST.get(), - TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get()).build(null)); + TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get())); - public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> - BlockEntityType.Builder.of(TFChestBlockEntity::new, + public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> new BlockEntityType<>(TFChestBlockEntity::new, TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), - TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get()).build(null)); + TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get())); - public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> - BlockEntityType.Builder.of(SkullCandleBlockEntity::new, + public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> new BlockEntityType<>(SkullCandleBlockEntity::new, TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), - TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> - BlockEntityType.Builder.of(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> - BlockEntityType.Builder.of(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> - BlockEntityType.Builder.of(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> - BlockEntityType.Builder.of(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> - BlockEntityType.Builder.of(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> - BlockEntityType.Builder.of(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CURSED_SPAWNER = BLOCK_ENTITIES.register("cursed_spawner", () -> - BlockEntityType.Builder.of(CursedSpawnerBlockEntity::new, TFBlocks.CURSED_SPAWNER.value()).build(null)); + TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get())); + + public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> new BlockEntityType<>(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get())); + public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> new BlockEntityType<>(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get())); + public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> new BlockEntityType<>(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get())); + public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> new BlockEntityType<>(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get())); + public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> new BlockEntityType<>(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get())); + public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> new BlockEntityType<>(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get())); + public static final DeferredHolder, BlockEntityType> CURSED_SPAWNER = BLOCK_ENTITIES.register("cursed_spawner", () -> new BlockEntityType<>(CursedSpawnerBlockEntity::new, TFBlocks.CURSED_SPAWNER.value())); } diff --git a/src/main/java/twilightforest/init/TFConfiguredFeatures.java b/src/main/java/twilightforest/init/TFConfiguredFeatures.java index 775f109984..c2f6c34e1e 100644 --- a/src/main/java/twilightforest/init/TFConfiguredFeatures.java +++ b/src/main/java/twilightforest/init/TFConfiguredFeatures.java @@ -237,8 +237,8 @@ public static void bootstrap(BootstrapContext> context) registerTemplateFeatures(context); context.register(BIG_MUSHGLOOM, new ConfiguredFeature<>(TFFeatures.BIG_MUSHGLOOM.get(), new HugeMushroomFeatureConfiguration(BlockStateProvider.simple(TFBlocks.HUGE_MUSHGLOOM.get().defaultBlockState().setValue(HugeMushroomBlock.UP, Boolean.TRUE).setValue(HugeMushroomBlock.DOWN, Boolean.FALSE)), BlockStateProvider.simple(TFBlocks.HUGE_MUSHGLOOM_STEM.get().defaultBlockState().setValue(HugeMushroomBlock.UP, Boolean.FALSE).setValue(HugeMushroomBlock.DOWN, Boolean.FALSE)), 1))); - context.register(DENSE_FERNS, new ConfiguredFeature<>(Feature.RANDOM_PATCH, new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DENSE_LARGE_FERNS, new ConfiguredFeature<>(Feature.RANDOM_PATCH, new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.LARGE_FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); + context.register(DENSE_FERNS, new ConfiguredFeature<>(Feature.RANDOM_PATCH, new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DENSE_LARGE_FERNS, new ConfiguredFeature<>(Feature.RANDOM_PATCH, new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.LARGE_FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); context.register(FALLEN_LEAVES, new ConfiguredFeature<>(TFFeatures.FALLEN_LEAVES.get(), FeatureConfiguration.NONE)); context.register(MAYAPPLE, new ConfiguredFeature<>(Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(TFBlocks.MAYAPPLE.get()))))); context.register(FIDDLEHEAD, new ConfiguredFeature<>(Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(TFBlocks.FIDDLEHEAD.get()))))); @@ -292,13 +292,13 @@ public static void bootstrap(BootstrapContext> context) context.register(LEGACY_LAPIS_ORE, new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.LAPIS_ORE.defaultBlockState(), 7))); context.register(LEGACY_COPPER_ORE, new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.COPPER_ORE.defaultBlockState(), 10))); - context.register(DARK_PUMPKINS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.PUMPKIN)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DARK_GRASS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.SHORT_GRASS)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); // [VanillaCopy] Registration of PATCH_GRASS_JUNGLE in VegetationFeatures - context.register(DARK_FERNS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DARK_MUSHGLOOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(TFBlocks.MUSHGLOOM.get())), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DARK_BROWN_MUSHROOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.BROWN_MUSHROOM)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DARK_RED_MUSHROOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.RED_MUSHROOM)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); - context.register(DARK_DEAD_BUSHES, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.DEAD_BUSH)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getNormal(), BlockTags.DIRT)))))); + context.register(DARK_PUMPKINS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.PUMPKIN)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DARK_GRASS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.SHORT_GRASS)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); // [VanillaCopy] Registration of PATCH_GRASS_JUNGLE in VegetationFeatures + context.register(DARK_FERNS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(64, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.FERN)), BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DARK_MUSHGLOOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(TFBlocks.MUSHGLOOM.get())), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DARK_BROWN_MUSHROOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.BROWN_MUSHROOM)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DARK_RED_MUSHROOMS, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.RED_MUSHROOM)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); + context.register(DARK_DEAD_BUSHES, new ConfiguredFeature<>(TFFeatures.DARK_FOREST_PLACER.get(), new RandomPatchConfiguration(50, 7, 3, PlacementUtils.filtered(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.DEAD_BUSH)), BlockPredicate.allOf(BlockPredicate.replaceable(), BlockPredicate.matchesTag(Direction.DOWN.getUnitVec3i(), BlockTags.DIRT)))))); context.register(UBEROUS_SOIL_PATCH_BIG, new ConfiguredFeature<>(TFFeatures.MYCELIUM_BLOB.get(), new DiskConfiguration(RuleBasedBlockStateProvider.simple(TFBlocks.UBEROUS_SOIL.get()), BlockPredicate.matchesBlocks(Blocks.PODZOL, Blocks.COARSE_DIRT, Blocks.DIRT), UniformInt.of(4, 8), 1))); context.register(UBEROUS_SOIL_PATCH_SMALL, new ConfiguredFeature<>(TFFeatures.MYCELIUM_BLOB.get(), new DiskConfiguration(RuleBasedBlockStateProvider.simple(TFBlocks.UBEROUS_SOIL.get()), BlockPredicate.matchesBlocks(Blocks.PODZOL, Blocks.COARSE_DIRT, Blocks.DIRT), UniformInt.of(2, 3), 0))); diff --git a/src/main/java/twilightforest/init/TFDamageTypes.java b/src/main/java/twilightforest/init/TFDamageTypes.java index a92a7a5c8d..19c155bd06 100644 --- a/src/main/java/twilightforest/init/TFDamageTypes.java +++ b/src/main/java/twilightforest/init/TFDamageTypes.java @@ -71,7 +71,7 @@ public static DamageSource getEntityDamageSource(Level level, ResourceKey type, @Nullable Entity attacker, @Nullable Entity indirectAttacker, EntityType... toIgnore) { - return toIgnore.length > 0 ? new EntityExcludedDamageSource(level.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(type), toIgnore) : new DamageSource(level.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(type), attacker, indirectAttacker); + return toIgnore.length > 0 ? new EntityExcludedDamageSource(level.registryAccess().holderOrThrow(type), toIgnore) : new DamageSource(level.registryAccess().holderOrThrow(type), attacker, indirectAttacker); } public static void bootstrap(BootstrapContext context) { diff --git a/src/main/java/twilightforest/init/TFEnchantments.java b/src/main/java/twilightforest/init/TFEnchantments.java index 83a16ba870..20e68595f6 100644 --- a/src/main/java/twilightforest/init/TFEnchantments.java +++ b/src/main/java/twilightforest/init/TFEnchantments.java @@ -58,7 +58,7 @@ public static void bootstrap(BootstrapContext context) { EnchantmentTarget.ATTACKER, AllOf.entityEffects( new Ignite(LevelBasedValue.perLevel(2.0F, 3.0F)), - new DamageItem(LevelBasedValue.constant(2.0F))), + new ChangeItemDamage(LevelBasedValue.constant(2.0F))), LootItemRandomChanceCondition.randomChance(EnchantmentLevelProvider.forEnchantmentLevel(LevelBasedValue.perLevel(0.15F))))); register(context, CHILL_AURA, new Enchantment.Builder(Enchantment.definition( @@ -76,7 +76,7 @@ public static void bootstrap(BootstrapContext context) { EnchantmentTarget.ATTACKER, AllOf.entityEffects( new ApplyFrostedEffect(LevelBasedValue.constant(200), LevelBasedValue.perLevel(0.0F, 1.0F)), - new DamageItem(LevelBasedValue.constant(2.0F))), + new ChangeItemDamage(LevelBasedValue.constant(2.0F))), LootItemRandomChanceCondition.randomChance(EnchantmentLevelProvider.forEnchantmentLevel(LevelBasedValue.perLevel(0.15F))))); register(context, DESTRUCTION, new Enchantment.Builder(Enchantment.definition( diff --git a/src/main/java/twilightforest/init/TFPlacedFeatures.java b/src/main/java/twilightforest/init/TFPlacedFeatures.java index 5e4179365f..11cc6c9200 100644 --- a/src/main/java/twilightforest/init/TFPlacedFeatures.java +++ b/src/main/java/twilightforest/init/TFPlacedFeatures.java @@ -243,7 +243,7 @@ public static void bootstrap(BootstrapContext context) { context.register(PLACED_DARK_FOREST_TREE_MIX, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.DARK_FOREST_TREES), darkForestTreeCheck(PlacementUtils.countExtra(3, 0.1F, 1)))); context.register(PLACED_HIGHLANDS_TREES, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.HIGHLANDS_TREES), tfTreeCheckArea(PlacementUtils.countExtra(3, 0.1F, 1), Blocks.SPRUCE_SAPLING.defaultBlockState()))); context.register(PLACED_ENCHANTED_FOREST_TREES, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.ENCHANTED_FOREST_TREES), tfTreeCheckArea(PlacementUtils.countExtra(5, 0.1F, 1), TFBlocks.RAINBOW_OAK_SAPLING.get().defaultBlockState()))); - context.register(PLACED_SNOWY_FOREST_TREES, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.SNOWY_FOREST_TREES), List.of(PlacementUtils.countExtra(10, 0.1F, 1), InSquarePlacement.spread(), SurfaceWaterDepthFilter.forMaxDepth(0), PlacementUtils.HEIGHTMAP_OCEAN_FLOOR, AvoidLandmarkModifier.checkSurface(), EnvironmentScanPlacement.scanningFor(Direction.UP, BlockPredicate.not(BlockPredicate.matchesBlocks(Blocks.POWDER_SNOW)), 8), BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(Direction.DOWN.getNormal(), Blocks.SNOW_BLOCK, Blocks.POWDER_SNOW)), BiomeFilter.biome()))); + context.register(PLACED_SNOWY_FOREST_TREES, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.SNOWY_FOREST_TREES), List.of(PlacementUtils.countExtra(10, 0.1F, 1), InSquarePlacement.spread(), SurfaceWaterDepthFilter.forMaxDepth(0), PlacementUtils.HEIGHTMAP_OCEAN_FLOOR, AvoidLandmarkModifier.checkSurface(), EnvironmentScanPlacement.scanningFor(Direction.UP, BlockPredicate.not(BlockPredicate.matchesBlocks(Blocks.POWDER_SNOW)), 8), BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(Direction.DOWN.getUnitVec3i(), Blocks.SNOW_BLOCK, Blocks.POWDER_SNOW)), BiomeFilter.biome()))); context.register(PLACED_VANILLA_TF_TREES, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.VANILLA_TF_TREES), tfTreeCheckArea(TFBlocks.TWILIGHT_OAK_SAPLING.get().defaultBlockState()))); context.register(PLACED_VANILLA_TF_BIG_MUSH, new PlacedFeature(features.getOrThrow(TFConfiguredFeatures.VANILLA_TF_BIG_MUSH), tfTreeCheckArea(TFBlocks.CANOPY_SAPLING.get().defaultBlockState()))); diff --git a/src/main/java/twilightforest/init/TFRecipes.java b/src/main/java/twilightforest/init/TFRecipes.java index c21a6b95d8..0a2c7d4702 100644 --- a/src/main/java/twilightforest/init/TFRecipes.java +++ b/src/main/java/twilightforest/init/TFRecipes.java @@ -1,9 +1,10 @@ package twilightforest.init; import net.minecraft.core.registries.Registries; +import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.CustomRecipe; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TwilightForestMod; @@ -13,13 +14,13 @@ public class TFRecipes { public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(Registries.RECIPE_SERIALIZER, TwilightForestMod.ID); public static final DeferredRegister> RECIPE_TYPES = DeferredRegister.create(Registries.RECIPE_TYPE, TwilightForestMod.ID); - public static final DeferredHolder, RecipeSerializer> EMPERORS_CLOTH_RECIPE = RECIPE_SERIALIZERS.register("emperors_cloth_recipe", () -> new SimpleCraftingRecipeSerializer<>(EmperorsClothRecipe::new)); - public static final DeferredHolder, RecipeSerializer> MAGIC_MAP_CLONING_RECIPE = RECIPE_SERIALIZERS.register("magic_map_cloning_recipe", () -> new SimpleCraftingRecipeSerializer<>(MagicMapCloningRecipe::new)); - public static final DeferredHolder, RecipeSerializer> MAZE_MAP_CLONING_RECIPE = RECIPE_SERIALIZERS.register("maze_map_cloning_recipe", () -> new SimpleCraftingRecipeSerializer<>(MazeMapCloningRecipe::new)); - public static final DeferredHolder, RecipeSerializer> MOONWORM_QUEEN_REPAIR_RECIPE = RECIPE_SERIALIZERS.register("moonworm_queen_repair_recipe", () -> new SimpleCraftingRecipeSerializer<>(MoonwormQueenRepairRecipe::new)); + public static final DeferredHolder, RecipeSerializer> EMPERORS_CLOTH_RECIPE = RECIPE_SERIALIZERS.register("emperors_cloth_recipe", () -> new CustomRecipe.Serializer<>(EmperorsClothRecipe::new)); + public static final DeferredHolder, RecipeSerializer> MAGIC_MAP_CLONING_RECIPE = RECIPE_SERIALIZERS.register("magic_map_cloning_recipe", () -> new CustomRecipe.Serializer<>(MagicMapCloningRecipe::new)); + public static final DeferredHolder, RecipeSerializer> MAZE_MAP_CLONING_RECIPE = RECIPE_SERIALIZERS.register("maze_map_cloning_recipe", () -> new CustomRecipe.Serializer<>(MazeMapCloningRecipe::new)); + public static final DeferredHolder, RecipeSerializer> MOONWORM_QUEEN_REPAIR_RECIPE = RECIPE_SERIALIZERS.register("moonworm_queen_repair_recipe", () -> new CustomRecipe.Serializer<>(MoonwormQueenRepairRecipe::new)); public static final DeferredHolder, RecipeSerializer> SCEPTER_REPAIR_RECIPE = RECIPE_SERIALIZERS.register("scepter_repair", ScepterRepairRecipe.Serializer::new); public static final DeferredHolder, RecipeSerializer> UNCRAFTING_SERIALIZER = RECIPE_SERIALIZERS.register("uncrafting", UncraftingRecipe.Serializer::new); public static final DeferredHolder, RecipeSerializer> NO_TEMPLATE_SMITHING_SERIALIZER = RECIPE_SERIALIZERS.register("no_template_smithing", NoTemplateSmithingRecipe.Serializer::new); - public static final DeferredHolder, RecipeType> UNCRAFTING_RECIPE = RECIPE_TYPES.register("uncrafting", () -> RecipeType.simple(TwilightForestMod.prefix("uncrafting"))); + public static final DeferredHolder, RecipeType> UNCRAFTING_RECIPE = RECIPE_TYPES.register("uncrafting", () -> RecipeType.simple(TwilightForestMod.prefix("uncrafting"))); } diff --git a/src/main/java/twilightforest/init/custom/ChunkBlanketProcessors.java b/src/main/java/twilightforest/init/custom/ChunkBlanketProcessors.java index 9ea140b59e..97bcfc9c06 100644 --- a/src/main/java/twilightforest/init/custom/ChunkBlanketProcessors.java +++ b/src/main/java/twilightforest/init/custom/ChunkBlanketProcessors.java @@ -65,7 +65,7 @@ public static void chunkBlanketing(ChunkAccess chunkAccess, WorldGenRegion world } Iterator modifierIterator = worldGenRegion.registryAccess() - .registry(TFRegistries.Keys.CHUNK_BLANKET_PROCESSORS) + .lookup(TFRegistries.Keys.CHUNK_BLANKET_PROCESSORS) .map(Registry::stream) .orElseGet(Stream::empty) .filter(modifier -> modifier.biomesForApplication().stream().anyMatch(biomesInChunk::contains)) diff --git a/src/main/java/twilightforest/init/custom/Enforcements.java b/src/main/java/twilightforest/init/custom/Enforcements.java index dba6ec76f4..820227a835 100644 --- a/src/main/java/twilightforest/init/custom/Enforcements.java +++ b/src/main/java/twilightforest/init/custom/Enforcements.java @@ -44,7 +44,7 @@ public class Enforcements { public static final DeferredHolder ACID_RAIN = ENFORCEMENTS.register("acid_rain", () -> new Enforcement((player, level, restriction) -> { if (player.tickCount % 5 == 0 && level.tickRateManager().runsNormally()) { - if (player.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.ACID_RAIN), restriction.multiplier())) { + if (player.hurtServer(level, TFDamageTypes.getDamageSource(level, TFDamageTypes.ACID_RAIN), restriction.multiplier())) { level.playSound(null, player.getX(), player.getY(), player.getZ(), TFSounds.ACID_RAIN_BURNS.get(), SoundSource.PLAYERS, 1.0F, 1.0F); } } diff --git a/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java b/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java index d24c3c46b4..c5092faec2 100644 --- a/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java +++ b/src/main/java/twilightforest/item/recipe/EmperorsClothRecipe.java @@ -30,7 +30,7 @@ public boolean matches(CraftingInput input, Level level) { if (stack.is(TFItems.EMPERORS_CLOTH.get()) && !foundInk) { foundInk = true; } else if (!foundItem) { - if (stack.getItem() instanceof ArmorItem && !stack.hasCraftingRemainingItem() && stack.get(TFDataComponents.EMPERORS_CLOTH) == null) { + if (stack.getItem() instanceof ArmorItem && stack.getCraftingRemainder().isEmpty() && stack.get(TFDataComponents.EMPERORS_CLOTH) == null) { foundItem = true; } else { return false; @@ -61,12 +61,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider provider) { } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height >= 2; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.EMPERORS_CLOTH_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java b/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java index de1fb9898f..ddbabfbbaf 100644 --- a/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MagicMapCloningRecipe.java @@ -77,12 +77,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int x, int y) { - return x >= 3 && y >= 3; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.MAGIC_MAP_CLONING_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java b/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java index 7614ac0f36..8743a1f02d 100644 --- a/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MazeMapCloningRecipe.java @@ -77,12 +77,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int x, int y) { - return x >= 3 && y >= 3; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.MAZE_MAP_CLONING_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java index 7d5e18ff03..eb7eefdce8 100644 --- a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java @@ -22,32 +22,32 @@ public MoonwormQueenRepairRecipe(CraftingBookCategory category) { @Override public boolean matches(CraftingInput input, Level level) { - ItemStack queen = null; - List berries = new ArrayList<>(); + ItemStack queen = ItemStack.EMPTY; + int berries = 0; for (int i = 0; i < input.size(); ++i) { - ItemStack stackInQuestion = input.getItem(i); - if (!stackInQuestion.isEmpty()) { - if (stackInQuestion.is(TFItems.MOONWORM_QUEEN.get()) && stackInQuestion.isDamaged()) { - queen = stackInQuestion; + ItemStack checkedStack = input.getItem(i); + if (!checkedStack.isEmpty()) { + if (checkedStack.is(TFItems.MOONWORM_QUEEN.get()) && checkedStack.isDamaged()) { + queen = checkedStack; } - if (stackInQuestion.is(TFItems.TORCHBERRIES.get())) { - berries.add(stackInQuestion); + if (checkedStack.is(TFItems.TORCHBERRIES.get())) { + berries++; } } } - return queen != null && !berries.isEmpty(); + return !queen.isEmpty() && berries > 0; } @Override public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { - List berries = new ArrayList<>(); - ItemStack queen = null; + int berries = 0; + ItemStack queen = ItemStack.EMPTY; for (int i = 0; i < input.size(); ++i) { ItemStack itemstack = input.getItem(i); if (!itemstack.isEmpty()) { if (itemstack.is(TFItems.MOONWORM_QUEEN.get())) { - if (queen == null) { + if (queen.isEmpty()) { queen = itemstack; } else { //Only accept 1 queen @@ -57,15 +57,15 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { if (itemstack.is(TFItems.TORCHBERRIES.get())) { //add all berries in the grid to a list to determine the amount to repair - berries.add(itemstack.getItem()); + berries++; } } } - if (!berries.isEmpty() && queen != null && queen.isDamaged()) { - ItemStack newQueen = TFItems.MOONWORM_QUEEN.get().getDefaultInstance(); + if (berries > 0 && !queen.isEmpty() && queen.isDamaged()) { + ItemStack newQueen = TFItems.MOONWORM_QUEEN.toStack(); //each berry repairs 64 durability - newQueen.setDamageValue(queen.getDamageValue() - (berries.size() * 64)); + newQueen.setDamageValue(queen.getDamageValue() - (berries * 64)); return newQueen; } @@ -73,12 +73,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height >= 2; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.MOONWORM_QUEEN_REPAIR_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java b/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java index 915ebe5999..646ae1a5b7 100644 --- a/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java +++ b/src/main/java/twilightforest/item/recipe/NoTemplateSmithingRecipe.java @@ -12,23 +12,26 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.RecipeSerializer; -import net.minecraft.world.item.crafting.SmithingRecipe; -import net.minecraft.world.item.crafting.SmithingRecipeInput; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.item.crafting.display.RecipeDisplay; +import net.minecraft.world.item.crafting.display.SlotDisplay; +import net.minecraft.world.item.crafting.display.SmithingRecipeDisplay; import net.minecraft.world.level.Level; import twilightforest.init.TFRecipes; +import javax.annotation.Nullable; import java.util.List; -import java.util.stream.Stream; +import java.util.Optional; public class NoTemplateSmithingRecipe implements SmithingRecipe { - private final Ingredient base; - private final Ingredient addition; + private final Optional base; + private final Optional addition; private final List> additionalData; + @Nullable + private PlacementInfo placementInfo; - public NoTemplateSmithingRecipe(Ingredient base, Ingredient addition, List> additionalData) { + public NoTemplateSmithingRecipe(Optional base, Optional addition, List> additionalData) { this.base = base; this.addition = addition; this.additionalData = additionalData; @@ -39,47 +42,33 @@ public NoTemplateSmithingRecipe(Ingredient base, Ingredient addition, List data : this.additionalData) if (armor.has(data.type())) return false; - return true; + return SmithingRecipe.super.matches(input, level); } @Override - public ItemStack assemble(SmithingRecipeInput input, HolderLookup.Provider access) { - return Util.make(input.getItem(1).copy(), this::setComponents); - } - - @Override - public ItemStack getResultItem(HolderLookup.Provider access) { - return Util.make(new ItemStack(Items.IRON_CHESTPLATE), this::setComponents); + public Optional templateIngredient() { + return Optional.empty(); } @Override - public boolean isTemplateIngredient(ItemStack stack) { - return stack.isEmpty(); + public Optional baseIngredient() { + return this.base; } @Override - public boolean isBaseIngredient(ItemStack stack) { - return this.base.test(stack); + public Optional additionIngredient() { + return this.addition; } @Override - public boolean isAdditionIngredient(ItemStack stack) { - return this.addition.test(stack); - } - - public Ingredient getBase() { - return this.base; - } - - public Ingredient getAddition() { - return this.addition; + public ItemStack assemble(SmithingRecipeInput input, HolderLookup.Provider access) { + return Util.make(input.getItem(1).copy(), this::setComponents); } private List> additionalData() { @@ -100,13 +89,32 @@ private static void setComponent(TypedDataComponent data, DataComponentMa } @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.NO_TEMPLATE_SMITHING_SERIALIZER.get(); } @Override - public boolean isIncomplete() { - return Stream.of(this.base, this.addition).anyMatch(Ingredient::hasNoItems); + public PlacementInfo placementInfo() { + if (this.placementInfo == null) { + this.placementInfo = PlacementInfo.createFromOptionals(List.of(this.base, this.addition)); + } + + return this.placementInfo; + } + + @Override + public List display() { + SlotDisplay slotdisplay = Ingredient.optionalIngredientToDisplay(this.base); + SlotDisplay slotdisplay1 = Ingredient.optionalIngredientToDisplay(this.addition); + return List.of( + new SmithingRecipeDisplay( + SlotDisplay.Empty.INSTANCE, + slotdisplay, + slotdisplay1, + new SlotDisplay.SmithingTrimDemoSlotDisplay(slotdisplay, slotdisplay1, SlotDisplay.Empty.INSTANCE), + new SlotDisplay.ItemSlotDisplay(Items.SMITHING_TABLE) + ) + ); } private static final Codec>> DATA_COMPONENT_CODEC = DataComponentMap.CODEC.xmap(typedDataComponents -> typedDataComponents.stream().toList(), typedDataComponents -> { @@ -120,14 +128,14 @@ public boolean isIncomplete() { public static class Serializer implements RecipeSerializer { private static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( - Ingredient.CODEC.fieldOf("base").forGetter(NoTemplateSmithingRecipe::getBase), - Ingredient.CODEC.fieldOf("addition").forGetter(NoTemplateSmithingRecipe::getAddition), + Ingredient.CODEC.optionalFieldOf("base").forGetter(NoTemplateSmithingRecipe::baseIngredient), + Ingredient.CODEC.optionalFieldOf("addition").forGetter(NoTemplateSmithingRecipe::additionIngredient), DATA_COMPONENT_CODEC.optionalFieldOf("additional_data", List.of()).forGetter(NoTemplateSmithingRecipe::additionalData) ).apply(instance, NoTemplateSmithingRecipe::new)); private static final StreamCodec STREAM_CODEC = StreamCodec.composite( - Ingredient.CONTENTS_STREAM_CODEC, NoTemplateSmithingRecipe::getBase, - Ingredient.CONTENTS_STREAM_CODEC, NoTemplateSmithingRecipe::getAddition, + Ingredient.OPTIONAL_CONTENTS_STREAM_CODEC, NoTemplateSmithingRecipe::baseIngredient, + Ingredient.OPTIONAL_CONTENTS_STREAM_CODEC, NoTemplateSmithingRecipe::additionIngredient, TypedDataComponent.STREAM_CODEC.apply(ByteBufCodecs.list()), NoTemplateSmithingRecipe::additionalData, NoTemplateSmithingRecipe::new ); diff --git a/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java b/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java index cf131786c6..dad253fa19 100644 --- a/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java @@ -3,7 +3,6 @@ import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.HolderLookup; -import net.minecraft.core.NonNullList; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.network.RegistryFriendlyByteBuf; @@ -53,23 +52,13 @@ public Item getScepter() { return this.scepter; } - @Override - public NonNullList getIngredients() { - return NonNullList.copyOf(this.repairItems); - } - @Override public ItemStack assemble(CraftingInput input, HolderLookup.Provider registries) { return new ItemStack(this.scepter); } @Override - public boolean canCraftInDimensions(int width, int height) { - return this.repairItems.size() + 1 > width * height; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.SCEPTER_REPAIR_RECIPE.get(); } @@ -77,7 +66,7 @@ public static class Serializer implements RecipeSerializer public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( BuiltInRegistries.ITEM.byNameCodec().fieldOf("scepter").forGetter(o -> o.scepter), - Ingredient.CODEC_NONEMPTY.listOf().fieldOf("repair_ingredients").forGetter(o -> o.repairItems), + Ingredient.CODEC.listOf().fieldOf("repair_ingredients").forGetter(o -> o.repairItems), CraftingBookCategory.CODEC.optionalFieldOf("category", CraftingBookCategory.MISC).forGetter(CustomRecipe::category) ).apply(instance, ScepterRepairRecipe::new) ); diff --git a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java index a7cebbd995..97ccd5408c 100644 --- a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java +++ b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java @@ -45,12 +45,12 @@ public boolean isItemStackAnIngredient(ItemStack stack) { } @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.UNCRAFTING_SERIALIZER.get(); } @Override - public RecipeType getType() { + public RecipeType getType() { return TFRecipes.UNCRAFTING_RECIPE.get(); } @@ -70,7 +70,7 @@ public static class Serializer implements RecipeSerializer { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.INT.optionalFieldOf("cost", -1).forGetter(o -> o.cost), - Ingredient.CODEC_NONEMPTY.fieldOf("input").forGetter(o -> o.input), + Ingredient.CODEC.fieldOf("input").forGetter(o -> o.input), Codec.INT.optionalFieldOf("input_count", 1).forGetter(o -> o.count), ShapedRecipePattern.MAP_CODEC.forGetter(o -> o.pattern) ).apply(instance, UncraftingRecipe::new) diff --git a/src/main/java/twilightforest/loot/LootingEnchantNumberProvider.java b/src/main/java/twilightforest/loot/LootingEnchantNumberProvider.java index c6d5858777..ea762d36b7 100644 --- a/src/main/java/twilightforest/loot/LootingEnchantNumberProvider.java +++ b/src/main/java/twilightforest/loot/LootingEnchantNumberProvider.java @@ -5,12 +5,12 @@ import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; +import net.minecraft.util.context.ContextKey; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.parameters.LootContextParam; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType; import net.minecraft.world.level.storage.loot.providers.number.NumberProvider; @@ -46,14 +46,14 @@ public static LootingEnchantNumberProvider applyLootingLevelTo(HolderLookup.Prov @Override public float getFloat(LootContext context) { - if (context.getParamOrNull(LootContextParams.ATTACKING_ENTITY) instanceof LivingEntity living) { + if (context.getOptionalParameter(LootContextParams.ATTACKING_ENTITY) instanceof LivingEntity living) { return EnchantmentHelper.getEnchantmentLevel(this.enchantment, living) + this.baseValue.getFloat(context); } return this.baseValue.getFloat(context); } @Override - public Set> getReferencedContextParams() { + public Set> getReferencedContextParams() { return this.baseValue.getReferencedContextParams(); } } diff --git a/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java b/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java index c3d9cec809..2616d93238 100644 --- a/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java +++ b/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java @@ -44,13 +44,13 @@ public LootItemFunctionType getType() { @Override protected ItemStack run(ItemStack stack, LootContext context) { if (TFConfig.multiplayerFightAdjuster.adjustsLootRolls()) { - if (context.hasParam(LootContextParams.THIS_ENTITY) && context.getParam(LootContextParams.THIS_ENTITY).hasData(TFDataAttachments.MULTIPLAYER_FIGHT)) { - int qualifiedPlayers = context.getParam(LootContextParams.THIS_ENTITY).getData(TFDataAttachments.MULTIPLAYER_FIGHT).getQualifiedPlayers().size(); + if (context.hasParameter(LootContextParams.THIS_ENTITY) && context.getParameter(LootContextParams.THIS_ENTITY).hasData(TFDataAttachments.MULTIPLAYER_FIGHT)) { + int qualifiedPlayers = context.getParameter(LootContextParams.THIS_ENTITY).getData(TFDataAttachments.MULTIPLAYER_FIGHT).getQualifiedPlayers().size(); if (qualifiedPlayers > 1) { int participatingPlayers = qualifiedPlayers - 1; int extraItems = this.value.getInt(context) * participatingPlayers; stack.setCount(Mth.clamp(stack.getCount() + extraItems, 0, stack.getMaxStackSize())); - TwilightForestMod.LOGGER.debug("{} extra players participated in a fight against {}, dropping {} extra {} for a total of {}.", participatingPlayers, context.getParam(LootContextParams.THIS_ENTITY).getType().getDescription().getString(), extraItems, stack.getItem().getDescription().getString(), stack.getCount()); + TwilightForestMod.LOGGER.debug("{} extra players participated in a fight against {}, dropping {} extra {} for a total of {}.", participatingPlayers, context.getParameter(LootContextParams.THIS_ENTITY).getType().getDescription().getString(), extraItems, stack.getItem().getDescription().getString(), stack.getCount()); } } } diff --git a/src/main/java/twilightforest/loot/MultiplayerBasedNumberProvider.java b/src/main/java/twilightforest/loot/MultiplayerBasedNumberProvider.java index 30485a9e08..f8ff7d9586 100644 --- a/src/main/java/twilightforest/loot/MultiplayerBasedNumberProvider.java +++ b/src/main/java/twilightforest/loot/MultiplayerBasedNumberProvider.java @@ -3,8 +3,8 @@ import com.google.common.collect.Sets; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.util.context.ContextKey; import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.parameters.LootContextParam; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType; import net.minecraft.world.level.storage.loot.providers.number.NumberProvider; @@ -34,8 +34,8 @@ public static MultiplayerBasedNumberProvider rollsForPlayers(NumberProvider roll @Override public float getFloat(LootContext context) { if (TFConfig.multiplayerFightAdjuster.adjustsLootRolls()) { - if (context.hasParam(LootContextParams.THIS_ENTITY) && context.getParam(LootContextParams.THIS_ENTITY).hasData(TFDataAttachments.MULTIPLAYER_FIGHT)) { - int qualifiedPlayers = context.getParam(LootContextParams.THIS_ENTITY).getData(TFDataAttachments.MULTIPLAYER_FIGHT).getQualifiedPlayers().size(); + if (context.hasParameter(LootContextParams.THIS_ENTITY) && context.getParameter(LootContextParams.THIS_ENTITY).hasData(TFDataAttachments.MULTIPLAYER_FIGHT)) { + int qualifiedPlayers = context.getParameter(LootContextParams.THIS_ENTITY).getData(TFDataAttachments.MULTIPLAYER_FIGHT).getQualifiedPlayers().size(); float total = this.defaultRolls.getFloat(context); for (int i = 0; i < qualifiedPlayers - 1; i++) { total += Math.max(0, this.rollsPerPlayer.getFloat(context)); @@ -51,7 +51,7 @@ public float getFloat(LootContext context) { * Get the parameters used by this object. */ @Override - public Set> getReferencedContextParams() { + public Set> getReferencedContextParams() { return Sets.union(this.rollsPerPlayer.getReferencedContextParams(), this.defaultRolls.getReferencedContextParams()); } } diff --git a/src/main/java/twilightforest/loot/conditions/GiantPickUsedCondition.java b/src/main/java/twilightforest/loot/conditions/GiantPickUsedCondition.java index 7d470ad8cf..7034c33556 100644 --- a/src/main/java/twilightforest/loot/conditions/GiantPickUsedCondition.java +++ b/src/main/java/twilightforest/loot/conditions/GiantPickUsedCondition.java @@ -3,9 +3,9 @@ import com.google.common.collect.ImmutableSet; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.util.context.ContextKey; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.parameters.LootContextParam; import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType; import twilightforest.init.TFDataAttachments; @@ -23,13 +23,13 @@ public LootItemConditionType getType() { } @Override - public Set> getReferencedContextParams() { + public Set> getReferencedContextParams() { return ImmutableSet.of(this.target.getParam()); } @Override public boolean test(LootContext context) { - if (context.getParamOrNull(this.target.getParam()) instanceof Player player) { + if (context.getOptionalParameter(this.target.getParam()) instanceof Player player) { var attachment = player.getData(TFDataAttachments.GIANT_PICKAXE_MINING); return player.level().getGameTime() == attachment.getMining() && attachment.canMakeGiantBlock(); } diff --git a/src/main/java/twilightforest/loot/conditions/IsMinionCondition.java b/src/main/java/twilightforest/loot/conditions/IsMinionCondition.java index 6bae207f55..3fb7a09028 100644 --- a/src/main/java/twilightforest/loot/conditions/IsMinionCondition.java +++ b/src/main/java/twilightforest/loot/conditions/IsMinionCondition.java @@ -23,7 +23,7 @@ public LootItemConditionType getType() { @Override public boolean test(@Nonnull LootContext context) { - return context.getParamOrNull(LootContextParams.THIS_ENTITY) instanceof CarminiteGhastling ghastling && ghastling.isMinion() == !inverse; + return context.getOptionalParameter(LootContextParams.THIS_ENTITY) instanceof CarminiteGhastling ghastling && ghastling.isMinion() == !inverse; } public static Builder builder(boolean inverse) { diff --git a/src/main/java/twilightforest/loot/modifiers/FieryToolSmeltingModifier.java b/src/main/java/twilightforest/loot/modifiers/FieryToolSmeltingModifier.java index d0cd5fa629..b63b275ac6 100644 --- a/src/main/java/twilightforest/loot/modifiers/FieryToolSmeltingModifier.java +++ b/src/main/java/twilightforest/loot/modifiers/FieryToolSmeltingModifier.java @@ -28,19 +28,22 @@ public FieryToolSmeltingModifier(LootItemCondition[] conditions) { @Override protected @NotNull ObjectArrayList doApply(ObjectArrayList generatedLoot, LootContext context) { - List> list = generatedLoot.stream().map(stack -> - context.getLevel().getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SingleRecipeInput(stack), context.getLevel()) + + List> list = generatedLoot.stream().map(stack -> { + var input = new SingleRecipeInput(stack); + return context.getLevel().recipeAccess().getRecipeFor(RecipeType.SMELTING, input, context.getLevel()) .map(holder -> { - ItemStack result = holder.value().getResultItem(context.getLevel().registryAccess()).copy(); + ItemStack result = holder.value().assemble(input, context.getLevel().registryAccess()).copy(); result.setCount(stack.getCount() * result.getCount()); - return Pair.of(result, holder.value().getExperience()); + return Pair.of(result, holder.value().experience()); }) .filter(pair -> !pair.getLeft().isEmpty()) - .orElse(Pair.of(stack, 0.0F))).toList(); + .orElse(Pair.of(stack, 0.0F)); + }).toList(); float xp = (float) list.stream().mapToDouble(Pair::getRight).sum(); - if (xp > 0.0F && context.hasParam(LootContextParams.THIS_ENTITY)) { - ExperienceOrb.award(context.getLevel(), context.getParam(LootContextParams.THIS_ENTITY).position(), Math.round(xp)); + if (xp > 0.0F && context.getOptionalParameter(LootContextParams.THIS_ENTITY) != null) { + ExperienceOrb.award(context.getLevel(), context.getParameter(LootContextParams.THIS_ENTITY).position(), Math.round(xp)); } return list.stream().map(Pair::getLeft).collect(Collectors.toCollection(ObjectArrayList::new)); diff --git a/src/main/java/twilightforest/loot/modifiers/GiantToolGroupingModifier.java b/src/main/java/twilightforest/loot/modifiers/GiantToolGroupingModifier.java index 112e94c7b2..88b899d0cf 100644 --- a/src/main/java/twilightforest/loot/modifiers/GiantToolGroupingModifier.java +++ b/src/main/java/twilightforest/loot/modifiers/GiantToolGroupingModifier.java @@ -42,8 +42,8 @@ public GiantToolGroupingModifier(LootItemCondition[] conditions) { @Override protected @NotNull ObjectArrayList doApply(ObjectArrayList generatedLoot, LootContext context) { - if (context.getParam(LootContextParams.THIS_ENTITY) instanceof Player player) { - BlockState state = context.getParam(LootContextParams.BLOCK_STATE); + if (context.getOptionalParameter(LootContextParams.THIS_ENTITY) instanceof Player player) { + BlockState state = context.getParameter(LootContextParams.BLOCK_STATE); if (CONVERSIONS.containsKey(state.getBlock())) { // Should be true but let's double-check var attachment = player.getData(TFDataAttachments.GIANT_PICKAXE_MINING); int blockConversion = attachment.getGiantBlockConversion(); // Get how many conversions are left diff --git a/src/main/java/twilightforest/network/MissingAdvancementToastPacket.java b/src/main/java/twilightforest/network/MissingAdvancementToastPacket.java index de8f951b50..c946ed5b65 100644 --- a/src/main/java/twilightforest/network/MissingAdvancementToastPacket.java +++ b/src/main/java/twilightforest/network/MissingAdvancementToastPacket.java @@ -34,7 +34,7 @@ public static void handle(MissingAdvancementToastPacket packet, IPayloadContext ctx.enqueueWork(new Runnable() { @Override public void run() { - Minecraft.getInstance().getToasts().addToast(new MissingAdvancementToast(packet.title(), packet.icon())); + Minecraft.getInstance().getToastManager().addToast(new MissingAdvancementToast(packet.title(), packet.icon())); } }); } diff --git a/src/main/java/twilightforest/network/SpawnCharmPacket.java b/src/main/java/twilightforest/network/SpawnCharmPacket.java index 163c400abf..23658e98c5 100644 --- a/src/main/java/twilightforest/network/SpawnCharmPacket.java +++ b/src/main/java/twilightforest/network/SpawnCharmPacket.java @@ -57,7 +57,7 @@ public void run() { effect.offset = (float) Math.PI; level.addEntity(effect); } - SoundEvent event = BuiltInRegistries.SOUND_EVENT.get(packet.event()); + SoundEvent event = BuiltInRegistries.SOUND_EVENT.getValue(packet.event()); if (camera != null && event != null) { level.playLocalSound(camera.getX(), camera.getY(), camera.getZ(), event, player.getSoundSource(), 1.5F, 1.0F, false); } diff --git a/src/main/java/twilightforest/network/UncraftingGuiPacket.java b/src/main/java/twilightforest/network/UncraftingGuiPacket.java index d7e26b6486..f4a055a361 100644 --- a/src/main/java/twilightforest/network/UncraftingGuiPacket.java +++ b/src/main/java/twilightforest/network/UncraftingGuiPacket.java @@ -55,7 +55,7 @@ public static void handle(UncraftingGuiPacket message, IPayloadContext ctx) { uncrafting.slotsChanged(uncrafting.tinkerInput); if (message.operationType() >= 4) - uncrafting.slotsChanged(uncrafting.assemblyMatrix); + uncrafting.slotsChanged(uncrafting.getCraftSlots()); } }); } diff --git a/src/main/java/twilightforest/potions/FrostedEffect.java b/src/main/java/twilightforest/potions/FrostedEffect.java index d25792cc3b..42ced9b154 100644 --- a/src/main/java/twilightforest/potions/FrostedEffect.java +++ b/src/main/java/twilightforest/potions/FrostedEffect.java @@ -1,6 +1,7 @@ package twilightforest.potions; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectCategory; import net.minecraft.world.entity.LivingEntity; @@ -14,17 +15,16 @@ public class FrostedEffect extends MobEffect { public static final ResourceLocation MOVEMENT_SPEED_MODIFIER = TwilightForestMod.prefix("frosted_slowdown"); public static final double FROST_MULTIPLIER = -0.15D; - @SuppressWarnings("this-escape") public FrostedEffect() { super(MobEffectCategory.HARMFUL, 0x56CBFD); this.addAttributeModifier(Attributes.MOVEMENT_SPEED, FrostedEffect.MOVEMENT_SPEED_MODIFIER, FROST_MULTIPLIER, AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL); } @Override - public boolean applyEffectTick(LivingEntity living, int amplifier) { - living.setIsInPowderSnow(true); - if (amplifier > 0 && living.canFreeze()) { - living.setTicksFrozen(Math.min(living.getTicksRequiredToFreeze(), living.getTicksFrozen() + amplifier)); + public boolean applyEffectTick(ServerLevel level, LivingEntity entity, int amplifier) { + entity.setIsInPowderSnow(true); + if (amplifier > 0 && entity.canFreeze()) { + entity.setTicksFrozen(Math.min(entity.getTicksRequiredToFreeze(), entity.getTicksFrozen() + amplifier)); } return true; } diff --git a/src/main/java/twilightforest/util/Codecs.java b/src/main/java/twilightforest/util/Codecs.java index c379818a50..fe08d53772 100644 --- a/src/main/java/twilightforest/util/Codecs.java +++ b/src/main/java/twilightforest/util/Codecs.java @@ -100,11 +100,11 @@ private static DataResult parseString2Double(String string) { } public static Codec fromRegistry(Registry registry) { - return ResourceLocation.CODEC.xmap(registry::get, registry::getKey); + return ResourceLocation.CODEC.xmap(registry::getValue, registry::getKey); } public static DataResult> arrayToPair(List list) { - return Util.fixedSize(list, 2).map(l -> Pair.of(l.get(0), l.get(1))); + return Util.fixedSize(list, 2).map(l -> Pair.of(l.getFirst(), l.get(1))); } private static DataResult validateMapColor(MapColor color) { diff --git a/src/main/java/twilightforest/util/Enforcement.java b/src/main/java/twilightforest/util/Enforcement.java index 591a01e405..5324d253ec 100644 --- a/src/main/java/twilightforest/util/Enforcement.java +++ b/src/main/java/twilightforest/util/Enforcement.java @@ -10,7 +10,7 @@ public record Enforcement(TriConsumer consumer public static void enforceBiomeProgression(Player player, ServerLevel level) { Restriction.getRestrictionForBiome(level.getBiome(player.blockPosition()).value(), player).ifPresent(restriction -> { - Enforcement enforcement = TFRegistries.ENFORCEMENT.get(restriction.enforcement().location()); + Enforcement enforcement = TFRegistries.ENFORCEMENT.getValue(restriction.enforcement().location()); if (enforcement != null) { enforcement.consumer().accept(player, level, restriction); if (restriction.hintStructureKey() != null) { diff --git a/src/main/java/twilightforest/util/Restriction.java b/src/main/java/twilightforest/util/Restriction.java index e603335812..8b3dc89b3b 100644 --- a/src/main/java/twilightforest/util/Restriction.java +++ b/src/main/java/twilightforest/util/Restriction.java @@ -45,9 +45,9 @@ private static Restriction create(Optional> hintStructure public static Optional getRestrictionForBiome(Biome biome, Entity entity) { if (entity instanceof Player player) { RegistryAccess access = entity.level().registryAccess(); - ResourceLocation biomeLocation = access.registryOrThrow(Registries.BIOME).getKey(biome); + ResourceLocation biomeLocation = access.lookupOrThrow(Registries.BIOME).getKey(biome); if (biomeLocation != null) { - Restriction restrictions = access.registryOrThrow(TFRegistries.Keys.RESTRICTIONS).get(biomeLocation); + Restriction restrictions = access.lookupOrThrow(TFRegistries.Keys.RESTRICTIONS).getValue(biomeLocation); if (restrictions != null && !PlayerHelper.doesPlayerHaveRequiredAdvancements(player, restrictions.advancements())) { return Optional.of(restrictions); } diff --git a/src/main/java/twilightforest/util/TFItemStackUtils.java b/src/main/java/twilightforest/util/TFItemStackUtils.java index bc1cb56559..38bb9aab37 100644 --- a/src/main/java/twilightforest/util/TFItemStackUtils.java +++ b/src/main/java/twilightforest/util/TFItemStackUtils.java @@ -81,21 +81,6 @@ public static NonNullList splitToSize(ItemStack stack) { return result; } - public static boolean hasToolMaterial(ItemStack stack, Tier tier) { - - Item item = stack.getItem(); - - // see TileEntityFurnace.getItemBurnTime - if (item instanceof TieredItem tieredItem && tier.equals(tieredItem.getTier())) { - return true; - } - if (item instanceof SwordItem sword && tier.equals(sword.getTier())) { - return true; - } - return item instanceof HoeItem hoe && tier.equals(hoe.getTier()); - } - - public static boolean hasInfoTag(ItemStack stack, String key) { CustomData customData = stack.get(DataComponents.CUSTOM_DATA); return customData != null && customData.contains(key); diff --git a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java index 9875ddef86..cd764a46b7 100644 --- a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java @@ -14,10 +14,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.*; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -45,7 +42,7 @@ public static Entity fetchEntity(EntityType type, @Nullable Level level) { entity = Minecraft.getInstance().player; } else { entity = ENTITY_MAP.computeIfAbsent(type, t -> { - Entity created = t.create(level); + Entity created = t.create(level, EntitySpawnReason.LOAD); if (created != null) { created.setYRot(0.0F); created.setYHeadRot(0.0F); @@ -114,7 +111,7 @@ private static void renderTheEntity(GuiGraphics graphics, int x, int y, int scal boolean hitboxes = dispatcher.shouldRenderHitBoxes(); dispatcher.setRenderShadow(false); dispatcher.setRenderHitBoxes(false); - RenderSystem.runAsFancy(() -> dispatcher.render(entity, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F, posestack, graphics.bufferSource(), 15728880)); + graphics.drawSpecial(source -> dispatcher.render(entity, 0.0D, 0.0D, 0.0D, 1.0F, graphics.pose(), source, 15728880)); graphics.flush(); dispatcher.setRenderShadow(true); dispatcher.setRenderHitBoxes(hitboxes); @@ -154,7 +151,7 @@ public static void renderItemEntity(GuiGraphics graphics, ItemStack stack, @Null quaternion1.conjugate(); ItemEntity item = (ItemEntity) fetchEntity(EntityType.ITEM, level); Objects.requireNonNull(item).setItem(stack); - RenderSystem.runAsFancy(() -> render(item, Minecraft.getInstance().getTimer().getGameTimeDeltaTicks(), posestack, graphics.bufferSource(), bobOffset)); + graphics.drawSpecial(source -> render(item, Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(), posestack, source, bobOffset)); graphics.flush(); posestack.popPose(); Lighting.setupFor3DItems(); diff --git a/src/main/java/twilightforest/util/features/FeaturePlacers.java b/src/main/java/twilightforest/util/features/FeaturePlacers.java index 2338e86905..49754d5a1b 100644 --- a/src/main/java/twilightforest/util/features/FeaturePlacers.java +++ b/src/main/java/twilightforest/util/features/FeaturePlacers.java @@ -5,9 +5,9 @@ import net.minecraft.core.GlobalPos; import net.minecraft.core.HolderSet; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelSimulatedReader; import net.minecraft.world.level.ServerLevelAccessor; @@ -38,13 +38,13 @@ public final class FeaturePlacers { public static final BiFunction VALID_TREE_POS = TreeFeature::validTreePos; public static void placeEntity(EntityType entityType, BlockPos pos, ServerLevelAccessor levelAccessor) { - Mob mob = entityType.create(levelAccessor.getLevel()); + Mob mob = entityType.create(levelAccessor.getLevel(), EntitySpawnReason.STRUCTURE); if (mob == null) return; mob.setPersistenceRequired(); mob.moveTo(pos, 0.0F, 0.0F); - EventHooks.finalizeMobSpawn(mob, levelAccessor, levelAccessor.getCurrentDifficultyAt(pos), MobSpawnType.STRUCTURE, null); + EventHooks.finalizeMobSpawn(mob, levelAccessor, levelAccessor.getCurrentDifficultyAt(pos), EntitySpawnReason.STRUCTURE, null); if (mob instanceof EnforcedHomePoint home) { home.setRestrictionPoint(GlobalPos.of(levelAccessor.getLevel().dimension(), pos)); } diff --git a/src/main/java/twilightforest/util/features/FeatureUtil.java b/src/main/java/twilightforest/util/features/FeatureUtil.java index a83bfbcf98..9843d5c7e3 100644 --- a/src/main/java/twilightforest/util/features/FeatureUtil.java +++ b/src/main/java/twilightforest/util/features/FeatureUtil.java @@ -30,7 +30,7 @@ public static boolean isAreaSuitable(WorldGenLevel world, BlockPos pos, int xWid if (world.hasChunkAt(pos_)) { // is there grass, dirt or stone below? BlockState state = world.getBlockState(pos_.below()); - if (!state.isSolidRender(world, pos_) || FeatureLogic.isBlockNotOk(state)) { + if (!state.isSolidRender() || FeatureLogic.isBlockNotOk(state)) { if (underwaterAllowed && state.liquid()) { continue; } diff --git a/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java b/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java index cc18204eac..8252fa40f9 100644 --- a/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java +++ b/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java @@ -59,7 +59,7 @@ public static List readConnectableJigsaws( return List.of(); } - List returnables = template.filterBlocks(BlockPos.ZERO, settings, Blocks.JIGSAW); + List returnables = template.getJigsaws(BlockPos.ZERO, settings.getRotation()); if (random != null) { Util.shuffle(returnables, random); @@ -67,6 +67,6 @@ public static List readConnectableJigsaws( SinglePoolElement.sortBySelectionPriority(returnables); } - return returnables; + return returnables.stream().map(StructureTemplate.JigsawBlockInfo::info).toList(); } } diff --git a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java index 1e86d4b762..4713b06860 100644 --- a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java +++ b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java @@ -3,6 +3,7 @@ import net.minecraft.core.*; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.tags.TagKey; import net.minecraft.world.level.ChunkPos; @@ -35,9 +36,9 @@ public static Optional locateNearestLandmarkStart(LevelAccessor } public static Optional locateNearestMatchingLandmark(LevelAccessor level, TagKey matching, int chunkX, int chunkZ) { - var structureRegistry = level.registryAccess().registry(Registries.STRUCTURE); + var structureRegistry = level.registryAccess().lookup(Registries.STRUCTURE); if (structureRegistry.isEmpty()) return Optional.empty(); - var holders = structureRegistry.get().getTag(matching); + var holders = structureRegistry.get().get(matching); if (holders.isEmpty()) return Optional.empty(); return locateNearestMatchingLandmark(level, holders.get(), chunkX, chunkZ); @@ -88,9 +89,9 @@ public static void markStructureConquered(Level level, @Nullable GlobalPos pos, @Nullable public static Structure structureForKey(LevelReader level, ResourceKey structureKey) { - Optional> registry = level.registryAccess().registry(Registries.STRUCTURE); + Optional> registry = level.registryAccess().lookup(Registries.STRUCTURE); - return registry.isPresent() ? registry.get().get(structureKey) : null; + return registry.isPresent() ? registry.get().getValue(structureKey) : null; } public static Optional locateNearestLandmarkStart(LevelAccessor level, ResourceKey structureKey, BlockPos pos) { @@ -123,8 +124,8 @@ public static Optional locateNearestLandmarkStart(LevelAccessor return Optional.empty(); } - public static boolean isProgressionEnforced(Level world) { - return world.getGameRules().getBoolean(TwilightForestMod.ENFORCED_PROGRESSION_RULE); + public static boolean isProgressionEnforced(ServerLevel level) { + return level.getGameRules().getBoolean(TwilightForestMod.ENFORCED_PROGRESSION_RULE); } private LandmarkUtil() { diff --git a/src/main/java/twilightforest/world/NoReturnTeleporter.java b/src/main/java/twilightforest/world/NoReturnTeleporter.java index ea892bd046..ed88da3091 100644 --- a/src/main/java/twilightforest/world/NoReturnTeleporter.java +++ b/src/main/java/twilightforest/world/NoReturnTeleporter.java @@ -3,19 +3,19 @@ import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.portal.DimensionTransition; +import net.minecraft.world.level.portal.TeleportTransition; import net.minecraft.world.phys.Vec3; import twilightforest.TwilightForestMod; public class NoReturnTeleporter extends TFTeleporter { - public static DimensionTransition createNoPortalTransition(ServerLevel dest, Entity entity, BlockPos destPos) { - DimensionTransition info = moveToSafeCoords(dest, entity, destPos); - info = placePosition(entity, dest, info.pos()); + public static TeleportTransition createNoPortalTransition(ServerLevel dest, Entity entity, BlockPos destPos) { + TeleportTransition info = moveToSafeCoords(dest, entity, destPos); + info = placePosition(entity, dest, info.position()); return info; } - private static DimensionTransition placePosition(Entity entity, ServerLevel level, Vec3 pos) { + private static TeleportTransition placePosition(Entity entity, ServerLevel level, Vec3 pos) { // ensure area is populated first loadSurroundingArea(level, pos); diff --git a/src/main/java/twilightforest/world/TFTeleporter.java b/src/main/java/twilightforest/world/TFTeleporter.java index 1d0fbc7b13..e8b07a657e 100644 --- a/src/main/java/twilightforest/world/TFTeleporter.java +++ b/src/main/java/twilightforest/world/TFTeleporter.java @@ -57,8 +57,8 @@ public static TeleportTransition createTransition(Entity entity, ServerLevel des @Nullable protected static TeleportTransition createPosition(ServerLevel dest, Entity entity, BlockPos destPos, TeleporterCache cache, boolean locked) { TeleportTransition info = moveToSafeCoords(dest, entity, destPos); - makePortal(cache, entity, dest, info.pos(), locked); - info = placeInExistingPortal(cache, dest, entity, BlockPos.containing(info.pos())); + makePortal(cache, entity, dest, info.position(), locked); + info = placeInExistingPortal(cache, dest, entity, BlockPos.containing(info.position())); return info; } diff --git a/src/main/java/twilightforest/world/components/TFCavesCarver.java b/src/main/java/twilightforest/world/components/TFCavesCarver.java index 6b3d19a98f..1b7046b914 100644 --- a/src/main/java/twilightforest/world/components/TFCavesCarver.java +++ b/src/main/java/twilightforest/world/components/TFCavesCarver.java @@ -102,7 +102,7 @@ protected boolean carveBlock(CarvingContext ctx, CaveCarverConfiguration config, } //We dont want caves to go so far down you can see bedrock, so lets stop them right before - if (pos.getY() < access.getMinBuildHeight() + 6) return false; + if (pos.getY() < access.getMinY() + 6) return false; if (!this.canReplaceBlock(config, stateBeforeReplacement) && !isDebugEnabled(config)) { return false; @@ -226,7 +226,7 @@ protected void createTunnel(CarvingContext ctx, CaveCarverConfiguration config, float yShift = Mth.sin(pitch); // If posY nears bedrock, "slow" its descent if marching downwards - posY += yShift > 0 || posY + yShift > access.getMinBuildHeight() + 10 ? yShift : yShift * 0.25f; + posY += yShift > 0 || posY + yShift > access.getMinY() + 10 ? yShift : yShift * 0.25f; posZ += Mth.sin(yaw) * f2; pitch = pitch * (flag ? 0.92F : 0.7F); @@ -248,7 +248,7 @@ protected void createTunnel(CarvingContext ctx, CaveCarverConfiguration config, } // Additional size-boosting to make wider & taller spherical rooms - boolean shouldEnlargeSphere = posY > access.getMinBuildHeight() + 12 && random.nextInt(48) == 0; + boolean shouldEnlargeSphere = posY > access.getMinY() + 12 && random.nextInt(48) == 0; float sizeMultiplier = shouldEnlargeSphere ? random.nextFloat() * random.nextFloat() * 2f + 1 : 1; diff --git a/src/main/java/twilightforest/world/components/feature/BigMushgloomFeature.java b/src/main/java/twilightforest/world/components/feature/BigMushgloomFeature.java index 58901f490f..fd44837e2b 100644 --- a/src/main/java/twilightforest/world/components/feature/BigMushgloomFeature.java +++ b/src/main/java/twilightforest/world/components/feature/BigMushgloomFeature.java @@ -37,7 +37,7 @@ protected void makeCap(LevelAccessor levelAccessor, RandomSource random, BlockPo for (int x = -foliageRadius; x <= foliageRadius; ++x) { for (int z = -foliageRadius; z <= foliageRadius; ++z) { mutableBlockPos.setWithOffset(pos, x, height + y, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockstate = featureConfiguration.capProvider.getState(random, pos); blockstate = FeatureLogic.getSphericalMushroomBlockState(blockstate, x, y, z, foliageRadius, capHeight); this.setBlock(levelAccessor, mutableBlockPos, blockstate); diff --git a/src/main/java/twilightforest/world/components/feature/MonolithFeature.java b/src/main/java/twilightforest/world/components/feature/MonolithFeature.java index 6646d43107..288c6f7e81 100644 --- a/src/main/java/twilightforest/world/components/feature/MonolithFeature.java +++ b/src/main/java/twilightforest/world/components/feature/MonolithFeature.java @@ -3,6 +3,7 @@ import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.levelgen.Heightmap; @@ -88,7 +89,7 @@ public boolean place(FeaturePlaceContext ctx) { dPos = world.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, dPos); if (dPos.getY() > 0) { - Raven raven = TFEntities.RAVEN.get().create(world.getLevel()); + Raven raven = TFEntities.RAVEN.get().create(world.getLevel(), EntitySpawnReason.CHUNK_GENERATION); raven.moveTo(dPos, rand.nextFloat() * 360.0F, 0.0F); world.addFreshEntity(raven); diff --git a/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java b/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java index 4e44ff11b8..2b3c857146 100644 --- a/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java @@ -32,7 +32,7 @@ public boolean place(FeaturePlaceContext conte RandomSource randomsource = context.random(); TFSmallLakeFeature.Configuration config = context.config(); - if (blockpos.getY() <= worldgenlevel.getMinBuildHeight() + 4) { + if (blockpos.getY() <= worldgenlevel.getMinY() + 4) { return false; } else { blockpos = blockpos.below(4); diff --git a/src/main/java/twilightforest/world/components/feature/UndergroundPlantFeature.java b/src/main/java/twilightforest/world/components/feature/UndergroundPlantFeature.java index 71b69917d8..03a355b9ff 100644 --- a/src/main/java/twilightforest/world/components/feature/UndergroundPlantFeature.java +++ b/src/main/java/twilightforest/world/components/feature/UndergroundPlantFeature.java @@ -24,7 +24,7 @@ public boolean place(FeaturePlaceContext ctx) { int copyX = pos.getX(); int copyZ = pos.getZ(); - for (; pos.getY() > world.getMinBuildHeight(); pos = pos.below()) { + for (; pos.getY() > world.getMinY(); pos = pos.below()) { if (world.isEmptyBlock(pos) && random.nextInt(6) > 0) { if (ctx.config().state.canSurvive(ctx.level(), pos)) { if (ctx.config().state.is(TFBlocks.TROLLVIDR) && random.nextInt(10) == 0) { diff --git a/src/main/java/twilightforest/world/components/feature/WebFeature.java b/src/main/java/twilightforest/world/components/feature/WebFeature.java index 96c37ba084..d0fe532de7 100644 --- a/src/main/java/twilightforest/world/components/feature/WebFeature.java +++ b/src/main/java/twilightforest/world/components/feature/WebFeature.java @@ -23,7 +23,7 @@ private static boolean isValidMaterial(BlockState state) { @Override public boolean place(FeaturePlaceContext config) { WorldGenLevel world = config.level(); - BlockPos pos = config.origin().above(config.random().nextInt(world.getMaxBuildHeight() - config.origin().getY())); + BlockPos pos = config.origin().above(config.random().nextInt(world.getMaxY() - config.origin().getY())); while (pos.getY() > config.origin().getY()) { pos = pos.below(); BlockState state = world.getBlockState(pos); diff --git a/src/main/java/twilightforest/world/components/feature/templates/GraveyardFeature.java b/src/main/java/twilightforest/world/components/feature/templates/GraveyardFeature.java index fa36f45005..6721ceea45 100644 --- a/src/main/java/twilightforest/world/components/feature/templates/GraveyardFeature.java +++ b/src/main/java/twilightforest/world/components/feature/templates/GraveyardFeature.java @@ -8,7 +8,7 @@ import net.minecraft.core.Vec3i; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.WorldGenLevel; @@ -180,7 +180,7 @@ public boolean place(FeaturePlaceContext ctx) { } Wraith wraith = new Wraith(TFEntities.WRAITH.get(), world.getLevel()); wraith.setPos(placement.getX(), placement.getY(), placement.getZ()); - EventHooks.finalizeMobSpawn(wraith, world, world.getCurrentDifficultyAt(placement), MobSpawnType.STRUCTURE, null); + EventHooks.finalizeMobSpawn(wraith, world, world.getCurrentDifficultyAt(placement), EntitySpawnReason.STRUCTURE, null); world.addFreshEntity(wraith); } } diff --git a/src/main/java/twilightforest/world/components/feature/templates/TemplateFeature.java b/src/main/java/twilightforest/world/components/feature/templates/TemplateFeature.java index ed0bd1ba7d..fb56769f1d 100644 --- a/src/main/java/twilightforest/world/components/feature/templates/TemplateFeature.java +++ b/src/main/java/twilightforest/world/components/feature/templates/TemplateFeature.java @@ -48,7 +48,7 @@ public final boolean place(FeaturePlaceContext ctx) { Mirror mirror = Util.getRandom(Mirror.values(), random); ChunkPos chunkpos = new ChunkPos(pos); - BoundingBox structureMask = new BoundingBox(chunkpos.getMinBlockX(), world.getMinBuildHeight(), chunkpos.getMinBlockZ(), chunkpos.getMaxBlockX(), world.getMaxBuildHeight(), chunkpos.getMaxBlockZ()); + BoundingBox structureMask = new BoundingBox(chunkpos.getMinBlockX(), world.getMinY(), chunkpos.getMinBlockZ(), chunkpos.getMaxBlockX(), world.getMaxY(), chunkpos.getMaxBlockZ()); BlockPos posSnap = chunkpos.getWorldPosition().offset(0, pos.getY(), 0); diff --git a/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java b/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java index 7f328dca64..df8c0d2d4c 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java +++ b/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java @@ -37,7 +37,7 @@ protected int getTreeRadiusForHeight(int i, int i1, int foliageRadius, int treeH protected void placeTrunk(LevelAccessor levelAccessor, RandomSource random, BlockPos pos, HugeMushroomFeatureConfiguration featureConfiguration, int height, BlockPos.MutableBlockPos mutableBlockPos) { for (int i = 0; i < height; ++i) { mutableBlockPos.set(pos).move(Direction.UP, i); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { this.setBlock(levelAccessor, mutableBlockPos, featureConfiguration.stemProvider.getState(random, pos)); if (this.bugsLeft > 0 && i > height / 2 && random.nextInt(10) == 9) addFirefly(levelAccessor, mutableBlockPos, random); @@ -62,7 +62,7 @@ protected void addFirefly(LevelAccessor levelAccessor, BlockPos pos, RandomSourc if (direction.getAxis() != Direction.Axis.Y) { BlockPos.MutableBlockPos bugPos = new BlockPos.MutableBlockPos(); bugPos.set(pos).move(direction); - if (!levelAccessor.getBlockState(bugPos).isSolidRender(levelAccessor, bugPos)) { + if (!levelAccessor.getBlockState(bugPos).isSolidRender()) { BlockState bugState = TFBlocks.FIREFLY.get().defaultBlockState().setValue(DirectionalBlock.FACING, direction); this.setBlock(levelAccessor, bugPos, bugState); this.bugsLeft--; @@ -120,7 +120,7 @@ protected void makeCap(LevelAccessor levelAccessor, RandomSource random, BlockPo for (int z = -foliageRadius; z <= foliageRadius; ++z) { if (!FeatureLogic.isCornerInSquare(x, z, foliageRadius)) { mutableBlockPos.setWithOffset(pos, x, height, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockState = featureConfiguration.capProvider.getState(random, pos); blockState = FeatureLogic.getHorizontalMushroomBlockState(blockState, x, z, foliageRadius); this.setBlock(levelAccessor, mutableBlockPos, blockState); diff --git a/src/main/java/twilightforest/world/components/feature/trees/DarkCanopyTreeFeature.java b/src/main/java/twilightforest/world/components/feature/trees/DarkCanopyTreeFeature.java index 47e855c43f..d22d43ffd7 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/DarkCanopyTreeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/trees/DarkCanopyTreeFeature.java @@ -51,7 +51,7 @@ public boolean place(FeaturePlaceContext ctx) { // if we are given leaves as a starting position, seek dirt or grass underneath boolean foundDirt = false; - for (int dy = pos.getY(); dy >= reader.getMinBuildHeight(); dy--) { + for (int dy = pos.getY(); dy >= reader.getMinY(); dy--) { BlockState state = reader.getBlockState(new BlockPos(pos.getX(), dy - 1, pos.getZ())); if (state.is(BlockTags.DIRT)) { // yes! @@ -138,7 +138,7 @@ private boolean doPlace(WorldGenLevel level, RandomSource random, BlockPos pos, BlockPos blockpos = config.rootPlacer.map((placer) -> placer.getTrunkOrigin(pos, random)).orElse(pos); int i1 = Math.min(pos.getY(), blockpos.getY()); int j1 = Math.max(pos.getY(), blockpos.getY()) + i + 1; - if (i1 >= level.getMinBuildHeight() + 1 && j1 <= level.getMaxBuildHeight()) { + if (i1 >= level.getMinY() + 1 && j1 <= level.getMaxY()) { OptionalInt optionalint = config.minimumSize.minClippedHeight(); int k1 = this.getMaxFreeTreeHeight(level, i, blockpos, config); if (k1 >= i || optionalint.isPresent() && k1 >= optionalint.getAsInt()) { diff --git a/src/main/java/twilightforest/world/components/feature/trees/MegaCanopyTreeFeature.java b/src/main/java/twilightforest/world/components/feature/trees/MegaCanopyTreeFeature.java index c80e76c488..01c8f1e656 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/MegaCanopyTreeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/trees/MegaCanopyTreeFeature.java @@ -114,7 +114,7 @@ private void buildTrunk(LevelAccessor world, List leaves, BiConsumer leaves, BiConsumer= height || xMinMax != zMinMax) { mutableBlockPos.setWithOffset(pos, x, y, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockstate = featureConfiguration.capProvider.getState(random, pos); if (blockstate.hasProperty(HugeMushroomBlock.WEST) && blockstate.hasProperty(HugeMushroomBlock.EAST) && blockstate.hasProperty(HugeMushroomBlock.NORTH) && blockstate.hasProperty(HugeMushroomBlock.SOUTH) && blockstate.hasProperty(HugeMushroomBlock.UP)) { @@ -101,7 +101,7 @@ protected void makeSmoothCap(LevelAccessor levelAccessor, RandomSource random, B for (int z = -j; z <= j; ++z) { if (isInsideSmoothShape(height, j, x, y, z)) { mutableBlockPos.setWithOffset(pos, x, y, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockstate = featureConfiguration.capProvider.getState(random, pos); if (blockstate.hasProperty(HugeMushroomBlock.WEST) && blockstate.hasProperty(HugeMushroomBlock.EAST) && blockstate.hasProperty(HugeMushroomBlock.NORTH) && blockstate.hasProperty(HugeMushroomBlock.SOUTH) && blockstate.hasProperty(HugeMushroomBlock.UP)) { @@ -152,7 +152,7 @@ protected void makeSpheroidCap(LevelAccessor levelAccessor, RandomSource random, double maxDistance = (double) j + 0.1D; if (distance <= maxDistance) { mutableBlockPos.setWithOffset(pos, x, y, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockstate = featureConfiguration.capProvider.getState(random, pos); if (blockstate.hasProperty(HugeMushroomBlock.WEST) && blockstate.hasProperty(HugeMushroomBlock.EAST) && blockstate.hasProperty(HugeMushroomBlock.NORTH) && blockstate.hasProperty(HugeMushroomBlock.SOUTH) && blockstate.hasProperty(HugeMushroomBlock.UP)) { diff --git a/src/main/java/twilightforest/world/components/feature/trees/SnowTreeFeature.java b/src/main/java/twilightforest/world/components/feature/trees/SnowTreeFeature.java index 26aa19fe65..f639e21d8b 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/SnowTreeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/trees/SnowTreeFeature.java @@ -56,7 +56,7 @@ private boolean doPlace(WorldGenLevel level, RandomSource random, BlockPos pos, BlockPos blockpos = config.rootPlacer.map((p_225286_) -> p_225286_.getTrunkOrigin(pos, random)).orElse(pos); int i1 = Math.min(pos.getY(), blockpos.getY()); int j1 = Math.max(pos.getY(), blockpos.getY()) + i + 1; - if (i1 >= level.getMinBuildHeight() + 1 && j1 <= level.getMaxBuildHeight()) { + if (i1 >= level.getMinY() + 1 && j1 <= level.getMaxY()) { OptionalInt optionalint = config.minimumSize.minClippedHeight(); int k1 = this.getMaxFreeTreeHeight(level, i, blockpos, config); if (k1 >= i || optionalint.isPresent() && k1 >= optionalint.getAsInt()) { diff --git a/src/main/java/twilightforest/world/components/feature/trees/growers/StructureTreeGrower.java b/src/main/java/twilightforest/world/components/feature/trees/growers/StructureTreeGrower.java index f1a0e11538..8ec23a0450 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/growers/StructureTreeGrower.java +++ b/src/main/java/twilightforest/world/components/feature/trees/growers/StructureTreeGrower.java @@ -26,7 +26,7 @@ public StructureTreeGrower(String name) { //copied from PlaceCommand.placeStructure @Override public boolean growTree(ServerLevel level, ChunkGenerator generator, BlockPos pos, BlockState state, RandomSource random) { - Structure structure = level.registryAccess().registryOrThrow(Registries.STRUCTURE).getOrThrow(TFStructures.HOLLOW_TREE); + Structure structure = level.registryAccess().lookupOrThrow(Registries.STRUCTURE).getValueOrThrow(TFStructures.HOLLOW_TREE); if (!(structure instanceof TreeGrowerStartable treeGrowerStartable) || !treeGrowerStartable.checkSaplingClearance(level, pos)) return false; @@ -53,10 +53,10 @@ public boolean growTree(ServerLevel level, ChunkGenerator generator, BlockPos po level.getRandom(), new BoundingBox( chunkPos.getMinBlockX(), - level.getMinBuildHeight(), + level.getMinY(), chunkPos.getMinBlockZ(), chunkPos.getMaxBlockX(), - level.getMaxBuildHeight(), + level.getMaxY(), chunkPos.getMaxBlockZ() ), chunkPos diff --git a/src/main/java/twilightforest/world/components/structures/HedgeMazeComponent.java b/src/main/java/twilightforest/world/components/structures/HedgeMazeComponent.java index 3fd64a2d80..3cbad4695f 100644 --- a/src/main/java/twilightforest/world/components/structures/HedgeMazeComponent.java +++ b/src/main/java/twilightforest/world/components/structures/HedgeMazeComponent.java @@ -37,7 +37,6 @@ public HedgeMazeComponent(StructurePieceSerializationContext ctx, CompoundTag nb this.boundingBox = BoundingBoxUtils.NBTToBoundingBox(nbt); } - @SuppressWarnings("this-escape") public HedgeMazeComponent(int i, int x, int y, int z) { super(TFStructurePieceTypes.TFHedge.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java b/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java index 9279d959e6..f617dd067c 100644 --- a/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java +++ b/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java @@ -60,7 +60,6 @@ public HollowHillComponent(StructurePieceSerializationContext ctx, StructurePiec this.speleothemConfigId = configHolder.key().location(); } - @SuppressWarnings("this-escape") public HollowHillComponent(StructurePieceType piece, int i, int size, int x, int y, int z, Holder.Reference speleothemConfig) { super(piece, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/TFMaze.java b/src/main/java/twilightforest/world/components/structures/TFMaze.java index 21af0b2b42..ca6d78644b 100644 --- a/src/main/java/twilightforest/world/components/structures/TFMaze.java +++ b/src/main/java/twilightforest/world/components/structures/TFMaze.java @@ -378,7 +378,7 @@ private void putCanopyTree(WorldGenLevel world, ChunkGenerator generator, int x, // only place it if we're actually generating the chunk the tree is in (or at least the middle of the tree) if (sbb.isInside(pos)) { - if (!world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(TFConfiguredFeatures.CANOPY_TREE).place(world, generator, world.getRandom(), pos)) { + if (!world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValueOrThrow(TFConfiguredFeatures.CANOPY_TREE).place(world, generator, world.getRandom(), pos)) { makeWallThing(world, y, component, sbb, x, z, 0, 0); } } diff --git a/src/main/java/twilightforest/world/components/structures/TwilightTemplateStructurePiece.java b/src/main/java/twilightforest/world/components/structures/TwilightTemplateStructurePiece.java index 2e6457b48b..70980b9487 100644 --- a/src/main/java/twilightforest/world/components/structures/TwilightTemplateStructurePiece.java +++ b/src/main/java/twilightforest/world/components/structures/TwilightTemplateStructurePiece.java @@ -29,7 +29,6 @@ public abstract class TwilightTemplateStructurePiece extends TemplateStructurePi private final BlockPos originalPlacement; private final BoundingBox originalBox; - @SuppressWarnings("this-escape") public TwilightTemplateStructurePiece(StructurePieceType structurePieceType, CompoundTag compoundTag, StructurePieceSerializationContext ctx, StructurePlaceSettings placeSettings) { super(structurePieceType, compoundTag, ctx.structureTemplateManager(), rl -> placeSettings); this.rotation = this.getRotation(); @@ -41,7 +40,6 @@ public TwilightTemplateStructurePiece(StructurePieceType structurePieceType, Com this.originalBox = BoundingBoxUtils.clone(this.boundingBox); } - @SuppressWarnings("this-escape") public TwilightTemplateStructurePiece(StructurePieceType type, int genDepth, StructureTemplateManager structureManager, ResourceLocation templateLocation, StructurePlaceSettings placeSettings, BlockPos startPosition) { super(type, genDepth, structureManager, templateLocation, templateLocation.toString(), placeSettings, startPosition); this.rotation = this.getRotation(); diff --git a/src/main/java/twilightforest/world/components/structures/courtyard/CourtyardMain.java b/src/main/java/twilightforest/world/components/structures/courtyard/CourtyardMain.java index 7e11dabeca..5ad93a2d6b 100644 --- a/src/main/java/twilightforest/world/components/structures/courtyard/CourtyardMain.java +++ b/src/main/java/twilightforest/world/components/structures/courtyard/CourtyardMain.java @@ -32,7 +32,6 @@ public CourtyardMain(StructurePieceSerializationContext ctx, CompoundTag nbt) { super(ctx.structureTemplateManager(), TFStructurePieceTypes.TFNCMn.get(), nbt); } - @SuppressWarnings("this-escape") public CourtyardMain(RandomSource rand, int i, int x, int y, int z, StructureTemplateManager structureManager) { super(TFStructurePieceTypes.TFNCMn.get(), rand, i, ROW_OF_CELLS, ROW_OF_CELLS, x, y, z, structureManager); diff --git a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerBeardComponent.java b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerBeardComponent.java index 4292170b52..ef2e159fed 100644 --- a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerBeardComponent.java +++ b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerBeardComponent.java @@ -26,7 +26,6 @@ public DarkTowerBeardComponent(StructurePieceSerializationContext ctx, CompoundT this.height = nbt.getInt("beardHeight"); } - @SuppressWarnings("this-escape") public DarkTowerBeardComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFDTBea.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java index ae970c01e8..5567c7c7f0 100644 --- a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java +++ b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java @@ -1094,7 +1094,7 @@ private void placeTreePlanter(WorldGenLevel world, ChunkGenerator generator, int // grow a tree for (int i = 0; i < 100; i++) { - if (world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(treeGen).place(world, generator, world.getRandom(), new BlockPos(dx, dy, dz))) { + if (world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValue(treeGen).place(world, generator, world.getRandom(), new BlockPos(dx, dy, dz))) { break; } } @@ -1103,7 +1103,7 @@ private void placeTreePlanter(WorldGenLevel world, ChunkGenerator generator, int private void placeRandomPlant(WorldGenLevel world, RandomSource decoRNG, int x, int y, int z, Rotation rotation, BoundingBox sbb) { Optional optional = BuiltInRegistries.BLOCK - .getTag(BlockTagGenerator.DARK_TOWER_ALLOWED_POTS) + .get(BlockTagGenerator.DARK_TOWER_ALLOWED_POTS) .flatMap(tag -> tag.getRandomElement(decoRNG)) .map(Holder::value); setBlockStateRotated(world, decoRNG.nextInt(10) != 0 && optional.isPresent() ? optional.get().defaultBlockState() : Blocks.FLOWER_POT.defaultBlockState(), x, y, z, rotation, sbb); diff --git a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerRoofComponent.java b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerRoofComponent.java index 3a0a1dc9f0..444fa66578 100644 --- a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerRoofComponent.java +++ b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerRoofComponent.java @@ -27,7 +27,6 @@ public DarkTowerRoofComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public DarkTowerRoofComponent(StructurePieceType piece, int i, TowerWingComponent wing, int x, int y, int z) { super(piece, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBellTower21Component.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBellTower21Component.java index 5f623a163e..ab9c8f4c31 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBellTower21Component.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBellTower21Component.java @@ -28,7 +28,6 @@ public FinalCastleBellTower21Component(StructurePieceSerializationContext ctx, C super(TFStructurePieceTypes.TFFCBelTo.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleBellTower21Component(int i, int x, int y, int z, Direction direction) { super(TFStructurePieceTypes.TFFCBelTo.get(), i, x, y, z, FLOORS, 1, TFBlocks.BLUE_CASTLE_RUNE_BRICK.get().defaultBlockState(), direction); this.size = 21; diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBossGazeboComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBossGazeboComponent.java index 2a3c872eed..88d088e6f6 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBossGazeboComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBossGazeboComponent.java @@ -36,7 +36,6 @@ public FinalCastleBossGazeboComponent(StructurePieceSerializationContext ctx, Co super(TFStructurePieceTypes.TFFCBoGaz.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleBossGazeboComponent(int i, TFStructureComponentOld keep, int x, int y, int z) { super(TFStructurePieceTypes.TFFCBoGaz.get(), i, x, y, z); this.spawnListIndex = -1; // no monsters diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBridgeComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBridgeComponent.java index 50a370873a..8e1bfc3b3d 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBridgeComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleBridgeComponent.java @@ -26,7 +26,6 @@ public FinalCastleBridgeComponent(StructurePieceSerializationContext ctx, Compou super(TFStructurePieceTypes.TFFCBri.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleBridgeComponent(int i, int x, int y, int z, int length, Direction direction) { super(TFStructurePieceTypes.TFFCBri.get(), i, x, y, z); this.setOrientation(direction); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonForgeRoomComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonForgeRoomComponent.java index fc09cbcc08..eb683ec4ea 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonForgeRoomComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonForgeRoomComponent.java @@ -20,7 +20,6 @@ public FinalCastleDungeonForgeRoomComponent(StructurePieceSerializationContext c super(TFStructurePieceTypes.TFFCDunBoR.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleDungeonForgeRoomComponent(int i, int x, int y, int z, Direction direction) { super(TFStructurePieceTypes.TFFCDunBoR.get(), i, x, y, z); this.spawnListIndex = 3; // forge monsters diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonRoom31Component.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonRoom31Component.java index c98bdb254d..dc7059a85d 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonRoom31Component.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonRoom31Component.java @@ -41,7 +41,6 @@ public FinalCastleDungeonRoom31Component(StructurePieceType piece, CompoundTag n super(piece, nbt); } - @SuppressWarnings("this-escape") public FinalCastleDungeonRoom31Component(StructurePieceType piece, int i, int x, int y, int z, Direction direction, int level) { super(piece, i, x, y, z); this.setOrientation(direction); @@ -151,8 +150,8 @@ private BlockPos getNewRoomCoords(RandomSource rand, Rotation rotation) { @Override public void postProcess(WorldGenLevel world, StructureManager manager, ChunkGenerator generator, RandomSource rand, BoundingBox sbb, ChunkPos chunkPosIn, BlockPos blockPos) { Predicate plateauBiomes = biome -> - biome == world.registryAccess().registryOrThrow(Registries.BIOME).get(TFBiomes.THORNLANDS) || - biome == world.registryAccess().registryOrThrow(Registries.BIOME).get(TFBiomes.FINAL_PLATEAU); + biome == world.registryAccess().lookupOrThrow(Registries.BIOME).getValue(TFBiomes.THORNLANDS) || + biome == world.registryAccess().lookupOrThrow(Registries.BIOME).getValue(TFBiomes.FINAL_PLATEAU); if (this.isBoundingBoxOutsideBiomes(world, plateauBiomes, blockPos)) { return; diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonStepsComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonStepsComponent.java index 45d235e477..83399a3958 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonStepsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleDungeonStepsComponent.java @@ -25,7 +25,6 @@ public FinalCastleDungeonStepsComponent(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFFCDunSt.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleDungeonStepsComponent(int i, int x, int y, int z, Direction rotation) { super(TFStructurePieceTypes.TFFCDunSt.get(), i, x, y, z); this.spawnListIndex = 2; // dungeon monsters diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceSideTowerComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceSideTowerComponent.java index 9eb8dfaad8..c974dbd0ab 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceSideTowerComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceSideTowerComponent.java @@ -18,7 +18,6 @@ public FinalCastleEntranceSideTowerComponent(StructurePieceSerializationContext super(TFStructurePieceTypes.TFFCEnSiTo.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleEntranceSideTowerComponent(int i, int x, int y, int z, int floors, int entranceFloor, Direction direction) { super(TFStructurePieceTypes.TFFCEnSiTo.get(), i, x, y, z, floors, entranceFloor, TFBlocks.YELLOW_CASTLE_RUNE_BRICK.get().defaultBlockState(), direction); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceStairsComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceStairsComponent.java index 861faa4b3b..3531c23480 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceStairsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleEntranceStairsComponent.java @@ -26,7 +26,6 @@ public FinalCastleEntranceStairsComponent(StructurePieceSerializationContext ctx super(TFStructurePieceTypes.TFFCEnSt.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleEntranceStairsComponent(int index, int x, int y, int z, Direction direction) { super(TFStructurePieceTypes.TFFCEnSt.get(), index, x, y, z); this.setOrientation(direction); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation13Component.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation13Component.java index e2e831fee3..c1728cb5f2 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation13Component.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation13Component.java @@ -33,7 +33,6 @@ public FinalCastleFoundation13Component(StructurePieceType piece, CompoundTag nb super(piece, nbt); } - @SuppressWarnings("this-escape") public FinalCastleFoundation13Component(StructurePieceType type, int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(type, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation48Component.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation48Component.java index 74169606ea..5516826d2f 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation48Component.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleFoundation48Component.java @@ -23,7 +23,6 @@ public FinalCastleFoundation48Component(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFFCToF48.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleFoundation48Component(int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(TFStructurePieceTypes.TFFCToF48.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleLargeTowerComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleLargeTowerComponent.java index f5b21203a1..74fcdbbd3e 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleLargeTowerComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleLargeTowerComponent.java @@ -26,7 +26,6 @@ public FinalCastleLargeTowerComponent(StructurePieceSerializationContext ctx, Co super(TFStructurePieceTypes.TFFCLaTo.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleLargeTowerComponent(int i, int x, int y, int z, Direction rotation) { super(TFStructurePieceTypes.TFFCLaTo.get(), i, x, y, z); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMainComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMainComponent.java index d57e11a132..f10afd7215 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMainComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMainComponent.java @@ -32,7 +32,6 @@ public FinalCastleMainComponent(StructurePieceSerializationContext ctx, Compound super(TFStructurePieceTypes.TFFCMain.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleMainComponent(int i, int x, int y, int z) { super(TFStructurePieceTypes.TFFCMain.get(), i, x, y, z); this.setOrientation(Direction.SOUTH); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMazeTower13Component.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMazeTower13Component.java index 957a5c367d..fd02977db5 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMazeTower13Component.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMazeTower13Component.java @@ -45,7 +45,6 @@ public FinalCastleMazeTower13Component(StructurePieceSerializationContext ctx, C this(TFStructurePieceTypes.TFFCSiTo.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleMazeTower13Component(StructurePieceType piece, RandomSource rand, int i, int x, int y, int z, BlockState color, Direction direction) { super(piece, i, x, y, z); this.setOrientation(direction); @@ -76,7 +75,6 @@ public FinalCastleMazeTower13Component(StructurePieceType piece, RandomSource ra addOpening(0, entranceFloor * 8 + 1, size / 2, Rotation.CLOCKWISE_180); } - @SuppressWarnings("this-escape") public FinalCastleMazeTower13Component(StructurePieceType piece, int i, int x, int y, int z, int floors, int entranceFloor, BlockState color, Direction direction) { super(piece, i, x, y, z); this.setOrientation(direction); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMuralComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMuralComponent.java index 036b51994b..015edc6e06 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMuralComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleMuralComponent.java @@ -28,7 +28,6 @@ public FinalCastleMuralComponent(StructurePieceSerializationContext ctx, Compoun super(TFStructurePieceTypes.TFFCMur.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleMuralComponent(int i, int x, int y, int z, int width, int height, Direction direction) { super(TFStructurePieceTypes.TFFCMur.get(), i, x, y, z); this.setOrientation(direction); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13ConicalComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13ConicalComponent.java index 661320139e..05f210c37e 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13ConicalComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13ConicalComponent.java @@ -29,7 +29,6 @@ public FinalCastleRoof13ConicalComponent(StructurePieceSerializationContext ctx, this.slope = nbt.getInt("slope"); } - @SuppressWarnings("this-escape") public FinalCastleRoof13ConicalComponent(RandomSource rand, int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(TFStructurePieceTypes.TFFCRo13Con.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13CrenellatedComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13CrenellatedComponent.java index 2da13e9c2f..cf1c03f1e5 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13CrenellatedComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13CrenellatedComponent.java @@ -23,7 +23,6 @@ public FinalCastleRoof13CrenellatedComponent(StructurePieceSerializationContext super(TFStructurePieceTypes.TFFCRo13Cr.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleRoof13CrenellatedComponent(int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(TFStructurePieceTypes.TFFCRo13Cr.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13PeakedComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13PeakedComponent.java index 225c87c606..b0013aea6d 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13PeakedComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof13PeakedComponent.java @@ -23,7 +23,6 @@ public FinalCastleRoof13PeakedComponent(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFFCRo13Pk.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleRoof13PeakedComponent(int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(TFStructurePieceTypes.TFFCRo13Pk.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof48CrenellatedComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof48CrenellatedComponent.java index fa1479485c..9c50951c64 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof48CrenellatedComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof48CrenellatedComponent.java @@ -25,7 +25,6 @@ public FinalCastleRoof48CrenellatedComponent(StructurePieceSerializationContext super(TFStructurePieceTypes.TFFCRo48Cr.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleRoof48CrenellatedComponent(int i, TFStructureComponentOld keep, int x, int y, int z) { super(TFStructurePieceTypes.TFFCRo48Cr.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof9CrenellatedComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof9CrenellatedComponent.java index 9d5eb4d157..1d393e1cdc 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof9CrenellatedComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleRoof9CrenellatedComponent.java @@ -23,7 +23,6 @@ public FinalCastleRoof9CrenellatedComponent(StructurePieceSerializationContext c super(TFStructurePieceTypes.TFFCRo9Cr.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleRoof9CrenellatedComponent(int i, TFStructureComponentOld sideTower, int x, int y, int z) { super(TFStructurePieceTypes.TFFCRo9Cr.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleStairTowerComponent.java b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleStairTowerComponent.java index 18beb3c5b5..1d2ec7427c 100644 --- a/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleStairTowerComponent.java +++ b/src/main/java/twilightforest/world/components/structures/finalcastle/FinalCastleStairTowerComponent.java @@ -27,7 +27,6 @@ public FinalCastleStairTowerComponent(StructurePieceSerializationContext ctx, Co super(TFStructurePieceTypes.TFFCStTo.get(), nbt); } - @SuppressWarnings("this-escape") public FinalCastleStairTowerComponent(int i, int x, int y, int z, Direction rotation) { super(TFStructurePieceTypes.TFFCStTo.get(), i, x, y, z); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLargeBranch.java b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLargeBranch.java index 01155c6074..8d89a9065a 100644 --- a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLargeBranch.java +++ b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLargeBranch.java @@ -63,8 +63,8 @@ public HollowTreeLargeBranch(StructurePieceSerializationContext context, Compoun this.dungeonLootTable = ResourceKey.create(Registries.LOOT_TABLE, ResourceLocation.parse(tag.getString("dungeon_loot_table"))); ResourceKey> dungeonMonster = ResourceKey.create(Registries.ENTITY_TYPE, ResourceLocation.parse(tag.getString("dungeon_monster"))); - this.dungeonMonster = context.registryAccess().registry(Registries.ENTITY_TYPE) - .>>flatMap(reg -> reg.getHolder(dungeonMonster)) + this.dungeonMonster = context.registryAccess().lookup(Registries.ENTITY_TYPE) + .>>flatMap(reg -> reg.get(dungeonMonster)) .orElse(HollowTreePiece.DEFAULT_DUNGEON_MONSTER); } diff --git a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLeafDungeon.java b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLeafDungeon.java index 104a575a66..1f12fa9ac1 100644 --- a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLeafDungeon.java +++ b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeLeafDungeon.java @@ -44,7 +44,6 @@ public class HollowTreeLeafDungeon extends HollowTreePiece { /** * Make a blob of leaves */ - @SuppressWarnings("this-escape") protected HollowTreeLeafDungeon(int index, int x, int y, int z, int radius, BlockStateProvider wood, BlockStateProvider leaves, BlockStateProvider inside, BlockStateProvider lootContainer, ResourceKey lootTable, Holder> monster, RandomSource random) { super(TFStructurePieceTypes.TFHTLD.value(), index, new BoundingBox(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius)); @@ -78,8 +77,8 @@ public HollowTreeLeafDungeon(StructurePieceSerializationContext context, Compoun this.lootTable = ResourceKey.create(Registries.LOOT_TABLE, ResourceLocation.parse(tag.getString("loot_table"))); ResourceKey> dungeonMonster = ResourceKey.create(Registries.ENTITY_TYPE, ResourceLocation.parse(tag.getString("monster"))); - this.monster = context.registryAccess().registry(Registries.ENTITY_TYPE) - .>>flatMap(reg -> reg.getHolder(dungeonMonster)) + this.monster = context.registryAccess().lookup(Registries.ENTITY_TYPE) + .>>flatMap(reg -> reg.get(dungeonMonster)) .orElse(HollowTreePiece.DEFAULT_DUNGEON_MONSTER); } diff --git a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeMedBranch.java b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeMedBranch.java index 5c9580a85a..49b9cc1f27 100644 --- a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeMedBranch.java +++ b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeMedBranch.java @@ -46,7 +46,6 @@ protected HollowTreeMedBranch(int i, BlockPos src, BlockPos dest, BoundingBox bo this(TFStructurePieceTypes.TFHTMB.value(), i, src, dest, boundingBox, length, angle, tilt, leafy, wood, leaves); } - @SuppressWarnings("this-escape") protected HollowTreeMedBranch(StructurePieceType type, int i, BlockPos src, BlockPos dest, BoundingBox boundingBox, double length, double angle, double tilt, boolean leafy, BlockStateProvider wood, BlockStateProvider leaves) { super(type, i, boundingBox); diff --git a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreePiece.java b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreePiece.java index 2ed6b7b8c4..88a961bfc4 100644 --- a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreePiece.java +++ b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreePiece.java @@ -79,7 +79,7 @@ protected void fillColumnDown(WorldGenLevel pLevel, BlockStateProvider possibleB if (!pBox.isInside(worldPos)) return; - while (this.isReplaceableByStructures(pLevel.getBlockState(worldPos)) && worldPos.getY() > pLevel.getMinBuildHeight() + 1) { + while (this.isReplaceableByStructures(pLevel.getBlockState(worldPos)) && worldPos.getY() > pLevel.getMinY() + 1) { pLevel.setBlock(worldPos, possibleBlocks.getState(random, worldPos), PLACE_FLAG); worldPos.move(Direction.DOWN); } @@ -91,7 +91,7 @@ protected void fillVineColumnDown(WorldGenLevel pLevel, BlockStateProvider possi if (!pBox.isInside(worldPos)) return; - while (this.nonFluidAndReplaceableByStructures(pLevel, worldPos) && worldPos.getY() > pLevel.getMinBuildHeight() + 1) { + while (this.nonFluidAndReplaceableByStructures(pLevel, worldPos) && worldPos.getY() > pLevel.getMinY() + 1) { pLevel.setBlock(worldPos, possibleBlocks.getState(random, worldPos).setValue(VineBlock.getPropertyForFace(direction), true), PLACE_FLAG); worldPos.move(Direction.DOWN); } diff --git a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeTrunk.java b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeTrunk.java index d509d144d8..9556d4b8ec 100644 --- a/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeTrunk.java +++ b/src/main/java/twilightforest/world/components/structures/hollowtree/HollowTreeTrunk.java @@ -46,7 +46,6 @@ public class HollowTreeTrunk extends HollowTreePiece { private final ResourceKey dungeonLootTable; private final Holder> dungeonMonster; - @SuppressWarnings("this-escape") public HollowTreeTrunk(int height, int radius, BoundingBox pBoundingBox, BlockStateProvider log1, BlockStateProvider wood, BlockStateProvider root, BlockStateProvider leaves, BlockStateProvider vine, BlockStateProvider bug, BlockStateProvider dungeonWood, BlockStateProvider dungeonAir, BlockStateProvider dungeonLootBlock, ResourceKey dungeonLootTable, Holder> dungeonMonster) { super(TFStructurePieceTypes.TFHTTr.value(), 0, pBoundingBox); @@ -93,8 +92,8 @@ public HollowTreeTrunk(StructurePieceSerializationContext context, CompoundTag t this.dungeonLootTable = ResourceKey.create(Registries.LOOT_TABLE, ResourceLocation.parse(tag.getString("dungeon_loot_table"))); ResourceKey> dungeonMonster = ResourceKey.create(Registries.ENTITY_TYPE, ResourceLocation.parse(tag.getString("dungeon_monster"))); - this.dungeonMonster = context.registryAccess().registry(Registries.ENTITY_TYPE) - .>>flatMap(reg -> reg.getHolder(dungeonMonster)) + this.dungeonMonster = context.registryAccess().lookup(Registries.ENTITY_TYPE) + .>>flatMap(reg -> reg.get(dungeonMonster)) .orElse(HollowTreePiece.DEFAULT_DUNGEON_MONSTER); } diff --git a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBeardComponent.java b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBeardComponent.java index b4ed9d76d4..0747e7ca62 100644 --- a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBeardComponent.java +++ b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBeardComponent.java @@ -26,7 +26,6 @@ public IceTowerBeardComponent(StructurePieceSerializationContext ctx, CompoundTa this.height = nbt.getInt("beardHeight"); } - @SuppressWarnings("this-escape") public IceTowerBeardComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFITBea.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBridgeComponent.java b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBridgeComponent.java index 11fa154e36..de5081359c 100644 --- a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBridgeComponent.java +++ b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerBridgeComponent.java @@ -29,7 +29,6 @@ public IceTowerBridgeComponent(StructurePieceSerializationContext ctx, CompoundT this.extraZlength = nbt.getInt("extraZlength"); } - @SuppressWarnings("this-escape") public IceTowerBridgeComponent(int index, int x, int y, int z, int length, int zLength, Direction direction) { super(TFStructurePieceTypes.TFITBri.get(), index, x, y, z); this.length = length; diff --git a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerRoofComponent.java b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerRoofComponent.java index 31edae999c..f2f61d88f5 100644 --- a/src/main/java/twilightforest/world/components/structures/icetower/IceTowerRoofComponent.java +++ b/src/main/java/twilightforest/world/components/structures/icetower/IceTowerRoofComponent.java @@ -14,14 +14,12 @@ import twilightforest.world.components.structures.lichtower.TowerRoofComponent; import twilightforest.world.components.structures.lichtower.TowerWingComponent; - public class IceTowerRoofComponent extends TowerRoofComponent { public IceTowerRoofComponent(StructurePieceSerializationContext ctx, CompoundTag nbt) { super(TFStructurePieceTypes.TFITRoof.get(), nbt); } - @SuppressWarnings("this-escape") public IceTowerRoofComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFITRoof.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerBeardComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerBeardComponent.java index b96b15f91c..a92fa3530d 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerBeardComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerBeardComponent.java @@ -29,7 +29,6 @@ public TowerBeardComponent(StructurePieceType piece, CompoundTag nbt) { this.height = nbt.getInt("beardHeight"); } - @SuppressWarnings("this-escape") public TowerBeardComponent(StructurePieceType piece, int i, TowerWingComponent wing, int x, int y, int z) { super(piece, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofFenceComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofFenceComponent.java index a9481a2041..14a8852a7d 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofFenceComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofFenceComponent.java @@ -19,7 +19,6 @@ public TowerRoofFenceComponent(StructurePieceSerializationContext ctx, CompoundT super(TFStructurePieceTypes.TFLTRF.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofFenceComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRF.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofGableForwardsComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofGableForwardsComponent.java index aff1736814..aa7e1d7787 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofGableForwardsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofGableForwardsComponent.java @@ -22,7 +22,6 @@ public TowerRoofGableForwardsComponent(StructurePieceSerializationContext ctx, C super(TFStructurePieceTypes.TFLTRGF.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofGableForwardsComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRGF.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyComponent.java index 4e78286d84..d22c52739a 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyComponent.java @@ -25,7 +25,6 @@ public TowerRoofPointyComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public TowerRoofPointyComponent(StructurePieceType piece, int i, TowerWingComponent wing, int x, int y, int z) { super(piece, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyOverhangComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyOverhangComponent.java index ddb1e20a23..1a2fbf17a1 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyOverhangComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofPointyOverhangComponent.java @@ -10,7 +10,6 @@ public TowerRoofPointyOverhangComponent(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFLTRPO.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofPointyOverhangComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRPO.get(), i, wing, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabComponent.java index fa222798a2..9896a2055e 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabComponent.java @@ -25,7 +25,6 @@ public TowerRoofSlabComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public TowerRoofSlabComponent(StructurePieceType piece, int i, TowerWingComponent wing, int x, int y, int z) { super(piece, i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabForwardsComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabForwardsComponent.java index 7676ce7b21..d8f2581bad 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabForwardsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofSlabForwardsComponent.java @@ -27,7 +27,6 @@ public TowerRoofSlabForwardsComponent(StructurePieceSerializationContext ctx, Co super(TFStructurePieceTypes.TFLTRSF.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofSlabForwardsComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRSF.get(), i, wing, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsComponent.java index e90de6433e..f2e955b5b8 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsComponent.java @@ -22,7 +22,6 @@ public TowerRoofStairsComponent(StructurePieceSerializationContext ctx, Compound super(TFStructurePieceTypes.TFLTRSt.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofStairsComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRSt.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsOverhangComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsOverhangComponent.java index 71e9d1d40e..5f7c34d26e 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsOverhangComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerRoofStairsOverhangComponent.java @@ -22,7 +22,6 @@ public TowerRoofStairsOverhangComponent(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFLTRStO.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofStairsOverhangComponent(int i, TowerWingComponent wing, int x, int y, int z) { super(TFStructurePieceTypes.TFLTRStO.get(), i, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java index ea8fb587bf..6b27513b5c 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java @@ -70,7 +70,6 @@ protected TowerWingComponent(StructurePieceType type, int i, int x, int y, int z this.highestOpening = 0; } - @SuppressWarnings("this-escape") protected TowerWingComponent(StructurePieceType type, int i, int x, int y, int z, int pSize, int pHeight, Direction direction) { super(type, i, x, y, z); @@ -1252,7 +1251,7 @@ protected void decoratePlanter(WorldGenLevel world, ChunkGenerator generator, Ra final BlockPos pos = getBlockPosWithOffset(cx, 2, cx); - if (i > 4 && !world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(TFStructureHelper.randomTree(rand.nextInt(4))).place(world, generator, world.getRandom(), pos)) { + if (i > 4 && !world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValue(TFStructureHelper.randomTree(rand.nextInt(4))).place(world, generator, world.getRandom(), pos)) { //if tree placement fails, place the potted sapling this.placeBlock(world, plant, cx, 2, cx, sbb); } else { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java index 6bf7675c9e..171c3e50cf 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java @@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkGenerator; @@ -75,7 +76,7 @@ protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, Direction direction = this.placeSettings.getRotation().rotate(Direction.SOUTH); Optional> variantHolderOpt = variantForGallery(level, this.templateName); - MagicPainting galleryPainting = TFEntities.MAGIC_PAINTING.value().create(level.getLevel()); + MagicPainting galleryPainting = TFEntities.MAGIC_PAINTING.value().create(level.getLevel(), EntitySpawnReason.STRUCTURE); if (variantHolderOpt.isPresent() && galleryPainting != null) { galleryPainting.setDirection(direction); galleryPainting.setVariant(variantHolderOpt.get()); @@ -100,7 +101,7 @@ private static Optional> variantForGaller if (variantId == null) return Optional.empty(); - return level.registryAccess().registryOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).getHolder(variantId); + return level.registryAccess().lookupOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).get(variantId); } public static void tryPlaceGallery(RandomSource random, StructurePieceAccessor pieceAccessor, @Nullable ResourceLocation roomId, JigsawRecord connection, TwilightJigsawPiece parent, int newDepth, StructureTemplateManager structureManager, String jigsawLabel) { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java index 675479f640..29353a4ad4 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java @@ -70,8 +70,8 @@ protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, } case "tree" -> { ResourceKey> randomTree = TFStructureHelper.randomTree(random.nextInt(4)); - Registry> featureRegistry = level.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE); - if (!featureRegistry.get(randomTree).place(level, chunkGen, random, pos)) { + Registry> featureRegistry = level.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE); + if (!featureRegistry.getValueOrThrow(randomTree).place(level, chunkGen, random, pos)) { level.setBlock(pos, TFStructureHelper.randomPlant(random), 2); } } diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSpawnerBridge.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSpawnerBridge.java index 1d6f2dc1f2..406d2affc2 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSpawnerBridge.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSpawnerBridge.java @@ -46,12 +46,12 @@ public LichTowerSpawnerBridge(StructurePieceSerializationContext ctx, CompoundTa } private static void addInvertedWoodProcessors(RegistryAccess registryAccess, StructurePlaceSettings placeSettings) { - Optional> woodPalettes = registryAccess.registry(TFRegistries.Keys.WOOD_PALETTES); + Optional> woodPalettes = registryAccess.lookup(TFRegistries.Keys.WOOD_PALETTES); if (woodPalettes.isPresent()) { Registry woodPaletteRegistry = woodPalettes.get(); - Holder twiOak = woodPaletteRegistry.getHolderOrThrow(WoodPalettes.TWILIGHT_OAK); - Holder canopy = woodPaletteRegistry.getHolderOrThrow(WoodPalettes.CANOPY); + Holder twiOak = woodPaletteRegistry.getOrThrow(WoodPalettes.TWILIGHT_OAK); + Holder canopy = woodPaletteRegistry.getOrThrow(WoodPalettes.CANOPY); placeSettings.addProcessor(new WoodMultiPaletteSwizzle(List.of( Pair.of(twiOak, canopy), Pair.of(canopy, twiOak) diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java index 3dd44d8118..533c546967 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java @@ -20,8 +20,8 @@ import net.minecraft.world.Difficulty; import net.minecraft.world.RandomizableContainer; import net.minecraft.world.entity.Display; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.PotionContents; @@ -569,9 +569,9 @@ private void putCandles(String[] parameters, RandomSource random, WorldGenLevel private BlockState blockFromLabel(String label) { if (label.contains(".")) { - return BuiltInRegistries.BLOCK.get(ResourceLocation.bySeparator(label, '.')).defaultBlockState(); + return BuiltInRegistries.BLOCK.getValue(ResourceLocation.bySeparator(label, '.')).defaultBlockState(); } else { - return BuiltInRegistries.BLOCK.get(ResourceLocation.parse(label)).defaultBlockState(); + return BuiltInRegistries.BLOCK.getValue(ResourceLocation.parse(label)).defaultBlockState(); } } @@ -685,12 +685,12 @@ private void putTrappableLectern(BlockPos pos, WorldGenLevel level, Rotation dat level.setBlock(pos, lectern, 2); if (putMimic) { - DeathTome tomeMimic = TFEntities.DEATH_TOME.value().create(level.getLevel()); + DeathTome tomeMimic = TFEntities.DEATH_TOME.value().create(level.getLevel(), EntitySpawnReason.STRUCTURE); if (tomeMimic != null) { tomeMimic.setPersistenceRequired(); tomeMimic.moveTo(pos, lectern.getValue(HorizontalDirectionalBlock.FACING).toYRot(), 0); tomeMimic.setOnLectern(true); - tomeMimic.finalizeSpawn(level, level.getCurrentDifficultyAt(tomeMimic.blockPosition()), MobSpawnType.STRUCTURE, null); + tomeMimic.finalizeSpawn(level, level.getCurrentDifficultyAt(tomeMimic.blockPosition()), EntitySpawnReason.STRUCTURE, null); level.addFreshEntityWithPassengers(tomeMimic); } } else if (level.getBlockEntity(pos) instanceof LecternBlockEntity lecternBlockEntity) { diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeCorridorComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeCorridorComponent.java index fdb7fba345..2982c84474 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeCorridorComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeCorridorComponent.java @@ -26,7 +26,6 @@ public MazeCorridorComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public MazeCorridorComponent(StructurePieceType type, int i, int x, int y, int z, Direction rotation) { super(type, i, x, y, z); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndChestComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndChestComponent.java index e5762bbdb0..111ef3d394 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndChestComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndChestComponent.java @@ -27,7 +27,6 @@ public MazeDeadEndChestComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public MazeDeadEndChestComponent(StructurePieceType type, int i, int x, int y, int z, Direction rotation) { super(type, i, x, y, z, rotation); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndComponent.java index 0153ad4d43..cd9b1a3254 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndComponent.java @@ -26,7 +26,6 @@ public MazeDeadEndComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public MazeDeadEndComponent(StructurePieceType type, int i, int x, int y, int z, Direction rotation) { super(type, i, x, y, z); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndTrappedChestComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndTrappedChestComponent.java index 9a24e94dd9..fd88f307a4 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndTrappedChestComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeDeadEndTrappedChestComponent.java @@ -23,7 +23,6 @@ public MazeDeadEndTrappedChestComponent(StructurePieceSerializationContext ctx, super(TFStructurePieceTypes.TFMMDETrC.get(), nbt); } - @SuppressWarnings("this-escape") public MazeDeadEndTrappedChestComponent(int i, int x, int y, int z, Direction rotation) { super(TFStructurePieceTypes.TFMMDETrC.get(), i, x, y, z, rotation); this.setOrientation(rotation); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeEntranceShaftComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeEntranceShaftComponent.java index 848e4c00d4..4c894a62cc 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeEntranceShaftComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeEntranceShaftComponent.java @@ -24,7 +24,6 @@ public MazeEntranceShaftComponent(StructurePieceSerializationContext ctx, Compou super(TFStructurePieceTypes.TFMMES.get(), nbt); } - @SuppressWarnings("this-escape") public MazeEntranceShaftComponent(int i, RandomSource rand, int x, int y, int z) { super(TFStructurePieceTypes.TFMMES.get(), i, new BoundingBox(x, y, z, x + 6 - 1, y, z + 6 - 1).encapsulate(new BlockPos(x, TFDimensionData.SEALEVEL, z))); this.setOrientation(Direction.Plane.HORIZONTAL.getRandomDirection(rand)); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMoundComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMoundComponent.java index 1ae61c030b..572fcf9dae 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMoundComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMoundComponent.java @@ -26,7 +26,6 @@ public MazeMoundComponent(StructurePieceSerializationContext ctx, CompoundTag nb private MazeUpperEntranceComponent mazeAbove; - @SuppressWarnings("this-escape") public MazeMoundComponent(int i, RandomSource rand, int x, int y, int z) { super(TFStructurePieceTypes.TFMMMound.get(), i, new BoundingBox(x, y, z, x + DIAMETER, y + 12, z + DIAMETER)); this.setOrientation(Direction.Plane.HORIZONTAL.getRandomDirection(rand)); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMushRoomComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMushRoomComponent.java index 6f5c68d47c..6433640e3b 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMushRoomComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeMushRoomComponent.java @@ -23,7 +23,6 @@ public MazeMushRoomComponent(StructurePieceSerializationContext ctx, CompoundTag super(TFStructurePieceTypes.TFMMMR.get(), nbt); } - @SuppressWarnings("this-escape") public MazeMushRoomComponent(int i, RandomSource rand, int x, int y, int z) { super(TFStructurePieceTypes.TFMMMR.get(), i, rand, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRoomComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRoomComponent.java index ddd5a5d058..306de07243 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRoomComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRoomComponent.java @@ -28,7 +28,6 @@ public MazeRoomComponent(StructurePieceType piece, CompoundTag nbt) { super(piece, nbt); } - @SuppressWarnings("this-escape") public MazeRoomComponent(StructurePieceType type, int i, RandomSource rand, int x, int y, int z) { super(type, i, x, y, z); this.setOrientation(Direction.Plane.HORIZONTAL.getRandomDirection(rand)); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRuinsComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRuinsComponent.java index 7539f34c34..e246a763b1 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRuinsComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeRuinsComponent.java @@ -28,7 +28,6 @@ public MazeRuinsComponent(StructurePieceSerializationContext ctx, CompoundTag nb super(TFStructurePieceTypes.TFMMRuins.get(), nbt); } - @SuppressWarnings("this-escape") public MazeRuinsComponent(int i, int x, int y, int z) { super(TFStructurePieceTypes.TFMMRuins.get(), i, BoundingBoxUtils.getComponentToAddBoundingBox(x, y, z, 0, 0, 0, 0, 0, 0, Direction.SOUTH, false)); this.setOrientation(Direction.SOUTH); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeUpperEntranceComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeUpperEntranceComponent.java index e978e0d9c3..d19d3f09b7 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeUpperEntranceComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MazeUpperEntranceComponent.java @@ -24,7 +24,6 @@ public MazeUpperEntranceComponent(StructurePieceSerializationContext ctx, Compou super(TFStructurePieceTypes.TFMMUE.get(), nbt); } - @SuppressWarnings("this-escape") public MazeUpperEntranceComponent(int i, RandomSource rand, int x, int y, int z) { super(TFStructurePieceTypes.TFMMUE.get(), i, x, y, z); this.setOrientation(Direction.Plane.HORIZONTAL.getRandomDirection(rand)); diff --git a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MinotaurMazeComponent.java b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MinotaurMazeComponent.java index 4e838c0145..1a559bfb84 100644 --- a/src/main/java/twilightforest/world/components/structures/minotaurmaze/MinotaurMazeComponent.java +++ b/src/main/java/twilightforest/world/components/structures/minotaurmaze/MinotaurMazeComponent.java @@ -27,7 +27,6 @@ public class MinotaurMazeComponent extends TFStructureComponentOld { final int[] rcoords; private final int level; - @SuppressWarnings("this-escape") public MinotaurMazeComponent(StructurePieceSerializationContext ctx, CompoundTag nbt) { super(TFStructurePieceTypes.TFMMaze.get(), nbt); @@ -51,7 +50,6 @@ public MinotaurMazeComponent(StructurePieceSerializationContext ctx, CompoundTag maze.generateRecursiveBacktracker(0, 0); } - @SuppressWarnings("this-escape") public MinotaurMazeComponent(int index, int x, int y, int z, int entranceX, int entranceZ, int level, RandomSource random) { super(TFStructurePieceTypes.TFMMaze.get(), index, x, y, z); this.setOrientation(Direction.SOUTH); diff --git a/src/main/java/twilightforest/world/components/structures/mushroomtower/TowerRoofMushroomComponent.java b/src/main/java/twilightforest/world/components/structures/mushroomtower/TowerRoofMushroomComponent.java index 4fb3952491..2a507e2d1b 100644 --- a/src/main/java/twilightforest/world/components/structures/mushroomtower/TowerRoofMushroomComponent.java +++ b/src/main/java/twilightforest/world/components/structures/mushroomtower/TowerRoofMushroomComponent.java @@ -25,7 +25,6 @@ public TowerRoofMushroomComponent(StructurePieceSerializationContext ctx, Compou super(TFStructurePieceTypes.TFMTRoofMush.get(), nbt); } - @SuppressWarnings("this-escape") public TowerRoofMushroomComponent(int i, TowerWingComponent wing, float pHang, int x, int y, int z) { super(TFStructurePieceTypes.TFMTRoofMush.get(), i, x, y, z); this.height = wing.size; diff --git a/src/main/java/twilightforest/world/components/structures/start/TFStructureStart.java b/src/main/java/twilightforest/world/components/structures/start/TFStructureStart.java index ec17c71d03..c495181426 100644 --- a/src/main/java/twilightforest/world/components/structures/start/TFStructureStart.java +++ b/src/main/java/twilightforest/world/components/structures/start/TFStructureStart.java @@ -32,7 +32,7 @@ public void loadFromTag(CompoundTag nbt) { public final void setConquered(boolean flag, LevelAccessor level) { if (this.conquered != flag) { ChunkPos chunkPos = this.getChunkPos(); - level.getChunk(chunkPos.x, chunkPos.z).setUnsaved(true); + level.getChunk(chunkPos.x, chunkPos.z).markUnsaved(); } this.conquered = flag; diff --git a/src/main/java/twilightforest/world/components/structures/stronghold/KnightStrongholdComponent.java b/src/main/java/twilightforest/world/components/structures/stronghold/KnightStrongholdComponent.java index cca5b164e7..4f1ef0d7f6 100644 --- a/src/main/java/twilightforest/world/components/structures/stronghold/KnightStrongholdComponent.java +++ b/src/main/java/twilightforest/world/components/structures/stronghold/KnightStrongholdComponent.java @@ -33,7 +33,6 @@ public KnightStrongholdComponent(StructurePieceType piece, CompoundTag nbt) { this.readOpeningsFromArray(nbt.getIntArray("doorInts")); } - @SuppressWarnings("this-escape") public KnightStrongholdComponent(StructurePieceType type, int i, Direction facing, int x, int y, int z) { super(type, i, x, y, z); this.boundingBox = generateBoundingBox(facing, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/stronghold/StrongholdAtriumComponent.java b/src/main/java/twilightforest/world/components/structures/stronghold/StrongholdAtriumComponent.java index 54f9e3f4f3..6ce01c8c57 100644 --- a/src/main/java/twilightforest/world/components/structures/stronghold/StrongholdAtriumComponent.java +++ b/src/main/java/twilightforest/world/components/structures/stronghold/StrongholdAtriumComponent.java @@ -150,7 +150,7 @@ private void spawnATree(WorldGenLevel world, ChunkGenerator generator, int treeN // grow a tree for (int i = 0; i < 100; i++) { - if (world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(treeGen).place(world, generator, world.getRandom(), pos)) { + if (world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValueOrThrow(treeGen).place(world, generator, world.getRandom(), pos)) { break; } } diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/CloudCastleComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/CloudCastleComponent.java index 233338ded5..a6f5e88a44 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/CloudCastleComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/CloudCastleComponent.java @@ -4,7 +4,7 @@ import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.WorldGenLevel; @@ -34,7 +34,6 @@ public CloudCastleComponent(StructurePieceSerializationContext ctx, CompoundTag this.warriorPlaced = nbt.getBoolean("warriorPlaced"); } - @SuppressWarnings("this-escape") public CloudCastleComponent(int index, int x, int y, int z) { super(TFStructurePieceTypes.TFClCa.get(), index, x, y, z); this.setOrientation(Direction.SOUTH); @@ -101,10 +100,10 @@ public void postProcess(WorldGenLevel world, StructureManager manager, ChunkGene if (sbb.isInside(pos)) { this.minerPlaced = true; - GiantMiner miner = TFEntities.GIANT_MINER.get().create(world.getLevel()); + GiantMiner miner = TFEntities.GIANT_MINER.get().create(world.getLevel(), EntitySpawnReason.STRUCTURE); miner.setPos(bx, by, bz); miner.setPersistenceRequired(); - EventHooks.finalizeMobSpawn(miner, world, world.getCurrentDifficultyAt(pos), MobSpawnType.STRUCTURE, null); + EventHooks.finalizeMobSpawn(miner, world, world.getCurrentDifficultyAt(pos), EntitySpawnReason.STRUCTURE, null); world.addFreshEntity(miner); } @@ -118,10 +117,10 @@ public void postProcess(WorldGenLevel world, StructureManager manager, ChunkGene if (sbb.isInside(pos)) { this.warriorPlaced = true; - ArmoredGiant warrior = TFEntities.ARMORED_GIANT.get().create(world.getLevel()); + ArmoredGiant warrior = TFEntities.ARMORED_GIANT.get().create(world.getLevel(), EntitySpawnReason.STRUCTURE); warrior.setPos(bx, by, bz); warrior.setPersistenceRequired(); - EventHooks.finalizeMobSpawn(warrior, world, world.getCurrentDifficultyAt(pos), MobSpawnType.STRUCTURE, null); + EventHooks.finalizeMobSpawn(warrior, world, world.getCurrentDifficultyAt(pos), EntitySpawnReason.STRUCTURE, null); world.addFreshEntity(warrior); } diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/CloudTreeComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/CloudTreeComponent.java index 3a7d2a0c33..b9941f414d 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/CloudTreeComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/CloudTreeComponent.java @@ -22,7 +22,6 @@ public CloudTreeComponent(StructurePieceSerializationContext ctx, CompoundTag nb super(TFStructurePieceTypes.TFClTr.get(), nbt); } - @SuppressWarnings("this-escape") public CloudTreeComponent(int index, int x, int y, int z) { super(TFStructurePieceTypes.TFClTr.get(), index, x, y, z); diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java index ddc47022e6..b430d63306 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java @@ -37,7 +37,6 @@ public TrollCaveConnectComponent(StructurePieceSerializationContext ctx, Compoun this.openingTowards[3] = nbt.getBoolean("openingTowards3"); } - @SuppressWarnings("this-escape") public TrollCaveConnectComponent(int index, int x, int y, int z, int caveSize, int caveHeight, Direction direction, Holder.Reference speleothemConfig) { super(TFStructurePieceTypes.TFTCCon.get(), index, x, y, z, speleothemConfig); this.size = caveSize; diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java index c5f7101cfa..dadd29b88d 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java @@ -34,7 +34,6 @@ public TrollCaveGardenComponent(StructurePieceSerializationContext ctx, Compound super(TFStructurePieceTypes.TFTCGard.get(), ctx, nbt); } - @SuppressWarnings("this-escape") public TrollCaveGardenComponent(int index, int x, int y, int z, int caveSize, int caveHeight, Direction direction, Holder.Reference speleothemConfig) { super(TFStructurePieceTypes.TFTCGard.get(), index, x, y, z, speleothemConfig); this.size = caveSize; @@ -50,8 +49,8 @@ public void addChildren(StructurePiece parent, StructurePieceAccessor list, Rand @Override public void postProcess(WorldGenLevel world, StructureManager manager, ChunkGenerator generator, RandomSource rand, BoundingBox sbb, ChunkPos chunkPosIn, BlockPos blockPos) { - Registry biomeRegistry = world.registryAccess().registryOrThrow(Registries.BIOME); - Predicate highlands = biome -> biome == biomeRegistry.get(TFBiomes.HIGHLANDS) || biome == biomeRegistry.get(TFBiomes.HIGHLANDS_UNDERGROUND); + Registry biomeRegistry = world.registryAccess().lookupOrThrow(Registries.BIOME); + Predicate highlands = biome -> biome == biomeRegistry.getValue(TFBiomes.HIGHLANDS) || biome == biomeRegistry.getValue(TFBiomes.HIGHLANDS_UNDERGROUND); if (this.isBoundingBoxOutsideBiomes(world, highlands, blockPos)) { return; } @@ -108,7 +107,7 @@ protected void generate(WorldGenLevel world, ChunkGenerator generator, ResourceK BlockPos pos = new BlockPos(dx, dy, dz); if (sbb.isInside(pos)) { - world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(feature).place(world, generator, rand, pos); + world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValueOrThrow(feature).place(world, generator, rand, pos); } } } diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java index 34dcb8e54b..ebc409a868 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java @@ -56,7 +56,6 @@ public TrollCaveMainComponent(StructurePieceType piece, StructurePieceSerializat this.speleothemConfig = this.speleothemConfigHolder.value(); } - @SuppressWarnings("this-escape") public TrollCaveMainComponent(StructurePieceType type, int i, int x, int y, int z, Holder.Reference speleothemConfig) { super(type, i, x, y, z); this.setOrientation(Direction.SOUTH); // DEPTH_AVERAGE @@ -241,7 +240,7 @@ protected void generateAtSurface(WorldGenLevel world, ChunkGenerator generator, for (int i = 0; i < 15; i++) { pos.move(0, 1, 0); if (sbb.isInside(pos) && world.getBlockState(pos.above()).isAir()) { - world.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).get(feature).place(world, generator, rand, pos); + world.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE).getValueOrThrow(feature).place(world, generator, rand, pos); break; } } diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollVaultComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollVaultComponent.java index dbd442864c..8f1c067464 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollVaultComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollVaultComponent.java @@ -24,7 +24,6 @@ public TrollVaultComponent(StructurePieceSerializationContext ctx, CompoundTag n super(TFStructurePieceTypes.TFTCVa.get(), nbt); } - @SuppressWarnings("this-escape") public TrollVaultComponent(int index, int x, int y, int z) { super(TFStructurePieceTypes.TFTCVa.get(), index, x, y, z); this.setOrientation(Direction.SOUTH); diff --git a/src/main/java/twilightforest/world/components/structures/type/HollowTreeStructure.java b/src/main/java/twilightforest/world/components/structures/type/HollowTreeStructure.java index 039e514093..983b95b9c7 100644 --- a/src/main/java/twilightforest/world/components/structures/type/HollowTreeStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/HollowTreeStructure.java @@ -129,7 +129,7 @@ public Optional findGenerationPoint(GenerationContext context) { int seaFloorY = context.chunkGenerator().getFirstOccupiedHeight(x, z, Heightmap.Types.OCEAN_FLOOR_WG, context.heightAccessor(), context.randomState()); int worldY = context.chunkGenerator().getFirstOccupiedHeight(x, z, Heightmap.Types.WORLD_SURFACE_WG, context.heightAccessor(), context.randomState()); - int height = Math.min(this.height.sample(random) + worldY, context.heightAccessor().getMaxBuildHeight()) - worldY; + int height = Math.min(this.height.sample(random) + worldY, context.heightAccessor().getMaxY()) - worldY; if (height < 16 || (!this.allowInWater && seaFloorY < worldY)) return Optional.empty(); @@ -169,7 +169,7 @@ public StructureStart generateFromSapling(RegistryAccess registryAccess, ChunkGe ChunkPos chunkPos = new ChunkPos(blockPos); RandomSource random = RandomSource.create(seed + chunkPos.x * 25117L + chunkPos.z * 151121L); - int height = Math.min(this.height.sample(random) + blockPos.getY(), heightAccessor.getMaxBuildHeight()) - blockPos.getY(); + int height = Math.min(this.height.sample(random) + blockPos.getY(), heightAccessor.getMaxY()) - blockPos.getY(); if (height < 16) return StructureStart.INVALID_START; diff --git a/src/main/java/twilightforest/world/components/structures/util/ProgressionStructure.java b/src/main/java/twilightforest/world/components/structures/util/ProgressionStructure.java index e19e2fff40..d6aed387ab 100644 --- a/src/main/java/twilightforest/world/components/structures/util/ProgressionStructure.java +++ b/src/main/java/twilightforest/world/components/structures/util/ProgressionStructure.java @@ -6,6 +6,7 @@ import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -74,6 +75,6 @@ public ItemStack createHintBook(RegistryAccess registryAccess) { @Override @Nullable public Mob createHintMonster(Level world) { - return this.hintConfig.hintMob().create(world); + return this.hintConfig.hintMob().create(world, EntitySpawnReason.STRUCTURE); } } diff --git a/src/main/java/twilightforest/world/components/structures/util/StructureHints.java b/src/main/java/twilightforest/world/components/structures/util/StructureHints.java index efdf2c222a..ecff53f694 100644 --- a/src/main/java/twilightforest/world/components/structures/util/StructureHints.java +++ b/src/main/java/twilightforest/world/components/structures/util/StructureHints.java @@ -83,9 +83,9 @@ default void trySpawnHintMonster(Level world, Player player) { void trySpawnHintMonster(Level world, Player player, BlockPos pos); static void tryHintForStructure(Player player, ServerLevel level, ResourceKey forStructure) { - Optional> optStructureReg = level.registryAccess().registry(Registries.STRUCTURE); + Optional> optStructureReg = level.registryAccess().lookup(Registries.STRUCTURE); - if (optStructureReg.isEmpty() || !(optStructureReg.get().get(forStructure) instanceof StructureHints structureHints)) + if (optStructureReg.isEmpty() || !(optStructureReg.get().getValue(forStructure) instanceof StructureHints structureHints)) return; structureHints.trySpawnHintMonster(level, player); diff --git a/src/main/java/twilightforest/world/registration/biomes/BiomeHelper.java b/src/main/java/twilightforest/world/registration/biomes/BiomeHelper.java index 48f3698838..330ca2eae4 100644 --- a/src/main/java/twilightforest/world/registration/biomes/BiomeHelper.java +++ b/src/main/java/twilightforest/world/registration/biomes/BiomeHelper.java @@ -239,7 +239,6 @@ public static BiomeGenerationSettings.Builder streamsAndLakes(HolderGetter Date: Sat, 26 Oct 2024 23:11:32 -0600 Subject: [PATCH 023/239] correct damage sources, use hurtServer instead of hurt --- .../java/twilightforest/block/FieryBlock.java | 5 +-- .../java/twilightforest/block/HedgeBlock.java | 18 ++++++----- .../block/KnightmetalBlock.java | 5 ++- .../twilightforest/block/SliderBlock.java | 3 +- .../twilightforest/block/ThornsBlock.java | 5 ++- .../entity/CarminiteReactorBlockEntity.java | 2 +- .../block/entity/FireJetBlockEntity.java | 7 ++-- .../block/entity/GhastTrapBlockEntity.java | 7 ++-- .../twilightforest/entity/SlideBlock.java | 5 +-- .../entity/ai/goal/GroundAttackGoal.java | 2 +- .../java/twilightforest/entity/boss/Naga.java | 4 +-- .../entity/boss/NagaSegment.java | 4 ++- .../twilightforest/entity/boss/UrGhast.java | 6 ++-- .../entity/monster/BaseIceMob.java | 10 ++++-- .../entity/monster/LoyalZombie.java | 32 +++++++++---------- .../entity/projectile/CubeOfAnnihilation.java | 6 ++-- .../entity/projectile/FallingIce.java | 4 +-- .../entity/projectile/IceBomb.java | 7 ++-- .../entity/projectile/IceSnowball.java | 4 +-- .../entity/projectile/LichBolt.java | 20 +++++++----- .../entity/projectile/LichBomb.java | 2 +- .../entity/projectile/ThrownBlock.java | 11 +++++-- .../entity/projectile/ThrownWep.java | 17 +++++++--- .../entity/projectile/TwilightWandBolt.java | 3 +- .../events/HostileMountEvents.java | 5 +-- .../twilightforest/init/TFDamageTypes.java | 4 --- .../init/custom/Enforcements.java | 2 +- 27 files changed, 114 insertions(+), 86 deletions(-) diff --git a/src/main/java/twilightforest/block/FieryBlock.java b/src/main/java/twilightforest/block/FieryBlock.java index 758fd70045..378b1d9998 100644 --- a/src/main/java/twilightforest/block/FieryBlock.java +++ b/src/main/java/twilightforest/block/FieryBlock.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; @@ -38,10 +39,10 @@ public VoxelShape getOcclusionShape(BlockState state) { @Override public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) { - if ((!entity.fireImmune()) + if (level instanceof ServerLevel serverLevel && !entity.fireImmune() && entity instanceof LivingEntity living && !living.getItemBySlot(EquipmentSlot.FEET).is(TFItems.FIERY_BOOTS.get())) { - living.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.FIERY), 1.0F); + living.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.FIERY), 1.0F); } super.stepOn(level, pos, state, entity); diff --git a/src/main/java/twilightforest/block/HedgeBlock.java b/src/main/java/twilightforest/block/HedgeBlock.java index d0cefaa41b..81b54195dc 100644 --- a/src/main/java/twilightforest/block/HedgeBlock.java +++ b/src/main/java/twilightforest/block/HedgeBlock.java @@ -49,22 +49,22 @@ public PathType getBlockPathType(BlockState state, BlockGetter getter, BlockPos @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - if (this.shouldDamage(entity)) { - entity.hurt(level.damageSources().cactus(), DAMAGE); + if (this.shouldDamage(entity) && level instanceof ServerLevel serverLevel) { + entity.hurtServer(serverLevel, serverLevel.damageSources().cactus(), DAMAGE); } } @Override public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) { - if (this.shouldDamage(entity)) { - entity.hurt(level.damageSources().cactus(), DAMAGE); + if (this.shouldDamage(entity) && level instanceof ServerLevel serverLevel) { + entity.hurtServer(serverLevel, serverLevel.damageSources().cactus(), DAMAGE); } } @Override public void attack(BlockState state, Level level, BlockPos pos, Player player) { - if (!level.isClientSide()) { - player.hurt(level.damageSources().cactus(), DAMAGE); + if (level instanceof ServerLevel serverLevel) { + player.hurtServer(serverLevel, level.damageSources().cactus(), DAMAGE); level.scheduleTick(pos, this, 10); } } @@ -72,7 +72,9 @@ public void attack(BlockState state, Level level, BlockPos pos, Player player) { @Override public void playerDestroy(Level level, Player player, BlockPos pos, BlockState state, @Nullable BlockEntity te, ItemStack stack) { super.playerDestroy(level, player, pos, state, te, stack); - player.hurt(level.damageSources().cactus(), DAMAGE); + if (level instanceof ServerLevel serverLevel) { + player.hurtServer(serverLevel, serverLevel.damageSources().cactus(), DAMAGE); + } } @Override @@ -87,7 +89,7 @@ public void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource // are they pointing at this block? if (ray.getType() == HitResult.Type.BLOCK && pos.equals(ray.getBlockPos())) { // prick them! prick them hard! - player.hurt(level.damageSources().cactus(), DAMAGE); + player.hurtServer(level, level.damageSources().cactus(), DAMAGE); // trigger this again! level.scheduleTick(pos, this, 10); diff --git a/src/main/java/twilightforest/block/KnightmetalBlock.java b/src/main/java/twilightforest/block/KnightmetalBlock.java index 483fbbfce7..ac72bd0635 100644 --- a/src/main/java/twilightforest/block/KnightmetalBlock.java +++ b/src/main/java/twilightforest/block/KnightmetalBlock.java @@ -5,6 +5,7 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.FluidTags; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; @@ -78,7 +79,9 @@ public PathType getBlockPathType(BlockState state, BlockGetter getter, BlockPos @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.KNIGHTMETAL), BLOCK_DAMAGE); + if (level instanceof ServerLevel serverLevel) { + entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.KNIGHTMETAL), BLOCK_DAMAGE); + } } @Override diff --git a/src/main/java/twilightforest/block/SliderBlock.java b/src/main/java/twilightforest/block/SliderBlock.java index 73758c8538..fa2e9e5d7a 100644 --- a/src/main/java/twilightforest/block/SliderBlock.java +++ b/src/main/java/twilightforest/block/SliderBlock.java @@ -133,8 +133,7 @@ public void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldS @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.SLIDER), BLOCK_DAMAGE); - if (entity instanceof LivingEntity living) { + if (level instanceof ServerLevel serverLevel && entity instanceof LivingEntity living && entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.SLIDER), BLOCK_DAMAGE)) { double kx = (pos.getX() + 0.5 - entity.getX()) * 2.0; double kz = (pos.getZ() + 0.5 - entity.getZ()) * 2.0; diff --git a/src/main/java/twilightforest/block/ThornsBlock.java b/src/main/java/twilightforest/block/ThornsBlock.java index b0e9da724e..b647a2deba 100644 --- a/src/main/java/twilightforest/block/ThornsBlock.java +++ b/src/main/java/twilightforest/block/ThornsBlock.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; @@ -78,7 +79,9 @@ public PathType getBlockPathType(BlockState state, BlockGetter getter, BlockPos @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.THORNS), THORN_DAMAGE); + if (level instanceof ServerLevel serverLevel) { + entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.THORNS), THORN_DAMAGE); + } } @Override diff --git a/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java b/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java index 2498e62520..0fbdd90672 100644 --- a/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/CarminiteReactorBlockEntity.java @@ -134,7 +134,7 @@ public static void tick(Level level, BlockPos pos, BlockState state, CarminiteRe if (te.counter >= 350) { // deactivate & explode level.destroyBlock(pos, false); - level.explode(null, TFDamageTypes.getDamageSource(level, TFDamageTypes.REACTOR), null, pos.getX(), pos.getY(), pos.getZ(), 4.0F, true, Level.ExplosionInteraction.BLOCK); + level.explode(null, level.damageSources().source(TFDamageTypes.REACTOR), null, pos.getX(), pos.getY(), pos.getZ(), 4.0F, true, Level.ExplosionInteraction.BLOCK); // spawn mini ghasts near the secondary & tertiary points for (int i = 0; i < 3; i++) { diff --git a/src/main/java/twilightforest/block/entity/FireJetBlockEntity.java b/src/main/java/twilightforest/block/entity/FireJetBlockEntity.java index e962cfb91b..9b3ca296bd 100644 --- a/src/main/java/twilightforest/block/entity/FireJetBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/FireJetBlockEntity.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -89,7 +90,7 @@ private void tickFlame(Level level, BlockPos pos, BlockState state, FireJetBlock } // actual fire effects - if (!level.isClientSide()) { + if (level instanceof ServerLevel serverLevel) { if (te.counter % 5 == 0) { // find entities in the area of effect List entitiesInRange = level.getEntitiesOfClass(Entity.class, @@ -97,8 +98,8 @@ private void tickFlame(Level level, BlockPos pos, BlockState state, FireJetBlock // fire! for (Entity entity : entitiesInRange) { if (!entity.fireImmune()) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.FIRE_JET), 2); - entity.setRemainingFireTicks(300); + entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.FIRE_JET), 2); + entity.igniteForSeconds(15); } } } diff --git a/src/main/java/twilightforest/block/entity/GhastTrapBlockEntity.java b/src/main/java/twilightforest/block/entity/GhastTrapBlockEntity.java index 5cc1133e52..5d3dc16d80 100644 --- a/src/main/java/twilightforest/block/entity/GhastTrapBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/GhastTrapBlockEntity.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Mob; @@ -110,7 +111,7 @@ public boolean triggerEvent(int event, int payload) { private void tickActive(Level level, BlockPos pos, BlockState state, GhastTrapBlockEntity te) { ++te.counter; - if (level.isClientSide()) { + if (!(level instanceof ServerLevel serverLevel)) { // smoke when done if (te.counter > 100 && te.counter % 4 == 0) { level.addParticle(TFParticleType.HUGE_SMOKE.get(), pos.getX() + 0.5, pos.getY() + 0.95, pos.getZ() + 0.5, Math.cos(te.counter / 10.0) * 0.05, 0.25D, Math.sin(te.counter / 10.0) * 0.05); @@ -158,7 +159,7 @@ private void tickActive(Level level, BlockPos pos, BlockState state, GhastTrapBl ghast.setDeltaMovement(mx, my, mz); if (te.rand.nextInt(10) == 0) { - ghast.hurt(level.damageSources().generic(), 7); + ghast.hurtServer(serverLevel, serverLevel.damageSources().generic(), 7); urghast.resetDamageUntilNextPhase(); } @@ -170,7 +171,7 @@ private void tickActive(Level level, BlockPos pos, BlockState state, GhastTrapBl ghast.setDeltaMovement(mx, my, mz); if (te.rand.nextInt(10) == 0) { - ghast.hurt(level.damageSources().generic(), 10); + ghast.hurtServer(serverLevel, serverLevel.damageSources().generic(), 10); } } diff --git a/src/main/java/twilightforest/entity/SlideBlock.java b/src/main/java/twilightforest/entity/SlideBlock.java index fbde134054..af78b37aa0 100644 --- a/src/main/java/twilightforest/entity/SlideBlock.java +++ b/src/main/java/twilightforest/entity/SlideBlock.java @@ -166,12 +166,9 @@ public void tick() { private void damageKnockbackEntities(List entities) { for (Entity entity : entities) { - if (entity instanceof LivingEntity living) { - living.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.SLIDER), 5.0F); - + if (this.level() instanceof ServerLevel level && entity instanceof LivingEntity living && living.hurtServer(level, level.damageSources().source(TFDamageTypes.SLIDER), 5.0F)) { double kx = (this.getX() - entity.getX()) * 2.0D; double kz = (this.getZ() - entity.getZ()) * 2.0D; - living.knockback(2.0F, kx, kz); } } diff --git a/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java b/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java index f01cd1e039..51b1e74888 100644 --- a/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/GroundAttackGoal.java @@ -88,7 +88,7 @@ public void tick() { for (Entity entity : hit) { if (entity.onGround()) { entity.push(0.0D, 0.23D, 0.0D); - entity.hurt(TFDamageTypes.getEntityDamageSource(this.attacker.level(), TFDamageTypes.SLAM, this.attacker), (float) (this.attacker.getAttributeValue(Attributes.ATTACK_DAMAGE) * 0.5F)); + entity.hurtServer(getServerLevel(this.attacker), this.attacker.level().damageSources().source(TFDamageTypes.SLAM, this.attacker), (float) (this.attacker.getAttributeValue(Attributes.ATTACK_DAMAGE) * 0.5F)); } } } diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index 356d07f88e..b4257d24de 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -372,7 +372,7 @@ public boolean doHurtTarget(ServerLevel level, Entity toAttack) { player.getUseItem().hurtAndBreak(5, player, LivingEntity.getSlotForHand(player.getUsedItemHand())); PacketDistributor.sendToPlayer(player, new MovePlayerPacket(motion.x() * 3.0D, motion.y() + 0.75D, motion.z() * 3.0D)); } - this.hurt(this.damageSources().generic(), 2.0F); + this.hurtServer(level, this.damageSources().generic(), 2.0F); this.level().playSound(null, toAttack.blockPosition(), SoundEvents.SHIELD_BLOCK, SoundSource.PLAYERS, 1.0F, 0.8F + this.level().getRandom().nextFloat() * 0.4F); this.getMovementPattern().doDaze(); return false; @@ -383,7 +383,7 @@ public boolean doHurtTarget(ServerLevel level, Entity toAttack) { player.stopUsingItem(); this.level().broadcastEntityEvent(player, (byte) 30); } - living.hurt(this.damageSources().mobAttack(this), 4.0F); + living.hurtServer(level, this.damageSources().mobAttack(this), 4.0F); this.playSound(SoundEvents.FOX_BITE, 2.0F, 0.5F); this.getMovementPattern().doCircle(); return false; diff --git a/src/main/java/twilightforest/entity/boss/NagaSegment.java b/src/main/java/twilightforest/entity/boss/NagaSegment.java index 629bb4bd08..62e82f94a4 100644 --- a/src/main/java/twilightforest/entity/boss/NagaSegment.java +++ b/src/main/java/twilightforest/entity/boss/NagaSegment.java @@ -102,7 +102,9 @@ private void collideWithEntity(Entity entity) { attackStrength *= 3; } - entity.hurt(entity.level().damageSources().mobAttack(this.getParent()), attackStrength); + if (this.level() instanceof ServerLevel level) { + entity.hurtServer(level, level.damageSources().mobAttack(this.getParent()), attackStrength); + } } } diff --git a/src/main/java/twilightforest/entity/boss/UrGhast.java b/src/main/java/twilightforest/entity/boss/UrGhast.java index 89962cde04..a93fafeb02 100644 --- a/src/main/java/twilightforest/entity/boss/UrGhast.java +++ b/src/main/java/twilightforest/entity/boss/UrGhast.java @@ -315,7 +315,7 @@ protected void customServerAiStep(ServerLevel level) { } if (this.tickCount % 10 == 0) { - this.doTantrumDamageEffects(); + this.doTantrumDamageEffects(level); } } } @@ -358,13 +358,13 @@ private List scanForTraps(ServerLevel level) { .collect(Collectors.toList()); } - private void doTantrumDamageEffects() { + private void doTantrumDamageEffects(ServerLevel level) { // harm player below AABB below = this.getBoundingBox().move(0.0D, -16.0D, 0.0D).inflate(0.0D, 16.0D, 0.0D); for (Player player : this.level().getEntitiesOfClass(Player.class, below)) { if (this.level().canSeeSkyFromBelowWater(player.blockPosition())) { - player.hurt(TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.GHAST_TEAR, this, TFEntities.UR_GHAST.get()), 3); + player.hurtServer(level, TFDamageTypes.getEntityDamageSource(this.level(), TFDamageTypes.GHAST_TEAR, this, TFEntities.UR_GHAST.get()), 3); } } diff --git a/src/main/java/twilightforest/entity/monster/BaseIceMob.java b/src/main/java/twilightforest/entity/monster/BaseIceMob.java index ad8ad70969..03e5c2099b 100644 --- a/src/main/java/twilightforest/entity/monster/BaseIceMob.java +++ b/src/main/java/twilightforest/entity/monster/BaseIceMob.java @@ -1,6 +1,7 @@ package twilightforest.entity.monster; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.BiomeTags; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -35,9 +36,14 @@ public void aiStep() { } } } - if (this.level().getBiome(this.blockPosition()).is(BiomeTags.SNOW_GOLEM_MELTS) && this.tickCount % 20 == 0) { + } + + @Override + protected void customServerAiStep(ServerLevel level) { + super.customServerAiStep(level); + if (this.tickCount % 20 == 0 && level.getBiome(this.blockPosition()).is(BiomeTags.SNOW_GOLEM_MELTS)) { //BURN!!! - this.hurt(this.damageSources().onFire(), 1.0F); + this.hurtServer(level, this.damageSources().onFire(), 1.0F); } } diff --git a/src/main/java/twilightforest/entity/monster/LoyalZombie.java b/src/main/java/twilightforest/entity/monster/LoyalZombie.java index ff0ffd071d..97d2c3da7d 100644 --- a/src/main/java/twilightforest/entity/monster/LoyalZombie.java +++ b/src/main/java/twilightforest/entity/monster/LoyalZombie.java @@ -20,6 +20,7 @@ import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.horse.AbstractHorse; +import net.minecraft.world.entity.decoration.ArmorStand; import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.entity.monster.Ghast; import net.minecraft.world.entity.monster.Monster; @@ -78,16 +79,15 @@ public boolean doHurtTarget(ServerLevel level, Entity entity) { } @Override - public void aiStep() { + protected void customServerAiStep(ServerLevel level) { // once our damage boost effect wears out, start to decay // the effect here is that we die shortly after our 60 second lifespan - if (!this.level().isClientSide() && this.getEffect(MobEffects.DAMAGE_BOOST) == null) { + if (this.getEffect(MobEffects.DAMAGE_BOOST) == null) { if (this.tickCount % 20 == 0) { - this.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.EXPIRED), 2); + this.hurtServer(level, this.damageSources().source(TFDamageTypes.EXPIRED), 2); } } - - super.aiStep(); + super.customServerAiStep(level); } @Override @@ -110,18 +110,18 @@ public InteractionResult interactAt(Player player, Vec3 vec3, InteractionHand ha */ @Override public boolean wantsToAttack(LivingEntity target, LivingEntity owner) { - if (!(target instanceof Creeper) && !(target instanceof Ghast)) { - if (target instanceof LoyalZombie zombie) { - return !zombie.isTame() || zombie.getOwner() != owner; - } else if (target instanceof Player pTarget && owner instanceof Player pOwner && !pOwner.canHarmPlayer(pTarget)) { - return false; - } else if (target instanceof AbstractHorse horse && horse.isTamed()) { - return false; - } else { - return !(target instanceof TamableAnimal animal) || !animal.isTame(); - } - } else { + if (target instanceof Creeper || target instanceof Ghast || target instanceof ArmorStand) { return false; + } else if (target instanceof LoyalZombie zombie) { + return !zombie.isTame() || zombie.getOwner() != owner; + } else { + return switch (target) { + case Player player when owner instanceof Player player1 && !player1.canHarmPlayer(player) -> false; + case AbstractHorse abstracthorse when abstracthorse.isTamed() -> false; + case TamableAnimal tamableanimal when tamableanimal.isTame() -> false; + default -> true; + }; + } } diff --git a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java index bc78890364..61f01146c6 100644 --- a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java +++ b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java @@ -62,7 +62,7 @@ protected double getDefaultGravity() { @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (result.getEntity() instanceof LivingEntity && result.getEntity().hurtServer((ServerLevel) this.level(), this.getDamageSource(), 10)) { + if (this.level() instanceof ServerLevel level && result.getEntity() instanceof LivingEntity && result.getEntity().hurtServer(level, this.getDamageSource(), 10)) { this.tickCount += 60; } } @@ -86,8 +86,8 @@ protected void onHit(HitResult result) { private DamageSource getDamageSource() { LivingEntity thrower = (LivingEntity) this.getOwner(); - if (thrower instanceof Player) { - return this.damageSources().playerAttack((Player) thrower); + if (thrower instanceof Player player) { + return this.damageSources().playerAttack(player); } else if (thrower != null) { return this.damageSources().mobAttack(thrower); } else { diff --git a/src/main/java/twilightforest/entity/projectile/FallingIce.java b/src/main/java/twilightforest/entity/projectile/FallingIce.java index 4301472eda..ad54dc5f55 100644 --- a/src/main/java/twilightforest/entity/projectile/FallingIce.java +++ b/src/main/java/twilightforest/entity/projectile/FallingIce.java @@ -199,8 +199,8 @@ public boolean causeFallDamage(float dist, float multiplier, DamageSource source if (realDist >= 0) { float dmg = (float) Math.min(Mth.floor((float) realDist * this.damagePerDifficulty[this.level().getDifficulty().getId()]), this.fallDamageMax); this.level().getEntities(this, this.getBoundingBox().inflate(1.0F, 0.0F, 1.0F), EntitySelector.NO_SPECTATORS).forEach((entity) -> { - if (!(entity instanceof AlphaYeti)) { - entity.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.FALLING_ICE), dmg); + if (!(entity instanceof AlphaYeti) && this.level() instanceof ServerLevel level) { + entity.hurtServer(level, this.damageSources().source(TFDamageTypes.FALLING_ICE), dmg); } }); } diff --git a/src/main/java/twilightforest/entity/projectile/IceBomb.java b/src/main/java/twilightforest/entity/projectile/IceBomb.java index 3f937988b4..ed84a5583c 100644 --- a/src/main/java/twilightforest/entity/projectile/IceBomb.java +++ b/src/main/java/twilightforest/entity/projectile/IceBomb.java @@ -4,6 +4,7 @@ import net.minecraft.core.Position; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.EntityTypeTags; import net.minecraft.util.Mth; import net.minecraft.world.entity.EntityType; @@ -156,9 +157,9 @@ private void hitNearbyEntities() { } private void inflictDamage(LivingEntity entity, int dmgMultiplier) { - if (!entity.getType().is(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES)) { - entity.hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.FROZEN, this, this.getOwner()), - (entity.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES) ? 5.0F : 1.0F) * dmgMultiplier); + if (!entity.getType().is(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES) && this.level() instanceof ServerLevel level && + entity.hurtServer(level, this.damageSources().source(TFDamageTypes.FROZEN, this, this.getOwner()), + (entity.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES) ? 5.0F : 1.0F) * dmgMultiplier)) { ApplyFrostedEffect.doChillAuraEffect(entity, 100 * dmgMultiplier, 0, true); } } diff --git a/src/main/java/twilightforest/entity/projectile/IceSnowball.java b/src/main/java/twilightforest/entity/projectile/IceSnowball.java index f58e8755d4..698a9daf41 100644 --- a/src/main/java/twilightforest/entity/projectile/IceSnowball.java +++ b/src/main/java/twilightforest/entity/projectile/IceSnowball.java @@ -59,8 +59,8 @@ public void handleEntityEvent(byte id) { protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); Entity target = result.getEntity(); - if (!this.level().isClientSide() && target instanceof LivingEntity) - target.hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.SNOWBALL_FIGHT, this, this.getOwner()), DAMAGE); + if (this.level() instanceof ServerLevel level && target instanceof LivingEntity) + target.hurtServer(level, this.damageSources().source(TFDamageTypes.SNOWBALL_FIGHT, this, this.getOwner()), DAMAGE); } @Override diff --git a/src/main/java/twilightforest/entity/projectile/LichBolt.java b/src/main/java/twilightforest/entity/projectile/LichBolt.java index 9a2a5816d1..cea7948063 100644 --- a/src/main/java/twilightforest/entity/projectile/LichBolt.java +++ b/src/main/java/twilightforest/entity/projectile/LichBolt.java @@ -93,19 +93,23 @@ protected void onHitBlock(BlockHitResult result) { this.discard(); } + @Override + protected boolean canHitEntity(Entity target) { + if (target instanceof LichBolt || target instanceof LichBomb || (target instanceof Lich lich && lich.isShadowClone())) { + return false; + } + return super.canHitEntity(target); + } + @Override protected void onHitEntity(EntityHitResult result) { Entity hit = result.getEntity(); - if (hit instanceof LichBolt || hit instanceof LichBomb || (hit instanceof Lich lich && lich.isShadowClone())) { - return; - } - if (!this.level().isClientSide()) { - if (hit instanceof LivingEntity) { - hit.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.LICH_BOLT, TFEntities.LICH.get()), 6); + if (this.level() instanceof ServerLevel level) { + if (hit instanceof LivingEntity && hit.hurtServer(level, TFDamageTypes.getIndirectEntityDamageSource(level, TFDamageTypes.LICH_BOLT, this, this.getOwner(), TFEntities.LICH.get()), 6)) { + this.level().broadcastEntityEvent(this, (byte) 3); + this.discard(); } - this.level().broadcastEntityEvent(this, (byte) 3); - this.discard(); } } } diff --git a/src/main/java/twilightforest/entity/projectile/LichBomb.java b/src/main/java/twilightforest/entity/projectile/LichBomb.java index 3540a4fb80..9d1116e2b8 100644 --- a/src/main/java/twilightforest/entity/projectile/LichBomb.java +++ b/src/main/java/twilightforest/entity/projectile/LichBomb.java @@ -74,7 +74,7 @@ public boolean hurtServer(ServerLevel level, DamageSource source, float amount) private void explode() { if (!this.level().isClientSide()) { - this.level().explode(this, TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.LICH_BOMB, TFEntities.LICH.get()), null, this.getX(), this.getY(), this.getZ(), 2.0F, false, Level.ExplosionInteraction.NONE); + this.level().explode(this, TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.LICH_BOMB, this, this.getOwner(), TFEntities.LICH.get()), null, this.getX(), this.getY(), this.getZ(), 2.0F, false, Level.ExplosionInteraction.NONE); this.discard(); } } diff --git a/src/main/java/twilightforest/entity/projectile/ThrownBlock.java b/src/main/java/twilightforest/entity/projectile/ThrownBlock.java index e247e21348..e25ed2b764 100644 --- a/src/main/java/twilightforest/entity/projectile/ThrownBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ThrownBlock.java @@ -11,6 +11,8 @@ import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; import net.minecraft.server.level.ServerEntity; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityEvent; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -65,12 +67,15 @@ public void handleEntityEvent(byte id) { } } + @Override + protected boolean canHitEntity(Entity target) { + return !(target instanceof Troll) && super.canHitEntity(target); + } + @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (result.getEntity() instanceof LivingEntity living && !(living instanceof Troll) && !this.level().isClientSide()) { - living.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.THROWN_BLOCK), 6); - + if (result.getEntity() instanceof LivingEntity living && this.level() instanceof ServerLevel level && living.hurtServer(level, level.damageSources().source(TFDamageTypes.THROWN_BLOCK), 6)) { this.level().broadcastEntityEvent(this, (byte) 3); this.discard(); } diff --git a/src/main/java/twilightforest/entity/projectile/ThrownWep.java b/src/main/java/twilightforest/entity/projectile/ThrownWep.java index d37887d38d..49e8a20888 100644 --- a/src/main/java/twilightforest/entity/projectile/ThrownWep.java +++ b/src/main/java/twilightforest/entity/projectile/ThrownWep.java @@ -4,6 +4,8 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityEvent; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -66,15 +68,20 @@ public void handleEntityEvent(byte id) { } } + @Override + protected boolean canHitEntity(Entity target) { + if (target instanceof KnightPhantom || target == this.getOwner()) { + return false; + } + return super.canHitEntity(target); + } + @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (result.getEntity() instanceof KnightPhantom || result.getEntity() == this.getOwner()) { - return; - } - if (!this.level().isClientSide()) { - result.getEntity().hurt(TFDamageTypes.getDamageSource(this.level(), this.getItem().getItem() == TFItems.KNIGHTMETAL_PICKAXE.get() ? TFDamageTypes.THROWN_PICKAXE : TFDamageTypes.THROWN_AXE), this.projectileDamage); + if (this.level() instanceof ServerLevel level) { + result.getEntity().hurtServer(level, level.damageSources().source(this.getItem().getItem() == TFItems.KNIGHTMETAL_PICKAXE.get() ? TFDamageTypes.THROWN_PICKAXE : TFDamageTypes.THROWN_AXE), this.projectileDamage); } } diff --git a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java index 27e2c0d739..06c40f6011 100644 --- a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java @@ -75,8 +75,7 @@ public void handleEntityEvent(byte id) { @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - if (!this.level().isClientSide()) { - result.getEntity().hurt(TFDamageTypes.getIndirectEntityDamageSource(this.level(), TFDamageTypes.TWILIGHT_SCEPTER, this, this.getOwner()), 6); + if (this.level() instanceof ServerLevel level && result.getEntity().hurtServer(level, level.damageSources().source(TFDamageTypes.TWILIGHT_SCEPTER, this, this.getOwner()), 6)) { this.level().playSound(null, result.getEntity().blockPosition(), TFSounds.TWILIGHT_SCEPTER_HIT.get(), this.getOwner() != null ? this.getOwner().getSoundSource() : SoundSource.PLAYERS); this.level().broadcastEntityEvent(this, (byte) 3); this.discard(); diff --git a/src/main/java/twilightforest/events/HostileMountEvents.java b/src/main/java/twilightforest/events/HostileMountEvents.java index 6964b06580..f380ab8a81 100644 --- a/src/main/java/twilightforest/events/HostileMountEvents.java +++ b/src/main/java/twilightforest/events/HostileMountEvents.java @@ -1,5 +1,6 @@ package twilightforest.events; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; @@ -30,10 +31,10 @@ public static void entityHurts(LivingIncomingDamageEvent event) { event.setCanceled(true); } - if (damageSource.is(DamageTypes.FALL) && living.getData(TFDataAttachments.YETI_THROWING).getThrown()) { + if (living.level() instanceof ServerLevel level && damageSource.is(DamageTypes.FALL) && living.getData(TFDataAttachments.YETI_THROWING).getThrown()) { float amount = event.getAmount(); event.setCanceled(true); - living.hurt(TFDamageTypes.getEntityDamageSource(living.level(), TFDamageTypes.YEETED, living.getData(TFDataAttachments.YETI_THROWING).getThrower()), amount); + living.hurtServer(level, level.damageSources().source(TFDamageTypes.YEETED, living.getData(TFDataAttachments.YETI_THROWING).getThrower()), amount); } } diff --git a/src/main/java/twilightforest/init/TFDamageTypes.java b/src/main/java/twilightforest/init/TFDamageTypes.java index 19c155bd06..45a3472088 100644 --- a/src/main/java/twilightforest/init/TFDamageTypes.java +++ b/src/main/java/twilightforest/init/TFDamageTypes.java @@ -62,10 +62,6 @@ public static ResourceKey create(String name) { return ResourceKey.create(Registries.DAMAGE_TYPE, TwilightForestMod.prefix(name)); } - public static DamageSource getDamageSource(Level level, ResourceKey type, EntityType... toIgnore) { - return getEntityDamageSource(level, type, null, toIgnore); - } - public static DamageSource getEntityDamageSource(Level level, ResourceKey type, @Nullable Entity attacker, EntityType... toIgnore) { return getIndirectEntityDamageSource(level, type, attacker, attacker, toIgnore); } diff --git a/src/main/java/twilightforest/init/custom/Enforcements.java b/src/main/java/twilightforest/init/custom/Enforcements.java index 820227a835..2c43c3e056 100644 --- a/src/main/java/twilightforest/init/custom/Enforcements.java +++ b/src/main/java/twilightforest/init/custom/Enforcements.java @@ -44,7 +44,7 @@ public class Enforcements { public static final DeferredHolder ACID_RAIN = ENFORCEMENTS.register("acid_rain", () -> new Enforcement((player, level, restriction) -> { if (player.tickCount % 5 == 0 && level.tickRateManager().runsNormally()) { - if (player.hurtServer(level, TFDamageTypes.getDamageSource(level, TFDamageTypes.ACID_RAIN), restriction.multiplier())) { + if (player.hurtServer(level, level.damageSources().source(TFDamageTypes.ACID_RAIN), restriction.multiplier())) { level.playSound(null, player.getX(), player.getY(), player.getZ(), TFSounds.ACID_RAIN_BURNS.get(), SoundSource.PLAYERS, 1.0F, 1.0F); } } From edebbbd2fc77583c53085d96fa2b4b8902f9d49f Mon Sep 17 00:00:00 2001 From: drullkus Date: Sun, 27 Oct 2024 13:13:24 -0700 Subject: [PATCH 024/239] Shader fixes --- .../java/twilightforest/client/TFShaders.java | 120 ++---------------- .../client/event/ClientEvents.java | 39 +++++- .../shaders/core/aurora/aurora.json | 23 +--- .../shaders/core/red_thread/red_thread.json | 39 +++--- 4 files changed, 66 insertions(+), 155 deletions(-) diff --git a/src/main/java/twilightforest/client/TFShaders.java b/src/main/java/twilightforest/client/TFShaders.java index 92f25adbe6..f55ed39e20 100644 --- a/src/main/java/twilightforest/client/TFShaders.java +++ b/src/main/java/twilightforest/client/TFShaders.java @@ -1,124 +1,20 @@ package twilightforest.client; -import com.mojang.blaze3d.shaders.Uniform; -import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; -import net.minecraft.client.renderer.ShaderInstance; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.resources.ResourceProvider; +import net.minecraft.client.renderer.ShaderDefines; +import net.minecraft.client.renderer.ShaderProgram; import net.neoforged.neoforge.client.event.RegisterShadersEvent; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import java.io.IOException; - public class TFShaders { - public static ShaderInstance RED_THREAD; - public static PositionAwareShaderInstance AURORA; + public static ShaderProgram RED_THREAD; + public static ShaderProgram AURORA; public static void registerShaders(RegisterShadersEvent event) { - try { - event.registerShader(new ShaderInstance(event.getResourceProvider(), TwilightForestMod.prefix("red_thread/red_thread"), DefaultVertexFormat.BLOCK), - shader -> RED_THREAD = shader); - event.registerShader(new PositionAwareShaderInstance(event.getResourceProvider(), TwilightForestMod.prefix("aurora/aurora"), DefaultVertexFormat.POSITION_COLOR), - shader -> AURORA = (PositionAwareShaderInstance) shader); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public static class BindableShaderInstance extends ShaderInstance { - - private ShaderInstance last; - - public BindableShaderInstance(ResourceProvider p_173336_, ResourceLocation shaderLocation, VertexFormat p_173338_) throws IOException { - super(p_173336_, shaderLocation, p_173338_); - } - - ShaderInstance getSelf() { - return this; - } - - public final void bind(@Nullable Runnable exec) { - last = RenderSystem.getShader(); - RenderSystem.setShader(this::getSelf); - if (exec != null) - exec.run(); - apply(); - } - - public final void runThenClear(Runnable exec) { - exec.run(); - clear(); - RenderSystem.setShader(() -> last); - last = null; - } - - public final void invokeThenClear(@Nullable Runnable execBind, Runnable execPost) { - bind(execBind); - runThenClear(execPost); - } - - public final void invokeThenClear(Runnable execPost) { - invokeThenClear(null, execPost); - } - - public final void invokeThenEndTesselator(@Nullable Runnable execBind, BufferBuilder builder) { - invokeThenClear(execBind, () -> BufferUploader.drawWithShader(builder.buildOrThrow())); - } - - public final void invokeThenEndTesselator(BufferBuilder builder) { - invokeThenClear(() -> BufferUploader.drawWithShader(builder.buildOrThrow())); - } - + RED_THREAD = new ShaderProgram(TwilightForestMod.prefix("red_thread/red_thread"), DefaultVertexFormat.BLOCK, ShaderDefines.EMPTY); + event.registerShader(RED_THREAD); + AURORA = new ShaderProgram(TwilightForestMod.prefix("aurora/aurora"), DefaultVertexFormat.POSITION_COLOR, ShaderDefines.EMPTY); + event.registerShader(AURORA); } - - public static class PositionAwareShaderInstance extends BindableShaderInstance { - - @Nullable - public final Uniform SEED; - - @Nullable - public final Uniform POSITION; - - public PositionAwareShaderInstance(ResourceProvider p_173336_, ResourceLocation shaderLocation, VertexFormat p_173338_) throws IOException { - super(p_173336_, shaderLocation, p_173338_); - SEED = getUniform("SeedContext"); - POSITION = getUniform("PositionContext"); - } - - public final void setValue(int seed, float x, float y, float z) { - if (SEED != null) { - SEED.set(seed); - } - if (POSITION != null) { - POSITION.set(x, y, z); - } - } - - public final void setValueBindApply(int seed, float x, float y, float z) { - bind(() -> setValue(seed, x, y, z)); - } - - public final void reset() { - setValue(0, 0, 0, 0); - } - - public final void resetClear() { - runThenClear(this::reset); - } - - public final void invokeThenClear(int seed, float x, float y, float z, Runnable exec) { - setValueBindApply(seed, x, y, z); - exec.run(); - resetClear(); - } - - public final void invokeThenEndTesselator(int seed, float x, float y, float z, BufferBuilder builder) { - invokeThenClear(seed, x, y, z, () -> BufferUploader.drawWithShader(builder.buildOrThrow())); - } - - } - } diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index f4b4a9e469..be41be77ec 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -1,6 +1,7 @@ package twilightforest.client.event; import com.ibm.icu.text.RuleBasedNumberFormat; +import com.mojang.blaze3d.shaders.Uniform; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; import net.minecraft.ChatFormatting; @@ -10,8 +11,10 @@ import net.minecraft.client.model.HeadedModel; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.CompiledShaderProgram; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.state.EntityRenderState; +import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; @@ -156,7 +159,15 @@ private static void removeHostileMountHealth(RenderGuiLayerEvent.Pre event) { private static void renderAurora(RenderLevelStageEvent event) { if (Minecraft.getInstance().level == null) return; - if (event.getStage() == RenderLevelStageEvent.Stage.AFTER_WEATHER && (aurora > 0 || lastAurora > 0) && TFShaders.AURORA != null) { + if (event.getStage() == RenderLevelStageEvent.Stage.AFTER_WEATHER && (aurora > 0 || lastAurora > 0)) { + CompiledShaderProgram auroraShader = Minecraft.getInstance().getShaderManager().getProgram(TFShaders.AURORA); + if (auroraShader == null) + return; + Uniform seedUniform = auroraShader.getUniform("SeedContext"); + Uniform positionUniform = auroraShader.getUniform("PositionContext"); + if (seedUniform == null || positionUniform == null) + return; + Tesselator tesselator = Tesselator.getInstance(); BufferBuilder buffer = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); @@ -171,15 +182,35 @@ private static void renderAurora(RenderLevelStageEvent event) { RenderSystem.enableBlend(); RenderSystem.enableDepthTest(); RenderSystem.setShaderColor(1F, 1F, 1F, (Mth.lerp(event.getPartialTick().getGameTimeDeltaTicks(), lastAurora, aurora)) / 60F * 0.5F); - TFShaders.AURORA.invokeThenEndTesselator( - Minecraft.getInstance().level == null ? 0 : Mth.abs((int) Minecraft.getInstance().level.getBiomeManager().biomeZoomSeed), - (float) pos.x(), (float) pos.y(), (float) pos.z(), buffer); + int seed = Minecraft.getInstance().level == null ? 0 : Mth.abs((int) Minecraft.getInstance().level.getBiomeManager().biomeZoomSeed); + bindShaderDraw(auroraShader, seed, pos, buffer, seedUniform, positionUniform); RenderSystem.setShaderColor(1F, 1F, 1F, 1F); RenderSystem.disableDepthTest(); RenderSystem.disableBlend(); } } + private static void bindShaderDraw(CompiledShaderProgram auroraShader, int seed, Vec3 pos, BufferBuilder buffer, Uniform seedUniform, Uniform positionUniform) { + var last = RenderSystem.getShader(); + RenderSystem.setShader(auroraShader); + + // Set Uniforms + seedUniform.set(seed); + positionUniform.set((float) pos.x(), (float) pos.y(), (float) pos.z()); + + // Actually bind shader + auroraShader.apply(); + BufferUploader.drawWithShader(buffer.buildOrThrow()); + + // Reset Uniforms + seedUniform.set(0); + positionUniform.set(0f, 0f, 0f); + + // Unbind shader + auroraShader.clear(); + RenderSystem.setShader(last); + } + private static void killVignette(RenderFrameEvent.Pre event) { Minecraft minecraft = Minecraft.getInstance(); // only fire if we're in the twilight forest diff --git a/src/main/resources/assets/twilightforest/shaders/core/aurora/aurora.json b/src/main/resources/assets/twilightforest/shaders/core/aurora/aurora.json index 4a289d21bf..80c4818ce4 100644 --- a/src/main/resources/assets/twilightforest/shaders/core/aurora/aurora.json +++ b/src/main/resources/assets/twilightforest/shaders/core/aurora/aurora.json @@ -1,22 +1,13 @@ { - "blend": { - "func": "add", - "srcrgb": "srcalpha", - "dstrgb": "1-srcalpha" - }, - "vertex": "twilightforest:aurora/aurora", - "fragment": "twilightforest:aurora/aurora", - "attributes": [ - "Position", - "Color" - ], + "vertex": "twilightforest:core/aurora/aurora", + "fragment": "twilightforest:core/aurora/aurora", "samplers": [], "uniforms": [ - { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, - { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, - { "name": "SeedContext", "type": "int", "count": 1, "values": [ 0 ] }, - { "name": "PositionContext", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] }, - { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }, + { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "SeedContext", "type": "int", "count": 1, "values": [ 0 ] }, + { "name": "PositionContext", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] }, + { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }, { "name": "GameTime", "type": "float", "count": 1, "values": [ 0.0 ] }, { "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] }, { "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] }, diff --git a/src/main/resources/assets/twilightforest/shaders/core/red_thread/red_thread.json b/src/main/resources/assets/twilightforest/shaders/core/red_thread/red_thread.json index 5bbb5edab1..74d28c2ba0 100644 --- a/src/main/resources/assets/twilightforest/shaders/core/red_thread/red_thread.json +++ b/src/main/resources/assets/twilightforest/shaders/core/red_thread/red_thread.json @@ -1,30 +1,23 @@ { - "blend": { - "func": "add", - "srcrgb": "srcalpha", - "dstrgb": "1-srcalpha" + "vertex": "minecraft:core/terrain", + "fragment": "minecraft:core/terrain", + "defines": { + "values": { + "ALPHA_CUTOUT": "0.1" + } }, - "vertex": "rendertype_cutout", - "fragment": "rendertype_cutout", - "attributes": [ - "Position", - "Color", - "UV0", - "UV2", - "Normal" - ], "samplers": [ - { "name": "Sampler0" }, - { "name": "Sampler2" } + { "name": "Sampler0" }, + { "name": "Sampler2" } ], "uniforms": [ - { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, - { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, - { "name": "ChunkOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] }, - { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }, - { "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] }, - { "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] }, - { "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] }, - { "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] } + { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "ModelOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] }, + { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }, + { "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] }, + { "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] }, + { "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] }, + { "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] } ] } From 78d066ed255588198ccf6656d89086330b374ead Mon Sep 17 00:00:00 2001 From: drullkus Date: Sun, 27 Oct 2024 13:13:48 -0700 Subject: [PATCH 025/239] Sure, fixed this too --- src/main/java/twilightforest/client/event/ClientEvents.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index be41be77ec..04180d45df 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -313,7 +313,7 @@ private static void updateBowFOV(ComputeFovModifierEvent event) { private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) { ItemStack stack = event.getRenderState().headItem; boolean visible = !(stack.getItem() instanceof TrophyItem) && !(stack.getItem() instanceof SkullCandleItem) && !areCuriosEquipped(event.getRenderState()); - boolean isPlayer = event.getEntity() instanceof Player; + boolean isPlayer = event.getRenderState() instanceof PlayerRenderState; if (event.getRenderer().getModel() instanceof HeadedModel headedModel) { headedModel.getHead().visible = visible && (!isPlayer || headedModel.getHead().visible); // some mods like Better Combat can move player's head and hide it in the first person view if (event.getRenderer().getModel() instanceof HumanoidModel humanoidModel) { From 12ffb590a0e80e9cdaf5a258675c9ae2f8e98bae Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 17:56:29 +0100 Subject: [PATCH 026/239] port layers --- gradle.properties | 4 +- .../client/event/ClientEvents.java | 29 ++++++++++++++- .../client/event/RegistrationEvents.java | 9 ++--- .../renderer/entity/layers/IceLayer.java | 37 +++++++++++-------- .../renderer/entity/layers/ShieldLayer.java | 22 +++++++---- 5 files changed, 68 insertions(+), 33 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3059c9de03..524ecc7907 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,10 +13,10 @@ group_name=com.github.teamtwilight.twilightforest # Minecraft base_minecraft_version=1.21 -minecraft_version=1.21.2 +minecraft_version=1.21.3 # NeoForge: https://projects.neoforged.net/neoforged/neoforge -neo_version=21.2.0-beta +neo_version=21.3.56 mdg_version=1.0.1 # Deps diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index 04180d45df..dc56cc4fb9 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -25,6 +25,9 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; +import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -41,6 +44,7 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.neoforge.client.event.*; import net.neoforged.neoforge.client.gui.VanillaGuiLayers; +import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; import twilightforest.TwilightForestMod; @@ -52,17 +56,23 @@ import twilightforest.client.ISTER; import twilightforest.client.OptifineWarningScreen; import twilightforest.client.TFShaders; +import twilightforest.client.renderer.entity.layers.IceLayer; +import twilightforest.client.renderer.entity.layers.ShieldLayer; import twilightforest.config.TFConfig; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.entity.boss.bar.ClientTFBossBar; import twilightforest.events.HostileMountEvents; -import twilightforest.init.*; +import twilightforest.init.TFDataComponents; +import twilightforest.init.TFDimension; import twilightforest.item.*; +import twilightforest.potions.FrostedEffect; import twilightforest.util.HolderMatcher; import java.time.LocalDate; import java.time.Month; -import java.util.*; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; public class ClientEvents { private static final VoxelShape GIANT_BLOCK = Shapes.box(0.0D, 0.0D, 0.0D, 4.0D, 4.0D, 4.0D); @@ -89,6 +99,7 @@ public static void initGameEvents() { NeoForge.EVENT_BUS.addListener(ClientEvents::removeHostileMountHealth); NeoForge.EVENT_BUS.addListener(ClientEvents::renderAurora); NeoForge.EVENT_BUS.addListener(ClientEvents::renderCustomBossbars); + NeoForge.EVENT_BUS.addListener(ClientEvents::registerCustomRenderData); NeoForge.EVENT_BUS.addListener(ClientEvents::renderGiantBlockOutlines); NeoForge.EVENT_BUS.addListener(ClientEvents::setMusicInDimension); NeoForge.EVENT_BUS.addListener(ClientEvents::shakeCamera); @@ -383,4 +394,18 @@ private static void renderCustomBossbars(CustomizeGuiOverlayEvent.BossEventProgr bossEvent.renderBossBar(event.getGuiGraphics(), event.getX(), event.getY()); } } + + private static void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { + event.registerEntityModifier(ShieldLayer.SHIELD_TYPE_TOKEN, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); + event.registerEntityModifier(IceLayer.FROST_TYPE_TOKEN, (living, state) -> { + AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); + if (speed == null) return; + + AttributeModifier frost = speed.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); + if (frost == null) return; + + state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); + state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); + }); + } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 3da5db019a..275f5f1334 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -3,7 +3,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.model.*; import net.minecraft.client.model.geom.LayerDefinitions; -import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.model.geom.builders.CubeDeformation; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.multiplayer.ClientLevel; @@ -61,9 +60,8 @@ import twilightforest.client.model.entity.*; import twilightforest.client.model.item.TrollsteinnModel; import twilightforest.client.particle.*; -import twilightforest.client.renderer.TFSkyRenderer; -import twilightforest.client.renderer.entity.*; import twilightforest.client.renderer.block.*; +import twilightforest.client.renderer.entity.*; import twilightforest.client.renderer.entity.layers.IceLayer; import twilightforest.client.renderer.entity.layers.ShieldLayer; import twilightforest.client.renderer.map.ConqueredMapIconRenderer; @@ -653,12 +651,13 @@ private static void registerMapDecorators(RegisterMapDecorationRenderersEvent ev event.register(TFMapDecorations.FINAL_CASTLE.get(), new ConqueredMapIconRenderer()); } - private static void attachRenderLayers(EntityRenderersEvent.AddLayers event) { + @SuppressWarnings("unchecked")//Should be fine…? + private static > void attachRenderLayers(EntityRenderersEvent.AddLayers event) { BakedMultiPartRenderers.bakeMultiPartRenderers(event.getContext()); for (EntityType type : event.getEntityTypes()) { var renderer = event.getRenderer(type); if (renderer instanceof LivingEntityRenderer living) { - attachRenderLayers(living); + attachRenderLayers((LivingEntityRenderer) living); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java index 658bc3de9b..759b56e814 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java @@ -1,50 +1,55 @@ package twilightforest.client.renderer.entity.layers; +import com.google.common.reflect.TypeToken; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; +import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.util.RandomSource; +import net.minecraft.util.context.ContextKey; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.client.model.data.ModelData; +import twilightforest.TwilightForestMod; import twilightforest.client.model.entity.DeathTomeModel; import twilightforest.potions.FrostedEffect; -public class IceLayer> extends RenderLayer { +public class IceLayer> extends RenderLayer { private final RandomSource random = RandomSource.create(); - public IceLayer(RenderLayerParent renderer) { + public static TypeToken>> FROST_TYPE_TOKEN = new TypeToken<>() {}; + public static ContextKey FROST_COUNT_KEY = new ContextKey<>(TwilightForestMod.prefix("frost_count")); + public static ContextKey FROST_ID_KEY = new ContextKey<>(TwilightForestMod.prefix("frost_id")); + + public IceLayer(RenderLayerParent renderer) { super(renderer); } @Override - public void render(PoseStack stack, MultiBufferSource buffer, int light, T entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - AttributeInstance speed = entity.getAttribute(Attributes.MOVEMENT_SPEED); - if (speed == null) return; - - AttributeModifier frost = speed.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); - if (frost == null) return; + public void render(PoseStack stack, MultiBufferSource buffer, int light, S state, float netHeadYaw, float headPitch) { + Double count = state.getRenderData(FROST_COUNT_KEY); + if (count == null || count <= 0.0D) return; + Integer id = state.getRenderData(FROST_ID_KEY); + if (id == null) return; - this.random.setSeed(entity.getId() * entity.getId() * 3121L + entity.getId() * 45238971L); + this.random.setSeed(id * id * 3121L + id * 45238971L); - int numCubes = (int) (entity.getBbHeight() / 0.4F) + (int) (frost.amount() / FrostedEffect.FROST_MULTIPLIER) + 1; //Number of cubes, adds more cubes based on the level of the effect + int numCubes = (int) (state.boundingBoxHeight / 0.4F) + (int) (count / FrostedEffect.FROST_MULTIPLIER) + 1; //Number of cubes, adds more cubes based on the level of the effect float specialOffset = this.getParentModel() instanceof DeathTomeModel ? 1.0F : 0.0F; for (int i = 0; i < numCubes; i++) { //Render cubes stack.pushPose(); - float dx = ((this.random.nextFloat() * (entity.getBbWidth() * 2.0F)) - entity.getBbWidth()) * 0.1F; - float dy = Math.max(1.5F - (this.random.nextFloat()) * (entity.getBbHeight() - specialOffset), -0.1F) - specialOffset; //Gotta limit the height because otherwise frozen giants make blocks spawn like 10 blocks above them - float dz = ((this.random.nextFloat() * (entity.getBbWidth() * 2.0F)) - entity.getBbWidth()) * 0.1F; + float dx = ((this.random.nextFloat() * (state.boundingBoxWidth * 2.0F)) - state.boundingBoxWidth) * 0.1F; + float dy = Math.max(1.5F - (this.random.nextFloat()) * (state.boundingBoxHeight - specialOffset), -0.1F) - specialOffset; //Gotta limit the height because otherwise frozen giants make blocks spawn like 10 blocks above them + float dz = ((this.random.nextFloat() * (state.boundingBoxWidth * 2.0F)) - state.boundingBoxWidth) * 0.1F; stack.translate(dx, dy, dz); stack.scale(0.5F, 0.5F, 0.5F); stack.mulPose(Axis.XP.rotationDegrees(this.random.nextFloat() * 360F)); diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java index dc6379deb9..299b37d0a8 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java @@ -1,11 +1,13 @@ package twilightforest.client.renderer.entity.layers; +import com.google.common.reflect.TypeToken; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; @@ -14,6 +16,8 @@ import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.Direction; import net.minecraft.util.Mth; +import net.minecraft.util.context.ContextKey; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.client.model.data.ModelData; import org.apache.commons.lang3.ArrayUtils; @@ -26,31 +30,33 @@ public class ShieldLayer>> SHIELD_TYPE_TOKEN = new TypeToken<>() {}; + public static ContextKey SHIELD_COUNT_KEY = new ContextKey<>(TwilightForestMod.prefix("shield_count")); + public ShieldLayer(RenderLayerParent renderer) { super(renderer); } @Override public void render(PoseStack stack, MultiBufferSource source, int light, S state, float netHeadYaw, float headPitch) { - if (this.getShieldCount(entity) > 0) { - this.renderShields(stack, source, state); + Integer count = state.getRenderData(SHIELD_COUNT_KEY); + if (count != null && count > 0) { + this.renderShields(stack, source, state, count); } } - //TODO oh no... - private int getShieldCount(T entity) { + public static int getShieldCount(LivingEntity entity) { return entity instanceof Lich lich ? lich.getShieldStrength() : entity.getData(TFDataAttachments.FORTIFICATION_SHIELDS).shieldsLeft(); } - private void renderShields(PoseStack stack, MultiBufferSource buffer, S state) { + private void renderShields(PoseStack stack, MultiBufferSource buffer, S state, int count) { float age = state.ageInTicks; float rotateAngleY = age / -5.0F; float rotateAngleX = Mth.sin(age / 5.0F) / 4.0F; float rotateAngleZ = Mth.cos(age / 5.0F) / 4.0F; - int count = getShieldCount(entity); for (int c = 0; c < count; c++) { stack.pushPose(); @@ -68,8 +74,8 @@ private void renderShields(PoseStack stack, MultiBufferSource buffer, S state) { for (Direction dir : DIRS) { Minecraft.getInstance().getItemRenderer().renderQuadList( stack, - buffer.getBuffer(Sheets.translucentCullBlockSheet()), - model.getQuads(null, dir, entity.getRandom(), ModelData.EMPTY, Sheets.translucentCullBlockSheet()), + buffer.getBuffer(Sheets.translucentItemSheet()), + model.getQuads(null, dir, Minecraft.getInstance().font.random, ModelData.EMPTY, Sheets.translucentItemSheet()), ItemStack.EMPTY, 0xF000F0, OverlayTexture.NO_OVERLAY From 27a8ec43ee17cb4e7ead24de5cb36c091719d3f8 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 17:57:00 +0100 Subject: [PATCH 027/239] deferred egg items are no more --- src/main/java/twilightforest/init/TFEntities.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index f59af60374..30536f66a7 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -10,7 +10,7 @@ import net.minecraft.world.entity.vehicle.Boat; import net.minecraft.world.entity.vehicle.ChestBoat; import net.minecraft.world.item.Item; -import net.neoforged.neoforge.common.DeferredSpawnEggItem; +import net.minecraft.world.item.SpawnEggItem; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; import org.jetbrains.annotations.Nullable; @@ -152,7 +152,7 @@ public static DeferredHolder, EntityType< public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, int primaryColor, int secondaryColor, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); - SPAWN_EGGS.register(name + "_spawn_egg", () -> new DeferredSpawnEggItem(ret, primaryColor, secondaryColor, new Item.Properties())); + SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), primaryColor, secondaryColor, new Item.Properties())); ATTRIBUTES.put(ret, attributes); if (predicate != null) { SPAWN_PREDICATES.put(ret, predicate); From 5aabf655c2b9bf84ce0ec62bff649baee3374f08 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 22:18:54 +0100 Subject: [PATCH 028/239] port uncrafting recipe --- .../java/twilightforest/item/recipe/UncraftingRecipe.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java index 97ccd5408c..42ba947bb2 100644 --- a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java +++ b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java @@ -12,8 +12,6 @@ import net.minecraft.world.level.Level; import twilightforest.init.TFRecipes; -import java.util.Arrays; - public class UncraftingRecipe extends ShapedRecipe { private final int cost; @@ -41,7 +39,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider provider) { //Checks if the itemStack is a part of the ingredient when UncraftingMenu's getRecipesFor() method iterates through all recipes. public boolean isItemStackAnIngredient(ItemStack stack) { - return Arrays.stream(this.input.getItems()).anyMatch(i -> (stack.getItem() == i.getItem() && stack.getCount() >= this.count)); + return this.input.items().stream().anyMatch(i -> (stack.is(i.value()) && stack.getCount() >= this.count)); } @Override From f71a21533abe42519eca4578f69a7c0f70d03df6 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 22:19:09 +0100 Subject: [PATCH 029/239] maybe port block and chain? --- src/main/java/twilightforest/item/ChainBlockItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/item/ChainBlockItem.java b/src/main/java/twilightforest/item/ChainBlockItem.java index 763f8c9f58..551a37451f 100644 --- a/src/main/java/twilightforest/item/ChainBlockItem.java +++ b/src/main/java/twilightforest/item/ChainBlockItem.java @@ -85,7 +85,7 @@ public boolean isCorrectToolForDrops(ItemStack stack, BlockState state) { MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); if (server != null) { int destruction = stack.getEnchantmentLevel(server.registryAccess().holderOrThrow(TFEnchantments.DESTRUCTION)); - if (destruction > 0) return this.getHarvestLevel(destruction).createToolProperties(BlockTagGenerator.MINEABLE_WITH_BLOCK_AND_CHAIN).isCorrectForDrops(state); + if (destruction > 0) return !state.is(this.getHarvestLevel(destruction).incorrectBlocksForDrops()); //FIXME 1.21.3 } return false; } From bb16f952841deacd7826993cecaef4beab99b32e Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 22:22:59 +0100 Subject: [PATCH 030/239] port uncraftingTable???? I hope shit is serverside --- .../inventory/UncraftingMenu.java | 92 ++++++++++--------- .../inventory/slot/UncraftingResultSlot.java | 15 ++- .../resources/META-INF/accesstransformer.cfg | 6 +- 3 files changed, 66 insertions(+), 47 deletions(-) diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index d21747d491..ff1582035c 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -10,8 +10,6 @@ import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.player.StackedContents; -import net.minecraft.world.entity.player.StackedItemContents; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; @@ -31,14 +29,15 @@ import twilightforest.data.tags.ItemTagGenerator; import twilightforest.init.TFBlocks; import twilightforest.init.TFMenuTypes; -import twilightforest.init.TFRecipes; import twilightforest.inventory.slot.AssemblySlot; import twilightforest.inventory.slot.UncraftingResultSlot; import twilightforest.inventory.slot.UncraftingSlot; import twilightforest.item.recipe.UncraftingRecipe; import twilightforest.util.TFItemStackUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.StringJoiner; public class UncraftingMenu extends AbstractCraftingMenu { @@ -66,7 +65,7 @@ public class UncraftingMenu extends AbstractCraftingMenu { // Store the currently selected recipe for use later down the line. // Currently used for determining if the recipe is an uncrafting one and for determining custom costs @Nullable - public Recipe storedGhostRecipe = null; + public CraftingRecipe storedGhostRecipe = null; public static UncraftingMenu fromNetwork(int id, Inventory inventory) { return new UncraftingMenu(id, inventory, inventory.player.level(), ContainerLevelAccess.NULL); @@ -132,13 +131,13 @@ public void slotsChanged(Container inventory) { // see if there is a recipe for the input ItemStack inputStack = tinkerInput.getItem(0); - Recipe[] recipes = getRecipesFor(inputStack, this.level); + CraftingRecipe[] recipes = getRecipesFor(inputStack, this.level); int size = recipes.length; if (size > 0 && !inputStack.is(ItemTagGenerator.BANNED_UNCRAFTABLES)) { - Recipe recipe = recipes[Math.floorMod(this.unrecipeInCycle, size)]; + CraftingRecipe recipe = recipes[Math.floorMod(this.unrecipeInCycle, size)]; this.storedGhostRecipe = recipe; ItemStack[] recipeItems = this.getIngredients(recipe); @@ -190,7 +189,7 @@ public void slotsChanged(Container inventory) { } // store number of items this recipe produces (and thus how many input items are required for uncrafting) - this.uncraftingMatrix.numberOfInputItems = recipe instanceof UncraftingRecipe uncraftingRecipe ? uncraftingRecipe.getCount() : recipe.getResultItem(this.level.registryAccess()).getCount(); //Uncrafting recipes need this method call + this.uncraftingMatrix.numberOfInputItems = recipe instanceof UncraftingRecipe uncraftingRecipe ? uncraftingRecipe.getCount() : recipe.assemble(this.craftSlots.asCraftInput(), this.level.registryAccess()).getCount(); //Uncrafting recipes need this method call this.uncraftingMatrix.uncraftingCost = this.calculateUncraftingCost(); this.uncraftingMatrix.recraftingCost = 0; @@ -281,60 +280,69 @@ private static ItemStack normalizeIngredient(ItemStack ingredient) { return ingredient; } - private static Recipe[] getRecipesFor(ItemStack inputStack, Level world) { + private static CraftingRecipe[] getRecipesFor(ItemStack inputStack, Level world) { - List> recipes = new ArrayList<>(); + List recipes = new ArrayList<>(); - if (!inputStack.isEmpty()) { - for (RecipeHolder recipe : world.getRecipeManager().getRecipes()) { - if (isRecipeSupported(recipe.value()) && - !recipe.value().isIncomplete() && - recipe.value().canCraftInDimensions(3, 3) && - !recipe.value().getIngredients().isEmpty() && - matches(inputStack, recipe.value().getResultItem(world.registryAccess())) && - TFConfig.reverseRecipeBlacklist == TFConfig.disableUncraftingRecipes.contains(recipe.id().toString())) { - if (TFConfig.flipUncraftingModIdList == TFConfig.blacklistedUncraftingModIds.contains(recipe.id().getNamespace())) { - recipes.add(recipe.value()); + if (!inputStack.isEmpty() && world instanceof ServerLevel level) { + for (RecipeHolder holder : level.recipeAccess().getRecipes()) { + if (holder.value() instanceof CraftingRecipe recipe) { + if (isRecipeSupported(inputStack, recipe) && TFConfig.reverseRecipeBlacklist == TFConfig.disableUncraftingRecipes.contains(holder.id().toString())) { + if (TFConfig.flipUncraftingModIdList == TFConfig.blacklistedUncraftingModIds.contains(holder.id().location().getNamespace())) { + recipes.add(recipe); + } } + if (recipe instanceof UncraftingRecipe uncraftingRecipe && uncraftingRecipe.isItemStackAnIngredient(inputStack)) recipes.add(uncraftingRecipe); } } - for (RecipeHolder uncraftingRecipe : world.getRecipeManager().getAllRecipesFor(TFRecipes.UNCRAFTING_RECIPE.get())) { - if (uncraftingRecipe.value().isItemStackAnIngredient(inputStack)) recipes.add(uncraftingRecipe.value()); - } } - return recipes.toArray(new Recipe[0]); + return recipes.toArray(new CraftingRecipe[0]); } - private static boolean isRecipeSupported(Recipe recipe) { + protected static boolean isRecipeSupported(ItemStack inputStack, CraftingRecipe recipe) { + if (recipe instanceof ShapedRecipe shapedRecipe) { + return isComplete(shapedRecipe.placementInfo().ingredients()) && + shapedRecipe.pattern.width() <= 3 && shapedRecipe.pattern.height() <= 3 && + matches(inputStack, shapedRecipe.result); + } else if (TFConfig.allowShapelessUncrafting && recipe instanceof ShapelessRecipe shapelessRecipe) { + return isComplete(shapelessRecipe.placementInfo().ingredients()) && + shapelessRecipe.placementInfo().ingredients().size() <= 9 && + matches(inputStack, shapelessRecipe.result); + } + return TFConfig.allowShapelessUncrafting ? recipe instanceof CraftingRecipe : recipe instanceof ShapedRecipe; } + protected static boolean isComplete(List list) { //TODO: check if properly ported + return !list.isEmpty() && list.stream().noneMatch((ingredient) -> ingredient.items().isEmpty()); + } + private static boolean matches(ItemStack input, ItemStack output) { return input.is(output.getItem()) && input.getCount() >= output.getCount(); } - @SuppressWarnings({"unchecked", "rawtypes"}) - private static RecipeHolder[] getRecipesFor(CraftingInput input, Level level) { - return level.getRecipeManager().getRecipesFor(RecipeType.CRAFTING, input, level).toArray(new RecipeHolder[0]); + private static List> getRecipesFor(CraftingInput input, ServerLevel level) { + return level.recipeAccess().recipeMap().getRecipesFor(RecipeType.CRAFTING, input, level).toList(); } private void chooseRecipe(CraftingInput input) { + if (this.level instanceof ServerLevel serverLevel) { + List> recipes = getRecipesFor(input, serverLevel); - RecipeHolder[] recipes = getRecipesFor(input, this.level); - - if (recipes.length == 0) { - this.tinkerResult.setItem(0, ItemStack.EMPTY); - return; - } + if (recipes.isEmpty()) { + this.tinkerResult.setItem(0, ItemStack.EMPTY); + return; + } - RecipeHolder recipe = recipes[Math.floorMod(this.recipeInCycle, recipes.length)]; + RecipeHolder recipe = recipes.get(Math.floorMod(this.recipeInCycle, recipes.size())); - if (recipe != null && (!this.level.getGameRules().getBoolean(GameRules.RULE_LIMITED_CRAFTING) || ((ServerPlayer) this.player).getRecipeBook().contains(recipe.id()))) { - this.tinkerResult.setRecipeUsed(recipe); - this.tinkerResult.setItem(0, recipe.value().assemble(input, this.level.registryAccess())); - } else { - this.tinkerResult.setItem(0, ItemStack.EMPTY); + if (recipe != null && (!serverLevel.getGameRules().getBoolean(GameRules.RULE_LIMITED_CRAFTING) || ((ServerPlayer) this.player).getRecipeBook().contains(recipe.id()))) { + this.tinkerResult.setRecipeUsed(recipe); + this.tinkerResult.setItem(0, recipe.value().assemble(input, this.level.registryAccess())); + } else { + this.tinkerResult.setItem(0, ItemStack.EMPTY); + } } } @@ -596,11 +604,11 @@ public void removed(Player player) { }); } - private ItemStack[] getIngredients(Recipe recipe) { + private ItemStack[] getIngredients(CraftingRecipe recipe) { ItemStack[] stacks = new ItemStack[recipe.display().size()]; for (int i = 0; i < recipe.display().size(); i++) { - ItemStack[] matchingStacks = Arrays.stream(recipe.getIngredients().get(i).getItems()).filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).toArray(ItemStack[]::new); + ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).items().stream().filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); stacks[i] = matchingStacks.length > 0 ? matchingStacks[Math.floorMod(this.ingredientsInCycle, matchingStacks.length)] : ItemStack.EMPTY; } diff --git a/src/main/java/twilightforest/inventory/slot/UncraftingResultSlot.java b/src/main/java/twilightforest/inventory/slot/UncraftingResultSlot.java index d57416e536..76e0a36371 100644 --- a/src/main/java/twilightforest/inventory/slot/UncraftingResultSlot.java +++ b/src/main/java/twilightforest/inventory/slot/UncraftingResultSlot.java @@ -1,6 +1,7 @@ package twilightforest.inventory.slot; import net.minecraft.core.NonNullList; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.CraftingContainer; @@ -11,6 +12,7 @@ import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import net.neoforged.neoforge.common.CommonHooks; +import twilightforest.TwilightForestMod; import twilightforest.inventory.UncraftingContainer; import twilightforest.inventory.UncraftingMenu; @@ -36,14 +38,19 @@ public UncraftingResultSlot(Player player, Container input, Container uncrafting @Override public void onTake(Player player, ItemStack stack) { + if (!(player.level() instanceof ServerLevel level)) { + TwilightForestMod.LOGGER.error("FUCK");//FIXME 1.21.3 + return; + } + // let's see, if the assembly matrix can produce this item, then it's a normal recipe, if not, it's combined. Will that work? boolean combined = true; //clear the temp map, just in case this.tempRemainderMap.clear(); - for (RecipeHolder recipe : player.level().getRecipeManager().getRecipesFor(RecipeType.CRAFTING, this.assemblyMatrix.asCraftInput(), this.player.level())) { - if (ItemStack.isSameItemSameComponents(recipe.value().getResultItem(player.level().registryAccess()), stack)) { + for (RecipeHolder recipe : level.recipeAccess().recipeMap().getRecipesFor(RecipeType.CRAFTING, this.assemblyMatrix.asCraftInput(), level).toList()) { + if (ItemStack.isSameItemSameComponents(recipe.value().assemble(this.assemblyMatrix.asCraftInput(), player.level().registryAccess()), stack)) { combined = false; break; } @@ -77,14 +84,14 @@ public void onTake(Player player, ItemStack stack) { int i = positioned.left(); int j = positioned.top(); CommonHooks.setCraftingPlayer(player); - NonNullList remainingItems = player.level().getRecipeManager().getRemainingItemsFor(RecipeType.CRAFTING, input, player.level()); + NonNullList remainingItems = level.recipeAccess().getRecipeFor(RecipeType.CRAFTING, input, player.level()).map(holder -> holder.value().getRemainingItems(this.assemblyMatrix.asCraftInput())).orElse(null); CommonHooks.setCraftingPlayer(null); for (int k = 0; k < input.height(); k++) { for (int l = 0; l < input.width(); l++) { int index = l + i + (k + j) * this.assemblyMatrix.getWidth(); ItemStack currentStack = this.assemblyMatrix.getItem(index); - ItemStack remainingStack = remainingItems.get(l + k * input.width()); + ItemStack remainingStack = remainingItems != null ? remainingItems.get(l + k * input.width()) : ItemStack.EMPTY; if (!currentStack.isEmpty()) { this.assemblyMatrix.removeItem(index, 1); currentStack = this.assemblyMatrix.getItem(index); diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 8dcb7b3e8b..6ea37debe8 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -230,4 +230,8 @@ public net.minecraft.world.level.BaseSpawner spawnDelay public net.minecraft.client.renderer.entity.EntityRenderDispatcher renderers public net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher renderers -public net.minecraft.core.cauldron.CauldronInteraction dyedItemIteration(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/InteractionResult; \ No newline at end of file +public net.minecraft.core.cauldron.CauldronInteraction dyedItemIteration(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/InteractionResult; + +# UncraftingMenu +public net.minecraft.world.item.crafting.ShapedRecipe result +public net.minecraft.world.item.crafting.ShapelessRecipe result From d162b38f57f921b2fc08d986c1eb6408e2e68f76 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 1 Dec 2024 22:23:14 +0100 Subject: [PATCH 031/239] port MultiplayerBasedAdditionLootFunction --- .../loot/MultiplayerBasedAdditionLootFunction.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java b/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java index 2616d93238..7b111a6e8d 100644 --- a/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java +++ b/src/main/java/twilightforest/loot/MultiplayerBasedAdditionLootFunction.java @@ -50,7 +50,7 @@ protected ItemStack run(ItemStack stack, LootContext context) { int participatingPlayers = qualifiedPlayers - 1; int extraItems = this.value.getInt(context) * participatingPlayers; stack.setCount(Mth.clamp(stack.getCount() + extraItems, 0, stack.getMaxStackSize())); - TwilightForestMod.LOGGER.debug("{} extra players participated in a fight against {}, dropping {} extra {} for a total of {}.", participatingPlayers, context.getParameter(LootContextParams.THIS_ENTITY).getType().getDescription().getString(), extraItems, stack.getItem().getDescription().getString(), stack.getCount()); + TwilightForestMod.LOGGER.debug("{} extra players participated in a fight against {}, dropping {} extra {} for a total of {}.", participatingPlayers, context.getParameter(LootContextParams.THIS_ENTITY).getType().getDescription().getString(), extraItems, stack.getItem().getName().getString(), stack.getCount()); } } } From b01047d0d4086994f98457f537d354c978ac5a7a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 15:14:39 +0100 Subject: [PATCH 032/239] client level no longer has gamerules :( --- .../client/event/LockedBiomeToastHandler.java | 4 ++-- .../client/renderer/TFWeatherRenderer.java | 4 ++-- .../network/EnforceProgressionStatusPacket.java | 9 +++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java b/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java index 6a9b45af90..7ef3ff811f 100644 --- a/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java +++ b/src/main/java/twilightforest/client/event/LockedBiomeToastHandler.java @@ -6,7 +6,7 @@ import net.neoforged.neoforge.client.event.ClientTickEvent; import twilightforest.client.LockedBiomeToast; import twilightforest.config.TFConfig; -import twilightforest.util.landmarks.LandmarkUtil; +import twilightforest.network.EnforceProgressionStatusPacket; import twilightforest.util.Restriction; import java.util.Optional; @@ -23,7 +23,7 @@ protected static void tickLockedToastLogic(ClientTickEvent.Post event) { //attempt to send a biome locked toast if our player is in a locked biome, only every 5 ticks if (level.isClientSide() && player.tickCount % 5 == 0 - && LandmarkUtil.isProgressionEnforced(level) + && EnforceProgressionStatusPacket.enforcedProgression && !player.isCreative() && !player.isSpectator() && !TFConfig.disableLockedBiomeToasts) { Optional restriction = Restriction.getRestrictionForBiome(level.getBiome(player.blockPosition()).value(), player); if (restriction.isPresent() && restriction.get().lockedBiomeToast() != null) { diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index 07b6c1aea1..a7397044c1 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -35,7 +35,7 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.init.custom.Enforcements; -import twilightforest.util.landmarks.LandmarkUtil; +import twilightforest.network.EnforceProgressionStatusPacket; import twilightforest.util.Restriction; import java.util.Optional; @@ -75,7 +75,7 @@ public class TFWeatherRenderer { public static boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTicks, LightTexture lightmap, Vec3 camera) { Minecraft mc = Minecraft.getInstance(); - if (LandmarkUtil.isProgressionEnforced(level) && mc.player != null && !mc.player.isCreative() && !mc.player.isSpectator()) { + if (EnforceProgressionStatusPacket.enforcedProgression && mc.player != null && !mc.player.isCreative() && !mc.player.isSpectator()) { // locked biome weather effects renderLockedBiome(ticks, partialTicks, level, lightmap, mc.player, camera); diff --git a/src/main/java/twilightforest/network/EnforceProgressionStatusPacket.java b/src/main/java/twilightforest/network/EnforceProgressionStatusPacket.java index a90449fce4..e7303d1c80 100644 --- a/src/main/java/twilightforest/network/EnforceProgressionStatusPacket.java +++ b/src/main/java/twilightforest/network/EnforceProgressionStatusPacket.java @@ -1,6 +1,5 @@ package twilightforest.network; -import net.minecraft.client.Minecraft; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; @@ -13,6 +12,8 @@ public record EnforceProgressionStatusPacket(boolean enforce) implements CustomP public static final Type TYPE = new Type<>(TwilightForestMod.prefix("sync_progression_status")); public static final StreamCodec STREAM_CODEC = CustomPacketPayload.codec(EnforceProgressionStatusPacket::write, EnforceProgressionStatusPacket::new); + public static boolean enforcedProgression = true; //FIXME 1.21.3 is this the place to be storing this? + public EnforceProgressionStatusPacket(FriendlyByteBuf buf) { this(buf.readBoolean()); } @@ -27,8 +28,8 @@ public Type type() { } public static void handle(EnforceProgressionStatusPacket message, IPayloadContext ctx) { - ctx.enqueueWork(() -> - Minecraft.getInstance().level.getGameRules().getRule(TwilightForestMod.ENFORCED_PROGRESSION_RULE).set(message.enforce(), null) - ); + ctx.enqueueWork(() -> { + enforcedProgression = message.enforce(); + }); } } From 98f3d6bf945b91baaa88459bc92ac94fc6bcdfa5 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 15:16:56 +0100 Subject: [PATCH 033/239] other bus --- .../client/event/ClientEvents.java | 22 ------------------- .../client/event/RegistrationEvents.java | 20 +++++++++++++++++ 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index dc56cc4fb9..35129d635a 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -25,9 +25,6 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -44,7 +41,6 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.neoforge.client.event.*; import net.neoforged.neoforge.client.gui.VanillaGuiLayers; -import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; import twilightforest.TwilightForestMod; @@ -56,8 +52,6 @@ import twilightforest.client.ISTER; import twilightforest.client.OptifineWarningScreen; import twilightforest.client.TFShaders; -import twilightforest.client.renderer.entity.layers.IceLayer; -import twilightforest.client.renderer.entity.layers.ShieldLayer; import twilightforest.config.TFConfig; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.entity.boss.bar.ClientTFBossBar; @@ -65,7 +59,6 @@ import twilightforest.init.TFDataComponents; import twilightforest.init.TFDimension; import twilightforest.item.*; -import twilightforest.potions.FrostedEffect; import twilightforest.util.HolderMatcher; import java.time.LocalDate; @@ -99,7 +92,6 @@ public static void initGameEvents() { NeoForge.EVENT_BUS.addListener(ClientEvents::removeHostileMountHealth); NeoForge.EVENT_BUS.addListener(ClientEvents::renderAurora); NeoForge.EVENT_BUS.addListener(ClientEvents::renderCustomBossbars); - NeoForge.EVENT_BUS.addListener(ClientEvents::registerCustomRenderData); NeoForge.EVENT_BUS.addListener(ClientEvents::renderGiantBlockOutlines); NeoForge.EVENT_BUS.addListener(ClientEvents::setMusicInDimension); NeoForge.EVENT_BUS.addListener(ClientEvents::shakeCamera); @@ -394,18 +386,4 @@ private static void renderCustomBossbars(CustomizeGuiOverlayEvent.BossEventProgr bossEvent.renderBossBar(event.getGuiGraphics(), event.getX(), event.getY()); } } - - private static void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { - event.registerEntityModifier(ShieldLayer.SHIELD_TYPE_TOKEN, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); - event.registerEntityModifier(IceLayer.FROST_TYPE_TOKEN, (living, state) -> { - AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); - if (speed == null) return; - - AttributeModifier frost = speed.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); - if (frost == null) return; - - state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); - state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); - }); - } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 275f5f1334..45a758e252 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -29,6 +29,9 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -44,6 +47,7 @@ import net.neoforged.neoforge.client.extensions.common.IClientBlockExtensions; import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import net.neoforged.neoforge.client.gui.map.RegisterMapDecorationRenderersEvent; +import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.client.*; @@ -69,6 +73,7 @@ import twilightforest.components.item.PotionFlaskComponent; import twilightforest.init.*; import twilightforest.item.*; +import twilightforest.potions.FrostedEffect; import twilightforest.util.woods.TFWoodTypes; import java.util.List; @@ -94,6 +99,7 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegistrationEvents::registerClientExtensions); bus.addListener(RegistrationEvents::registerMapDecorators); bus.addListener(RegistrationEvents::registerParticleFactories); + bus.addListener(RegistrationEvents::registerCustomRenderData); bus.addListener(ColorHandler::registerBlockColors); bus.addListener(ColorHandler::registerItemColors); @@ -675,4 +681,18 @@ private static state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); + event.registerEntityModifier(IceLayer.FROST_TYPE_TOKEN, (living, state) -> { + AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); + if (speed == null) return; + + AttributeModifier frost = speed.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); + if (frost == null) return; + + state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); + state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); + }); + } } From 5c7eb9e83c843371ede6f9ebfdb21bbacb6c8a2b Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 16:22:22 +0100 Subject: [PATCH 034/239] block behavior to supplier --- .../java/twilightforest/init/TFBlocks.java | 1047 +++++++++-------- 1 file changed, 524 insertions(+), 523 deletions(-) diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 67f1c8d89d..693f9a5166 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -27,264 +27,265 @@ import twilightforest.world.components.feature.trees.growers.TFTreeGrowers; import java.util.function.Function; +import java.util.function.Supplier; public class TFBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(TwilightForestMod.ID); - public static final DeferredBlock TWILIGHT_PORTAL = register("twilight_portal", TFPortalBlock::new, BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).strength(-1.0F).sound(SoundType.GLASS).lightLevel((state) -> 11).noCollission().noOcclusion().noLootTable()); + public static final DeferredBlock TWILIGHT_PORTAL = register("twilight_portal", TFPortalBlock::new, () -> BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).strength(-1.0F).sound(SoundType.GLASS).lightLevel((state) -> 11).noCollission().noOcclusion().noLootTable()); //misc. - public static final DeferredBlock HEDGE = registerWithItem("hedge", HedgeBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(2.0F, 6.0F)); - public static final DeferredBlock MASON_JAR = register("mason_jar", MasonJarBlock::new, BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); - public static final DeferredBlock FIREFLY_JAR = register("firefly_jar", FireflyJarBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); - public static final DeferredBlock FIREFLY_SPAWNER = registerWithItem("firefly_particle_spawner", FireflySpawnerBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); - public static final DeferredBlock CICADA_JAR = register("cicada_jar", CicadaJarBlock::new, BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); - public static final DeferredBlock MOSS_PATCH = registerWithItem("moss_patch", MossPatchBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.MOSS)); - public static final DeferredBlock MAYAPPLE = registerWithItem("mayapple", MayappleBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); - public static final DeferredBlock CLOVER_PATCH = registerWithItem("clover_patch", PatchBlock::new, BlockBehaviour.Properties.of().ignitedByLava().noCollission().noOcclusion().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); - public static final DeferredBlock FIDDLEHEAD = registerWithItem("fiddlehead", FiddleheadBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.GRASS)); - public static final DeferredBlock MUSHGLOOM = registerWithItem("mushgloom", MushgloomBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 3).noCollission().noOcclusion().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.FUNGUS)); - public static final DeferredBlock TORCHBERRY_PLANT = registerWithItem("torchberry_plant", TorchberryPlantBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().lightLevel(value -> value.getValue(TorchberryPlantBlock.HAS_BERRIES) ? 7 : 1).noCollission().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); - public static final DeferredBlock ROOT_STRAND = registerWithItem("root_strand", RootStrandBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); - public static final DeferredBlock FALLEN_LEAVES = register("fallen_leaves", FallenLeavesBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().replaceable().pushReaction(PushReaction.DESTROY).sound(SoundType.AZALEA_LEAVES)); - public static final DeferredBlock ROOT_BLOCK = registerWithItem("root", Block::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(2.0F, 3.0F)); - public static final DeferredBlock LIVEROOT_BLOCK = registerWithItem("liveroot_block", LiverootBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_LIGHT_GREEN).sound(SoundType.WOOD).strength(2.0F, 3.0F)); - public static final DeferredBlock UNCRAFTING_TABLE = registerWithItem("uncrafting_table", UncraftingTableBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.FIRE).sound(SoundType.WOOD).strength(2.5F)); - public static final DeferredBlock SMOKER = registerWithItem("smoker", TFSmokerBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.WOOD).strength(1.5F, 6.0F)); - public static final DeferredBlock ENCASED_SMOKER = registerWithItem("encased_smoker", EncasedSmokerBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); - public static final DeferredBlock FIRE_JET = registerWithItem("fire_jet", FireJetBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.WOOD).strength(1.5F, 6.0F)); - public static final DeferredBlock ENCASED_FIRE_JET = registerWithItem("encased_fire_jet", EncasedFireJetBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); - public static final DeferredBlock FIREFLY = registerWithItem("firefly", FireflyBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); - public static final DeferredBlock CICADA = registerWithItem("cicada", CicadaBlock::new, BlockBehaviour.Properties.of().instabreak().noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); - public static final DeferredBlock MOONWORM = registerWithItem("moonworm", MoonwormBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 14).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); - public static final DeferredBlock HUGE_LILY_PAD = register("huge_lily_pad", HugeLilyPadBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); - public static final DeferredBlock HUGE_WATER_LILY = register("huge_water_lily", HugeWaterLilyBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); - public static final DeferredBlock SLIDER = registerWithItem("slider", SliderBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).noLootTable().noOcclusion().randomTicks().strength(2.0F, 10.0F)); - public static final DeferredBlock IRON_LADDER = registerWithItem("iron_ladder", IronLadderBlock::new, BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F)); - public static final DeferredBlock ROPE = register("rope", RopeBlock::new, BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.3F, 3.0F)); - public static final DeferredBlock CANOPY_WINDOW = registerWithItem("canopy_window", TransparentBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false)); - public static final DeferredBlock CANOPY_WINDOW_PANE = registerWithItem("canopy_window_pane", IronBarsBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion()); + public static final DeferredBlock HEDGE = registerWithItem("hedge", HedgeBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(2.0F, 6.0F)); + public static final DeferredBlock MASON_JAR = register("mason_jar", MasonJarBlock::new, () -> BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock FIREFLY_JAR = register("firefly_jar", FireflyJarBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock FIREFLY_SPAWNER = registerWithItem("firefly_particle_spawner", FireflySpawnerBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 15).noOcclusion().noTerrainParticles().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock CICADA_JAR = register("cicada_jar", CicadaJarBlock::new, () -> BlockBehaviour.Properties.of().noOcclusion().noTerrainParticles().randomTicks().sound(TFSoundTypes.JAR).strength(0.3F, 3.0F)); + public static final DeferredBlock MOSS_PATCH = registerWithItem("moss_patch", MossPatchBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.MOSS)); + public static final DeferredBlock MAYAPPLE = registerWithItem("mayapple", MayappleBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); + public static final DeferredBlock CLOVER_PATCH = registerWithItem("clover_patch", PatchBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().noCollission().noOcclusion().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS)); + public static final DeferredBlock FIDDLEHEAD = registerWithItem("fiddlehead", FiddleheadBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.GRASS)); + public static final DeferredBlock MUSHGLOOM = registerWithItem("mushgloom", MushgloomBlock::new, () -> BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 3).noCollission().noOcclusion().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.FUNGUS)); + public static final DeferredBlock TORCHBERRY_PLANT = registerWithItem("torchberry_plant", TorchberryPlantBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().lightLevel(value -> value.getValue(TorchberryPlantBlock.HAS_BERRIES) ? 7 : 1).noCollission().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); + public static final DeferredBlock ROOT_STRAND = registerWithItem("root_strand", RootStrandBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.HANGING_ROOTS)); + public static final DeferredBlock FALLEN_LEAVES = register("fallen_leaves", FallenLeavesBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instabreak().mapColor(MapColor.PLANT).noCollission().noOcclusion().replaceable().pushReaction(PushReaction.DESTROY).sound(SoundType.AZALEA_LEAVES)); + public static final DeferredBlock ROOT_BLOCK = registerWithItem("root", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(2.0F, 3.0F)); + public static final DeferredBlock LIVEROOT_BLOCK = registerWithItem("liveroot_block", LiverootBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_LIGHT_GREEN).sound(SoundType.WOOD).strength(2.0F, 3.0F)); + public static final DeferredBlock UNCRAFTING_TABLE = registerWithItem("uncrafting_table", UncraftingTableBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.FIRE).sound(SoundType.WOOD).strength(2.5F)); + public static final DeferredBlock SMOKER = registerWithItem("smoker", TFSmokerBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock ENCASED_SMOKER = registerWithItem("encased_smoker", EncasedSmokerBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock FIRE_JET = registerWithItem("fire_jet", FireJetBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock ENCASED_FIRE_JET = registerWithItem("encased_fire_jet", EncasedFireJetBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock FIREFLY = registerWithItem("firefly", FireflyBlock::new, () -> BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock CICADA = registerWithItem("cicada", CicadaBlock::new, () -> BlockBehaviour.Properties.of().instabreak().noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock MOONWORM = registerWithItem("moonworm", MoonwormBlock::new, () -> BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 14).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); + public static final DeferredBlock HUGE_LILY_PAD = register("huge_lily_pad", HugeLilyPadBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); + public static final DeferredBlock HUGE_WATER_LILY = register("huge_water_lily", HugeWaterLilyBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.LILY_PAD)); + public static final DeferredBlock SLIDER = registerWithItem("slider", SliderBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).noLootTable().noOcclusion().randomTicks().strength(2.0F, 10.0F)); + public static final DeferredBlock IRON_LADDER = registerWithItem("iron_ladder", IronLadderBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F)); + public static final DeferredBlock ROPE = register("rope", RopeBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.3F, 3.0F)); + public static final DeferredBlock CANOPY_WINDOW = registerWithItem("canopy_window", TransparentBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false)); + public static final DeferredBlock CANOPY_WINDOW_PANE = registerWithItem("canopy_window_pane", IronBarsBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion()); //naga courtyard - public static final DeferredBlock NAGASTONE_HEAD = registerWithItem("nagastone_head", TFHorizontalBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock NAGASTONE = registerWithItem("nagastone", NagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock SPIRAL_BRICKS = registerWithItem("spiral_bricks", SpiralBrickBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock ETCHED_NAGASTONE = registerWithItem("etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock NAGASTONE_PILLAR = registerWithItem("nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock NAGASTONE_STAIRS_LEFT = registerWithItem("nagastone_stairs_left", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); - public static final DeferredBlock NAGASTONE_STAIRS_RIGHT = registerWithItem("nagastone_stairs_right", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); - public static final DeferredBlock MOSSY_ETCHED_NAGASTONE = registerWithItem("mossy_etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock MOSSY_NAGASTONE_PILLAR = registerWithItem("mossy_nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_LEFT = registerWithItem("mossy_nagastone_stairs_left", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); - public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_RIGHT = registerWithItem("mossy_nagastone_stairs_right", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); - public static final DeferredBlock CRACKED_ETCHED_NAGASTONE = registerWithItem("cracked_etched_nagastone", EtchedNagastoneBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock CRACKED_NAGASTONE_PILLAR = registerWithItem("cracked_nagastone_pillar", DirectionalRotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_LEFT = registerWithItem("cracked_nagastone_stairs_left", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); - public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_RIGHT = registerWithItem("cracked_nagastone_stairs_right", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); + public static final DeferredBlock NAGASTONE_HEAD = registerWithItem("nagastone_head", TFHorizontalBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE = registerWithItem("nagastone", NagastoneBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock SPIRAL_BRICKS = registerWithItem("spiral_bricks", SpiralBrickBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock ETCHED_NAGASTONE = registerWithItem("etched_nagastone", EtchedNagastoneBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE_PILLAR = registerWithItem("nagastone_pillar", DirectionalRotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock NAGASTONE_STAIRS_LEFT = registerWithItem("nagastone_stairs_left", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); + public static final DeferredBlock NAGASTONE_STAIRS_RIGHT = registerWithItem("nagastone_stairs_right", properties -> new StairBlock(ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(ETCHED_NAGASTONE.get())); + public static final DeferredBlock MOSSY_ETCHED_NAGASTONE = registerWithItem("mossy_etched_nagastone", EtchedNagastoneBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_NAGASTONE_PILLAR = registerWithItem("mossy_nagastone_pillar", DirectionalRotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_LEFT = registerWithItem("mossy_nagastone_stairs_left", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); + public static final DeferredBlock MOSSY_NAGASTONE_STAIRS_RIGHT = registerWithItem("mossy_nagastone_stairs_right", properties -> new StairBlock(MOSSY_ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(MOSSY_ETCHED_NAGASTONE.get())); + public static final DeferredBlock CRACKED_ETCHED_NAGASTONE = registerWithItem("cracked_etched_nagastone", EtchedNagastoneBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CRACKED_NAGASTONE_PILLAR = registerWithItem("cracked_nagastone_pillar", DirectionalRotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_LEFT = registerWithItem("cracked_nagastone_stairs_left", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); + public static final DeferredBlock CRACKED_NAGASTONE_STAIRS_RIGHT = registerWithItem("cracked_nagastone_stairs_right", properties -> new StairBlock(CRACKED_ETCHED_NAGASTONE.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(CRACKED_ETCHED_NAGASTONE.get())); //lich tower - public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(50.0F, 1200.0F)); - public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); - public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); - public static final DeferredBlock ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_HEAD)); - public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = register("zombie_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_WALL_HEAD)); - public static final DeferredBlock SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_SKULL)); - public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = register("skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_WALL_SKULL)); - public static final DeferredBlock WITHER_SKELE_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_SKULL)); - public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = register("wither_skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_WALL_SKULL)); - public static final DeferredBlock CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.CREEPER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_HEAD)); - public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = register("creeper_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_WALL_HEAD)); - public static final DeferredBlock PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PLAYER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_HEAD)); - public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = register("player_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_WALL_HEAD)); - public static final DeferredBlock PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PIGLIN, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_HEAD)); - public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = register("piglin_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_WALL_HEAD)); - public static final DeferredBlock WROUGHT_IRON_FENCE = registerWroughtFence("wrought_iron_fence", WroughtIronFenceBlock::new, BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(SoundType.METAL).requiresCorrectToolForDrops().noOcclusion()); - public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final DeferredBlock TERRORCOTTA_LINES = registerWithItem("terrorcotta_lines", BinaryRotatedBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final DeferredBlock ROYAL_RAGS = registerWithItem("royal_rags", properties -> new WoolCarpetBlock(DyeColor.RED, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); + public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(50.0F, 1200.0F)); + public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); + public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); + public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); + public static final DeferredBlock ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_HEAD)); + public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = register("zombie_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_WALL_HEAD)); + public static final DeferredBlock SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_SKULL)); + public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = register("skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_WALL_SKULL)); + public static final DeferredBlock WITHER_SKELE_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_SKULL)); + public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = register("wither_skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_WALL_SKULL)); + public static final DeferredBlock CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.CREEPER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_HEAD)); + public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = register("creeper_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_WALL_HEAD)); + public static final DeferredBlock PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PLAYER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_HEAD)); + public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = register("player_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_WALL_HEAD)); + public static final DeferredBlock PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PIGLIN, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_HEAD)); + public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = register("piglin_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_WALL_HEAD)); + public static final DeferredBlock WROUGHT_IRON_FENCE = registerWroughtFence("wrought_iron_fence", WroughtIronFenceBlock::new, () -> BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(SoundType.METAL).requiresCorrectToolForDrops().noOcclusion()); + public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock TERRORCOTTA_LINES = registerWithItem("terrorcotta_lines", BinaryRotatedBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final DeferredBlock ROYAL_RAGS = registerWithItem("royal_rags", properties -> new WoolCarpetBlock(DyeColor.RED, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); //labyrinth - public static final DeferredBlock MAZESTONE = registerWithItem("mazestone", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F)); - public static final DeferredBlock MAZESTONE_BRICK = registerWithItem("mazestone_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock CUT_MAZESTONE = registerWithItem("cut_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock DECORATIVE_MAZESTONE = registerWithItem("decorative_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock CRACKED_MAZESTONE = registerWithItem("cracked_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock MOSSY_MAZESTONE = registerWithItem("mossy_mazestone", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock MAZESTONE_MOSAIC = registerWithItem("mazestone_mosaic", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock MAZESTONE_BORDER = registerWithItem("mazestone_border", Block::new, BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); - public static final DeferredBlock RED_THREAD = registerWithItem("red_thread", RedThreadBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.FIRE).isValidSpawn(TFBlocks::noSpawning).noCollission().noOcclusion().noTerrainParticles().pushReaction(PushReaction.DESTROY)); + public static final DeferredBlock MAZESTONE = registerWithItem("mazestone", Block::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F)); + public static final DeferredBlock MAZESTONE_BRICK = registerWithItem("mazestone_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock CUT_MAZESTONE = registerWithItem("cut_mazestone", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock DECORATIVE_MAZESTONE = registerWithItem("decorative_mazestone", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock CRACKED_MAZESTONE = registerWithItem("cracked_mazestone", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MOSSY_MAZESTONE = registerWithItem("mossy_mazestone", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MAZESTONE_MOSAIC = registerWithItem("mazestone_mosaic", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock MAZESTONE_BORDER = registerWithItem("mazestone_border", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); + public static final DeferredBlock RED_THREAD = registerWithItem("red_thread", RedThreadBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.FIRE).isValidSpawn(TFBlocks::noSpawning).noCollission().noOcclusion().noTerrainParticles().pushReaction(PushReaction.DESTROY)); //stronghold - public static final DeferredBlock STRONGHOLD_SHIELD = registerWithItem("stronghold_shield", StrongholdShieldBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(-1.0F, 6000000.0F)); - public static final DeferredBlock TROPHY_PEDESTAL = registerWithItem("trophy_pedestal", TrophyPedestalBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 2000.0F)); - public static final DeferredBlock UNDERBRICK = registerWithItem("underbrick", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_BRICKS).strength(1.5F, 6.0F)); - public static final DeferredBlock MOSSY_UNDERBRICK = registerWithItem("mossy_underbrick", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); - public static final DeferredBlock CRACKED_UNDERBRICK = registerWithItem("cracked_underbrick", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); - public static final DeferredBlock UNDERBRICK_FLOOR = registerWithItem("underbrick_floor", Block::new, BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); + public static final DeferredBlock STRONGHOLD_SHIELD = registerWithItem("stronghold_shield", StrongholdShieldBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(-1.0F, 6000000.0F)); + public static final DeferredBlock TROPHY_PEDESTAL = registerWithItem("trophy_pedestal", TrophyPedestalBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 2000.0F)); + public static final DeferredBlock UNDERBRICK = registerWithItem("underbrick", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_BRICKS).strength(1.5F, 6.0F)); + public static final DeferredBlock MOSSY_UNDERBRICK = registerWithItem("mossy_underbrick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); + public static final DeferredBlock CRACKED_UNDERBRICK = registerWithItem("cracked_underbrick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); + public static final DeferredBlock UNDERBRICK_FLOOR = registerWithItem("underbrick_floor", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(UNDERBRICK.get())); //dark tower - public static final DeferredBlock TOWERWOOD = registerWithItem("towerwood", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(40.0F, 6.0F).sound(SoundType.WOOD)); - public static final DeferredBlock ENCASED_TOWERWOOD = registerWithItem("encased_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).mapColor(MapColor.SAND)); - public static final DeferredBlock CRACKED_TOWERWOOD = registerWithItem("cracked_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); - public static final DeferredBlock MOSSY_TOWERWOOD = registerWithItem("mossy_towerwood", Block::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); - public static final DeferredBlock INFESTED_TOWERWOOD = registerWithItem("infested_towerwood", InfestedTowerwoodBlock::new, BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).instrument(NoteBlockInstrument.FLUTE).noLootTable().strength(2.0F, 6.0F)); - public static final DeferredBlock REAPPEARING_BLOCK = registerWithItem("reappearing_block", ReappearingBlock::new, BlockBehaviour.Properties.of().forceSolidOn().lightLevel((state) -> 4).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 35.0F)); - public static final DeferredBlock VANISHING_BLOCK = registerWithItem("vanishing_block", VanishingBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(VanishingBlock.ACTIVE) ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(10.0F, 35.0F)); - public static final DeferredBlock UNBREAKABLE_VANISHING_BLOCK = register("unbreakable_vanishing_block", VanishingBlock::new, BlockBehaviour.Properties.ofFullCopy(VANISHING_BLOCK.get()).noLootTable().strength(-1.0F, 6000000.0F)); - public static final DeferredBlock LOCKED_VANISHING_BLOCK = registerWithItem("locked_vanishing_block", LockedVanishingBlock::new, BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).sound(SoundType.WOOD).strength(-1.0F, 2000.0F)); - public static final DeferredBlock CARMINITE_BUILDER = registerWithItem("carminite_builder", BuilderBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(BuilderBlock.STATE) == TowerDeviceVariant.BUILDER_ACTIVE ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); - public static final DeferredBlock BUILT_BLOCK = register("built_block", TranslucentBuiltBlock::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); - public static final DeferredBlock ANTIBUILDER = registerWithItem("antibuilder", AntibuilderBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 10).noLootTable().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); - public static final DeferredBlock ANTIBUILT_BLOCK = register("antibuilt_block", Block::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(0.3F, 2000.0F)); - public static final DeferredBlock GHAST_TRAP = registerWithItem("ghast_trap", GhastTrapBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(GhastTrapBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); - public static final DeferredBlock CARMINITE_REACTOR = registerWithItem("carminite_reactor", CarminiteReactorBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(CarminiteReactorBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); - public static final DeferredBlock REACTOR_DEBRIS = register("reactor_debris", ReactorDebrisBlock::new, BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.ANCIENT_DEBRIS).strength(0.3F, 2000.0F)); - public static final DeferredBlock FAKE_GOLD = register("fake_gold", Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); - public static final DeferredBlock FAKE_DIAMOND = register("fake_diamond", Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); - public static final DeferredBlock EXPERIMENT_115 = register("experiment_115", Experiment115Block::new, BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.WOOL).strength(0.5F)); + public static final DeferredBlock TOWERWOOD = registerWithItem("towerwood", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(40.0F, 6.0F).sound(SoundType.WOOD)); + public static final DeferredBlock ENCASED_TOWERWOOD = registerWithItem("encased_towerwood", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).mapColor(MapColor.SAND)); + public static final DeferredBlock CRACKED_TOWERWOOD = registerWithItem("cracked_towerwood", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); + public static final DeferredBlock MOSSY_TOWERWOOD = registerWithItem("mossy_towerwood", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get())); + public static final DeferredBlock INFESTED_TOWERWOOD = registerWithItem("infested_towerwood", InfestedTowerwoodBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TOWERWOOD.get()).instrument(NoteBlockInstrument.FLUTE).noLootTable().strength(2.0F, 6.0F)); + public static final DeferredBlock REAPPEARING_BLOCK = registerWithItem("reappearing_block", ReappearingBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().lightLevel((state) -> 4).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 35.0F)); + public static final DeferredBlock VANISHING_BLOCK = registerWithItem("vanishing_block", VanishingBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(VanishingBlock.ACTIVE) ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(10.0F, 35.0F)); + public static final DeferredBlock UNBREAKABLE_VANISHING_BLOCK = register("unbreakable_vanishing_block", VanishingBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(VANISHING_BLOCK.get()).noLootTable().strength(-1.0F, 6000000.0F)); + public static final DeferredBlock LOCKED_VANISHING_BLOCK = registerWithItem("locked_vanishing_block", LockedVanishingBlock::new, () -> BlockBehaviour.Properties.of().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).sound(SoundType.WOOD).strength(-1.0F, 2000.0F)); + public static final DeferredBlock CARMINITE_BUILDER = registerWithItem("carminite_builder", BuilderBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(BuilderBlock.STATE) == TowerDeviceVariant.BUILDER_ACTIVE ? 4 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock BUILT_BLOCK = register("built_block", TranslucentBuiltBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock ANTIBUILDER = registerWithItem("antibuilder", AntibuilderBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 10).noLootTable().pushReaction(PushReaction.BLOCK).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock ANTIBUILT_BLOCK = register("antibuilt_block", Block::new, () -> BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(0.3F, 2000.0F)); + public static final DeferredBlock GHAST_TRAP = registerWithItem("ghast_trap", GhastTrapBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(GhastTrapBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock CARMINITE_REACTOR = registerWithItem("carminite_reactor", CarminiteReactorBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(CarminiteReactorBlock.ACTIVE) ? 15 : 0).mapColor(MapColor.SAND).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(10.0F, 6.0F)); + public static final DeferredBlock REACTOR_DEBRIS = register("reactor_debris", ReactorDebrisBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).sound(SoundType.ANCIENT_DEBRIS).strength(0.3F, 2000.0F)); + public static final DeferredBlock FAKE_GOLD = register("fake_gold", Block::new, () -> BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); + public static final DeferredBlock FAKE_DIAMOND = register("fake_diamond", Block::new, () -> BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.BLOCK).sound(SoundType.METAL).strength(50.0F, 2000.0F)); + public static final DeferredBlock EXPERIMENT_115 = register("experiment_115", Experiment115Block::new, () -> BlockBehaviour.Properties.of().noLootTable().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.WOOL).strength(0.5F)); //aurora palace - public static final DeferredBlock AURORA_BLOCK = registerWithItem("aurora_block", AuroraBrickBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).strength(10.0F, 6.0F)); - public static final DeferredBlock AURORA_PILLAR = registerWithItem("aurora_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); - public static final DeferredBlock AURORA_SLAB = registerWithItem("aurora_slab", SlabBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); - public static final DeferredBlock AURORALIZED_GLASS = registerWithItem("auroralized_glass", AuroralizedGlassBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS)); + public static final DeferredBlock AURORA_BLOCK = registerWithItem("aurora_block", AuroraBrickBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).strength(10.0F, 6.0F)); + public static final DeferredBlock AURORA_PILLAR = registerWithItem("aurora_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); + public static final DeferredBlock AURORA_SLAB = registerWithItem("aurora_slab", SlabBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.CHIME).mapColor(MapColor.ICE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)); + public static final DeferredBlock AURORALIZED_GLASS = registerWithItem("auroralized_glass", AuroralizedGlassBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS)); //highlands/thornlands - public static final DeferredBlock BROWN_THORNS = registerWithItem("brown_thorns", ThornsBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PODZOL).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); - public static final DeferredBlock GREEN_THORNS = registerWithItem("green_thorns", ThornsBlock::new, BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PLANT).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); - public static final DeferredBlock BURNT_THORNS = registerWithItem("burnt_thorns", BurntThornsBlock::new, BlockBehaviour.Properties.of().instabreak().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.DESTROY).sound(SoundType.SAND)); - public static final DeferredBlock THORN_ROSE = registerWithItem("thorn_rose", ThornRoseBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(10.0F, 0.0F)); - public static final DeferredBlock THORN_LEAVES = registerWithItem("thorn_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.BROWN_THORNS) || state.is(TFBlocks.GREEN_THORNS), properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock BEANSTALK_LEAVES = registerWithItem("beanstalk_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.HUGE_STALK), properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock DEADROCK = registerWithItem("deadrock", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 6000000.0F)); - public static final DeferredBlock CRACKED_DEADROCK = registerWithItem("cracked_deadrock", Block::new, BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); - public static final DeferredBlock WEATHERED_DEADROCK = registerWithItem("weathered_deadrock", Block::new, BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); - public static final DeferredBlock TROLLSTEINN = registerWithItem("trollsteinn", TrollsteinnBlock::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).randomTicks().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 6.0F)); - - public static final DeferredBlock WISPY_CLOUD = registerWithItem("wispy_cloud", properties -> new WispyCloudBlock(Biome.Precipitation.NONE, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.SNOW).noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.WOOL).strength(0.3F, 0.0F).forceSolidOff()); - public static final DeferredBlock FLUFFY_CLOUD = registerWithItem("fluffy_cloud", properties -> new CloudBlock(null, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); - public static final DeferredBlock RAINY_CLOUD = registerWithItem("rainy_cloud", properties -> new CloudBlock(Biome.Precipitation.RAIN, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); - public static final DeferredBlock SNOWY_CLOUD = registerWithItem("snowy_cloud", properties -> new CloudBlock(Biome.Precipitation.SNOW, properties), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); - - public static final DeferredBlock GIANT_COBBLESTONE = registerWithItem("giant_cobblestone", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.COBBLESTONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 50.0F)); - public static final DeferredBlock GIANT_LOG = registerWithItem("giant_log", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 30.0F)); - public static final DeferredBlock GIANT_LEAVES = registerWithItem("giant_leaves", GiantLeavesBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LEAVES).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.AZALEA_LEAVES).strength(0.2F * 64.0F, 15.0F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock GIANT_OBSIDIAN = registerWithItem("giant_obsidian", GiantBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(50.0F * 64.0F * 64.0F, 2000.0F * 64.0F * 64.0F).isValidSpawn(TFBlocks::noSpawning)); - public static final DeferredBlock UBEROUS_SOIL = registerWithItem("uberous_soil", UberousSoilBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).sound(SoundType.GRAVEL).strength(0.6F)); - public static final DeferredBlock HUGE_STALK = registerWithItem("huge_stalk", RotatedPillarBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PLANT).sound(SoundType.STEM).strength(1.5F, 3.0F)); - public static final DeferredBlock BEANSTALK_GROWER = register("beanstalk_grower", GrowingBeanstalkBlock::new, BlockBehaviour.Properties.of().noCollission().noLootTable().noOcclusion().noTerrainParticles().strength(-1.0F, 6000000.0F)); - public static final DeferredBlock HUGE_MUSHGLOOM = registerWithItem("huge_mushgloom", HugeMushroomBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.SHROOMLIGHT).strength(0.2F)); - public static final DeferredBlock HUGE_MUSHGLOOM_STEM = registerWithItem("huge_mushgloom_stem", HugeMushroomBlock::new, BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.NYLIUM).strength(0.2F)); - public static final DeferredBlock TROLLVIDR = registerWithItem("trollvidr", TrollRootBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); - public static final DeferredBlock UNRIPE_TROLLBER = registerWithItem("unripe_trollber", UnripeTorchClusterBlock::new, BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.FLOWERING_AZALEA)); - public static final DeferredBlock TROLLBER = registerWithItem("trollber", TrollRootBlock::new, BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); + public static final DeferredBlock BROWN_THORNS = registerWithItem("brown_thorns", ThornsBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PODZOL).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock GREEN_THORNS = registerWithItem("green_thorns", ThornsBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.PLANT).pushReaction(PushReaction.BLOCK).sound(SoundType.WOOD).strength(50.0F, 2000.0F)); + public static final DeferredBlock BURNT_THORNS = registerWithItem("burnt_thorns", BurntThornsBlock::new, () -> BlockBehaviour.Properties.of().instabreak().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.DESTROY).sound(SoundType.SAND)); + public static final DeferredBlock THORN_ROSE = registerWithItem("thorn_rose", ThornRoseBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.GRASS).strength(10.0F, 0.0F)); + public static final DeferredBlock THORN_LEAVES = registerWithItem("thorn_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.BROWN_THORNS) || state.is(TFBlocks.GREEN_THORNS), properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock BEANSTALK_LEAVES = registerWithItem("beanstalk_leaves", properties -> new SpecialStemLeavesBlock(state -> state.is(TFBlocks.HUGE_STALK), properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.PLANT).noOcclusion().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.AZALEA_LEAVES).strength(0.2F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock DEADROCK = registerWithItem("deadrock", Block::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 6000000.0F)); + public static final DeferredBlock CRACKED_DEADROCK = registerWithItem("cracked_deadrock", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); + public static final DeferredBlock WEATHERED_DEADROCK = registerWithItem("weathered_deadrock", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(DEADROCK.get())); + public static final DeferredBlock TROLLSTEINN = registerWithItem("trollsteinn", TrollsteinnBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).randomTicks().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(2.0F, 6.0F)); + + public static final DeferredBlock WISPY_CLOUD = registerWithItem("wispy_cloud", properties -> new WispyCloudBlock(Biome.Precipitation.NONE, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.SNOW).noOcclusion().pushReaction(PushReaction.DESTROY).replaceable().sound(SoundType.WOOL).strength(0.3F, 0.0F).forceSolidOff()); + public static final DeferredBlock FLUFFY_CLOUD = registerWithItem("fluffy_cloud", properties -> new CloudBlock(null, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + public static final DeferredBlock RAINY_CLOUD = registerWithItem("rainy_cloud", properties -> new CloudBlock(Biome.Precipitation.RAIN, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + public static final DeferredBlock SNOWY_CLOUD = registerWithItem("snowy_cloud", properties -> new CloudBlock(Biome.Precipitation.SNOW, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).mapColor(MapColor.ICE).pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.8F, 0.0F).randomTicks()); + + public static final DeferredBlock GIANT_COBBLESTONE = registerWithItem("giant_cobblestone", GiantBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.COBBLESTONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 50.0F)); + public static final DeferredBlock GIANT_LOG = registerWithItem("giant_log", GiantBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(128.0F, 30.0F)); + public static final DeferredBlock GIANT_LEAVES = registerWithItem("giant_leaves", GiantLeavesBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LEAVES).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.AZALEA_LEAVES).strength(0.2F * 64.0F, 15.0F).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock GIANT_OBSIDIAN = registerWithItem("giant_obsidian", GiantBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(50.0F * 64.0F * 64.0F, 2000.0F * 64.0F * 64.0F).isValidSpawn(TFBlocks::noSpawning)); + public static final DeferredBlock UBEROUS_SOIL = registerWithItem("uberous_soil", UberousSoilBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).sound(SoundType.GRAVEL).strength(0.6F)); + public static final DeferredBlock HUGE_STALK = registerWithItem("huge_stalk", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PLANT).sound(SoundType.STEM).strength(1.5F, 3.0F)); + public static final DeferredBlock BEANSTALK_GROWER = register("beanstalk_grower", GrowingBeanstalkBlock::new, () -> BlockBehaviour.Properties.of().noCollission().noLootTable().noOcclusion().noTerrainParticles().strength(-1.0F, 6000000.0F)); + public static final DeferredBlock HUGE_MUSHGLOOM = registerWithItem("huge_mushgloom", HugeMushroomBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.SHROOMLIGHT).strength(0.2F)); + public static final DeferredBlock HUGE_MUSHGLOOM_STEM = registerWithItem("huge_mushgloom_stem", HugeMushroomBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> 5).mapColor(MapColor.COLOR_ORANGE).sound(SoundType.NYLIUM).strength(0.2F)); + public static final DeferredBlock TROLLVIDR = registerWithItem("trollvidr", TrollRootBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); + public static final DeferredBlock UNRIPE_TROLLBER = registerWithItem("unripe_trollber", UnripeTorchClusterBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).randomTicks().sound(SoundType.FLOWERING_AZALEA)); + public static final DeferredBlock TROLLBER = registerWithItem("trollber", TrollRootBlock::new, () -> BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).mapColor(MapColor.PLANT).noCollission().pushReaction(PushReaction.DESTROY).sound(SoundType.FLOWERING_AZALEA)); //plateau castle - public static final DeferredBlock CASTLE_BRICK = registerWithItem("castle_brick", Block::new, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 50.0F)); - public static final DeferredBlock WORN_CASTLE_BRICK = registerWithItem("worn_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock CRACKED_CASTLE_BRICK = registerWithItem("cracked_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock CASTLE_ROOF_TILE = registerWithItem("castle_roof_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(MapColor.COLOR_GRAY)); - public static final DeferredBlock MOSSY_CASTLE_BRICK = registerWithItem("mossy_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock THICK_CASTLE_BRICK = registerWithItem("thick_castle_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock ENCASED_CASTLE_BRICK_PILLAR = registerWithItem("encased_castle_brick_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock ENCASED_CASTLE_BRICK_TILE = registerWithItem("encased_castle_brick_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock BOLD_CASTLE_BRICK_PILLAR = registerWithItem("bold_castle_brick_pillar", RotatedPillarBlock::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock BOLD_CASTLE_BRICK_TILE = registerWithItem("bold_castle_brick_tile", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock CASTLE_BRICK_STAIRS = registerWithItem("castle_brick_stairs", properties -> new StairBlock(CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); - public static final DeferredBlock WORN_CASTLE_BRICK_STAIRS = registerWithItem("worn_castle_brick_stairs", properties -> new StairBlock(WORN_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(WORN_CASTLE_BRICK.get())); - public static final DeferredBlock CRACKED_CASTLE_BRICK_STAIRS = registerWithItem("cracked_castle_brick_stairs", properties -> new StairBlock(CRACKED_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CRACKED_CASTLE_BRICK.get())); - public static final DeferredBlock MOSSY_CASTLE_BRICK_STAIRS = registerWithItem("mossy_castle_brick_stairs", properties -> new StairBlock(MOSSY_CASTLE_BRICK.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MOSSY_CASTLE_BRICK.get())); - public static final DeferredBlock ENCASED_CASTLE_BRICK_STAIRS = registerWithItem("encased_castle_brick_stairs", properties -> new StairBlock(ENCASED_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(ENCASED_CASTLE_BRICK_PILLAR.get())); - public static final DeferredBlock BOLD_CASTLE_BRICK_STAIRS = registerWithItem("bold_castle_brick_stairs", properties -> new StairBlock(BOLD_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(BOLD_CASTLE_BRICK_PILLAR.get())); - public static final DeferredBlock PINK_CASTLE_RUNE_BRICK = registerWithItem("pink_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.MAGENTA)); - public static final DeferredBlock BLUE_CASTLE_RUNE_BRICK = registerWithItem("blue_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.LIGHT_BLUE)); - public static final DeferredBlock YELLOW_CASTLE_RUNE_BRICK = registerWithItem("yellow_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.YELLOW)); - public static final DeferredBlock VIOLET_CASTLE_RUNE_BRICK = registerWithItem("violet_castle_rune_brick", Block::new, BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.PURPLE)); - public static final DeferredBlock VIOLET_FORCE_FIELD = registerWithItem("violet_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.PURPLE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); - public static final DeferredBlock PINK_FORCE_FIELD = registerWithItem("pink_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.MAGENTA).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); - public static final DeferredBlock ORANGE_FORCE_FIELD = registerWithItem("orange_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.ORANGE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); - public static final DeferredBlock GREEN_FORCE_FIELD = registerWithItem("green_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.GREEN).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); - public static final DeferredBlock BLUE_FORCE_FIELD = registerWithItem("blue_force_field", ForceFieldBlock::new, BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.LIGHT_BLUE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); - public static final DeferredBlock CINDER_FURNACE = registerWithItem("cinder_furnace", CinderFurnaceBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().strength(7.0F).lightLevel((state) -> 15)); - public static final DeferredBlock CINDER_LOG = registerWithItem("cinder_log", RotatedPillarBlock::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); - public static final DeferredBlock CINDER_WOOD = registerWithItem("cinder_wood", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); - public static final DeferredBlock YELLOW_CASTLE_DOOR = registerWithItem("yellow_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.YELLOW.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); - public static final DeferredBlock VIOLET_CASTLE_DOOR = registerWithItem("violet_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.LIGHT_BLUE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); - public static final DeferredBlock PINK_CASTLE_DOOR = registerWithItem("pink_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.MAGENTA.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); - public static final DeferredBlock BLUE_CASTLE_DOOR = registerWithItem("blue_castle_door", CastleDoorBlock::new, BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.PURPLE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock CASTLE_BRICK = registerWithItem("castle_brick", Block::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 50.0F)); + public static final DeferredBlock WORN_CASTLE_BRICK = registerWithItem("worn_castle_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CRACKED_CASTLE_BRICK = registerWithItem("cracked_castle_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CASTLE_ROOF_TILE = registerWithItem("castle_roof_tile", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(MapColor.COLOR_GRAY)); + public static final DeferredBlock MOSSY_CASTLE_BRICK = registerWithItem("mossy_castle_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock THICK_CASTLE_BRICK = registerWithItem("thick_castle_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_PILLAR = registerWithItem("encased_castle_brick_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_TILE = registerWithItem("encased_castle_brick_tile", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_PILLAR = registerWithItem("bold_castle_brick_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_TILE = registerWithItem("bold_castle_brick_tile", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock CASTLE_BRICK_STAIRS = registerWithItem("castle_brick_stairs", properties -> new StairBlock(CASTLE_BRICK.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get())); + public static final DeferredBlock WORN_CASTLE_BRICK_STAIRS = registerWithItem("worn_castle_brick_stairs", properties -> new StairBlock(WORN_CASTLE_BRICK.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(WORN_CASTLE_BRICK.get())); + public static final DeferredBlock CRACKED_CASTLE_BRICK_STAIRS = registerWithItem("cracked_castle_brick_stairs", properties -> new StairBlock(CRACKED_CASTLE_BRICK.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(CRACKED_CASTLE_BRICK.get())); + public static final DeferredBlock MOSSY_CASTLE_BRICK_STAIRS = registerWithItem("mossy_castle_brick_stairs", properties -> new StairBlock(MOSSY_CASTLE_BRICK.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(MOSSY_CASTLE_BRICK.get())); + public static final DeferredBlock ENCASED_CASTLE_BRICK_STAIRS = registerWithItem("encased_castle_brick_stairs", properties -> new StairBlock(ENCASED_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(ENCASED_CASTLE_BRICK_PILLAR.get())); + public static final DeferredBlock BOLD_CASTLE_BRICK_STAIRS = registerWithItem("bold_castle_brick_stairs", properties -> new StairBlock(BOLD_CASTLE_BRICK_PILLAR.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(BOLD_CASTLE_BRICK_PILLAR.get())); + public static final DeferredBlock PINK_CASTLE_RUNE_BRICK = registerWithItem("pink_castle_rune_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.MAGENTA)); + public static final DeferredBlock BLUE_CASTLE_RUNE_BRICK = registerWithItem("blue_castle_rune_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.LIGHT_BLUE)); + public static final DeferredBlock YELLOW_CASTLE_RUNE_BRICK = registerWithItem("yellow_castle_rune_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.YELLOW)); + public static final DeferredBlock VIOLET_CASTLE_RUNE_BRICK = registerWithItem("violet_castle_rune_brick", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CASTLE_BRICK.get()).mapColor(DyeColor.PURPLE)); + public static final DeferredBlock VIOLET_FORCE_FIELD = registerWithItem("violet_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.PURPLE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock PINK_FORCE_FIELD = registerWithItem("pink_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.MAGENTA).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock ORANGE_FORCE_FIELD = registerWithItem("orange_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.ORANGE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock GREEN_FORCE_FIELD = registerWithItem("green_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.GREEN).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock BLUE_FORCE_FIELD = registerWithItem("blue_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.LIGHT_BLUE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); + public static final DeferredBlock CINDER_FURNACE = registerWithItem("cinder_furnace", CinderFurnaceBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().strength(7.0F).lightLevel((state) -> 15)); + public static final DeferredBlock CINDER_LOG = registerWithItem("cinder_log", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); + public static final DeferredBlock CINDER_WOOD = registerWithItem("cinder_wood", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); + public static final DeferredBlock YELLOW_CASTLE_DOOR = registerWithItem("yellow_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.YELLOW.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock VIOLET_CASTLE_DOOR = registerWithItem("violet_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.LIGHT_BLUE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock PINK_CASTLE_DOOR = registerWithItem("pink_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.MAGENTA.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); + public static final DeferredBlock BLUE_CASTLE_DOOR = registerWithItem("blue_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.PURPLE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); //mini structures - public static final DeferredBlock TWILIGHT_PORTAL_MINIATURE_STRUCTURE = registerWithItem("twilight_portal_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.of().noCollission().noOcclusion().requiresCorrectToolForDrops().strength(0.75F)); - // public static final DeferredBlock HEDGE_MAZE_MINIATURE_STRUCTURE = register("hedge_maze_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock HOLLOW_HILL_MINIATURE_STRUCTURE = register("hollow_hill_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock QUEST_GROVE_MINIATURE_STRUCTURE = register("quest_grove_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock MUSHROOM_TOWER_MINIATURE_STRUCTURE = register("mushroom_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); - public static final DeferredBlock NAGA_COURTYARD_MINIATURE_STRUCTURE = registerWithItem("naga_courtyard_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); - public static final DeferredBlock LICH_TOWER_MINIATURE_STRUCTURE = registerWithItem("lich_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE = register("minotaur_labyrinth_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock HYDRA_LAIR_MINIATURE_STRUCTURE = register("hydra_lair_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE = register("goblin_stronghold_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock DARK_TOWER_MINIATURE_STRUCTURE = register("dark_tower_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock YETI_CAVE_MINIATURE_STRUCTURE = register("yeti_cave_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock AURORA_PALACE_MINIATURE_STRUCTURE = register("aurora_palace_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE = register("troll_cave_cottage_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); -// public static final DeferredBlock FINAL_CASTLE_MINIATURE_STRUCTURE = register("final_castle_miniature_structure", MiniatureStructureBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); + public static final DeferredBlock TWILIGHT_PORTAL_MINIATURE_STRUCTURE = registerWithItem("twilight_portal_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.of().noCollission().noOcclusion().requiresCorrectToolForDrops().strength(0.75F)); + // public static final DeferredBlock HEDGE_MAZE_MINIATURE_STRUCTURE = register("hedge_maze_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock HOLLOW_HILL_MINIATURE_STRUCTURE = register("hollow_hill_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock QUEST_GROVE_MINIATURE_STRUCTURE = register("quest_grove_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock MUSHROOM_TOWER_MINIATURE_STRUCTURE = register("mushroom_tower_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); + public static final DeferredBlock NAGA_COURTYARD_MINIATURE_STRUCTURE = registerWithItem("naga_courtyard_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); + public static final DeferredBlock LICH_TOWER_MINIATURE_STRUCTURE = registerWithItem("lich_tower_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE = register("minotaur_labyrinth_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock HYDRA_LAIR_MINIATURE_STRUCTURE = register("hydra_lair_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE = register("goblin_stronghold_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock DARK_TOWER_MINIATURE_STRUCTURE = register("dark_tower_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock YETI_CAVE_MINIATURE_STRUCTURE = register("yeti_cave_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock AURORA_PALACE_MINIATURE_STRUCTURE = register("aurora_palace_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE = register("troll_cave_cottage_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); +// public static final DeferredBlock FINAL_CASTLE_MINIATURE_STRUCTURE = register("final_castle_miniature_structure", MiniatureStructureBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get())); //storage blocks - public static final DeferredBlock KNIGHTMETAL_BLOCK = registerWithItem("knightmetal_block", KnightmetalBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 40.0F)); - public static final DeferredBlock IRONWOOD_BLOCK = registerWithItem("ironwood_block", Block::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(5.0F, 6.0F)); - public static final DeferredBlock FIERY_BLOCK = registerFireResistantItem("fiery_block", FieryBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F).emissiveRendering((state, world, pos) -> true)); - public static final DeferredBlock STEELEAF_BLOCK = registerWithItem("steeleaf_block", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.MOSS).strength(5.0F, 6.0F)); - public static final DeferredBlock ARCTIC_FUR_BLOCK = registerWithItem("arctic_fur_block", ArcticFurBlock::new, BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOL).sound(SoundType.WOOL).strength(0.8F)); - public static final DeferredBlock CARMINITE_BLOCK = registerWithItem("carminite_block", Block::new, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(1.5F, 10.0F).requiresCorrectToolForDrops().sound(SoundType.METAL)); + public static final DeferredBlock KNIGHTMETAL_BLOCK = registerWithItem("knightmetal_block", KnightmetalBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 40.0F)); + public static final DeferredBlock IRONWOOD_BLOCK = registerWithItem("ironwood_block", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(5.0F, 6.0F)); + public static final DeferredBlock FIERY_BLOCK = registerFireResistantItem("fiery_block", FieryBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F).emissiveRendering((state, world, pos) -> true)); + public static final DeferredBlock STEELEAF_BLOCK = registerWithItem("steeleaf_block", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.MOSS).strength(5.0F, 6.0F)); + public static final DeferredBlock ARCTIC_FUR_BLOCK = registerWithItem("arctic_fur_block", ArcticFurBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOL).sound(SoundType.WOOL).strength(0.8F)); + public static final DeferredBlock CARMINITE_BLOCK = registerWithItem("carminite_block", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(1.5F, 10.0F).requiresCorrectToolForDrops().sound(SoundType.METAL)); //boss trophies and spawners - public static final DeferredBlock NAGA_BOSS_SPAWNER = registerWithItem("naga_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.NAGA, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock LICH_BOSS_SPAWNER = registerWithItem("lich_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.LICH, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock HYDRA_BOSS_SPAWNER = registerWithItem("hydra_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.HYDRA, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock UR_GHAST_BOSS_SPAWNER = registerWithItem("ur_ghast_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.UR_GHAST, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock KNIGHT_PHANTOM_BOSS_SPAWNER = registerWithItem("knight_phantom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.KNIGHT_PHANTOM, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock SNOW_QUEEN_BOSS_SPAWNER = registerWithItem("snow_queen_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.SNOW_QUEEN, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock MINOSHROOM_BOSS_SPAWNER = registerWithItem("minoshroom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.MINOSHROOM, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock ALPHA_YETI_BOSS_SPAWNER = registerWithItem("alpha_yeti_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.ALPHA_YETI, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock FINAL_BOSS_BOSS_SPAWNER = registerWithItem("final_boss_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.FINAL_BOSS, properties), BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); - public static final DeferredBlock NAGA_TROPHY = register("naga_trophy", properties -> new TrophyBlock(BossVariant.NAGA, 5, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock LICH_TROPHY = register("lich_trophy", properties -> new TrophyBlock(BossVariant.LICH, 6, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyBlock(BossVariant.HYDRA, 12, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyBlock(BossVariant.UR_GHAST, 13, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyBlock(BossVariant.KNIGHT_PHANTOM, 8, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyBlock(BossVariant.SNOW_QUEEN, 14, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyBlock(BossVariant.MINOSHROOM, 7, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyBlock(BossVariant.ALPHA_YETI, 9, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyBlock(BossVariant.QUEST_RAM, 1, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock NAGA_WALL_TROPHY = register("naga_wall_trophy", properties -> new TrophyWallBlock(BossVariant.NAGA, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock LICH_WALL_TROPHY = register("lich_wall_trophy", properties -> new TrophyWallBlock(BossVariant.LICH, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock HYDRA_WALL_TROPHY = register("hydra_wall_trophy", properties -> new TrophyWallBlock(BossVariant.HYDRA, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock UR_GHAST_WALL_TROPHY = register("ur_ghast_wall_trophy", properties -> new TrophyWallBlock(BossVariant.UR_GHAST, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = register("knight_phantom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = register("snow_queen_wall_trophy", properties -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock MINOSHROOM_WALL_TROPHY = register("minoshroom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.MINOSHROOM, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = register("alpha_yeti_wall_trophy", properties -> new TrophyWallBlock(BossVariant.ALPHA_YETI, properties), BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock QUEST_RAM_WALL_TROPHY = register("quest_ram_wall_trophy", properties -> new TrophyWallBlock(BossVariant.QUEST_RAM, properties), BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock NAGA_BOSS_SPAWNER = registerWithItem("naga_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.NAGA, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock LICH_BOSS_SPAWNER = registerWithItem("lich_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.LICH, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock HYDRA_BOSS_SPAWNER = registerWithItem("hydra_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.HYDRA, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock UR_GHAST_BOSS_SPAWNER = registerWithItem("ur_ghast_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.UR_GHAST, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock KNIGHT_PHANTOM_BOSS_SPAWNER = registerWithItem("knight_phantom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.KNIGHT_PHANTOM, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock SNOW_QUEEN_BOSS_SPAWNER = registerWithItem("snow_queen_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.SNOW_QUEEN, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock MINOSHROOM_BOSS_SPAWNER = registerWithItem("minoshroom_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.MINOSHROOM, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock ALPHA_YETI_BOSS_SPAWNER = registerWithItem("alpha_yeti_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.ALPHA_YETI, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock FINAL_BOSS_BOSS_SPAWNER = registerWithItem("final_boss_boss_spawner", properties -> new BossSpawnerBlock(BossVariant.FINAL_BOSS, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).noLootTable().sound(SoundType.METAL).noOcclusion().strength(-1.0F, 3600000.8F)); + public static final DeferredBlock NAGA_TROPHY = register("naga_trophy", properties -> new TrophyBlock(BossVariant.NAGA, 5, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock LICH_TROPHY = register("lich_trophy", properties -> new TrophyBlock(BossVariant.LICH, 6, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyBlock(BossVariant.HYDRA, 12, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyBlock(BossVariant.UR_GHAST, 13, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyBlock(BossVariant.KNIGHT_PHANTOM, 8, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyBlock(BossVariant.SNOW_QUEEN, 14, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyBlock(BossVariant.MINOSHROOM, 7, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyBlock(BossVariant.ALPHA_YETI, 9, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyBlock(BossVariant.QUEST_RAM, 1, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock NAGA_WALL_TROPHY = register("naga_wall_trophy", properties -> new TrophyWallBlock(BossVariant.NAGA, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock LICH_WALL_TROPHY = register("lich_wall_trophy", properties -> new TrophyWallBlock(BossVariant.LICH, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock HYDRA_WALL_TROPHY = register("hydra_wall_trophy", properties -> new TrophyWallBlock(BossVariant.HYDRA, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock UR_GHAST_WALL_TROPHY = register("ur_ghast_wall_trophy", properties -> new TrophyWallBlock(BossVariant.UR_GHAST, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = register("knight_phantom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = register("snow_queen_wall_trophy", properties -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock MINOSHROOM_WALL_TROPHY = register("minoshroom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.MINOSHROOM, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = register("alpha_yeti_wall_trophy", properties -> new TrophyWallBlock(BossVariant.ALPHA_YETI, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock QUEST_RAM_WALL_TROPHY = register("quest_ram_wall_trophy", properties -> new TrophyWallBlock(BossVariant.QUEST_RAM, properties), () -> BlockBehaviour.Properties.of().instabreak()); // TODO Enumify all of the dang tree stuff //all tree related stuff - public static final DeferredBlock OAK_BANISTER = registerWithItem("oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS)); - public static final DeferredBlock SPRUCE_BANISTER = registerWithItem("spruce_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS)); - public static final DeferredBlock BIRCH_BANISTER = registerWithItem("birch_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS)); - public static final DeferredBlock JUNGLE_BANISTER = registerWithItem("jungle_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS)); - public static final DeferredBlock ACACIA_BANISTER = registerWithItem("acacia_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS)); - public static final DeferredBlock DARK_OAK_BANISTER = registerWithItem("dark_oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS)); - public static final DeferredBlock CRIMSON_BANISTER = registerWithItem("crimson_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS)); - public static final DeferredBlock WARPED_BANISTER = registerWithItem("warped_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS)); - public static final DeferredBlock VANGROVE_BANISTER = registerWithItem("vangrove_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS)); - public static final DeferredBlock BAMBOO_BANISTER = registerWithItem("bamboo_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS)); - public static final DeferredBlock CHERRY_BANISTER = registerWithItem("cherry_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS)); + public static final DeferredBlock OAK_BANISTER = registerWithItem("oak_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS)); + public static final DeferredBlock SPRUCE_BANISTER = registerWithItem("spruce_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS)); + public static final DeferredBlock BIRCH_BANISTER = registerWithItem("birch_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS)); + public static final DeferredBlock JUNGLE_BANISTER = registerWithItem("jungle_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS)); + public static final DeferredBlock ACACIA_BANISTER = registerWithItem("acacia_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS)); + public static final DeferredBlock DARK_OAK_BANISTER = registerWithItem("dark_oak_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS)); + public static final DeferredBlock CRIMSON_BANISTER = registerWithItem("crimson_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS)); + public static final DeferredBlock WARPED_BANISTER = registerWithItem("warped_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS)); + public static final DeferredBlock VANGROVE_BANISTER = registerWithItem("vangrove_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS)); + public static final DeferredBlock BAMBOO_BANISTER = registerWithItem("bamboo_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS)); + public static final DeferredBlock CHERRY_BANISTER = registerWithItem("cherry_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS)); public static final BlockBehaviour.Properties TWILIGHT_OAK_LOG_PROPS = logProperties(MapColor.WOOD, MapColor.PODZOL).strength(2.0F).sound(SoundType.WOOD); public static final BlockBehaviour.Properties CANOPY_LOG_PROPS = logProperties(MapColor.PODZOL, MapColor.COLOR_BROWN).strength(2.0F).sound(SoundType.WOOD); @@ -313,317 +314,317 @@ public class TFBlocks { public static final BlockBehaviour.Properties MINING_STRIPPED_PROPS = logProperties(MapColor.SAND).strength(2.0F).sound(SoundType.WOOD); public static final BlockBehaviour.Properties SORTING_STRIPPED_PROPS = logProperties(MapColor.PODZOL).strength(2.0F).sound(SoundType.WOOD); - public static final DeferredBlock TWILIGHT_OAK_LOG = registerWithItem("twilight_oak_log", RotatedPillarBlock::new, TWILIGHT_OAK_LOG_PROPS); - public static final DeferredBlock CANOPY_LOG = registerWithItem("canopy_log", RotatedPillarBlock::new, CANOPY_LOG_PROPS); - public static final DeferredBlock MANGROVE_LOG = registerWithItem("mangrove_log", RotatedPillarBlock::new, MANGROVE_LOG_PROPS); - public static final DeferredBlock DARK_LOG = registerWithItem("dark_log", RotatedPillarBlock::new, DARK_LOG_PROPS); - public static final DeferredBlock TIME_LOG = registerWithItem("time_log", RotatedPillarBlock::new, TIME_LOG_PROPS); - public static final DeferredBlock TRANSFORMATION_LOG = registerWithItem("transformation_log", RotatedPillarBlock::new, TRANSFORMATION_LOG_PROPS); - public static final DeferredBlock MINING_LOG = registerWithItem("mining_log", RotatedPillarBlock::new, MINING_LOG_PROPS); - public static final DeferredBlock SORTING_LOG = registerWithItem("sorting_log", RotatedPillarBlock::new, SORTING_LOG_PROPS); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = register("hollow_twilight_oak_log_horizontal", HorizontalHollowLogBlock::new, TWILIGHT_OAK_BARK_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = register("hollow_canopy_log_horizontal", HorizontalHollowLogBlock::new, CANOPY_BARK_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = register("hollow_mangrove_log_horizontal", HorizontalHollowLogBlock::new, MANGROVE_BARK_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = register("hollow_dark_log_horizontal", HorizontalHollowLogBlock::new, DARK_BARK_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = register("hollow_time_log_horizontal", HorizontalHollowLogBlock::new, TIME_BARK_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = register("hollow_transformation_log_horizontal", HorizontalHollowLogBlock::new, TRANSFORMATION_BARK_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = register("hollow_mining_log_horizontal", HorizontalHollowLogBlock::new, MINING_BARK_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = register("hollow_sorting_log_horizontal", HorizontalHollowLogBlock::new, SORTING_BARK_PROPS); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = register("hollow_twilight_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = register("hollow_canopy_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), CANOPY_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = register("hollow_mangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = register("hollow_dark_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), DARK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = register("hollow_time_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), TIME_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = register("hollow_transformation_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = register("hollow_mining_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), MINING_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = register("hollow_sorting_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), SORTING_STRIPPED_PROPS); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = register("hollow_twilight_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, properties), TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = register("hollow_canopy_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, properties), CANOPY_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = register("hollow_mangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, properties), MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = register("hollow_dark_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, properties), DARK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = register("hollow_time_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, properties), TIME_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = register("hollow_transformation_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, properties), TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = register("hollow_mining_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, properties), MINING_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = register("hollow_sorting_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, properties), SORTING_STRIPPED_PROPS); - - public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = register("hollow_oak_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = register("hollow_spruce_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = register("hollow_birch_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = register("hollow_jungle_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = register("hollow_acacia_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = register("hollow_dark_oak_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = register("hollow_crimson_stem_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = register("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE)); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = register("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = register("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD)); - - public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = register("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = register("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = register("hollow_birch_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = register("hollow_jungle_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = register("hollow_acacia_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = register("hollow_dark_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = register("hollow_crimson_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = register("hollow_warped_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); - // wanna see a funny crash? Use BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_MANGROVE_WOOD) instead of the BlockBehaviour.Properties.of(...) + public static final DeferredBlock TWILIGHT_OAK_LOG = registerWithItem("twilight_oak_log", RotatedPillarBlock::new, () -> TWILIGHT_OAK_LOG_PROPS); + public static final DeferredBlock CANOPY_LOG = registerWithItem("canopy_log", RotatedPillarBlock::new, () -> CANOPY_LOG_PROPS); + public static final DeferredBlock MANGROVE_LOG = registerWithItem("mangrove_log", RotatedPillarBlock::new, () -> MANGROVE_LOG_PROPS); + public static final DeferredBlock DARK_LOG = registerWithItem("dark_log", RotatedPillarBlock::new, () -> DARK_LOG_PROPS); + public static final DeferredBlock TIME_LOG = registerWithItem("time_log", RotatedPillarBlock::new, () -> TIME_LOG_PROPS); + public static final DeferredBlock TRANSFORMATION_LOG = registerWithItem("transformation_log", RotatedPillarBlock::new, () -> TRANSFORMATION_LOG_PROPS); + public static final DeferredBlock MINING_LOG = registerWithItem("mining_log", RotatedPillarBlock::new, () -> MINING_LOG_PROPS); + public static final DeferredBlock SORTING_LOG = registerWithItem("sorting_log", RotatedPillarBlock::new, () -> SORTING_LOG_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = register("hollow_twilight_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> TWILIGHT_OAK_BARK_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = register("hollow_canopy_log_horizontal", HorizontalHollowLogBlock::new, () -> CANOPY_BARK_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = register("hollow_mangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> MANGROVE_BARK_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = register("hollow_dark_log_horizontal", HorizontalHollowLogBlock::new, () -> DARK_BARK_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = register("hollow_time_log_horizontal", HorizontalHollowLogBlock::new, () -> TIME_BARK_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = register("hollow_transformation_log_horizontal", HorizontalHollowLogBlock::new, () -> TRANSFORMATION_BARK_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = register("hollow_mining_log_horizontal", HorizontalHollowLogBlock::new, () -> MINING_BARK_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = register("hollow_sorting_log_horizontal", HorizontalHollowLogBlock::new, () -> SORTING_BARK_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = register("hollow_twilight_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = register("hollow_canopy_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> CANOPY_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = register("hollow_mangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = register("hollow_dark_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> DARK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = register("hollow_time_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> TIME_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = register("hollow_transformation_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = register("hollow_mining_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> MINING_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = register("hollow_sorting_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> SORTING_STRIPPED_PROPS); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = register("hollow_twilight_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = register("hollow_canopy_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, properties), () -> CANOPY_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = register("hollow_mangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, properties), () -> MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = register("hollow_dark_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, properties), () -> DARK_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = register("hollow_time_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, properties), () -> TIME_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = register("hollow_transformation_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, properties), () -> TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = register("hollow_mining_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, properties), () -> MINING_STRIPPED_PROPS); + public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = register("hollow_sorting_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, properties), () -> SORTING_STRIPPED_PROPS); + + public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = register("hollow_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = register("hollow_spruce_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = register("hollow_birch_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = register("hollow_jungle_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = register("hollow_acacia_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = register("hollow_dark_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = register("hollow_crimson_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = register("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = register("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = register("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD)); + + public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = register("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = register("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = register("hollow_birch_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = register("hollow_jungle_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = register("hollow_acacia_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = register("hollow_dark_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = register("hollow_crimson_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = register("hollow_warped_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); + // wanna see a funny crash? Use () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_MANGROVE_WOOD) instead of the BlockBehaviour.Properties.of(...) // I still legit have no idea why it happens but it does - public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = register("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = register("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); - - public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = register("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = register("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = register("hollow_birch_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = register("hollow_jungle_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = register("hollow_acacia_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = register("hollow_dark_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = register("hollow_crimson_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = register("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = register("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = register("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); - - public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = registerWithItem("stripped_twilight_oak_log", RotatedPillarBlock::new, TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_CANOPY_LOG = registerWithItem("stripped_canopy_log", RotatedPillarBlock::new, CANOPY_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_MANGROVE_LOG = registerWithItem("stripped_mangrove_log", RotatedPillarBlock::new, MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_DARK_LOG = registerWithItem("stripped_dark_log", RotatedPillarBlock::new, DARK_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_TIME_LOG = registerWithItem("stripped_time_log", RotatedPillarBlock::new, TIME_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_TRANSFORMATION_LOG = registerWithItem("stripped_transformation_log", RotatedPillarBlock::new, TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_MINING_LOG = registerWithItem("stripped_mining_log", RotatedPillarBlock::new, MINING_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_SORTING_LOG = registerWithItem("stripped_sorting_log", RotatedPillarBlock::new, SORTING_STRIPPED_PROPS); - - public static final DeferredBlock TWILIGHT_OAK_WOOD = registerWithItem("twilight_oak_wood", RotatedPillarBlock::new, TWILIGHT_OAK_BARK_PROPS); - public static final DeferredBlock CANOPY_WOOD = registerWithItem("canopy_wood", RotatedPillarBlock::new, CANOPY_BARK_PROPS); - public static final DeferredBlock MANGROVE_WOOD = registerWithItem("mangrove_wood", RotatedPillarBlock::new, MANGROVE_BARK_PROPS); - public static final DeferredBlock DARK_WOOD = registerWithItem("dark_wood", RotatedPillarBlock::new, DARK_BARK_PROPS); - public static final DeferredBlock TIME_WOOD = registerWithItem("time_wood", RotatedPillarBlock::new, TIME_BARK_PROPS); - public static final DeferredBlock TRANSFORMATION_WOOD = registerWithItem("transformation_wood", RotatedPillarBlock::new, TRANSFORMATION_BARK_PROPS); - public static final DeferredBlock MINING_WOOD = registerWithItem("mining_wood", RotatedPillarBlock::new, MINING_BARK_PROPS); - public static final DeferredBlock SORTING_WOOD = registerWithItem("sorting_wood", RotatedPillarBlock::new, SORTING_BARK_PROPS); - - public static final DeferredBlock STRIPPED_TWILIGHT_OAK_WOOD = registerWithItem("stripped_twilight_oak_wood", RotatedPillarBlock::new, TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_CANOPY_WOOD = registerWithItem("stripped_canopy_wood", RotatedPillarBlock::new, CANOPY_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_MANGROVE_WOOD = registerWithItem("stripped_mangrove_wood", RotatedPillarBlock::new, MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_DARK_WOOD = registerWithItem("stripped_dark_wood", RotatedPillarBlock::new, DARK_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_TIME_WOOD = registerWithItem("stripped_time_wood", RotatedPillarBlock::new, TIME_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_TRANSFORMATION_WOOD = registerWithItem("stripped_transformation_wood", RotatedPillarBlock::new, TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_MINING_WOOD = registerWithItem("stripped_mining_wood", RotatedPillarBlock::new, MINING_STRIPPED_PROPS); - public static final DeferredBlock STRIPPED_SORTING_WOOD = registerWithItem("stripped_sorting_wood", RotatedPillarBlock::new, SORTING_STRIPPED_PROPS); - - public static final DeferredBlock TIME_LOG_CORE = registerWithItem("time_log_core", TimeLogCoreBlock::new, TIME_LOG_PROPS); - public static final DeferredBlock TRANSFORMATION_LOG_CORE = registerWithItem("transformation_log_core", TransLogCoreBlock::new, TRANSFORMATION_LOG_PROPS); - public static final DeferredBlock MINING_LOG_CORE = registerWithItem("mining_log_core", MineLogCoreBlock::new, MINING_LOG_PROPS); - public static final DeferredBlock SORTING_LOG_CORE = registerWithItem("sorting_log_core", SortLogCoreBlock::new, SORTING_LOG_PROPS); - - public static final DeferredBlock MANGROVE_ROOT = registerWithItem("mangrove_root", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.STONE).sound(SoundType.WOOD).strength(2.0F)); - - public static final DeferredBlock TWILIGHT_OAK_LEAVES = registerWithItem("twilight_oak_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock CANOPY_LEAVES = registerWithItem("canopy_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock MANGROVE_LEAVES = registerWithItem("mangrove_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock DARK_LEAVES = registerWithItem("dark_leaves", DarkLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock HARDENED_DARK_LEAVES = register("hardened_dark_leaves", HardenedDarkLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock RAINBOW_OAK_LEAVES = registerWithItem("rainbow_oak_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock TIME_LEAVES = registerWithItem("time_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock TRANSFORMATION_LEAVES = registerWithItem("transformation_leaves", TransformationLeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock MINING_LEAVES = registerWithItem("mining_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - public static final DeferredBlock SORTING_LEAVES = registerWithItem("sorting_leaves", LeavesBlock::new, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); - - public static final DeferredBlock TWILIGHT_OAK_SAPLING = registerWithItem("twilight_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.TWILIGHT_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock CANOPY_SAPLING = registerWithItem("canopy_sapling", properties -> new SaplingBlock(TFTreeGrowers.CANOPY, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock MANGROVE_SAPLING = registerWithItem("mangrove_sapling", properties -> new MangroveSaplingBlock(TFTreeGrowers.MANGROVE, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock DARKWOOD_SAPLING = registerWithItem("darkwood_sapling", properties -> new SaplingBlock(TFTreeGrowers.DARK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock HOLLOW_OAK_SAPLING = registerWithItem("hollow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.HOLLOW_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock TIME_SAPLING = registerWithItem("time_sapling", properties -> new SaplingBlock(TFTreeGrowers.TIME, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock TRANSFORMATION_SAPLING = registerWithItem("transformation_sapling", properties -> new SaplingBlock(TFTreeGrowers.TRANSFORMATION, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock MINING_SAPLING = registerWithItem("mining_sapling", properties -> new SaplingBlock(TFTreeGrowers.MINING, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock SORTING_SAPLING = registerWithItem("sorting_sapling", properties -> new SaplingBlock(TFTreeGrowers.SORTING, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - public static final DeferredBlock RAINBOW_OAK_SAPLING = registerWithItem("rainbow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.RAINBOW_OAK, properties), BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); - - public static final DeferredBlock TWILIGHT_OAK_PLANKS = registerWithItem("twilight_oak_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock TWILIGHT_OAK_STAIRS = registerWithItem("twilight_oak_stairs", properties -> new StairBlock(TWILIGHT_OAK_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); - public static final DeferredBlock TWILIGHT_OAK_SLAB = registerWithItem("twilight_oak_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); - public static final DeferredBlock TWILIGHT_OAK_BUTTON = registerWithItem("twilight_oak_button", properties -> new ButtonBlock(TFWoodTypes.TWILIGHT_OAK_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock TWILIGHT_OAK_FENCE = registerWithItem("twilight_oak_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); - public static final DeferredBlock TWILIGHT_OAK_GATE = registerWithItem("twilight_oak_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock TWILIGHT_OAK_PLATE = registerWithItem("twilight_oak_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock TWILIGHT_OAK_DOOR = registerDoubleBlockItem("twilight_oak_door", properties -> new DoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); - public static final DeferredBlock TWILIGHT_OAK_TRAPDOOR = registerWithItem("twilight_oak_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new StandingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); - public static final DeferredBlock TWILIGHT_WALL_SIGN = register("twilight_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); - public static final DeferredBlock TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = register("twilight_oak_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TWILIGHT_OAK_BANISTER = registerWithItem("twilight_oak_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); - - public static final DeferredBlock CANOPY_PLANKS = registerWithItem("canopy_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock CANOPY_STAIRS = registerWithItem("canopy_stairs", properties -> new StairBlock(CANOPY_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); - public static final DeferredBlock CANOPY_SLAB = registerWithItem("canopy_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); - public static final DeferredBlock CANOPY_BUTTON = registerWithItem("canopy_button", properties -> new ButtonBlock(TFWoodTypes.CANOPY_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock CANOPY_FENCE = registerWithItem("canopy_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); - public static final DeferredBlock CANOPY_GATE = registerWithItem("canopy_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock CANOPY_PLATE = registerWithItem("canopy_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock CANOPY_DOOR = registerDoubleBlockItem("canopy_door", properties -> new DoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock CANOPY_TRAPDOOR = registerWithItem("canopy_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); - public static final DeferredBlock CANOPY_SIGN = register("canopy_sign", properties -> new StandingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock CANOPY_WALL_SIGN = register("canopy_wall_sign", properties -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock CANOPY_BOOKSHELF = registerWithItem("canopy_bookshelf", Block::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.5F)); - public static final DeferredBlock CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = register("canopy_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock CANOPY_BANISTER = registerWithItem("canopy_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); - - public static final DeferredBlock MANGROVE_PLANKS = registerWithItem("mangrove_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock MANGROVE_STAIRS = registerWithItem("mangrove_stairs", properties -> new StairBlock(MANGROVE_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); - public static final DeferredBlock MANGROVE_SLAB = registerWithItem("mangrove_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); - public static final DeferredBlock MANGROVE_BUTTON = registerWithItem("mangrove_button", properties -> new ButtonBlock(TFWoodTypes.MANGROVE_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock MANGROVE_FENCE = registerWithItem("mangrove_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); - public static final DeferredBlock MANGROVE_GATE = registerWithItem("mangrove_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock MANGROVE_PLATE = registerWithItem("mangrove_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock MANGROVE_DOOR = registerDoubleBlockItem("mangrove_door", properties -> new DoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock MANGROVE_TRAPDOOR = registerWithItem("mangrove_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock MANGROVE_SIGN = register("mangrove_sign", properties -> new StandingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MANGROVE_WALL_SIGN = register("mangrove_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = register("mangrove_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MANGROVE_BANISTER = registerWithItem("mangrove_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); - - public static final DeferredBlock DARK_PLANKS = registerWithItem("dark_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock DARK_STAIRS = registerWithItem("dark_stairs", properties -> new StairBlock(DARK_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); - public static final DeferredBlock DARK_SLAB = registerWithItem("dark_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).sound(SoundType.WOOD)); - public static final DeferredBlock DARK_BUTTON = registerWithItem("dark_button", properties -> new ButtonBlock(TFWoodTypes.DARK_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock DARK_FENCE = registerWithItem("dark_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); - public static final DeferredBlock DARK_GATE = registerWithItem("dark_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock DARK_PLATE = registerWithItem("dark_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock DARK_DOOR = registerDoubleBlockItem("dark_door", properties -> new DoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); - public static final DeferredBlock DARK_TRAPDOOR = registerWithItem("dark_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock DARK_SIGN = register("dark_sign", properties -> new StandingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock DARK_WALL_SIGN = register("dark_wall_sign", properties -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock DARK_WALL_HANGING_SIGN = register("dark_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock DARK_BANISTER = registerWithItem("dark_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); - - public static final DeferredBlock TIME_PLANKS = registerWithItem("time_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock TIME_STAIRS = registerWithItem("time_stairs", properties -> new StairBlock(TIME_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); - public static final DeferredBlock TIME_SLAB = registerWithItem("time_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).sound(SoundType.WOOD)); - public static final DeferredBlock TIME_BUTTON = registerWithItem("time_button", properties -> new ButtonBlock(TFWoodTypes.TIME_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock TIME_FENCE = registerWithItem("time_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); - public static final DeferredBlock TIME_GATE = registerWithItem("time_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock TIME_PLATE = registerWithItem("time_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock TIME_DOOR = registerDoubleBlockItem("time_door", properties -> new DoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); - public static final DeferredBlock TIME_TRAPDOOR = registerWithItem("time_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock TIME_SIGN = register("time_sign", properties -> new StandingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TIME_WALL_SIGN = register("time_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TIME_WALL_HANGING_SIGN = register("time_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TIME_BANISTER = registerWithItem("time_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); - - public static final DeferredBlock TRANSFORMATION_PLANKS = registerWithItem("transformation_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock TRANSFORMATION_STAIRS = registerWithItem("transformation_stairs", properties -> new StairBlock(TRANSFORMATION_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); - public static final DeferredBlock TRANSFORMATION_SLAB = registerWithItem("transformation_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); - public static final DeferredBlock TRANSFORMATION_BUTTON = registerWithItem("transformation_button", properties -> new ButtonBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock TRANSFORMATION_FENCE = registerWithItem("transformation_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); - public static final DeferredBlock TRANSFORMATION_GATE = registerWithItem("transformation_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock TRANSFORMATION_PLATE = registerWithItem("transformation_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock TRANSFORMATION_DOOR = registerDoubleBlockItem("transformation_door", properties -> new DoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock TRANSFORMATION_TRAPDOOR = registerWithItem("transformation_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock TRANSFORMATION_SIGN = register("transformation_sign", properties -> new StandingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TRANSFORMATION_WALL_SIGN = register("transformation_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = register("transformation_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TRANSFORMATION_BANISTER = registerWithItem("transformation_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); - - public static final DeferredBlock MINING_PLANKS = registerWithItem("mining_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.SAND).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock MINING_STAIRS = registerWithItem("mining_stairs", properties -> new StairBlock(MINING_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); - public static final DeferredBlock MINING_SLAB = registerWithItem("mining_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); - public static final DeferredBlock MINING_BUTTON = registerWithItem("mining_button", properties -> new ButtonBlock(TFWoodTypes.MINING_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock MINING_FENCE = registerWithItem("mining_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); - public static final DeferredBlock MINING_GATE = registerWithItem("mining_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock MINING_PLATE = registerWithItem("mining_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock MINING_DOOR = registerDoubleBlockItem("mining_door", properties -> new DoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock MINING_TRAPDOOR = registerWithItem("mining_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock MINING_SIGN = register("mining_sign", properties -> new StandingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MINING_WALL_SIGN = register("mining_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MINING_WALL_HANGING_SIGN = register("mining_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MINING_BANISTER = registerWithItem("mining_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); - - public static final DeferredBlock SORTING_PLANKS = registerWithItem("sorting_planks", Block::new, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); - public static final DeferredBlock SORTING_STAIRS = registerWithItem("sorting_stairs", properties -> new StairBlock(SORTING_PLANKS.get().defaultBlockState(), properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); - public static final DeferredBlock SORTING_SLAB = registerWithItem("sorting_slab", SlabBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); - public static final DeferredBlock SORTING_BUTTON = registerWithItem("sorting_button", properties -> new ButtonBlock(TFWoodTypes.SORTING_WOOD_SET, 30, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(0.5F)); - public static final DeferredBlock SORTING_FENCE = registerWithItem("sorting_fence", FenceBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); - public static final DeferredBlock SORTING_GATE = registerWithItem("sorting_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn()); - public static final DeferredBlock SORTING_PLATE = registerWithItem("sorting_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); - public static final DeferredBlock SORTING_DOOR = registerDoubleBlockItem("sorting_door", properties -> new DoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock SORTING_TRAPDOOR = registerWithItem("sorting_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); - public static final DeferredBlock SORTING_SIGN = register("sorting_sign", properties -> new StandingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock SORTING_WALL_SIGN = register("sorting_wall_sign", properties -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock SORTING_WALL_HANGING_SIGN = register("sorting_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock SORTING_BANISTER = registerWithItem("sorting_banister", BanisterBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); - - public static final DeferredBlock TWILIGHT_OAK_CHEST = registerWithItem("twilight_oak_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock CANOPY_CHEST = registerWithItem("canopy_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock MANGROVE_CHEST = registerWithItem("mangrove_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock DARK_CHEST = registerWithItem("dark_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock TIME_CHEST = registerWithItem("time_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock TRANSFORMATION_CHEST = registerWithItem("transformation_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock MINING_CHEST = registerWithItem("mining_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock SORTING_CHEST = registerWithItem("sorting_chest", TFChestBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); - - public static final DeferredBlock TWILIGHT_OAK_TRAPPED_CHEST = registerWithItem("twilight_oak_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock CANOPY_TRAPPED_CHEST = registerWithItem("canopy_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock MANGROVE_TRAPPED_CHEST = registerWithItem("mangrove_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock DARK_TRAPPED_CHEST = registerWithItem("dark_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock TIME_TRAPPED_CHEST = registerWithItem("time_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock TRANSFORMATION_TRAPPED_CHEST = registerWithItem("transformation_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock MINING_TRAPPED_CHEST = registerWithItem("mining_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); - public static final DeferredBlock SORTING_TRAPPED_CHEST = registerWithItem("sorting_trapped_chest", TFTrappedChestBlock::new, BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = register("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = register("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + + public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = register("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = register("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); + public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = register("hollow_birch_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = register("hollow_jungle_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); + public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = register("hollow_acacia_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = register("hollow_dark_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = register("hollow_crimson_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); + public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = register("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = register("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); + public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = register("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + + public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = registerWithItem("stripped_twilight_oak_log", RotatedPillarBlock::new, () -> TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_CANOPY_LOG = registerWithItem("stripped_canopy_log", RotatedPillarBlock::new, () -> CANOPY_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MANGROVE_LOG = registerWithItem("stripped_mangrove_log", RotatedPillarBlock::new, () -> MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_DARK_LOG = registerWithItem("stripped_dark_log", RotatedPillarBlock::new, () -> DARK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TIME_LOG = registerWithItem("stripped_time_log", RotatedPillarBlock::new, () -> TIME_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TRANSFORMATION_LOG = registerWithItem("stripped_transformation_log", RotatedPillarBlock::new, () -> TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MINING_LOG = registerWithItem("stripped_mining_log", RotatedPillarBlock::new, () -> MINING_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_SORTING_LOG = registerWithItem("stripped_sorting_log", RotatedPillarBlock::new, () -> SORTING_STRIPPED_PROPS); + + public static final DeferredBlock TWILIGHT_OAK_WOOD = registerWithItem("twilight_oak_wood", RotatedPillarBlock::new, () -> TWILIGHT_OAK_BARK_PROPS); + public static final DeferredBlock CANOPY_WOOD = registerWithItem("canopy_wood", RotatedPillarBlock::new, () -> CANOPY_BARK_PROPS); + public static final DeferredBlock MANGROVE_WOOD = registerWithItem("mangrove_wood", RotatedPillarBlock::new, () -> MANGROVE_BARK_PROPS); + public static final DeferredBlock DARK_WOOD = registerWithItem("dark_wood", RotatedPillarBlock::new, () -> DARK_BARK_PROPS); + public static final DeferredBlock TIME_WOOD = registerWithItem("time_wood", RotatedPillarBlock::new, () -> TIME_BARK_PROPS); + public static final DeferredBlock TRANSFORMATION_WOOD = registerWithItem("transformation_wood", RotatedPillarBlock::new, () -> TRANSFORMATION_BARK_PROPS); + public static final DeferredBlock MINING_WOOD = registerWithItem("mining_wood", RotatedPillarBlock::new, () -> MINING_BARK_PROPS); + public static final DeferredBlock SORTING_WOOD = registerWithItem("sorting_wood", RotatedPillarBlock::new, () -> SORTING_BARK_PROPS); + + public static final DeferredBlock STRIPPED_TWILIGHT_OAK_WOOD = registerWithItem("stripped_twilight_oak_wood", RotatedPillarBlock::new, () -> TWILIGHT_OAK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_CANOPY_WOOD = registerWithItem("stripped_canopy_wood", RotatedPillarBlock::new, () -> CANOPY_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MANGROVE_WOOD = registerWithItem("stripped_mangrove_wood", RotatedPillarBlock::new, () -> MANGROVE_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_DARK_WOOD = registerWithItem("stripped_dark_wood", RotatedPillarBlock::new, () -> DARK_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TIME_WOOD = registerWithItem("stripped_time_wood", RotatedPillarBlock::new, () -> TIME_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_TRANSFORMATION_WOOD = registerWithItem("stripped_transformation_wood", RotatedPillarBlock::new, () -> TRANSFORMATION_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_MINING_WOOD = registerWithItem("stripped_mining_wood", RotatedPillarBlock::new, () -> MINING_STRIPPED_PROPS); + public static final DeferredBlock STRIPPED_SORTING_WOOD = registerWithItem("stripped_sorting_wood", RotatedPillarBlock::new, () -> SORTING_STRIPPED_PROPS); + + public static final DeferredBlock TIME_LOG_CORE = registerWithItem("time_log_core", TimeLogCoreBlock::new, () -> TIME_LOG_PROPS); + public static final DeferredBlock TRANSFORMATION_LOG_CORE = registerWithItem("transformation_log_core", TransLogCoreBlock::new, () -> TRANSFORMATION_LOG_PROPS); + public static final DeferredBlock MINING_LOG_CORE = registerWithItem("mining_log_core", MineLogCoreBlock::new, () -> MINING_LOG_PROPS); + public static final DeferredBlock SORTING_LOG_CORE = registerWithItem("sorting_log_core", SortLogCoreBlock::new, () -> SORTING_LOG_PROPS); + + public static final DeferredBlock MANGROVE_ROOT = registerWithItem("mangrove_root", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.STONE).sound(SoundType.WOOD).strength(2.0F)); + + public static final DeferredBlock TWILIGHT_OAK_LEAVES = registerWithItem("twilight_oak_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock CANOPY_LEAVES = registerWithItem("canopy_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock MANGROVE_LEAVES = registerWithItem("mangrove_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock DARK_LEAVES = registerWithItem("dark_leaves", DarkLeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock HARDENED_DARK_LEAVES = register("hardened_dark_leaves", HardenedDarkLeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(2.0F, 10.0F).sound(SoundType.AZALEA_LEAVES).isValidSpawn(TFBlocks::noSpawning).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock RAINBOW_OAK_LEAVES = registerWithItem("rainbow_oak_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().noOcclusion().sound(SoundType.AZALEA_LEAVES).isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock TIME_LEAVES = registerWithItem("time_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock TRANSFORMATION_LEAVES = registerWithItem("transformation_leaves", TransformationLeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock MINING_LEAVES = registerWithItem("mining_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + public static final DeferredBlock SORTING_LEAVES = registerWithItem("sorting_leaves", LeavesBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).ignitedByLava().pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.AZALEA_LEAVES).randomTicks().noOcclusion().isSuffocating((state, getter, pos) -> false).isViewBlocking((state, getter, pos) -> false).isRedstoneConductor((state, level, pos) -> false)); + + public static final DeferredBlock TWILIGHT_OAK_SAPLING = registerWithItem("twilight_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.TWILIGHT_OAK, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock CANOPY_SAPLING = registerWithItem("canopy_sapling", properties -> new SaplingBlock(TFTreeGrowers.CANOPY, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock MANGROVE_SAPLING = registerWithItem("mangrove_sapling", properties -> new MangroveSaplingBlock(TFTreeGrowers.MANGROVE, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock DARKWOOD_SAPLING = registerWithItem("darkwood_sapling", properties -> new SaplingBlock(TFTreeGrowers.DARK, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock HOLLOW_OAK_SAPLING = registerWithItem("hollow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.HOLLOW_OAK, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock TIME_SAPLING = registerWithItem("time_sapling", properties -> new SaplingBlock(TFTreeGrowers.TIME, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock TRANSFORMATION_SAPLING = registerWithItem("transformation_sapling", properties -> new SaplingBlock(TFTreeGrowers.TRANSFORMATION, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock MINING_SAPLING = registerWithItem("mining_sapling", properties -> new SaplingBlock(TFTreeGrowers.MINING, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock SORTING_SAPLING = registerWithItem("sorting_sapling", properties -> new SaplingBlock(TFTreeGrowers.SORTING, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + public static final DeferredBlock RAINBOW_OAK_SAPLING = registerWithItem("rainbow_oak_sapling", properties -> new SaplingBlock(TFTreeGrowers.RAINBOW_OAK, properties), () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.GRASS).noCollission().randomTicks()); + + public static final DeferredBlock TWILIGHT_OAK_PLANKS = registerWithItem("twilight_oak_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TWILIGHT_OAK_STAIRS = registerWithItem("twilight_oak_stairs", properties -> new StairBlock(TWILIGHT_OAK_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_SLAB = registerWithItem("twilight_oak_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_BUTTON = registerWithItem("twilight_oak_button", properties -> new ButtonBlock(TFWoodTypes.TWILIGHT_OAK_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TWILIGHT_OAK_FENCE = registerWithItem("twilight_oak_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + public static final DeferredBlock TWILIGHT_OAK_GATE = registerWithItem("twilight_oak_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TWILIGHT_OAK_PLATE = registerWithItem("twilight_oak_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TWILIGHT_OAK_DOOR = registerDoubleBlockItem("twilight_oak_door", properties -> new DoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock TWILIGHT_OAK_TRAPDOOR = registerWithItem("twilight_oak_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new StandingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); + public static final DeferredBlock TWILIGHT_WALL_SIGN = register("twilight_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); + public static final DeferredBlock TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = register("twilight_oak_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TWILIGHT_OAK_BANISTER = registerWithItem("twilight_oak_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); + + public static final DeferredBlock CANOPY_PLANKS = registerWithItem("canopy_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock CANOPY_STAIRS = registerWithItem("canopy_stairs", properties -> new StairBlock(CANOPY_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_SLAB = registerWithItem("canopy_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_BUTTON = registerWithItem("canopy_button", properties -> new ButtonBlock(TFWoodTypes.CANOPY_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock CANOPY_FENCE = registerWithItem("canopy_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + public static final DeferredBlock CANOPY_GATE = registerWithItem("canopy_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock CANOPY_PLATE = registerWithItem("canopy_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock CANOPY_DOOR = registerDoubleBlockItem("canopy_door", properties -> new DoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock CANOPY_TRAPDOOR = registerWithItem("canopy_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock CANOPY_SIGN = register("canopy_sign", properties -> new StandingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock CANOPY_WALL_SIGN = register("canopy_wall_sign", properties -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock CANOPY_BOOKSHELF = registerWithItem("canopy_bookshelf", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.5F)); + public static final DeferredBlock CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = register("canopy_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock CANOPY_BANISTER = registerWithItem("canopy_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); + + public static final DeferredBlock MANGROVE_PLANKS = registerWithItem("mangrove_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock MANGROVE_STAIRS = registerWithItem("mangrove_stairs", properties -> new StairBlock(MANGROVE_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_SLAB = registerWithItem("mangrove_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_BUTTON = registerWithItem("mangrove_button", properties -> new ButtonBlock(TFWoodTypes.MANGROVE_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock MANGROVE_FENCE = registerWithItem("mangrove_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + public static final DeferredBlock MANGROVE_GATE = registerWithItem("mangrove_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock MANGROVE_PLATE = registerWithItem("mangrove_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock MANGROVE_DOOR = registerDoubleBlockItem("mangrove_door", properties -> new DoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MANGROVE_TRAPDOOR = registerWithItem("mangrove_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MANGROVE_SIGN = register("mangrove_sign", properties -> new StandingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MANGROVE_WALL_SIGN = register("mangrove_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = register("mangrove_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MANGROVE_BANISTER = registerWithItem("mangrove_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); + + public static final DeferredBlock DARK_PLANKS = registerWithItem("dark_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock DARK_STAIRS = registerWithItem("dark_stairs", properties -> new StairBlock(DARK_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + public static final DeferredBlock DARK_SLAB = registerWithItem("dark_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).sound(SoundType.WOOD)); + public static final DeferredBlock DARK_BUTTON = registerWithItem("dark_button", properties -> new ButtonBlock(TFWoodTypes.DARK_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock DARK_FENCE = registerWithItem("dark_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + public static final DeferredBlock DARK_GATE = registerWithItem("dark_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock DARK_PLATE = registerWithItem("dark_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.DARK_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock DARK_DOOR = registerDoubleBlockItem("dark_door", properties -> new DoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock DARK_TRAPDOOR = registerWithItem("dark_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock DARK_SIGN = register("dark_sign", properties -> new StandingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock DARK_WALL_SIGN = register("dark_wall_sign", properties -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock DARK_WALL_HANGING_SIGN = register("dark_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock DARK_BANISTER = registerWithItem("dark_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); + + public static final DeferredBlock TIME_PLANKS = registerWithItem("time_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TIME_STAIRS = registerWithItem("time_stairs", properties -> new StairBlock(TIME_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + public static final DeferredBlock TIME_SLAB = registerWithItem("time_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).sound(SoundType.WOOD)); + public static final DeferredBlock TIME_BUTTON = registerWithItem("time_button", properties -> new ButtonBlock(TFWoodTypes.TIME_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TIME_FENCE = registerWithItem("time_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + public static final DeferredBlock TIME_GATE = registerWithItem("time_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TIME_PLATE = registerWithItem("time_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TIME_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TIME_DOOR = registerDoubleBlockItem("time_door", properties -> new DoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); + public static final DeferredBlock TIME_TRAPDOOR = registerWithItem("time_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TIME_SIGN = register("time_sign", properties -> new StandingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TIME_WALL_SIGN = register("time_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TIME_WALL_HANGING_SIGN = register("time_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TIME_BANISTER = registerWithItem("time_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); + + public static final DeferredBlock TRANSFORMATION_PLANKS = registerWithItem("transformation_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock TRANSFORMATION_STAIRS = registerWithItem("transformation_stairs", properties -> new StairBlock(TRANSFORMATION_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_SLAB = registerWithItem("transformation_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_BUTTON = registerWithItem("transformation_button", properties -> new ButtonBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock TRANSFORMATION_FENCE = registerWithItem("transformation_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + public static final DeferredBlock TRANSFORMATION_GATE = registerWithItem("transformation_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock TRANSFORMATION_PLATE = registerWithItem("transformation_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock TRANSFORMATION_DOOR = registerDoubleBlockItem("transformation_door", properties -> new DoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TRANSFORMATION_TRAPDOOR = registerWithItem("transformation_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock TRANSFORMATION_SIGN = register("transformation_sign", properties -> new StandingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TRANSFORMATION_WALL_SIGN = register("transformation_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = register("transformation_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TRANSFORMATION_BANISTER = registerWithItem("transformation_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); + + public static final DeferredBlock MINING_PLANKS = registerWithItem("mining_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.SAND).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock MINING_STAIRS = registerWithItem("mining_stairs", properties -> new StairBlock(MINING_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_SLAB = registerWithItem("mining_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_BUTTON = registerWithItem("mining_button", properties -> new ButtonBlock(TFWoodTypes.MINING_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock MINING_FENCE = registerWithItem("mining_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + public static final DeferredBlock MINING_GATE = registerWithItem("mining_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock MINING_PLATE = registerWithItem("mining_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.MINING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock MINING_DOOR = registerDoubleBlockItem("mining_door", properties -> new DoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MINING_TRAPDOOR = registerWithItem("mining_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock MINING_SIGN = register("mining_sign", properties -> new StandingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MINING_WALL_SIGN = register("mining_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MINING_WALL_HANGING_SIGN = register("mining_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MINING_BANISTER = registerWithItem("mining_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); + + public static final DeferredBlock SORTING_PLANKS = registerWithItem("sorting_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); + public static final DeferredBlock SORTING_STAIRS = registerWithItem("sorting_stairs", properties -> new StairBlock(SORTING_PLANKS.get().defaultBlockState(), properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_SLAB = registerWithItem("sorting_slab", SlabBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_BUTTON = registerWithItem("sorting_button", properties -> new ButtonBlock(TFWoodTypes.SORTING_WOOD_SET, 30, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(0.5F)); + public static final DeferredBlock SORTING_FENCE = registerWithItem("sorting_fence", FenceBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + public static final DeferredBlock SORTING_GATE = registerWithItem("sorting_fence_gate", properties -> new FenceGateBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn()); + public static final DeferredBlock SORTING_PLATE = registerWithItem("sorting_pressure_plate", properties -> new PressurePlateBlock(TFWoodTypes.SORTING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).forceSolidOn().noCollission().strength(0.5F)); + public static final DeferredBlock SORTING_DOOR = registerDoubleBlockItem("sorting_door", properties -> new DoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock SORTING_TRAPDOOR = registerWithItem("sorting_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); + public static final DeferredBlock SORTING_SIGN = register("sorting_sign", properties -> new StandingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock SORTING_WALL_SIGN = register("sorting_wall_sign", properties -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock SORTING_WALL_HANGING_SIGN = register("sorting_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock SORTING_BANISTER = registerWithItem("sorting_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); + + public static final DeferredBlock TWILIGHT_OAK_CHEST = registerWithItem("twilight_oak_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock CANOPY_CHEST = registerWithItem("canopy_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MANGROVE_CHEST = registerWithItem("mangrove_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock DARK_CHEST = registerWithItem("dark_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TIME_CHEST = registerWithItem("time_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TRANSFORMATION_CHEST = registerWithItem("transformation_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MINING_CHEST = registerWithItem("mining_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock SORTING_CHEST = registerWithItem("sorting_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); + + public static final DeferredBlock TWILIGHT_OAK_TRAPPED_CHEST = registerWithItem("twilight_oak_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock CANOPY_TRAPPED_CHEST = registerWithItem("canopy_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MANGROVE_TRAPPED_CHEST = registerWithItem("mangrove_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock DARK_TRAPPED_CHEST = registerWithItem("dark_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TIME_TRAPPED_CHEST = registerWithItem("time_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock TRANSFORMATION_TRAPPED_CHEST = registerWithItem("transformation_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock MINING_TRAPPED_CHEST = registerWithItem("mining_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(2.5F)); + public static final DeferredBlock SORTING_TRAPPED_CHEST = registerWithItem("sorting_trapped_chest", TFTrappedChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(2.5F)); //Flower Pots - public static final DeferredBlock POTTED_TWILIGHT_OAK_SAPLING = register("potted_twilight_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TWILIGHT_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_CANOPY_SAPLING = register("potted_canopy_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, CANOPY_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_MANGROVE_SAPLING = register("potted_mangrove_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MANGROVE_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_DARKWOOD_SAPLING = register("potted_darkwood_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, DARKWOOD_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_HOLLOW_OAK_SAPLING = register("potted_hollow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, HOLLOW_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_RAINBOW_OAK_SAPLING = register("potted_rainbow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, RAINBOW_OAK_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_TIME_SAPLING = register("potted_time_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TIME_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_TRANSFORMATION_SAPLING = register("potted_transformation_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TRANSFORMATION_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_MINING_SAPLING = register("potted_mining_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MINING_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_SORTING_SAPLING = register("potted_sorting_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, SORTING_SAPLING, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_MAYAPPLE = register("potted_mayapple", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MAYAPPLE, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_FIDDLEHEAD = register("potted_fiddlehead", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, FIDDLEHEAD, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_MUSHGLOOM = register("potted_mushgloom", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MUSHGLOOM, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_THORN = register("potted_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BROWN_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_GREEN_THORN = register("potted_green_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, GREEN_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - public static final DeferredBlock POTTED_DEAD_THORN = register("potted_dead_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BURNT_THORNS, properties), BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); - - public static final DeferredBlock CURSED_SPAWNER = registerWithItem("cursed_spawner", CursedSpawnerBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable()); - - public static DeferredBlock register(String name, Function block, BlockBehaviour.Properties properties) { - return BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + public static final DeferredBlock POTTED_TWILIGHT_OAK_SAPLING = register("potted_twilight_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TWILIGHT_OAK_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_CANOPY_SAPLING = register("potted_canopy_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, CANOPY_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MANGROVE_SAPLING = register("potted_mangrove_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MANGROVE_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_DARKWOOD_SAPLING = register("potted_darkwood_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, DARKWOOD_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_HOLLOW_OAK_SAPLING = register("potted_hollow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, HOLLOW_OAK_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_RAINBOW_OAK_SAPLING = register("potted_rainbow_oak_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, RAINBOW_OAK_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_TIME_SAPLING = register("potted_time_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TIME_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_TRANSFORMATION_SAPLING = register("potted_transformation_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, TRANSFORMATION_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MINING_SAPLING = register("potted_mining_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MINING_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_SORTING_SAPLING = register("potted_sorting_sapling", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, SORTING_SAPLING, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MAYAPPLE = register("potted_mayapple", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MAYAPPLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_FIDDLEHEAD = register("potted_fiddlehead", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, FIDDLEHEAD, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_MUSHGLOOM = register("potted_mushgloom", properties -> new FlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, MUSHGLOOM, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_THORN = register("potted_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BROWN_THORNS, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_GREEN_THORN = register("potted_green_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, GREEN_THORNS, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + public static final DeferredBlock POTTED_DEAD_THORN = register("potted_dead_thorn", properties -> new SpecialFlowerPotBlock(() -> (FlowerPotBlock) Blocks.FLOWER_POT, BURNT_THORNS, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT)); + + public static final DeferredBlock CURSED_SPAWNER = registerWithItem("cursed_spawner", CursedSpawnerBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable()); + + public static DeferredBlock register(String name, Function block, Supplier properties) { + return BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); } - public static DeferredBlock registerWithItem(String name, Function block, BlockBehaviour.Properties properties) { - DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), new Item.Properties()); + public static DeferredBlock registerWithItem(String name, Function block, Supplier properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties()); return ret; } - public static DeferredBlock registerFireResistantItem(String name, Function block, BlockBehaviour.Properties properties) { - DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static DeferredBlock registerFireResistantItem(String name, Function block, Supplier properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); return ret; } - public static DeferredBlock registerDoubleBlockItem(String name, Function block, BlockBehaviour.Properties properties) { - DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new DoubleHighBlockItem(ret.get(), itemProps), new Item.Properties()); + public static DeferredBlock registerDoubleBlockItem(String name, Function block, Supplier properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new DoubleHighBlockItem(ret.get(), itemProps), () -> new Item.Properties()); return ret; } - public static DeferredBlock registerWroughtFence(String name, Function block, BlockBehaviour.Properties properties) { - DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new WroughtIronFenceItem(ret.get(), itemProps), new Item.Properties()); + public static DeferredBlock registerWroughtFence(String name, Function block, Supplier properties) { + DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); + TFItems.register(name, itemProps -> new WroughtIronFenceItem(ret.get(), itemProps), () -> new Item.Properties()); return ret; } From 1d56be30073f66632bbfcacfcfe6be0a5c29dd09 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 16:22:42 +0100 Subject: [PATCH 035/239] item properties to supplier --- .../java/twilightforest/init/TFItems.java | 427 +++++++++--------- 1 file changed, 214 insertions(+), 213 deletions(-) diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index ef098dd8e6..ad824105bd 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -24,6 +24,7 @@ import twilightforest.util.TFToolMaterials; import java.util.function.Function; +import java.util.function.Supplier; public class TFItems { @@ -32,229 +33,229 @@ public class TFItems { public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(TwilightForestMod.ID); - public static final DeferredItem NAGA_SCALE = register("naga_scale", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem NAGA_CHESTPLATE = register("naga_chestplate", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(21)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem NAGA_LEGGINGS = register("naga_leggings", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(21)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem TWILIGHT_SCEPTER = register("twilight_scepter", TwilightWandItem::new, new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); - public static final DeferredItem LIFEDRAIN_SCEPTER = register("lifedrain_scepter", LifedrainScepterItem::new, new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); - public static final DeferredItem ZOMBIE_SCEPTER = register("zombie_scepter", ZombieWandItem::new, new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); - public static final DeferredItem FORTIFICATION_SCEPTER = register("fortification_scepter", FortificationWandItem::new, new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); - public static final DeferredItem EXANIMATE_ESSENCE = register("exanimate_essence", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem NAGA_SCALE = register("naga_scale", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem NAGA_CHESTPLATE = register("naga_chestplate", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(21)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem NAGA_LEGGINGS = register("naga_leggings", properties -> new ArmorItem(TFArmorMaterials.NAGA, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(21)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem TWILIGHT_SCEPTER = register("twilight_scepter", TwilightWandItem::new, () -> new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); + public static final DeferredItem LIFEDRAIN_SCEPTER = register("lifedrain_scepter", LifedrainScepterItem::new, () -> new Item.Properties().durability(99).rarity(Rarity.UNCOMMON)); + public static final DeferredItem ZOMBIE_SCEPTER = register("zombie_scepter", ZombieWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FORTIFICATION_SCEPTER = register("fortification_scepter", FortificationWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); + public static final DeferredItem EXANIMATE_ESSENCE = register("exanimate_essence", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); //items.register("Wand of Pacification [NYI]", new Item().setIconIndex(6).setTranslationKey("wandPacification").setMaxStackSize(1)); - public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, new Item.Properties()); - public static final DeferredItem ORE_METER = register("ore_meter", OreMeterItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); - public static final DeferredItem FILLED_MAGIC_MAP = register("filled_magic_map", MagicMapItem::new, new Item.Properties()); - public static final DeferredItem FILLED_MAZE_MAP = register("filled_maze_map", properties -> new MazeMapItem(false, properties), new Item.Properties()); - public static final DeferredItem FILLED_ORE_MAP = register("filled_ore_map", properties -> new MazeMapItem(true, properties), new Item.Properties()); - public static final DeferredItem RAVEN_FEATHER = register("raven_feather", Item::new, new Item.Properties()); - public static final DeferredItem MAGIC_MAP_FOCUS = register("magic_map_focus", Item::new, new Item.Properties()); - public static final DeferredItem MAZE_MAP_FOCUS = register("maze_map_focus", Item::new, new Item.Properties()); - public static final DeferredItem MAGIC_MAP = register("magic_map", EmptyMagicMapItem::new, new Item.Properties()); - public static final DeferredItem MAZE_MAP = register("maze_map", properties -> new EmptyMazeMapItem(false, properties), new Item.Properties()); - public static final DeferredItem ORE_MAP = register("ore_map", properties -> new EmptyMazeMapItem(true, properties), new Item.Properties()); - public static final DeferredItem LIVEROOT = register("liveroot", Item::new, new Item.Properties()); - public static final DeferredItem RAW_IRONWOOD = register("raw_ironwood", Item::new, new Item.Properties()); - public static final DeferredItem IRONWOOD_INGOT = register("ironwood_ingot", Item::new, new Item.Properties()); - public static final DeferredItem IRONWOOD_HELMET = register("ironwood_helmet", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(20))); - public static final DeferredItem IRONWOOD_CHESTPLATE = register("ironwood_chestplate", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20))); - public static final DeferredItem IRONWOOD_LEGGINGS = register("ironwood_leggings", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20))); - public static final DeferredItem IRONWOOD_BOOTS = register("ironwood_boots", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(20))); - public static final DeferredItem IRONWOOD_SWORD = register("ironwood_sword", properties -> new SwordItem(TFToolMaterials.IRONWOOD, 3.0F, -2.4F, properties), new Item.Properties()); - public static final DeferredItem IRONWOOD_SHOVEL = register("ironwood_shovel", properties -> new ShovelItem(TFToolMaterials.IRONWOOD, 1.5F, -3.0F, properties), new Item.Properties()); - public static final DeferredItem IRONWOOD_PICKAXE = register("ironwood_pickaxe", properties -> new PickaxeItem(TFToolMaterials.IRONWOOD, 1.0F, -2.8F, properties), new Item.Properties()); - public static final DeferredItem IRONWOOD_AXE = register("ironwood_axe", properties -> new AxeItem(TFToolMaterials.IRONWOOD, 6.0F, -3.1F, properties), new Item.Properties()); - public static final DeferredItem IRONWOOD_HOE = register("ironwood_hoe", properties -> new HoeItem(TFToolMaterials.IRONWOOD, -2, -1.0F, properties), new Item.Properties()); - public static final DeferredItem TORCHBERRIES = register("torchberries", Item::new, new Item.Properties().food(TFFoods.TORCHBERRIES, TFConsumables.TORCHBERRIES)); - public static final DeferredItem RAW_VENISON = register("raw_venison", Item::new, new Item.Properties().food(TFFoods.RAW_VENISON)); - public static final DeferredItem COOKED_VENISON = register("cooked_venison", Item::new, new Item.Properties().food(TFFoods.VENISON_STEAK)); - public static final DeferredItem HYDRA_CHOP = register("hydra_chop", HydraChopItem::new, new Item.Properties().fireResistant().food(TFFoods.HYDRA_CHOP, TFConsumables.HYDRA_CHOP).rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_BLOOD = register("fiery_blood", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_TEARS = register("fiery_tears", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_INGOT = register("fiery_ingot", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_HELMET = register("fiery_helmet", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.HELMET, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_CHESTPLATE = register("fiery_chestplate", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.CHESTPLATE, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_LEGGINGS = register("fiery_leggings", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.LEGGINGS, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_BOOTS = register("fiery_boots", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.BOOTS, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_SWORD = register("fiery_sword", properties -> new FierySwordItem(TFToolMaterials.FIERY, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FIERY_PICKAXE = register("fiery_pickaxe", properties -> new FieryPickItem(TFToolMaterials.FIERY, properties), new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem STEELEAF_INGOT = register("steeleaf_ingot", Item::new, new Item.Properties()); - public static final DeferredItem STEELEAF_HELMET = register("steeleaf_helmet", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.HELMET, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_CHESTPLATE = register("steeleaf_chestplate", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.CHESTPLATE, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_LEGGINGS = register("steeleaf_leggings", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.LEGGINGS, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_BOOTS = register("steeleaf_boots", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.BOOTS, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_SWORD = register("steeleaf_sword", properties -> new SwordItem(TFToolMaterials.STEELEAF, 3.0F, -2.4F, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_SHOVEL = register("steeleaf_shovel", properties -> new ShovelItem(TFToolMaterials.STEELEAF, 1.5F, -3.0F, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_PICKAXE = register("steeleaf_pickaxe", properties -> new PickaxeItem(TFToolMaterials.STEELEAF, 1.0F, -2.8F, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_AXE = register("steeleaf_axe", properties -> new AxeItem(TFToolMaterials.STEELEAF, 6.0F, -3.0F, properties), new Item.Properties()); - public static final DeferredItem STEELEAF_HOE = register("steeleaf_hoe", properties -> new HoeItem(TFToolMaterials.STEELEAF, -3.0F, -0.5F, properties), new Item.Properties()); - public static final DeferredItem GOLDEN_MINOTAUR_AXE = register("gold_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.GOLD, properties), new Item.Properties()); - public static final DeferredItem DIAMOND_MINOTAUR_AXE = register("diamond_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.DIAMOND, properties), new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MAZEBREAKER_PICKAXE = register("mazebreaker_pickaxe", properties -> new MazebreakerPickItem(ToolMaterial.DIAMOND, properties), new Item.Properties().rarity(Rarity.RARE)); - public static final DeferredItem TRANSFORMATION_POWDER = register("transformation_powder", TransformPowderItem::new, new Item.Properties()); - public static final DeferredItem RAW_MEEF = register("raw_meef", Item::new, new Item.Properties().food(TFFoods.RAW_MEEF)); - public static final DeferredItem COOKED_MEEF = register("cooked_meef", Item::new, new Item.Properties().food(TFFoods.MEEF_STEAK)); - public static final DeferredItem MEEF_STROGANOFF = register("meef_stroganoff", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().food(TFFoods.MEEF_STROGANOFF).usingConvertsTo(Items.BOWL)); - public static final DeferredItem MAZE_WAFER = register("maze_wafer", Item::new, new Item.Properties().food(new FoodProperties.Builder().nutrition(4).saturationModifier(0.6F).build())); - public static final DeferredItem ORE_MAGNET = register("ore_magnet", OreMagnetItem::new, new Item.Properties().durability(64)); - public static final DeferredItem CRUMBLE_HORN = register("crumble_horn", CrumbleHornItem::new, new Item.Properties().durability(1024).rarity(Rarity.RARE)); - public static final DeferredItem PEACOCK_FEATHER_FAN = register("peacock_feather_fan", PeacockFanItem::new, new Item.Properties().durability(1024).rarity(Rarity.RARE)); - public static final DeferredItem MOONWORM_QUEEN = register("moonworm_queen", MoonwormQueenItem::new, new Item.Properties().durability(256).rarity(Rarity.RARE)); - public static final DeferredItem BRITTLE_FLASK = register("brittle_potion_flask", BrittleFlaskItem::new, new Item.Properties().stacksTo(1).component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY)); - public static final DeferredItem GREATER_FLASK = register("greater_potion_flask", GreaterFlaskItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY_UNBREAKABLE)); - public static final DeferredItem CHARM_OF_LIFE_1 = register("charm_of_life_1", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CHARM_OF_LIFE_2 = register("charm_of_life_2", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CHARM_OF_KEEPING_1 = register("charm_of_keeping_1", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CHARM_OF_KEEPING_2 = register("charm_of_keeping_2", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CHARM_OF_KEEPING_3 = register("charm_of_keeping_3", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem TOWER_KEY = register("tower_key", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, new Item.Properties()); - public static final DeferredItem CARMINITE = register("carminite", Item::new, new Item.Properties()); - public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), new Item.Properties().food(TFFoods.EXPERIMENT_115)); - public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), new Item.Properties()); - public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), new Item.Properties()); - public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), new Item.Properties()); - public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), new Item.Properties()); - public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, new Item.Properties()); - public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_RING = register("knightmetal_ring", Item::new, new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_SHIELD = register("knightmetal_shield", KnightmetalShieldItem::new, new Item.Properties().durability(1024)); - public static final DeferredItem BLOCK_AND_CHAIN = register("block_and_chain", ChainBlockItem::new, new Item.Properties().durability(99)); - public static final DeferredItem PHANTOM_HELMET = register("phantom_helmet", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(30)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem PHANTOM_CHESTPLATE = register("phantom_chestplate", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(30)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem ICE_BOMB = register("ice_bomb", IceBombItem::new, new Item.Properties().stacksTo(16)); - public static final DeferredItem ARCTIC_FUR = register("arctic_fur", Item::new, new Item.Properties()); - public static final DeferredItem ARCTIC_HELMET = register("arctic_helmet", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.HELMET, properties), new Item.Properties()); - public static final DeferredItem ARCTIC_CHESTPLATE = register("arctic_chestplate", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.CHESTPLATE, properties), new Item.Properties()); - public static final DeferredItem ARCTIC_LEGGINGS = register("arctic_leggings", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(10))); - public static final DeferredItem ARCTIC_BOOTS = register("arctic_boots", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(10))); - public static final DeferredItem ALPHA_YETI_FUR = register("alpha_yeti_fur", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem YETI_HELMET = register("yeti_helmet", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.HELMET, properties), new Item.Properties().durability(ArmorType.HELMET.getDurability(20)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem YETI_CHESTPLATE = register("yeti_chestplate", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.CHESTPLATE, properties), new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem YETI_LEGGINGS = register("yeti_leggings", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.LEGGINGS, properties), new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem YETI_BOOTS = register("yeti_boots", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.BOOTS, properties), new Item.Properties().durability(ArmorType.BOOTS.getDurability(20)).rarity(Rarity.UNCOMMON)); - public static final DeferredItem TRIPLE_BOW = register("triple_bow", TripleBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); - public static final DeferredItem SEEKER_BOW = register("seeker_bow", SeekerBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); - public static final DeferredItem ICE_BOW = register("ice_bow", IceBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); - public static final DeferredItem ENDER_BOW = register("ender_bow", EnderBowItem::new, new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); - public static final DeferredItem ICE_SWORD = register("ice_sword", properties -> new IceSwordItem(TFToolMaterials.ICE, properties), new Item.Properties()); - public static final DeferredItem GLASS_SWORD = register("glass_sword", properties -> new GlassSwordItem(TFToolMaterials.GLASS, 3, -2.4F, properties), new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MAGIC_BEANS = register("magic_beans", MagicBeansItem::new, new Item.Properties()); - public static final DeferredItem GIANT_PICKAXE = register("giant_pickaxe", properties -> new GiantPickItem(TFToolMaterials.GIANT, properties), new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 8, -3.5F))); - public static final DeferredItem GIANT_SWORD = register("giant_sword", properties -> new SwordItem(TFToolMaterials.GIANT, 10, -3.5F, properties), new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 10, -3.5F))); - public static final DeferredItem LAMP_OF_CINDERS = register("lamp_of_cinders", LampOfCindersItem::new, new Item.Properties().fireResistant().durability(1024).rarity(Rarity.UNCOMMON)); - public static final DeferredItem CUBE_TALISMAN = register("cube_talisman", Item::new, new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CUBE_OF_ANNIHILATION = register("cube_of_annihilation", CubeOfAnnihilationItem::new, new Item.Properties().stacksTo(1).fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MOON_DIAL = register("moon_dial", MoonDialItem::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem POCKET_WATCH = register("pocket_watch", PocketWatchItem::new, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); - public static final DeferredItem EMPERORS_CLOTH = register("emperors_cloth", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, new Item.Properties()); - public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); + public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, () -> new Item.Properties()); + public static final DeferredItem ORE_METER = register("ore_meter", OreMeterItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FILLED_MAGIC_MAP = register("filled_magic_map", MagicMapItem::new, () -> new Item.Properties()); + public static final DeferredItem FILLED_MAZE_MAP = register("filled_maze_map", properties -> new MazeMapItem(false, properties), () -> new Item.Properties()); + public static final DeferredItem FILLED_ORE_MAP = register("filled_ore_map", properties -> new MazeMapItem(true, properties), () -> new Item.Properties()); + public static final DeferredItem RAVEN_FEATHER = register("raven_feather", Item::new, () -> new Item.Properties()); + public static final DeferredItem MAGIC_MAP_FOCUS = register("magic_map_focus", Item::new, () -> new Item.Properties()); + public static final DeferredItem MAZE_MAP_FOCUS = register("maze_map_focus", Item::new, () -> new Item.Properties()); + public static final DeferredItem MAGIC_MAP = register("magic_map", EmptyMagicMapItem::new, () -> new Item.Properties()); + public static final DeferredItem MAZE_MAP = register("maze_map", properties -> new EmptyMazeMapItem(false, properties), () -> new Item.Properties()); + public static final DeferredItem ORE_MAP = register("ore_map", properties -> new EmptyMazeMapItem(true, properties), () -> new Item.Properties()); + public static final DeferredItem LIVEROOT = register("liveroot", Item::new, () -> new Item.Properties()); + public static final DeferredItem RAW_IRONWOOD = register("raw_ironwood", Item::new, () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_INGOT = register("ironwood_ingot", Item::new, () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_HELMET = register("ironwood_helmet", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.HELMET, properties), () -> new Item.Properties().durability(ArmorType.HELMET.getDurability(20))); + public static final DeferredItem IRONWOOD_CHESTPLATE = register("ironwood_chestplate", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20))); + public static final DeferredItem IRONWOOD_LEGGINGS = register("ironwood_leggings", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20))); + public static final DeferredItem IRONWOOD_BOOTS = register("ironwood_boots", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.BOOTS, properties), () -> new Item.Properties().durability(ArmorType.BOOTS.getDurability(20))); + public static final DeferredItem IRONWOOD_SWORD = register("ironwood_sword", properties -> new SwordItem(TFToolMaterials.IRONWOOD, 3.0F, -2.4F, properties), () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_SHOVEL = register("ironwood_shovel", properties -> new ShovelItem(TFToolMaterials.IRONWOOD, 1.5F, -3.0F, properties), () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_PICKAXE = register("ironwood_pickaxe", properties -> new PickaxeItem(TFToolMaterials.IRONWOOD, 1.0F, -2.8F, properties), () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_AXE = register("ironwood_axe", properties -> new AxeItem(TFToolMaterials.IRONWOOD, 6.0F, -3.1F, properties), () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_HOE = register("ironwood_hoe", properties -> new HoeItem(TFToolMaterials.IRONWOOD, -2, -1.0F, properties), () -> new Item.Properties()); + public static final DeferredItem TORCHBERRIES = register("torchberries", Item::new, () -> new Item.Properties().food(TFFoods.TORCHBERRIES, TFConsumables.TORCHBERRIES)); + public static final DeferredItem RAW_VENISON = register("raw_venison", Item::new, () -> new Item.Properties().food(TFFoods.RAW_VENISON)); + public static final DeferredItem COOKED_VENISON = register("cooked_venison", Item::new, () -> new Item.Properties().food(TFFoods.VENISON_STEAK)); + public static final DeferredItem HYDRA_CHOP = register("hydra_chop", HydraChopItem::new, () -> new Item.Properties().fireResistant().food(TFFoods.HYDRA_CHOP, TFConsumables.HYDRA_CHOP).rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_BLOOD = register("fiery_blood", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_TEARS = register("fiery_tears", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_INGOT = register("fiery_ingot", Item::new, () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_HELMET = register("fiery_helmet", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.HELMET, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_CHESTPLATE = register("fiery_chestplate", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_LEGGINGS = register("fiery_leggings", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.LEGGINGS, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_BOOTS = register("fiery_boots", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.BOOTS, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_SWORD = register("fiery_sword", properties -> new FierySwordItem(TFToolMaterials.FIERY, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FIERY_PICKAXE = register("fiery_pickaxe", properties -> new FieryPickItem(TFToolMaterials.FIERY, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem STEELEAF_INGOT = register("steeleaf_ingot", Item::new, () -> new Item.Properties()); + public static final DeferredItem STEELEAF_HELMET = register("steeleaf_helmet", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.HELMET, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_CHESTPLATE = register("steeleaf_chestplate", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_LEGGINGS = register("steeleaf_leggings", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.LEGGINGS, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_BOOTS = register("steeleaf_boots", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.BOOTS, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_SWORD = register("steeleaf_sword", properties -> new SwordItem(TFToolMaterials.STEELEAF, 3.0F, -2.4F, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_SHOVEL = register("steeleaf_shovel", properties -> new ShovelItem(TFToolMaterials.STEELEAF, 1.5F, -3.0F, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_PICKAXE = register("steeleaf_pickaxe", properties -> new PickaxeItem(TFToolMaterials.STEELEAF, 1.0F, -2.8F, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_AXE = register("steeleaf_axe", properties -> new AxeItem(TFToolMaterials.STEELEAF, 6.0F, -3.0F, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_HOE = register("steeleaf_hoe", properties -> new HoeItem(TFToolMaterials.STEELEAF, -3.0F, -0.5F, properties), () -> new Item.Properties()); + public static final DeferredItem GOLDEN_MINOTAUR_AXE = register("gold_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.GOLD, properties), () -> new Item.Properties()); + public static final DeferredItem DIAMOND_MINOTAUR_AXE = register("diamond_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.DIAMOND, properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MAZEBREAKER_PICKAXE = register("mazebreaker_pickaxe", properties -> new MazebreakerPickItem(ToolMaterial.DIAMOND, properties), () -> new Item.Properties().rarity(Rarity.RARE)); + public static final DeferredItem TRANSFORMATION_POWDER = register("transformation_powder", TransformPowderItem::new, () -> new Item.Properties()); + public static final DeferredItem RAW_MEEF = register("raw_meef", Item::new, () -> new Item.Properties().food(TFFoods.RAW_MEEF)); + public static final DeferredItem COOKED_MEEF = register("cooked_meef", Item::new, () -> new Item.Properties().food(TFFoods.MEEF_STEAK)); + public static final DeferredItem MEEF_STROGANOFF = register("meef_stroganoff", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().food(TFFoods.MEEF_STROGANOFF).usingConvertsTo(Items.BOWL)); + public static final DeferredItem MAZE_WAFER = register("maze_wafer", Item::new, () -> new Item.Properties().food(new FoodProperties.Builder().nutrition(4).saturationModifier(0.6F).build())); + public static final DeferredItem ORE_MAGNET = register("ore_magnet", OreMagnetItem::new, () -> new Item.Properties().durability(64)); + public static final DeferredItem CRUMBLE_HORN = register("crumble_horn", CrumbleHornItem::new, () -> new Item.Properties().durability(1024).rarity(Rarity.RARE)); + public static final DeferredItem PEACOCK_FEATHER_FAN = register("peacock_feather_fan", PeacockFanItem::new, () -> new Item.Properties().durability(1024).rarity(Rarity.RARE)); + public static final DeferredItem MOONWORM_QUEEN = register("moonworm_queen", MoonwormQueenItem::new, () -> new Item.Properties().durability(256).rarity(Rarity.RARE)); + public static final DeferredItem BRITTLE_FLASK = register("brittle_potion_flask", BrittleFlaskItem::new, () -> new Item.Properties().stacksTo(1).component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY)); + public static final DeferredItem GREATER_FLASK = register("greater_potion_flask", GreaterFlaskItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().component(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY_UNBREAKABLE)); + public static final DeferredItem CHARM_OF_LIFE_1 = register("charm_of_life_1", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_LIFE_2 = register("charm_of_life_2", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_1 = register("charm_of_keeping_1", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_2 = register("charm_of_keeping_2", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CHARM_OF_KEEPING_3 = register("charm_of_keeping_3", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem TOWER_KEY = register("tower_key", Item::new, () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, () -> new Item.Properties()); + public static final DeferredItem CARMINITE = register("carminite", Item::new, () -> new Item.Properties()); + public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), () -> new Item.Properties().food(TFFoods.EXPERIMENT_115)); + public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), () -> new Item.Properties()); + public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), () -> new Item.Properties()); + public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), () -> new Item.Properties()); + public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), () -> new Item.Properties()); + public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, () -> new Item.Properties()); + public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_RING = register("knightmetal_ring", Item::new, () -> new Item.Properties()); + public static final DeferredItem KNIGHTMETAL_SHIELD = register("knightmetal_shield", KnightmetalShieldItem::new, () -> new Item.Properties().durability(1024)); + public static final DeferredItem BLOCK_AND_CHAIN = register("block_and_chain", ChainBlockItem::new, () -> new Item.Properties().durability(99)); + public static final DeferredItem PHANTOM_HELMET = register("phantom_helmet", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.HELMET, properties), () -> new Item.Properties().durability(ArmorType.HELMET.getDurability(30)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem PHANTOM_CHESTPLATE = register("phantom_chestplate", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(30)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem ICE_BOMB = register("ice_bomb", IceBombItem::new, () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem ARCTIC_FUR = register("arctic_fur", Item::new, () -> new Item.Properties()); + public static final DeferredItem ARCTIC_HELMET = register("arctic_helmet", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.HELMET, properties), () -> new Item.Properties()); + public static final DeferredItem ARCTIC_CHESTPLATE = register("arctic_chestplate", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); + public static final DeferredItem ARCTIC_LEGGINGS = register("arctic_leggings", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(10))); + public static final DeferredItem ARCTIC_BOOTS = register("arctic_boots", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.BOOTS, properties), () -> new Item.Properties().durability(ArmorType.BOOTS.getDurability(10))); + public static final DeferredItem ALPHA_YETI_FUR = register("alpha_yeti_fur", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_HELMET = register("yeti_helmet", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.HELMET, properties), () -> new Item.Properties().durability(ArmorType.HELMET.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_CHESTPLATE = register("yeti_chestplate", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_LEGGINGS = register("yeti_leggings", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem YETI_BOOTS = register("yeti_boots", properties -> new YetiArmorItem(TFArmorMaterials.YETI, ArmorType.BOOTS, properties), () -> new Item.Properties().durability(ArmorType.BOOTS.getDurability(20)).rarity(Rarity.UNCOMMON)); + public static final DeferredItem TRIPLE_BOW = register("triple_bow", TripleBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem SEEKER_BOW = register("seeker_bow", SeekerBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ICE_BOW = register("ice_bow", IceBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ENDER_BOW = register("ender_bow", EnderBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); + public static final DeferredItem ICE_SWORD = register("ice_sword", properties -> new IceSwordItem(TFToolMaterials.ICE, properties), () -> new Item.Properties()); + public static final DeferredItem GLASS_SWORD = register("glass_sword", properties -> new GlassSwordItem(TFToolMaterials.GLASS, 3, -2.4F, properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MAGIC_BEANS = register("magic_beans", MagicBeansItem::new, () -> new Item.Properties()); + public static final DeferredItem GIANT_PICKAXE = register("giant_pickaxe", properties -> new GiantPickItem(TFToolMaterials.GIANT, properties), () -> new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 8, -3.5F))); + public static final DeferredItem GIANT_SWORD = register("giant_sword", properties -> new SwordItem(TFToolMaterials.GIANT, 10, -3.5F, properties), () -> new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 10, -3.5F))); + public static final DeferredItem LAMP_OF_CINDERS = register("lamp_of_cinders", LampOfCindersItem::new, () -> new Item.Properties().fireResistant().durability(1024).rarity(Rarity.UNCOMMON)); + public static final DeferredItem CUBE_TALISMAN = register("cube_talisman", Item::new, () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CUBE_OF_ANNIHILATION = register("cube_of_annihilation", CubeOfAnnihilationItem::new, () -> new Item.Properties().stacksTo(1).fireResistant().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MOON_DIAL = register("moon_dial", MoonDialItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem POCKET_WATCH = register("pocket_watch", PocketWatchItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); + public static final DeferredItem EMPERORS_CLOTH = register("emperors_cloth", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, () -> new Item.Properties()); + public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); - public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), new Item.Properties()); - public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), new Item.Properties()); - public static final DeferredItem FALLEN_LEAVES = ITEMS.register("fallen_leaves", () -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), new Item.Properties())); + public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), () -> new Item.Properties()); + public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), () -> new Item.Properties()); + public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), () -> new Item.Properties()); - public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), new Item.Properties()); - public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), new Item.Properties()); + public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem CANOPY_SIGN = register("canopy_sign", properties -> new SignItem(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem MANGROVE_SIGN = register("mangrove_sign", properties -> new SignItem(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem DARK_SIGN = register("dark_sign", properties -> new SignItem(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TIME_SIGN = register("time_sign", properties -> new SignItem(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TRANSFORMATION_SIGN = register("transformation_sign", properties -> new SignItem(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem MINING_SIGN = register("mining_sign", properties -> new SignItem(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem SORTING_SIGN = register("sorting_sign", properties -> new SignItem(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), properties), new Item.Properties().stacksTo(16)); - public static final DeferredItem SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), properties), new Item.Properties().stacksTo(16)); + public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem CANOPY_SIGN = register("canopy_sign", properties -> new SignItem(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem MANGROVE_SIGN = register("mangrove_sign", properties -> new SignItem(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem DARK_SIGN = register("dark_sign", properties -> new SignItem(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TIME_SIGN = register("time_sign", properties -> new SignItem(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_SIGN = register("transformation_sign", properties -> new SignItem(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem MINING_SIGN = register("mining_sign", properties -> new SignItem(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem SORTING_SIGN = register("sorting_sign", properties -> new SignItem(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TWILIGHT_OAK_BOAT = register("twilight_oak_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem TWILIGHT_OAK_CHEST_BOAT = register("twilight_oak_chest_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem CANOPY_BOAT = register("canopy_boat", properties -> new BoatItem(TFEntities.CANOPY_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem CANOPY_CHEST_BOAT = register("canopy_chest_boat", properties -> new BoatItem(TFEntities.CANOPY_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem MANGROVE_BOAT = register("mangrove_boat", properties -> new BoatItem(TFEntities.MANGROVE_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem MANGROVE_CHEST_BOAT = register("mangrove_chest_boat", properties -> new BoatItem(TFEntities.MANGROVE_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem DARK_BOAT = register("dark_boat", properties -> new BoatItem(TFEntities.DARK_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem DARK_CHEST_BOAT = register("dark_chest_boat", properties -> new BoatItem(TFEntities.DARK_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem TIME_BOAT = register("time_boat", properties -> new BoatItem(TFEntities.TIME_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem TIME_CHEST_BOAT = register("time_chest_boat", properties -> new BoatItem(TFEntities.TIME_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem TRANSFORMATION_BOAT = register("transformation_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem TRANSFORMATION_CHEST_BOAT = register("transformation_chest_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem MINING_BOAT = register("mining_boat", properties -> new BoatItem(TFEntities.MINING_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem MINING_CHEST_BOAT = register("mining_chest_boat", properties -> new BoatItem(TFEntities.MINING_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem SORTING_BOAT = register("sorting_boat", properties -> new BoatItem(TFEntities.SORTING_BOAT.get(), properties), new Item.Properties().stacksTo(1)); - public static final DeferredItem SORTING_CHEST_BOAT = register("sorting_chest_boat", properties -> new BoatItem(TFEntities.SORTING_CHEST_BOAT.get(), properties), new Item.Properties().stacksTo(1)); + public static final DeferredItem TWILIGHT_OAK_BOAT = register("twilight_oak_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem TWILIGHT_OAK_CHEST_BOAT = register("twilight_oak_chest_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem CANOPY_BOAT = register("canopy_boat", properties -> new BoatItem(TFEntities.CANOPY_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem CANOPY_CHEST_BOAT = register("canopy_chest_boat", properties -> new BoatItem(TFEntities.CANOPY_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem MANGROVE_BOAT = register("mangrove_boat", properties -> new BoatItem(TFEntities.MANGROVE_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem MANGROVE_CHEST_BOAT = register("mangrove_chest_boat", properties -> new BoatItem(TFEntities.MANGROVE_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem DARK_BOAT = register("dark_boat", properties -> new BoatItem(TFEntities.DARK_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem DARK_CHEST_BOAT = register("dark_chest_boat", properties -> new BoatItem(TFEntities.DARK_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem TIME_BOAT = register("time_boat", properties -> new BoatItem(TFEntities.TIME_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem TIME_CHEST_BOAT = register("time_chest_boat", properties -> new BoatItem(TFEntities.TIME_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem TRANSFORMATION_BOAT = register("transformation_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem TRANSFORMATION_CHEST_BOAT = register("transformation_chest_boat", properties -> new BoatItem(TFEntities.TRANSFORMATION_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem MINING_BOAT = register("mining_boat", properties -> new BoatItem(TFEntities.MINING_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem MINING_CHEST_BOAT = register("mining_chest_boat", properties -> new BoatItem(TFEntities.MINING_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem SORTING_BOAT = register("sorting_boat", properties -> new BoatItem(TFEntities.SORTING_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); + public static final DeferredItem SORTING_CHEST_BOAT = register("sorting_chest_boat", properties -> new BoatItem(TFEntities.SORTING_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); - public static final DeferredItem MUSIC_DISC_RADIANCE = register("music_disc_radiance", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.RADIANCE)); - public static final DeferredItem MUSIC_DISC_STEPS = register("music_disc_steps", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.STEPS)); - public static final DeferredItem MUSIC_DISC_SUPERSTITIOUS = register("music_disc_superstitious", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.SUPERSTITIOUS)); - public static final DeferredItem MUSIC_DISC_HOME = register("music_disc_home", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.HOME)); - public static final DeferredItem MUSIC_DISC_WAYFARER = register("music_disc_wayfarer", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.WAYFARER)); - public static final DeferredItem MUSIC_DISC_FINDINGS = register("music_disc_findings", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.FINDINGS)); - public static final DeferredItem MUSIC_DISC_MAKER = register("music_disc_maker", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MAKER)); - public static final DeferredItem MUSIC_DISC_THREAD = register("music_disc_thread", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.THREAD)); - public static final DeferredItem MUSIC_DISC_MOTION = register("music_disc_motion", Item::new, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MOTION)); + public static final DeferredItem MUSIC_DISC_RADIANCE = register("music_disc_radiance", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.RADIANCE)); + public static final DeferredItem MUSIC_DISC_STEPS = register("music_disc_steps", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.STEPS)); + public static final DeferredItem MUSIC_DISC_SUPERSTITIOUS = register("music_disc_superstitious", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.SUPERSTITIOUS)); + public static final DeferredItem MUSIC_DISC_HOME = register("music_disc_home", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.HOME)); + public static final DeferredItem MUSIC_DISC_WAYFARER = register("music_disc_wayfarer", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.WAYFARER)); + public static final DeferredItem MUSIC_DISC_FINDINGS = register("music_disc_findings", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.FINDINGS)); + public static final DeferredItem MUSIC_DISC_MAKER = register("music_disc_maker", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MAKER)); + public static final DeferredItem MUSIC_DISC_THREAD = register("music_disc_thread", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.THREAD)); + public static final DeferredItem MUSIC_DISC_MOTION = register("music_disc_motion", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MOTION)); - public static final DeferredItem NAGA_BANNER_PATTERN = register("naga_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.NAGA_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem LICH_BANNER_PATTERN = register("lich_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.LICH_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem MINOSHROOM_BANNER_PATTERN = register("minoshroom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.MINOSHROOM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem HYDRA_BANNER_PATTERN = register("hydra_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.HYDRA_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = register("knight_phantom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.KNIGHT_PHANTOM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem UR_GHAST_BANNER_PATTERN = register("ur_ghast_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.UR_GHAST_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = register("alpha_yeti_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.ALPHA_YETI_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = register("snow_queen_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.SNOW_QUEEN_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem QUEST_RAM_BANNER_PATTERN = register("quest_ram_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.QUEST_RAM_BANNER_PATTERN, properties), new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem NAGA_BANNER_PATTERN = register("naga_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.NAGA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem LICH_BANNER_PATTERN = register("lich_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.LICH_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem MINOSHROOM_BANNER_PATTERN = register("minoshroom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.MINOSHROOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem HYDRA_BANNER_PATTERN = register("hydra_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.HYDRA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = register("knight_phantom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.KNIGHT_PHANTOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem UR_GHAST_BANNER_PATTERN = register("ur_ghast_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.UR_GHAST_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = register("alpha_yeti_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.ALPHA_YETI_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = register("snow_queen_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.SNOW_QUEEN_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem QUEST_RAM_BANNER_PATTERN = register("quest_ram_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.QUEST_RAM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static DeferredItem register(String name, Function item, Item.Properties properties) { - return ITEMS.register(name, () -> item.apply(properties.setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name))))); + public static DeferredItem register(String name, Function item, Supplier properties) { + return ITEMS.register(name, () -> item.apply(properties.get().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name))))); } } From 362dfb18736b570da0b2b482aefb3d22fbb4148d Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 16:22:51 +0100 Subject: [PATCH 036/239] correct entity egg --- src/main/java/twilightforest/init/TFEntities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index 30536f66a7..6a74f17a1c 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -152,7 +152,7 @@ public static DeferredHolder, EntityType< public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, int primaryColor, int secondaryColor, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); - SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), primaryColor, secondaryColor, new Item.Properties())); + SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), primaryColor, secondaryColor, new Item.Properties().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name + "_spawn_egg"))))); ATTRIBUTES.put(ret, attributes); if (predicate != null) { SPAWN_PREDICATES.put(ret, predicate); From dbb4ed7169e661275476e0c6d46ec4d158905fde Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 17:53:39 +0100 Subject: [PATCH 037/239] what the fuck is a type token --- .../twilightforest/client/event/RegistrationEvents.java | 9 +++++---- .../client/renderer/entity/layers/IceLayer.java | 4 ---- .../client/renderer/entity/layers/ShieldLayer.java | 3 --- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 45a758e252..88c5349dea 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -1,5 +1,6 @@ package twilightforest.client.event; +import com.google.common.reflect.TypeToken; import net.minecraft.client.Minecraft; import net.minecraft.client.model.*; import net.minecraft.client.model.geom.LayerDefinitions; @@ -99,7 +100,7 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegistrationEvents::registerClientExtensions); bus.addListener(RegistrationEvents::registerMapDecorators); bus.addListener(RegistrationEvents::registerParticleFactories); - bus.addListener(RegistrationEvents::registerCustomRenderData); + bus.addListener((RegisterRenderStateModifiersEvent event) -> registerCustomRenderData(event)); bus.addListener(ColorHandler::registerBlockColors); bus.addListener(ColorHandler::registerItemColors); @@ -682,9 +683,9 @@ public static boolean isOptifinePresent() { return optifinePresent; } - public static void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { - event.registerEntityModifier(ShieldLayer.SHIELD_TYPE_TOKEN, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); - event.registerEntityModifier(IceLayer.FROST_TYPE_TOKEN, (living, state) -> { + public static> void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { + event.registerEntityModifier(new TypeToken>() {}, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); + event.registerEntityModifier(new TypeToken>() {}, (living, state) -> { AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); if (speed == null) return; diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java index 759b56e814..96d26c0562 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java @@ -1,20 +1,17 @@ package twilightforest.client.renderer.entity.layers; -import com.google.common.reflect.TypeToken; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.util.RandomSource; import net.minecraft.util.context.ContextKey; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.TwilightForestMod; @@ -24,7 +21,6 @@ public class IceLayer> extends RenderLayer { private final RandomSource random = RandomSource.create(); - public static TypeToken>> FROST_TYPE_TOKEN = new TypeToken<>() {}; public static ContextKey FROST_COUNT_KEY = new ContextKey<>(TwilightForestMod.prefix("frost_count")); public static ContextKey FROST_ID_KEY = new ContextKey<>(TwilightForestMod.prefix("frost_id")); diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java index 299b37d0a8..37774f06ec 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java @@ -1,13 +1,11 @@ package twilightforest.client.renderer.entity.layers; -import com.google.common.reflect.TypeToken; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.Sheets; -import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; @@ -30,7 +28,6 @@ public class ShieldLayer>> SHIELD_TYPE_TOKEN = new TypeToken<>() {}; public static ContextKey SHIELD_COUNT_KEY = new ContextKey<>(TwilightForestMod.prefix("shield_count")); public ShieldLayer(RenderLayerParent renderer) { From a4d451ea84e8c99cce27fbada6f8b448f243660e Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 3 Dec 2024 18:20:10 +0100 Subject: [PATCH 038/239] port quest ram model, fiery armor model and rising zombie model --- .../client/model/entity/RisingZombieModel.java | 11 ++++++++++- src/main/resources/META-INF/accesstransformer.cfg | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java index 016ca1b841..1f97850be3 100644 --- a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java +++ b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java @@ -11,11 +11,20 @@ public class RisingZombieModel extends ZombieModel { private float tick; + private boolean young; + private boolean crouching; public RisingZombieModel(ModelPart part) { super(part); } + @Override + public void setupAnim(ZombieRenderState state) { + super.setupAnim(state); + this.young = state.isBaby; + this.crouching = state.isCrouching; + } + @Override public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, int overlay, int color) { if (this.young) { @@ -33,7 +42,7 @@ public void renderToBuffer(PoseStack stack, VertexConsumer consumer, int light, stack.mulPose(Axis.XP.rotationDegrees(-120.0F * (80.0F - Math.min(80.0F, this.tick)) / 80.0F)); stack.mulPose(Axis.XP.rotationDegrees(30.0F * (40.0F - Math.min(40.0F, Math.max(0.0F, this.tick - 80.0F))) / 40.0F)); stack.translate(0.0F, -yOff, 0.0F); - this.headParts().forEach(renderer -> renderer.render(stack, consumer, light, overlay, color)); + this.head.render(stack, consumer, light, overlay, color); this.body.render(stack, consumer, light, overlay, color); this.rightArm.render(stack, consumer, light, overlay, color); this.leftArm.render(stack, consumer, light, overlay, color); diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 6ea37debe8..a1bd937406 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -235,3 +235,6 @@ public net.minecraft.core.cauldron.CauldronInteraction dyedItemIteration(Lnet/mi # UncraftingMenu public net.minecraft.world.item.crafting.ShapedRecipe result public net.minecraft.world.item.crafting.ShapelessRecipe result + +# QuestRam, FieryArmor and RisingZombie need to extend +public-f net.minecraft.client.model.Model renderToBuffer(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;III)V \ No newline at end of file From 5a69777f48c36ecadf8ef26acdf39795765e0fa3 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:22:40 -0500 Subject: [PATCH 039/239] Lazy evaluate compiler flags --- build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3451d1dcdb..3ce8e97579 100644 --- a/build.gradle +++ b/build.gradle @@ -43,7 +43,9 @@ java { } } -compileJava.options.compilerArgs << "-Xlint:all,-classfile,-processing,-deprecation,-this-escape" << "-Werror" +tasks.withType(JavaCompile).configureEach { + options.compilerArgs << "-Xlint:all,-classfile,-processing,-deprecation,-this-escape" << "-Werror" +} base { archivesName = "${project.mod_id}-${project.minecraft_version}" From 81cbe7e23c37c3f66af27314b42f28bc27220fed Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:23:41 -0500 Subject: [PATCH 040/239] Merge both JavaCompiler blocks --- build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 3ce8e97579..ab0d5645f1 100644 --- a/build.gradle +++ b/build.gradle @@ -45,6 +45,7 @@ java { tasks.withType(JavaCompile).configureEach { options.compilerArgs << "-Xlint:all,-classfile,-processing,-deprecation,-this-escape" << "-Werror" + options.encoding = 'UTF-8' } base { @@ -244,7 +245,3 @@ tasks.register('sourceJar', Jar) { from sourceSets.main.allSource archiveClassifier = 'sources' } - -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' -} From 362c44260d0235822bdf3b25d0f557cc75524b13 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Tue, 10 Dec 2024 11:38:59 -0500 Subject: [PATCH 041/239] `src/generated/** linguist-generated` --- .gitattributes | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index f26996e5a8..fee9c01902 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ -src/generated/**/*.json text eol=lf \ No newline at end of file +src/generated/**/*.json text eol=lf +src/generated/** linguist-generated \ No newline at end of file From 6df86e8933a1300d3b388ed292fa9fd45a8a8468 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 7 Jan 2025 12:48:38 -0700 Subject: [PATCH 042/239] fix more things, maps and boat textures remain --- .../twilightforest/block/BrazierBlock.java | 35 ++-- .../twilightforest/block/CandelabraBlock.java | 4 +- .../twilightforest/block/CicadaJarBlock.java | 10 +- .../twilightforest/block/FireflyJarBlock.java | 10 +- .../block/KeepsakeCasketBlock.java | 8 +- .../block/SinisterSpawnerBlock.java | 8 +- .../twilightforest/block/SkullChestBlock.java | 36 ++-- .../block/TrollsteinnBlock.java | 2 +- .../TextureGeneratorReloadListener.java | 6 +- .../client/event/ColorHandler.java | 6 - .../client/event/OverlayHandler.java | 12 +- .../client/model/block/BrazierModel.java | 38 ++--- .../block/carpet/UnbakedRoyalRagsModel.java | 2 +- .../renderer/PotionFlaskTooltipComponent.java | 19 ++- .../entity/MagicPaintingRenderer.java | 159 +++++++++++------- .../twilightforest/data/BlockLootTables.java | 6 +- .../data/TFAdvancementGenerator.java | 8 +- .../data/custom/ScepterRecipeBuilder.java | 27 +-- .../data/recipes/CraftingGenerator.java | 8 +- .../enchantment/RechargeScepterEffect.java | 14 +- .../entity/monster/LoyalZombie.java | 10 +- .../entity/passive/QuestRam.java | 19 +-- .../passive/quest/QuestReloadListener.java | 8 +- .../passive/quest/ram/QuestingRamContext.java | 2 +- .../twilightforest/init/TFBlockEntities.java | 152 ++++++----------- .../java/twilightforest/init/TFBlocks.java | 9 +- .../java/twilightforest/init/TFItems.java | 149 ++++++++-------- .../item/FortificationWandItem.java | 2 +- .../twilightforest/item/MysticCrownItem.java | 27 --- .../twilightforest/item/TwilightWandItem.java | 1 + .../twilightforest/item/ZombieWandItem.java | 1 + .../item/recipe/ScepterRepairRecipe.java | 15 +- .../network/MagicMapPacket.java | 4 +- .../lichtowerrevamp/LichPerimeterFence.java | 5 +- .../lichtowerrevamp/LichTowerRoomDecor.java | 2 +- .../lichtowerrevamp/LichTowerWingRoom.java | 3 +- 36 files changed, 374 insertions(+), 453 deletions(-) delete mode 100644 src/main/java/twilightforest/item/MysticCrownItem.java diff --git a/src/main/java/twilightforest/block/BrazierBlock.java b/src/main/java/twilightforest/block/BrazierBlock.java index dad68b1df8..8c824ac568 100644 --- a/src/main/java/twilightforest/block/BrazierBlock.java +++ b/src/main/java/twilightforest/block/BrazierBlock.java @@ -6,17 +6,15 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.stats.Stats; +import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.*; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityTicker; @@ -30,6 +28,7 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.neoforge.common.ItemAbilities; import net.neoforged.neoforge.fluids.FluidUtil; import net.neoforged.neoforge.fluids.capability.templates.VoidFluidHandler; import twilightforest.block.entity.BrazierBlockEntity; @@ -81,12 +80,12 @@ protected void createBlockStateDefinition(StateDefinition.Builder jar.set(TFDataComponents.JAR_LID.get(), new JarLid(jarBE.lid)))); + if (level instanceof ServerLevel sl) { + ItemEntity cicada = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.CICADA)); + level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); + cicada.spawnAtLocation(sl, cicada.getItem()); + cicada.spawnAtLocation(sl, Util.make(new ItemStack(TFBlocks.MASON_JAR.get()), jar -> jar.set(TFDataComponents.JAR_LID.get(), new JarLid(jarBE.lid)))); + } level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); return InteractionResult.SUCCESS; diff --git a/src/main/java/twilightforest/block/FireflyJarBlock.java b/src/main/java/twilightforest/block/FireflyJarBlock.java index 241b80e870..5ce5b22940 100644 --- a/src/main/java/twilightforest/block/FireflyJarBlock.java +++ b/src/main/java/twilightforest/block/FireflyJarBlock.java @@ -38,10 +38,12 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l @Override protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult result) { if (player.isShiftKeyDown() && level.getBlockEntity(pos) instanceof JarBlockEntity jarBE) { - ItemEntity firefly = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.FIREFLY)); - level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); - firefly.spawnAtLocation(firefly.getItem()); - firefly.spawnAtLocation(Util.make(new ItemStack(TFBlocks.MASON_JAR.get()), jar -> jar.set(TFDataComponents.JAR_LID.get(), new JarLid(jarBE.lid)))); + if (level instanceof ServerLevel sl) { + ItemEntity firefly = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(TFBlocks.FIREFLY)); + level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); + firefly.spawnAtLocation(sl, firefly.getItem()); + firefly.spawnAtLocation(sl, Util.make(new ItemStack(TFBlocks.MASON_JAR.get()), jar -> jar.set(TFDataComponents.JAR_LID.get(), new JarLid(jarBE.lid)))); + } level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); return InteractionResult.SUCCESS; } diff --git a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java index 5deb4af3c4..6c5d8acdcb 100644 --- a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java +++ b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java @@ -8,7 +8,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.MenuProvider; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; @@ -63,12 +63,12 @@ public BlockEntityTicker getTicker(Level level, Block } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { boolean flag = false; if (state.getValue(BlockLoggingEnum.MULTILOGGED).getBlock() == Blocks.AIR || state.getValue(BlockLoggingEnum.MULTILOGGED).getFluid() != Fluids.EMPTY) { if (!(stack.getItem() == TFItems.CHARM_OF_KEEPING_3.get())) { if (level.isClientSide()) { - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } else { MenuProvider inamedcontainerprovider = this.getMenuProvider(state, level, pos); @@ -86,7 +86,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev } } } - return flag ? ItemInteractionResult.sidedSuccess(level.isClientSide()) : ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return flag ? InteractionResult.SUCCESS : InteractionResult.PASS; } @Override diff --git a/src/main/java/twilightforest/block/SinisterSpawnerBlock.java b/src/main/java/twilightforest/block/SinisterSpawnerBlock.java index 2545e9433c..c0dc5427bc 100644 --- a/src/main/java/twilightforest/block/SinisterSpawnerBlock.java +++ b/src/main/java/twilightforest/block/SinisterSpawnerBlock.java @@ -7,7 +7,7 @@ import net.minecraft.core.particles.ParticleTypes; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -89,7 +89,7 @@ protected VoxelShape getVisualShape(BlockState state, BlockGetter getter, BlockP } @Override - protected boolean propagatesSkylightDown(BlockState state, BlockGetter level, BlockPos pos) { + protected boolean propagatesSkylightDown(BlockState state) { return true; } @@ -99,7 +99,7 @@ protected float getShadeBrightness(BlockState state, BlockGetter level, BlockPos } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (player.isCreative()) { BlockEntity blockEntity = level.getBlockEntity(pos); @@ -109,7 +109,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (!particleOptions.isEmpty()) { logic.setParticles(particleOptions); - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } } } diff --git a/src/main/java/twilightforest/block/SkullChestBlock.java b/src/main/java/twilightforest/block/SkullChestBlock.java index 04573839f7..8ebb545d88 100644 --- a/src/main/java/twilightforest/block/SkullChestBlock.java +++ b/src/main/java/twilightforest/block/SkullChestBlock.java @@ -1,14 +1,11 @@ package twilightforest.block; import com.mojang.serialization.MapCodec; -import it.unimi.dsi.fastutil.floats.Float2FloatFunction; -import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.component.DataComponentPatch; import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; -import net.minecraft.sounds.SoundSource; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.FluidTags; import net.minecraft.world.*; import net.minecraft.world.entity.Entity; @@ -16,25 +13,21 @@ import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.*; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.entity.LidBlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.block.state.properties.DirectionProperty; -import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -42,15 +35,10 @@ import twilightforest.block.entity.KeepsakeCasketBlockEntity; import twilightforest.enums.BlockLoggingEnum; import twilightforest.init.TFBlockEntities; -import twilightforest.init.TFDataComponents; -import twilightforest.init.TFItems; -import twilightforest.init.TFSounds; - -import java.util.List; public class SkullChestBlock extends BaseEntityBlock implements BlockLoggingEnum.IMultiLoggable { - public static final DirectionProperty FACING = TFHorizontalBlock.FACING; + public static final EnumProperty FACING = TFHorizontalBlock.FACING; public static final MapCodec CODEC = simpleCodec(SkullChestBlock::new); private static final VoxelShape BOTTOM_X = Block.box(2.0D, 0.0D, 1.0D, 14.0D, 6.0D, 15.0D); private static final VoxelShape TOP_X = Block.box(1.0D, 6.0D, 0.0D, 15.0D, 14.0D, 16.0D); @@ -121,25 +109,25 @@ public float getExplosionResistance(BlockState state, BlockGetter getter, BlockP } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) { if (state.getValue(BlockLoggingEnum.MULTILOGGED).getBlock() == Blocks.AIR || state.getValue(BlockLoggingEnum.MULTILOGGED).getFluid() != Fluids.EMPTY) { if (level.isClientSide()) { - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } else { MenuProvider menuProvider = this.getMenuProvider(state, level, pos); if (menuProvider != null) { player.openMenu(menuProvider); } - return ItemInteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.CONSUME; } } - return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.PASS; } @Override public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { - if (!level.isClientSide() && !player.isCreative() && level.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { + if (level instanceof ServerLevel sl && !player.isCreative() && sl.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { BlockEntity tile = level.getBlockEntity(pos); if (tile instanceof KeepsakeCasketBlockEntity casket) { ItemStack stack = new ItemStack(this); @@ -184,12 +172,12 @@ public void setPlacedBy(Level level, BlockPos pos, BlockState state, @Nullable L } @Override - public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) { + protected void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, @Nullable Orientation orientation, boolean isMoving) { this.reactWithNeighbors(level, pos, state); - super.neighborChanged(state, level, pos, block, fromPos, isMoving); + super.neighborChanged(state, level, pos, block, orientation, isMoving); } - //[VanillaCopy] of FlowingFluidBlock.reactWithNeighbors, adapted for blockstates + //[VanillaCopy] of LiquidBlock.shouldSpreadLiquid, adapted for blockstates private void reactWithNeighbors(Level level, BlockPos pos, BlockState state) { if (state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA) { boolean flag = level.getBlockState(pos.below()).is(Blocks.SOUL_SOIL); diff --git a/src/main/java/twilightforest/block/TrollsteinnBlock.java b/src/main/java/twilightforest/block/TrollsteinnBlock.java index d13803ca1c..9ef59cffda 100644 --- a/src/main/java/twilightforest/block/TrollsteinnBlock.java +++ b/src/main/java/twilightforest/block/TrollsteinnBlock.java @@ -98,7 +98,7 @@ public void animateTick(BlockState state, Level level, BlockPos pos, RandomSourc if (rand.nextBoolean()) this.sparkle(level, pos); } - DustParticleOptions PURPL = new DustParticleOptions(new Vector3f(0.25F, 0.0F, 0.5F), 1.0F); + DustParticleOptions PURPL = new DustParticleOptions(4194432, 1.0F); // [VanillaCopy] Based on RedstoneOreBlock.spawnParticles private void sparkle(Level level, BlockPos pos) { diff --git a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java index 7e937841bf..e6d129180c 100644 --- a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java +++ b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java @@ -41,7 +41,7 @@ public void onResourceManagerReload(ResourceManager manager) { for (int x = 0; x < 48 * tfScale; x++) { for (int y = 58 * tfScale; y < 96 * tfScale; y++) { // If the loaded tf boat chest texture has non-transparent pixels below the boat section of the texture, return - if (tfImage.getPixelRGBA(x, y) != 0x00000000) return; + if (tfImage.getPixel(x, y) != 0x00000000) return; } } @@ -50,7 +50,7 @@ public void onResourceManagerReload(ResourceManager manager) { newImage.copyFrom(vanillaImage); for (int x = 0; x < 102 * vanillaScale; x++) { for (int y = 0; y < 52 * vanillaScale; y++) { - newImage.setPixelRGBA(x, y, tfImage.getPixelRGBA(x / (vanillaScale / tfScale), y / (vanillaScale / tfScale))); + newImage.setPixel(x, y, tfImage.getPixel(x / (vanillaScale / tfScale), y / (vanillaScale / tfScale))); } } @@ -75,7 +75,7 @@ public void load(ResourceManager resourceManager) { } else { for (int x = 0; x < 48 * tfScale; x++) { for (int y = 58 * tfScale; y < 96 * tfScale; y++) { - tfImage.setPixelRGBA(x, y, vanillaImage.getPixelRGBA(x / (tfScale / vanillaScale), y / (tfScale / vanillaScale))); + tfImage.setPixel(x, y, vanillaImage.getPixel(x / (tfScale / vanillaScale), y / (tfScale / vanillaScale))); } } diff --git a/src/main/java/twilightforest/client/event/ColorHandler.java b/src/main/java/twilightforest/client/event/ColorHandler.java index 840b6c5ce2..e13c83f8eb 100644 --- a/src/main/java/twilightforest/client/event/ColorHandler.java +++ b/src/main/java/twilightforest/client/event/ColorHandler.java @@ -3,14 +3,12 @@ import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.renderer.BiomeColors; import net.minecraft.core.BlockPos; -import net.minecraft.util.FastColor; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.component.DyedItemColor; import net.minecraft.world.level.FoliageColor; import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; -import net.neoforged.neoforge.common.DeferredSpawnEggItem; import net.neoforged.neoforge.registries.DeferredHolder; import twilightforest.block.ClimbableHollowLogBlock; import twilightforest.components.item.PotionFlaskComponent; @@ -231,9 +229,5 @@ protected static void registerItemColors(RegisterColorHandlersEvent.Item event) if (contents.potion().potion().isEmpty()) return -1; return contents.potion().getColor(); }, TFItems.BRITTLE_FLASK.get(), TFItems.GREATER_FLASK.get()); - - for (DeferredSpawnEggItem egg : TFEntities.SPAWN_EGGS.getEntries().stream().map(DeferredHolder::get).map(DeferredSpawnEggItem.class::cast).toList()) { - event.register((stack, index) -> FastColor.ARGB32.opaque(egg.getColor(index)), egg); - } } } diff --git a/src/main/java/twilightforest/client/event/OverlayHandler.java b/src/main/java/twilightforest/client/event/OverlayHandler.java index d9ab32902d..eb89eaf79b 100644 --- a/src/main/java/twilightforest/client/event/OverlayHandler.java +++ b/src/main/java/twilightforest/client/event/OverlayHandler.java @@ -10,11 +10,13 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.util.ARGB; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -95,13 +97,11 @@ protected static void registerOverlays(RegisterGuiLayersEvent event) { RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); RenderSystem.enableBlend(); - graphics.setColor(1.0F, 1.0F, 1.0F, (float) portal.getPortalTimer() / (float) TFPortalAttachment.MAX_TICKS); TextureAtlasSprite textureatlassprite = minecraft.getBlockRenderer().getBlockModelShaper().getParticleIcon(TFBlocks.TWILIGHT_PORTAL.get().defaultBlockState()); - graphics.blit(0, 0, -90, window.getGuiScaledWidth(), window.getGuiScaledHeight(), textureatlassprite); + graphics.blitSprite(RenderType::guiTexturedOverlay, textureatlassprite, 0, 0, window.getGuiScaledWidth(), window.getGuiScaledHeight(), ARGB.white((float) portal.getPortalTimer() / (float) TFPortalAttachment.MAX_TICKS)); RenderSystem.disableBlend(); RenderSystem.depthMask(true); RenderSystem.enableDepthTest(); - graphics.setColor(1.0F, 1.0F, 1.0F, 1.0F); } } }); @@ -117,9 +117,9 @@ private static void renderIndicator(Minecraft minecraft, GuiGraphics graphics, G int j = ((screenHeight - 1) / 2) - 11; int k = ((screenWidth - 1) / 2) - 3; if (!ram.isColorPresent(questEntry.getKey())) { - graphics.blitSprite(QUESTING_RAM_X_SPRITE, k, j, 7, 7); + graphics.blitSprite(RenderType::crosshair, QUESTING_RAM_X_SPRITE, k, j, 7, 7); } else { - graphics.blitSprite(QUESTING_RAM_CHECK_SPRITE, k, j, 7, 7); + graphics.blitSprite(RenderType::crosshair, QUESTING_RAM_CHECK_SPRITE, k, j, 7, 7); } RenderSystem.defaultBlendFunc(); break; @@ -131,7 +131,7 @@ private static void renderIndicator(Minecraft minecraft, GuiGraphics graphics, G private static void renderShieldCount(GuiGraphics graphics, Gui gui, int screenWidth, int screenHeight, int shieldCount) { for (int i = 0; i < Math.min(shieldCount, 10); i++) { - graphics.blitSprite(FORTIFICATION_SHIELD_SPRITE, screenWidth / 2 - 91 + (i * 8), screenHeight - gui.leftHeight, 9, 9); + graphics.blitSprite(RenderType::guiTextured, FORTIFICATION_SHIELD_SPRITE, screenWidth / 2 - 91 + (i * 8), screenHeight - gui.leftHeight, 9, 9); } gui.leftHeight += 10; } diff --git a/src/main/java/twilightforest/client/model/block/BrazierModel.java b/src/main/java/twilightforest/client/model/block/BrazierModel.java index 704d026a05..7780b8ca22 100644 --- a/src/main/java/twilightforest/client/model/block/BrazierModel.java +++ b/src/main/java/twilightforest/client/model/block/BrazierModel.java @@ -1,10 +1,5 @@ package twilightforest.client.model.block; -// Made with Blockbench 4.11.2 -// Exported for Minecraft version 1.17 or later with Mojang mappings -// Paste this class into your mod and generate all required imports - - import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.Model; @@ -26,7 +21,7 @@ public class BrazierModel extends Model { private final ModelPart rope; public BrazierModel(ModelPart root) { - super(RenderType::entityCutoutNoCull); + super(root, RenderType::entityCutoutNoCull); this.leg1 = root.getChild("leg1"); this.leg2 = root.getChild("leg2"); @@ -41,46 +36,41 @@ public static LayerDefinition create() { MeshDefinition mesh = new MeshDefinition(); PartDefinition part = mesh.getRoot(); - PartDefinition leg1 = part.addOrReplaceChild("leg1", CubeListBuilder.create() + part.addOrReplaceChild("leg1", CubeListBuilder.create() .texOffs(24, 13) .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), PartPose.offsetAndRotation(-5.0F, 24.0F, 5.0F, 0.3655F, 0.7119F, 0.5299F)); - PartDefinition leg2 = part.addOrReplaceChild("leg2", CubeListBuilder.create() + + part.addOrReplaceChild("leg2", CubeListBuilder.create() .texOffs(16, 13) .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), PartPose.offsetAndRotation(5.0F, 24.0F, 5.0F, 0.3655F, -0.7119F, -0.5299F)); - PartDefinition leg3 = part.addOrReplaceChild("leg3", CubeListBuilder.create() + + part.addOrReplaceChild("leg3", CubeListBuilder.create() .texOffs(8, 13) .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), PartPose.offsetAndRotation(-5.0F, 24.0F, -5.0F, -0.3655F, -0.7119F, 0.5299F)); - PartDefinition leg4 = part.addOrReplaceChild("leg4", CubeListBuilder.create() + + part.addOrReplaceChild("leg4", CubeListBuilder.create() .texOffs(0, 13) .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), PartPose.offsetAndRotation(5.0F, 24.0F, -5.0F, -0.3655F, 0.7119F, -0.5299F)); - PartDefinition basket = part.addOrReplaceChild("basket", CubeListBuilder.create() + + part.addOrReplaceChild("basket", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -5.0F, -4.0F, 8.0F, 5.0F, 8.0F), PartPose.offsetAndRotation(0.0F, -2.0F, 0.0F, 0.0F, 0.7854F, 0.0F)); - PartDefinition charcoal = part.addOrReplaceChild("charcoal", CubeListBuilder.create() + + part.addOrReplaceChild("charcoal", CubeListBuilder.create() .texOffs(32, 6) .addBox(-3.0F, -1.0F, -3.0F, 6.0F, 2.0F, 6.0F), PartPose.offsetAndRotation(0.0F, -3.25F, 0.0F, 0.0F, 0.7854F, 0.0F)); - PartDefinition rope = part.addOrReplaceChild("rope", CubeListBuilder.create() + + part.addOrReplaceChild("rope", CubeListBuilder.create() .texOffs(32, 0) .addBox(-2.0F, -1.0F, -2.0F, 4.0F, 2.0F, 4.0F), PartPose.offsetAndRotation(0.0F, 7.0F, 0.0F, 0.0F, 0.7854F, 0.0F)); return LayerDefinition.create(mesh, 64, 64); } - - @Override - public void renderToBuffer(PoseStack pose, VertexConsumer vc, int light, int overlay, int color) { - leg1.render(pose, vc, light, overlay, color); - leg2.render(pose, vc, light, overlay, color); - leg3.render(pose, vc, light, overlay, color); - leg4.render(pose, vc, light, overlay, color); - basket.render(pose, vc, light, overlay, color); - charcoal.render(pose, vc, light, overlay, color); - rope.render(pose, vc, light, overlay, color); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java index f7901f1689..550e3672d5 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java @@ -101,6 +101,6 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio ResourceLocation renderTypeHint = context.getRenderTypeHint(); RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.ROYAL_RAGS.get()), baseQuads, quads, spriteGetter.apply(context.getMaterial("wool")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); + return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, spriteGetter.apply(context.getMaterial("wool")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java index 2206dae9e4..a58227e99e 100644 --- a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java +++ b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java @@ -6,7 +6,9 @@ import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; +import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -39,8 +41,8 @@ public PotionFlaskTooltipComponent(BrittleFlaskItem.Tooltip tooltip) { } @Override - public int getHeight() { - return this.getDescriptionHeight(Minecraft.getInstance().font) + 13 + 8; + public int getHeight(Font font) { + return this.getDescriptionHeight(font) + 13 + 8; } @Override @@ -66,7 +68,7 @@ private int getDescriptionHeight(Font font) { private List getPotionTooltips() { if (this.component.potion().potion().isPresent()) { List tooltips = new ArrayList<>(); - tooltips.add(Component.translatable(Potion.getName(this.component.potion().potion(), "item.minecraft.potion.effect."))); + tooltips.add(this.component.potion().getName("item.minecraft.potion.effect.")); this.component.potion().addPotionTooltip(tooltips::add, 1.0F, Minecraft.getInstance().level.tickRateManager().tickrate()); return tooltips; } @@ -78,8 +80,7 @@ private int getContentXOffset(int offs) { } @Override - public void renderImage(Font font, int x, int y, GuiGraphics graphics) { - int offs = 113; //TODO replace with 4th param in 1.21.2+ so things properly center + public void renderImage(Font font, int x, int y, int xOffs, int yOffs, GuiGraphics graphics) { if (this.component.potion().potion().isEmpty()) { graphics.drawWordWrap(font, EMPTY_DESCRIPTION, x, y, WIDTH, 11184810); } else { @@ -94,7 +95,7 @@ public void renderImage(Font font, int x, int y, GuiGraphics graphics) { height += font.split(component, WIDTH).size() * font.lineHeight + 1; } } - this.drawPotionBar(x + this.getContentXOffset(offs), y + this.getDescriptionHeight(font) + 4, font, graphics); + this.drawPotionBar(x + this.getContentXOffset(xOffs), y + this.getDescriptionHeight(font) + 4, font, graphics); } private void drawPotionBar(int x, int y, Font font, GuiGraphics graphics) { @@ -111,11 +112,11 @@ private void drawPotionBar(int x, int y, Font font, GuiGraphics graphics) { } int widthProg = segmentSplit; for (int i = 1; i < this.maxDoses; i++) { - graphics.blitSprite(DOSE_SPRITE, x + widthProg, y, 1, 13); + graphics.blitSprite(RenderType::guiTextured, DOSE_SPRITE, x + widthProg, y, 1, 13); widthProg += segmentSplit; } } - graphics.blitSprite(BORDER_SPRITE, x, y, WIDTH, 13); + graphics.blitSprite(RenderType::guiTextured, BORDER_SPRITE, x, y, WIDTH, 13); } private void renderPotion(PoseStack stack, int xPosition, int yPosition, int desiredWidth, int desiredHeight, int color) { @@ -123,7 +124,7 @@ private void renderPotion(PoseStack stack, int xPosition, int yPosition, int des int green = (color >> 8) & 255; int blue = color & 255; TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(InventoryMenu.BLOCK_ATLAS).apply(IClientFluidTypeExtensions.of(Fluids.WATER).getStillTexture()); - RenderSystem.setShader(GameRenderer::getPositionTexShader); + RenderSystem.setShader(CoreShaders.POSITION_TEX); RenderSystem.setShaderTexture(0, InventoryMenu.BLOCK_ATLAS); int xTileCount = desiredWidth / 16; int xRemainder = desiredWidth - (xTileCount * 16); diff --git a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java index d3070a2809..394585cddc 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java @@ -10,6 +10,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.core.BlockPos; @@ -22,8 +23,10 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.food.FoodData; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import twilightforest.client.MagicPaintingTextureManager; +import twilightforest.client.state.MagicPaintingRenderState; import twilightforest.entity.MagicPainting; import twilightforest.entity.MagicPaintingVariant; import twilightforest.entity.MagicPaintingVariant.Layer.OpacityModifier; @@ -32,7 +35,7 @@ import javax.annotation.Nullable; import java.util.Optional; -public class MagicPaintingRenderer extends EntityRenderer { +public class MagicPaintingRenderer extends EntityRenderer { public static long lastLightning = 0L; public MagicPaintingRenderer(EntityRendererProvider.Context pContext) { @@ -40,29 +43,25 @@ public MagicPaintingRenderer(EntityRendererProvider.Context pContext) { } @Override - public void render(MagicPainting painting, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int packedLight) { - MagicPaintingVariant paintingVariant = painting.getVariant().value(); - - stack.pushPose(); - stack.mulPose(Axis.YP.rotationDegrees(180.0F - yaw)); - stack.scale(0.0625F, 0.0625F, 0.0625F); - VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entityTranslucent(this.getTextureLocation(painting))); - - this.renderPainting(stack, vertexconsumer, painting, paintingVariant, partialTicks); - stack.popPose(); - super.render(painting, yaw, partialTicks, stack, buffer, packedLight); - } - - @Override - public ResourceLocation getTextureLocation(MagicPainting painting) { - return MagicPaintingTextureManager.ATLAS_LOCATION; + public void render(MagicPaintingRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + MagicPaintingVariant variant = state.variant; + + if (variant != null) { + stack.pushPose(); + stack.mulPose(Axis.YP.rotationDegrees(180.0F - state.direction.get2DDataValue() * 90)); + stack.scale(0.0625F, 0.0625F, 0.0625F); + MagicPaintingTextureManager manager = MagicPaintingTextureManager.instance; + TextureAtlasSprite textureatlassprite = manager.getBackSprite(variant); + VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entitySolidZOffsetForward(textureatlassprite.atlasLocation())); + this.renderPainting(stack, vertexconsumer, state.lightCoords, variant.width(), variant.height(), state, manager, textureatlassprite); + stack.popPose(); + super.render(state, stack, buffer, light); + } } - private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPainting painting, MagicPaintingVariant variant, float partialTicks) { - ResourceLocation textureLocation = MagicPaintingVariant.getVariantResourceLocation(painting.level().registryAccess(), variant); + private void renderPainting(PoseStack stack, VertexConsumer vertex, int[] worldLight, int width, int height, MagicPaintingRenderState state, MagicPaintingTextureManager manager, TextureAtlasSprite backSprite) { + ResourceLocation textureLocation = state.texture; - int width = variant.width(); - int height = variant.height(); int widthAsBlock = width / 16; int heightAsBlock = height / 16; @@ -75,12 +74,10 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin double widthFactor = 1.0D / (double) widthAsBlock; double heightFactor = 1.0D / (double) heightAsBlock; - Direction direction = painting.getDirection(); - int posX = painting.getBlockX(); - int posZ = painting.getBlockZ(); + Direction direction = state.direction; - for (MagicPaintingVariant.Layer layer : variant.layers()) { - float alpha = this.getAlpha(layer.opacityModifier(), painting, partialTicks); + for (MagicPaintingVariant.Layer layer : state.variant.layers()) { + float alpha = this.getAlpha(layer.opacityModifier(), state, state.partialTick); if (alpha <= 0.0F) continue; Parallax parallax = layer.parallax(); @@ -97,10 +94,10 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin double layerHeightFactor = 1.0D / layerHeightAsBlock; double widthDiff = parallax != null ? (widthFactor - layerWidthFactor) * (double) widthAsBlock * 0.5D : 0.0D; - double widthOffset = widthDiff != 0.0D ? this.getWidthOffset(parallax, painting, widthDiff, partialTicks) : 0.0D; + double widthOffset = widthDiff != 0.0D ? this.getWidthOffset(parallax, state, widthDiff, state.partialTick) : 0.0D; double heightDiff = parallax != null ? (heightFactor - layerHeightFactor) * (double) heightAsBlock * 0.5D : 0.0D; - double heightOffset = heightDiff != 0.0D ? this.getHeightOffset(parallax, painting, heightDiff, partialTicks) : 0.0D; + double heightOffset = heightDiff != 0.0D ? this.getHeightOffset(parallax, state, heightDiff, state.partialTick) : 0.0D; TextureAtlasSprite layerTexture = MagicPaintingTextureManager.instance.getLayerSprite(textureLocation, layer); @@ -111,12 +108,7 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin float yMax = y + (float) ((l + 1) * 16); float yMin = y + (float) (l * 16); - if (direction == Direction.NORTH) posX = Mth.floor(painting.getX() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.WEST) posZ = Mth.floor(painting.getZ() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.SOUTH) posX = Mth.floor(painting.getX() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.EAST) posZ = Mth.floor(painting.getZ() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - - int light = layer.fullbright() ? 15728850 : LevelRenderer.getLightColor(painting.level(), new BlockPos(posX, Mth.floor(painting.getY() + (double) ((yMax + yMin) / 2.0F / 16.0F)), posZ)); + int light = layer.fullbright() ? 15728850 : worldLight[widthAsBlock + heightAsBlock * width]; float xEnd = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - k) + widthOffset)); float xStart = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - (k + 1)) + widthOffset)); float yEnd = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - l) + heightOffset)); @@ -129,8 +121,6 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin } } - TextureAtlasSprite backSprite = MagicPaintingTextureManager.instance.getBackSprite(variant); - for (int w = 0; w < widthAsBlock; ++w) { boolean leftBorder = w == 0; boolean rightBorder = w == widthAsBlock - 1; @@ -144,11 +134,6 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin float xMax = x + (float) ((w + 1) * 16); float xMin = x + (float) (w * 16); - if (direction == Direction.NORTH) posX = Mth.floor(painting.getX() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.WEST) posZ = Mth.floor(painting.getZ() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.SOUTH) posX = Mth.floor(painting.getX() - (double) ((xMax + xMin) / 2.0F / 16.0F)); - if (direction == Direction.EAST) posZ = Mth.floor(painting.getZ() + (double) ((xMax + xMin) / 2.0F / 16.0F)); - for (int h = 0; h < heightAsBlock; ++h) { boolean bottomBorder = h == 0; boolean topBorder = h == heightAsBlock - 1; @@ -162,7 +147,7 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, MagicPaintin float yMax = y + (float) ((h + 1) * 16); float yMin = y + (float) (h * 16); - int light = LevelRenderer.getLightColor(painting.level(), new BlockPos(posX, Mth.floor(painting.getY() + (double) ((yMax + yMin) / 2.0F / 16.0F)), posZ)); + int light = worldLight[widthAsBlock + heightAsBlock * width]; // Back this.vertex(pose, vertex, xMax, yMax, z, u1, v0, 0, 0, 1, light, false); @@ -210,25 +195,25 @@ protected void vertex(PoseStack.Pose pose, VertexConsumer vertex, float x, float vertex.setNormal(pose, normX, normY, normZ); } - protected double getWidthOffset(@Nullable Parallax parallax, MagicPainting painting, double widthDiff, float partialTicks) { + protected double getWidthOffset(@Nullable Parallax parallax, MagicPaintingRenderState state, double widthDiff, float partialTicks) { if (parallax != null) switch (parallax.type()) { case VIEW_ANGLE -> { Vec3 camPos = Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.getEyePosition(partialTicks) : Minecraft.getInstance().gameRenderer.getMainCamera().getPosition(); - Vec3 paintPos = painting.position().relative(painting.getDirection().getOpposite(), 1.0D); + Vec3 paintPos = state.position.relative(state.direction.getOpposite(), 1.0D); double x = camPos.x - paintPos.x; double z = camPos.z - paintPos.z; - double yRot = Mth.wrapDegrees((float) (Mth.atan2(z, x) * (double) (180F / (float) Math.PI)) - 90.0F - painting.getYRot()); + double yRot = Mth.wrapDegrees((float) (Mth.atan2(z, x) * (double) (180F / (float) Math.PI)) - 90.0F - state.yRot); return widthDiff + Mth.clamp(yRot * parallax.multiplier() * widthDiff, -widthDiff, widthDiff); } case SINE_TIME -> { - return widthDiff + (Math.sin((painting.tickCount + partialTicks) * parallax.multiplier()) * widthDiff); + return widthDiff + (Math.sin(state.ageInTicks * parallax.multiplier()) * widthDiff); } case LINEAR_TIME -> { - double trueTick = (painting.tickCount + partialTicks) * parallax.multiplier(); + double trueTick = state.ageInTicks * parallax.multiplier(); double wholeDiff = widthDiff * 2.0D; return widthDiff + (parallax.multiplier() > 0.0D ? -widthDiff + (trueTick % wholeDiff) : widthDiff - (trueTick % wholeDiff)); } @@ -236,14 +221,14 @@ protected double getWidthOffset(@Nullable Parallax parallax, MagicPainting paint return 0.0D; } - protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting painting, double heightDiff, float partialTicks) { + protected double getHeightOffset(@Nullable Parallax parallax, MagicPaintingRenderState state, double heightDiff, float partialTicks) { if (parallax != null) switch (parallax.type()) { case VIEW_ANGLE -> { Vec3 camPos = Minecraft.getInstance().cameraEntity != null ? Minecraft.getInstance().cameraEntity.getEyePosition(partialTicks) : Minecraft.getInstance().gameRenderer.getMainCamera().getPosition(); - Vec3 paintPos = painting.position().relative(painting.getDirection().getOpposite(), 1.0D); + Vec3 paintPos = state.position.relative(state.direction.getOpposite(), 1.0D); double x = camPos.x - paintPos.x; double y = camPos.y - paintPos.y; @@ -254,10 +239,10 @@ protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting pain return heightDiff - Mth.clamp(xRot * parallax.multiplier() * heightDiff, -heightDiff, heightDiff); } case SINE_TIME -> { - return heightDiff - (Math.cos((painting.tickCount + partialTicks) * parallax.multiplier()) * heightDiff); + return heightDiff - (Math.cos(state.ageInTicks * parallax.multiplier()) * heightDiff); } case LINEAR_TIME -> { - double trueTick = (painting.tickCount + partialTicks) * parallax.multiplier(); + double trueTick = state.ageInTicks * parallax.multiplier(); double wholeDiff = heightDiff * 2.0D; return heightDiff - (parallax.multiplier() > 0.0D ? -heightDiff + (trueTick % wholeDiff) : heightDiff - (trueTick % wholeDiff)); } @@ -267,27 +252,26 @@ protected double getHeightOffset(@Nullable Parallax parallax, MagicPainting pain protected static final float DAY_LENGTH = 24000.0F; - protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPainting painting, float partialTicks) { - if (opacityModifier == null) return 1.0F; + protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPaintingRenderState state, float partialTicks) { + ClientLevel level = Minecraft.getInstance().level; + if (level == null || opacityModifier == null) return 1.0F; float a = 1.0F; switch (opacityModifier.type()) { case DISTANCE -> { Vec3 camPos = Optional.ofNullable(Minecraft.getInstance().cameraEntity).map(Entity::getEyePosition).orElse(Minecraft.getInstance().gameRenderer.getMainCamera().getPosition()); - a = fromTo(opacityModifier.from(), opacityModifier.to(), (float) camPos.distanceTo(painting.position())); + a = fromTo(opacityModifier.from(), opacityModifier.to(), (float) camPos.distanceTo(state.position)); } - case WEATHER -> a = painting.level().getRainLevel(partialTicks); + case WEATHER -> a = level.getRainLevel(partialTicks); case STORM -> { - a = (painting.level().getRainLevel(partialTicks) + painting.level().getThunderLevel(partialTicks)) * 0.5F; + a = (level.getRainLevel(partialTicks) + level.getThunderLevel(partialTicks)) * 0.5F; } case LIGHTNING -> { - if (painting.level() instanceof ClientLevel clientLevel) { - a = 1.0F - ((float) (clientLevel.getGameTime() - lastLightning) - partialTicks) * opacityModifier.multiplier(); - if (a > 0.0F) a = a * a; - } + a = 1.0F - ((float) (level.getGameTime() - lastLightning) - partialTicks) * opacityModifier.multiplier(); + if (a > 0.0F) a = a * a; } case DAY_TIME -> { - if (painting.level() instanceof ClientLevel level) { + float time = level.dimensionType().fixedTime().orElse(level.dayTime()) + partialTicks; if (opacityModifier.from() < opacityModifier.to()) { @@ -296,9 +280,8 @@ protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPaintin if (time < opacityModifier.to()) time += DAY_LENGTH; a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() + DAY_LENGTH - opacityModifier.from())) - 0.5F) * 2.0F; } - } } - case SINE_TIME -> a = (float) (Math.sin((painting.tickCount + partialTicks) * opacityModifier.multiplier())) * 0.5F + 0.5F; + case SINE_TIME -> a = (float) (Math.sin(state.ageInTicks * opacityModifier.multiplier())) * 0.5F + 0.5F; case HEALTH -> { if (Minecraft.getInstance().getCameraEntity() instanceof LivingEntity living) { a = fromTo(opacityModifier.from(), opacityModifier.to(), living.getHealth()); @@ -351,4 +334,54 @@ protected int getFrameUV(int i, int maxI) { else if (i == maxI - 1) return 3; else return 2; } + + @Override + public MagicPaintingRenderState createRenderState() { + return new MagicPaintingRenderState(); + } + + @Override + public void extractRenderState(MagicPainting entity, MagicPaintingRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + Direction direction = entity.getDirection(); + MagicPaintingVariant variant = entity.getVariant().value(); + state.direction = direction; + state.variant = variant; + state.texture = MagicPaintingVariant.getVariantResourceLocation(entity.level().registryAccess(), variant); + state.yRot = Mth.lerp(partialTick, entity.yRotO, entity.getYRot()); + int i = variant.width(); + int j = variant.height(); + if (state.lightCoords.length != i * j) { + state.lightCoords = new int[i * j]; + } + + float f = (float)(-i) / 2.0F; + float f1 = (float)(-j) / 2.0F; + Level level = entity.level(); + + for (int k = 0; k < j; k++) { + for (int l = 0; l < i; l++) { + float f2 = (float)l + f + 0.5F; + float f3 = (float)k + f1 + 0.5F; + int i1 = entity.getBlockX(); + int j1 = Mth.floor(entity.getY() + (double)f3); + int k1 = entity.getBlockZ(); + switch (direction) { + case NORTH: + i1 = Mth.floor(entity.getX() + (double)f2); + break; + case WEST: + k1 = Mth.floor(entity.getZ() - (double)f2); + break; + case SOUTH: + i1 = Mth.floor(entity.getX() - (double)f2); + break; + case EAST: + k1 = Mth.floor(entity.getZ() + (double)f2); + } + + state.lightCoords[l + k * i] = LevelRenderer.getLightColor(level, new BlockPos(i1, j1, k1)); + } + } + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/data/BlockLootTables.java b/src/main/java/twilightforest/data/BlockLootTables.java index 5e17143f59..a2ab418133 100644 --- a/src/main/java/twilightforest/data/BlockLootTables.java +++ b/src/main/java/twilightforest/data/BlockLootTables.java @@ -279,7 +279,7 @@ protected void generate() { dropSelf(TFBlocks.TWISTED_STONE.get()); dropSelf(TFBlocks.TWISTED_STONE_PILLAR.get()); dropSelf(TFBlocks.BOLD_STONE_PILLAR.get()); - add(TFBlocks.SKULL_CHEST.get(), skullChest(TFBlocks.SKULL_CHEST.get())); + dropSelf(TFBlocks.SKULL_CHEST.get()); add(TFBlocks.KEEPSAKE_CASKET.get(), casketInfo(TFBlocks.KEEPSAKE_CASKET.get())); dropSelf(TFBlocks.CANDELABRA.get()); dropSelf(TFBlocks.WROUGHT_IRON_FENCE.get()); @@ -612,10 +612,6 @@ private LootTable.Builder silkAndStick(Block block, ItemLike nonSilk, float... n return createSilkTouchOrShearsDispatchTable(block, this.applyExplosionCondition(block, LootItem.lootTableItem(nonSilk.asItem())).when(BonusLevelTableCondition.bonusLevelFlatChance(registrylookup.getOrThrow(Enchantments.FORTUNE), nonSilkFortune))).withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).when((HAS_SHEARS.or(this.hasSilkTouch())).invert()).add(applyExplosionDecay(block, LootItem.lootTableItem(Items.STICK).apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 2.0F)))).when(BonusLevelTableCondition.bonusLevelFlatChance(registrylookup.getOrThrow(Enchantments.FORTUNE), 0.02F, 0.022222223F, 0.025F, 0.033333335F, 0.1F)))); } - private static LootTable.Builder skullChest(Block block) { - return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1))); - } - private static LootTable.Builder casketInfo(Block block) { return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).apply(CopyBlockState.copyState(block).copy(KeepsakeCasketBlock.BREAKAGE))); } diff --git a/src/main/java/twilightforest/data/TFAdvancementGenerator.java b/src/main/java/twilightforest/data/TFAdvancementGenerator.java index d83c1ac541..05764b93b0 100644 --- a/src/main/java/twilightforest/data/TFAdvancementGenerator.java +++ b/src/main/java/twilightforest/data/TFAdvancementGenerator.java @@ -518,10 +518,10 @@ public void generate(HolderLookup.Provider registries, Consumer getter; private final Item scepter; private final int durability; private final List repairItems = new ArrayList<>(); - private ScepterRecipeBuilder(Item scepter, int durability) { + private ScepterRecipeBuilder(HolderGetter getter, Item scepter, int durability) { + this.getter = getter; this.scepter = scepter; this.durability = durability; } - public static ScepterRecipeBuilder repairFor(Item scepter, int durability) { - return new ScepterRecipeBuilder(scepter, durability); + public static ScepterRecipeBuilder repairFor(HolderGetter getter, Item scepter, int durability) { + return new ScepterRecipeBuilder(getter, scepter, durability); } - public ScepterRecipeBuilder addRepairIngredient(Ingredient item) { + public ScepterRecipeBuilder addRepairIngredient(Ingredient item) { this.repairItems.add(item); return this; } - public ScepterRecipeBuilder addRepairIngredient(ItemStack item) { - this.repairItems.add(Ingredient.of(item)); - return this; - } - - public ScepterRecipeBuilder addRepairIngredient(TagKey item) { - this.repairItems.add(Ingredient.of(item)); + public ScepterRecipeBuilder addRepairIngredient(TagKey item) { + this.repairItems.add(Ingredient.of(this.getter.getOrThrow(item))); return this; } - public ScepterRecipeBuilder addRepairIngredient(ItemLike item) { + public ScepterRecipeBuilder addRepairIngredient(ItemLike item) { this.repairItems.add(Ingredient.of(item)); return this; } - public void save(RecipeOutput output, ResourceLocation id) { + public void save(RecipeOutput output, ResourceKey> id) { ScepterRepairRecipe recipe = new ScepterRepairRecipe(this.scepter, this.repairItems, this.durability, CraftingBookCategory.MISC); output.accept(id, recipe, null); } diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java index 825a8df715..3451b49abb 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java +++ b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java @@ -573,19 +573,19 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) .save(this.output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.LIFEDRAIN_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.LIFEDRAIN_SCEPTER.get(), 9) .addRepairIngredient(Items.FERMENTED_SPIDER_EYE) .save(this.output, locEquip(TFItems.LIFEDRAIN_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.FORTIFICATION_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.FORTIFICATION_SCEPTER.get(), 9) .addRepairIngredient(Ingredient.of(Items.GOLDEN_APPLE)) .save(this.output, locEquip(TFItems.FORTIFICATION_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.TWILIGHT_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.TWILIGHT_SCEPTER.get(), 9) .addRepairIngredient(Tags.Items.ENDER_PEARLS) .save(this.output, locEquip(TFItems.TWILIGHT_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.ZOMBIE_SCEPTER.get()) + ScepterRecipeBuilder.repairFor(getter, TFItems.ZOMBIE_SCEPTER.get(), 9) .addRepairIngredient(CompoundIngredient.of( DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRENGTH), Items.POTION), DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.LONG_STRENGTH), Items.POTION), diff --git a/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java b/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java index e87196ce4f..9541279643 100644 --- a/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java +++ b/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java @@ -27,7 +27,7 @@ public void apply(ServerLevel level, int enchantmentLevel, EnchantedItemInUse it public static void applyRecharge(ServerLevel level, ItemStack item, Entity entity) { if (entity instanceof Player player && item.getDamageValue() == item.getMaxDamage()) { - List recipes = level.getRecipeManager().getAllRecipesFor(RecipeType.CRAFTING).stream().filter(holder -> holder.value() instanceof ScepterRepairRecipe).map(RecipeHolder::value).map(ScepterRepairRecipe.class::cast).toList(); + List recipes = level.recipeAccess().getRecipes().stream().filter(holder -> holder.value() instanceof ScepterRepairRecipe).map(RecipeHolder::value).map(ScepterRepairRecipe.class::cast).toList(); List slotsToConsume = new ArrayList<>(); for (var recipe : recipes) { if (item.is(recipe.getScepter())) { @@ -40,21 +40,21 @@ public static void applyRecharge(ServerLevel level, ItemStack item, Entity entit item.setDamageValue(0); return; } - for (var ingredient : recipe.getIngredients()) { + for (var ingredient : recipe.placementInfo().ingredients()) { if (ingredient.test(stack)) { slotsToConsume.add(i); - if (slotsToConsume.size() == recipe.getIngredients().size()) break scepterItemsCheck; + if (slotsToConsume.size() == recipe.placementInfo().ingredients().size()) break scepterItemsCheck; } } } - if (slotsToConsume.size() == recipe.getIngredients().size()) { + if (slotsToConsume.size() == recipe.placementInfo().ingredients().size()) { for (int slot : slotsToConsume) { ItemStack stack = player.getInventory().items.get(slot); stack.shrink(1); - if (stack.hasCraftingRemainingItem()) { - if (!player.getInventory().add(stack.getCraftingRemainingItem())) { - player.drop(stack.getCraftingRemainingItem(), false); + if (!stack.getCraftingRemainder().isEmpty()) { + if (!player.getInventory().add(stack.getCraftingRemainder())) { + player.drop(stack.getCraftingRemainder(), false); } } } diff --git a/src/main/java/twilightforest/entity/monster/LoyalZombie.java b/src/main/java/twilightforest/entity/monster/LoyalZombie.java index 841039ea85..2a4312114e 100644 --- a/src/main/java/twilightforest/entity/monster/LoyalZombie.java +++ b/src/main/java/twilightforest/entity/monster/LoyalZombie.java @@ -85,8 +85,8 @@ public static AttributeSupplier.Builder registerAttributes() { } @Override - public boolean doHurtTarget(Entity entity) { - boolean success = entity.hurt(this.damageSources().mobAttack(this), 7.0F); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + boolean success = entity.hurtServer(level, this.damageSources().mobAttack(this), 7.0F); if (success) { entity.push(0.0D, 0.2D, 0.0D); @@ -101,7 +101,7 @@ public void aiStep() { // the effect here is that we die shortly after our 60 second lifespan if (!this.level().isClientSide() && this.getEffect(MobEffects.DAMAGE_BOOST) == null) { if (this.tickCount % 20 == 0) { - this.hurt(TFDamageTypes.getDamageSource(this.level(), TFDamageTypes.EXPIRED), 2); + this.hurt(this.damageSources().source(TFDamageTypes.EXPIRED), 2); } } @@ -117,7 +117,7 @@ public InteractionResult interactAt(Player player, Vec3 vec3, InteractionHand ha this.heal(1.0F); this.playSound(SoundEvents.ZOMBIE_INFECT, this.getSoundVolume(), this.getVoicePitch()); player.getItemInHand(hand).consume(1, player); - return InteractionResult.sidedSuccess(this.level().isClientSide()); + return InteractionResult.SUCCESS; } return super.interactAt(player, vec3, hand); @@ -186,7 +186,7 @@ protected void playStepSound(BlockPos pos, BlockState state) { } @Override - protected void dropExperience(@Nullable Entity entity) { + protected void dropExperience(ServerLevel level, @Nullable Entity entity) { } diff --git a/src/main/java/twilightforest/entity/passive/QuestRam.java b/src/main/java/twilightforest/entity/passive/QuestRam.java index e524863cd0..f80b4d8872 100644 --- a/src/main/java/twilightforest/entity/passive/QuestRam.java +++ b/src/main/java/twilightforest/entity/passive/QuestRam.java @@ -12,7 +12,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; @@ -107,12 +107,12 @@ protected void defineSynchedData(SynchedEntityData.Builder builder) { } @Override - protected void customServerAiStep() { + protected void customServerAiStep(ServerLevel level) { if (--this.randomTickDivider <= 0) { this.randomTickDivider = 70 + this.getRandom().nextInt(50); if (this.countColorsSet() > 15 && !this.getRewarded()) { - this.rewardQuest(); + this.rewardQuest(level); this.setRewarded(true); } @@ -123,14 +123,14 @@ protected void customServerAiStep() { this.playAmbientSound(); } - super.customServerAiStep(); + super.customServerAiStep(level); } - private void rewardQuest() { + private void rewardQuest(ServerLevel level) { // todo flesh the context out more LootParams ctx = new LootParams.Builder((ServerLevel) this.level()).withParameter(LootContextParams.THIS_ENTITY, this).create(LootContextParamSets.PIGLIN_BARTER); ObjectArrayList rewards = this.level().getServer().reloadableRegistries().getLootTable(TwilightForestMod.getQuests().getQuestingRam().lootTable()).getRandomItems(ctx); - rewards.forEach(stack -> this.spawnAtLocation(stack, 1.0F)); + rewards.forEach(stack -> this.spawnAtLocation(level, stack, 1.0F)); for (ServerPlayer player : this.level().getEntitiesOfClass(ServerPlayer.class, getBoundingBox().inflate(16.0D, 16.0D, 16.0D))) { TFAdvancements.QUEST_RAM_COMPLETED.get().trigger(player); @@ -152,11 +152,6 @@ public InteractionResult interactAt(Player player, Vec3 vec, InteractionHand han } } - @Override - public AABB getBoundingBoxForCulling() { - return super.getBoundingBoxForCulling().inflate(3.0D); - } - public boolean tryAccept(ItemStack stack) { for (var questEntry : TwilightForestMod.getQuests().getQuestingRam().questItems().entrySet()) { if (questEntry.getValue().test(stack)) { @@ -221,7 +216,7 @@ private void animateAddColor(DyeColor color, int iterations) { ParticlePacket packet = new ParticlePacket(); for (int i = 0; i < iterations; i++) { - packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, FastColor.ARGB32.red(colorVal), FastColor.ARGB32.green(colorVal), FastColor.ARGB32.blue(colorVal)), false, + packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, colorVal), false, this.getX() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, this.getY() + this.getRandom().nextDouble() * this.getBbHeight() * 1.5D, this.getZ() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, diff --git a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java index bf3067459c..dd7f1f502e 100644 --- a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java +++ b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java @@ -1,13 +1,12 @@ package twilightforest.entity.passive.quest; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.mojang.serialization.JsonOps; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; +import net.minecraft.util.ExtraCodecs; import net.minecraft.util.profiling.ProfilerFiller; import org.jetbrains.annotations.ApiStatus; import twilightforest.TwilightForestMod; @@ -15,13 +14,12 @@ import java.util.Map; -public class QuestReloadListener extends SimpleJsonResourceReloadListener { +public class QuestReloadListener extends SimpleJsonResourceReloadListener { - private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); private QuestingRamContext ram = QuestingRamContext.FALLBACK; public QuestReloadListener() { - super(GSON, "twilight/quests"); + super(ExtraCodecs.JSON, "twilight/quests"); } @Override diff --git a/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java b/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java index 60aaccf793..9a886bfa19 100644 --- a/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java +++ b/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java @@ -36,7 +36,7 @@ public record QuestingRamContext(Map questItems, ResourceK TFLootTables.QUESTING_RAM_REWARDS); public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Codec.unboundedMap(DyeColor.CODEC, Ingredient.CODEC_NONEMPTY).validate(QuestingRamContext::validate).fieldOf("items").forGetter(QuestingRamContext::questItems), + Codec.unboundedMap(DyeColor.CODEC, Ingredient.CODEC).validate(QuestingRamContext::validate).fieldOf("items").forGetter(QuestingRamContext::questItems), ResourceKey.codec(Registries.LOOT_TABLE).fieldOf("reward").forGetter(QuestingRamContext::lootTable) ).apply(instance, QuestingRamContext::new)); diff --git a/src/main/java/twilightforest/init/TFBlockEntities.java b/src/main/java/twilightforest/init/TFBlockEntities.java index 8eed089f51..2b399dd9dc 100644 --- a/src/main/java/twilightforest/init/TFBlockEntities.java +++ b/src/main/java/twilightforest/init/TFBlockEntities.java @@ -9,105 +9,63 @@ import twilightforest.block.entity.bookshelf.ChiseledCanopyShelfBlockEntity; import twilightforest.block.entity.spawner.*; -@SuppressWarnings("DataFlowIssue") public class TFBlockEntities { public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, TwilightForestMod.ID); - public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> - BlockEntityType.Builder.of(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> - BlockEntityType.Builder.of(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> - BlockEntityType.Builder.of(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get()).build(null)); - public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> - BlockEntityType.Builder.of(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> - BlockEntityType.Builder.of(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get()).build(null)); - public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> - BlockEntityType.Builder.of(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> - BlockEntityType.Builder.of(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> - BlockEntityType.Builder.of(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> - BlockEntityType.Builder.of(TrophyBlockEntity::new, TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), - TFBlocks.HYDRA_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.ALPHA_YETI_TROPHY.get(), - TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), - TFBlocks.MINOSHROOM_WALL_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), - TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> - BlockEntityType.Builder.of(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> - BlockEntityType.Builder.of(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> - BlockEntityType.Builder.of(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> - BlockEntityType.Builder.of(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> - BlockEntityType.Builder.of(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> - BlockEntityType.Builder.of(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> - BlockEntityType.Builder.of(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> - BlockEntityType.Builder.of(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> - BlockEntityType.Builder.of(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> - BlockEntityType.Builder.of(CicadaBlockEntity::new, TFBlocks.CICADA.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> - BlockEntityType.Builder.of(FireflyBlockEntity::new, TFBlocks.FIREFLY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> - BlockEntityType.Builder.of(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SKULL_CHEST = BLOCK_ENTITIES.register("skull_chest", () -> - BlockEntityType.Builder.of(KeepsakeCasketBlockEntity::createSkullChestBE, TFBlocks.SKULL_CHEST.value()).build(null)); - public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> - BlockEntityType.Builder.of(KeepsakeCasketBlockEntity::createKeepsakeCasketBE, TFBlocks.KEEPSAKE_CASKET.get()).build(null)); - public static final DeferredHolder, BlockEntityType> BRAZIER = BLOCK_ENTITIES.register("brazier", () -> - BlockEntityType.Builder.of(BrazierBlockEntity::new, TFBlocks.BRAZIER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> - BlockEntityType.Builder.of(TFChestBlockEntity::new, - TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.MANGROVE_CHEST.get(), - TFBlocks.DARK_CHEST.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TRANSFORMATION_CHEST.get(), - TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> - BlockEntityType.Builder.of(TFTrappedChestBlockEntity::new, - TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), - TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), - TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> - BlockEntityType.Builder.of(SkullCandleBlockEntity::new, - TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), - TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), - TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), - TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), - TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), - TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> - BlockEntityType.Builder.of(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> - BlockEntityType.Builder.of(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> - BlockEntityType.Builder.of(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> - BlockEntityType.Builder.of(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> - BlockEntityType.Builder.of(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> - BlockEntityType.Builder.of(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SINISTER_SPAWNER = BLOCK_ENTITIES.register("sinister_spawner", () -> - BlockEntityType.Builder.of(SinisterSpawnerBlockEntity::new, TFBlocks.SINISTER_SPAWNER.get()).build(null)); + public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> new BlockEntityType<>(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get())); + public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> new BlockEntityType<>(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get())); + public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> new BlockEntityType<>(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get())); + public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> new BlockEntityType<>(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get())); + public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> new BlockEntityType<>(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get())); + public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> new BlockEntityType<>(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get())); + public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> new BlockEntityType<>(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get())); + public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> new BlockEntityType<>(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get())); + public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> new BlockEntityType<>(TrophyBlockEntity::new, TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), + TFBlocks.HYDRA_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.ALPHA_YETI_TROPHY.get(), + TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), + TFBlocks.MINOSHROOM_WALL_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), + TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get())); + public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> new BlockEntityType<>(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> new BlockEntityType<>(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> new BlockEntityType<>(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> new BlockEntityType<>(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> new BlockEntityType<>(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> new BlockEntityType<>(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> new BlockEntityType<>(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> new BlockEntityType<>(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> new BlockEntityType<>(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get())); + + public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> new BlockEntityType<>(CicadaBlockEntity::new, TFBlocks.CICADA.get())); + public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> new BlockEntityType<>(FireflyBlockEntity::new, TFBlocks.FIREFLY.get())); + public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> new BlockEntityType<>(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get())); + + public static final DeferredHolder, BlockEntityType> SKULL_CHEST = BLOCK_ENTITIES.register("skull_chest", () -> new BlockEntityType<>(KeepsakeCasketBlockEntity::createSkullChestBE, TFBlocks.SKULL_CHEST.value())); + public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> new BlockEntityType<>(KeepsakeCasketBlockEntity::createKeepsakeCasketBE, TFBlocks.KEEPSAKE_CASKET.get())); + public static final DeferredHolder, BlockEntityType> BRAZIER = BLOCK_ENTITIES.register("brazier", () -> new BlockEntityType<>(BrazierBlockEntity::new, TFBlocks.BRAZIER.get())); + public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> new BlockEntityType<>(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get())); + public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> new BlockEntityType<>(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get())); + public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> new BlockEntityType<>(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get())); + public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> new BlockEntityType<>(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get())); + public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> new BlockEntityType<>(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get())); + public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> new BlockEntityType<>(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get())); + public static final DeferredHolder, BlockEntityType> SINISTER_SPAWNER = BLOCK_ENTITIES.register("sinister_spawner", () -> new BlockEntityType<>(SinisterSpawnerBlockEntity::new, TFBlocks.SINISTER_SPAWNER.get())); + + public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> new BlockEntityType<>(TFChestBlockEntity::new, + TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.MANGROVE_CHEST.get(), + TFBlocks.DARK_CHEST.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TRANSFORMATION_CHEST.get(), + TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get())); + + public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> new BlockEntityType<>(TFTrappedChestBlockEntity::new, + TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), + TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), + TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get())); + + public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> new BlockEntityType<>(SkullCandleBlockEntity::new, + TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), + TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), + TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), + TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), + TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), + TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get())); } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 646255f9c7..b8cacf93e8 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -66,8 +66,8 @@ public class TFBlocks { public static final DeferredBlock ROPE = register("rope", RopeBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOff().noOcclusion().pushReaction(PushReaction.DESTROY).sound(SoundType.WOOL).strength(0.3F, 3.0F)); public static final DeferredBlock CANOPY_WINDOW = registerWithItem("canopy_window", TransparentBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false)); public static final DeferredBlock CANOPY_WINDOW_PANE = registerWithItem("canopy_window_pane", IronBarsBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion()); - public static final DeferredBlock SINISTER_SPAWNER = register("sinister_spawner", () -> new SinisterSpawnerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable())); - public static final DeferredBlock BRAZIER = register("brazier", () -> new BrazierBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOD).lightLevel(state -> state.getValue(BrazierBlock.HALF) == DoubleBlockHalf.UPPER ? state.getValue(BrazierBlock.LIGHT).getLight() : 0).pushReaction(PushReaction.DESTROY))); + public static final DeferredBlock SINISTER_SPAWNER = registerWithItem("sinister_spawner", SinisterSpawnerBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable()); + public static final DeferredBlock BRAZIER = register("brazier", BrazierBlock::new, () -> BlockBehaviour.Properties.of().sound(SoundType.WOOD).lightLevel(state -> state.getValue(BrazierBlock.HALF) == DoubleBlockHalf.UPPER ? state.getValue(BrazierBlock.LIGHT).getLight() : 0).pushReaction(PushReaction.DESTROY)); //naga courtyard public static final DeferredBlock NAGASTONE_HEAD = registerWithItem("nagastone_head", TFHorizontalBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); @@ -89,7 +89,8 @@ public class TFBlocks { //lich tower public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(50.0F, 1200.0F)); + public static final DeferredBlock SKULL_CHEST = register("skull_chest", SkullChestBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_LIGHT_GRAY).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(3.0F, 100.0F)); + public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 1200.0F)); public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); @@ -109,7 +110,7 @@ public class TFBlocks { public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); public static final DeferredBlock TERRORCOTTA_LINES = registerWithItem("terrorcotta_lines", BinaryRotatedBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final DeferredBlock CORONATION_CARPET = register("coronation_carpet", () -> new WoolCarpetBlock(DyeColor.RED, BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always))); + public static final DeferredBlock CORONATION_CARPET = register("coronation_carpet", properties -> new WoolCarpetBlock(DyeColor.RED, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); //labyrinth public static final DeferredBlock MAZESTONE = registerWithItem("mazestone", Block::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F)); diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index ad824105bd..21b25788e3 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -41,30 +41,31 @@ public class TFItems { public static final DeferredItem ZOMBIE_SCEPTER = register("zombie_scepter", ZombieWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); public static final DeferredItem FORTIFICATION_SCEPTER = register("fortification_scepter", FortificationWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); public static final DeferredItem EXANIMATE_ESSENCE = register("exanimate_essence", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem WROUGHT_IRON_BAR =register("wrought_iron_bar", Item::new, Item.Properties::new); //items.register("Wand of Pacification [NYI]", new Item().setIconIndex(6).setTranslationKey("wandPacification").setMaxStackSize(1)); - public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, () -> new Item.Properties()); + public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, Item.Properties::new); public static final DeferredItem ORE_METER = register("ore_meter", OreMeterItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); - public static final DeferredItem FILLED_MAGIC_MAP = register("filled_magic_map", MagicMapItem::new, () -> new Item.Properties()); - public static final DeferredItem FILLED_MAZE_MAP = register("filled_maze_map", properties -> new MazeMapItem(false, properties), () -> new Item.Properties()); - public static final DeferredItem FILLED_ORE_MAP = register("filled_ore_map", properties -> new MazeMapItem(true, properties), () -> new Item.Properties()); - public static final DeferredItem RAVEN_FEATHER = register("raven_feather", Item::new, () -> new Item.Properties()); - public static final DeferredItem MAGIC_MAP_FOCUS = register("magic_map_focus", Item::new, () -> new Item.Properties()); - public static final DeferredItem MAZE_MAP_FOCUS = register("maze_map_focus", Item::new, () -> new Item.Properties()); - public static final DeferredItem MAGIC_MAP = register("magic_map", EmptyMagicMapItem::new, () -> new Item.Properties()); - public static final DeferredItem MAZE_MAP = register("maze_map", properties -> new EmptyMazeMapItem(false, properties), () -> new Item.Properties()); - public static final DeferredItem ORE_MAP = register("ore_map", properties -> new EmptyMazeMapItem(true, properties), () -> new Item.Properties()); - public static final DeferredItem LIVEROOT = register("liveroot", Item::new, () -> new Item.Properties()); - public static final DeferredItem RAW_IRONWOOD = register("raw_ironwood", Item::new, () -> new Item.Properties()); - public static final DeferredItem IRONWOOD_INGOT = register("ironwood_ingot", Item::new, () -> new Item.Properties()); + public static final DeferredItem FILLED_MAGIC_MAP = register("filled_magic_map", MagicMapItem::new, Item.Properties::new); + public static final DeferredItem FILLED_MAZE_MAP = register("filled_maze_map", properties -> new MazeMapItem(false, properties), Item.Properties::new); + public static final DeferredItem FILLED_ORE_MAP = register("filled_ore_map", properties -> new MazeMapItem(true, properties), Item.Properties::new); + public static final DeferredItem RAVEN_FEATHER = register("raven_feather", Item::new, Item.Properties::new); + public static final DeferredItem MAGIC_MAP_FOCUS = register("magic_map_focus", Item::new, Item.Properties::new); + public static final DeferredItem MAZE_MAP_FOCUS = register("maze_map_focus", Item::new, Item.Properties::new); + public static final DeferredItem MAGIC_MAP = register("magic_map", EmptyMagicMapItem::new, Item.Properties::new); + public static final DeferredItem MAZE_MAP = register("maze_map", properties -> new EmptyMazeMapItem(false, properties), Item.Properties::new); + public static final DeferredItem ORE_MAP = register("ore_map", properties -> new EmptyMazeMapItem(true, properties), Item.Properties::new); + public static final DeferredItem LIVEROOT = register("liveroot", Item::new, Item.Properties::new); + public static final DeferredItem RAW_IRONWOOD = register("raw_ironwood", Item::new, Item.Properties::new); + public static final DeferredItem IRONWOOD_INGOT = register("ironwood_ingot", Item::new, Item.Properties::new); public static final DeferredItem IRONWOOD_HELMET = register("ironwood_helmet", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.HELMET, properties), () -> new Item.Properties().durability(ArmorType.HELMET.getDurability(20))); public static final DeferredItem IRONWOOD_CHESTPLATE = register("ironwood_chestplate", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(20))); public static final DeferredItem IRONWOOD_LEGGINGS = register("ironwood_leggings", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(20))); public static final DeferredItem IRONWOOD_BOOTS = register("ironwood_boots", properties -> new ArmorItem(TFArmorMaterials.IRONWOOD, ArmorType.BOOTS, properties), () -> new Item.Properties().durability(ArmorType.BOOTS.getDurability(20))); - public static final DeferredItem IRONWOOD_SWORD = register("ironwood_sword", properties -> new SwordItem(TFToolMaterials.IRONWOOD, 3.0F, -2.4F, properties), () -> new Item.Properties()); - public static final DeferredItem IRONWOOD_SHOVEL = register("ironwood_shovel", properties -> new ShovelItem(TFToolMaterials.IRONWOOD, 1.5F, -3.0F, properties), () -> new Item.Properties()); - public static final DeferredItem IRONWOOD_PICKAXE = register("ironwood_pickaxe", properties -> new PickaxeItem(TFToolMaterials.IRONWOOD, 1.0F, -2.8F, properties), () -> new Item.Properties()); - public static final DeferredItem IRONWOOD_AXE = register("ironwood_axe", properties -> new AxeItem(TFToolMaterials.IRONWOOD, 6.0F, -3.1F, properties), () -> new Item.Properties()); - public static final DeferredItem IRONWOOD_HOE = register("ironwood_hoe", properties -> new HoeItem(TFToolMaterials.IRONWOOD, -2, -1.0F, properties), () -> new Item.Properties()); + public static final DeferredItem IRONWOOD_SWORD = register("ironwood_sword", properties -> new SwordItem(TFToolMaterials.IRONWOOD, 3.0F, -2.4F, properties), Item.Properties::new); + public static final DeferredItem IRONWOOD_SHOVEL = register("ironwood_shovel", properties -> new ShovelItem(TFToolMaterials.IRONWOOD, 1.5F, -3.0F, properties), Item.Properties::new); + public static final DeferredItem IRONWOOD_PICKAXE = register("ironwood_pickaxe", properties -> new PickaxeItem(TFToolMaterials.IRONWOOD, 1.0F, -2.8F, properties), Item.Properties::new); + public static final DeferredItem IRONWOOD_AXE = register("ironwood_axe", properties -> new AxeItem(TFToolMaterials.IRONWOOD, 6.0F, -3.1F, properties), Item.Properties::new); + public static final DeferredItem IRONWOOD_HOE = register("ironwood_hoe", properties -> new HoeItem(TFToolMaterials.IRONWOOD, -2, -1.0F, properties), Item.Properties::new); public static final DeferredItem TORCHBERRIES = register("torchberries", Item::new, () -> new Item.Properties().food(TFFoods.TORCHBERRIES, TFConsumables.TORCHBERRIES)); public static final DeferredItem RAW_VENISON = register("raw_venison", Item::new, () -> new Item.Properties().food(TFFoods.RAW_VENISON)); public static final DeferredItem COOKED_VENISON = register("cooked_venison", Item::new, () -> new Item.Properties().food(TFFoods.VENISON_STEAK)); @@ -78,20 +79,20 @@ public class TFItems { public static final DeferredItem FIERY_BOOTS = register("fiery_boots", properties -> new FieryArmorItem(TFArmorMaterials.FIERY, ArmorType.BOOTS, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); public static final DeferredItem FIERY_SWORD = register("fiery_sword", properties -> new FierySwordItem(TFToolMaterials.FIERY, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); public static final DeferredItem FIERY_PICKAXE = register("fiery_pickaxe", properties -> new FieryPickItem(TFToolMaterials.FIERY, properties), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem STEELEAF_INGOT = register("steeleaf_ingot", Item::new, () -> new Item.Properties()); - public static final DeferredItem STEELEAF_HELMET = register("steeleaf_helmet", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.HELMET, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_CHESTPLATE = register("steeleaf_chestplate", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_LEGGINGS = register("steeleaf_leggings", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.LEGGINGS, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_BOOTS = register("steeleaf_boots", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.BOOTS, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_SWORD = register("steeleaf_sword", properties -> new SwordItem(TFToolMaterials.STEELEAF, 3.0F, -2.4F, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_SHOVEL = register("steeleaf_shovel", properties -> new ShovelItem(TFToolMaterials.STEELEAF, 1.5F, -3.0F, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_PICKAXE = register("steeleaf_pickaxe", properties -> new PickaxeItem(TFToolMaterials.STEELEAF, 1.0F, -2.8F, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_AXE = register("steeleaf_axe", properties -> new AxeItem(TFToolMaterials.STEELEAF, 6.0F, -3.0F, properties), () -> new Item.Properties()); - public static final DeferredItem STEELEAF_HOE = register("steeleaf_hoe", properties -> new HoeItem(TFToolMaterials.STEELEAF, -3.0F, -0.5F, properties), () -> new Item.Properties()); - public static final DeferredItem GOLDEN_MINOTAUR_AXE = register("gold_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.GOLD, properties), () -> new Item.Properties()); + public static final DeferredItem STEELEAF_INGOT = register("steeleaf_ingot", Item::new, Item.Properties::new); + public static final DeferredItem STEELEAF_HELMET = register("steeleaf_helmet", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.HELMET, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_CHESTPLATE = register("steeleaf_chestplate", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.CHESTPLATE, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_LEGGINGS = register("steeleaf_leggings", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.LEGGINGS, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_BOOTS = register("steeleaf_boots", properties -> new ArmorItem(TFArmorMaterials.STEELEAF, ArmorType.BOOTS, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_SWORD = register("steeleaf_sword", properties -> new SwordItem(TFToolMaterials.STEELEAF, 3.0F, -2.4F, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_SHOVEL = register("steeleaf_shovel", properties -> new ShovelItem(TFToolMaterials.STEELEAF, 1.5F, -3.0F, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_PICKAXE = register("steeleaf_pickaxe", properties -> new PickaxeItem(TFToolMaterials.STEELEAF, 1.0F, -2.8F, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_AXE = register("steeleaf_axe", properties -> new AxeItem(TFToolMaterials.STEELEAF, 6.0F, -3.0F, properties), Item.Properties::new); + public static final DeferredItem STEELEAF_HOE = register("steeleaf_hoe", properties -> new HoeItem(TFToolMaterials.STEELEAF, -3.0F, -0.5F, properties), Item.Properties::new); + public static final DeferredItem GOLDEN_MINOTAUR_AXE = register("gold_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.GOLD, properties), Item.Properties::new); public static final DeferredItem DIAMOND_MINOTAUR_AXE = register("diamond_minotaur_axe", properties -> new MinotaurAxeItem(ToolMaterial.DIAMOND, properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem MAZEBREAKER_PICKAXE = register("mazebreaker_pickaxe", properties -> new MazebreakerPickItem(ToolMaterial.DIAMOND, properties), () -> new Item.Properties().rarity(Rarity.RARE)); - public static final DeferredItem TRANSFORMATION_POWDER = register("transformation_powder", TransformPowderItem::new, () -> new Item.Properties()); + public static final DeferredItem TRANSFORMATION_POWDER = register("transformation_powder", TransformPowderItem::new, Item.Properties::new); public static final DeferredItem RAW_MEEF = register("raw_meef", Item::new, () -> new Item.Properties().food(TFFoods.RAW_MEEF)); public static final DeferredItem COOKED_MEEF = register("cooked_meef", Item::new, () -> new Item.Properties().food(TFFoods.MEEF_STEAK)); public static final DeferredItem MEEF_STROGANOFF = register("meef_stroganoff", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().food(TFFoods.MEEF_STROGANOFF).usingConvertsTo(Items.BOWL)); @@ -108,32 +109,32 @@ public class TFItems { public static final DeferredItem CHARM_OF_KEEPING_2 = register("charm_of_keeping_2", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem CHARM_OF_KEEPING_3 = register("charm_of_keeping_3", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem TOWER_KEY = register("tower_key", Item::new, () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); - public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, () -> new Item.Properties()); - public static final DeferredItem CARMINITE = register("carminite", Item::new, () -> new Item.Properties()); + public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, Item.Properties::new); + public static final DeferredItem CARMINITE = register("carminite", Item::new, Item.Properties::new); public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), () -> new Item.Properties().food(TFFoods.EXPERIMENT_115)); - public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), () -> new Item.Properties()); - public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), () -> new Item.Properties()); - public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), () -> new Item.Properties()); - public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), () -> new Item.Properties()); - public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, () -> new Item.Properties()); - public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), () -> new Item.Properties()); - public static final DeferredItem KNIGHTMETAL_RING = register("knightmetal_ring", Item::new, () -> new Item.Properties()); + public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), Item.Properties::new); + public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), Item.Properties::new); + public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), Item.Properties::new); + public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), Item.Properties::new); + public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, Item.Properties::new); + public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_RING = register("knightmetal_ring", Item::new, Item.Properties::new); public static final DeferredItem KNIGHTMETAL_SHIELD = register("knightmetal_shield", KnightmetalShieldItem::new, () -> new Item.Properties().durability(1024)); public static final DeferredItem BLOCK_AND_CHAIN = register("block_and_chain", ChainBlockItem::new, () -> new Item.Properties().durability(99)); public static final DeferredItem PHANTOM_HELMET = register("phantom_helmet", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.HELMET, properties), () -> new Item.Properties().durability(ArmorType.HELMET.getDurability(30)).rarity(Rarity.UNCOMMON)); public static final DeferredItem PHANTOM_CHESTPLATE = register("phantom_chestplate", properties -> new PhantomArmorItem(TFArmorMaterials.PHANTOM, ArmorType.CHESTPLATE, properties), () -> new Item.Properties().durability(ArmorType.CHESTPLATE.getDurability(30)).rarity(Rarity.UNCOMMON)); public static final DeferredItem ICE_BOMB = register("ice_bomb", IceBombItem::new, () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem ARCTIC_FUR = register("arctic_fur", Item::new, () -> new Item.Properties()); - public static final DeferredItem ARCTIC_HELMET = register("arctic_helmet", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.HELMET, properties), () -> new Item.Properties()); - public static final DeferredItem ARCTIC_CHESTPLATE = register("arctic_chestplate", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.CHESTPLATE, properties), () -> new Item.Properties()); + public static final DeferredItem ARCTIC_FUR = register("arctic_fur", Item::new, Item.Properties::new); + public static final DeferredItem ARCTIC_HELMET = register("arctic_helmet", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.HELMET, properties), Item.Properties::new); + public static final DeferredItem ARCTIC_CHESTPLATE = register("arctic_chestplate", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.CHESTPLATE, properties), Item.Properties::new); public static final DeferredItem ARCTIC_LEGGINGS = register("arctic_leggings", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.LEGGINGS, properties), () -> new Item.Properties().durability(ArmorType.LEGGINGS.getDurability(10))); public static final DeferredItem ARCTIC_BOOTS = register("arctic_boots", properties -> new ArcticArmorItem(TFArmorMaterials.ARCTIC, ArmorType.BOOTS, properties), () -> new Item.Properties().durability(ArmorType.BOOTS.getDurability(10))); public static final DeferredItem ALPHA_YETI_FUR = register("alpha_yeti_fur", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); @@ -145,9 +146,9 @@ public class TFItems { public static final DeferredItem SEEKER_BOW = register("seeker_bow", SeekerBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); public static final DeferredItem ICE_BOW = register("ice_bow", IceBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); public static final DeferredItem ENDER_BOW = register("ender_bow", EnderBowItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).durability(384)); - public static final DeferredItem ICE_SWORD = register("ice_sword", properties -> new IceSwordItem(TFToolMaterials.ICE, properties), () -> new Item.Properties()); + public static final DeferredItem ICE_SWORD = register("ice_sword", properties -> new IceSwordItem(TFToolMaterials.ICE, properties), Item.Properties::new); public static final DeferredItem GLASS_SWORD = register("glass_sword", properties -> new GlassSwordItem(TFToolMaterials.GLASS, 3, -2.4F, properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MAGIC_BEANS = register("magic_beans", MagicBeansItem::new, () -> new Item.Properties()); + public static final DeferredItem MAGIC_BEANS = register("magic_beans", MagicBeansItem::new, Item.Properties::new); public static final DeferredItem GIANT_PICKAXE = register("giant_pickaxe", properties -> new GiantPickItem(TFToolMaterials.GIANT, properties), () -> new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 8, -3.5F))); public static final DeferredItem GIANT_SWORD = register("giant_sword", properties -> new SwordItem(TFToolMaterials.GIANT, 10, -3.5F, properties), () -> new Item.Properties().attributes(GiantPickItem.createGiantAttributes(TFToolMaterials.GIANT, 10, -3.5F))); public static final DeferredItem LAMP_OF_CINDERS = register("lamp_of_cinders", LampOfCindersItem::new, () -> new Item.Properties().fireResistant().durability(1024).rarity(Rarity.UNCOMMON)); @@ -156,13 +157,13 @@ public class TFItems { public static final DeferredItem MOON_DIAL = register("moon_dial", MoonDialItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem POCKET_WATCH = register("pocket_watch", PocketWatchItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); public static final DeferredItem EMPERORS_CLOTH = register("emperors_cloth", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, () -> new Item.Properties()); + public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, Item.Properties::new); public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); - public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), () -> new Item.Properties()); - public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), () -> new Item.Properties()); - public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), () -> new Item.Properties()); + public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), Item.Properties::new); + public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), Item.Properties::new); + public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), Item.Properties::new); public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); @@ -181,25 +182,25 @@ public class TFItems { public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties()); - public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> new Item.Properties()); + public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), Item.Properties::new); public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); diff --git a/src/main/java/twilightforest/item/FortificationWandItem.java b/src/main/java/twilightforest/item/FortificationWandItem.java index 60ed6d55a0..fa522d217c 100644 --- a/src/main/java/twilightforest/item/FortificationWandItem.java +++ b/src/main/java/twilightforest/item/FortificationWandItem.java @@ -46,7 +46,7 @@ public InteractionResult use(Level level, Player player, @Nonnull InteractionHan if (!player.isCreative()) player.getCooldowns().addCooldown(stack, 1200); - return InteractionResultHolder.success(stack); + return InteractionResult.SUCCESS; } @Override diff --git a/src/main/java/twilightforest/item/MysticCrownItem.java b/src/main/java/twilightforest/item/MysticCrownItem.java deleted file mode 100644 index 44f3abda5a..0000000000 --- a/src/main/java/twilightforest/item/MysticCrownItem.java +++ /dev/null @@ -1,27 +0,0 @@ -package twilightforest.item; - -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Equipable; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; - -public class MysticCrownItem extends Item implements Equipable { - - public MysticCrownItem(Properties properties) { - super(properties); - } - - @Override - public EquipmentSlot getEquipmentSlot() { - return EquipmentSlot.HEAD; - } - - @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - return this.swapWithEquipmentSlot(this, level, player, hand); - } -} diff --git a/src/main/java/twilightforest/item/TwilightWandItem.java b/src/main/java/twilightforest/item/TwilightWandItem.java index 8e1b1dfd77..21134ae20b 100644 --- a/src/main/java/twilightforest/item/TwilightWandItem.java +++ b/src/main/java/twilightforest/item/TwilightWandItem.java @@ -6,6 +6,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; diff --git a/src/main/java/twilightforest/item/ZombieWandItem.java b/src/main/java/twilightforest/item/ZombieWandItem.java index a61bfb38f1..1c16d46f49 100644 --- a/src/main/java/twilightforest/item/ZombieWandItem.java +++ b/src/main/java/twilightforest/item/ZombieWandItem.java @@ -8,6 +8,7 @@ import net.minecraft.world.InteractionResult; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java b/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java index 7823b821be..b1fb26d959 100644 --- a/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/ScepterRepairRecipe.java @@ -4,7 +4,6 @@ import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.HolderLookup; -import net.minecraft.core.NonNullList; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.network.RegistryFriendlyByteBuf; @@ -95,17 +94,7 @@ public Item getScepter() { } @Override - public NonNullList getIngredients() { - return NonNullList.copyOf(this.repairItems); - } - - @Override - public boolean canCraftInDimensions(int width, int height) { - return this.repairItems.size() + 1 > width * height; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.SCEPTER_REPAIR_RECIPE.get(); } @@ -113,7 +102,7 @@ public static class Serializer implements RecipeSerializer public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( BuiltInRegistries.ITEM.byNameCodec().fieldOf("scepter").forGetter(o -> o.scepter), - Ingredient.CODEC_NONEMPTY.listOf().fieldOf("repair_ingredients").forGetter(o -> o.repairItems), + Ingredient.CODEC.listOf().fieldOf("repair_ingredients").forGetter(o -> o.repairItems), Codec.INT.fieldOf("durability").forGetter(o -> o.durability), CraftingBookCategory.CODEC.optionalFieldOf("category", CraftingBookCategory.MISC).forGetter(CustomRecipe::category) ).apply(instance, ScepterRepairRecipe::new) diff --git a/src/main/java/twilightforest/network/MagicMapPacket.java b/src/main/java/twilightforest/network/MagicMapPacket.java index ad62725f8a..9df0972a54 100644 --- a/src/main/java/twilightforest/network/MagicMapPacket.java +++ b/src/main/java/twilightforest/network/MagicMapPacket.java @@ -1,7 +1,7 @@ package twilightforest.network; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.MapRenderer; +import net.minecraft.client.renderer.MapRenderer; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -38,7 +38,7 @@ public static void handle(MagicMapPacket message, IPayloadContext ctx) { public void run() { Level level = ctx.player().level(); // [VanillaCopy] ClientPacketListener#handleMapItemData with our own mapdatas - MapRenderer mapitemrenderer = Minecraft.getInstance().gameRenderer.getMapRenderer(); + MapRenderer mapitemrenderer = Minecraft.getInstance().getMapRenderer(); String s = MagicMapItem.getMapName(message.inner.mapId().id()); TFMagicMapData mapdata = TFMagicMapData.getMagicMapData(level, s); if (mapdata == null) { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java index 2dc762a27e..474ac3c4d0 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java @@ -11,6 +11,7 @@ import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.ServerLevelAccessor; @@ -229,7 +230,7 @@ private static LichPerimeterFence generateUntilNearDest(StructureTemplateManager BlockPos directionOffset = destPos.subtract(checkPos); // Rotate to test for orthogonality via dot product (to check if dot() == 0) - var targetDirecton = turn.rotate(first.orientation().top()).getNormal(); + var targetDirecton = turn.rotate(first.orientation().top()).getUnitVec3i(); // 0 from (horizontal) dot product means orthogonal, can approach from a right-angle turn now if (directionOffset.getX() * targetDirecton.getX() + directionOffset.getZ() * targetDirecton.getZ() == 0) @@ -335,7 +336,7 @@ public void postProcess(WorldGenLevel level, StructureManager structureManager, @Nullable private static T createEntityIgnoreException(ServerLevelAccessor level, EntityType type) { try { - return type.create(level.getLevel()); + return type.create(level.getLevel(), EntitySpawnReason.STRUCTURE); } catch (Exception exception) { return null; } diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java index 3ece536c1c..76e6fa8841 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerRoomDecor.java @@ -70,7 +70,7 @@ protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, case "tree" -> { ResourceKey> randomTree = TFStructureHelper.randomTree(random.nextInt(4)); Registry> featureRegistry = level.registryAccess().lookupOrThrow(Registries.CONFIGURED_FEATURE); - if (!featureRegistry.get(randomTree).place(level, chunkGen, random, pos)) { + if (featureRegistry.get(randomTree).isEmpty() || !featureRegistry.get(randomTree).get().value().place(level, chunkGen, random, pos)) { level.setBlock(pos, TFStructureHelper.randomPlant(random), Block.UPDATE_CLIENTS); } } diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java index fd53dcd5f6..df3a330e98 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java @@ -23,7 +23,6 @@ import net.minecraft.world.entity.Display; import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -577,7 +576,7 @@ private void putMasonJar(BlockPos pos, WorldGenLevel level, RandomSource random, }; if (!jarEntity.fillFromLootTable(lootTableId, random.nextLong(), level.getLevel())) { ResourceLocation itemId = ResourceLocation.bySeparator(label, '.'); - jarEntity.getItemHandler().setItem(new ItemStack(level.registryAccess().registry(Registries.ITEM).>map(reg -> reg::get).orElse($ -> Items.AIR).apply(itemId))); + jarEntity.getItemHandler().setItem(new ItemStack(level.registryAccess().lookup(Registries.ITEM).>map(reg -> reg::getValue).orElse(rl -> Items.AIR).apply(itemId))); } int itemRotation = this.placeSettings.getRotation().ordinal() * 4 + (parameters.length == 3 ? this.getHeadRotation(parameters[2], random) : 0); jarEntity.setItemRotation(Math.floorMod(itemRotation, 16)); From f970b099584bcafc1922de6808fa68419affbd90 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 7 Jan 2025 23:33:53 -0700 Subject: [PATCH 043/239] fix last compile errors, get game to running state --- .../java/twilightforest/client/TFShaders.java | 4 ++-- .../client/TextureGeneratorReloadListener.java | 18 ++++++++++-------- .../client/event/RegistrationEvents.java | 7 +++++-- .../client/model/armor/YetiArmorModel.java | 2 +- .../client/model/entity/AdherentModel.java | 4 ++-- .../client/model/entity/AlphaYetiModel.java | 4 ++-- .../model/entity/BlockChainGoblinModel.java | 8 ++------ .../model/entity/KnightPhantomModel.java | 6 +++--- .../client/model/entity/KoboldModel.java | 4 ++-- .../client/model/entity/LichModel.java | 2 +- .../model/entity/LowerGoblinKnightModel.java | 8 ++++---- .../client/model/entity/MinoshroomModel.java | 2 +- .../client/model/entity/MinotaurModel.java | 6 +++--- .../client/model/entity/RedcapModel.java | 8 ++++---- .../client/model/entity/SnowQueenModel.java | 8 +++----- .../client/model/entity/TrollModel.java | 6 +++--- .../model/entity/UpperGoblinKnightModel.java | 4 ++-- .../client/model/entity/YetiModel.java | 4 ++-- .../renderer/map/ConqueredMapIconRenderer.java | 8 ++++---- .../map/MagicMapPlayerIconRenderer.java | 13 +++++++------ .../events/RegistrationEvents.java | 10 ++++++++-- .../java/twilightforest/init/TFBlocks.java | 6 +++--- .../item/mapdata/TFMagicMapData.java | 5 +++++ .../twilightforest/network/MagicMapPacket.java | 4 +--- .../twilightforest/network/MazeMapPacket.java | 6 ++---- .../util/HolderMatcherTests.java | 8 ++++---- .../multiparts/MultipartEntityUtilTests.java | 12 ++++++------ 27 files changed, 92 insertions(+), 85 deletions(-) diff --git a/src/main/java/twilightforest/client/TFShaders.java b/src/main/java/twilightforest/client/TFShaders.java index f55ed39e20..3f580fe970 100644 --- a/src/main/java/twilightforest/client/TFShaders.java +++ b/src/main/java/twilightforest/client/TFShaders.java @@ -12,9 +12,9 @@ public class TFShaders { public static ShaderProgram AURORA; public static void registerShaders(RegisterShadersEvent event) { - RED_THREAD = new ShaderProgram(TwilightForestMod.prefix("red_thread/red_thread"), DefaultVertexFormat.BLOCK, ShaderDefines.EMPTY); + RED_THREAD = new ShaderProgram(TwilightForestMod.prefix("core/red_thread/red_thread"), DefaultVertexFormat.BLOCK, ShaderDefines.EMPTY); event.registerShader(RED_THREAD); - AURORA = new ShaderProgram(TwilightForestMod.prefix("aurora/aurora"), DefaultVertexFormat.POSITION_COLOR, ShaderDefines.EMPTY); + AURORA = new ShaderProgram(TwilightForestMod.prefix("core/aurora/aurora"), DefaultVertexFormat.POSITION_COLOR, ShaderDefines.EMPTY); event.registerShader(AURORA); } } diff --git a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java index e6d129180c..f4639019fe 100644 --- a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java +++ b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java @@ -7,31 +7,33 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; -import net.minecraft.world.entity.vehicle.Boat; import twilightforest.TwilightForestMod; import java.io.IOException; import java.io.InputStream; -import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicReference; public class TextureGeneratorReloadListener implements ResourceManagerReloadListener { public static final TextureGeneratorReloadListener INSTANCE = new TextureGeneratorReloadListener(); - private static final EnumMap BOAT_CACHE = new EnumMap<>(Boat.Type.class); + private static final Map BOAT_CACHE = new HashMap<>(); private static final AtomicReference ref = new AtomicReference<>(); + private static final List TF_BOATS = List.of("twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", "sorting"); @Override public void onResourceManagerReload(ResourceManager manager) { // Get a default boat chest texture - ResourceLocation oak = getTextureLocation(Boat.Type.OAK); + ResourceLocation oak = getTextureLocation(ResourceLocation.withDefaultNamespace("oak")); manager.getResource(oak).ifPresent(vanillaResource -> { try (InputStream vanillaStream = vanillaResource.open()) { NativeImage vanillaImage = NativeImage.read(vanillaStream); int defaultScale = 128; int vanillaScale = vanillaImage.getWidth() / defaultScale; - for (Boat.Type type : Boat.Type.values()) { - ResourceLocation location = getTextureLocation(type); + for (String type : TF_BOATS) { + ResourceLocation location = getTextureLocation(TwilightForestMod.prefix(type)); if (location.getNamespace().equals(TwilightForestMod.ID)) { // We only want to do this to our boats manager.getResource(location).ifPresent(tfResource -> { try (InputStream tfStream = tfResource.open()) { @@ -110,7 +112,7 @@ public void load(ResourceManager resourceManager) { ref.set(null); } - private static ResourceLocation getTextureLocation(Boat.Type type) { - return ResourceLocation.parse(type.getName()).withPrefix("textures/entity/chest_boat/").withSuffix(".png"); + private static ResourceLocation getTextureLocation(ResourceLocation texture) { + return texture.withPrefix("textures/entity/chest_boat/").withSuffix(".png"); } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 691a8c3d3b..765d8d2750 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -67,7 +67,6 @@ import twilightforest.client.model.item.TrollsteinnModel; import twilightforest.client.particle.*; import twilightforest.client.renderer.PotionFlaskTooltipComponent; -import twilightforest.client.renderer.TFSkyRenderer; import twilightforest.client.renderer.block.*; import twilightforest.client.renderer.entity.*; import twilightforest.client.renderer.entity.layers.IceLayer; @@ -77,6 +76,7 @@ import twilightforest.components.item.PotionFlaskComponent; import twilightforest.init.*; import twilightforest.item.*; +import twilightforest.item.mapdata.TFMagicMapData; import twilightforest.potions.FrostedEffect; import twilightforest.util.woods.TFWoodTypes; @@ -692,7 +692,7 @@ public static boolean isOptifinePresent() { return optifinePresent; } - public static> void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { + public static void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { event.registerEntityModifier(new TypeToken>() {}, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); event.registerEntityModifier(new TypeToken>() {}, (living, state) -> { AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); @@ -704,5 +704,8 @@ public static> void state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); }); + + event.registerMapModifier((data, state) -> state.setRenderData(TFMagicMapData.MAGIC_MAP_KEY, data instanceof TFMagicMapData)); + event.registerMapModifier((data, state) -> state.setRenderData(TFMagicMapData.CONQUERED_STRUCTURES_KEY, data instanceof TFMagicMapData map ? map.conqueredStructures : List.of())); } } diff --git a/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java b/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java index 26feb97fda..b39dd091a7 100644 --- a/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java +++ b/src/main/java/twilightforest/client/model/armor/YetiArmorModel.java @@ -20,7 +20,7 @@ public static MeshDefinition addPieces(CubeDeformation deformation) { .addBox(-4.5F, -8.0F, -4.0F, 9.0F, 8.0F, 8.0F, deformation), PartPose.ZERO); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); // add horns addPairHorns(head, 1, -8.0F, 35.0F); diff --git a/src/main/java/twilightforest/client/model/entity/AdherentModel.java b/src/main/java/twilightforest/client/model/entity/AdherentModel.java index 2ad47e6b8d..5b6cdb981a 100644 --- a/src/main/java/twilightforest/client/model/entity/AdherentModel.java +++ b/src/main/java/twilightforest/client/model/entity/AdherentModel.java @@ -17,12 +17,12 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.ZERO); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(32, 0) diff --git a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java index f58982cb4f..84c76f38e5 100644 --- a/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java +++ b/src/main/java/twilightforest/client/model/entity/AlphaYetiModel.java @@ -25,12 +25,12 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -8.0F, -4.0F, 0.0F, 0.0F, 0.0F), PartPose.ZERO); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-4.0F, -8.0F, -4.0F, 0.0F, 0.0F, 0.0F), PartPose.ZERO); diff --git a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java index a83041ae3e..210a711636 100644 --- a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java +++ b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java @@ -27,9 +27,7 @@ private static LayerDefinition create() { .addBox(0.0F, -10.0F, 0.0F, 0.0F, 0.0F, 0.0F), PartPose.offset(0.0F, 10.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - head.addOrReplaceChild("helmet", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(0, 0) .addBox(-2.5F, -8.0F, -2.5F, 5.0F, 9.0F, 5.0F), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F)); @@ -96,9 +94,7 @@ private static LayerDefinition createJappaModel() { .addBox(-7.5F, -9.0F, -2.03F, 15.0F, 10.0F, 2.0F), PartPose.offsetAndRotation(0.0F, 11.0F, 0.0F, 0.0F, -0.7853981633974483F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - head.addOrReplaceChild("helm", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(0, 5) .addBox(-2.5F, -7.0F, -2.5F, 5.0F, 8.0F, 5.0F), PartPose.rotation(0.0F, 0.7853981633974483F, 0.0F)); diff --git a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java index 2e323bb73c..7973f674c7 100644 --- a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java +++ b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java @@ -34,7 +34,7 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), + partdefinition.getChild("head").addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() @@ -65,13 +65,13 @@ public static LayerDefinition createTrophy() { PartDefinition partdefinition = meshdefinition.getRoot(); CubeDeformation deformation = new CubeDeformation(0.25F); - partdefinition.addOrReplaceChild("head", + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.offset(0.0F, -4.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); var helm = partdefinition.addOrReplaceChild("helmet", diff --git a/src/main/java/twilightforest/client/model/entity/KoboldModel.java b/src/main/java/twilightforest/client/model/entity/KoboldModel.java index d868c285b0..69cbe8089e 100644 --- a/src/main/java/twilightforest/client/model/entity/KoboldModel.java +++ b/src/main/java/twilightforest/client/model/entity/KoboldModel.java @@ -38,7 +38,7 @@ private static LayerDefinition create() { .addBox(-3.5F, -7.0F, -3.0F, 7.0F, 6.0F, 6.0F), PartPose.offset(0.0F, 13.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); head.addOrReplaceChild("right_ear", CubeListBuilder.create() .texOffs(48, 20) @@ -99,7 +99,7 @@ private static LayerDefinition createJappaModel() { .addBox(-1.5F, -3.0F, -6.0F, 3.0F, 2.0F, 3.0F), PartPose.offset(0.0F, 12.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); head.addOrReplaceChild("mouth", CubeListBuilder.create() .texOffs(26, 5) diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index ddc7773cb6..5ffb552d23 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -29,7 +29,7 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + partdefinition.getChild("head").addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-4.0F, -12.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.5F)), PartPose.ZERO); diff --git a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java index d5d032cba4..b2276008dc 100644 --- a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java @@ -26,12 +26,12 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 32) .addBox(-2.5F, -5.0F, -3.5F, 5.0F, 5.0F, 5.0F), PartPose.offset(0.0F, 10.0F, 1.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() @@ -71,12 +71,12 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 30) .addBox(-2.5F, -5.0F, -3.5F, 5.0F, 5.0F, 5.0F), PartPose.offset(0.0F, 8.0F, 1.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index df92d35113..965433fcb8 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -47,7 +47,7 @@ private static LayerDefinition create() { .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.offset(0.0F, -6.0F, -9.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); head.addOrReplaceChild("snout", CubeListBuilder.create() .texOffs(105, 28) diff --git a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java index 368b06494a..0f190a75ea 100644 --- a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java @@ -27,7 +27,7 @@ private static LayerDefinition create() { .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.offset(0.0F, 0.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); head.addOrReplaceChild("snout", CubeListBuilder.create() .texOffs(9, 12) @@ -61,7 +61,7 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -10.0F, -4.0F, 8.0F, 8.0F, 8.0F) .texOffs(25, 1) @@ -76,7 +76,7 @@ private static LayerDefinition createJappaModel() { .addBox(6.0F, -11.0F, -1.0F, 2.0F, 2.0F, 2.0F), PartPose.offset(0.0F, -2.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(34, 0) diff --git a/src/main/java/twilightforest/client/model/entity/RedcapModel.java b/src/main/java/twilightforest/client/model/entity/RedcapModel.java index d8aeab0020..e6d770e1d9 100644 --- a/src/main/java/twilightforest/client/model/entity/RedcapModel.java +++ b/src/main/java/twilightforest/client/model/entity/RedcapModel.java @@ -21,7 +21,7 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 7.0F, 7.0F) .texOffs(0, 0) @@ -34,7 +34,7 @@ private static LayerDefinition create() { .addBox(4.5F, -6.0F, -0.5F, 1.0F, 2.0F, 1.0F), PartPose.offset(0.0F, 8.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-2.0F, -8.5F, -3.0F, 4.0F, 5.0F, 7.0F), PartPose.offset(0.0F, 6.0F, 0.0F)); @@ -71,7 +71,7 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 1) .addBox(-5.5F, -6.0F, -0.5F, 2.0F, 3.0F, 0.0F) .texOffs(0, 1).mirror() @@ -80,7 +80,7 @@ private static LayerDefinition createJappaModel() { .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 7.0F, 7.0F), PartPose.offset(0.0F, 8.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(28, 0) .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 8.0F, 7.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 6.0F, 0.0F)); diff --git a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java index f4047ae24f..d07107f73f 100644 --- a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java +++ b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java @@ -35,9 +35,7 @@ private static LayerDefinition create() { .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.offset(0.0F, -4.0F, 0.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - var crown = head.addOrReplaceChild("crown", CubeListBuilder.create(), PartPose.ZERO); + var crown = head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); makeFrontCrown(crown, -1.0F, -4.0F, 10.0F, 0); makeFrontCrown(crown, 0.0F, 4.0F, -10.0F, 1); @@ -131,7 +129,7 @@ private static LayerDefinition createJappaModel() { .addBox(-4.5F, 10.0F, -2.5F, 9.0F, 14.0F, 5.0F), PartPose.ZERO); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.ZERO); @@ -156,7 +154,7 @@ private static LayerDefinition createJappaModel() { .addBox(-2.0F, -2.0F, -2.0F, 3.0F, 12.0F, 4.0F), PartPose.offset(-5.0F, 2.0F, 0.0F)); - var hat = partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + var hat = head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); hat.addOrReplaceChild("crown_front", CubeListBuilder.create() .texOffs(24, 0) diff --git a/src/main/java/twilightforest/client/model/entity/TrollModel.java b/src/main/java/twilightforest/client/model/entity/TrollModel.java index 7fd789427e..fedf3ffb2a 100644 --- a/src/main/java/twilightforest/client/model/entity/TrollModel.java +++ b/src/main/java/twilightforest/client/model/entity/TrollModel.java @@ -28,7 +28,7 @@ private static LayerDefinition create() { .addBox(-5.0F, -8.0F, -3.0F, 10.0F, 10.0F, 10.0F), PartPose.offset(0.0F, -9.0F, -6.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); head.addOrReplaceChild("nose", CubeListBuilder.create() .texOffs(0, 21) @@ -67,14 +67,14 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(52, 31) .addBox(-5.0F, -8.0F, -8.0F, 10.0F, 10.0F, 10.0F) .texOffs(36, 41) .addBox(-2.0F, -4.0F, -11.0F, 4.0F, 8.0F, 4.0F), PartPose.offset(0.0F, -11.0F, -1.0F)); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(0, 0) diff --git a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java index 9333aef159..349fb44f3c 100644 --- a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java @@ -31,10 +31,10 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create(), + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.offset(0.0F, 12.0F, 0.0F)); - var hat = partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), + var hat = head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.offset(0.0F, 12.0F, 0.0F)); hat.addOrReplaceChild("helmet", CubeListBuilder.create() diff --git a/src/main/java/twilightforest/client/model/entity/YetiModel.java b/src/main/java/twilightforest/client/model/entity/YetiModel.java index 27530d1454..abf16e2dea 100644 --- a/src/main/java/twilightforest/client/model/entity/YetiModel.java +++ b/src/main/java/twilightforest/client/model/entity/YetiModel.java @@ -31,12 +31,12 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -8.0F, -4.0F, 0.0F, 0.0F, 0.0F), PartPose.ZERO); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-4.0F, -8.0F, -4.0F, 0.0F, 0.0F, 0.0F), PartPose.ZERO); diff --git a/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java b/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java index d4f493b980..bfc7a895c7 100644 --- a/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java +++ b/src/main/java/twilightforest/client/renderer/map/ConqueredMapIconRenderer.java @@ -19,16 +19,16 @@ public class ConqueredMapIconRenderer implements IMapDecorationRenderer { - private boolean isConquered(MapItemSavedData data, MapRenderState.MapDecorationRenderState decoration) { - if (data instanceof TFMagicMapData map) { - return map.conqueredStructures.contains(MagicMapItem.makeName(decoration.type, decoration.x, decoration.y)); + private boolean isConquered(MapRenderState state, MapRenderState.MapDecorationRenderState decoration) { + if (state.getRenderData(TFMagicMapData.CONQUERED_STRUCTURES_KEY) != null && !state.getRenderData(TFMagicMapData.CONQUERED_STRUCTURES_KEY).isEmpty()) { + return state.getRenderData(TFMagicMapData.CONQUERED_STRUCTURES_KEY).contains(MagicMapItem.makeName(decoration.type, decoration.x, decoration.y)); } return false; } @Override public boolean render(MapRenderState.MapDecorationRenderState decoState, PoseStack stack, MultiBufferSource source, MapRenderState state, MapDecorationTextureManager manager, boolean inItemFrame, int light, int index) { - if (this.isConquered(mapData, decoState)) { + if (this.isConquered(state, decoState)) { stack.pushPose(); stack.translate(0.0F + decoState.x / 2.0F + 64.0F, 0.0F + decoState.y / 2.0F + 64.0F, 0.0F); stack.mulPose(Axis.ZP.rotationDegrees((decoState.rot * 360) / 16.0F)); diff --git a/src/main/java/twilightforest/client/renderer/map/MagicMapPlayerIconRenderer.java b/src/main/java/twilightforest/client/renderer/map/MagicMapPlayerIconRenderer.java index 77ba71c95f..df4121877d 100644 --- a/src/main/java/twilightforest/client/renderer/map/MagicMapPlayerIconRenderer.java +++ b/src/main/java/twilightforest/client/renderer/map/MagicMapPlayerIconRenderer.java @@ -5,6 +5,7 @@ import com.mojang.math.Axis; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.state.MapRenderState; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.MapDecorationTextureManager; import net.minecraft.world.level.saveddata.maps.MapDecoration; @@ -15,18 +16,18 @@ public class MagicMapPlayerIconRenderer implements IMapDecorationRenderer { - //[VanillaCopy] of MapRenderer.RenderInstance.draw, but with a set depth offset instead of relying on index. + //[VanillaCopy] of MapRenderer.render, but with a set depth offset instead of relying on index. //this allows the icon to render on top of everything else instead of sometimes on top, sometimes behind @Override - public boolean render(MapDecoration decoration, PoseStack stack, MultiBufferSource bufferSource, MapItemSavedData mapData, MapDecorationTextureManager decorationTextures, boolean inItemFrame, int packedLight, int index) { - if (mapData instanceof TFMagicMapData) { + public boolean render(MapRenderState.MapDecorationRenderState decoState, PoseStack stack, MultiBufferSource bufferSource, MapRenderState state, MapDecorationTextureManager decorationTextures, boolean inItemFrame, int packedLight, int index) { + if (state.getRenderData(TFMagicMapData.MAGIC_MAP_KEY)) { stack.pushPose(); - stack.translate(0.0F + (float)decoration.x() / 2.0F + 64.0F, 0.0F + (float)decoration.y() / 2.0F + 64.0F, -0.02F); - stack.mulPose(Axis.ZP.rotationDegrees((float)(decoration.rot() * 360) / 16.0F)); + stack.translate(0.0F + (float)decoState.x / 2.0F + 64.0F, 0.0F + (float)decoState.y / 2.0F + 64.0F, -0.02F); + stack.mulPose(Axis.ZP.rotationDegrees((float)(decoState.rot * 360) / 16.0F)); stack.scale(4.0F, 4.0F, 3.0F); stack.translate(-0.125F, 0.125F, 0.0F); Matrix4f matrix4f1 = stack.last().pose(); - TextureAtlasSprite textureatlassprite = decorationTextures.get(decoration); + TextureAtlasSprite textureatlassprite = decoState.atlasSprite; float f2 = textureatlassprite.getU0(); float f3 = textureatlassprite.getV0(); float f4 = textureatlassprite.getU1(); diff --git a/src/main/java/twilightforest/events/RegistrationEvents.java b/src/main/java/twilightforest/events/RegistrationEvents.java index 0e034ce09a..dcb2ac6e44 100644 --- a/src/main/java/twilightforest/events/RegistrationEvents.java +++ b/src/main/java/twilightforest/events/RegistrationEvents.java @@ -2,19 +2,25 @@ import net.minecraft.world.entity.*; import net.minecraft.world.level.levelgen.Heightmap; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.event.entity.EntityAttributeCreationEvent; import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent; +import twilightforest.TwilightForestMod; import twilightforest.init.TFEntities; +@EventBusSubscriber(modid = TwilightForestMod.ID, bus = EventBusSubscriber.Bus.MOD) public class RegistrationEvents { + @SubscribeEvent @SuppressWarnings("unchecked") //entities added this way will always extend LivingEntity - private static void registerAttributes(EntityAttributeCreationEvent event) { + public static void registerAttributes(EntityAttributeCreationEvent event) { TFEntities.ATTRIBUTES.forEach((type, builder) -> event.put((EntityType) type.value(), builder.get().build())); } + @SubscribeEvent @SuppressWarnings("unchecked") //PAIN - private static void registerPlacements(RegisterSpawnPlacementsEvent event) { + public static void registerPlacements(RegisterSpawnPlacementsEvent event) { TFEntities.SPAWN_PREDICATES.forEach((type, predicate) -> event.register((EntityType) type.value(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, (SpawnPlacements.SpawnPredicate) predicate, RegisterSpawnPlacementsEvent.Operation.REPLACE)); } } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index b8cacf93e8..a7200c2ffb 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -67,7 +67,7 @@ public class TFBlocks { public static final DeferredBlock CANOPY_WINDOW = registerWithItem("canopy_window", TransparentBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion().isValidSpawn((pState, pLevel, pPos, pValue) -> false).isRedstoneConductor((pState, pLevel, pPos) -> false).isSuffocating((pState, pLevel, pPos) -> false).isViewBlocking((pState, pLevel, pPos) -> false)); public static final DeferredBlock CANOPY_WINDOW_PANE = registerWithItem("canopy_window_pane", IronBarsBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.HAT).strength(0.3F).sound(SoundType.GLASS).noOcclusion()); public static final DeferredBlock SINISTER_SPAWNER = registerWithItem("sinister_spawner", SinisterSpawnerBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPAWNER).noLootTable()); - public static final DeferredBlock BRAZIER = register("brazier", BrazierBlock::new, () -> BlockBehaviour.Properties.of().sound(SoundType.WOOD).lightLevel(state -> state.getValue(BrazierBlock.HALF) == DoubleBlockHalf.UPPER ? state.getValue(BrazierBlock.LIGHT).getLight() : 0).pushReaction(PushReaction.DESTROY)); + public static final DeferredBlock BRAZIER = registerWithItem("brazier", BrazierBlock::new, () -> BlockBehaviour.Properties.of().sound(SoundType.WOOD).lightLevel(state -> state.getValue(BrazierBlock.HALF) == DoubleBlockHalf.UPPER ? state.getValue(BrazierBlock.LIGHT).getLight() : 0).pushReaction(PushReaction.DESTROY)); //naga courtyard public static final DeferredBlock NAGASTONE_HEAD = registerWithItem("nagastone_head", TFHorizontalBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); @@ -89,7 +89,7 @@ public class TFBlocks { //lich tower public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); - public static final DeferredBlock SKULL_CHEST = register("skull_chest", SkullChestBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_LIGHT_GRAY).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(3.0F, 100.0F)); + public static final DeferredBlock SKULL_CHEST = registerWithItem("skull_chest", SkullChestBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_LIGHT_GRAY).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(3.0F, 100.0F)); public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 1200.0F)); public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); @@ -110,7 +110,7 @@ public class TFBlocks { public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); public static final DeferredBlock TERRORCOTTA_LINES = registerWithItem("terrorcotta_lines", BinaryRotatedBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final DeferredBlock CORONATION_CARPET = register("coronation_carpet", properties -> new WoolCarpetBlock(DyeColor.RED, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); + public static final DeferredBlock CORONATION_CARPET = registerWithItem("coronation_carpet", properties -> new WoolCarpetBlock(DyeColor.RED, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); //labyrinth public static final DeferredBlock MAZESTONE = registerWithItem("mazestone", Block::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(100.0F, 5.0F)); diff --git a/src/main/java/twilightforest/item/mapdata/TFMagicMapData.java b/src/main/java/twilightforest/item/mapdata/TFMagicMapData.java index b760a49695..085c06de75 100644 --- a/src/main/java/twilightforest/item/mapdata/TFMagicMapData.java +++ b/src/main/java/twilightforest/item/mapdata/TFMagicMapData.java @@ -9,6 +9,7 @@ import net.minecraft.network.protocol.game.ClientboundMapItemDataPacket; import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.context.ContextKey; import net.minecraft.util.datafix.DataFixTypes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -24,6 +25,10 @@ import java.util.*; public class TFMagicMapData extends MapItemSavedData { + + public static ContextKey MAGIC_MAP_KEY = new ContextKey<>(TwilightForestMod.prefix("is_magic_map")); + public static ContextKey> CONQUERED_STRUCTURES_KEY = new ContextKey<>(TwilightForestMod.prefix("conquered_structures")); + private static final Map CLIENT_DATA = new HashMap<>(); public final List conqueredStructures = new ArrayList<>(); diff --git a/src/main/java/twilightforest/network/MagicMapPacket.java b/src/main/java/twilightforest/network/MagicMapPacket.java index 9df0972a54..8ccb2189bf 100644 --- a/src/main/java/twilightforest/network/MagicMapPacket.java +++ b/src/main/java/twilightforest/network/MagicMapPacket.java @@ -1,7 +1,6 @@ package twilightforest.network; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.MapRenderer; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -38,7 +37,6 @@ public static void handle(MagicMapPacket message, IPayloadContext ctx) { public void run() { Level level = ctx.player().level(); // [VanillaCopy] ClientPacketListener#handleMapItemData with our own mapdatas - MapRenderer mapitemrenderer = Minecraft.getInstance().getMapRenderer(); String s = MagicMapItem.getMapName(message.inner.mapId().id()); TFMagicMapData mapdata = TFMagicMapData.getMagicMapData(level, s); if (mapdata == null) { @@ -51,7 +49,7 @@ public void run() { mapdata.conqueredStructures.clear(); mapdata.conqueredStructures.addAll(message.conqueredStructures()); - mapitemrenderer.update(message.inner.mapId(), mapdata); + Minecraft.getInstance().getMapTextureManager().update(message.inner.mapId(), mapdata); } }); } diff --git a/src/main/java/twilightforest/network/MazeMapPacket.java b/src/main/java/twilightforest/network/MazeMapPacket.java index 4f91a63b8b..757a680771 100644 --- a/src/main/java/twilightforest/network/MazeMapPacket.java +++ b/src/main/java/twilightforest/network/MazeMapPacket.java @@ -1,7 +1,6 @@ package twilightforest.network; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.MapRenderer; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -38,8 +37,7 @@ public static void handle(MazeMapPacket message, IPayloadContext ctx) { @Override public void run() { Level level = ctx.player().level(); - // [VanillaCopy] ClientPlayNetHandler#handleMaps with our own mapdatas - MapRenderer mapitemrenderer = Minecraft.getInstance().gameRenderer.getMapRenderer(); + // [VanillaCopy] ClientPacketListener#handleMapItemData with our own mapdatas String s = MazeMapItem.getMapName(message.inner().mapId().id()); TFMazeMapData mapdata = TFMazeMapData.getMazeMapData(level, s); if (mapdata == null) { @@ -50,7 +48,7 @@ public void run() { mapdata.ore = message.ore(); mapdata.yCenter = message.yCenter(); message.inner().applyToMap(mapdata); - mapitemrenderer.update(message.inner().mapId(), mapdata); + Minecraft.getInstance().getMapTextureManager().update(message.inner().mapId(), mapdata); } }); } diff --git a/src/test/java/twilightforest/util/HolderMatcherTests.java b/src/test/java/twilightforest/util/HolderMatcherTests.java index a1b3566f2a..dfd39ddea6 100644 --- a/src/test/java/twilightforest/util/HolderMatcherTests.java +++ b/src/test/java/twilightforest/util/HolderMatcherTests.java @@ -22,7 +22,7 @@ public void setup() { @Test public void matchesReference() { - Holder holder = BuiltInRegistries.ITEM.getHolderOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.OAK_PLANKS).orElseThrow()); + Holder holder = BuiltInRegistries.ITEM.getOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.OAK_PLANKS).orElseThrow()); boolean result = instance.match(holder, holder); @@ -31,8 +31,8 @@ public void matchesReference() { @Test public void matchesReferenceFailed() { - Holder holder = BuiltInRegistries.ITEM.getHolderOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.OAK_PLANKS).orElseThrow()); - Holder other = BuiltInRegistries.ITEM.getHolderOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.BIRCH_PLANKS).orElseThrow()); + Holder holder = BuiltInRegistries.ITEM.getOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.OAK_PLANKS).orElseThrow()); + Holder other = BuiltInRegistries.ITEM.getOrThrow(BuiltInRegistries.ITEM.getResourceKey(Items.BIRCH_PLANKS).orElseThrow()); boolean result = instance.match(holder, other); @@ -79,7 +79,7 @@ public void matchesDeferredFailed() { @Test public void matchesMixed() { - Holder ref = BuiltInRegistries.ITEM.getHolderOrThrow(BuiltInRegistries.ITEM.getResourceKey(TFItems.EXPERIMENT_115.value()).orElseThrow()); + Holder ref = BuiltInRegistries.ITEM.getOrThrow(BuiltInRegistries.ITEM.getResourceKey(TFItems.EXPERIMENT_115.value()).orElseThrow()); Holder direct = Holder.direct(TFItems.EXPERIMENT_115.value()); Holder deferred = TFItems.EXPERIMENT_115; diff --git a/src/test/java/twilightforest/util/multiparts/MultipartEntityUtilTests.java b/src/test/java/twilightforest/util/multiparts/MultipartEntityUtilTests.java index c9c07a1dd4..94fb7e3c06 100644 --- a/src/test/java/twilightforest/util/multiparts/MultipartEntityUtilTests.java +++ b/src/test/java/twilightforest/util/multiparts/MultipartEntityUtilTests.java @@ -28,15 +28,15 @@ public void setup() { public void tryLookupTFPartRenderer() { try (MockedStatic lookup = mockStatic(BakedMultiPartRenderers.class)) { ResourceLocation location = ResourceLocation.withDefaultNamespace("test"); - EntityRenderer partRenderer = mock(EntityRenderer.class); + EntityRenderer partRenderer = mock(EntityRenderer.class); lookup.when(() -> BakedMultiPartRenderers.lookup(location)).thenReturn(partRenderer); TFPart part = mock(TFPart.class); when(part.renderer()).thenReturn(location); - EntityRenderer originalRenderer = mock(EntityRenderer.class); + EntityRenderer originalRenderer = mock(EntityRenderer.class); - EntityRenderer result = instance.tryLookupTFPartRenderer(originalRenderer, part); + EntityRenderer result = instance.tryLookupTFPartRenderer(originalRenderer, part); assertNotNull(result); assertSame(partRenderer, result); @@ -47,12 +47,12 @@ public void tryLookupTFPartRenderer() { @Test public void tryLookupTFPartRendererNonTFPart() { try (MockedStatic lookup = mockStatic(BakedMultiPartRenderers.class)) { - EntityRenderer partRenderer = mock(EntityRenderer.class); + EntityRenderer partRenderer = mock(EntityRenderer.class); lookup.when(() -> BakedMultiPartRenderers.lookup(any(ResourceLocation.class))).thenReturn(partRenderer); - EntityRenderer originalRenderer = mock(EntityRenderer.class); + EntityRenderer originalRenderer = mock(EntityRenderer.class); - EntityRenderer result = instance.tryLookupTFPartRenderer(originalRenderer, mock(Entity.class)); + EntityRenderer result = instance.tryLookupTFPartRenderer(originalRenderer, mock(Entity.class)); assertNotNull(result); assertNotSame(partRenderer, result); From d75349542aaa0256e7f9500ece333d998a89b2b8 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 8 Jan 2025 09:32:54 -0700 Subject: [PATCH 044/239] fix and run datagen --- .../0f202e000d40347127b33b6edbbb29689b8cbf86 | 4 +- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 62 +- .../2c3573acb35dd4967c455c5601717e4d0d6eb706 | 2 +- .../360062c0ee43360357329c0a13031adc0cc83ac5 | 2 +- .../3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 | 2 +- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 2 +- .../50707b2aa2b447940be9133c2ab0f8c3c79811f2 | 2 +- .../50ac03844dfa7ff852b210032d967410a7179d62 | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 63 +- ... 6c7ed76f28181cbe2c6b2b546f0692547aa1ff36} | 840 +++++++++--------- .../735031f3addf80804addae5e3f53249900116f1e | 2 +- .../809949f48f1aa945262c3f08c80c2f11b889a7de | 2 +- .../8f54cb9d7394372ab0a284943bd07e24ce9d122c | 2 +- .../937762f182cff9cea47d98a004aa39ef539671c5 | 4 +- .../94f15e09d9a54d422942084512238ed72a5efe0c | 56 +- .../9c786d47f960fc71cc836bbc881cf12f37fa5408 | 2 +- .../a3b661b9d1602c79ab58dae8db9f53b60de85edc | 2 +- .../a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 | 2 +- .../aceeec62bf10186f98b7c0ef34c2a200449b25e2 | 10 +- .../b5294eda5c650593108e068003e23d389cc35af6 | 2 +- .../bd3c258a938cc6036d1d3d8417c4b7d38da2a57c | 2 +- .../c8cd847b7fd34763d45d37011b05a30c2dfeb774 | 6 +- .../d54fd8e9cae1e749d9d0842965090e18ed3af4f3 | 2 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 +- .../e0d3d0b8d9c807675613821fa865a35f707cd83f | 4 +- .../e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 | 6 +- .../ec1948d2d036209856d7c40ea3c7c1670a5008a1 | 2 +- .../f95301fb94790e0244c05ac8eb83ed341acb7cae | 2 +- .../assets/twilightforest/lang/en_ud.json | 32 +- .../assets/twilightforest/lang/en_us.json | 32 +- ... => block_and_chain_goblin_spawn_egg.json} | 0 .../entity_type/deflectable_projectiles.json | 2 +- .../tags/entity_type/impact_projectiles.json | 6 +- .../entity_type/parrot_imitations.json | 2 +- .../twilightforest/advancement/hill3.json | 4 +- .../advancement/twilight_hunter.json | 6 +- .../enchantment/chill_aura.json | 2 +- .../enchantment/fire_react.json | 2 +- .../blocks/alpha_yeti_wall_trophy.json | 21 - .../blocks/canopy_wall_hanging_sign.json | 21 - .../loot_table/blocks/canopy_wall_sign.json | 21 - .../blocks/creeper_wall_skull_candle.json | 21 - .../blocks/dark_wall_hanging_sign.json | 21 - .../loot_table/blocks/dark_wall_sign.json | 21 - .../loot_table/blocks/hydra_wall_trophy.json | 21 - .../blocks/knight_phantom_wall_trophy.json | 21 - .../loot_table/blocks/lich_wall_trophy.json | 21 - .../blocks/mangrove_wall_hanging_sign.json | 21 - .../loot_table/blocks/mangrove_wall_sign.json | 21 - .../blocks/mining_wall_hanging_sign.json | 21 - .../loot_table/blocks/mining_wall_sign.json | 21 - .../blocks/minoshroom_wall_trophy.json | 21 - .../loot_table/blocks/naga_wall_trophy.json | 21 - .../blocks/piglin_wall_skull_candle.json | 21 - .../blocks/player_wall_skull_candle.json | 32 - .../blocks/quest_ram_wall_trophy.json | 21 - .../blocks/skeleton_wall_skull_candle.json | 21 - .../loot_table/blocks/skull_chest.json | 12 +- .../blocks/snow_queen_wall_trophy.json | 21 - .../blocks/sorting_wall_hanging_sign.json | 21 - .../loot_table/blocks/sorting_wall_sign.json | 21 - .../blocks/time_wall_hanging_sign.json | 21 - .../loot_table/blocks/time_wall_sign.json | 21 - .../transformation_wall_hanging_sign.json | 21 - .../blocks/transformation_wall_sign.json | 21 - .../twilight_oak_wall_hanging_sign.json | 21 - .../loot_table/blocks/twilight_wall_sign.json | 21 - .../blocks/ur_ghast_wall_trophy.json | 21 - .../wither_skeleton_wall_skull_candle.json | 21 - .../blocks/zombie_wall_skull_candle.json | 21 - ...oblin.json => block_and_chain_goblin.json} | 2 +- .../loot_table/entities/death_tome_hurt.json | 3 +- .../loot_table/entities/plateau_boss.json | 4 - .../loot_table/entities/roving_cube.json | 4 - .../recipe/alpha_yeti_banner_pattern.json | 8 +- .../twilightforest/recipe/aurora_pillar.json | 4 +- .../twilightforest/recipe/berry_torch.json | 8 +- .../twilightforest/recipe/canopy_boat.json | 4 +- .../recipe/canopy_bookshelf.json | 8 +- .../recipe/canopy_chest_boat.json | 8 +- .../recipe/carminite_builder.json | 12 +- .../recipe/carminite_reactor.json | 12 +- .../castleblock/bold_castle_brick_pillar.json | 4 +- .../castleblock/bold_castle_brick_stairs.json | 8 +- .../castleblock/bold_castle_brick_tile.json | 4 +- .../bold_castle_pillar_from_tile.json | 4 +- .../castleblock/castle_brick_stairs.json | 4 +- .../cracked_castle_brick_stairs.json | 4 +- .../encased_castle_brick_stairs.json | 8 +- .../castleblock/encased_castle_pillar.json | 36 +- .../castleblock/mossy_castle_brick.json | 12 +- .../mossy_castle_brick_stairs.json | 4 +- .../smelted_cracked_castle_brick.json | 4 +- .../castleblock/thick_castle_brick.json | 16 +- .../castleblock/worn_castle_brick_stairs.json | 4 +- .../recipe/charm_of_keeping_2.json | 16 +- .../recipe/charm_of_keeping_3.json | 16 +- .../recipe/charm_of_life_2.json | 16 +- .../twilightforest/recipe/cicada_jar.json | 13 +- .../compressed_blocks/arctic_block.json | 4 +- .../compressed_blocks/carminite_block.json | 4 +- .../recipe/compressed_blocks/fiery_block.json | 4 +- .../compressed_blocks/ironwood_block.json | 4 +- .../compressed_blocks/knightmetal_block.json | 4 +- .../reversed/arctic_block_to_item.json | 4 +- .../reversed/carminite_block_to_item.json | 4 +- .../reversed/fiery_block_to_ingot.json | 4 +- .../reversed/ironwood_block_ingot.json | 4 +- .../reversed/knightmetal_block_ingot.json | 4 +- .../reversed/steeleaf_block_ingot.json | 4 +- .../compressed_blocks/steeleaf_block.json | 4 +- .../data/twilightforest/recipe/dark_boat.json | 4 +- .../recipe/dark_chest_boat.json | 8 +- .../recipe/emperors_cloth_smithing.json | 8 +- .../recipe/encased_fire_jet.json | 16 +- .../twilightforest/recipe/encased_smoker.json | 12 +- .../recipe/equipment/arctic_boots.json | 4 +- .../recipe/equipment/arctic_chestplate.json | 4 +- .../recipe/equipment/arctic_helmet.json | 4 +- .../recipe/equipment/arctic_leggings.json | 4 +- .../recipe/equipment/block_and_chain.json | 20 +- .../recipe/equipment/fiery_boots.json | 4 +- .../recipe/equipment/fiery_chestplate.json | 4 +- .../recipe/equipment/fiery_helmet.json | 4 +- .../equipment/fiery_ingot_crafting.json | 8 +- .../recipe/equipment/fiery_iron_boots.json | 20 +- .../equipment/fiery_iron_chestplate.json | 36 +- .../recipe/equipment/fiery_iron_helmet.json | 24 +- .../recipe/equipment/fiery_iron_leggings.json | 32 +- .../recipe/equipment/fiery_iron_pickaxe.json | 24 +- .../recipe/equipment/fiery_iron_sword.json | 16 +- .../recipe/equipment/fiery_leggings.json | 4 +- .../recipe/equipment/fiery_pickaxe.json | 8 +- .../recipe/equipment/fiery_sword.json | 8 +- .../equipment/fortification_scepter.json | 4 +- .../recipe/equipment/giant_pickaxe.json | 8 +- .../recipe/equipment/giant_sword.json | 8 +- .../recipe/equipment/ironwood_axe.json | 8 +- .../recipe/equipment/ironwood_boots.json | 4 +- .../recipe/equipment/ironwood_chestplate.json | 4 +- .../recipe/equipment/ironwood_helmet.json | 4 +- .../recipe/equipment/ironwood_hoe.json | 8 +- .../recipe/equipment/ironwood_leggings.json | 4 +- .../recipe/equipment/ironwood_pickaxe.json | 8 +- .../recipe/equipment/ironwood_shovel.json | 8 +- .../recipe/equipment/ironwood_sword.json | 8 +- .../recipe/equipment/knightmetal_axe.json | 8 +- .../recipe/equipment/knightmetal_boots.json | 4 +- .../equipment/knightmetal_chestplate.json | 4 +- .../recipe/equipment/knightmetal_helmet.json | 4 +- .../equipment/knightmetal_leggings.json | 4 +- .../recipe/equipment/knightmetal_pickaxe.json | 8 +- .../recipe/equipment/knightmetal_ring.json | 4 +- .../recipe/equipment/knightmetal_shield.json | 12 +- .../recipe/equipment/knightmetal_sword.json | 8 +- .../recipe/equipment/lifedrain_scepter.json | 4 +- .../recipe/equipment/naga_chestplate.json | 4 +- .../recipe/equipment/naga_leggings.json | 4 +- .../recipe/equipment/steeleaf_axe.json | 8 +- .../recipe/equipment/steeleaf_boots.json | 4 +- .../recipe/equipment/steeleaf_chestplate.json | 4 +- .../recipe/equipment/steeleaf_helmet.json | 4 +- .../recipe/equipment/steeleaf_hoe.json | 8 +- .../recipe/equipment/steeleaf_leggings.json | 4 +- .../recipe/equipment/steeleaf_pickaxe.json | 8 +- .../recipe/equipment/steeleaf_shovel.json | 8 +- .../recipe/equipment/steeleaf_sword.json | 8 +- .../recipe/equipment/twilight_scepter.json | 4 +- .../recipe/equipment/yeti_boots.json | 4 +- .../recipe/equipment/yeti_chestplate.json | 4 +- .../recipe/equipment/yeti_helmet.json | 4 +- .../recipe/equipment/yeti_leggings.json | 4 +- .../recipe/equipment/zombie_scepter.json | 61 +- .../twilightforest/recipe/firefly_jar.json | 13 +- .../recipe/firefly_particle_spawner.json | 12 +- .../recipe/food/campfired_meef.json | 4 +- .../recipe/food/campfired_venison.json | 4 +- .../recipe/food/smelted_meef.json | 4 +- .../recipe/food/smelted_venison.json | 4 +- .../recipe/food/smoked_meef.json | 4 +- .../recipe/food/smoked_venison.json | 4 +- .../giant_cobblestone_to_cobblestone.json | 4 +- .../recipe/giant_leaves_to_oak_leaves.json | 4 +- .../recipe/giant_log_to_oak_planks.json | 4 +- .../recipe/giant_obsidian_to_obsidian.json | 4 +- .../recipe/hydra_banner_pattern.json | 8 +- .../twilightforest/recipe/iron_ladder.json | 8 +- .../recipe/knight_phantom_banner_pattern.json | 8 +- .../recipe/lich_banner_pattern.json | 8 +- .../data/twilightforest/recipe/magic_map.json | 8 +- .../recipe/magic_map_focus.json | 12 +- .../twilightforest/recipe/mangrove_boat.json | 4 +- .../recipe/mangrove_chest_boat.json | 8 +- .../data/twilightforest/recipe/mason_jar.json | 8 +- .../recipe/material/armor_shard_cluster.json | 36 +- .../material/blasted_ironwood_ingot.json | 4 +- .../material/blasted_knightmetal_ingot.json | 4 +- .../recipe/material/carminite.json | 36 +- .../recipe/material/raw_ironwood.json | 12 +- .../material/smelted_ironwood_ingot.json | 4 +- .../material/smelted_knightmetal_ingot.json | 4 +- .../data/twilightforest/recipe/maze_map.json | 8 +- .../recipe/maze_stone/mossy_mazestone.json | 12 +- .../smelted_maze_stone_cracked.json | 4 +- .../twilightforest/recipe/mining_boat.json | 4 +- .../recipe/mining_chest_boat.json | 8 +- .../recipe/minoshroom_banner_pattern.json | 8 +- .../recipe/mossy_underbrick.json | 12 +- .../recipe/naga_banner_pattern.json | 8 +- .../cracked_nagastone_stairs_left.json | 4 +- .../cracked_nagastone_stairs_right.json | 4 +- .../nagastone/mossy_etched_nagastone.json | 12 +- .../nagastone/mossy_nagastone_pillar.json | 12 +- .../mossy_nagastone_stairs_left.json | 4 +- .../mossy_nagastone_stairs_right.json | 4 +- .../recipe/nagastone/nagastone_spiral.json | 24 +- .../nagastone/nagastone_stairs_left.json | 4 +- .../nagastone/nagastone_stairs_right.json | 4 +- .../smelted_cracked_etched_nagastone.json | 4 +- .../smelted_cracked_nagastone_pillar.json | 4 +- .../data/twilightforest/recipe/ore_map.json | 16 +- .../twilightforest/recipe/rainy_cloud.json | 8 +- .../recipe/reappearing_block.json | 12 +- .../twilightforest/recipe/root_stick.json | 4 +- .../data/twilightforest/recipe/rope.json | 4 +- .../recipe/smelted_cracked_underbrick.json | 4 +- .../recipe/snow_queen_banner_pattern.json | 8 +- .../twilightforest/recipe/snowy_cloud.json | 8 +- .../twilightforest/recipe/sorting_boat.json | 4 +- .../recipe/sorting_chest_boat.json | 8 +- .../acacia_log/hollow_acacia_log.json | 4 +- .../birch_log/hollow_birch_log.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../bold_castle_brick_tile.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../canopy_log/hollow_canopy_log.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../castle_brick/bold_castle_brick_tile.json | 4 +- .../castle_brick/castle_brick_stairs.json | 4 +- .../castle_brick/castle_roof_tile.json | 4 +- .../encased_castle_brick_pillar.json | 4 +- .../encased_castle_brick_stairs.json | 4 +- .../encased_castle_brick_tile.json | 4 +- .../castle_brick/thick_castle_brick.json | 4 +- .../castle_brick/worn_castle_brick.json | 4 +- .../worn_castle_brick_stairs.json | 4 +- .../cherry_log/hollow_cherry_log.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../bold_castle_brick_tile.json | 4 +- .../cracked_castle_brick_stairs.json | 4 +- .../thick_castle_brick.json | 4 +- .../cracked_nagastone_stairs_left.json | 4 +- .../cracked_nagastone_stairs_right.json | 4 +- .../cracked_nagastone_stairs_right.json | 4 +- .../cracked_nagastone_stairs_left.json | 4 +- .../crimson_stem/hollow_crimson_stem.json | 4 +- .../cut_mazestone/decorative_mazestone.json | 4 +- .../cut_mazestone/mazestone_border.json | 4 +- .../cut_mazestone/mazestone_brick.json | 4 +- .../cut_mazestone/mazestone_mosaic.json | 4 +- .../dark_log/encased_towerwood.json | 4 +- .../dark_log/hollow_dark_log.json | 4 +- .../stonecutting/dark_log/towerwood.json | 4 +- .../dark_oak_log/hollow_dark_oak_log.json | 4 +- .../dark_wood/encased_towerwood.json | 4 +- .../stonecutting/dark_wood/towerwood.json | 4 +- .../decorative_mazestone/cut_mazestone.json | 4 +- .../mazestone_border.json | 4 +- .../decorative_mazestone/mazestone_brick.json | 4 +- .../mazestone_mosaic.json | 4 +- .../castle_roof_tile.json | 4 +- .../encased_castle_brick_stairs.json | 4 +- .../encased_castle_brick_tile.json | 4 +- .../castle_roof_tile.json | 4 +- .../encased_castle_brick_pillar.json | 4 +- .../encased_castle_brick_stairs.json | 4 +- .../nagastone_stairs_left.json | 4 +- .../nagastone_stairs_right.json | 4 +- .../jungle_log/hollow_jungle_log.json | 4 +- .../mangrove_log/hollow_mangrove_log.json | 4 +- .../mangrove_log/hollow_vangrove_log.json | 4 +- .../stonecutting/mazestone/cut_mazestone.json | 4 +- .../mazestone/decorative_mazestone.json | 4 +- .../mazestone/mazestone_border.json | 4 +- .../mazestone/mazestone_brick.json | 4 +- .../mazestone/mazestone_mosaic.json | 4 +- .../mazestone_border/cut_mazestone.json | 4 +- .../decorative_mazestone.json | 4 +- .../mazestone_border/mazestone_brick.json | 4 +- .../mazestone_border/mazestone_mosaic.json | 4 +- .../mazestone_brick/cut_mazestone.json | 4 +- .../mazestone_brick/decorative_mazestone.json | 4 +- .../mazestone_brick/mazestone_border.json | 4 +- .../mazestone_brick/mazestone_mosaic.json | 4 +- .../mazestone_mosaic/cut_mazestone.json | 4 +- .../decorative_mazestone.json | 4 +- .../mazestone_mosaic/mazestone_border.json | 4 +- .../mazestone_mosaic/mazestone_brick.json | 4 +- .../mining_log/hollow_mining_log.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../bold_castle_brick_tile.json | 4 +- .../mossy_castle_brick_stairs.json | 4 +- .../thick_castle_brick.json | 4 +- .../mossy_nagastone_stairs_left.json | 4 +- .../mossy_nagastone_stairs_right.json | 4 +- .../mossy_nagastone_stairs_right.json | 4 +- .../mossy_nagastone_stairs_left.json | 4 +- .../nagastone_stairs_right.json | 4 +- .../nagastone_stairs_left.json | 4 +- .../stonecutting/oak_log/hollow_oak_log.json | 4 +- .../sorting_log/hollow_sorting_log.json | 4 +- .../spruce_log/hollow_spruce_log.json | 4 +- .../stonecutting/stone/bold_stone_pillar.json | 4 +- .../stonecutting/stone/spiral_bricks.json | 4 +- .../stonecutting/stone/twisted_stone.json | 4 +- .../stone/twisted_stone_pillar.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../bold_castle_brick_tile.json | 4 +- .../time_log/hollow_time_log.json | 4 +- .../hollow_transformation_log.json | 4 +- .../hollow_twilight_oak_log.json | 4 +- .../twisted_stone/twisted_stone_pillar.json | 4 +- .../underbrick/underbrick_floor.json | 4 +- .../warped_stem/hollow_warped_stem.json | 4 +- .../bold_castle_brick_pillar.json | 4 +- .../bold_castle_brick_stairs.json | 4 +- .../bold_castle_brick_tile.json | 4 +- .../worn_castle_brick/thick_castle_brick.json | 4 +- .../worn_castle_brick_stairs.json | 4 +- .../recipe/tf_moss_to_vanilla.json | 8 +- .../recipe/tf_to_vanilla_lilypad.json | 8 +- .../recipe/thorn_rose_to_red.json | 4 +- .../data/twilightforest/recipe/time_boat.json | 4 +- .../recipe/time_chest_boat.json | 8 +- .../recipe/transformation_boat.json | 4 +- .../recipe/transformation_chest_boat.json | 8 +- .../recipe/twilight_oak_boat.json | 4 +- .../recipe/twilight_oak_chest_boat.json | 8 +- .../recipe/uncrafting/tipped_arrow.json | 8 +- .../recipe/uncrafting/written_book.json | 8 +- .../recipe/uncrafting_table.json | 8 +- .../recipe/ur_ghast_banner_pattern.json | 8 +- .../recipe/vanilla_to_tf_lilypad.json | 20 +- .../recipe/vanilla_to_tf_moss.json | 8 +- .../recipe/vanishing_block.json | 12 +- .../recipe/waterlily_to_magenta.json | 4 +- .../recipe/wood/acacia_banister.json | 8 +- .../recipe/wood/aurora_slab_slab.json | 4 +- .../recipe/wood/bamboo_banister.json | 8 +- .../recipe/wood/birch_banister.json | 8 +- .../recipe/wood/canopy_banister.json | 8 +- .../recipe/wood/canopy_button.json | 4 +- .../recipe/wood/canopy_chest.json | 8 +- .../recipe/wood/canopy_door.json | 4 +- .../recipe/wood/canopy_fence.json | 8 +- .../recipe/wood/canopy_gate.json | 8 +- .../recipe/wood/canopy_hanging_sign.json | 8 +- .../recipe/wood/canopy_planks.json | 4 +- .../recipe/wood/canopy_plate.json | 4 +- .../recipe/wood/canopy_sign.json | 8 +- .../recipe/wood/canopy_slab.json | 4 +- .../recipe/wood/canopy_stairs.json | 4 +- .../recipe/wood/canopy_stripped_wood.json | 4 +- .../recipe/wood/canopy_trapdoor.json | 4 +- .../recipe/wood/canopy_trapped_chest.json | 8 +- .../recipe/wood/canopy_wood.json | 4 +- .../recipe/wood/cherry_banister.json | 8 +- .../recipe/wood/crimson_banister.json | 8 +- .../recipe/wood/dark_banister.json | 8 +- .../recipe/wood/dark_button.json | 4 +- .../recipe/wood/dark_chest.json | 8 +- .../twilightforest/recipe/wood/dark_door.json | 4 +- .../recipe/wood/dark_fence.json | 8 +- .../twilightforest/recipe/wood/dark_gate.json | 8 +- .../recipe/wood/dark_hanging_sign.json | 8 +- .../recipe/wood/dark_oak_banister.json | 8 +- .../recipe/wood/dark_planks.json | 4 +- .../recipe/wood/dark_plate.json | 4 +- .../twilightforest/recipe/wood/dark_sign.json | 8 +- .../twilightforest/recipe/wood/dark_slab.json | 4 +- .../recipe/wood/dark_stairs.json | 4 +- .../recipe/wood/dark_stripped_wood.json | 4 +- .../recipe/wood/dark_trapdoor.json | 4 +- .../recipe/wood/dark_trapped_chest.json | 8 +- .../twilightforest/recipe/wood/dark_wood.json | 4 +- .../recipe/wood/jungle_banister.json | 8 +- .../recipe/wood/mangrove_banister.json | 8 +- .../recipe/wood/mangrove_button.json | 4 +- .../recipe/wood/mangrove_chest.json | 8 +- .../recipe/wood/mangrove_door.json | 4 +- .../recipe/wood/mangrove_fence.json | 8 +- .../recipe/wood/mangrove_gate.json | 8 +- .../recipe/wood/mangrove_hanging_sign.json | 8 +- .../recipe/wood/mangrove_planks.json | 4 +- .../recipe/wood/mangrove_plate.json | 4 +- .../recipe/wood/mangrove_sign.json | 8 +- .../recipe/wood/mangrove_slab.json | 4 +- .../recipe/wood/mangrove_stairs.json | 4 +- .../recipe/wood/mangrove_stripped_wood.json | 4 +- .../recipe/wood/mangrove_trapdoor.json | 4 +- .../recipe/wood/mangrove_trapped_chest.json | 8 +- .../recipe/wood/mangrove_wood.json | 4 +- .../recipe/wood/mining_banister.json | 8 +- .../recipe/wood/mining_button.json | 4 +- .../recipe/wood/mining_chest.json | 8 +- .../recipe/wood/mining_door.json | 4 +- .../recipe/wood/mining_fence.json | 8 +- .../recipe/wood/mining_gate.json | 8 +- .../recipe/wood/mining_hanging_sign.json | 8 +- .../recipe/wood/mining_planks.json | 4 +- .../recipe/wood/mining_plate.json | 4 +- .../recipe/wood/mining_sign.json | 8 +- .../recipe/wood/mining_slab.json | 4 +- .../recipe/wood/mining_stairs.json | 4 +- .../recipe/wood/mining_stripped_wood.json | 4 +- .../recipe/wood/mining_trapdoor.json | 4 +- .../recipe/wood/mining_trapped_chest.json | 8 +- .../recipe/wood/mining_wood.json | 4 +- .../recipe/wood/mossy_towerwood.json | 12 +- .../recipe/wood/oak_banister.json | 8 +- .../recipe/wood/smoked_cracked_towerwood.json | 4 +- .../recipe/wood/sorting_banister.json | 8 +- .../recipe/wood/sorting_button.json | 4 +- .../recipe/wood/sorting_chest.json | 8 +- .../recipe/wood/sorting_door.json | 4 +- .../recipe/wood/sorting_fence.json | 8 +- .../recipe/wood/sorting_gate.json | 8 +- .../recipe/wood/sorting_hanging_sign.json | 8 +- .../recipe/wood/sorting_planks.json | 4 +- .../recipe/wood/sorting_plate.json | 4 +- .../recipe/wood/sorting_sign.json | 8 +- .../recipe/wood/sorting_slab.json | 4 +- .../recipe/wood/sorting_stairs.json | 4 +- .../recipe/wood/sorting_stripped_wood.json | 4 +- .../recipe/wood/sorting_trapdoor.json | 4 +- .../recipe/wood/sorting_trapped_chest.json | 8 +- .../recipe/wood/sorting_wood.json | 4 +- .../recipe/wood/spruce_banister.json | 8 +- .../recipe/wood/time_banister.json | 8 +- .../recipe/wood/time_button.json | 4 +- .../recipe/wood/time_chest.json | 8 +- .../twilightforest/recipe/wood/time_door.json | 4 +- .../recipe/wood/time_fence.json | 8 +- .../twilightforest/recipe/wood/time_gate.json | 8 +- .../recipe/wood/time_hanging_sign.json | 8 +- .../recipe/wood/time_planks.json | 4 +- .../recipe/wood/time_plate.json | 4 +- .../twilightforest/recipe/wood/time_sign.json | 8 +- .../twilightforest/recipe/wood/time_slab.json | 4 +- .../recipe/wood/time_stairs.json | 4 +- .../recipe/wood/time_stripped_wood.json | 4 +- .../recipe/wood/time_trapdoor.json | 4 +- .../recipe/wood/time_trapped_chest.json | 8 +- .../twilightforest/recipe/wood/time_wood.json | 4 +- .../recipe/wood/transformation_banister.json | 8 +- .../recipe/wood/transformation_button.json | 4 +- .../recipe/wood/transformation_chest.json | 8 +- .../recipe/wood/transformation_door.json | 4 +- .../recipe/wood/transformation_fence.json | 8 +- .../recipe/wood/transformation_gate.json | 8 +- .../wood/transformation_hanging_sign.json | 8 +- .../recipe/wood/transformation_planks.json | 4 +- .../recipe/wood/transformation_plate.json | 4 +- .../recipe/wood/transformation_sign.json | 8 +- .../recipe/wood/transformation_slab.json | 4 +- .../recipe/wood/transformation_stairs.json | 4 +- .../wood/transformation_stripped_wood.json | 4 +- .../recipe/wood/transformation_trapdoor.json | 4 +- .../wood/transformation_trapped_chest.json | 8 +- .../recipe/wood/transformation_wood.json | 4 +- .../recipe/wood/twilight_oak_banister.json | 8 +- .../recipe/wood/twilight_oak_button.json | 4 +- .../recipe/wood/twilight_oak_chest.json | 8 +- .../recipe/wood/twilight_oak_door.json | 4 +- .../recipe/wood/twilight_oak_fence.json | 8 +- .../recipe/wood/twilight_oak_gate.json | 8 +- .../wood/twilight_oak_hanging_sign.json | 8 +- .../recipe/wood/twilight_oak_planks.json | 4 +- .../recipe/wood/twilight_oak_plate.json | 4 +- .../recipe/wood/twilight_oak_sign.json | 8 +- .../recipe/wood/twilight_oak_slab.json | 4 +- .../recipe/wood/twilight_oak_stairs.json | 4 +- .../wood/twilight_oak_stripped_wood.json | 4 +- .../recipe/wood/twilight_oak_trapdoor.json | 4 +- .../wood/twilight_oak_trapped_chest.json | 8 +- .../recipe/wood/twilight_oak_wood.json | 4 +- .../recipe/wood/vangrove_banister.json | 8 +- .../recipe/wood/warped_banister.json | 8 +- .../twilight/quests/questing_ram.json | 64 +- .../worldgen/biome/clearing.json | 4 +- .../worldgen/biome/dark_forest.json | 4 +- .../worldgen/biome/dark_forest_center.json | 4 +- .../worldgen/biome/dense_forest.json | 4 +- .../worldgen/biome/dense_mushroom_forest.json | 4 +- .../worldgen/biome/enchanted_forest.json | 4 +- .../worldgen/biome/final_plateau.json | 2 +- .../worldgen/biome/fire_swamp.json | 4 +- .../worldgen/biome/firefly_forest.json | 4 +- .../twilightforest/worldgen/biome/forest.json | 4 +- .../worldgen/biome/glacier.json | 4 +- .../worldgen/biome/highlands.json | 4 +- .../worldgen/biome/highlands_underground.json | 4 +- .../twilightforest/worldgen/biome/lake.json | 5 +- .../worldgen/biome/mushroom_forest.json | 4 +- .../worldgen/biome/oak_savannah.json | 4 +- .../worldgen/biome/snowy_forest.json | 4 +- .../worldgen/biome/spooky_forest.json | 4 +- .../twilightforest/worldgen/biome/stream.json | 5 +- .../twilightforest/worldgen/biome/swamp.json | 4 +- .../worldgen/biome/thornlands.json | 2 +- .../worldgen/biome/underground.json | 4 +- .../tree/selector/vanilla_trees.json | 2 +- .../worldgen/structure/knight_stronghold.json | 2 +- src/generated/resources/pack.mcmeta | 2 +- .../twilightforest/data/EntityLootTables.java | 3 - .../data/ItemModelGenerator.java | 63 +- .../twilightforest/data/LangGenerator.java | 6 - .../data/helpers/TFLangProvider.java | 2 - .../data/recipes/CraftingGenerator.java | 28 +- .../java/twilightforest/init/TFBlocks.java | 62 +- .../java/twilightforest/init/TFEntities.java | 52 +- 526 files changed, 1408 insertions(+), 3525 deletions(-) rename src/generated/resources/.cache/{9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e => 6c7ed76f28181cbe2c6b2b546f0692547aa1ff36} (72%) rename src/generated/resources/assets/twilightforest/models/item/{blockchain_goblin_spawn_egg.json => block_and_chain_goblin_spawn_egg.json} (100%) delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/hydra_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/lich_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/naga_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/player_wall_skull_candle.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/twilight_wall_sign.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json rename src/generated/resources/data/twilightforest/loot_table/entities/{blockchain_goblin.json => block_and_chain_goblin.json} (92%) delete mode 100644 src/generated/resources/data/twilightforest/loot_table/entities/plateau_boss.json delete mode 100644 src/generated/resources/data/twilightforest/loot_table/entities/roving_cube.json diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 index 0f4527ffe0..a2e69b9526 100644 --- a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 +++ b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 @@ -1,2 +1,2 @@ -// 1.21.1 2024-08-11T11:15:17.189325448 Pack Metadata -359985302a7c1116906a9e9bf4e982bba0633ab1 pack.mcmeta +// 1.21.3 2025-01-08T00:35:56.315044 Pack Metadata +b8d2bd41f0036fa05f74449fd8be12d9adc5f908 pack.mcmeta diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 188726874a..ace5269ae7 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.21.1 2025-01-04T05:34:02.742512725 Registries +// 1.21.3 2025-01-08T00:35:56.304039 Registries 9089ada9ce06fd30adf8b10e50f02233c7d5a76e data/minecraft/twilight/wood_palettes/acacia.json dca1ef01d0df4e956fd414782de57c25dfddd290 data/minecraft/twilight/wood_palettes/birch.json 01becb45438b7f2bfdc77baba72bc986341510c8 data/minecraft/twilight/wood_palettes/crimson.json @@ -58,9 +58,9 @@ e0bcaf826b9a325b3f9a246f9ed4bf223ac73028 data/twilightforest/damage_type/thrown_ c4304ad6f22195ea9ddeff9a926a0bea41dd5b0d data/twilightforest/damage_type/yeeted.json d4c99e67de057db06a30a6ca4746f46801f15971 data/twilightforest/dimension/twilight_forest.json 7c9a56f7a363797f155729308aeac7b03907af31 data/twilightforest/dimension_type/twilight_forest_type.json -af6c238a39a9b034ea47dfcfbf664a09cac37fd3 data/twilightforest/enchantment/chill_aura.json +a0108fd874130f4e03b44c46547a003d2c1c3531 data/twilightforest/enchantment/chill_aura.json 13fb18e0e1572713b6f0f3904c59e8a0e5333023 data/twilightforest/enchantment/destruction.json -2fdeb1be69f6b2140c4b001dca85e6febd620857 data/twilightforest/enchantment/fire_react.json +3fd23d50c20dbd51b1ef93bc86dfac73b4d750cb data/twilightforest/enchantment/fire_react.json 4272d53452c08df022ada2a8e4fa66c96cd1a072 data/twilightforest/enchantment/renewal.json 4c26e28cc85b90ae734826dc760d85a953f3bd85 data/twilightforest/jukebox_song/findings.json 1f1a35d51684372544efa0cae6886d32fe951981 data/twilightforest/jukebox_song/home.json @@ -117,28 +117,28 @@ e7c4f0010ae7c35e0abe75d4ba2e26eabf838936 data/twilightforest/twilight/wood_palet b6d4a8629c11a3cac9b91801973bb0fa7ff9bcea data/twilightforest/twilight/wood_palettes/timewood.json 465031afbf54df48a316262698e547fc7ebd29f0 data/twilightforest/twilight/wood_palettes/transwood.json c5e1e96fa69452349f77ba366f9b2d54315d6726 data/twilightforest/twilight/wood_palettes/twilight_oak.json -ffe0bbcd108a982aaa4e4140d3e8708e9263edb8 data/twilightforest/worldgen/biome/clearing.json -61831c747c8b69160eab11a44469d737282527ec data/twilightforest/worldgen/biome/dark_forest.json -17c5d64992834cfb5edd94617a56698fbd5328d7 data/twilightforest/worldgen/biome/dark_forest_center.json -bba2d448021ce93adc96f17cc8d3208dbb98709c data/twilightforest/worldgen/biome/dense_forest.json -91928df7a8a7fb9c6807513e7b33108cf102783c data/twilightforest/worldgen/biome/dense_mushroom_forest.json -455c74918cb6c93ac993806592dee6381a17f0d7 data/twilightforest/worldgen/biome/enchanted_forest.json -0f7add8c82f0867894000c6f3a5db4bc48b9027f data/twilightforest/worldgen/biome/final_plateau.json -7dcc3dabce68cc0ea46fd14a2539b519dc99b653 data/twilightforest/worldgen/biome/fire_swamp.json -6b4a803774e4eeb1ac3f83439d65eab247730ab2 data/twilightforest/worldgen/biome/firefly_forest.json -94909ed56d6a5086110c45891057654298fb0f97 data/twilightforest/worldgen/biome/forest.json -4cb70b3bcfd262cf0e66726e10aa405420c89209 data/twilightforest/worldgen/biome/glacier.json -3481fcab025045e7bae0e36bf9ef0639d278f5a1 data/twilightforest/worldgen/biome/highlands.json -5702ba364fddb9e5f327a8e42e07b7aacda8044f data/twilightforest/worldgen/biome/highlands_underground.json -d557eab5f83fc955061de7da3b4a2a0b85bf984c data/twilightforest/worldgen/biome/lake.json -95fdc4d281e1f4c1c7a825dac937b4320a06fa06 data/twilightforest/worldgen/biome/mushroom_forest.json -6f1720eb849c545ac8eb80fee6c9d986d16a30d1 data/twilightforest/worldgen/biome/oak_savannah.json -6569ae132d2ac62df26250925ffdb61c164c505f data/twilightforest/worldgen/biome/snowy_forest.json -603ce73657a3ae095570fda2c7d35baad81b52ba data/twilightforest/worldgen/biome/spooky_forest.json -073541a909cbf4c0f1a49ae1c1551b30b3b205d8 data/twilightforest/worldgen/biome/stream.json -f2b3185419025fba0e337ea806ccd730a4764862 data/twilightforest/worldgen/biome/swamp.json -d301ff8b947d21c124d380886a3dde1e41304ec8 data/twilightforest/worldgen/biome/thornlands.json -aabe862d0b31639a2165bb74c7efbd9fe7d194b6 data/twilightforest/worldgen/biome/underground.json +b366df0325134b47f066c94162e8f759f63e8e17 data/twilightforest/worldgen/biome/clearing.json +f996c1619e310b71d6a8443d2d44c2bb6d45f45f data/twilightforest/worldgen/biome/dark_forest.json +de3543b30527e02357f3d30442a24cc9771d5020 data/twilightforest/worldgen/biome/dark_forest_center.json +cc900825968ee2ac498effd5b1df3e21af0fbf08 data/twilightforest/worldgen/biome/dense_forest.json +75b3fd380a34ff2ef50c2ac56f92d6f019b9484e data/twilightforest/worldgen/biome/dense_mushroom_forest.json +cba6422f88e353a098ab593c789bb173c8385f9f data/twilightforest/worldgen/biome/enchanted_forest.json +7a0d7f31610ffbadb04f7529b74cf4b366f15d52 data/twilightforest/worldgen/biome/final_plateau.json +302003c0bc6209ab9abf016aab0483bd88ae5339 data/twilightforest/worldgen/biome/firefly_forest.json +a73fcfafa2072d23df668cb978c52dedce6f2abc data/twilightforest/worldgen/biome/fire_swamp.json +267c0985a46a1ca38417c12c8ce3cbdf4dd6577d data/twilightforest/worldgen/biome/forest.json +5c7e1fe9ba0d34643c8ccd14f2e7cfb5787ec0b6 data/twilightforest/worldgen/biome/glacier.json +7e91f3ada2532b9afa00e1e8ed300d9786750410 data/twilightforest/worldgen/biome/highlands.json +539758e98bf75061c0144ac3191eddc22e32e79e data/twilightforest/worldgen/biome/highlands_underground.json +031395fabf185ad51b8e15a6f42428d3f4192d42 data/twilightforest/worldgen/biome/lake.json +d2fdfc8438ee45016fcf23a5bf880510900c47c7 data/twilightforest/worldgen/biome/mushroom_forest.json +9a99946321ddb3d886e88c25748ba47a460498d9 data/twilightforest/worldgen/biome/oak_savannah.json +c72104ed8ff0effe81f6bcdd98af76dd22ba3e8d data/twilightforest/worldgen/biome/snowy_forest.json +68403e2b5983b839240586081b50c20db5753106 data/twilightforest/worldgen/biome/spooky_forest.json +df41973b90c6fc2a4a37e3287db0dc62081d53e6 data/twilightforest/worldgen/biome/stream.json +60007c15f18139e3df8a741e9235671ac38fc7a6 data/twilightforest/worldgen/biome/swamp.json +bfbdce1f5cbcac01f601cd4635322e4ee8e2b0d4 data/twilightforest/worldgen/biome/thornlands.json +26d7a618adf59f85d3591de42535b0b928f93cb1 data/twilightforest/worldgen/biome/underground.json 5ff2a42f87d6825be3fed0036b8104950b6c99f6 data/twilightforest/worldgen/configured_carver/highland_caves.json 336615693b25154f37fc7a90597827740da29a86 data/twilightforest/worldgen/configured_carver/tf_caves.json aaabd69f1e630172252fd3e6bd0e5845ef2f8cd0 data/twilightforest/worldgen/configured_feature/birch_fallen_log.json @@ -159,8 +159,8 @@ ab76c025e8ae4ec52230793dd2609a34cfec97dc data/twilightforest/worldgen/configured 3afb7351561a98f14065cff830300735f3985625 data/twilightforest/worldgen/configured_feature/fallen_leaves.json 8cec51f8c8ef53061114075cca36e703dd7a0617 data/twilightforest/worldgen/configured_feature/fancy_well.json 244b31e5e86c79c1637e2d89902eddf50c2cb4d8 data/twilightforest/worldgen/configured_feature/fiddlehead.json -9a8b7912e3b4dadc6b50b827676498e72a4fe2da data/twilightforest/worldgen/configured_feature/fire_jet.json 21a8619af190cd1643fdb6b337aa3f06af671181 data/twilightforest/worldgen/configured_feature/firefly_lamppost.json +9a8b7912e3b4dadc6b50b827676498e72a4fe2da data/twilightforest/worldgen/configured_feature/fire_jet.json aacdb0d5124df3d216f9513b1c614786c90cb66e data/twilightforest/worldgen/configured_feature/flower_placer.json 015c3851c7dc146f279d9da4d6b9eeef98957cf9 data/twilightforest/worldgen/configured_feature/flower_placer_alt.json c64f9da10e9c58e50479510b54b4e794f0d885f5 data/twilightforest/worldgen/configured_feature/foundation.json @@ -206,11 +206,11 @@ bed2ac0078798f3e44858a48a619e6cdaa715493 data/twilightforest/worldgen/configured 58314130200614dca385486085b965364b61e2b8 data/twilightforest/worldgen/configured_feature/thorns.json a6ebebfc0e249c985caeb4cb92efdbefa08fc5b0 data/twilightforest/worldgen/configured_feature/torch_berries.json 0a25ac835015d4795d1fde9d714b421e34d0e5a1 data/twilightforest/worldgen/configured_feature/tree/canopy_tree.json +10ca87d8e641b9fce425b28a4db29b9e4168717d data/twilightforest/worldgen/configured_feature/tree/darkwood_lantern_tree.json +9134ae27a3f86f7eb9001aa476735f91548d86b9 data/twilightforest/worldgen/configured_feature/tree/darkwood_tree.json 0587198b9292197f6804ee891cad22ee318b5141 data/twilightforest/worldgen/configured_feature/tree/dark_forest_birch_tree.json 61ed61389b68efed2c636c323ee8c54a5499fb3d data/twilightforest/worldgen/configured_feature/tree/dark_forest_oak_tree.json 86d9ba5af19b38424253867a8bab704edf7afc81 data/twilightforest/worldgen/configured_feature/tree/dark_oak_bush.json -10ca87d8e641b9fce425b28a4db29b9e4168717d data/twilightforest/worldgen/configured_feature/tree/darkwood_lantern_tree.json -9134ae27a3f86f7eb9001aa476735f91548d86b9 data/twilightforest/worldgen/configured_feature/tree/darkwood_tree.json 5ca8b61a83ec737b626d08c2ad793e4e445dc016 data/twilightforest/worldgen/configured_feature/tree/dead_canopy_tree.json cbc01407f81c547e1384753574d83f4983bc738b data/twilightforest/worldgen/configured_feature/tree/dummy.json 0ad866298546ce4e591fde2d2860d424314a52f5 data/twilightforest/worldgen/configured_feature/tree/firefly_canopy_tree.json @@ -338,15 +338,15 @@ d4b16668d221727443d34486ceb204ab4e05a217 data/twilightforest/worldgen/placed_fea ac5970e01446400da9ec1b1849ada5bccc3b297e data/twilightforest/worldgen/placed_feature/tree/savannah_mega_oak_tree.json 78007e2a000d579681989a4a315b5660842f54ee data/twilightforest/worldgen/placed_feature/tree/savannah_oak_tree.json 91728e0e264814771b4ae81e685a79fe04fff9d3 data/twilightforest/worldgen/placed_feature/tree/selector/canopy_trees.json -7f72206fa2b20e2c8160cd2c6a5f827217b3d7e9 data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_tree_mix.json eae55c473ceaae23c99abbc920041e1c691be5df data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_trees.json +7f72206fa2b20e2c8160cd2c6a5f827217b3d7e9 data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_tree_mix.json 2a05882dd9a4d281fe343e5d2ceade011e90e321 data/twilightforest/worldgen/placed_feature/tree/selector/dense_canopy_trees.json fb37e8e02c450948fc4525a35257c469607d427d data/twilightforest/worldgen/placed_feature/tree/selector/enchanted_forest_trees.json 58f22d2c7fe51c9cff62f49662c4982bbfc717a8 data/twilightforest/worldgen/placed_feature/tree/selector/firefly_forest_trees.json 358af8dfd36487bef3904ee1b4e3d799a08ecfa4 data/twilightforest/worldgen/placed_feature/tree/selector/highlands_trees.json bca7957aac5ba3534a8f2a4c8f842ea1bd266478 data/twilightforest/worldgen/placed_feature/tree/selector/snowy_forest_trees.json 4eb5c640f35d915eadd83b303c47816191251d1e data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_mushrooms.json -9ecf6939d7612abee5342154ba8c989f228f897c data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json +6765352a53e3e7b7e9aac8ffaffff9ef36663e5d data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json 52a540baec5ed45c4f48a01b5b795de773a59e63 data/twilightforest/worldgen/placed_feature/tree/swampy_oak_tree.json 78007e2a000d579681989a4a315b5660842f54ee data/twilightforest/worldgen/placed_feature/tree/twilight_oak_tree.json 145ac05ff7c473d38fadff3a0392cebc981677ae data/twilightforest/worldgen/placed_feature/troll_mushglooms.json @@ -364,7 +364,7 @@ f3dd6746ddee506d0e5ce66db99546a6d2b1bc48 data/twilightforest/worldgen/structure/ 96718e6c4d0937959a03e8c993417389ee21bc0f data/twilightforest/worldgen/structure/hedge_maze.json f35e8eb12aec608aca086710548b4cb796b412ba data/twilightforest/worldgen/structure/hollow_tree.json 8b984ac036f5a7d29cbb522d24785f87a085c572 data/twilightforest/worldgen/structure/hydra_lair.json -12f1dd565ef18b5c7f1a23486791db6c9f2d2524 data/twilightforest/worldgen/structure/knight_stronghold.json +b3e3877005ddfcdf009312fd0df0f0b60f450d39 data/twilightforest/worldgen/structure/knight_stronghold.json b144587f63f08ae87eeefd48fa70fdca6da7b57a data/twilightforest/worldgen/structure/labyrinth.json aa10576faf6be61c9278fbb735d6d409bcfc47ee data/twilightforest/worldgen/structure/large_hollow_hill.json a45be982e58123b8d38e373129bcb0e181e2a0db data/twilightforest/worldgen/structure/lich_tower.json diff --git a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 index e9a857b39c..0074caca0f 100644 --- a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 +++ b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 @@ -1,3 +1,3 @@ -// 1.21.1 2024-08-11T11:15:17.211021251 atlases generator for twilightforest +// 1.21.3 2025-01-08T00:35:56.3455556 atlases generator for twilightforest 96e2042509c2eaf9f49d31eab7d9a8f81d383e6e assets/minecraft/atlases/magic_paintings.json 12d940f0ad9e725c31f186f1c14a637e20ab47da assets/minecraft/atlases/shield_patterns.json diff --git a/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 b/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 index 606420d0ec..94f1e50c4f 100644 --- a/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 +++ b/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.188352212 Twilight Forest Wood Palette Tags +// 1.21.3 2025-01-08T00:35:56.3120428 Twilight Forest Wood Palette Tags 265731121ea72d3fb96f83b5f3d69695ff1d6d80 data/twilightforest/tags/twilight/wood_palettes/common.json b10e3c1ec45b721b1dee81e0d5c0ad9d72a95eb9 data/twilightforest/tags/twilight/wood_palettes/druid_hut_swizzle_mask.json b2b124b96881ce4886e055e8ee4089362f98e845 data/twilightforest/tags/twilight/wood_palettes/rare.json diff --git a/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 b/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 index bc55ab1ecc..a873041b53 100644 --- a/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 +++ b/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.18870486 Global Loot Modifiers : twilightforest +// 1.21.3 2025-01-08T00:35:56.3140436 Global Loot Modifiers : twilightforest d18971f5e2ac4ddbfba3cc790e9817c20548a830 data/neoforge/loot_modifiers/global_loot_modifiers.json 389326cc4dbb4e20d34dd6355c0769af4de9e356 data/twilightforest/loot_modifiers/fiery_pick_smelting.json 7110d07feb8fa62ed414ad72b2f0644a5cda469f data/twilightforest/loot_modifiers/giant_pick_grouping.json diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 index bbf13b471c..f087a8e41e 100644 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-12-03T23:40:31.3862893 TwilightForest blockstates and block models +// 1.21.3 2025-01-08T00:35:56.3255548 TwilightForest blockstates and block models cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json 9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json diff --git a/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 b/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 index 20a7905edb..9b7b4e31a0 100644 --- a/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 +++ b/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 @@ -1,2 +1,2 @@ -// 1.21.1 2024-11-17T00:08:06.597201 Tags for minecraft:worldgen/structure mod id twilightforest +// 1.21.3 2025-01-08T00:35:56.3090423 Tags for minecraft:worldgen/structure mod id twilightforest 17650863330056c79d7282d1954ffbeea1905a33 data/twilightforest/tags/worldgen/structure/landmark.json diff --git a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 b/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 index dd3cfb3dcc..9a37621947 100644 --- a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 +++ b/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 @@ -1,2 +1,2 @@ -// 1.21.1 2024-08-11T11:15:17.186487167 Twilight Forest Fluid Tags +// 1.21.3 2025-01-08T00:35:56.308043 Twilight Forest Fluid Tags 9fa2db0c3bb4bf9ed90554cacefc9aa8a502b765 data/twilightforest/tags/fluid/fire_jet_fuel.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 80f77db526..be88c36618 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,14 +1,13 @@ -// 1.21.1 2024-12-31T14:04:43.243701806 Loot Tables +// 1.21.3 2025-01-08T09:31:30.5506405 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json d29388fb46e8211e8d3624b744d195b3a6f4c6ff data/twilightforest/loot_table/blocks/alpha_yeti_trophy.json -3f04f0369241cf99202c72b4d56bc5368396e367 data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json 99eaaec1b6ce06aaecac75ea99dfb4c7a87ab44e data/twilightforest/loot_table/blocks/arctic_fur_block.json +3807dcd33667ebcfecdf1c8a3afb85a94f0d6c21 data/twilightforest/loot_table/blocks/auroralized_glass.json a5dec570bc6e4842edbfdcd9bbbb8d860c42a9a2 data/twilightforest/loot_table/blocks/aurora_block.json 667fa75ac6d7b1def6ebc12ff4cd3f4418ce46aa data/twilightforest/loot_table/blocks/aurora_pillar.json 200d29ce35f204d2e33008e8df534a733bcc4b76 data/twilightforest/loot_table/blocks/aurora_slab.json -3807dcd33667ebcfecdf1c8a3afb85a94f0d6c21 data/twilightforest/loot_table/blocks/auroralized_glass.json 5f11c7db042d7f9addfdc5778f18993b65c3fe13 data/twilightforest/loot_table/blocks/bamboo_banister.json 9f04d92b3ed9b8529f302c7b541107a7d0016049 data/twilightforest/loot_table/blocks/beanstalk_leaves.json bda69bafc8cce3c55b3ff49ea8a325db93a160ef data/twilightforest/loot_table/blocks/birch_banister.json @@ -38,8 +37,6 @@ a1ccdd30cf66304dd3a4e5619a83155624516c4c data/twilightforest/loot_table/blocks/c 29656e076bf6c241ad3e9e44e309932d620ca95f data/twilightforest/loot_table/blocks/canopy_stairs.json 185bcf7a3f12e7d86b148c19e47e535c0b4ab846 data/twilightforest/loot_table/blocks/canopy_trapdoor.json 9412c9aa320f515843e178434d5418c26acecc89 data/twilightforest/loot_table/blocks/canopy_trapped_chest.json -d413e05b04f21561298fe2580cc06d7f7654efdf data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json -d497557999869c0603bc3083a041efa93db51a3b data/twilightforest/loot_table/blocks/canopy_wall_sign.json d2506d536a6ba414f393b7265aaf75e7786530ff data/twilightforest/loot_table/blocks/canopy_window.json 377b6176989c94e2e2303f79b6a0fffaa93f8bab data/twilightforest/loot_table/blocks/canopy_window_pane.json 31944a27f3a7919ab4747a80c2bd60c9f037422b data/twilightforest/loot_table/blocks/canopy_wood.json @@ -70,9 +67,9 @@ bbac81289302a674adfb92be054b0403d0923a30 data/twilightforest/loot_table/blocks/c 8ab83cefa42da1bf07fd5bdc82657a8d1146532e data/twilightforest/loot_table/blocks/cracked_towerwood.json 8ef570e01a6dc0a10766a81044a894d786a8a5c1 data/twilightforest/loot_table/blocks/cracked_underbrick.json d61e676029ca489545f8d2c516adc3033e630a6e data/twilightforest/loot_table/blocks/creeper_skull_candle.json -b4c24bf2e905cf396d71f8fa42fcc527c4a95a90 data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json 00a7c254a70ec84780a716bb978676eb66e50265 data/twilightforest/loot_table/blocks/crimson_banister.json a2994608546050b0a26a1f2d08a4bc830b3087d7 data/twilightforest/loot_table/blocks/cut_mazestone.json +80287ef8bf615931d53a5d2671ecaf878246e835 data/twilightforest/loot_table/blocks/darkwood_sapling.json 07b2d72640bedc126c71e825013dbfe9453532c4 data/twilightforest/loot_table/blocks/dark_banister.json 0f90eaa79ef997a509f7247057826fefa3d9c78b data/twilightforest/loot_table/blocks/dark_button.json 8c581166ed410c9591a6cf6a210ce9f87dd2c939 data/twilightforest/loot_table/blocks/dark_chest.json @@ -90,10 +87,7 @@ c8a9a50d6e7c03b354b5da00bb675017877a1ee6 data/twilightforest/loot_table/blocks/d 4166bab52eb795a5a0f035cef1642ba7039bcee9 data/twilightforest/loot_table/blocks/dark_stairs.json 851e1c9caa67bb93cf49cedc044e6b5e5fa08d9e data/twilightforest/loot_table/blocks/dark_trapdoor.json 2d25ca8522019a996bd37fabba8aa6052946be8e data/twilightforest/loot_table/blocks/dark_trapped_chest.json -c18f4cf533e235f523da6f494749d0a95790d1e8 data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json -4aaf8c751075b5c5fbac4efbcd1eae673bb4efdd data/twilightforest/loot_table/blocks/dark_wall_sign.json f82982d1e0d2cec002d1429694a4dfbcd3dad4d4 data/twilightforest/loot_table/blocks/dark_wood.json -80287ef8bf615931d53a5d2671ecaf878246e835 data/twilightforest/loot_table/blocks/darkwood_sapling.json 6d9b22ca2a61df16e6de623b4ddf0a538e00e000 data/twilightforest/loot_table/blocks/deadrock.json 42637cc4c19e5486657c50a9c8371322d9734203 data/twilightforest/loot_table/blocks/decorative_mazestone.json e0281c7f1ee3c48e2b7386bd42fc5162fe82c198 data/twilightforest/loot_table/blocks/encased_castle_brick_pillar.json @@ -106,11 +100,11 @@ bbd8e9c07a2b58bb7c771a42379041a603393838 data/twilightforest/loot_table/blocks/e 866a1a6aadf06058884f13c948254a84e25fb754 data/twilightforest/loot_table/blocks/fallen_leaves.json 6b2198a9df538fe65675436392cc2175c1ebf707 data/twilightforest/loot_table/blocks/fiddlehead.json b48f8596ae93ef9a75b867f87fd08ce8af244649 data/twilightforest/loot_table/blocks/fiery_block.json -926a875805a8102d5cfe386ffa8c2dbffd4efd65 data/twilightforest/loot_table/blocks/fire_jet.json a5d4fd8213fe43d255da2297c2850a66be69954a data/twilightforest/loot_table/blocks/firefly.json ffe4251762fbccaaa4b027e422ba2f80f337484f data/twilightforest/loot_table/blocks/firefly_jar.json 1291c2cc152ffbc2e9e137d259ea845ab8d2d71b data/twilightforest/loot_table/blocks/firefly_particle_spawner.json 874fd85b34a65dc85719b7279360e4602fe22566 data/twilightforest/loot_table/blocks/firefly_squish.json +926a875805a8102d5cfe386ffa8c2dbffd4efd65 data/twilightforest/loot_table/blocks/fire_jet.json 5b67a87da55f12ee8cb1ad77127a3ee2d0a16137 data/twilightforest/loot_table/blocks/fluffy_cloud.json 73b1f26941244c13c4bacd0131a16740bf4c4ed6 data/twilightforest/loot_table/blocks/ghast_trap.json 29de94fc6a8ebe3fdccf9414739a35fe2ce63df4 data/twilightforest/loot_table/blocks/giant_cobblestone.json @@ -180,17 +174,14 @@ d22656bff92f84d8d90e7ba69c01fc781d0bbcc4 data/twilightforest/loot_table/blocks/h 6a14e85f85ba3282da724b8137d64714e7c5e110 data/twilightforest/loot_table/blocks/huge_stalk.json bd7f9dfbd62683edbfa523354ecefa1fd8adaa48 data/twilightforest/loot_table/blocks/huge_water_lily.json bfac878f3f3337cae9b12477f82d0004dc489bb3 data/twilightforest/loot_table/blocks/hydra_trophy.json -0205105158226ac9a0d568bbe0bcf2ec051d9c32 data/twilightforest/loot_table/blocks/hydra_wall_trophy.json -3f7e92cbac43eeb9b9677d7e0047128ffab1c5c4 data/twilightforest/loot_table/blocks/iron_ladder.json 66caeca7e64506c4ebf595c81d40ebb03d68e07c data/twilightforest/loot_table/blocks/ironwood_block.json +3f7e92cbac43eeb9b9677d7e0047128ffab1c5c4 data/twilightforest/loot_table/blocks/iron_ladder.json c615f3316b9deb500c021b5665729ca49639ba13 data/twilightforest/loot_table/blocks/jungle_banister.json cd7cbebd276c4a3119c54f6da92aa512c05e1422 data/twilightforest/loot_table/blocks/keepsake_casket.json -987a3f9e2b2a1417c6281e6750f8db1115c2ca1d data/twilightforest/loot_table/blocks/knight_phantom_trophy.json -793762d982dc1d7e2755c924339b7dafd059272f data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json 8b178ab9d6562c428e911e9fd51d63623780be56 data/twilightforest/loot_table/blocks/knightmetal_block.json +987a3f9e2b2a1417c6281e6750f8db1115c2ca1d data/twilightforest/loot_table/blocks/knight_phantom_trophy.json 48c340fc13fbd8cae6f8bd034a86c0b6de02a9ef data/twilightforest/loot_table/blocks/lich_tower_miniature_structure.json 7045787f475d232b2e26ec20854969e965f2e244 data/twilightforest/loot_table/blocks/lich_trophy.json -208f460e09f8815027f17b33304afaf712229eeb data/twilightforest/loot_table/blocks/lich_wall_trophy.json 2547eaa7781f45faa74e0aa748ee17007b88c534 data/twilightforest/loot_table/blocks/liveroot_block.json c970644b2a1dd779858be31b101d4257dc3fcd87 data/twilightforest/loot_table/blocks/locked_vanishing_block.json 184395e74c549475f1a07b28bbb99ab6065eb3ae data/twilightforest/loot_table/blocks/mangrove_banister.json @@ -211,8 +202,6 @@ c34dc1aefce1651afabc2e97ef14b193a8aa1730 data/twilightforest/loot_table/blocks/m 49ee182855bdd54254935f6bc8c638ffee673acc data/twilightforest/loot_table/blocks/mangrove_stairs.json fa2dea13306940985312b5236b4aeaf04a56e875 data/twilightforest/loot_table/blocks/mangrove_trapdoor.json 714d323fb9d8f3dd82d87fe9a551c5428f99eb0c data/twilightforest/loot_table/blocks/mangrove_trapped_chest.json -16c0cc385d47c02a71da1dbe69f8544b972d16f5 data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json -7f37fbd2807cc80e20cdb329b7e47b33956981a5 data/twilightforest/loot_table/blocks/mangrove_wall_sign.json 8e7d5159e1cfae13c772089a84812e34233e80d6 data/twilightforest/loot_table/blocks/mangrove_wood.json ff144923520870205a5f98605b33ff8c39b9430d data/twilightforest/loot_table/blocks/mason_jar.json a7d361b37fcd65499cfba4692d9144b5094bc57d data/twilightforest/loot_table/blocks/mayapple.json @@ -238,14 +227,10 @@ acb3bd9b22c24711bbdd8f829361d0ed899ff421 data/twilightforest/loot_table/blocks/m a86cbc4871c0ebf5604d4bc3e5471f50df7d1fe8 data/twilightforest/loot_table/blocks/mining_stairs.json a5d05a7a148f8a08b332ef12c66e94cca13b28c9 data/twilightforest/loot_table/blocks/mining_trapdoor.json 83b9da3101c9a5bb7513b20b539bb1f7441468e4 data/twilightforest/loot_table/blocks/mining_trapped_chest.json -7b4d35da8bea596c409313db3ae668d612b99706 data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json -e6c740b43f202b58c6d558162b800b3d09f4fb15 data/twilightforest/loot_table/blocks/mining_wall_sign.json dc7b881eaacf704e632a74ce9b5a074e6deadaaa data/twilightforest/loot_table/blocks/mining_wood.json 3aef535d7c935cb886f3e9fa9126246a7d4fda30 data/twilightforest/loot_table/blocks/minoshroom_trophy.json -70a7f91ceb28f93e51f2f91ddd38add7d61b3a7b data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json d0d4666b40bcae766f1b1b75ae17cc118e27dab0 data/twilightforest/loot_table/blocks/moonworm.json 1068831eee22daf8b30e3362e6c0d6774038cf11 data/twilightforest/loot_table/blocks/moonworm_squish.json -92cd112d68645d4d32ef41772d22edeb08b58eb9 data/twilightforest/loot_table/blocks/moss_patch.json 0c4e9f7e12a568f9a56a17525d2484ac3148f3a9 data/twilightforest/loot_table/blocks/mossy_castle_brick.json f4bdbc163472a30228a1840263a48a390fea1757 data/twilightforest/loot_table/blocks/mossy_castle_brick_stairs.json 5cb69496ae33a39c843c031e3f0890f23cde232f data/twilightforest/loot_table/blocks/mossy_etched_nagastone.json @@ -255,23 +240,21 @@ f4bdbc163472a30228a1840263a48a390fea1757 data/twilightforest/loot_table/blocks/m 1dd7b186a56935426efac84a2cff03a72d359841 data/twilightforest/loot_table/blocks/mossy_nagastone_stairs_right.json eac2254ff1c9b3be29d9f4ae192f8d97c5d3729b data/twilightforest/loot_table/blocks/mossy_towerwood.json 067acbf284f81a9614211592f3ae77d517fe6984 data/twilightforest/loot_table/blocks/mossy_underbrick.json +92cd112d68645d4d32ef41772d22edeb08b58eb9 data/twilightforest/loot_table/blocks/moss_patch.json 0f2e054d406e2e7ec4bafae798db1e4da0ce4206 data/twilightforest/loot_table/blocks/mushgloom.json -0f80fec031abfa4b94bdc01b01f09f2d0eea91c5 data/twilightforest/loot_table/blocks/naga_courtyard_miniature_structure.json -8362b90696511f90e4b7127ea00e33a259b75e6f data/twilightforest/loot_table/blocks/naga_trophy.json -7e07479ec8e56d4890b58292026eb94ae71ff0cb data/twilightforest/loot_table/blocks/naga_wall_trophy.json 431ec5b59b89a47a27bdd7d96af32badc7f80111 data/twilightforest/loot_table/blocks/nagastone.json 0decb9c09606e9af6ba3ee4fee97577a0c3c5fba data/twilightforest/loot_table/blocks/nagastone_head.json 080449be25b15cc8c684552449d14dc15251e9e5 data/twilightforest/loot_table/blocks/nagastone_pillar.json 6bc0c49338303e36dd7ace0e15a47da8a5ea96e2 data/twilightforest/loot_table/blocks/nagastone_stairs_left.json 88125a74968af1e3ac1710a966b9d488374c57c1 data/twilightforest/loot_table/blocks/nagastone_stairs_right.json +0f80fec031abfa4b94bdc01b01f09f2d0eea91c5 data/twilightforest/loot_table/blocks/naga_courtyard_miniature_structure.json +8362b90696511f90e4b7127ea00e33a259b75e6f data/twilightforest/loot_table/blocks/naga_trophy.json f03df1f2f8dde9a71d77995e80a79b35d9b0ff8f data/twilightforest/loot_table/blocks/oak_banister.json 4d6ec75ad56ebca430fe66c0769b30dce798ce5d data/twilightforest/loot_table/blocks/ominous_spawner_drops.json e7c5f522400048e5ef3e08884e818fbfd041fd8d data/twilightforest/loot_table/blocks/piglin_skull_candle.json -0c424a5c5b78d7c00155f6ab58bfa561cb1312e5 data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json f83e9022837ea67abc55968736d3a89cdccdf9af data/twilightforest/loot_table/blocks/pink_castle_door.json 36eb4496763fbcff4286f2ffd93f5a58044d42c8 data/twilightforest/loot_table/blocks/pink_castle_rune_brick.json a41224c6a0ce879331da4a8a321e1f9b6bdcd60b data/twilightforest/loot_table/blocks/player_skull_candle.json -239f073e1f009d0c55e2a163f6f2f6fe6912556d data/twilightforest/loot_table/blocks/player_wall_skull_candle.json ae086900b46541a8bf0d43c996a969cfc5b71100 data/twilightforest/loot_table/blocks/potted_canopy_sapling.json 56a32501fc0b33664ce48496d083fd08f31b1bc9 data/twilightforest/loot_table/blocks/potted_darkwood_sapling.json efbedd258685b779150610fa92b9f27c92ab6b2b data/twilightforest/loot_table/blocks/potted_dead_thorn.json @@ -289,7 +272,6 @@ f0bddbe42a20d13d0678a0868e00f153a1eb8334 data/twilightforest/loot_table/blocks/p 68a230519a73ef6091ff14a2fb4ef35459dcaeb8 data/twilightforest/loot_table/blocks/potted_transformation_sapling.json b7e318ae6927478087018b960f224cad8145efb6 data/twilightforest/loot_table/blocks/potted_twilight_oak_sapling.json 939e5a661d69b674d38daca6cc425b79fbb0771e data/twilightforest/loot_table/blocks/quest_ram_trophy.json -188ce825162aa7f13d716fbf2c14e7521c83c6ba data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json 4ae9bf6f794122aab09811117ba651bb947de02d data/twilightforest/loot_table/blocks/rainbow_oak_leaves.json d4cf2ba1c9d5ad6b35a2ef1b173496f27a7c789f data/twilightforest/loot_table/blocks/rainbow_oak_sapling.json 775f8f7ca2f7f51f67f229bae271f569d16a081b data/twilightforest/loot_table/blocks/rainy_cloud.json @@ -299,12 +281,10 @@ fff8c14cea64f079189a2e6eeb2bc54526fe0a3c data/twilightforest/loot_table/blocks/r ab8d5987d12f7961a1f8bc2669c889ef58eb3aff data/twilightforest/loot_table/blocks/root_strand.json fb7868a21fc15bb2227693e0604831ce049a0772 data/twilightforest/loot_table/blocks/rope.json ef904a158987dbd9963909ef8fb80667071025b7 data/twilightforest/loot_table/blocks/skeleton_skull_candle.json -ae6d7a73102bfb46c3fe678debd0a35187e9125f data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json -c120a004605df50dbf12daaa9adbae2f6e670063 data/twilightforest/loot_table/blocks/skull_chest.json +fa1bacdc1bec1dd168958c51a377d9a0609f44dc data/twilightforest/loot_table/blocks/skull_chest.json b7336d3399cc73483a2b33de9185b17f64d19c1d data/twilightforest/loot_table/blocks/smoker.json -b1e3901cfaa3a38522179ac1f7338841754f13f9 data/twilightforest/loot_table/blocks/snow_queen_trophy.json -29b8308cd96cd2f1c97ff485debf988e3defd32a data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json 358ed83d512f26a1dda0ab29047792e465020783 data/twilightforest/loot_table/blocks/snowy_cloud.json +b1e3901cfaa3a38522179ac1f7338841754f13f9 data/twilightforest/loot_table/blocks/snow_queen_trophy.json 7b140db526bb684f477ea3c0ec2cea971d547a74 data/twilightforest/loot_table/blocks/sorting_banister.json 692b74005bd416363d52447f9bbe322fcfc4682a data/twilightforest/loot_table/blocks/sorting_button.json 9caf7962ba5063468edd9d2e5b719483e443559a data/twilightforest/loot_table/blocks/sorting_chest.json @@ -323,8 +303,6 @@ c308616d1d5bdc9a3dc89363e2aae91cf05654fe data/twilightforest/loot_table/blocks/s e9216fcf29b8f1bec1a2daa7b71a3f2317f7d9f6 data/twilightforest/loot_table/blocks/sorting_stairs.json 658c93d6f65a395f54dd82a0cd6a73865af9a9a4 data/twilightforest/loot_table/blocks/sorting_trapdoor.json a671c96da4369e48f516ec8b539f74b0ec99a920 data/twilightforest/loot_table/blocks/sorting_trapped_chest.json -8688863ff211147c85ab332ba2df709b7e793b94 data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json -c6a8c428884ef903652b1846a05bb6e9c40c68a4 data/twilightforest/loot_table/blocks/sorting_wall_sign.json 279ac0626be45dd278729eaa97ed26b5b0f239b9 data/twilightforest/loot_table/blocks/sorting_wood.json 00968180c91a6c3b30146e53fffb3d09390539bb data/twilightforest/loot_table/blocks/spiral_bricks.json cd3bbae7632b8ec188de87623514e55238a25120 data/twilightforest/loot_table/blocks/spruce_banister.json @@ -369,8 +347,6 @@ cc89413a5cc8f2b68132f71db16fd133c1db2502 data/twilightforest/loot_table/blocks/t 46428b0c4e96ce1977e0853e815d2e4e3f62fc91 data/twilightforest/loot_table/blocks/time_stairs.json d442e7ba6f58ee63e6640eb65a4ba98a430f7ba8 data/twilightforest/loot_table/blocks/time_trapdoor.json b516c0089e48e04b1922cbde1755fd95290dd999 data/twilightforest/loot_table/blocks/time_trapped_chest.json -12e950550429ad3669bdb15d4d2ec6c0b6f220f6 data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json -4096ae04fd8e3f49938dd4c31cd137b1e2df9fd3 data/twilightforest/loot_table/blocks/time_wall_sign.json 864672ea541741b3be3370040ada280174b95aa1 data/twilightforest/loot_table/blocks/time_wood.json 5a89890d2925dbe28b9e73ee1217ff73ccfe0363 data/twilightforest/loot_table/blocks/torchberry_plant.json 31ec47db3132ff4cd4cdb820325c8879a31ae34b data/twilightforest/loot_table/blocks/towerwood.json @@ -392,8 +368,6 @@ e80811a6760850312608f0f142df1a7fe089004a data/twilightforest/loot_table/blocks/t fad0a9aa19b26734a620ac0edaeb2466bc77007a data/twilightforest/loot_table/blocks/transformation_stairs.json 96063be74c82b2b583e21f8264939ed96a7c6cf2 data/twilightforest/loot_table/blocks/transformation_trapdoor.json fc91a8ec60fe94fc343219a07a44f3973a1b5f08 data/twilightforest/loot_table/blocks/transformation_trapped_chest.json -c7320b04dfdf3f198c259966db7842326ea0c767 data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json -60267eaf238ffd637767de11fabc849f7550e0b1 data/twilightforest/loot_table/blocks/transformation_wall_sign.json e4df64bb29059e0404503e7a94016abef68191c1 data/twilightforest/loot_table/blocks/transformation_wood.json cc275d9b2b99f3727c23afcbca8f07601d5bd445 data/twilightforest/loot_table/blocks/trollber.json 7184c6f3cc755dc7639f7bfa5e3cc3ed030473c6 data/twilightforest/loot_table/blocks/trollsteinn.json @@ -416,10 +390,8 @@ a5dfdae3714d28bc9fd8d900866a80c91397cc52 data/twilightforest/loot_table/blocks/t 2034817a60ef7554b05ef5a190162e3470051e6f data/twilightforest/loot_table/blocks/twilight_oak_stairs.json abd803fcc2d621d58db78352243ebd9eada88e83 data/twilightforest/loot_table/blocks/twilight_oak_trapdoor.json dd136477c304f0fc25b6a2fab8fcc813527fc3e3 data/twilightforest/loot_table/blocks/twilight_oak_trapped_chest.json -5b08654a251644a51a225b742cd65891932437eb data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json 5dd4d3caffacc7f9cfac0ff16117ffb83e279cb8 data/twilightforest/loot_table/blocks/twilight_oak_wood.json f4119b96972fb42dc6eae9b2055110e10ec7094f data/twilightforest/loot_table/blocks/twilight_portal_miniature_structure.json -46ec9a9f5b6df6b3950ab6189f8449e655dea120 data/twilightforest/loot_table/blocks/twilight_wall_sign.json 3c433a6832d558276b24ab221e3d80f90cbac9d4 data/twilightforest/loot_table/blocks/twisted_stone.json b38ab6639f0482db89eaa2eb7d0e0cc1831f9aee data/twilightforest/loot_table/blocks/twisted_stone_pillar.json c5c88d8ecdc3eb3a249a94c0bacb447b7af7351c data/twilightforest/loot_table/blocks/uberous_soil.json @@ -428,7 +400,6 @@ ec81f16821d0d34d157e06082767807529d6c0ff data/twilightforest/loot_table/blocks/u c37b450ad4c1d6cff44b3d1e74b07adf493a549e data/twilightforest/loot_table/blocks/underbrick_floor.json 43745d8d5a75e09bb6923b41883ce84092f9b047 data/twilightforest/loot_table/blocks/unripe_trollber.json 05edc2e04653054c7fe51be486edd371a1b3215e data/twilightforest/loot_table/blocks/ur_ghast_trophy.json -69e846020d1ebb077ecf7f76071a34e8f97e3d72 data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json eb70ee3903fdfbeda48a10cb517ecd70f3b1d26d data/twilightforest/loot_table/blocks/vangrove_banister.json 6aeb78b6e833682151735a7c098410974f9d6c66 data/twilightforest/loot_table/blocks/vanishing_block.json 1546a1b4e91b8c9423e0c06917cf6c0e4f607619 data/twilightforest/loot_table/blocks/violet_castle_door.json @@ -437,14 +408,12 @@ b7fb33484e86adc8afbc8622f5aca551a60be9f7 data/twilightforest/loot_table/blocks/w a495497210599a26ae1408709eb6cb20afe1ea59 data/twilightforest/loot_table/blocks/weathered_deadrock.json fd5605bf10fa2e709dcc9d12dcc077bfb6d2ca06 data/twilightforest/loot_table/blocks/wispy_cloud.json 55c8cbee4df9178f36912aa55fab214e1e34f4e4 data/twilightforest/loot_table/blocks/wither_skeleton_skull_candle.json -39056bc37d8b022f30c65a3050164c013db6338d data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json df0aea94b36896095e88152eedb6fd01ee8c1fe3 data/twilightforest/loot_table/blocks/worn_castle_brick.json ed2fd0767031e9cc8ec81ff6c8671180848cd0f5 data/twilightforest/loot_table/blocks/worn_castle_brick_stairs.json 190b3aa04d3cbd5888e58417d1ad612b7c23c45a data/twilightforest/loot_table/blocks/wrought_iron_fence.json b3507ca92af17635402d16ecbab1ac502deafc3e data/twilightforest/loot_table/blocks/yellow_castle_door.json 9a9fef9ac1eee0cfd653a6157e7e8bfe329bb420 data/twilightforest/loot_table/blocks/yellow_castle_rune_brick.json f6f955a9b6eab3108071104319701e84fc4ce5d5 data/twilightforest/loot_table/blocks/zombie_skull_candle.json -a49d1d64b70fc90cec5f3c947fe2467a6dc60016 data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json 53072cea763e790a9ef2465367e3d75b60630af6 data/twilightforest/loot_table/chests/basement.json 28eb3bab3e238426a093275a3bffb3fa8cc0d63e data/twilightforest/loot_table/chests/casket_loot.json 0bef516a1e2af8997605a7aba43f809f96650ae7 data/twilightforest/loot_table/chests/hut_junk.json @@ -479,7 +448,7 @@ bd2d6a4ae57ebdbf5c16666764813559b6eb9f55 data/twilightforest/loot_table/entities f6a9e1b6d1f594364c94c9788b378809bd6e4862 data/twilightforest/loot_table/entities/bighorn_sheep/red.json 4fc3f19a01738ba3caeba8e4058a9171dd68611b data/twilightforest/loot_table/entities/bighorn_sheep/white.json ede4709517b8c9f9e51a0d1af2f0dd47995ca752 data/twilightforest/loot_table/entities/bighorn_sheep/yellow.json -c0b9ce169e4d8a3667413a8e8895d38207b9b7ec data/twilightforest/loot_table/entities/blockchain_goblin.json +ee0d3394aba8b86e13b70a12a9d701f5fe9bd93e data/twilightforest/loot_table/entities/block_and_chain_goblin.json 22222a75f0d746c00e13f187e6442c3a4d25d5f3 data/twilightforest/loot_table/entities/boar.json 53a00683bd0a4a64c9021236d7cb08a7326b9850 data/twilightforest/loot_table/entities/carminite_broodling.json d870ef32700caf2fb8047fd8cebb7a15ca741e94 data/twilightforest/loot_table/entities/carminite_ghastguard.json @@ -487,7 +456,7 @@ d870ef32700caf2fb8047fd8cebb7a15ca741e94 data/twilightforest/loot_table/entities 044337984dc35793d6d4d98a09ddf3a39f8db8bd data/twilightforest/loot_table/entities/carminite_golem.json 2bc356b38d536e9be3210502d2bf77c83dd899e5 data/twilightforest/loot_table/entities/death_tome.json a2b2843532b1cb2832cd1f29c98ef0bd0e71dd99 data/twilightforest/loot_table/entities/death_tome_books.json -a55d5505e4edba8194e2cc6a07583748d24b4e17 data/twilightforest/loot_table/entities/death_tome_hurt.json +6f205f34a9d2035f11c147bea2365e2fe1012dd6 data/twilightforest/loot_table/entities/death_tome_hurt.json 04bb73a707746b3545507388fcdc73ae59b5739b data/twilightforest/loot_table/entities/deer.json 3bc0e2265cfe30e7080b490aefb4d32a6e2a7b60 data/twilightforest/loot_table/entities/dwarf_rabbit.json 85308e363af630f188b21b27ac48f38fe144a6ab data/twilightforest/loot_table/entities/fire_beetle.json @@ -514,15 +483,13 @@ f57e98e67180169e4748c51bec4f27a84b70cd54 data/twilightforest/loot_table/entities 6e831180e51e331ed6b8d69495e9d8c3ead1255e data/twilightforest/loot_table/entities/naga.json 46b13163a89470d5f123426d2767e60bd9d50b10 data/twilightforest/loot_table/entities/penguin.json 0b9f9dcfca3fc432141f29e80be79055bc0f7e3f data/twilightforest/loot_table/entities/pinch_beetle.json -c5d09d0f732a3c1cf3d94cb29842a5d1880a493d data/twilightforest/loot_table/entities/plateau_boss.json -cbbb1da3d431d2dd15acffd5ff9ea496f2193886 data/twilightforest/loot_table/entities/quest_ram.json -e16027ed9e992e218c855d24a00b3bf1c3f4a71d data/twilightforest/loot_table/entities/questing_ram_reward_blocks.json 2674d485b9de5fb55de709b116e4f0eebd51f275 data/twilightforest/loot_table/entities/questing_ram_rewards.json +e16027ed9e992e218c855d24a00b3bf1c3f4a71d data/twilightforest/loot_table/entities/questing_ram_reward_blocks.json +cbbb1da3d431d2dd15acffd5ff9ea496f2193886 data/twilightforest/loot_table/entities/quest_ram.json bb6e2104e8ba24e4f56bd35a2416fbec3d05bd0a data/twilightforest/loot_table/entities/raven.json de733b0047730edb62048c70a31cd8b61c26a501 data/twilightforest/loot_table/entities/redcap.json 4cd46649535de269310e4bf100668f812877a628 data/twilightforest/loot_table/entities/redcap_sapper.json 18b6bbcacd60d26611f913dcf1e4960b3621b54b data/twilightforest/loot_table/entities/rising_zombie.json -3b7df9cd4dabd337b56d8a8e4628d17c70267389 data/twilightforest/loot_table/entities/roving_cube.json c5b6b53601c8e2bde625d4ae55c5f7974411fe69 data/twilightforest/loot_table/entities/skeleton_druid.json f85f4514fa32693c7d603b321d056b87592ed471 data/twilightforest/loot_table/entities/slime_beetle.json 96f2c357143490acf4b45ce438cc91f19642b1d9 data/twilightforest/loot_table/entities/snow_guardian.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 similarity index 72% rename from src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e rename to src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 index 515a920d10..c2f18ed6b4 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 @@ -1,4 +1,4 @@ -// 1.21.1 2024-11-27T11:03:46.0049427 Recipes +// 1.21.3 2025-01-08T00:35:56.3160457 Twilight Forest Recipes c2df534e70a4871d9e50ee3a1c6242e5e0fe6eaa data/twilightforest/advancement/recipes/building_blocks/aurora_pillar.json 07904494c5d60d52e5f79f8f6487d08016013692 data/twilightforest/advancement/recipes/building_blocks/canopy_bookshelf.json 195eaa6599cda74857d6163a2d207b797e492275 data/twilightforest/advancement/recipes/building_blocks/castleblock/bold_castle_brick_pillar.json @@ -412,426 +412,426 @@ ec33cf644efd4394cb469020c7417d37ffcfe5c9 data/twilightforest/advancement/recipes b28a3a3f5546bd2776c729d3807408f2b7d11638 data/twilightforest/advancement/recipes/transportation/transformation_chest_boat.json 2811335f6662f897c1bc0eb1b76c288c3d085ae7 data/twilightforest/advancement/recipes/transportation/twilight_oak_boat.json e307c2c1ed20789380d7bfdeedbafb29bae01a35 data/twilightforest/advancement/recipes/transportation/twilight_oak_chest_boat.json -75a8b67c056c0e55684b3c4f2045cb95741fff3f data/twilightforest/recipe/alpha_yeti_banner_pattern.json -3fde38f212c95e7bb153c4489cf4f63ddc8ec12e data/twilightforest/recipe/aurora_pillar.json -6fbe20fd5dfd2a89092edfa37a8d19eafcc8c89e data/twilightforest/recipe/berry_torch.json -3c0afce335c95b2cc2489f7b1347637dc6a00387 data/twilightforest/recipe/canopy_boat.json -18a7642a82b3af3633e1a5d1c15ed308b0f24d5d data/twilightforest/recipe/canopy_bookshelf.json -2baa72117b46eb98674d9066783e200e856a9367 data/twilightforest/recipe/canopy_chest_boat.json -ba82fd7c067f9017c1ac7ee3d37de08b56ea6d6a data/twilightforest/recipe/carminite_builder.json -9549e3823d39c938705ebb0d5d4323eda4d69005 data/twilightforest/recipe/carminite_reactor.json -e6d01f13d974995c20afd7f9028fc21d3819e4be data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json -0de9d1047a7bf20b0531dd4ea0fa8a7e9b1d76d0 data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json -bdcf560e48ef68c903001becd79358e636643eda data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json -d0929b7ac87f624b33b4ae6e8bb6fda58a44c31c data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json -69a3e1295294176f0853a78a428eed2f56026c8d data/twilightforest/recipe/castleblock/castle_brick_stairs.json -9ea375a0236b5b33d34e84d54bd9e38dbaccf503 data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json -4d9692c8c9253e4563c896572d6bcac1a957fc60 data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json -ae4a4cca08962b331ded5f191e63b6c82681fc04 data/twilightforest/recipe/castleblock/encased_castle_pillar.json -217a3f5e0fa777cef41e7d4e543b86858ffd3baa data/twilightforest/recipe/castleblock/mossy_castle_brick.json -4bacbf25704cbd501f8a6ee785af5ed1d57f35ee data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json -f76ec07c53405522aaaa0437564b3f73177ac094 data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json -624b35857fc91a7f479afa86a25e8b9d5a569a3d data/twilightforest/recipe/castleblock/thick_castle_brick.json -aa0e62417179c18a0c36dd8d4399a3399cb76a24 data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json -5015a30b247990c3804bced0b8f6aa6d7b8c8c3c data/twilightforest/recipe/charm_of_keeping_2.json -96065ef25505ba3a08c3af8e2c699fdb73ce165f data/twilightforest/recipe/charm_of_keeping_3.json -ee121a3426197afda36fad3467c7233af72da0e6 data/twilightforest/recipe/charm_of_life_2.json -c0a165fc100c3cfefd2360d3541b9e4de29e1568 data/twilightforest/recipe/cicada_jar.json -df4469d208e7d839f7b657bdfecca5b1633c706b data/twilightforest/recipe/compressed_blocks/arctic_block.json -dacfe94dc8624fb709f2375f152c5c2782f3c7ca data/twilightforest/recipe/compressed_blocks/carminite_block.json -4715900f0b9ff9a7bf1d60c25bd830d6b11a4692 data/twilightforest/recipe/compressed_blocks/fiery_block.json -bacca80b07e3b4e8ace597db9e7f9dafba6a8ebc data/twilightforest/recipe/compressed_blocks/ironwood_block.json -d8ac5be9809612d376d972784ff4806b0bfe5aab data/twilightforest/recipe/compressed_blocks/knightmetal_block.json -57020b0319ee729ad84b429b268b2de86e3534b4 data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json -739506cefd34b8754b91894845e5fa61e00274dd data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json -59b82676e5dd084017f713f13f0ce648015ea087 data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json -a1437d29460a78c58f1b902c879883d0d0919603 data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json -eb5976ca367a710344f4f4e838773a74e273b5dc data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json -37815d7924b5b62608be138c3d7269053ff9e640 data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json -c60787f60623236d5ca5a113c5184c600a47b90d data/twilightforest/recipe/compressed_blocks/steeleaf_block.json -4ecdf3c1a4ea8b8220c2835785dc11591983b2e7 data/twilightforest/recipe/dark_boat.json -d0356ed3835229e4f93efe17819879fd539e4bed data/twilightforest/recipe/dark_chest_boat.json +5eaad90f29f97eb0296636c49cc51242c5a22cf5 data/twilightforest/recipe/alpha_yeti_banner_pattern.json +52ee02057a1340a4a2479086b5f9a1e5f61b43de data/twilightforest/recipe/aurora_pillar.json +49f46becfc4a0333519e7a4bcc56a6308dc1339d data/twilightforest/recipe/berry_torch.json +0cc256e4094e42d6677cbab7f8e0bb96607f5412 data/twilightforest/recipe/canopy_boat.json +91857819dd993cb4fd9cf1f84a5c7309ed25aeaa data/twilightforest/recipe/canopy_bookshelf.json +50e1fdd36cf18f18cce1a2459016f51afa4851ab data/twilightforest/recipe/canopy_chest_boat.json +20dc3b34956551fb2c8ffdd4f781f3d701c95598 data/twilightforest/recipe/carminite_builder.json +79aa4b4357983a3bca109fe9f8b1c14a897063b2 data/twilightforest/recipe/carminite_reactor.json +afcca7f7b85d73ab64bcbca59d95fd28c69fff7e data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json +260a8e48011701ef46eaa98d325c9fa31e80274b data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json +a4f2b518c7c9c6ab29e3558e58b4f3a7047db704 data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json +f90beed3ed36ca2c0474473f8d5059a68bc02838 data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json +d0a2bbf30ed1a79adc8cd3732c9658501d4fca44 data/twilightforest/recipe/castleblock/castle_brick_stairs.json +dbe27dd9fbd881f9733bb68046d016bc2af3c698 data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json +05338cdeb77c601cda3843ed12da8ba9d56e678e data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json +856453b9110789974b4671a695698c6c1adc4745 data/twilightforest/recipe/castleblock/encased_castle_pillar.json +aa0895a9573a8d91017012395979002415e0a8df data/twilightforest/recipe/castleblock/mossy_castle_brick.json +5496736638437cbcf06321776d64986dbe3f4e45 data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json +df53152b17e911e1bb50ddef9fd4706269ce0183 data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json +b34da9d6634e7d66150293a94bddd762eb8168cd data/twilightforest/recipe/castleblock/thick_castle_brick.json +7aab3f567c754875f05315f6c9bdb1ae4663a168 data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json +cdecb61ad0bca43360a7917bd58450548d515a7d data/twilightforest/recipe/charm_of_keeping_2.json +9173a6e7b954569965d11b20fbda0aec943197f1 data/twilightforest/recipe/charm_of_keeping_3.json +64b1dbeed1f9f00d107ee04949ee6778e6c4a6a0 data/twilightforest/recipe/charm_of_life_2.json +9caac1b4d102725f7277c32d46f5f106894f80bf data/twilightforest/recipe/cicada_jar.json +8991df4461543dcb9267671039d356b3ff489fd8 data/twilightforest/recipe/compressed_blocks/arctic_block.json +6c00d3ab33b4c668f76b2a032492c6500be938fe data/twilightforest/recipe/compressed_blocks/carminite_block.json +e16011d066daeb70ffb96ed5ab317b15760236b7 data/twilightforest/recipe/compressed_blocks/fiery_block.json +96a0f9dcc9fa34156ea457e715649e231b6c6acf data/twilightforest/recipe/compressed_blocks/ironwood_block.json +5420fd6e59790ed3c9746a7da2a733bfcbb0db12 data/twilightforest/recipe/compressed_blocks/knightmetal_block.json +17b6cbf12acaf2bbe490d321da0f74e23452ad37 data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json +14a80cebb9574dc82ccd52884c06dc9e1e4bce0b data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json +cb7662ae3b70f7e7e023619d0d39417b9fdbf0d4 data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json +00dc8b03efae42f4837c059fd101aa53f6871608 data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json +0bcc12802fd01a5116e48582ef4f76071684b0a4 data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json +5ac14536aa313864a2bffca53a87cc0ccbef1d79 data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json +42fa6ea5b4723a5dcf55c054629b2d511e8a7c0b data/twilightforest/recipe/compressed_blocks/steeleaf_block.json +80ef3ec8c3f9637a84280813c3456bf9f72708c4 data/twilightforest/recipe/dark_boat.json +b1e0a4d76c782885e1cee7a221aa82b03f65ac3e data/twilightforest/recipe/dark_chest_boat.json 7bf9bbbe2166371930230a54043b2d4c98dad628 data/twilightforest/recipe/emperors_cloth_recipe.json -150d424be62d5ef21bb3019910d1d05d4f40726e data/twilightforest/recipe/emperors_cloth_smithing.json -683d84b70bb6978aa67ddfa367bfef4080198152 data/twilightforest/recipe/encased_fire_jet.json -69f34a575d206e48094e07b68b2cc4873c55f3f6 data/twilightforest/recipe/encased_smoker.json -ecaa98af8e4958bee6c29722542fa64f698d9408 data/twilightforest/recipe/equipment/arctic_boots.json -9b755cfff046fa84dd300b6a49ab0676989d4bef data/twilightforest/recipe/equipment/arctic_chestplate.json -a0a55d94dcbc168e292cc7bc77435f9fd427d8c9 data/twilightforest/recipe/equipment/arctic_helmet.json -13d31fe3d750bc4fa508a14ddd0766b113c82f99 data/twilightforest/recipe/equipment/arctic_leggings.json -782f653420fba8a5174a85eda0265f4de04b0564 data/twilightforest/recipe/equipment/block_and_chain.json -b951fb182886f105a8d794085b01213a10a74a0b data/twilightforest/recipe/equipment/fiery_boots.json -980756af707f35ee07fd475909bccc73dc431739 data/twilightforest/recipe/equipment/fiery_chestplate.json -d11fab64e5a75186f29c0a5c13546f8cadc1cdbf data/twilightforest/recipe/equipment/fiery_helmet.json -7b578df80b8246fbd3cfef9e4600158061229e13 data/twilightforest/recipe/equipment/fiery_ingot_crafting.json -d7e20c5d64d3f9ce6043990adecc303c6945fe5d data/twilightforest/recipe/equipment/fiery_iron_boots.json -0ba276b85898567e65a66d6f151537dac8cc65e0 data/twilightforest/recipe/equipment/fiery_iron_chestplate.json -acd93b5baf7f99add5355b56815219b5f4b20228 data/twilightforest/recipe/equipment/fiery_iron_helmet.json -35a3df9d19607768f64ab45aacc5c3020600036c data/twilightforest/recipe/equipment/fiery_iron_leggings.json -b6c10ed51365d5b11e2b81b90e9a84f1d510866a data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json -c795cfbd57ff603826e490912160636ad8d742e5 data/twilightforest/recipe/equipment/fiery_iron_sword.json -b915b96bf840990bec5025638c33228c50fed6e9 data/twilightforest/recipe/equipment/fiery_leggings.json -c590cd09c55432b41a3d83f3300ff90491938bec data/twilightforest/recipe/equipment/fiery_pickaxe.json -f80cc75fef24fa2dac8e3f6323092fcfc0127d57 data/twilightforest/recipe/equipment/fiery_sword.json -2ea99204628180dffcf222f0a2e43d6b6e83a167 data/twilightforest/recipe/equipment/fortification_scepter.json -9bb85bd822f29a5cee5dc5d7dcba906f74ad46e8 data/twilightforest/recipe/equipment/giant_pickaxe.json -e78a9fdefdb64d34ad7f0d5f4fac8f0b0581c1c5 data/twilightforest/recipe/equipment/giant_sword.json -8e1dacfebf037ea034b560b65fcca577ee6c9ca5 data/twilightforest/recipe/equipment/ironwood_axe.json -abb4220fac5aa2caa1f60c5c15062bc464a501ce data/twilightforest/recipe/equipment/ironwood_boots.json -3608183ac78be781fb821eb598867cd860c0f18a data/twilightforest/recipe/equipment/ironwood_chestplate.json -abc66cdcd03fd3a7f5c884a40d7b0adcad2699dc data/twilightforest/recipe/equipment/ironwood_helmet.json -78fd1d8f3da0ecd88614f731426c901fbb35ef66 data/twilightforest/recipe/equipment/ironwood_hoe.json -899eef7d29ddfc93cec3f44fb9bc89648536fa8d data/twilightforest/recipe/equipment/ironwood_leggings.json -f4d945ec912de534e5c3f46bc76e174e1f4a8f52 data/twilightforest/recipe/equipment/ironwood_pickaxe.json -6b26c65f70e52c47e706700832f4f5f712ebe76b data/twilightforest/recipe/equipment/ironwood_shovel.json -954f8619484548293657e52805860037054e32cc data/twilightforest/recipe/equipment/ironwood_sword.json -dee1d9d05ad8f2669baeba18c7da0b246086e09c data/twilightforest/recipe/equipment/knightmetal_axe.json -bb200f2b4eb37d1cbf40b6650e142b17632a4a48 data/twilightforest/recipe/equipment/knightmetal_boots.json -ff4cbe41d00047d0553f91d99b73fb09118b513b data/twilightforest/recipe/equipment/knightmetal_chestplate.json -336652d8cc5ba0df9eb54db73d203e3842dd7dcf data/twilightforest/recipe/equipment/knightmetal_helmet.json -278171b82cf7fbc51b16faa65f87c4c467223c83 data/twilightforest/recipe/equipment/knightmetal_leggings.json -884ba302451c787c1b5d95c09e435f09c4debb1e data/twilightforest/recipe/equipment/knightmetal_pickaxe.json -3e8fa22a40d5fef87051c7fa5a67a416fa5f3406 data/twilightforest/recipe/equipment/knightmetal_ring.json -f478fa47ad1179de6355f9d7996c02bafc57f7a0 data/twilightforest/recipe/equipment/knightmetal_shield.json -88b83e7ac4667c0388a187ae963c4412470eeca4 data/twilightforest/recipe/equipment/knightmetal_sword.json -e0826ca4b742e55b367cf550b3059f19eb0eb53c data/twilightforest/recipe/equipment/lifedrain_scepter.json -3906060abf640952851059e235d5cceb2e3b20b0 data/twilightforest/recipe/equipment/naga_chestplate.json -a86fbd7c7d00b774bb7f1f264b4f603e5fa4690e data/twilightforest/recipe/equipment/naga_leggings.json -9144dde27230b3e9095efc726128978b715f0dee data/twilightforest/recipe/equipment/steeleaf_axe.json -c2cca12e606f5bc37e2a86f057d4c9db66921439 data/twilightforest/recipe/equipment/steeleaf_boots.json -9caa971b3df99b86f5b5e381ba03dc262f0a4294 data/twilightforest/recipe/equipment/steeleaf_chestplate.json -499c331ad6413c5b5db83e2a0f2c130eb60d2de2 data/twilightforest/recipe/equipment/steeleaf_helmet.json -e02387c46f0bee5f96a19fe04f07ab06b5a7c78f data/twilightforest/recipe/equipment/steeleaf_hoe.json -01c7c59dcf582b9dcc5c78d8cb01f6e415616caf data/twilightforest/recipe/equipment/steeleaf_leggings.json -d23af2fb80e4ddcfceff729fc61b85512148c9cd data/twilightforest/recipe/equipment/steeleaf_pickaxe.json -4962499d89a740ca2351b202f271dd315a580c23 data/twilightforest/recipe/equipment/steeleaf_shovel.json -f3afc948a189eb022256708e4a98f40cfe3ab84f data/twilightforest/recipe/equipment/steeleaf_sword.json -365550055d351d29af766a8fca4c303db91e7cb6 data/twilightforest/recipe/equipment/twilight_scepter.json -aa29bef2aeb955dd56b8b2621854ee52b06a1cc6 data/twilightforest/recipe/equipment/yeti_boots.json -41b0f0ced5cfc9b4a4db00ffa4f570a5b5c76662 data/twilightforest/recipe/equipment/yeti_chestplate.json -33da12f99adedda4db15d399a9062114c5d1d8e7 data/twilightforest/recipe/equipment/yeti_helmet.json -563f93e44227b0e2f669b439c8377ec367faa222 data/twilightforest/recipe/equipment/yeti_leggings.json -635b7e8b654b387a00de23c808655f44068a0f8f data/twilightforest/recipe/equipment/zombie_scepter.json -1ea63b5abfdb82169b227545dc9c37da4f1271e9 data/twilightforest/recipe/firefly_jar.json -c60da106a8697581edfb06659654e0396b4ebff6 data/twilightforest/recipe/firefly_particle_spawner.json -476c6b1140de7f667fea8b7d3b48b374085f3013 data/twilightforest/recipe/food/campfired_meef.json -50ccb2545f9fc2c6e62a5b29e29823d5795f3619 data/twilightforest/recipe/food/campfired_venison.json -a644b16b4bf3e85757abe34196daa31e7821c414 data/twilightforest/recipe/food/smelted_meef.json -623a9b67ed926f9a9bcf122f4c9ff5eef9213198 data/twilightforest/recipe/food/smelted_venison.json -dbffee237a53ea81402060b136763f448bdbf5fe data/twilightforest/recipe/food/smoked_meef.json -9c8d0b325881e4943419a965c557fec32b6f708d data/twilightforest/recipe/food/smoked_venison.json -db8a33bbcd8369250f533a8bbdbb01187a25c542 data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json -ce613dd44c02cd86715fec5bdcf329d5e7e2dc0c data/twilightforest/recipe/giant_leaves_to_oak_leaves.json -91dc6497b542ee0c574523dcd0d4f4680f3c308d data/twilightforest/recipe/giant_log_to_oak_planks.json -440e9aed26396cd608d0b5a9cef178ed86234110 data/twilightforest/recipe/giant_obsidian_to_obsidian.json -3b6d178cdacda004e6ffd36094e7297752edbc39 data/twilightforest/recipe/hydra_banner_pattern.json -942ae1fada5f623702f7ca6ccca3c99279db3331 data/twilightforest/recipe/iron_ladder.json -67919b021e2fae7c48425f47c8969717254673f6 data/twilightforest/recipe/knight_phantom_banner_pattern.json -ff936b2f5c110ea4a13b77d77e40feae00f59408 data/twilightforest/recipe/lich_banner_pattern.json -2d82cc7147689bfd830dcde6dcc78d006d62fb29 data/twilightforest/recipe/magic_map.json +46d36a198705036bc19718feba5d1b3d9a08aa28 data/twilightforest/recipe/emperors_cloth_smithing.json +6c0e05b51a359f2c81f8e5c6f5c1194e7e3cc161 data/twilightforest/recipe/encased_fire_jet.json +d948e03ca8fb392c921015e61add043c0166af53 data/twilightforest/recipe/encased_smoker.json +6fc1f32e05d66613364c6ba590c045aeeefbb1d4 data/twilightforest/recipe/equipment/arctic_boots.json +229c3c66ebbdae954c5aea877c48d59ce01deeae data/twilightforest/recipe/equipment/arctic_chestplate.json +f92061cd8c24b5e9433e4898eb6269c7fb022337 data/twilightforest/recipe/equipment/arctic_helmet.json +1566877b10c4d212ee56b1bb25665f81b3117bf1 data/twilightforest/recipe/equipment/arctic_leggings.json +d47f97faf959982e3b4e7582f6fdb222f59a0a06 data/twilightforest/recipe/equipment/block_and_chain.json +691900086ba5b12444c8a313762c249d6ab47e24 data/twilightforest/recipe/equipment/fiery_boots.json +5ddf26d819586969bd52da9583f1bcb0a1f37078 data/twilightforest/recipe/equipment/fiery_chestplate.json +6fa5b1cf8eb069ae5b6194825b4dd05b11eac607 data/twilightforest/recipe/equipment/fiery_helmet.json +91967163f0894d3fc1cdf4fd4eee13490deebff1 data/twilightforest/recipe/equipment/fiery_ingot_crafting.json +3486af5070acf3b9af86d3a73816d01c2bce724b data/twilightforest/recipe/equipment/fiery_iron_boots.json +953d94e23d8d9a5ac60f2b593cc6607929f298d0 data/twilightforest/recipe/equipment/fiery_iron_chestplate.json +d0498e9d845a08a23e8312fb3e1f9c3567613f66 data/twilightforest/recipe/equipment/fiery_iron_helmet.json +400b6775ab3293eb9bc9b1f5071337e1823e23b5 data/twilightforest/recipe/equipment/fiery_iron_leggings.json +1297e80e5e3288a925d96e4149e1d3de7e8d1d8b data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json +6279221a3cef90ad16913d5125ccacae36834e9f data/twilightforest/recipe/equipment/fiery_iron_sword.json +c82666aa28e0982f39987693d70d5fecac7983a4 data/twilightforest/recipe/equipment/fiery_leggings.json +35b3e7a65ba284f47db0382c9fb3cd5e9b138ed6 data/twilightforest/recipe/equipment/fiery_pickaxe.json +ff7a4bab710c5489daa9a6ce157161077c46d998 data/twilightforest/recipe/equipment/fiery_sword.json +1c4140f679ed0f79277bba37baffa8cbb4adb68a data/twilightforest/recipe/equipment/fortification_scepter.json +2b737c1f84dd9726eb309f088f738d8ce7645252 data/twilightforest/recipe/equipment/giant_pickaxe.json +3d3a76788980b9838e3314546644cec73af89110 data/twilightforest/recipe/equipment/giant_sword.json +3a99fd9509465727be5416d12a84fe7650274d2e data/twilightforest/recipe/equipment/ironwood_axe.json +057dd3e7863abd0a2f0cab703f4850610e450b66 data/twilightforest/recipe/equipment/ironwood_boots.json +ecc7bcc06e97bfcdbde1baa7f3376b987d92531d data/twilightforest/recipe/equipment/ironwood_chestplate.json +17b3e4df82099375996690debfec7df4b68cfbcf data/twilightforest/recipe/equipment/ironwood_helmet.json +bdd90b774c5bd7161e5f441dad9d431c0795aa07 data/twilightforest/recipe/equipment/ironwood_hoe.json +86ce246f226bac0a5d7c1d9c70c3114bb893752b data/twilightforest/recipe/equipment/ironwood_leggings.json +f0d631c6bd48e01270081d248ed301e6b5aae09d data/twilightforest/recipe/equipment/ironwood_pickaxe.json +a5a456e30664272dbcd474f8cf2e4113b278a303 data/twilightforest/recipe/equipment/ironwood_shovel.json +2f6024efd5fcb1149df4538ab295fb7284a1230c data/twilightforest/recipe/equipment/ironwood_sword.json +30ad1d57313f63ec2acdae7bb24864e66bc424bb data/twilightforest/recipe/equipment/knightmetal_axe.json +03a8e451546ea15eaf949f7f55d51eabfd10e419 data/twilightforest/recipe/equipment/knightmetal_boots.json +f84f599f477fd91e16ca36acfc052e4003f4f428 data/twilightforest/recipe/equipment/knightmetal_chestplate.json +41616c5c5283c6e4465dcd9612e28b0d5325d127 data/twilightforest/recipe/equipment/knightmetal_helmet.json +c77386507c7b3801ab8c4190c50b8049d6eaa8d9 data/twilightforest/recipe/equipment/knightmetal_leggings.json +afc44ada828ca4edc7228fa38b064b5c7cea4e2c data/twilightforest/recipe/equipment/knightmetal_pickaxe.json +43369055801fd4d96e47c2928ad385b456d7bb14 data/twilightforest/recipe/equipment/knightmetal_ring.json +f6bb5cec3d32b9a762c64a90c4550fadf58a5956 data/twilightforest/recipe/equipment/knightmetal_shield.json +3d3dabe0b4a90546b8c0e8ddabaaf28ec842859d data/twilightforest/recipe/equipment/knightmetal_sword.json +d5b71c97f1c263c1e44f7201f64b63e484dba39a data/twilightforest/recipe/equipment/lifedrain_scepter.json +b1ac70452ae8c622b4e5414c8cbc2ac44d0c6676 data/twilightforest/recipe/equipment/naga_chestplate.json +b9b47f531fbf3232d403beb07faaf917ee410cf8 data/twilightforest/recipe/equipment/naga_leggings.json +bc34c57fd3c9b28d4d35b0049d14e380c8e9a0c6 data/twilightforest/recipe/equipment/steeleaf_axe.json +f8b299598f09f4a29954b14eabb3eeeca1c9489b data/twilightforest/recipe/equipment/steeleaf_boots.json +75abcd2a66d0396b3ffe25585fc46d80b187e7de data/twilightforest/recipe/equipment/steeleaf_chestplate.json +e1e3856413cee0cea86ae6385ae748b222785107 data/twilightforest/recipe/equipment/steeleaf_helmet.json +6dd790c5829c2c7fe597d570c3d4cb50d98eb418 data/twilightforest/recipe/equipment/steeleaf_hoe.json +88967fe1208465d542a6a81e36e07c194572c051 data/twilightforest/recipe/equipment/steeleaf_leggings.json +6c30adc482312592dcef8aebf4da846669570d57 data/twilightforest/recipe/equipment/steeleaf_pickaxe.json +0897405e972db8fc4b1008f1a6d086e5743a2bcf data/twilightforest/recipe/equipment/steeleaf_shovel.json +56d65a31cc70d70450c0b09d6bf379884888aca2 data/twilightforest/recipe/equipment/steeleaf_sword.json +aee39da6b27628ae84b6c49e1ee1209aa7fb6878 data/twilightforest/recipe/equipment/twilight_scepter.json +3fb26bbeb893dd75d3adbed8e7cc104bb871305b data/twilightforest/recipe/equipment/yeti_boots.json +d54c6f1b8a7ac6dab6da1d4519c3a9a81f7ffbcb data/twilightforest/recipe/equipment/yeti_chestplate.json +a409333f4a2e8b4e4f1b51c235b68e19ca9e2014 data/twilightforest/recipe/equipment/yeti_helmet.json +e483fac88b18db7951b64fcfed4fcdf6ea2fd632 data/twilightforest/recipe/equipment/yeti_leggings.json +693da8d63ac764d7ca992c6fc3fd4dadde8ffeb0 data/twilightforest/recipe/equipment/zombie_scepter.json +05c8e314cd061d92f437158e9b83526e027816ff data/twilightforest/recipe/firefly_jar.json +99b48bdb79a8ebda38914c7df118962c8f1a957e data/twilightforest/recipe/firefly_particle_spawner.json +710dadc9664f670101c6b212c6588580682ff2db data/twilightforest/recipe/food/campfired_meef.json +c2b3d5d5960194a0d26fb46a7fb8b6de7b9d58d7 data/twilightforest/recipe/food/campfired_venison.json +e2207197e3428d47f7862066dbc9c5974c783cd5 data/twilightforest/recipe/food/smelted_meef.json +6b878b94c879a5753e0fc67870969ecb5f06f134 data/twilightforest/recipe/food/smelted_venison.json +10111ddfb557e736b7a4d59dfec32cbed4c41f36 data/twilightforest/recipe/food/smoked_meef.json +2b8be54140250680ec11abb009205164455faadb data/twilightforest/recipe/food/smoked_venison.json +27c82b6d3a286e758c7d6003bede367b430fa5da data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json +deeae42e22abd217c254314aba9b446f2344c220 data/twilightforest/recipe/giant_leaves_to_oak_leaves.json +2976785c469fbc890101364742c9f49604615cfb data/twilightforest/recipe/giant_log_to_oak_planks.json +080edd6a137ca133bade667803dcfd97dd3b5b82 data/twilightforest/recipe/giant_obsidian_to_obsidian.json +57d3d68d5fa19d5b9ca5f7a4bc67336733cb9336 data/twilightforest/recipe/hydra_banner_pattern.json +dbcabf45471da000206bf577d1247d2821c5ab55 data/twilightforest/recipe/iron_ladder.json +01acc48d1dd4d535bfcaaa3c9828224f7fa02c5a data/twilightforest/recipe/knight_phantom_banner_pattern.json +e77fdd9ba78660f03a92b466bd3d01d371e107a7 data/twilightforest/recipe/lich_banner_pattern.json +58632ea313ec581fab13d4b737b88e87a954292a data/twilightforest/recipe/magic_map.json ee87bbfacdcba0dc0556a64d5b235cf30a1bdb1d data/twilightforest/recipe/magic_map_cloning_recipe.json -7e1f5518787006d3155f13138bda4c9971a21bc1 data/twilightforest/recipe/magic_map_focus.json -5a0f46f7642143746696fa18673f13fef79917dc data/twilightforest/recipe/mangrove_boat.json -d881d00ba3eff2866c6e07de28419fbfed7a9b85 data/twilightforest/recipe/mangrove_chest_boat.json -2070853edf3135b72298289e4993acc258c0003b data/twilightforest/recipe/mason_jar.json -afe548761f43491c41060003fbf4ba93990b7e20 data/twilightforest/recipe/material/armor_shard_cluster.json -ab44425ce8b49093bb984fc5a18bab8acd945646 data/twilightforest/recipe/material/blasted_ironwood_ingot.json -36550aeaea479f424de66c30735883407b532f4d data/twilightforest/recipe/material/blasted_knightmetal_ingot.json -a4aa1c675c37d5e16cb645fc0268d867e25e73ac data/twilightforest/recipe/material/carminite.json -008a3afa46d3b6fd1edad16de363486a2978dbc0 data/twilightforest/recipe/material/raw_ironwood.json -09829c3f6176080ea26aa583733f766998232bc5 data/twilightforest/recipe/material/smelted_ironwood_ingot.json -8d0ad094ecf132b77e0ffbb943c6ac29f4cf95c0 data/twilightforest/recipe/material/smelted_knightmetal_ingot.json -2f834e9258a0e5c98872453e102c78a1713a0d1d data/twilightforest/recipe/maze_map.json +78f06795d1b91d83f4731cc6b60675b605d76dd7 data/twilightforest/recipe/magic_map_focus.json +5148e0801190dc44fb7fa40ed071c06f6d605ec6 data/twilightforest/recipe/mangrove_boat.json +932ae91a291eb80e10ae61761e5d04d00d5435d1 data/twilightforest/recipe/mangrove_chest_boat.json +8e2b01c62193819daca0c9b6035ffd841aec05f3 data/twilightforest/recipe/mason_jar.json +f24104269a13d495a960694c8421ea13bb886cce data/twilightforest/recipe/material/armor_shard_cluster.json +9862ce5ec256da5d87055e795617c46c7d856710 data/twilightforest/recipe/material/blasted_ironwood_ingot.json +2ffe7c83cac42ea04d746ef4bf78d873e06d3fb0 data/twilightforest/recipe/material/blasted_knightmetal_ingot.json +90d3c10b065689a69bd7eb9eb855ecaa5e64dbfa data/twilightforest/recipe/material/carminite.json +2ae96b6d176f6c784f942af0b1156790784b7ebc data/twilightforest/recipe/material/raw_ironwood.json +07b0a12d355b8df577ecf4be6800c16273c02b5f data/twilightforest/recipe/material/smelted_ironwood_ingot.json +2d22350685555a862bf02f8e7110cdd300af933f data/twilightforest/recipe/material/smelted_knightmetal_ingot.json +647267e6cffdf443c6119120e7f75525bef7cc29 data/twilightforest/recipe/maze_map.json a5c9d4901758df641cbd9b646298e3246f6ef77d data/twilightforest/recipe/maze_map_cloning_recipe.json -5dbc95e15699d5fbdd4ae99a62eeb5ca12283128 data/twilightforest/recipe/maze_stone/mossy_mazestone.json -2f9e355fc73c2e7baa862c21031500b83c18ff2a data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json -11d40a432d63aeb93ff3a42f61f325aa531e4707 data/twilightforest/recipe/mining_boat.json -46cea263a855599db165f9ffdf8d7948fcca51fa data/twilightforest/recipe/mining_chest_boat.json -dc5a577ea7670cd6f2bf8e8264dcad9da852f7fc data/twilightforest/recipe/minoshroom_banner_pattern.json +1c0f11a7b10587104236b45a3be391f67ab2ebf9 data/twilightforest/recipe/maze_stone/mossy_mazestone.json +d2df96c12dc53d88028353925d92c5b7c11093f6 data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json +62bfb927f6b1243aeaa76be2a065b82cba266686 data/twilightforest/recipe/mining_boat.json +3db2482755f34505665fffaa2126afaee74276cf data/twilightforest/recipe/mining_chest_boat.json +e7e067fd7fc3a00e27b0936dc583f47a63b47ef1 data/twilightforest/recipe/minoshroom_banner_pattern.json 24e0885053bb5389bf69bed02a45cc598c0b4a8b data/twilightforest/recipe/moonworm_queen_repair_recipe.json -b0a223e9bea0a881d9af4658f7fcea39f63ce01c data/twilightforest/recipe/mossy_underbrick.json -3ab132b4a5926dd69fcb9646819d59ddc4b62470 data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json -f390f17b32436558ad99fde487d2dc188582f8ad data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json -b703fc4e922e9f2354415d71d2214e31616122f0 data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json -e8225bb2bce88d2b203837f36dc964444da09e3e data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json -046de457c15f1a7141a1ae3b919a47af8a9b1a0f data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json -3c24a46f0f6f6f3ee20db6b901cbbaf25fbd80b5 data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json -db669863fa86c7ccdcdc5830259ad2396b5ba3ce data/twilightforest/recipe/nagastone/nagastone_spiral.json -b66d689b07237ba87f45fde5294191671c8a7806 data/twilightforest/recipe/nagastone/nagastone_stairs_left.json -a3a1d68d6e2d1e0d42cb3f4100c70fec7365f13b data/twilightforest/recipe/nagastone/nagastone_stairs_right.json -1af0d7532ee098c104e92a7e1c96054e2a0ab23a data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json -0fe7a908d7550f29c17a4ebaeed11294984be91a data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json -4fed8b16e85a0495d910b582505afc407f9cc35e data/twilightforest/recipe/naga_banner_pattern.json -e276618bcf104da1cbdd2720a1cca7960ebe8ed8 data/twilightforest/recipe/ore_map.json -1dbe5d13d780b98f0e2e807b6fba322b31ceb981 data/twilightforest/recipe/rainy_cloud.json -cf0d688c1a3a99f1b27f151c6c6e64ca71626ebf data/twilightforest/recipe/reappearing_block.json -94c1b911cde6f51937e849a4229e3ae021c1ed1b data/twilightforest/recipe/root_stick.json -84c5e87f54aa77cefd643f82482a68a1a564cf6f data/twilightforest/recipe/rope.json -938aafb32dce9b86688daa80b9c4f1083a30881a data/twilightforest/recipe/smelted_cracked_underbrick.json -c0de62c657a98b9c17ccf19ec1dfd394db519ea9 data/twilightforest/recipe/snowy_cloud.json -570e6ffdeba474011bf59a9701319958663b8ec1 data/twilightforest/recipe/snow_queen_banner_pattern.json -19072e4c716e79cef7637b7db678ff8bcf37d65f data/twilightforest/recipe/sorting_boat.json -cbd70048931d37f66b2edcaf1f4dada7fa96a7d4 data/twilightforest/recipe/sorting_chest_boat.json -04ece3b610e37787a6726847afa6e1b6deb98052 data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json -94da0e6657d852a3e60812eee28a77cb02f59946 data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json -66422124f1c6ee656ec9fb79ce28ce8fe3883256 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json -2a3399c74922e9032c20748374a5c2e9a9df8d87 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json -e4a7c8c37ebe2da72e406bc409b78a6551562935 data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json -805c4a2ecae229610eac01df9c79328070d3e8ea data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json -93eac00377394e62ad785f19f98fcdc8a0b964ae data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json -97afeadd3d861cef9ed79ff94393fd5e07c2d6bf data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json -9cc0be11c93962f2ef6c44fb6218c742b31d45d9 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json -dff1e2f51da86da065f7f4db916e850257ac8181 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json -7d97d915718ae21a205dcca814b3953b66956be2 data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json -acf4e6b5b01a4a6ce66d00efdc1112385ece3b09 data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json -9f813e7a0c01abe589b8b52375aa1e55395e8443 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json -5a17f793d30e2e9e45a44ec7ddaf1a1e9d1dcd67 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json -33b1aa63855cb3459b85b465c4f77fc7ec8ca6de data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json -cde12c1a6614fc91dd5d1d850384388a9e3085c4 data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json -189d4e4f7a4d62edd51cb462103d17dbafdc02e4 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json -a5ce5b5d9bd7f7a9fc296865f167f5b217a254f5 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json -3be48e73f77c39605c89dd58a9844f969ac9322c data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json -8596cd864318e1bb721c713b5c7b34729e480ed0 data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json -5d1c872bb9453607b72e3a7cc2e76553c13061de data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json -b05d4dcf8d1f75d57067c8d16545a3d2235a08bc data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json -289fa3ab0d3ab2cd24f889afc558c11e181a9e76 data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json -d6547764954cb2f388832fe11fbffb893e0693e0 data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json -4fc47d28a18e279638b14b295548fb13591b2235 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json -52b858f5099c7259c6fba8edb74b4ad9a7a3adba data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json -5e3371b2574a64eafb173974aa80ebc16b6a33c2 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json -ad46d25aedfb64adcb457ba77780e335fda92263 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json -64374926fd5278895fab56c8b2a1e9c4f2cf6fd4 data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json -a5c339d947ac3025ade3341ffdb4ec46804a76f0 data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json -074d756f958f3c2c81abd6420db500236c5d7d50 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json -a2f79a22e3e3c33414efff1539fb047302eb96dd data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json -cc47c3d33e3cf0de3d4e4dfbe8b1400e7f075320 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json -5af43fc8fb20970db58ee6071e1f56642a65460c data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json -2606c3ea35e70a923066a68fa94d674202c96895 data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json -5796f02534d0ee7f0e673ed8710e3f5f154817a2 data/twilightforest/recipe/stonecutting/dark_log/towerwood.json -1434261966ea782397340d56afc156e7522197ab data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json -1567c62264bd61a9a6955bbffc109f8d08700314 data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json -c96abd3985f89cec977bf1b9dadf10e48e569bfd data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json -fdc8e55466ae895833c40aaeb63c10507d552b28 data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json -34b5b0cf27ff1d698c6ec95ad941705c3daade8e data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json -1d80ee5bbf63c8bf4fa62535d7e6b6dba6c6db33 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json -964092cf51157037f16c5ed9fe91ee409fffdb7c data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json -a6cd612f0cd5519c010786d194b884ef34f1b4d3 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json -d9ec7259a355103db8bb04e74247b3bf567c9c41 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json -4a855b014123dca1a912970ccc1d3271d463c793 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json -7b7fb1a2ee4714c22a3ebf98be661c457e32d28e data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json -00472d7d8cc6630cef0d86f09b44475d6d68ad1f data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json -c3dabd7dc03c49112fa977791b1e0023bb390d9e data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json -7b380855fa3757afd1353681225acbeb60f359c4 data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json -5abb84145a082fae6f1e23dbb8ca37329ac7d9dd data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json -8946eaa1d3c275eee9ba18d7508631acb2a1c320 data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json -704c93727be628c60cbe41716e4dd99fdc75901d data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json -8226929e6d6d6bced05d3f072f7a90f5656f4a54 data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json -7b984fa4cedcaa584c48bf26a6e97baba3eeba56 data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json -16bd684cc128056fffb18cc325746bf3b3662d98 data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json -177019b6ba70568b56f78594eed7168f7f84fe83 data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json -84383589ab5f10225a34967bab80b606aeadf943 data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json -0029d9ee470f54765240f4c4851ab6934152a816 data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json -d17921f209db26a93f1a081d1a7e48777bf43d1f data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json -5de5235d5e4f66a385a4dba2fc0a683f5d455bcd data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json -4460c7d99a1a926f21d2a172555758b7ee6d3e88 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json -ab7b35ea4a8a87db29e850ee5488acf70034ba3d data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json -a3e5488f06ecefaafdad688a53f72da49b1834bb data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json -5ad517516f19823f41ba043bceb714ea62e51517 data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json -e2024bab1b571a1b8793caa9b9218f0c40399a95 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json -768ab48b6c657e75125a37eaca42c38734adb2ad data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json -e92df19ef3141d965c851ed9c1c7accf1fbb9b82 data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json -d7bb774795f6da0ab9772b75cc3f80a60f4563a2 data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json -60b4b3bb49c23c03f57ea11031d5dbe52282d408 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json -347e767d60cdb11ea22745548405d7ae8768ee59 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json -81593ee3d231345f23c74123edb7a2de2e42deec data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json -5b0fdd2d9d0dbdd617b61c5388c738f06732cc87 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json -bbc16f681a0b1ccf298d9d0b27d4120318f00748 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json -0aa5009b50224541fe6b3b3ca7d0ce0899f6e028 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json -338ac6b572dfd608d205c18206b9e1ff94eaba49 data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json -9c6fc9fcc2105eeeef8f4c79a83b44de43eb1391 data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json -87c13ab968a5d8994b3926fd4c8f18d7d3d057e0 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json -a97aa7ec8f0a4e1f450fc3e1d6a5069251e764b8 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json -42e5d522d405290af79ed1535c17f2afc30aea9d data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json -e4a51d72ee3a964637f7f9c007b7bff33ced8782 data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json -ac33afd35768677c80566cdb9e87a8d67cca3d50 data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json -5abec9e467ae381a39c7d4c8aab2eadfc3b62431 data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json -0612b68e029f862e09015b5e452c0249e85ea281 data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json -a66d355cc6c5538408d2c3da599c19deec322352 data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json -2456f7e79274326fba9ffdc08f667a801793069d data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json -4b6c4953b46b189768097eaa7239236abab77bb3 data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json -721fb66475e7028db8c2b50e95c65abd3a2b91a6 data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json -7dcf6fc7cb0209a902316675f2ec3ff554ac29fc data/twilightforest/recipe/stonecutting/stone/twisted_stone.json -1b824e5b5fee6c647e09446f9d2b187886a9217f data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json -93951bb457dd5a5c1693e3da9aac7a1509411645 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json -1032bb8564fa53a2f6d435e8903c770ce0017ff2 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json -026c93490882a845fe34a4abe1190ef9436880b2 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json -fa7863295f9d5cd2ef624a7f2118db270ec79e97 data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json -e31859dfdea901259513b9b2a0b9a5881ff23a2d data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json -6af318754556268634bea8d64ad132fe5cadfcdd data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json -6273a1b7af3967a459272f2decc0ec1c4508da40 data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json -7beb708e117d9a2c4cecd710f562c5028b2e9b41 data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json -14ec83be70fb1d02a160944e945c0e69f6fd72b2 data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json -835ef6ba9222897bd7d184c5b8d3328a1a914c60 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json -6d998b6287bff2e93dae213fc281fdde61129229 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json -a5a0b65ac7ada3139260897b46df21ee5f856336 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json -59f00fe0f444afb73a0a86066df5e4f7e9fd41ef data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json -9a540c4018b4ee55f24433ecf0f2d97d24bd3ca9 data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json -25d5bdc95b75f89c2d157cd7ef007ae660e32762 data/twilightforest/recipe/tf_moss_to_vanilla.json -9f84b9738c0c973825764a18192152f95c71140e data/twilightforest/recipe/tf_to_vanilla_lilypad.json -7566dbbb74cbebecd372b34342f7f53eb5f8df2d data/twilightforest/recipe/thorn_rose_to_red.json -3aac40ad9fa1e124b5460d43a83cc5cd3d1b8e68 data/twilightforest/recipe/time_boat.json -3153984436d024e52f46a546029ed1c2c52e3360 data/twilightforest/recipe/time_chest_boat.json -a77354d1a6a38f9723172bbeaf294cd61279e59d data/twilightforest/recipe/transformation_boat.json -8d3ee2c74eb594ebe5e982c3383f5b18f40b19f1 data/twilightforest/recipe/transformation_chest_boat.json -564b7903c55b9e84c234330457b3b79349bbaa7c data/twilightforest/recipe/twilight_oak_boat.json -16c53d991882b5d643995ebdafdb1474b54f6181 data/twilightforest/recipe/twilight_oak_chest_boat.json -f89821e2ab5495d65dea496535ef26ee8d474a7c data/twilightforest/recipe/uncrafting/tipped_arrow.json -53a0506d267467c82127d69255947c09301f4dcb data/twilightforest/recipe/uncrafting/written_book.json -3169f19a5a2c3c17b2d6a3aefdcd20527b4c3c64 data/twilightforest/recipe/uncrafting_table.json -94a932a68213f3131b5f8a120ee80970e5d68ea3 data/twilightforest/recipe/ur_ghast_banner_pattern.json -c125a7b1d42fab434ad82401fd02ef6a203b2264 data/twilightforest/recipe/vanilla_to_tf_lilypad.json -3042ff4514024e14261b89369f9cf3b0d63c9d39 data/twilightforest/recipe/vanilla_to_tf_moss.json -e4eb274cfaf367b53e12c3bdc2b26f12e2a5d300 data/twilightforest/recipe/vanishing_block.json -a7c102fbb07aa6516feb7b20deaf6f5e496e12c0 data/twilightforest/recipe/waterlily_to_magenta.json -265b505d43f3e39f7a526b0bf84b6a8781bf4f43 data/twilightforest/recipe/wood/acacia_banister.json -b0633cbe346a5ebbc36f79005dd54ad8a4c13bf0 data/twilightforest/recipe/wood/aurora_slab_slab.json -2b6b6cd6e067b28ae7226afe3d5a83970d40d3fc data/twilightforest/recipe/wood/bamboo_banister.json -497a8a3877a0a18fd816d4f85b0295c10bdd2b25 data/twilightforest/recipe/wood/birch_banister.json -f418243cae7a9eb048ee675abab20c1883f80f89 data/twilightforest/recipe/wood/canopy_banister.json -cdeb26f839b1888947b4426abf4bba68ba99a22b data/twilightforest/recipe/wood/canopy_button.json -33dad3263d0ffdc4a2f02169dd2d53fcc0daf275 data/twilightforest/recipe/wood/canopy_chest.json -ab3f9fa367a50033991b8e51f7acac07564681f8 data/twilightforest/recipe/wood/canopy_door.json -a942d6b53030b3ec7b17b2cae4c77db475f99294 data/twilightforest/recipe/wood/canopy_fence.json -edd4243321b0c22c0ff4d69655c194dccee9f410 data/twilightforest/recipe/wood/canopy_gate.json -7beb039dbd77c5a19f8e96578a1e023e652a1c6f data/twilightforest/recipe/wood/canopy_hanging_sign.json -fd5532d3048f5e420e1a6157fcc58c9239410eb4 data/twilightforest/recipe/wood/canopy_planks.json -ef7b20029c1b02353c10f620118cdc1dfa9916f9 data/twilightforest/recipe/wood/canopy_plate.json -511b6fae4ecf48e93e18dabc92fe9e19af70c91a data/twilightforest/recipe/wood/canopy_sign.json -d78da352f1edbfcb113a510a8251c3050afa0a8c data/twilightforest/recipe/wood/canopy_slab.json -fc43df83a555700ebe72c6a7f463a53eb53c4b49 data/twilightforest/recipe/wood/canopy_stairs.json -715bacd55d30b5b065935f09a68694d4f6e61476 data/twilightforest/recipe/wood/canopy_stripped_wood.json -71881712df618c0c316a235856b6c69fa2f312a7 data/twilightforest/recipe/wood/canopy_trapdoor.json -7c877bacab64d5c99da86c45be7ac23f6fcf3125 data/twilightforest/recipe/wood/canopy_trapped_chest.json -1a4b98d0ad343104b0631203d3cbb8498605b2ac data/twilightforest/recipe/wood/canopy_wood.json -c003097059ba11f310e0a478db80ceea175d37fd data/twilightforest/recipe/wood/cherry_banister.json -758726bbb8cadfd69bd22a06b0c5cabb392fd522 data/twilightforest/recipe/wood/crimson_banister.json -f9fe3d49ba49977641a7ec7b06df32620f5e5fda data/twilightforest/recipe/wood/dark_banister.json -d171f5446903ebd696fe135e716509943d07f6e8 data/twilightforest/recipe/wood/dark_button.json -aef76e0655aca28f672935e5ef2ea78280f1c4b3 data/twilightforest/recipe/wood/dark_chest.json -fa97d265167c78cf6435436cca9210819d27ca9f data/twilightforest/recipe/wood/dark_door.json -7b52f1582183115c6bb407b18df117ed90dbe2b5 data/twilightforest/recipe/wood/dark_fence.json -da31864c19acfae8988852a25d775fc1a8d44ca1 data/twilightforest/recipe/wood/dark_gate.json -6766f036c6a80390fe08648353ef582b3166c83f data/twilightforest/recipe/wood/dark_hanging_sign.json -bf9a68dbaf92ed9eabb3cf080709c697a5fc1193 data/twilightforest/recipe/wood/dark_oak_banister.json -c7a0df495f6f33a63d07b9d199ddf2cf2c53475c data/twilightforest/recipe/wood/dark_planks.json -b31071d624a2a88711bde4f773c9b9ff91072e3f data/twilightforest/recipe/wood/dark_plate.json -092df33a169854a19031268733baf42a078a4a2c data/twilightforest/recipe/wood/dark_sign.json -c9cb745e327c4101b2c63671588d7c71e1c42f02 data/twilightforest/recipe/wood/dark_slab.json -0905fcbe3fbf34544c9f54b01bef7ea009f2f1b9 data/twilightforest/recipe/wood/dark_stairs.json -05e333dc037d7fe7325ee30c3c7794791ac37e9e data/twilightforest/recipe/wood/dark_stripped_wood.json -edb0d930d039ae68114749f1da26bc7fc2dbfc69 data/twilightforest/recipe/wood/dark_trapdoor.json -beb25cde9de930d0e04080e3cfc4d2c3902d64df data/twilightforest/recipe/wood/dark_trapped_chest.json -059efdddc6f2c8110f1004b197d71c7b1815d445 data/twilightforest/recipe/wood/dark_wood.json -0810ae9fe7d8353b213fd57a89cd2947a8e0c6bf data/twilightforest/recipe/wood/jungle_banister.json -a3bdab87713954333a3ebc5e5ba64c8f1ccc69bd data/twilightforest/recipe/wood/mangrove_banister.json -7f1bc70e7defbcab1b8f8d2e45cdfa71103ed9da data/twilightforest/recipe/wood/mangrove_button.json -330ad21d3484f60ee893e1fc23730a16de69fd42 data/twilightforest/recipe/wood/mangrove_chest.json -7a21103e5550bc018dedf3ada6eb2f0490b93e11 data/twilightforest/recipe/wood/mangrove_door.json -a7e9b90c1e8182dcf86983a620242d731fe45d35 data/twilightforest/recipe/wood/mangrove_fence.json -1dfc68e4b298d50b414ec449948934f70f366763 data/twilightforest/recipe/wood/mangrove_gate.json -84d8773e23e1f8639464310b6d25cd5cf7050c5c data/twilightforest/recipe/wood/mangrove_hanging_sign.json -93ac128ff7a2113819385decdd82b5a8bcc43f0c data/twilightforest/recipe/wood/mangrove_planks.json -dbbfbe31a8d182cada0a27f9b2b5d3aad595ab4f data/twilightforest/recipe/wood/mangrove_plate.json -898d62248e540ab5ba904163b9c56df537c2c8f9 data/twilightforest/recipe/wood/mangrove_sign.json -3a037b1c03effaa58ba1a77686eb2d18ce68e753 data/twilightforest/recipe/wood/mangrove_slab.json -d870489beff94af1b65cef76b64783223272ad04 data/twilightforest/recipe/wood/mangrove_stairs.json -994f29b7ad5e155886ea5e5afa99b5811639eaf9 data/twilightforest/recipe/wood/mangrove_stripped_wood.json -e8ae6f97337ea746f2bb024db3eac6d843d07850 data/twilightforest/recipe/wood/mangrove_trapdoor.json -f0c3139a6ad9912eda8e03ec9b5d537c57de2e45 data/twilightforest/recipe/wood/mangrove_trapped_chest.json -5ccce8613c4357105e06134ed9168b3a028bb94e data/twilightforest/recipe/wood/mangrove_wood.json -588d309891bee483354c1191dc2619c260a09021 data/twilightforest/recipe/wood/mining_banister.json -77e5b57b2c87f9a975b56d8a4245bbcfe2d5703b data/twilightforest/recipe/wood/mining_button.json -8ece444b92033bacf229338cdef8b47369c39652 data/twilightforest/recipe/wood/mining_chest.json -9c3cba3a8c8888ca76b6128dddbd2f4a8d5d2766 data/twilightforest/recipe/wood/mining_door.json -c952f6768537ff5b29d75154fa37031911b6d9f4 data/twilightforest/recipe/wood/mining_fence.json -26e39ab1204c35b81f04d0c9c6f03c1ce3d710dc data/twilightforest/recipe/wood/mining_gate.json -6bd96c83bc8d497bcfca0c769818b040baf19fbf data/twilightforest/recipe/wood/mining_hanging_sign.json -170be5e1f3d79505d15be5f790650e3d571df1c0 data/twilightforest/recipe/wood/mining_planks.json -54208e4c8392d5dbef5ccb66ca35f79be437a0ff data/twilightforest/recipe/wood/mining_plate.json -4ff5c24c594e8c2cf9f8e6c2dc2a6e0df5c584b3 data/twilightforest/recipe/wood/mining_sign.json -790aa5c7c45fbeb2efc23c3f13e023fd0a5d025c data/twilightforest/recipe/wood/mining_slab.json -9102c44d5a3a6830d62ce0fbfff258421a4ae862 data/twilightforest/recipe/wood/mining_stairs.json -3bc8a78b808a852558db3d51bb9e9842afb6c206 data/twilightforest/recipe/wood/mining_stripped_wood.json -b13045318fcf92a8832097d285c72dd862650158 data/twilightforest/recipe/wood/mining_trapdoor.json -8bb7292aac3cf30fa845a115ecf99d8513092e22 data/twilightforest/recipe/wood/mining_trapped_chest.json -6479fb872c0ad2beeeb4ef566e3ce82532cc349a data/twilightforest/recipe/wood/mining_wood.json -4ba3c2d6a369547ce372fb567a96203f5ea7cef2 data/twilightforest/recipe/wood/mossy_towerwood.json -eb1e2a9843c61cf5122efe0f3876a4536429cead data/twilightforest/recipe/wood/oak_banister.json -2561cdde3f54c6999233edc5eb47eec7c75a5f22 data/twilightforest/recipe/wood/smoked_cracked_towerwood.json -09e3306665830182f8b447d605c856a30a9073ea data/twilightforest/recipe/wood/sorting_banister.json -40b3dfe86fd1d97fb74c577cd40c3107e8a5384a data/twilightforest/recipe/wood/sorting_button.json -09b9dd41270f74fe2dfc3f619033e82db22ac5b9 data/twilightforest/recipe/wood/sorting_chest.json -3ca197f64c10336ee7f0fc842736030cfa563fad data/twilightforest/recipe/wood/sorting_door.json -037a8f35dc3f3a116a2868ca2fce5050fe84747c data/twilightforest/recipe/wood/sorting_fence.json -f692c4009176c0a83a202e466641246983056077 data/twilightforest/recipe/wood/sorting_gate.json -66532e000e66e6e7fdedf7f27bed2f16f740095c data/twilightforest/recipe/wood/sorting_hanging_sign.json -4d4a92b2256ed523c745e7442fb167df704ee091 data/twilightforest/recipe/wood/sorting_planks.json -e658e9c830314285855713b7b7a4617724da0f2d data/twilightforest/recipe/wood/sorting_plate.json -7cb0abd974ba6c4bbcfd710884f5f435ce99885c data/twilightforest/recipe/wood/sorting_sign.json -647495164ff1da901af560b6ea9b98a34c4afaa6 data/twilightforest/recipe/wood/sorting_slab.json -692a3b0b15a049882b9742ad02145ecf0d3e8969 data/twilightforest/recipe/wood/sorting_stairs.json -944229a1daa0346a0ebcd71a6a7de26ce25873dd data/twilightforest/recipe/wood/sorting_stripped_wood.json -e254ff353e5b6340b0e95ddb3b6f3f773d472481 data/twilightforest/recipe/wood/sorting_trapdoor.json -a19a2d76f3535331a32bb77bc32f82924f5fc05d data/twilightforest/recipe/wood/sorting_trapped_chest.json -60210d6a7daf356b75ffacdac49f95d3171f11be data/twilightforest/recipe/wood/sorting_wood.json -18fd8e119c060ee22b5d2424ded709f4c98b251c data/twilightforest/recipe/wood/spruce_banister.json -003ca5cf5e49421bde4683ffc6d29ebbb0ec943a data/twilightforest/recipe/wood/time_banister.json -a70ed0379de6f7fe080a9b373629f1526801effe data/twilightforest/recipe/wood/time_button.json -54c1c25db31d7ec18b272fad50072addf547c249 data/twilightforest/recipe/wood/time_chest.json -1e6d9ebcc277a6b4535bd56744a539b0de4b7683 data/twilightforest/recipe/wood/time_door.json -06044c75f4caa0936c0b12339e3bd72a3114279a data/twilightforest/recipe/wood/time_fence.json -3ab97cc1fdc79e07a1d392889c2a412560c67029 data/twilightforest/recipe/wood/time_gate.json -03317632b2b081e6de1065eddc54939070320913 data/twilightforest/recipe/wood/time_hanging_sign.json -6b477ef8a57a1de0eff69560b14067c41f1a5ac7 data/twilightforest/recipe/wood/time_planks.json -aeb07d8388185b5b29f8155f84a3787feece023f data/twilightforest/recipe/wood/time_plate.json -ad3b2065bd285700688be37b2523b0a0b06b3633 data/twilightforest/recipe/wood/time_sign.json -d8986f58ebe58c8fd1cb9a7d0ea21f25b0de974f data/twilightforest/recipe/wood/time_slab.json -51482942c53fce6dcc2fd62b16b4bb2bc3283f7c data/twilightforest/recipe/wood/time_stairs.json -afe142a07ece23400347c5836580c6c1267d5562 data/twilightforest/recipe/wood/time_stripped_wood.json -4c43a97373bc502f238f0d5cfa7c6cc59a28c00c data/twilightforest/recipe/wood/time_trapdoor.json -68d05e3833e3ceb60843efdff73e761487103f73 data/twilightforest/recipe/wood/time_trapped_chest.json -486db2f5f45f1f799cea23423be74af3882a9386 data/twilightforest/recipe/wood/time_wood.json -7fae837dbaf32e0856c4aaf2eb56ad245793d53e data/twilightforest/recipe/wood/transformation_banister.json -2d01c01784941260aea108b61735fc365a5a0ddb data/twilightforest/recipe/wood/transformation_button.json -e7450158c2c75af131912d6967c18c87c134d1a6 data/twilightforest/recipe/wood/transformation_chest.json -250cdb706f5d8dd7cf9c1ef6e65c31cd8ad3bf96 data/twilightforest/recipe/wood/transformation_door.json -a54ce38b0c775388c2357d54224ae8ec01bf8fc2 data/twilightforest/recipe/wood/transformation_fence.json -53fe9b82a363c9a60844851d387e833d5f69e768 data/twilightforest/recipe/wood/transformation_gate.json -987ae375732bad6294d12a0bdca8a76ef1c288b4 data/twilightforest/recipe/wood/transformation_hanging_sign.json -2b8819283a3010f17f569f4b65f8f3edb0e5dbb0 data/twilightforest/recipe/wood/transformation_planks.json -d7780ad72116db2a76cbb28c7fc8500bb9370d8e data/twilightforest/recipe/wood/transformation_plate.json -2436dd4589069a3b2422f623dd0851799ca31bdc data/twilightforest/recipe/wood/transformation_sign.json -bcd38e452d6fad8d1736137e36def98f8599689f data/twilightforest/recipe/wood/transformation_slab.json -8e144b8bea7c27d2f4721e431837116a1afdd5a4 data/twilightforest/recipe/wood/transformation_stairs.json -4c2f853f5efe68cb4b98463387347a5f5df781d1 data/twilightforest/recipe/wood/transformation_stripped_wood.json -0d83954f9caa71e187e9a62e419cbfcd3790c9e7 data/twilightforest/recipe/wood/transformation_trapdoor.json -97b8ce6af8f956bc87190e6088d179d8bac3bb13 data/twilightforest/recipe/wood/transformation_trapped_chest.json -c2cf990b0d57069dfe817bc26636e6c96e0d801d data/twilightforest/recipe/wood/transformation_wood.json -5bc853ef61afc91620c18a5d4349b933e06705bd data/twilightforest/recipe/wood/twilight_oak_banister.json -f77dd7b224867415c37ee65e2470f2fa58452dc4 data/twilightforest/recipe/wood/twilight_oak_button.json -af17b12c11ac974bb99f5de22f80f96b385e127a data/twilightforest/recipe/wood/twilight_oak_chest.json -ba37ca7b68c82881a4daa8685c3baa2700931268 data/twilightforest/recipe/wood/twilight_oak_door.json -41debcd5bd94e791db6d44a33906c62ac17ee7d3 data/twilightforest/recipe/wood/twilight_oak_fence.json -4fdcd5cdf8a8a7ca7236a12d2f8549245eefbffd data/twilightforest/recipe/wood/twilight_oak_gate.json -5de624f5dc425c3c879760c31653ac7dc352fc83 data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json -93184a9920377ccffb2fe60930365c32eb1395b7 data/twilightforest/recipe/wood/twilight_oak_planks.json -22f5f917574cd8189bb8808e43e6dbc5ea8fa0c5 data/twilightforest/recipe/wood/twilight_oak_plate.json -3e53dc6a3922d7f1d599f930aa051cf5a83a8065 data/twilightforest/recipe/wood/twilight_oak_sign.json -556658bc7435e69229e83a2f4901be1abcfd235d data/twilightforest/recipe/wood/twilight_oak_slab.json -0f2aaaedf022d347dd9ba2d9b7334f6c34fd81cf data/twilightforest/recipe/wood/twilight_oak_stairs.json -b55956153bbc9806c7b6c328fb666c846b14738b data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json -21d6dca99c3071fb8148f452cc21e0896ccc24fd data/twilightforest/recipe/wood/twilight_oak_trapdoor.json -df4f481597f1ee40f7a7693d8bcee38662f149fd data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json -d5d4dce5a65dc04b6b88a40e9a98fe28fe492ee9 data/twilightforest/recipe/wood/twilight_oak_wood.json -50abc8486f472632b79720d7f07e14673820958f data/twilightforest/recipe/wood/vangrove_banister.json -55b0b64b28a7b4d054c664250c24ea73d4dbe415 data/twilightforest/recipe/wood/warped_banister.json +afde7a589e90fe71c57507c4ea67d286820bfc4e data/twilightforest/recipe/mossy_underbrick.json +c2bf4bef1802d3b12fab5ccf5faca45928b807ca data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json +a09880f3733a8c7ffaa26c13dab06d7478a1ae73 data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json +a1604fb271f558f5b13af045f38ffde748038541 data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json +1b53cfea76494c8854844fa9f6134347c7826bf0 data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json +40173a7d85635ac76fe0345e559666e009213d90 data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json +67e22921a153adf3427b01deb2cd8e169fa0a4ee data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json +22ecac07affada0506c323f0fc78ad98732317ac data/twilightforest/recipe/nagastone/nagastone_spiral.json +6fd1bf3176f34f6dcaf8f521c59620f215edbd14 data/twilightforest/recipe/nagastone/nagastone_stairs_left.json +633726318be974844df68c6ada7fa1b960dc9b1e data/twilightforest/recipe/nagastone/nagastone_stairs_right.json +8ddda7d2e1e764ebddbc05dbdb9cd6ff3f295d34 data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json +3d11fab9ed9186e5cdfe856c5f7e49a9d5e09347 data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json +32c0e8e83b20bf3bfbefc9365df832bdcb5e1d96 data/twilightforest/recipe/naga_banner_pattern.json +b3be26124c411cb9a0273022b51fd71c5b608588 data/twilightforest/recipe/ore_map.json +4b10faa0bc9f52bb3dfca65de869b11451c44446 data/twilightforest/recipe/rainy_cloud.json +f74b0861fd5f9f2d164ac5eaaec1462ba6bad2c3 data/twilightforest/recipe/reappearing_block.json +ff880c3e625202b6a1c4abc725116adad8080d45 data/twilightforest/recipe/root_stick.json +b31860464e3650839e430575b12e6c4115330052 data/twilightforest/recipe/rope.json +00e9484f830dfba4aa013877f1bc5a6b27bf2250 data/twilightforest/recipe/smelted_cracked_underbrick.json +d569be87578a0f59f61322c42bfa1148e4da1883 data/twilightforest/recipe/snowy_cloud.json +8a6ca8c52695b38c93544162a79652c7eb8e9982 data/twilightforest/recipe/snow_queen_banner_pattern.json +c24be06a0f3818ca1b69a7dd1e0ec60628c6ca38 data/twilightforest/recipe/sorting_boat.json +66512d3e8306414573e709cb0870fb7443ea5545 data/twilightforest/recipe/sorting_chest_boat.json +7e4a924875b59571c1e79e82a4fbd0da418c7617 data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json +384bde03fca101600214b250ed779e96ef9544e7 data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json +9151ff68542a7e8a329fdf995c990e8049978228 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json +7312007b0519b4d494f10d6a69897333c29b415a data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json +14f9436e82d69ad568afae67364449344f88e8cd data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json +f6d3f6ce1c935d74f2f5f23d3284676e9a5f1ad4 data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json +afb2f23d255f619d25737d0b098a2b9c17269d80 data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json +1c8a9bff245ce8a46d6818cfb4382f109fef83b6 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json +aa196f86cc99cbcdb548160a01bc8f58eb2badc0 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json +95c7101f72743dbc42292fb4a4266fee5743b8b0 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json +0af9e1297e06aa63896162b1a5bcd011ec09b739 data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json +6328ef7dfc1b947d59975f42b6bae7d84503819e data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json +c7cced9d96dbbbde9e5ebb7aa67b276830e29db2 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json +ac01e8edcd495bf7393fdb0df1e35bb23b67ff95 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json +258965316026d5251dc9d84bee8146c235cb1e54 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json +a9565039ff2899aaeb07aca8ddf234de17de23ba data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json +56b0f9a411909be87f22d5fbc412dfcd57826472 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json +cb6e200324c6c58130679994d4d532207b26b1ea data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json +305a9829572c868a28a54d257f891b7c005e0735 data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json +fbb023178637912294a1f8a2d3e1fc980ad19b0d data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json +45eff946b3f40d151724b334f7af8a593103bf3c data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json +46172ed3b00ff979871d0bc7b150a2faadd40f5b data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json +68e5181a6372ca81d50f7d0fdff1aca77b6e2da4 data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json +9eacdb5fd0fc098e2344b0804b70662075b853cb data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json +22d40a3eb244cfced085d0a59d4f14ff5c368f83 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json +e644a05db1c22b1686cae26607bc77645f1e3395 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json +dba72e016f77a3fef733c631fad67d80ff533b49 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json +360b48b322ec9a771f93508c936ac67d69ea7a5f data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json +b550d9bfd0f898fe3c6fdd202c887dc3e7a95013 data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json +a30b03e9a3ae9b41b1829444c0cab0af7a32c1b1 data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json +0898d5d61405f03db332459b4db5502c16b28867 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json +62bb86bf0d0860b1c1501603c82cb6d7a03931f3 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json +2ec39cf71885c049e5f69f6694627bd90bb58d17 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json +666b8b3dfc76ed9138248e8098e68147a04787e9 data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json +11285a7ccbe4baac22aa1f4b09b92f68f8dba7cb data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json +5f8b28849916c72a1ddad530ce72a30808db2757 data/twilightforest/recipe/stonecutting/dark_log/towerwood.json +7b1a4d8e74a8d65e57bb2ab47195630fae6d6084 data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json +fef80a0363c7b1f1e887c0d54ac820f2f3bd2b20 data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json +afd5f7d298acb029412e10e1ffa8018f95467dde data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json +181d356162ea4cac7a6282c27937a98e0cde6745 data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json +461d372959155a74863024ae6c525199f4b14cb1 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json +157a459d3afc0dac1d7f095409e21f3703913e1e data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json +49c6122ed8cea50f6b3268008d99bb9f608dce51 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json +e749cf2efe1cb0bb7edb77e596491ececc0ee189 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json +ebd471cacec820fe017e80a2da7403bdea2bbab1 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json +2a083da84c1d5e1ff217b1553ded48b1b217c61e data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json +c23069525f154041f21caf8b0a324798bc7974cc data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json +4a11c264307d3dc33d7d4f926f41e434af48a459 data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json +2de8074a848a20f324903a65d54ee3b987ab9df9 data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json +f5db4a85243ee66dcc1fb577e72ded094388054d data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json +47482984583d1a7273124ed4f83dede8b61c0c96 data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json +069575fd37995a0d11e7b659b71e006f1870a66f data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json +712060ce1117e3f647d08c2d25e453a983fa237d data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json +bdd1be6d4c4dacc0ced6799b0be6d7b3db417765 data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json +f093cecaf5e2be5406b83570203f503ee55522cc data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json +d724eba690190ebcd1de844a92f4b1cde09c7736 data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json +162d09d27b34d0564d152fd8981fa714a617ae3d data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json +303dcac556e27acc8c63275d2cc0cb4cc8a96b99 data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json +11338de0daf3e5421c390ae3e389558fc84779aa data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json +4c5bde3568b222d73cf53376162081492d80b649 data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json +d306e1271e28d48fe36802a27b119cb83e8a0707 data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json +a1c4e22f431862df22a23a61544801713cec7355 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json +fe0d28929166c3c35b0539053bbf5248ec03ad31 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json +3ae48e560e99ff9272055573dc7f65251960f22a data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json +84b8e0526ab791043fb407a05e53adbb256e3739 data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json +4fda09a7e00e933264ade5a760fbb677c959c545 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json +5ad2ef40436697649dd4d01b1d5cde04b4e014a4 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json +d9de1766cf829abb14deb5564612f6efdc9a6feb data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json +e78385e669902aa956554e10429a78db2127e140 data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json +13953462e7b71b852c8b534a8c6de5d11d648401 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json +290daf636f779c131a902cac80ad54ecf14e2de8 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json +e97f2c7e8138eb46cdec5ae7fc9d3d17ba131519 data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json +15565c374ae9d47a670bdb4ca8ea167535d81fe5 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json +30f6825267438ca6daedf4d47507f5bb2eba6ca0 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json +1bf40cb925c3bc5ca90f5a7e0298ee35b5cfe4cf data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json +6915729c2773794cc1c999e0973f9c1865b3142d data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json +308597dc00e381b9138f35a8c06c15a9fac78cb8 data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json +53a382afc6a985ccbf2a295b952febc17b22d760 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json +3884373c6040ea38cf360c2c632a8afce07b60e3 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json +a812ead30316e4fb2385a6403cdaabbdc882541a data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json +a1e5dc5ea18c7d193a5ac8e57d1f9857e99483cd data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json +d1f53a4ed1938a6007eb7422c4c3f7a97afc3370 data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json +40de78aee5b086997d2db3d20a54e212126e2380 data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json +2046da8daec179d397091eda683eb831a2b35c86 data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json +5438c340bd1b4d9424b89e7082c7042efc221db3 data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json +cc6e3e75152eb60f1875256469e7e7d57b8363e2 data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json +b6bcc09ffede8a22f19bf332933be6c79a0ba61c data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json +75ed921a8692413f490684940b22d001882c7adc data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json +325fadc7e39cc854b4deb856930c8385ccbd5a7c data/twilightforest/recipe/stonecutting/stone/twisted_stone.json +a2428d813c3dfffeb8a02e49dcb53f57b45a3f9b data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json +e66d7b23d55232758d89990c8761b89b8bde16a4 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json +8f4ef475196a1015625b338f852c1a0f7e2bcae8 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json +af65543ad761c79db29c7f905e1c9e1c30993de9 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json +62f1c3a593f8faadef6fef605ca5699733c4f523 data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json +1cd0d7caa6b29478af58d861c39d68b2bf3d1b62 data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json +0673a15aa158ce2780a1353f3dd362e5232d9d2e data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json +089f3731d569fd1bdadf500de9e1fbbf865f4d8f data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json +e2d9dc7c8989193f736713fbef3c6cde4b16253e data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json +87fd9fe7a543e52bd034d5533030d091bba90f27 data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json +aca285806c6fe30448edb43bb2e24584e117c06d data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json +cf5122b70e4db824c2e0940cbd9d304b524f4ebe data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json +e59005f6faa6f7e78cd87e9903fd8fa60f3d6fae data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json +c1eac5c5bec796831ceea24b575769db3c35f369 data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json +7060b2db8dd6c9cd7c5bf623f97cc1bf8ea73b1d data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json +3c670f3116b69d71897736bacfaf2c48ea6f0cab data/twilightforest/recipe/tf_moss_to_vanilla.json +c53ae9edfa3cfa72e47f59b41696a5fade70667e data/twilightforest/recipe/tf_to_vanilla_lilypad.json +302537ccd50ec0b38223557394ca1522f460ec0d data/twilightforest/recipe/thorn_rose_to_red.json +2fc648ca51194ff74e21c80ecd69e55352c7ab3e data/twilightforest/recipe/time_boat.json +6c87449ae223a41083e4f2fdf0b8ef15f3cb3dc7 data/twilightforest/recipe/time_chest_boat.json +15216a6970c65ba7bd91c2196978173354962bc4 data/twilightforest/recipe/transformation_boat.json +dbad938b1cbae4f28cb02ecb600ddccbfa7771d4 data/twilightforest/recipe/transformation_chest_boat.json +bef509793da38f7bb34a451b300ba8c41a3c6a78 data/twilightforest/recipe/twilight_oak_boat.json +10f089dd8779f6d4213098d449bf45bbbe472163 data/twilightforest/recipe/twilight_oak_chest_boat.json +6d483bc6bc503c2dc1f5c8f638d6221dbc43ed0f data/twilightforest/recipe/uncrafting/tipped_arrow.json +bab93ce5a6003c3600bfd1e9be45e27fa132bb82 data/twilightforest/recipe/uncrafting/written_book.json +f0c99e543cad585c08004400b1732f8812d5f57a data/twilightforest/recipe/uncrafting_table.json +60e1a571824ae98e3eeaacff4966afbd4f0c5ed8 data/twilightforest/recipe/ur_ghast_banner_pattern.json +439110914a3c68749c12f84204fd84152203ce41 data/twilightforest/recipe/vanilla_to_tf_lilypad.json +575aefdd2c0ccc9e5a63d0e0bf60b0d500667fd9 data/twilightforest/recipe/vanilla_to_tf_moss.json +71e387222481cbd594aa83e7b73e89ebc6deb1bc data/twilightforest/recipe/vanishing_block.json +fa71ad42cb630ce83690813cd03e128eb0e1219f data/twilightforest/recipe/waterlily_to_magenta.json +eb8b19af30cb5895657b9aed9bd4668de9cee51c data/twilightforest/recipe/wood/acacia_banister.json +e9703cec20979dea3660d507630221fe53b6c4fe data/twilightforest/recipe/wood/aurora_slab_slab.json +c3be3a5eabf490b594c194c9063881ec6eb9b832 data/twilightforest/recipe/wood/bamboo_banister.json +922c623e820509d1e0df3e85b8558d413ed335a5 data/twilightforest/recipe/wood/birch_banister.json +56b9293cadc67adf40ed25c6ab6165dd9b47f158 data/twilightforest/recipe/wood/canopy_banister.json +15255070da7a2daf2c6b289cc6ee3c68cafd8946 data/twilightforest/recipe/wood/canopy_button.json +451653ec04badf7e9175b7c0cb175e1508de6d99 data/twilightforest/recipe/wood/canopy_chest.json +08427ccf047cef8426f58fab0f2f79534cba51fd data/twilightforest/recipe/wood/canopy_door.json +908738d9eadfdfee108458eb3a5233bfd2e2c64d data/twilightforest/recipe/wood/canopy_fence.json +f7d51ae069eafbf8e7cde0575477c4e6a23bfc61 data/twilightforest/recipe/wood/canopy_gate.json +6b52c7397364f6e0ece00fefb7634677b5fb589b data/twilightforest/recipe/wood/canopy_hanging_sign.json +9df887befc971af9b8fa2a8146c5ca519364a7a6 data/twilightforest/recipe/wood/canopy_planks.json +e181efe2d5b4bde3697d6daf37af74b4da6f900a data/twilightforest/recipe/wood/canopy_plate.json +b822165c49ca143507eba09cc4211206be30de92 data/twilightforest/recipe/wood/canopy_sign.json +e2165302019d3f6229ececb064759fb7da3910da data/twilightforest/recipe/wood/canopy_slab.json +c3909d7f1a1413d30db3ae39ac0bbfcc4ee588c9 data/twilightforest/recipe/wood/canopy_stairs.json +ef4db74e7811a45f147ad10169cec0775d166ffd data/twilightforest/recipe/wood/canopy_stripped_wood.json +ca2dd7c3e26c13cb9e052536e275cd38260d78bf data/twilightforest/recipe/wood/canopy_trapdoor.json +3a5b34b7a5422432d920ebefed2824674e238754 data/twilightforest/recipe/wood/canopy_trapped_chest.json +ceedbcd52552592c8a8cf93d3abe6c38b5593995 data/twilightforest/recipe/wood/canopy_wood.json +796bfa1955482a1cb922eb024ddf0a0711fc80c4 data/twilightforest/recipe/wood/cherry_banister.json +edc9c1ce8eb5d947cbe38692deb318905daa5308 data/twilightforest/recipe/wood/crimson_banister.json +843c2983543b4f1642fe6d2e107b87a572b101b1 data/twilightforest/recipe/wood/dark_banister.json +15693c132d7e34c16282d7926317b3779d1bd180 data/twilightforest/recipe/wood/dark_button.json +2116ab23cb3aac84fb9e78f8d9224b76989dd043 data/twilightforest/recipe/wood/dark_chest.json +82fb214891c558b4e24c67c2eb54d04f6a1889b9 data/twilightforest/recipe/wood/dark_door.json +93d21de3e38b25daf169b0637bd4d20427898005 data/twilightforest/recipe/wood/dark_fence.json +6653fc492e33fc3ac227e9cd9980ad75a08fc911 data/twilightforest/recipe/wood/dark_gate.json +c65ba9d28469933aa602df52e835a12398e0946e data/twilightforest/recipe/wood/dark_hanging_sign.json +2ce2d4eb48b4519d093d8691aaddae20a4d8467d data/twilightforest/recipe/wood/dark_oak_banister.json +844ae6d2dbc709af07b08990c9ccf791daa86c82 data/twilightforest/recipe/wood/dark_planks.json +eb49c61ff039d6acc8a17b92433bc6bbd1a11939 data/twilightforest/recipe/wood/dark_plate.json +b958ef65dd8b8c46bd5338d007db4650c7f3472b data/twilightforest/recipe/wood/dark_sign.json +49d4013c89b91f41f09a87fa741e3188bdd9632b data/twilightforest/recipe/wood/dark_slab.json +d5f00fabafa77d62fedf5e4d540c84af45950a20 data/twilightforest/recipe/wood/dark_stairs.json +b31201b5aaa2cb4569bd2395d70326d77532aa5b data/twilightforest/recipe/wood/dark_stripped_wood.json +29e5af9de48bbadd9762768b416b37d4e312a296 data/twilightforest/recipe/wood/dark_trapdoor.json +8256328ff0cde1cccb18eb6b60fb21943a79e1be data/twilightforest/recipe/wood/dark_trapped_chest.json +638ac9eee6582c771f452365d5ddbb7b0e319b6e data/twilightforest/recipe/wood/dark_wood.json +f2625c39eac4901713429159353ea6e8d669029a data/twilightforest/recipe/wood/jungle_banister.json +de3796208171f3d43eef8aa06d1d73797c3f869a data/twilightforest/recipe/wood/mangrove_banister.json +bad4455c5488d3ae37c17bb664afa7ff9e131a8b data/twilightforest/recipe/wood/mangrove_button.json +fb214f6c16ee0f3175acf7b6dee3cb48abe0a771 data/twilightforest/recipe/wood/mangrove_chest.json +af0cf5654cfef5889decc451f4ca6ffa3a29ecbf data/twilightforest/recipe/wood/mangrove_door.json +3f71c333200846ce20c8068a77a7657b5d5d6699 data/twilightforest/recipe/wood/mangrove_fence.json +f32f9b871b156ac7c6af7419ea4ffdfefa69f2d4 data/twilightforest/recipe/wood/mangrove_gate.json +5d4be87ea2b5eb62f57d21561f1a195e7a5efa8d data/twilightforest/recipe/wood/mangrove_hanging_sign.json +64da44a3ebdb3e956b86aaee319be8963abc66b9 data/twilightforest/recipe/wood/mangrove_planks.json +704a53b61234cb5364efa44f3c1a4948340bb1b5 data/twilightforest/recipe/wood/mangrove_plate.json +a4498da08ef98f97864e53ac5fbcb4c06814bcc2 data/twilightforest/recipe/wood/mangrove_sign.json +3a912f2db3bf61ce05a0bc452267a2846439907f data/twilightforest/recipe/wood/mangrove_slab.json +cf4e3150dc3f86e29d739fbf21d5769ddfb5f7ec data/twilightforest/recipe/wood/mangrove_stairs.json +5e04dd4f609a424af8b0ac62e3ee15f227c57062 data/twilightforest/recipe/wood/mangrove_stripped_wood.json +d6616acc68101b8d5f34de955687f750be52ddc7 data/twilightforest/recipe/wood/mangrove_trapdoor.json +b4df2213692f6114780d54e7ba28d05524ab546d data/twilightforest/recipe/wood/mangrove_trapped_chest.json +5648a5537f33527ad87c109b5476a081cc1b7c7b data/twilightforest/recipe/wood/mangrove_wood.json +f77e07a9560e2cceac4ee07f576e9adc10e8e561 data/twilightforest/recipe/wood/mining_banister.json +aae1aac6675e1d5ce7f594fbd39ed7bae74fd10a data/twilightforest/recipe/wood/mining_button.json +0c12521d0a51e65ce1d7c371f36ebd4bcf8a3799 data/twilightforest/recipe/wood/mining_chest.json +0fd7856aed0b93b95e4541306268299ad3bd3a4d data/twilightforest/recipe/wood/mining_door.json +f69e76c284388197feab7245165382ca6ac56cfd data/twilightforest/recipe/wood/mining_fence.json +d3d2a484500999abc0ca3ecd826a969cf4d5741e data/twilightforest/recipe/wood/mining_gate.json +925f061953125e04c479cab0b225da2da3128ac4 data/twilightforest/recipe/wood/mining_hanging_sign.json +42b20ea828ecfab6c98dc5f9b886131d18294f65 data/twilightforest/recipe/wood/mining_planks.json +3d51ac92f931cea37e33a9df35dcea4472682d01 data/twilightforest/recipe/wood/mining_plate.json +22b7995cd7a1ec050b83cf318e4f89d72c8edffa data/twilightforest/recipe/wood/mining_sign.json +8c1bf590e20012f53387654ce6d6ffc4fa282405 data/twilightforest/recipe/wood/mining_slab.json +aef59171525594dcc31ac2b5237a79ac271ddfc8 data/twilightforest/recipe/wood/mining_stairs.json +1690229d179214e777f93ef5ee0abfb94cb9821b data/twilightforest/recipe/wood/mining_stripped_wood.json +9a5ba62faeb6771394429865509f609f9d50678c data/twilightforest/recipe/wood/mining_trapdoor.json +f35c78c6183f85a87f462e873860c5d6e6b88ad1 data/twilightforest/recipe/wood/mining_trapped_chest.json +ba4189d4984abb932e1b3054f7ae9a54af825abb data/twilightforest/recipe/wood/mining_wood.json +724be8232e8827418b034a27db6507e898689cc6 data/twilightforest/recipe/wood/mossy_towerwood.json +3ca4ab1603ea9dd1fd59e43854db1a9b6d1e3204 data/twilightforest/recipe/wood/oak_banister.json +c6d4a93d035db0895ebb3e63ef9148a7dccab4de data/twilightforest/recipe/wood/smoked_cracked_towerwood.json +f7e5a5767c5b2605a2c09d876ff9f5254ff1c295 data/twilightforest/recipe/wood/sorting_banister.json +fe59f0ec0050e1fbcadb7bf41694654eb6b7ef01 data/twilightforest/recipe/wood/sorting_button.json +411f78fc11041388baa4691f2eaa1340ab474f6c data/twilightforest/recipe/wood/sorting_chest.json +c56808e79bf29eb2857bd86de76041d7a789b8e0 data/twilightforest/recipe/wood/sorting_door.json +51b114ff0e7924da6bfe169f4e591ceb9d605ad0 data/twilightforest/recipe/wood/sorting_fence.json +710591cf48d86f55d3c58ceaa5557f0777ed9959 data/twilightforest/recipe/wood/sorting_gate.json +7606a02d4a5d783ccb2453e4bcf9708f1d172ab7 data/twilightforest/recipe/wood/sorting_hanging_sign.json +08f9d365377052c50a3faa774754a7439ca2a7a6 data/twilightforest/recipe/wood/sorting_planks.json +70954508f92cf4e1ca1eceb6e4c7eda1fdd85243 data/twilightforest/recipe/wood/sorting_plate.json +5812251f9f4acdd48a1f8701d948dd7260f1312a data/twilightforest/recipe/wood/sorting_sign.json +b943de5e38bce04c1c3c5e1ca9ee2d8d80ff6748 data/twilightforest/recipe/wood/sorting_slab.json +84f71995554fb14be30b186d2faa543b3af75d0f data/twilightforest/recipe/wood/sorting_stairs.json +94416ba5308d73ddd15c82248ac835734ce338ed data/twilightforest/recipe/wood/sorting_stripped_wood.json +1823f0381011000d0baa3e97ed14daecc3cbe682 data/twilightforest/recipe/wood/sorting_trapdoor.json +bc224e1f9f2abd1075fc49f618c3a73399081788 data/twilightforest/recipe/wood/sorting_trapped_chest.json +1cc45e30099d35c2b08073189c100454f4970cbf data/twilightforest/recipe/wood/sorting_wood.json +9dc87266693cd35153dc919a2f2237f186f9cca5 data/twilightforest/recipe/wood/spruce_banister.json +28af6ca27c171899d00cf95c9b20163aa0178cbe data/twilightforest/recipe/wood/time_banister.json +603437ae088e60821549cce0bd263ff2f097743b data/twilightforest/recipe/wood/time_button.json +203839d27a5594d736ea1d9e6436343707798bd0 data/twilightforest/recipe/wood/time_chest.json +2073c185d1485405a202ea9e2129f5b365fa42a9 data/twilightforest/recipe/wood/time_door.json +82ec2418a137a67bfaf73c155ca328f79a5e501b data/twilightforest/recipe/wood/time_fence.json +c2efeb2efb398c6f457fd2092a33199f855ae649 data/twilightforest/recipe/wood/time_gate.json +6b6a672db88dc38307b899809b3e443611bc3a1e data/twilightforest/recipe/wood/time_hanging_sign.json +e6cbc38433528bf731aebba8969ab74d1284dad1 data/twilightforest/recipe/wood/time_planks.json +52b1ea245dd6daeaa3f2cc21b6176fd60a52f9f1 data/twilightforest/recipe/wood/time_plate.json +22776612fba85ac6b429cb3934f6b1062ba1b31f data/twilightforest/recipe/wood/time_sign.json +53c6e9f437942a3408971a9a8eb14116a600b83a data/twilightforest/recipe/wood/time_slab.json +abf834492833ff28b3b73398662c6c0e6452368c data/twilightforest/recipe/wood/time_stairs.json +f195f322c7f8332c8eb7a691ef84e1f8a36ef079 data/twilightforest/recipe/wood/time_stripped_wood.json +4ba7bf28206e7be1dbbaaa8c049f6b3bb15af993 data/twilightforest/recipe/wood/time_trapdoor.json +37e2fb7cea2975ca07e40cca6d01f57d7b5f5779 data/twilightforest/recipe/wood/time_trapped_chest.json +cb34f001592b40342d1d999c6bb4c0fafcc168eb data/twilightforest/recipe/wood/time_wood.json +bfb2010c8c3747ec6022c4f520f945c6e2a4be3c data/twilightforest/recipe/wood/transformation_banister.json +98544a060a6607e111852e759ba17b01bb984962 data/twilightforest/recipe/wood/transformation_button.json +7c7cf1702aa9002819a5f41f00f8544cc629d781 data/twilightforest/recipe/wood/transformation_chest.json +998575e4c809a7d142d9b1fc7565f99041c71f48 data/twilightforest/recipe/wood/transformation_door.json +bc8bebe9d60f9bd78eb6178d4cc0dfc77bdacfd9 data/twilightforest/recipe/wood/transformation_fence.json +cbd4ba8c3e8a51ab1ac4edff3e5914449bdd15c6 data/twilightforest/recipe/wood/transformation_gate.json +814531669fac5709907cb32d386e67b45281ae46 data/twilightforest/recipe/wood/transformation_hanging_sign.json +278e6471f9d647c67357604b0c05286141a315ad data/twilightforest/recipe/wood/transformation_planks.json +f590e14fc66937552189e2fa2744623bcb930307 data/twilightforest/recipe/wood/transformation_plate.json +77e6d5d606c5388fbc56789d0e103539660fcc13 data/twilightforest/recipe/wood/transformation_sign.json +46e5c2d14ea1f5031fd78d3d3a338ec957753613 data/twilightforest/recipe/wood/transformation_slab.json +e6cced8b8e92750f9b3097f78b7010910d58dea8 data/twilightforest/recipe/wood/transformation_stairs.json +99d0f904333d9231cae3853bd65858ad3163de76 data/twilightforest/recipe/wood/transformation_stripped_wood.json +6cf025ae1f7861cc725a6362e660b428a00838cd data/twilightforest/recipe/wood/transformation_trapdoor.json +700181645e342900af963c51e9c385dd0b70d76f data/twilightforest/recipe/wood/transformation_trapped_chest.json +db3af8be4e9f08d98d30cb90ebec33f9c9202c7d data/twilightforest/recipe/wood/transformation_wood.json +4c494285b8ad553389d8fe123f9049b82c054790 data/twilightforest/recipe/wood/twilight_oak_banister.json +2e99133670916ac941703ca5aff4ef30332d1d63 data/twilightforest/recipe/wood/twilight_oak_button.json +65c99cbbc058ca9d5f0dba2d330e91d41aa4de1a data/twilightforest/recipe/wood/twilight_oak_chest.json +dfe20631bc06832816bce22ea17e09eb1960f207 data/twilightforest/recipe/wood/twilight_oak_door.json +4c810beae9162ea032f02f59cfe19c74af970773 data/twilightforest/recipe/wood/twilight_oak_fence.json +ea4f0f2704d3f3a76e398b9e3bd3ac670f823f05 data/twilightforest/recipe/wood/twilight_oak_gate.json +32346e492cf45a9a069e82a4939c0feb6d9b6d39 data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json +b5ffd457e09bf3253f5705f8b98b3b37db53744f data/twilightforest/recipe/wood/twilight_oak_planks.json +1fa2f4bfdf4e7047832882079518f2904ac51a77 data/twilightforest/recipe/wood/twilight_oak_plate.json +ca0dae8138c9239eb1727999281fba69d6815e4f data/twilightforest/recipe/wood/twilight_oak_sign.json +a5ba8d2fe65806c7c4efac7542f5d51e92aa3ba9 data/twilightforest/recipe/wood/twilight_oak_slab.json +ec9e3f9f2e23dadc273e7c77719bf28ef0dafffd data/twilightforest/recipe/wood/twilight_oak_stairs.json +dca6f453235cfff040e9feacbc3d103f3124d3d0 data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json +64f8457e55525a7b59704b6858cd4c4bc63072f9 data/twilightforest/recipe/wood/twilight_oak_trapdoor.json +bfeb622eb69b2912b119ba83ea374b12885c7399 data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json +e09d0d99c910f98022fe930aeaf4acc51870c865 data/twilightforest/recipe/wood/twilight_oak_wood.json +045a785de6aedd207119a5b88955bec5951f1135 data/twilightforest/recipe/wood/vangrove_banister.json +68d281c65d7eda36ff09dcbbcceedef9bec895e0 data/twilightforest/recipe/wood/warped_banister.json diff --git a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e index 3baaf02eec..437312820a 100644 --- a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e +++ b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e @@ -1,2 +1,2 @@ -// 1.21.1 2024-11-19T12:27:59.243988 Sound Definitions +// 1.21.3 2025-01-08T00:35:56.3495545 Sound Definitions 3b27d779b91248f342667d855c66570d11bbb0e6 assets/twilightforest/sounds.json diff --git a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de b/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de index 56921f5dcd..f89d9bf81d 100644 --- a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de +++ b/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de @@ -1,3 +1,3 @@ -// 1.21.1 2024-08-11T11:15:17.159805736 Twilight Forest PaintingVariant Tags +// 1.21.3 2025-01-08T00:35:56.28804 Twilight Forest PaintingVariant Tags 7a9a4c42bf2c29d2ec812ecd9a99e1c4c3d752f0 data/twilightforest/tags/painting_variant/tower_boss_paintings.json cbb5f066f2a743f1edbbc8649ea2cb0ae4f7e5d1 data/twilightforest/tags/painting_variant/tower_paintings.json diff --git a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c b/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c index fc1dbb0f76..170b50f715 100644 --- a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c +++ b/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c @@ -1,2 +1,2 @@ -// 1.21.1 2024-08-11T11:15:17.159440858 Twilight Forest DimensionType Tags +// 1.21.3 2025-01-08T00:35:56.28804 Twilight Forest DimensionType Tags 00d9459d5231a90514badb0eaf58f279722af296 data/twilightforest/tags/dimension_type/allows_magic_map_charting.json diff --git a/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 b/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 index 454224c17b..94b310177b 100644 --- a/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 +++ b/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 @@ -1,2 +1,2 @@ -// 1.21.1 2024-12-26T10:41:52.6630611 Twilight Forest Quests -15d9dd0b96a3ea75ef5012762a078ec284a96987 data/twilightforest/twilight/quests/questing_ram.json +// 1.21.3 2025-01-08T00:35:56.3090423 Twilight Forest Quests +5eccb2d40dce35a38375516e06da31c120964eb4 data/twilightforest/twilight/quests/questing_ram.json diff --git a/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c b/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c index dc807c91fa..1de417ea33 100644 --- a/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c +++ b/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c @@ -1,4 +1,4 @@ -// 1.21.1 2025-01-02T17:01:36.770123645 TwilightForest Item and BlockItem models +// 1.21.3 2025-01-08T00:35:56.294038 TwilightForest Item and BlockItem models 387b18dfa614fda790f7b8e8324e3b139fa177c2 assets/twilightforest/models/item/acacia_banister.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json 061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/alpha_yeti_boss_spawner.json @@ -52,20 +52,20 @@ d4128f6d6e3181770f9a62614ad51c3c36505281 assets/twilightforest/models/item/arcti 873df2ab9e301e77b83d8484be14aa812bf1a84f assets/twilightforest/models/item/arctic_leggings_netherite_trim.json 4516ea985ae0359f6b5958f46b64d53f03494ea8 assets/twilightforest/models/item/arctic_leggings_quartz_trim.json 640bea6f4c9e359d7cda7473acdc64c3a36ae343 assets/twilightforest/models/item/arctic_leggings_redstone_trim.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/armored_giant_spawn_egg.json 0efc097cbb44aa1a043e535d92cefcdf2ccfce70 assets/twilightforest/models/item/armor_shard.json cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor_shard_cluster.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/armored_giant_spawn_egg.json +133be3155aa480bdf02081e13ca0e762069d42d8 assets/twilightforest/models/item/auroralized_glass.json 96b34f14857cd4d6c86e188e389b134c75099612 assets/twilightforest/models/item/aurora_block.json c34803aa239dbafa3c0286d98e6c16ab69c749ce assets/twilightforest/models/item/aurora_pillar.json c1a459bcf79cfcd7d0bc5ad1cc47ec0c2f7cf2fa assets/twilightforest/models/item/aurora_slab.json -133be3155aa480bdf02081e13ca0e762069d42d8 assets/twilightforest/models/item/auroralized_glass.json fd5610eff84568ff6a2105c742e9d67b89bc110a assets/twilightforest/models/item/bamboo_banister.json 3b22b7437760208f6214b9b121890393af3278a2 assets/twilightforest/models/item/beanstalk_leaves.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json 9916d25d03b28f2a6fc30d0f18e6b7607ec7f3f1 assets/twilightforest/models/item/birch_banister.json c30c07f286b75a6cb43443caa8877638d84abc6c assets/twilightforest/models/item/block_and_chain.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/blockchain_goblin_spawn_egg.json 4d1426ff55ca37680f67f1d61b86bc0679fc9d8c assets/twilightforest/models/item/blue_castle_door.json b27493eda49748814ba36a9543ccdcd33d7b44e2 assets/twilightforest/models/item/blue_castle_rune_brick.json bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/blue_force_field.json @@ -155,6 +155,7 @@ e5bc6e6bd2d27099d01f8c97ef219a4490508ca4 assets/twilightforest/models/item/cube_ 1ce5d3fe1b3c3104bee4bab8dd23df16c5393881 assets/twilightforest/models/item/cube_of_annihilation_thrown.json a7c7d75939e66246dbb6064fad965191f4da748e assets/twilightforest/models/item/cube_talisman.json 226c3441a79c7ab365bf47892c6039e62e81a1b3 assets/twilightforest/models/item/cut_mazestone.json +1a55c73749a19400422d96f7d7ec241f75daf441 assets/twilightforest/models/item/darkwood_sapling.json 812fac756a5cd11bf20bf69bb67500cb411d861a assets/twilightforest/models/item/dark_banister.json 8b091e6bdefce5c8702babeb30bd1e889ba085f0 assets/twilightforest/models/item/dark_boat.json 1c923e2245bfed3a7413afb0fb7a51ca2c2bb80c assets/twilightforest/models/item/dark_button.json @@ -175,7 +176,6 @@ e55282d4e6cb8b9c19dc036e7174e2fe39f01a7a assets/twilightforest/models/item/dark_ fc7fa6c2d37875a13c4c9ab7eeac2ef6b5a37354 assets/twilightforest/models/item/dark_trapdoor.json 31bb8e075e499ae624ac0953114b8d041d9db2c0 assets/twilightforest/models/item/dark_trapped_chest.json 90d034851a42185a2a4c5f28ad31465b8e484b79 assets/twilightforest/models/item/dark_wood.json -1a55c73749a19400422d96f7d7ec241f75daf441 assets/twilightforest/models/item/darkwood_sapling.json d6edbd2c81a7358947e877898ffc5d059d1f4599 assets/twilightforest/models/item/deadrock.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/death_tome_spawn_egg.json 7ba3b19a793b3e103b749655e5487cf6527233bf assets/twilightforest/models/item/decorative_mazestone.json @@ -254,10 +254,10 @@ d895c75381c7feefb45bb9b9554f3530b3ab90c6 assets/twilightforest/models/item/fiery 2cee91b73f1e622d13636ea951266294a7f8858f assets/twilightforest/models/item/filled_maze_map.json a4efc46b585c4575013020061d1c0ff5ec73261b assets/twilightforest/models/item/filled_ore_map.json 061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/final_boss_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/fire_beetle_spawn_egg.json -83c3392a583d70aceb92d9b7f16a5cf58172172b assets/twilightforest/models/item/fire_jet.json 3173f2fc815feaad64c9c93c11d284ae95d01048 assets/twilightforest/models/item/firefly_jar.json e7acd2988378a41a4eb4f423392b0a95545f63ed assets/twilightforest/models/item/firefly_particle_spawner.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/fire_beetle_spawn_egg.json +83c3392a583d70aceb92d9b7f16a5cf58172172b assets/twilightforest/models/item/fire_jet.json a8f03677eca5d5ab6f83fc4390bcb0338d799ae8 assets/twilightforest/models/item/fluffy_cloud.json d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/fortification_scepter.json 9f410438de778e29167734c6d25de587438ba73d assets/twilightforest/models/item/four_leaf_clover.json @@ -386,10 +386,6 @@ f8bc97a59b921af07f7178677f0d2f85f1e4fd78 assets/twilightforest/models/item/ironw c066ae6241e4ca251cd0bd28e17fe102e5aa0981 assets/twilightforest/models/item/ironwood_sword.json 157bffad0e30dad70206c79f3f218ceb5e5d98d6 assets/twilightforest/models/item/jungle_banister.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/king_spider_spawn_egg.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/knight_phantom_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/knight_phantom_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/knight_phantom_spawn_egg.json -3fd9a49275a9e425fdd42bdf9cbe5537d3550b70 assets/twilightforest/models/item/knight_phantom_trophy.json a3e174da7e8f2a12e133b431dc29a96d945953e5 assets/twilightforest/models/item/knightmetal_axe.json 29e8fc3ff44ae25218fe331f8927867f7fa11b35 assets/twilightforest/models/item/knightmetal_block.json 3934538c174552f0ed6ced0d01b1ee78594584ab assets/twilightforest/models/item/knightmetal_boots.json @@ -440,6 +436,10 @@ dce79ff2f9ddf262a1a2d36528aa6eaae37d9c36 assets/twilightforest/models/item/knigh d2c0d0336eb105811ec38717128c4f0f344d8523 assets/twilightforest/models/item/knightmetal_pickaxe.json 221fbdcebc9e01c60279953e014254d16333f6ef assets/twilightforest/models/item/knightmetal_ring.json a7ec10a496b1b6935e8dc144efe701e3f5ec7f00 assets/twilightforest/models/item/knightmetal_sword.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/knight_phantom_banner_pattern.json +061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/knight_phantom_boss_spawner.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/knight_phantom_spawn_egg.json +3fd9a49275a9e425fdd42bdf9cbe5537d3550b70 assets/twilightforest/models/item/knight_phantom_trophy.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/kobold_spawn_egg.json 315ba5b6cb31f2543efff7794e5a78ad0db0f490 assets/twilightforest/models/item/lamp_of_cinders.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/lich_banner_pattern.json @@ -478,15 +478,15 @@ f4dac8a73ee71c84e875908b6690237c43bf0633 assets/twilightforest/models/item/mangr 6604d6d66e5d0be53e3daa017c419240b51205d9 assets/twilightforest/models/item/mangrove_trapped_chest.json 2496be590449bb19a40a9bd04aa08fdfc4c263b9 assets/twilightforest/models/item/mangrove_wood.json 11c99bf9307aac43c075320eb3fe411ec2eac58c assets/twilightforest/models/item/mayapple.json -134e4c40ccf2bc5f12ce90bbeac261dd6e1398d4 assets/twilightforest/models/item/maze_map.json -3c228cd32f67cd640f1745626c6e775f14a689df assets/twilightforest/models/item/maze_map_focus.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/maze_slime_spawn_egg.json -8038237d661376b29d9de794e043bbabd31925bb assets/twilightforest/models/item/maze_wafer.json e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json ec981af97894d664b45ef734c30ad813ebf7ec30 assets/twilightforest/models/item/mazestone.json 25c80cd7f729db78526a8e96b8225e925fa3161f assets/twilightforest/models/item/mazestone_border.json 259bfdfc50a8d0a05c4aa373f7e6fad2062e6d7b assets/twilightforest/models/item/mazestone_brick.json 3eeb2b1cd6dbf1e1dd59d8176f4607bedefca793 assets/twilightforest/models/item/mazestone_mosaic.json +134e4c40ccf2bc5f12ce90bbeac261dd6e1398d4 assets/twilightforest/models/item/maze_map.json +3c228cd32f67cd640f1745626c6e775f14a689df assets/twilightforest/models/item/maze_map_focus.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/maze_slime_spawn_egg.json +8038237d661376b29d9de794e043bbabd31925bb assets/twilightforest/models/item/maze_wafer.json 07e884313e400575a2300b39bb59a200b01eca42 assets/twilightforest/models/item/meef_stroganoff.json 6d5440cabe2a1221df9b2eedc62c6a450afefff8 assets/twilightforest/models/item/mining_banister.json aa55f42f900763f4e5681b42608dbb6f8b526fa2 assets/twilightforest/models/item/mining_boat.json @@ -515,6 +515,8 @@ cf3737de5ae670012ca4fd9135bae81ed57138c6 assets/twilightforest/models/item/minin 621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/minoshroom_trophy.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/minotaur_spawn_egg.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/mist_wolf_spawn_egg.json +066b40fec4700610b470a9eacfefc03b5599ff93 assets/twilightforest/models/item/moonworm_queen.json +824774180de2cddedf1c798073f84d69a045515d assets/twilightforest/models/item/moonworm_queen_alt.json d0823e2b9a56fb573cc41002a22ae0315679aef7 assets/twilightforest/models/item/moon_dial.json 7dd8d92247fafafbeb54a9c9b0d3a9f830f99817 assets/twilightforest/models/item/moon_dial_full.json 3ccb89fa084c401e478efc4d6c548b3f0bedcf92 assets/twilightforest/models/item/moon_dial_new.json @@ -524,10 +526,7 @@ ecdb9fcbb8fe8d6db544936737394981d55b51e8 assets/twilightforest/models/item/moon_ 8ecb907caca4a12dd9789f8b3337ea4c39f178fe assets/twilightforest/models/item/moon_dial_waning_gib.json d793cc179ad8f4322b8f3b1bafb34272f34126f6 assets/twilightforest/models/item/moon_dial_waxing_cres.json bf19b0d9c6bdfda495e911a67eb4326e8357a99a assets/twilightforest/models/item/moon_dial_waxing_gib.json -066b40fec4700610b470a9eacfefc03b5599ff93 assets/twilightforest/models/item/moonworm_queen.json -824774180de2cddedf1c798073f84d69a045515d assets/twilightforest/models/item/moonworm_queen_alt.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json -45417066a8c4a018026d9951ba4b55e8d8cb2208 assets/twilightforest/models/item/moss_patch.json 08939ed055c2ecbdadc39131aaca1d01fb876dbb assets/twilightforest/models/item/mossy_castle_brick.json bd051cd90bfa4481c7bb03013f8c056434c118e2 assets/twilightforest/models/item/mossy_castle_brick_stairs.json 0b2ba3317aa496a215a4a009d92a332e96b44629 assets/twilightforest/models/item/mossy_etched_nagastone.json @@ -537,6 +536,7 @@ a84271d2baf83e203d9006246561586cb2e64570 assets/twilightforest/models/item/mossy a2f1ff6b0c20efbe0889814be0f3be31f146f34f assets/twilightforest/models/item/mossy_nagastone_stairs_right.json 9948c2bc7b1878669d0a49cdfd37e5e6ffa3129a assets/twilightforest/models/item/mossy_towerwood.json 727223a45db796cf0563dd393fd4714116af116d assets/twilightforest/models/item/mossy_underbrick.json +45417066a8c4a018026d9951ba4b55e8d8cb2208 assets/twilightforest/models/item/moss_patch.json ee1286ae00d31a74692857b11af43bce079c04be assets/twilightforest/models/item/mushgloom.json 72cbb9656b782c67c12fb01e590d3f312d188b05 assets/twilightforest/models/item/music_disc_findings.json 03baa484efe9c1311440f878ed7455a9d5734418 assets/twilightforest/models/item/music_disc_home.json @@ -548,6 +548,11 @@ de47e4e74077c2e92415a170ad02de0c239e1a35 assets/twilightforest/models/item/music cf4bb049c531db874c9bd1e508b0cff9c773f241 assets/twilightforest/models/item/music_disc_thread.json 2fcac44fcd93bb7e4cdd8dddf3d72f62f481cd85 assets/twilightforest/models/item/music_disc_wayfarer.json 621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/mystic_crown.json +93d410af4b89d9331737f1a4f8b0e26023c93c8a assets/twilightforest/models/item/nagastone.json +252d2edf25d0d7fa0c53faff52c866929dcede4a assets/twilightforest/models/item/nagastone_head.json +314125ee8f11192a78647c4b5affdddead3a29b9 assets/twilightforest/models/item/nagastone_pillar.json +101c5ee8f08118f34274dcefc51ecd988251ab92 assets/twilightforest/models/item/nagastone_stairs_left.json +28367b6b33028cdd83c86a5752f8012dbab95788 assets/twilightforest/models/item/nagastone_stairs_right.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/naga_banner_pattern.json 061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/naga_boss_spawner.json ae78b5cfebca2c316fa03c445c85a9438998da65 assets/twilightforest/models/item/naga_chestplate.json @@ -556,11 +561,6 @@ ae78b5cfebca2c316fa03c445c85a9438998da65 assets/twilightforest/models/item/naga_ e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/naga_spawn_egg.json 621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/naga_trophy.json -93d410af4b89d9331737f1a4f8b0e26023c93c8a assets/twilightforest/models/item/nagastone.json -252d2edf25d0d7fa0c53faff52c866929dcede4a assets/twilightforest/models/item/nagastone_head.json -314125ee8f11192a78647c4b5affdddead3a29b9 assets/twilightforest/models/item/nagastone_pillar.json -101c5ee8f08118f34274dcefc51ecd988251ab92 assets/twilightforest/models/item/nagastone_stairs_left.json -28367b6b33028cdd83c86a5752f8012dbab95788 assets/twilightforest/models/item/nagastone_stairs_right.json c825e1c3550c80ba6c507e2c09827c83201c8508 assets/twilightforest/models/item/oak_banister.json bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/orange_force_field.json 15d1b83142509312e20ad12c0d1713688d1269fd assets/twilightforest/models/item/ore_magnet.json @@ -612,12 +612,12 @@ c17e41e6f645f3a0e369c10497df587fcf1631e8 assets/twilightforest/models/item/rainy 6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json 1bbdd61f3f1d2b53812fbe21f1e53e42b55a7de7 assets/twilightforest/models/item/raw_venison.json 34f086e26bfdc800d357f3e53e4976a0df5fa8df assets/twilightforest/models/item/reappearing_block.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_sapper_spawn_egg.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_spawn_egg.json 02d1bae05e35f82e7cf66e1c122b9fc697a4deb5 assets/twilightforest/models/item/red_thread.json 838755413cb66599d04290c9c7a66f4f4d1f0fea assets/twilightforest/models/item/red_thread_bundle.json 8ffd7ca851414b40b4515be3ce1e9abfe92a1b8d assets/twilightforest/models/item/red_thread_large_spool.json fcbf4ee3bdfc26cb430f28f4e76771da074a5aa0 assets/twilightforest/models/item/red_thread_spool.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_sapper_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_spawn_egg.json 40f22ccfa085414838c7cab1bb685b6270733126 assets/twilightforest/models/item/root.json 8537a6ba9f4a50d69cf01630607b3b2bbdd7c50e assets/twilightforest/models/item/root_strand.json 9906e876cf4bf9bb6e28032e6129c3dba7081de4 assets/twilightforest/models/item/rope.json @@ -632,12 +632,12 @@ bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/skele 0ee6598ddfeb5eff5d72843cdec68f0c35f15363 assets/twilightforest/models/item/slider.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/slime_beetle_spawn_egg.json 9b85fe6ee3248abb58c52a8e4de51ee5593d9017 assets/twilightforest/models/item/smoker.json +589fc7872f53375ffc00de5c0a64e8ccb3ee29f2 assets/twilightforest/models/item/snowy_cloud.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/snow_guardian_spawn_egg.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/snow_queen_banner_pattern.json 061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/snow_queen_boss_spawner.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/snow_queen_spawn_egg.json 621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/snow_queen_trophy.json -589fc7872f53375ffc00de5c0a64e8ccb3ee29f2 assets/twilightforest/models/item/snowy_cloud.json 69ddd39807bf14bca8daadd4d6f4e2fc93be4b0e assets/twilightforest/models/item/sorting_banister.json d4a5f01bd0560ede6d9756cee312a4fcd2c7747f assets/twilightforest/models/item/sorting_boat.json eec745adb23307394b4da3a0885e667ac5d905a7 assets/twilightforest/models/item/sorting_button.json @@ -764,9 +764,9 @@ b8b14f90fb2dce3e231361082d926fe478c962a4 assets/twilightforest/models/item/time_ 84b6e8abf533a1367db9f8aefcbdcc30c3b90496 assets/twilightforest/models/item/tooting_crumble_horn.json 8df22476335a530097aae297d910fc47c72eb659 assets/twilightforest/models/item/torchberries.json 04b469cff60997a1388783e97ea012da256a12df assets/twilightforest/models/item/torchberry_plant.json -903aca39343d85b20acdfc70179d1023213c0a87 assets/twilightforest/models/item/tower_key.json dc4655f39194eac0cda7a76f744d12f7d3266940 assets/twilightforest/models/item/towerwood.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/towerwood_borer_spawn_egg.json +903aca39343d85b20acdfc70179d1023213c0a87 assets/twilightforest/models/item/tower_key.json 7374ce1ab869a82285264585b6fcf8b533b866c2 assets/twilightforest/models/item/transformation_banister.json d82c6c8c0ce2c8162b0fdd3a791d86bfa3a041fe assets/twilightforest/models/item/transformation_boat.json f2e89acef3c72f0bc1489c8c474c540c68590d6e assets/twilightforest/models/item/transformation_button.json @@ -793,11 +793,11 @@ e13d8f18390763349ac4ad44f7241ba058518ae5 assets/twilightforest/models/item/trans a01e709e7b119f1c1c6c1f19c37a45adce96fe23 assets/twilightforest/models/item/triple_bow_pulling_0.json da8ccbaaf7197d8de6f5a670061779d6c9bd69b8 assets/twilightforest/models/item/triple_bow_pulling_1.json 1e9c9118a16e3aae53792c02900e73a27d2e8855 assets/twilightforest/models/item/triple_bow_pulling_2.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/troll_spawn_egg.json 10fe4ffbfd9f8331fc671518c1601a37d29dca92 assets/twilightforest/models/item/trollber.json 143fcec33946ad1372d8bdba061bc72f5838b117 assets/twilightforest/models/item/trollsteinn.json 93593e7779b3cc6b8401375cec38388a3c9692f5 assets/twilightforest/models/item/trollsteinn_light.json c40a954fe657d4d44a308596d3fcdc3ad6de9faf assets/twilightforest/models/item/trollvidr.json +63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/troll_spawn_egg.json 44ba301b492f28d0b9bfd8cc87b39c994c056e5d assets/twilightforest/models/item/trophy.json 6bd39542a0254d0e686843560dbdd0cf3f365f54 assets/twilightforest/models/item/trophy_minor.json 2b527ae9d5ec3c96beeb9df4af0f5d1be79a23dc assets/twilightforest/models/item/trophy_pedestal.json diff --git a/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 b/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 index fabdec4e3d..d6e1e8e559 100644 --- a/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 +++ b/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.139981565 Twilight Forest Biome Tags +// 1.21.3 2025-01-08T00:35:56.2860388 Twilight Forest Biome Tags de7eae9ce12a34bc9ba7e9b0a080f206b7bf5ab8 data/minecraft/tags/worldgen/biome/has_closer_water_fog.json 6fcfc9f11967d4486971cf630ce3613738d77290 data/minecraft/tags/worldgen/biome/snow_golem_melts.json d465db5120f478c5dbf3e4038d755aaec6ea9eed data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json diff --git a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc index 8e958dcf78..6571abf6ef 100644 --- a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc +++ b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc @@ -1,4 +1,4 @@ -// 1.21.1 2024-12-02T22:49:38.8060179 Twilight Forest Item Tags +// 1.21.3 2025-01-08T00:35:56.3455556 Twilight Forest Item Tags 3c5895c72cfffe09615ec2b28267a726fcbf52e8 data/alexscaves/tags/item/ferns.json 4c5df8d60b8f068b482a22fd807ddea22e1bfe00 data/alexscaves/tags/item/ferromagnetic_items.json 42afac82c004061587d5b1ae20c2e66c0d399c8c data/alexscaves/tags/item/raw_meats.json diff --git a/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 b/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 index 7fb2bcb640..3b4a4263b7 100644 --- a/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 +++ b/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 @@ -1,3 +1,3 @@ -// 1.21.1 2024-08-11T11:15:17.138645215 Twilight Forest Block Entity Tags +// 1.21.3 2025-01-08T00:35:56.2850397 Twilight Forest Block Entity Tags d90144e4f0404eeddfa109a5d61bf452e626203a data/c/tags/block_entity_type/immovable.json d90144e4f0404eeddfa109a5d61bf452e626203a data/c/tags/block_entity_type/relocation_not_supported.json diff --git a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 index 4d70ad6e8e..a848b6d363 100644 --- a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 +++ b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 @@ -1,4 +1,4 @@ -// 1.21.1 2024-11-26T22:08:19.96248 Twilight Forest Block Tags +// 1.21.3 2025-01-08T00:35:56.3100437 Twilight Forest Block Tags 9d529390443b5da5d71bd6e867c066632e1340b8 data/alexscaves/tags/block/ferromagnetic_blocks.json ddfcbead67bb9487c003af137a276963e5b20022 data/alexscaves/tags/block/gloomoth_light_sources.json c365018bd78f1335cd4508b5d74bc4500ae951bd data/alexscaves/tags/block/underzealot_light_sources.json @@ -8,8 +8,8 @@ dbb45e0d36df554b46ceb4028ec61bc7b7a6315a data/c/tags/block/chests/trapped.json 3d56c0ea016f639fad4fae4272d928867251da04 data/c/tags/block/chests/wooden.json 211134157771c86a72a0c5a1985c2b05da55729b data/c/tags/block/fence_gates/wooden.json 1c8be16360ba840051ed917f6b9667c66376d4ee data/c/tags/block/glass_blocks.json -092125a387f652f754cbd3e2eef2d3fe0a67bd55 data/c/tags/block/ore_bearing_ground/root.json 078ffd510c10188061614a42c5165e8a6b146fd7 data/c/tags/block/ores_in_ground/root.json +092125a387f652f754cbd3e2eef2d3fe0a67bd55 data/c/tags/block/ore_bearing_ground/root.json 13ef2169fcd31b20ffd1e70c9f7b4855e786d936 data/c/tags/block/player_workstations/crafting_tables.json 7088eeadc01cb4ee514f7c4fd5c25d66a2ee1a00 data/c/tags/block/relocation_not_supported.json d2e681a14efc494b83a43b07b35d26dad2fff850 data/c/tags/block/ropes.json @@ -59,9 +59,9 @@ bb39f860aaf80d261eee2fc6cf18ee75a411d1c1 data/minecraft/tags/block/slabs.json 0074c60e923669a4539ccbc5bd0c293f255ff5a5 data/minecraft/tags/block/standing_signs.json c15f20a0c7467da527d9bde3456b9eb9e6a86021 data/minecraft/tags/block/strider_warm_blocks.json 89b1de786c6a6e577b7de5733e462baa124cd138 data/minecraft/tags/block/sword_efficient.json +e67d2a0a3001de2207130c3fffff8d6665f26fbf data/minecraft/tags/block/walls.json f1654e579781c2bce8d458efa0cdb304b5ad052c data/minecraft/tags/block/wall_hanging_signs.json 8b7e0d4d896e5e197798d761800abbb1510d92e8 data/minecraft/tags/block/wall_signs.json -e67d2a0a3001de2207130c3fffff8d6665f26fbf data/minecraft/tags/block/walls.json 21d68ed46d202a9b9c5b709deebf8105df972ec0 data/minecraft/tags/block/wither_immune.json f0813a14ba178a941ba37c4059a25e6b19f77091 data/minecraft/tags/block/wooden_buttons.json 3ff910b3376b5166da794689b1bf7569ad0b2e87 data/minecraft/tags/block/wooden_doors.json @@ -85,8 +85,8 @@ ecd0a9f97ab5b54a7c21ed4f6af6896d564ea5f0 data/twilightforest/tags/block/castle_b 3d56c0ea016f639fad4fae4272d928867251da04 data/twilightforest/tags/block/chests.json 63d6b8afab51c74ed26723c1e8a1588cbba120cb data/twilightforest/tags/block/clouds.json 352073aacfa14a51f14ee10c729a41eeeb9326bc data/twilightforest/tags/block/common_protections.json -29d004c820708d44b1747a2f31f506646efb1a27 data/twilightforest/tags/block/dark_tower_allowed_pots.json 97652f431059f64ffc5747f498cdcf278ddd0555 data/twilightforest/tags/block/darkwood_logs.json +29d004c820708d44b1747a2f31f506646efb1a27 data/twilightforest/tags/block/dark_tower_allowed_pots.json 8ed2ef0f9a24051c4d152d5d47721e79f790e2eb data/twilightforest/tags/block/deadrock.json 7caa25870567b18269192c1592a69bdd8558c275 data/twilightforest/tags/block/druid_projectile_replaceable.json db6195d77bd598771b111d12750ba39f41fe35c7 data/twilightforest/tags/block/fire_jet_fuel.json @@ -123,8 +123,8 @@ cf3608bd187922aeb48c566c19e8482b0dca34c7 data/twilightforest/tags/block/portal/f e40d95a628eb206ce0b4bac90782bccc789cf8dc data/twilightforest/tags/block/sortwood_logs.json 513552f34c4bbf125c67f4ba5b1dc6b34aa4d19f data/twilightforest/tags/block/structure_banned_interactions.json fe294f66f8396c4430eeb05932c598d8a86fbba0 data/twilightforest/tags/block/supports_stalagmites.json -6ac229128975c2e8f70b767e08a76386b7bc81df data/twilightforest/tags/block/time_core_excluded.json aa9ca0bf521d8c6b198f2c25e4d5528917308d9f data/twilightforest/tags/block/timewood_logs.json +6ac229128975c2e8f70b767e08a76386b7bc81df data/twilightforest/tags/block/time_core_excluded.json 6352667067c11a27cfc37713a8f8543507c1f18e data/twilightforest/tags/block/towerwood.json 548dfc9d7e2225c6f7d761216b3fafc120978f73 data/twilightforest/tags/block/transwood_logs.json 4fba579595d0eafa048882f138be9adc9e39b7b1 data/twilightforest/tags/block/tree_roots_skip.json diff --git a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 index b89b116b18..86b86d548b 100644 --- a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 +++ b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.212949284 Particle Descriptions +// 1.21.3 2025-01-08T00:35:56.3485554 Particle Descriptions ce403794cbcc5ec5f72b853a8c0a2f0608fadd0f assets/twilightforest/particles/annihilate.json 21cdc0ed30720178ebd7bd11d6d92e9063330b1c assets/twilightforest/particles/cloud_puff.json 69cdc834e1efba1bdd494bc2a4d0b166fb53fb0a assets/twilightforest/particles/dim_flame.json diff --git a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c index 95d19b9285..e78593c65d 100644 --- a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c +++ b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.212602598 Twilight Forest Banner Pattern Tags +// 1.21.3 2025-01-08T00:35:56.3475561 Twilight Forest Banner Pattern Tags 9e25f367347054bfeb2795c2817298a5ea2476f1 data/twilightforest/tags/banner_pattern/pattern_item/alpha_yeti.json 3201a363347edfd87df1964f045b967bb03bb554 data/twilightforest/tags/banner_pattern/pattern_item/hydra.json 682b1fc8cf54182a6882ecbb4c5766a96a936caf data/twilightforest/tags/banner_pattern/pattern_item/knight_phantom.json diff --git a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 index 96a3d81e45..5993999398 100644 --- a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 +++ b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-11T11:15:17.181360744 Twilight Forest Entity Tags -00b66b9a62a509d2c0bcfad259ff965c818a8f12 data/aether/tags/entity_type/deflectable_projectiles.json +// 1.21.3 2025-01-08T00:35:56.3020379 Twilight Forest Entity Tags +d208fff881b5ab7116f15e79ec1b5954653479cd data/aether/tags/entity_type/deflectable_projectiles.json 9e5f68b2faa6d767538d0f4264a7145d32a2bdda data/aether/tags/entity_type/fire_mob.json 3ddb086fa7ad80a4f7018142796566c22407e7e4 data/aether/tags/entity_type/pigs.json 986ee69ca972520c9ae4cf136e28d84e98d0f256 data/alexscaves/tags/entity_type/resists_acid.json @@ -17,7 +17,7 @@ f0201eef926830e5f1c0aaaf18c674c503d22c0b data/minecraft/tags/entity_type/freeze_ 4cc81785a3c2c7f11c11bac6cf2ad3c0d89c9ad5 data/minecraft/tags/entity_type/frog_food.json 6184dccab39df4437d8d887c05024f60bd5e788d data/minecraft/tags/entity_type/immune_to_infested.json 4cc81785a3c2c7f11c11bac6cf2ad3c0d89c9ad5 data/minecraft/tags/entity_type/immune_to_oozing.json -7e37d5f14228bd5903b7d4c85c407f06d291ad53 data/minecraft/tags/entity_type/impact_projectiles.json +dcf1397e690453cbfefff253d9ae85d6eaeb4b03 data/minecraft/tags/entity_type/impact_projectiles.json e1ec2146a12c67e6333cd9738c81291aded74036 data/minecraft/tags/entity_type/powder_snow_walkable_mobs.json 016d3165a6f228f7416cec2923bf9b8bed8979fa data/minecraft/tags/entity_type/redirectable_projectile.json 05818cb02398f00d3d7129f8fa26858a295e069f data/minecraft/tags/entity_type/skeletons.json diff --git a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 index b3cf995910..f83674a89a 100644 --- a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 +++ b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.188964728 Tags for minecraft:damage_type mod id twilightforest +// 1.21.3 2025-01-08T00:35:56.3140436 Tags for minecraft:damage_type mod id twilightforest e871224cfaf3f71ec4cef5455688114b0d13ee16 data/minecraft/tags/damage_type/always_most_significant_fall.json addc08f14bbae216b52a4e7f153141d2a3ba1788 data/minecraft/tags/damage_type/avoids_guardian_thorns.json de716354e5bc80f34cc2ed16156ac33f59bbbaea data/minecraft/tags/damage_type/bypasses_armor.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 0c4814a5d1..3345e96f99 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.1 2024-12-03T23:45:13.6611829 Languages: en_us for mod: twilightforest -14e5f3f09855098f1c3b5a298510f9f4198351b6 assets/twilightforest/lang/en_ud.json -edb5c60166557cccad633f7c3ef95e291a08516b assets/twilightforest/lang/en_us.json +// 1.21.3 2025-01-08T09:31:30.5618116 Languages: en_us for mod: twilightforest +c02b8b51de7504821b3810dede18b85759b35d01 assets/twilightforest/lang/en_ud.json +e7377d215c0ae5b93897ea11931c4d78482ef32a assets/twilightforest/lang/en_us.json bbbd252baa65057cac7aee7c411bd4a3ba6a8cc2 assets/twilightforest/tips/anvil_squashing.json 1847d9d9f397462f50271efcfc70684c2d413dca assets/twilightforest/tips/arctic_armor.json 36bde1f293696f4253bed0a224e7a1bb3abc3f9a assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f index 232b70b8c9..115d8b6e2a 100644 --- a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f +++ b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-26T04:01:24.0420812 Data Maps -9d605f77607fab46af7ad213ed8d31788a2321c9 data/neoforge/data_maps/entity_type/parrot_imitations.json +// 1.21.3 2025-01-08T00:35:56.3445857 Data Maps +aaf736767d7e0660bb90e3835d0f1de41f25d955 data/neoforge/data_maps/entity_type/parrot_imitations.json afd96f81ddd677bc5552b0685df897a93f4d6445 data/neoforge/data_maps/item/compostables.json 1bda341a4fd3cfbd09ba74b7072ce0931799b473 data/neoforge/data_maps/item/furnace_fuels.json 8a5b0485a5ac296217fe1f69fc34d7126e5ca4c9 data/twilightforest/data_maps/block/crumble_horn.json diff --git a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 index 97ff0f3602..71905e5126 100644 --- a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 +++ b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 @@ -1,4 +1,4 @@ -// 1.21.1 2024-12-26T11:45:53.0737833 Advancements +// 1.21.3 2025-01-08T00:35:56.3505561 Advancements 9adb1f798b625c7bd139a46ff7ef37c2f6ea16b2 data/twilightforest/advancement/arborist.json 982f2dff978fcb4491a5893b3102e205ee8d1abd data/twilightforest/advancement/arctic_armor_dyed.json ec103b35601a7e401bc11a022418a2510cbc25b7 data/twilightforest/advancement/beanstalk.json @@ -13,7 +13,7 @@ b904bfd629fc42a5c1ba1f6673dd707254e5957c data/twilightforest/advancement/giants. 213c45facf696ffc3e7023a13ab4b688f8fbfea7 data/twilightforest/advancement/hedge.json 2653c0a3d66b234c45680fb12382013eb554dfa8 data/twilightforest/advancement/hill1.json 6db79f1909c8af93480706fe47c575ae579f2838 data/twilightforest/advancement/hill2.json -7e5636cf7bc791b6999b0a0e3ecc8cf714f283d7 data/twilightforest/advancement/hill3.json +28ff614832271438ec09a5286a5d0df4a350f190 data/twilightforest/advancement/hill3.json 00a384e8e4de634ea53a7c66b248d4839b4c4f7d data/twilightforest/advancement/hydra_chop.json fde56bd8a873922a338e45b307a4c1b61678a68c data/twilightforest/advancement/kill_cicada.json 6d74b697f555c15161f08bdb8e0d7d8635b176d2 data/twilightforest/advancement/lich_scepters.json @@ -39,5 +39,5 @@ ea0d3ce5f43514050e63ea060282a5bc7dcf84ee data/twilightforest/advancement/progres f52ac6692d2bda73fa67ffa2b15dd62917d8cb8b data/twilightforest/advancement/root.json eaa36a108b925d52533ff312703a72880304e2f0 data/twilightforest/advancement/troll.json fd75da495af49b155a64e5ad7ed5d0d6a43a10f4 data/twilightforest/advancement/twilight_dinner.json -24491983e3aa794c4823bc003361c26e0ef4923f data/twilightforest/advancement/twilight_hunter.json +fbff3df9e681ad64300f2e8de427588fb37a539a data/twilightforest/advancement/twilight_hunter.json 59a6b01f74104ef0124bdd112e918ca94bded17b data/twilightforest/advancement/uncraft_uncrafting_table.json diff --git a/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 b/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 index 65fc1bb2d8..9dc0fc732d 100644 --- a/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 +++ b/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-11T11:15:17.158292362 Twilight Forest Hollow Hill Stalactites +// 1.21.3 2025-01-08T00:35:56.2870398 Twilight Forest Hollow Hill Stalactites 5ab7eefaa50987c39177332d5d179cc48dc49921 data/twilightforest/twilight/stalactites/entries/blue_ice_stalactite.json d16b89aa4ac09bf28f449e17766737c473d798f1 data/twilightforest/twilight/stalactites/entries/coal_stalactite.json 31b3f2627d5e5fbf6ad1460649a81e23b9577a75 data/twilightforest/twilight/stalactites/entries/copper_stalactite.json diff --git a/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae b/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae index 90a5c1cd24..1b23f01113 100644 --- a/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae +++ b/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae @@ -1 +1 @@ -// 1.21.1 2024-08-11T11:15:17.180953834 Update structure files in structures +// 1.21.3 2025-01-08T00:35:56.3010385 Update structure files in structures diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index 699d93884a..1ae7c630f2 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -299,8 +299,6 @@ "block.twilightforest.canopy_stairs": "sɹᓉɐʇS ŹŽdouɐʆ", "block.twilightforest.canopy_trapdoor": "ɹoopdɐɹ⟘ ŹŽdouɐʆ", "block.twilightforest.canopy_trapped_chest": "ʇsĒÉ„Ę† ŹŽdouɐʆ pĒddɐɹ⟘", - "block.twilightforest.canopy_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM ŹŽdouɐʆ", - "block.twilightforest.canopy_wall_sign": "uᵷᓉS źžźžÉM ŹŽdouɐʆ", "block.twilightforest.canopy_window": "ŹopuᓉM ŹŽdouɐʆ", "block.twilightforest.canopy_window_pane": "ĒuɐԀ ŹopuᓉM ŹŽdouɐʆ", "block.twilightforest.canopy_wood": "pooM ĒĒÉ¹āŸ˜ ŹŽdouɐʆ", @@ -333,7 +331,6 @@ "block.twilightforest.cracked_towerwood": "sŹžuÉźžŌ€ pooŹÉ¹ĒŹo⟘ pĒŹžÉ”ÉÉ¹Ę†", "block.twilightforest.cracked_underbrick": "ŹžÉ”į“‰É¹qÉ¹Ēpu∩ pĒŹžÉ”ÉÉ¹Ę†", "block.twilightforest.creeper_skull_candle": "Ēźžpuɐʆ źžźžnŹžS É¹ĒdĒĒÉ¹Ę†", - "block.twilightforest.creeper_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM É¹ĒdĒĒÉ¹Ę†", "block.twilightforest.crimson_banister": "É¹ĒŹ‡sᓉuɐᗺ uosɯᓉɹƆ", "block.twilightforest.cut_mazestone": "ĒuoʇsĒzɐW ʇnʆ", "block.twilightforest.dark_banister": "É¹ĒŹ‡sᓉuɐᗺ pooŹŹžÉ¹Éį—”", @@ -353,8 +350,6 @@ "block.twilightforest.dark_stairs": "sɹᓉɐʇS pooŹŹžÉ¹Éį—”", "block.twilightforest.dark_trapdoor": "ɹoopdɐɹ⟘ pooŹŹžÉ¹Éį—”", "block.twilightforest.dark_trapped_chest": "ʇsĒÉ„Ę† pooŹŹžÉ¹Éį—” pĒddɐɹ⟘", - "block.twilightforest.dark_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM pooŹŹžÉ¹Éį—”", - "block.twilightforest.dark_wall_sign": "uᵷᓉS źžźžÉM pooŹŹžÉ¹Éį—”", "block.twilightforest.dark_wood": "pooM pooŹŹžÉ¹Éį—”", "block.twilightforest.darkwood_sapling": "įµ·uį“‰źždɐS pooŹŹžÉ¹Éį—”", "block.twilightforest.deadrock": "ŹžÉ”oɹpÉĒį—”", @@ -481,8 +476,6 @@ "block.twilightforest.mangrove_stairs": "sɹᓉɐʇS ĒŹŒoɹᵷuɐW", "block.twilightforest.mangrove_trapdoor": "ɹoopdɐɹ⟘ ĒŹŒoɹᵷuɐW", "block.twilightforest.mangrove_trapped_chest": "ʇsĒÉ„Ę† ĒŹŒoɹᵷuɐW pĒddɐɹ⟘", - "block.twilightforest.mangrove_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM ĒŹŒoɹᵷuɐW", - "block.twilightforest.mangrove_wall_sign": "uᵷᓉS źžźžÉM ĒŹŒoɹᵷuɐW", "block.twilightforest.mangrove_wood": "pooM ĒŹŒoɹᵷuɐW", "block.twilightforest.mason_jar": "ɹɐՐ uosɐW", "block.twilightforest.mayapple": "ĒźžddÉŹŽÉW", @@ -508,8 +501,6 @@ "block.twilightforest.mining_stairs": "sɹᓉɐʇS pooŹĒuᓉW", "block.twilightforest.mining_trapdoor": "ɹoopdɐɹ⟘ pooŹĒuᓉW", "block.twilightforest.mining_trapped_chest": "ʇsĒÉ„Ę† pooŹĒuᓉW pĒddɐɹ⟘", - "block.twilightforest.mining_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM pooŹĒuᓉW", - "block.twilightforest.mining_wall_sign": "uᵷᓉS źžźžÉM pooŹĒuᓉW", "block.twilightforest.mining_wood": "pooM pooŹĒuᓉW", "block.twilightforest.minoshroom_boss_spawner": "É¹ĒuŹÉdS ssoį—ŗ ÉÆooɹɄsouᓉW", "block.twilightforest.minoshroom_trophy": "ŹŽÉ„doɹ⟘ ÉÆooɹɄsouᓉW", @@ -536,13 +527,11 @@ "block.twilightforest.oak_banister": "É¹ĒŹ‡sᓉuɐᗺ ŹžÉO", "block.twilightforest.orange_force_field": "pźžĒį“‰ā„² ĒÉ”É¹oℲ Ēįµ·uɐɹO", "block.twilightforest.piglin_skull_candle": "Ēźžpuɐʆ źžźžnŹžS uį“‰źžįµ·į“‰Ō€", - "block.twilightforest.piglin_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM uį“‰źžįµ·į“‰Ō€", "block.twilightforest.pink_castle_door": "ɹooį—” ĒźžŹ‡sɐʆ ɐʇuĒįµ·ÉW", "block.twilightforest.pink_castle_rune_brick": "ŹžÉ”į“‰É¹į—ŗ Ēunᓚ ĒźžŹ‡sɐʆ ɐʇuĒįµ·ÉW", "block.twilightforest.pink_force_field": "pźžĒį“‰ā„² ĒÉ”É¹oℲ ɐʇuĒįµ·ÉW", "block.twilightforest.player_skull_candle": "Ēźžpuɐʆ źžźžnŹžS É¹ĒŹŽÉźžŌ€", "block.twilightforest.player_skull_candle.named": "sĒźžpuɐʆ É„Ź‡į“‰Ź pÉĒH s,%s", - "block.twilightforest.player_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM É¹ĒŹŽÉźžŌ€", "block.twilightforest.potted_canopy_sapling": "įµ·uį“‰źždɐS ĒĒÉ¹āŸ˜ ŹŽdouɐʆ pĒŹ‡Ź‡oŌ€", "block.twilightforest.potted_darkwood_sapling": "įµ·uį“‰źždɐS pooŹŹžÉ¹Éį—” pĒŹ‡Ź‡oŌ€", "block.twilightforest.potted_dead_thorn": "uɹoɄ⟘ ʇuɹnį—ŗ pĒŹ‡Ź‡oŌ€", @@ -571,7 +560,6 @@ "block.twilightforest.rope": "Ēdoᓚ", "block.twilightforest.sinister_spawner": "É¹ĒuŹÉdS É¹ĒŹ‡sᓉuᓉS", "block.twilightforest.skeleton_skull_candle": "Ēźžpuɐʆ źžźžnŹžS uoŹ‡ĒźžĒŹžS", - "block.twilightforest.skeleton_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM uoŹ‡ĒźžĒŹžS", "block.twilightforest.skull_chest": "ʇsĒÉ„Ę† źžźžnŹžS", "block.twilightforest.slider": "dɐɹ⟘ Ēpį“‰źžS", "block.twilightforest.smoker": "É¹ĒŹžoÉÆS", @@ -596,8 +584,6 @@ "block.twilightforest.sorting_stairs": "sɹᓉɐʇS pooŹįµ·uᓉʇɹoS", "block.twilightforest.sorting_trapdoor": "ɹoopdɐɹ⟘ pooŹįµ·uᓉʇɹoS", "block.twilightforest.sorting_trapped_chest": "ʇsĒÉ„Ę† pooŹįµ·uᓉʇɹoS pĒddɐɹ⟘", - "block.twilightforest.sorting_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM pooŹįµ·uᓉʇɹoS", - "block.twilightforest.sorting_wall_sign": "uᵷᓉS źžźžÉM pooŹįµ·uᓉʇɹoS", "block.twilightforest.sorting_wood": "pooM pooŹįµ·uᓉʇɹoS", "block.twilightforest.spiral_bricks": "sŹžÉ”į“‰É¹į—ŗ źžÉÉ¹į“‰dS", "block.twilightforest.spruce_banister": "É¹ĒŹ‡sᓉuɐᗺ ĒÉ”nɹdS", @@ -643,8 +629,6 @@ "block.twilightforest.time_stairs": "sɹᓉɐʇS pooŹĒÉÆį“‰āŸ˜", "block.twilightforest.time_trapdoor": "ɹoopdɐɹ⟘ pooŹĒÉÆį“‰āŸ˜", "block.twilightforest.time_trapped_chest": "ʇsĒÉ„Ę† pooŹĒÉÆį“‰āŸ˜ pĒddɐɹ⟘", - "block.twilightforest.time_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM pooŹĒÉÆį“‰āŸ˜", - "block.twilightforest.time_wall_sign": "uᵷᓉS źžźžÉM pooŹĒÉÆį“‰āŸ˜", "block.twilightforest.time_wood": "pooM pooŹĒÉÆį“‰āŸ˜", "block.twilightforest.torchberry_plant": "ʇuÉźžŌ€ ŹŽÉ¹É¹ĒqɄɔɹo⟘", "block.twilightforest.towerwood": "sŹžuÉźžŌ€ pooŹÉ¹ĒŹo⟘", @@ -666,8 +650,6 @@ "block.twilightforest.transformation_stairs": "sɹᓉɐʇS pooŹsuɐɹ⟘", "block.twilightforest.transformation_trapdoor": "ɹoopdɐɹ⟘ pooŹsuɐɹ⟘", "block.twilightforest.transformation_trapped_chest": "ʇsĒÉ„Ę† pooŹsuɐɹ⟘ pĒddɐɹ⟘", - "block.twilightforest.transformation_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM pooŹsuɐɹ⟘", - "block.twilightforest.transformation_wall_sign": "uᵷᓉS źžźžÉM pooŹsuɐɹ⟘", "block.twilightforest.transformation_wood": "pooM pooŹsuɐɹ⟘", "block.twilightforest.trollber": "É¹Ēqźžźžoɹ⟘", "block.twilightforest.trollsteinn": "uuį“‰ĒŹ‡sźžźžoɹ⟘", @@ -690,8 +672,6 @@ "block.twilightforest.twilight_oak_stairs": "sɹᓉɐʇS ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "block.twilightforest.twilight_oak_trapdoor": "ɹoopdɐɹ⟘ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "block.twilightforest.twilight_oak_trapped_chest": "ʇsĒÉ„Ę† ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ pĒddɐɹ⟘", - "block.twilightforest.twilight_oak_wall_hanging_sign": "uᵷᓉS įµ·uᓉᵷuɐH źžźžÉM ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", - "block.twilightforest.twilight_oak_wall_sign": "uᵷᓉS źžźžÉM ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "block.twilightforest.twilight_oak_wood": "pooM ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "block.twilightforest.twilight_portal": "źžÉŹ‡É¹oŌ€ ʇsĒÉ¹oℲ Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "block.twilightforest.twilight_portal_miniature_structure": "źžÉŹ‡É¹oŌ€ ʇsĒÉ¹oℲ Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ĒÉ¹nʇɐᓉuᓉW", @@ -715,7 +695,6 @@ "block.twilightforest.weathered_deadrock": "ŹžÉ”oɹpÉĒį—” pĒÉ¹ĒÉ„Ź‡ÉĒM", "block.twilightforest.wispy_cloud": "pnoźžĘ† ŹŽdsᓉM", "block.twilightforest.wither_skeleton_skull_candle": "Ēźžpuɐʆ źžźžnŹžS uoŹ‡ĒźžĒŹžS É¹ĒÉ„Ź‡į“‰M", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM uoŹ‡ĒźžĒŹžS É¹ĒÉ„Ź‡į“‰M", "block.twilightforest.worn_castle_brick": "ŹžÉ”į“‰É¹į—ŗ ĒźžŹ‡sɐʆ uɹoM", "block.twilightforest.worn_castle_brick_stairs": "sɹᓉɐʇS ŹžÉ”į“‰É¹į—ŗ ĒźžŹ‡sɐʆ uɹoM", "block.twilightforest.wrought_iron_fence": "ĒÉ”uĒā„² uoɹI ʇɄᵷnoɹM", @@ -723,7 +702,6 @@ "block.twilightforest.yellow_castle_door": "ɹooį—” ĒźžŹ‡sɐʆ ŹoźžźžĒā…„", "block.twilightforest.yellow_castle_rune_brick": "ŹžÉ”į“‰É¹į—ŗ Ēunᓚ ĒźžŹ‡sɐʆ ŹoźžźžĒā…„", "block.twilightforest.zombie_skull_candle": "Ēźžpuɐʆ źžźžnŹžS Ēį“‰qÉÆoZ", - "block.twilightforest.zombie_wall_skull_candle": "Ēźžpuɐʆ źžźžnŹžS źžźžÉM Ēį“‰qÉÆoZ", "commands.tffeature.center": "%s :ĒÉ¹nŹ‡ÉĒÉŸ ɟo É¹ĒŹ‡uĒĘ†", "commands.tffeature.chunk": "%s :ŹžunɄɔ ĒÉ¹nŹ‡ÉĒÉŸ uᓉ pĒŹ‡ÉÉ”oźž€", "commands.tffeature.nearest": "%s :sᓉ ĒÉ¹nŹ‡ÉĒÉŸ ʇsĒÉ¹ÉĒu ĒÉ„āŸ˜", @@ -932,7 +910,7 @@ "entity.twilightforest.alpha_yeti": "į“‰Ź‡Ēā…„ ɐɄdźžā±Æ", "entity.twilightforest.armored_giant": "ʇuɐᓉ⅁ pĒÉ¹oɯɹⱯ", "entity.twilightforest.bighorn_sheep": "dĒĒÉ„S uɹoɄᵷᓉᗺ", - "entity.twilightforest.blockchain_goblin": "uį“‰źžqo⅁ uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", + "entity.twilightforest.block_and_chain_goblin": "uį“‰źžqo⅁ uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", "entity.twilightforest.boar": "ɹɐoį—ŗ", "entity.twilightforest.carminite_broodling": "įµ·uį“‰źžpooɹᗺ ĒŹ‡į“‰uᓉɯɹɐƆ", "entity.twilightforest.carminite_ghastguard": "pɹɐnᵷʇsɐɄ⅁ ĒŹ‡į“‰uᓉɯɹɐƆ", @@ -954,6 +932,7 @@ "entity.twilightforest.hydra": "ɐɹpŹŽH", "entity.twilightforest.hydra_mortar": "ɹɐʇɹoW ɐɹpŹŽH", "entity.twilightforest.ice_arrow": "ŹoɹɹⱯ ĒÉ”I", + "entity.twilightforest.ice_bomb": "qÉÆoį—ŗ ĒÉ”I", "entity.twilightforest.ice_crystal": "źžÉŹ‡sŹŽÉ¹Ę† ĒÉ”I", "entity.twilightforest.ice_snowball": "źžźžÉqŹouS ĒÉ”I", "entity.twilightforest.king_spider": "É¹ĒpᓉdS įµ·uį“‰źž°", @@ -988,15 +967,14 @@ "entity.twilightforest.skeleton_druid": "pᓉnɹᗔ uoŹ‡ĒźžĒŹžS", "entity.twilightforest.slider": "dɐɹ⟘ Ēpį“‰źžS įµ·uį“‰ŹŒoW", "entity.twilightforest.slime_beetle": "ĒźžŹ‡ĒĒį—ŗ ĒÉÆį“‰źžS", - "entity.twilightforest.slime_blob": "qoźžį—ŗ ĒÉÆį“‰źžS", + "entity.twilightforest.slime_projectile": "qoźžį—ŗ ĒÉÆį“‰źžS", "entity.twilightforest.snow_guardian": "uɐᓉpɹɐn⅁ ŹouS", "entity.twilightforest.snow_queen": "uĒĒnź¹ ŹouS", "entity.twilightforest.squirrel": "źžĒÉ¹É¹į“‰nbS", "entity.twilightforest.stable_ice_core": "ĒÉ¹oʆ ĒÉ”I ĒźžqɐʇS", "entity.twilightforest.swarm_spider": "É¹ĒpᓉdS ÉÆÉ¹ÉŹS", "entity.twilightforest.thrown_block": "ŹžÉ”oźžį—ŗ uŹoɹɄ⟘", - "entity.twilightforest.thrown_ice": "qÉÆoį—ŗ ĒÉ”I", - "entity.twilightforest.thrown_wep": "uodÉĒM uŹoɹɄ⟘", + "entity.twilightforest.thrown_weapon": "uodÉĒM uŹoɹɄ⟘", "entity.twilightforest.tiny_bird": "pɹᓉᗺ ŹŽuį“‰āŸ˜", "entity.twilightforest.tome_bolt": "Ź‡źžoį—ŗ ĒÉÆo⟘ É„Ź‡ÉĒį—”", "entity.twilightforest.towerwood_borer": "É¹ĒÉ¹oį—ŗ pooŹÉ¹ĒŹo⟘", @@ -1036,7 +1014,7 @@ "item.twilightforest.armored_giant_spawn_egg": "įµ·įµ·ĘŽ uŹÉdS ʇuɐᓉ⅁ pĒÉ¹oɯɹⱯ", "item.twilightforest.bighorn_sheep_spawn_egg": "įµ·įµ·ĘŽ uŹÉdS dĒĒÉ„S uɹoɄᵷᓉᗺ", "item.twilightforest.block_and_chain": "uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", - "item.twilightforest.blockchain_goblin_spawn_egg": "įµ·įµ·ĘŽ uŹÉdS uį“‰źžqo⅁ uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", + "item.twilightforest.block_and_chain_goblin_spawn_egg": "įµ·įµ·ĘŽ uŹÉdS uį“‰źžqo⅁ uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", "item.twilightforest.boar_spawn_egg": "įµ·įµ·ĘŽ uŹÉdS ɹɐoį—ŗ", "item.twilightforest.boarkchop": "doÉ„É”ŹžÉ¹Éoį—ŗ ŹÉį“š", "item.twilightforest.borer_essence": "ĒÉ”uĒssʎ É¹ĒÉ¹oį—ŗ", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index c2d909cdd1..bd857b632f 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -299,8 +299,6 @@ "block.twilightforest.canopy_stairs": "Canopy Stairs", "block.twilightforest.canopy_trapdoor": "Canopy Trapdoor", "block.twilightforest.canopy_trapped_chest": "Trapped Canopy Chest", - "block.twilightforest.canopy_wall_hanging_sign": "Canopy Wall Hanging Sign", - "block.twilightforest.canopy_wall_sign": "Canopy Wall Sign", "block.twilightforest.canopy_window": "Canopy Window", "block.twilightforest.canopy_window_pane": "Canopy Window Pane", "block.twilightforest.canopy_wood": "Canopy Tree Wood", @@ -333,7 +331,6 @@ "block.twilightforest.cracked_towerwood": "Cracked Towerwood Planks", "block.twilightforest.cracked_underbrick": "Cracked Underbrick", "block.twilightforest.creeper_skull_candle": "Creeper Skull Candle", - "block.twilightforest.creeper_wall_skull_candle": "Creeper Wall Skull Candle", "block.twilightforest.crimson_banister": "Crimson Banister", "block.twilightforest.cut_mazestone": "Cut Mazestone", "block.twilightforest.dark_banister": "Darkwood Banister", @@ -353,8 +350,6 @@ "block.twilightforest.dark_stairs": "Darkwood Stairs", "block.twilightforest.dark_trapdoor": "Darkwood Trapdoor", "block.twilightforest.dark_trapped_chest": "Trapped Darkwood Chest", - "block.twilightforest.dark_wall_hanging_sign": "Darkwood Wall Hanging Sign", - "block.twilightforest.dark_wall_sign": "Darkwood Wall Sign", "block.twilightforest.dark_wood": "Darkwood Wood", "block.twilightforest.darkwood_sapling": "Darkwood Sapling", "block.twilightforest.deadrock": "Deadrock", @@ -481,8 +476,6 @@ "block.twilightforest.mangrove_stairs": "Mangrove Stairs", "block.twilightforest.mangrove_trapdoor": "Mangrove Trapdoor", "block.twilightforest.mangrove_trapped_chest": "Trapped Mangrove Chest", - "block.twilightforest.mangrove_wall_hanging_sign": "Mangrove Wall Hanging Sign", - "block.twilightforest.mangrove_wall_sign": "Mangrove Wall Sign", "block.twilightforest.mangrove_wood": "Mangrove Wood", "block.twilightforest.mason_jar": "Mason Jar", "block.twilightforest.mayapple": "Mayapple", @@ -508,8 +501,6 @@ "block.twilightforest.mining_stairs": "Minewood Stairs", "block.twilightforest.mining_trapdoor": "Minewood Trapdoor", "block.twilightforest.mining_trapped_chest": "Trapped Minewood Chest", - "block.twilightforest.mining_wall_hanging_sign": "Minewood Wall Hanging Sign", - "block.twilightforest.mining_wall_sign": "Minewood Wall Sign", "block.twilightforest.mining_wood": "Minewood Wood", "block.twilightforest.minoshroom_boss_spawner": "Minoshroom Boss Spawner", "block.twilightforest.minoshroom_trophy": "Minoshroom Trophy", @@ -536,13 +527,11 @@ "block.twilightforest.oak_banister": "Oak Banister", "block.twilightforest.orange_force_field": "Orange Force Field", "block.twilightforest.piglin_skull_candle": "Piglin Skull Candle", - "block.twilightforest.piglin_wall_skull_candle": "Piglin Wall Skull Candle", "block.twilightforest.pink_castle_door": "Magenta Castle Door", "block.twilightforest.pink_castle_rune_brick": "Magenta Castle Rune Brick", "block.twilightforest.pink_force_field": "Magenta Force Field", "block.twilightforest.player_skull_candle": "Player Skull Candle", "block.twilightforest.player_skull_candle.named": "%s's Head with Candles", - "block.twilightforest.player_wall_skull_candle": "Player Wall Skull Candle", "block.twilightforest.potted_canopy_sapling": "Potted Canopy Tree Sapling", "block.twilightforest.potted_darkwood_sapling": "Potted Darkwood Sapling", "block.twilightforest.potted_dead_thorn": "Potted Burnt Thorn", @@ -571,7 +560,6 @@ "block.twilightforest.rope": "Rope", "block.twilightforest.sinister_spawner": "Sinister Spawner", "block.twilightforest.skeleton_skull_candle": "Skeleton Skull Candle", - "block.twilightforest.skeleton_wall_skull_candle": "Skeleton Wall Skull Candle", "block.twilightforest.skull_chest": "Skull Chest", "block.twilightforest.slider": "Slide Trap", "block.twilightforest.smoker": "Smoker", @@ -596,8 +584,6 @@ "block.twilightforest.sorting_stairs": "Sortingwood Stairs", "block.twilightforest.sorting_trapdoor": "Sortingwood Trapdoor", "block.twilightforest.sorting_trapped_chest": "Trapped Sortingwood Chest", - "block.twilightforest.sorting_wall_hanging_sign": "Sortingwood Wall Hanging Sign", - "block.twilightforest.sorting_wall_sign": "Sortingwood Wall Sign", "block.twilightforest.sorting_wood": "Sortingwood Wood", "block.twilightforest.spiral_bricks": "Spiral Bricks", "block.twilightforest.spruce_banister": "Spruce Banister", @@ -643,8 +629,6 @@ "block.twilightforest.time_stairs": "Timewood Stairs", "block.twilightforest.time_trapdoor": "Timewood Trapdoor", "block.twilightforest.time_trapped_chest": "Trapped Timewood Chest", - "block.twilightforest.time_wall_hanging_sign": "Timewood Wall Hanging Sign", - "block.twilightforest.time_wall_sign": "Timewood Wall Sign", "block.twilightforest.time_wood": "Timewood Wood", "block.twilightforest.torchberry_plant": "Torchberry Plant", "block.twilightforest.towerwood": "Towerwood Planks", @@ -666,8 +650,6 @@ "block.twilightforest.transformation_stairs": "Transwood Stairs", "block.twilightforest.transformation_trapdoor": "Transwood Trapdoor", "block.twilightforest.transformation_trapped_chest": "Trapped Transwood Chest", - "block.twilightforest.transformation_wall_hanging_sign": "Transwood Wall Hanging Sign", - "block.twilightforest.transformation_wall_sign": "Transwood Wall Sign", "block.twilightforest.transformation_wood": "Transwood Wood", "block.twilightforest.trollber": "Trollber", "block.twilightforest.trollsteinn": "Trollsteinn", @@ -690,8 +672,6 @@ "block.twilightforest.twilight_oak_stairs": "Twilight Oak Stairs", "block.twilightforest.twilight_oak_trapdoor": "Twilight Oak Trapdoor", "block.twilightforest.twilight_oak_trapped_chest": "Trapped Twilight Oak Chest", - "block.twilightforest.twilight_oak_wall_hanging_sign": "Twilight Oak Wall Hanging Sign", - "block.twilightforest.twilight_oak_wall_sign": "Twilight Oak Wall Sign", "block.twilightforest.twilight_oak_wood": "Twilight Oak Wood", "block.twilightforest.twilight_portal": "Twilight Forest Portal", "block.twilightforest.twilight_portal_miniature_structure": "Miniature Twilight Forest Portal", @@ -715,7 +695,6 @@ "block.twilightforest.weathered_deadrock": "Weathered Deadrock", "block.twilightforest.wispy_cloud": "Wispy Cloud", "block.twilightforest.wither_skeleton_skull_candle": "Wither Skeleton Skull Candle", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Wither Skeleton Wall Skull Candle", "block.twilightforest.worn_castle_brick": "Worn Castle Brick", "block.twilightforest.worn_castle_brick_stairs": "Worn Castle Brick Stairs", "block.twilightforest.wrought_iron_fence": "Wrought Iron Fence", @@ -723,7 +702,6 @@ "block.twilightforest.yellow_castle_door": "Yellow Castle Door", "block.twilightforest.yellow_castle_rune_brick": "Yellow Castle Rune Brick", "block.twilightforest.zombie_skull_candle": "Zombie Skull Candle", - "block.twilightforest.zombie_wall_skull_candle": "Zombie Wall Skull Candle", "commands.tffeature.center": "Center of feature: %s", "commands.tffeature.chunk": "Located in feature chunk: %s", "commands.tffeature.nearest": "The nearest feature is: %s", @@ -932,7 +910,7 @@ "entity.twilightforest.alpha_yeti": "Alpha Yeti", "entity.twilightforest.armored_giant": "Armored Giant", "entity.twilightforest.bighorn_sheep": "Bighorn Sheep", - "entity.twilightforest.blockchain_goblin": "Block and Chain Goblin", + "entity.twilightforest.block_and_chain_goblin": "Block and Chain Goblin", "entity.twilightforest.boar": "Boar", "entity.twilightforest.carminite_broodling": "Carminite Broodling", "entity.twilightforest.carminite_ghastguard": "Carminite Ghastguard", @@ -954,6 +932,7 @@ "entity.twilightforest.hydra": "Hydra", "entity.twilightforest.hydra_mortar": "Hydra Mortar", "entity.twilightforest.ice_arrow": "Ice Arrow", + "entity.twilightforest.ice_bomb": "Ice Bomb", "entity.twilightforest.ice_crystal": "Ice Crystal", "entity.twilightforest.ice_snowball": "Ice Snowball", "entity.twilightforest.king_spider": "King Spider", @@ -988,15 +967,14 @@ "entity.twilightforest.skeleton_druid": "Skeleton Druid", "entity.twilightforest.slider": "Moving Slide Trap", "entity.twilightforest.slime_beetle": "Slime Beetle", - "entity.twilightforest.slime_blob": "Slime Blob", + "entity.twilightforest.slime_projectile": "Slime Blob", "entity.twilightforest.snow_guardian": "Snow Guardian", "entity.twilightforest.snow_queen": "Snow Queen", "entity.twilightforest.squirrel": "Squirrel", "entity.twilightforest.stable_ice_core": "Stable Ice Core", "entity.twilightforest.swarm_spider": "Swarm Spider", "entity.twilightforest.thrown_block": "Thrown Block", - "entity.twilightforest.thrown_ice": "Ice Bomb", - "entity.twilightforest.thrown_wep": "Thrown Weapon", + "entity.twilightforest.thrown_weapon": "Thrown Weapon", "entity.twilightforest.tiny_bird": "Tiny Bird", "entity.twilightforest.tome_bolt": "Death Tome Bolt", "entity.twilightforest.towerwood_borer": "Towerwood Borer", @@ -1036,7 +1014,7 @@ "item.twilightforest.armored_giant_spawn_egg": "Armored Giant Spawn Egg", "item.twilightforest.bighorn_sheep_spawn_egg": "Bighorn Sheep Spawn Egg", "item.twilightforest.block_and_chain": "Block and Chain", - "item.twilightforest.blockchain_goblin_spawn_egg": "Block and Chain Goblin Spawn Egg", + "item.twilightforest.block_and_chain_goblin_spawn_egg": "Block and Chain Goblin Spawn Egg", "item.twilightforest.boar_spawn_egg": "Boar Spawn Egg", "item.twilightforest.boarkchop": "Raw Boarkchop", "item.twilightforest.borer_essence": "Borer Essence", diff --git a/src/generated/resources/assets/twilightforest/models/item/blockchain_goblin_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/item/blockchain_goblin_spawn_egg.json rename to src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json diff --git a/src/generated/resources/data/aether/tags/entity_type/deflectable_projectiles.json b/src/generated/resources/data/aether/tags/entity_type/deflectable_projectiles.json index 20c36cd78d..00342d51d3 100644 --- a/src/generated/resources/data/aether/tags/entity_type/deflectable_projectiles.json +++ b/src/generated/resources/data/aether/tags/entity_type/deflectable_projectiles.json @@ -3,7 +3,7 @@ "twilightforest:nature_bolt", "twilightforest:lich_bolt", "twilightforest:wand_bolt", - "twilightforest:slime_blob", + "twilightforest:slime_projectile", "twilightforest:ice_snowball" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/entity_type/impact_projectiles.json b/src/generated/resources/data/minecraft/tags/entity_type/impact_projectiles.json index 2e22f0a1ae..90133628c7 100644 --- a/src/generated/resources/data/minecraft/tags/entity_type/impact_projectiles.json +++ b/src/generated/resources/data/minecraft/tags/entity_type/impact_projectiles.json @@ -5,9 +5,9 @@ "twilightforest:wand_bolt", "twilightforest:lich_bomb", "twilightforest:moonworm_shot", - "twilightforest:slime_blob", - "twilightforest:thrown_wep", - "twilightforest:thrown_ice", + "twilightforest:slime_projectile", + "twilightforest:thrown_weapon", + "twilightforest:ice_bomb", "twilightforest:falling_ice", "twilightforest:ice_snowball", "twilightforest:chain_block" diff --git a/src/generated/resources/data/neoforge/data_maps/entity_type/parrot_imitations.json b/src/generated/resources/data/neoforge/data_maps/entity_type/parrot_imitations.json index 2c771fa0b1..abf65fd8c7 100644 --- a/src/generated/resources/data/neoforge/data_maps/entity_type/parrot_imitations.json +++ b/src/generated/resources/data/neoforge/data_maps/entity_type/parrot_imitations.json @@ -3,7 +3,7 @@ "twilightforest:alpha_yeti": { "sound": "twilightforest:entity.twilightforest.parrot.imitate.alpha_yeti" }, - "twilightforest:blockchain_goblin": { + "twilightforest:block_and_chain_goblin": { "sound": "twilightforest:entity.twilightforest.parrot.imitate.redcap" }, "twilightforest:carminite_broodling": { diff --git a/src/generated/resources/data/twilightforest/advancement/hill3.json b/src/generated/resources/data/twilightforest/advancement/hill3.json index 4dac2bbef2..84cf007408 100644 --- a/src/generated/resources/data/twilightforest/advancement/hill3.json +++ b/src/generated/resources/data/twilightforest/advancement/hill3.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:hill2", "criteria": { - "redcap": { + "wraith": { "conditions": { "entity": [ { @@ -38,7 +38,7 @@ }, "requirements": [ [ - "redcap" + "wraith" ] ], "sends_telemetry_event": true diff --git a/src/generated/resources/data/twilightforest/advancement/twilight_hunter.json b/src/generated/resources/data/twilightforest/advancement/twilight_hunter.json index 8076ad2017..92fb207c06 100644 --- a/src/generated/resources/data/twilightforest/advancement/twilight_hunter.json +++ b/src/generated/resources/data/twilightforest/advancement/twilight_hunter.json @@ -69,14 +69,14 @@ }, "trigger": "minecraft:player_killed_entity" }, - "blockchain_goblin": { + "block_and_chain_goblin": { "conditions": { "entity": [ { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { - "type": "twilightforest:blockchain_goblin", + "type": "twilightforest:block_and_chain_goblin", "location": { "dimension": "twilightforest:twilight_forest" } @@ -954,7 +954,7 @@ "adherent", "armored_giant", "bighorn_sheep", - "blockchain_goblin", + "block_and_chain_goblin", "dwarf_rabbit", "death_tome", "deer", diff --git a/src/generated/resources/data/twilightforest/enchantment/chill_aura.json b/src/generated/resources/data/twilightforest/enchantment/chill_aura.json index e30e06f6a0..ede88ecb08 100644 --- a/src/generated/resources/data/twilightforest/enchantment/chill_aura.json +++ b/src/generated/resources/data/twilightforest/enchantment/chill_aura.json @@ -20,7 +20,7 @@ "duration": 200.0 }, { - "type": "minecraft:damage_item", + "type": "minecraft:change_item_damage", "amount": 2.0 } ] diff --git a/src/generated/resources/data/twilightforest/enchantment/fire_react.json b/src/generated/resources/data/twilightforest/enchantment/fire_react.json index 65a29b35eb..5bd20eedcd 100644 --- a/src/generated/resources/data/twilightforest/enchantment/fire_react.json +++ b/src/generated/resources/data/twilightforest/enchantment/fire_react.json @@ -19,7 +19,7 @@ } }, { - "type": "minecraft:damage_item", + "type": "minecraft:change_item_damage", "amount": 2.0 } ] diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json deleted file mode 100644 index 1759918d6b..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:alpha_yeti_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/alpha_yeti_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json deleted file mode 100644 index 073933ac18..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:canopy_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/canopy_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_sign.json deleted file mode 100644 index 6bc67d8b9c..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/canopy_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:canopy_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/canopy_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json deleted file mode 100644 index a294b0fcd1..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:creeper_head" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/creeper_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json deleted file mode 100644 index 464ad30082..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:dark_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/dark_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_sign.json deleted file mode 100644 index 501fe3d1a4..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/dark_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:dark_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/dark_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/hydra_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/hydra_wall_trophy.json deleted file mode 100644 index b437952b8f..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/hydra_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:hydra_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/hydra_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json deleted file mode 100644 index 47e2519e4a..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:knight_phantom_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/knight_phantom_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/lich_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/lich_wall_trophy.json deleted file mode 100644 index 0da95271ba..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/lich_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:lich_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/lich_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json deleted file mode 100644 index 5b0307be6c..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:mangrove_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/mangrove_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_sign.json deleted file mode 100644 index d6d3454df6..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/mangrove_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:mangrove_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/mangrove_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json deleted file mode 100644 index d37bc94c35..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:mining_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/mining_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_sign.json deleted file mode 100644 index e14c72b3aa..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/mining_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:mining_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/mining_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json deleted file mode 100644 index 8a917a8a90..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:minoshroom_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/minoshroom_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/naga_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/naga_wall_trophy.json deleted file mode 100644 index 8f27fac943..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/naga_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:naga_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/naga_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json deleted file mode 100644 index 219a23240a..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:piglin_head" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/piglin_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/player_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/player_wall_skull_candle.json deleted file mode 100644 index ffc5479fbd..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/player_wall_skull_candle.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "type": "minecraft:block", - "functions": [ - { - "function": "minecraft:copy_components", - "include": [ - "minecraft:profile", - "minecraft:note_block_sound", - "minecraft:custom_name" - ], - "source": "block_entity" - } - ], - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:player_head" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/player_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json deleted file mode 100644 index c6986acb15..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:quest_ram_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/quest_ram_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json deleted file mode 100644 index ecfaed5f47..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:skeleton_skull" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/skeleton_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json b/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json index 20cfcb0272..7ef2a86f8c 100644 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json @@ -3,7 +3,17 @@ "pools": [ { "bonus_rolls": 0.0, - "entries": [], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "twilightforest:skull_chest" + } + ], "rolls": 1.0 } ], diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json deleted file mode 100644 index dded5e0583..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:snow_queen_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/snow_queen_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json deleted file mode 100644 index 4ff6ce1ad4..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:sorting_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/sorting_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_sign.json deleted file mode 100644 index a52a975af4..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/sorting_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:sorting_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/sorting_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json deleted file mode 100644 index 12d608bb54..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:time_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/time_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_sign.json deleted file mode 100644 index 0eaba95ac8..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/time_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:time_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/time_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json deleted file mode 100644 index 9706b94233..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:transformation_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/transformation_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_sign.json deleted file mode 100644 index 95eb839d19..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/transformation_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:transformation_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/transformation_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json deleted file mode 100644 index e7f25d115a..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:twilight_oak_hanging_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/twilight_oak_wall_hanging_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_wall_sign.json b/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_wall_sign.json deleted file mode 100644 index 5063d364d6..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/twilight_wall_sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:twilight_oak_sign" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/twilight_wall_sign" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json b/src/generated/resources/data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json deleted file mode 100644 index 5e90a0645b..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "twilightforest:ur_ghast_trophy" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/ur_ghast_wall_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json deleted file mode 100644 index ae2679fa29..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:wither_skeleton_skull" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/wither_skeleton_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json b/src/generated/resources/data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json deleted file mode 100644 index a3efba9c80..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:zombie_head" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "twilightforest:blocks/zombie_wall_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/entities/blockchain_goblin.json b/src/generated/resources/data/twilightforest/loot_table/entities/block_and_chain_goblin.json similarity index 92% rename from src/generated/resources/data/twilightforest/loot_table/entities/blockchain_goblin.json rename to src/generated/resources/data/twilightforest/loot_table/entities/block_and_chain_goblin.json index e98dc26965..86d4aec102 100644 --- a/src/generated/resources/data/twilightforest/loot_table/entities/blockchain_goblin.json +++ b/src/generated/resources/data/twilightforest/loot_table/entities/block_and_chain_goblin.json @@ -32,5 +32,5 @@ "rolls": 1.0 } ], - "random_sequence": "twilightforest:entities/blockchain_goblin" + "random_sequence": "twilightforest:entities/block_and_chain_goblin" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/entities/death_tome_hurt.json b/src/generated/resources/data/twilightforest/loot_table/entities/death_tome_hurt.json index 04b896871a..a82000c646 100644 --- a/src/generated/resources/data/twilightforest/loot_table/entities/death_tome_hurt.json +++ b/src/generated/resources/data/twilightforest/loot_table/entities/death_tome_hurt.json @@ -5,8 +5,7 @@ "bonus_rolls": 0.0, "entries": [ { - "type": "minecraft:loot_table", - "value": "minecraft:empty" + "type": "minecraft:empty" }, { "type": "minecraft:item", diff --git a/src/generated/resources/data/twilightforest/loot_table/entities/plateau_boss.json b/src/generated/resources/data/twilightforest/loot_table/entities/plateau_boss.json deleted file mode 100644 index 9bc43d10ff..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/entities/plateau_boss.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "minecraft:entity", - "random_sequence": "twilightforest:entities/plateau_boss" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/entities/roving_cube.json b/src/generated/resources/data/twilightforest/loot_table/entities/roving_cube.json deleted file mode 100644 index 0cd3b822ad..0000000000 --- a/src/generated/resources/data/twilightforest/loot_table/entities/roving_cube.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "minecraft:entity", - "random_sequence": "twilightforest:entities/roving_cube" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/alpha_yeti_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/alpha_yeti_banner_pattern.json index 72391a9359..39a5a61f88 100644 --- a/src/generated/resources/data/twilightforest/recipe/alpha_yeti_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/alpha_yeti_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:alpha_yeti_trophy" - } + "#c:paper", + "twilightforest:alpha_yeti_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/aurora_pillar.json b/src/generated/resources/data/twilightforest/recipe/aurora_pillar.json index 62a79c1129..1f54f34338 100644 --- a/src/generated/resources/data/twilightforest/recipe/aurora_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/aurora_pillar.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:aurora_block" - } + "#": "twilightforest:aurora_block" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/berry_torch.json b/src/generated/resources/data/twilightforest/recipe/berry_torch.json index 5e65651c1d..df54b89902 100644 --- a/src/generated/resources/data/twilightforest/recipe/berry_torch.json +++ b/src/generated/resources/data/twilightforest/recipe/berry_torch.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "|": { - "tag": "c:rods/wooden" - }, - "∓": { - "item": "twilightforest:torchberries" - } + "|": "#c:rods/wooden", + "∓": "twilightforest:torchberries" }, "pattern": [ "∓", diff --git a/src/generated/resources/data/twilightforest/recipe/canopy_boat.json b/src/generated/resources/data/twilightforest/recipe/canopy_boat.json index 25239d2a4b..7f686f55f9 100644 --- a/src/generated/resources/data/twilightforest/recipe/canopy_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/canopy_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:canopy_planks" - } + "P": "twilightforest:canopy_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/canopy_bookshelf.json b/src/generated/resources/data/twilightforest/recipe/canopy_bookshelf.json index 074f985ecd..9e23144cc4 100644 --- a/src/generated/resources/data/twilightforest/recipe/canopy_bookshelf.json +++ b/src/generated/resources/data/twilightforest/recipe/canopy_bookshelf.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "-": { - "item": "twilightforest:canopy_planks" - }, - "B": { - "item": "minecraft:book" - } + "-": "twilightforest:canopy_planks", + "B": "minecraft:book" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/canopy_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/canopy_chest_boat.json index 944dc5786f..73536a448d 100644 --- a/src/generated/resources/data/twilightforest/recipe/canopy_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/canopy_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:canopy_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:canopy_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/carminite_builder.json b/src/generated/resources/data/twilightforest/recipe/carminite_builder.json index 1261d8e669..348d01d75a 100644 --- a/src/generated/resources/data/twilightforest/recipe/carminite_builder.json +++ b/src/generated/resources/data/twilightforest/recipe/carminite_builder.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "6": { - "tag": "c:gems/carminite" - }, - "o": { - "item": "minecraft:dispenser" - } + "#": "twilightforest:encased_towerwood", + "6": "#c:gems/carminite", + "o": "minecraft:dispenser" }, "pattern": [ "#6#", diff --git a/src/generated/resources/data/twilightforest/recipe/carminite_reactor.json b/src/generated/resources/data/twilightforest/recipe/carminite_reactor.json index 0c4f22642d..873b6dbaf9 100644 --- a/src/generated/resources/data/twilightforest/recipe/carminite_reactor.json +++ b/src/generated/resources/data/twilightforest/recipe/carminite_reactor.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "%": { - "tag": "c:ores/redstone" - }, - "6": { - "tag": "c:gems/carminite" - } + "#": "twilightforest:encased_towerwood", + "%": "#c:ores/redstone", + "6": "#c:gems/carminite" }, "pattern": [ "#6#", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json index b85aa823e0..7f285f2bde 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:thick_castle_brick" - } + "#": "twilightforest:thick_castle_brick" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json index af21af0d66..558da52e46 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json @@ -3,12 +3,8 @@ "category": "building", "key": { "#": [ - { - "item": "twilightforest:bold_castle_brick_pillar" - }, - { - "item": "twilightforest:bold_castle_brick_tile" - } + "twilightforest:bold_castle_brick_pillar", + "twilightforest:bold_castle_brick_tile" ] }, "pattern": [ diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json index 6f20a37d0b..723152141d 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:bold_castle_brick_pillar" - } + "#": "twilightforest:bold_castle_brick_pillar" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json index 4a9fff39e9..1296a8dad8 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:bold_castle_brick_tile" - } + "#": "twilightforest:bold_castle_brick_tile" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/castle_brick_stairs.json index bac2fb6f76..9ecc1ae979 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/castle_brick_stairs.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:castle_brick" - } + "#": "twilightforest:castle_brick" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json index 09dff09485..4863ec83c0 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:cracked_castle_brick" - } + "#": "twilightforest:cracked_castle_brick" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json index 89f75fc981..99b3db6ab1 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json @@ -3,12 +3,8 @@ "category": "building", "key": { "#": [ - { - "item": "twilightforest:encased_castle_brick_pillar" - }, - { - "item": "twilightforest:encased_castle_brick_tile" - } + "twilightforest:encased_castle_brick_pillar", + "twilightforest:encased_castle_brick_tile" ] }, "pattern": [ diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_pillar.json b/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_pillar.json index 0e4c08d4ec..d01fbc8e35 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/encased_castle_pillar.json @@ -3,35 +3,17 @@ "category": "building", "key": { "#": [ - { - "item": "twilightforest:castle_brick" - }, - { - "item": "twilightforest:worn_castle_brick" - }, - { - "item": "twilightforest:cracked_castle_brick" - }, - { - "item": "twilightforest:mossy_castle_brick" - }, - { - "item": "twilightforest:thick_castle_brick" - } + "twilightforest:castle_brick", + "twilightforest:worn_castle_brick", + "twilightforest:cracked_castle_brick", + "twilightforest:mossy_castle_brick", + "twilightforest:thick_castle_brick" ], "H": [ - { - "item": "twilightforest:encased_castle_brick_pillar" - }, - { - "item": "twilightforest:encased_castle_brick_tile" - }, - { - "item": "twilightforest:bold_castle_brick_pillar" - }, - { - "item": "twilightforest:bold_castle_brick_tile" - } + "twilightforest:encased_castle_brick_pillar", + "twilightforest:encased_castle_brick_tile", + "twilightforest:bold_castle_brick_pillar", + "twilightforest:bold_castle_brick_tile" ] }, "pattern": [ diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick.json index 1a6b8c6266..e2829a7d8c 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick.json @@ -3,16 +3,10 @@ "category": "building", "ingredients": [ [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ], - { - "item": "twilightforest:castle_brick" - } + "twilightforest:castle_brick" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json index a02d983dd4..cd2a2eb1d0 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:mossy_castle_brick" - } + "#": "twilightforest:mossy_castle_brick" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json index fb888db6af..d62917de85 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json @@ -3,9 +3,7 @@ "category": "blocks", "cookingtime": 200, "experience": 0.1, - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:cracked_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/thick_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/castleblock/thick_castle_brick.json index f5bb5a9cf1..8f40acba89 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/thick_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/thick_castle_brick.json @@ -3,18 +3,10 @@ "category": "building", "key": { "#": [ - { - "item": "twilightforest:castle_brick" - }, - { - "item": "twilightforest:worn_castle_brick" - }, - { - "item": "twilightforest:cracked_castle_brick" - }, - { - "item": "twilightforest:mossy_castle_brick" - } + "twilightforest:castle_brick", + "twilightforest:worn_castle_brick", + "twilightforest:cracked_castle_brick", + "twilightforest:mossy_castle_brick" ] }, "pattern": [ diff --git a/src/generated/resources/data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json index 93b584d5b9..00814bfdae 100644 --- a/src/generated/resources/data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:worn_castle_brick" - } + "#": "twilightforest:worn_castle_brick" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_2.json b/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_2.json index 01327ccc83..a2b852c7ff 100644 --- a/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_2.json +++ b/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_2.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "equipment", "ingredients": [ - { - "item": "twilightforest:charm_of_keeping_1" - }, - { - "item": "twilightforest:charm_of_keeping_1" - }, - { - "item": "twilightforest:charm_of_keeping_1" - }, - { - "item": "twilightforest:charm_of_keeping_1" - } + "twilightforest:charm_of_keeping_1", + "twilightforest:charm_of_keeping_1", + "twilightforest:charm_of_keeping_1", + "twilightforest:charm_of_keeping_1" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_3.json b/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_3.json index 31ab3253dc..794343ef47 100644 --- a/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_3.json +++ b/src/generated/resources/data/twilightforest/recipe/charm_of_keeping_3.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "equipment", "ingredients": [ - { - "item": "twilightforest:charm_of_keeping_2" - }, - { - "item": "twilightforest:charm_of_keeping_2" - }, - { - "item": "twilightforest:charm_of_keeping_2" - }, - { - "item": "twilightforest:charm_of_keeping_2" - } + "twilightforest:charm_of_keeping_2", + "twilightforest:charm_of_keeping_2", + "twilightforest:charm_of_keeping_2", + "twilightforest:charm_of_keeping_2" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/charm_of_life_2.json b/src/generated/resources/data/twilightforest/recipe/charm_of_life_2.json index e4756ebe89..5fc17ce9d5 100644 --- a/src/generated/resources/data/twilightforest/recipe/charm_of_life_2.json +++ b/src/generated/resources/data/twilightforest/recipe/charm_of_life_2.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "equipment", "ingredients": [ - { - "item": "twilightforest:charm_of_life_1" - }, - { - "item": "twilightforest:charm_of_life_1" - }, - { - "item": "twilightforest:charm_of_life_1" - }, - { - "item": "twilightforest:charm_of_life_1" - } + "twilightforest:charm_of_life_1", + "twilightforest:charm_of_life_1", + "twilightforest:charm_of_life_1", + "twilightforest:charm_of_life_1" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/cicada_jar.json b/src/generated/resources/data/twilightforest/recipe/cicada_jar.json index 8dbf660e37..5de8cfb493 100644 --- a/src/generated/resources/data/twilightforest/recipe/cicada_jar.json +++ b/src/generated/resources/data/twilightforest/recipe/cicada_jar.json @@ -2,14 +2,15 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:cicada" - }, - { - "item": "twilightforest:mason_jar" - } + "twilightforest:cicada", + "twilightforest:mason_jar" ], "result": { + "components": { + "twilightforest:jar_lid": { + "lid": "twilightforest:canopy_log" + } + }, "count": 1, "id": "twilightforest:cicada_jar" } diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/arctic_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/arctic_block.json index 06aa02c302..4d3f02e62f 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/arctic_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/arctic_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "twilightforest:arctic_fur" - } + "#": "#twilightforest:arctic_fur" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/carminite_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/carminite_block.json index 404a5286ee..207eb4839a 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/carminite_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/carminite_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:gems/carminite" - } + "#": "#c:gems/carminite" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/fiery_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/fiery_block.json index 5f925873b3..d4fff1cbc4 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/fiery_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/fiery_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/fiery" - } + "#": "#c:ingots/fiery" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/ironwood_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/ironwood_block.json index 873abbd004..37d31021b7 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/ironwood_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/ironwood_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/ironwood" - } + "#": "#c:ingots/ironwood" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/knightmetal_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/knightmetal_block.json index 37898a0abe..d9ec9f088e 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/knightmetal_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/knightmetal_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/knightmetal" - } + "#": "#c:ingots/knightmetal" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json index 43647d37cc..7bb8390100 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:storage_blocks/arctic_fur" - } + "#c:storage_blocks/arctic_fur" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json index 79edddd542..7b28ab06d6 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:storage_blocks/carminite" - } + "#c:storage_blocks/carminite" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json index a2308c706f..4fe29c4457 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json @@ -3,9 +3,7 @@ "category": "misc", "group": "fiery_ingot", "ingredients": [ - { - "tag": "c:storage_blocks/fiery" - } + "#c:storage_blocks/fiery" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json index 5fc3f10d6f..3acd385184 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:storage_blocks/ironwood" - } + "#c:storage_blocks/ironwood" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json index cde7994e14..ce425fa1cb 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:storage_blocks/knightmetal" - } + "#c:storage_blocks/knightmetal" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json index 8627a03271..abae0736c3 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:storage_blocks/steeleaf" - } + "#c:storage_blocks/steeleaf" ], "result": { "count": 9, diff --git a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/steeleaf_block.json b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/steeleaf_block.json index 44932cf7bb..f18d2bc180 100644 --- a/src/generated/resources/data/twilightforest/recipe/compressed_blocks/steeleaf_block.json +++ b/src/generated/resources/data/twilightforest/recipe/compressed_blocks/steeleaf_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/steeleaf" - } + "#": "#c:ingots/steeleaf" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/dark_boat.json b/src/generated/resources/data/twilightforest/recipe/dark_boat.json index a7bbd24cde..08477f09b9 100644 --- a/src/generated/resources/data/twilightforest/recipe/dark_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/dark_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:dark_planks" - } + "P": "twilightforest:dark_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/dark_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/dark_chest_boat.json index bfecfc3399..63fed78f0e 100644 --- a/src/generated/resources/data/twilightforest/recipe/dark_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/dark_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:dark_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:dark_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/emperors_cloth_smithing.json b/src/generated/resources/data/twilightforest/recipe/emperors_cloth_smithing.json index f4831630c4..6ec2b63b6e 100644 --- a/src/generated/resources/data/twilightforest/recipe/emperors_cloth_smithing.json +++ b/src/generated/resources/data/twilightforest/recipe/emperors_cloth_smithing.json @@ -1,12 +1,8 @@ { "type": "twilightforest:no_template_smithing", - "addition": { - "item": "twilightforest:emperors_cloth" - }, + "addition": "twilightforest:emperors_cloth", "additional_data": { "twilightforest:emperors_cloth": {} }, - "base": { - "tag": "c:armors" - } + "base": "#c:armors" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/encased_fire_jet.json b/src/generated/resources/data/twilightforest/recipe/encased_fire_jet.json index e4249842d0..04ffc38917 100644 --- a/src/generated/resources/data/twilightforest/recipe/encased_fire_jet.json +++ b/src/generated/resources/data/twilightforest/recipe/encased_fire_jet.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "^": { - "item": "twilightforest:fire_jet" - }, - "u": { - "item": "minecraft:lava_bucket" - }, - "∓": { - "tag": "c:dusts/redstone" - } + "#": "twilightforest:encased_towerwood", + "^": "twilightforest:fire_jet", + "u": "minecraft:lava_bucket", + "∓": "#c:dusts/redstone" }, "pattern": [ "#∓#", diff --git a/src/generated/resources/data/twilightforest/recipe/encased_smoker.json b/src/generated/resources/data/twilightforest/recipe/encased_smoker.json index 86c6795c8e..023a19a269 100644 --- a/src/generated/resources/data/twilightforest/recipe/encased_smoker.json +++ b/src/generated/resources/data/twilightforest/recipe/encased_smoker.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "^": { - "item": "twilightforest:smoker" - }, - "∓": { - "tag": "c:dusts/redstone" - } + "#": "twilightforest:encased_towerwood", + "^": "twilightforest:smoker", + "∓": "#c:dusts/redstone" }, "pattern": [ "#∓#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_boots.json index 9d234bf216..350db4bcf4 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_boots.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "twilightforest:arctic_fur" - } + "#": "#twilightforest:arctic_fur" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_chestplate.json index 157ebb5c42..ab5c92d3d4 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "twilightforest:arctic_fur" - } + "#": "#twilightforest:arctic_fur" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_helmet.json index dc25b4ee04..957d143d0a 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_helmet.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "twilightforest:arctic_fur" - } + "#": "#twilightforest:arctic_fur" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_leggings.json index d839674f02..ea5ec2f959 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/arctic_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/arctic_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "twilightforest:arctic_fur" - } + "#": "#twilightforest:arctic_fur" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/block_and_chain.json b/src/generated/resources/data/twilightforest/recipe/equipment/block_and_chain.json index 94c589528c..6b76033714 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/block_and_chain.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/block_and_chain.json @@ -2,21 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "equipment", "ingredients": [ - { - "tag": "c:storage_blocks/knightmetal" - }, - { - "tag": "c:ingots/knightmetal" - }, - { - "tag": "c:ingots/knightmetal" - }, - { - "tag": "c:ingots/knightmetal" - }, - { - "item": "twilightforest:knightmetal_ring" - } + "#c:storage_blocks/knightmetal", + "#c:ingots/knightmetal", + "#c:ingots/knightmetal", + "#c:ingots/knightmetal", + "twilightforest:knightmetal_ring" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_boots.json index f6b3379a13..d3736aada4 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_boots.json @@ -3,9 +3,7 @@ "category": "equipment", "group": "fiery_boots", "key": { - "#": { - "tag": "c:ingots/fiery" - } + "#": "#c:ingots/fiery" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_chestplate.json index b92123d868..4808f7309d 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_chestplate.json @@ -3,9 +3,7 @@ "category": "equipment", "group": "fiery_chestplate", "key": { - "#": { - "tag": "c:ingots/fiery" - } + "#": "#c:ingots/fiery" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_helmet.json index 1fb063f6bd..9651ce3dab 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_helmet.json @@ -3,9 +3,7 @@ "category": "equipment", "group": "fiery_helmet", "key": { - "#": { - "tag": "c:ingots/fiery" - } + "#": "#c:ingots/fiery" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_ingot_crafting.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_ingot_crafting.json index a56cc787a0..d996542554 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_ingot_crafting.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_ingot_crafting.json @@ -3,12 +3,8 @@ "category": "misc", "group": "fiery_ingot", "ingredients": [ - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "c:ingots/iron" - } + "#twilightforest:fiery_vial", + "#c:ingots/iron" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_boots.json index 472b9c59b7..1188ee7240 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_boots.json @@ -3,21 +3,11 @@ "category": "equipment", "group": "fiery_boots", "ingredients": [ - { - "item": "minecraft:iron_boots" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - } + "minecraft:iron_boots", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_chestplate.json index b6e82e1c1d..bef2941fd5 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_chestplate.json @@ -3,33 +3,15 @@ "category": "equipment", "group": "fiery_chestplate", "ingredients": [ - { - "item": "minecraft:iron_chestplate" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - } + "minecraft:iron_chestplate", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_helmet.json index c63ae03c23..24ffcf86e9 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_helmet.json @@ -3,24 +3,12 @@ "category": "equipment", "group": "fiery_helmet", "ingredients": [ - { - "item": "minecraft:iron_helmet" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - } + "minecraft:iron_helmet", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_leggings.json index 07c0c5e4da..c5dec80355 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_leggings.json @@ -3,30 +3,14 @@ "category": "equipment", "group": "fiery_leggings", "ingredients": [ - { - "item": "minecraft:iron_leggings" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - } + "minecraft:iron_leggings", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json index 23bbc91876..98da30f1cb 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json @@ -3,24 +3,12 @@ "category": "equipment", "group": "fiery_pickaxe", "ingredients": [ - { - "item": "minecraft:iron_pickaxe" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "c:rods/blaze" - }, - { - "tag": "c:rods/blaze" - } + "minecraft:iron_pickaxe", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#c:rods/blaze", + "#c:rods/blaze" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_sword.json index 739f2ff7d0..eac7348ac3 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_iron_sword.json @@ -3,18 +3,10 @@ "category": "equipment", "group": "fiery_sword", "ingredients": [ - { - "item": "minecraft:iron_sword" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "twilightforest:fiery_vial" - }, - { - "tag": "c:rods/blaze" - } + "minecraft:iron_sword", + "#twilightforest:fiery_vial", + "#twilightforest:fiery_vial", + "#c:rods/blaze" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_leggings.json index e1163b2ba1..8deaa83457 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_leggings.json @@ -3,9 +3,7 @@ "category": "equipment", "group": "fiery_leggings", "key": { - "#": { - "tag": "c:ingots/fiery" - } + "#": "#c:ingots/fiery" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_pickaxe.json index 1413699f5b..2bedfe1bd1 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_pickaxe.json @@ -3,12 +3,8 @@ "category": "equipment", "group": "fiery_pickaxe", "key": { - "#": { - "tag": "c:ingots/fiery" - }, - "X": { - "tag": "c:rods/blaze" - } + "#": "#c:ingots/fiery", + "X": "#c:rods/blaze" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_sword.json index 1f6bbe238a..722d69f721 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fiery_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fiery_sword.json @@ -3,12 +3,8 @@ "category": "equipment", "group": "fiery_sword", "key": { - "#": { - "tag": "c:ingots/fiery" - }, - "X": { - "tag": "c:rods/blaze" - } + "#": "#c:ingots/fiery", + "X": "#c:rods/blaze" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/fortification_scepter.json b/src/generated/resources/data/twilightforest/recipe/equipment/fortification_scepter.json index 007a34265f..beddffdcf0 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/fortification_scepter.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/fortification_scepter.json @@ -2,9 +2,7 @@ "type": "twilightforest:scepter_repair", "durability": 9, "repair_ingredients": [ - { - "item": "minecraft:golden_apple" - } + "minecraft:golden_apple" ], "scepter": "twilightforest:fortification_scepter" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/giant_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/giant_pickaxe.json index 7ff7afafc1..a078238451 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/giant_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/giant_pickaxe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:giant_cobblestone" - }, - "X": { - "item": "twilightforest:giant_log" - } + "#": "twilightforest:giant_cobblestone", + "X": "twilightforest:giant_log" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/giant_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/giant_sword.json index 94d7c78a55..3f4dc53654 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/giant_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/giant_sword.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:giant_cobblestone" - }, - "X": { - "item": "twilightforest:giant_log" - } + "#": "twilightforest:giant_cobblestone", + "X": "twilightforest:giant_log" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_axe.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_axe.json index 8c9e226fba..98917f31eb 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_axe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_axe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/ironwood", + "X": "#c:rods/wooden" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_boots.json index 2d5373e7ef..39b7879351 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_boots.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - } + "#": "#c:ingots/ironwood" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_chestplate.json index cf241b2aaf..353895bfad 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - } + "#": "#c:ingots/ironwood" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_helmet.json index 71ec1c3457..440f2ce124 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_helmet.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - } + "#": "#c:ingots/ironwood" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_hoe.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_hoe.json index 403331e031..f882f77e6e 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_hoe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_hoe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/ironwood", + "X": "#c:rods/wooden" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_leggings.json index cc3195f4ac..6c88cd96e9 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - } + "#": "#c:ingots/ironwood" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_pickaxe.json index b0bf2fd70b..2a76d1524b 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_pickaxe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/ironwood", + "X": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_shovel.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_shovel.json index 7b32e60c16..3419dd3412 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_shovel.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_shovel.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/ironwood", + "X": "#c:rods/wooden" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_sword.json index 54eb58378e..ea14ef0e8a 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/ironwood_sword.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/ironwood" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/ironwood", + "X": "#c:rods/wooden" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_axe.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_axe.json index 9f74a09795..1bec51fb48 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_axe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_axe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/knightmetal", + "X": "#c:rods/wooden" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_boots.json index d8e2108b0e..227bc284b9 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_boots.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - } + "#": "#c:ingots/knightmetal" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_chestplate.json index e2fabd97eb..3f83d95022 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - } + "#": "#c:ingots/knightmetal" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_helmet.json index 6c5e512f5a..86d4c7d8d6 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_helmet.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - } + "#": "#c:ingots/knightmetal" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_leggings.json index 8f30febd04..2a555e0684 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - } + "#": "#c:ingots/knightmetal" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_pickaxe.json index 3d9ca58e50..88a8da0491 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_pickaxe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/knightmetal", + "X": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_ring.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_ring.json index 1f74ec76b4..3cf2bc0c93 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_ring.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_ring.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "-": { - "tag": "c:ingots/knightmetal" - } + "-": "#c:ingots/knightmetal" }, "pattern": [ " - ", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_shield.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_shield.json index 0e065ab908..7130f20fb4 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_shield.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_shield.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "twilightforest:towerwood" - }, - "-": { - "tag": "c:ingots/knightmetal" - }, - "o": { - "item": "twilightforest:knightmetal_ring" - } + "#": "#twilightforest:towerwood", + "-": "#c:ingots/knightmetal", + "o": "twilightforest:knightmetal_ring" }, "pattern": [ "-#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_sword.json index 115a66002b..5322c4c048 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/knightmetal_sword.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/knightmetal" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/knightmetal", + "X": "#c:rods/wooden" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/lifedrain_scepter.json b/src/generated/resources/data/twilightforest/recipe/equipment/lifedrain_scepter.json index 9f48a9d2b3..bb8714c97b 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/lifedrain_scepter.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/lifedrain_scepter.json @@ -2,9 +2,7 @@ "type": "twilightforest:scepter_repair", "durability": 9, "repair_ingredients": [ - { - "item": "minecraft:fermented_spider_eye" - } + "minecraft:fermented_spider_eye" ], "scepter": "twilightforest:lifedrain_scepter" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/naga_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/naga_chestplate.json index b136072634..1dd87c25c4 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/naga_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/naga_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:naga_scale" - } + "#": "twilightforest:naga_scale" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/naga_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/naga_leggings.json index 4aa5eddeb8..f8bf248d99 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/naga_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/naga_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:naga_scale" - } + "#": "twilightforest:naga_scale" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_axe.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_axe.json index cf96a3eb95..acf8214534 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_axe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_axe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/steeleaf", + "X": "#c:rods/wooden" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_boots.json index 12a27b9564..b2a35e957b 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_boots.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - } + "#": "#c:ingots/steeleaf" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_chestplate.json index 446a2d4179..d1e9cf9609 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - } + "#": "#c:ingots/steeleaf" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_helmet.json index 8da0e4aa56..5f435dd271 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_helmet.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - } + "#": "#c:ingots/steeleaf" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_hoe.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_hoe.json index 1b148b1a23..641057787c 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_hoe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_hoe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/steeleaf", + "X": "#c:rods/wooden" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_leggings.json index 5784d99528..26bdd85cb9 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - } + "#": "#c:ingots/steeleaf" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_pickaxe.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_pickaxe.json index 368ff8c378..dae610c89f 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_pickaxe.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_pickaxe.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/steeleaf", + "X": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_shovel.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_shovel.json index eff751937e..3d495db977 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_shovel.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_shovel.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/steeleaf", + "X": "#c:rods/wooden" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_sword.json b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_sword.json index e2c9a743e7..d9155a9bda 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_sword.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/steeleaf_sword.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "tag": "c:ingots/steeleaf" - }, - "X": { - "tag": "c:rods/wooden" - } + "#": "#c:ingots/steeleaf", + "X": "#c:rods/wooden" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/twilight_scepter.json b/src/generated/resources/data/twilightforest/recipe/equipment/twilight_scepter.json index b36cc9151f..449a4cda10 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/twilight_scepter.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/twilight_scepter.json @@ -2,9 +2,7 @@ "type": "twilightforest:scepter_repair", "durability": 9, "repair_ingredients": [ - { - "tag": "c:ender_pearls" - } + "#c:ender_pearls" ], "scepter": "twilightforest:twilight_scepter" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_boots.json b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_boots.json index 02461ee3de..7714a72383 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_boots.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_boots.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:alpha_yeti_fur" - } + "#": "twilightforest:alpha_yeti_fur" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_chestplate.json b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_chestplate.json index c808b134d7..113ab53df0 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_chestplate.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_chestplate.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:alpha_yeti_fur" - } + "#": "twilightforest:alpha_yeti_fur" }, "pattern": [ "# #", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_helmet.json b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_helmet.json index f65d75bbec..aac2b5795c 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_helmet.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_helmet.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:alpha_yeti_fur" - } + "#": "twilightforest:alpha_yeti_fur" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_leggings.json b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_leggings.json index 4dcf4d643f..cf17c7b930 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/yeti_leggings.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/yeti_leggings.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "#": { - "item": "twilightforest:alpha_yeti_fur" - } + "#": "twilightforest:alpha_yeti_fur" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/equipment/zombie_scepter.json b/src/generated/resources/data/twilightforest/recipe/equipment/zombie_scepter.json index 1e9198dcf5..8c2c43a3b2 100644 --- a/src/generated/resources/data/twilightforest/recipe/equipment/zombie_scepter.json +++ b/src/generated/resources/data/twilightforest/recipe/equipment/zombie_scepter.json @@ -2,38 +2,39 @@ "type": "twilightforest:scepter_repair", "durability": 9, "repair_ingredients": [ - [ - { - "type": "neoforge:components", - "components": { - "minecraft:potion_contents": { - "potion": "minecraft:strength" - } - }, - "items": "minecraft:potion" - }, - { - "type": "neoforge:components", - "components": { - "minecraft:potion_contents": { - "potion": "minecraft:long_strength" - } + { + "neoforge:ingredient_type": "neoforge:compound", + "children": [ + { + "neoforge:ingredient_type": "neoforge:components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:strength" + } + }, + "items": "minecraft:potion" }, - "items": "minecraft:potion" - }, - { - "type": "neoforge:components", - "components": { - "minecraft:potion_contents": { - "potion": "minecraft:strong_strength" - } + { + "neoforge:ingredient_type": "neoforge:components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:long_strength" + } + }, + "items": "minecraft:potion" }, - "items": "minecraft:potion" - } - ], - { - "item": "minecraft:rotten_flesh" - } + { + "neoforge:ingredient_type": "neoforge:components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:strong_strength" + } + }, + "items": "minecraft:potion" + } + ] + }, + "minecraft:rotten_flesh" ], "scepter": "twilightforest:zombie_scepter" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/firefly_jar.json b/src/generated/resources/data/twilightforest/recipe/firefly_jar.json index e3092ac1a9..eddb517df1 100644 --- a/src/generated/resources/data/twilightforest/recipe/firefly_jar.json +++ b/src/generated/resources/data/twilightforest/recipe/firefly_jar.json @@ -2,14 +2,15 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:firefly" - }, - { - "item": "twilightforest:mason_jar" - } + "twilightforest:firefly", + "twilightforest:mason_jar" ], "result": { + "components": { + "twilightforest:jar_lid": { + "lid": "twilightforest:twilight_oak_log" + } + }, "count": 1, "id": "twilightforest:firefly_jar" } diff --git a/src/generated/resources/data/twilightforest/recipe/firefly_particle_spawner.json b/src/generated/resources/data/twilightforest/recipe/firefly_particle_spawner.json index e9d2c973d9..e6c9b1ef78 100644 --- a/src/generated/resources/data/twilightforest/recipe/firefly_particle_spawner.json +++ b/src/generated/resources/data/twilightforest/recipe/firefly_particle_spawner.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:firefly_jar" - }, - { - "item": "twilightforest:firefly" - }, - { - "item": "minecraft:poppy" - } + "twilightforest:firefly_jar", + "twilightforest:firefly", + "minecraft:poppy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/food/campfired_meef.json b/src/generated/resources/data/twilightforest/recipe/food/campfired_meef.json index 534a5e52ea..0313d0a68f 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/campfired_meef.json +++ b/src/generated/resources/data/twilightforest/recipe/food/campfired_meef.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 600, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_meef" - }, + "ingredient": "twilightforest:raw_meef", "result": { "count": 1, "id": "twilightforest:cooked_meef" diff --git a/src/generated/resources/data/twilightforest/recipe/food/campfired_venison.json b/src/generated/resources/data/twilightforest/recipe/food/campfired_venison.json index 25269e04d3..72ace9ec27 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/campfired_venison.json +++ b/src/generated/resources/data/twilightforest/recipe/food/campfired_venison.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 600, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_venison" - }, + "ingredient": "twilightforest:raw_venison", "result": { "count": 1, "id": "twilightforest:cooked_venison" diff --git a/src/generated/resources/data/twilightforest/recipe/food/smelted_meef.json b/src/generated/resources/data/twilightforest/recipe/food/smelted_meef.json index 7a99e0683f..7e0db1af32 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/smelted_meef.json +++ b/src/generated/resources/data/twilightforest/recipe/food/smelted_meef.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 200, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_meef" - }, + "ingredient": "twilightforest:raw_meef", "result": { "count": 1, "id": "twilightforest:cooked_meef" diff --git a/src/generated/resources/data/twilightforest/recipe/food/smelted_venison.json b/src/generated/resources/data/twilightforest/recipe/food/smelted_venison.json index fc6b87528e..63f9c4e3a8 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/smelted_venison.json +++ b/src/generated/resources/data/twilightforest/recipe/food/smelted_venison.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 200, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_venison" - }, + "ingredient": "twilightforest:raw_venison", "result": { "count": 1, "id": "twilightforest:cooked_venison" diff --git a/src/generated/resources/data/twilightforest/recipe/food/smoked_meef.json b/src/generated/resources/data/twilightforest/recipe/food/smoked_meef.json index ea7609aba2..89b2be9df5 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/smoked_meef.json +++ b/src/generated/resources/data/twilightforest/recipe/food/smoked_meef.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 100, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_meef" - }, + "ingredient": "twilightforest:raw_meef", "result": { "count": 1, "id": "twilightforest:cooked_meef" diff --git a/src/generated/resources/data/twilightforest/recipe/food/smoked_venison.json b/src/generated/resources/data/twilightforest/recipe/food/smoked_venison.json index 11736c8c4e..10ffb16847 100644 --- a/src/generated/resources/data/twilightforest/recipe/food/smoked_venison.json +++ b/src/generated/resources/data/twilightforest/recipe/food/smoked_venison.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 100, "experience": 0.35, - "ingredient": { - "item": "twilightforest:raw_venison" - }, + "ingredient": "twilightforest:raw_venison", "result": { "count": 1, "id": "twilightforest:cooked_venison" diff --git a/src/generated/resources/data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json b/src/generated/resources/data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json index cec0a7fb34..15151bb4d4 100644 --- a/src/generated/resources/data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json +++ b/src/generated/resources/data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "building", "ingredients": [ - { - "item": "twilightforest:giant_cobblestone" - } + "twilightforest:giant_cobblestone" ], "result": { "count": 64, diff --git a/src/generated/resources/data/twilightforest/recipe/giant_leaves_to_oak_leaves.json b/src/generated/resources/data/twilightforest/recipe/giant_leaves_to_oak_leaves.json index 8fea3bf298..4c5e43de23 100644 --- a/src/generated/resources/data/twilightforest/recipe/giant_leaves_to_oak_leaves.json +++ b/src/generated/resources/data/twilightforest/recipe/giant_leaves_to_oak_leaves.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "building", "ingredients": [ - { - "item": "twilightforest:giant_leaves" - } + "twilightforest:giant_leaves" ], "result": { "count": 64, diff --git a/src/generated/resources/data/twilightforest/recipe/giant_log_to_oak_planks.json b/src/generated/resources/data/twilightforest/recipe/giant_log_to_oak_planks.json index 1bb437dc26..8da95840a3 100644 --- a/src/generated/resources/data/twilightforest/recipe/giant_log_to_oak_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/giant_log_to_oak_planks.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "building", "ingredients": [ - { - "item": "twilightforest:giant_log" - } + "twilightforest:giant_log" ], "result": { "count": 64, diff --git a/src/generated/resources/data/twilightforest/recipe/giant_obsidian_to_obsidian.json b/src/generated/resources/data/twilightforest/recipe/giant_obsidian_to_obsidian.json index 9956588c31..76e13f8655 100644 --- a/src/generated/resources/data/twilightforest/recipe/giant_obsidian_to_obsidian.json +++ b/src/generated/resources/data/twilightforest/recipe/giant_obsidian_to_obsidian.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "building", "ingredients": [ - { - "item": "twilightforest:giant_obsidian" - } + "twilightforest:giant_obsidian" ], "result": { "count": 64, diff --git a/src/generated/resources/data/twilightforest/recipe/hydra_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/hydra_banner_pattern.json index 01c186fa31..4b2af7fd38 100644 --- a/src/generated/resources/data/twilightforest/recipe/hydra_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/hydra_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:hydra_trophy" - } + "#c:paper", + "twilightforest:hydra_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/iron_ladder.json b/src/generated/resources/data/twilightforest/recipe/iron_ladder.json index f1d40eec85..6b28888ed9 100644 --- a/src/generated/resources/data/twilightforest/recipe/iron_ladder.json +++ b/src/generated/resources/data/twilightforest/recipe/iron_ladder.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "item": "minecraft:iron_bars" - }, - "-": { - "tag": "c:nuggets/iron" - } + "#": "minecraft:iron_bars", + "-": "#c:nuggets/iron" }, "pattern": [ "-#-", diff --git a/src/generated/resources/data/twilightforest/recipe/knight_phantom_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/knight_phantom_banner_pattern.json index 5e630cd34f..b292040900 100644 --- a/src/generated/resources/data/twilightforest/recipe/knight_phantom_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/knight_phantom_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:knight_phantom_trophy" - } + "#c:paper", + "twilightforest:knight_phantom_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/lich_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/lich_banner_pattern.json index 12d8678db2..a396da7ace 100644 --- a/src/generated/resources/data/twilightforest/recipe/lich_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/lich_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:lich_trophy" - } + "#c:paper", + "twilightforest:lich_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/magic_map.json b/src/generated/resources/data/twilightforest/recipe/magic_map.json index d5bf5c5fb1..09cb67058e 100644 --- a/src/generated/resources/data/twilightforest/recipe/magic_map.json +++ b/src/generated/resources/data/twilightforest/recipe/magic_map.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "tag": "c:paper" - }, - "•": { - "item": "twilightforest:magic_map_focus" - } + "#": "#c:paper", + "•": "twilightforest:magic_map_focus" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/magic_map_focus.json b/src/generated/resources/data/twilightforest/recipe/magic_map_focus.json index faf87e9540..9940e73444 100644 --- a/src/generated/resources/data/twilightforest/recipe/magic_map_focus.json +++ b/src/generated/resources/data/twilightforest/recipe/magic_map_focus.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:raven_feather" - }, - { - "item": "twilightforest:torchberries" - }, - { - "tag": "c:dusts/glowstone" - } + "twilightforest:raven_feather", + "twilightforest:torchberries", + "#c:dusts/glowstone" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/mangrove_boat.json b/src/generated/resources/data/twilightforest/recipe/mangrove_boat.json index 980aabdb11..7dfcbd6699 100644 --- a/src/generated/resources/data/twilightforest/recipe/mangrove_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/mangrove_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:mangrove_planks" - } + "P": "twilightforest:mangrove_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/mangrove_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/mangrove_chest_boat.json index 8d73bc328c..5830f5c9f8 100644 --- a/src/generated/resources/data/twilightforest/recipe/mangrove_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/mangrove_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:mangrove_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:mangrove_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/mason_jar.json b/src/generated/resources/data/twilightforest/recipe/mason_jar.json index 9a118d612e..e8e6c0a35b 100644 --- a/src/generated/resources/data/twilightforest/recipe/mason_jar.json +++ b/src/generated/resources/data/twilightforest/recipe/mason_jar.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "G": { - "item": "minecraft:glass" - }, - "L": { - "item": "twilightforest:twilight_oak_log" - } + "G": "minecraft:glass", + "L": "twilightforest:twilight_oak_log" }, "pattern": [ "GLG", diff --git a/src/generated/resources/data/twilightforest/recipe/material/armor_shard_cluster.json b/src/generated/resources/data/twilightforest/recipe/material/armor_shard_cluster.json index 12d068a285..194db5a926 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/armor_shard_cluster.json +++ b/src/generated/resources/data/twilightforest/recipe/material/armor_shard_cluster.json @@ -2,33 +2,15 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - }, - { - "item": "twilightforest:armor_shard" - } + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard", + "twilightforest:armor_shard" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/material/blasted_ironwood_ingot.json b/src/generated/resources/data/twilightforest/recipe/material/blasted_ironwood_ingot.json index 6cfe3f0bdc..9c0b915326 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/blasted_ironwood_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/material/blasted_ironwood_ingot.json @@ -4,9 +4,7 @@ "cookingtime": 100, "experience": 1.0, "group": "ironwood_ingot", - "ingredient": { - "item": "twilightforest:raw_ironwood" - }, + "ingredient": "twilightforest:raw_ironwood", "result": { "count": 1, "id": "twilightforest:ironwood_ingot" diff --git a/src/generated/resources/data/twilightforest/recipe/material/blasted_knightmetal_ingot.json b/src/generated/resources/data/twilightforest/recipe/material/blasted_knightmetal_ingot.json index e3cdff7698..e75383f642 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/blasted_knightmetal_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/material/blasted_knightmetal_ingot.json @@ -4,9 +4,7 @@ "cookingtime": 100, "experience": 1.0, "group": "knightmetal_ingot", - "ingredient": { - "item": "twilightforest:armor_shard_cluster" - }, + "ingredient": "twilightforest:armor_shard_cluster", "result": { "count": 1, "id": "twilightforest:knightmetal_ingot" diff --git a/src/generated/resources/data/twilightforest/recipe/material/carminite.json b/src/generated/resources/data/twilightforest/recipe/material/carminite.json index 48354df887..df042b37c2 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/carminite.json +++ b/src/generated/resources/data/twilightforest/recipe/material/carminite.json @@ -2,33 +2,15 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:borer_essence" - }, - { - "tag": "c:dusts/redstone" - }, - { - "item": "twilightforest:borer_essence" - }, - { - "tag": "c:dusts/redstone" - }, - { - "item": "minecraft:ghast_tear" - }, - { - "tag": "c:dusts/redstone" - }, - { - "item": "twilightforest:borer_essence" - }, - { - "tag": "c:dusts/redstone" - }, - { - "item": "twilightforest:borer_essence" - } + "twilightforest:borer_essence", + "#c:dusts/redstone", + "twilightforest:borer_essence", + "#c:dusts/redstone", + "minecraft:ghast_tear", + "#c:dusts/redstone", + "twilightforest:borer_essence", + "#c:dusts/redstone", + "twilightforest:borer_essence" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/material/raw_ironwood.json b/src/generated/resources/data/twilightforest/recipe/material/raw_ironwood.json index 792f237eb0..430a1f9eb9 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/raw_ironwood.json +++ b/src/generated/resources/data/twilightforest/recipe/material/raw_ironwood.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:liveroot" - }, - { - "item": "minecraft:raw_iron" - }, - { - "tag": "c:nuggets/gold" - } + "twilightforest:liveroot", + "minecraft:raw_iron", + "#c:nuggets/gold" ], "result": { "count": 2, diff --git a/src/generated/resources/data/twilightforest/recipe/material/smelted_ironwood_ingot.json b/src/generated/resources/data/twilightforest/recipe/material/smelted_ironwood_ingot.json index b102487b95..a59b6e7594 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/smelted_ironwood_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/material/smelted_ironwood_ingot.json @@ -4,9 +4,7 @@ "cookingtime": 200, "experience": 1.0, "group": "ironwood_ingot", - "ingredient": { - "item": "twilightforest:raw_ironwood" - }, + "ingredient": "twilightforest:raw_ironwood", "result": { "count": 1, "id": "twilightforest:ironwood_ingot" diff --git a/src/generated/resources/data/twilightforest/recipe/material/smelted_knightmetal_ingot.json b/src/generated/resources/data/twilightforest/recipe/material/smelted_knightmetal_ingot.json index 557554cc97..c0022ec0d2 100644 --- a/src/generated/resources/data/twilightforest/recipe/material/smelted_knightmetal_ingot.json +++ b/src/generated/resources/data/twilightforest/recipe/material/smelted_knightmetal_ingot.json @@ -4,9 +4,7 @@ "cookingtime": 200, "experience": 1.0, "group": "knightmetal_ingot", - "ingredient": { - "item": "twilightforest:armor_shard_cluster" - }, + "ingredient": "twilightforest:armor_shard_cluster", "result": { "count": 1, "id": "twilightforest:knightmetal_ingot" diff --git a/src/generated/resources/data/twilightforest/recipe/maze_map.json b/src/generated/resources/data/twilightforest/recipe/maze_map.json index f739976dab..11dc5becf5 100644 --- a/src/generated/resources/data/twilightforest/recipe/maze_map.json +++ b/src/generated/resources/data/twilightforest/recipe/maze_map.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "tag": "c:paper" - }, - "•": { - "item": "twilightforest:maze_map_focus" - } + "#": "#c:paper", + "•": "twilightforest:maze_map_focus" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/maze_stone/mossy_mazestone.json b/src/generated/resources/data/twilightforest/recipe/maze_stone/mossy_mazestone.json index 51664461b0..c485f4f0cc 100644 --- a/src/generated/resources/data/twilightforest/recipe/maze_stone/mossy_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/maze_stone/mossy_mazestone.json @@ -3,16 +3,10 @@ "category": "building", "ingredients": [ [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ], - { - "item": "twilightforest:mazestone_brick" - } + "twilightforest:mazestone_brick" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json b/src/generated/resources/data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json index 1356679bf3..6f83a78ec4 100644 --- a/src/generated/resources/data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json +++ b/src/generated/resources/data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json @@ -3,9 +3,7 @@ "category": "blocks", "cookingtime": 200, "experience": 0.1, - "ingredient": { - "item": "twilightforest:mazestone_brick" - }, + "ingredient": "twilightforest:mazestone_brick", "result": { "count": 1, "id": "twilightforest:cracked_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/mining_boat.json b/src/generated/resources/data/twilightforest/recipe/mining_boat.json index 59ea84c365..c2785be9a4 100644 --- a/src/generated/resources/data/twilightforest/recipe/mining_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/mining_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:mining_planks" - } + "P": "twilightforest:mining_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/mining_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/mining_chest_boat.json index f6a8378c00..4adcce9af0 100644 --- a/src/generated/resources/data/twilightforest/recipe/mining_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/mining_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:mining_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:mining_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/minoshroom_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/minoshroom_banner_pattern.json index e3fc28f0c5..d7a9f02bf5 100644 --- a/src/generated/resources/data/twilightforest/recipe/minoshroom_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/minoshroom_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:minoshroom_trophy" - } + "#c:paper", + "twilightforest:minoshroom_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/mossy_underbrick.json b/src/generated/resources/data/twilightforest/recipe/mossy_underbrick.json index 36ef2f03e3..76b67aff2a 100644 --- a/src/generated/resources/data/twilightforest/recipe/mossy_underbrick.json +++ b/src/generated/resources/data/twilightforest/recipe/mossy_underbrick.json @@ -3,16 +3,10 @@ "category": "building", "ingredients": [ [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ], - { - "item": "twilightforest:underbrick" - } + "twilightforest:underbrick" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/naga_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/naga_banner_pattern.json index 41ef46bcd1..ddbc42242b 100644 --- a/src/generated/resources/data/twilightforest/recipe/naga_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/naga_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:naga_trophy" - } + "#c:paper", + "twilightforest:naga_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json index 1ba09e2f3c..f9e02a91e4 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:cracked_etched_nagastone" - } + "#": "twilightforest:cracked_etched_nagastone" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json index faff4c8afd..963c815dff 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:cracked_etched_nagastone" - } + "#": "twilightforest:cracked_etched_nagastone" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json index c817580866..3a6f93b8fd 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json @@ -3,16 +3,10 @@ "category": "building", "ingredients": [ [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ], - { - "item": "twilightforest:etched_nagastone" - } + "twilightforest:etched_nagastone" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json index 8a0db2bd91..daf51221f8 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json @@ -3,16 +3,10 @@ "category": "building", "ingredients": [ [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ], - { - "item": "twilightforest:nagastone_pillar" - } + "twilightforest:nagastone_pillar" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json index b45590d3a4..3d6f86e863 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:mossy_etched_nagastone" - } + "#": "twilightforest:mossy_etched_nagastone" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json index 319b2bfe69..3f1362a866 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:mossy_etched_nagastone" - } + "#": "twilightforest:mossy_etched_nagastone" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_spiral.json b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_spiral.json index 42879295fe..52c8cdf6aa 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_spiral.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_spiral.json @@ -3,26 +3,14 @@ "category": "building", "key": { "B": [ - { - "item": "minecraft:stone_bricks" - }, - { - "item": "minecraft:mossy_stone_bricks" - }, - { - "item": "minecraft:cracked_stone_bricks" - }, - { - "item": "minecraft:chiseled_stone_bricks" - } + "minecraft:stone_bricks", + "minecraft:mossy_stone_bricks", + "minecraft:cracked_stone_bricks", + "minecraft:chiseled_stone_bricks" ], "S": [ - { - "item": "minecraft:stone_slab" - }, - { - "item": "minecraft:stone_brick_slab" - } + "minecraft:stone_slab", + "minecraft:stone_brick_slab" ] }, "pattern": [ diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_left.json index 86b34421a9..cd828afce8 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_left.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:etched_nagastone" - } + "#": "twilightforest:etched_nagastone" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_right.json index 1259a8b841..98862db8bb 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/nagastone_stairs_right.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:etched_nagastone" - } + "#": "twilightforest:etched_nagastone" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json b/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json index 3283cd86e6..4e5b6555c0 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json @@ -3,9 +3,7 @@ "category": "blocks", "cookingtime": 200, "experience": 0.1, - "ingredient": { - "item": "twilightforest:etched_nagastone" - }, + "ingredient": "twilightforest:etched_nagastone", "result": { "count": 1, "id": "twilightforest:cracked_etched_nagastone" diff --git a/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json b/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json index c702d66ab6..7ce4f92e15 100644 --- a/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json @@ -3,9 +3,7 @@ "category": "blocks", "cookingtime": 200, "experience": 0.1, - "ingredient": { - "item": "twilightforest:nagastone_pillar" - }, + "ingredient": "twilightforest:nagastone_pillar", "result": { "count": 1, "id": "twilightforest:cracked_nagastone_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/ore_map.json b/src/generated/resources/data/twilightforest/recipe/ore_map.json index c4b8ae5268..46d6bfce4f 100644 --- a/src/generated/resources/data/twilightforest/recipe/ore_map.json +++ b/src/generated/resources/data/twilightforest/recipe/ore_map.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:maze_map" - }, - { - "tag": "c:storage_blocks/diamond" - }, - { - "tag": "c:storage_blocks/gold" - }, - { - "tag": "c:storage_blocks/iron" - } + "twilightforest:maze_map", + "#c:storage_blocks/diamond", + "#c:storage_blocks/gold", + "#c:storage_blocks/iron" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/rainy_cloud.json b/src/generated/resources/data/twilightforest/recipe/rainy_cloud.json index e1ce96b9d1..ef7fdc7914 100644 --- a/src/generated/resources/data/twilightforest/recipe/rainy_cloud.json +++ b/src/generated/resources/data/twilightforest/recipe/rainy_cloud.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "b": { - "item": "minecraft:water_bucket" - }, - "c": { - "item": "twilightforest:fluffy_cloud" - } + "b": "minecraft:water_bucket", + "c": "twilightforest:fluffy_cloud" }, "pattern": [ "ccc", diff --git a/src/generated/resources/data/twilightforest/recipe/reappearing_block.json b/src/generated/resources/data/twilightforest/recipe/reappearing_block.json index 6815e0b209..15a7b312a8 100644 --- a/src/generated/resources/data/twilightforest/recipe/reappearing_block.json +++ b/src/generated/resources/data/twilightforest/recipe/reappearing_block.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "6": { - "tag": "c:gems/carminite" - }, - "∓": { - "tag": "c:dusts/redstone" - } + "#": "twilightforest:encased_towerwood", + "6": "#c:gems/carminite", + "∓": "#c:dusts/redstone" }, "pattern": [ "#∓#", diff --git a/src/generated/resources/data/twilightforest/recipe/root_stick.json b/src/generated/resources/data/twilightforest/recipe/root_stick.json index 1d110f17a4..cef59304be 100644 --- a/src/generated/resources/data/twilightforest/recipe/root_stick.json +++ b/src/generated/resources/data/twilightforest/recipe/root_stick.json @@ -3,9 +3,7 @@ "category": "misc", "group": "sticks", "ingredients": [ - { - "item": "twilightforest:root_strand" - } + "twilightforest:root_strand" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/rope.json b/src/generated/resources/data/twilightforest/recipe/rope.json index 92154e52fe..0e06f92e8c 100644 --- a/src/generated/resources/data/twilightforest/recipe/rope.json +++ b/src/generated/resources/data/twilightforest/recipe/rope.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "item": "twilightforest:root_strand" - } + "#": "twilightforest:root_strand" }, "pattern": [ "#", diff --git a/src/generated/resources/data/twilightforest/recipe/smelted_cracked_underbrick.json b/src/generated/resources/data/twilightforest/recipe/smelted_cracked_underbrick.json index 6e5555197c..451e08b64f 100644 --- a/src/generated/resources/data/twilightforest/recipe/smelted_cracked_underbrick.json +++ b/src/generated/resources/data/twilightforest/recipe/smelted_cracked_underbrick.json @@ -3,9 +3,7 @@ "category": "blocks", "cookingtime": 200, "experience": 0.1, - "ingredient": { - "item": "twilightforest:underbrick" - }, + "ingredient": "twilightforest:underbrick", "result": { "count": 1, "id": "twilightforest:cracked_underbrick" diff --git a/src/generated/resources/data/twilightforest/recipe/snow_queen_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/snow_queen_banner_pattern.json index e1197fc84b..f68fcf2680 100644 --- a/src/generated/resources/data/twilightforest/recipe/snow_queen_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/snow_queen_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:snow_queen_trophy" - } + "#c:paper", + "twilightforest:snow_queen_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/snowy_cloud.json b/src/generated/resources/data/twilightforest/recipe/snowy_cloud.json index 451da796f5..c89f96cb1a 100644 --- a/src/generated/resources/data/twilightforest/recipe/snowy_cloud.json +++ b/src/generated/resources/data/twilightforest/recipe/snowy_cloud.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "b": { - "item": "minecraft:powder_snow_bucket" - }, - "c": { - "item": "twilightforest:fluffy_cloud" - } + "b": "minecraft:powder_snow_bucket", + "c": "twilightforest:fluffy_cloud" }, "pattern": [ "ccc", diff --git a/src/generated/resources/data/twilightforest/recipe/sorting_boat.json b/src/generated/resources/data/twilightforest/recipe/sorting_boat.json index 761c511c53..d24dc53db8 100644 --- a/src/generated/resources/data/twilightforest/recipe/sorting_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/sorting_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:sorting_planks" - } + "P": "twilightforest:sorting_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/sorting_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/sorting_chest_boat.json index 950b0e946d..2ec4240bc3 100644 --- a/src/generated/resources/data/twilightforest/recipe/sorting_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/sorting_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:sorting_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:sorting_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json index 64fdee0926..454ce4c4fd 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:acacia_log" - }, + "ingredient": "minecraft:acacia_log", "result": { "count": 1, "id": "twilightforest:hollow_acacia_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json index a0458354e4..c36e191cdc 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:birch_log" - }, + "ingredient": "minecraft:birch_log", "result": { "count": 1, "id": "twilightforest:hollow_birch_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json index 23f4916e61..e66a5a89e0 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:bold_castle_brick_pillar" - }, + "ingredient": "twilightforest:bold_castle_brick_pillar", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json index 4462bb2651..58276a6755 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:bold_castle_brick_pillar" - }, + "ingredient": "twilightforest:bold_castle_brick_pillar", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json index a536cae85d..4a07bc9387 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:bold_castle_brick_tile" - }, + "ingredient": "twilightforest:bold_castle_brick_tile", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json index 98c8bdaf77..ff16d56082 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:bold_castle_brick_tile" - }, + "ingredient": "twilightforest:bold_castle_brick_tile", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json index 297cee9905..8041770aab 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:canopy_log" - }, + "ingredient": "twilightforest:canopy_log", "result": { "count": 1, "id": "twilightforest:hollow_canopy_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json index 5880fbd6bb..275df50121 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json index a1b901fc0f..a81750d462 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json index a56b52beb7..5b9a87d3c3 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json index 81fbe8583c..d82774c214 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json index 462243aabc..10a787b258 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:castle_roof_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json index 00d603e73b..6d4ed55705 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json index 0cca0696db..63848ba987 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json index dce842c2ae..3398e840e4 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json index 32bad2440a..6ea6469855 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:thick_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json index 4ed13ce809..bf4a359b41 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:worn_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json index 87a301a863..55729da71c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:castle_brick" - }, + "ingredient": "twilightforest:castle_brick", "result": { "count": 1, "id": "twilightforest:worn_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json index af982891e6..2435477611 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:cherry_log" - }, + "ingredient": "minecraft:cherry_log", "result": { "count": 1, "id": "twilightforest:hollow_cherry_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json index bc4577bbbf..cc4142d5b9 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_castle_brick" - }, + "ingredient": "twilightforest:cracked_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json index 077274f1bc..7a6eef6385 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_castle_brick" - }, + "ingredient": "twilightforest:cracked_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json index d676e3b0ae..86e7ad7959 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_castle_brick" - }, + "ingredient": "twilightforest:cracked_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json index 74e4dd245b..eaa83efed7 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_castle_brick" - }, + "ingredient": "twilightforest:cracked_castle_brick", "result": { "count": 1, "id": "twilightforest:cracked_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json index 9ce11e0fc3..b8d022567c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_castle_brick" - }, + "ingredient": "twilightforest:cracked_castle_brick", "result": { "count": 1, "id": "twilightforest:thick_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json index b398bcc5db..126b6066e0 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_etched_nagastone" - }, + "ingredient": "twilightforest:cracked_etched_nagastone", "result": { "count": 1, "id": "twilightforest:cracked_nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json index f255617223..d942c67f8a 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_etched_nagastone" - }, + "ingredient": "twilightforest:cracked_etched_nagastone", "result": { "count": 1, "id": "twilightforest:cracked_nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json index 9f05cc790d..2177811b14 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_nagastone_stairs_left" - }, + "ingredient": "twilightforest:cracked_nagastone_stairs_left", "result": { "count": 1, "id": "twilightforest:cracked_nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json index 88c58ad9c1..f45023a8d3 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cracked_nagastone_stairs_right" - }, + "ingredient": "twilightforest:cracked_nagastone_stairs_right", "result": { "count": 1, "id": "twilightforest:cracked_nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json index 74b0d7da2c..0b7cb9c624 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:crimson_stem" - }, + "ingredient": "minecraft:crimson_stem", "result": { "count": 1, "id": "twilightforest:hollow_crimson_stem" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json index ec2a336e86..ae564fb67f 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cut_mazestone" - }, + "ingredient": "twilightforest:cut_mazestone", "result": { "count": 1, "id": "twilightforest:decorative_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json index c35fdb167c..25c3af78eb 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cut_mazestone" - }, + "ingredient": "twilightforest:cut_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_border" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json index ca960bf657..6ad30b897e 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cut_mazestone" - }, + "ingredient": "twilightforest:cut_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json index 4f683d5e75..f3e72fb0fb 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:cut_mazestone" - }, + "ingredient": "twilightforest:cut_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_mosaic" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json index 8c3c059369..dc78eed8ea 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:dark_log" - }, + "ingredient": "twilightforest:dark_log", "result": { "count": 1, "id": "twilightforest:encased_towerwood" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json index 933891ecbd..db9f096537 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:dark_log" - }, + "ingredient": "twilightforest:dark_log", "result": { "count": 1, "id": "twilightforest:hollow_dark_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/towerwood.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/towerwood.json index c00adce215..8635520f4b 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_log/towerwood.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:dark_log" - }, + "ingredient": "twilightforest:dark_log", "result": { "count": 1, "id": "twilightforest:towerwood" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json index 0b32abecc1..74a0ce98a8 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:dark_oak_log" - }, + "ingredient": "minecraft:dark_oak_log", "result": { "count": 1, "id": "twilightforest:hollow_dark_oak_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json index 38108d2714..d20ea4a811 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:dark_wood" - }, + "ingredient": "twilightforest:dark_wood", "result": { "count": 1, "id": "twilightforest:encased_towerwood" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json index 318c2892f3..8babaa3514 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:dark_wood" - }, + "ingredient": "twilightforest:dark_wood", "result": { "count": 1, "id": "twilightforest:towerwood" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json index 920760f843..c72edb47e3 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:decorative_mazestone" - }, + "ingredient": "twilightforest:decorative_mazestone", "result": { "count": 1, "id": "twilightforest:cut_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json index aecbfa9347..a7373ba26d 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:decorative_mazestone" - }, + "ingredient": "twilightforest:decorative_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_border" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json index 7e23501561..305ab3c429 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:decorative_mazestone" - }, + "ingredient": "twilightforest:decorative_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json index 9b8b647f01..37ad87bee0 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:decorative_mazestone" - }, + "ingredient": "twilightforest:decorative_mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_mosaic" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json index f1e99a1d14..9f09b8dd31 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_pillar" - }, + "ingredient": "twilightforest:encased_castle_brick_pillar", "result": { "count": 1, "id": "twilightforest:castle_roof_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json index e143fc67c1..2b351ad5ed 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_pillar" - }, + "ingredient": "twilightforest:encased_castle_brick_pillar", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json index 0048bf8686..c028d5512c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_pillar" - }, + "ingredient": "twilightforest:encased_castle_brick_pillar", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json index 34b370442f..cdebd82b42 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_tile" - }, + "ingredient": "twilightforest:encased_castle_brick_tile", "result": { "count": 1, "id": "twilightforest:castle_roof_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json index 862eaa2a71..585f0ee48c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_tile" - }, + "ingredient": "twilightforest:encased_castle_brick_tile", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json index 522dc0faee..82dc52b9b7 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:encased_castle_brick_tile" - }, + "ingredient": "twilightforest:encased_castle_brick_tile", "result": { "count": 1, "id": "twilightforest:encased_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json index bc722ba121..cc25a63787 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:etched_nagastone" - }, + "ingredient": "twilightforest:etched_nagastone", "result": { "count": 1, "id": "twilightforest:nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json index fc39f30b1c..3e667bc55f 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:etched_nagastone" - }, + "ingredient": "twilightforest:etched_nagastone", "result": { "count": 1, "id": "twilightforest:nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json index ae52bf559d..b8e1d408cd 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:jungle_log" - }, + "ingredient": "minecraft:jungle_log", "result": { "count": 1, "id": "twilightforest:hollow_jungle_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json index 268d9e8203..b7f8e193e3 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mangrove_log" - }, + "ingredient": "twilightforest:mangrove_log", "result": { "count": 1, "id": "twilightforest:hollow_mangrove_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json index cf455de0f6..34de5188ff 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:mangrove_log" - }, + "ingredient": "minecraft:mangrove_log", "result": { "count": 1, "id": "twilightforest:hollow_vangrove_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json index 8544f11cce..aedc006bfb 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone" - }, + "ingredient": "twilightforest:mazestone", "result": { "count": 1, "id": "twilightforest:cut_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json index 05b120dfda..09687bed95 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone" - }, + "ingredient": "twilightforest:mazestone", "result": { "count": 1, "id": "twilightforest:decorative_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json index 4fcec2d18f..5dbb34c85b 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone" - }, + "ingredient": "twilightforest:mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_border" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json index 203b0b0b16..7abfcd5294 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone" - }, + "ingredient": "twilightforest:mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json index 2b7508c588..949b88a53b 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone" - }, + "ingredient": "twilightforest:mazestone", "result": { "count": 1, "id": "twilightforest:mazestone_mosaic" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json index fed7053783..4567f61b32 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_border" - }, + "ingredient": "twilightforest:mazestone_border", "result": { "count": 1, "id": "twilightforest:cut_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json index 8119d47726..f8dfc2cb97 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_border" - }, + "ingredient": "twilightforest:mazestone_border", "result": { "count": 1, "id": "twilightforest:decorative_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json index 746439838a..26f53b8a3a 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_border" - }, + "ingredient": "twilightforest:mazestone_border", "result": { "count": 1, "id": "twilightforest:mazestone_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json index 58f87a0a9e..6e60f1b592 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_border" - }, + "ingredient": "twilightforest:mazestone_border", "result": { "count": 1, "id": "twilightforest:mazestone_mosaic" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json index 24a759f6a6..9276ae3607 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_brick" - }, + "ingredient": "twilightforest:mazestone_brick", "result": { "count": 1, "id": "twilightforest:cut_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json index 4666fddecc..fa2b0256dc 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_brick" - }, + "ingredient": "twilightforest:mazestone_brick", "result": { "count": 1, "id": "twilightforest:decorative_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json index a4f131e71e..a81d07c75f 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_brick" - }, + "ingredient": "twilightforest:mazestone_brick", "result": { "count": 1, "id": "twilightforest:mazestone_border" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json index a9d770e8f6..233fc4e531 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_brick" - }, + "ingredient": "twilightforest:mazestone_brick", "result": { "count": 1, "id": "twilightforest:mazestone_mosaic" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json index 6761b2ddc0..948ddbe36a 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_mosaic" - }, + "ingredient": "twilightforest:mazestone_mosaic", "result": { "count": 1, "id": "twilightforest:cut_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json index f991bce147..b7d3baf62a 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_mosaic" - }, + "ingredient": "twilightforest:mazestone_mosaic", "result": { "count": 1, "id": "twilightforest:decorative_mazestone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json index cca1ad0fca..bbf0500352 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_mosaic" - }, + "ingredient": "twilightforest:mazestone_mosaic", "result": { "count": 1, "id": "twilightforest:mazestone_border" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json index 24f0927bf8..877ceb8add 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mazestone_mosaic" - }, + "ingredient": "twilightforest:mazestone_mosaic", "result": { "count": 1, "id": "twilightforest:mazestone_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json index bed3867dd9..6ea36d6d75 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mining_log" - }, + "ingredient": "twilightforest:mining_log", "result": { "count": 1, "id": "twilightforest:hollow_mining_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json index f33d358ad9..99a0101dcc 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_castle_brick" - }, + "ingredient": "twilightforest:mossy_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json index fa03236cc8..3724e1d91d 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_castle_brick" - }, + "ingredient": "twilightforest:mossy_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json index ebfcafeba2..b5862cb306 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_castle_brick" - }, + "ingredient": "twilightforest:mossy_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json index a49fa046cb..cf2fa491b8 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_castle_brick" - }, + "ingredient": "twilightforest:mossy_castle_brick", "result": { "count": 1, "id": "twilightforest:mossy_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json index c1a7814fc6..830f4cd376 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_castle_brick" - }, + "ingredient": "twilightforest:mossy_castle_brick", "result": { "count": 1, "id": "twilightforest:thick_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json index badb8aef49..9a49c2f3c1 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_etched_nagastone" - }, + "ingredient": "twilightforest:mossy_etched_nagastone", "result": { "count": 1, "id": "twilightforest:mossy_nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json index 93bbed6562..b17643cedb 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_etched_nagastone" - }, + "ingredient": "twilightforest:mossy_etched_nagastone", "result": { "count": 1, "id": "twilightforest:mossy_nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json index 2445260e16..7e3bd93bc3 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_nagastone_stairs_left" - }, + "ingredient": "twilightforest:mossy_nagastone_stairs_left", "result": { "count": 1, "id": "twilightforest:mossy_nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json index 0be660c299..f34df41b79 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:mossy_nagastone_stairs_right" - }, + "ingredient": "twilightforest:mossy_nagastone_stairs_right", "result": { "count": 1, "id": "twilightforest:mossy_nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json index 9fa101772a..3497eb455c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:nagastone_stairs_left" - }, + "ingredient": "twilightforest:nagastone_stairs_left", "result": { "count": 1, "id": "twilightforest:nagastone_stairs_right" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json index 25bf231cd2..27abd8d94c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:nagastone_stairs_right" - }, + "ingredient": "twilightforest:nagastone_stairs_right", "result": { "count": 1, "id": "twilightforest:nagastone_stairs_left" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json index 4c11786edf..2d6b59a138 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:oak_log" - }, + "ingredient": "minecraft:oak_log", "result": { "count": 1, "id": "twilightforest:hollow_oak_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json index 7877ab7609..363f22fd94 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:sorting_log" - }, + "ingredient": "twilightforest:sorting_log", "result": { "count": 1, "id": "twilightforest:hollow_sorting_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json index c07d0a4c4a..303d4a86bf 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:spruce_log" - }, + "ingredient": "minecraft:spruce_log", "result": { "count": 1, "id": "twilightforest:hollow_spruce_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json index 6665ab4b47..a7b983ed2c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:bold_stone_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json index fba87db65c..e481a7dc22 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:spiral_bricks" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone.json index e33b8c83fb..ed64730822 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:twisted_stone" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json index dd381c7e60..63ce8e32a0 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:twisted_stone_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json index ec9ef68931..1219732be5 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:thick_castle_brick" - }, + "ingredient": "twilightforest:thick_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json index b32d934530..2c38156cb6 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:thick_castle_brick" - }, + "ingredient": "twilightforest:thick_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json index 391b10d0ee..5c018671c1 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:thick_castle_brick" - }, + "ingredient": "twilightforest:thick_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json index 400ff7d817..ccc00bfa87 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:time_log" - }, + "ingredient": "twilightforest:time_log", "result": { "count": 1, "id": "twilightforest:hollow_time_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json index 2860a03f65..22ff5bfd81 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:transformation_log" - }, + "ingredient": "twilightforest:transformation_log", "result": { "count": 1, "id": "twilightforest:hollow_transformation_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json index 1d681dac11..b374a7ee49 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:twilight_oak_log" - }, + "ingredient": "twilightforest:twilight_oak_log", "result": { "count": 1, "id": "twilightforest:hollow_twilight_oak_log" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json index eee2d002f8..5e25059a91 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:twisted_stone" - }, + "ingredient": "twilightforest:twisted_stone", "result": { "count": 1, "id": "twilightforest:twisted_stone_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json index a8d5bbf12a..2381619f49 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:underbrick" - }, + "ingredient": "twilightforest:underbrick", "result": { "count": 1, "id": "twilightforest:underbrick_floor" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json index cbeff8c280..f46ea7403c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:warped_stem" - }, + "ingredient": "minecraft:warped_stem", "result": { "count": 1, "id": "twilightforest:hollow_warped_stem" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json index 4db3d0ebc5..ed15b57214 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:worn_castle_brick" - }, + "ingredient": "twilightforest:worn_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_pillar" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json index 87e3117799..1dec8dc708 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:worn_castle_brick" - }, + "ingredient": "twilightforest:worn_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json index 2983963dcf..597a1f0dca 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:worn_castle_brick" - }, + "ingredient": "twilightforest:worn_castle_brick", "result": { "count": 1, "id": "twilightforest:bold_castle_brick_tile" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json index a96300698f..c84cf6fb08 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:worn_castle_brick" - }, + "ingredient": "twilightforest:worn_castle_brick", "result": { "count": 1, "id": "twilightforest:thick_castle_brick" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json index 2f76995812..d29abaffe8 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:worn_castle_brick" - }, + "ingredient": "twilightforest:worn_castle_brick", "result": { "count": 1, "id": "twilightforest:worn_castle_brick_stairs" diff --git a/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json b/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json index 33b358561d..b3ec568479 100644 --- a/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json +++ b/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "m": { - "item": "twilightforest:moss_patch" - }, - "t": { - "item": "twilightforest:transformation_powder" - } + "m": "twilightforest:moss_patch", + "t": "twilightforest:transformation_powder" }, "pattern": [ "mmm", diff --git a/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json b/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json index 3f70addd6a..2cbcfd508b 100644 --- a/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json +++ b/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:huge_lily_pad" - }, - { - "item": "twilightforest:transformation_powder" - } + "twilightforest:huge_lily_pad", + "twilightforest:transformation_powder" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/thorn_rose_to_red.json b/src/generated/resources/data/twilightforest/recipe/thorn_rose_to_red.json index 757ad40c72..506ccf9dfa 100644 --- a/src/generated/resources/data/twilightforest/recipe/thorn_rose_to_red.json +++ b/src/generated/resources/data/twilightforest/recipe/thorn_rose_to_red.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:thorn_rose" - } + "twilightforest:thorn_rose" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/time_boat.json b/src/generated/resources/data/twilightforest/recipe/time_boat.json index ea5111e3f9..28a6db1c0d 100644 --- a/src/generated/resources/data/twilightforest/recipe/time_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/time_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:time_planks" - } + "P": "twilightforest:time_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/time_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/time_chest_boat.json index ed17ff9ba3..fed4db0c7c 100644 --- a/src/generated/resources/data/twilightforest/recipe/time_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/time_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:time_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:time_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/transformation_boat.json b/src/generated/resources/data/twilightforest/recipe/transformation_boat.json index 0c0f8bec39..164f49c15e 100644 --- a/src/generated/resources/data/twilightforest/recipe/transformation_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/transformation_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:transformation_planks" - } + "P": "twilightforest:transformation_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/transformation_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/transformation_chest_boat.json index bc2fe1d747..9bbd568869 100644 --- a/src/generated/resources/data/twilightforest/recipe/transformation_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/transformation_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:transformation_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:transformation_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/twilight_oak_boat.json b/src/generated/resources/data/twilightforest/recipe/twilight_oak_boat.json index c84802ef2f..74877bf9e2 100644 --- a/src/generated/resources/data/twilightforest/recipe/twilight_oak_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/twilight_oak_boat.json @@ -3,9 +3,7 @@ "category": "misc", "group": "boat", "key": { - "P": { - "item": "twilightforest:twilight_oak_planks" - } + "P": "twilightforest:twilight_oak_planks" }, "pattern": [ "P P", diff --git a/src/generated/resources/data/twilightforest/recipe/twilight_oak_chest_boat.json b/src/generated/resources/data/twilightforest/recipe/twilight_oak_chest_boat.json index 286e372462..108e18d6bb 100644 --- a/src/generated/resources/data/twilightforest/recipe/twilight_oak_chest_boat.json +++ b/src/generated/resources/data/twilightforest/recipe/twilight_oak_chest_boat.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest_boat", "ingredients": [ - { - "item": "twilightforest:twilight_oak_boat" - }, - { - "tag": "c:chests/wooden" - } + "twilightforest:twilight_oak_boat", + "#c:chests/wooden" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/uncrafting/tipped_arrow.json b/src/generated/resources/data/twilightforest/recipe/uncrafting/tipped_arrow.json index b6d010ecb0..76d4aa9f7d 100644 --- a/src/generated/resources/data/twilightforest/recipe/uncrafting/tipped_arrow.json +++ b/src/generated/resources/data/twilightforest/recipe/uncrafting/tipped_arrow.json @@ -1,14 +1,10 @@ { "type": "twilightforest:uncrafting", "cost": 4, - "input": { - "item": "minecraft:tipped_arrow" - }, + "input": "minecraft:tipped_arrow", "input_count": 8, "key": { - "A": { - "item": "minecraft:arrow" - } + "A": "minecraft:arrow" }, "pattern": [ "AAA", diff --git a/src/generated/resources/data/twilightforest/recipe/uncrafting/written_book.json b/src/generated/resources/data/twilightforest/recipe/uncrafting/written_book.json index 0d62c57423..c0b670e65a 100644 --- a/src/generated/resources/data/twilightforest/recipe/uncrafting/written_book.json +++ b/src/generated/resources/data/twilightforest/recipe/uncrafting/written_book.json @@ -1,13 +1,9 @@ { "type": "twilightforest:uncrafting", "cost": 0, - "input": { - "item": "minecraft:written_book" - }, + "input": "minecraft:written_book", "key": { - "B": { - "item": "minecraft:book" - } + "B": "minecraft:book" }, "pattern": [ "B" diff --git a/src/generated/resources/data/twilightforest/recipe/uncrafting_table.json b/src/generated/resources/data/twilightforest/recipe/uncrafting_table.json index ea39e0a599..64c02aa62c 100644 --- a/src/generated/resources/data/twilightforest/recipe/uncrafting_table.json +++ b/src/generated/resources/data/twilightforest/recipe/uncrafting_table.json @@ -7,12 +7,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "item": "minecraft:crafting_table" - }, - "X": { - "item": "twilightforest:maze_map_focus" - } + "#": "minecraft:crafting_table", + "X": "twilightforest:maze_map_focus" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/ur_ghast_banner_pattern.json b/src/generated/resources/data/twilightforest/recipe/ur_ghast_banner_pattern.json index 6e491afb8d..2727895935 100644 --- a/src/generated/resources/data/twilightforest/recipe/ur_ghast_banner_pattern.json +++ b/src/generated/resources/data/twilightforest/recipe/ur_ghast_banner_pattern.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "tag": "c:paper" - }, - { - "item": "twilightforest:ur_ghast_trophy" - } + "#c:paper", + "twilightforest:ur_ghast_trophy" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_lilypad.json b/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_lilypad.json index d9545c15ce..3cc24a6bbd 100644 --- a/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_lilypad.json +++ b/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_lilypad.json @@ -2,21 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "minecraft:lily_pad" - }, - { - "item": "minecraft:lily_pad" - }, - { - "item": "minecraft:lily_pad" - }, - { - "item": "minecraft:lily_pad" - }, - { - "item": "twilightforest:transformation_powder" - } + "minecraft:lily_pad", + "minecraft:lily_pad", + "minecraft:lily_pad", + "minecraft:lily_pad", + "twilightforest:transformation_powder" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_moss.json b/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_moss.json index 7671b7d053..6201dc8611 100644 --- a/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_moss.json +++ b/src/generated/resources/data/twilightforest/recipe/vanilla_to_tf_moss.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "minecraft:moss_block" - }, - { - "item": "twilightforest:transformation_powder" - } + "minecraft:moss_block", + "twilightforest:transformation_powder" ], "result": { "count": 8, diff --git a/src/generated/resources/data/twilightforest/recipe/vanishing_block.json b/src/generated/resources/data/twilightforest/recipe/vanishing_block.json index f9b2d59f44..bd5187f178 100644 --- a/src/generated/resources/data/twilightforest/recipe/vanishing_block.json +++ b/src/generated/resources/data/twilightforest/recipe/vanishing_block.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "redstone", "key": { - "#": { - "item": "twilightforest:encased_towerwood" - }, - "6": { - "tag": "c:gems/carminite" - }, - "w": { - "tag": "twilightforest:towerwood" - } + "#": "twilightforest:encased_towerwood", + "6": "#c:gems/carminite", + "w": "#twilightforest:towerwood" }, "pattern": [ "#w#", diff --git a/src/generated/resources/data/twilightforest/recipe/waterlily_to_magenta.json b/src/generated/resources/data/twilightforest/recipe/waterlily_to_magenta.json index 5533082bd5..0a25c9feeb 100644 --- a/src/generated/resources/data/twilightforest/recipe/waterlily_to_magenta.json +++ b/src/generated/resources/data/twilightforest/recipe/waterlily_to_magenta.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "twilightforest:huge_water_lily" - } + "twilightforest:huge_water_lily" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/acacia_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/acacia_banister.json index e19cfe391e..9ec71ebc39 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/acacia_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/acacia_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:acacia_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:acacia_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/aurora_slab_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/aurora_slab_slab.json index a76a78555e..aeeb95d13a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/aurora_slab_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/aurora_slab_slab.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:aurora_block" - } + "#": "twilightforest:aurora_block" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/bamboo_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/bamboo_banister.json index 2ac158acf7..7ff6815257 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/bamboo_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/bamboo_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:bamboo_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:bamboo_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/birch_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/birch_banister.json index f690c0a51e..c401126edf 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/birch_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/birch_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:birch_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:birch_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_banister.json index f1eef1fac5..7f73df661b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:canopy_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:canopy_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_button.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_button.json index b4838f6bc5..d473c0107e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:canopy_planks" - } + "twilightforest:canopy_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json index 75f410dcf7..708c15d6eb 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:canopy_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:canopy_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_door.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_door.json index b3180fb02c..add3aa1162 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:canopy_planks" - } + "#": "twilightforest:canopy_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_fence.json index 8c679f5740..ba9a70323a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:canopy_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:canopy_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_gate.json index 405a029d05..9d56c83185 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:canopy_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:canopy_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_hanging_sign.json index 2a94d9a195..c80d2ee6da 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_canopy_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_canopy_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_planks.json index baee899488..bb9aba8eed 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:canopy_logs" - } + "#twilightforest:canopy_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_plate.json index fb37069d2c..6e930a2544 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:canopy_planks" - } + "#": "twilightforest:canopy_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_sign.json index fa43acfde6..8fc141cc5f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:canopy_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:canopy_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_slab.json index 655fc07637..03e05ee217 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:canopy_planks" - } + "#": "twilightforest:canopy_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_stairs.json index 38d2b854fc..fb615bd1a6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:canopy_planks" - } + "#": "twilightforest:canopy_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_stripped_wood.json index 068dff37b5..a85623c4b3 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_canopy_log" - } + "#": "twilightforest:stripped_canopy_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapdoor.json index 01c984aba0..fc543f1a25 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:canopy_planks" - } + "#": "twilightforest:canopy_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json index e4d3527a1e..7e47795ef3 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:canopy_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:canopy_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_wood.json index 90b4a805cb..b25489ea7d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:canopy_log" - } + "#": "twilightforest:canopy_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/cherry_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/cherry_banister.json index 12dd4c137d..577d12a232 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/cherry_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/cherry_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:cherry_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:cherry_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/crimson_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/crimson_banister.json index 92d08c8958..42bcf50bdf 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/crimson_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/crimson_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:crimson_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:crimson_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_banister.json index b17d67546b..3b60ac5842 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:dark_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:dark_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_button.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_button.json index 9312d803f1..dc70840b36 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:dark_planks" - } + "twilightforest:dark_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json index df61d5f1cf..e6b2449ec1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:dark_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:dark_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_door.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_door.json index f717baa596..a38bca1da9 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:dark_planks" - } + "#": "twilightforest:dark_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_fence.json index 29a38a6a3e..e41bdc30dd 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:dark_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:dark_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_gate.json index 57f877eee2..c36ae7cf87 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:dark_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:dark_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_hanging_sign.json index f09941e8c8..6939f6c8e7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_dark_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_dark_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_oak_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_oak_banister.json index d6da7f1c71..6c81cd7f6a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_oak_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_oak_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:dark_oak_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:dark_oak_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_planks.json index f1f10a5007..11eb06e847 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:darkwood_logs" - } + "#twilightforest:darkwood_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_plate.json index 6d577a44dc..c430c589ad 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:dark_planks" - } + "#": "twilightforest:dark_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_sign.json index 01fb1e1cc6..148ad4eed9 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:dark_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:dark_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_slab.json index d46d3d6d23..22d0b5b59c 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:dark_planks" - } + "#": "twilightforest:dark_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_stairs.json index 854f447297..98f8c4b746 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:dark_planks" - } + "#": "twilightforest:dark_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_stripped_wood.json index 41dc7326de..e967de85a8 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_dark_log" - } + "#": "twilightforest:stripped_dark_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapdoor.json index e45689ed77..5461a49ba6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:dark_planks" - } + "#": "twilightforest:dark_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json index 1cdbe32d31..8aea7639c1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:dark_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:dark_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_wood.json index baa2ef3145..cf2ae5293d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:dark_log" - } + "#": "twilightforest:dark_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/jungle_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/jungle_banister.json index fe6fe80069..793246259f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/jungle_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/jungle_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:jungle_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:jungle_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_banister.json index 27137146b1..dc4246229e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:mangrove_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:mangrove_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_button.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_button.json index 6ebfa449dc..79150d132f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:mangrove_planks" - } + "twilightforest:mangrove_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json index 055183433d..39f332933f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:mangrove_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_door.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_door.json index 656fd3327c..844822f8e1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - } + "#": "twilightforest:mangrove_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_fence.json index 8aeaa86dee..c0d265ddfb 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mangrove_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_gate.json index 6f65c53367..120ef4be0a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mangrove_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_hanging_sign.json index c9a90efc3a..3697aa39ab 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_mangrove_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_mangrove_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_planks.json index d88d78b392..8c6a99d5c8 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:mangrove_logs" - } + "#twilightforest:mangrove_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_plate.json index 31470430df..8d7a62fc15 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - } + "#": "twilightforest:mangrove_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_sign.json index a8b1f6fedd..3d0fa7b563 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mangrove_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_slab.json index d28d8ed8fd..3ecb250152 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - } + "#": "twilightforest:mangrove_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stairs.json index ca16dfc949..f54a36d8a4 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - } + "#": "twilightforest:mangrove_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stripped_wood.json index 40782d27e5..6dc983d141 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_mangrove_log" - } + "#": "twilightforest:stripped_mangrove_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapdoor.json index 2ec08cfe32..8b7f6b7ec6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - } + "#": "twilightforest:mangrove_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json index 2c919bc646..7a38c22175 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:mangrove_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:mangrove_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_wood.json index 3c95b1447e..4fe6ccad29 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:mangrove_log" - } + "#": "twilightforest:mangrove_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_banister.json index f7efbc720e..18201f1d54 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:mining_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:mining_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_button.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_button.json index 12c27d261e..15739b6752 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:mining_planks" - } + "twilightforest:mining_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json index e73f74cbbd..5b8bd9bea3 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:mining_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:mining_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_door.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_door.json index ce7390c2d7..ff9223c916 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:mining_planks" - } + "#": "twilightforest:mining_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_fence.json index a2c24083dd..41a7950e36 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:mining_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mining_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_gate.json index 515dda5a62..e0befe46b7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:mining_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mining_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_hanging_sign.json index 6e8a5fabaf..39e2de8da6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_mining_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_mining_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_planks.json index 08b4a227e4..f616f4606a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:mining_logs" - } + "#twilightforest:mining_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_plate.json index 477d670631..5ece49454d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:mining_planks" - } + "#": "twilightforest:mining_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_sign.json index 4a0f763784..c278d6333e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:mining_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:mining_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_slab.json index de55ba7b3a..d3d785878a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:mining_planks" - } + "#": "twilightforest:mining_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_stairs.json index 56c00b606c..24d724f9a7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:mining_planks" - } + "#": "twilightforest:mining_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_stripped_wood.json index d29711b6f5..246cc40da1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_mining_log" - } + "#": "twilightforest:stripped_mining_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapdoor.json index 0ddf1090d4..bbf0322b9c 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:mining_planks" - } + "#": "twilightforest:mining_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json index 16222cd272..a1a48dacc7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:mining_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:mining_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_wood.json index 2b3bc09aea..8917cb03f1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:mining_log" - } + "#": "twilightforest:mining_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mossy_towerwood.json b/src/generated/resources/data/twilightforest/recipe/wood/mossy_towerwood.json index 1f10b32c92..aec7bc773b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mossy_towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mossy_towerwood.json @@ -2,16 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "building", "ingredients": [ - { - "item": "twilightforest:towerwood" - }, + "twilightforest:towerwood", [ - { - "item": "minecraft:vine" - }, - { - "item": "minecraft:moss_block" - } + "minecraft:vine", + "minecraft:moss_block" ] ], "result": { diff --git a/src/generated/resources/data/twilightforest/recipe/wood/oak_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/oak_banister.json index 8dfa5cfc21..4ed4f5f686 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/oak_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/oak_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:oak_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:oak_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/smoked_cracked_towerwood.json b/src/generated/resources/data/twilightforest/recipe/wood/smoked_cracked_towerwood.json index 3f404bc43c..c5a08368c1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/smoked_cracked_towerwood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/smoked_cracked_towerwood.json @@ -3,9 +3,7 @@ "category": "food", "cookingtime": 100, "experience": 0.1, - "ingredient": { - "item": "twilightforest:towerwood" - }, + "ingredient": "twilightforest:towerwood", "result": { "count": 1, "id": "twilightforest:cracked_towerwood" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_banister.json index 5d30a07f96..a119e57d28 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:sorting_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:sorting_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_button.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_button.json index ace5cb8f18..7271e13dde 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:sorting_planks" - } + "twilightforest:sorting_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json index c48610eee0..bdeb36b34f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:sorting_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:sorting_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_door.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_door.json index b8ed3e57a1..bf085a6497 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:sorting_planks" - } + "#": "twilightforest:sorting_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_fence.json index e34edd7953..956631e494 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:sorting_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:sorting_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_gate.json index c6e5c001b1..032459d27a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:sorting_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:sorting_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_hanging_sign.json index 47f4d4e26f..105e53790b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_sorting_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_sorting_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_planks.json index b5aee42a0b..f3098a62f6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:sortwood_logs" - } + "#twilightforest:sortwood_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_plate.json index 8d0056f383..83885bb3fd 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:sorting_planks" - } + "#": "twilightforest:sorting_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_sign.json index b1dd88b9e6..078256a634 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:sorting_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:sorting_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_slab.json index 7ceddaedcb..f67b02c8bc 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:sorting_planks" - } + "#": "twilightforest:sorting_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_stairs.json index 4953fb2f8f..ae7681c775 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:sorting_planks" - } + "#": "twilightforest:sorting_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_stripped_wood.json index 9769439db1..386b2219ca 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_sorting_log" - } + "#": "twilightforest:stripped_sorting_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapdoor.json index 83e73b934e..ae46dabcd6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:sorting_planks" - } + "#": "twilightforest:sorting_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json index 44ba26ba50..7d704078c1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:sorting_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:sorting_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_wood.json index a98845d262..584ae28a2e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:sorting_log" - } + "#": "twilightforest:sorting_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/spruce_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/spruce_banister.json index 5db6cb9a8c..e935d3e88d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/spruce_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/spruce_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:spruce_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:spruce_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/time_banister.json index 0b7b34a347..086ffa419e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:time_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:time_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_button.json b/src/generated/resources/data/twilightforest/recipe/wood/time_button.json index 76acbe9b82..a5bffae075 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:time_planks" - } + "twilightforest:time_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json index 26e98f04e6..b457286616 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:time_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:time_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_door.json b/src/generated/resources/data/twilightforest/recipe/wood/time_door.json index 198992bfb7..0d119f6ea1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:time_planks" - } + "#": "twilightforest:time_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/time_fence.json index 83c6ec72b2..cb88cbc90d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:time_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:time_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/time_gate.json index 96d03949e0..af3936d32d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:time_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:time_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/time_hanging_sign.json index ec794f9644..3ea625e0df 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_time_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_time_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/time_planks.json index 578f2b9e7b..397aef5e4f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:timewood_logs" - } + "#twilightforest:timewood_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/time_plate.json index a87b57b807..be5617905a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:time_planks" - } + "#": "twilightforest:time_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/time_sign.json index 95124a8ca6..c4b381bada 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:time_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:time_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/time_slab.json index 65de8adc79..ec3b7d0c94 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:time_planks" - } + "#": "twilightforest:time_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/time_stairs.json index 4031b91951..e004706c1b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:time_planks" - } + "#": "twilightforest:time_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/time_stripped_wood.json index 007a5779d0..006a8d37bf 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_time_log" - } + "#": "twilightforest:stripped_time_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/time_trapdoor.json index 6025afcb39..e495f487ff 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:time_planks" - } + "#": "twilightforest:time_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json index 0cba9a2100..6d61f0b7b1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:time_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:time_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/time_wood.json index 008310bd9c..3a2750ddba 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:time_log" - } + "#": "twilightforest:time_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_banister.json index 5968cbfed7..89fb93c916 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:transformation_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:transformation_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_button.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_button.json index 98d299bce1..89fc565119 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:transformation_planks" - } + "twilightforest:transformation_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json index 2a4b86d953..4737ed3cee 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:transformation_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:transformation_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_door.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_door.json index bd4133fb9b..e5c869cabc 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:transformation_planks" - } + "#": "twilightforest:transformation_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_fence.json index 4c7a6933a7..bfd7aea564 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:transformation_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:transformation_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_gate.json index a66134b503..76df358b7e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:transformation_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:transformation_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_hanging_sign.json index 4992efd8b7..5a481a1d52 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_transformation_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_transformation_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_planks.json index bc82c43ebd..fad8567449 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:transwood_logs" - } + "#twilightforest:transwood_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_plate.json index 7b037027b1..0326007158 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:transformation_planks" - } + "#": "twilightforest:transformation_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_sign.json index eb0e79fd6d..3f24a5150b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:transformation_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:transformation_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_slab.json index 951df386c0..fe8d0d9a33 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:transformation_planks" - } + "#": "twilightforest:transformation_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_stairs.json index f0d76c6144..9ec899631b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:transformation_planks" - } + "#": "twilightforest:transformation_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_stripped_wood.json index f6e1c6f9b6..07962b401d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_transformation_log" - } + "#": "twilightforest:stripped_transformation_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapdoor.json index 31a25f0990..1167d62cca 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:transformation_planks" - } + "#": "twilightforest:transformation_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json index 7736bae807..a218f51228 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:transformation_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:transformation_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_wood.json index 79bbb1d70f..a6a8f6545c 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:transformation_log" - } + "#": "twilightforest:transformation_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_banister.json index 049ae67c60..50d922b163 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "twilightforest:twilight_oak_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "twilightforest:twilight_oak_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_button.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_button.json index d9865228de..dd1ab933cd 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_button.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_button.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_button", "ingredients": [ - { - "item": "twilightforest:twilight_oak_planks" - } + "twilightforest:twilight_oak_planks" ], "result": { "count": 1, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json index 1bafab823b..0f07a2f797 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json @@ -3,12 +3,8 @@ "category": "misc", "group": "chest", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - }, - "C": { - "item": "minecraft:chest" - } + "#": "twilightforest:twilight_oak_planks", + "C": "minecraft:chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_door.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_door.json index 9ef02167fd..b56ff3eec7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_door.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_door.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_door", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - } + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_fence.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_fence.json index 4e5128beb8..ebe63e6b16 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_fence.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_fence", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:twilight_oak_planks", + "S": "#c:rods/wooden" }, "pattern": [ "#S#", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_gate.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_gate.json index 0ef668324f..7474a2d62b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_gate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_gate.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "wooden_fence_gate", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - }, - "S": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:twilight_oak_planks", + "S": "#c:rods/wooden" }, "pattern": [ "S#S", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json index d8be8123ed..55b4c010df 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "hanging_sign", "key": { - "#": { - "item": "twilightforest:stripped_twilight_oak_log" - }, - "|": { - "item": "minecraft:chain" - } + "#": "twilightforest:stripped_twilight_oak_log", + "|": "minecraft:chain" }, "pattern": [ "| |", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_planks.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_planks.json index 29e655e5ae..3725484136 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_planks.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_planks.json @@ -3,9 +3,7 @@ "category": "building", "group": "planks", "ingredients": [ - { - "tag": "twilightforest:twilight_oak_logs" - } + "#twilightforest:twilight_oak_logs" ], "result": { "count": 4, diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_plate.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_plate.json index d8c7118461..d53266f2ab 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_plate.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_plate.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_pressure_plate", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - } + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "##" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_sign.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_sign.json index 7e72d2da0e..fa6404a07e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_sign.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_sign.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_sign", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - }, - "-": { - "tag": "c:rods/wooden" - } + "#": "twilightforest:twilight_oak_planks", + "-": "#c:rods/wooden" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_slab.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_slab.json index b3b154029c..94f0328d20 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_slab.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_slab.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_slab", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - } + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "###" diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stairs.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stairs.json index 7290baf50a..ffafdb0458 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stairs.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stairs.json @@ -3,9 +3,7 @@ "category": "building", "group": "wooden_stairs", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - } + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "# ", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json index f98547d57f..f829c07a61 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "item": "twilightforest:stripped_twilight_oak_log" - } + "#": "twilightforest:stripped_twilight_oak_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapdoor.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapdoor.json index df4e033b39..0b07d8f42e 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapdoor.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapdoor.json @@ -3,9 +3,7 @@ "category": "redstone", "group": "wooden_trapdoor", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - } + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json index ed382d106a..51d26817a8 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json @@ -3,12 +3,8 @@ "category": "redstone", "group": "trapped_chest", "key": { - "#": { - "item": "twilightforest:twilight_oak_planks" - }, - "C": { - "item": "minecraft:trapped_chest" - } + "#": "twilightforest:twilight_oak_planks", + "C": "minecraft:trapped_chest" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_wood.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_wood.json index 11c0662bd6..058b97648a 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_wood.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_wood.json @@ -3,9 +3,7 @@ "category": "building", "group": "bark", "key": { - "#": { - "item": "twilightforest:twilight_oak_log" - } + "#": "twilightforest:twilight_oak_log" }, "pattern": [ "##", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/vangrove_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/vangrove_banister.json index f67bc4aced..da1f8cc3ff 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/vangrove_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/vangrove_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:mangrove_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:mangrove_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/recipe/wood/warped_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/warped_banister.json index ce56296351..f027bfea94 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/warped_banister.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/warped_banister.json @@ -3,12 +3,8 @@ "category": "misc", "group": "wooden_banister", "key": { - "-": { - "item": "minecraft:warped_slab" - }, - "|": { - "tag": "c:rods/wooden" - } + "-": "minecraft:warped_slab", + "|": "#c:rods/wooden" }, "pattern": [ "---", diff --git a/src/generated/resources/data/twilightforest/twilight/quests/questing_ram.json b/src/generated/resources/data/twilightforest/twilight/quests/questing_ram.json index 505bdda2a4..becaefcae8 100644 --- a/src/generated/resources/data/twilightforest/twilight/quests/questing_ram.json +++ b/src/generated/resources/data/twilightforest/twilight/quests/questing_ram.json @@ -1,53 +1,21 @@ { "items": { - "black": { - "item": "minecraft:black_wool" - }, - "blue": { - "item": "minecraft:blue_wool" - }, - "brown": { - "item": "minecraft:brown_wool" - }, - "cyan": { - "item": "minecraft:cyan_wool" - }, - "gray": { - "item": "minecraft:gray_wool" - }, - "green": { - "item": "minecraft:green_wool" - }, - "light_blue": { - "item": "minecraft:light_blue_wool" - }, - "light_gray": { - "item": "minecraft:light_gray_wool" - }, - "lime": { - "item": "minecraft:lime_wool" - }, - "magenta": { - "item": "minecraft:magenta_wool" - }, - "orange": { - "item": "minecraft:orange_wool" - }, - "pink": { - "item": "minecraft:pink_wool" - }, - "purple": { - "item": "minecraft:purple_wool" - }, - "red": { - "item": "minecraft:red_wool" - }, - "white": { - "item": "minecraft:white_wool" - }, - "yellow": { - "item": "minecraft:yellow_wool" - } + "black": "minecraft:black_wool", + "blue": "minecraft:blue_wool", + "brown": "minecraft:brown_wool", + "cyan": "minecraft:cyan_wool", + "gray": "minecraft:gray_wool", + "green": "minecraft:green_wool", + "light_blue": "minecraft:light_blue_wool", + "light_gray": "minecraft:light_gray_wool", + "lime": "minecraft:lime_wool", + "magenta": "minecraft:magenta_wool", + "orange": "minecraft:orange_wool", + "pink": "minecraft:pink_wool", + "purple": "minecraft:purple_wool", + "red": "minecraft:red_wool", + "white": "minecraft:white_wool", + "yellow": "minecraft:yellow_wool" }, "reward": "twilightforest:entities/questing_ram_rewards" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json b/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json index d4bb44bc37..63b985dbe6 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.4, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json index 9033b6d9c3..998c9775d3 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.05, "downfall": 0.8, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json index 7b71040327..497321cd12 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "downfall": 0.5, "effects": { "fog_color": 4796416, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json index 3929caae53..9bd743ecc8 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.8, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json index bc20f995c4..35d7a82838 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 1.0, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json index 3f5fd1ad42..f5d504879e 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.5, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json b/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json index be22e435dc..59749c2b19 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json @@ -1,5 +1,5 @@ { - "carvers": {}, + "carvers": [], "creature_spawn_probability": 0.3, "downfall": 0.2, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json b/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json index 19db9887c8..57de195a53 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "downfall": 0.4, "effects": { "fog_color": 3672576, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json index 8958ad720a..50ac9f4c09 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 1.0, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/forest.json index 16a18a7466..0573b62100 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.5, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json b/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json index fa50c71d15..e3705b5fed 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.1, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json b/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json index a50f1f8b10..cad14db905 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:highland_caves" - }, + "carvers": "twilightforest:highland_caves", "creature_spawn_probability": 0.15, "downfall": 0.7, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json b/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json index 0167a0357c..94ca7d77e5 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:highland_caves" - }, + "carvers": "twilightforest:highland_caves", "downfall": 0.0, "effects": { "fog_color": 12648408, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/lake.json b/src/generated/resources/data/twilightforest/worldgen/biome/lake.json index 9013a18dd9..ade155b62f 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/lake.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/lake.json @@ -1,5 +1,5 @@ { - "carvers": {}, + "carvers": [], "creature_spawn_probability": 0.15, "downfall": 1.0, "effects": { @@ -42,8 +42,7 @@ [], [], [ - "minecraft:seagrass_deep", - "minecraft:seagrass_simple" + "minecraft:seagrass_deep" ], [ "minecraft:freeze_top_layer" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json index c5f872450f..c989c3c7bf 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.8, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json b/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json index a4877426d6..c9f6d9601c 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.15, "downfall": 0.0, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json index d61d55ac0c..fe5c6a7adf 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "creature_spawn_probability": 0.05, "downfall": 0.9, "effects": { diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json index 0264abb045..fad7159ba2 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "downfall": 1.0, "effects": { "fog_color": 8549265, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/stream.json b/src/generated/resources/data/twilightforest/worldgen/biome/stream.json index 7dc337b418..27e16e4e0d 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/stream.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/stream.json @@ -1,5 +1,5 @@ { - "carvers": {}, + "carvers": [], "creature_spawn_probability": 0.15, "downfall": 0.1, "effects": { @@ -42,8 +42,7 @@ [], [], [ - "minecraft:seagrass_normal", - "minecraft:seagrass_simple" + "minecraft:seagrass_normal" ], [ "minecraft:freeze_top_layer" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json b/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json index 25b0d47e33..e69ca3687a 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "downfall": 0.9, "effects": { "fog_color": 16161, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json b/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json index 259645b861..de598a39c1 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json @@ -1,5 +1,5 @@ { - "carvers": {}, + "carvers": [], "downfall": 0.2, "effects": { "fog_color": 12648408, diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/underground.json b/src/generated/resources/data/twilightforest/worldgen/biome/underground.json index 339bbf0d60..89c3b4a233 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/underground.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/underground.json @@ -1,7 +1,5 @@ { - "carvers": { - "air": "twilightforest:tf_caves" - }, + "carvers": "twilightforest:tf_caves", "downfall": 0.0, "effects": { "fog_color": 12648408, diff --git a/src/generated/resources/data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json b/src/generated/resources/data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json index 7bfdd232b3..a069b80684 100644 --- a/src/generated/resources/data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json +++ b/src/generated/resources/data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json @@ -18,7 +18,7 @@ "occupies_surface": true, "occupies_underground": false, "occupies_vegetation": false, - "structures_allowed": "twilightforest:lich_tower" + "structures_allowed": [] }, { "type": "minecraft:block_predicate_filter", diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json b/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json index fad944315e..4f84bfa60d 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json @@ -43,7 +43,7 @@ "labelled_monster_spawns": { "0": [ { - "type": "twilightforest:blockchain_goblin", + "type": "twilightforest:block_and_chain_goblin", "maxCount": 2, "minCount": 1, "weight": 10 diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta index f43b01346d..8b1538dc2f 100644 --- a/src/generated/resources/pack.mcmeta +++ b/src/generated/resources/pack.mcmeta @@ -1,7 +1,7 @@ { "pack": { "description": "Resources for Twilight Forest", - "pack_format": 48, + "pack_format": 57, "supported_formats": [ 0, 2147483647 diff --git a/src/main/java/twilightforest/data/EntityLootTables.java b/src/main/java/twilightforest/data/EntityLootTables.java index 0de771a582..8676143845 100644 --- a/src/main/java/twilightforest/data/EntityLootTables.java +++ b/src/main/java/twilightforest/data/EntityLootTables.java @@ -43,13 +43,10 @@ public void generate() { add(TFEntities.ADHERENT.get(), emptyLootTable()); add(TFEntities.LICH_MINION.get(), emptyLootTable()); add(TFEntities.LOYAL_ZOMBIE.get(), emptyLootTable()); - //haha no loot for you - add(TFEntities.PLATEAU_BOSS.get(), emptyLootTable()); add(TFEntities.HARBINGER_CUBE.get(), emptyLootTable()); add(TFEntities.MOSQUITO_SWARM.get(), emptyLootTable()); add(TFEntities.PINCH_BEETLE.get(), emptyLootTable()); add(TFEntities.QUEST_RAM.get(), emptyLootTable()); - add(TFEntities.ROVING_CUBE.get(), emptyLootTable()); add(TFEntities.SQUIRREL.get(), emptyLootTable()); add(TFEntities.DWARF_RABBIT.get(), fromEntityLootTable(EntityType.RABBIT)); add(TFEntities.HEDGE_SPIDER.get(), fromEntityLootTable(EntityType.SPIDER)); diff --git a/src/main/java/twilightforest/data/ItemModelGenerator.java b/src/main/java/twilightforest/data/ItemModelGenerator.java index c7f70fe11b..5ded9b92a9 100644 --- a/src/main/java/twilightforest/data/ItemModelGenerator.java +++ b/src/main/java/twilightforest/data/ItemModelGenerator.java @@ -1,6 +1,7 @@ package twilightforest.data; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.data.models.ItemModelGenerators; @@ -505,10 +506,10 @@ protected void registerModels() { singleTex(TFItems.LIVEROOT); singleTex(TFItems.RAW_IRONWOOD); singleTex(TFItems.IRONWOOD_INGOT); - trimmedArmor(TFItems.IRONWOOD_HELMET); - trimmedArmor(TFItems.IRONWOOD_CHESTPLATE); - trimmedArmor(TFItems.IRONWOOD_LEGGINGS); - trimmedArmor(TFItems.IRONWOOD_BOOTS); + trimmedArmor(TFItems.IRONWOOD_HELMET, "helmet"); + trimmedArmor(TFItems.IRONWOOD_CHESTPLATE, "chestplate"); + trimmedArmor(TFItems.IRONWOOD_LEGGINGS, "leggings"); + trimmedArmor(TFItems.IRONWOOD_BOOTS, "boots"); singleTexTool(TFItems.IRONWOOD_SWORD); singleTexTool(TFItems.IRONWOOD_PICKAXE); singleTexTool(TFItems.IRONWOOD_AXE); @@ -521,17 +522,17 @@ protected void registerModels() { singleTex(TFItems.FIERY_BLOOD); singleTex(TFItems.FIERY_TEARS); singleTexFullbright(TFItems.FIERY_INGOT); - trimmedFullbrightArmor(TFItems.FIERY_HELMET); - trimmedFullbrightArmor(TFItems.FIERY_CHESTPLATE); - trimmedFullbrightArmor(TFItems.FIERY_LEGGINGS); - trimmedFullbrightArmor(TFItems.FIERY_BOOTS); + trimmedFullbrightArmor(TFItems.FIERY_HELMET, "helmet"); + trimmedFullbrightArmor(TFItems.FIERY_CHESTPLATE, "chestplate"); + trimmedFullbrightArmor(TFItems.FIERY_LEGGINGS, "leggings"); + trimmedFullbrightArmor(TFItems.FIERY_BOOTS, "boots"); singleTexFullbrightTool(TFItems.FIERY_SWORD); singleTexFullbrightTool(TFItems.FIERY_PICKAXE); singleTex(TFItems.STEELEAF_INGOT); - trimmedArmor(TFItems.STEELEAF_HELMET); - trimmedArmor(TFItems.STEELEAF_CHESTPLATE); - trimmedArmor(TFItems.STEELEAF_LEGGINGS); - trimmedArmor(TFItems.STEELEAF_BOOTS); + trimmedArmor(TFItems.STEELEAF_HELMET, "helmet"); + trimmedArmor(TFItems.STEELEAF_CHESTPLATE, "chestplate"); + trimmedArmor(TFItems.STEELEAF_LEGGINGS, "leggings"); + trimmedArmor(TFItems.STEELEAF_BOOTS, "boots"); singleTexTool(TFItems.STEELEAF_SWORD); singleTexTool(TFItems.STEELEAF_PICKAXE); singleTexTool(TFItems.STEELEAF_AXE); @@ -567,16 +568,16 @@ protected void registerModels() { singleTex(TFItems.ARMOR_SHARD); singleTex(TFItems.ARMOR_SHARD_CLUSTER); singleTex(TFItems.KNIGHTMETAL_INGOT); - trimmedArmor(TFItems.KNIGHTMETAL_HELMET); - trimmedArmor(TFItems.KNIGHTMETAL_CHESTPLATE); - trimmedArmor(TFItems.KNIGHTMETAL_LEGGINGS); - trimmedArmor(TFItems.KNIGHTMETAL_BOOTS); + trimmedArmor(TFItems.KNIGHTMETAL_HELMET, "helmet"); + trimmedArmor(TFItems.KNIGHTMETAL_CHESTPLATE, "chestplate"); + trimmedArmor(TFItems.KNIGHTMETAL_LEGGINGS, "leggings"); + trimmedArmor(TFItems.KNIGHTMETAL_BOOTS, "boots"); singleTexTool(TFItems.KNIGHTMETAL_SWORD); singleTexTool(TFItems.KNIGHTMETAL_PICKAXE); singleTexTool(TFItems.KNIGHTMETAL_AXE); singleTex(TFItems.KNIGHTMETAL_RING); - trimmedArmor(TFItems.PHANTOM_HELMET); - trimmedArmor(TFItems.PHANTOM_CHESTPLATE); + trimmedArmor(TFItems.PHANTOM_HELMET, "helmet"); + trimmedArmor(TFItems.PHANTOM_CHESTPLATE, "chestplate"); lamp(TFItems.LAMP_OF_CINDERS); singleTex(TFItems.POCKET_WATCH); singleTex(TFItems.EMPERORS_CLOTH); @@ -585,15 +586,15 @@ protected void registerModels() { singleTex(TFItems.ALPHA_YETI_FUR); //yeti helmets cant be trimmed singleTex(TFItems.YETI_HELMET); - trimmedArmor(TFItems.YETI_CHESTPLATE); - trimmedArmor(TFItems.YETI_LEGGINGS); - trimmedArmor(TFItems.YETI_BOOTS); + trimmedArmor(TFItems.YETI_CHESTPLATE, "chestplate"); + trimmedArmor(TFItems.YETI_LEGGINGS, "leggings"); + trimmedArmor(TFItems.YETI_BOOTS, "boots"); singleTex(TFItems.ICE_BOMB); singleTex(TFItems.ARCTIC_FUR); - trimmedLayeredArmor(TFItems.ARCTIC_HELMET); - trimmedLayeredArmor(TFItems.ARCTIC_CHESTPLATE); - trimmedLayeredArmor(TFItems.ARCTIC_LEGGINGS); - trimmedLayeredArmor(TFItems.ARCTIC_BOOTS); + trimmedLayeredArmor(TFItems.ARCTIC_HELMET, "helmet"); + trimmedLayeredArmor(TFItems.ARCTIC_CHESTPLATE, "chestplate"); + trimmedLayeredArmor(TFItems.ARCTIC_LEGGINGS, "leggings"); + trimmedLayeredArmor(TFItems.ARCTIC_BOOTS, "boots"); singleTex(TFItems.MAGIC_BEANS); ModelFile triplePulling0 = bowItem("triple_bow_pulling_0", prefix("item/triple_bow_pulling_0")); ModelFile triplePulling1 = bowItem("triple_bow_pulling_1", prefix("item/triple_bow_pulling_1")); @@ -872,24 +873,24 @@ private void toGiantItemModel(DeferredHolder item, ResourceLocation .perspective(ItemDisplayContext.GUI, gui.texture("all", parent)).end(); } - private ItemModelBuilder trimmedArmor(DeferredItem armor) { + private ItemModelBuilder trimmedArmor(DeferredItem armor, String slotKey) { ItemModelBuilder base = this.singleTex(armor); for (ItemModelGenerators.TrimModelData trim : ItemModelGenerators.GENERATED_TRIM_MODELS) { String material = trim.name(); String name = armor.getId().getPath() + "_" + material + "_trim"; ModelFile trimModel = this.withExistingParent(name, this.mcLoc("item/generated")) .texture("layer0", prefix("item/" + armor.getId().getPath())) - .texture("layer1", this.mcLoc("trims/items/" + armor.get().getEquipmentSlot(armor.toStack()).getName() + "_trim_" + material)); + .texture("layer1", this.mcLoc("trims/items/" + slotKey + "_trim_" + material)); base.override().predicate(ResourceLocation.withDefaultNamespace("trim_type"), trim.itemModelIndex()).model(trimModel).end(); } return base; } - private void trimmedFullbrightArmor(DeferredItem armor) { - this.trimmedArmor(armor).customLoader(ItemLayerModelBuilder::begin).emissive(15, 15, 0).renderType("minecraft:translucent", 0).end(); + private void trimmedFullbrightArmor(DeferredItem armor, String slotKey) { + this.trimmedArmor(armor, slotKey).customLoader(ItemLayerModelBuilder::begin).emissive(15, 15, 0).renderType("minecraft:translucent", 0).end(); } - private void trimmedLayeredArmor(DeferredItem armor) { + private void trimmedLayeredArmor(DeferredItem armor, String slotKey) { ItemModelBuilder base = this.generated(armor.getId().getPath(), prefix("item/" + armor.getId().getPath()), prefix("item/" + armor.getId().getPath() + "_0")); for (ItemModelGenerators.TrimModelData trim : ItemModelGenerators.GENERATED_TRIM_MODELS) { String material = trim.name(); @@ -897,7 +898,7 @@ private void trimmedLayeredArmor(DeferredItem armor) { ModelFile trimModel = this.withExistingParent(name, this.mcLoc("item/generated")) .texture("layer0", prefix("item/" + armor.getId().getPath())) .texture("layer1", prefix("item/" + armor.getId().getPath() + "_0")) - .texture("layer2", this.mcLoc("trims/items/" + armor.get().getEquipmentSlot(armor.toStack()).getName() + "_trim_" + material)); + .texture("layer2", this.mcLoc("trims/items/" + slotKey + "_trim_" + material)); base.override().predicate(ResourceLocation.withDefaultNamespace("trim_type"), trim.itemModelIndex()).model(trimModel).end(); } } diff --git a/src/main/java/twilightforest/data/LangGenerator.java b/src/main/java/twilightforest/data/LangGenerator.java index 0fc5568e8c..a7481f6f3e 100644 --- a/src/main/java/twilightforest/data/LangGenerator.java +++ b/src/main/java/twilightforest/data/LangGenerator.java @@ -455,18 +455,12 @@ protected void addTranslations() { this.addBannerPattern("quest_ram", "Questing Ram Swirls"); this.addBlock(TFBlocks.ZOMBIE_SKULL_CANDLE, "Zombie Skull Candle"); - this.addBlock(TFBlocks.ZOMBIE_WALL_SKULL_CANDLE, "Zombie Wall Skull Candle"); this.addBlock(TFBlocks.SKELETON_SKULL_CANDLE, "Skeleton Skull Candle"); - this.addBlock(TFBlocks.SKELETON_WALL_SKULL_CANDLE, "Skeleton Wall Skull Candle"); this.addBlock(TFBlocks.WITHER_SKELE_SKULL_CANDLE, "Wither Skeleton Skull Candle"); - this.addBlock(TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE, "Wither Skeleton Wall Skull Candle"); this.addBlock(TFBlocks.CREEPER_SKULL_CANDLE, "Creeper Skull Candle"); - this.addBlock(TFBlocks.CREEPER_WALL_SKULL_CANDLE, "Creeper Wall Skull Candle"); this.addBlock(TFBlocks.PLAYER_SKULL_CANDLE, "Player Skull Candle"); this.add("block.twilightforest.player_skull_candle.named", "%s's Head with Candles"); - this.addBlock(TFBlocks.PLAYER_WALL_SKULL_CANDLE, "Player Wall Skull Candle"); this.addBlock(TFBlocks.PIGLIN_SKULL_CANDLE, "Piglin Skull Candle"); - this.addBlock(TFBlocks.PIGLIN_WALL_SKULL_CANDLE, "Piglin Wall Skull Candle"); this.addBlock(TFBlocks.UNCRAFTING_TABLE, "Uncrafting Table"); this.add("block.twilightforest.uncrafting_table.disabled", "This block has been disabled."); diff --git a/src/main/java/twilightforest/data/helpers/TFLangProvider.java b/src/main/java/twilightforest/data/helpers/TFLangProvider.java index 76645dc03d..4646b94d78 100644 --- a/src/main/java/twilightforest/data/helpers/TFLangProvider.java +++ b/src/main/java/twilightforest/data/helpers/TFLangProvider.java @@ -85,14 +85,12 @@ public void createWoodSet(String woodPrefix, String woodName) { this.add("block.twilightforest." + woodPrefix + "_trapdoor", woodName + " Trapdoor"); this.add("block.twilightforest." + woodPrefix + "_door", woodName + " Door"); this.add("block.twilightforest." + woodPrefix + "_sign", woodName + " Sign"); - this.add("block.twilightforest." + woodPrefix + "_wall_sign", woodName + " Wall Sign"); this.add("block.twilightforest." + woodPrefix + "_banister", woodName + " Banister"); this.add("block.twilightforest." + woodPrefix + "_chest", woodName + " Chest"); this.add("block.twilightforest." + woodPrefix + "_trapped_chest", "Trapped " + woodName + " Chest"); this.add("item.twilightforest." + woodPrefix + "_boat", woodName + " Boat"); this.add("item.twilightforest." + woodPrefix + "_chest_boat", woodName + " Chest Boat"); this.add("block.twilightforest." + woodPrefix + "_hanging_sign", woodName + " Hanging Sign"); - this.add("block.twilightforest." + woodPrefix + "_wall_hanging_sign", woodName + " Wall Hanging Sign"); } public void addBannerPattern(String patternPrefix, String patternName) { diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java index 3451b49abb..1c5dcb3e64 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java +++ b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java @@ -514,10 +514,10 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p charmRecipe(getter, "charm_of_keeping_3", TFItems.CHARM_OF_KEEPING_3, TFItems.CHARM_OF_KEEPING_2); charmRecipe(getter, "charm_of_life_2", TFItems.CHARM_OF_LIFE_2, TFItems.CHARM_OF_LIFE_1); - SpecialRecipeBuilder.special(MoonwormQueenRepairRecipe::new).save(this.output, this.createKey("moonworm_queen_repair_recipe").toString()); - SpecialRecipeBuilder.special(MagicMapCloningRecipe::new).save(this.output, this.createKey("magic_map_cloning_recipe").toString()); - SpecialRecipeBuilder.special(MazeMapCloningRecipe::new).save(this.output, this.createKey("maze_map_cloning_recipe").toString()); - SpecialRecipeBuilder.special(EmperorsClothRecipe::new).save(this.output, this.createKey("emperors_cloth_recipe").toString()); + SpecialRecipeBuilder.special(MoonwormQueenRepairRecipe::new).save(this.output, this.createKey("moonworm_queen_repair_recipe")); + SpecialRecipeBuilder.special(MagicMapCloningRecipe::new).save(this.output, this.createKey("magic_map_cloning_recipe")); + SpecialRecipeBuilder.special(MazeMapCloningRecipe::new).save(this.output, this.createKey("maze_map_cloning_recipe")); + SpecialRecipeBuilder.special(EmperorsClothRecipe::new).save(this.output, this.createKey("emperors_cloth_recipe")); NoSmithingTemplateRecipeBuilder .noTemplate(Ingredient.of(getter.getOrThrow(Tags.Items.ARMORS)), Ingredient.of(TFItems.EMPERORS_CLOTH.get()), RecipeCategory.MISC) @@ -907,24 +907,24 @@ private void fieryConversions(HolderGetter getter) { } private void cookingRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF.get()), RecipeCategory.FOOD, TFItems.COOKED_MEEF.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF.get())).save(this.output, this.createKey("food/" + processName + "_meef").toString()); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON.get()), RecipeCategory.FOOD, TFItems.COOKED_VENISON.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON.get())).save(this.output, this.createKey("food/" + processName + "_venison").toString()); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF.get()), RecipeCategory.FOOD, TFItems.COOKED_MEEF.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF.get())).save(this.output, this.createKey("food/" + processName + "_meef")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON.get()), RecipeCategory.FOOD, TFItems.COOKED_VENISON.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON.get())).save(this.output, this.createKey("food/" + processName + "_venison")); } private void ingotRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER.get()), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER.get())).group("knightmetal_ingot").save(this.output, this.createKey("material/" + processName + "_knightmetal_ingot").toString()); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD.get()), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD.get())).group("ironwood_ingot").save(this.output, this.createKey("material/" + processName + "_ironwood_ingot").toString()); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER.get()), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER.get())).group("knightmetal_ingot").save(this.output, this.createKey("material/" + processName + "_knightmetal_ingot")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD.get()), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD.get())).group("ironwood_ingot").save(this.output, this.createKey("material/" + processName + "_ironwood_ingot")); } private void crackedWoodRecipes() { - SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD.get(), 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())).save(this.output, this.createKey("wood/" + "smoked" + "_cracked_towerwood").toString()); + SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD.get(), 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())).save(this.output, this.createKey("wood/" + "smoked" + "_cracked_towerwood")); } private void crackedStoneRecipes() { - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_nagastone_pillar").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_etched_nagastone").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())).save(this.output, this.createKey("maze_stone/" + "smelted" + "_maze_stone_cracked").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())).save(this.output, this.createKey("castleblock/" + "smelted" + "_cracked_castle_brick").toString()); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())).save(this.output, this.createKey("smelted" + "_cracked_underbrick").toString()); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_nagastone_pillar")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_etched_nagastone")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())).save(this.output, this.createKey("maze_stone/" + "smelted" + "_maze_stone_cracked")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())).save(this.output, this.createKey("castleblock/" + "smelted" + "_cracked_castle_brick")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())).save(this.output, this.createKey("smelted" + "_cracked_underbrick")); } } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index a7200c2ffb..443d761916 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -95,17 +95,17 @@ public class TFBlocks { public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); public static final DeferredBlock ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_HEAD)); - public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = register("zombie_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ZOMBIE_WALL_HEAD)); + public static final DeferredBlock ZOMBIE_WALL_SKULL_CANDLE = register("zombie_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.ZOMBIE, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(ZOMBIE_SKULL_CANDLE.get().getLootTable()).overrideDescription(ZOMBIE_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_SKULL)); - public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = register("skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SKELETON_WALL_SKULL)); + public static final DeferredBlock SKELETON_WALL_SKULL_CANDLE = register("skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.SKELETON, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(SKELETON_SKULL_CANDLE.get().getLootTable()).overrideDescription(SKELETON_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock WITHER_SKELE_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_SKULL)); - public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = register("wither_skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WITHER_SKELETON_WALL_SKULL)); + public static final DeferredBlock WITHER_SKELE_WALL_SKULL_CANDLE = register("wither_skeleton_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.WITHER_SKELETON, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(WITHER_SKELE_SKULL_CANDLE.get().getLootTable()).overrideDescription(WITHER_SKELE_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.CREEPER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_HEAD)); - public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = register("creeper_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CREEPER_WALL_HEAD)); + public static final DeferredBlock CREEPER_WALL_SKULL_CANDLE = register("creeper_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.CREEPER, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(CREEPER_SKULL_CANDLE.get().getLootTable()).overrideDescription(CREEPER_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PLAYER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_HEAD)); - public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = register("player_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PLAYER_WALL_HEAD)); + public static final DeferredBlock PLAYER_WALL_SKULL_CANDLE = register("player_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PLAYER, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(PLAYER_SKULL_CANDLE.get().getLootTable()).overrideDescription(PLAYER_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleBlock(SkullBlock.Types.PIGLIN, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_HEAD)); - public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = register("piglin_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PIGLIN_WALL_HEAD)); + public static final DeferredBlock PIGLIN_WALL_SKULL_CANDLE = register("piglin_wall_skull_candle", properties -> new WallSkullCandleBlock(SkullBlock.Types.PIGLIN, properties), () -> BlockBehaviour.Properties.of().strength(1.0F).pushReaction(PushReaction.DESTROY).overrideLootTable(PIGLIN_SKULL_CANDLE.get().getLootTable()).overrideDescription(PIGLIN_SKULL_CANDLE.get().getDescriptionId())); public static final DeferredBlock WROUGHT_IRON_FENCE = registerWroughtFence("wrought_iron_fence", WroughtIronFenceBlock::new, () -> BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(SoundType.METAL).requiresCorrectToolForDrops().noOcclusion()); public static final DeferredBlock TERRORCOTTA_ARCS = registerWithItem("terrorcotta_arcs", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); public static final DeferredBlock TERRORCOTTA_CURVES = registerWithItem("terrorcotta_curves", GlazedTerracottaBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).instrument(NoteBlockInstrument.BASEDRUM).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); @@ -266,15 +266,15 @@ public class TFBlocks { public static final DeferredBlock MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyBlock(BossVariant.MINOSHROOM, 7, properties), () -> BlockBehaviour.Properties.of().instabreak()); public static final DeferredBlock ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyBlock(BossVariant.ALPHA_YETI, 9, properties), () -> BlockBehaviour.Properties.of().instabreak()); public static final DeferredBlock QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyBlock(BossVariant.QUEST_RAM, 1, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock NAGA_WALL_TROPHY = register("naga_wall_trophy", properties -> new TrophyWallBlock(BossVariant.NAGA, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock LICH_WALL_TROPHY = register("lich_wall_trophy", properties -> new TrophyWallBlock(BossVariant.LICH, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock HYDRA_WALL_TROPHY = register("hydra_wall_trophy", properties -> new TrophyWallBlock(BossVariant.HYDRA, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock UR_GHAST_WALL_TROPHY = register("ur_ghast_wall_trophy", properties -> new TrophyWallBlock(BossVariant.UR_GHAST, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = register("knight_phantom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = register("snow_queen_wall_trophy", properties -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock MINOSHROOM_WALL_TROPHY = register("minoshroom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.MINOSHROOM, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = register("alpha_yeti_wall_trophy", properties -> new TrophyWallBlock(BossVariant.ALPHA_YETI, properties), () -> BlockBehaviour.Properties.of().instabreak()); - public static final DeferredBlock QUEST_RAM_WALL_TROPHY = register("quest_ram_wall_trophy", properties -> new TrophyWallBlock(BossVariant.QUEST_RAM, properties), () -> BlockBehaviour.Properties.of().instabreak()); + public static final DeferredBlock NAGA_WALL_TROPHY = register("naga_wall_trophy", properties -> new TrophyWallBlock(BossVariant.NAGA, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(NAGA_TROPHY.get().getLootTable()).overrideDescription(NAGA_TROPHY.get().getDescriptionId())); + public static final DeferredBlock LICH_WALL_TROPHY = register("lich_wall_trophy", properties -> new TrophyWallBlock(BossVariant.LICH, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(LICH_TROPHY.get().getLootTable()).overrideDescription(LICH_TROPHY.get().getDescriptionId())); + public static final DeferredBlock HYDRA_WALL_TROPHY = register("hydra_wall_trophy", properties -> new TrophyWallBlock(BossVariant.HYDRA, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(HYDRA_TROPHY.get().getLootTable()).overrideDescription(HYDRA_TROPHY.get().getDescriptionId())); + public static final DeferredBlock UR_GHAST_WALL_TROPHY = register("ur_ghast_wall_trophy", properties -> new TrophyWallBlock(BossVariant.UR_GHAST, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(UR_GHAST_TROPHY.get().getLootTable()).overrideDescription(UR_GHAST_TROPHY.get().getDescriptionId())); + public static final DeferredBlock KNIGHT_PHANTOM_WALL_TROPHY = register("knight_phantom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.KNIGHT_PHANTOM, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(KNIGHT_PHANTOM_TROPHY.get().getLootTable()).overrideDescription(KNIGHT_PHANTOM_TROPHY.get().getDescriptionId())); + public static final DeferredBlock SNOW_QUEEN_WALL_TROPHY = register("snow_queen_wall_trophy", properties -> new TrophyWallBlock(BossVariant.SNOW_QUEEN, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(SNOW_QUEEN_TROPHY.get().getLootTable()).overrideDescription(SNOW_QUEEN_TROPHY.get().getDescriptionId())); + public static final DeferredBlock MINOSHROOM_WALL_TROPHY = register("minoshroom_wall_trophy", properties -> new TrophyWallBlock(BossVariant.MINOSHROOM, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(MINOSHROOM_TROPHY.get().getLootTable()).overrideDescription(MINOSHROOM_TROPHY.get().getDescriptionId())); + public static final DeferredBlock ALPHA_YETI_WALL_TROPHY = register("alpha_yeti_wall_trophy", properties -> new TrophyWallBlock(BossVariant.ALPHA_YETI, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(ALPHA_YETI_TROPHY.get().getLootTable()).overrideDescription(ALPHA_YETI_TROPHY.get().getDescriptionId())); + public static final DeferredBlock QUEST_RAM_WALL_TROPHY = register("quest_ram_wall_trophy", properties -> new TrophyWallBlock(BossVariant.QUEST_RAM, properties), () -> BlockBehaviour.Properties.of().instabreak().pushReaction(PushReaction.DESTROY).overrideLootTable(QUEST_RAM_TROPHY.get().getLootTable()).overrideDescription(QUEST_RAM_TROPHY.get().getDescriptionId())); // TODO Enumify all of the dang tree stuff @@ -455,9 +455,9 @@ public class TFBlocks { public static final DeferredBlock TWILIGHT_OAK_DOOR = registerDoubleBlockItem("twilight_oak_door", properties -> new DoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); public static final DeferredBlock TWILIGHT_OAK_TRAPDOOR = registerWithItem("twilight_oak_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TWILIGHT_OAK_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new StandingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); - public static final DeferredBlock TWILIGHT_WALL_SIGN = register("twilight_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission()); + public static final DeferredBlock TWILIGHT_WALL_SIGN = register("twilight_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(3.0F).noOcclusion().noCollission().overrideLootTable(TWILIGHT_OAK_SIGN.get().getLootTable()).overrideDescription(TWILIGHT_OAK_SIGN.get().getDescriptionId())); public static final DeferredBlock TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = register("twilight_oak_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TWILIGHT_OAK_WALL_HANGING_SIGN = register("twilight_oak_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TWILIGHT_OAK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(TWILIGHT_OAK_HANGING_SIGN.get().getLootTable()).overrideDescription(TWILIGHT_OAK_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock TWILIGHT_OAK_BANISTER = registerWithItem("twilight_oak_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get())); public static final DeferredBlock CANOPY_PLANKS = registerWithItem("canopy_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -470,10 +470,10 @@ public class TFBlocks { public static final DeferredBlock CANOPY_DOOR = registerDoubleBlockItem("canopy_door", properties -> new DoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock CANOPY_TRAPDOOR = registerWithItem("canopy_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.CANOPY_WOOD_SET, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); public static final DeferredBlock CANOPY_SIGN = register("canopy_sign", properties -> new StandingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock CANOPY_WALL_SIGN = register("canopy_wall_sign", properties -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock CANOPY_WALL_SIGN = register("canopy_wall_sign", properties -> new WallSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(CANOPY_SIGN.get().getLootTable()).overrideDescription(CANOPY_SIGN.get().getDescriptionId())); public static final DeferredBlock CANOPY_BOOKSHELF = registerWithItem("canopy_bookshelf", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).strength(1.5F)); public static final DeferredBlock CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = register("canopy_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock CANOPY_WALL_HANGING_SIGN = register("canopy_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.CANOPY_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(CANOPY_HANGING_SIGN.get().getLootTable()).overrideDescription(CANOPY_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock CANOPY_BANISTER = registerWithItem("canopy_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(CANOPY_PLANKS.get())); public static final DeferredBlock MANGROVE_PLANKS = registerWithItem("mangrove_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -486,9 +486,9 @@ public class TFBlocks { public static final DeferredBlock MANGROVE_DOOR = registerDoubleBlockItem("mangrove_door", properties -> new DoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock MANGROVE_TRAPDOOR = registerWithItem("mangrove_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MANGROVE_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock MANGROVE_SIGN = register("mangrove_sign", properties -> new StandingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MANGROVE_WALL_SIGN = register("mangrove_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MANGROVE_WALL_SIGN = register("mangrove_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(MANGROVE_SIGN.get().getLootTable()).overrideDescription(MANGROVE_SIGN.get().getDescriptionId())); public static final DeferredBlock MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = register("mangrove_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MANGROVE_WALL_HANGING_SIGN = register("mangrove_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MANGROVE_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(MANGROVE_HANGING_SIGN.get().getLootTable()).overrideDescription(MANGROVE_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock MANGROVE_BANISTER = registerWithItem("mangrove_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MANGROVE_PLANKS.get())); public static final DeferredBlock DARK_PLANKS = registerWithItem("dark_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -501,9 +501,9 @@ public class TFBlocks { public static final DeferredBlock DARK_DOOR = registerDoubleBlockItem("dark_door", properties -> new DoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); public static final DeferredBlock DARK_TRAPDOOR = registerWithItem("dark_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.DARK_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock DARK_SIGN = register("dark_sign", properties -> new StandingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock DARK_WALL_SIGN = register("dark_wall_sign", properties -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock DARK_WALL_SIGN = register("dark_wall_sign", properties -> new WallSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(DARK_SIGN.get().getLootTable()).overrideDescription(DARK_SIGN.get().getDescriptionId())); public static final DeferredBlock DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock DARK_WALL_HANGING_SIGN = register("dark_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock DARK_WALL_HANGING_SIGN = register("dark_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.DARK_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(DARK_HANGING_SIGN.get().getLootTable()).overrideDescription(DARK_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock DARK_BANISTER = registerWithItem("dark_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(DARK_PLANKS.get())); public static final DeferredBlock TIME_PLANKS = registerWithItem("time_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -516,9 +516,9 @@ public class TFBlocks { public static final DeferredBlock TIME_DOOR = registerDoubleBlockItem("time_door", properties -> new DoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); public static final DeferredBlock TIME_TRAPDOOR = registerWithItem("time_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TIME_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock TIME_SIGN = register("time_sign", properties -> new StandingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TIME_WALL_SIGN = register("time_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TIME_WALL_SIGN = register("time_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(TIME_SIGN.get().getLootTable()).overrideDescription(TIME_SIGN.get().getDescriptionId())); public static final DeferredBlock TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TIME_WALL_HANGING_SIGN = register("time_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TIME_WALL_HANGING_SIGN = register("time_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TIME_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(TIME_HANGING_SIGN.get().getLootTable()).overrideDescription(TIME_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock TIME_BANISTER = registerWithItem("time_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TIME_PLANKS.get())); public static final DeferredBlock TRANSFORMATION_PLANKS = registerWithItem("transformation_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -531,9 +531,9 @@ public class TFBlocks { public static final DeferredBlock TRANSFORMATION_DOOR = registerDoubleBlockItem("transformation_door", properties -> new DoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock TRANSFORMATION_TRAPDOOR = registerWithItem("transformation_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.TRANSFORMATION_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock TRANSFORMATION_SIGN = register("transformation_sign", properties -> new StandingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock TRANSFORMATION_WALL_SIGN = register("transformation_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock TRANSFORMATION_WALL_SIGN = register("transformation_wall_sign", properties -> new WallSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(TRANSFORMATION_SIGN.get().getLootTable()).overrideDescription(TRANSFORMATION_SIGN.get().getDescriptionId())); public static final DeferredBlock TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = register("transformation_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock TRANSFORMATION_WALL_HANGING_SIGN = register("transformation_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.TRANSFORMATION_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(TRANSFORMATION_HANGING_SIGN.get().getLootTable()).overrideDescription(TRANSFORMATION_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock TRANSFORMATION_BANISTER = registerWithItem("transformation_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TRANSFORMATION_PLANKS.get())); public static final DeferredBlock MINING_PLANKS = registerWithItem("mining_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.SAND).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -546,9 +546,9 @@ public class TFBlocks { public static final DeferredBlock MINING_DOOR = registerDoubleBlockItem("mining_door", properties -> new DoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock MINING_TRAPDOOR = registerWithItem("mining_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.MINING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock MINING_SIGN = register("mining_sign", properties -> new StandingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock MINING_WALL_SIGN = register("mining_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock MINING_WALL_SIGN = register("mining_wall_sign", properties -> new WallSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(MINING_SIGN.get().getLootTable()).overrideDescription(MINING_SIGN.get().getDescriptionId())); public static final DeferredBlock MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock MINING_WALL_HANGING_SIGN = register("mining_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock MINING_WALL_HANGING_SIGN = register("mining_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.MINING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(MINING_HANGING_SIGN.get().getLootTable()).overrideDescription(MINING_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock MINING_BANISTER = registerWithItem("mining_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(MINING_PLANKS.get())); public static final DeferredBlock SORTING_PLANKS = registerWithItem("sorting_planks", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.PODZOL).strength(2.0F, 3.0F).sound(SoundType.WOOD)); @@ -561,9 +561,9 @@ public class TFBlocks { public static final DeferredBlock SORTING_DOOR = registerDoubleBlockItem("sorting_door", properties -> new DoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock SORTING_TRAPDOOR = registerWithItem("sorting_trapdoor", properties -> new TrapDoorBlock(TFWoodTypes.SORTING_WOOD_SET, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(3.0F).noOcclusion()); public static final DeferredBlock SORTING_SIGN = register("sorting_sign", properties -> new StandingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); - public static final DeferredBlock SORTING_WALL_SIGN = register("sorting_wall_sign", properties -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission()); + public static final DeferredBlock SORTING_WALL_SIGN = register("sorting_wall_sign", properties -> new WallSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).strength(1.0F).noOcclusion().noCollission().overrideLootTable(SORTING_SIGN.get().getLootTable()).overrideDescription(SORTING_SIGN.get().getDescriptionId())); public static final DeferredBlock SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new CeilingHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); - public static final DeferredBlock SORTING_WALL_HANGING_SIGN = register("sorting_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F)); + public static final DeferredBlock SORTING_WALL_HANGING_SIGN = register("sorting_wall_hanging_sign", properties -> new WallHangingSignBlock(TFWoodTypes.SORTING_WOOD_TYPE, properties), () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get()).noCollission().strength(1.0F).overrideLootTable(SORTING_HANGING_SIGN.get().getLootTable()).overrideDescription(SORTING_HANGING_SIGN.get().getDescriptionId())); public static final DeferredBlock SORTING_BANISTER = registerWithItem("sorting_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(SORTING_PLANKS.get())); public static final DeferredBlock TWILIGHT_OAK_CHEST = registerWithItem("twilight_oak_chest", TFChestBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(TWILIGHT_OAK_PLANKS.get()).strength(2.5F)); diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index 1d93152255..c013793c96 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -43,13 +43,13 @@ public class TFEntities { public static final DeferredHolder, EntityType> CARMINITE_GHASTGUARD = registerWithEgg("carminite_ghastguard", EntityType.Builder.of(CarminiteGhastguard::new, MobCategory.MONSTER).sized(4.0F, 6.0F).clientTrackingRange(20).fireImmune(), 0xBCBCBC, 0xB77878, CarminiteGhastguard::registerAttributes, CarminiteGhastguard::checkGhastguardSpawnRules); public static final DeferredHolder, EntityType> CARMINITE_GHASTLING = registerWithEgg("carminite_ghastling", EntityType.Builder.of(CarminiteGhastling::new, MobCategory.MONSTER).sized(1.1F, 1.5F).eyeHeight(0.5F).clientTrackingRange(10).fireImmune(), 0xBCBCBC, 0xA74343, CarminiteGhastling::registerAttributes, CarminiteGhastling::checkGhastlingSpawnRules); public static final DeferredHolder, EntityType> CARMINITE_GOLEM = registerWithEgg("carminite_golem", EntityType.Builder.of(CarminiteGolem::new, MobCategory.MONSTER).sized(1.4F, 2.9F).clientTrackingRange(8), 0x6B3D20, 0xE2DDDA, CarminiteGolem::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> CHAIN_BLOCK = registerMisc("chain_block", EntityType.Builder.of(ChainBlock::new, MobCategory.MISC).noLootTable().sized(0.6F, 0.6F).noSummon().clientTrackingRange(8).setUpdateInterval(1).fireImmune()); - public static final DeferredHolder, EntityType> CHARM_EFFECT = registerMisc("charm_effect", EntityType.Builder.of(CharmEffect::new, MobCategory.MISC).noLootTable().sized(0.0F, 0.0F).clientTrackingRange(4).updateInterval(Integer.MAX_VALUE).noSave().noSummon().fireImmune()); - public static final DeferredHolder, EntityType> CUBE_OF_ANNIHILATION = registerMisc("cube_of_annihilation", EntityType.Builder.of(CubeOfAnnihilation::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).noSummon().clientTrackingRange(4).setUpdateInterval(20).fireImmune()); + public static final DeferredHolder, EntityType> CHAIN_BLOCK = registerMisc("chain_block", EntityType.Builder.of(ChainBlock::new, MobCategory.MISC).sized(0.6F, 0.6F).noSummon().clientTrackingRange(8).setUpdateInterval(1).fireImmune()); + public static final DeferredHolder, EntityType> CHARM_EFFECT = registerMisc("charm_effect", EntityType.Builder.of(CharmEffect::new, MobCategory.MISC).sized(0.0F, 0.0F).clientTrackingRange(4).updateInterval(Integer.MAX_VALUE).noSave().noSummon().fireImmune()); + public static final DeferredHolder, EntityType> CUBE_OF_ANNIHILATION = registerMisc("cube_of_annihilation", EntityType.Builder.of(CubeOfAnnihilation::new, MobCategory.MISC).sized(1.0F, 1.0F).noSummon().clientTrackingRange(4).setUpdateInterval(20).fireImmune()); public static final DeferredHolder, EntityType> DEATH_TOME = registerWithEgg("death_tome", EntityType.Builder.of(DeathTome::new, MobCategory.MONSTER).sized(0.75F, 1.5F).clientTrackingRange(8), 0x774E22, 0xDBCDBE, DeathTome::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> DEER = registerWithEgg("deer", EntityType.Builder.of(Deer::new, MobCategory.CREATURE).sized(0.7F, 1.8F).clientTrackingRange(8), 0x7B4D2E, 0x4B241D, Deer::registerAttributes, Animal::checkAnimalSpawnRules); public static final DeferredHolder, EntityType> DWARF_RABBIT = registerWithEgg("dwarf_rabbit", EntityType.Builder.of(DwarfRabbit::new, MobCategory.CREATURE).sized(0.4F, 0.4F).clientTrackingRange(8), 0xFEFEEE, 0xCCAA99, DwarfRabbit::registerAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> FALLING_ICE = registerMisc("falling_ice", EntityType.Builder.of(FallingIce::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> FALLING_ICE = registerMisc("falling_ice", EntityType.Builder.of(FallingIce::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); public static final DeferredHolder, EntityType> FIRE_BEETLE = registerWithEgg("fire_beetle", EntityType.Builder.of(FireBeetle::new, MobCategory.MONSTER).sized(1.1F, 0.5F).clientTrackingRange(8).fireImmune(), 0x1D0B00, 0xCB6F25, FireBeetle::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> GIANT_MINER = registerWithEgg("giant_miner", EntityType.Builder.of(GiantMiner::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), 0x211B52, 0x9A9A9A, GiantMiner::registerAttributes, GiantMiner::checkGiantSpawnRules); public static final DeferredHolder, EntityType> HARBINGER_CUBE = registerWithAttributes("harbinger_cube", EntityType.Builder.of(HarbingerCube::new, MobCategory.MONSTER).sized(1.9F, 2.4F).clientTrackingRange(8).fireImmune(), HarbingerCube::registerAttributes); @@ -57,11 +57,11 @@ public class TFEntities { public static final DeferredHolder, EntityType> HELMET_CRAB = registerWithEgg("helmet_crab", EntityType.Builder.of(HelmetCrab::new, MobCategory.MONSTER).sized(0.8F, 1.1F).eyeHeight(0.45F).clientTrackingRange(8).fireImmune(), 0xFB904B, 0xD3E7BC, HelmetCrab::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> HOSTILE_WOLF = registerWithEgg("hostile_wolf", EntityType.Builder.of(HostileWolf::new, MobCategory.MONSTER).sized(0.6F, 0.85F).clientTrackingRange(8), 0xD7D3D3, 0xAB1E14, HostileWolf::registerAttributes, HostileWolf::checkWolfSpawnRules); public static final DeferredHolder, EntityType> HYDRA = registerWithEgg("hydra", EntityType.Builder.of(Hydra::new, MobCategory.MONSTER).sized(16.0F, 12.0F).clientTrackingRange(20).fireImmune(), 0x142940, 0x29806B, Hydra::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> HYDRA_MORTAR = registerMisc("hydra_mortar", EntityType.Builder.of(HydraMortar::new, MobCategory.MISC).noLootTable().sized(0.75F, 0.75F).clientTrackingRange(8).updateInterval(10).fireImmune()); - public static final DeferredHolder, EntityType> ICE_ARROW = registerMisc("ice_arrow", EntityType.Builder.of(IceArrow::new, MobCategory.MISC).noLootTable().sized(0.5F, 0.5F).eyeHeight(0.13F).clientTrackingRange(4).updateInterval(20)); - public static final DeferredHolder, EntityType> THROWN_ICE = registerMisc("ice_bomb", EntityType.Builder.of(IceBomb::new, MobCategory.MISC).noLootTable().sized(1.0F, 1.0F).clientTrackingRange(8).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> HYDRA_MORTAR = registerMisc("hydra_mortar", EntityType.Builder.of(HydraMortar::new, MobCategory.MISC).sized(0.75F, 0.75F).clientTrackingRange(8).updateInterval(10).fireImmune()); + public static final DeferredHolder, EntityType> ICE_ARROW = registerMisc("ice_arrow", EntityType.Builder.of(IceArrow::new, MobCategory.MISC).sized(0.5F, 0.5F).eyeHeight(0.13F).clientTrackingRange(4).updateInterval(20)); + public static final DeferredHolder, EntityType> THROWN_ICE = registerMisc("ice_bomb", EntityType.Builder.of(IceBomb::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(8).updateInterval(10).fireImmune()); public static final DeferredHolder, EntityType> ICE_CRYSTAL = registerWithEgg("ice_crystal", EntityType.Builder.of(IceCrystal::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), 0xDCE9FE, 0xADCAFB, IceCrystal::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> ICE_SNOWBALL = registerMisc("ice_snowball", EntityType.Builder.of(IceSnowball::new, MobCategory.MISC).noLootTable().sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); + public static final DeferredHolder, EntityType> ICE_SNOWBALL = registerMisc("ice_snowball", EntityType.Builder.of(IceSnowball::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); public static final DeferredHolder, EntityType> KING_SPIDER = registerWithEgg("king_spider", EntityType.Builder.of(KingSpider::new, MobCategory.MONSTER).sized(1.6F, 1.6F).clientTrackingRange(8), 0x2C1A0E, 0xFFC017, KingSpider::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = registerWithEgg("knight_phantom", EntityType.Builder.of(KnightPhantom::new, MobCategory.MONSTER).sized(1.25F, 2.5F).clientTrackingRange(10), 0xA6673B, 0xD3E7BC, KnightPhantom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> KOBOLD = registerWithEgg("kobold", EntityType.Builder.of(Kobold::new, MobCategory.MONSTER).sized(0.8F, 1.1F).clientTrackingRange(8), 0x372096, 0x895D1B, Kobold::registerAttributes, Monster::checkMonsterSpawnRules); @@ -79,7 +79,7 @@ public class TFEntities { public static final DeferredHolder, EntityType> MOSQUITO_SWARM = registerWithEgg("mosquito_swarm", EntityType.Builder.of(MosquitoSwarm::new, MobCategory.MONSTER).sized(0.7F, 1.9F).clientTrackingRange(10), 0x080904, 0x2D2F21, MosquitoSwarm::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> NAGA = registerWithEgg("naga", EntityType.Builder.of(Naga::new, MobCategory.MONSTER).sized(2.0F, 3.0F).eyeHeight(2.0F).clientTrackingRange(10), 0xa4d316, 0x1b380b, Naga::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> NATURE_BOLT = registerMisc("nature_bolt", EntityType.Builder.of(NatureBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> MAGIC_PAINTING = registerMisc("magic_painting", EntityType.Builder.of(MagicPainting::new, MobCategory.MISC).noLootTable().noSummon().sized(0.5F, 0.5F).clientTrackingRange(10).updateInterval(Integer.MAX_VALUE)); + public static final DeferredHolder, EntityType> MAGIC_PAINTING = registerMisc("magic_painting", EntityType.Builder.of(MagicPainting::new, MobCategory.MISC).noSummon().sized(0.5F, 0.5F).clientTrackingRange(10).updateInterval(Integer.MAX_VALUE)); public static final DeferredHolder, EntityType> PENGUIN = registerWithEgg("penguin", EntityType.Builder.of(Penguin::new, MobCategory.CREATURE).sized(0.5F, 0.9F).clientTrackingRange(8), 0x12151b, 0xf9edd2, Penguin::registerAttributes, Penguin::checkPenguinSpawnRules); public static final DeferredHolder, EntityType> PINCH_BEETLE = registerWithEgg("pinch_beetle", EntityType.Builder.of(PinchBeetle::new, MobCategory.MONSTER).sized(1.2F, 0.5F).clientTrackingRange(8), 0xbc9327, 0x241609, PinchBeetle::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> PLATEAU_BOSS = registerWithAttributes("plateau_boss", EntityType.Builder.of(PlateauBoss::new, MobCategory.MONSTER).noLootTable().noSave().noSummon().sized(1.0F, 1.0F).fireImmune().clientTrackingRange(10), PlateauBoss::registerAttributes); @@ -114,25 +114,25 @@ public class TFEntities { public static final DeferredHolder, EntityType> WRAITH = registerWithEgg("wraith", EntityType.Builder.of(Wraith::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8).fireImmune(), 0x505050, 0x838383, Wraith::registerAttributes, Wraith::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> YETI = registerWithEgg("yeti", EntityType.Builder.of(Yeti::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), 0xdedede, 0x4675bb, Yeti::registerAttributes, Yeti::checkYetiSpawnRules); - public static final DeferredHolder, EntityType> TWILIGHT_OAK_BOAT = registerMisc("twilight_oak_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TWILIGHT_OAK_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> TWILIGHT_OAK_CHEST_BOAT = registerMisc("twilight_oak_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TWILIGHT_OAK_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> CANOPY_BOAT = registerMisc("canopy_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.CANOPY_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> CANOPY_CHEST_BOAT = registerMisc("canopy_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.CANOPY_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> MANGROVE_BOAT = registerMisc("mangrove_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MANGROVE_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> MANGROVE_CHEST_BOAT = registerMisc("mangrove_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MANGROVE_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> DARK_BOAT = registerMisc("dark_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.DARK_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> DARK_CHEST_BOAT = registerMisc("dark_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.DARK_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> TIME_BOAT = registerMisc("time_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TIME_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> TIME_CHEST_BOAT = registerMisc("time_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TIME_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> TRANSFORMATION_BOAT = registerMisc("transformation_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TRANSFORMATION_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> TRANSFORMATION_CHEST_BOAT = registerMisc("transformation_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TRANSFORMATION_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> MINING_BOAT = registerMisc("mining_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MINING_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> MINING_CHEST_BOAT = registerMisc("mining_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MINING_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> SORTING_BOAT = registerMisc("sorting_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.SORTING_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); - public static final DeferredHolder, EntityType> SORTING_CHEST_BOAT = registerMisc("sorting_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.SORTING_CHEST_BOAT), MobCategory.MISC).noLootTable().sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TWILIGHT_OAK_BOAT = registerMisc("twilight_oak_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TWILIGHT_OAK_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TWILIGHT_OAK_CHEST_BOAT = registerMisc("twilight_oak_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TWILIGHT_OAK_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> CANOPY_BOAT = registerMisc("canopy_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.CANOPY_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> CANOPY_CHEST_BOAT = registerMisc("canopy_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.CANOPY_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MANGROVE_BOAT = registerMisc("mangrove_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MANGROVE_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MANGROVE_CHEST_BOAT = registerMisc("mangrove_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MANGROVE_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> DARK_BOAT = registerMisc("dark_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.DARK_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> DARK_CHEST_BOAT = registerMisc("dark_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.DARK_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TIME_BOAT = registerMisc("time_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TIME_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TIME_CHEST_BOAT = registerMisc("time_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TIME_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TRANSFORMATION_BOAT = registerMisc("transformation_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TRANSFORMATION_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> TRANSFORMATION_CHEST_BOAT = registerMisc("transformation_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TRANSFORMATION_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MINING_BOAT = registerMisc("mining_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.MINING_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> MINING_CHEST_BOAT = registerMisc("mining_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.MINING_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> SORTING_BOAT = registerMisc("sorting_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.SORTING_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); + public static final DeferredHolder, EntityType> SORTING_CHEST_BOAT = registerMisc("sorting_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.SORTING_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); public static DeferredHolder, EntityType> registerMisc(String name, EntityType.Builder builder) { - return ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); + return ENTITY_TYPES.register(name, () -> builder.noLootTable().build(createIDFor(name))); } public static DeferredHolder, EntityType> registerWithAttributes(String name, EntityType.Builder builder, Supplier attributes) { From 58d93da3ebfea645809af563c390e15e55f04d81 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:52:47 -0700 Subject: [PATCH 045/239] uh oh! 1.21.4 time! --- build.gradle | 12 ++++++------ gradle.properties | 12 ++++++------ src/main/resources/META-INF/accesstransformer.cfg | 14 -------------- src/main/resources/META-INF/neoforge.mods.toml | 4 ++-- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/build.gradle b/build.gradle index 5c7c986594..a69f4db3cf 100644 --- a/build.gradle +++ b/build.gradle @@ -97,8 +97,8 @@ neoForge { programArgument '--nogui' } - data { - data() + clientData { + clientData() gameDirectory = project.file('run-data') programArguments.addAll '--mod', mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() } @@ -167,16 +167,16 @@ dependencies { // implementation "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.base_minecraft_version}" //curse maven -// implementation "curse.maven:jade-324717:5529595" -// implementation "curse.maven:cosmetic-armor-reworked-237307:5427303" -// implementation "curse.maven:world-edit-225608:5613180" + implementation "curse.maven:jade-324717:6011327" + implementation "curse.maven:cosmetic-armor-reworked-237307:5961480" // runtimeOnly "curse.maven:jeed-532286:5483315" // runtimeOnly "curse.maven:museum-curator-859070:4629894" // compileOnly "mcjty.theoneprobe:theoneprobe:${project.top_version}" //mods we dont have compat with but are nice to have -// runtimeOnly "com.telepathicgrunt:CommandStructures-Neoforge:4.3.2+1.20.6" + runtimeOnly "com.telepathicgrunt:CommandStructures-Neoforge:4.4.3+1.21.4" + runtimeOnly "curse.maven:world-edit-225608:6013137" testImplementation group: 'net.neoforged', name: 'testframework', version: project.neo_version testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.10.3' diff --git a/gradle.properties b/gradle.properties index c9f62d7944..c785cd727c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,8 +3,8 @@ org.gradle.daemon=false org.gradle.configuration-cache=true # Versions can be found at https://parchmentmc.org/docs/getting-started -neoForge.parchment.minecraftVersion=1.21 -neoForge.parchment.mappingsVersion=2024.06.23 +neoForge.parchment.minecraftVersion=1.21.4 +neoForge.parchment.mappingsVersion=2025.01.05 # Mod Info mod_version=4.7 @@ -13,15 +13,15 @@ group_name=com.github.teamtwilight.twilightforest # Minecraft base_minecraft_version=1.21 -minecraft_version=1.21.3 +minecraft_version=1.21.4 # NeoForge: https://projects.neoforged.net/neoforged/neoforge -neo_version=21.3.56 -mdg_version=1.0.1 +neo_version=21.4.50-beta +mdg_version=1.0.23 # Deps jei_version=19.8.2.99 -rei_version=16.0.788 +rei_version=18.0.796 emi_version=1.1.11 curios_version=9.0.5 top_version=1.21_neo-12.0.3-5 \ No newline at end of file diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 7b1767f9ed..3253167a8e 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -3,9 +3,6 @@ # Sets Custom Display Component for container UI public net.minecraft.world.level.block.entity.BaseContainerBlockEntity name -# Bighorn (gets color of baby bighorn based on parent colors) -protected net.minecraft.world.entity.animal.Sheep getOffspringColor(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/animal/Sheep;Lnet/minecraft/world/entity/animal/Sheep;)Lnet/minecraft/world/item/DyeColor; - # BiomeGrassColors and FoliageColorHandler (gets biome noise values for blending colors together) public net.minecraft.world.level.biome.Biome TEMPERATURE_NOISE @@ -16,12 +13,6 @@ public net.minecraft.world.entity.monster.Ghast$GhastLookGoal public-f net.minecraft.world.level.chunk.status.ChunkStatus index public-f net.minecraft.world.level.chunk.status.ChunkStatus parent -# CinderFurnaceBlockEntity (allows control of cooking related fields for burning logic) -protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity litTime -protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity litDuration -protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingProgress -protected net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity cookingTotalTime - # CloudEvents and TFWeatherRenderer (plays rain sounds in various scenarios) public net.minecraft.client.renderer.LevelRenderer weatherEffectRenderer public net.minecraft.client.renderer.WeatherEffectRenderer rainSoundTime @@ -75,11 +66,6 @@ public net.minecraft.world.entity.ai.goal.GoalSelector availableGoals # IBossLootBuffer (shuffles and makes boss chests look natural) public net.minecraft.world.level.storage.loot.LootTable shuffleAndSplitItems(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;ILnet/minecraft/util/RandomSource;)V -# ItemModelGenerator (builds armor sets with armor trims) -public net.minecraft.data.models.ItemModelGenerators GENERATED_TRIM_MODELS -public net.minecraft.data.models.ItemModelGenerators$TrimModelData -public net.minecraft.data.models.ItemModelGenerators$TrimModelData (Ljava/lang/String;FLjava/util/Map;)V - # JigsawUtil public net.minecraft.world.level.levelgen.structure.pools.SinglePoolElement sortBySelectionPriority(Ljava/util/List;)V diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index a80407b4e3..d8ec135baf 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -21,14 +21,14 @@ enumExtensions="META-INF/enumextensions.json" [[dependencies.twilightforest]] modId = "neoforge" type = "required" -versionRange = "[21.1.62,)" +versionRange = "[21.4.50-beta,)" ordering = "NONE" side = "BOTH" [[dependencies.twilightforest]] modId = "minecraft" type = "required" -versionRange = "[1.21,)" +versionRange = "[1.21.4]" ordering = "NONE" side = "BOTH" From e58b40bad3ef536fb49398307057f7f16125a735 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:57:18 -0700 Subject: [PATCH 046/239] down to 23 errors --- .../data}/BlockModelBuilders.java | 0 .../data}/BlockModelHelpers.java | 0 .../data/BlockstateGenerator.java | 0 .../data/ItemModelGenerator.java | 0 .../block/AbstractSkullCandleBlock.java | 2 +- .../block/AbstractTrophyBlock.java | 16 +- .../twilightforest/block/CandelabraBlock.java | 4 +- .../twilightforest/block/CastleDoorBlock.java | 2 +- .../block/ChiseledCanopyShelfBlock.java | 2 +- .../java/twilightforest/block/CloudBlock.java | 2 +- .../twilightforest/block/CritterBlock.java | 2 +- .../block/HardenedDarkLeavesBlock.java | 2 +- .../java/twilightforest/block/JarBlock.java | 4 +- .../block/KeepsakeCasketBlock.java | 4 +- .../twilightforest/block/RedThreadBlock.java | 5 - .../twilightforest/block/SkullChestBlock.java | 4 +- .../block/SortLogCoreBlock.java | 2 +- .../block/TimeLogCoreBlock.java | 2 +- .../block/TransLogCoreBlock.java | 2 +- .../ChiseledCanopyShelfBlockEntity.java | 5 - .../spawner/SinisterSpawnerBlockEntity.java | 5 - .../TextureGeneratorReloadListener.java | 26 +- .../client/TwilightForestRenderInfo.java | 4 +- .../client/event/ClientEvents.java | 23 +- .../client/event/ColorHandler.java | 52 ++-- .../client/event/RegistrationEvents.java | 292 +++++++++--------- .../client/model/block/BrazierModel.java | 17 - .../model/block/ReactorDebrisModel.java | 4 +- .../block/aurorablock/NoiseVaryingModel.java | 4 +- .../aurorablock/NoiseVaryingModelBuilder.java | 25 +- .../aurorablock/NoiseVaryingModelLoader.java | 4 +- .../aurorablock/UnbakedNoiseVaryingModel.java | 15 +- .../model/block/carpet/RoyalRagsBuilder.java | 19 +- .../block/carpet/RoyalRagsModelLoader.java | 4 +- .../block/carpet/UnbakedRoyalRagsModel.java | 44 +-- .../connected/ConnectedTextureBuilder.java | 50 +-- .../connected/ConnectedTextureModel.java | 33 +- .../ConnectedTextureModelLoader.java | 4 +- .../UnbakedConnectedTextureModel.java | 49 ++- .../block/forcefield/ForceFieldModel.java | 62 +--- .../forcefield/ForceFieldModelBuilder.java | 27 +- .../forcefield/ForceFieldModelLoader.java | 4 +- .../forcefield/UnbakedForceFieldModel.java | 27 +- .../block/giantblock/GiantBlockBuilder.java | 23 +- .../block/giantblock/GiantBlockModel.java | 35 +-- .../giantblock/GiantBlockModelLoader.java | 4 +- .../giantblock/UnbakedGiantBlockModel.java | 33 +- .../model/block/leaves/BakedLeavesModel.java | 4 +- .../client/model/block/patch/PatchModel.java | 6 +- .../model/block/patch/PatchModelLoader.java | 6 +- .../model/block/patch/UnbakedPatchModel.java | 26 +- .../model/entity/FixedHumanoidModel.java | 4 +- .../client/model/entity/MinoshroomModel.java | 4 +- .../client/model/item/TrollsteinnModel.java | 49 --- .../client/model/item/package-info.java | 9 - .../client/particle/GhastTearParticle.java | 24 +- .../renderer/PotionFlaskTooltipComponent.java | 5 +- .../client/renderer/TFSkyRenderer.java | 65 ++-- .../client/renderer/TFWeatherRenderer.java | 17 +- .../renderer/block/ReactorDebrisRenderer.java | 2 +- .../entity/KnightPhantomRenderer.java | 2 +- .../renderer/entity/TFGiantRenderer.java | 18 +- .../renderer/entity/ThrownWepRenderer.java | 13 +- .../renderer/entity/layers/ShieldLayer.java | 11 +- .../twilightforest/data/AtlasGenerator.java | 5 +- .../twilightforest/data/DataGenerators.java | 61 ++-- .../data/ParticleGenerator.java | 5 +- .../twilightforest/data/SoundGenerator.java | 5 +- .../data/TFAdvancementGenerator.java | 9 +- .../data/TFAdvancementProvider.java | 7 +- .../data/TFStructureUpdater.java | 14 +- .../entry/StalactiteReloadListener.java | 3 +- .../data/helpers/TFSoundProvider.java | 5 +- .../data/tags/BiomeTagGenerator.java | 5 +- .../data/tags/BlockTagGenerator.java | 5 +- .../data/tags/CustomTagGenerator.java | 21 +- .../data/tags/DamageTypeTagGenerator.java | 5 +- .../data/tags/EntityTagGenerator.java | 6 +- .../data/tags/FluidTagGenerator.java | 6 +- .../data/tags/ItemTagGenerator.java | 5 +- .../data/tags/StructureTagGenerator.java | 6 +- .../tags/compat/ModdedBlockTagGenerator.java | 5 +- .../tags/compat/ModdedEntityTagGenerator.java | 6 +- .../tags/compat/ModdedItemTagGenerator.java | 5 +- .../entity/boss/IBossLootBuffer.java | 2 +- .../entity/boss/KnightPhantom.java | 4 +- .../java/twilightforest/entity/boss/Lich.java | 12 +- .../java/twilightforest/entity/boss/Naga.java | 2 +- .../twilightforest/entity/boss/UrGhast.java | 2 +- .../entity/monster/DeathTome.java | 1 - .../twilightforest/entity/monster/Kobold.java | 2 +- .../entity/monster/UpperGoblinKnight.java | 2 +- .../entity/passive/Bighorn.java | 2 +- .../entity/passive/QuestRam.java | 7 +- .../entity/projectile/CubeOfAnnihilation.java | 2 +- .../entity/projectile/FallingIce.java | 5 - .../entity/projectile/MoonwormShot.java | 2 +- .../entity/projectile/NatureBolt.java | 2 +- .../entity/projectile/ThrownBlock.java | 2 +- .../entity/projectile/TomeBolt.java | 2 +- .../entity/projectile/TwilightWandBolt.java | 2 +- .../twilightforest/events/MiscEvents.java | 2 +- .../java/twilightforest/init/TFEntities.java | 2 +- .../init/TFEquipmentModels.java | 44 +-- .../twilightforest/init/TFTrimMaterials.java | 16 +- .../inventory/UncraftingMenu.java | 4 +- .../twilightforest/item/ArcticArmorItem.java | 6 +- .../twilightforest/item/FieryArmorItem.java | 6 +- .../twilightforest/item/GlassSwordItem.java | 2 +- .../twilightforest/item/IceSwordItem.java | 2 +- .../item/KnightmetalArmorItem.java | 6 +- .../item/LifedrainScepterItem.java | 2 +- .../twilightforest/item/OreMagnetItem.java | 2 +- .../twilightforest/item/PeacockFanItem.java | 2 +- .../twilightforest/item/PhantomArmorItem.java | 6 +- .../twilightforest/item/YetiArmorItem.java | 6 +- .../item/recipe/UncraftingRecipe.java | 2 +- .../network/ParticlePacket.java | 16 +- .../structures/util/ConquerableStructure.java | 7 +- 119 files changed, 661 insertions(+), 928 deletions(-) rename src/main/{java/twilightforest/data/helpers => disabled/data}/BlockModelBuilders.java (100%) rename src/main/{java/twilightforest/data/helpers => disabled/data}/BlockModelHelpers.java (100%) rename src/main/{java/twilightforest => disabled}/data/BlockstateGenerator.java (100%) rename src/main/{java/twilightforest => disabled}/data/ItemModelGenerator.java (100%) delete mode 100644 src/main/java/twilightforest/client/model/item/TrollsteinnModel.java delete mode 100644 src/main/java/twilightforest/client/model/item/package-info.java diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/disabled/data/BlockModelBuilders.java similarity index 100% rename from src/main/java/twilightforest/data/helpers/BlockModelBuilders.java rename to src/main/disabled/data/BlockModelBuilders.java diff --git a/src/main/java/twilightforest/data/helpers/BlockModelHelpers.java b/src/main/disabled/data/BlockModelHelpers.java similarity index 100% rename from src/main/java/twilightforest/data/helpers/BlockModelHelpers.java rename to src/main/disabled/data/BlockModelHelpers.java diff --git a/src/main/java/twilightforest/data/BlockstateGenerator.java b/src/main/disabled/data/BlockstateGenerator.java similarity index 100% rename from src/main/java/twilightforest/data/BlockstateGenerator.java rename to src/main/disabled/data/BlockstateGenerator.java diff --git a/src/main/java/twilightforest/data/ItemModelGenerator.java b/src/main/disabled/data/ItemModelGenerator.java similarity index 100% rename from src/main/java/twilightforest/data/ItemModelGenerator.java rename to src/main/disabled/data/ItemModelGenerator.java diff --git a/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java b/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java index 2e8bdc87eb..78562b5382 100644 --- a/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java +++ b/src/main/java/twilightforest/block/AbstractSkullCandleBlock.java @@ -151,7 +151,7 @@ public List getDrops(BlockState state, LootParams.Builder builder) { } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, Player player) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData, Player player) { ItemStack newStack = new ItemStack(this); if (level.getBlockEntity(pos) instanceof SkullCandleBlockEntity sc) { diff --git a/src/main/java/twilightforest/block/AbstractTrophyBlock.java b/src/main/java/twilightforest/block/AbstractTrophyBlock.java index 8b6a31eeb5..8c9d54cdf5 100644 --- a/src/main/java/twilightforest/block/AbstractTrophyBlock.java +++ b/src/main/java/twilightforest/block/AbstractTrophyBlock.java @@ -155,7 +155,7 @@ public void createParticle(Level level, BlockPos pos) { switch (this.variant) { case NAGA: for (int daze = 0; daze < 10; daze++) { - particlePacket.queueParticle(ParticleTypes.CRIT, false, + particlePacket.queueParticle(ParticleTypes.CRIT, ((double) pos.getX() + rand.nextFloat() * 0.5D * 2.0D), (double) pos.getY() + 0.25D, ((double) pos.getZ() + rand.nextFloat() * 0.5D * 2.0D), @@ -164,7 +164,7 @@ public void createParticle(Level level, BlockPos pos) { break; case LICH: for (int a = 0; a < 5; a++) { - particlePacket.queueParticle(ParticleTypes.ANGRY_VILLAGER, false, + particlePacket.queueParticle(ParticleTypes.ANGRY_VILLAGER, (double) pos.getX() + rand.nextFloat() * 0.5D * 2.0F + rand.nextGaussian() * 0.02D, (double) pos.getY() + 0.5D + rand.nextFloat() * 0.25 + rand.nextGaussian() * 0.02D, (double) pos.getZ() + rand.nextFloat() * 0.5D * 2.0F + rand.nextGaussian() * 0.02D, @@ -174,7 +174,7 @@ public void createParticle(Level level, BlockPos pos) { case MINOSHROOM: ParticleOptions minoshroomParticle = new BlockParticleOption(ParticleTypes.BLOCK, level.getBlockState(pos.below())); for (int g = 0; g < 10; g++) { - particlePacket.queueParticle(minoshroomParticle, false, + particlePacket.queueParticle(minoshroomParticle, (double) pos.getX() + rand.nextFloat() * 10F - 5F, (double) pos.getY() + 0.1F + rand.nextFloat() * 0.3F, (double) pos.getZ() + rand.nextFloat() * 10F - 5F, @@ -184,7 +184,7 @@ public void createParticle(Level level, BlockPos pos) { case KNIGHT_PHANTOM: ParticleOptions knightPhantomParticle = new ItemParticleOption(ParticleTypes.ITEM, new ItemStack(TFItems.KNIGHTMETAL_SWORD.get())); for (int brek = 0; brek < 10; brek++) { - particlePacket.queueParticle(knightPhantomParticle, false, + particlePacket.queueParticle(knightPhantomParticle, pos.getX() + 0.5D + (rand.nextFloat() - 0.5D), pos.getY() + rand.nextFloat() + 0.5D + 0.25D * rand.nextGaussian(), pos.getZ() + 0.5D + (rand.nextFloat() - 0.5D), @@ -193,7 +193,7 @@ public void createParticle(Level level, BlockPos pos) { break; case UR_GHAST: for (int red = 0; red < 10; red++) { - particlePacket.queueParticle(DustParticleOptions.REDSTONE, false, + particlePacket.queueParticle(DustParticleOptions.REDSTONE, (double) pos.getX() + (rand.nextDouble() * 1), (double) pos.getY() + rand.nextDouble() * 0.5 + 0.5, (double) pos.getZ() + (rand.nextDouble() * 1), @@ -202,7 +202,7 @@ public void createParticle(Level level, BlockPos pos) { break; case ALPHA_YETI: for (int sweat = 0; sweat < 10; sweat++) { - particlePacket.queueParticle(ParticleTypes.SPLASH, false, + particlePacket.queueParticle(ParticleTypes.SPLASH, (double) pos.getX() + (rand.nextDouble() * 1), (double) pos.getY() + rand.nextDouble() * 0.5 + 0.5, (double) pos.getZ() + (rand.nextDouble() * 1), @@ -211,7 +211,7 @@ public void createParticle(Level level, BlockPos pos) { break; case SNOW_QUEEN: for (int b = 0; b < 20; b++) { - particlePacket.queueParticle(TFParticleType.SNOW_WARNING.get(), false, + particlePacket.queueParticle(TFParticleType.SNOW_WARNING.get(), (double) pos.getX() - 1 + (rand.nextDouble() * 3.25D), (double) pos.getY() + 5 + rand.nextGaussian(), (double) pos.getZ() - 1 + (rand.nextDouble() * 3.25D), @@ -220,7 +220,7 @@ public void createParticle(Level level, BlockPos pos) { break; case QUEST_RAM: for (int p = 0; p < 10; p++) { - particlePacket.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, rand.nextFloat(), rand.nextFloat(), rand.nextFloat()), false, + particlePacket.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, rand.nextFloat(), rand.nextFloat(), rand.nextFloat()), (double) pos.getX() + 0.5 + (rand.nextDouble() - 0.5), (double) pos.getY() + (rand.nextDouble() - 0.5), (double) pos.getZ() + 0.5 + (rand.nextDouble() - 0.5), diff --git a/src/main/java/twilightforest/block/CandelabraBlock.java b/src/main/java/twilightforest/block/CandelabraBlock.java index 8916d0258d..27d1d6c4c2 100644 --- a/src/main/java/twilightforest/block/CandelabraBlock.java +++ b/src/main/java/twilightforest/block/CandelabraBlock.java @@ -439,12 +439,12 @@ public void onRemove(BlockState state, Level level, BlockPos pos, BlockState new } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, Player player) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData, Player player) { if (level.getBlockEntity(pos) instanceof CandelabraBlockEntity candelabra && candelabra.getCandles() != CandelabraData.EMPTY) { ItemStack itemstack = new ItemStack(this); itemstack.applyComponents(candelabra.collectComponents()); return itemstack; } - return super.getCloneItemStack(state, target, level, pos, player); + return super.getCloneItemStack(level, pos, state, includeData, player); } } diff --git a/src/main/java/twilightforest/block/CastleDoorBlock.java b/src/main/java/twilightforest/block/CastleDoorBlock.java index 05beeeb89f..363f5f715e 100644 --- a/src/main/java/twilightforest/block/CastleDoorBlock.java +++ b/src/main/java/twilightforest/block/CastleDoorBlock.java @@ -151,7 +151,7 @@ private void vanishParticles(Level level, BlockPos pos) { for (int dx = 0; dx < 4; ++dx) { for (int dy = 0; dy < 4; ++dy) { for (int dz = 0; dz < 4; ++dz) { - particlePacket.queueParticle(TFParticleType.ANNIHILATE.get(), false, + particlePacket.queueParticle(TFParticleType.ANNIHILATE.get(), pos.getX() + (dx + 0.5D) / 4, pos.getY() + (dy + 0.5D) / 4, pos.getZ() + (dz + 0.5D) / 4, diff --git a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java index be45daa958..b64301dece 100644 --- a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java +++ b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java @@ -84,7 +84,7 @@ public void playerDestroy(Level level, Player player, BlockPos pos, BlockState s level.playSound(null, pos, TFSounds.DEATH_TOME_DEATH.get(), SoundSource.BLOCKS, 1.0F, 1.0F); ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < 20; ++i) { - particlePacket.queueParticle(ParticleTypes.POOF, false, + particlePacket.queueParticle(ParticleTypes.POOF, (double) pos.getX() + 0.5D + level.getRandom().nextGaussian() * 0.02D * level.getRandom().nextGaussian(), (double) pos.getY() + level.getRandom().nextGaussian() * 0.02D * level.getRandom().nextGaussian(), (double) pos.getZ() + 0.5D + level.getRandom().nextGaussian() * 0.02D * level.getRandom().nextGaussian(), diff --git a/src/main/java/twilightforest/block/CloudBlock.java b/src/main/java/twilightforest/block/CloudBlock.java index 95035e20cc..57fee1a90a 100644 --- a/src/main/java/twilightforest/block/CloudBlock.java +++ b/src/main/java/twilightforest/block/CloudBlock.java @@ -151,7 +151,7 @@ public boolean addLandingEffects(BlockState state1, ServerLevel level, BlockPos double xSpeed = xSpd * 0.0035D * maxI; double zSpeed = zSpd * 0.0035D * maxI; - particlePacket.queueParticle(TFParticleType.CLOUD_PUFF.get(), false, x, y, z, xSpeed, ySpeed, zSpeed); + particlePacket.queueParticle(TFParticleType.CLOUD_PUFF.get(), x, y, z, xSpeed, ySpeed, zSpeed); } PacketDistributor.sendToPlayersTrackingChunk(level, new ChunkPos(pos), particlePacket); diff --git a/src/main/java/twilightforest/block/CritterBlock.java b/src/main/java/twilightforest/block/CritterBlock.java index 8cb567d2c1..beb72bfa23 100644 --- a/src/main/java/twilightforest/block/CritterBlock.java +++ b/src/main/java/twilightforest/block/CritterBlock.java @@ -167,7 +167,7 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent for (int i = 0; i < 50; i++) { boolean wallBug = state.getValue(FACING) != Direction.UP; - level.addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.SLIME_BLOCK.defaultBlockState()), true, + level.addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.SLIME_BLOCK.defaultBlockState()), pos.getX() + Mth.nextFloat(level.getRandom(), 0.25F, 0.75F), pos.getY() + (wallBug ? 0.5F : 0.0F), pos.getZ() + Mth.nextFloat(level.getRandom(), 0.25F, 0.75F), diff --git a/src/main/java/twilightforest/block/HardenedDarkLeavesBlock.java b/src/main/java/twilightforest/block/HardenedDarkLeavesBlock.java index e902aff386..4d17a7130a 100644 --- a/src/main/java/twilightforest/block/HardenedDarkLeavesBlock.java +++ b/src/main/java/twilightforest/block/HardenedDarkLeavesBlock.java @@ -16,7 +16,7 @@ public HardenedDarkLeavesBlock(Properties properties) { } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult result, LevelReader reader, BlockPos pos, Player player) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData, Player player) { return new ItemStack(TFBlocks.DARK_LEAVES.get()); } } diff --git a/src/main/java/twilightforest/block/JarBlock.java b/src/main/java/twilightforest/block/JarBlock.java index 36f13fce8d..eb99e307d8 100644 --- a/src/main/java/twilightforest/block/JarBlock.java +++ b/src/main/java/twilightforest/block/JarBlock.java @@ -89,10 +89,10 @@ public Item getDefaultLid() { } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, Player player) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData, Player player) { return level.getBlockEntity(pos) instanceof JarBlockEntity jarBlockEntity ? jarBlockEntity.getJarAsItem() - : super.getCloneItemStack(state, target, level, pos, player); + : super.getCloneItemStack(level, pos, state, includeData, player); } @Override diff --git a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java index 6c5d8acdcb..3d90019769 100644 --- a/src/main/java/twilightforest/block/KeepsakeCasketBlock.java +++ b/src/main/java/twilightforest/block/KeepsakeCasketBlock.java @@ -114,12 +114,12 @@ public void appendHoverText(ItemStack stack, Item.TooltipContext context, List 0) { ItemStack itemstack = new ItemStack(this); itemstack.applyComponents(DataComponentPatch.builder().set(TFDataComponents.CASKET_DAMAGE.get(), state.getValue(BREAKAGE)).build()); return itemstack; } - return super.getCloneItemStack(state, target, level, pos, player); + return super.getCloneItemStack(level, pos, state, includeData, player); } } diff --git a/src/main/java/twilightforest/block/RedThreadBlock.java b/src/main/java/twilightforest/block/RedThreadBlock.java index 981125a81e..1756f716b3 100644 --- a/src/main/java/twilightforest/block/RedThreadBlock.java +++ b/src/main/java/twilightforest/block/RedThreadBlock.java @@ -29,11 +29,6 @@ public boolean canBeReplaced(BlockState state, BlockPlaceContext ctx) { return ctx.getItemInHand().is(TFBlocks.RED_THREAD.asItem()); } - @Override - public MultifaceSpreader getSpreader() { - return new MultifaceSpreader(this); - } - @Override public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new RedThreadBlockEntity(pos, state); diff --git a/src/main/java/twilightforest/block/SkullChestBlock.java b/src/main/java/twilightforest/block/SkullChestBlock.java index 8ebb545d88..f4cd09f889 100644 --- a/src/main/java/twilightforest/block/SkullChestBlock.java +++ b/src/main/java/twilightforest/block/SkullChestBlock.java @@ -64,10 +64,8 @@ protected MapCodec codec() { } @Override - @SuppressWarnings("deprecation") public RenderShape getRenderShape(BlockState state) { - // ENTITYBLOCK_ANIMATED uses only the BlockEntityRender while MODEL uses both the BER and baked model - return state.getValue(BlockLoggingEnum.MULTILOGGED).getBlock() == Blocks.AIR ? RenderShape.ENTITYBLOCK_ANIMATED : RenderShape.MODEL; + return RenderShape.MODEL; } @Override diff --git a/src/main/java/twilightforest/block/SortLogCoreBlock.java b/src/main/java/twilightforest/block/SortLogCoreBlock.java index e0aad76033..13a23ec502 100644 --- a/src/main/java/twilightforest/block/SortLogCoreBlock.java +++ b/src/main/java/twilightforest/block/SortLogCoreBlock.java @@ -135,7 +135,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { double x = diff.x - 0.25D + rand.nextDouble() * 0.5D; double y = diff.y - 1.75D + rand.nextDouble() * 0.5D; double z = diff.z - 0.25D + rand.nextDouble() * 0.5D; - particlePacket.queueParticle(TFParticleType.SORTING_PARTICLE.get(), false, xyz, new Vec3(x, y, z).scale(1D / diff.length())); + particlePacket.queueParticle(TFParticleType.SORTING_PARTICLE.get(), xyz, new Vec3(x, y, z).scale(1D / diff.length())); PacketDistributor.sendToPlayersNear(level, null, xyz.x(), xyz.y(), xyz.z(), 64.0D, particlePacket); break; } diff --git a/src/main/java/twilightforest/block/TimeLogCoreBlock.java b/src/main/java/twilightforest/block/TimeLogCoreBlock.java index 5ae848290b..ae2dc33a2d 100644 --- a/src/main/java/twilightforest/block/TimeLogCoreBlock.java +++ b/src/main/java/twilightforest/block/TimeLogCoreBlock.java @@ -66,7 +66,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { Vec3 xyz = Vec3.atCenterOf(dPos); ParticlePacket particlePacket = new ParticlePacket(); double yOffset = state.getOcclusionShape().max(Direction.Axis.Y); - particlePacket.queueParticle(TFParticleType.LOG_CORE_PARTICLE.get(), false, xyz.add(0.0, yOffset - 0.5, 0.0), new Vec3(0.953, 0.698, 0.0)); + particlePacket.queueParticle(TFParticleType.LOG_CORE_PARTICLE.get(), xyz.add(0.0, yOffset - 0.5, 0.0), new Vec3(0.953, 0.698, 0.0)); PacketDistributor.sendToPlayersNear(level, null, xyz.x(), xyz.y(), xyz.z(), 64.0D, particlePacket); } } diff --git a/src/main/java/twilightforest/block/TransLogCoreBlock.java b/src/main/java/twilightforest/block/TransLogCoreBlock.java index ec1725999d..7bbc54da3d 100644 --- a/src/main/java/twilightforest/block/TransLogCoreBlock.java +++ b/src/main/java/twilightforest/block/TransLogCoreBlock.java @@ -78,7 +78,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { for (int j = 0; j < 9; j++) { float angle = rand.nextFloat() * 360.0F; Vec3 offset = new Vec3(Math.cos(angle), 0.0D, Math.sin(angle)).scale(2.0D); - particlePacket.queueParticle(TFParticleType.TRANSFORMATION_PARTICLE.get(), false, xyz.add(offset), Vec3.ZERO.subtract(offset)); + particlePacket.queueParticle(TFParticleType.TRANSFORMATION_PARTICLE.get(), xyz.add(offset), Vec3.ZERO.subtract(offset)); } PacketDistributor.sendToPlayersNear(level, null, xyz.x(), xyz.y(), xyz.z(), 64.0D, particlePacket); break; diff --git a/src/main/java/twilightforest/block/entity/bookshelf/ChiseledCanopyShelfBlockEntity.java b/src/main/java/twilightforest/block/entity/bookshelf/ChiseledCanopyShelfBlockEntity.java index 2545a80046..e600958982 100644 --- a/src/main/java/twilightforest/block/entity/bookshelf/ChiseledCanopyShelfBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/bookshelf/ChiseledCanopyShelfBlockEntity.java @@ -93,11 +93,6 @@ public boolean triggerEvent(int id, int type) { return this.spawner.onEventTriggered(this.level, id) || super.triggerEvent(id, type); } - @Override - public boolean onlyOpCanSetNbt() { - return true; - } - @Override public void setEntityId(EntityType type, RandomSource random) { this.spawner.setEntityId(type, this.level, random, this.worldPosition); diff --git a/src/main/java/twilightforest/block/entity/spawner/SinisterSpawnerBlockEntity.java b/src/main/java/twilightforest/block/entity/spawner/SinisterSpawnerBlockEntity.java index 65cb7029bf..4edaf3ec23 100644 --- a/src/main/java/twilightforest/block/entity/spawner/SinisterSpawnerBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/spawner/SinisterSpawnerBlockEntity.java @@ -84,11 +84,6 @@ public boolean triggerEvent(int id, int type) { return this.spawner.onEventTriggered(this.level, id) || super.triggerEvent(id, type); } - @Override - public boolean onlyOpCanSetNbt() { - return true; - } - @Override public void setEntityId(EntityType type, RandomSource random) { this.spawner.setEntityId(type, this.level, random, this.worldPosition); diff --git a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java index f4639019fe..3df40ed02b 100644 --- a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java +++ b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java @@ -4,6 +4,8 @@ import com.mojang.blaze3d.platform.TextureUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.AbstractTexture; +import net.minecraft.client.renderer.texture.ReloadableTexture; +import net.minecraft.client.renderer.texture.TextureContents; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; @@ -18,7 +20,7 @@ public class TextureGeneratorReloadListener implements ResourceManagerReloadListener { public static final TextureGeneratorReloadListener INSTANCE = new TextureGeneratorReloadListener(); - private static final Map BOAT_CACHE = new HashMap<>(); + private static final Map BOAT_CACHE = new HashMap<>(); private static final AtomicReference ref = new AtomicReference<>(); private static final List TF_BOATS = List.of("twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", "sorting"); @@ -59,15 +61,16 @@ public void onResourceManagerReload(ResourceManager manager) { ref.set(newImage); if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).load(manager); + BOAT_CACHE.get(type).loadContents(manager); } else { - AbstractTexture texture = new AbstractTexture() { + ReloadableTexture texture = new ReloadableTexture(location) { @Override - public void load(ResourceManager resourceManager) { + public TextureContents loadContents(ResourceManager resourceManager) { if (ref.get() == null) - return; + return TextureContents.createMissing(); TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), false, false, false, true); + ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); + return new TextureContents(ref.get(), null); } }; Minecraft.getInstance().getTextureManager().register(location, texture); @@ -84,15 +87,16 @@ public void load(ResourceManager resourceManager) { ref.set(tfImage); if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).load(manager); + BOAT_CACHE.get(type).loadContents(manager); } else { - AbstractTexture texture = new AbstractTexture() { + ReloadableTexture texture = new ReloadableTexture(location) { @Override - public void load(ResourceManager resourceManager) { + public TextureContents loadContents(ResourceManager resourceManager) { if (ref.get() == null) - return; + return TextureContents.createMissing(); TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), false, false, false, true); + ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); + return new TextureContents(ref.get(), null); } }; Minecraft.getInstance().getTextureManager().register(location, texture); diff --git a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java index 504b05aa7c..d907d648fd 100644 --- a/src/main/java/twilightforest/client/TwilightForestRenderInfo.java +++ b/src/main/java/twilightforest/client/TwilightForestRenderInfo.java @@ -56,8 +56,8 @@ public boolean renderSky(ClientLevel level, int ticks, float partialTick, Matrix } @Override - public boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTick, LightTexture lightTexture, double camX, double camY, double camZ) { - return TFWeatherRenderer.renderSnowAndRain(level, ticks, partialTick, lightTexture, new Vec3(camX, camY, camZ)); + public boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTick, double camX, double camY, double camZ) { + return TFWeatherRenderer.renderSnowAndRain(level, ticks, partialTick, new Vec3(camX, camY, camZ)); } @Override diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index ea68927403..da8c222d90 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -17,6 +17,7 @@ import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.sounds.MusicInfo; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; @@ -27,6 +28,7 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; +import net.minecraft.util.random.SimpleWeightedRandomList; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -68,6 +70,7 @@ import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Optional; public class ClientEvents { private static final VoxelShape GIANT_BLOCK = Shapes.box(0.0D, 0.0D, 0.0D, 4.0D, 4.0D, 4.0D); @@ -113,13 +116,6 @@ public static void initGameEvents() { private static void handleGameBootup(ScreenEvent.Init.Post event) { if (firstTitleScreenShown || !(event.getScreen() instanceof TitleScreen)) return; - // Registering this resource listener earlier than the main screen will cause a crash - // Yes, crashing happens if registered to RegisterClientReloadListenersEvent - if (Minecraft.getInstance().getResourceManager() instanceof ReloadableResourceManager resourceManager) { - resourceManager.registerReloadListener(ISTER.INSTANCE.get()); - TwilightForestMod.LOGGER.debug("Registered ISTER listener"); - } - if (RegistrationEvents.isOptifinePresent() && !TFConfig.disableOptifineNagScreen) { Minecraft.getInstance().setScreen(new OptifineWarningScreen(event.getScreen())); } @@ -141,9 +137,16 @@ private static void customizeSplashes(ScreenEvent.Init.Post event) { } private static void setMusicInDimension(SelectMusicEvent event) { - Music music = event.getOriginalMusic(); - if (Minecraft.getInstance().level != null && Minecraft.getInstance().player != null && (music == Musics.CREATIVE || music == Musics.UNDER_WATER) && TFDimension.isTwilightWorldOnClient(Minecraft.getInstance().level)) { - event.setMusic(Minecraft.getInstance().level.getBiomeManager().getNoiseBiomeAtPosition(Minecraft.getInstance().player.blockPosition()).value().getBackgroundMusic().orElse(Musics.GAME)); + MusicInfo music = event.getOriginalMusic(); + if (Minecraft.getInstance().level != null && Minecraft.getInstance().player != null && (music.music() == Musics.CREATIVE || music.music() == Musics.UNDER_WATER) && TFDimension.isTwilightWorldOnClient(Minecraft.getInstance().level)) { + Optional> optional = Minecraft.getInstance().level.getBiomeManager().getNoiseBiomeAtPosition(Minecraft.getInstance().player.blockPosition()).value().getBackgroundMusic(); + + if (optional.isPresent()) { + Optional optional1 = optional.get().getRandomValue(Minecraft.getInstance().level.getRandom()); + event.setMusic(new MusicInfo(optional1.orElse(null), music.volume())); + } else { + event.setMusic(new MusicInfo(Musics.GAME)); + } } } diff --git a/src/main/java/twilightforest/client/event/ColorHandler.java b/src/main/java/twilightforest/client/event/ColorHandler.java index e13c83f8eb..d2ec27a1cd 100644 --- a/src/main/java/twilightforest/client/event/ColorHandler.java +++ b/src/main/java/twilightforest/client/event/ColorHandler.java @@ -140,12 +140,12 @@ protected static void registerBlockColors(RegisterColorHandlersEvent.Block event return 0xFF000000 | ColorUtil.hsvToRGB(0.1f, 1f - f, (f + 2f) / 3f); } }, TFBlocks.TOWERWOOD.get(), TFBlocks.CRACKED_TOWERWOOD.get(), TFBlocks.INFESTED_TOWERWOOD.get(), TFBlocks.MOSSY_TOWERWOOD.get()); - event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? BiomeColors.getAverageFoliageColor(getter, pos) : FoliageColor.getDefaultColor(), TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.HARDENED_DARK_LEAVES.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.FALLEN_LEAVES.get()); - event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? CANOPY_COLORIZER.apply(BiomeColors.getAverageFoliageColor(getter, pos)) : FoliageColor.getEvergreenColor(), TFBlocks.CANOPY_LEAVES.get()); - event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? MANGROVE_COLORIZER.apply(BiomeColors.getAverageFoliageColor(getter, pos)) : FoliageColor.getBirchColor(), TFBlocks.MANGROVE_LEAVES.get()); + event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? BiomeColors.getAverageFoliageColor(getter, pos) : FoliageColor.FOLIAGE_DEFAULT, TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.HARDENED_DARK_LEAVES.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.FALLEN_LEAVES.get()); + event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? CANOPY_COLORIZER.apply(BiomeColors.getAverageFoliageColor(getter, pos)) : FoliageColor.FOLIAGE_EVERGREEN, TFBlocks.CANOPY_LEAVES.get()); + event.register((state, getter, pos, tintIndex) -> getter != null && pos != null ? MANGROVE_COLORIZER.apply(BiomeColors.getAverageFoliageColor(getter, pos)) : FoliageColor.FOLIAGE_BIRCH, TFBlocks.MANGROVE_LEAVES.get()); event.register((state, getter, pos, tintIndex) -> { if (getter == null || pos == null) { - return FoliageColor.getDefaultColor(); + return FoliageColor.FOLIAGE_DEFAULT; } else { // RAINBOW! int red = pos.getX() * 32 + pos.getY() * 16; @@ -169,7 +169,7 @@ protected static void registerBlockColors(RegisterColorHandlersEvent.Block event return 0xFF000000 | red << 16 | green << 8 | blue; } }, TFBlocks.RAINBOW_OAK_LEAVES.get()); - event.register((state, getter, pos, tintIndex) -> FoliageColor.getEvergreenColor(), TFBlocks.BEANSTALK_LEAVES.get(), TFBlocks.THORN_LEAVES.get()); + event.register((state, getter, pos, tintIndex) -> FoliageColor.FOLIAGE_EVERGREEN, TFBlocks.BEANSTALK_LEAVES.get(), TFBlocks.THORN_LEAVES.get()); event.register((state, getter, pos, tintIndex) -> { if (tintIndex != 0) { return getter != null && pos != null ? BiomeColors.getAverageGrassColor(getter, pos) : GrassColor.getDefaultColor(); @@ -189,7 +189,7 @@ protected static void registerBlockColors(RegisterColorHandlersEvent.Block event if (getter != null && pos != null) { return BiomeColors.getAverageFoliageColor(getter, pos); } else { - return FoliageColor.getDefaultColor(); + return FoliageColor.FOLIAGE_DEFAULT; } } }, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE.get(), @@ -210,24 +210,24 @@ protected static void registerBlockColors(RegisterColorHandlersEvent.Block event event.register((state, getter, pos, tintIndex) -> 0xFF0DDEFF, TFBlocks.BLUE_FORCE_FIELD.get()); } - protected static void registerItemColors(RegisterColorHandlersEvent.Item event) { - BlockColors blockColors = event.getBlockColors(); - - event.register((stack, tintIndex) -> stack.getItem() instanceof BlockItem blocc ? blockColors.getColor(blocc.getBlock().defaultBlockState(), null, null, tintIndex) : -1, - TFBlocks.AURORA_BLOCK.get(), TFBlocks.AURORA_PILLAR.get(), TFBlocks.AURORA_SLAB.get(), TFBlocks.AURORALIZED_GLASS.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.SMOKER.get(), TFBlocks.FIRE_JET.get(), - TFBlocks.TIME_LEAVES.get(), TFBlocks.TRANSFORMATION_LEAVES.get(), TFBlocks.MINING_LEAVES.get(), TFBlocks.SORTING_LEAVES.get(), TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.CANOPY_LEAVES.get(), TFBlocks.MANGROVE_LEAVES.get(), TFBlocks.RAINBOW_OAK_LEAVES.get(), TFBlocks.THORN_LEAVES.get(), TFBlocks.BEANSTALK_LEAVES.get(), - TFBlocks.FALLEN_LEAVES.get(), TFBlocks.FIDDLEHEAD.get(), TFBlocks.POTTED_FIDDLEHEAD.get(), TFBlocks.PINK_CASTLE_RUNE_BRICK.get(), TFBlocks.BLUE_CASTLE_RUNE_BRICK.get(), TFBlocks.YELLOW_CASTLE_RUNE_BRICK.get(), TFBlocks.VIOLET_CASTLE_RUNE_BRICK.get(), - TFBlocks.YELLOW_CASTLE_DOOR.get(), TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.PINK_FORCE_FIELD.get(), TFBlocks.BLUE_FORCE_FIELD.get(), TFBlocks.GREEN_FORCE_FIELD.get(), TFBlocks.ORANGE_FORCE_FIELD.get(), TFBlocks.VIOLET_FORCE_FIELD.get(), TFBlocks.HUGE_LILY_PAD.get(), - TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), /*TFBlocks.HEDGE_MAZE_MINIATURE_STRUCTURE.get(), TFBlocks.HOLLOW_HILL_MINIATURE_STRUCTURE.get(), TFBlocks.QUEST_GROVE_MINIATURE_STRUCTURE.get(), TFBlocks.MUSHROOM_TOWER_MINIATURE_STRUCTURE.get(),*/ TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get()//, TFBlocks.MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE.get(), - /*TFBlocks.HYDRA_LAIR_MINIATURE_STRUCTURE.get(), TFBlocks.GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE.get(), TFBlocks.DARK_TOWER_MINIATURE_STRUCTURE.get(), TFBlocks.YETI_CAVE_MINIATURE_STRUCTURE.get(), TFBlocks.AURORA_PALACE_MINIATURE_STRUCTURE.get(), TFBlocks.TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE.get(), TFBlocks.FINAL_CASTLE_MINIATURE_STRUCTURE.get()*/); - - event.register((stack, index) -> index != 1 ? -1 : DyedItemColor.getOrDefault(stack, ArcticArmorItem.DEFAULT_COLOR), TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); - - event.register((stack, index) -> { - if (index > 0) return -1; - var contents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); - if (contents.potion().potion().isEmpty()) return -1; - return contents.potion().getColor(); - }, TFItems.BRITTLE_FLASK.get(), TFItems.GREATER_FLASK.get()); - } +// protected static void registerItemColors(RegisterColorHandlersEvent.Item event) { +// BlockColors blockColors = event.getBlockColors(); +// +// event.register((stack, tintIndex) -> stack.getItem() instanceof BlockItem blocc ? blockColors.getColor(blocc.getBlock().defaultBlockState(), null, null, tintIndex) : -1, +// TFBlocks.AURORA_BLOCK.get(), TFBlocks.AURORA_PILLAR.get(), TFBlocks.AURORA_SLAB.get(), TFBlocks.AURORALIZED_GLASS.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.SMOKER.get(), TFBlocks.FIRE_JET.get(), +// TFBlocks.TIME_LEAVES.get(), TFBlocks.TRANSFORMATION_LEAVES.get(), TFBlocks.MINING_LEAVES.get(), TFBlocks.SORTING_LEAVES.get(), TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.CANOPY_LEAVES.get(), TFBlocks.MANGROVE_LEAVES.get(), TFBlocks.RAINBOW_OAK_LEAVES.get(), TFBlocks.THORN_LEAVES.get(), TFBlocks.BEANSTALK_LEAVES.get(), +// TFBlocks.FALLEN_LEAVES.get(), TFBlocks.FIDDLEHEAD.get(), TFBlocks.POTTED_FIDDLEHEAD.get(), TFBlocks.PINK_CASTLE_RUNE_BRICK.get(), TFBlocks.BLUE_CASTLE_RUNE_BRICK.get(), TFBlocks.YELLOW_CASTLE_RUNE_BRICK.get(), TFBlocks.VIOLET_CASTLE_RUNE_BRICK.get(), +// TFBlocks.YELLOW_CASTLE_DOOR.get(), TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.PINK_FORCE_FIELD.get(), TFBlocks.BLUE_FORCE_FIELD.get(), TFBlocks.GREEN_FORCE_FIELD.get(), TFBlocks.ORANGE_FORCE_FIELD.get(), TFBlocks.VIOLET_FORCE_FIELD.get(), TFBlocks.HUGE_LILY_PAD.get(), +// TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), /*TFBlocks.HEDGE_MAZE_MINIATURE_STRUCTURE.get(), TFBlocks.HOLLOW_HILL_MINIATURE_STRUCTURE.get(), TFBlocks.QUEST_GROVE_MINIATURE_STRUCTURE.get(), TFBlocks.MUSHROOM_TOWER_MINIATURE_STRUCTURE.get(),*/ TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get()//, TFBlocks.MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE.get(), +// /*TFBlocks.HYDRA_LAIR_MINIATURE_STRUCTURE.get(), TFBlocks.GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE.get(), TFBlocks.DARK_TOWER_MINIATURE_STRUCTURE.get(), TFBlocks.YETI_CAVE_MINIATURE_STRUCTURE.get(), TFBlocks.AURORA_PALACE_MINIATURE_STRUCTURE.get(), TFBlocks.TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE.get(), TFBlocks.FINAL_CASTLE_MINIATURE_STRUCTURE.get()*/); +// +// event.register((stack, index) -> index != 1 ? -1 : DyedItemColor.getOrDefault(stack, ArcticArmorItem.DEFAULT_COLOR), TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); +// +// event.register((stack, index) -> { +// if (index > 0) return -1; +// var contents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); +// if (contents.potion().potion().isEmpty()) return -1; +// return contents.potion().getColor(); +// }, TFItems.BRITTLE_FLASK.get(), TFItems.GREATER_FLASK.get()); +// } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 765d8d2750..f8852ba916 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -18,8 +18,6 @@ import net.minecraft.client.renderer.entity.ZombieRenderer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.entity.state.PlayerRenderState; -import net.minecraft.client.renderer.item.ClampedItemPropertyFunction; -import net.minecraft.client.renderer.item.ItemProperties; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; @@ -64,7 +62,6 @@ import twilightforest.client.model.block.leaves.BakedLeavesModel; import twilightforest.client.model.block.patch.PatchModelLoader; import twilightforest.client.model.entity.*; -import twilightforest.client.model.item.TrollsteinnModel; import twilightforest.client.particle.*; import twilightforest.client.renderer.PotionFlaskTooltipComponent; import twilightforest.client.renderer.block.*; @@ -73,7 +70,6 @@ import twilightforest.client.renderer.entity.layers.ShieldLayer; import twilightforest.client.renderer.map.ConqueredMapIconRenderer; import twilightforest.client.renderer.map.MagicMapPlayerIconRenderer; -import twilightforest.components.item.PotionFlaskComponent; import twilightforest.init.*; import twilightforest.item.*; import twilightforest.item.mapdata.TFMagicMapData; @@ -103,10 +99,9 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegistrationEvents::registerClientExtensions); bus.addListener(RegistrationEvents::registerMapDecorators); bus.addListener(RegistrationEvents::registerParticleFactories); - bus.addListener((RegisterRenderStateModifiersEvent event) -> registerCustomRenderData(event)); + bus.addListener(RegistrationEvents::registerCustomRenderData); bus.addListener(ColorHandler::registerBlockColors); - bus.addListener(ColorHandler::registerItemColors); bus.addListener(OverlayHandler::registerOverlays); @@ -115,7 +110,7 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegisterClientTooltipComponentFactoriesEvent.class, event -> event.register(BrittleFlaskItem.Tooltip.class, PotionFlaskTooltipComponent::new)); } - private static void registerModelLoaders(ModelEvent.RegisterGeometryLoaders event) { + private static void registerModelLoaders(ModelEvent.RegisterLoaders event) { event.register(TwilightForestMod.prefix("patch"), PatchModelLoader.INSTANCE); event.register(TwilightForestMod.prefix("giant_block"), GiantBlockModelLoader.INSTANCE); event.register(TwilightForestMod.prefix("force_field"), ForceFieldModelLoader.INSTANCE); @@ -125,163 +120,160 @@ private static void registerModelLoaders(ModelEvent.RegisterGeometryLoaders even } private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { - ItemProperties.register(TFItems.CUBE_OF_ANNIHILATION.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> - stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); - - ItemProperties.register(TFItems.KNIGHTMETAL_SHIELD.get(), ResourceLocation.parse("blocking"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.MOON_DIAL.get(), ResourceLocation.parse("phase"), new ClampedItemPropertyFunction() { - @Override - public float unclampedCall(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entityBase, int idk) { - boolean flag = entityBase != null; - Entity entity = flag ? entityBase : stack.getFrame(); - - if (level == null && entity != null) level = (ClientLevel) entity.level(); - - return level == null ? 0.0F : (float) (level.dimensionType().natural() ? Mth.frac(level.getMoonPhase() / 8.0f) : this.wobble(level, Math.random())); - } - - double rotation; - double rota; - long lastUpdateTick; - - private double wobble(Level level, double rotation) { - if (level.getGameTime() != this.lastUpdateTick) { - this.lastUpdateTick = level.getGameTime(); - double delta = rotation - this.rotation; - delta = Mth.positiveModulo(delta + 0.5D, 1.0D) - 0.5D; - this.rota += delta * 0.1D; - this.rota *= 0.9D; - this.rotation = Mth.positiveModulo(this.rotation + this.rota, 1.0D); - } - return this.rotation; - } - }); - - ItemProperties.register(TFItems.ORE_METER.get(), TwilightForestMod.prefix("active"), (stack, level, entity, idk) -> { - if (OreMeterItem.isLoading(stack)) { - int totalLoadTime = OreMeterItem.LOAD_TIME + OreMeterItem.getRange(stack) * 25; - int progress = OreMeterItem.getLoadProgress(stack); - return progress % 5 >= 2 + (int) (Math.random() * 2) && progress <= totalLoadTime - 15 ? 1 : 0; - } - return stack.has(TFDataComponents.ORE_DATA) ? 1 : 0; - }); - - ItemProperties.register(TFItems.MOONWORM_QUEEN.get(), TwilightForestMod.prefix("alt"), (stack, level, entity, idk) -> { - if (entity != null && entity.getUseItem() == stack) { - int useTime = stack.getUseDuration(entity) - entity.getUseItemRemainingTicks(); - if (useTime >= MoonwormQueenItem.FIRING_TIME && (useTime >>> 1) % 2 == 0) { - return 1; - } - } - return 0; - }); - - ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { - if (entity == null) return 0.0F; - else - return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; - }); - - ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { - if (entity == null) return 0.0F; - else - return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; - }); - - ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { - if (entity == null) return 0.0F; - else - return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; - }); - - ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { - if (entity == null) return 0.0F; - else - return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; - }); - - ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { - if (entity == null) return 0.0F; - else { - ItemStack itemstack = entity.getUseItem(); - return !itemstack.isEmpty() ? (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F : 0.0F; - } - }); - - ItemProperties.register(TFBlocks.RED_THREAD.get().asItem(), TwilightForestMod.prefix("size"), (stack, level, entity, idk) -> { - if (stack.getCount() >= 32) { - return 1.0F; - } else if (stack.getCount() >= 16) { - return 0.5F; - } else if (stack.getCount() >= 4) { - return 0.25F; - } - return 0.0F; - }); - - ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); - - ItemProperties.register(TFItems.BLOCK_AND_CHAIN.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> - stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); - - ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.THINK, (stack, level, entity, idk) -> - stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("think") ? 1 : 0); - - ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.FULL, (stack, level, entity, idk) -> - stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("full") ? 1 : 0); - - ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("breakage"), (stack, level, entity, i) -> - stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).breakage()); - - ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> - stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); - - ItemProperties.register(TFItems.GREATER_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> - stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); - - ItemProperties.register(TFItems.CRUMBLE_HORN.get(), TwilightForestMod.prefix("tooting"), (stack, world, entity, i) -> - entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F - ); - - Map models = event.getModels(); +// ItemProperties.register(TFItems.CUBE_OF_ANNIHILATION.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> +// stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); +// +// ItemProperties.register(TFItems.KNIGHTMETAL_SHIELD.get(), ResourceLocation.parse("blocking"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.MOON_DIAL.get(), ResourceLocation.parse("phase"), new ClampedItemPropertyFunction() { +// @Override +// public float unclampedCall(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entityBase, int idk) { +// boolean flag = entityBase != null; +// Entity entity = flag ? entityBase : stack.getFrame(); +// +// if (level == null && entity != null) level = (ClientLevel) entity.level(); +// +// return level == null ? 0.0F : (float) (level.dimensionType().natural() ? Mth.frac(level.getMoonPhase() / 8.0f) : this.wobble(level, Math.random())); +// } +// +// double rotation; +// double rota; +// long lastUpdateTick; +// +// private double wobble(Level level, double rotation) { +// if (level.getGameTime() != this.lastUpdateTick) { +// this.lastUpdateTick = level.getGameTime(); +// double delta = rotation - this.rotation; +// delta = Mth.positiveModulo(delta + 0.5D, 1.0D) - 0.5D; +// this.rota += delta * 0.1D; +// this.rota *= 0.9D; +// this.rotation = Mth.positiveModulo(this.rotation + this.rota, 1.0D); +// } +// return this.rotation; +// } +// }); +// +// ItemProperties.register(TFItems.ORE_METER.get(), TwilightForestMod.prefix("active"), (stack, level, entity, idk) -> { +// if (OreMeterItem.isLoading(stack)) { +// int totalLoadTime = OreMeterItem.LOAD_TIME + OreMeterItem.getRange(stack) * 25; +// int progress = OreMeterItem.getLoadProgress(stack); +// return progress % 5 >= 2 + (int) (Math.random() * 2) && progress <= totalLoadTime - 15 ? 1 : 0; +// } +// return stack.has(TFDataComponents.ORE_DATA) ? 1 : 0; +// }); +// +// ItemProperties.register(TFItems.MOONWORM_QUEEN.get(), TwilightForestMod.prefix("alt"), (stack, level, entity, idk) -> { +// if (entity != null && entity.getUseItem() == stack) { +// int useTime = stack.getUseDuration(entity) - entity.getUseItemRemainingTicks(); +// if (useTime >= MoonwormQueenItem.FIRING_TIME && (useTime >>> 1) % 2 == 0) { +// return 1; +// } +// } +// return 0; +// }); +// +// ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { +// if (entity == null) return 0.0F; +// else +// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; +// }); +// +// ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { +// if (entity == null) return 0.0F; +// else +// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; +// }); +// +// ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { +// if (entity == null) return 0.0F; +// else +// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; +// }); +// +// ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { +// if (entity == null) return 0.0F; +// else +// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; +// }); +// +// ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { +// if (entity == null) return 0.0F; +// else { +// ItemStack itemstack = entity.getUseItem(); +// return !itemstack.isEmpty() ? (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F : 0.0F; +// } +// }); +// +// ItemProperties.register(TFBlocks.RED_THREAD.get().asItem(), TwilightForestMod.prefix("size"), (stack, level, entity, idk) -> { +// if (stack.getCount() >= 32) { +// return 1.0F; +// } else if (stack.getCount() >= 16) { +// return 0.5F; +// } else if (stack.getCount() >= 4) { +// return 0.25F; +// } +// return 0.0F; +// }); +// +// ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); +// +// ItemProperties.register(TFItems.BLOCK_AND_CHAIN.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> +// stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); +// +// ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.THINK, (stack, level, entity, idk) -> +// stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("think") ? 1 : 0); +// +// ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.FULL, (stack, level, entity, idk) -> +// stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("full") ? 1 : 0); +// +// ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("breakage"), (stack, level, entity, i) -> +// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).breakage()); +// +// ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> +// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); +// +// ItemProperties.register(TFItems.GREATER_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> +// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); +// +// ItemProperties.register(TFItems.CRUMBLE_HORN.get(), TwilightForestMod.prefix("tooting"), (stack, world, entity, i) -> +// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F +// ); + + Map models = event.getBakingResult().blockStateModels(); List> leavesModels = models.entrySet().stream() .filter(entry -> entry.getKey().id().getNamespace().equals(TwilightForestMod.ID) && entry.getKey().id().getPath().contains("leaves") && !entry.getKey().id().getPath().contains("dark")).toList(); leavesModels.forEach(entry -> models.put(entry.getKey(), new BakedLeavesModel(entry.getValue()))); - BakedModel oldModel = event.getModels().get(ModelResourceLocation.inventory(TwilightForestMod.prefix("trollsteinn"))); - models.put(ModelResourceLocation.inventory(TwilightForestMod.prefix("trollsteinn")), new TrollsteinnModel(oldModel)); - BakedModel defaultReactorDebrisModel = event.getModels().get(new ModelResourceLocation(ResourceLocation.withDefaultNamespace("netherrack"), "")); + BakedModel defaultReactorDebrisModel = models.get(new ModelResourceLocation(ResourceLocation.withDefaultNamespace("netherrack"), "")); models.put(new ModelResourceLocation(TwilightForestMod.prefix("reactor_debris"), ""), new ReactorDebrisModel(defaultReactorDebrisModel)); } private static void registerAdditionalModels(ModelEvent.RegisterAdditional event) { event.register(ShieldLayer.LOC); - event.register(ModelResourceLocation.standalone(TwilightForestMod.prefix("item/trophy"))); - event.register(ModelResourceLocation.standalone(TwilightForestMod.prefix("item/trophy_minor"))); - event.register(ModelResourceLocation.standalone(TwilightForestMod.prefix("item/trophy_quest"))); - event.register(TrollsteinnModel.LIT_TROLLSTEINN); + event.register(TwilightForestMod.prefix("item/trophy")); + event.register(TwilightForestMod.prefix("item/trophy_minor")); + event.register(TwilightForestMod.prefix("item/trophy_quest")); for (JarRenderer.LidResource lid : JarRenderer.LID_LOCATION_LIST.get()) { ResourceLocation location = lid.resourceLocation(); String name = location.getPath(); if (lid.customPath() != null) name = lid.customPath(); - event.register(ModelResourceLocation.standalone(TwilightForestMod.prefix("block/lid/" + name))); + event.register(TwilightForestMod.prefix("block/lid/" + name)); } } @@ -289,7 +281,7 @@ private static void cacheJarLids(ModelEvent.BakingCompleted event) { JarRenderer.LID_LOCATION_LIST.get().forEach((lid) -> { String name = lid.resourceLocation().getPath(); if (lid.customPath() != null) name = lid.customPath(); - JarRenderer.LIDS.put(lid.lid(), event.getModels().get(ModelResourceLocation.standalone(TwilightForestMod.prefix("block/lid/" + name)))); + JarRenderer.LIDS.put(lid.lid(), event.getBakingResult().standaloneModels().get(TwilightForestMod.prefix("block/lid/" + name))); }); } diff --git a/src/main/java/twilightforest/client/model/block/BrazierModel.java b/src/main/java/twilightforest/client/model/block/BrazierModel.java index 7780b8ca22..fb2ed34ec7 100644 --- a/src/main/java/twilightforest/client/model/block/BrazierModel.java +++ b/src/main/java/twilightforest/client/model/block/BrazierModel.java @@ -1,7 +1,5 @@ package twilightforest.client.model.block; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -12,24 +10,9 @@ import net.minecraft.client.renderer.RenderType; public class BrazierModel extends Model { - private final ModelPart leg1; - private final ModelPart leg2; - private final ModelPart leg3; - private final ModelPart leg4; - private final ModelPart basket; - private final ModelPart charcoal; - private final ModelPart rope; public BrazierModel(ModelPart root) { super(root, RenderType::entityCutoutNoCull); - - this.leg1 = root.getChild("leg1"); - this.leg2 = root.getChild("leg2"); - this.leg3 = root.getChild("leg3"); - this.leg4 = root.getChild("leg4"); - this.basket = root.getChild("basket"); - this.charcoal = root.getChild("charcoal"); - this.rope = root.getChild("rope"); } public static LayerDefinition create() { diff --git a/src/main/java/twilightforest/client/model/block/ReactorDebrisModel.java b/src/main/java/twilightforest/client/model/block/ReactorDebrisModel.java index c20f05f337..25d2195401 100644 --- a/src/main/java/twilightforest/client/model/block/ReactorDebrisModel.java +++ b/src/main/java/twilightforest/client/model/block/ReactorDebrisModel.java @@ -4,11 +4,11 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.client.resources.model.DelegateBakedModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.model.BakedModelWrapper; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.data.ModelProperty; import org.jetbrains.annotations.NotNull; @@ -16,7 +16,7 @@ import twilightforest.client.renderer.block.ReactorDebrisRenderer; -public class ReactorDebrisModel extends BakedModelWrapper { +public class ReactorDebrisModel extends DelegateBakedModel { public static final ModelProperty TEXTURE_FOR_PARTICLE = new ModelProperty<>(); public ReactorDebrisModel(BakedModel defaultModel) { super(defaultModel); diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModel.java b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModel.java index 25883af7d1..c015a1a537 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModel.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModel.java @@ -3,12 +3,12 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.client.resources.model.DelegateBakedModel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.model.BakedModelWrapper; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.data.ModelProperty; import org.jetbrains.annotations.Nullable; @@ -16,7 +16,7 @@ import java.util.List; -public class NoiseVaryingModel extends BakedModelWrapper { +public class NoiseVaryingModel extends DelegateBakedModel { private static final ModelProperty VARIANT = new ModelProperty<>(); private final BakedModel[] variants; diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java index 26f1848f0e..c8d9320e41 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java @@ -1,27 +1,23 @@ package twilightforest.client.model.block.aurorablock; -import com.google.common.base.Preconditions; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder; -import net.neoforged.neoforge.client.model.generators.ModelBuilder; -import net.neoforged.neoforge.client.model.generators.ModelFile; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import twilightforest.TwilightForestMod; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class NoiseVaryingModelBuilder> extends CustomLoaderBuilder { - private final List variants = new ArrayList<>(); +public class NoiseVaryingModelBuilder extends CustomLoaderBuilder { + private final List variants = new ArrayList<>(); - public NoiseVaryingModelBuilder(T parent, ExistingFileHelper existingFileHelper) { - super(TwilightForestMod.prefix("noise_varying"), parent, existingFileHelper, false); + public NoiseVaryingModelBuilder() { + super(TwilightForestMod.prefix("noise_varying"), false); } - public NoiseVaryingModelBuilder add(T builder) { + public NoiseVaryingModelBuilder add(T builder) { builder.assertExistence(); this.variants.add(builder); @@ -29,19 +25,12 @@ public NoiseVaryingModelBuilder add(T builder) { return this; } - public NoiseVaryingModelBuilder addAll(T[] builders) { + public NoiseVaryingModelBuilder addAll(T[] builders) { Arrays.stream(builders).forEach(this::add); return this; } - @Override - public T end() { - Preconditions.checkArgument(!this.variants.isEmpty(), "Noise Varying builder cannot have zero variants."); - - return super.end(); - } - @Override public JsonObject toJson(JsonObject json) { JsonObject mainJson = super.toJson(json); diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java index 5c79b1ea5a..0c828ea27b 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java @@ -4,12 +4,12 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; import java.util.ArrayList; import java.util.List; -public class NoiseVaryingModelLoader implements IGeometryLoader { +public class NoiseVaryingModelLoader implements UnbakedModelLoader { public static final NoiseVaryingModelLoader INSTANCE = new NoiseVaryingModelLoader(); private NoiseVaryingModelLoader() { diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java index 7a7fa5e07a..1159f96852 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java @@ -1,19 +1,16 @@ package twilightforest.client.model.block.aurorablock; import net.minecraft.client.renderer.block.model.BlockModel; -import net.minecraft.client.renderer.block.model.ItemOverride; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.client.renderer.block.model.ItemTransforms; +import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; -public class UnbakedNoiseVaryingModel implements IUnbakedGeometry { +public class UnbakedNoiseVaryingModel implements UnbakedModel { private final String[] importVariants; private final List variants; @@ -23,7 +20,7 @@ public UnbakedNoiseVaryingModel(String[] variants) { } @Override - public void resolveDependencies(UnbakedModel.Resolver modelGetter, IGeometryBakingContext context) { + public void resolveDependencies(UnbakedModel.Resolver modelGetter) { for (String variant : this.importVariants) { BlockModel checkedParent = resolveParent(modelGetter, variant); @@ -42,12 +39,12 @@ private static BlockModel resolveParent(UnbakedModel.Resolver modelGetter, Strin } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { BakedModel[] bakedVariants = new BakedModel[this.importVariants.length]; for (int i = 0; i < bakedVariants.length; i++) { BlockModel variant = this.variants.get(i); - bakedVariants[i] = variant.bake(baker, spriteGetter, modelState); + bakedVariants[i] = variant.bake(textureSlots, baker, modelState, hasAmbientOcclusion, useBlockLight, transforms); } return new NoiseVaryingModel(bakedVariants); diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java index b6548da59f..13ba4b948f 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java +++ b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java @@ -1,17 +1,20 @@ package twilightforest.client.model.block.carpet; -import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder; -import net.neoforged.neoforge.client.model.generators.ModelBuilder; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import twilightforest.TwilightForestMod; -public class RoyalRagsBuilder> extends CustomLoaderBuilder { +public class RoyalRagsBuilder extends CustomLoaderBuilder { - protected RoyalRagsBuilder(T parent, ExistingFileHelper existingFileHelper) { - super(TwilightForestMod.prefix("royal_rags"), parent, existingFileHelper, false); + protected RoyalRagsBuilder() { + super(TwilightForestMod.prefix("royal_rags"), false); } - public static > RoyalRagsBuilder begin(T parent, ExistingFileHelper helper) { - return new RoyalRagsBuilder<>(parent, helper); + public static RoyalRagsBuilder begin() { + return new RoyalRagsBuilder(); + } + + @Override + protected CustomLoaderBuilder copyInternal() { + return new RoyalRagsBuilder(); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java index f73af20a25..7fca73cb5a 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java @@ -3,9 +3,9 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; -public class RoyalRagsModelLoader implements IGeometryLoader { +public class RoyalRagsModelLoader implements UnbakedModelLoader { @Deprecated // FIXME: Generalize alongside with CastleDoor models public static final RoyalRagsModelLoader INSTANCE = new RoyalRagsModelLoader(); diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java index 550e3672d5..1d3abf069b 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java @@ -1,25 +1,14 @@ package twilightforest.client.model.block.carpet; -import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; +import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.SimpleModelState; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; -import net.neoforged.neoforge.client.model.geometry.UnbakedGeometryHelper; import org.apache.commons.lang3.mutable.MutableObject; import org.joml.Vector3f; import twilightforest.client.model.block.connected.ConnectedTextureModel; import twilightforest.client.model.block.connected.ConnectionLogic; -import twilightforest.client.model.block.connected.UnbakedConnectedTextureModel; import twilightforest.init.TFBlocks; import java.lang.reflect.Array; @@ -27,10 +16,9 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; -import java.util.function.Function; //FIXME remove this once the connected texture loader supports custom geometry -public class UnbakedRoyalRagsModel implements IUnbakedGeometry { +public class UnbakedRoyalRagsModel implements UnbakedModel { private final BlockElement[][] baseElements; private final BlockElement[][][] faceElements; @@ -65,28 +53,27 @@ public UnbakedRoyalRagsModel() { } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { - Transformation transformation = context.getRootTransform(); - - if (!transformation.isIdentity()) { - modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); - } + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { +// Transformation transformation = context.getRootTransform(); +// if (!transformation.isIdentity()) { +// modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); +// } @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 4); - TextureAtlasSprite baseTexture = spriteGetter.apply(context.getMaterial("wool")); + TextureAtlasSprite baseTexture = baker.findSprite(textureSlots, "wool"); for (Direction direction : Direction.Plane.HORIZONTAL) { baseQuads[direction.get2DDataValue()] = new ArrayList<>(); for (BlockElement element : this.baseElements[direction.get2DDataValue()]) { - baseQuads[direction.get2DDataValue()].add(UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, direction, modelState, element.rotation, element.shade, element.lightEmission)); + baseQuads[direction.get2DDataValue()].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, direction, modelState, element.rotation, element.shade, element.lightEmission)); } } //we'll use this to figure out which texture to use with the Connected Texture logic //NONE uses the first one, everything else uses the 2nd one - TextureAtlasSprite[] sprites = new TextureAtlasSprite[]{spriteGetter.apply(context.getMaterial("wool")), spriteGetter.apply(context.getMaterial("wool_ctm"))}; + TextureAtlasSprite[] sprites = new TextureAtlasSprite[]{baker.findSprite(textureSlots, "wool"), baker.findSprite(textureSlots, "wool_ctm")}; BakedQuad[][][] quads = new BakedQuad[2][4][5]; @@ -94,13 +81,16 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); + quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); } } } - ResourceLocation renderTypeHint = context.getRenderTypeHint(); - RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, spriteGetter.apply(context.getMaterial("wool")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); + return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, baker.findSprite(textureSlots, "wool"), transforms); + } + + @Override + public void resolveDependencies(Resolver resolver) { + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java index 1abfe6c3f9..9e9cdfc8d2 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java @@ -6,20 +6,18 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder; -import net.neoforged.neoforge.client.model.generators.ModelBuilder; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import twilightforest.TwilightForestMod; import java.util.ArrayList; import java.util.List; @SuppressWarnings("unused") -public class ConnectedTextureBuilder> extends CustomLoaderBuilder { +public class ConnectedTextureBuilder extends CustomLoaderBuilder { - private final List enabledFaces = new ArrayList<>(); - private final List connectableBlocks = new ArrayList<>(); - private final List> connectableTags = new ArrayList<>(); + private List enabledFaces = new ArrayList<>(); + private List connectableBlocks = new ArrayList<>(); + private List> connectableTags = new ArrayList<>(); private boolean renderOnDisabledFaces = true; private int baseTintIndex = -1; @@ -27,56 +25,70 @@ public class ConnectedTextureBuilder> extends CustomLo private int tintIndex = -1; private int emissivity = 0; - protected ConnectedTextureBuilder(T parent, ExistingFileHelper existingFileHelper) { - super(TwilightForestMod.prefix("connected_texture_block"), parent, existingFileHelper, false); + protected ConnectedTextureBuilder() { + super(TwilightForestMod.prefix("connected_texture_block"), false); } - public static > ConnectedTextureBuilder begin(T parent, ExistingFileHelper helper) { - return new ConnectedTextureBuilder<>(parent, helper); + public static ConnectedTextureBuilder begin() { + return new ConnectedTextureBuilder(); } - public ConnectedTextureBuilder addConnectionFaces(Direction... faces) { + public ConnectedTextureBuilder addConnectionFaces(Direction... faces) { this.enabledFaces.addAll(List.of(faces)); return this; } - public ConnectedTextureBuilder disableRenderingOnDisabledFaces() { + public ConnectedTextureBuilder disableRenderingOnDisabledFaces() { this.renderOnDisabledFaces = false; return this; } - public ConnectedTextureBuilder setBaseTintIndex(int index) { + public ConnectedTextureBuilder setBaseTintIndex(int index) { this.baseTintIndex = index; return this; } - public ConnectedTextureBuilder setOverlayTintIndex(int index) { + public ConnectedTextureBuilder setOverlayTintIndex(int index) { this.tintIndex = index; return this; } - public ConnectedTextureBuilder setBaseEmissivity(int value) { + public ConnectedTextureBuilder setBaseEmissivity(int value) { this.baseEmissivity = value; return this; } - public ConnectedTextureBuilder setOverlayEmissivity(int value) { + public ConnectedTextureBuilder setOverlayEmissivity(int value) { this.emissivity = value; return this; } - public final ConnectedTextureBuilder connectsTo(Block... blocks) { + public final ConnectedTextureBuilder connectsTo(Block... blocks) { this.connectableBlocks.addAll(List.of(blocks)); return this; } @SuppressWarnings("varargs") @SafeVarargs - public final ConnectedTextureBuilder connectsTo(TagKey... blocks) { + public final ConnectedTextureBuilder connectsTo(TagKey... blocks) { this.connectableTags.addAll(List.of(blocks)); return this; } + @Override + protected ConnectedTextureBuilder copyInternal() { + ConnectedTextureBuilder builder = new ConnectedTextureBuilder(); + builder.enabledFaces = List.copyOf(this.enabledFaces); + builder.connectableBlocks = List.copyOf(this.connectableBlocks); + builder.connectableTags = List.copyOf(this.connectableTags); + builder.renderOnDisabledFaces = this.renderOnDisabledFaces; + builder.baseTintIndex = this.baseTintIndex; + builder.baseEmissivity = this.baseEmissivity; + builder.tintIndex = this.tintIndex; + builder.emissivity = this.emissivity; + return builder; + } + @Override public JsonObject toJson(JsonObject json) { json = super.toJson(json); diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index 127262bdfc..b32ef31fe0 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -1,7 +1,6 @@ package twilightforest.client.model.block.connected; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.ItemTransforms; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -32,26 +31,18 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final List@Nullable[] baseQuads; private final BakedQuad[][][] quads; private final TextureAtlasSprite particle; - private final BakedOverrides overrides; private final ItemTransforms transforms; - @Nullable - private final ChunkRenderTypeSet blockRenderTypes; - @Nullable - private final List itemRenderTypes; private final List validConnectors; private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, BakedOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { + public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemTransforms transforms) { this.enabledFaces = enabledFaces; this.renderOnDisabledFaces = renderOnDisabledFaces; this.validConnectors = connectableBlocks; this.baseQuads = baseQuads; this.quads = quads; this.particle = particle; - this.overrides = overrides; this.transforms = transforms; - this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; - this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; } @NotNull @@ -133,40 +124,18 @@ public boolean usesBlockLight() { return true; } - @Override - public boolean isCustomRenderer() { - return false; - } - @NotNull @Override public TextureAtlasSprite getParticleIcon() { return this.particle; } - @Override - public BakedOverrides overrides() { - return this.overrides; - } - @NotNull @Override public ItemTransforms getTransforms() { return this.transforms; } - @NotNull - @Override - public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { - return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); - } - - @NotNull - @Override - public List getRenderTypes(@NotNull ItemStack stack) { - return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); - } - private static final class ConnectedTextureData { private final ConnectionLogic[][] logic = new ConnectionLogic[6][4]; diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index 8bdbb964ad..090ffd2766 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -12,13 +12,13 @@ import net.minecraft.util.GsonHelper; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; -public class ConnectedTextureModelLoader implements IGeometryLoader { +public class ConnectedTextureModelLoader implements UnbakedModelLoader { public static final ConnectedTextureModelLoader INSTANCE = new ConnectedTextureModelLoader(); public ConnectedTextureModelLoader() { diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 1ff683e797..1b3f41900b 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -1,23 +1,11 @@ package twilightforest.client.model.block.connected; -import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; +import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.ExtraFaceData; -import net.neoforged.neoforge.client.model.SimpleModelState; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; -import net.neoforged.neoforge.client.model.geometry.UnbakedGeometryHelper; -import org.apache.commons.lang3.mutable.MutableObject; import org.joml.Vector3f; import java.lang.reflect.Array; @@ -25,16 +13,14 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; -import java.util.function.Function; -public class UnbakedConnectedTextureModel implements IUnbakedGeometry { +public class UnbakedConnectedTextureModel implements UnbakedModel { private final boolean renderOnDisabledFaces; private final EnumSet enabledFaces; private final List connectableBlocks; private final BlockElement[][] baseElements; private final BlockElement[][][] faceElements; - public static final FaceBakery FACE_BAKERY = new FaceBakery(); public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity) { //a list of block faces that should have connected textures. @@ -68,23 +54,23 @@ public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean ren } @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { - Transformation transformation = context.getRootTransform(); - if (!transformation.isIdentity()) { - modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); - } + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { +// Transformation transformation = context.getRootTransform(); +// if (!transformation.isIdentity()) { +// modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); +// } @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 6); - if (context.hasMaterial("base_texture")) { - TextureAtlasSprite baseTexture = spriteGetter.apply(context.getMaterial("base_texture")); + if (textureSlots.getMaterial("base_texture") != null) { + TextureAtlasSprite baseTexture = baker.findSprite(textureSlots, "base_texture"); for (int dir = 0; dir < 6; dir++) { baseQuads[dir] = new ArrayList<>(); for (BlockElement element : this.baseElements[dir]) { - baseQuads[dir].add(FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission)); + baseQuads[dir].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission)); } } } else { @@ -93,8 +79,8 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio //we'll use this to figure out which texture to use with the Connected Texture logic //NONE uses the first one, everything else uses the 2nd one - TextureAtlasSprite[] sprites = new TextureAtlasSprite[]{spriteGetter.apply(context.getMaterial("overlay_texture")), spriteGetter.apply(context.getMaterial("overlay_connected")), spriteGetter.apply(context.getMaterial("particle"))}; - if (!context.hasMaterial("particle")) { + TextureAtlasSprite[] sprites = new TextureAtlasSprite[]{baker.findSprite(textureSlots, "overlay_texture"), baker.findSprite(textureSlots, "overlay_connected"), baker.findSprite(textureSlots, "particle")}; + if (textureSlots.getMaterial("particle") == null) { sprites[2] = sprites[0]; } @@ -104,13 +90,16 @@ public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Functio for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = FACE_BAKERY.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); + quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); } } } - ResourceLocation renderTypeHint = context.getRenderTypeHint(); - RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); + return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], transforms); + } + + @Override + public void resolveDependencies(Resolver resolver) { + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java index 539043888c..1e99f3f54b 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java @@ -4,22 +4,16 @@ import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BlockModelRotation; -import net.minecraft.client.resources.model.Material; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; import net.minecraft.util.StringRepresentable; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.ChunkRenderTypeSet; -import net.neoforged.neoforge.client.RenderTypeGroup; import net.neoforged.neoforge.client.model.IDynamicBakedModel; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.data.ModelProperty; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import twilightforest.block.ForceFieldBlock; @@ -29,28 +23,13 @@ public class ForceFieldModel implements IDynamicBakedModel { private static final ModelProperty DATA = new ModelProperty<>(); - private static final FaceBakery FACE_BAKERY = new FaceBakery(); private final Map parts; - private final Function spriteFunction; - private final IGeometryBakingContext context; - private final TextureAtlasSprite particle; - private final BakedOverrides overrides; - @Nullable - private final ChunkRenderTypeSet blockRenderTypes; - @Nullable - private final List itemRenderTypes; - - public ForceFieldModel(Map parts, Function spriteFunction, IGeometryBakingContext context, BakedOverrides overrides) { + private final Function spriteFunction; + + public ForceFieldModel(Map parts, Function spriteFunction, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms) { this.parts = parts; this.spriteFunction = spriteFunction; - this.context = context; - this.particle = spriteFunction.apply(context.getMaterial("particle")); - this.overrides = overrides; - ResourceLocation renderTypeHint = context.getRenderTypeHint(); - RenderTypeGroup group = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; - this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; } @Override @@ -75,8 +54,8 @@ public ForceFieldModel(Map parts, if (blockelementface != null && blockelementface.cullForDirection() != null == cull) { if (ForceFieldModel.skipRender(data.directions(), entry.getValue().direction(), entry.getValue().b(), entry.getValue().parents(), side)) continue; - TextureAtlasSprite sprite = this.spriteFunction.apply(context.getMaterial(blockelementface.texture())); - quads.add(FACE_BAKERY.bakeQuad( + TextureAtlasSprite sprite = this.spriteFunction.apply(blockelementface.texture()); + quads.add(FaceBakery.bakeQuad( entry.getKey().from, entry.getKey().to, blockelementface, @@ -166,22 +145,17 @@ public static List getExtraDirections(BlockState state, BlockGet @Override public boolean useAmbientOcclusion() { - return this.context.useAmbientOcclusion(); + return true; } @Override public boolean isGui3d() { - return this.context.isGui3d(); + return false; } @Override public boolean usesBlockLight() { - return this.context.useBlockLight(); - } - - @Override - public boolean isCustomRenderer() { - return false; + return true; } @Override @@ -189,28 +163,10 @@ public TextureAtlasSprite getParticleIcon() { return this.particle; } - @Override - public BakedOverrides overrides() { - return this.overrides; - } - @NotNull @Override - @SuppressWarnings("deprecation") public ItemTransforms getTransforms() { - return this.context.getTransforms(); - } - - @NotNull - @Override - public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { - return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); - } - - @NotNull - @Override - public List getRenderTypes(@NotNull ItemStack stack) { - return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); + return this.transforms; } public enum ExtraDirection implements StringRepresentable { diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java index 9aba988b37..46ab3386dc 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java @@ -15,9 +15,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.neoforged.neoforge.client.model.ExtraFaceData; -import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder; -import net.neoforged.neoforge.client.model.generators.ModelBuilder; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import org.apache.commons.lang3.mutable.MutableObject; import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; @@ -28,19 +26,19 @@ import java.util.function.BiConsumer; import java.util.stream.Collectors; -public class ForceFieldModelBuilder> extends CustomLoaderBuilder { - protected final List elements = new ArrayList<>(); +public class ForceFieldModelBuilder extends CustomLoaderBuilder { + protected List elements = new ArrayList<>(); - public static > ForceFieldModelBuilder begin(T parent, ExistingFileHelper helper) { - return new ForceFieldModelBuilder<>(parent, helper); + public static ForceFieldModelBuilder begin() { + return new ForceFieldModelBuilder(); } - private ForceFieldModelBuilder self() { + private ForceFieldModelBuilder self() { return this; } - protected ForceFieldModelBuilder(T parent, ExistingFileHelper helper) { - super(TwilightForestMod.prefix("force_field"), parent, helper, false); + protected ForceFieldModelBuilder() { + super(TwilightForestMod.prefix("force_field"), false); } public ForceFieldElementBuilder forceFieldElement() { @@ -49,6 +47,13 @@ public ForceFieldElementBuilder forceFieldElement() { return ret; } + @Override + protected CustomLoaderBuilder copyInternal() { + ForceFieldModelBuilder builder = new ForceFieldModelBuilder(); + builder.elements = this.elements; + return builder; + } + @Override @SuppressWarnings({"ConstantConditions", "OptionalGetWithoutIsPresent"}) public JsonObject toJson(JsonObject json) { @@ -276,7 +281,7 @@ BlockElement build() { return new BlockElement(from, to, faces, this.rotation == null ? null : this.rotation.build(), this.shade, this.skyLight, new ExtraFaceData(this.color, this.blockLight, this.skyLight, this.hasAmbientOcclusion)); } - public ForceFieldModelBuilder end() { + public ForceFieldModelBuilder end() { return self(); } diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java index 24044f889c..65a88bb3da 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java @@ -6,7 +6,7 @@ import com.google.gson.JsonParseException; import net.minecraft.client.renderer.block.model.BlockElement; import net.minecraft.util.GsonHelper; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; import org.jetbrains.annotations.Nullable; import twilightforest.client.model.block.forcefield.ForceFieldModel.ExtraDirection; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; -public class ForceFieldModelLoader implements IGeometryLoader { +public class ForceFieldModelLoader implements UnbakedModelLoader { public static final ForceFieldModelLoader INSTANCE = new ForceFieldModelLoader(); @Override diff --git a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java index b4324826f0..d19fdcc552 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java @@ -1,24 +1,23 @@ package twilightforest.client.model.block.forcefield; -import net.minecraft.client.renderer.block.model.BakedOverrides; import net.minecraft.client.renderer.block.model.BlockElement; -import net.minecraft.client.renderer.block.model.ItemOverride; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; +import net.minecraft.client.renderer.block.model.ItemTransforms; +import net.minecraft.client.renderer.block.model.TextureSlots; +import net.minecraft.client.resources.model.*; +import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.model.ExtendedUnbakedModel; -import java.util.List; import java.util.Map; -import java.util.function.Function; -public record UnbakedForceFieldModel(Map elementsAndConditions) implements IUnbakedGeometry { +public record UnbakedForceFieldModel(Map elementsAndConditions) implements ExtendedUnbakedModel { @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { - return new ForceFieldModel(this.elementsAndConditions, spriteGetter, context, new BakedOverrides(baker, overrides, spriteGetter)); + public BakedModel bake(TextureSlots textures, ModelBaker baker, ModelState modelState, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { + return new ForceFieldModel(this.elementsAndConditions, s -> baker.findSprite(textures, s), useAmbientOcclusion, usesBlockLight, itemTransforms); + } + + @Override + public void resolveDependencies(Resolver resolver) { + } } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java index 8d69a00af8..f2701a41b0 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java @@ -5,33 +5,32 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder; -import net.neoforged.neoforge.client.model.generators.ModelBuilder; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import twilightforest.TwilightForestMod; -public class GiantBlockBuilder> extends CustomLoaderBuilder { +public class GiantBlockBuilder extends CustomLoaderBuilder { - public static > GiantBlockBuilder begin(T parent, ExistingFileHelper helper) { - return new GiantBlockBuilder<>(parent, helper); + public static GiantBlockBuilder begin() { + return new GiantBlockBuilder(); } private ResourceLocation parentBlock; - protected GiantBlockBuilder(T parent, ExistingFileHelper helper) { - super(TwilightForestMod.prefix("giant_block"), parent, helper, false); + protected GiantBlockBuilder() { + super(TwilightForestMod.prefix("giant_block"), false); } - public GiantBlockBuilder parentBlock(Block block) { + public GiantBlockBuilder parentBlock(Block block) { Preconditions.checkNotNull(block, "parent block must not be null"); this.parentBlock = BuiltInRegistries.BLOCK.getKey(block); return this; } @Override - public T end() { - Preconditions.checkNotNull(this.parentBlock, "giant block must have a parent block"); - return super.end(); + protected CustomLoaderBuilder copyInternal() { + GiantBlockBuilder builder = new GiantBlockBuilder(); + builder.parentBlock = parentBlock; + return builder; } @Override diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java index f596f13fb2..51fb8dfb9f 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java @@ -28,24 +28,15 @@ public class GiantBlockModel implements IDynamicBakedModel { private static final ModelProperty DATA = new ModelProperty<>(); - private static final FaceBakery FACE_BAKERY = new FaceBakery(); private final TextureAtlasSprite[] textures; private final TextureAtlasSprite particle; - private final BakedOverrides overrides; private final ItemTransforms transforms; - @Nullable - private final ChunkRenderTypeSet blockRenderTypes; - @Nullable - private final List itemRenderTypes; - public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, BakedOverrides overrides, ItemTransforms transforms, RenderTypeGroup group) { + public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, ItemTransforms transforms) { this.textures = texture; this.particle = particle; - this.overrides = overrides; this.transforms = transforms; - this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; - this.itemRenderTypes = !group.isEmpty() ? List.of(group.entity()) : null; } @Override @@ -59,7 +50,7 @@ public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle TextureAtlasSprite sprite = this.textures[this.textures.length > 1 ? side.ordinal() : 0]; if (!Iterables.contains(GiantBlock.getVolume(pos), pos.offset(side.getUnitVec3i()))) { - quads.add(FACE_BAKERY.bakeQuad(new Vector3f(0.0F, 0.0F, 0.0F), new Vector3f(16.0F, 16.0F, 16.0F), new BlockElementFace(side, side.ordinal(), side.name(), new BlockFaceUV(new float[]{0.0F + coords.x, 0.0F + coords.z, 4.0F + coords.x, 4.0F + coords.z}, 0)), sprite, side, BlockModelRotation.X0_Y0, null, true, 0)); + quads.add(FaceBakery.bakeQuad(new Vector3f(0.0F, 0.0F, 0.0F), new Vector3f(16.0F, 16.0F, 16.0F), new BlockElementFace(side, side.ordinal(), side.name(), new BlockFaceUV(new float[]{0.0F + coords.x, 0.0F + coords.z, 4.0F + coords.x, 4.0F + coords.z}, 0)), sprite, side, BlockModelRotation.X0_Y0, null, true, 0)); } } @@ -133,39 +124,17 @@ public boolean usesBlockLight() { return true; } - @Override - public boolean isCustomRenderer() { - return false; - } - @Override public TextureAtlasSprite getParticleIcon() { return this.particle; } - @Override - public BakedOverrides overrides() { - return this.overrides; - } - @NotNull @Override public ItemTransforms getTransforms() { return this.transforms; } - @NotNull - @Override - public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { - return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); - } - - @NotNull - @Override - public List getRenderTypes(@NotNull ItemStack stack) { - return this.itemRenderTypes != null ? this.itemRenderTypes : IDynamicBakedModel.super.getRenderTypes(stack); - } - //modeldata holder public record GiantBlockData(BlockAndTintGetter getter, BlockPos pos) { } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java index a6efceb46b..d5bdd62b0a 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java @@ -4,9 +4,9 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; -public class GiantBlockModelLoader implements IGeometryLoader { +public class GiantBlockModelLoader implements UnbakedModelLoader { public static final GiantBlockModelLoader INSTANCE = new GiantBlockModelLoader(); diff --git a/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java index ce953edaf8..c37558983d 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/UnbakedGiantBlockModel.java @@ -1,40 +1,35 @@ package twilightforest.client.model.block.giantblock; -import net.minecraft.client.renderer.block.model.BakedOverrides; -import net.minecraft.client.renderer.block.model.ItemOverride; +import net.minecraft.client.renderer.block.model.ItemTransforms; +import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; +import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; import java.util.ArrayList; -import java.util.List; import java.util.Locale; -import java.util.function.Function; -public record UnbakedGiantBlockModel(ResourceLocation parent) implements IUnbakedGeometry { +public record UnbakedGiantBlockModel(ResourceLocation parent) implements UnbakedModel { @Override - public BakedModel bake(IGeometryBakingContext context, ModelBaker baker, Function spriteGetter, ModelState modelState, List overrides) { + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { TextureAtlasSprite[] sprites; - if (context.hasMaterial("all")) { - sprites = new TextureAtlasSprite[]{spriteGetter.apply(context.getMaterial("all"))}; + if (textureSlots.getMaterial("all") != null) { + sprites = new TextureAtlasSprite[]{baker.findSprite(textureSlots, "all")}; } else { ArrayList materials = new ArrayList<>(); for (Direction dir : Direction.values()) { - materials.add(spriteGetter.apply(context.getMaterial(dir.getName().toLowerCase(Locale.ROOT)))); + materials.add(baker.findSprite(textureSlots, dir.getName().toLowerCase(Locale.ROOT))); } sprites = materials.toArray(new TextureAtlasSprite[]{}); } - ResourceLocation renderTypeHint = context.getRenderTypeHint(); - RenderTypeGroup renderTypes = renderTypeHint != null ? context.getRenderType(renderTypeHint) : RenderTypeGroup.EMPTY; - return new GiantBlockModel(sprites, spriteGetter.apply(context.getMaterial("particle")), new BakedOverrides(baker, overrides, spriteGetter), context.getTransforms(), renderTypes); + return new GiantBlockModel(sprites, baker.findSprite(textureSlots, "particle"), transforms); + } + + @Override + public void resolveDependencies(Resolver resolver) { + } } diff --git a/src/main/java/twilightforest/client/model/block/leaves/BakedLeavesModel.java b/src/main/java/twilightforest/client/model/block/leaves/BakedLeavesModel.java index 1a66e84fa8..9cb48680e4 100644 --- a/src/main/java/twilightforest/client/model/block/leaves/BakedLeavesModel.java +++ b/src/main/java/twilightforest/client/model/block/leaves/BakedLeavesModel.java @@ -4,18 +4,18 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.client.resources.model.DelegateBakedModel; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.client.ChunkRenderTypeSet; -import net.neoforged.neoforge.client.model.BakedModelWrapper; import net.neoforged.neoforge.client.model.data.ModelData; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -public class BakedLeavesModel extends BakedModelWrapper { +public class BakedLeavesModel extends DelegateBakedModel { public BakedLeavesModel(BakedModel originalModel) { super(originalModel); diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java index df62ad1e95..6b8146915a 100644 --- a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java @@ -153,7 +153,7 @@ private BakedQuad quadFromVectors(Direction direction, float minX, float minY, f default -> new BlockFaceUV(new float[]{minX, minZ, maxX, maxZ}, 0); }); - return UnbakedConnectedTextureModel.FACE_BAKERY.bakeQuad(new Vector3f(minX, minY, minZ), new Vector3f(maxX, maxY, maxZ), face, this.texture, direction, new SimpleModelState(Transformation.identity()), null, true, 0); + return FaceBakery.bakeQuad(new Vector3f(minX, minY, minZ), new Vector3f(maxX, maxY, maxZ), face, this.texture, direction, new SimpleModelState(Transformation.identity()), null, true, 0); } // --- Boilerplating --------------------------------------------------- @@ -174,8 +174,8 @@ public boolean usesBlockLight() { } @Override - public boolean isCustomRenderer() { - return false; + public ItemTransforms getTransforms() { + return ItemTransforms.NO_TRANSFORMS; } @Override diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java b/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java index ee96e6647e..1727f6880b 100644 --- a/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java @@ -5,9 +5,9 @@ import com.google.gson.JsonParseException; import com.mojang.realmsclient.util.JsonUtils; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; +import net.neoforged.neoforge.client.model.UnbakedModelLoader; -public final class PatchModelLoader implements IGeometryLoader { +public final class PatchModelLoader implements UnbakedModelLoader { public static final PatchModelLoader INSTANCE = new PatchModelLoader(); private PatchModelLoader() { @@ -18,6 +18,6 @@ public UnbakedPatchModel read(JsonObject object, JsonDeserializationContext dese if (!object.has("texture")) throw new JsonParseException("Patch model missing value for 'texture'."); - return new UnbakedPatchModel(ResourceLocation.parse(object.get("texture").getAsString()), JsonUtils.getBooleanOr("shaggify", object, false)); + return new UnbakedPatchModel(JsonUtils.getBooleanOr("shaggify", object, false)); } } diff --git a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java index 9ed982f534..9975af1388 100644 --- a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java @@ -1,26 +1,18 @@ package twilightforest.client.model.block.patch; -import net.minecraft.client.renderer.block.model.ItemOverride; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.InventoryMenu; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; -import net.neoforged.neoforge.client.model.geometry.IUnbakedGeometry; +import net.minecraft.client.renderer.block.model.ItemTransforms; +import net.minecraft.client.renderer.block.model.TextureSlots; +import net.minecraft.client.resources.model.*; -import java.util.List; -import java.util.function.Function; +public record UnbakedPatchModel(boolean shaggify) implements UnbakedModel { -public record UnbakedPatchModel(Material material, boolean shaggify) implements IUnbakedGeometry { - public UnbakedPatchModel(ResourceLocation texture, boolean shaggify) { - this(new Material(InventoryMenu.BLOCK_ATLAS, texture), shaggify); + @Override + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { + return new PatchModel(baker.findSprite(textureSlots, "texture"), this.shaggify()); } @Override - public BakedModel bake(IGeometryBakingContext owner, ModelBaker baker, Function spriteGetter, ModelState modelTransform, List overrides) { - return new PatchModel(spriteGetter.apply(this.material()), this.shaggify()); + public void resolveDependencies(Resolver resolver) { + } } diff --git a/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java b/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java index 1c063033f7..611125ce28 100644 --- a/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java +++ b/src/main/java/twilightforest/client/model/entity/FixedHumanoidModel.java @@ -23,8 +23,8 @@ public FixedHumanoidModel(ModelPart part, float armWidth) { @Override public void setupAnim(T state) { super.setupAnim(state); - HumanoidModel.ArmPose leftPose = this.getArmPose(state, HumanoidArm.LEFT); - HumanoidModel.ArmPose rightPose = this.getArmPose(state, HumanoidArm.RIGHT); + HumanoidModel.ArmPose leftPose = state.leftArmPose; + HumanoidModel.ArmPose rightPose = state.rightArmPose; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index 965433fcb8..4bc96fc6cf 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -189,8 +189,8 @@ private static LayerDefinition createJappaModel() { @Override public void setupAnim(MinoshroomRenderState state) { // copied from HumanoidModel - HumanoidModel.ArmPose leftPose = this.getArmPose(state, HumanoidArm.LEFT); - HumanoidModel.ArmPose rightPose = this.getArmPose(state, HumanoidArm.RIGHT); + HumanoidModel.ArmPose leftPose = state.leftArmPose; + HumanoidModel.ArmPose rightPose = state.rightArmPose; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.hat.yRot = this.head.yRot; diff --git a/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java b/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java deleted file mode 100644 index 90cd7a01ff..0000000000 --- a/src/main/java/twilightforest/client/model/item/TrollsteinnModel.java +++ /dev/null @@ -1,49 +0,0 @@ -package twilightforest.client.model.item; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.block.model.BakedOverrides; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.ModelResourceLocation; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ItemStack; -import net.neoforged.neoforge.client.model.BakedModelWrapper; -import org.jetbrains.annotations.Nullable; -import twilightforest.TwilightForestMod; -import twilightforest.block.TrollsteinnBlock; - -public class TrollsteinnModel extends BakedModelWrapper { - public static final ModelResourceLocation LIT_TROLLSTEINN = ModelResourceLocation.standalone(TwilightForestMod.prefix("item/trollsteinn_light")); - @Nullable - private BakedModel litTrollsteinnModel; - private final BakedOverrides overrides = new BakedOverrides() { - @Override - public @Nullable BakedModel findOverride(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { - if (TrollsteinnModel.this.litTrollsteinnModel == null) - TrollsteinnModel.this.litTrollsteinnModel = Minecraft.getInstance().getModelManager().getModel(LIT_TROLLSTEINN); - - Entity itemEntity = (entity == null) ? stack.getEntityRepresentation() : entity; - - if (level == null || itemEntity == null) { - return TrollsteinnModel.this.originalModel; - } - - int brightness = level.getMaxLocalRawBrightness(itemEntity.blockPosition(), TrollsteinnBlock.calculateServerSkyDarken(level)); - if (brightness > TrollsteinnBlock.LIGHT_THRESHOLD) { - return TrollsteinnModel.this.litTrollsteinnModel; - } else { - return TrollsteinnModel.this.originalModel; - } - } - }; - - public TrollsteinnModel(BakedModel originalModel) { - super(originalModel); - } - - @Override - public BakedOverrides overrides() { - return overrides; - } -} diff --git a/src/main/java/twilightforest/client/model/item/package-info.java b/src/main/java/twilightforest/client/model/item/package-info.java deleted file mode 100644 index 20a25f9701..0000000000 --- a/src/main/java/twilightforest/client/model/item/package-info.java +++ /dev/null @@ -1,9 +0,0 @@ -@FieldsAreNonnullByDefault -@MethodsReturnNonnullByDefault -@ParametersAreNonnullByDefault -package twilightforest.client.model.item; - -import net.minecraft.FieldsAreNonnullByDefault; -import net.minecraft.MethodsReturnNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/client/particle/GhastTearParticle.java b/src/main/java/twilightforest/client/particle/GhastTearParticle.java index b9d7c81205..58b39a8194 100644 --- a/src/main/java/twilightforest/client/particle/GhastTearParticle.java +++ b/src/main/java/twilightforest/client/particle/GhastTearParticle.java @@ -6,11 +6,16 @@ import net.minecraft.client.particle.ParticleProvider; import net.minecraft.client.particle.ParticleRenderType; import net.minecraft.client.particle.TextureSheetParticle; +import net.minecraft.client.renderer.item.ItemStackRenderState; +import net.minecraft.client.renderer.texture.MissingTextureAtlasSprite; +import net.minecraft.client.renderer.texture.TextureAtlas; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.sounds.SoundSource; import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.neoforged.neoforge.client.model.data.ModelData; @@ -20,16 +25,27 @@ public class GhastTearParticle extends TextureSheetParticle { public GhastTearParticle(ClientLevel level, double x, double y, double z, ItemStack stack) { super(level, x, y, z, 0.0D, 0.0D, 0.0D); - var model = Minecraft.getInstance().getItemRenderer().getModel(stack, level, null, 0); - this.setSprite(model.overrides().findOverride(stack, level, null, 0).getParticleIcon(ModelData.EMPTY)); this.rCol = this.gCol = this.bCol = 1.0F; this.quadSize = 2.0F; this.gravity = 0.6F; - - this.lifetime = 60 + random.nextInt(40); + this.lifetime = 60 + this.random.nextInt(40); + TextureAtlasSprite textureatlassprite = this.calculateState(stack, level).pickParticleIcon(this.random); + if (textureatlassprite != null) { + this.setSprite(textureatlassprite); + } else { + this.setSprite(Minecraft.getInstance().getTextureAtlas(TextureAtlas.LOCATION_BLOCKS).apply(MissingTextureAtlasSprite.getLocation())); + } this.hasPhysics = true; } + protected ItemStackRenderState calculateState(ItemStack stack, ClientLevel level) { + var state = new ItemStackRenderState(); + Minecraft.getInstance() + .getItemModelResolver() + .updateForTopItem(state, stack, ItemDisplayContext.GROUND, false, level, null, 0); + return state; + } + @Override public ParticleRenderType getRenderType() { return ParticleRenderType.TERRAIN_SHEET; diff --git a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java index a58227e99e..44f8505034 100644 --- a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java +++ b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java @@ -9,6 +9,7 @@ import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -123,9 +124,9 @@ private void renderPotion(PoseStack stack, int xPosition, int yPosition, int des int red = (color >> 16) & 255; int green = (color >> 8) & 255; int blue = color & 255; - TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(InventoryMenu.BLOCK_ATLAS).apply(IClientFluidTypeExtensions.of(Fluids.WATER).getStillTexture()); + TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(TextureAtlas.LOCATION_BLOCKS).apply(IClientFluidTypeExtensions.of(Fluids.WATER).getStillTexture()); RenderSystem.setShader(CoreShaders.POSITION_TEX); - RenderSystem.setShaderTexture(0, InventoryMenu.BLOCK_ATLAS); + RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS); int xTileCount = desiredWidth / 16; int xRemainder = desiredWidth - (xTileCount * 16); int yTileCount = desiredHeight / 16; diff --git a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java index 5da5566dcc..3a1d5ee0b4 100644 --- a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java @@ -1,6 +1,5 @@ package twilightforest.client.renderer; -import com.mojang.blaze3d.buffers.BufferUsage; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; import net.minecraft.client.Camera; @@ -14,33 +13,31 @@ import java.lang.Math; -public class TFSkyRenderer { +public class TFSkyRenderer implements AutoCloseable { - private static final VertexBuffer starBuffer = createStarBuffer(); + private static final VertexBuffer starBuffer = VertexBuffer.uploadStatic(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION, TFSkyRenderer::buildStars); - // [VanillaCopy] LevelRenderer.renderSky's overworld branch, without sun/moon/sunrise/sunset, using our own stars at full brightness, and lowering void horizon threshold height from getHorizonHeight (63) to 0 + // [VanillaCopy] LevelRenderer.addSkyPass's overworld branch, without sun/moon/sunrise/sunset, using our own stars at full brightness, and lowering void horizon threshold height from getHorizonHeight (63) to 0 public static boolean renderSky(ClientLevel level, float partialTicks, Camera camera, Runnable setupFog) { LevelRenderer levelRenderer = Minecraft.getInstance().levelRenderer; setupFog.run(); - RenderStateShard.MAIN_TARGET.setupRenderState(); - PoseStack posestack = new PoseStack(); + PoseStack posestack = new PoseStack(); //TF: all unused -// Tesselator tesselator = Tesselator.getInstance(); -// float f = level.getSunAngle(partialTicks); -// float f1 = level.getTimeOfDay(partialTicks); -// float f2 = 1.0F - level.getRainLevel(partialTicks); -// float f3 = level.getStarBrightness(partialTicks) * f2; +// float f = this.level.getSunAngle(partialTick); +// float f1 = this.level.getTimeOfDay(partialTick); +// float f2 = 1.0F - this.level.getRainLevel(partialTick); +// float f3 = this.level.getStarBrightness(partialTick) * f2; // int i = dimensionspecialeffects.getSunriseOrSunsetColor(f1); -// int j = level.getMoonPhase(); +// int j = this.level.getMoonPhase(); int k = level.getSkyColor(camera.getPosition(), partialTicks); - float f4 = ARGB.from8BitChannel(ARGB.red(k)); - float f5 = ARGB.from8BitChannel(ARGB.green(k)); - float f6 = ARGB.from8BitChannel(ARGB.blue(k)); + float f4 = ARGB.redFloat(k); + float f5 = ARGB.greenFloat(k); + float f6 = ARGB.blueFloat(k); levelRenderer.skyRenderer.renderSkyDisc(f4, f5, f6); //TF: snip out sunrise and sunset coloring // if (dimensionspecialeffects.isSunriseOrSunset(f1)) { -// levelRenderer.skyRenderer.renderSunriseAndSunset(posestack, tesselator, f, i); +// levelRenderer.skyRenderer.renderSunriseAndSunset(posestack, multibuffersource$buffersource, f, i); // } //TF: replace sun, moon, and star rendering method with our own star renderer @@ -57,38 +54,21 @@ private static boolean shouldDarkenSky(ClientLevel level, Camera camera, float p return camera.getEntity().getEyePosition(partialTicks).y - level.getMinY() < 0.0; } - private static VertexBuffer createStarBuffer() { - VertexBuffer vertexbuffer = new VertexBuffer(BufferUsage.STATIC_WRITE); - vertexbuffer.bind(); - vertexbuffer.upload(drawStars(Tesselator.getInstance())); - VertexBuffer.unbind(); - return vertexbuffer; - } - //[VanillaCopy] of SkyRenderer.renderStars, using our own buffer instead. Coloring was also removed as the stars are always fully bright private static void renderStars(Runnable setupFog, PoseStack stack) { Matrix4fStack matrix = RenderSystem.getModelViewStack(); matrix.pushMatrix(); matrix.mul(stack.last().pose()); RenderSystem.depthMask(false); - RenderSystem.overlayBlendFunc(); - RenderSystem.setShader(CoreShaders.POSITION); - RenderSystem.enableBlend(); RenderSystem.setShaderFog(FogParameters.NO_FOG); - starBuffer.bind(); - starBuffer.drawWithShader(matrix, RenderSystem.getProjectionMatrix(), RenderSystem.getShader()); - VertexBuffer.unbind(); + starBuffer.drawWithRenderType(RenderType.stars()); setupFog.run(); - RenderSystem.disableBlend(); - RenderSystem.defaultBlendFunc(); - RenderSystem.depthMask(true); matrix.popMatrix(); } - // [VanillaCopy] of LevelRenderer.drawStars but with double the number of them - private static MeshData drawStars(Tesselator tesselator) { + // [VanillaCopy] of SkyRenderer.buildStars but with double the number of them + private static void buildStars(VertexConsumer consumer) { RandomSource random = RandomSource.create(10842L); - BufferBuilder bufferbuilder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); // TF - 1500 -> 3000 for (int i = 0; i < 3000; ++i) { @@ -101,13 +81,16 @@ private static MeshData drawStars(Tesselator tesselator) { Vector3f vector3f = new Vector3f(f1, f2, f3).normalize(100.0F); float f6 = (float)(random.nextDouble() * (float) Math.PI * 2.0); Matrix3f matrix3f = new Matrix3f().rotateTowards(new Vector3f(vector3f).negate(), new Vector3f(0.0F, 1.0F, 0.0F)).rotateZ(-f6); - bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(f4, f4, 0.0F).mul(matrix3f).add(vector3f))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, f4, 0.0F).mul(matrix3f).add(vector3f))); - bufferbuilder.addVertex(vector3f.add(new Vector3f(-f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); + consumer.addVertex(vector3f.add(new Vector3f(f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); + consumer.addVertex(vector3f.add(new Vector3f(f4, f4, 0.0F).mul(matrix3f).add(vector3f))); + consumer.addVertex(vector3f.add(new Vector3f(-f4, f4, 0.0F).mul(matrix3f).add(vector3f))); + consumer.addVertex(vector3f.add(new Vector3f(-f4, -f4, 0.0F).mul(matrix3f).add(vector3f))); } } + } - return bufferbuilder.buildOrThrow(); + @Override + public void close() { + starBuffer.close(); } } diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index a7397044c1..1f7eb8e0d7 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -41,8 +41,9 @@ import java.util.Optional; /** - * Copypasta of LevelRenderer.renderRainSnow() hacked to include progression environmental effects + * Copypasta of WeatherEffectRenderer.render() hacked to include progression environmental effects */ +//TODO modernize, weather rendering has changed a lot public class TFWeatherRenderer { public static final ResourceLocation RAIN_TEXTURES = ResourceLocation.withDefaultNamespace("textures/environment/rain.png"); @@ -73,24 +74,23 @@ public class TFWeatherRenderer { } } - public static boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTicks, LightTexture lightmap, Vec3 camera) { + public static boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTicks, Vec3 camera) { Minecraft mc = Minecraft.getInstance(); if (EnforceProgressionStatusPacket.enforcedProgression && mc.player != null && !mc.player.isCreative() && !mc.player.isSpectator()) { // locked biome weather effects - renderLockedBiome(ticks, partialTicks, level, lightmap, mc.player, camera); + renderLockedBiome(ticks, partialTicks, level, mc.player, camera); // locked structures - renderLockedStructure(ticks, partialTicks, lightmap, camera); + renderLockedStructure(ticks, partialTicks, camera); } //render normal weather anyway return false; } - private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel level, LightTexture lightmap, LocalPlayer player, Vec3 camera) { + private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel level, LocalPlayer player, Vec3 camera) { // check nearby for locked biome if (isNearLockedBiome(level, player)) { - lightmap.turnOnLightLayer(); int px = Mth.floor(camera.x()); int py = Mth.floor(camera.y()); @@ -212,14 +212,12 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel RenderSystem.enableCull(); RenderSystem.disableBlend(); - lightmap.turnOffLightLayer(); } } - private static void renderLockedStructure(int ticks, float partialTicks, LightTexture lightmap, Vec3 camera) { + private static void renderLockedStructure(int ticks, float partialTicks, Vec3 camera) { // draw locked structure thing if (isNearLockedStructure(camera.x(), camera.z())) { - lightmap.turnOnLightLayer(); int px = Mth.floor(camera.x()); int py = Mth.floor(camera.y()); int pz = Mth.floor(camera.z()); @@ -294,7 +292,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, LightTe RenderSystem.enableCull(); RenderSystem.disableBlend(); - lightmap.turnOffLightLayer(); } } diff --git a/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java b/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java index 7260ee162a..811a6ca77d 100644 --- a/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/ReactorDebrisRenderer.java @@ -44,7 +44,7 @@ public void render(ReactorDebrisBlockEntity entity, float partialTicks, PoseStac if (entity.getLevel() == null) return; poseStack.pushPose(); - VertexConsumer builder = buffer.getBuffer(RenderType.itemEntityTranslucentCull(InventoryMenu.BLOCK_ATLAS)); + VertexConsumer builder = buffer.getBuffer(RenderType.itemEntityTranslucentCull(TextureAtlas.LOCATION_BLOCKS)); Matrix4f matrix = poseStack.last().pose(); QuadRenderInfo info = new QuadRenderInfo(builder, matrix, light, overlay); diff --git a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java index ee6046b63f..f2b9d5ea2d 100644 --- a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java @@ -20,7 +20,7 @@ public class KnightPhantomRenderer extends HumanoidMobRenderer(this, context.getItemRenderer())); + this.addLayer(new ItemInHandLayer<>(this)); this.addLayer(new HumanoidArmorLayer<>(this, new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new KnightPhantomModel(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } diff --git a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java index 63472dcd5a..74b4108ee5 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java @@ -13,7 +13,9 @@ import net.minecraft.client.renderer.entity.*; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.client.renderer.entity.layers.ItemInHandLayer; +import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; +import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.DefaultPlayerSkin; import net.minecraft.client.resources.PlayerSkin; @@ -39,7 +41,7 @@ public TFGiantRenderer(EntityRendererProvider.Context context) { this.normalModel = this.getModel(); this.slimModel = new GiantModel(context.bakeLayer(ModelLayers.PLAYER_SLIM), true); - this.addLayer(new GiantItemInHandLayer<>(this, context.getItemRenderer())); + this.addLayer(new GiantItemInHandLayer<>(this)); this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } @@ -87,17 +89,15 @@ public void extractRenderState(T entity, GiantRenderState state, float partialTi } } - public static class GiantItemInHandLayer & ArmedModel> extends ItemInHandLayer { - private final ItemRenderer itemRenderer; + public static class GiantItemInHandLayer & ArmedModel> extends ItemInHandLayer { - public GiantItemInHandLayer(RenderLayerParent renderer, ItemRenderer itemRenderer) { - super(renderer, itemRenderer); - this.itemRenderer = itemRenderer; + public GiantItemInHandLayer(RenderLayerParent renderer) { + super(renderer); } @Override - protected void renderArmWithItem(S state, @Nullable BakedModel model, ItemStack item, ItemDisplayContext context, HumanoidArm arm, PoseStack stack, MultiBufferSource source, int light) { - if (!item.isEmpty()) { + protected void renderArmWithItem(S renderState, ItemStackRenderState itemStackRenderState, HumanoidArm arm, PoseStack stack, MultiBufferSource source, int light) { + if (!itemStackRenderState.isEmpty()) { stack.pushPose(); this.getParentModel().translateToHand(arm, stack); stack.mulPose(Axis.XP.rotationDegrees(-90.0F)); @@ -107,7 +107,7 @@ protected void renderArmWithItem(S state, @Nullable BakedModel model, ItemStack stack.translate((float) (flag ? -1 : 1) / 16.0F, 0.0D, -0.5D); // TF - scale items down to accurately match the actual size it would be in a giant's hand stack.scale(0.25F, 0.25F, 0.25F); - this.itemRenderer.render(item, context, flag, stack, source, light, OverlayTexture.NO_OVERLAY, model); + itemStackRenderState.render(stack, source, light, OverlayTexture.NO_OVERLAY); stack.popPose(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java index 910a35a5bc..d143fe20da 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ThrownWepRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.renderer.item.ItemModelResolver; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -14,11 +15,11 @@ public class ThrownWepRenderer extends EntityRenderer { - private final ItemRenderer itemRenderer; + private final ItemModelResolver resolver; public ThrownWepRenderer(EntityRendererProvider.Context context) { super(context); - this.itemRenderer = context.getItemRenderer(); + this.resolver = context.getItemModelResolver(); } @Override @@ -43,8 +44,8 @@ private void renderDroppedItem(PoseStack stack, MultiBufferSource buffer, int li stack.translate(-f9, -f10, -(f12 + f11)); stack.translate(0.0F, 0.0F, f12 + f11); - if (state.itemModel != null) { - this.itemRenderer.render(state.item, ItemDisplayContext.GROUND, false, stack, buffer, light, OverlayTexture.NO_OVERLAY, state.itemModel); + if (state.item.isEmpty()) { + state.item.render(stack, buffer, light, OverlayTexture.NO_OVERLAY); } stack.popPose(); } @@ -57,9 +58,7 @@ public ThrownWepRenderState createRenderState() { @Override public void extractRenderState(ThrownWep entity, ThrownWepRenderState state, float partialTick) { super.extractRenderState(entity, state, partialTick); - ItemStack itemstack = entity.getItem(); - state.itemModel = !itemstack.isEmpty() ? this.itemRenderer.getModel(itemstack, entity.level(), null, entity.getId()) : null; - state.item = itemstack.copy(); + this.resolver.updateForNonLiving(state.item, entity.getItem(), ItemDisplayContext.GROUND, entity); state.yRot = entity.getYRot(partialTick); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java index 37774f06ec..5759d81671 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/ShieldLayer.java @@ -6,13 +6,14 @@ import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.util.context.ContextKey; import net.minecraft.world.entity.LivingEntity; @@ -25,7 +26,7 @@ public class ShieldLayer> extends RenderLayer { - public static final ModelResourceLocation LOC = ModelResourceLocation.standalone(TwilightForestMod.prefix("item/shield")); + public static final ResourceLocation LOC = TwilightForestMod.prefix("item/shield"); private static final Direction[] DIRS = ArrayUtils.add(Direction.values(), null); public static ContextKey SHIELD_COUNT_KEY = new ContextKey<>(TwilightForestMod.prefix("shield_count")); @@ -67,13 +68,13 @@ private void renderShields(PoseStack stack, MultiBufferSource buffer, S state, i // push the shields outwards from the center of rotation stack.translate(0.0F, 0.0F, -0.7F); - BakedModel model = Minecraft.getInstance().getModelManager().getModel(LOC); + BakedModel model = Minecraft.getInstance().getModelManager().getStandaloneModel(LOC); for (Direction dir : DIRS) { - Minecraft.getInstance().getItemRenderer().renderQuadList( + ItemRenderer.renderQuadList( stack, buffer.getBuffer(Sheets.translucentItemSheet()), model.getQuads(null, dir, Minecraft.getInstance().font.random, ModelData.EMPTY, Sheets.translucentItemSheet()), - ItemStack.EMPTY, + new int[0], 0xF000F0, OverlayTexture.NO_OVERLAY ); diff --git a/src/main/java/twilightforest/data/AtlasGenerator.java b/src/main/java/twilightforest/data/AtlasGenerator.java index d34545fbaf..589a5d493a 100644 --- a/src/main/java/twilightforest/data/AtlasGenerator.java +++ b/src/main/java/twilightforest/data/AtlasGenerator.java @@ -4,7 +4,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.SpriteSourceProvider; import twilightforest.TwilightForestMod; import twilightforest.client.MagicPaintingTextureManager; @@ -18,8 +17,8 @@ public class AtlasGenerator extends SpriteSourceProvider { public static final Map MAGIC_PAINTING_HELPER = new HashMap<>(); - public AtlasGenerator(PackOutput output, CompletableFuture provider, ExistingFileHelper helper) { - super(output, provider, TwilightForestMod.ID, helper); + public AtlasGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java index 9adbf435b5..99a12073ab 100644 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ b/src/main/java/twilightforest/data/DataGenerators.java @@ -12,12 +12,10 @@ import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.data.event.GatherDataEvent; import twilightforest.TwilightForestMod; import twilightforest.data.custom.QuestGenerator; import twilightforest.data.custom.stalactites.StalactiteGenerator; -import twilightforest.data.recipes.CraftingGenerator; import twilightforest.data.recipes.CraftingGeneratorRunner; import twilightforest.data.tags.*; @@ -28,52 +26,51 @@ public class DataGenerators { @SubscribeEvent - public static void gatherData(GatherDataEvent event) { + public static void gatherData(GatherDataEvent.Client event) { DataGenerator generator = event.getGenerator(); PackOutput output = event.getGenerator().getPackOutput(); - ExistingFileHelper helper = event.getExistingFileHelper(); //client generators - generator.addProvider(event.includeClient(), new BlockstateGenerator(output, helper)); - generator.addProvider(event.includeClient(), new ItemModelGenerator(output, helper)); - generator.addProvider(event.includeClient(), new ParticleGenerator(output, helper)); - generator.addProvider(event.includeClient(), new SoundGenerator(output, helper)); + //generator.addProvider(true, new BlockstateGenerator(output)); + //generator.addProvider(true, new ItemModelGenerator(output)); + generator.addProvider(true, new ParticleGenerator(output)); + generator.addProvider(true, new SoundGenerator(output)); //registry-based stuff DatapackBuiltinEntriesProvider datapackProvider = new RegistryDataGenerator(output, event.getLookupProvider()); CompletableFuture lookupProvider = datapackProvider.getRegistryProvider(); - generator.addProvider(event.includeServer(), datapackProvider); - generator.addProvider(event.includeServer(), new BiomeTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CustomTagGenerator.BannerPatternTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CustomTagGenerator.DimensionTypeTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CustomTagGenerator.WoodPaletteTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CustomTagGenerator.PaintingVariantTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new DamageTypeTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new StructureTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new TFAdvancementProvider(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new LootGenerator(output, lookupProvider)); + generator.addProvider(true, datapackProvider); + generator.addProvider(true, new BiomeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new CustomTagGenerator.BannerPatternTagGenerator(output, lookupProvider)); + generator.addProvider(true, new CustomTagGenerator.DimensionTypeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new CustomTagGenerator.WoodPaletteTagGenerator(output, lookupProvider)); + generator.addProvider(true, new CustomTagGenerator.PaintingVariantTagGenerator(output, lookupProvider)); + generator.addProvider(true, new DamageTypeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new StructureTagGenerator(output, lookupProvider)); + generator.addProvider(true, new TFAdvancementProvider(output, lookupProvider)); + generator.addProvider(true, new LootGenerator(output, lookupProvider)); //server generators - generator.addProvider(event.includeServer(), new DataMapGenerator(output, lookupProvider)); - generator.addProvider(event.includeServer(), new StalactiteGenerator(output)); - generator.addProvider(event.includeServer(), new TFStructureUpdater("structures", output, helper)); + generator.addProvider(true, new DataMapGenerator(output, lookupProvider)); + generator.addProvider(true, new StalactiteGenerator(output)); + generator.addProvider(true, new TFStructureUpdater("structures", output, event.getResourceManager(PackType.SERVER_DATA))); //normal tags - BlockTagGenerator blocktags = new BlockTagGenerator(output, lookupProvider, helper); - generator.addProvider(event.includeServer(), blocktags); - generator.addProvider(event.includeServer(), new CustomTagGenerator.BlockEntityTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new FluidTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter(), helper)); - generator.addProvider(event.includeServer(), new EntityTagGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeServer(), new CraftingGeneratorRunner(output, lookupProvider)); - generator.addProvider(event.includeServer(), new LootModifierGenerator(output, lookupProvider)); + BlockTagGenerator blocktags = new BlockTagGenerator(output, lookupProvider); + generator.addProvider(true, blocktags); + generator.addProvider(true, new CustomTagGenerator.BlockEntityTagGenerator(output, lookupProvider)); + generator.addProvider(true, new FluidTagGenerator(output, lookupProvider)); + generator.addProvider(true, new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter())); + generator.addProvider(true, new EntityTagGenerator(output, lookupProvider)); + generator.addProvider(true, new CraftingGeneratorRunner(output, lookupProvider)); + generator.addProvider(true, new LootModifierGenerator(output, lookupProvider)); //these have to go last due to magic paintings //when magic paintings are registered their atlas and lang content is too - generator.addProvider(event.includeClient(), new AtlasGenerator(output, lookupProvider, helper)); - generator.addProvider(event.includeClient(), new LangGenerator(output)); + generator.addProvider(true, new AtlasGenerator(output, lookupProvider)); + generator.addProvider(true, new LangGenerator(output)); - generator.addProvider(event.includeServer(), new QuestGenerator(output)); + generator.addProvider(true, new QuestGenerator(output)); //pack.mcmeta generator.addProvider(true, new PackMetadataGenerator(output).add(PackMetadataSection.TYPE, new PackMetadataSection( diff --git a/src/main/java/twilightforest/data/ParticleGenerator.java b/src/main/java/twilightforest/data/ParticleGenerator.java index da38316e26..34a5498b8c 100644 --- a/src/main/java/twilightforest/data/ParticleGenerator.java +++ b/src/main/java/twilightforest/data/ParticleGenerator.java @@ -2,7 +2,6 @@ import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ParticleDescriptionProvider; import twilightforest.TwilightForestMod; import twilightforest.init.TFParticleType; @@ -11,8 +10,8 @@ public class ParticleGenerator extends ParticleDescriptionProvider { - public ParticleGenerator(PackOutput output, ExistingFileHelper helper) { - super(output, helper); + public ParticleGenerator(PackOutput output) { + super(output); } @Override diff --git a/src/main/java/twilightforest/data/SoundGenerator.java b/src/main/java/twilightforest/data/SoundGenerator.java index 9e994e9a38..86fa95b336 100644 --- a/src/main/java/twilightforest/data/SoundGenerator.java +++ b/src/main/java/twilightforest/data/SoundGenerator.java @@ -2,7 +2,6 @@ import net.minecraft.data.PackOutput; import net.minecraft.sounds.SoundEvents; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.SoundDefinition; import twilightforest.TwilightForestMod; import twilightforest.data.helpers.TFSoundProvider; @@ -10,8 +9,8 @@ public class SoundGenerator extends TFSoundProvider { - public SoundGenerator(PackOutput output, ExistingFileHelper helper) { - super(output, helper); + public SoundGenerator(PackOutput output) { + super(output); } @Override diff --git a/src/main/java/twilightforest/data/TFAdvancementGenerator.java b/src/main/java/twilightforest/data/TFAdvancementGenerator.java index 05764b93b0..d3c7d27858 100644 --- a/src/main/java/twilightforest/data/TFAdvancementGenerator.java +++ b/src/main/java/twilightforest/data/TFAdvancementGenerator.java @@ -3,10 +3,9 @@ import net.minecraft.advancements.*; import net.minecraft.advancements.critereon.*; import net.minecraft.core.HolderLookup; -import net.minecraft.core.component.DataComponentPredicate; -import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; +import net.minecraft.data.advancements.AdvancementSubProvider; import net.minecraft.network.chat.Component; import net.minecraft.stats.Stats; import net.minecraft.world.entity.EntityType; @@ -19,8 +18,6 @@ import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition; -import net.neoforged.neoforge.common.data.AdvancementProvider; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.util.Lazy; import twilightforest.TwilightForestMod; import twilightforest.advancements.*; @@ -35,7 +32,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; -public class TFAdvancementGenerator implements AdvancementProvider.AdvancementGenerator { +public class TFAdvancementGenerator implements AdvancementSubProvider { private static final Supplier[]> TF_KILLABLE = Lazy.of(() -> new EntityType[]{TFEntities.ADHERENT.get(), TFEntities.ARMORED_GIANT.get(), TFEntities.BIGHORN_SHEEP.get(), TFEntities.BLOCKCHAIN_GOBLIN.get(), TFEntities.DWARF_RABBIT.get(), TFEntities.DEATH_TOME.get(), TFEntities.DEER.get(), TFEntities.FIRE_BEETLE.get(), TFEntities.GIANT_MINER.get(), TFEntities.LOWER_GOBLIN_KNIGHT.get(), TFEntities.UPPER_GOBLIN_KNIGHT.get(), TFEntities.HARBINGER_CUBE.get(), TFEntities.HEDGE_SPIDER.get(), TFEntities.HELMET_CRAB.get(), TFEntities.HOSTILE_WOLF.get(), TFEntities.HYDRA.get(), TFEntities.KING_SPIDER.get(), TFEntities.KNIGHT_PHANTOM.get(), TFEntities.KOBOLD.get(), TFEntities.LICH.get(), TFEntities.LICH_MINION.get(), TFEntities.MAZE_SLIME.get(), TFEntities.CARMINITE_GHASTLING.get(), TFEntities.MINOSHROOM.get(), TFEntities.MINOTAUR.get(), TFEntities.MIST_WOLF.get(), TFEntities.MOSQUITO_SWARM.get(), TFEntities.NAGA.get(), TFEntities.PENGUIN.get(), TFEntities.PINCH_BEETLE.get(), TFEntities.PLATEAU_BOSS.get(), TFEntities.QUEST_RAM.get(), TFEntities.RAVEN.get(), TFEntities.REDCAP.get(), TFEntities.REDCAP_SAPPER.get(), TFEntities.SKELETON_DRUID.get(), TFEntities.SLIME_BEETLE.get(), TFEntities.SNOW_GUARDIAN.get(), TFEntities.SNOW_QUEEN.get(), TFEntities.SQUIRREL.get(), TFEntities.STABLE_ICE_CORE.get(), TFEntities.SWARM_SPIDER.get(), TFEntities.TINY_BIRD.get(), TFEntities.CARMINITE_BROODLING.get(), TFEntities.CARMINITE_GHASTGUARD.get(), TFEntities.CARMINITE_GOLEM.get(), TFEntities.TOWERWOOD_BORER.get(), TFEntities.TROLL.get(), TFEntities.UNSTABLE_ICE_CORE.get(), TFEntities.UR_GHAST.get(), TFEntities.BOAR.get(), TFEntities.WINTER_WOLF.get(), TFEntities.WRAITH.get(), TFEntities.YETI.get(), TFEntities.ALPHA_YETI.get()}); @@ -59,7 +56,7 @@ public class TFAdvancementGenerator implements AdvancementProvider.AdvancementGe private static DrinkFromFlaskTrigger.TriggerInstance.DrinkFromFlaskTriggerInstanceFactory drinkFromFlaskTriggerInstanceFactory; @Override - public void generate(HolderLookup.Provider registries, Consumer consumer, ExistingFileHelper helper) { + public void generate(HolderLookup.Provider registries, Consumer consumer) { HolderLookup.RegistryLookup biomes = registries.lookupOrThrow(Registries.BIOME); HolderLookup.RegistryLookup structures = registries.lookupOrThrow(Registries.STRUCTURE); diff --git a/src/main/java/twilightforest/data/TFAdvancementProvider.java b/src/main/java/twilightforest/data/TFAdvancementProvider.java index 999f3e70b6..9cf5813299 100644 --- a/src/main/java/twilightforest/data/TFAdvancementProvider.java +++ b/src/main/java/twilightforest/data/TFAdvancementProvider.java @@ -2,15 +2,14 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; -import net.neoforged.neoforge.common.data.AdvancementProvider; -import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.minecraft.data.advancements.AdvancementProvider; import java.util.List; import java.util.concurrent.CompletableFuture; public class TFAdvancementProvider extends AdvancementProvider { - public TFAdvancementProvider(PackOutput output, CompletableFuture registries, ExistingFileHelper existingFileHelper) { - super(output, registries, existingFileHelper, List.of(new TFAdvancementGenerator())); + public TFAdvancementProvider(PackOutput output, CompletableFuture registries) { + super(output, registries, List.of(new TFAdvancementGenerator())); } } diff --git a/src/main/java/twilightforest/data/TFStructureUpdater.java b/src/main/java/twilightforest/data/TFStructureUpdater.java index 7b424dd6f0..559c36eb81 100644 --- a/src/main/java/twilightforest/data/TFStructureUpdater.java +++ b/src/main/java/twilightforest/data/TFStructureUpdater.java @@ -13,10 +13,10 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.MultiPackResourceManager; import net.minecraft.server.packs.resources.Resource; +import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.util.datafix.DataFixTypes; import net.minecraft.util.datafix.DataFixers; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import javax.annotation.Nonnull; @@ -33,18 +33,12 @@ public class TFStructureUpdater implements DataProvider { private final String basePath; private final PackOutput output; - private final MultiPackResourceManager resources; + private final ResourceManager resources; - public TFStructureUpdater(String basePath, PackOutput output, ExistingFileHelper helper) { + public TFStructureUpdater(String basePath, PackOutput output, ResourceManager manager) { this.basePath = basePath; this.output = output; - try { - Field serverData = ExistingFileHelper.class.getDeclaredField("serverData"); - serverData.setAccessible(true); - this.resources = (MultiPackResourceManager) serverData.get(helper); - } catch (NoSuchFieldException | IllegalAccessException e) { - throw new RuntimeException(e); - } + this.resources = manager; } @Override diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java index a4a77c8c20..8ca5d16b03 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java +++ b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java @@ -5,6 +5,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.mojang.serialization.JsonOps; +import net.minecraft.resources.FileToIdConverter; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; import net.minecraft.server.packs.resources.ResourceManager; @@ -29,7 +30,7 @@ public class StalactiteReloadListener extends SimpleJsonResourceReloadListener> STALAGMITES_PER_HILL = new HashMap<>(); public StalactiteReloadListener() { - super(ExtraCodecs.JSON, STALACTITE_DIRECTORY); + super(ExtraCodecs.JSON, FileToIdConverter.json(STALACTITE_DIRECTORY)); } @Override diff --git a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java b/src/main/java/twilightforest/data/helpers/TFSoundProvider.java index 5e418bbd1c..708c610447 100644 --- a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java +++ b/src/main/java/twilightforest/data/helpers/TFSoundProvider.java @@ -3,7 +3,6 @@ import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.SoundDefinition; import net.neoforged.neoforge.common.data.SoundDefinitionsProvider; import net.neoforged.neoforge.registries.DeferredHolder; @@ -13,8 +12,8 @@ public abstract class TFSoundProvider extends SoundDefinitionsProvider { - protected TFSoundProvider(PackOutput output, ExistingFileHelper helper) { - super(output, TwilightForestMod.ID, helper); + protected TFSoundProvider(PackOutput output) { + super(output, TwilightForestMod.ID); } public void generateNewSoundWithSubtitle(DeferredHolder event, String baseSoundDirectory, int numberOfSounds, String subtitle) { diff --git a/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java b/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java index 81ece4c886..03d1352487 100644 --- a/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java @@ -7,7 +7,6 @@ import net.minecraft.tags.BiomeTags; import net.minecraft.tags.TagKey; import net.minecraft.world.level.biome.Biome; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.init.TFBiomes; @@ -36,8 +35,8 @@ public class BiomeTagGenerator extends BiomeTagsProvider { public static final TagKey VALID_GIANT_HOUSE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_giant_house_biomes")); public static final TagKey VALID_FINAL_CASTLE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_final_castle_biomes")); - public BiomeTagGenerator(PackOutput output, CompletableFuture provider, ExistingFileHelper helper) { - super(output, provider, TwilightForestMod.ID, helper); + public BiomeTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/BlockTagGenerator.java b/src/main/java/twilightforest/data/tags/BlockTagGenerator.java index 89b0454c5e..0484e9c631 100644 --- a/src/main/java/twilightforest/data/tags/BlockTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/BlockTagGenerator.java @@ -8,7 +8,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.data.tags.compat.ModdedBlockTagGenerator; import twilightforest.init.TFBlocks; @@ -99,8 +98,8 @@ public class BlockTagGenerator extends ModdedBlockTagGenerator { public static final TagKey SMALL_LAKES_DONT_REPLACE = create("small_lakes_dont_replace"); - public BlockTagGenerator(PackOutput output, CompletableFuture future, ExistingFileHelper helper) { - super(output, future, helper); + public BlockTagGenerator(PackOutput output, CompletableFuture future) { + super(output, future); } @SuppressWarnings("unchecked") diff --git a/src/main/java/twilightforest/data/tags/CustomTagGenerator.java b/src/main/java/twilightforest/data/tags/CustomTagGenerator.java index 8ddbd3967b..c44318a434 100644 --- a/src/main/java/twilightforest/data/tags/CustomTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/CustomTagGenerator.java @@ -11,7 +11,6 @@ import net.minecraft.world.level.block.entity.BannerPattern; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.dimension.DimensionType; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; @@ -31,8 +30,8 @@ public static class BlockEntityTagGenerator extends TagsProvider> RELOCATION_NOT_SUPPORTED = TagKey.create(Registries.BLOCK_ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath("c", "relocation_not_supported")); public static final TagKey> IMMOVABLE = TagKey.create(Registries.BLOCK_ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath("c", "immovable")); - public BlockEntityTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, Registries.BLOCK_ENTITY_TYPE, provider, TwilightForestMod.ID, helper); + public BlockEntityTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.BLOCK_ENTITY_TYPE, provider, TwilightForestMod.ID); } @Override @@ -82,8 +81,8 @@ public static class BannerPatternTagGenerator extends TagsProvider SNOW_QUEEN_BANNER_PATTERN = create("pattern_item/snow_queen"); public static final TagKey QUEST_RAM_BANNER_PATTERN = create("pattern_item/quest_ram"); - public BannerPatternTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper existingFileHelper) { - super(output, Registries.BANNER_PATTERN, provider, TwilightForestMod.ID, existingFileHelper); + public BannerPatternTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.BANNER_PATTERN, provider, TwilightForestMod.ID); } @Override @@ -117,8 +116,8 @@ public static class WoodPaletteTagGenerator extends TagsProvider { public static final TagKey RARE_PALETTES = create("rare"); public static final TagKey TREASURE_PALETTES = create("treasure"); - public WoodPaletteTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, TFRegistries.Keys.WOOD_PALETTES, provider, TwilightForestMod.ID, helper); + public WoodPaletteTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, TFRegistries.Keys.WOOD_PALETTES, provider, TwilightForestMod.ID); } @Override @@ -146,8 +145,8 @@ public static class DimensionTypeTagGenerator extends TagsProvider ALLOWS_MAGIC_MAP_CHARTING = TagKey.create(Registries.DIMENSION_TYPE, TwilightForestMod.prefix("allows_magic_map_charting")); - public DimensionTypeTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, Registries.DIMENSION_TYPE, provider, TwilightForestMod.ID, helper); + public DimensionTypeTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.DIMENSION_TYPE, provider, TwilightForestMod.ID); } @Override @@ -165,8 +164,8 @@ public static class PaintingVariantTagGenerator extends TagsProvider LICH_TOWER_PAINTINGS = TagKey.create(Registries.PAINTING_VARIANT, TwilightForestMod.prefix("tower_paintings")); public static final TagKey LICH_BOSS_PAINTINGS = TagKey.create(Registries.PAINTING_VARIANT, TwilightForestMod.prefix("tower_boss_paintings")); - public PaintingVariantTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, Registries.PAINTING_VARIANT, provider, TwilightForestMod.ID, helper); + public PaintingVariantTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.PAINTING_VARIANT, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java b/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java index c1732eb22c..ee22d0177e 100644 --- a/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java @@ -10,7 +10,6 @@ import net.minecraft.world.damagesource.DamageType; import net.minecraft.world.damagesource.DamageTypes; import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.init.TFDamageTypes; @@ -20,8 +19,8 @@ public class DamageTypeTagGenerator extends TagsProvider { public static final TagKey BREAKS_LICH_SHIELDS = create("breaks_lich_shields"); - public DamageTypeTagGenerator(PackOutput output, CompletableFuture future, ExistingFileHelper helper) { - super(output, Registries.DAMAGE_TYPE, future, TwilightForestMod.ID, helper); + public DamageTypeTagGenerator(PackOutput output, CompletableFuture future) { + super(output, Registries.DAMAGE_TYPE, future, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/EntityTagGenerator.java b/src/main/java/twilightforest/data/tags/EntityTagGenerator.java index 2274625bd2..4418fe7d72 100644 --- a/src/main/java/twilightforest/data/tags/EntityTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/EntityTagGenerator.java @@ -8,8 +8,6 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EntityType; import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.data.ExistingFileHelper; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.data.tags.compat.ModdedEntityTagGenerator; import twilightforest.init.TFEntities; @@ -25,8 +23,8 @@ public class EntityTagGenerator extends ModdedEntityTagGenerator { public static final TagKey> SORTABLE_ENTITIES = create(TwilightForestMod.prefix("sortable_entities")); public static final TagKey> MULTIPLAYER_INCLUSIVE_ENTITIES = create(TwilightForestMod.prefix("multiplayer_inclusive_entities")); - public EntityTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, provider, helper); + public EntityTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider); } @Override diff --git a/src/main/java/twilightforest/data/tags/FluidTagGenerator.java b/src/main/java/twilightforest/data/tags/FluidTagGenerator.java index 4f1ed51634..a748490bce 100644 --- a/src/main/java/twilightforest/data/tags/FluidTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/FluidTagGenerator.java @@ -6,8 +6,6 @@ import net.minecraft.tags.FluidTags; import net.minecraft.tags.TagKey; import net.minecraft.world.level.material.Fluid; -import net.neoforged.neoforge.common.data.ExistingFileHelper; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import java.util.concurrent.CompletableFuture; @@ -16,8 +14,8 @@ public class FluidTagGenerator extends FluidTagsProvider { public static final TagKey FIRE_JET_FUEL = FluidTags.create(TwilightForestMod.prefix("fire_jet_fuel")); - public FluidTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper existingFileHelper) { - super(output, provider, TwilightForestMod.ID, existingFileHelper); + public FluidTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java b/src/main/java/twilightforest/data/tags/ItemTagGenerator.java index dd4e990a3c..67bfacac1e 100644 --- a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/ItemTagGenerator.java @@ -11,7 +11,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.data.tags.compat.ModdedItemTagGenerator; import twilightforest.init.TFBlocks; @@ -94,8 +93,8 @@ public class ItemTagGenerator extends ModdedItemTagGenerator { public static final TagKey SCEPTERS = create("scepters"); - public ItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider, ExistingFileHelper helper) { - super(output, future, provider, helper); + public ItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider) { + super(output, future, provider); } @SuppressWarnings("unchecked") diff --git a/src/main/java/twilightforest/data/tags/StructureTagGenerator.java b/src/main/java/twilightforest/data/tags/StructureTagGenerator.java index 6f39815270..748aa26b20 100644 --- a/src/main/java/twilightforest/data/tags/StructureTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/StructureTagGenerator.java @@ -6,8 +6,6 @@ import net.minecraft.data.tags.StructureTagsProvider; import net.minecraft.tags.TagKey; import net.minecraft.world.level.levelgen.structure.Structure; -import net.neoforged.neoforge.common.data.ExistingFileHelper; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.init.TFStructures; @@ -17,8 +15,8 @@ public class StructureTagGenerator extends StructureTagsProvider { // Add structures to this tag to show on the Magic Map, detected by worldgen features avoiding landmarks and progression lock behavior public static final TagKey LANDMARK = TagKey.create(Registries.STRUCTURE, TwilightForestMod.prefix("landmark")); - public StructureTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, provider, TwilightForestMod.ID, helper); + public StructureTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java b/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java index 75b45adc72..05d421bd03 100644 --- a/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java @@ -8,7 +8,6 @@ import net.minecraft.tags.BlockTags; import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.data.tags.BlockTagGenerator; import twilightforest.init.TFBlocks; @@ -26,8 +25,8 @@ public class ModdedBlockTagGenerator extends IntrinsicHolderTagsProvider public static final TagKey FD_COMPOST_ACTIVATORS = createTagFor("farmersdelight", "compost_activators"); public static final TagKey FD_HEAT_SOURCES = createTagFor("farmersdelight", "heat_sources"); - public ModdedBlockTagGenerator(PackOutput output, CompletableFuture future, ExistingFileHelper helper) { - super(output, Registries.BLOCK, future, block -> block.builtInRegistryHolder().key(), TwilightForestMod.ID, helper); + public ModdedBlockTagGenerator(PackOutput output, CompletableFuture future) { + super(output, Registries.BLOCK, future, block -> block.builtInRegistryHolder().key(), TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java b/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java index 82d81fa879..194674726b 100644 --- a/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java @@ -7,8 +7,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EntityType; -import net.neoforged.neoforge.common.data.ExistingFileHelper; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.data.tags.EntityTagGenerator; import twilightforest.init.TFEntities; @@ -30,8 +28,8 @@ public class ModdedEntityTagGenerator extends EntityTypeTagsProvider { public static final TagKey> IE_SHADER_BLACKLIST = createTagFor("immersiveengineering", "shaderbag/blacklist"); - public ModdedEntityTagGenerator(PackOutput output, CompletableFuture provider, @Nullable ExistingFileHelper helper) { - super(output, provider, TwilightForestMod.ID, helper); + public ModdedEntityTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java b/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java index 571826ff7f..a076fe1cc8 100644 --- a/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java +++ b/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java @@ -8,7 +8,6 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.data.tags.ItemTagGenerator; import twilightforest.init.TFBlocks; @@ -31,8 +30,8 @@ public class ModdedItemTagGenerator extends ItemTagsProvider { public static final TagKey RANDOMIUM_BLACKLIST = createTagFor("randomium", "blacklist"); - public ModdedItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider, ExistingFileHelper helper) { - super(output, future, provider, TwilightForestMod.ID, helper); + public ModdedItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider) { + super(output, future, provider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java b/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java index f69cb9d062..14895f8e0e 100644 --- a/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java +++ b/src/main/java/twilightforest/entity/boss/IBossLootBuffer.java @@ -108,7 +108,7 @@ static void celebrateAt(T boss, Vec3 double x = (boss.getRandom().nextDouble() - 0.5D) * 0.075D * i; double y = (boss.getRandom().nextDouble() - 0.5D) * 0.075D * i; double z = (boss.getRandom().nextDouble() - 0.5D) * 0.075D * i; - particlePacket.queueParticle(ParticleTypes.POOF, false, vec3.add(x, y, z), Vec3.ZERO); + particlePacket.queueParticle(ParticleTypes.POOF, vec3.add(x, y, z), Vec3.ZERO); } PacketDistributor.sendToPlayersTrackingEntity(boss, particlePacket); } diff --git a/src/main/java/twilightforest/entity/boss/KnightPhantom.java b/src/main/java/twilightforest/entity/boss/KnightPhantom.java index 51e3b84cb6..e4bdfd5a40 100644 --- a/src/main/java/twilightforest/entity/boss/KnightPhantom.java +++ b/src/main/java/twilightforest/entity/boss/KnightPhantom.java @@ -617,7 +617,7 @@ public void tickDeathAnimation() { double x = (this.random.nextDouble() - 0.5D) * 0.15D * i; double y = (this.random.nextDouble() - 0.5D) * 0.15D * i; double z = (this.random.nextDouble() - 0.5D) * 0.15D * i; - this.level().addParticle(ParticleTypes.SMOKE, false, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(ParticleTypes.SMOKE, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); } } else if (!this.getNearbyKnights().isEmpty() || this.getEntityData().get(IT_IS_OVER)) { if (this.deathTime == DYING_TICKS) { // Poof when going invisible @@ -649,7 +649,7 @@ public void tickDeathAnimation() { double x = (this.random.nextDouble() - 0.5D) * 0.15D * i; double y = (this.random.nextDouble() - 0.5D) * 0.15D * i; double z = (this.random.nextDouble() - 0.5D) * 0.15D * i; - this.level().addParticle(ParticleTypes.SMOKE, false, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(ParticleTypes.SMOKE, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); } } } diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index 2ec9397fea..c83c5d311e 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -508,7 +508,7 @@ public void makeMagicTrail(Vec3 source, Vec3 target, float red, float green, flo double tx = source.x() + (target.x() - source.x()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; double ty = source.y() + 0.2D + (target.y() - source.y()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; double tz = source.z() + (target.z() - source.z()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; - packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, red, green, blue), false, tx, ty, tz, 0.0D, 0.0D, 0.0D); + packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, red, green, blue), tx, ty, tz, 0.0D, 0.0D, 0.0D); } PacketDistributor.sendToPlayersTrackingEntity(this, packet); @@ -712,7 +712,7 @@ public void tickDeathAnimation() { double x = (this.getRandom().nextDouble() - 0.5D) * 0.7D; double y = this.getRandom().nextDouble() * this.getBbHeight(); double z = (this.getRandom().nextDouble() - 0.5D) * 0.7D; - this.level().addParticle(this.getRandom().nextBoolean() || hurt ? BONE_PARTICLE : ParticleTypes.SMOKE, false, pos.x() + x, pos.y() + y, pos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(this.getRandom().nextBoolean() || hurt ? BONE_PARTICLE : ParticleTypes.SMOKE, pos.x() + x, pos.y() + y, pos.z() + z, 0.0D, 0.0D, 0.0D); } if (hurt) { @@ -723,7 +723,7 @@ public void tickDeathAnimation() { double x1 = x + (this.getRandom().nextDouble() - 0.5D) * 0.1D; double y1 = y + (this.getRandom().nextDouble() - 0.5D) * 0.1D; double z1 = z + (this.getRandom().nextDouble() - 0.5D) * 0.1D; - this.level().addParticle(this.getRandom().nextBoolean() ? BONE_PARTICLE : ParticleTypes.CLOUD, false, pos.x() + x1, pos.y() + y1, pos.z() + z1, 0.0D, 0.0D, 0.0D); + this.level().addParticle(this.getRandom().nextBoolean() ? BONE_PARTICLE : ParticleTypes.CLOUD, pos.x() + x1, pos.y() + y1, pos.z() + z1, 0.0D, 0.0D, 0.0D); } } @@ -732,7 +732,7 @@ public void tickDeathAnimation() { double x = (this.getRandom().nextDouble() - 0.5D) * 0.7D; double y = this.getRandom().nextDouble() * this.getBbHeight(); double z = (this.getRandom().nextDouble() - 0.5D) * 0.7D; - this.level().addParticle(this.getRandom().nextBoolean() ? BONE_PARTICLE : ParticleTypes.CLOUD, false, pos.x() + x, pos.y() + y, pos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(this.getRandom().nextBoolean() ? BONE_PARTICLE : ParticleTypes.CLOUD, pos.x() + x, pos.y() + y, pos.z() + z, 0.0D, 0.0D, 0.0D); } } } else if (this.deathTime == DEATH_ANIMATION_POINT_B) { @@ -740,7 +740,7 @@ public void tickDeathAnimation() { for (int i = 0; i < 3; i++) { double x = (this.getRandom().nextDouble() - 0.5D) * 0.75D; double z = (this.getRandom().nextDouble() - 0.5D) * 0.75D; - this.level().addParticle(ParticleTypes.CLOUD, false, pos.x() + x, pos.y(), pos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(ParticleTypes.CLOUD, pos.x() + x, pos.y(), pos.z() + z, 0.0D, 0.0D, 0.0D); } } else if (this.deathTime > DEATH_ANIMATION_POINT_B) { Vec3 start = this.position().add(0.0D, 0.45F, 0.0D); @@ -754,7 +754,7 @@ public void tickDeathAnimation() { for (double i = 0.0D; i < 1.0D; i += 0.2D) { double x = Math.sin((powFactor + i) * Math.PI * 2.0D) * expandFactor * 1.25D; double z = Math.cos((powFactor + i) * Math.PI * 2.0D) * expandFactor * 1.25D; - this.level().addParticle(TFParticleType.OMINOUS_FLAME.get(), false, particlePos.x() + x, particlePos.y() - 0.25D, particlePos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(TFParticleType.OMINOUS_FLAME.get(), particlePos.x() + x, particlePos.y() - 0.25D, particlePos.z() + z, 0.0D, 0.0D, 0.0D); } } } diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index b4257d24de..ff5dcabc28 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -574,7 +574,7 @@ public void tickDeathAnimation() { Vec3 particlePos = start.add(diff.scale(factor)).add(Math.sin(preciseTime * Math.PI * 0.075D) * xMul, Math.sin(preciseTime * Math.PI * 0.025D) * 0.1D, Math.cos(preciseTime * Math.PI * 0.0625D) * zMul);//Some sine waves to make it slither-y; BlockHitResult blockhitresult = this.level().clip(new ClipContext(particlePos.add(0.0D, 2.0D, 0.0D), particlePos.subtract(0.0D, 3.0D, 0.0D), ClipContext.Block.COLLIDER, ClipContext.Fluid.WATER, CollisionContext.empty())); particlePos = blockhitresult.getLocation().add(0.0D, 0.15D, 0.0D); - this.level().addParticle(ParticleTypes.COMPOSTER, false, particlePos.x(), particlePos.y(), particlePos.z(), 0.0D, 0.0D, 0.0D); + this.level().addParticle(ParticleTypes.COMPOSTER, particlePos.x(), particlePos.y(), particlePos.z(), 0.0D, 0.0D, 0.0D); } } } diff --git a/src/main/java/twilightforest/entity/boss/UrGhast.java b/src/main/java/twilightforest/entity/boss/UrGhast.java index a93fafeb02..0e8f885a23 100644 --- a/src/main/java/twilightforest/entity/boss/UrGhast.java +++ b/src/main/java/twilightforest/entity/boss/UrGhast.java @@ -561,7 +561,7 @@ public void tickDeathAnimation() { double x = (this.random.nextDouble() - 0.5D) * 0.05D * i; double y = (this.random.nextDouble() - 0.5D) * 0.05D * i; double z = (this.random.nextDouble() - 0.5D) * 0.05D * i; - this.level().addParticle(DustParticleOptions.REDSTONE, false, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(DustParticleOptions.REDSTONE, particlePos.x() + x, particlePos.y() + y, particlePos.z() + z, 0.0D, 0.0D, 0.0D); } } } diff --git a/src/main/java/twilightforest/entity/monster/DeathTome.java b/src/main/java/twilightforest/entity/monster/DeathTome.java index 8d6870db81..9871c0d6e7 100644 --- a/src/main/java/twilightforest/entity/monster/DeathTome.java +++ b/src/main/java/twilightforest/entity/monster/DeathTome.java @@ -99,7 +99,6 @@ public boolean isStableDestination(BlockPos pos) { }; flyingpathnavigation.setCanOpenDoors(false); flyingpathnavigation.setCanFloat(false); - flyingpathnavigation.setCanPassDoors(true); return flyingpathnavigation; } diff --git a/src/main/java/twilightforest/entity/monster/Kobold.java b/src/main/java/twilightforest/entity/monster/Kobold.java index 945cce1415..da21e92ea4 100644 --- a/src/main/java/twilightforest/entity/monster/Kobold.java +++ b/src/main/java/twilightforest/entity/monster/Kobold.java @@ -161,7 +161,7 @@ public void spawnItemParticles(ItemStack stack, int amount) { ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < amount; ++i) { this.getItemParticleVectors((vec31, vec3) -> - particlePacket.queueParticle(particleOptions, false, + particlePacket.queueParticle(particleOptions, vec31.x() + vec3.x() * this.random.nextGaussian(), vec31.y() + (vec3.y() + 0.05D) * this.random.nextGaussian(), vec31.z() + vec3.z() * this.random.nextGaussian(), diff --git a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java index 13e82d192a..ca5aa6f195 100644 --- a/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java +++ b/src/main/java/twilightforest/entity/monster/UpperGoblinKnight.java @@ -206,7 +206,7 @@ public void landHeavySpearAttack(ServerLevel level) { if (this.level() instanceof ServerLevel) { ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < 50; i++) { - particlePacket.queueParticle(ParticleTypes.LARGE_SMOKE, false, + particlePacket.queueParticle(ParticleTypes.LARGE_SMOKE, px + (this.getRandom().nextFloat() - this.getRandom().nextFloat()) * 0.25F * this.getRandom().nextGaussian(), py, pz + (this.getRandom().nextFloat() - this.getRandom().nextFloat()) * 0.25F * this.getRandom().nextGaussian(), diff --git a/src/main/java/twilightforest/entity/passive/Bighorn.java b/src/main/java/twilightforest/entity/passive/Bighorn.java index dc72641493..980597f3ff 100644 --- a/src/main/java/twilightforest/entity/passive/Bighorn.java +++ b/src/main/java/twilightforest/entity/passive/Bighorn.java @@ -51,7 +51,7 @@ public Sheep getBreedOffspring(ServerLevel level, AgeableMob ageable) { Bighorn babySheep = TFEntities.BIGHORN_SHEEP.get().create(level, EntitySpawnReason.BREEDING); if (babySheep != null) { - babySheep.setColor(this.getOffspringColor(level, this, otherParent)); + babySheep.setColor(DyeColor.getMixedColor(level, this.getColor(), otherParent.getColor())); } return babySheep; } diff --git a/src/main/java/twilightforest/entity/passive/QuestRam.java b/src/main/java/twilightforest/entity/passive/QuestRam.java index f80b4d8872..be72e198cf 100644 --- a/src/main/java/twilightforest/entity/passive/QuestRam.java +++ b/src/main/java/twilightforest/entity/passive/QuestRam.java @@ -216,7 +216,7 @@ private void animateAddColor(DyeColor color, int iterations) { ParticlePacket packet = new ParticlePacket(); for (int i = 0; i < iterations; i++) { - packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, colorVal), false, + packet.queueParticle(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, colorVal), this.getX() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, this.getY() + this.getRandom().nextDouble() * this.getBbHeight() * 1.5D, this.getZ() + (this.getRandom().nextDouble() - 0.5D) * this.getBbWidth() * 1.5D, @@ -233,11 +233,6 @@ public int countColorsSet() { return Integer.bitCount(this.getColorFlags()); } - @Override - protected AABB makeBoundingBox() { - return super.makeBoundingBox(); - } - @Override protected boolean canRide(Entity entityIn) { return false; diff --git a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java index 61f01146c6..8215348604 100644 --- a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java +++ b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java @@ -131,7 +131,7 @@ private void annihilateParticles(Level level, BlockPos pos) { for (int dx = 0; dx < 3; dx++) { for (int dy = 0; dy < 3; dy++) { for (int dz = 0; dz < 3; dz++) { - particlePacket.queueParticle(TFParticleType.ANNIHILATE.get(), false, + particlePacket.queueParticle(TFParticleType.ANNIHILATE.get(), pos.getX() + (dx + 0.5D) / 4, pos.getY() + (dy + 0.5D) / 4, pos.getZ() + (dz + 0.5D) / 4, diff --git a/src/main/java/twilightforest/entity/projectile/FallingIce.java b/src/main/java/twilightforest/entity/projectile/FallingIce.java index c2ce1b18be..1d19f7a5df 100644 --- a/src/main/java/twilightforest/entity/projectile/FallingIce.java +++ b/src/main/java/twilightforest/entity/projectile/FallingIce.java @@ -266,11 +266,6 @@ public BlockState getBlockState() { return this.blockState; } - @Override - public boolean onlyOpCanSetNbt() { - return true; - } - @Override public Packet getAddEntityPacket(ServerEntity entity) { return new ClientboundAddEntityPacket(this, entity, Block.getId(this.getBlockState())); diff --git a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java index e5cb3c0037..9c8a4c8317 100644 --- a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java +++ b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java @@ -67,7 +67,7 @@ protected double getDefaultGravity() { public void handleEntityEvent(byte id) { if (id == EntityEvent.DEATH) { for (int i = 0; i < 8; ++i) { - this.level().addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.SLIME_BLOCK.defaultBlockState()), true, this.getX(), this.getY() + 0.1D, this.getZ(), 0.0D, 0.0D, 0.0D); + this.level().addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.SLIME_BLOCK.defaultBlockState()), this.getX(), this.getY() + 0.1D, this.getZ(), 0.0D, 0.0D, 0.0D); } } else { super.handleEntityEvent(id); diff --git a/src/main/java/twilightforest/entity/projectile/NatureBolt.java b/src/main/java/twilightforest/entity/projectile/NatureBolt.java index 0004a3120e..55aa9075b2 100644 --- a/src/main/java/twilightforest/entity/projectile/NatureBolt.java +++ b/src/main/java/twilightforest/entity/projectile/NatureBolt.java @@ -53,7 +53,7 @@ protected double getDefaultGravity() { public void handleEntityEvent(byte id) { if (id == EntityEvent.DEATH) { for (int i = 0; i < 8; ++i) { - this.level().addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.OAK_LEAVES.defaultBlockState()), false, this.getX(), this.getY(), this.getZ(), random.nextGaussian() * 0.05D, random.nextDouble() * 0.2D, random.nextGaussian() * 0.05D); + this.level().addParticle(new BlockParticleOption(ParticleTypes.BLOCK, Blocks.OAK_LEAVES.defaultBlockState()), this.getX(), this.getY(), this.getZ(), random.nextGaussian() * 0.05D, random.nextDouble() * 0.2D, random.nextGaussian() * 0.05D); } } else { super.handleEntityEvent(id); diff --git a/src/main/java/twilightforest/entity/projectile/ThrownBlock.java b/src/main/java/twilightforest/entity/projectile/ThrownBlock.java index e25ed2b764..08eb936878 100644 --- a/src/main/java/twilightforest/entity/projectile/ThrownBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ThrownBlock.java @@ -60,7 +60,7 @@ public void handleEntityEvent(byte id) { if (id == EntityEvent.DEATH) { ParticleOptions particle = new BlockParticleOption(ParticleTypes.BLOCK, this.state); for (int i = 0; i < 20; i++) { - this.level().addParticle(particle, false, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, this.random.nextDouble() * 0.2D, this.random.nextGaussian() * 0.05D); + this.level().addParticle(particle, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, this.random.nextDouble() * 0.2D, this.random.nextGaussian() * 0.05D); } } else { super.handleEntityEvent(id); diff --git a/src/main/java/twilightforest/entity/projectile/TomeBolt.java b/src/main/java/twilightforest/entity/projectile/TomeBolt.java index f396821f79..5f6eaeb164 100644 --- a/src/main/java/twilightforest/entity/projectile/TomeBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TomeBolt.java @@ -46,7 +46,7 @@ public void handleEntityEvent(byte id) { if (id == EntityEvent.DEATH) { ParticleOptions particle = new ItemParticleOption(ParticleTypes.ITEM, new ItemStack(Items.PAPER)); for (int i = 0; i < 8; ++i) { - this.level().addParticle(particle, false, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, this.random.nextDouble() * 0.2D, this.random.nextGaussian() * 0.05D); + this.level().addParticle(particle, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, this.random.nextDouble() * 0.2D, this.random.nextGaussian() * 0.05D); } } else { super.handleEntityEvent(id); diff --git a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java index 06c40f6011..1ff0337785 100644 --- a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java @@ -65,7 +65,7 @@ public void handleEntityEvent(byte id) { if (id == EntityEvent.DEATH) { ParticleOptions particle = new ItemParticleOption(ParticleTypes.ITEM, new ItemStack(Items.ENDER_PEARL)); for (int i = 0; i < 8; i++) { - this.level().addParticle(particle, false, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, random.nextDouble() * 0.2D, random.nextGaussian() * 0.05D); + this.level().addParticle(particle, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, random.nextDouble() * 0.2D, random.nextGaussian() * 0.05D); } } else { super.handleEntityEvent(id); diff --git a/src/main/java/twilightforest/events/MiscEvents.java b/src/main/java/twilightforest/events/MiscEvents.java index fad3eff2f3..34465b2910 100644 --- a/src/main/java/twilightforest/events/MiscEvents.java +++ b/src/main/java/twilightforest/events/MiscEvents.java @@ -85,7 +85,7 @@ public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) Player player = event.getEntity(); ItemStack stack = player.getItemInHand(event.getHand()); - if (!(stack.getItem() instanceof SpawnEggItem spawnEggItem) || spawnEggItem.getType(stack) != TFEntities.DEATH_TOME.get()) + if (!(stack.getItem() instanceof SpawnEggItem spawnEggItem) || spawnEggItem.getType(player.registryAccess(), stack) != TFEntities.DEATH_TOME.get()) return; BlockPos pos = event.getPos(); diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index c013793c96..723e96989e 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -152,7 +152,7 @@ public static DeferredHolder, EntityType< public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, int primaryColor, int secondaryColor, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); - SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), primaryColor, secondaryColor, new Item.Properties().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name + "_spawn_egg"))))); + SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), new Item.Properties().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name + "_spawn_egg"))))); ATTRIBUTES.put(ret, attributes); if (predicate != null) { SPAWN_PREDICATES.put(ret, predicate); diff --git a/src/main/java/twilightforest/init/TFEquipmentModels.java b/src/main/java/twilightforest/init/TFEquipmentModels.java index 39d83c60bf..b4b5ec82b6 100644 --- a/src/main/java/twilightforest/init/TFEquipmentModels.java +++ b/src/main/java/twilightforest/init/TFEquipmentModels.java @@ -1,33 +1,39 @@ package twilightforest.init; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.equipment.EquipmentModel; +import net.minecraft.client.resources.model.EquipmentClientInfo; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.item.equipment.EquipmentAsset; +import net.minecraft.world.item.equipment.EquipmentAssets; import twilightforest.TwilightForestMod; import java.util.function.BiConsumer; public class TFEquipmentModels { - public static final ResourceLocation IRONWOOD = TwilightForestMod.prefix("ironwood"); - public static final ResourceLocation STEELEAF = TwilightForestMod.prefix("steeleaf"); - public static final ResourceLocation NAGA = TwilightForestMod.prefix("naga"); - public static final ResourceLocation FIERY = TwilightForestMod.prefix("fiery"); - public static final ResourceLocation KNIGHTMETAL = TwilightForestMod.prefix("knightmetal"); - public static final ResourceLocation PHANTOM = TwilightForestMod.prefix("phantom"); - public static final ResourceLocation ARCTIC = TwilightForestMod.prefix("arctic"); - public static final ResourceLocation YETI = TwilightForestMod.prefix("yeti"); + public static final ResourceKey IRONWOOD = createId("ironwood"); + public static final ResourceKey STEELEAF = createId("steeleaf"); + public static final ResourceKey NAGA = createId("naga"); + public static final ResourceKey FIERY = createId("fiery"); + public static final ResourceKey KNIGHTMETAL = createId("knightmetal"); + public static final ResourceKey PHANTOM = createId("phantom"); + public static final ResourceKey ARCTIC = createId("arctic"); + public static final ResourceKey YETI = createId("yeti"); - public static void bootstrap(BiConsumer consumer) { - consumer.accept(IRONWOOD, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("ironwood"), false).build()); - consumer.accept(STEELEAF, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("steeleaf"), false).build()); - consumer.accept(NAGA, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("naga"), false).build()); - consumer.accept(FIERY, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("fiery"), false).build()); - consumer.accept(KNIGHTMETAL, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("knightmetal"), false).build()); - consumer.accept(PHANTOM, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("phantom"), false).build()); - consumer.accept(ARCTIC, EquipmentModel.builder() + static ResourceKey createId(String name) { + return ResourceKey.create(EquipmentAssets.ROOT_ID, TwilightForestMod.prefix(name)); + } + + public static void bootstrap(BiConsumer, EquipmentClientInfo> consumer) { + consumer.accept(IRONWOOD, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("ironwood"), false).build()); + consumer.accept(STEELEAF, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("steeleaf"), false).build()); + consumer.accept(NAGA, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("naga"), false).build()); + consumer.accept(FIERY, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("fiery"), false).build()); + consumer.accept(KNIGHTMETAL, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("knightmetal"), false).build()); + consumer.accept(PHANTOM, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("phantom"), false).build()); + consumer.accept(ARCTIC, EquipmentClientInfo.builder() .addHumanoidLayers(TwilightForestMod.prefix("arctic_dyed"), true) .addHumanoidLayers(TwilightForestMod.prefix("arctic_overlay"), false) .build()); - consumer.accept(YETI, EquipmentModel.builder().addHumanoidLayers(TwilightForestMod.prefix("yeti"), false).build()); + consumer.accept(YETI, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("yeti"), false).build()); } } diff --git a/src/main/java/twilightforest/init/TFTrimMaterials.java b/src/main/java/twilightforest/init/TFTrimMaterials.java index 7a2a2cee81..a62ad15a33 100644 --- a/src/main/java/twilightforest/init/TFTrimMaterials.java +++ b/src/main/java/twilightforest/init/TFTrimMaterials.java @@ -27,16 +27,16 @@ private static ResourceKey registerKey(String name) { } public static void bootstrap(BootstrapContext context) { - register(context, IRONWOOD, TFItems.IRONWOOD_INGOT, Style.EMPTY.withColor(7037281), 0.2F); - register(context, STEELEAF, TFItems.STEELEAF_INGOT, Style.EMPTY.withColor(4814643), 0.7F); - register(context, KNIGHTMETAL, TFItems.KNIGHTMETAL_INGOT, Style.EMPTY.withColor(8424562), 0.1F); - register(context, FIERY, TFItems.FIERY_INGOT, Style.EMPTY.withColor(16758076), 0.3F); - register(context, NAGA_SCALE, TFItems.NAGA_SCALE, Style.EMPTY.withColor(2381586), 0.7F); - register(context, CARMINITE, TFItems.CARMINITE, Style.EMPTY.withColor(10092544), 0.4F); + register(context, IRONWOOD, TFItems.IRONWOOD_INGOT, Style.EMPTY.withColor(7037281)); + register(context, STEELEAF, TFItems.STEELEAF_INGOT, Style.EMPTY.withColor(4814643)); + register(context, KNIGHTMETAL, TFItems.KNIGHTMETAL_INGOT, Style.EMPTY.withColor(8424562)); + register(context, FIERY, TFItems.FIERY_INGOT, Style.EMPTY.withColor(16758076)); + register(context, NAGA_SCALE, TFItems.NAGA_SCALE, Style.EMPTY.withColor(2381586)); + register(context, CARMINITE, TFItems.CARMINITE, Style.EMPTY.withColor(10092544)); } - private static void register(BootstrapContext context, ResourceKey trimKey, Holder trimItem, Style color, float itemModelIndex) { - TrimMaterial material = new TrimMaterial(trimKey.location().getPath(), trimItem, itemModelIndex, Map.of(), Component.translatable(Util.makeDescriptionId("trim_material", trimKey.location())).withStyle(color)); + private static void register(BootstrapContext context, ResourceKey trimKey, Holder trimItem, Style color) { + TrimMaterial material = new TrimMaterial(trimKey.location().getPath(), trimItem, Map.of(), Component.translatable(Util.makeDescriptionId("trim_material", trimKey.location())).withStyle(color)); context.register(trimKey, material); } } diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index ff1582035c..685d615db9 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -315,7 +315,7 @@ protected static boolean isRecipeSupported(ItemStack inputStack, CraftingRecipe } protected static boolean isComplete(List list) { //TODO: check if properly ported - return !list.isEmpty() && list.stream().noneMatch((ingredient) -> ingredient.items().isEmpty()); + return !list.isEmpty() && list.stream().noneMatch((ingredient) -> ingredient.isEmpty()); } private static boolean matches(ItemStack input, ItemStack output) { @@ -608,7 +608,7 @@ private ItemStack[] getIngredients(CraftingRecipe recipe) { ItemStack[] stacks = new ItemStack[recipe.display().size()]; for (int i = 0; i < recipe.display().size(); i++) { - ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).items().stream().filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); + ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).getValues().stream().filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); stacks[i] = matchingStacks.length > 0 ? matchingStacks[Math.floorMod(this.ingredientsInCycle, matchingStacks.length)] : ItemStack.EMPTY; } diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index 668316c48e..a5476361aa 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -6,6 +6,7 @@ import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.LivingEntity; @@ -14,7 +15,6 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import twilightforest.client.model.TFModelLayers; import twilightforest.init.TFItems; @@ -49,9 +49,9 @@ public int getDefaultDyeColor(ItemStack stack) { } @Override - public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.ARCTIC_ARMOR_INNER : TFModelLayers.ARCTIC_ARMOR_OUTER); + ModelPart root = models.bakeLayer(type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.ARCTIC_ARMOR_INNER : TFModelLayers.ARCTIC_ARMOR_OUTER); return new HumanoidArmorModel<>(root); } } diff --git a/src/main/java/twilightforest/item/FieryArmorItem.java b/src/main/java/twilightforest/item/FieryArmorItem.java index 65005ca145..4a1903e4c7 100644 --- a/src/main/java/twilightforest/item/FieryArmorItem.java +++ b/src/main/java/twilightforest/item/FieryArmorItem.java @@ -5,6 +5,7 @@ import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; @@ -13,7 +14,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.armor.FieryArmorModel; @@ -37,9 +37,9 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.FIERY_ARMOR_INNER : TFModelLayers.FIERY_ARMOR_OUTER); + ModelPart root = models.bakeLayer(type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.FIERY_ARMOR_INNER : TFModelLayers.FIERY_ARMOR_OUTER); return new FieryArmorModel<>(root); } } diff --git a/src/main/java/twilightforest/item/GlassSwordItem.java b/src/main/java/twilightforest/item/GlassSwordItem.java index abf3702786..ed0962907b 100644 --- a/src/main/java/twilightforest/item/GlassSwordItem.java +++ b/src/main/java/twilightforest/item/GlassSwordItem.java @@ -35,7 +35,7 @@ public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity atta if (target.level() instanceof ServerLevel) { ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < 20; i++) { - particlePacket.queueParticle(GLASS_PARTICLE, false, + particlePacket.queueParticle(GLASS_PARTICLE, target.getX() + target.getRandom().nextFloat() * target.getBbWidth() * 2.0F - target.getBbWidth(), target.getY() + target.getRandom().nextFloat() * target.getBbHeight(), target.getZ() + target.getRandom().nextFloat() * target.getBbWidth() * 2.0F - target.getBbWidth(), diff --git a/src/main/java/twilightforest/item/IceSwordItem.java b/src/main/java/twilightforest/item/IceSwordItem.java index 26f5dabab4..bec5aaf5a2 100644 --- a/src/main/java/twilightforest/item/IceSwordItem.java +++ b/src/main/java/twilightforest/item/IceSwordItem.java @@ -22,7 +22,7 @@ public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity atta ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < 20; i++) { - particlePacket.queueParticle(TFParticleType.SNOW.get(), false, + particlePacket.queueParticle(TFParticleType.SNOW.get(), target.getX() + (target.getRandom().nextGaussian() * target.getBbWidth() * 0.5), target.getY() + target.getBbHeight() * 0.5F + (target.getRandom().nextGaussian() * target.getBbHeight() * 0.5), target.getZ() + (target.getRandom().nextGaussian() * target.getBbWidth() * 0.5), diff --git a/src/main/java/twilightforest/item/KnightmetalArmorItem.java b/src/main/java/twilightforest/item/KnightmetalArmorItem.java index cd3023b80b..a4a82bebda 100644 --- a/src/main/java/twilightforest/item/KnightmetalArmorItem.java +++ b/src/main/java/twilightforest/item/KnightmetalArmorItem.java @@ -5,11 +5,11 @@ import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import twilightforest.client.model.TFModelLayers; @@ -23,9 +23,9 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.KNIGHTMETAL_ARMOR_INNER : TFModelLayers.KNIGHTMETAL_ARMOR_OUTER); + ModelPart root = models.bakeLayer(type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.KNIGHTMETAL_ARMOR_INNER : TFModelLayers.KNIGHTMETAL_ARMOR_OUTER); return new HumanoidArmorModel<>(root); } } diff --git a/src/main/java/twilightforest/item/LifedrainScepterItem.java b/src/main/java/twilightforest/item/LifedrainScepterItem.java index 80d9f8f415..5fc5bd7cb8 100644 --- a/src/main/java/twilightforest/item/LifedrainScepterItem.java +++ b/src/main/java/twilightforest/item/LifedrainScepterItem.java @@ -94,7 +94,7 @@ public static void animateTargetShatter(ServerLevel level, LivingEntity target) double y = level.getRandom().nextFloat() * target.getBbHeight() - gaussY * gaussFactor + (level.random.nextGaussian() * gaussY); double z = level.getRandom().nextFloat() * target.getBbWidth() * 1.5F - target.getBbWidth() - gaussZ * gaussFactor + (level.random.nextGaussian() * gaussZ); - particlePacket.queueParticle(options, false, target.getX() + x, target.getY() + y, target.getZ() + z, x * speed, y * speed, z * speed); + particlePacket.queueParticle(options, target.getX() + x, target.getY() + y, target.getZ() + z, x * speed, y * speed, z * speed); } PacketDistributor.sendToPlayersTrackingEntity(target, particlePacket); diff --git a/src/main/java/twilightforest/item/OreMagnetItem.java b/src/main/java/twilightforest/item/OreMagnetItem.java index 1414a3681f..7678782d12 100644 --- a/src/main/java/twilightforest/item/OreMagnetItem.java +++ b/src/main/java/twilightforest/item/OreMagnetItem.java @@ -183,7 +183,7 @@ public static int doMagnet(Level level, BlockPos usePos, BlockPos destPos, boole ParticlePacket particlePacket = new ParticlePacket(); for (int i = 0; i < 16; i++) { Vec3 offset = new Vec3((level.random.nextDouble() - 0.5D) * 1.25D, (level.random.nextDouble() - 0.5D) * 1.25D, (level.random.nextDouble() - 0.5D) * 1.25D); - particlePacket.queueParticle(TFParticleType.LOG_CORE_PARTICLE.get(), false, xyz.add(offset), new Vec3(0.8, 0.9, 0.2)); + particlePacket.queueParticle(TFParticleType.LOG_CORE_PARTICLE.get(), xyz.add(offset), new Vec3(0.8, 0.9, 0.2)); } PacketDistributor.sendToPlayer(serverplayer, particlePacket); } diff --git a/src/main/java/twilightforest/item/PeacockFanItem.java b/src/main/java/twilightforest/item/PeacockFanItem.java index eb084469d4..08bc36db44 100644 --- a/src/main/java/twilightforest/item/PeacockFanItem.java +++ b/src/main/java/twilightforest/item/PeacockFanItem.java @@ -62,7 +62,7 @@ public InteractionResult use(Level level, Player player, @Nonnull InteractionHan ParticlePacket packet = new ParticlePacket(); for (int i = 0; i < 30; i++) { - packet.queueParticle(ParticleTypes.CLOUD, true, fanBox.minX + level.getRandom().nextFloat() * (fanBox.maxX - fanBox.minX), + packet.queueParticle(ParticleTypes.CLOUD, fanBox.minX + level.getRandom().nextFloat() * (fanBox.maxX - fanBox.minX), fanBox.minY + level.getRandom().nextFloat() * (fanBox.maxY - fanBox.minY), fanBox.minZ + level.getRandom().nextFloat() * (fanBox.maxZ - fanBox.minZ), lookVec.x(), lookVec.y(), lookVec.z()); diff --git a/src/main/java/twilightforest/item/PhantomArmorItem.java b/src/main/java/twilightforest/item/PhantomArmorItem.java index 6955d6178a..67fd57d96b 100644 --- a/src/main/java/twilightforest/item/PhantomArmorItem.java +++ b/src/main/java/twilightforest/item/PhantomArmorItem.java @@ -6,6 +6,7 @@ import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; @@ -14,7 +15,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import twilightforest.client.model.TFModelLayers; @@ -36,9 +36,9 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.PHANTOM_ARMOR_INNER : TFModelLayers.PHANTOM_ARMOR_OUTER); + ModelPart root = models.bakeLayer(type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.PHANTOM_ARMOR_INNER : TFModelLayers.PHANTOM_ARMOR_OUTER); return new HumanoidArmorModel<>(root); } } diff --git a/src/main/java/twilightforest/item/YetiArmorItem.java b/src/main/java/twilightforest/item/YetiArmorItem.java index ce3630b785..31854ef5c2 100644 --- a/src/main/java/twilightforest/item/YetiArmorItem.java +++ b/src/main/java/twilightforest/item/YetiArmorItem.java @@ -6,6 +6,7 @@ import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; @@ -15,7 +16,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.equipment.ArmorType; -import net.minecraft.world.item.equipment.EquipmentModel; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.Nullable; import twilightforest.client.model.TFModelLayers; @@ -45,9 +45,9 @@ public static final class ArmorRender implements IClientItemExtensions { public static final ArmorRender INSTANCE = new ArmorRender(); @Override - public Model getHumanoidArmorModel(ItemStack stack, EquipmentModel.LayerType type, Model original) { + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { EntityModelSet models = Minecraft.getInstance().getEntityModels(); - ModelPart root = models.bakeLayer(type == EquipmentModel.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.YETI_ARMOR_INNER : TFModelLayers.YETI_ARMOR_OUTER); + ModelPart root = models.bakeLayer(type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? TFModelLayers.YETI_ARMOR_INNER : TFModelLayers.YETI_ARMOR_OUTER); return new HumanoidArmorModel<>(root); } } diff --git a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java index 42ba947bb2..378da9b1a1 100644 --- a/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java +++ b/src/main/java/twilightforest/item/recipe/UncraftingRecipe.java @@ -39,7 +39,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider provider) { //Checks if the itemStack is a part of the ingredient when UncraftingMenu's getRecipesFor() method iterates through all recipes. public boolean isItemStackAnIngredient(ItemStack stack) { - return this.input.items().stream().anyMatch(i -> (stack.is(i.value()) && stack.getCount() >= this.count)); + return this.input.getValues().stream().anyMatch(i -> (stack.is(i.value()) && stack.getCount() >= this.count)); } @Override diff --git a/src/main/java/twilightforest/network/ParticlePacket.java b/src/main/java/twilightforest/network/ParticlePacket.java index ed95c68fa8..32f640a7e6 100644 --- a/src/main/java/twilightforest/network/ParticlePacket.java +++ b/src/main/java/twilightforest/network/ParticlePacket.java @@ -30,7 +30,7 @@ public ParticlePacket(RegistryFriendlyByteBuf buf) { ParticleType type = BuiltInRegistries.PARTICLE_TYPE.byId(buf.readInt()); if (type == null) break; // Fail silently and end execution entirely. Due to Type serialization we now have completely unknown data in the pipeline without any way to safely read it all - this.queuedParticles.add(new QueuedParticle(ParticleTypes.STREAM_CODEC.decode(buf), buf.readBoolean(), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble())); + this.queuedParticles.add(new QueuedParticle(ParticleTypes.STREAM_CODEC.decode(buf), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble(), buf.readDouble())); } } @@ -40,7 +40,6 @@ public void write(RegistryFriendlyByteBuf buf) { int d = BuiltInRegistries.PARTICLE_TYPE.getId(queuedParticle.particleOptions.getType()); buf.writeInt(d); ParticleTypes.STREAM_CODEC.encode(buf, queuedParticle.particleOptions); - buf.writeBoolean(queuedParticle.b); buf.writeDouble(queuedParticle.x); buf.writeDouble(queuedParticle.y); buf.writeDouble(queuedParticle.z); @@ -55,22 +54,21 @@ public Type type() { return TYPE; } - public void queueParticle(ParticleOptions particleOptions, boolean b, double x, double y, double z, double x2, double y2, double z2) { - this.queuedParticles.add(new QueuedParticle(particleOptions, b, x, y, z, x2, y2, z2)); + public void queueParticle(ParticleOptions particleOptions, double x, double y, double z, double x2, double y2, double z2) { + this.queuedParticles.add(new QueuedParticle(particleOptions, x, y, z, x2, y2, z2)); } - public void queueParticle(ParticleOptions particleOptions, boolean b, Vec3 xyz, Vec3 xyz2) { - this.queuedParticles.add(new QueuedParticle(particleOptions, b, xyz.x, xyz.y, xyz.z, xyz2.x, xyz2.y, xyz2.z)); + public void queueParticle(ParticleOptions particleOptions, Vec3 xyz, Vec3 xyz2) { + this.queuedParticles.add(new QueuedParticle(particleOptions, xyz.x, xyz.y, xyz.z, xyz2.x, xyz2.y, xyz2.z)); } - private record QueuedParticle(ParticleOptions particleOptions, boolean b, double x, double y, double z, double x2, - double y2, double z2) { + private record QueuedParticle(ParticleOptions particleOptions, double x, double y, double z, double x2, double y2, double z2) { } public static void handle(ParticlePacket message, IPayloadContext ctx) { ctx.enqueueWork(() -> { for (QueuedParticle queuedParticle : message.queuedParticles) { - ctx.player().level().addParticle(queuedParticle.particleOptions, queuedParticle.b, queuedParticle.x, queuedParticle.y, queuedParticle.z, queuedParticle.x2, queuedParticle.y2, queuedParticle.z2); + ctx.player().level().addParticle(queuedParticle.particleOptions, queuedParticle.x, queuedParticle.y, queuedParticle.z, queuedParticle.x2, queuedParticle.y2, queuedParticle.z2); } }); } diff --git a/src/main/java/twilightforest/world/components/structures/util/ConquerableStructure.java b/src/main/java/twilightforest/world/components/structures/util/ConquerableStructure.java index 22abe1aacf..9424b339e0 100644 --- a/src/main/java/twilightforest/world/components/structures/util/ConquerableStructure.java +++ b/src/main/java/twilightforest/world/components/structures/util/ConquerableStructure.java @@ -2,12 +2,15 @@ import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelHeightAccessor; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeSource; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.RandomState; +import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructureStart; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager; import net.minecraft.world.level.saveddata.maps.MapDecorationType; @@ -22,8 +25,8 @@ public ConquerableStructure(DecorationConfig decorationConfig, boolean centerInC } @Override - public final StructureStart generate(RegistryAccess registryAccess, ChunkGenerator chunkGen, BiomeSource biomeSource, RandomState randomState, StructureTemplateManager templateManager, long seed, ChunkPos chunkPos, int references, LevelHeightAccessor heightAccessor, Predicate> isValidBiome) { - return this.generateCustom(registryAccess, chunkGen, biomeSource, randomState, templateManager, seed, chunkPos, references, heightAccessor, isValidBiome); + public StructureStart generate(Holder structure, ResourceKey level, RegistryAccess registryAccess, ChunkGenerator chunkGen, BiomeSource biomeSource, RandomState randomState, StructureTemplateManager templateManager, long seed, ChunkPos chunkPos, int references, LevelHeightAccessor heightAccessor, Predicate> validBiome) { + return this.generateCustom(registryAccess, chunkGen, biomeSource, randomState, templateManager, seed, chunkPos, references, heightAccessor, validBiome); } // [VANILLA COPY] Structure.generate From e11d0c27e305723bdd969fcf685064bf8fd17a45 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:18:30 -0700 Subject: [PATCH 047/239] fix last compile errors, begin model rewrite --- .gitignore | 1 + .../0f202e000d40347127b33b6edbbb29689b8cbf86 | 4 +- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 58 +- .../2c3573acb35dd4967c455c5601717e4d0d6eb706 | 2 +- .../360062c0ee43360357329c0a13031adc0cc83ac5 | 2 +- .../3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 | 2 +- .../409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 | 1956 ---------------- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 409 ++++ .../50707b2aa2b447940be9133c2ab0f8c3c79811f2 | 2 +- .../50ac03844dfa7ff852b210032d967410a7179d62 | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 2 +- .../6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 | 2 +- .../735031f3addf80804addae5e3f53249900116f1e | 2 +- .../809949f48f1aa945262c3f08c80c2f11b889a7de | 2 +- .../8f54cb9d7394372ab0a284943bd07e24ce9d122c | 2 +- .../937762f182cff9cea47d98a004aa39ef539671c5 | 2 +- .../94f15e09d9a54d422942084512238ed72a5efe0c | 891 -------- .../9c786d47f960fc71cc836bbc881cf12f37fa5408 | 2 +- .../a3b661b9d1602c79ab58dae8db9f53b60de85edc | 2 +- .../a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 | 2 +- .../aceeec62bf10186f98b7c0ef34c2a200449b25e2 | 2 +- .../b5294eda5c650593108e068003e23d389cc35af6 | 2 +- .../bd3c258a938cc6036d1d3d8417c4b7d38da2a57c | 2 +- .../c8cd847b7fd34763d45d37011b05a30c2dfeb774 | 2 +- .../d54fd8e9cae1e749d9d0842965090e18ed3af4f3 | 2 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 2 +- .../e0d3d0b8d9c807675613821fa865a35f707cd83f | 2 +- .../e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 | 2 +- .../ec1948d2d036209856d7c40ea3c7c1670a5008a1 | 2 +- .../f95301fb94790e0244c05ac8eb83ed341acb7cae | 2 +- .../blockstates/acacia_banister.json | 94 - .../blockstates/alpha_yeti_boss_spawner.json | 2 +- .../blockstates/alpha_yeti_trophy.json | 7 - .../blockstates/alpha_yeti_wall_trophy.json | 7 - .../blockstates/antibuilder.json | 7 - .../blockstates/aurora_pillar.json | 16 - .../blockstates/aurora_slab.json | 15 - .../blockstates/auroralized_glass.json | 7 - .../blockstates/bamboo_banister.json | 94 - .../blockstates/beanstalk_grower.json | 7 - .../blockstates/beanstalk_leaves.json | 7 - .../blockstates/birch_banister.json | 94 - .../blockstates/blue_castle_door.json | 16 - .../blockstates/blue_castle_rune_brick.json | 30 - .../blockstates/blue_force_field.json | 7 - .../blockstates/bold_castle_brick_pillar.json | 16 - .../blockstates/bold_castle_brick_stairs.json | 209 -- .../blockstates/bold_castle_brick_tile.json | 7 - .../blockstates/bold_stone_pillar.json | 16 - .../twilightforest/blockstates/brazier.json | 7 - .../blockstates/brown_thorns.json | 203 -- .../blockstates/built_block.json | 10 - .../blockstates/burnt_thorns.json | 203 -- .../blockstates/candelabra.json | 34 - .../blockstates/canopy_banister.json | 460 ---- .../blockstates/canopy_bookshelf.json | 19 - .../blockstates/canopy_button.json | 666 +----- .../blockstates/canopy_chest.json | 7 - .../blockstates/canopy_door.json | 64 +- .../blockstates/canopy_fence.json | 136 +- .../blockstates/canopy_fence_gate.json | 444 +--- .../blockstates/canopy_hanging_sign.json | 7 - .../blockstates/canopy_leaves.json | 7 - .../blockstates/canopy_log.json | 16 - .../blockstates/canopy_planks.json | 19 +- .../blockstates/canopy_pressure_plate.json | 38 +- .../blockstates/canopy_sapling.json | 7 - .../blockstates/canopy_slab.json | 65 +- .../blockstates/canopy_stairs.json | 1185 ++-------- .../blockstates/canopy_trapdoor.json | 35 +- .../blockstates/canopy_trapped_chest.json | 7 - .../blockstates/canopy_wall_hanging_sign.json | 7 - .../blockstates/canopy_wall_sign.json | 2 +- .../blockstates/canopy_window.json | 7 - .../blockstates/canopy_window_pane.json | 77 - .../blockstates/canopy_wood.json | 16 - .../blockstates/carminite_block.json | 50 - .../blockstates/carminite_builder.json | 13 - .../blockstates/carminite_reactor.json | 10 - .../blockstates/castle_brick.json | 7 - .../blockstates/castle_brick_stairs.json | 209 -- .../blockstates/castle_roof_tile.json | 50 - .../blockstates/cherry_banister.json | 94 - .../chiseled_canopy_bookshelf.json | 751 ------- .../twilightforest/blockstates/cicada.json | 7 - .../blockstates/cicada_jar.json | 7 - .../blockstates/cinder_furnace.json | 34 - .../blockstates/cinder_log.json | 16 - .../blockstates/cinder_wood.json | 7 - .../blockstates/clover_patch.json | 7 - .../blockstates/coronation_carpet.json | 7 - .../blockstates/cracked_castle_brick.json | 7 - .../cracked_castle_brick_stairs.json | 209 -- .../blockstates/cracked_deadrock.json | 50 - .../blockstates/cracked_etched_nagastone.json | 22 - .../blockstates/cracked_mazestone.json | 7 - .../blockstates/cracked_nagastone_pillar.json | 28 - .../cracked_nagastone_stairs_left.json | 209 -- .../cracked_nagastone_stairs_right.json | 209 -- .../blockstates/cracked_towerwood.json | 18 - .../blockstates/cracked_underbrick.json | 7 - .../blockstates/creeper_skull_candle.json | 7 - .../creeper_wall_skull_candle.json | 7 - .../blockstates/crimson_banister.json | 94 - .../blockstates/cut_mazestone.json | 7 - .../blockstates/dark_banister.json | 460 ---- .../blockstates/dark_button.json | 666 +----- .../blockstates/dark_chest.json | 7 - .../twilightforest/blockstates/dark_door.json | 64 +- .../blockstates/dark_fence.json | 136 +- .../blockstates/dark_fence_gate.json | 444 +--- .../blockstates/dark_hanging_sign.json | 7 - .../blockstates/dark_leaves.json | 7 - .../twilightforest/blockstates/dark_log.json | 16 - .../blockstates/dark_oak_banister.json | 94 - .../blockstates/dark_planks.json | 19 +- .../blockstates/dark_pressure_plate.json | 38 +- .../twilightforest/blockstates/dark_slab.json | 65 +- .../blockstates/dark_stairs.json | 1185 ++-------- .../blockstates/dark_trapdoor.json | 35 +- .../blockstates/dark_trapped_chest.json | 7 - .../blockstates/dark_wall_hanging_sign.json | 7 - .../blockstates/dark_wall_sign.json | 2 +- .../twilightforest/blockstates/dark_wood.json | 16 - .../blockstates/darkwood_sapling.json | 7 - .../twilightforest/blockstates/deadrock.json | 21 - .../blockstates/decorative_mazestone.json | 7 - .../encased_castle_brick_pillar.json | 16 - .../encased_castle_brick_stairs.json | 209 -- .../encased_castle_brick_tile.json | 7 - .../blockstates/encased_fire_jet.json | 16 - .../blockstates/encased_smoker.json | 10 - .../blockstates/encased_towerwood.json | 7 - .../blockstates/etched_nagastone.json | 22 - .../blockstates/experiment_115.json | 52 - .../blockstates/fake_diamond.json | 7 - .../twilightforest/blockstates/fake_gold.json | 7 - .../blockstates/fallen_leaves.json | 28 - .../blockstates/fiddlehead.json | 7 - .../blockstates/fiery_block.json | 7 - .../blockstates/final_boss_boss_spawner.json | 7 - .../twilightforest/blockstates/fire_jet.json | 7 - .../twilightforest/blockstates/firefly.json | 7 - .../blockstates/firefly_jar.json | 7 - .../blockstates/firefly_particle_spawner.json | 7 - .../blockstates/fluffy_cloud.json | 7 - .../blockstates/ghast_trap.json | 10 - .../blockstates/giant_cobblestone.json | 7 - .../blockstates/giant_leaves.json | 7 - .../twilightforest/blockstates/giant_log.json | 7 - .../blockstates/giant_obsidian.json | 7 - .../blockstates/green_force_field.json | 7 - .../blockstates/green_thorns.json | 203 -- .../blockstates/hardened_dark_leaves.json | 7 - .../twilightforest/blockstates/hedge.json | 13 - .../hollow_acacia_log_climbable.json | 61 - .../hollow_acacia_log_horizontal.json | 39 - .../hollow_acacia_log_vertical.json | 7 - .../hollow_birch_log_climbable.json | 61 - .../hollow_birch_log_horizontal.json | 39 - .../hollow_birch_log_vertical.json | 7 - .../hollow_canopy_log_climbable.json | 61 - .../hollow_canopy_log_horizontal.json | 39 - .../hollow_canopy_log_vertical.json | 7 - .../hollow_cherry_log_climbable.json | 61 - .../hollow_cherry_log_horizontal.json | 39 - .../hollow_cherry_log_vertical.json | 7 - .../hollow_crimson_stem_climbable.json | 61 - .../hollow_crimson_stem_horizontal.json | 39 - .../hollow_crimson_stem_vertical.json | 7 - .../hollow_dark_log_climbable.json | 61 - .../hollow_dark_log_horizontal.json | 39 - .../blockstates/hollow_dark_log_vertical.json | 7 - .../hollow_dark_oak_log_climbable.json | 61 - .../hollow_dark_oak_log_horizontal.json | 39 - .../hollow_dark_oak_log_vertical.json | 7 - .../hollow_jungle_log_climbable.json | 61 - .../hollow_jungle_log_horizontal.json | 39 - .../hollow_jungle_log_vertical.json | 7 - .../hollow_mangrove_log_climbable.json | 61 - .../hollow_mangrove_log_horizontal.json | 39 - .../hollow_mangrove_log_vertical.json | 7 - .../hollow_mining_log_climbable.json | 61 - .../hollow_mining_log_horizontal.json | 39 - .../hollow_mining_log_vertical.json | 7 - .../blockstates/hollow_oak_log_climbable.json | 61 - .../hollow_oak_log_horizontal.json | 39 - .../blockstates/hollow_oak_log_vertical.json | 7 - .../blockstates/hollow_oak_sapling.json | 7 - .../hollow_sorting_log_climbable.json | 61 - .../hollow_sorting_log_horizontal.json | 39 - .../hollow_sorting_log_vertical.json | 7 - .../hollow_spruce_log_climbable.json | 61 - .../hollow_spruce_log_horizontal.json | 39 - .../hollow_spruce_log_vertical.json | 7 - .../hollow_time_log_climbable.json | 61 - .../hollow_time_log_horizontal.json | 39 - .../blockstates/hollow_time_log_vertical.json | 7 - .../hollow_transformation_log_climbable.json | 61 - .../hollow_transformation_log_horizontal.json | 39 - .../hollow_transformation_log_vertical.json | 7 - .../hollow_twilight_oak_log_climbable.json | 61 - .../hollow_twilight_oak_log_horizontal.json | 39 - .../hollow_twilight_oak_log_vertical.json | 7 - .../hollow_vangrove_log_climbable.json | 61 - .../hollow_vangrove_log_horizontal.json | 39 - .../hollow_vangrove_log_vertical.json | 7 - .../hollow_warped_stem_climbable.json | 61 - .../hollow_warped_stem_horizontal.json | 39 - .../hollow_warped_stem_vertical.json | 7 - .../blockstates/huge_lily_pad.json | 64 - .../blockstates/huge_mushgloom.json | 120 - .../blockstates/huge_mushgloom_stem.json | 120 - .../blockstates/huge_stalk.json | 16 - .../blockstates/huge_water_lily.json | 7 - .../blockstates/hydra_boss_spawner.json | 7 - .../blockstates/hydra_trophy.json | 7 - .../blockstates/hydra_wall_trophy.json | 7 - .../blockstates/infested_towerwood.json | 12 - .../blockstates/iron_ladder.json | 160 -- .../blockstates/ironwood_block.json | 7 - .../blockstates/jungle_banister.json | 94 - .../blockstates/keepsake_casket.json | 22 - .../knight_phantom_boss_spawner.json | 7 - .../blockstates/knight_phantom_trophy.json | 7 - .../knight_phantom_wall_trophy.json | 7 - .../blockstates/knightmetal_block.json | 7 - .../blockstates/lich_boss_spawner.json | 7 - .../lich_tower_miniature_structure.json | 19 - .../blockstates/lich_trophy.json | 7 - .../blockstates/lich_wall_trophy.json | 7 - .../blockstates/liveroot_block.json | 7 - .../blockstates/locked_vanishing_block.json | 10 - .../blockstates/mangrove_banister.json | 460 ---- .../blockstates/mangrove_button.json | 666 +----- .../blockstates/mangrove_chest.json | 7 - .../blockstates/mangrove_door.json | 64 +- .../blockstates/mangrove_fence.json | 136 +- .../blockstates/mangrove_fence_gate.json | 444 +--- .../blockstates/mangrove_hanging_sign.json | 7 - .../blockstates/mangrove_leaves.json | 7 - .../blockstates/mangrove_log.json | 16 - .../blockstates/mangrove_planks.json | 19 +- .../blockstates/mangrove_pressure_plate.json | 38 +- .../blockstates/mangrove_root.json | 7 - .../blockstates/mangrove_sapling.json | 7 - .../blockstates/mangrove_slab.json | 65 +- .../blockstates/mangrove_stairs.json | 1185 ++-------- .../blockstates/mangrove_trapdoor.json | 35 +- .../blockstates/mangrove_trapped_chest.json | 7 - .../mangrove_wall_hanging_sign.json | 7 - .../blockstates/mangrove_wall_sign.json | 2 +- .../blockstates/mangrove_wood.json | 16 - .../twilightforest/blockstates/mason_jar.json | 7 - .../twilightforest/blockstates/mayapple.json | 7 - .../twilightforest/blockstates/mazestone.json | 16 - .../blockstates/mazestone_border.json | 7 - .../blockstates/mazestone_brick.json | 7 - .../blockstates/mazestone_mosaic.json | 7 - .../blockstates/mining_banister.json | 460 ---- .../blockstates/mining_button.json | 666 +----- .../blockstates/mining_chest.json | 7 - .../blockstates/mining_door.json | 64 +- .../blockstates/mining_fence.json | 136 +- .../blockstates/mining_fence_gate.json | 444 +--- .../blockstates/mining_hanging_sign.json | 7 - .../blockstates/mining_leaves.json | 480 ---- .../blockstates/mining_log.json | 16 - .../blockstates/mining_log_core.json | 28 - .../blockstates/mining_planks.json | 19 +- .../blockstates/mining_pressure_plate.json | 38 +- .../blockstates/mining_sapling.json | 7 - .../blockstates/mining_slab.json | 65 +- .../blockstates/mining_stairs.json | 1185 ++-------- .../blockstates/mining_trapdoor.json | 35 +- .../blockstates/mining_trapped_chest.json | 7 - .../blockstates/mining_wall_hanging_sign.json | 7 - .../blockstates/mining_wall_sign.json | 2 +- .../blockstates/mining_wood.json | 16 - .../blockstates/minoshroom_boss_spawner.json | 7 - .../blockstates/minoshroom_trophy.json | 7 - .../blockstates/minoshroom_wall_trophy.json | 7 - .../twilightforest/blockstates/moonworm.json | 7 - .../blockstates/moss_patch.json | 7 - .../blockstates/mossy_castle_brick.json | 7 - .../mossy_castle_brick_stairs.json | 209 -- .../blockstates/mossy_etched_nagastone.json | 22 - .../blockstates/mossy_mazestone.json | 7 - .../blockstates/mossy_nagastone_pillar.json | 28 - .../mossy_nagastone_stairs_left.json | 209 -- .../mossy_nagastone_stairs_right.json | 209 -- .../blockstates/mossy_towerwood.json | 12 - .../blockstates/mossy_underbrick.json | 7 - .../twilightforest/blockstates/mushgloom.json | 7 - .../blockstates/naga_boss_spawner.json | 7 - .../naga_courtyard_miniature_structure.json | 19 - .../blockstates/naga_trophy.json | 7 - .../blockstates/naga_wall_trophy.json | 7 - .../twilightforest/blockstates/nagastone.json | 47 - .../blockstates/nagastone_head.json | 19 - .../blockstates/nagastone_pillar.json | 28 - .../blockstates/nagastone_stairs_left.json | 209 -- .../blockstates/nagastone_stairs_right.json | 209 -- .../blockstates/oak_banister.json | 94 - .../blockstates/orange_force_field.json | 7 - .../blockstates/piglin_skull_candle.json | 7 - .../blockstates/piglin_wall_skull_candle.json | 7 - .../blockstates/pink_castle_door.json | 16 - .../blockstates/pink_castle_rune_brick.json | 30 - .../blockstates/pink_force_field.json | 7 - .../blockstates/player_skull_candle.json | 7 - .../blockstates/player_wall_skull_candle.json | 7 - .../blockstates/potted_canopy_sapling.json | 7 - .../blockstates/potted_darkwood_sapling.json | 7 - .../blockstates/potted_dead_thorn.json | 7 - .../blockstates/potted_fiddlehead.json | 7 - .../blockstates/potted_green_thorn.json | 7 - .../potted_hollow_oak_sapling.json | 7 - .../blockstates/potted_mangrove_sapling.json | 7 - .../blockstates/potted_mayapple.json | 7 - .../blockstates/potted_mining_sapling.json | 7 - .../blockstates/potted_mushgloom.json | 7 - .../potted_rainbow_oak_sapling.json | 7 - .../blockstates/potted_sorting_sapling.json | 7 - .../blockstates/potted_thorn.json | 7 - .../blockstates/potted_time_sapling.json | 7 - .../potted_transformation_sapling.json | 7 - .../potted_twilight_oak_sapling.json | 7 - .../blockstates/quest_ram_trophy.json | 7 - .../blockstates/quest_ram_wall_trophy.json | 7 - .../blockstates/rainbow_oak_leaves.json | 7 - .../blockstates/rainbow_oak_sapling.json | 7 - .../blockstates/rainy_cloud.json | 7 - .../blockstates/reactor_debris.json | 7 - .../blockstates/reappearing_block.json | 16 - .../blockstates/red_thread.json | 7 - .../twilightforest/blockstates/root.json | 7 - .../blockstates/root_strand.json | 7 - .../twilightforest/blockstates/rope.json | 49 - .../blockstates/sinister_spawner.json | 7 - .../blockstates/skeleton_skull_candle.json | 7 - .../skeleton_wall_skull_candle.json | 7 - .../blockstates/skull_chest.json | 22 - .../twilightforest/blockstates/slider.json | 100 - .../twilightforest/blockstates/smoker.json | 7 - .../blockstates/snow_queen_boss_spawner.json | 7 - .../blockstates/snow_queen_trophy.json | 7 - .../blockstates/snow_queen_wall_trophy.json | 7 - .../blockstates/snowy_cloud.json | 7 - .../blockstates/sorting_banister.json | 460 ---- .../blockstates/sorting_button.json | 666 +----- .../blockstates/sorting_chest.json | 7 - .../blockstates/sorting_door.json | 64 +- .../blockstates/sorting_fence.json | 136 +- .../blockstates/sorting_fence_gate.json | 444 +--- .../blockstates/sorting_hanging_sign.json | 7 - .../blockstates/sorting_leaves.json | 396 ---- .../blockstates/sorting_log.json | 16 - .../blockstates/sorting_log_core.json | 28 - .../blockstates/sorting_planks.json | 19 +- .../blockstates/sorting_pressure_plate.json | 38 +- .../blockstates/sorting_sapling.json | 7 - .../blockstates/sorting_slab.json | 65 +- .../blockstates/sorting_stairs.json | 1185 ++-------- .../blockstates/sorting_trapdoor.json | 35 +- .../blockstates/sorting_trapped_chest.json | 7 - .../sorting_wall_hanging_sign.json | 7 - .../blockstates/sorting_wall_sign.json | 2 +- .../blockstates/sorting_wood.json | 16 - .../blockstates/spiral_bricks.json | 40 - .../blockstates/spruce_banister.json | 94 - .../blockstates/steeleaf_block.json | 50 - .../blockstates/stripped_canopy_log.json | 16 - .../blockstates/stripped_canopy_wood.json | 16 - .../blockstates/stripped_dark_log.json | 16 - .../blockstates/stripped_dark_wood.json | 16 - .../blockstates/stripped_mangrove_log.json | 16 - .../blockstates/stripped_mangrove_wood.json | 16 - .../blockstates/stripped_mining_log.json | 16 - .../blockstates/stripped_mining_wood.json | 16 - .../blockstates/stripped_sorting_log.json | 16 - .../blockstates/stripped_sorting_wood.json | 16 - .../blockstates/stripped_time_log.json | 16 - .../blockstates/stripped_time_wood.json | 16 - .../stripped_transformation_log.json | 16 - .../stripped_transformation_wood.json | 16 - .../stripped_twilight_oak_log.json | 16 - .../stripped_twilight_oak_wood.json | 16 - .../blockstates/stronghold_shield.json | 36 - .../blockstates/terrorcotta_arcs.json | 13 - .../blockstates/terrorcotta_curves.json | 16 - .../blockstates/terrorcotta_lines.json | 10 - .../blockstates/thick_castle_brick.json | 7 - .../blockstates/thorn_leaves.json | 7 - .../blockstates/thorn_rose.json | 29 - .../blockstates/time_banister.json | 460 ---- .../blockstates/time_button.json | 666 +----- .../blockstates/time_chest.json | 7 - .../twilightforest/blockstates/time_door.json | 64 +- .../blockstates/time_fence.json | 136 +- .../blockstates/time_fence_gate.json | 444 +--- .../blockstates/time_hanging_sign.json | 7 - .../blockstates/time_leaves.json | 480 ---- .../twilightforest/blockstates/time_log.json | 16 - .../blockstates/time_log_core.json | 28 - .../blockstates/time_planks.json | 19 +- .../blockstates/time_pressure_plate.json | 38 +- .../blockstates/time_sapling.json | 7 - .../twilightforest/blockstates/time_slab.json | 65 +- .../blockstates/time_stairs.json | 1185 ++-------- .../blockstates/time_trapdoor.json | 35 +- .../blockstates/time_trapped_chest.json | 7 - .../blockstates/time_wall_hanging_sign.json | 7 - .../blockstates/time_wall_sign.json | 2 +- .../twilightforest/blockstates/time_wood.json | 16 - .../blockstates/torchberry_plant.json | 10 - .../twilightforest/blockstates/towerwood.json | 12 - .../blockstates/transformation_banister.json | 460 ---- .../blockstates/transformation_button.json | 666 +----- .../blockstates/transformation_chest.json | 7 - .../blockstates/transformation_door.json | 64 +- .../blockstates/transformation_fence.json | 136 +- .../transformation_fence_gate.json | 444 +--- .../transformation_hanging_sign.json | 7 - .../blockstates/transformation_leaves.json | 480 ---- .../blockstates/transformation_log.json | 16 - .../blockstates/transformation_log_core.json | 28 - .../blockstates/transformation_planks.json | 19 +- .../transformation_pressure_plate.json | 38 +- .../blockstates/transformation_sapling.json | 7 - .../blockstates/transformation_slab.json | 65 +- .../blockstates/transformation_stairs.json | 1185 ++-------- .../blockstates/transformation_trapdoor.json | 35 +- .../transformation_trapped_chest.json | 7 - .../transformation_wall_hanging_sign.json | 7 - .../blockstates/transformation_wall_sign.json | 2 +- .../blockstates/transformation_wood.json | 16 - .../twilightforest/blockstates/trollber.json | 7 - .../blockstates/trollsteinn.json | 120 - .../twilightforest/blockstates/trollvidr.json | 7 - .../blockstates/trophy_pedestal.json | 158 -- .../blockstates/twilight_oak_banister.json | 460 ---- .../blockstates/twilight_oak_button.json | 666 +----- .../blockstates/twilight_oak_chest.json | 7 - .../blockstates/twilight_oak_door.json | 64 +- .../blockstates/twilight_oak_fence.json | 136 +- .../blockstates/twilight_oak_fence_gate.json | 444 +--- .../twilight_oak_hanging_sign.json | 7 - .../blockstates/twilight_oak_leaves.json | 7 - .../blockstates/twilight_oak_log.json | 16 - .../blockstates/twilight_oak_planks.json | 19 +- .../twilight_oak_pressure_plate.json | 38 +- .../blockstates/twilight_oak_sapling.json | 7 - .../blockstates/twilight_oak_slab.json | 65 +- .../blockstates/twilight_oak_stairs.json | 1185 ++-------- .../blockstates/twilight_oak_trapdoor.json | 35 +- .../twilight_oak_trapped_chest.json | 7 - .../twilight_oak_wall_hanging_sign.json | 7 - .../blockstates/twilight_oak_wood.json | 16 - .../blockstates/twilight_portal.json | 17 - .../twilight_portal_miniature_structure.json | 19 - .../blockstates/twilight_wall_sign.json | 2 +- .../blockstates/twisted_stone.json | 16 - .../blockstates/twisted_stone_pillar.json | 151 -- .../blockstates/uberous_soil.json | 7 - .../unbreakable_vanishing_block.json | 10 - .../blockstates/uncrafting_table.json | 10 - .../blockstates/underbrick.json | 7 - .../blockstates/underbrick_floor.json | 7 - .../blockstates/unripe_trollber.json | 7 - .../blockstates/ur_ghast_boss_spawner.json | 7 - .../blockstates/ur_ghast_trophy.json | 7 - .../blockstates/ur_ghast_wall_trophy.json | 7 - .../blockstates/vangrove_banister.json | 94 - .../blockstates/vanishing_block.json | 10 - .../blockstates/violet_castle_door.json | 16 - .../blockstates/violet_castle_rune_brick.json | 30 - .../blockstates/violet_force_field.json | 7 - .../blockstates/warped_banister.json | 94 - .../blockstates/weathered_deadrock.json | 50 - .../blockstates/wispy_cloud.json | 7 - .../wither_skeleton_skull_candle.json | 7 - .../wither_skeleton_wall_skull_candle.json | 7 - .../blockstates/worn_castle_brick.json | 7 - .../blockstates/worn_castle_brick_stairs.json | 209 -- .../blockstates/wrought_iron_fence.json | 160 -- .../blockstates/yellow_castle_door.json | 16 - .../blockstates/yellow_castle_rune_brick.json | 30 - .../blockstates/zombie_skull_candle.json | 7 - .../blockstates/zombie_wall_skull_candle.json | 7 - .../twilightforest/items/canopy_button.json | 6 + .../twilightforest/items/canopy_door.json | 6 + .../twilightforest/items/canopy_fence.json | 6 + .../twilightforest/items/canopy_sign.json | 6 + .../twilightforest/items/canopy_slab.json | 6 + .../twilightforest/items/canopy_stairs.json | 6 + .../twilightforest/items/canopy_trapdoor.json | 6 + .../twilightforest/items/dark_button.json | 6 + .../twilightforest/items/dark_door.json | 6 + .../twilightforest/items/dark_fence.json | 6 + .../twilightforest/items/dark_sign.json | 6 + .../twilightforest/items/dark_slab.json | 6 + .../twilightforest/items/dark_stairs.json | 6 + .../twilightforest/items/dark_trapdoor.json | 6 + .../twilightforest/items/mangrove_button.json | 6 + .../twilightforest/items/mangrove_door.json | 6 + .../twilightforest/items/mangrove_fence.json | 6 + .../twilightforest/items/mangrove_sign.json | 6 + .../twilightforest/items/mangrove_slab.json | 6 + .../twilightforest/items/mangrove_stairs.json | 6 + .../items/mangrove_trapdoor.json | 6 + .../twilightforest/items/mining_button.json | 6 + .../twilightforest/items/mining_door.json | 6 + .../twilightforest/items/mining_fence.json | 6 + .../twilightforest/items/mining_sign.json | 6 + .../twilightforest/items/mining_slab.json | 6 + .../twilightforest/items/mining_stairs.json | 6 + .../twilightforest/items/mining_trapdoor.json | 6 + .../twilightforest/items/sorting_button.json | 6 + .../twilightforest/items/sorting_door.json | 6 + .../twilightforest/items/sorting_fence.json | 6 + .../twilightforest/items/sorting_sign.json | 6 + .../twilightforest/items/sorting_slab.json | 6 + .../twilightforest/items/sorting_stairs.json | 6 + .../items/sorting_trapdoor.json | 6 + .../twilightforest/items/time_button.json | 6 + .../twilightforest/items/time_door.json | 6 + .../twilightforest/items/time_fence.json | 6 + .../twilightforest/items/time_sign.json | 6 + .../twilightforest/items/time_slab.json | 6 + .../twilightforest/items/time_stairs.json | 6 + .../twilightforest/items/time_trapdoor.json | 6 + .../items/transformation_button.json | 6 + .../items/transformation_door.json | 6 + .../items/transformation_fence.json | 6 + .../items/transformation_sign.json | 6 + .../items/transformation_slab.json | 6 + .../items/transformation_stairs.json | 6 + .../items/transformation_trapdoor.json | 6 + .../items/twilight_oak_button.json | 6 + .../items/twilight_oak_door.json | 6 + .../items/twilight_oak_fence.json | 6 + .../items/twilight_oak_sign.json | 6 + .../items/twilight_oak_slab.json | 6 + .../items/twilight_oak_stairs.json | 6 + .../items/twilight_oak_trapdoor.json | 6 + .../models/block/alpha_yeti_boss_spawner.json | 6 + .../models/block/antibuilder.json | 192 -- .../models/block/antibuilt_block.json | 128 +- .../models/block/arctic_fur_block.json | 9 +- .../models/block/aurora_block.json | 24 +- .../models/block/aurora_block_0.json | 60 - .../models/block/aurora_block_1.json | 60 - .../models/block/aurora_block_10.json | 60 - .../models/block/aurora_block_11.json | 60 - .../models/block/aurora_block_12.json | 60 - .../models/block/aurora_block_13.json | 60 - .../models/block/aurora_block_14.json | 60 - .../models/block/aurora_block_15.json | 60 - .../models/block/aurora_block_2.json | 60 - .../models/block/aurora_block_3.json | 60 - .../models/block/aurora_block_4.json | 60 - .../models/block/aurora_block_5.json | 60 - .../models/block/aurora_block_6.json | 60 - .../models/block/aurora_block_7.json | 60 - .../models/block/aurora_block_8.json | 60 - .../models/block/aurora_block_9.json | 60 - .../models/block/aurora_pillar.json | 61 - .../models/block/aurora_slab.json | 54 - .../models/block/aurora_slab_double.json | 61 - .../models/block/auroralized_glass.json | 16 - .../models/block/beanstalk_grower.json | 6 - .../models/block/beanstalk_leaves.json | 3 - .../models/block/blue_castle_door.json | 22 - .../block/blue_castle_door_vanished.json | 22 - .../models/block/blue_force_field.json | 1992 ----------------- .../block/bold_castle_brick_pillar.json | 7 - .../block/bold_castle_brick_pillar_x.json | 7 - .../block/bold_castle_brick_pillar_z.json | 7 - .../block/bold_castle_brick_stairs.json | 8 - .../block/bold_castle_brick_stairs_inner.json | 8 - .../block/bold_castle_brick_stairs_outer.json | 8 - .../models/block/bold_castle_brick_tile.json | 6 - .../models/block/bold_stone_pillar.json | 7 - .../block/bold_stone_pillar_horizontal.json | 7 - .../models/block/boss_spawner.json | 7 - .../twilightforest/models/block/brazier.json | 6 - .../models/block/brown_thorns.json | 8 - .../models/block/brown_thorns_bottom.json | 8 - .../models/block/brown_thorns_no_section.json | 7 - .../block/brown_thorns_no_section_alt.json | 7 - .../models/block/brown_thorns_thorns.json | 7 - .../models/block/brown_thorns_top.json | 8 - .../models/block/built_block.json | 154 -- .../models/block/built_block_active.json | 154 -- .../models/block/burnt_thorns.json | 8 - .../models/block/burnt_thorns_bottom.json | 8 - .../models/block/burnt_thorns_no_section.json | 7 - .../block/burnt_thorns_no_section_alt.json | 7 - .../models/block/burnt_thorns_thorns.json | 7 - .../models/block/burnt_thorns_top.json | 8 - .../models/block/candelabra.json | 346 --- .../models/block/canopy_bookshelf.json | 7 - .../models/block/canopy_bookshelf_1.json | 7 - .../models/block/canopy_bookshelf_2.json | 7 - .../models/block/canopy_bookshelf_3.json | 7 - ...ining_button_3.json => canopy_button.json} | 2 +- .../canopy_button_inventory.json} | 2 +- ...ssed_3.json => canopy_button_pressed.json} | 2 +- .../models/block/canopy_chest.json | 6 - .../models/block/canopy_door_bottom_left.json | 7 + .../block/canopy_door_bottom_left_open.json | 7 + .../block/canopy_door_bottom_right.json | 7 + .../block/canopy_door_bottom_right_open.json | 7 + .../models/block/canopy_door_top_left.json | 7 + .../block/canopy_door_top_left_open.json | 7 + .../models/block/canopy_door_top_right.json | 7 + .../block/canopy_door_top_right_open.json | 7 + ...nce_gate_3.json => canopy_fence_gate.json} | 2 +- ...pen_3.json => canopy_fence_gate_open.json} | 2 +- ...all_3.json => canopy_fence_gate_wall.json} | 2 +- ....json => canopy_fence_gate_wall_open.json} | 2 +- .../canopy_fence_inventory.json} | 2 +- ...nce_post_3.json => canopy_fence_post.json} | 2 +- ...nce_side_3.json => canopy_fence_side.json} | 2 +- .../models/block/canopy_hanging_sign.json | 6 - .../models/block/canopy_leaves.json | 6 - .../models/block/canopy_log.json | 7 - .../models/block/canopy_log_horizontal.json | 7 - .../{castle_brick.json => canopy_planks.json} | 2 +- ...late_3.json => canopy_pressure_plate.json} | 2 +- ...3.json => canopy_pressure_plate_down.json} | 2 +- .../models/block/canopy_sapling.json | 7 - .../models/block/canopy_sign.json | 3 +- .../models/block/canopy_slab.json | 8 + .../models/block/canopy_slab_top.json | 8 + .../models/block/canopy_stairs.json | 8 + .../models/block/canopy_stairs_inner.json | 8 + .../models/block/canopy_stairs_outer.json | 8 + .../models/block/canopy_trapdoor_bottom.json | 6 + .../models/block/canopy_trapdoor_open.json | 6 + .../models/block/canopy_trapdoor_top.json | 6 + .../models/block/canopy_trapped_chest.json | 6 - .../block/canopy_wall_hanging_sign.json | 6 - .../models/block/canopy_wall_sign.json | 6 - .../models/block/canopy_window.json | 7 - .../block/canopy_window_pane_noside.json | 7 - .../block/canopy_window_pane_noside_alt.json | 7 - .../models/block/canopy_window_pane_post.json | 8 - .../models/block/canopy_window_pane_side.json | 8 - .../block/canopy_window_pane_side_alt.json | 8 - .../models/block/canopy_wood.json | 7 - .../models/block/canopy_wood_horizontal.json | 7 - .../models/block/carminite_block.json | 153 -- .../models/block/carminite_builder.json | 192 -- .../block/carminite_builder_active.json | 192 -- .../block/carminite_builder_timeout.json | 192 -- .../models/block/carminite_reactor.json | 192 -- .../block/carminite_reactor_active.json | 192 -- .../models/block/casket_basalt.json | 7 - .../models/block/casket_obsidian.json | 7 - .../models/block/casket_stone.json | 7 - .../models/block/castle_brick_stairs.json | 8 - .../block/castle_brick_stairs_inner.json | 8 - .../block/castle_brick_stairs_outer.json | 8 - .../models/block/castle_rune_brick_0.json | 103 - .../models/block/castle_rune_brick_1.json | 103 - .../models/block/castle_rune_brick_2.json | 103 - .../models/block/castle_rune_brick_3.json | 103 - .../models/block/castle_rune_brick_4.json | 103 - .../models/block/castle_rune_brick_5.json | 103 - .../models/block/castle_rune_brick_6.json | 103 - .../models/block/castle_rune_brick_7.json | 103 - .../models/block/castle_rune_inventory.json | 130 -- .../models/block/castle_runes_0.json | 84 - .../models/block/castle_runes_1.json | 84 - .../models/block/castle_runes_2.json | 84 - .../models/block/castle_runes_3.json | 84 - .../models/block/castle_runes_4.json | 84 - .../models/block/castle_runes_5.json | 84 - .../models/block/castle_runes_6.json | 84 - .../models/block/castle_runes_7.json | 84 - .../block/chiseled_canopy_bookshelf.json | 7 - ...nopy_bookshelf_empty_slot_bottom_left.json | 6 - ...anopy_bookshelf_empty_slot_bottom_mid.json | 6 - ...opy_bookshelf_empty_slot_bottom_right.json | 6 - ..._canopy_bookshelf_empty_slot_top_left.json | 6 - ...d_canopy_bookshelf_empty_slot_top_mid.json | 6 - ...canopy_bookshelf_empty_slot_top_right.json | 6 - .../chiseled_canopy_bookshelf_inventory.json | 8 - ...y_bookshelf_occupied_slot_bottom_left.json | 6 - ...py_bookshelf_occupied_slot_bottom_mid.json | 6 - ..._bookshelf_occupied_slot_bottom_right.json | 6 - ...nopy_bookshelf_occupied_slot_top_left.json | 6 - ...anopy_bookshelf_occupied_slot_top_mid.json | 6 - ...opy_bookshelf_occupied_slot_top_right.json | 6 - .../twilightforest/models/block/cicada.json | 6 - .../models/block/cinder_log.json | 7 - .../models/block/cinder_log_horizontal.json | 7 - .../models/block/coronation_carpet.json | 8 - .../models/block/cracked_castle_brick.json | 6 - .../block/cracked_castle_brick_stairs.json | 8 - .../cracked_castle_brick_stairs_inner.json | 8 - .../cracked_castle_brick_stairs_outer.json | 8 - .../models/block/cracked_deadrock.json | 6 - .../block/cracked_etched_nagastone.json | 7 - .../block/cracked_etched_nagastone_east.json | 12 - .../block/cracked_etched_nagastone_north.json | 12 - .../block/cracked_etched_nagastone_south.json | 12 - .../block/cracked_etched_nagastone_up.json | 7 - .../block/cracked_etched_nagastone_west.json | 12 - .../models/block/cracked_mazestone.json | 6 - .../block/cracked_nagastone_pillar.json | 7 - .../cracked_nagastone_pillar_reversed.json | 7 - .../block/cracked_nagastone_stairs_left.json | 8 - .../cracked_nagastone_stairs_left_inner.json | 8 - .../cracked_nagastone_stairs_left_outer.json | 8 - .../block/cracked_nagastone_stairs_right.json | 8 - .../cracked_nagastone_stairs_right_inner.json | 8 - .../cracked_nagastone_stairs_right_outer.json | 8 - .../models/block/cracked_towerwood.json | 60 - .../models/block/cracked_towerwood_alt.json | 60 - .../block/cracked_towerwood_alt_flipped.json | 89 - .../block/cracked_towerwood_flipped.json | 89 - .../models/block/cracked_underbrick.json | 6 - .../models/block/cut_mazestone.json | 7 - .../mining_button_1.json => dark_button.json} | 2 +- .../dark_button_inventory.json} | 2 +- ...ressed_1.json => dark_button_pressed.json} | 2 +- .../models/block/dark_chest.json | 6 - .../models/block/dark_door_bottom_left.json | 7 + .../block/dark_door_bottom_left_open.json | 7 + .../models/block/dark_door_bottom_right.json | 7 + .../block/dark_door_bottom_right_open.json | 7 + .../models/block/dark_door_top_left.json | 7 + .../models/block/dark_door_top_left_open.json | 7 + .../models/block/dark_door_top_right.json | 7 + .../block/dark_door_top_right_open.json | 7 + ...fence_gate_1.json => dark_fence_gate.json} | 2 +- ..._open_1.json => dark_fence_gate_open.json} | 2 +- ..._wall_1.json => dark_fence_gate_wall.json} | 2 +- ..._1.json => dark_fence_gate_wall_open.json} | 2 +- .../dark_fence_inventory.json} | 2 +- ...fence_post_1.json => dark_fence_post.json} | 2 +- ...fence_side_1.json => dark_fence_side.json} | 2 +- .../models/block/dark_hanging_sign.json | 6 - .../models/block/dark_leaves.json | 6 - .../twilightforest/models/block/dark_log.json | 7 - .../models/block/dark_log_horizontal.json | 7 - .../block/{hedge.json => dark_planks.json} | 2 +- ..._plate_1.json => dark_pressure_plate.json} | 2 +- ...n_1.json => dark_pressure_plate_down.json} | 2 +- .../models/block/dark_sign.json | 3 +- .../models/block/dark_slab.json | 8 + .../models/block/dark_slab_top.json | 8 + .../models/block/dark_stairs.json | 8 + .../models/block/dark_stairs_inner.json | 8 + .../models/block/dark_stairs_outer.json | 8 + .../models/block/dark_trapdoor_bottom.json | 6 + .../models/block/dark_trapdoor_open.json | 6 + .../models/block/dark_trapdoor_top.json | 6 + .../models/block/dark_trapped_chest.json | 6 - .../models/block/dark_wall_hanging_sign.json | 6 - .../models/block/dark_wall_sign.json | 6 - .../models/block/dark_wood.json | 7 - .../models/block/dark_wood_horizontal.json | 7 - .../models/block/darkwood_sapling.json | 7 - .../twilightforest/models/block/deadrock.json | 6 - .../models/block/decorative_mazestone.json | 7 - .../block/encased_castle_brick_pillar.json | 7 - .../block/encased_castle_brick_pillar_x.json | 7 - .../block/encased_castle_brick_pillar_z.json | 7 - .../block/encased_castle_brick_stairs.json | 8 - .../encased_castle_brick_stairs_inner.json | 8 - .../encased_castle_brick_stairs_outer.json | 8 - .../block/encased_castle_brick_tile.json | 6 - .../models/block/encased_fire_jet.json | 157 -- .../models/block/encased_fire_jet_on.json | 157 -- .../models/block/encased_smoker.json | 157 -- .../models/block/encased_smoker_on.json | 157 -- .../models/block/encased_towerwood.json | 60 - .../models/block/etched_nagastone.json | 7 - .../models/block/etched_nagastone_east.json | 12 - .../models/block/etched_nagastone_north.json | 12 - .../models/block/etched_nagastone_south.json | 12 - .../models/block/etched_nagastone_up.json | 7 - .../models/block/etched_nagastone_west.json | 12 - .../block/experiment115_1_8_regenerating.json | 6 - .../block/experiment115_2_8_regenerating.json | 6 - .../block/experiment115_3_8_regenerating.json | 6 - .../block/experiment115_4_8_regenerating.json | 6 - .../block/experiment115_5_8_regenerating.json | 6 - .../block/experiment115_6_8_regenerating.json | 6 - .../block/experiment115_7_8_regenerating.json | 6 - .../block/experiment115_8_8_regenerating.json | 6 - .../models/block/fallen_leaves1.json | 71 - .../models/block/fallen_leaves2.json | 71 - .../models/block/fallen_leaves3.json | 71 - .../models/block/fallen_leaves4.json | 71 - .../models/block/fallen_leaves5.json | 71 - .../models/block/fallen_leaves6.json | 71 - .../models/block/fallen_leaves7.json | 71 - .../models/block/fallen_leaves8.json | 71 - .../models/block/fiddlehead.json | 7 - .../twilightforest/models/block/fire_jet.json | 62 - .../twilightforest/models/block/firefly.json | 6 - .../models/block/fluffy_cloud.json | 6 - .../models/block/ghast_trap.json | 157 -- .../models/block/ghast_trap_active.json | 157 -- .../models/block/giant_cobblestone.json | 9 - .../models/block/giant_leaves.json | 10 - .../models/block/giant_log.json | 14 - .../models/block/giant_obsidian.json | 9 - .../models/block/green_force_field.json | 1992 ----------------- .../models/block/green_thorns.json | 8 - .../models/block/green_thorns_bottom.json | 8 - .../models/block/green_thorns_no_section.json | 7 - .../block/green_thorns_no_section_alt.json | 7 - .../models/block/green_thorns_thorns.json | 7 - .../models/block/green_thorns_top.json | 8 - .../models/block/hardened_dark_leaves.json | 6 - .../hollow_acacia_log_climbable_ladder.json | 9 - .../hollow_acacia_log_climbable_vine.json | 9 - .../block/hollow_acacia_log_horizontal.json | 9 - .../hollow_acacia_log_horizontal_moss.json | 9 - ...llow_acacia_log_horizontal_moss_grass.json | 9 - .../hollow_acacia_log_horizontal_snow.json | 9 - .../block/hollow_acacia_log_vertical.json | 8 - .../hollow_birch_log_climbable_ladder.json | 9 - .../hollow_birch_log_climbable_vine.json | 9 - .../block/hollow_birch_log_horizontal.json | 9 - .../hollow_birch_log_horizontal_moss.json | 9 - ...ollow_birch_log_horizontal_moss_grass.json | 9 - .../hollow_birch_log_horizontal_snow.json | 9 - .../block/hollow_birch_log_vertical.json | 8 - .../hollow_canopy_log_climbable_ladder.json | 9 - .../hollow_canopy_log_climbable_vine.json | 9 - .../block/hollow_canopy_log_horizontal.json | 9 - .../hollow_canopy_log_horizontal_moss.json | 9 - ...llow_canopy_log_horizontal_moss_grass.json | 9 - .../hollow_canopy_log_horizontal_snow.json | 9 - .../block/hollow_canopy_log_vertical.json | 8 - .../hollow_cherry_log_climbable_ladder.json | 9 - .../hollow_cherry_log_climbable_vine.json | 9 - .../block/hollow_cherry_log_horizontal.json | 9 - .../hollow_cherry_log_horizontal_moss.json | 9 - ...llow_cherry_log_horizontal_moss_grass.json | 9 - .../hollow_cherry_log_horizontal_snow.json | 9 - .../block/hollow_cherry_log_vertical.json | 8 - .../hollow_crimson_stem_climbable_ladder.json | 9 - .../hollow_crimson_stem_climbable_vine.json | 9 - .../block/hollow_crimson_stem_horizontal.json | 9 - .../hollow_crimson_stem_horizontal_moss.json | 9 - ...ow_crimson_stem_horizontal_moss_grass.json | 9 - .../hollow_crimson_stem_horizontal_snow.json | 9 - .../block/hollow_crimson_stem_vertical.json | 8 - .../hollow_dark_log_climbable_ladder.json | 9 - .../block/hollow_dark_log_climbable_vine.json | 9 - .../block/hollow_dark_log_horizontal.json | 9 - .../hollow_dark_log_horizontal_moss.json | 9 - ...hollow_dark_log_horizontal_moss_grass.json | 9 - .../hollow_dark_log_horizontal_snow.json | 9 - .../block/hollow_dark_log_vertical.json | 8 - .../hollow_dark_oak_log_climbable_ladder.json | 9 - .../hollow_dark_oak_log_climbable_vine.json | 9 - .../block/hollow_dark_oak_log_horizontal.json | 9 - .../hollow_dark_oak_log_horizontal_moss.json | 9 - ...ow_dark_oak_log_horizontal_moss_grass.json | 9 - .../hollow_dark_oak_log_horizontal_snow.json | 9 - .../block/hollow_dark_oak_log_vertical.json | 8 - .../hollow_jungle_log_climbable_ladder.json | 9 - .../hollow_jungle_log_climbable_vine.json | 9 - .../block/hollow_jungle_log_horizontal.json | 9 - .../hollow_jungle_log_horizontal_moss.json | 9 - ...llow_jungle_log_horizontal_moss_grass.json | 9 - .../hollow_jungle_log_horizontal_snow.json | 9 - .../block/hollow_jungle_log_vertical.json | 8 - .../models/block/hollow_log_moss.json | 8 - .../models/block/hollow_log_moss_grass.json | 9 - .../models/block/hollow_log_snow.json | 8 - .../hollow_mangrove_log_climbable_ladder.json | 9 - .../hollow_mangrove_log_climbable_vine.json | 9 - .../block/hollow_mangrove_log_horizontal.json | 9 - .../hollow_mangrove_log_horizontal_moss.json | 9 - ...ow_mangrove_log_horizontal_moss_grass.json | 9 - .../hollow_mangrove_log_horizontal_snow.json | 9 - .../block/hollow_mangrove_log_vertical.json | 8 - .../hollow_mining_log_climbable_ladder.json | 9 - .../hollow_mining_log_climbable_vine.json | 9 - .../block/hollow_mining_log_horizontal.json | 9 - .../hollow_mining_log_horizontal_moss.json | 9 - ...llow_mining_log_horizontal_moss_grass.json | 9 - .../hollow_mining_log_horizontal_snow.json | 9 - .../block/hollow_mining_log_vertical.json | 8 - .../hollow_oak_log_climbable_ladder.json | 9 - .../block/hollow_oak_log_climbable_vine.json | 9 - .../block/hollow_oak_log_horizontal.json | 9 - .../block/hollow_oak_log_horizontal_moss.json | 9 - .../hollow_oak_log_horizontal_moss_grass.json | 9 - .../block/hollow_oak_log_horizontal_snow.json | 9 - .../models/block/hollow_oak_log_vertical.json | 8 - .../models/block/hollow_oak_sapling.json | 7 - .../hollow_sorting_log_climbable_ladder.json | 9 - .../hollow_sorting_log_climbable_vine.json | 9 - .../block/hollow_sorting_log_horizontal.json | 9 - .../hollow_sorting_log_horizontal_moss.json | 9 - ...low_sorting_log_horizontal_moss_grass.json | 9 - .../hollow_sorting_log_horizontal_snow.json | 9 - .../block/hollow_sorting_log_vertical.json | 8 - .../hollow_spruce_log_climbable_ladder.json | 9 - .../hollow_spruce_log_climbable_vine.json | 9 - .../block/hollow_spruce_log_horizontal.json | 9 - .../hollow_spruce_log_horizontal_moss.json | 9 - ...llow_spruce_log_horizontal_moss_grass.json | 9 - .../hollow_spruce_log_horizontal_snow.json | 9 - .../block/hollow_spruce_log_vertical.json | 8 - .../hollow_time_log_climbable_ladder.json | 9 - .../block/hollow_time_log_climbable_vine.json | 9 - .../block/hollow_time_log_horizontal.json | 9 - .../hollow_time_log_horizontal_moss.json | 9 - ...hollow_time_log_horizontal_moss_grass.json | 9 - .../hollow_time_log_horizontal_snow.json | 9 - .../block/hollow_time_log_vertical.json | 8 - ...w_transformation_log_climbable_ladder.json | 9 - ...low_transformation_log_climbable_vine.json | 9 - .../hollow_transformation_log_horizontal.json | 9 - ...ow_transformation_log_horizontal_moss.json | 9 - ...nsformation_log_horizontal_moss_grass.json | 9 - ...ow_transformation_log_horizontal_snow.json | 9 - .../hollow_transformation_log_vertical.json | 8 - ...low_twilight_oak_log_climbable_ladder.json | 9 - ...ollow_twilight_oak_log_climbable_vine.json | 9 - .../hollow_twilight_oak_log_horizontal.json | 9 - ...llow_twilight_oak_log_horizontal_moss.json | 9 - ...wilight_oak_log_horizontal_moss_grass.json | 9 - ...llow_twilight_oak_log_horizontal_snow.json | 9 - .../hollow_twilight_oak_log_vertical.json | 8 - .../hollow_vangrove_log_climbable_ladder.json | 9 - .../hollow_vangrove_log_climbable_vine.json | 9 - .../block/hollow_vangrove_log_horizontal.json | 9 - .../hollow_vangrove_log_horizontal_moss.json | 9 - ...ow_vangrove_log_horizontal_moss_grass.json | 9 - .../hollow_vangrove_log_horizontal_snow.json | 9 - .../block/hollow_vangrove_log_vertical.json | 8 - .../hollow_warped_stem_climbable_ladder.json | 9 - .../hollow_warped_stem_climbable_vine.json | 9 - .../block/hollow_warped_stem_horizontal.json | 9 - .../hollow_warped_stem_horizontal_moss.json | 9 - ...low_warped_stem_horizontal_moss_grass.json | 9 - .../hollow_warped_stem_horizontal_snow.json | 9 - .../block/hollow_warped_stem_vertical.json | 8 - .../models/block/horizontal_hollow_log.json | 199 -- .../block/horizontal_hollow_log_carpet.json | 219 -- .../block/horizontal_hollow_log_plant.json | 309 --- .../models/block/huge_lily_pad_0.json | 8 - .../models/block/huge_lily_pad_1.json | 8 - .../models/block/huge_lily_pad_2.json | 8 - .../models/block/huge_lily_pad_3.json | 8 - .../models/block/huge_mushgloom_inside.json | 6 - .../models/block/huge_mushgloom_outside.json | 6 - .../block/huge_mushgloom_stem_inside.json | 6 - .../block/huge_mushgloom_stem_outside.json | 6 - .../models/block/huge_stalk.json | 7 - .../models/block/huge_stalk_horizontal.json | 7 - .../models/block/huge_water_lily.json | 7 - .../models/block/infested_towerwood.json | 60 - .../block/infested_towerwood_flipped.json | 89 - .../models/block/ironwood_block.json | 6 - .../models/block/keepsake_casket.json | 6 - .../models/block/lid/acacia_log.json | 7 - .../models/block/lid/bamboo_block.json | 7 - .../models/block/lid/birch_log.json | 7 - .../models/block/lid/canopy_log.json | 7 - .../models/block/lid/cherry_log.json | 7 - .../models/block/lid/cinder_log.json | 7 - .../models/block/lid/crimson_stem.json | 7 - .../models/block/lid/dark_log.json | 7 - .../models/block/lid/dark_oak_log.json | 7 - .../models/block/lid/jungle_log.json | 7 - .../models/block/lid/mangrove_log.json | 7 - .../models/block/lid/mining_log.json | 7 - .../models/block/lid/oak_log.json | 7 - .../models/block/lid/pumpkin.json | 7 - .../models/block/lid/sorting_log.json | 7 - .../models/block/lid/spruce_log.json | 7 - .../models/block/lid/stripped_acacia_log.json | 7 - .../block/lid/stripped_bamboo_block.json | 7 - .../models/block/lid/stripped_birch_log.json | 7 - .../models/block/lid/stripped_canopy_log.json | 7 - .../models/block/lid/stripped_cherry_log.json | 7 - .../block/lid/stripped_crimson_stem.json | 7 - .../models/block/lid/stripped_dark_log.json | 7 - .../block/lid/stripped_dark_oak_log.json | 7 - .../models/block/lid/stripped_jungle_log.json | 7 - .../block/lid/stripped_mangrove_log.json | 7 - .../models/block/lid/stripped_mining_log.json | 7 - .../models/block/lid/stripped_oak_log.json | 7 - .../block/lid/stripped_sorting_log.json | 7 - .../models/block/lid/stripped_spruce_log.json | 7 - .../models/block/lid/stripped_time_log.json | 7 - .../lid/stripped_transformation_log.json | 7 - .../block/lid/stripped_twilight_oak_log.json | 7 - .../block/lid/stripped_warped_stem.json | 7 - .../models/block/lid/time_log.json | 7 - .../models/block/lid/transformation_log.json | 7 - .../models/block/lid/twilight_oak_log.json | 7 - .../block/lid/vanilla_mangrove_log.json | 7 - .../lid/vanilla_stripped_mangrove_log.json | 7 - .../models/block/lid/warped_stem.json | 7 - .../models/block/liveroot_block.json | 6 - .../models/block/locked_vanishing_block.json | 192 -- .../locked_vanishing_block_unlocked.json | 192 -- ...ing_button_2.json => mangrove_button.json} | 2 +- .../mangrove_button_inventory.json} | 2 +- ...ed_2.json => mangrove_button_pressed.json} | 2 +- .../models/block/mangrove_chest.json | 6 - .../block/mangrove_door_bottom_left.json | 7 + .../block/mangrove_door_bottom_left_open.json | 7 + .../block/mangrove_door_bottom_right.json | 7 + .../mangrove_door_bottom_right_open.json | 7 + .../models/block/mangrove_door_top_left.json | 7 + .../block/mangrove_door_top_left_open.json | 7 + .../models/block/mangrove_door_top_right.json | 7 + .../block/mangrove_door_top_right_open.json | 7 + ...e_gate_2.json => mangrove_fence_gate.json} | 2 +- ...n_2.json => mangrove_fence_gate_open.json} | 2 +- ...l_2.json => mangrove_fence_gate_wall.json} | 2 +- ...son => mangrove_fence_gate_wall_open.json} | 2 +- .../mangrove_fence_inventory.json} | 2 +- ...e_post_2.json => mangrove_fence_post.json} | 2 +- ...e_side_2.json => mangrove_fence_side.json} | 2 +- .../models/block/mangrove_hanging_sign.json | 6 - .../models/block/mangrove_leaves.json | 6 - .../models/block/mangrove_log.json | 7 - .../models/block/mangrove_log_horizontal.json | 7 - ...{cinder_wood.json => mangrove_planks.json} | 2 +- ...te_2.json => mangrove_pressure_plate.json} | 2 +- ...json => mangrove_pressure_plate_down.json} | 2 +- .../models/block/mangrove_root.json | 6 - .../models/block/mangrove_sapling.json | 7 - .../models/block/mangrove_sign.json | 3 +- .../models/block/mangrove_slab.json | 8 + .../models/block/mangrove_slab_top.json | 8 + .../models/block/mangrove_stairs.json | 8 + .../models/block/mangrove_stairs_inner.json | 8 + .../models/block/mangrove_stairs_outer.json | 8 + .../block/mangrove_trapdoor_bottom.json | 6 + .../models/block/mangrove_trapdoor_open.json | 6 + .../models/block/mangrove_trapdoor_top.json | 6 + .../models/block/mangrove_trapped_chest.json | 6 - .../block/mangrove_wall_hanging_sign.json | 6 - .../models/block/mangrove_wall_sign.json | 6 - .../models/block/mangrove_wood.json | 7 - .../block/mangrove_wood_horizontal.json | 7 - .../models/block/mason_jar.json | 45 - .../models/block/mazestone.json | 6 - .../models/block/mazestone_border.json | 7 - .../models/block/mazestone_brick.json | 6 - .../models/block/mazestone_mosaic.json | 7 - .../{wood/button/mine => }/mining_button.json | 2 +- .../mining_button_inventory.json} | 2 +- .../mine => }/mining_button_pressed.json | 2 +- .../models/block/mining_chest.json | 6 - .../models/block/mining_door_bottom_left.json | 7 + .../block/mining_door_bottom_left_open.json | 7 + .../block/mining_door_bottom_right.json | 7 + .../block/mining_door_bottom_right_open.json | 7 + .../models/block/mining_door_top_left.json | 7 + .../block/mining_door_top_left_open.json | 7 + .../models/block/mining_door_top_right.json | 7 + .../block/mining_door_top_right_open.json | 7 + .../mine => }/mining_fence_gate.json | 2 +- .../mine => }/mining_fence_gate_open.json | 2 +- .../mine => }/mining_fence_gate_wall.json | 2 +- .../mining_fence_gate_wall_open.json | 2 +- .../mining_fence_inventory.json} | 2 +- .../fence/mine => }/mining_fence_post.json | 2 +- .../fence/mine => }/mining_fence_side.json | 2 +- .../models/block/mining_hanging_sign.json | 6 - .../models/block/mining_leaves.json | 58 - .../models/block/mining_log.json | 7 - .../models/block/mining_log_core.json | 7 - .../models/block/mining_log_core_on.json | 7 - .../models/block/mining_log_horizontal.json | 7 - .../mining_planks.json} | 4 +- .../mine => }/mining_pressure_plate.json | 2 +- .../mine => }/mining_pressure_plate_down.json | 2 +- .../models/block/mining_sapling.json | 7 - .../models/block/mining_sign.json | 3 +- .../models/block/mining_slab.json | 8 + .../models/block/mining_slab_top.json | 8 + .../models/block/mining_stairs.json | 8 + .../models/block/mining_stairs_inner.json | 8 + .../models/block/mining_stairs_outer.json | 8 + .../models/block/mining_trapdoor_bottom.json | 6 + .../models/block/mining_trapdoor_open.json | 6 + .../models/block/mining_trapdoor_top.json | 6 + .../models/block/mining_trapped_chest.json | 6 - .../block/mining_wall_hanging_sign.json | 6 - .../models/block/mining_wall_sign.json | 6 - .../models/block/mining_wood.json | 7 - .../models/block/mining_wood_horizontal.json | 7 - .../twilightforest/models/block/moonworm.json | 6 - .../models/block/mossy_castle_brick.json | 6 - .../block/mossy_castle_brick_stairs.json | 8 - .../mossy_castle_brick_stairs_inner.json | 8 - .../mossy_castle_brick_stairs_outer.json | 8 - .../models/block/mossy_etched_nagastone.json | 7 - .../block/mossy_etched_nagastone_east.json | 12 - .../block/mossy_etched_nagastone_north.json | 12 - .../block/mossy_etched_nagastone_south.json | 12 - .../block/mossy_etched_nagastone_up.json | 7 - .../block/mossy_etched_nagastone_west.json | 12 - .../models/block/mossy_mazestone.json | 6 - .../models/block/mossy_nagastone_pillar.json | 7 - .../mossy_nagastone_pillar_reversed.json | 7 - .../block/mossy_nagastone_stairs_left.json | 8 - .../mossy_nagastone_stairs_left_inner.json | 8 - .../mossy_nagastone_stairs_left_outer.json | 8 - .../block/mossy_nagastone_stairs_right.json | 8 - .../mossy_nagastone_stairs_right_inner.json | 8 - .../mossy_nagastone_stairs_right_outer.json | 8 - .../models/block/mossy_towerwood.json | 60 - .../models/block/mossy_towerwood_flipped.json | 89 - .../models/block/mossy_underbrick.json | 6 - .../models/block/mushgloom.json | 215 -- .../models/block/nagastone.json | 8 - .../models/block/nagastone_pillar.json | 7 - .../block/nagastone_pillar_reversed.json | 7 - .../models/block/nagastone_stairs_left.json | 8 - .../block/nagastone_stairs_left_inner.json | 8 - .../block/nagastone_stairs_left_outer.json | 8 - .../models/block/nagastone_stairs_right.json | 8 - .../block/nagastone_stairs_right_inner.json | 8 - .../block/nagastone_stairs_right_outer.json | 8 - .../models/block/orange_force_field.json | 1992 ----------------- .../models/block/pink_castle_door.json | 22 - .../block/pink_castle_door_vanished.json | 22 - .../models/block/pink_force_field.json | 1992 ----------------- .../models/block/potted_canopy_sapling.json | 7 - .../models/block/potted_darkwood_sapling.json | 7 - .../models/block/potted_dead_thorn.json | 7 - .../models/block/potted_fiddlehead.json | 7 - .../models/block/potted_green_thorn.json | 7 - .../block/potted_hollow_oak_sapling.json | 7 - .../models/block/potted_mangrove_sapling.json | 7 - .../models/block/potted_mining_sapling.json | 7 - .../models/block/potted_mushgloom.json | 7 - .../block/potted_rainbow_oak_sapling.json | 7 - .../models/block/potted_sorting_sapling.json | 7 - .../models/block/potted_thorn.json | 7 - .../models/block/potted_time_sapling.json | 7 - .../block/potted_transformation_sapling.json | 7 - .../block/potted_twilight_oak_sapling.json | 7 - .../models/block/rainbow_oak_leaves.json | 6 - .../models/block/rainbow_oak_sapling.json | 7 - .../models/block/rainy_cloud.json | 6 - .../models/block/reactor_debris.json | 6 - .../models/block/reappearing_block.json | 192 -- .../block/reappearing_block_active.json | 192 -- .../block/reappearing_block_vanished.json | 72 - .../reappearing_block_vanished_active.json | 72 - .../models/block/red_thread.json | 6 - .../twilightforest/models/block/root.json | 6 - .../models/block/sinister_spawner.json | 7 - .../models/block/skull_chest.json | 6 - .../twilightforest/models/block/smoker.json | 62 - .../models/block/snowy_cloud.json | 6 - .../button/sort => }/sorting_button.json | 2 +- .../block/sorting_button_inventory.json | 6 + .../sort => }/sorting_button_pressed.json | 2 +- .../models/block/sorting_chest.json | 6 - .../block/sorting_door_bottom_left.json | 7 + .../block/sorting_door_bottom_left_open.json | 7 + .../block/sorting_door_bottom_right.json | 7 + .../block/sorting_door_bottom_right_open.json | 7 + .../models/block/sorting_door_top_left.json | 7 + .../block/sorting_door_top_left_open.json | 7 + .../models/block/sorting_door_top_right.json | 7 + .../block/sorting_door_top_right_open.json | 7 + .../sort => }/sorting_fence_gate.json | 2 +- .../sort => }/sorting_fence_gate_open.json | 2 +- .../sort => }/sorting_fence_gate_wall.json | 2 +- .../sorting_fence_gate_wall_open.json | 2 +- .../models/block/sorting_fence_inventory.json | 6 + .../fence/sort => }/sorting_fence_post.json | 2 +- .../fence/sort => }/sorting_fence_side.json | 2 +- .../models/block/sorting_hanging_sign.json | 6 - .../models/block/sorting_leaves.json | 49 - .../models/block/sorting_leaves1.json | 50 - .../models/block/sorting_leaves2.json | 52 - .../models/block/sorting_leaves3.json | 51 - .../models/block/sorting_log.json | 7 - .../models/block/sorting_log_core.json | 7 - .../models/block/sorting_log_core_on.json | 7 - .../models/block/sorting_log_horizontal.json | 7 - ...e_rune_bricks.json => sorting_planks.json} | 2 +- .../sort => }/sorting_pressure_plate.json | 2 +- .../sorting_pressure_plate_down.json | 2 +- .../models/block/sorting_sapling.json | 7 - .../models/block/sorting_sign.json | 3 +- .../models/block/sorting_slab.json | 8 + .../models/block/sorting_slab_top.json | 8 + .../models/block/sorting_stairs.json | 8 + .../models/block/sorting_stairs_inner.json | 8 + .../models/block/sorting_stairs_outer.json | 8 + .../models/block/sorting_trapdoor_bottom.json | 6 + .../models/block/sorting_trapdoor_open.json | 6 + .../models/block/sorting_trapdoor_top.json | 6 + .../models/block/sorting_trapped_chest.json | 6 - .../block/sorting_wall_hanging_sign.json | 6 - .../models/block/sorting_wall_sign.json | 6 - .../models/block/sorting_wood.json | 7 - .../models/block/sorting_wood_horizontal.json | 7 - .../models/block/steeleaf_block.json | 6 - .../models/block/stripped_canopy_log.json | 7 - .../block/stripped_canopy_log_horizontal.json | 7 - .../models/block/stripped_canopy_wood.json | 7 - .../stripped_canopy_wood_horizontal.json | 7 - .../models/block/stripped_dark_log.json | 7 - .../block/stripped_dark_log_horizontal.json | 7 - .../models/block/stripped_dark_wood.json | 7 - .../block/stripped_dark_wood_horizontal.json | 7 - .../models/block/stripped_mangrove_log.json | 7 - .../stripped_mangrove_log_horizontal.json | 7 - .../models/block/stripped_mangrove_wood.json | 7 - .../stripped_mangrove_wood_horizontal.json | 7 - .../models/block/stripped_mining_log.json | 7 - .../block/stripped_mining_log_horizontal.json | 7 - .../models/block/stripped_mining_wood.json | 7 - .../stripped_mining_wood_horizontal.json | 7 - .../models/block/stripped_sorting_log.json | 7 - .../stripped_sorting_log_horizontal.json | 7 - .../models/block/stripped_sorting_wood.json | 7 - .../stripped_sorting_wood_horizontal.json | 7 - .../models/block/stripped_time_log.json | 7 - .../block/stripped_time_log_horizontal.json | 7 - .../models/block/stripped_time_wood.json | 7 - .../block/stripped_time_wood_horizontal.json | 7 - .../block/stripped_transformation_log.json | 7 - ...tripped_transformation_log_horizontal.json | 7 - .../block/stripped_transformation_wood.json | 7 - ...ripped_transformation_wood_horizontal.json | 7 - .../block/stripped_twilight_oak_log.json | 7 - .../stripped_twilight_oak_log_horizontal.json | 7 - .../block/stripped_twilight_oak_wood.json | 7 - ...stripped_twilight_oak_wood_horizontal.json | 7 - .../models/block/stronghold_shield.json | 7 - .../models/block/terrorcotta_arcs.json | 7 - .../models/block/terrorcotta_arcs_x.json | 8 - .../models/block/terrorcotta_arcs_z.json | 8 - .../models/block/terrorcotta_curves_0.json | 12 - .../models/block/terrorcotta_curves_180.json | 12 - .../models/block/terrorcotta_curves_270.json | 12 - .../models/block/terrorcotta_curves_90.json | 12 - .../models/block/terrorcotta_lines_0.json | 12 - .../models/block/terrorcotta_lines_90.json | 12 - .../models/block/thick_castle_brick.json | 6 - .../models/block/thorn_leaves.json | 3 - .../models/block/thorn_rose.json | 7 - .../{wood/button/time => }/time_button.json | 2 +- .../models/block/time_button_inventory.json | 6 + .../button/time => }/time_button_pressed.json | 2 +- .../models/block/time_chest.json | 6 - .../models/block/time_door_bottom_left.json | 7 + .../block/time_door_bottom_left_open.json | 7 + .../models/block/time_door_bottom_right.json | 7 + .../block/time_door_bottom_right_open.json | 7 + .../models/block/time_door_top_left.json | 7 + .../models/block/time_door_top_left_open.json | 7 + .../models/block/time_door_top_right.json | 7 + .../block/time_door_top_right_open.json | 7 + .../fence_gate/time => }/time_fence_gate.json | 2 +- .../time => }/time_fence_gate_open.json | 2 +- .../time => }/time_fence_gate_wall.json | 2 +- .../time => }/time_fence_gate_wall_open.json | 2 +- .../models/block/time_fence_inventory.json | 6 + .../fence/time => }/time_fence_post.json | 2 +- .../fence/time => }/time_fence_side.json | 2 +- .../models/block/time_hanging_sign.json | 6 - .../models/block/time_leaves.json | 88 - .../twilightforest/models/block/time_log.json | 7 - .../models/block/time_log_core.json | 7 - .../models/block/time_log_core_on.json | 7 - .../models/block/time_log_horizontal.json | 7 - .../{hedge_rose.json => time_planks.json} | 2 +- .../time => }/time_pressure_plate.json | 2 +- .../time => }/time_pressure_plate_down.json | 2 +- .../models/block/time_sapling.json | 7 - .../models/block/time_sign.json | 3 +- .../models/block/time_slab.json | 8 + .../models/block/time_slab_top.json | 8 + .../models/block/time_stairs.json | 8 + .../models/block/time_stairs_inner.json | 8 + .../models/block/time_stairs_outer.json | 8 + .../models/block/time_trapdoor_bottom.json | 6 + .../models/block/time_trapdoor_open.json | 6 + .../models/block/time_trapdoor_top.json | 6 + .../models/block/time_trapped_chest.json | 6 - .../models/block/time_wall_hanging_sign.json | 6 - .../models/block/time_wall_sign.json | 6 - .../models/block/time_wood.json | 7 - .../models/block/time_wood_horizontal.json | 7 - .../models/block/torchberry_plant.json | 199 -- .../block/torchberry_plant_no_berries.json | 7 - .../models/block/towerwood.json | 60 - .../models/block/towerwood_flipped.json | 89 - .../trans => }/transformation_button.json | 2 +- .../transformation_button_inventory.json} | 2 +- .../transformation_button_pressed.json | 2 +- .../models/block/transformation_chest.json | 6 - .../transformation_door_bottom_left.json | 7 + .../transformation_door_bottom_left_open.json | 7 + .../transformation_door_bottom_right.json | 7 + ...transformation_door_bottom_right_open.json | 7 + .../block/transformation_door_top_left.json | 7 + .../transformation_door_top_left_open.json | 7 + .../block/transformation_door_top_right.json | 7 + .../transformation_door_top_right_open.json | 7 + .../trans => }/transformation_fence_gate.json | 2 +- .../transformation_fence_gate_open.json | 2 +- .../transformation_fence_gate_wall.json | 2 +- .../transformation_fence_gate_wall_open.json | 2 +- .../transformation_fence_inventory.json} | 2 +- .../trans => }/transformation_fence_post.json | 2 +- .../trans => }/transformation_fence_side.json | 2 +- .../block/transformation_hanging_sign.json | 6 - .../models/block/transformation_leaves.json | 58 - .../models/block/transformation_log.json | 7 - .../models/block/transformation_log_core.json | 7 - .../block/transformation_log_core_on.json | 7 - .../block/transformation_log_horizontal.json | 7 - .../trans => }/transformation_planks.json | 2 +- .../transformation_pressure_plate.json | 2 +- .../transformation_pressure_plate_down.json | 2 +- .../models/block/transformation_sapling.json | 7 - .../models/block/transformation_sign.json | 3 +- .../models/block/transformation_slab.json | 8 + .../models/block/transformation_slab_top.json | 8 + .../models/block/transformation_stairs.json | 8 + .../block/transformation_stairs_inner.json | 8 + .../block/transformation_stairs_outer.json | 8 + .../block/transformation_trapdoor_bottom.json | 6 + .../block/transformation_trapdoor_open.json | 6 + .../block/transformation_trapdoor_top.json | 6 + .../block/transformation_trapped_chest.json | 6 - .../transformation_wall_hanging_sign.json | 6 - .../block/transformation_wall_sign.json | 6 - .../models/block/transformation_wood.json | 7 - .../block/transformation_wood_horizontal.json | 7 - .../twilightforest/models/block/trollber.json | 215 -- .../models/block/trollsteinn_inside.json | 6 - .../models/block/trollsteinn_outside.json | 6 - .../models/block/trollvidr.json | 7 - .../models/block/trophy_pedestal.json | 222 -- .../models/block/trophy_pedestal_1.json | 222 -- .../models/block/trophy_pedestal_2.json | 222 -- .../models/block/trophy_pedestal_3.json | 222 -- .../models/block/trophy_pedestal_4.json | 222 -- .../models/block/trophy_pedestal_active.json | 513 ----- .../block/trophy_pedestal_active_1.json | 513 ----- .../block/trophy_pedestal_active_2.json | 513 ----- .../block/trophy_pedestal_active_3.json | 513 ----- .../block/trophy_pedestal_active_4.json | 513 ----- .../models/block/twilight_oak_button.json | 6 + .../block/twilight_oak_button_inventory.json | 6 + .../block/twilight_oak_button_pressed.json | 6 + .../models/block/twilight_oak_chest.json | 6 - .../block/twilight_oak_door_bottom_left.json | 7 + .../twilight_oak_door_bottom_left_open.json | 7 + .../block/twilight_oak_door_bottom_right.json | 7 + .../twilight_oak_door_bottom_right_open.json | 7 + .../block/twilight_oak_door_top_left.json | 7 + .../twilight_oak_door_top_left_open.json | 7 + .../block/twilight_oak_door_top_right.json | 7 + .../twilight_oak_door_top_right_open.json | 7 + .../models/block/twilight_oak_fence_gate.json | 6 + .../block/twilight_oak_fence_gate_open.json | 6 + .../block/twilight_oak_fence_gate_wall.json | 6 + .../twilight_oak_fence_gate_wall_open.json | 6 + .../block/twilight_oak_fence_inventory.json | 6 + .../models/block/twilight_oak_fence_post.json | 6 + .../models/block/twilight_oak_fence_side.json | 6 + .../block/twilight_oak_hanging_sign.json | 6 - .../models/block/twilight_oak_leaves.json | 6 - .../models/block/twilight_oak_log.json | 7 - .../block/twilight_oak_log_horizontal.json | 7 - ...oof_tile.json => twilight_oak_planks.json} | 2 +- .../block/twilight_oak_pressure_plate.json | 6 + .../twilight_oak_pressure_plate_down.json | 6 + .../models/block/twilight_oak_sapling.json | 7 - .../models/block/twilight_oak_sign.json | 3 +- .../models/block/twilight_oak_slab.json | 8 + .../models/block/twilight_oak_slab_top.json | 8 + .../models/block/twilight_oak_stairs.json | 8 + .../block/twilight_oak_stairs_inner.json | 8 + .../block/twilight_oak_stairs_outer.json | 8 + .../block/twilight_oak_trapdoor_bottom.json | 6 + .../block/twilight_oak_trapdoor_open.json | 6 + .../block/twilight_oak_trapdoor_top.json | 6 + .../block/twilight_oak_trapped_chest.json | 6 - .../block/twilight_oak_wall_hanging_sign.json | 6 - .../models/block/twilight_oak_wood.json | 7 - .../block/twilight_oak_wood_horizontal.json | 7 - .../models/block/twilight_wall_sign.json | 6 - .../models/block/twisted_stone.json | 7 - .../block/twisted_stone_horizontal.json | 7 - .../models/block/uberous_soil.json | 7 - .../models/block/uncrafting_table.json | 76 - .../block/uncrafting_table_glowing.json | 112 - .../models/block/underbrick.json | 6 - .../models/block/underbrick_floor.json | 6 - .../models/block/unripe_trollber.json | 7 - .../models/block/vanishing_block.json | 192 -- .../models/block/vanishing_block_active.json | 192 -- .../models/block/vertical_hollow_log.json | 156 -- .../block/vertical_hollow_log_ladder.json | 181 -- .../block/vertical_hollow_log_vine.json | 181 -- .../models/block/violet_castle_door.json | 22 - .../block/violet_castle_door_vanished.json | 22 - .../models/block/violet_force_field.json | 1992 ----------------- .../models/block/wall_candelabra.json | 346 --- .../models/block/weathered_deadrock.json | 6 - .../models/block/wispy_cloud.json | 7 - .../acacia/acacia_banister_connected.json | 6 - .../acacia_banister_connected_extended.json | 6 - .../acacia/acacia_banister_short.json | 6 - .../acacia_banister_short_extended.json | 6 - .../banister/acacia/acacia_banister_tall.json | 6 - .../acacia/acacia_banister_tall_extended.json | 6 - .../bamboo/bamboo_banister_connected.json | 6 - .../bamboo_banister_connected_extended.json | 6 - .../bamboo/bamboo_banister_short.json | 6 - .../bamboo_banister_short_extended.json | 6 - .../banister/bamboo/bamboo_banister_tall.json | 6 - .../bamboo/bamboo_banister_tall_extended.json | 6 - .../birch/birch_banister_connected.json | 6 - .../birch_banister_connected_extended.json | 6 - .../banister/birch/birch_banister_short.json | 6 - .../birch/birch_banister_short_extended.json | 6 - .../banister/birch/birch_banister_tall.json | 6 - .../birch/birch_banister_tall_extended.json | 6 - .../canopy/canopy_banister_connected.json | 6 - .../canopy/canopy_banister_connected_1.json | 6 - .../canopy/canopy_banister_connected_2.json | 6 - .../canopy/canopy_banister_connected_3.json | 6 - .../canopy_banister_connected_extended.json | 6 - .../canopy_banister_connected_extended_1.json | 6 - .../canopy_banister_connected_extended_2.json | 6 - .../canopy_banister_connected_extended_3.json | 6 - .../canopy/canopy_banister_short.json | 6 - .../canopy/canopy_banister_short_1.json | 6 - .../canopy/canopy_banister_short_2.json | 6 - .../canopy/canopy_banister_short_3.json | 6 - .../canopy_banister_short_extended.json | 6 - .../canopy_banister_short_extended_1.json | 6 - .../canopy_banister_short_extended_2.json | 6 - .../canopy_banister_short_extended_3.json | 6 - .../banister/canopy/canopy_banister_tall.json | 6 - .../canopy/canopy_banister_tall_1.json | 6 - .../canopy/canopy_banister_tall_2.json | 6 - .../canopy/canopy_banister_tall_3.json | 6 - .../canopy/canopy_banister_tall_extended.json | 6 - .../canopy_banister_tall_extended_1.json | 6 - .../canopy_banister_tall_extended_2.json | 6 - .../canopy_banister_tall_extended_3.json | 6 - .../cherry/cherry_banister_connected.json | 6 - .../cherry_banister_connected_extended.json | 6 - .../cherry/cherry_banister_short.json | 6 - .../cherry_banister_short_extended.json | 6 - .../banister/cherry/cherry_banister_tall.json | 6 - .../cherry/cherry_banister_tall_extended.json | 6 - .../crimson/crimson_banister_connected.json | 6 - .../crimson_banister_connected_extended.json | 6 - .../crimson/crimson_banister_short.json | 6 - .../crimson_banister_short_extended.json | 6 - .../crimson/crimson_banister_tall.json | 6 - .../crimson_banister_tall_extended.json | 6 - .../dark_oak/dark_oak_banister_connected.json | 6 - .../dark_oak_banister_connected_extended.json | 6 - .../dark_oak/dark_oak_banister_short.json | 6 - .../dark_oak_banister_short_extended.json | 6 - .../dark_oak/dark_oak_banister_tall.json | 6 - .../dark_oak_banister_tall_extended.json | 6 - .../darkwood/dark_banister_connected.json | 6 - .../darkwood/dark_banister_connected_1.json | 6 - .../darkwood/dark_banister_connected_2.json | 6 - .../darkwood/dark_banister_connected_3.json | 6 - .../dark_banister_connected_extended.json | 6 - .../dark_banister_connected_extended_1.json | 6 - .../dark_banister_connected_extended_2.json | 6 - .../dark_banister_connected_extended_3.json | 6 - .../darkwood/dark_banister_short.json | 6 - .../darkwood/dark_banister_short_1.json | 6 - .../darkwood/dark_banister_short_2.json | 6 - .../darkwood/dark_banister_short_3.json | 6 - .../dark_banister_short_extended.json | 6 - .../dark_banister_short_extended_1.json | 6 - .../dark_banister_short_extended_2.json | 6 - .../dark_banister_short_extended_3.json | 6 - .../banister/darkwood/dark_banister_tall.json | 6 - .../darkwood/dark_banister_tall_1.json | 6 - .../darkwood/dark_banister_tall_2.json | 6 - .../darkwood/dark_banister_tall_3.json | 6 - .../darkwood/dark_banister_tall_extended.json | 6 - .../dark_banister_tall_extended_1.json | 6 - .../dark_banister_tall_extended_2.json | 6 - .../dark_banister_tall_extended_3.json | 6 - .../jungle/jungle_banister_connected.json | 6 - .../jungle_banister_connected_extended.json | 6 - .../jungle/jungle_banister_short.json | 6 - .../jungle_banister_short_extended.json | 6 - .../banister/jungle/jungle_banister_tall.json | 6 - .../jungle/jungle_banister_tall_extended.json | 6 - .../mangrove/mangrove_banister_connected.json | 6 - .../mangrove_banister_connected_1.json | 6 - .../mangrove_banister_connected_2.json | 6 - .../mangrove_banister_connected_3.json | 6 - .../mangrove_banister_connected_extended.json | 6 - ...angrove_banister_connected_extended_1.json | 6 - ...angrove_banister_connected_extended_2.json | 6 - ...angrove_banister_connected_extended_3.json | 6 - .../mangrove/mangrove_banister_short.json | 6 - .../mangrove/mangrove_banister_short_1.json | 6 - .../mangrove/mangrove_banister_short_2.json | 6 - .../mangrove/mangrove_banister_short_3.json | 6 - .../mangrove_banister_short_extended.json | 6 - .../mangrove_banister_short_extended_1.json | 6 - .../mangrove_banister_short_extended_2.json | 6 - .../mangrove_banister_short_extended_3.json | 6 - .../mangrove/mangrove_banister_tall.json | 6 - .../mangrove/mangrove_banister_tall_1.json | 6 - .../mangrove/mangrove_banister_tall_2.json | 6 - .../mangrove/mangrove_banister_tall_3.json | 6 - .../mangrove_banister_tall_extended.json | 6 - .../mangrove_banister_tall_extended_1.json | 6 - .../mangrove_banister_tall_extended_2.json | 6 - .../mangrove_banister_tall_extended_3.json | 6 - .../mine/mining_banister_connected.json | 6 - .../mine/mining_banister_connected_1.json | 6 - .../mine/mining_banister_connected_2.json | 6 - .../mine/mining_banister_connected_3.json | 6 - .../mining_banister_connected_extended.json | 6 - .../mining_banister_connected_extended_1.json | 6 - .../mining_banister_connected_extended_2.json | 6 - .../mining_banister_connected_extended_3.json | 6 - .../banister/mine/mining_banister_short.json | 6 - .../mine/mining_banister_short_1.json | 6 - .../mine/mining_banister_short_2.json | 6 - .../mine/mining_banister_short_3.json | 6 - .../mine/mining_banister_short_extended.json | 6 - .../mining_banister_short_extended_1.json | 6 - .../mining_banister_short_extended_2.json | 6 - .../mining_banister_short_extended_3.json | 6 - .../banister/mine/mining_banister_tall.json | 6 - .../banister/mine/mining_banister_tall_1.json | 6 - .../banister/mine/mining_banister_tall_2.json | 6 - .../banister/mine/mining_banister_tall_3.json | 6 - .../mine/mining_banister_tall_extended.json | 6 - .../mine/mining_banister_tall_extended_1.json | 6 - .../mine/mining_banister_tall_extended_2.json | 6 - .../mine/mining_banister_tall_extended_3.json | 6 - .../banister/oak/oak_banister_connected.json | 6 - .../oak/oak_banister_connected_extended.json | 6 - .../wood/banister/oak/oak_banister_short.json | 6 - .../oak/oak_banister_short_extended.json | 6 - .../wood/banister/oak/oak_banister_tall.json | 6 - .../oak/oak_banister_tall_extended.json | 6 - .../sort/sorting_banister_connected.json | 6 - .../sort/sorting_banister_connected_1.json | 6 - .../sort/sorting_banister_connected_2.json | 6 - .../sort/sorting_banister_connected_3.json | 6 - .../sorting_banister_connected_extended.json | 6 - ...sorting_banister_connected_extended_1.json | 6 - ...sorting_banister_connected_extended_2.json | 6 - ...sorting_banister_connected_extended_3.json | 6 - .../banister/sort/sorting_banister_short.json | 6 - .../sort/sorting_banister_short_1.json | 6 - .../sort/sorting_banister_short_2.json | 6 - .../sort/sorting_banister_short_3.json | 6 - .../sort/sorting_banister_short_extended.json | 6 - .../sorting_banister_short_extended_1.json | 6 - .../sorting_banister_short_extended_2.json | 6 - .../sorting_banister_short_extended_3.json | 6 - .../banister/sort/sorting_banister_tall.json | 6 - .../sort/sorting_banister_tall_1.json | 6 - .../sort/sorting_banister_tall_2.json | 6 - .../sort/sorting_banister_tall_3.json | 6 - .../sort/sorting_banister_tall_extended.json | 6 - .../sorting_banister_tall_extended_1.json | 6 - .../sorting_banister_tall_extended_2.json | 6 - .../sorting_banister_tall_extended_3.json | 6 - .../spruce/spruce_banister_connected.json | 6 - .../spruce_banister_connected_extended.json | 6 - .../spruce/spruce_banister_short.json | 6 - .../spruce_banister_short_extended.json | 6 - .../banister/spruce/spruce_banister_tall.json | 6 - .../spruce/spruce_banister_tall_extended.json | 6 - .../time/time_banister_connected.json | 6 - .../time/time_banister_connected_1.json | 6 - .../time/time_banister_connected_2.json | 6 - .../time/time_banister_connected_3.json | 6 - .../time_banister_connected_extended.json | 6 - .../time_banister_connected_extended_1.json | 6 - .../time_banister_connected_extended_2.json | 6 - .../time_banister_connected_extended_3.json | 6 - .../banister/time/time_banister_short.json | 6 - .../banister/time/time_banister_short_1.json | 6 - .../banister/time/time_banister_short_2.json | 6 - .../banister/time/time_banister_short_3.json | 6 - .../time/time_banister_short_extended.json | 6 - .../time/time_banister_short_extended_1.json | 6 - .../time/time_banister_short_extended_2.json | 6 - .../time/time_banister_short_extended_3.json | 6 - .../banister/time/time_banister_tall.json | 6 - .../banister/time/time_banister_tall_1.json | 6 - .../banister/time/time_banister_tall_2.json | 6 - .../banister/time/time_banister_tall_3.json | 6 - .../time/time_banister_tall_extended.json | 6 - .../time/time_banister_tall_extended_1.json | 6 - .../time/time_banister_tall_extended_2.json | 6 - .../time/time_banister_tall_extended_3.json | 6 - .../transformation_banister_connected.json | 6 - .../transformation_banister_connected_1.json | 6 - .../transformation_banister_connected_2.json | 6 - .../transformation_banister_connected_3.json | 6 - ...formation_banister_connected_extended.json | 6 - ...rmation_banister_connected_extended_1.json | 6 - ...rmation_banister_connected_extended_2.json | 6 - ...rmation_banister_connected_extended_3.json | 6 - .../trans/transformation_banister_short.json | 6 - .../transformation_banister_short_1.json | 6 - .../transformation_banister_short_2.json | 6 - .../transformation_banister_short_3.json | 6 - ...ransformation_banister_short_extended.json | 6 - ...nsformation_banister_short_extended_1.json | 6 - ...nsformation_banister_short_extended_2.json | 6 - ...nsformation_banister_short_extended_3.json | 6 - .../trans/transformation_banister_tall.json | 6 - .../trans/transformation_banister_tall_1.json | 6 - .../trans/transformation_banister_tall_2.json | 6 - .../trans/transformation_banister_tall_3.json | 6 - ...transformation_banister_tall_extended.json | 6 - ...ansformation_banister_tall_extended_1.json | 6 - ...ansformation_banister_tall_extended_2.json | 6 - ...ansformation_banister_tall_extended_3.json | 6 - .../twilight_oak_banister_connected.json | 6 - .../twilight_oak_banister_connected_1.json | 6 - .../twilight_oak_banister_connected_2.json | 6 - .../twilight_oak_banister_connected_3.json | 6 - ...light_oak_banister_connected_extended.json | 6 - ...ght_oak_banister_connected_extended_1.json | 6 - ...ght_oak_banister_connected_extended_2.json | 6 - ...ght_oak_banister_connected_extended_3.json | 6 - .../twilight_oak_banister_short.json | 6 - .../twilight_oak_banister_short_1.json | 6 - .../twilight_oak_banister_short_2.json | 6 - .../twilight_oak_banister_short_3.json | 6 - .../twilight_oak_banister_short_extended.json | 6 - ...wilight_oak_banister_short_extended_1.json | 6 - ...wilight_oak_banister_short_extended_2.json | 6 - ...wilight_oak_banister_short_extended_3.json | 6 - .../twilight_oak_banister_tall.json | 6 - .../twilight_oak_banister_tall_1.json | 6 - .../twilight_oak_banister_tall_2.json | 6 - .../twilight_oak_banister_tall_3.json | 6 - .../twilight_oak_banister_tall_extended.json | 6 - ...twilight_oak_banister_tall_extended_1.json | 6 - ...twilight_oak_banister_tall_extended_2.json | 6 - ...twilight_oak_banister_tall_extended_3.json | 6 - .../vangrove_banister_connected.json | 6 - .../vangrove_banister_connected_extended.json | 6 - .../vangrove_banister_short.json | 6 - .../vangrove_banister_short_extended.json | 6 - .../vangrove_banister_tall.json | 6 - .../vangrove_banister_tall_extended.json | 6 - .../warped/warped_banister_connected.json | 6 - .../warped_banister_connected_extended.json | 6 - .../warped/warped_banister_short.json | 6 - .../warped_banister_short_extended.json | 6 - .../banister/warped/warped_banister_tall.json | 6 - .../warped/warped_banister_tall_extended.json | 6 - .../wood/button/canopy/canopy_button.json | 6 - .../wood/button/canopy/canopy_button_1.json | 6 - .../wood/button/canopy/canopy_button_2.json | 6 - .../wood/button/canopy/canopy_button_3.json | 6 - .../button/canopy/canopy_button_pressed.json | 6 - .../canopy/canopy_button_pressed_1.json | 6 - .../canopy/canopy_button_pressed_2.json | 6 - .../canopy/canopy_button_pressed_3.json | 6 - .../wood/button/darkwood/dark_button.json | 6 - .../wood/button/darkwood/dark_button_1.json | 6 - .../wood/button/darkwood/dark_button_2.json | 6 - .../wood/button/darkwood/dark_button_3.json | 6 - .../button/darkwood/dark_button_pressed.json | 6 - .../darkwood/dark_button_pressed_1.json | 6 - .../darkwood/dark_button_pressed_2.json | 6 - .../darkwood/dark_button_pressed_3.json | 6 - .../wood/button/mangrove/mangrove_button.json | 6 - .../button/mangrove/mangrove_button_1.json | 6 - .../button/mangrove/mangrove_button_2.json | 6 - .../button/mangrove/mangrove_button_3.json | 6 - .../mangrove/mangrove_button_pressed.json | 6 - .../mangrove/mangrove_button_pressed_1.json | 6 - .../mangrove/mangrove_button_pressed_2.json | 6 - .../mangrove/mangrove_button_pressed_3.json | 6 - .../wood/button/sort/sorting_button_1.json | 6 - .../wood/button/sort/sorting_button_2.json | 6 - .../wood/button/sort/sorting_button_3.json | 6 - .../button/sort/sorting_button_pressed_1.json | 6 - .../button/sort/sorting_button_pressed_2.json | 6 - .../button/sort/sorting_button_pressed_3.json | 6 - .../block/wood/button/time/time_button_1.json | 6 - .../block/wood/button/time/time_button_2.json | 6 - .../block/wood/button/time/time_button_3.json | 6 - .../button/time/time_button_pressed_1.json | 6 - .../button/time/time_button_pressed_2.json | 6 - .../button/time/time_button_pressed_3.json | 6 - .../button/trans/transformation_button_1.json | 6 - .../button/trans/transformation_button_2.json | 6 - .../button/trans/transformation_button_3.json | 6 - .../transformation_button_pressed_1.json | 6 - .../transformation_button_pressed_2.json | 6 - .../transformation_button_pressed_3.json | 6 - .../twilight_oak/twilight_oak_button.json | 6 - .../twilight_oak/twilight_oak_button_1.json | 6 - .../twilight_oak/twilight_oak_button_2.json | 6 - .../twilight_oak/twilight_oak_button_3.json | 6 - .../twilight_oak_button_pressed.json | 6 - .../twilight_oak_button_pressed_1.json | 6 - .../twilight_oak_button_pressed_2.json | 6 - .../twilight_oak_button_pressed_3.json | 6 - .../door/canopy/canopy_door_bottom_left.json | 8 - .../canopy/canopy_door_bottom_left_open.json | 8 - .../door/canopy/canopy_door_bottom_right.json | 8 - .../canopy/canopy_door_bottom_right_open.json | 8 - .../door/canopy/canopy_door_top_left.json | 8 - .../canopy/canopy_door_top_left_open.json | 8 - .../door/canopy/canopy_door_top_right.json | 8 - .../canopy/canopy_door_top_right_open.json | 8 - .../darkwood/darkwood_door_bottom_left.json | 8 - .../darkwood_door_bottom_left_open.json | 8 - .../darkwood/darkwood_door_bottom_right.json | 8 - .../darkwood_door_bottom_right_open.json | 8 - .../door/darkwood/darkwood_door_top_left.json | 8 - .../darkwood/darkwood_door_top_left_open.json | 8 - .../darkwood/darkwood_door_top_right.json | 8 - .../darkwood_door_top_right_open.json | 8 - .../mangrove/mangrove_door_bottom_left.json | 8 - .../mangrove_door_bottom_left_open.json | 8 - .../mangrove/mangrove_door_bottom_right.json | 8 - .../mangrove_door_bottom_right_open.json | 8 - .../door/mangrove/mangrove_door_top_left.json | 8 - .../mangrove/mangrove_door_top_left_open.json | 8 - .../mangrove/mangrove_door_top_right.json | 8 - .../mangrove_door_top_right_open.json | 8 - .../wood/door/mine/mine_door_bottom_left.json | 8 - .../door/mine/mine_door_bottom_left_open.json | 8 - .../door/mine/mine_door_bottom_right.json | 8 - .../mine/mine_door_bottom_right_open.json | 8 - .../wood/door/mine/mine_door_top_left.json | 8 - .../door/mine/mine_door_top_left_open.json | 8 - .../wood/door/mine/mine_door_top_right.json | 8 - .../door/mine/mine_door_top_right_open.json | 8 - .../door/sort/sorting_door_bottom_left.json | 9 - .../sort/sorting_door_bottom_left_open.json | 9 - .../door/sort/sorting_door_bottom_right.json | 9 - .../sort/sorting_door_bottom_right_open.json | 9 - .../wood/door/sort/sorting_door_top_left.json | 9 - .../door/sort/sorting_door_top_left_open.json | 9 - .../door/sort/sorting_door_top_right.json | 9 - .../sort/sorting_door_top_right_open.json | 9 - .../wood/door/time/time_door_bottom_left.json | 8 - .../door/time/time_door_bottom_left_open.json | 8 - .../door/time/time_door_bottom_right.json | 8 - .../time/time_door_bottom_right_open.json | 8 - .../wood/door/time/time_door_top_left.json | 8 - .../door/time/time_door_top_left_open.json | 8 - .../wood/door/time/time_door_top_right.json | 8 - .../door/time/time_door_top_right_open.json | 8 - .../door/trans/trans_door_bottom_left.json | 8 - .../trans/trans_door_bottom_left_open.json | 8 - .../door/trans/trans_door_bottom_right.json | 8 - .../trans/trans_door_bottom_right_open.json | 8 - .../wood/door/trans/trans_door_top_left.json | 8 - .../door/trans/trans_door_top_left_open.json | 8 - .../wood/door/trans/trans_door_top_right.json | 8 - .../door/trans/trans_door_top_right_open.json | 8 - .../twilight_oak_door_bottom_left.json | 8 - .../twilight_oak_door_bottom_left_open.json | 8 - .../twilight_oak_door_bottom_right.json | 8 - .../twilight_oak_door_bottom_right_open.json | 8 - .../twilight_oak_door_top_left.json | 8 - .../twilight_oak_door_top_left_open.json | 8 - .../twilight_oak_door_top_right.json | 8 - .../twilight_oak_door_top_right_open.json | 8 - .../wood/fence/canopy/canopy_fence_post.json | 6 - .../fence/canopy/canopy_fence_post_1.json | 6 - .../fence/canopy/canopy_fence_post_2.json | 6 - .../fence/canopy/canopy_fence_post_3.json | 6 - .../wood/fence/canopy/canopy_fence_side.json | 6 - .../fence/canopy/canopy_fence_side_1.json | 6 - .../fence/canopy/canopy_fence_side_2.json | 6 - .../fence/canopy/canopy_fence_side_3.json | 6 - .../wood/fence/darkwood/dark_fence_post.json | 6 - .../fence/darkwood/dark_fence_post_1.json | 6 - .../fence/darkwood/dark_fence_post_2.json | 6 - .../fence/darkwood/dark_fence_post_3.json | 6 - .../wood/fence/darkwood/dark_fence_side.json | 6 - .../fence/darkwood/dark_fence_side_1.json | 6 - .../fence/darkwood/dark_fence_side_2.json | 6 - .../fence/darkwood/dark_fence_side_3.json | 6 - .../fence/mangrove/mangrove_fence_post.json | 6 - .../fence/mangrove/mangrove_fence_post_1.json | 6 - .../fence/mangrove/mangrove_fence_post_2.json | 6 - .../fence/mangrove/mangrove_fence_post_3.json | 6 - .../fence/mangrove/mangrove_fence_side.json | 6 - .../fence/mangrove/mangrove_fence_side_1.json | 6 - .../fence/mangrove/mangrove_fence_side_2.json | 6 - .../fence/mangrove/mangrove_fence_side_3.json | 6 - .../wood/fence/sort/sorting_fence_post_1.json | 6 - .../wood/fence/sort/sorting_fence_post_2.json | 6 - .../wood/fence/sort/sorting_fence_post_3.json | 6 - .../wood/fence/sort/sorting_fence_side_1.json | 6 - .../wood/fence/sort/sorting_fence_side_2.json | 6 - .../wood/fence/sort/sorting_fence_side_3.json | 6 - .../wood/fence/time/time_fence_post_1.json | 6 - .../wood/fence/time/time_fence_post_2.json | 6 - .../wood/fence/time/time_fence_post_3.json | 6 - .../wood/fence/time/time_fence_side_1.json | 6 - .../wood/fence/time/time_fence_side_2.json | 6 - .../wood/fence/time/time_fence_side_3.json | 6 - .../trans/transformation_fence_post_1.json | 6 - .../trans/transformation_fence_post_2.json | 6 - .../trans/transformation_fence_post_3.json | 6 - .../trans/transformation_fence_side_1.json | 6 - .../trans/transformation_fence_side_2.json | 6 - .../trans/transformation_fence_side_3.json | 6 - .../twilight_oak/twilight_oak_fence_post.json | 6 - .../twilight_oak_fence_post_1.json | 6 - .../twilight_oak_fence_post_2.json | 6 - .../twilight_oak_fence_post_3.json | 6 - .../twilight_oak/twilight_oak_fence_side.json | 6 - .../twilight_oak_fence_side_1.json | 6 - .../twilight_oak_fence_side_2.json | 6 - .../twilight_oak_fence_side_3.json | 6 - .../fence_gate/canopy/canopy_fence_gate.json | 6 - .../canopy/canopy_fence_gate_1.json | 6 - .../canopy/canopy_fence_gate_2.json | 6 - .../canopy/canopy_fence_gate_3.json | 6 - .../canopy/canopy_fence_gate_open.json | 6 - .../canopy/canopy_fence_gate_open_1.json | 6 - .../canopy/canopy_fence_gate_open_2.json | 6 - .../canopy/canopy_fence_gate_open_3.json | 6 - .../canopy/canopy_fence_gate_wall.json | 6 - .../canopy/canopy_fence_gate_wall_1.json | 6 - .../canopy/canopy_fence_gate_wall_2.json | 6 - .../canopy/canopy_fence_gate_wall_3.json | 6 - .../canopy/canopy_fence_gate_wall_open.json | 6 - .../canopy/canopy_fence_gate_wall_open_1.json | 6 - .../canopy/canopy_fence_gate_wall_open_2.json | 6 - .../canopy/canopy_fence_gate_wall_open_3.json | 6 - .../fence_gate/darkwood/dark_fence_gate.json | 6 - .../darkwood/dark_fence_gate_1.json | 6 - .../darkwood/dark_fence_gate_2.json | 6 - .../darkwood/dark_fence_gate_3.json | 6 - .../darkwood/dark_fence_gate_open.json | 6 - .../darkwood/dark_fence_gate_open_1.json | 6 - .../darkwood/dark_fence_gate_open_2.json | 6 - .../darkwood/dark_fence_gate_open_3.json | 6 - .../darkwood/dark_fence_gate_wall.json | 6 - .../darkwood/dark_fence_gate_wall_1.json | 6 - .../darkwood/dark_fence_gate_wall_2.json | 6 - .../darkwood/dark_fence_gate_wall_3.json | 6 - .../darkwood/dark_fence_gate_wall_open.json | 6 - .../darkwood/dark_fence_gate_wall_open_1.json | 6 - .../darkwood/dark_fence_gate_wall_open_2.json | 6 - .../darkwood/dark_fence_gate_wall_open_3.json | 6 - .../mangrove/mangrove_fence_gate.json | 6 - .../mangrove/mangrove_fence_gate_1.json | 6 - .../mangrove/mangrove_fence_gate_2.json | 6 - .../mangrove/mangrove_fence_gate_3.json | 6 - .../mangrove/mangrove_fence_gate_open.json | 6 - .../mangrove/mangrove_fence_gate_open_1.json | 6 - .../mangrove/mangrove_fence_gate_open_2.json | 6 - .../mangrove/mangrove_fence_gate_open_3.json | 6 - .../mangrove/mangrove_fence_gate_wall.json | 6 - .../mangrove/mangrove_fence_gate_wall_1.json | 6 - .../mangrove/mangrove_fence_gate_wall_2.json | 6 - .../mangrove/mangrove_fence_gate_wall_3.json | 6 - .../mangrove_fence_gate_wall_open.json | 6 - .../mangrove_fence_gate_wall_open_1.json | 6 - .../mangrove_fence_gate_wall_open_2.json | 6 - .../mangrove_fence_gate_wall_open_3.json | 6 - .../fence_gate/sort/sorting_fence_gate_1.json | 6 - .../fence_gate/sort/sorting_fence_gate_2.json | 6 - .../fence_gate/sort/sorting_fence_gate_3.json | 6 - .../sort/sorting_fence_gate_open_1.json | 6 - .../sort/sorting_fence_gate_open_2.json | 6 - .../sort/sorting_fence_gate_open_3.json | 6 - .../sort/sorting_fence_gate_wall_1.json | 6 - .../sort/sorting_fence_gate_wall_2.json | 6 - .../sort/sorting_fence_gate_wall_3.json | 6 - .../sort/sorting_fence_gate_wall_open_1.json | 6 - .../sort/sorting_fence_gate_wall_open_2.json | 6 - .../sort/sorting_fence_gate_wall_open_3.json | 6 - .../fence_gate/time/time_fence_gate_1.json | 6 - .../fence_gate/time/time_fence_gate_2.json | 6 - .../fence_gate/time/time_fence_gate_3.json | 6 - .../time/time_fence_gate_open_1.json | 6 - .../time/time_fence_gate_open_2.json | 6 - .../time/time_fence_gate_open_3.json | 6 - .../time/time_fence_gate_wall_1.json | 6 - .../time/time_fence_gate_wall_2.json | 6 - .../time/time_fence_gate_wall_3.json | 6 - .../time/time_fence_gate_wall_open_1.json | 6 - .../time/time_fence_gate_wall_open_2.json | 6 - .../time/time_fence_gate_wall_open_3.json | 6 - .../trans/transformation_fence_gate_1.json | 6 - .../trans/transformation_fence_gate_2.json | 6 - .../trans/transformation_fence_gate_3.json | 6 - .../transformation_fence_gate_open_1.json | 6 - .../transformation_fence_gate_open_2.json | 6 - .../transformation_fence_gate_open_3.json | 6 - .../transformation_fence_gate_wall_1.json | 6 - .../transformation_fence_gate_wall_2.json | 6 - .../transformation_fence_gate_wall_3.json | 6 - ...transformation_fence_gate_wall_open_1.json | 6 - ...transformation_fence_gate_wall_open_2.json | 6 - ...transformation_fence_gate_wall_open_3.json | 6 - .../twilight_oak/twilight_oak_fence_gate.json | 6 - .../twilight_oak_fence_gate_1.json | 6 - .../twilight_oak_fence_gate_2.json | 6 - .../twilight_oak_fence_gate_3.json | 6 - .../twilight_oak_fence_gate_open.json | 6 - .../twilight_oak_fence_gate_open_1.json | 6 - .../twilight_oak_fence_gate_open_2.json | 6 - .../twilight_oak_fence_gate_open_3.json | 6 - .../twilight_oak_fence_gate_wall.json | 6 - .../twilight_oak_fence_gate_wall_1.json | 6 - .../twilight_oak_fence_gate_wall_2.json | 6 - .../twilight_oak_fence_gate_wall_3.json | 6 - .../twilight_oak_fence_gate_wall_open.json | 6 - .../twilight_oak_fence_gate_wall_open_1.json | 6 - .../twilight_oak_fence_gate_wall_open_2.json | 6 - .../twilight_oak_fence_gate_wall_open_3.json | 6 - .../wood/planks/canopy/canopy_planks.json | 6 - .../wood/planks/canopy/canopy_planks_1.json | 6 - .../wood/planks/canopy/canopy_planks_2.json | 6 - .../wood/planks/canopy/canopy_planks_3.json | 6 - .../wood/planks/darkwood/dark_planks.json | 6 - .../wood/planks/darkwood/dark_planks_1.json | 6 - .../wood/planks/darkwood/dark_planks_2.json | 6 - .../wood/planks/darkwood/dark_planks_3.json | 6 - .../wood/planks/mangrove/mangrove_planks.json | 6 - .../planks/mangrove/mangrove_planks_1.json | 6 - .../planks/mangrove/mangrove_planks_2.json | 6 - .../planks/mangrove/mangrove_planks_3.json | 6 - .../block/wood/planks/mine/mining_planks.json | 6 - .../wood/planks/mine/mining_planks_1.json | 6 - .../wood/planks/mine/mining_planks_2.json | 6 - .../wood/planks/mine/mining_planks_3.json | 6 - .../wood/planks/sort/sorting_planks.json | 6 - .../wood/planks/sort/sorting_planks_1.json | 6 - .../wood/planks/sort/sorting_planks_2.json | 6 - .../wood/planks/sort/sorting_planks_3.json | 6 - .../block/wood/planks/time/time_planks.json | 6 - .../block/wood/planks/time/time_planks_1.json | 6 - .../block/wood/planks/time/time_planks_2.json | 6 - .../block/wood/planks/time/time_planks_3.json | 6 - .../planks/trans/transformation_planks_1.json | 6 - .../planks/trans/transformation_planks_2.json | 6 - .../planks/trans/transformation_planks_3.json | 6 - .../twilight_oak/twilight_oak_planks.json | 6 - .../twilight_oak/twilight_oak_planks_1.json | 6 - .../twilight_oak/twilight_oak_planks_2.json | 6 - .../twilight_oak/twilight_oak_planks_3.json | 6 - .../canopy/canopy_pressure_plate.json | 6 - .../canopy/canopy_pressure_plate_1.json | 6 - .../canopy/canopy_pressure_plate_2.json | 6 - .../canopy/canopy_pressure_plate_3.json | 6 - .../canopy/canopy_pressure_plate_down.json | 6 - .../canopy/canopy_pressure_plate_down_1.json | 6 - .../canopy/canopy_pressure_plate_down_2.json | 6 - .../canopy/canopy_pressure_plate_down_3.json | 6 - .../darkwood/dark_pressure_plate.json | 6 - .../darkwood/dark_pressure_plate_1.json | 6 - .../darkwood/dark_pressure_plate_2.json | 6 - .../darkwood/dark_pressure_plate_3.json | 6 - .../darkwood/dark_pressure_plate_down.json | 6 - .../darkwood/dark_pressure_plate_down_1.json | 6 - .../darkwood/dark_pressure_plate_down_2.json | 6 - .../darkwood/dark_pressure_plate_down_3.json | 6 - .../mangrove/mangrove_pressure_plate.json | 6 - .../mangrove/mangrove_pressure_plate_1.json | 6 - .../mangrove/mangrove_pressure_plate_2.json | 6 - .../mangrove/mangrove_pressure_plate_3.json | 6 - .../mangrove_pressure_plate_down.json | 6 - .../mangrove_pressure_plate_down_1.json | 6 - .../mangrove_pressure_plate_down_2.json | 6 - .../mangrove_pressure_plate_down_3.json | 6 - .../sort/sorting_pressure_plate_1.json | 6 - .../sort/sorting_pressure_plate_2.json | 6 - .../sort/sorting_pressure_plate_3.json | 6 - .../sort/sorting_pressure_plate_down_1.json | 6 - .../sort/sorting_pressure_plate_down_2.json | 6 - .../sort/sorting_pressure_plate_down_3.json | 6 - .../time/time_pressure_plate_1.json | 6 - .../time/time_pressure_plate_2.json | 6 - .../time/time_pressure_plate_3.json | 6 - .../time/time_pressure_plate_down_1.json | 6 - .../time/time_pressure_plate_down_2.json | 6 - .../time/time_pressure_plate_down_3.json | 6 - .../transformation_pressure_plate_1.json | 6 - .../transformation_pressure_plate_2.json | 6 - .../transformation_pressure_plate_3.json | 6 - .../transformation_pressure_plate_down_1.json | 6 - .../transformation_pressure_plate_down_2.json | 6 - .../transformation_pressure_plate_down_3.json | 6 - .../twilight_oak_pressure_plate.json | 6 - .../twilight_oak_pressure_plate_1.json | 6 - .../twilight_oak_pressure_plate_2.json | 6 - .../twilight_oak_pressure_plate_3.json | 6 - .../twilight_oak_pressure_plate_down.json | 6 - .../twilight_oak_pressure_plate_down_1.json | 6 - .../twilight_oak_pressure_plate_down_2.json | 6 - .../twilight_oak_pressure_plate_down_3.json | 6 - .../block/wood/slab/canopy/canopy_slab.json | 8 - .../block/wood/slab/canopy/canopy_slab_1.json | 8 - .../block/wood/slab/canopy/canopy_slab_2.json | 8 - .../block/wood/slab/canopy/canopy_slab_3.json | 8 - .../block/wood/slab/darkwood/dark_slab.json | 8 - .../block/wood/slab/darkwood/dark_slab_1.json | 8 - .../block/wood/slab/darkwood/dark_slab_2.json | 8 - .../block/wood/slab/darkwood/dark_slab_3.json | 8 - .../wood/slab/mangrove/mangrove_slab.json | 8 - .../wood/slab/mangrove/mangrove_slab_1.json | 8 - .../wood/slab/mangrove/mangrove_slab_2.json | 8 - .../wood/slab/mangrove/mangrove_slab_3.json | 8 - .../block/wood/slab/mine/mining_slab.json | 8 - .../block/wood/slab/mine/mining_slab_1.json | 8 - .../block/wood/slab/mine/mining_slab_2.json | 8 - .../block/wood/slab/mine/mining_slab_3.json | 8 - .../block/wood/slab/sort/sorting_slab.json | 8 - .../block/wood/slab/sort/sorting_slab_1.json | 8 - .../block/wood/slab/sort/sorting_slab_2.json | 8 - .../block/wood/slab/sort/sorting_slab_3.json | 8 - .../block/wood/slab/time/time_slab.json | 8 - .../block/wood/slab/time/time_slab_1.json | 8 - .../block/wood/slab/time/time_slab_2.json | 8 - .../block/wood/slab/time/time_slab_3.json | 8 - .../wood/slab/trans/transformation_slab.json | 8 - .../slab/trans/transformation_slab_1.json | 8 - .../slab/trans/transformation_slab_2.json | 8 - .../slab/trans/transformation_slab_3.json | 8 - .../slab/twilight_oak/twilight_oak_slab.json | 8 - .../twilight_oak/twilight_oak_slab_1.json | 8 - .../twilight_oak/twilight_oak_slab_2.json | 8 - .../twilight_oak/twilight_oak_slab_3.json | 8 - .../wood/stairs/canopy/canopy_stairs.json | 8 - .../wood/stairs/canopy/canopy_stairs_1.json | 8 - .../wood/stairs/canopy/canopy_stairs_2.json | 8 - .../wood/stairs/canopy/canopy_stairs_3.json | 8 - .../stairs/canopy/canopy_stairs_inner.json | 8 - .../stairs/canopy/canopy_stairs_inner_1.json | 8 - .../stairs/canopy/canopy_stairs_inner_2.json | 8 - .../stairs/canopy/canopy_stairs_inner_3.json | 8 - .../stairs/canopy/canopy_stairs_outer.json | 8 - .../stairs/canopy/canopy_stairs_outer_1.json | 8 - .../stairs/canopy/canopy_stairs_outer_2.json | 8 - .../stairs/canopy/canopy_stairs_outer_3.json | 8 - .../wood/stairs/darkwood/dark_stairs.json | 8 - .../wood/stairs/darkwood/dark_stairs_1.json | 8 - .../wood/stairs/darkwood/dark_stairs_2.json | 8 - .../wood/stairs/darkwood/dark_stairs_3.json | 8 - .../stairs/darkwood/dark_stairs_inner.json | 8 - .../stairs/darkwood/dark_stairs_inner_1.json | 8 - .../stairs/darkwood/dark_stairs_inner_2.json | 8 - .../stairs/darkwood/dark_stairs_inner_3.json | 8 - .../stairs/darkwood/dark_stairs_outer.json | 8 - .../stairs/darkwood/dark_stairs_outer_1.json | 8 - .../stairs/darkwood/dark_stairs_outer_2.json | 8 - .../stairs/darkwood/dark_stairs_outer_3.json | 8 - .../wood/stairs/mangrove/mangrove_stairs.json | 8 - .../stairs/mangrove/mangrove_stairs_1.json | 8 - .../stairs/mangrove/mangrove_stairs_2.json | 8 - .../stairs/mangrove/mangrove_stairs_3.json | 8 - .../mangrove/mangrove_stairs_inner.json | 8 - .../mangrove/mangrove_stairs_inner_1.json | 8 - .../mangrove/mangrove_stairs_inner_2.json | 8 - .../mangrove/mangrove_stairs_inner_3.json | 8 - .../mangrove/mangrove_stairs_outer.json | 8 - .../mangrove/mangrove_stairs_outer_1.json | 8 - .../mangrove/mangrove_stairs_outer_2.json | 8 - .../mangrove/mangrove_stairs_outer_3.json | 8 - .../block/wood/stairs/mine/mining_stairs.json | 8 - .../wood/stairs/mine/mining_stairs_1.json | 8 - .../wood/stairs/mine/mining_stairs_2.json | 8 - .../wood/stairs/mine/mining_stairs_3.json | 8 - .../wood/stairs/mine/mining_stairs_inner.json | 8 - .../stairs/mine/mining_stairs_inner_1.json | 8 - .../stairs/mine/mining_stairs_inner_2.json | 8 - .../stairs/mine/mining_stairs_inner_3.json | 8 - .../wood/stairs/mine/mining_stairs_outer.json | 8 - .../stairs/mine/mining_stairs_outer_1.json | 8 - .../stairs/mine/mining_stairs_outer_2.json | 8 - .../stairs/mine/mining_stairs_outer_3.json | 8 - .../wood/stairs/sort/sorting_stairs.json | 8 - .../wood/stairs/sort/sorting_stairs_1.json | 8 - .../wood/stairs/sort/sorting_stairs_2.json | 8 - .../wood/stairs/sort/sorting_stairs_3.json | 8 - .../stairs/sort/sorting_stairs_inner.json | 8 - .../stairs/sort/sorting_stairs_inner_1.json | 8 - .../stairs/sort/sorting_stairs_inner_2.json | 8 - .../stairs/sort/sorting_stairs_inner_3.json | 8 - .../stairs/sort/sorting_stairs_outer.json | 8 - .../stairs/sort/sorting_stairs_outer_1.json | 8 - .../stairs/sort/sorting_stairs_outer_2.json | 8 - .../stairs/sort/sorting_stairs_outer_3.json | 8 - .../block/wood/stairs/time/time_stairs.json | 8 - .../block/wood/stairs/time/time_stairs_1.json | 8 - .../block/wood/stairs/time/time_stairs_2.json | 8 - .../block/wood/stairs/time/time_stairs_3.json | 8 - .../wood/stairs/time/time_stairs_inner.json | 8 - .../wood/stairs/time/time_stairs_inner_1.json | 8 - .../wood/stairs/time/time_stairs_inner_2.json | 8 - .../wood/stairs/time/time_stairs_inner_3.json | 8 - .../wood/stairs/time/time_stairs_outer.json | 8 - .../wood/stairs/time/time_stairs_outer_1.json | 8 - .../wood/stairs/time/time_stairs_outer_2.json | 8 - .../wood/stairs/time/time_stairs_outer_3.json | 8 - .../stairs/trans/transformation_stairs.json | 8 - .../stairs/trans/transformation_stairs_1.json | 8 - .../stairs/trans/transformation_stairs_2.json | 8 - .../stairs/trans/transformation_stairs_3.json | 8 - .../trans/transformation_stairs_inner.json | 8 - .../trans/transformation_stairs_inner_1.json | 8 - .../trans/transformation_stairs_inner_2.json | 8 - .../trans/transformation_stairs_inner_3.json | 8 - .../trans/transformation_stairs_outer.json | 8 - .../trans/transformation_stairs_outer_1.json | 8 - .../trans/transformation_stairs_outer_2.json | 8 - .../trans/transformation_stairs_outer_3.json | 8 - .../twilight_oak/twilight_oak_stairs.json | 8 - .../twilight_oak/twilight_oak_stairs_1.json | 8 - .../twilight_oak/twilight_oak_stairs_2.json | 8 - .../twilight_oak/twilight_oak_stairs_3.json | 8 - .../twilight_oak_stairs_inner.json | 8 - .../twilight_oak_stairs_inner_1.json | 8 - .../twilight_oak_stairs_inner_2.json | 8 - .../twilight_oak_stairs_inner_3.json | 8 - .../twilight_oak_stairs_outer.json | 8 - .../twilight_oak_stairs_outer_1.json | 8 - .../twilight_oak_stairs_outer_2.json | 8 - .../twilight_oak_stairs_outer_3.json | 8 - .../canopy/canopy_trapdoor_bottom.json | 7 - .../trapdoor/canopy/canopy_trapdoor_open.json | 7 - .../trapdoor/canopy/canopy_trapdoor_top.json | 7 - .../darkwood/darkwood_trapdoor_bottom.json | 7 - .../darkwood/darkwood_trapdoor_open.json | 7 - .../darkwood/darkwood_trapdoor_top.json | 7 - .../mangrove/mangrove_trapdoor_bottom.json | 7 - .../mangrove/mangrove_trapdoor_open.json | 7 - .../mangrove/mangrove_trapdoor_top.json | 7 - .../trapdoor/mine/mine_trapdoor_bottom.json | 7 - .../trapdoor/mine/mine_trapdoor_open.json | 7 - .../wood/trapdoor/mine/mine_trapdoor_top.json | 7 - .../trapdoor/sort/sort_trapdoor_bottom.json | 7 - .../trapdoor/sort/sort_trapdoor_open.json | 7 - .../wood/trapdoor/sort/sort_trapdoor_top.json | 7 - .../trapdoor/time/time_trapdoor_bottom.json | 7 - .../trapdoor/time/time_trapdoor_open.json | 7 - .../wood/trapdoor/time/time_trapdoor_top.json | 7 - .../trapdoor/trans/trans_trapdoor_bottom.json | 7 - .../trapdoor/trans/trans_trapdoor_open.json | 7 - .../trapdoor/trans/trans_trapdoor_top.json | 7 - .../twilight_oak_trapdoor_bottom.json | 7 - .../twilight_oak_trapdoor_open.json | 7 - .../twilight_oak_trapdoor_top.json | 7 - .../models/block/worn_castle_brick.json | 6 - .../block/worn_castle_brick_stairs.json | 8 - .../block/worn_castle_brick_stairs_inner.json | 8 - .../block/worn_castle_brick_stairs_outer.json | 8 - .../models/block/yellow_castle_door.json | 22 - .../block/yellow_castle_door_vanished.json | 22 - .../models/item/acacia_banister.json | 6 - .../item/alpha_yeti_banner_pattern.json | 6 - .../models/item/alpha_yeti_boss_spawner.json | 3 - .../models/item/alpha_yeti_fur.json | 6 - .../models/item/alpha_yeti_spawn_egg.json | 3 - .../models/item/alpha_yeti_trophy.json | 34 - .../models/item/antibuilder.json | 3 - .../models/item/arctic_boots.json | 69 - .../item/arctic_boots_amethyst_trim.json | 8 - .../models/item/arctic_boots_copper_trim.json | 8 - .../item/arctic_boots_diamond_trim.json | 8 - .../item/arctic_boots_emerald_trim.json | 8 - .../models/item/arctic_boots_gold_trim.json | 8 - .../models/item/arctic_boots_iron_trim.json | 8 - .../models/item/arctic_boots_lapis_trim.json | 8 - .../item/arctic_boots_netherite_trim.json | 8 - .../models/item/arctic_boots_quartz_trim.json | 8 - .../item/arctic_boots_redstone_trim.json | 8 - .../models/item/arctic_chestplate.json | 69 - .../item/arctic_chestplate_amethyst_trim.json | 8 - .../item/arctic_chestplate_copper_trim.json | 8 - .../item/arctic_chestplate_diamond_trim.json | 8 - .../item/arctic_chestplate_emerald_trim.json | 8 - .../item/arctic_chestplate_gold_trim.json | 8 - .../item/arctic_chestplate_iron_trim.json | 8 - .../item/arctic_chestplate_lapis_trim.json | 8 - .../arctic_chestplate_netherite_trim.json | 8 - .../item/arctic_chestplate_quartz_trim.json | 8 - .../item/arctic_chestplate_redstone_trim.json | 8 - .../models/item/arctic_fur.json | 6 - .../models/item/arctic_fur_block.json | 3 - .../models/item/arctic_helmet.json | 69 - .../item/arctic_helmet_amethyst_trim.json | 8 - .../item/arctic_helmet_copper_trim.json | 8 - .../item/arctic_helmet_diamond_trim.json | 8 - .../item/arctic_helmet_emerald_trim.json | 8 - .../models/item/arctic_helmet_gold_trim.json | 8 - .../models/item/arctic_helmet_iron_trim.json | 8 - .../models/item/arctic_helmet_lapis_trim.json | 8 - .../item/arctic_helmet_netherite_trim.json | 8 - .../item/arctic_helmet_quartz_trim.json | 8 - .../item/arctic_helmet_redstone_trim.json | 8 - .../models/item/arctic_leggings.json | 69 - .../item/arctic_leggings_amethyst_trim.json | 8 - .../item/arctic_leggings_copper_trim.json | 8 - .../item/arctic_leggings_diamond_trim.json | 8 - .../item/arctic_leggings_emerald_trim.json | 8 - .../item/arctic_leggings_gold_trim.json | 8 - .../item/arctic_leggings_iron_trim.json | 8 - .../item/arctic_leggings_lapis_trim.json | 8 - .../item/arctic_leggings_netherite_trim.json | 8 - .../item/arctic_leggings_quartz_trim.json | 8 - .../item/arctic_leggings_redstone_trim.json | 8 - .../models/item/armor_shard.json | 6 - .../models/item/armor_shard_cluster.json | 6 - .../models/item/armored_giant_spawn_egg.json | 3 - .../models/item/aurora_block.json | 3 - .../models/item/aurora_pillar.json | 3 - .../models/item/aurora_slab.json | 3 - .../models/item/auroralized_glass.json | 3 - .../models/item/bamboo_banister.json | 6 - .../models/item/beanstalk_leaves.json | 3 - .../models/item/bighorn_sheep_spawn_egg.json | 3 - .../models/item/birch_banister.json | 6 - .../models/item/block_and_chain.json | 14 - .../block_and_chain_goblin_spawn_egg.json | 3 - .../models/item/block_and_chain_thrown.json | 6 - .../models/item/blue_castle_door.json | 3 - .../models/item/blue_castle_rune_brick.json | 3 - .../models/item/blue_force_field.json | 20 - .../models/item/boar_spawn_egg.json | 3 - .../models/item/bold_castle_brick_pillar.json | 3 - .../models/item/bold_castle_brick_stairs.json | 3 - .../models/item/bold_castle_brick_tile.json | 3 - .../models/item/bold_stone_pillar.json | 3 - .../models/item/borer_essence.json | 7 - .../models/item/brittle_flask_0.json | 7 - .../models/item/brittle_flask_0_damaged.json | 7 - .../item/brittle_flask_0_splintered.json | 7 - .../models/item/brittle_flask_1.json | 7 - .../models/item/brittle_flask_1_damaged.json | 7 - .../item/brittle_flask_1_splintered.json | 7 - .../models/item/brittle_flask_2.json | 7 - .../models/item/brittle_flask_2_damaged.json | 7 - .../item/brittle_flask_2_splintered.json | 7 - .../models/item/brittle_flask_damaged.json | 6 - .../models/item/brittle_flask_splintered.json | 6 - .../models/item/brittle_potion_flask.json | 83 - .../models/item/brown_thorns.json | 3 - .../models/item/burnt_thorns.json | 3 - .../models/item/canopy_banister.json | 6 - .../models/item/canopy_boat.json | 6 - .../models/item/canopy_bookshelf.json | 3 - .../models/item/canopy_chest.json | 6 - .../models/item/canopy_chest_boat.json | 7 - .../models/item/canopy_fence_gate.json | 3 - .../models/item/canopy_hanging_sign.json | 6 - .../models/item/canopy_leaves.json | 3 - .../models/item/canopy_log.json | 3 - .../models/item/canopy_planks.json | 3 - .../models/item/canopy_pressure_plate.json | 3 - .../models/item/canopy_sapling.json | 6 - .../models/item/canopy_slab.json | 3 - .../models/item/canopy_stairs.json | 3 - .../models/item/canopy_trapdoor.json | 3 - .../models/item/canopy_trapped_chest.json | 6 - .../models/item/canopy_window.json | 3 - .../models/item/canopy_window_pane.json | 6 - .../models/item/canopy_wood.json | 3 - .../twilightforest/models/item/carminite.json | 20 - .../models/item/carminite_block.json | 3 - .../item/carminite_broodling_spawn_egg.json | 3 - .../models/item/carminite_builder.json | 3 - .../item/carminite_ghastguard_spawn_egg.json | 3 - .../item/carminite_ghastling_spawn_egg.json | 3 - .../item/carminite_golem_spawn_egg.json | 3 - .../models/item/carminite_reactor.json | 3 - .../models/item/castle_brick.json | 3 - .../models/item/castle_brick_stairs.json | 3 - .../models/item/castle_roof_tile.json | 3 - .../models/item/charm_of_keeping_1.json | 6 - .../models/item/charm_of_keeping_2.json | 6 - .../models/item/charm_of_keeping_3.json | 6 - .../models/item/charm_of_life_1.json | 6 - .../models/item/charm_of_life_2.json | 6 - .../models/item/cherry_banister.json | 6 - .../item/chiseled_canopy_bookshelf.json | 3 - .../models/item/cicada_jar.json | 3 - .../models/item/cinder_furnace.json | 3 - .../models/item/cinder_log.json | 3 - .../models/item/cinder_wood.json | 3 - .../models/item/clover_patch.json | 6 - .../models/item/cooked_meef.json | 6 - .../models/item/cooked_venison.json | 6 - .../models/item/coronation_carpet.json | 6 - .../models/item/cracked_castle_brick.json | 3 - .../item/cracked_castle_brick_stairs.json | 3 - .../models/item/cracked_deadrock.json | 3 - .../models/item/cracked_etched_nagastone.json | 3 - .../models/item/cracked_mazestone.json | 3 - .../models/item/cracked_nagastone_pillar.json | 3 - .../item/cracked_nagastone_stairs_left.json | 3 - .../item/cracked_nagastone_stairs_right.json | 3 - .../models/item/cracked_towerwood.json | 3 - .../models/item/cracked_underbrick.json | 3 - .../models/item/creeper_skull_candle.json | 3 - .../models/item/crimson_banister.json | 6 - .../models/item/crown_splinter.json | 6 - .../models/item/crumble_horn.json | 14 - .../models/item/cube_of_annihilation.json | 14 - .../item/cube_of_annihilation_thrown.json | 6 - .../models/item/cube_talisman.json | 6 - .../models/item/cut_mazestone.json | 3 - .../models/item/dark_banister.json | 6 - .../twilightforest/models/item/dark_boat.json | 6 - .../models/item/dark_button.json | 6 - .../models/item/dark_chest.json | 6 - .../models/item/dark_chest_boat.json | 7 - .../models/item/dark_fence.json | 6 - .../models/item/dark_fence_gate.json | 3 - .../models/item/dark_hanging_sign.json | 6 - .../models/item/dark_leaves.json | 3 - .../twilightforest/models/item/dark_log.json | 3 - .../models/item/dark_oak_banister.json | 6 - .../models/item/dark_planks.json | 3 - .../models/item/dark_pressure_plate.json | 3 - .../twilightforest/models/item/dark_slab.json | 3 - .../models/item/dark_stairs.json | 3 - .../models/item/dark_trapdoor.json | 3 - .../models/item/dark_trapped_chest.json | 6 - .../twilightforest/models/item/dark_wood.json | 3 - .../models/item/darkwood_sapling.json | 6 - .../twilightforest/models/item/deadrock.json | 3 - .../models/item/death_tome_spawn_egg.json | 3 - .../models/item/decorative_mazestone.json | 3 - .../models/item/deer_spawn_egg.json | 3 - .../models/item/diamond_minotaur_axe.json | 6 - .../models/item/dwarf_rabbit_spawn_egg.json | 3 - .../models/item/emperors_cloth.json | 6 - .../item/encased_castle_brick_pillar.json | 3 - .../item/encased_castle_brick_stairs.json | 3 - .../item/encased_castle_brick_tile.json | 3 - .../models/item/encased_fire_jet.json | 3 - .../models/item/encased_smoker.json | 3 - .../models/item/encased_towerwood.json | 3 - .../twilightforest/models/item/ender_bow.json | 28 - .../models/item/ender_bow_pulling_0.json | 6 - .../models/item/ender_bow_pulling_1.json | 6 - .../models/item/ender_bow_pulling_2.json | 6 - .../models/item/etched_nagastone.json | 3 - .../models/item/exanimate_essence.json | 17 - .../models/item/experiment_115.json | 20 - .../models/item/fake_diamond.json | 3 - .../twilightforest/models/item/fake_gold.json | 3 - .../models/item/fallen_leaves.json | 6 - .../models/item/fiddlehead.json | 6 - .../models/item/fiery_block.json | 3 - .../models/item/fiery_blood.json | 6 - .../models/item/fiery_boots.json | 82 - .../item/fiery_boots_amethyst_trim.json | 7 - .../models/item/fiery_boots_copper_trim.json | 7 - .../models/item/fiery_boots_diamond_trim.json | 7 - .../models/item/fiery_boots_emerald_trim.json | 7 - .../models/item/fiery_boots_gold_trim.json | 7 - .../models/item/fiery_boots_iron_trim.json | 7 - .../models/item/fiery_boots_lapis_trim.json | 7 - .../item/fiery_boots_netherite_trim.json | 7 - .../models/item/fiery_boots_quartz_trim.json | 7 - .../item/fiery_boots_redstone_trim.json | 7 - .../models/item/fiery_chestplate.json | 82 - .../item/fiery_chestplate_amethyst_trim.json | 7 - .../item/fiery_chestplate_copper_trim.json | 7 - .../item/fiery_chestplate_diamond_trim.json | 7 - .../item/fiery_chestplate_emerald_trim.json | 7 - .../item/fiery_chestplate_gold_trim.json | 7 - .../item/fiery_chestplate_iron_trim.json | 7 - .../item/fiery_chestplate_lapis_trim.json | 7 - .../item/fiery_chestplate_netherite_trim.json | 7 - .../item/fiery_chestplate_quartz_trim.json | 7 - .../item/fiery_chestplate_redstone_trim.json | 7 - .../models/item/fiery_helmet.json | 82 - .../item/fiery_helmet_amethyst_trim.json | 7 - .../models/item/fiery_helmet_copper_trim.json | 7 - .../item/fiery_helmet_diamond_trim.json | 7 - .../item/fiery_helmet_emerald_trim.json | 7 - .../models/item/fiery_helmet_gold_trim.json | 7 - .../models/item/fiery_helmet_iron_trim.json | 7 - .../models/item/fiery_helmet_lapis_trim.json | 7 - .../item/fiery_helmet_netherite_trim.json | 7 - .../models/item/fiery_helmet_quartz_trim.json | 7 - .../item/fiery_helmet_redstone_trim.json | 7 - .../models/item/fiery_ingot.json | 20 - .../models/item/fiery_leggings.json | 82 - .../item/fiery_leggings_amethyst_trim.json | 7 - .../item/fiery_leggings_copper_trim.json | 7 - .../item/fiery_leggings_diamond_trim.json | 7 - .../item/fiery_leggings_emerald_trim.json | 7 - .../models/item/fiery_leggings_gold_trim.json | 7 - .../models/item/fiery_leggings_iron_trim.json | 7 - .../item/fiery_leggings_lapis_trim.json | 7 - .../item/fiery_leggings_netherite_trim.json | 7 - .../item/fiery_leggings_quartz_trim.json | 7 - .../item/fiery_leggings_redstone_trim.json | 7 - .../models/item/fiery_pickaxe.json | 20 - .../models/item/fiery_sword.json | 20 - .../models/item/fiery_tears.json | 6 - .../models/item/filled_magic_map.json | 6 - .../models/item/filled_maze_map.json | 6 - .../models/item/filled_ore_map.json | 6 - .../models/item/final_boss_boss_spawner.json | 3 - .../models/item/fire_beetle_spawn_egg.json | 3 - .../twilightforest/models/item/fire_jet.json | 3 - .../models/item/firefly_jar.json | 3 - .../models/item/firefly_particle_spawner.json | 3 - .../models/item/fluffy_cloud.json | 3 - .../models/item/fortification_scepter.json | 6 - .../models/item/four_leaf_clover.json | 6 - .../models/item/ghast_trap.json | 3 - .../models/item/giant_block_base.json | 116 - .../models/item/giant_block_gui.json | 99 - .../models/item/giant_cobblestone.json | 20 - .../models/item/giant_cobblestone_base.json | 7 - .../models/item/giant_cobblestone_gui.json | 7 - .../models/item/giant_leaves.json | 20 - .../models/item/giant_leaves_base.json | 7 - .../models/item/giant_leaves_gui.json | 7 - .../twilightforest/models/item/giant_log.json | 20 - .../models/item/giant_log_base.json | 7 - .../models/item/giant_log_gui.json | 7 - .../models/item/giant_miner_spawn_egg.json | 3 - .../models/item/giant_obsidian.json | 20 - .../models/item/giant_obsidian_base.json | 7 - .../models/item/giant_obsidian_gui.json | 7 - .../models/item/giant_pickaxe.json | 43 - .../models/item/giant_pickaxe_base.json | 6 - .../models/item/giant_pickaxe_gui.json | 31 - .../models/item/giant_sword.json | 43 - .../models/item/giant_sword_base.json | 6 - .../models/item/giant_sword_gui.json | 31 - .../models/item/giant_tool_base.json | 114 - .../models/item/glass_sword.json | 7 - .../models/item/gold_minotaur_axe.json | 6 - .../models/item/greater_flask_0.json | 7 - .../models/item/greater_flask_1.json | 7 - .../models/item/greater_flask_2.json | 7 - .../models/item/greater_potion_flask.json | 27 - .../models/item/green_force_field.json | 20 - .../models/item/green_thorns.json | 3 - .../twilightforest/models/item/hedge.json | 3 - .../models/item/hedge_spider_spawn_egg.json | 3 - .../models/item/helmet_crab_spawn_egg.json | 3 - .../models/item/hollow_acacia_log.json | 3 - .../models/item/hollow_birch_log.json | 3 - .../models/item/hollow_canopy_log.json | 3 - .../models/item/hollow_cherry_log.json | 3 - .../models/item/hollow_crimson_stem.json | 3 - .../models/item/hollow_dark_log.json | 3 - .../models/item/hollow_dark_oak_log.json | 3 - .../models/item/hollow_jungle_log.json | 3 - .../models/item/hollow_mangrove_log.json | 3 - .../models/item/hollow_mining_log.json | 3 - .../models/item/hollow_oak_log.json | 3 - .../models/item/hollow_oak_sapling.json | 6 - .../models/item/hollow_sorting_log.json | 3 - .../models/item/hollow_spruce_log.json | 3 - .../models/item/hollow_time_log.json | 3 - .../item/hollow_transformation_log.json | 3 - .../models/item/hollow_twilight_oak_log.json | 3 - .../models/item/hollow_vangrove_log.json | 3 - .../models/item/hollow_warped_stem.json | 3 - .../models/item/hostile_wolf_spawn_egg.json | 3 - .../models/item/huge_lily_pad.json | 6 - .../models/item/huge_mushgloom.json | 6 - .../models/item/huge_mushgloom_stem.json | 6 - .../models/item/huge_stalk.json | 3 - .../models/item/huge_water_lily.json | 6 - .../models/item/hydra_banner_pattern.json | 6 - .../models/item/hydra_boss_spawner.json | 3 - .../models/item/hydra_chop.json | 6 - .../models/item/hydra_spawn_egg.json | 3 - .../models/item/hydra_trophy.json | 17 - .../twilightforest/models/item/ice_bomb.json | 6 - .../twilightforest/models/item/ice_bow.json | 29 - .../models/item/ice_bow_pulling_0.json | 7 - .../models/item/ice_bow_pulling_1.json | 7 - .../models/item/ice_bow_pulling_2.json | 7 - .../models/item/ice_crystal_spawn_egg.json | 3 - .../twilightforest/models/item/ice_sword.json | 7 - .../models/item/infested_towerwood.json | 3 - .../models/item/ironwood_axe.json | 6 - .../models/item/ironwood_block.json | 3 - .../models/item/ironwood_boots.json | 68 - .../item/ironwood_boots_amethyst_trim.json | 7 - .../item/ironwood_boots_copper_trim.json | 7 - .../item/ironwood_boots_diamond_trim.json | 7 - .../item/ironwood_boots_emerald_trim.json | 7 - .../models/item/ironwood_boots_gold_trim.json | 7 - .../models/item/ironwood_boots_iron_trim.json | 7 - .../item/ironwood_boots_lapis_trim.json | 7 - .../item/ironwood_boots_netherite_trim.json | 7 - .../item/ironwood_boots_quartz_trim.json | 7 - .../item/ironwood_boots_redstone_trim.json | 7 - .../models/item/ironwood_chestplate.json | 68 - .../ironwood_chestplate_amethyst_trim.json | 7 - .../item/ironwood_chestplate_copper_trim.json | 7 - .../ironwood_chestplate_diamond_trim.json | 7 - .../ironwood_chestplate_emerald_trim.json | 7 - .../item/ironwood_chestplate_gold_trim.json | 7 - .../item/ironwood_chestplate_iron_trim.json | 7 - .../item/ironwood_chestplate_lapis_trim.json | 7 - .../ironwood_chestplate_netherite_trim.json | 7 - .../item/ironwood_chestplate_quartz_trim.json | 7 - .../ironwood_chestplate_redstone_trim.json | 7 - .../models/item/ironwood_helmet.json | 68 - .../item/ironwood_helmet_amethyst_trim.json | 7 - .../item/ironwood_helmet_copper_trim.json | 7 - .../item/ironwood_helmet_diamond_trim.json | 7 - .../item/ironwood_helmet_emerald_trim.json | 7 - .../item/ironwood_helmet_gold_trim.json | 7 - .../item/ironwood_helmet_iron_trim.json | 7 - .../item/ironwood_helmet_lapis_trim.json | 7 - .../item/ironwood_helmet_netherite_trim.json | 7 - .../item/ironwood_helmet_quartz_trim.json | 7 - .../item/ironwood_helmet_redstone_trim.json | 7 - .../models/item/ironwood_hoe.json | 6 - .../models/item/ironwood_ingot.json | 6 - .../models/item/ironwood_leggings.json | 68 - .../item/ironwood_leggings_amethyst_trim.json | 7 - .../item/ironwood_leggings_copper_trim.json | 7 - .../item/ironwood_leggings_diamond_trim.json | 7 - .../item/ironwood_leggings_emerald_trim.json | 7 - .../item/ironwood_leggings_gold_trim.json | 7 - .../item/ironwood_leggings_iron_trim.json | 7 - .../item/ironwood_leggings_lapis_trim.json | 7 - .../ironwood_leggings_netherite_trim.json | 7 - .../item/ironwood_leggings_quartz_trim.json | 7 - .../item/ironwood_leggings_redstone_trim.json | 7 - .../models/item/ironwood_pickaxe.json | 6 - .../models/item/ironwood_shovel.json | 6 - .../models/item/ironwood_sword.json | 6 - .../models/item/jungle_banister.json | 6 - .../models/item/king_spider_spawn_egg.json | 3 - .../item/knight_phantom_banner_pattern.json | 6 - .../item/knight_phantom_boss_spawner.json | 3 - .../models/item/knight_phantom_spawn_egg.json | 3 - .../models/item/knight_phantom_trophy.json | 17 - .../models/item/knightmetal_axe.json | 6 - .../models/item/knightmetal_block.json | 3 - .../models/item/knightmetal_boots.json | 68 - .../item/knightmetal_boots_amethyst_trim.json | 7 - .../item/knightmetal_boots_copper_trim.json | 7 - .../item/knightmetal_boots_diamond_trim.json | 7 - .../item/knightmetal_boots_emerald_trim.json | 7 - .../item/knightmetal_boots_gold_trim.json | 7 - .../item/knightmetal_boots_iron_trim.json | 7 - .../item/knightmetal_boots_lapis_trim.json | 7 - .../knightmetal_boots_netherite_trim.json | 7 - .../item/knightmetal_boots_quartz_trim.json | 7 - .../item/knightmetal_boots_redstone_trim.json | 7 - .../models/item/knightmetal_chestplate.json | 68 - .../knightmetal_chestplate_amethyst_trim.json | 7 - .../knightmetal_chestplate_copper_trim.json | 7 - .../knightmetal_chestplate_diamond_trim.json | 7 - .../knightmetal_chestplate_emerald_trim.json | 7 - .../knightmetal_chestplate_gold_trim.json | 7 - .../knightmetal_chestplate_iron_trim.json | 7 - .../knightmetal_chestplate_lapis_trim.json | 7 - ...knightmetal_chestplate_netherite_trim.json | 7 - .../knightmetal_chestplate_quartz_trim.json | 7 - .../knightmetal_chestplate_redstone_trim.json | 7 - .../models/item/knightmetal_helmet.json | 68 - .../knightmetal_helmet_amethyst_trim.json | 7 - .../item/knightmetal_helmet_copper_trim.json | 7 - .../item/knightmetal_helmet_diamond_trim.json | 7 - .../item/knightmetal_helmet_emerald_trim.json | 7 - .../item/knightmetal_helmet_gold_trim.json | 7 - .../item/knightmetal_helmet_iron_trim.json | 7 - .../item/knightmetal_helmet_lapis_trim.json | 7 - .../knightmetal_helmet_netherite_trim.json | 7 - .../item/knightmetal_helmet_quartz_trim.json | 7 - .../knightmetal_helmet_redstone_trim.json | 7 - .../models/item/knightmetal_ingot.json | 6 - .../models/item/knightmetal_leggings.json | 68 - .../knightmetal_leggings_amethyst_trim.json | 7 - .../knightmetal_leggings_copper_trim.json | 7 - .../knightmetal_leggings_diamond_trim.json | 7 - .../knightmetal_leggings_emerald_trim.json | 7 - .../item/knightmetal_leggings_gold_trim.json | 7 - .../item/knightmetal_leggings_iron_trim.json | 7 - .../item/knightmetal_leggings_lapis_trim.json | 7 - .../knightmetal_leggings_netherite_trim.json | 7 - .../knightmetal_leggings_quartz_trim.json | 7 - .../knightmetal_leggings_redstone_trim.json | 7 - .../models/item/knightmetal_pickaxe.json | 6 - .../models/item/knightmetal_ring.json | 6 - .../models/item/knightmetal_sword.json | 6 - .../models/item/kobold_spawn_egg.json | 3 - .../models/item/lamp_of_cinders.json | 42 - .../models/item/lich_banner_pattern.json | 6 - .../models/item/lich_boss_spawner.json | 3 - .../models/item/lich_spawn_egg.json | 3 - .../item/lich_tower_miniature_structure.json | 3 - .../models/item/lich_trophy.json | 3 - .../models/item/lifedrain_scepter.json | 6 - .../twilightforest/models/item/liveroot.json | 6 - .../models/item/liveroot_block.json | 3 - .../models/item/locked_vanishing_block.json | 3 - .../item/lower_goblin_knight_spawn_egg.json | 3 - .../models/item/magic_beans.json | 6 - .../twilightforest/models/item/magic_map.json | 6 - .../models/item/magic_map_focus.json | 6 - .../models/item/magic_painting.json | 6 - .../models/item/mangrove_banister.json | 6 - .../models/item/mangrove_boat.json | 6 - .../models/item/mangrove_button.json | 6 - .../models/item/mangrove_chest.json | 6 - .../models/item/mangrove_chest_boat.json | 7 - .../models/item/mangrove_fence.json | 6 - .../models/item/mangrove_fence_gate.json | 3 - .../models/item/mangrove_hanging_sign.json | 6 - .../models/item/mangrove_leaves.json | 3 - .../models/item/mangrove_log.json | 3 - .../models/item/mangrove_planks.json | 3 - .../models/item/mangrove_pressure_plate.json | 3 - .../models/item/mangrove_root.json | 3 - .../models/item/mangrove_sapling.json | 6 - .../models/item/mangrove_slab.json | 3 - .../models/item/mangrove_stairs.json | 3 - .../models/item/mangrove_trapdoor.json | 3 - .../models/item/mangrove_trapped_chest.json | 6 - .../models/item/mangrove_wood.json | 3 - .../twilightforest/models/item/mayapple.json | 6 - .../twilightforest/models/item/maze_map.json | 6 - .../models/item/maze_map_focus.json | 6 - .../models/item/maze_slime_spawn_egg.json | 3 - .../models/item/maze_wafer.json | 6 - .../models/item/mazebreaker_pickaxe.json | 6 - .../twilightforest/models/item/mazestone.json | 3 - .../models/item/mazestone_border.json | 3 - .../models/item/mazestone_brick.json | 3 - .../models/item/mazestone_mosaic.json | 3 - .../models/item/meef_stroganoff.json | 6 - .../models/item/mining_banister.json | 6 - .../models/item/mining_boat.json | 6 - .../models/item/mining_chest.json | 6 - .../models/item/mining_chest_boat.json | 7 - .../models/item/mining_fence_gate.json | 3 - .../models/item/mining_hanging_sign.json | 6 - .../models/item/mining_leaves.json | 3 - .../models/item/mining_log.json | 3 - .../models/item/mining_log_core.json | 3 - .../models/item/mining_planks.json | 3 - .../models/item/mining_pressure_plate.json | 3 - .../models/item/mining_sapling.json | 6 - .../models/item/mining_slab.json | 3 - .../models/item/mining_stairs.json | 3 - .../models/item/mining_trapdoor.json | 3 - .../models/item/mining_trapped_chest.json | 6 - .../models/item/mining_wood.json | 3 - .../item/minoshroom_banner_pattern.json | 6 - .../models/item/minoshroom_boss_spawner.json | 3 - .../models/item/minoshroom_spawn_egg.json | 3 - .../models/item/minoshroom_trophy.json | 3 - .../models/item/minotaur_spawn_egg.json | 3 - .../models/item/mist_wolf_spawn_egg.json | 3 - .../twilightforest/models/item/moon_dial.json | 56 - .../models/item/moon_dial_full.json | 6 - .../models/item/moon_dial_new.json | 6 - .../models/item/moon_dial_quarter1.json | 6 - .../models/item/moon_dial_quarter3.json | 6 - .../models/item/moon_dial_waning_cres.json | 6 - .../models/item/moon_dial_waning_gib.json | 6 - .../models/item/moon_dial_waxing_cres.json | 6 - .../models/item/moon_dial_waxing_gib.json | 6 - .../models/item/moonworm_queen.json | 64 - .../models/item/moonworm_queen_alt.json | 56 - .../models/item/mosquito_swarm_spawn_egg.json | 3 - .../models/item/moss_patch.json | 6 - .../models/item/mossy_castle_brick.json | 3 - .../item/mossy_castle_brick_stairs.json | 3 - .../models/item/mossy_etched_nagastone.json | 3 - .../models/item/mossy_mazestone.json | 3 - .../models/item/mossy_nagastone_pillar.json | 3 - .../item/mossy_nagastone_stairs_left.json | 3 - .../item/mossy_nagastone_stairs_right.json | 3 - .../models/item/mossy_towerwood.json | 3 - .../models/item/mossy_underbrick.json | 3 - .../twilightforest/models/item/mushgloom.json | 7 - .../models/item/music_disc_findings.json | 6 - .../models/item/music_disc_maker.json | 6 - .../models/item/music_disc_motion.json | 6 - .../models/item/music_disc_radiance.json | 6 - .../models/item/music_disc_steps.json | 6 - .../models/item/music_disc_superstitious.json | 6 - .../models/item/music_disc_thread.json | 6 - .../models/item/music_disc_wayfarer.json | 6 - .../models/item/mystic_crown.json | 3 - .../models/item/naga_banner_pattern.json | 6 - .../models/item/naga_boss_spawner.json | 3 - .../models/item/naga_chestplate.json | 6 - .../naga_courtyard_miniature_structure.json | 3 - .../models/item/naga_leggings.json | 6 - .../models/item/naga_scale.json | 6 - .../models/item/naga_spawn_egg.json | 3 - .../models/item/naga_trophy.json | 3 - .../twilightforest/models/item/nagastone.json | 3 - .../models/item/nagastone_head.json | 3 - .../models/item/nagastone_pillar.json | 3 - .../models/item/nagastone_stairs_left.json | 3 - .../models/item/nagastone_stairs_right.json | 3 - .../models/item/oak_banister.json | 6 - .../models/item/orange_force_field.json | 20 - .../models/item/ore_magnet.json | 22 - .../models/item/ore_magnet_pulling_1.json | 6 - .../models/item/ore_magnet_pulling_2.json | 6 - .../twilightforest/models/item/ore_map.json | 6 - .../twilightforest/models/item/ore_meter.json | 14 - .../models/item/ore_meter_active.json | 6 - .../models/item/peacock_feather_fan.json | 6 - .../models/item/penguin_spawn_egg.json | 3 - .../models/item/phantom_chestplate.json | 68 - .../phantom_chestplate_amethyst_trim.json | 7 - .../item/phantom_chestplate_copper_trim.json | 7 - .../item/phantom_chestplate_diamond_trim.json | 7 - .../item/phantom_chestplate_emerald_trim.json | 7 - .../item/phantom_chestplate_gold_trim.json | 7 - .../item/phantom_chestplate_iron_trim.json | 7 - .../item/phantom_chestplate_lapis_trim.json | 7 - .../phantom_chestplate_netherite_trim.json | 7 - .../item/phantom_chestplate_quartz_trim.json | 7 - .../phantom_chestplate_redstone_trim.json | 7 - .../models/item/phantom_helmet.json | 68 - .../item/phantom_helmet_amethyst_trim.json | 7 - .../item/phantom_helmet_copper_trim.json | 7 - .../item/phantom_helmet_diamond_trim.json | 7 - .../item/phantom_helmet_emerald_trim.json | 7 - .../models/item/phantom_helmet_gold_trim.json | 7 - .../models/item/phantom_helmet_iron_trim.json | 7 - .../item/phantom_helmet_lapis_trim.json | 7 - .../item/phantom_helmet_netherite_trim.json | 7 - .../item/phantom_helmet_quartz_trim.json | 7 - .../item/phantom_helmet_redstone_trim.json | 7 - .../models/item/piglin_skull_candle.json | 3 - .../models/item/pinch_beetle_spawn_egg.json | 3 - .../models/item/pink_castle_door.json | 3 - .../models/item/pink_castle_rune_brick.json | 3 - .../models/item/pink_force_field.json | 20 - .../models/item/player_skull_candle.json | 3 - .../models/item/pocket_watch.json | 6 - .../models/item/quest_ram_banner_pattern.json | 6 - .../models/item/quest_ram_spawn_egg.json | 3 - .../models/item/quest_ram_trophy.json | 17 - .../models/item/rainbow_oak_leaves.json | 3 - .../models/item/rainbow_oak_sapling.json | 6 - .../models/item/rainy_cloud.json | 3 - .../models/item/raven_feather.json | 6 - .../models/item/raven_spawn_egg.json | 3 - .../models/item/raw_ironwood.json | 6 - .../twilightforest/models/item/raw_meef.json | 6 - .../models/item/raw_venison.json | 6 - .../models/item/reappearing_block.json | 3 - .../models/item/red_thread.json | 26 - .../models/item/red_thread_bundle.json | 6 - .../models/item/red_thread_large_spool.json | 6 - .../models/item/red_thread_spool.json | 6 - .../models/item/redcap_sapper_spawn_egg.json | 3 - .../models/item/redcap_spawn_egg.json | 3 - .../twilightforest/models/item/root.json | 3 - .../models/item/root_strand.json | 6 - .../twilightforest/models/item/rope.json | 6 - .../models/item/seeker_bow.json | 28 - .../models/item/seeker_bow_pulling_0.json | 6 - .../models/item/seeker_bow_pulling_1.json | 6 - .../models/item/seeker_bow_pulling_2.json | 6 - .../twilightforest/models/item/shield.json | 7 - .../models/item/sinister_spawner.json | 3 - .../models/item/skeleton_druid_spawn_egg.json | 3 - .../models/item/skeleton_skull_candle.json | 3 - .../twilightforest/models/item/slider.json | 3 - .../models/item/slime_beetle_spawn_egg.json | 3 - .../twilightforest/models/item/smoker.json | 3 - .../models/item/snow_guardian_spawn_egg.json | 3 - .../item/snow_queen_banner_pattern.json | 6 - .../models/item/snow_queen_boss_spawner.json | 3 - .../models/item/snow_queen_spawn_egg.json | 3 - .../models/item/snow_queen_trophy.json | 3 - .../models/item/snowy_cloud.json | 3 - .../models/item/sorting_banister.json | 6 - .../models/item/sorting_boat.json | 6 - .../models/item/sorting_chest.json | 6 - .../models/item/sorting_chest_boat.json | 7 - .../models/item/sorting_fence_gate.json | 3 - .../models/item/sorting_hanging_sign.json | 6 - .../models/item/sorting_leaves.json | 3 - .../models/item/sorting_log.json | 3 - .../models/item/sorting_log_core.json | 3 - .../models/item/sorting_planks.json | 3 - .../models/item/sorting_pressure_plate.json | 3 - .../models/item/sorting_sapling.json | 6 - .../models/item/sorting_slab.json | 3 - .../models/item/sorting_stairs.json | 3 - .../models/item/sorting_trapdoor.json | 3 - .../models/item/sorting_trapped_chest.json | 6 - .../models/item/sorting_wood.json | 3 - .../models/item/spiral_bricks.json | 3 - .../models/item/spruce_banister.json | 6 - .../models/item/squirrel_spawn_egg.json | 3 - .../item/stable_ice_core_spawn_egg.json | 3 - .../models/item/steeleaf_axe.json | 6 - .../models/item/steeleaf_block.json | 3 - .../models/item/steeleaf_boots.json | 68 - .../item/steeleaf_boots_amethyst_trim.json | 7 - .../item/steeleaf_boots_copper_trim.json | 7 - .../item/steeleaf_boots_diamond_trim.json | 7 - .../item/steeleaf_boots_emerald_trim.json | 7 - .../models/item/steeleaf_boots_gold_trim.json | 7 - .../models/item/steeleaf_boots_iron_trim.json | 7 - .../item/steeleaf_boots_lapis_trim.json | 7 - .../item/steeleaf_boots_netherite_trim.json | 7 - .../item/steeleaf_boots_quartz_trim.json | 7 - .../item/steeleaf_boots_redstone_trim.json | 7 - .../models/item/steeleaf_chestplate.json | 68 - .../steeleaf_chestplate_amethyst_trim.json | 7 - .../item/steeleaf_chestplate_copper_trim.json | 7 - .../steeleaf_chestplate_diamond_trim.json | 7 - .../steeleaf_chestplate_emerald_trim.json | 7 - .../item/steeleaf_chestplate_gold_trim.json | 7 - .../item/steeleaf_chestplate_iron_trim.json | 7 - .../item/steeleaf_chestplate_lapis_trim.json | 7 - .../steeleaf_chestplate_netherite_trim.json | 7 - .../item/steeleaf_chestplate_quartz_trim.json | 7 - .../steeleaf_chestplate_redstone_trim.json | 7 - .../models/item/steeleaf_helmet.json | 68 - .../item/steeleaf_helmet_amethyst_trim.json | 7 - .../item/steeleaf_helmet_copper_trim.json | 7 - .../item/steeleaf_helmet_diamond_trim.json | 7 - .../item/steeleaf_helmet_emerald_trim.json | 7 - .../item/steeleaf_helmet_gold_trim.json | 7 - .../item/steeleaf_helmet_iron_trim.json | 7 - .../item/steeleaf_helmet_lapis_trim.json | 7 - .../item/steeleaf_helmet_netherite_trim.json | 7 - .../item/steeleaf_helmet_quartz_trim.json | 7 - .../item/steeleaf_helmet_redstone_trim.json | 7 - .../models/item/steeleaf_hoe.json | 6 - .../models/item/steeleaf_ingot.json | 6 - .../models/item/steeleaf_leggings.json | 68 - .../item/steeleaf_leggings_amethyst_trim.json | 7 - .../item/steeleaf_leggings_copper_trim.json | 7 - .../item/steeleaf_leggings_diamond_trim.json | 7 - .../item/steeleaf_leggings_emerald_trim.json | 7 - .../item/steeleaf_leggings_gold_trim.json | 7 - .../item/steeleaf_leggings_iron_trim.json | 7 - .../item/steeleaf_leggings_lapis_trim.json | 7 - .../steeleaf_leggings_netherite_trim.json | 7 - .../item/steeleaf_leggings_quartz_trim.json | 7 - .../item/steeleaf_leggings_redstone_trim.json | 7 - .../models/item/steeleaf_pickaxe.json | 6 - .../models/item/steeleaf_shovel.json | 6 - .../models/item/steeleaf_sword.json | 6 - .../models/item/stripped_canopy_log.json | 3 - .../models/item/stripped_canopy_wood.json | 3 - .../models/item/stripped_dark_log.json | 3 - .../models/item/stripped_dark_wood.json | 3 - .../models/item/stripped_mangrove_log.json | 3 - .../models/item/stripped_mangrove_wood.json | 3 - .../models/item/stripped_mining_log.json | 3 - .../models/item/stripped_mining_wood.json | 3 - .../models/item/stripped_sorting_log.json | 3 - .../models/item/stripped_sorting_wood.json | 3 - .../models/item/stripped_time_log.json | 3 - .../models/item/stripped_time_wood.json | 3 - .../item/stripped_transformation_log.json | 3 - .../item/stripped_transformation_wood.json | 3 - .../item/stripped_twilight_oak_log.json | 3 - .../item/stripped_twilight_oak_wood.json | 3 - .../models/item/stronghold_shield.json | 3 - .../models/item/swarm_spider_spawn_egg.json | 3 - .../models/item/terrorcotta_arcs.json | 3 - .../models/item/terrorcotta_curves.json | 3 - .../models/item/terrorcotta_lines.json | 3 - .../models/item/thick_castle_brick.json | 3 - .../twilightforest/models/item/think115.json | 6 - .../models/item/thorn_leaves.json | 3 - .../models/item/thorn_rose.json | 6 - .../models/item/time_banister.json | 6 - .../twilightforest/models/item/time_boat.json | 6 - .../models/item/time_chest.json | 6 - .../models/item/time_chest_boat.json | 7 - .../models/item/time_fence_gate.json | 3 - .../models/item/time_hanging_sign.json | 6 - .../models/item/time_leaves.json | 3 - .../twilightforest/models/item/time_log.json | 3 - .../models/item/time_log_core.json | 3 - .../models/item/time_planks.json | 3 - .../models/item/time_pressure_plate.json | 3 - .../models/item/time_sapling.json | 6 - .../twilightforest/models/item/time_slab.json | 3 - .../models/item/time_stairs.json | 3 - .../models/item/time_trapdoor.json | 3 - .../models/item/time_trapped_chest.json | 6 - .../twilightforest/models/item/time_wood.json | 3 - .../models/item/tiny_bird_spawn_egg.json | 3 - .../models/item/tooting_crumble_horn.json | 6 - .../models/item/torchberries.json | 20 - .../models/item/torchberry_plant.json | 6 - .../twilightforest/models/item/tower_key.json | 20 - .../twilightforest/models/item/towerwood.json | 3 - .../item/towerwood_borer_spawn_egg.json | 3 - .../models/item/transformation_banister.json | 6 - .../models/item/transformation_boat.json | 6 - .../models/item/transformation_chest.json | 6 - .../item/transformation_chest_boat.json | 7 - .../item/transformation_fence_gate.json | 3 - .../item/transformation_hanging_sign.json | 6 - .../models/item/transformation_leaves.json | 3 - .../models/item/transformation_log.json | 3 - .../models/item/transformation_log_core.json | 3 - .../models/item/transformation_planks.json | 3 - .../models/item/transformation_powder.json | 6 - .../item/transformation_pressure_plate.json | 3 - .../models/item/transformation_sapling.json | 6 - .../models/item/transformation_slab.json | 3 - .../models/item/transformation_stairs.json | 3 - .../models/item/transformation_trapdoor.json | 3 - .../item/transformation_trapped_chest.json | 6 - .../models/item/transformation_wood.json | 3 - .../models/item/triple_bow.json | 28 - .../models/item/triple_bow_pulling_0.json | 6 - .../models/item/triple_bow_pulling_1.json | 6 - .../models/item/triple_bow_pulling_2.json | 6 - .../models/item/troll_spawn_egg.json | 3 - .../twilightforest/models/item/trollber.json | 6 - .../models/item/trollsteinn.json | 6 - .../models/item/trollsteinn_light.json | 6 - .../twilightforest/models/item/trollvidr.json | 6 - .../twilightforest/models/item/trophy.json | 6 - .../models/item/trophy_minor.json | 6 - .../models/item/trophy_pedestal.json | 3 - .../models/item/trophy_quest.json | 6 - .../models/item/twilight_oak_banister.json | 6 - .../models/item/twilight_oak_boat.json | 6 - .../models/item/twilight_oak_button.json | 6 - .../models/item/twilight_oak_chest.json | 6 - .../models/item/twilight_oak_chest_boat.json | 7 - .../models/item/twilight_oak_fence.json | 6 - .../models/item/twilight_oak_fence_gate.json | 3 - .../item/twilight_oak_hanging_sign.json | 6 - .../models/item/twilight_oak_leaves.json | 3 - .../models/item/twilight_oak_log.json | 3 - .../models/item/twilight_oak_planks.json | 3 - .../item/twilight_oak_pressure_plate.json | 3 - .../models/item/twilight_oak_sapling.json | 6 - .../models/item/twilight_oak_slab.json | 3 - .../models/item/twilight_oak_stairs.json | 3 - .../models/item/twilight_oak_trapdoor.json | 3 - .../item/twilight_oak_trapped_chest.json | 6 - .../models/item/twilight_oak_wood.json | 3 - .../twilight_portal_miniature_structure.json | 3 - .../models/item/twilight_scepter.json | 6 - .../models/item/twisted_stone.json | 3 - .../models/item/twisted_stone_pillar.json | 3 - .../models/item/uberous_soil.json | 3 - .../models/item/uncrafting_table.json | 3 - .../models/item/underbrick.json | 3 - .../models/item/underbrick_floor.json | 3 - .../models/item/unripe_trollber.json | 6 - .../item/unstable_ice_core_spawn_egg.json | 3 - .../models/item/ur_ghast_banner_pattern.json | 6 - .../models/item/ur_ghast_boss_spawner.json | 3 - .../models/item/ur_ghast_spawn_egg.json | 3 - .../models/item/ur_ghast_trophy.json | 80 - .../models/item/vangrove_banister.json | 6 - .../models/item/vanishing_block.json | 3 - .../models/item/violet_castle_door.json | 3 - .../models/item/violet_castle_rune_brick.json | 3 - .../models/item/violet_force_field.json | 20 - .../models/item/warped_banister.json | 6 - .../models/item/weathered_deadrock.json | 3 - .../models/item/winter_wolf_spawn_egg.json | 3 - .../models/item/wispy_cloud.json | 3 - .../item/wither_skeleton_skull_candle.json | 3 - .../models/item/worn_castle_brick.json | 3 - .../models/item/worn_castle_brick_stairs.json | 3 - .../models/item/wraith_spawn_egg.json | 3 - .../models/item/wrought_iron_bar.json | 6 - .../models/item/yellow_castle_door.json | 3 - .../models/item/yellow_castle_rune_brick.json | 3 - .../models/item/yeti_boots.json | 68 - .../models/item/yeti_boots_amethyst_trim.json | 7 - .../models/item/yeti_boots_copper_trim.json | 7 - .../models/item/yeti_boots_diamond_trim.json | 7 - .../models/item/yeti_boots_emerald_trim.json | 7 - .../models/item/yeti_boots_gold_trim.json | 7 - .../models/item/yeti_boots_iron_trim.json | 7 - .../models/item/yeti_boots_lapis_trim.json | 7 - .../item/yeti_boots_netherite_trim.json | 7 - .../models/item/yeti_boots_quartz_trim.json | 7 - .../models/item/yeti_boots_redstone_trim.json | 7 - .../models/item/yeti_chestplate.json | 68 - .../item/yeti_chestplate_amethyst_trim.json | 7 - .../item/yeti_chestplate_copper_trim.json | 7 - .../item/yeti_chestplate_diamond_trim.json | 7 - .../item/yeti_chestplate_emerald_trim.json | 7 - .../item/yeti_chestplate_gold_trim.json | 7 - .../item/yeti_chestplate_iron_trim.json | 7 - .../item/yeti_chestplate_lapis_trim.json | 7 - .../item/yeti_chestplate_netherite_trim.json | 7 - .../item/yeti_chestplate_quartz_trim.json | 7 - .../item/yeti_chestplate_redstone_trim.json | 7 - .../models/item/yeti_helmet.json | 6 - .../models/item/yeti_leggings.json | 68 - .../item/yeti_leggings_amethyst_trim.json | 7 - .../item/yeti_leggings_copper_trim.json | 7 - .../item/yeti_leggings_diamond_trim.json | 7 - .../item/yeti_leggings_emerald_trim.json | 7 - .../models/item/yeti_leggings_gold_trim.json | 7 - .../models/item/yeti_leggings_iron_trim.json | 7 - .../models/item/yeti_leggings_lapis_trim.json | 7 - .../item/yeti_leggings_netherite_trim.json | 7 - .../item/yeti_leggings_quartz_trim.json | 7 - .../item/yeti_leggings_redstone_trim.json | 7 - .../models/item/yeti_spawn_egg.json | 3 - .../models/item/zombie_scepter.json | 6 - .../models/item/zombie_skull_candle.json | 3 - .../trim_material/carminite.json | 3 +- .../twilightforest/trim_material/fiery.json | 3 +- .../trim_material/ironwood.json | 3 +- .../trim_material/knightmetal.json | 3 +- .../trim_material/naga_scale.json | 3 +- .../trim_material/steeleaf.json | 3 +- .../worldgen/biome/clearing.json | 18 +- .../worldgen/biome/dark_forest.json | 18 +- .../worldgen/biome/dark_forest_center.json | 18 +- .../worldgen/biome/dense_forest.json | 18 +- .../worldgen/biome/dense_mushroom_forest.json | 18 +- .../worldgen/biome/enchanted_forest.json | 18 +- .../worldgen/biome/final_plateau.json | 18 +- .../worldgen/biome/fire_swamp.json | 18 +- .../worldgen/biome/firefly_forest.json | 18 +- .../twilightforest/worldgen/biome/forest.json | 18 +- .../worldgen/biome/glacier.json | 18 +- .../worldgen/biome/highlands.json | 18 +- .../worldgen/biome/highlands_underground.json | 18 +- .../twilightforest/worldgen/biome/lake.json | 18 +- .../worldgen/biome/mushroom_forest.json | 18 +- .../worldgen/biome/oak_savannah.json | 18 +- .../worldgen/biome/snowy_forest.json | 18 +- .../worldgen/biome/spooky_forest.json | 18 +- .../twilightforest/worldgen/biome/stream.json | 18 +- .../twilightforest/worldgen/biome/swamp.json | 18 +- .../worldgen/biome/thornlands.json | 18 +- .../worldgen/biome/underground.json | 18 +- src/generated/resources/pack.mcmeta | 2 +- .../client/ISTER.java | 0 .../twilightforest/beans/TFBeanContext.java | 2 +- .../client/event/ClientEvents.java | 10 +- .../client/event/RegistrationEvents.java | 18 +- .../aurorablock/NoiseVaryingModelBuilder.java | 18 +- .../block/forcefield/ForceFieldModel.java | 12 +- .../twilightforest/data/DataGenerators.java | 5 +- .../twilightforest/data/TFBlockFamilies.java | 180 +- .../data/helpers/BlockModelBuilders.java | 20 + .../data/helpers/ItemModelBuilders.java | 18 + .../data/models/BlockModelGenerator.java | 29 + .../data/models/ItemModelGenerator.java | 22 + .../data/models/ModelGenerator.java | 48 + .../passive/quest/QuestReloadListener.java | 21 +- .../util/entities/EntityRenderingUtil.java | 47 +- .../resources/META-INF/accesstransformer.cfg | 8 + 3094 files changed, 6425 insertions(+), 79119 deletions(-) delete mode 100644 src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 create mode 100644 src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae delete mode 100644 src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/antibuilder.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/birch_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/brazier.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/built_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/candelabra.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_window.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cicada.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/clover_patch.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/creeper_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/creeper_wall_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/experiment_115.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fake_gold.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fiery_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/green_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/green_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hedge.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/keepsake_casket.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mason_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mayapple.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/moonworm.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/moss_patch.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/piglin_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/piglin_wall_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/player_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/player_wall_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/quest_ram_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/quest_ram_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/reactor_debris.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/red_thread.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/root.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/root_strand.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/rope.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/skeleton_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/skeleton_wall_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/skull_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/slider.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollvidr.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_wall_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/warped_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/zombie_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/zombie_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_button.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_trapdoor.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/antibuilder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_slab_double.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_x.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_z.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brazier.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/candelabra.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_3.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_3.json => canopy_button.json} (51%) rename src/generated/resources/assets/twilightforest/models/{item/sorting_button.json => block/canopy_button_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_pressed_3.json => canopy_button_pressed.json} (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_3.json => canopy_fence_gate.json} (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_open_3.json => canopy_fence_gate_open.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_3.json => canopy_fence_gate_wall.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_open_3.json => canopy_fence_gate_wall_open.json} (59%) rename src/generated/resources/assets/twilightforest/models/{item/sorting_fence.json => block/canopy_fence_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_post_3.json => canopy_fence_post.json} (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_side_3.json => canopy_fence_side.json} (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{castle_brick.json => canopy_planks.json} (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_3.json => canopy_pressure_plate.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_down_3.json => canopy_pressure_plate_down.json} (56%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_reactor_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/casket_basalt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/casket_obsidian.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/casket_stone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_4.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_5.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_6.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_7.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_rune_inventory.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_4.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_5.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_6.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_runes_7.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cicada.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_east.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_north.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_south.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_up.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_west.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_reversed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt_flipped.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_flipped.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_1.json => dark_button.json} (51%) rename src/generated/resources/assets/twilightforest/models/{item/time_button.json => block/dark_button_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_pressed_1.json => dark_button_pressed.json} (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_1.json => dark_fence_gate.json} (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_open_1.json => dark_fence_gate_open.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_1.json => dark_fence_gate_wall.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_open_1.json => dark_fence_gate_wall_open.json} (59%) rename src/generated/resources/assets/twilightforest/models/{item/time_fence.json => block/dark_fence_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_post_1.json => dark_fence_post.json} (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_side_1.json => dark_fence_side.json} (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{hedge.json => dark_planks.json} (57%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_1.json => dark_pressure_plate.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_down_1.json => dark_pressure_plate_down.json} (56%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_x.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_z.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone_east.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone_north.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone_south.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone_up.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone_west.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_1_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_2_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_3_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_4_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_5_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_6_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_7_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment115_8_8_regenerating.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fiddlehead.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/firefly.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ghast_trap.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ghast_trap_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_log_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_log_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_log_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss_grass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_outside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_outside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_stalk.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/infested_towerwood_flipped.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ironwood_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/keepsake_casket.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/liveroot_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_unlocked.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_2.json => mangrove_button.json} (51%) rename src/generated/resources/assets/twilightforest/models/{item/mining_button.json => block/mangrove_button_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine/mining_button_pressed_2.json => mangrove_button_pressed.json} (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_2.json => mangrove_fence_gate.json} (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_open_2.json => mangrove_fence_gate_open.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_2.json => mangrove_fence_gate_wall.json} (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine/mining_fence_gate_wall_open_2.json => mangrove_fence_gate_wall_open.json} (59%) rename src/generated/resources/assets/twilightforest/models/{item/mining_fence.json => block/mangrove_fence_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_post_2.json => mangrove_fence_post.json} (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine/mining_fence_side_2.json => mangrove_fence_side.json} (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{cinder_wood.json => mangrove_planks.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_2.json => mangrove_pressure_plate.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine/mining_pressure_plate_down_2.json => mangrove_pressure_plate_down.json} (56%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_root.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mason_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_border.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine => }/mining_button.json (51%) rename src/generated/resources/assets/twilightforest/models/{item/transformation_button.json => block/mining_button_inventory.json} (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/button/mine => }/mining_button_pressed.json (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine => }/mining_fence_gate.json (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine => }/mining_fence_gate_open.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine => }/mining_fence_gate_wall.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/mine => }/mining_fence_gate_wall_open.json (59%) rename src/generated/resources/assets/twilightforest/models/{item/transformation_fence.json => block/mining_fence_inventory.json} (54%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine => }/mining_fence_post.json (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/mine => }/mining_fence_side.json (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/{item/music_disc_home.json => block/mining_planks.json} (61%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine => }/mining_pressure_plate.json (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/mine => }/mining_pressure_plate_down.json (56%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/moonworm.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_east.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_north.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_south.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_up.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_west.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_reversed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_towerwood_flipped.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_reversed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/orange_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_thorn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/reactor_debris.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/red_thread.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/root.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/skull_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/sort => }/sorting_button.json (51%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_button_inventory.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/sort => }/sorting_button_pressed.json (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/sort => }/sorting_fence_gate.json (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/sort => }/sorting_fence_gate_open.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/sort => }/sorting_fence_gate_wall.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/sort => }/sorting_fence_gate_wall_open.json (59%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_fence_inventory.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/sort => }/sorting_fence_post.json (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/sort => }/sorting_fence_side.json (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{castle_rune_bricks.json => sorting_planks.json} (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/sort => }/sorting_pressure_plate.json (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/sort => }/sorting_pressure_plate_down.json (56%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_x.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_z.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/thorn_rose.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/time => }/time_button.json (51%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_button_inventory.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/time => }/time_button_pressed.json (54%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/time => }/time_fence_gate.json (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/time => }/time_fence_gate_open.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/time => }/time_fence_gate_wall.json (58%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/time => }/time_fence_gate_wall_open.json (59%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_fence_inventory.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/time => }/time_fence_post.json (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/time => }/time_fence_side.json (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{hedge_rose.json => time_planks.json} (57%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/time => }/time_pressure_plate.json (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/time => }/time_pressure_plate_down.json (56%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/time_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/torchberry_plant_no_berries.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/towerwood_flipped.json rename src/generated/resources/assets/twilightforest/models/block/{wood/button/trans => }/transformation_button.json (50%) rename src/generated/resources/assets/twilightforest/models/{item/canopy_button.json => block/transformation_button_inventory.json} (54%) rename src/generated/resources/assets/twilightforest/models/block/{wood/button/trans => }/transformation_button_pressed.json (53%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/trans => }/transformation_fence_gate.json (55%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/trans => }/transformation_fence_gate_open.json (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/trans => }/transformation_fence_gate_wall.json (56%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence_gate/trans => }/transformation_fence_gate_wall_open.json (58%) rename src/generated/resources/assets/twilightforest/models/{item/canopy_fence.json => block/transformation_fence_inventory.json} (53%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/trans => }/transformation_fence_post.json (52%) rename src/generated/resources/assets/twilightforest/models/block/{wood/fence/trans => }/transformation_fence_side.json (52%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{wood/planks/trans => }/transformation_planks.json (52%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/trans => }/transformation_pressure_plate.json (54%) rename src/generated/resources/assets/twilightforest/models/block/{wood/pressure_plate/trans => }/transformation_pressure_plate_down.json (55%) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trollsteinn_inside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trollsteinn_outside.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trollvidr.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_button.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_pressed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_post.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{castle_roof_tile.json => twilight_oak_planks.json} (53%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_wall_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_wall_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twisted_stone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/uberous_soil.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/uncrafting_table_glowing.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/vanishing_block_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_ladder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_vine.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wall_candelabra.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall_extended.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/acacia_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/antibuilder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_fur.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_fur_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/armor_shard.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/armored_giant_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/aurora_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/aurora_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/aurora_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/auroralized_glass.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bamboo_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/beanstalk_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/birch_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/block_and_chain.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/blue_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/blue_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/blue_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/boar_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/bold_stone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/borer_essence.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_damaged.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_splintered.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_damaged.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_splintered.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_damaged.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_splintered.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_damaged.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_flask_splintered.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/brown_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/burnt_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_window.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_broodling_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_builder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_ghastguard_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_ghastling_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_golem_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite_reactor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/castle_roof_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cherry_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/chiseled_canopy_bookshelf.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cicada_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cinder_furnace.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cinder_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cinder_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/clover_patch.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cooked_meef.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cooked_venison.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/coronation_carpet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cracked_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/creeper_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/crimson_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/crown_splinter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/crumble_horn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_talisman.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/cut_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_fence.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/death_tome_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/decorative_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/deer_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/dwarf_rabbit_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/encased_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/experiment_115.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fake_diamond.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fake_gold.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiddlehead.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_blood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_tears.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/final_boss_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fire_beetle_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fire_jet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/firefly_jar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/firefly_particle_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fluffy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ghast_trap.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_block_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_block_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_cobblestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_leaves_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_leaves_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_log_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_log_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_miner_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_obsidian.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_obsidian_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_obsidian_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_sword_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_sword_gui.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_tool_base.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/glass_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_flask_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_flask_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_flask_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/green_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/green_thorns.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hedge.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hedge_spider_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/helmet_crab_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_acacia_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_birch_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_cherry_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_crimson_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_dark_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_jungle_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_spruce_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_vangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_warped_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hostile_wolf_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_mushgloom_stem.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_stalk.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_chop.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bomb.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_crystal_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/infested_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/jungle_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/king_spider_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knight_phantom_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knight_phantom_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knight_phantom_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/kobold_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lamp_of_cinders.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_tower_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/liveroot.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/liveroot_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/locked_vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/lower_goblin_knight_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_beans.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_painting.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_fence.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_root.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mayapple.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_slime_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_wafer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mazestone_border.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mazestone_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mazestone_mosaic.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/minoshroom_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/minoshroom_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/minoshroom_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/minotaur_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mist_wolf_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_full.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_new.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter3.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_cres.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_gib.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_cres.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_gib.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/moss_patch.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_etched_nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_mazestone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mossy_underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mushgloom.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/mystic_crown.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_courtyard_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_scale.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/nagastone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/nagastone_head.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/nagastone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_left.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_right.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/orange_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_map.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_meter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/penguin_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/piglin_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/pinch_beetle_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/pink_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/pink_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/pink_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/player_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/pocket_watch.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/quest_ram_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/quest_ram_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/rainbow_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/rainy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/raven_feather.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/raven_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_meef.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_venison.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/reappearing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_bundle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_large_spool.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_spool.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/redcap_sapper_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/redcap_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/root.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/root_strand.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/rope.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/shield.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sinister_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/skeleton_druid_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/skeleton_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/slider.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/slime_beetle_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/smoker.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_guardian_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_queen_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_queen_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_queen_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/snowy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/spiral_bricks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/spruce_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/squirrel_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stable_ice_core_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_canopy_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_canopy_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_dark_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_dark_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_mining_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_mining_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_sorting_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_sorting_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/stronghold_shield.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/swarm_spider_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/terrorcotta_arcs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/terrorcotta_curves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/terrorcotta_lines.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/thick_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/think115.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/thorn_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/thorn_rose.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/time_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/tiny_bird_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/tooting_crumble_horn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/torchberries.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/tower_key.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/towerwood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/towerwood_borer_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_log_core.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_powder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/troll_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trollsteinn.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trollsteinn_light.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trollvidr.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trophy_minor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trophy_pedestal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/trophy_quest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_button.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence_gate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_leaves.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_log.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_planks.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_pressure_plate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_slab.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapdoor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapped_chest.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_wood.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_portal_miniature_structure.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twisted_stone.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/twisted_stone_pillar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/uberous_soil.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/uncrafting_table.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/underbrick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/underbrick_floor.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/unstable_ice_core_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ur_ghast_boss_spawner.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ur_ghast_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/ur_ghast_trophy.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/vangrove_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/violet_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/violet_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/violet_force_field.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/warped_banister.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/weathered_deadrock.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/winter_wolf_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/wispy_cloud.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/wither_skeleton_skull_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/worn_castle_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/worn_castle_brick_stairs.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/wraith_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yellow_castle_door.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yellow_castle_rune_brick.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_spawn_egg.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/zombie_skull_candle.json rename src/main/{java/twilightforest => disabled}/client/ISTER.java (100%) create mode 100644 src/main/java/twilightforest/data/helpers/BlockModelBuilders.java create mode 100644 src/main/java/twilightforest/data/helpers/ItemModelBuilders.java create mode 100644 src/main/java/twilightforest/data/models/BlockModelGenerator.java create mode 100644 src/main/java/twilightforest/data/models/ItemModelGenerator.java create mode 100644 src/main/java/twilightforest/data/models/ModelGenerator.java diff --git a/.gitignore b/.gitignore index b07349ff79..78ee2b5035 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ classes logs run-data gource.sh +.noai diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 index a2e69b9526..8500f2f090 100644 --- a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 +++ b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.315044 Pack Metadata -b8d2bd41f0036fa05f74449fd8be12d9adc5f908 pack.mcmeta +// 1.21.4 2025-01-18T14:13:37.9560563 Pack Metadata +4a1573b0176f98cbe8b67eb3e8da3728f28336a3 pack.mcmeta diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index ace5269ae7..15accae8c7 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.304039 Registries +// 1.21.4 2025-01-18T14:13:37.9389015 Registries 9089ada9ce06fd30adf8b10e50f02233c7d5a76e data/minecraft/twilight/wood_palettes/acacia.json dca1ef01d0df4e956fd414782de57c25dfddd290 data/minecraft/twilight/wood_palettes/birch.json 01becb45438b7f2bfdc77baba72bc986341510c8 data/minecraft/twilight/wood_palettes/crimson.json @@ -71,12 +71,12 @@ b828efa9585f267f76bd39620be1528affd156e0 data/twilightforest/jukebox_song/steps. be01c68138d12e5e27afc8f8363ced916c9f6cc8 data/twilightforest/jukebox_song/superstitious.json cbcbac7abfa17db3b23fde6041cedb6edf91341c data/twilightforest/jukebox_song/thread.json d8b8f32d27d5f69b961f27a2472f5f6ddbdca6d5 data/twilightforest/jukebox_song/warfarer.json -472a3244322eed24d16afed7dc082a665350bc7c data/twilightforest/trim_material/carminite.json -b7e49fe11d5d1d3062c413e11b27ff1d9c819d57 data/twilightforest/trim_material/fiery.json -62b79e4b2422686cfa49f061ee511f7b6e69fb97 data/twilightforest/trim_material/ironwood.json -6780c98a3f03a50e5f426773d76593a62c44ea40 data/twilightforest/trim_material/knightmetal.json -478058a258f9bdf36f094719554c8ec36eb216c5 data/twilightforest/trim_material/naga_scale.json -de49903e456db111c78f2f0934ac3369f94953f3 data/twilightforest/trim_material/steeleaf.json +3100af95e6931dd862293029c343ea71bbfd4508 data/twilightforest/trim_material/carminite.json +66a48d4e326bcbb8e4193c9fa6505be087eff169 data/twilightforest/trim_material/fiery.json +3196526a8052058c992ebfbc5c1b705cd23929bf data/twilightforest/trim_material/ironwood.json +e7347e6a484884192f15cfebd52f26bdc1a7daf2 data/twilightforest/trim_material/knightmetal.json +53c3425edbe15474fe3d38be793ae255a47535c2 data/twilightforest/trim_material/naga_scale.json +f38b2f488ceaa17f1e578f59ab9dc32da6b0aa56 data/twilightforest/trim_material/steeleaf.json c01efe2b06b832718931f88ed9645b44b58409dd data/twilightforest/twilight/biome_layer_stack/biomes_along_streams.json 87d0487a38fb84d85efb0cb0044f50fe8053d60e data/twilightforest/twilight/biome_layer_stack/random_forest_biomes.json 2c982c02afb4d344bbcc64c7ce0b8321fbe8d348 data/twilightforest/twilight/biome_terrain_data/biome_grid.json @@ -117,28 +117,28 @@ e7c4f0010ae7c35e0abe75d4ba2e26eabf838936 data/twilightforest/twilight/wood_palet b6d4a8629c11a3cac9b91801973bb0fa7ff9bcea data/twilightforest/twilight/wood_palettes/timewood.json 465031afbf54df48a316262698e547fc7ebd29f0 data/twilightforest/twilight/wood_palettes/transwood.json c5e1e96fa69452349f77ba366f9b2d54315d6726 data/twilightforest/twilight/wood_palettes/twilight_oak.json -b366df0325134b47f066c94162e8f759f63e8e17 data/twilightforest/worldgen/biome/clearing.json -f996c1619e310b71d6a8443d2d44c2bb6d45f45f data/twilightforest/worldgen/biome/dark_forest.json -de3543b30527e02357f3d30442a24cc9771d5020 data/twilightforest/worldgen/biome/dark_forest_center.json -cc900825968ee2ac498effd5b1df3e21af0fbf08 data/twilightforest/worldgen/biome/dense_forest.json -75b3fd380a34ff2ef50c2ac56f92d6f019b9484e data/twilightforest/worldgen/biome/dense_mushroom_forest.json -cba6422f88e353a098ab593c789bb173c8385f9f data/twilightforest/worldgen/biome/enchanted_forest.json -7a0d7f31610ffbadb04f7529b74cf4b366f15d52 data/twilightforest/worldgen/biome/final_plateau.json -302003c0bc6209ab9abf016aab0483bd88ae5339 data/twilightforest/worldgen/biome/firefly_forest.json -a73fcfafa2072d23df668cb978c52dedce6f2abc data/twilightforest/worldgen/biome/fire_swamp.json -267c0985a46a1ca38417c12c8ce3cbdf4dd6577d data/twilightforest/worldgen/biome/forest.json -5c7e1fe9ba0d34643c8ccd14f2e7cfb5787ec0b6 data/twilightforest/worldgen/biome/glacier.json -7e91f3ada2532b9afa00e1e8ed300d9786750410 data/twilightforest/worldgen/biome/highlands.json -539758e98bf75061c0144ac3191eddc22e32e79e data/twilightforest/worldgen/biome/highlands_underground.json -031395fabf185ad51b8e15a6f42428d3f4192d42 data/twilightforest/worldgen/biome/lake.json -d2fdfc8438ee45016fcf23a5bf880510900c47c7 data/twilightforest/worldgen/biome/mushroom_forest.json -9a99946321ddb3d886e88c25748ba47a460498d9 data/twilightforest/worldgen/biome/oak_savannah.json -c72104ed8ff0effe81f6bcdd98af76dd22ba3e8d data/twilightforest/worldgen/biome/snowy_forest.json -68403e2b5983b839240586081b50c20db5753106 data/twilightforest/worldgen/biome/spooky_forest.json -df41973b90c6fc2a4a37e3287db0dc62081d53e6 data/twilightforest/worldgen/biome/stream.json -60007c15f18139e3df8a741e9235671ac38fc7a6 data/twilightforest/worldgen/biome/swamp.json -bfbdce1f5cbcac01f601cd4635322e4ee8e2b0d4 data/twilightforest/worldgen/biome/thornlands.json -26d7a618adf59f85d3591de42535b0b928f93cb1 data/twilightforest/worldgen/biome/underground.json +74d8ac84c5d7e65b4ddb0555b56270944269c7ef data/twilightforest/worldgen/biome/clearing.json +f0ccf1ac7a7a9a56d6b84b97a8ab7b7d9276558f data/twilightforest/worldgen/biome/dark_forest.json +ba3d263cb0cf769b2f1a9448d86e6fac42221879 data/twilightforest/worldgen/biome/dark_forest_center.json +bae0b6d9a50f0f59550e0ae25619e98a27e8872e data/twilightforest/worldgen/biome/dense_forest.json +3e9d923c029f3af71ee97efb6514f135815261f4 data/twilightforest/worldgen/biome/dense_mushroom_forest.json +7605efd9423958c3261e925913be301f148751ae data/twilightforest/worldgen/biome/enchanted_forest.json +92cf4a9ad580cef9e0cb1845da400bac08b7a954 data/twilightforest/worldgen/biome/final_plateau.json +d9e119f44e1d62f396d9b5b817ff1edc8a28a4d7 data/twilightforest/worldgen/biome/firefly_forest.json +33fbac03b1211009d85d5abc0a7da5ab4fc5a3bf data/twilightforest/worldgen/biome/fire_swamp.json +86fcb7f073ae8286c493c812a211711d35caa877 data/twilightforest/worldgen/biome/forest.json +c8ce0523b63e81a64c0d45903e08fa00a0cfcf6d data/twilightforest/worldgen/biome/glacier.json +8b28de3439ab6d668c32a0baeb6d305dd7f545a0 data/twilightforest/worldgen/biome/highlands.json +0af7f03c0c89f951b616c094855d5c2a66939a4a data/twilightforest/worldgen/biome/highlands_underground.json +56a0adec18dab91248ddfd75a6cfc68f0962a02d data/twilightforest/worldgen/biome/lake.json +52a314643d5efe24a05ee4ea108b1500883c25d3 data/twilightforest/worldgen/biome/mushroom_forest.json +3b183880911316d11c0cd11daf9f300b466e07dc data/twilightforest/worldgen/biome/oak_savannah.json +1461ca9be23ba707d09db68eb0c73165c314f807 data/twilightforest/worldgen/biome/snowy_forest.json +1220afaaf47155e92bf12e5e696316bbe00ae441 data/twilightforest/worldgen/biome/spooky_forest.json +84775db1ee212bb5b7986fa8e6dead64556bf1df data/twilightforest/worldgen/biome/stream.json +76bc87ca73b959ef1341e18253569b0cc0bcfabd data/twilightforest/worldgen/biome/swamp.json +9c89480640c13bec8f288dcb41674d81534c7d33 data/twilightforest/worldgen/biome/thornlands.json +6dede4fd4147d6cabb51099701efb5d39008b15d data/twilightforest/worldgen/biome/underground.json 5ff2a42f87d6825be3fed0036b8104950b6c99f6 data/twilightforest/worldgen/configured_carver/highland_caves.json 336615693b25154f37fc7a90597827740da29a86 data/twilightforest/worldgen/configured_carver/tf_caves.json aaabd69f1e630172252fd3e6bd0e5845ef2f8cd0 data/twilightforest/worldgen/configured_feature/birch_fallen_log.json diff --git a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 index 0074caca0f..cb84b0b9e9 100644 --- a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 +++ b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 @@ -1,3 +1,3 @@ -// 1.21.3 2025-01-08T00:35:56.3455556 atlases generator for twilightforest +// 1.21.4 2025-01-18T14:13:37.9678272 atlases generator for twilightforest 96e2042509c2eaf9f49d31eab7d9a8f81d383e6e assets/minecraft/atlases/magic_paintings.json 12d940f0ad9e725c31f186f1c14a637e20ab47da assets/minecraft/atlases/shield_patterns.json diff --git a/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 b/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 index 94f1e50c4f..c6981bab8c 100644 --- a/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 +++ b/src/generated/resources/.cache/360062c0ee43360357329c0a13031adc0cc83ac5 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3120428 Twilight Forest Wood Palette Tags +// 1.21.4 2025-01-18T14:13:37.9520554 Twilight Forest Wood Palette Tags 265731121ea72d3fb96f83b5f3d69695ff1d6d80 data/twilightforest/tags/twilight/wood_palettes/common.json b10e3c1ec45b721b1dee81e0d5c0ad9d72a95eb9 data/twilightforest/tags/twilight/wood_palettes/druid_hut_swizzle_mask.json b2b124b96881ce4886e055e8ee4089362f98e845 data/twilightforest/tags/twilight/wood_palettes/rare.json diff --git a/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 b/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 index a873041b53..c0c56b8347 100644 --- a/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 +++ b/src/generated/resources/.cache/3d86f3ff506a078da83531ccaa5e7b1bc7d60e10 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3140436 Global Loot Modifiers : twilightforest +// 1.21.4 2025-01-18T14:13:37.9520554 Global Loot Modifiers : twilightforest d18971f5e2ac4ddbfba3cc790e9817c20548a830 data/neoforge/loot_modifiers/global_loot_modifiers.json 389326cc4dbb4e20d34dd6355c0769af4de9e356 data/twilightforest/loot_modifiers/fiery_pick_smelting.json 7110d07feb8fa62ed414ad72b2f0644a5cda469f data/twilightforest/loot_modifiers/giant_pick_grouping.json diff --git a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 b/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 deleted file mode 100644 index f087a8e41e..0000000000 --- a/src/generated/resources/.cache/409f85cf7196fa8ba3cc1f155fe7b234c26d36b1 +++ /dev/null @@ -1,1956 +0,0 @@ -// 1.21.3 2025-01-08T00:35:56.3255548 TwilightForest blockstates and block models -cab88029518a1647ec691d136328ed93c18108be assets/twilightforest/blockstates/acacia_banister.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json -796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json -a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json -ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json -feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json -fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json -06b8d2c19720a41c08406f14c410780ca4f2f3ac assets/twilightforest/blockstates/aurora_pillar.json -87eabe763bbf2fb2afb0a556edea7e64da27211d assets/twilightforest/blockstates/aurora_slab.json -eb255492ac41ed72ee0b4e9884c208e5f945239b assets/twilightforest/blockstates/bamboo_banister.json -62b18edaef9c27bb158830e8d1bb5e82cf3a73c2 assets/twilightforest/blockstates/beanstalk_grower.json -940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json -e838db0c73c9fa7627c6642f000bd7ce991c0262 assets/twilightforest/blockstates/birch_banister.json -9ac1f8c051497262022862ac606f58d4768b4d76 assets/twilightforest/blockstates/blue_castle_door.json -f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/blue_castle_rune_brick.json -bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_force_field.json -fc2af014bb0a155dd031a2f7d7feabd828e2496e assets/twilightforest/blockstates/bold_castle_brick_pillar.json -68d0ce7846c12684030a1ceb57deed7e49bb1dde assets/twilightforest/blockstates/bold_castle_brick_stairs.json -837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json -0fe35f334a5cf6d5868913b14ce8c0ea7badb41b assets/twilightforest/blockstates/bold_stone_pillar.json -f1b7f5e3dd11d78ee1eb1013758d06875611656c assets/twilightforest/blockstates/brazier.json -d1f47e6423d3490cb04fef798dfb72f61997c7e5 assets/twilightforest/blockstates/brown_thorns.json -d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built_block.json -98003b0339eeb7884faef4af4aaa0a6bf93c847c assets/twilightforest/blockstates/burnt_thorns.json -f99418e7e257e9cbc84c250e1d01513d756897b3 assets/twilightforest/blockstates/candelabra.json -8df6a66df9637da292a736fd1059cc5c51471d67 assets/twilightforest/blockstates/canopy_banister.json -d4e3f36f0d159cfcec0afb2fb114db9a7ef80686 assets/twilightforest/blockstates/canopy_bookshelf.json -b2694ce204bf2b6103dfcd8b4983994082f5c025 assets/twilightforest/blockstates/canopy_button.json -271b699dd7bb20042c5b6697577b7aa08fbe4f59 assets/twilightforest/blockstates/canopy_chest.json -528d1c5612598306229e02606f36553718b26515 assets/twilightforest/blockstates/canopy_door.json -e6a4a8050e0341b54c86df33f0a0311f0dbd563b assets/twilightforest/blockstates/canopy_fence.json -87391a830cff8751fceb86e5b93cd006429d1688 assets/twilightforest/blockstates/canopy_fence_gate.json -c42f6615103e21acb332c69aeca933ca8c5aaf96 assets/twilightforest/blockstates/canopy_hanging_sign.json -5c3ac66aa7178f1c71f45dad25ce2468f2c284cd assets/twilightforest/blockstates/canopy_leaves.json -663fc7f81744291d8a825eeaaf88cf69d3fe9b94 assets/twilightforest/blockstates/canopy_log.json -112f348e3c6fa3e15060b0d163f78f2ac625d874 assets/twilightforest/blockstates/canopy_planks.json -3d492a4b8da4ba23f431b0751ffeafb7b53a7e33 assets/twilightforest/blockstates/canopy_pressure_plate.json -8dc47e00b9de9de49abd33922ab6e9c44f6d7eeb assets/twilightforest/blockstates/canopy_sapling.json -c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_sign.json -839866e4647b9a0f53e65d124330cb69dadb9139 assets/twilightforest/blockstates/canopy_slab.json -08c53a8b9b5d8390cf306cdfb012dd4f2e1aea34 assets/twilightforest/blockstates/canopy_stairs.json -37b2d96626d2157b8ca9a55f9b37e2ba1adccba7 assets/twilightforest/blockstates/canopy_trapdoor.json -b4db06c28d8e7e90481fdb3b7e1cb257ff3d7cc2 assets/twilightforest/blockstates/canopy_trapped_chest.json -0d2ca5ce2fb5c93e0117aaaa6faed6049a829e5a assets/twilightforest/blockstates/canopy_wall_hanging_sign.json -1a327000cdcc3b1be6e2d69a1df643f364f38932 assets/twilightforest/blockstates/canopy_wall_sign.json -3febf0319a950602bcf6b883fd9d54b2c9782e4a assets/twilightforest/blockstates/canopy_window.json -b7e051a2b34bab48127998d760e77660a192f305 assets/twilightforest/blockstates/canopy_window_pane.json -a5bdfb80023a727c2b559e59fa7edc8f02f95251 assets/twilightforest/blockstates/canopy_wood.json -43e8f1148c92c8cce0544ae2f2eb66e59997ca4b assets/twilightforest/blockstates/carminite_block.json -3e8aa65013169c591488e487c204d5e702b3cd23 assets/twilightforest/blockstates/carminite_builder.json -f7ceb8ca7942f860467ab92f36d6a75665cc9eba assets/twilightforest/blockstates/carminite_reactor.json -de808df0569c78201d6ec7eb44a4953441899df9 assets/twilightforest/blockstates/castle_brick.json -f87a49cc67a1672b99cc9563bba0e8eafeb59bc8 assets/twilightforest/blockstates/castle_brick_stairs.json -4403f8fe6b9faf6c847f789e279e54c686e6ef2c assets/twilightforest/blockstates/castle_roof_tile.json -42fa97049e757e65d93e882454ada5da94cd2486 assets/twilightforest/blockstates/cherry_banister.json -8f626011582b72e5b9112e302e4006b354bdd652 assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json -9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json -e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/cicada_jar.json -c66c2ac72611834c17d466d53772f4b0d0831694 assets/twilightforest/blockstates/cinder_furnace.json -b53fdca651c846d8d8f51d96c1a6bc3e4584fc10 assets/twilightforest/blockstates/cinder_log.json -76e0e3573a31ad61f798e9e7a0f45f62cb8765fc assets/twilightforest/blockstates/cinder_wood.json -4c8950c67ab660a2167f204644fdfe06cd13a60f assets/twilightforest/blockstates/clover_patch.json -20d24deb34e2acd2a43e5abebed11b20e0bafd70 assets/twilightforest/blockstates/coronation_carpet.json -1261f404df8aec15a7b62454520e8ea2d4dbc5a4 assets/twilightforest/blockstates/cracked_castle_brick.json -dc4512103691a8ac228661ef68450d30080640b5 assets/twilightforest/blockstates/cracked_castle_brick_stairs.json -6ac49c745e027b94c77c368c0eb48f51bd47ed0e assets/twilightforest/blockstates/cracked_deadrock.json -74a9e24cc6ce17f3e6d57b74f3d87f17b8faed5f assets/twilightforest/blockstates/cracked_etched_nagastone.json -c7b654982c79efaa261d471cb7b2c8e65c84fa19 assets/twilightforest/blockstates/cracked_mazestone.json -d7c535b60b16f1cbc0547882c492c6837833a552 assets/twilightforest/blockstates/cracked_nagastone_pillar.json -5a75b9d71094bfc209d274e616dbc7270ec4fd06 assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json -f07b6e1a2cf20d7f3129bc7d685740ad5b375ec7 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json -1432c2f7548cb385230230491386f610e506053e assets/twilightforest/blockstates/cracked_towerwood.json -b66481a27d37b515e3f11b9769d77ab1be6adfb9 assets/twilightforest/blockstates/cracked_underbrick.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json -6f3813d2be5875746912e49293aed0a7b76403b0 assets/twilightforest/blockstates/crimson_banister.json -fadcab0f3a09e77d5520204bb9e4d712223a2483 assets/twilightforest/blockstates/cut_mazestone.json -c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json -6c2e4f65f2ac6cac95c9f4d26e3befd8863048c3 assets/twilightforest/blockstates/dark_banister.json -136fdf55d525160d3321baed5b89fa9aac036a9c assets/twilightforest/blockstates/dark_button.json -489c9e459f7445709058b454c656cdb40d23cdd3 assets/twilightforest/blockstates/dark_chest.json -7fb1789b25146d2a6b98d9c7f45bb83e2829e168 assets/twilightforest/blockstates/dark_door.json -139ba0d08314e71682b8af4ad596eab96d713be5 assets/twilightforest/blockstates/dark_fence.json -87b5c79dd2334c0fd8dfeeedf6e09bbb91a84102 assets/twilightforest/blockstates/dark_fence_gate.json -a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_hanging_sign.json -954873e8db30c8eecf7140bfcf46acfd6666af42 assets/twilightforest/blockstates/dark_leaves.json -bcddfae2c58fe848d5f8af9f9d8f4b1d2d1483f2 assets/twilightforest/blockstates/dark_log.json -452891074508203c1b117345de798a2d081819f1 assets/twilightforest/blockstates/dark_oak_banister.json -cfca788be040e98ac6f448b6eb13d1d41e0fc987 assets/twilightforest/blockstates/dark_planks.json -d1062787aebb9bf00189397036dbb9c1571f5f95 assets/twilightforest/blockstates/dark_pressure_plate.json -314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_sign.json -4ad895a4681b2330ed8a1398b81ee4d73ec63d94 assets/twilightforest/blockstates/dark_slab.json -223819daeda7c5131c7356647940b3d92df8cfd2 assets/twilightforest/blockstates/dark_stairs.json -c135c60cdc09b4e3ad2388d1bd3b85a191bb26f0 assets/twilightforest/blockstates/dark_trapdoor.json -065447f2208186e42807cf74ad008215714bfa9f assets/twilightforest/blockstates/dark_trapped_chest.json -72d8da56732c5b1040bb4b17148626375be3c679 assets/twilightforest/blockstates/dark_wall_hanging_sign.json -4e2a0f36ccf630b4d1d7bef04e75d2136fea330a assets/twilightforest/blockstates/dark_wall_sign.json -8368e552fa0cccf2999999ff7f9861279c62ec94 assets/twilightforest/blockstates/dark_wood.json -b1b2a5f4296eb9a42484d43f47c29ec576b36114 assets/twilightforest/blockstates/deadrock.json -48f4f43849807c8cd88dc198d2710f307ec4fe67 assets/twilightforest/blockstates/decorative_mazestone.json -0123daa7589bd70318c6e1a207e435e4941efa0b assets/twilightforest/blockstates/encased_castle_brick_pillar.json -455f4cd0de318615434e4fd2e37b10f5243bee08 assets/twilightforest/blockstates/encased_castle_brick_stairs.json -dca7d6a52b2975ff8a5e4b71a18eef1798b1df39 assets/twilightforest/blockstates/encased_castle_brick_tile.json -fdbaed4b18eff75c1202f25441f63a6d1c18b63a assets/twilightforest/blockstates/encased_fire_jet.json -ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encased_smoker.json -fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json -3a1b46864030237dd4204488da9ce9c9dce1095f assets/twilightforest/blockstates/etched_nagastone.json -f74ec303f5017e023bad73d77d08b9145e3e628b assets/twilightforest/blockstates/experiment_115.json -bb0ee23fb9067621d86f7ade278936bf644e9205 assets/twilightforest/blockstates/fake_diamond.json -bd1b05dc2697d7e22183d7cc0d97328088d2875c assets/twilightforest/blockstates/fake_gold.json -c95b39b44a263d1b9fbf2e8003fb9fb2e1c182b3 assets/twilightforest/blockstates/fallen_leaves.json -5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json -aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/final_boss_boss_spawner.json -617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json -e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/firefly_jar.json -000396eb68815ecbc4d78f7b00984caaee57d88c assets/twilightforest/blockstates/firefly_particle_spawner.json -9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json -7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json -dcd1310ef232e7152a9257192391d60b7dddb5b0 assets/twilightforest/blockstates/ghast_trap.json -b3e26b3f33dfa534b0a5f46c8a7489deaf356594 assets/twilightforest/blockstates/giant_cobblestone.json -2fefb3bee6d877247713b1d205296b206c070e4b assets/twilightforest/blockstates/giant_leaves.json -f722bd4d4a054fcdd352f9db8d286198c8ffe13c assets/twilightforest/blockstates/giant_log.json -db9c74d13678fb4c7cf4b30b375164049f736a25 assets/twilightforest/blockstates/giant_obsidian.json -f208a33fe25aec4bf37f22f588e06defb80b4a34 assets/twilightforest/blockstates/green_force_field.json -b260c24871dfaa45243be1ae5852e6d88d937c48 assets/twilightforest/blockstates/green_thorns.json -741e7315c398c5bc49cde650c604a55849564960 assets/twilightforest/blockstates/hardened_dark_leaves.json -a31529013c346ad627e4f5c426f1252fa73e760c assets/twilightforest/blockstates/hedge.json -cc6b5b927aeee762ea2a0ec8274896d3570c1ee8 assets/twilightforest/blockstates/hollow_acacia_log_climbable.json -87c4ac11f3c7908fc49d795977dd2986038e916c assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json -b30b7535e761c740b8a25f669600faf63639459c assets/twilightforest/blockstates/hollow_acacia_log_vertical.json -1e90e0b0c1909da9fca21c157b8542dd410b8926 assets/twilightforest/blockstates/hollow_birch_log_climbable.json -891a5bd96e388ef038e8d42f83e52367b52150e6 assets/twilightforest/blockstates/hollow_birch_log_horizontal.json -56842319ca48545deeb6a3a0221ef08cf7af6354 assets/twilightforest/blockstates/hollow_birch_log_vertical.json -d965c2d08243f741074310de88a4324d7bbe2d1e assets/twilightforest/blockstates/hollow_canopy_log_climbable.json -1efa0a840204cd1e1a7be0b633029a234c90795c assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json -1ebcd3978e315c1b2df535675b60da526ffdc5e3 assets/twilightforest/blockstates/hollow_canopy_log_vertical.json -592c5732372b7a7ed8f62eca017d6a8d84e5186b assets/twilightforest/blockstates/hollow_cherry_log_climbable.json -53c012b3f9efcd5ec6a2a5c7eb9e68b8b6675af9 assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json -0eb5c9ae3bc1bd40bc21fa0b1dab803cf98ffd5e assets/twilightforest/blockstates/hollow_cherry_log_vertical.json -9fb17ade48d4396c34b48b285dab078e249f971b assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json -0fa539b376d985c910b4cfdaef397567e35948fb assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json -77effb33c81b956440485cc61192132c2b545848 assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json -d7fffa93e41a4a0c110b58babd63adf747d9502b assets/twilightforest/blockstates/hollow_dark_log_climbable.json -1321638995eb95d3eb8dc93170e86569308c5e13 assets/twilightforest/blockstates/hollow_dark_log_horizontal.json -66ad48c5f61cc50988024b48233bbd2eb8609bdd assets/twilightforest/blockstates/hollow_dark_log_vertical.json -31557d4ad296a118129d0b9b8563be113acc9f59 assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json -33a890c17dedd82b4ca15bcebd69d41e286af7cd assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json -d009a9773afcbea55f0595aeed99f532675f60a3 assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json -b2ec73a47ff90c846050c2db2a1e1278d0de526b assets/twilightforest/blockstates/hollow_jungle_log_climbable.json -7c8bca4d19e8dff002f2d9193828ce345c991039 assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json -ba95e37843e6c08d8b2a27333ae7eff081a38ebf assets/twilightforest/blockstates/hollow_jungle_log_vertical.json -72ce314659f323603c3221be26ebb49845c84d5d assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json -e97a1131375194e4c861a20a1799662bcc260981 assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json -75934b3b99701fbafbd1a693cbdf1b700c3aef69 assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json -d8ff00c129dc468b379c8ad74f876a8691805204 assets/twilightforest/blockstates/hollow_mining_log_climbable.json -4931f402f57c08c3e23880d465eecc91e5e82494 assets/twilightforest/blockstates/hollow_mining_log_horizontal.json -248100167ce25bba1abaaa2693d8187632509bc8 assets/twilightforest/blockstates/hollow_mining_log_vertical.json -ecaad58d91f92ba9c0cc899f7620d0ed9c458c54 assets/twilightforest/blockstates/hollow_oak_log_climbable.json -488dc87576a7263265678cd717c374b4481e0652 assets/twilightforest/blockstates/hollow_oak_log_horizontal.json -3f725c98100dd0c3153edc12ca1ff33fab52e14c assets/twilightforest/blockstates/hollow_oak_log_vertical.json -960674df0714488bc0ec2d8dedc2fab14f9630bd assets/twilightforest/blockstates/hollow_oak_sapling.json -375e6fd629387a994aad28ad2e67674a011d88af assets/twilightforest/blockstates/hollow_sorting_log_climbable.json -137f668c575c3fb012a1d927811c8bea0de9c7a3 assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json -7abcc706c63c261c517a92dd99543215abbfa408 assets/twilightforest/blockstates/hollow_sorting_log_vertical.json -ef49d47243fbae63cafa097d2cb17604c829ba5a assets/twilightforest/blockstates/hollow_spruce_log_climbable.json -01279407cb71ab6c161d3a372fdbd245056b9b63 assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json -7b8ed220e2ec4126b1484b85b3512be989e875bf assets/twilightforest/blockstates/hollow_spruce_log_vertical.json -61ea093b00dbdb37ba172f1779232f9929d64242 assets/twilightforest/blockstates/hollow_time_log_climbable.json -0b53b9e0d3b0b220226eee5743619f7cf42b81b7 assets/twilightforest/blockstates/hollow_time_log_horizontal.json -d9c78d998ddea04e828eeaed2e08e2f2a95e1940 assets/twilightforest/blockstates/hollow_time_log_vertical.json -c0cef5b6a87758ee68e86f8b5f36bdbff616f362 assets/twilightforest/blockstates/hollow_transformation_log_climbable.json -cbb476d06836ccda92375969e5c829b065d4cc59 assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json -42823bb166b9d6d27a24697a2667beba4132d9d3 assets/twilightforest/blockstates/hollow_transformation_log_vertical.json -4b2c66a902e89e751d75265de59fb7557247a08b assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json -75565442811857b39299079d162a06d54fe23486 assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json -791f494f0eaaceda560aa7dbf32a8f017cea55d4 assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json -b163fbf3c14e85a6156cc4e86fb949516d18b29e assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json -fccf2891e2e4aeda059b00601a5c60debecef9fc assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json -b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json -a63727ab76b6b154ab0455fee533c0abe8683063 assets/twilightforest/blockstates/hollow_warped_stem_climbable.json -585f6f68d766454df8248c17b79f7ac9619edc47 assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json -44ee2a08914b00bf15e2dc9a2e6b6b41c18bdd60 assets/twilightforest/blockstates/hollow_warped_stem_vertical.json -795f8b53df444af9b7563245948e4f7248a97053 assets/twilightforest/blockstates/huge_lily_pad.json -e86bea94f77572b15fff713be3a8d75ace74e4b2 assets/twilightforest/blockstates/huge_mushgloom.json -2d2854ffeda22c72ea65b44c75ab29310acf618c assets/twilightforest/blockstates/huge_mushgloom_stem.json -1eaf97f77df1cc93147aaeb75a4436c65d5367e5 assets/twilightforest/blockstates/huge_stalk.json -13485076cdedb902f476f36f43e8e0c6cbafcce6 assets/twilightforest/blockstates/huge_water_lily.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/hydra_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json -3928ab358eefd11e2ca1dc0a567ed34f3c245189 assets/twilightforest/blockstates/infested_towerwood.json -f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json -6d7d9b397edc853645164973510c6edad556522b assets/twilightforest/blockstates/iron_ladder.json -a25ce2e10d4d9eaf78d2dcdb31a552597e417bf4 assets/twilightforest/blockstates/jungle_banister.json -d76bac84e471c8e5afc6b73dcf1f6f2111c0cd8b assets/twilightforest/blockstates/keepsake_casket.json -87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/knight_phantom_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_wall_trophy.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/lich_boss_spawner.json -905da1684726dd4027506a7aa6c37dadfa3a21db assets/twilightforest/blockstates/lich_tower_miniature_structure.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_wall_trophy.json -ad692089c598a53aba9baba70751d15bc9be2c47 assets/twilightforest/blockstates/liveroot_block.json -c18a5b568442906d91f0bb22311ee9d77cb993a8 assets/twilightforest/blockstates/locked_vanishing_block.json -4e45e7002366430de5335854248aed7a9710dbee assets/twilightforest/blockstates/mangrove_banister.json -c0fde274c606dc4e1940842b452928995eb8aae1 assets/twilightforest/blockstates/mangrove_button.json -cbd68284ccf7c5f2860f0c5823a05c3f6deff522 assets/twilightforest/blockstates/mangrove_chest.json -33e26a18ced7c6aa15b10b275d01b654865b5f22 assets/twilightforest/blockstates/mangrove_door.json -cb45bb0000f8cd65e40cc703119c55357df50711 assets/twilightforest/blockstates/mangrove_fence.json -8388d546839247e738b995aacf2d36210b180612 assets/twilightforest/blockstates/mangrove_fence_gate.json -b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_hanging_sign.json -795edac2ca029445525ea20362df3223a128b4ba assets/twilightforest/blockstates/mangrove_leaves.json -e6696e44d816afa56d2fb91e47e85e18dbee164c assets/twilightforest/blockstates/mangrove_log.json -115e51fab71221f698e194bb70d8d2684b3a38bf assets/twilightforest/blockstates/mangrove_planks.json -1b06abdc4db417219b0207015914a4ce4fbc0828 assets/twilightforest/blockstates/mangrove_pressure_plate.json -c4498698b5513a3c5132dd7e561959a202e48578 assets/twilightforest/blockstates/mangrove_root.json -9abde1b7491a85eca8c85f32fd936d844e6aa0bc assets/twilightforest/blockstates/mangrove_sapling.json -83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_sign.json -13aeffad8dbd1c8fc494f7b592966a927511040b assets/twilightforest/blockstates/mangrove_slab.json -eb8f3f8a81cbd29a1c8328ca141355a29f598202 assets/twilightforest/blockstates/mangrove_stairs.json -c8fa9439161f764ba0f203b73c6fae30d038e393 assets/twilightforest/blockstates/mangrove_trapdoor.json -ba193ec3517d4a2bb1ec3467d1dc2f1e0d41daaa assets/twilightforest/blockstates/mangrove_trapped_chest.json -8a76efa6cc0fbc4403712e10aa4eee0b3f4c0893 assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json -8dabdd6f8afa22b4b82f1bfe32b2a7ba8702cb5e assets/twilightforest/blockstates/mangrove_wall_sign.json -cdacf3259c2a4cb180b307601d0b402869849a3f assets/twilightforest/blockstates/mangrove_wood.json -e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/mason_jar.json -471b7e8d1fda6e73a957cf375b3ff4b4a74446a7 assets/twilightforest/blockstates/mayapple.json -b2d13c3f0b48b32cd22b298869622e5576c3e146 assets/twilightforest/blockstates/mazestone.json -437f589b25154f38ea5d5181d49e838c1f1524ba assets/twilightforest/blockstates/mazestone_border.json -d2528a33d68497718881b0961720e2eb66e8dc0c assets/twilightforest/blockstates/mazestone_brick.json -5b36ba1064db9f2984e50e6bbe7e9fa5dd235abf assets/twilightforest/blockstates/mazestone_mosaic.json -606f96394916ab8c83866ce4255dbd3682c6879a assets/twilightforest/blockstates/mining_banister.json -dd4b0220d8ba90a3ceee245449a8110dafd6b45c assets/twilightforest/blockstates/mining_button.json -79dc4cb9c0a97d1cc0a6f98e4466ff820cff4bff assets/twilightforest/blockstates/mining_chest.json -16284c57aa018a2b3f95578718cda8d9872d2b49 assets/twilightforest/blockstates/mining_door.json -51649ca34a2f78030721fc4b89c078f869e5a56e assets/twilightforest/blockstates/mining_fence.json -7488a7833bd354e7729121f4cc05d128cb8f731a assets/twilightforest/blockstates/mining_fence_gate.json -9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json -8d21be46b1c82f50095ddb736bf2bd6a26a3a2b1 assets/twilightforest/blockstates/mining_leaves.json -b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json -bea36f99feac6d8ae0eb701992364bef5184afa4 assets/twilightforest/blockstates/mining_log_core.json -261a3006d818ae490631587c0881a4b7f5a57ec4 assets/twilightforest/blockstates/mining_planks.json -3fdfc5ed9fe5779dee22362b0815b69c97edb353 assets/twilightforest/blockstates/mining_pressure_plate.json -e136e20a505445ebdc740bb2e09b289a20015b90 assets/twilightforest/blockstates/mining_sapling.json -0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_sign.json -c09e7395e9e1a11d2244aa706f0ccab22d6035df assets/twilightforest/blockstates/mining_slab.json -3759045b7515be1059ab400f41c93b2c8b69a19d assets/twilightforest/blockstates/mining_stairs.json -a281ff239be936a756310ef9381bfb2d43d4cf05 assets/twilightforest/blockstates/mining_trapdoor.json -c81842040697782e958c9226b2a2f7e37d8885bc assets/twilightforest/blockstates/mining_trapped_chest.json -6059111c5c6dd6169f67421db8a5e259c58bfe1f assets/twilightforest/blockstates/mining_wall_hanging_sign.json -d0ea57e4cdbde330002525d12d9f02697ffc5bab assets/twilightforest/blockstates/mining_wall_sign.json -0b56d5411e070b03e41943c41e30abd80dc75bdd assets/twilightforest/blockstates/mining_wood.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/minoshroom_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json -c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json -1e7e1bbc92655d82be2ac43cbdf6eff906ab4115 assets/twilightforest/blockstates/mossy_castle_brick.json -da4dc4c742e22985ae90252743e657d9e2890cea assets/twilightforest/blockstates/mossy_castle_brick_stairs.json -b8ceffb95b20c515c26f42aff3a33a2758e2cd4b assets/twilightforest/blockstates/mossy_etched_nagastone.json -427a9bcfd3bf2391ce8fc4c5f7388531c00d344f assets/twilightforest/blockstates/mossy_mazestone.json -b2bdc85ace931c6ada18ef5822fd29f1daef0621 assets/twilightforest/blockstates/mossy_nagastone_pillar.json -bfe6854ab148f7ad06895f223c424450657d45e4 assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json -6405b78fef75615ece53882c1ccd403cb6d91767 assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json -a9869cdf4ff867b8c21473686c7def05a6bb2e24 assets/twilightforest/blockstates/mossy_towerwood.json -388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json -740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json -f06dac21e55066a5a2da510d51d778ef1be85f67 assets/twilightforest/blockstates/mushgloom.json -98bdda5c9940c6ed32d9b2ff0ad922e449803f73 assets/twilightforest/blockstates/nagastone.json -141ddaf8998fddb263fb97d87cefc45572d69ee6 assets/twilightforest/blockstates/nagastone_head.json -2318fa0e638d35481c77bc508ae735d667da9a01 assets/twilightforest/blockstates/nagastone_pillar.json -acf0bf93d2640f47c26d2ad865e98066ead94436 assets/twilightforest/blockstates/nagastone_stairs_left.json -c4d220562461456a603b55cdef6d4f2c74807607 assets/twilightforest/blockstates/nagastone_stairs_right.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/naga_boss_spawner.json -94351b8a42fdd8e7eb8266c8c374ee551f7a07e0 assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json -4d9142feaee02216e196004df83e65262a43db4c assets/twilightforest/blockstates/oak_banister.json -f4b4e9fdae1c3ee5efdb198162249d82a92b433c assets/twilightforest/blockstates/orange_force_field.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_wall_skull_candle.json -aae0fa894a10a8eb87fc3ecd0adbe8aa9e7dd65a assets/twilightforest/blockstates/pink_castle_door.json -f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/pink_castle_rune_brick.json -9d2f48386da63e589e8fad24f421980533362f6c assets/twilightforest/blockstates/pink_force_field.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json -6d1355138bc99dc102517dd779b0a69cae69eb79 assets/twilightforest/blockstates/potted_canopy_sapling.json -165a66c5cdeb9bd559ddbe3557ade25ef8c6dea9 assets/twilightforest/blockstates/potted_darkwood_sapling.json -43dc9ef750fcec043a0045300c5e1c24ac20170b assets/twilightforest/blockstates/potted_dead_thorn.json -cbcf41c7d71d56a1c3697da19fe2525802cf369e assets/twilightforest/blockstates/potted_fiddlehead.json -2dc281fcf41de950e163eedeca5f27c2715570ef assets/twilightforest/blockstates/potted_green_thorn.json -9d0139029c6a6f32c82f6be1bbd3af7600a8142a assets/twilightforest/blockstates/potted_hollow_oak_sapling.json -cbf9a4bee60c4f78f363749482569ce88246234d assets/twilightforest/blockstates/potted_mangrove_sapling.json -e51550c567131294d865c0a14353eccd4ee3dafe assets/twilightforest/blockstates/potted_mayapple.json -cc99e996a4893cce317a4f29364171556025a240 assets/twilightforest/blockstates/potted_mining_sapling.json -bdca0fa815164fcd2d81a52f35e5fa6eec95053d assets/twilightforest/blockstates/potted_mushgloom.json -cb5d5c919df96db36a0dc2ea15e3c4c8b881b73a assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json -1a70ca5a6c64fcd7b010e5aea42f6974962b0fb0 assets/twilightforest/blockstates/potted_sorting_sapling.json -260a655b730233598a4736817df6d871e4b698b7 assets/twilightforest/blockstates/potted_thorn.json -9785c009daff75e161f07fa1887e995fffa7cb48 assets/twilightforest/blockstates/potted_time_sapling.json -ce094a7d5901495f51ed9c4b51179a0746bbd349 assets/twilightforest/blockstates/potted_transformation_sapling.json -d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potted_twilight_oak_sapling.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json -31c30e44cf4eeb0ccc7b65e72518267273761f6a assets/twilightforest/blockstates/rainbow_oak_leaves.json -418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json -cbe3e92148e9c50ba453b1053d17aa3a9aab1bd4 assets/twilightforest/blockstates/rainy_cloud.json -c3d60011dd0cdefa0cc3f0b45672794fe5a9f305 assets/twilightforest/blockstates/reactor_debris.json -56675fe7a49ad0f6077a6fd86e2e97c3f5731ae8 assets/twilightforest/blockstates/reappearing_block.json -559af5d22287bc8d15ab9819c724f8451b48b20d assets/twilightforest/blockstates/red_thread.json -bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json -c7e8c3ec3d2c159a84327ac576f92eae60eb200e assets/twilightforest/blockstates/root_strand.json -e347a4db67dc3202cc0eed97364e00349a0f85f0 assets/twilightforest/blockstates/rope.json -67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json -588f938c63a562f986f845117abf8fae9ef759df assets/twilightforest/blockstates/skull_chest.json -bb9836bc48eb6cbc52a2c7fb9b833d4085315602 assets/twilightforest/blockstates/slider.json -1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json -250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/snow_queen_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json -0f8f8d0605dbe75204870855ebf14e0f1bcd97fd assets/twilightforest/blockstates/sorting_banister.json -a5f6e4501a27ef88f0b994e12d99c5a6640dd62c assets/twilightforest/blockstates/sorting_button.json -02aecf1ae1d386eb03e8d8787a93fadaa5355987 assets/twilightforest/blockstates/sorting_chest.json -a0cd385594f6d6c0d6e12d21cc48bdaffa43a306 assets/twilightforest/blockstates/sorting_door.json -c7ff34e08b01913ba1cec1e9a76e55f1bd2f4d53 assets/twilightforest/blockstates/sorting_fence.json -b475ef851269fcef3961af77d628769f658b6b4e assets/twilightforest/blockstates/sorting_fence_gate.json -214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json -fc7b72e4e1e51bce4ecdba8be61ec074ba3089b3 assets/twilightforest/blockstates/sorting_leaves.json -8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json -aed0770ff0d2e7dc7faac02b1803946b930d2cc6 assets/twilightforest/blockstates/sorting_log_core.json -5dbc28cad2fef2bb42c4c434ebf3c9973b899920 assets/twilightforest/blockstates/sorting_planks.json -03aa5ac2555b176eceda9ec251ada7dfa3a49758 assets/twilightforest/blockstates/sorting_pressure_plate.json -f255b22c939a9d3c96db3f03f475b420a237a982 assets/twilightforest/blockstates/sorting_sapling.json -3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_sign.json -ee8663aff0513fb2b880d84efbf4ea01be6e4334 assets/twilightforest/blockstates/sorting_slab.json -a0151a24fe925a82e3b1432ec80c1d4b8964545f assets/twilightforest/blockstates/sorting_stairs.json -8286641a1751f8228fda584792e524bb5869f212 assets/twilightforest/blockstates/sorting_trapdoor.json -6c2d40b15b9dcc49feb02616470eb4ed4754a615 assets/twilightforest/blockstates/sorting_trapped_chest.json -29a298551dc68934a822dba59a36d1a30f59cc18 assets/twilightforest/blockstates/sorting_wall_hanging_sign.json -22fa5306b2e240784c5b45cb770ce4a47863c435 assets/twilightforest/blockstates/sorting_wall_sign.json -f332a94d3840a225642a563a905c3a5bb658cdef assets/twilightforest/blockstates/sorting_wood.json -fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json -35f3d316140f064c2f86363faa512fdffbe223d0 assets/twilightforest/blockstates/spruce_banister.json -965f91e9eec96ba89942250457456f10a994040c assets/twilightforest/blockstates/steeleaf_block.json -b2e74bad436c08b77027498c4722448d678ae13f assets/twilightforest/blockstates/stripped_canopy_log.json -7d3fec0b41d5610e6544df651bcdbe9da992ac18 assets/twilightforest/blockstates/stripped_canopy_wood.json -85b3a6d805a8e29cc5f13c2c73656b7af562b8a7 assets/twilightforest/blockstates/stripped_dark_log.json -b163a9767fe6ee24521db2ac3257b9d0ba0845a1 assets/twilightforest/blockstates/stripped_dark_wood.json -e5c2e1a5a4558c9876d0ffd0c51b27a193caafb1 assets/twilightforest/blockstates/stripped_mangrove_log.json -2d9ab0cf43a9e5aa2c0a4257ed6600d3df14b533 assets/twilightforest/blockstates/stripped_mangrove_wood.json -41fb9ad57cd913bf27f2c997642803197a451ff2 assets/twilightforest/blockstates/stripped_mining_log.json -1488c9fab31e988044683ab24f7220ebaa57d901 assets/twilightforest/blockstates/stripped_mining_wood.json -1f2492d9a9a4507f56e1bc4f077c279f31659f8b assets/twilightforest/blockstates/stripped_sorting_log.json -8cc85643090d4f0b12204ed37c08cc7aa26dd72d assets/twilightforest/blockstates/stripped_sorting_wood.json -d76a5e567943b47c4697dfdc500fa836eab228df assets/twilightforest/blockstates/stripped_time_log.json -10109d08a0056b1b85ef55906bdf42d78c0ec63c assets/twilightforest/blockstates/stripped_time_wood.json -f1aefe5659335464583459fe475d3c8791c2cbc1 assets/twilightforest/blockstates/stripped_transformation_log.json -14fa938521e7501a3cff560e88b89a877b69435e assets/twilightforest/blockstates/stripped_transformation_wood.json -cc40f471409eb7fea00628473cfbe152318065ee assets/twilightforest/blockstates/stripped_twilight_oak_log.json -ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/stripped_twilight_oak_wood.json -660ce7e9f34f0c9f64089970dc90b02910746e0f assets/twilightforest/blockstates/stronghold_shield.json -54f2d7d6bc793bcf9a931bac48149f916fb35531 assets/twilightforest/blockstates/terrorcotta_arcs.json -9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json -f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json -e18ab94c6b1acc806b534c05c71c45d5d227e7e0 assets/twilightforest/blockstates/thick_castle_brick.json -93f581b7501ff5d8dca8728d70349b58e7c5f982 assets/twilightforest/blockstates/thorn_leaves.json -245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json -c743e267c05542fb0bc1c4e02e03a0dfe3ff8568 assets/twilightforest/blockstates/time_banister.json -e57513a7c02114a127186bea4444ab3348b079ac assets/twilightforest/blockstates/time_button.json -895cf7d2f621f164fe6bc9747d6139e32d138dd2 assets/twilightforest/blockstates/time_chest.json -060dab24c58025631d2e5a551400530650aa13fa assets/twilightforest/blockstates/time_door.json -0539660a59032d24e2bab59084c7e5c66232103a assets/twilightforest/blockstates/time_fence.json -2c7896adf0ed7a88bc056156c4b469379b5634aa assets/twilightforest/blockstates/time_fence_gate.json -874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json -8bb4373ac7d62930c7c05a4a14081c38f3954ee9 assets/twilightforest/blockstates/time_leaves.json -46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json -b445383eba8b557d597199a044f2bc43d8ac6217 assets/twilightforest/blockstates/time_log_core.json -3ab0b14ef5792216dd0db7b36e58fadd558b2bb5 assets/twilightforest/blockstates/time_planks.json -5bd992fd60f43a2ec6dfa0d63fc9375e7c80e87d assets/twilightforest/blockstates/time_pressure_plate.json -51256d56f4fe23232f18f9140f23050af247d73f assets/twilightforest/blockstates/time_sapling.json -582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_sign.json -a702292856ae83704bde1e92f53de02ffa6dc8fd assets/twilightforest/blockstates/time_slab.json -107bc5f84e91dcf0fe606e385fb56f18a155ca91 assets/twilightforest/blockstates/time_stairs.json -ca4f0e5d36ab32e84e0254132d26a34d55497dd4 assets/twilightforest/blockstates/time_trapdoor.json -b7917cb18db2420d153dc6ecbd4270b8262d2b70 assets/twilightforest/blockstates/time_trapped_chest.json -55a6270c3b907787e04b585aa598e3cad86f6fde assets/twilightforest/blockstates/time_wall_hanging_sign.json -17a6a0ab6493fba967279c29dfbed2a3dc5690b2 assets/twilightforest/blockstates/time_wall_sign.json -5082e36d05d9de13d965c81952e244da0de9787a assets/twilightforest/blockstates/time_wood.json -fe31fa7b8434972eedc269edba6627a5d4586b4c assets/twilightforest/blockstates/torchberry_plant.json -4d7b8684ee156c82863ac8edeccc99bfe7726e53 assets/twilightforest/blockstates/towerwood.json -9c810fba45afe626bcf0fd4223a73065a8a0023a assets/twilightforest/blockstates/transformation_banister.json -3b84c35137aca3fe0d7db72c3d41f23ae75392a8 assets/twilightforest/blockstates/transformation_button.json -d61dc0248f3ca96426e92f5394caf350167bdb74 assets/twilightforest/blockstates/transformation_chest.json -cb0f510fbad3b61c85063359c8b8e25e0e94270d assets/twilightforest/blockstates/transformation_door.json -c42742c07e1a8780906f8848eb5dc9551960e630 assets/twilightforest/blockstates/transformation_fence.json -5516bd8eb04108252746176d5c3892a8ba4ff3eb assets/twilightforest/blockstates/transformation_fence_gate.json -698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json -a7a6e97acdca6dbf774c76b5c009c309dabc446d assets/twilightforest/blockstates/transformation_leaves.json -09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json -6a00b2d474ee07410ed47b6d602961d7ed14d43b assets/twilightforest/blockstates/transformation_log_core.json -6f7e27e737976063a88da41e42d09a1c29e6c726 assets/twilightforest/blockstates/transformation_planks.json -34c3de6442933a7840740371cd8754b6c62fece3 assets/twilightforest/blockstates/transformation_pressure_plate.json -1a54a691bee7bb2bd4aef219e467fc24e57ec0bf assets/twilightforest/blockstates/transformation_sapling.json -4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_sign.json -ace1ef3091f111be402ebf7c9908363ceef662c2 assets/twilightforest/blockstates/transformation_slab.json -2306ee4ed0f95f4990e698868f9f1c02c98e0ea6 assets/twilightforest/blockstates/transformation_stairs.json -fc9a43b459ff016ceb45285b8365f3d0cdf4cede assets/twilightforest/blockstates/transformation_trapdoor.json -51dbc594c24ec1e8751930c5a48e1a9c375710b5 assets/twilightforest/blockstates/transformation_trapped_chest.json -2894d6a28b307744826b5df630041ca08199563c assets/twilightforest/blockstates/transformation_wall_hanging_sign.json -7bafaadde0a8ed6f96e68ba2d1ab0f17084987ce assets/twilightforest/blockstates/transformation_wall_sign.json -056fb687194bc0a01712b3f66f36e217d66db224 assets/twilightforest/blockstates/transformation_wood.json -a0dbe131e761ab03316f6ddf67d5fc1d142409d9 assets/twilightforest/blockstates/trollber.json -baa439de5bfba97965ee2b45dab413884e7c356b assets/twilightforest/blockstates/trollsteinn.json -fbc33ca6aedd052b97c20c93bc0265a9b757c331 assets/twilightforest/blockstates/trollvidr.json -9d6d2b9a0e95b9df6e585daddf68cf787c9551f3 assets/twilightforest/blockstates/trophy_pedestal.json -4c921ca11f547008a1429ef75fdcaf4f3cf51c0f assets/twilightforest/blockstates/twilight_oak_banister.json -5fafb7ee9e2c2e2eca79afc32224073add6bfd8a assets/twilightforest/blockstates/twilight_oak_button.json -67b1a5194af9833973b0f06aac5d75d7d821922e assets/twilightforest/blockstates/twilight_oak_chest.json -cb3fec64c94122783098e8c428c34eec47ddedf5 assets/twilightforest/blockstates/twilight_oak_door.json -ab6b92e5e69b59384242635d0e93ae77e08beeb2 assets/twilightforest/blockstates/twilight_oak_fence.json -65548e6463b6e047973a493fb11e1c0f6fe9b90a assets/twilightforest/blockstates/twilight_oak_fence_gate.json -7c16b40c05c3017566fed35205c4ba258cc19a47 assets/twilightforest/blockstates/twilight_oak_hanging_sign.json -b5c078635b275b8f6551b5c932c916b1ac3b7946 assets/twilightforest/blockstates/twilight_oak_leaves.json -dc9ead6833b84ebe54468fed55b430c66ea948d5 assets/twilightforest/blockstates/twilight_oak_log.json -843e537f86d5af0fb33276db2d5fa4646cc08f6b assets/twilightforest/blockstates/twilight_oak_planks.json -1a1c24f286122eb5ce82a15eb5c8abbc48258027 assets/twilightforest/blockstates/twilight_oak_pressure_plate.json -77c31de6ca8cb13aedb9517fb8105f662e5fa646 assets/twilightforest/blockstates/twilight_oak_sapling.json -1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_oak_sign.json -648cfc8206f7a7ca59cd45dbccb49d4c2cbae7f5 assets/twilightforest/blockstates/twilight_oak_slab.json -394cfbe5836983f88c29f444e1b0e7ef3fea2fef assets/twilightforest/blockstates/twilight_oak_stairs.json -edf006f122f9caffa98a3e4952fbc869f7180684 assets/twilightforest/blockstates/twilight_oak_trapdoor.json -c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twilight_oak_trapped_chest.json -b06459f64a460651ca12732aab69c7ae2ff6067d assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json -022af390cc77197106d4a5964a01d87133cb9959 assets/twilightforest/blockstates/twilight_oak_wood.json -071c2989044315ff6e12f851c777f6186aaf7a2a assets/twilightforest/blockstates/twilight_portal.json -d72b3289de2d64ba89fec1f7403ce331680596fa assets/twilightforest/blockstates/twilight_portal_miniature_structure.json -f900265d0349e883791f79f9d63869666ecde37b assets/twilightforest/blockstates/twilight_wall_sign.json -3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json -9be699d77321386b8b4d19c4c9371983f5f834d7 assets/twilightforest/blockstates/twisted_stone_pillar.json -904767116b59b5da0d9a22c82989aa7c261b6d00 assets/twilightforest/blockstates/uberous_soil.json -0151d1744e22da56357ed9f9f45e857f780ec11e assets/twilightforest/blockstates/unbreakable_vanishing_block.json -d070be0d45e2877be0d82a5f2f4ec3463ac75bc8 assets/twilightforest/blockstates/uncrafting_table.json -22e37e7ec0ce60e57918a6f473661f3b376df4b7 assets/twilightforest/blockstates/underbrick.json -6fbca5391f954de595a2019f6431007e24891685 assets/twilightforest/blockstates/underbrick_floor.json -34697a03ecb2749398fc4f80806b7e2c64d7d04f assets/twilightforest/blockstates/unripe_trollber.json -9472090eea384d675fee73a90ed033b799c88820 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json -91393aed8862127e475c504ca1a9f00eb3a89977 assets/twilightforest/blockstates/vangrove_banister.json -0151d1744e22da56357ed9f9f45e857f780ec11e assets/twilightforest/blockstates/vanishing_block.json -dd4deb042d9d567be510c613647cd242a427828c assets/twilightforest/blockstates/violet_castle_door.json -f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/violet_castle_rune_brick.json -ec6c3e13a257a3e652bbaae9d74f5fafe1e09fbb assets/twilightforest/blockstates/violet_force_field.json -52e6872b0c81aa90efe585db9792137b7cbb4695 assets/twilightforest/blockstates/warped_banister.json -5397588ec04a7fbbd9454b18af884660dd62a917 assets/twilightforest/blockstates/weathered_deadrock.json -95d3a243909ea77ca628f6f4b414a343f2559d13 assets/twilightforest/blockstates/wispy_cloud.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json -2c533ced16289e079d4087d68d6b4d384368ee44 assets/twilightforest/blockstates/worn_castle_brick.json -f0ee8181dc2593ee94782ecaba7208da53aef0df assets/twilightforest/blockstates/worn_castle_brick_stairs.json -691d1d4aedb1ca5a8a3bfe9443d24db6bea3e51b assets/twilightforest/blockstates/wrought_iron_fence.json -f9b77d1702c932a62b46a65cd7a6bbd9ed1fdc60 assets/twilightforest/blockstates/yellow_castle_door.json -f201be47403de47f7a64166b6ea0e3b06d1e1a76 assets/twilightforest/blockstates/yellow_castle_rune_brick.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json -94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_wall_skull_candle.json -3ca7c8b256be661c6af770dcfbef85453309edb0 assets/twilightforest/models/block/antibuilder.json -5014809ef2f9c92a40eb886c103388a23eedfe1e assets/twilightforest/models/block/antibuilt_block.json -ace805e7747f4e4ca6e86ffbb875a3f72b0eb10c assets/twilightforest/models/block/arctic_fur_block.json -c9d506a723562e7532e5bdfb965785dc936b87d0 assets/twilightforest/models/block/auroralized_glass.json -0d21d32180ab0091e43fea680cd7ce2fc1673233 assets/twilightforest/models/block/aurora_block.json -0f58d72e257db5d77d5a38fc053fe2944b3dbbf0 assets/twilightforest/models/block/aurora_block_0.json -8281e1a05f3d7bf406008a0db8e68e544662a498 assets/twilightforest/models/block/aurora_block_1.json -a9654f0e61e92eb82707f4ca4a8684c3095e7815 assets/twilightforest/models/block/aurora_block_10.json -49477f6e96d86251c5c7bcadbffc15c7167a931c assets/twilightforest/models/block/aurora_block_11.json -f6c67aa4c7a0010c7e8574e63c04c368959a2e8b assets/twilightforest/models/block/aurora_block_12.json -068c354bfa681ce29442cea35419ee84fe5cfb1c assets/twilightforest/models/block/aurora_block_13.json -0a3592ddc894bc72e59120dcc8cb388f66ac68b7 assets/twilightforest/models/block/aurora_block_14.json -9b27747f001adbdea8ff2c8c79ac43ec782229b4 assets/twilightforest/models/block/aurora_block_15.json -5c7ca45d7600e8909fc280253ff8ff7e12745e9f assets/twilightforest/models/block/aurora_block_2.json -87c9e650158bf4211194cf740c113de47298fe92 assets/twilightforest/models/block/aurora_block_3.json -862c37be3c9550b9fa2ea4f7da62f9477089c39e assets/twilightforest/models/block/aurora_block_4.json -96042cfdbd32d18b35c6f034cf82ace11bed65c0 assets/twilightforest/models/block/aurora_block_5.json -3ef0f42a80fd51edd90dcee1cd1c6b4a29403ea6 assets/twilightforest/models/block/aurora_block_6.json -6d37893bb18b8f608fdfafb32fbdcd010adb2da9 assets/twilightforest/models/block/aurora_block_7.json -da2e2a820ffd8dfd6234287cf6c4bb38a66f422f assets/twilightforest/models/block/aurora_block_8.json -402388a9ec6d8520b9f57bb96516f46288d3f04e assets/twilightforest/models/block/aurora_block_9.json -bb6e15f99fd619307044738a619b1f6dd84575d2 assets/twilightforest/models/block/aurora_pillar.json -08d05b927862842e0f3a9a7b4df17f08a7ef937a assets/twilightforest/models/block/aurora_slab.json -35e8cd5079b1dcfeef8b782f7d2265890bae4185 assets/twilightforest/models/block/aurora_slab_double.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/beanstalk_grower.json -3b22b7437760208f6214b9b121890393af3278a2 assets/twilightforest/models/block/beanstalk_leaves.json -acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/blue_castle_door.json -3e7f778ecfd3b2551a8f6a7eb2ae6109eda8d2ed assets/twilightforest/models/block/blue_castle_door_vanished.json -a94de7bb37c535cca9d287193d819e7dcead9ac8 assets/twilightforest/models/block/blue_force_field.json -ce7f2ab4adcee5c0b83f4a0789b2d3c6b3b26089 assets/twilightforest/models/block/bold_castle_brick_pillar.json -b7463ca79ed65125fb0261c3afa89e24a6007521 assets/twilightforest/models/block/bold_castle_brick_pillar_x.json -3f030edf65d349ce74832220da69220a0679e698 assets/twilightforest/models/block/bold_castle_brick_pillar_z.json -6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/bold_castle_brick_stairs.json -f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/bold_castle_brick_stairs_inner.json -36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/bold_castle_brick_stairs_outer.json -a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json -defd9a7bbe255a5cc6e84fbd5696867739bb9695 assets/twilightforest/models/block/bold_stone_pillar.json -5176cfb3c4c305f46764a86aca5673fabd1b93f7 assets/twilightforest/models/block/bold_stone_pillar_horizontal.json -4f348b3f1cb065f1fdf8b30f2ba83cb609c535ca assets/twilightforest/models/block/boss_spawner.json -d061b38830f09c7d35917e0d4f3ec5394d6a7ea1 assets/twilightforest/models/block/brazier.json -0e9f345aea9692c2b708dd7e2cd5e96cb6abee63 assets/twilightforest/models/block/brown_thorns.json -45f0e7513a99924387702ce251ec64a6fabc1d8c assets/twilightforest/models/block/brown_thorns_bottom.json -406e440be4280d55054c53ea977566183be908f2 assets/twilightforest/models/block/brown_thorns_no_section.json -cbff836213f9c9d18eb89550e2620e5a1caff0e3 assets/twilightforest/models/block/brown_thorns_no_section_alt.json -cb2664132a325e4b3480abc8a22504d89a3cc42c assets/twilightforest/models/block/brown_thorns_thorns.json -5a8afd3fdb70f78be26ee033766a3a2ac643f027 assets/twilightforest/models/block/brown_thorns_top.json -3612790c61eeb4fe4160e039e676e7203b24c0b7 assets/twilightforest/models/block/built_block.json -6141eb8559a2602a33624ff6d26a53b8f382099e assets/twilightforest/models/block/built_block_active.json -935643a433f3ad29eefb164a8d03fd67f7a823b8 assets/twilightforest/models/block/burnt_thorns.json -1b533d9d66efaa6f21b7f84bfa6c742b15f6a09d assets/twilightforest/models/block/burnt_thorns_bottom.json -cc80bc65f6c8eac39da6a09bc057bf152a9db5ff assets/twilightforest/models/block/burnt_thorns_no_section.json -61677b22cbb5b6e4be458803150f941cbe13ee4e assets/twilightforest/models/block/burnt_thorns_no_section_alt.json -f4017ef63edcf68dea41ad51f84594691d357a12 assets/twilightforest/models/block/burnt_thorns_thorns.json -50f07dcee536e9077ed2626596950ae3a9aa3068 assets/twilightforest/models/block/burnt_thorns_top.json -1c2516ca223ae1448aef4e9f30670529ce347112 assets/twilightforest/models/block/candelabra.json -01e7e37ad459a3f032fccc416c856b053338754c assets/twilightforest/models/block/canopy_bookshelf.json -c360d1f884cc08860eff0de1d2b07d2894f3eede assets/twilightforest/models/block/canopy_bookshelf_1.json -6cceee76b6e82527675f94cf2f3bd499b6e4a0a1 assets/twilightforest/models/block/canopy_bookshelf_2.json -5eed97a3b8e05d8d973817c75122ad144e885f3f assets/twilightforest/models/block/canopy_bookshelf_3.json -d061b38830f09c7d35917e0d4f3ec5394d6a7ea1 assets/twilightforest/models/block/canopy_chest.json -9078d105a63e2ff91e40db06e14b70c3f26afb3a assets/twilightforest/models/block/canopy_hanging_sign.json -4b5f2d9acef33a6ac960fd562765cd3e580a4818 assets/twilightforest/models/block/canopy_leaves.json -c614bf467f221cbfb861867002f1684c65185870 assets/twilightforest/models/block/canopy_log.json -e041349aa9b8216cce24c9ad223d0bd75feec3ed assets/twilightforest/models/block/canopy_log_horizontal.json -162dab0a9f7a4aa0e97c1e4cdf7ed92e3d2910ff assets/twilightforest/models/block/canopy_sapling.json -d061b38830f09c7d35917e0d4f3ec5394d6a7ea1 assets/twilightforest/models/block/canopy_sign.json -d061b38830f09c7d35917e0d4f3ec5394d6a7ea1 assets/twilightforest/models/block/canopy_trapped_chest.json -9078d105a63e2ff91e40db06e14b70c3f26afb3a assets/twilightforest/models/block/canopy_wall_hanging_sign.json -d061b38830f09c7d35917e0d4f3ec5394d6a7ea1 assets/twilightforest/models/block/canopy_wall_sign.json -4a3e790233e2c618aaf8a28a8c62414cd3240755 assets/twilightforest/models/block/canopy_window.json -787fa313c4724e8783ff44328c67b0e5ca44d438 assets/twilightforest/models/block/canopy_window_pane_noside.json -bf83d3f956aa0ab47a99fc4940b994d715b6ef3f assets/twilightforest/models/block/canopy_window_pane_noside_alt.json -271aeebb329a3290a38275466bf5de16214a854a assets/twilightforest/models/block/canopy_window_pane_post.json -5b8d813536e6400166c6913373dbbabc8335cc9d assets/twilightforest/models/block/canopy_window_pane_side.json -ce601333a23a65197d5946138cf6ee8fb8cbf531 assets/twilightforest/models/block/canopy_window_pane_side_alt.json -050c5571fd66ea4629fdf2ca2c6688affbbc0313 assets/twilightforest/models/block/canopy_wood.json -d448dd7ebfc774fcfe9066e3e470fdcf84217411 assets/twilightforest/models/block/canopy_wood_horizontal.json -ea14f082d0a1ee56d5795f8e58d147fb48cb90f2 assets/twilightforest/models/block/carminite_block.json -b4861aa461e112f7feabfca816aaee4244d3e013 assets/twilightforest/models/block/carminite_builder.json -a8ca1447500d8582cf54ce578547ebc5b524f45c assets/twilightforest/models/block/carminite_builder_active.json -76a341b34578f01dd1934ad02a150524a3fd7cbe assets/twilightforest/models/block/carminite_builder_timeout.json -0ae168f97705a3fa5f0d1f497e866840e6574cbf assets/twilightforest/models/block/carminite_reactor.json -095ac13d306e665751d00502a1b8068d1b1937d4 assets/twilightforest/models/block/carminite_reactor_active.json -94197777b6d1353faabfdfc6bdc5b3314c672276 assets/twilightforest/models/block/casket_basalt.json -79b72f6567ce7aec8d40163eaa6689e78c998cc1 assets/twilightforest/models/block/casket_obsidian.json -af1100535ab0d2bff3afd31f15d56e923758c08a assets/twilightforest/models/block/casket_stone.json -7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_brick.json -87a81a1414ecb4eddab46dee35574202b04758e2 assets/twilightforest/models/block/castle_brick_stairs.json -ca23291a1e515aa159da74ba7d16754acba3b6a9 assets/twilightforest/models/block/castle_brick_stairs_inner.json -f6967f950a74204b0e3fe494ebdc356a82febb5d assets/twilightforest/models/block/castle_brick_stairs_outer.json -712a9cc2925a57667316a7b4460df53535b35cc8 assets/twilightforest/models/block/castle_roof_tile.json -95c808ebe87de521b90b20bb20e9bb631f0df9d7 assets/twilightforest/models/block/castle_runes_0.json -29652bfdcd1c2653ef1579faf5e71fdb46d9f060 assets/twilightforest/models/block/castle_runes_1.json -8bdcd40ff7835d4fd018eaa48848f589e7e1b434 assets/twilightforest/models/block/castle_runes_2.json -a422357d5a836621c096845716e6ea5f7ad237a3 assets/twilightforest/models/block/castle_runes_3.json -eaaa89267f2e6512afda7d9a410e94b62e15cbb8 assets/twilightforest/models/block/castle_runes_4.json -0ef19cb6532606a4277879455c02d775c642ad4d assets/twilightforest/models/block/castle_runes_5.json -c48370f6351d2fc582d95a1dd4f95d4848fc6a31 assets/twilightforest/models/block/castle_runes_6.json -1de2d5ae3614e7ee9bbbb8dd88308b5e6389e122 assets/twilightforest/models/block/castle_runes_7.json -7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_rune_bricks.json -91e4211786bdcc5b9ab9fb6c467b00b4826e7bee assets/twilightforest/models/block/castle_rune_brick_0.json -e8b6dcf6a014efbcd24927ac49844a24b846027d assets/twilightforest/models/block/castle_rune_brick_1.json -8796272dbd575cb1c660927f4d135fd30b5e7a90 assets/twilightforest/models/block/castle_rune_brick_2.json -71dd72b74a703ce3a7aa799da6bb004be905cbc7 assets/twilightforest/models/block/castle_rune_brick_3.json -f8673b0a02babf1723fc9f9a335ca3772b470f18 assets/twilightforest/models/block/castle_rune_brick_4.json -9e09de0085270fadfcb7f8b140cd5536dd298700 assets/twilightforest/models/block/castle_rune_brick_5.json -366bb332e042e16f88832aab1db7e1776f1e6f7e assets/twilightforest/models/block/castle_rune_brick_6.json -ba05b6c8d0c1e14d355fc0a30738ab6997cfec4f assets/twilightforest/models/block/castle_rune_brick_7.json -6aaaceded6c64e8353338a810bc6cbb657c26875 assets/twilightforest/models/block/castle_rune_inventory.json -0a84bb4ae7820eb2c4851201a8b565556cd1d40c assets/twilightforest/models/block/chiseled_canopy_bookshelf.json -d911af86f5b2da2c4ad5aa1984fe7c8a9e8631ea assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json -09780aada910463ef71f1d51c74b1f430e4fe4e0 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json -c79f058a0bffd1cbbf58c8c1447febb5f07b4b4c assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json -1b84bc431582338e4b32b86bc79fbc253d844493 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json -dae1655b01a47871c8ad8f284ded559d8b50eb88 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json -1b4ab3f0e724d1ebeeebed3c6f8666e00afe641a assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json -89feb5193876aef034afc8e5f9395041bc8cba6d assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json -4662cde92d94cb701b3fbabfa96393329ed0cbf6 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json -fb9902fe74b5fbb1340287aeab6898bac8ccd086 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json -b9c60ae5be832ead9d57f0ebf543a779ff4847d9 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json -8c4dbe9d1ac0992c51ec73d1665c38ffc5998e17 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json -45b65cf48cd15321061c50affe00ba0e43c0377b assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json -c3ccca894a1eb99d2fe55069c13b95d1b1037432 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/cicada.json -4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_log.json -84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json -a67d6bfb6f894740f758e0b4128632623eaf94b9 assets/twilightforest/models/block/cinder_wood.json -aa8e50b43f24787dcaea0a9894a6164299056944 assets/twilightforest/models/block/coronation_carpet.json -5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json -aff2d37542c602231904e97acaf3031a8b445eac assets/twilightforest/models/block/cracked_castle_brick_stairs.json -b26980bfbc79f0a81292a42039226a7e810ac4b4 assets/twilightforest/models/block/cracked_castle_brick_stairs_inner.json -f459570af76848dea81a4567505c3257d69458b2 assets/twilightforest/models/block/cracked_castle_brick_stairs_outer.json -1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json -e1ea180bd92dfbb42431789a936601d7449c5370 assets/twilightforest/models/block/cracked_etched_nagastone.json -b7cf3f0d705dc215bdee5d6973983484d800deec assets/twilightforest/models/block/cracked_etched_nagastone_east.json -31d85cf5d046b6818a50d96eef729fc56b080f9a assets/twilightforest/models/block/cracked_etched_nagastone_north.json -1f39792732af649a666c777d1461e0efeb474120 assets/twilightforest/models/block/cracked_etched_nagastone_south.json -64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone_up.json -8e888d523b7614cde1171cc0d60e94b2913acfa1 assets/twilightforest/models/block/cracked_etched_nagastone_west.json -8a1eb64b6b23c70f6f05fc94c2069bae6cebed88 assets/twilightforest/models/block/cracked_mazestone.json -ebdd9bdca720c9a8f7d4946f76776b364e6e8f4e assets/twilightforest/models/block/cracked_nagastone_pillar.json -e34dd40e37c328b7378ca6e7e6114e9fc4ba25b2 assets/twilightforest/models/block/cracked_nagastone_pillar_reversed.json -ec33f2e20cebba6a0ed9f6fc5d9db51a2a19ee3f assets/twilightforest/models/block/cracked_nagastone_stairs_left.json -0153634808216e57476bdd59f546f6da7e000a90 assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner.json -9e58c92b1f45f764d4683bbde8e29244ed7d8b3d assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer.json -2674d44de81fe941647f9adef560ad536c8d0743 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json -f27d8f01b4c594724cd0922c5b0fa6bb3d479c68 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner.json -ee1a7bc8f031583e8a6d8e6de8b84941964f429d assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer.json -f67e83a8023518fa68474c65b98b6ea0818986d9 assets/twilightforest/models/block/cracked_towerwood.json -968a95b6a5e969f1af71ca63f7715a499899e850 assets/twilightforest/models/block/cracked_towerwood_alt.json -2263ee6f77c416347e2f88b2d2dd7179adc553a8 assets/twilightforest/models/block/cracked_towerwood_alt_flipped.json -5c8e1266844513438549edfbb5d4de2359d7ba6b assets/twilightforest/models/block/cracked_towerwood_flipped.json -4d1988b8b507870b1c18dd435510898acdc849e6 assets/twilightforest/models/block/cracked_underbrick.json -55aa238d7809a9a3221806646896b091abb8c1cf assets/twilightforest/models/block/cut_mazestone.json -a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json -42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_chest.json -dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark_hanging_sign.json -ff73cf220e6bec60699a36e7d250d62b92e4e4d0 assets/twilightforest/models/block/dark_leaves.json -b3f43842bc667aa3f81435630f7c60d148f9f731 assets/twilightforest/models/block/dark_log.json -e46df0845cb98acff243af97ac0d19bf38e7cb17 assets/twilightforest/models/block/dark_log_horizontal.json -42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_sign.json -42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_trapped_chest.json -dd56dac3bed27860b2687f1d608a4c732f8ea2b0 assets/twilightforest/models/block/dark_wall_hanging_sign.json -42518bd0a21e50db51bd78aa3e26551975177bbc assets/twilightforest/models/block/dark_wall_sign.json -2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json -3c29f7847d49d8b07f61abd607f4e612e76c7930 assets/twilightforest/models/block/dark_wood_horizontal.json -3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json -e52c91b4b0e68fc9474fb415e72a373a15d549f5 assets/twilightforest/models/block/decorative_mazestone.json -321b34f169823a2a63e675ba8727da55eca811ee assets/twilightforest/models/block/encased_castle_brick_pillar.json -1cf18c8bd3e505040a2e9b447bc844b4a15d3b0b assets/twilightforest/models/block/encased_castle_brick_pillar_x.json -8f5a396932d33f7b036653b1c52f814bdfde6c4f assets/twilightforest/models/block/encased_castle_brick_pillar_z.json -ec42b5c0a1870cd618aa6fac4f54c8e861892292 assets/twilightforest/models/block/encased_castle_brick_stairs.json -01203a789bc013d0814ec9e2d529ff32379e0aea assets/twilightforest/models/block/encased_castle_brick_stairs_inner.json -d668a754748b023f784b3480614674629928a28a assets/twilightforest/models/block/encased_castle_brick_stairs_outer.json -e4cefc2cc80b5db84fb6ff8469f50d8b55b4ec6d assets/twilightforest/models/block/encased_castle_brick_tile.json -98847fa3a1806a0420304f3e3a0042bfed2b2118 assets/twilightforest/models/block/encased_fire_jet.json -bdbc3087d850c6bfb95d66093332534a9640fd27 assets/twilightforest/models/block/encased_fire_jet_on.json -260e96618ba077339fccb7cc9e47a2903136c515 assets/twilightforest/models/block/encased_smoker.json -1b84093f97b3c36844dbc27474b4b74bd4c04e76 assets/twilightforest/models/block/encased_smoker_on.json -c754f9247d3cb352ff315b2d0d97ab30c1005872 assets/twilightforest/models/block/encased_towerwood.json -210e252c46b6026c071a446b8de929b74d12cc3d assets/twilightforest/models/block/etched_nagastone.json -1c10a82c35980f89886083c500bffc71e2135b45 assets/twilightforest/models/block/etched_nagastone_east.json -d846df617f281752b3d5d7171e080c0703aca1cb assets/twilightforest/models/block/etched_nagastone_north.json -d029b9f416ffa1f71de890e78b0451bcd86c3121 assets/twilightforest/models/block/etched_nagastone_south.json -6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone_up.json -50c7505997326269386bc51bc1df5dd5ccf8d012 assets/twilightforest/models/block/etched_nagastone_west.json -aae23373cef0dcadecf45e676bd077b6f1a0af8a assets/twilightforest/models/block/experiment115_1_8_regenerating.json -5d762832f88584e62bf30b77160f0d7e73b1adbc assets/twilightforest/models/block/experiment115_2_8_regenerating.json -7ed1d87a775976c66be8cb0b76e07ecfd47693c1 assets/twilightforest/models/block/experiment115_3_8_regenerating.json -a13069db70c95184d640ccddcde7177f5df82f5e assets/twilightforest/models/block/experiment115_4_8_regenerating.json -cf01d847cf45249fc239966cc5b95f22e01f0921 assets/twilightforest/models/block/experiment115_5_8_regenerating.json -4221d84dcfdab83ff6ffff9b3feb303e51259e72 assets/twilightforest/models/block/experiment115_6_8_regenerating.json -032b2aa0e1057f24837798282f152e4ed2290684 assets/twilightforest/models/block/experiment115_7_8_regenerating.json -6a36220a910476f613aae9dfd7aa0debcba6f20c assets/twilightforest/models/block/experiment115_8_8_regenerating.json -142fb2d24b8b4935e98ddacb40169250989608b3 assets/twilightforest/models/block/fallen_leaves1.json -07fbe9a9e28bbbda520f74f508a35a6e1a1a7aff assets/twilightforest/models/block/fallen_leaves2.json -290c4efc7352900deaa1fc3a95ec40bbd35623f8 assets/twilightforest/models/block/fallen_leaves3.json -c18a9526c4c4c241baa8933027b0e46d4f0c76e5 assets/twilightforest/models/block/fallen_leaves4.json -bebac05813302a4e983cc452fd6957062e82a841 assets/twilightforest/models/block/fallen_leaves5.json -6745d98b5ca1d5df00d191345e42572b19902f13 assets/twilightforest/models/block/fallen_leaves6.json -3219a9a2d844742003ab7de6f528651a988a549b assets/twilightforest/models/block/fallen_leaves7.json -58a049e44c40ab20cb322514cb34d65ce60ffa2c assets/twilightforest/models/block/fallen_leaves8.json -e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/firefly.json -90f5aacf15e0b6d31622c680d5323a1941981426 assets/twilightforest/models/block/fire_jet.json -a8cb3a9bf21cd70ede74f84c27528adcfc805cb4 assets/twilightforest/models/block/fluffy_cloud.json -ae42e425d0851f8b6779ec3b6d631628d7fe7505 assets/twilightforest/models/block/ghast_trap.json -bb1097d5ef0560a2cd3bd476f1eb4976eef781fc assets/twilightforest/models/block/ghast_trap_active.json -8131cc8202cea969d0e952ffdb3bc579ea15cf1d assets/twilightforest/models/block/giant_cobblestone.json -46a84d08b32ad27d7ed93d8a7652647bae77390d assets/twilightforest/models/block/giant_leaves.json -8202a432ba0a0376dfa93fdeb977bc411dfb5150 assets/twilightforest/models/block/giant_log.json -acbc4435a77a6b4d3f4a7e063224d5052ede2a31 assets/twilightforest/models/block/giant_obsidian.json -381bdf38117e96539fe41bf1a0f15120aad965da assets/twilightforest/models/block/green_force_field.json -7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns.json -d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json -322f7cd4e7e179f38597e6cf1dfac8eb1ec5fdb3 assets/twilightforest/models/block/green_thorns_no_section.json -ea98fc47eb531f525edcf24d6d8955d24b70e1a9 assets/twilightforest/models/block/green_thorns_no_section_alt.json -3fc2c2c7c7506fdf562c6cdd5fecc9d58973b297 assets/twilightforest/models/block/green_thorns_thorns.json -e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json -ff73cf220e6bec60699a36e7d250d62b92e4e4d0 assets/twilightforest/models/block/hardened_dark_leaves.json -f8e294e138e4b799803977718ce11ff07f04efb2 assets/twilightforest/models/block/hedge.json -48786d9c139433bba4a3f0bc86bbac222e70a922 assets/twilightforest/models/block/hedge_rose.json -9197c9f2f82789c43f6f391d2da2bf65eb598d5d assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json -c4f393dba58344cea76f2ecf6b34fb9c1d805554 assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json -af5ea0fed84340f72eba42cd9284c508dfc950bd assets/twilightforest/models/block/hollow_acacia_log_horizontal.json -4e8de362af88c8858a04c0d6586f547d5c201590 assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json -e335a8bb16a397e7ccf0bc9eb23d745f8a44e1f3 assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss_grass.json -2c5d05568c64aa26b55f1ef75b773c00eba06324 assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json -4129c583a64652623e8335201beb939a0244bac0 assets/twilightforest/models/block/hollow_acacia_log_vertical.json -fbe6eecb08261256718456f45210a5193992d0e2 assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json -7792a41813fb88a1a0959f80c394f159b6688787 assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json -597bf203bc9513be92ab5a4dd2f57b0e0514a6d7 assets/twilightforest/models/block/hollow_birch_log_horizontal.json -27293ce35b2d5065a1b33ab0b28fe1a99307c15b assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json -c9aea80da316abe4c264e24cc047b6fa0b5708b7 assets/twilightforest/models/block/hollow_birch_log_horizontal_moss_grass.json -33f328bef8de24511f522b87d973f1df4d743473 assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json -f42930bf3fc950d6dbaefc5c7b0957043889e5b3 assets/twilightforest/models/block/hollow_birch_log_vertical.json -ff05e49b9526e74dd2e8e9561f57cfad5a383727 assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json -7b1771951efaf6cf966c372ec78734ef1dd25abe assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json -8cef4ff7a7dc8351c0b80126948b044cb57a09ac assets/twilightforest/models/block/hollow_canopy_log_horizontal.json -37fa6dc65e8bdf0304a1a455e1058936eab05f5c assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json -41aa2cbe5c3379d5934065b330ec7b781b8b379d assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss_grass.json -6565d3c97c8bfb28f8a52a25e6bb31c71aaec06d assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json -fce3b5e320702e16a0a8b8dac3c4e43f92790639 assets/twilightforest/models/block/hollow_canopy_log_vertical.json -9a2a8cbdcb20a6301840fcbeb0f40ba2719ace16 assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json -7e957e14a2e24d7ec0e5a130c61d55210bbf9bd7 assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json -e708597030fe5b720e16e581ea6d5d243eb5abbf assets/twilightforest/models/block/hollow_cherry_log_horizontal.json -fdb14130c132374a8e08dbea1548bb58d49698b5 assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json -4b7fc10bd1dad718e009deced4eede40bdee5359 assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss_grass.json -700b2dd47bc7cb728e90815751c43a48f72829ba assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json -84ff672ebc0bf6e76fdeccac45ef3d7f8550da04 assets/twilightforest/models/block/hollow_cherry_log_vertical.json -06445d29755e73b9f09df86ce90eb5225f52c7c6 assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json -30c270166af0f6813bf38f1bfa5efac93093a625 assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json -f3be78ad00ca1edecadaeee8b4519e22e90e5702 assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json -936a65c61f28056b95eaa18f150dad6686a4667c assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json -badfebf39d681f987d052fd6f20e65d9467b2a9e assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss_grass.json -0aa64eaf4dbcaca686a0c600d560cac84946d433 assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json -83887cb797c207dea6e69699fc6567e7f5c41548 assets/twilightforest/models/block/hollow_crimson_stem_vertical.json -8f0278b73c90c84ada540eeb94fd993829e7abcb assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json -769c2fd8986e81dbbdf10aaa65ffb65ee0fdd2f3 assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json -7676dee6657f4644242eab811fda2229b7c81ecc assets/twilightforest/models/block/hollow_dark_log_horizontal.json -a534076f0c201385d5f35694986540d2c408e321 assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json -c55bbd06b91dd2ca50805e4d3c85c6517a614f0c assets/twilightforest/models/block/hollow_dark_log_horizontal_moss_grass.json -d4049eae7e50a66b2b91461e09361723066f6e23 assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json -2279c1a859b360ab8cf52c505235e3f3b44a9e39 assets/twilightforest/models/block/hollow_dark_log_vertical.json -085c0d6ca15d0536b77c7498ad8bca99c2f59d11 assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json -24f6634b8bca916b430ced9c4d2aef5838a8de89 assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json -1fb7517d6c8f2050e7ea11976f635408c581d4d0 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json -4cafcc6d8503b271bed38c8e408b1f37ec45005d assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json -bfc88640d87716eb0080acbc53d761dc25549087 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss_grass.json -e1e3028abcb1c73278ce9b91613ecab8f8ab0d11 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json -920398efad09d72c8250f8bfe9c29a3a5c489879 assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json -4d5c9e26e8703351bb69a81a6ad563a15585e14b assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json -3ba92aae11e79bc6908f6c5641ea040ffbd19525 assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json -fd36cd1548cbba7231909348555cf6e0c1a637f6 assets/twilightforest/models/block/hollow_jungle_log_horizontal.json -52dffe2c677e9ee4d55dea904254cbaeb848b5ef assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json -05acb8afe0e5b5717731573b204468e79a249c26 assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss_grass.json -8e755b90085f0ede1335dcb7999f59c03d8b1d32 assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json -001287c5ac8a7e6e85a22eace3549de3b6c68b32 assets/twilightforest/models/block/hollow_jungle_log_vertical.json -10331fbaeae6bc37161a5f7cf26d0a65da22aa2d assets/twilightforest/models/block/hollow_log_moss.json -0cef86eda1ba2b35a27a4692775e2d92681cde37 assets/twilightforest/models/block/hollow_log_moss_grass.json -6cc2b58eaeb777a62999bed87306d78659cb8a91 assets/twilightforest/models/block/hollow_log_snow.json -c251aa0da85bcd4776de66ee170d675e9eda0495 assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json -002ffb19f3b6cd50c75c1d004cba7752727a712e assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json -b8c9e7bef45dca0b4f21af26b2ccdc154db48184 assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json -0843f716c7f3c1ac3b69c5f6505c14a3dc6ed1a1 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json -b3e230fb6862d64b75c94d858ca640974e3a9a8f assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss_grass.json -2d01935c4cca7e24d0b6a404ac24aec67d9ec6ac assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json -717ab884549bec25ad58e00b07ce5287bd11447e assets/twilightforest/models/block/hollow_mangrove_log_vertical.json -fec71246bb95ac09b61801c48460bf5004c9259e assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json -2055eb0817d0819501c8f874b197ca134cf0c139 assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json -c191e037a2aa63e35a7bfa33f89919a509395e7a assets/twilightforest/models/block/hollow_mining_log_horizontal.json -f109f2b4e06273656330d92a140d392b7faeb9f6 assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json -845e6cbe652a885a36ffbdc497414416a8666c88 assets/twilightforest/models/block/hollow_mining_log_horizontal_moss_grass.json -ddbc15ac15ae7b6ae1857b8bf1cc07d66e64aeb5 assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json -a5886d1d2ea3b1a71e1d58e9b0c9c8330a3228e9 assets/twilightforest/models/block/hollow_mining_log_vertical.json -adb9884d8b90c38481d1fce26673df0aec46a05d assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json -393d866d2b3ac75458a715c9841b3af2b4754b17 assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json -2d0c08ba99c03738bed0a8d8942c90654de2b360 assets/twilightforest/models/block/hollow_oak_log_horizontal.json -d4831d4714b083f642654c1322c65d46a846a4c2 assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json -435ed63bd8e91cdd827ae84b76155c4e52d8c373 assets/twilightforest/models/block/hollow_oak_log_horizontal_moss_grass.json -b4791fbedc961af080e19015239e4b21f18e4bac assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json -ef13fe5b0f12d37c7080b86e4bfc2ee11c21993d assets/twilightforest/models/block/hollow_oak_log_vertical.json -7017130c573b1aed43467e786705d439c6647686 assets/twilightforest/models/block/hollow_oak_sapling.json -7d3362a49ea7351650d1716f62307da6ede8a709 assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json -b9366cbce411c36d30ea3d5c7f53dc57af969001 assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json -37fa81f7cd092e4962028dafcf9ce86f24d6c657 assets/twilightforest/models/block/hollow_sorting_log_horizontal.json -376d5b0a2a35590a6d06bbaf4fa1a5ee3ac9b077 assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json -d765b0c3d7e9601ecb689f9472bc809d9e0b56bc assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss_grass.json -6d333065d8dc7bca9bb9ac5b037044e90cdf5695 assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json -ff3eb8b035a213dbc89565dc5a7b64525a737148 assets/twilightforest/models/block/hollow_sorting_log_vertical.json -0dfea33468445bf5f160e6b177777ebd0d04fec0 assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json -58fadacc4e59faa3d01ad239322b05ec019ee444 assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json -6ee8e3a45ba3fef23595a999607a4fed2c0d64ce assets/twilightforest/models/block/hollow_spruce_log_horizontal.json -1fbad95657599387ea6789cc23e651adaed70394 assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json -91ee2d574d6654a547394e73525aa660e494296f assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss_grass.json -009db1092d12a41aa84c5816bcd48a2e442e2f89 assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json -e7079c68b423bb5d24e120156df772f097aa364c assets/twilightforest/models/block/hollow_spruce_log_vertical.json -fda9bd03b8ed67bb99568498a9c13235456eb290 assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json -25667da827bd84fa0d2103e9a8070b6a12e35cec assets/twilightforest/models/block/hollow_time_log_climbable_vine.json -029c8eb7464d86bef91a5aea7cd90149a8f080af assets/twilightforest/models/block/hollow_time_log_horizontal.json -1cccc49bda456d28042aa82135c9b22a57f55281 assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json -5e832a82dedfc43a1c2713d5042336e7c7dabe81 assets/twilightforest/models/block/hollow_time_log_horizontal_moss_grass.json -c939a1c4f094f16f82c478da1bf3540c42eca066 assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json -70aa40720c905c6f7f431fa0174cc141c5ef6707 assets/twilightforest/models/block/hollow_time_log_vertical.json -c28ca0f959a71efef333c36c76fd5bf23ac84a0c assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json -df21d6e90ec6b79140c0b16987a12472b7fa2190 assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json -4f5122a80917c8269e83a3076af0ae783ecb5c39 assets/twilightforest/models/block/hollow_transformation_log_horizontal.json -81713c772da6da039d9920525f886cac591c9a83 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json -a4b58f520c497a0dd30477547ec2aca0e43a9abc assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss_grass.json -276965d20cb584dfa7ee7e88ba808cba27011d76 assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json -893fa3b4c4115888b6423a27e14e446960bad577 assets/twilightforest/models/block/hollow_transformation_log_vertical.json -ed4344ea105cfceac8e201b75b65fd01f025153a assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json -b396dd509cb8f9bb59b3b454a28a8c2330344fee assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json -5025ede0a6e837cd5632db898a08f6fcf9548d4d assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json -c289304fca8f3be3ff11cac471a8d75c7e37998f assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json -65897c548bee238240c5a9394b3aa2ae92a3ef4a assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss_grass.json -f44bd97b54654b5c7656820abb5f3a9f621d4e23 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json -80017dde48da6f468ab8c976b84369d8030c4c2e assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json -cf2d97b0cbb53c122d847b998eb9a73ff63d5796 assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json -a000dbb953ce03bf7ccb56923c1f27b8c332fd96 assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json -632e48e1e71f06d0bdfc6df1553227038f05a3fb assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json -9311f81a5c1921bff770fc22608090e6d4b3342e assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json -50bcb7c2f4fc4861b670a6194518e5eb39d07288 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss_grass.json -03cb0b52113449a9bb1b3001dc0d736073a58e41 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json -2327451aff7c33da5d4b0eda4fac7a8ee0394fbf assets/twilightforest/models/block/hollow_vangrove_log_vertical.json -2998eefaf48b199118c3cb3e369041e1555a6765 assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json -34ba0a99543fc5c4f6389a4eb4f4a73563747f65 assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json -7cf3877b189cc7644c7c561e39d5b1e8ca0eedb0 assets/twilightforest/models/block/hollow_warped_stem_horizontal.json -67b3948289ad47548a18ff63bce7b14049dd0498 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json -c6c8e63dde8a56fe507319089bf4e16cd6adf8e7 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss_grass.json -a463c9a73b5c7527af746c75a004fb6ffa79da94 assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json -74328d19746c45f33659fcaa7a8c514813c7e6e9 assets/twilightforest/models/block/hollow_warped_stem_vertical.json -2f97aaccbec93404c93b6bc5dd589281fcbbbdb3 assets/twilightforest/models/block/horizontal_hollow_log.json -e2d4d04c6e8e2cbb14e929dbf99b0c402c29772e assets/twilightforest/models/block/horizontal_hollow_log_carpet.json -e1d2288ae8fea0bca861fbaf0016ea8b928a533c assets/twilightforest/models/block/horizontal_hollow_log_plant.json -69eb661eedf8a96200ce826981b70c9325c99854 assets/twilightforest/models/block/huge_lily_pad_0.json -a97d4fd8c0db1dc6c0b54b14982b421955cb4388 assets/twilightforest/models/block/huge_lily_pad_1.json -3257a96714d6054255ab9536d29b2370f1183651 assets/twilightforest/models/block/huge_lily_pad_2.json -34dbf7bece45c629b5ef987255b5c3148916dfb3 assets/twilightforest/models/block/huge_lily_pad_3.json -86a998be60e8e5c8f5da247265201f8e645ba8f9 assets/twilightforest/models/block/huge_mushgloom_inside.json -a66d866230aebb38be7b43e18ce6e9d9db278877 assets/twilightforest/models/block/huge_mushgloom_outside.json -86a998be60e8e5c8f5da247265201f8e645ba8f9 assets/twilightforest/models/block/huge_mushgloom_stem_inside.json -4c3a3dc569b4f4df80274019e71e7dbc0014bca2 assets/twilightforest/models/block/huge_mushgloom_stem_outside.json -3987819dc50ed72e9bf7f59d6de17203530c473f assets/twilightforest/models/block/huge_stalk.json -b4219d75eaeebeec715f400f5cb236f5f6c17671 assets/twilightforest/models/block/huge_stalk_horizontal.json -9f289229303726806bcff43120e2657277329d10 assets/twilightforest/models/block/huge_water_lily.json -393ec88fee5f931c79d3149aaf5812e88ddecc53 assets/twilightforest/models/block/infested_towerwood.json -b33213c330b19add4bbd72e0c28a659f3fa385f4 assets/twilightforest/models/block/infested_towerwood_flipped.json -8214cefd49f6a6ca9ccc96e3b02149e051f70762 assets/twilightforest/models/block/ironwood_block.json -da0bccb2705fa0306e7c0f57221137f2e721975a assets/twilightforest/models/block/keepsake_casket.json -fac1060dd379e2ccfa18ba33f62741199ed52122 assets/twilightforest/models/block/lid/acacia_log.json -fd4389b6f4257fe53c7603db5a34e53441d90b27 assets/twilightforest/models/block/lid/bamboo_block.json -493c639270844a3095d19dc69fe3e077019219b1 assets/twilightforest/models/block/lid/birch_log.json -4a15463ed4ec7774481693f8db272cbd48f04414 assets/twilightforest/models/block/lid/canopy_log.json -771e4a8546f9d6a6c83ea412ac288cb1d8604230 assets/twilightforest/models/block/lid/cherry_log.json -7a866b2df76ebef6b4efd86b9b8dcaf58031437e assets/twilightforest/models/block/lid/cinder_log.json -ef9e9f9f2e7681b43f4b281c140b611b4e134af1 assets/twilightforest/models/block/lid/crimson_stem.json -1cfbad78668e06dc35322702e94a80dc638396ac assets/twilightforest/models/block/lid/dark_log.json -abf24fdc567e0b83f3ec8244ccfcbd914481e999 assets/twilightforest/models/block/lid/dark_oak_log.json -ed846e1ea23ed50c282f4a0da1062a9fb7c680cb assets/twilightforest/models/block/lid/jungle_log.json -bf20cd636cb92ca4895a473230325f23cc80223b assets/twilightforest/models/block/lid/mangrove_log.json -919dd9da74495a6f6ccdec7ef558d9075578ff20 assets/twilightforest/models/block/lid/mining_log.json -0a70ee32227908584cf9bca34b16e89051dbf5f2 assets/twilightforest/models/block/lid/oak_log.json -de24da00184a8787905cec63b6f7089ab624bcd7 assets/twilightforest/models/block/lid/pumpkin.json -7e7d641d8f87ac19237ca7cbaabbb731d3a78ce4 assets/twilightforest/models/block/lid/sorting_log.json -91fcb6c1304905b51904ff40111dd564396bfae1 assets/twilightforest/models/block/lid/spruce_log.json -1fae6ed7e6c56773ca602720f60d963daabceaab assets/twilightforest/models/block/lid/stripped_acacia_log.json -b3f9c047856ccf0429d73e9df330c22833cdf540 assets/twilightforest/models/block/lid/stripped_bamboo_block.json -e918655ab3764c374791d30f689e344abaa67f3f assets/twilightforest/models/block/lid/stripped_birch_log.json -f0fe79096d2173b9f0ed8f22d76839d3f77cbc01 assets/twilightforest/models/block/lid/stripped_canopy_log.json -462c2086cbbdf416f608d3eab768aea81957177f assets/twilightforest/models/block/lid/stripped_cherry_log.json -ae1ed8a9431fee0dba0585fb17e2c32ac2b912f1 assets/twilightforest/models/block/lid/stripped_crimson_stem.json -c86e524f499fc623275c72f9bf3d0af433a7800b assets/twilightforest/models/block/lid/stripped_dark_log.json -b698b117604c9a7e94efbd03b6489fa56d96a4e9 assets/twilightforest/models/block/lid/stripped_dark_oak_log.json -02b4f35e4f4981228f50ba5f1f0b74eacb60e422 assets/twilightforest/models/block/lid/stripped_jungle_log.json -a2e2ebdaa1ea7e0184d841abe4baaa8183808527 assets/twilightforest/models/block/lid/stripped_mangrove_log.json -b3040607698a38ae6b740f0458e90e4e65199445 assets/twilightforest/models/block/lid/stripped_mining_log.json -e70547c3dbdf7fbda73993c74883f288b92d4e06 assets/twilightforest/models/block/lid/stripped_oak_log.json -23acb3ad1e818ed8e64b0daaa0fd235ad7c58652 assets/twilightforest/models/block/lid/stripped_sorting_log.json -91d072998e18a891fd78b6e60b9532084a69ce62 assets/twilightforest/models/block/lid/stripped_spruce_log.json -6ebfaecc618133758670d049276468a8db7cb8c3 assets/twilightforest/models/block/lid/stripped_time_log.json -915117852e4dcf4c256a3ff1e540c4ba34cd3df0 assets/twilightforest/models/block/lid/stripped_transformation_log.json -7d56515fe99b3adb7631ffbbc84b466ab278b51c assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json -985f905e071aedb29d28b51370f76fdc3605df1e assets/twilightforest/models/block/lid/stripped_warped_stem.json -4f6d075fd24f2647d8c06c054b325b144cdf4114 assets/twilightforest/models/block/lid/time_log.json -44505fe57929c2d7027c0c58fc8019be8d6a0178 assets/twilightforest/models/block/lid/transformation_log.json -d3a2fd7f8625e4572ea2d3eb48fb2af2b88ee6ed assets/twilightforest/models/block/lid/twilight_oak_log.json -d9bf773214fd665516a8829e61e48bb255a2bf49 assets/twilightforest/models/block/lid/vanilla_mangrove_log.json -9ffc692e74aeb68c74514e9dc99814f9ecf91e64 assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json -68bd9b0b5265469d00100b0e28943284b7587e8a assets/twilightforest/models/block/lid/warped_stem.json -7043b15a78685243835fc2861e5832db90d4e6e2 assets/twilightforest/models/block/liveroot_block.json -4c80682aac9a02a36b2f715d6421509e73d87fdd assets/twilightforest/models/block/locked_vanishing_block.json -2c998144ddf43467086708b10e61d663303f7bc1 assets/twilightforest/models/block/locked_vanishing_block_unlocked.json -e68d46289ad528d16532b74dcb24779a28718aa7 assets/twilightforest/models/block/mangrove_chest.json -428947229d155ae4d2fdd069a2e7c4a8cf374495 assets/twilightforest/models/block/mangrove_hanging_sign.json -1f291b6bd1242c84ef04fea55c0b5cdd7c4444de assets/twilightforest/models/block/mangrove_leaves.json -1a778ad5a91d27be58f2084e42c40a9ec41899cd assets/twilightforest/models/block/mangrove_log.json -5288e7bd4936e048a1c15a3e4a1a6b8b897d2e9c assets/twilightforest/models/block/mangrove_log_horizontal.json -f0c74a7befe556bdc0ccee016eb95d467708711a assets/twilightforest/models/block/mangrove_root.json -8ec42c0347ab17a86090ad183a87ab7bed728365 assets/twilightforest/models/block/mangrove_sapling.json -e68d46289ad528d16532b74dcb24779a28718aa7 assets/twilightforest/models/block/mangrove_sign.json -e68d46289ad528d16532b74dcb24779a28718aa7 assets/twilightforest/models/block/mangrove_trapped_chest.json -428947229d155ae4d2fdd069a2e7c4a8cf374495 assets/twilightforest/models/block/mangrove_wall_hanging_sign.json -e68d46289ad528d16532b74dcb24779a28718aa7 assets/twilightforest/models/block/mangrove_wall_sign.json -9b9963a7f2560a12d25c3a70561c8ecb0477abbf assets/twilightforest/models/block/mangrove_wood.json -92853f556bbd7c21941176ea840b5d1f47049b13 assets/twilightforest/models/block/mangrove_wood_horizontal.json -2675365eaca155e9ac93557b1e53f9eb6362272e assets/twilightforest/models/block/mason_jar.json -4995f7ce3c51e4ca5849be6a342dc4f7bae1d0e8 assets/twilightforest/models/block/mazestone.json -ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/mazestone_border.json -05513204303ea191a74a47714665d1d52e9b35a3 assets/twilightforest/models/block/mazestone_brick.json -326a7eb2700ebc7478f70ed50a2807bf317d79fc assets/twilightforest/models/block/mazestone_mosaic.json -d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_chest.json -7305e35ab1972927c39429c74bfcf01fa7bc7e14 assets/twilightforest/models/block/mining_hanging_sign.json -fa03d5031c320e55be438beadae0560fe806ab88 assets/twilightforest/models/block/mining_leaves.json -efc73cc8fa5771fdd4c0e954ddd3c7bf4dac269c assets/twilightforest/models/block/mining_log.json -ffcba12dbd958937d12018976ef8e0e99d8d7bc1 assets/twilightforest/models/block/mining_log_core.json -d91d34f5af3408fbd9a375ddab8df97be64ed62b assets/twilightforest/models/block/mining_log_core_on.json -e6228c69e2cb3de7372e3d05b1c5500a82c8b9dc assets/twilightforest/models/block/mining_log_horizontal.json -4a6863ae022600c564d4ed353eab2daad998738e assets/twilightforest/models/block/mining_sapling.json -d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_sign.json -d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_trapped_chest.json -7305e35ab1972927c39429c74bfcf01fa7bc7e14 assets/twilightforest/models/block/mining_wall_hanging_sign.json -d3bb893370bd03b2b42c768042bb73cf4e28a014 assets/twilightforest/models/block/mining_wall_sign.json -3ae30b25522cd2970231d55a05f85914153d1581 assets/twilightforest/models/block/mining_wood.json -1ec6f5ad6b7827bc9f14f34cea329a4ac5b10faa assets/twilightforest/models/block/mining_wood_horizontal.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/moonworm.json -319e3e41df47e5ac259896e4d2dad84ff82b501a assets/twilightforest/models/block/mossy_castle_brick.json -7affdc4e503690046a0bda4906c08dd4fcc1e8b3 assets/twilightforest/models/block/mossy_castle_brick_stairs.json -eb312a31fa8da435fff60acbbe2c59061d2e27d9 assets/twilightforest/models/block/mossy_castle_brick_stairs_inner.json -7b0bd126bf159ab9633c361dab8864b1fededd3d assets/twilightforest/models/block/mossy_castle_brick_stairs_outer.json -299ecb7c48b615dd988a6958d29ed48830741799 assets/twilightforest/models/block/mossy_etched_nagastone.json -f991f5fbfc4c4443135fc1787de905a64d5d52b6 assets/twilightforest/models/block/mossy_etched_nagastone_east.json -e3b73bad407949d3e369885cc872ac3ec0beb8e5 assets/twilightforest/models/block/mossy_etched_nagastone_north.json -7c4cfe57dd9b229a8f2bd205d24bd0bfd6ec62b8 assets/twilightforest/models/block/mossy_etched_nagastone_south.json -651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone_up.json -714f33709e346448aad6d39e9281d70284d86af7 assets/twilightforest/models/block/mossy_etched_nagastone_west.json -24238b0aebba6df281f6cb8fff97c32075f2c371 assets/twilightforest/models/block/mossy_mazestone.json -fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/mossy_nagastone_pillar.json -7616fbf68606060c362e6b7f4bc94e57460b1528 assets/twilightforest/models/block/mossy_nagastone_pillar_reversed.json -f1701fb1848f6510b9bb43c7a77576eaa68b278a assets/twilightforest/models/block/mossy_nagastone_stairs_left.json -7aa062c640dfdb49378c8d8f9135b7b72276db14 assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner.json -d48dfecdf07848b8d8e8222d672d6aba07e08248 assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer.json -227194d288bf5c164c1e37f11d318f56f2e45db4 assets/twilightforest/models/block/mossy_nagastone_stairs_right.json -ce82d61f8b17029dd47efc2bbab8f5752ee2f8df assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner.json -e6fbe08eae2af4c7e5ac59255e168371a9fb5230 assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer.json -17331088ebf418c0fd25b7c2e9149fdfc2e4d73e assets/twilightforest/models/block/mossy_towerwood.json -f4ee2fdd4122d309ac5ef053a79111990648b131 assets/twilightforest/models/block/mossy_towerwood_flipped.json -33d5ae1c13ae92090a05b6d3cf4085f10622408c assets/twilightforest/models/block/mossy_underbrick.json -d453bf7e6f6a686009e14643226aa49d9d7c67b7 assets/twilightforest/models/block/mushgloom.json -8274ec20d898476a327009ffb7221ac404511a9e assets/twilightforest/models/block/nagastone.json -aa9c8d2a2bc8ae90a87934af98fe5687c9ca67a6 assets/twilightforest/models/block/nagastone_pillar.json -a5d262f5809673fc18032fb2eafe6aa67803a001 assets/twilightforest/models/block/nagastone_pillar_reversed.json -88cc298565b066495387113e6ed1a56a49747739 assets/twilightforest/models/block/nagastone_stairs_left.json -3c66d942831f60c9ef17e4fee8ebf1ce63cffc96 assets/twilightforest/models/block/nagastone_stairs_left_inner.json -e01f0fe0473be4717cae3f957b54af857df045ee assets/twilightforest/models/block/nagastone_stairs_left_outer.json -3a48beedada881a63c6a2d72b4d92e69991bb48f assets/twilightforest/models/block/nagastone_stairs_right.json -4e84d61a5d3e52e903382257a3a16f4a9b1fa20d assets/twilightforest/models/block/nagastone_stairs_right_inner.json -436e852eb2fcec4ca649fb381a721bbde194af66 assets/twilightforest/models/block/nagastone_stairs_right_outer.json -09d88eeb2a568500e8b39c3b2be101337729e256 assets/twilightforest/models/block/orange_force_field.json -acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/pink_castle_door.json -3e7f778ecfd3b2551a8f6a7eb2ae6109eda8d2ed assets/twilightforest/models/block/pink_castle_door_vanished.json -21ec5ab893c21175846131cac43c7d2a445b0bb0 assets/twilightforest/models/block/pink_force_field.json -988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json -227418fee0a05e71334e4ad8e467a3a2ca9d85d0 assets/twilightforest/models/block/potted_darkwood_sapling.json -a9fb58a408d79162ff0c0d5abb2ced2ab0f166fb assets/twilightforest/models/block/potted_dead_thorn.json -bffee8988b58e3e9a76250c996a8e777db78a2e8 assets/twilightforest/models/block/potted_fiddlehead.json -11bac59601f87ea64883a0209a97426c95216472 assets/twilightforest/models/block/potted_green_thorn.json -f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json -6d882093cb44476fc24f370f1c073600126f3fde assets/twilightforest/models/block/potted_mangrove_sapling.json -29966e31c9b5d2d9f2b9a1c16a217fe6cc4f293d assets/twilightforest/models/block/potted_mining_sapling.json -6d91930000bfbc65a650b2901657c63f0a14874d assets/twilightforest/models/block/potted_mushgloom.json -5e1644cb8333dcef209453e3e12f781e4817ea9a assets/twilightforest/models/block/potted_rainbow_oak_sapling.json -05a22fa8644c2408e6ce41447ffa5c12c416f96a assets/twilightforest/models/block/potted_sorting_sapling.json -b7ffe692071f92ee8bb91254bbeeaa9bdb388c79 assets/twilightforest/models/block/potted_thorn.json -27f47c690645d9f74ad43b3a2f88e06948d9c4ec assets/twilightforest/models/block/potted_time_sapling.json -c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/potted_transformation_sapling.json -4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json -20a37c4aa6f4f5f3553f16959ba2c62ae798689a assets/twilightforest/models/block/rainbow_oak_leaves.json -8bd5239c5072f77539a40357736b47367a7484bd assets/twilightforest/models/block/rainbow_oak_sapling.json -70ce5a6b92bc69a1b6c7177bffe12ea798e2ff5e assets/twilightforest/models/block/rainy_cloud.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/reactor_debris.json -799a3861ec8aeb63a7e942e2270f3a2b6ae74d4e assets/twilightforest/models/block/reappearing_block.json -53b35829a1e19066df1feb1ca8566b8897cdd84a assets/twilightforest/models/block/reappearing_block_active.json -a9c2a7bf1b45623aa9f0cb4405e67a194e69144a assets/twilightforest/models/block/reappearing_block_vanished.json -3ad5e8cb5ed476217387942c7a9826b3b78012fe assets/twilightforest/models/block/reappearing_block_vanished_active.json -a3845a67b51e91efd49a2893dcaf9a11e64b939d assets/twilightforest/models/block/red_thread.json -1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json -5b414ba9a399caf67ec23f40a563b08cad158696 assets/twilightforest/models/block/sinister_spawner.json -da0bccb2705fa0306e7c0f57221137f2e721975a assets/twilightforest/models/block/skull_chest.json -90f5aacf15e0b6d31622c680d5323a1941981426 assets/twilightforest/models/block/smoker.json -1f71929bf4dc1fd19d66c7123ffba231b1fcec46 assets/twilightforest/models/block/snowy_cloud.json -d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_chest.json -911ccc4a0623bde0bb53424453c4eb5067f1b120 assets/twilightforest/models/block/sorting_hanging_sign.json -57cf8b4823c3ab09fe44fb2f9ec21d42298c9d99 assets/twilightforest/models/block/sorting_leaves.json -966c5c800eb404df191415756c4eb0f365c2d532 assets/twilightforest/models/block/sorting_leaves1.json -e2406f8efab495067735deb952ff29f4ccb37528 assets/twilightforest/models/block/sorting_leaves2.json -d472af95038ba1f75b5cb428dd4aa320f50bedd0 assets/twilightforest/models/block/sorting_leaves3.json -1bd3517d6a2f7438e30618820d0782bc778ed7d7 assets/twilightforest/models/block/sorting_log.json -9bbe5e5a62cdc38a6f8511c156a03bb9e4704f07 assets/twilightforest/models/block/sorting_log_core.json -075d1cc785a8294fbbc71b439c2284eeb9a024d4 assets/twilightforest/models/block/sorting_log_core_on.json -e85c24359b529f42e30ec55a0b5474d0fa9d9dd0 assets/twilightforest/models/block/sorting_log_horizontal.json -80dc05816e4075b26f47f2169f8bebc3fcdd8e0f assets/twilightforest/models/block/sorting_sapling.json -d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_sign.json -d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_trapped_chest.json -911ccc4a0623bde0bb53424453c4eb5067f1b120 assets/twilightforest/models/block/sorting_wall_hanging_sign.json -d518aca55dc8aad690c416b1704203c8445b19db assets/twilightforest/models/block/sorting_wall_sign.json -2eedd26bc504355662ef20d9afb2ee6b99d87490 assets/twilightforest/models/block/sorting_wood.json -47988fd95571a3a69f8cb135ed9effd4716b02af assets/twilightforest/models/block/sorting_wood_horizontal.json -b56d9fb7d6c6de2d70da12d6f4b6b353240753a3 assets/twilightforest/models/block/steeleaf_block.json -a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_log.json -043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json -0b049acba8f501ad23fa66adcf3f823fe576c165 assets/twilightforest/models/block/stripped_canopy_wood.json -bc58d576bd46ee3216a6110205bcd6beebe5b99a assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json -1a881064c8a895eef0dbe13dcc644ca575a0f5f9 assets/twilightforest/models/block/stripped_dark_log.json -e875dcdeda1755d2f494c02d6780e0c998c0a9dc assets/twilightforest/models/block/stripped_dark_log_horizontal.json -7959cde4e9fff07ed87623700c69599914092d76 assets/twilightforest/models/block/stripped_dark_wood.json -f7b0d379ee79b26f05adadfbe6384969f4c4154c assets/twilightforest/models/block/stripped_dark_wood_horizontal.json -8416328d50a3870fdae7fcd94a7b2e53cceb1c82 assets/twilightforest/models/block/stripped_mangrove_log.json -d995772a4666a787531cd25b0221e0688ece785a assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json -3518a7f421fc90d8a2325e916a9f49f00c4fedb6 assets/twilightforest/models/block/stripped_mangrove_wood.json -1faa23cd72f148b3bd89ec17ab316f73f5e9a309 assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json -9f28ee80915cacb83b16691f3e100463ed8a7060 assets/twilightforest/models/block/stripped_mining_log.json -1101bf5e76b84ea3b3b7125502f8378f2fb04d62 assets/twilightforest/models/block/stripped_mining_log_horizontal.json -c4307e1f770d620e7637d0ff2723ffedcb1c9ede assets/twilightforest/models/block/stripped_mining_wood.json -d44b32ae92076ff6b17c6019e2a052f19500ea92 assets/twilightforest/models/block/stripped_mining_wood_horizontal.json -dc73664a0b34c1c781de67dddafbd6d8db7cc4b9 assets/twilightforest/models/block/stripped_sorting_log.json -a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stripped_sorting_log_horizontal.json -777c1141960f58e8243f915178f07650458b33b2 assets/twilightforest/models/block/stripped_sorting_wood.json -423cf077161332f448b2a5e0e3f30954b2310da4 assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json -89121f67e195d98501e86f873ae9a93ba324cb07 assets/twilightforest/models/block/stripped_time_log.json -7246198f678fb47764aea551423f906f1ea27dc5 assets/twilightforest/models/block/stripped_time_log_horizontal.json -1e86956b7364a86210d6bd64ae7395016bb4c07a assets/twilightforest/models/block/stripped_time_wood.json -91febd2443d4772173f67e9bb16a18934db163b7 assets/twilightforest/models/block/stripped_time_wood_horizontal.json -0678c441ff364be02825078838192666954305fc assets/twilightforest/models/block/stripped_transformation_log.json -0e70f00092372063a4c46f948efff6a174a6930c assets/twilightforest/models/block/stripped_transformation_log_horizontal.json -ba050e72daf1356618f804691bd2f0eb507c3290 assets/twilightforest/models/block/stripped_transformation_wood.json -b901604b33816e3b2c05d24cff83d2817d335c83 assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json -4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_log.json -36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json -3ca2eba98744ca40365a57c129ad498d3432ebac assets/twilightforest/models/block/stripped_twilight_oak_wood.json -0908256de986bd2f8f8e06012f9b763ef8e3fa26 assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json -f153e62aa31a962466b24920b3785085321be642 assets/twilightforest/models/block/stronghold_shield.json -525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json -93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_x.json -6fea7dc89fa72f60857aea922392c9319da6b513 assets/twilightforest/models/block/terrorcotta_arcs_z.json -38a525fb1da25ba975d3523c0e9a2f65c7f0ae32 assets/twilightforest/models/block/terrorcotta_curves_0.json -40302a384a9b5732f9b823638e5b912e445f55b5 assets/twilightforest/models/block/terrorcotta_curves_180.json -4351f05850a9affdff5b281d5c4fa9683d53fca0 assets/twilightforest/models/block/terrorcotta_curves_270.json -0a1c67b3789449291e8f75f5d50923ed6ae74fa1 assets/twilightforest/models/block/terrorcotta_curves_90.json -742e4aa2444370bc6ad5f4281704cafb7aea575a assets/twilightforest/models/block/terrorcotta_lines_0.json -e1d8dd086745ae5ba35318de38f3dc3075c0ef79 assets/twilightforest/models/block/terrorcotta_lines_90.json -595bcb64d52267ec38330737e610da0e178b6140 assets/twilightforest/models/block/thick_castle_brick.json -bd8ec10fba2faf5c43a345a3f6324458ffccf0aa assets/twilightforest/models/block/thorn_leaves.json -07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json -1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_chest.json -5865607a7ef9c9e9e0dcbdce6d06718dcf10184b assets/twilightforest/models/block/time_hanging_sign.json -48f34c7c1cc7b72666efabcafad71282d29f49d8 assets/twilightforest/models/block/time_leaves.json -d6fd1c256276de752510d2daff6bd231c4f60240 assets/twilightforest/models/block/time_log.json -4fb8f1db99ec95f03ed3244affbb6b17fc957d85 assets/twilightforest/models/block/time_log_core.json -ad366cdb2c4d40253ed6932c8d970dadda93e7b2 assets/twilightforest/models/block/time_log_core_on.json -8e71c9d31c4c5543d3bc9b32adbd7aabd68934ef assets/twilightforest/models/block/time_log_horizontal.json -81bf36fc0dee555da7c4aff3acd99763b65dcccf assets/twilightforest/models/block/time_sapling.json -1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_sign.json -1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_trapped_chest.json -5865607a7ef9c9e9e0dcbdce6d06718dcf10184b assets/twilightforest/models/block/time_wall_hanging_sign.json -1710340d823d1855f86cec8488267b4d4d5899ad assets/twilightforest/models/block/time_wall_sign.json -b1d8ae6177f43c03f108ca88e1e8fb4e5827ee4a assets/twilightforest/models/block/time_wood.json -6cf5af02d43974d0b512cb9640ffb0547f447851 assets/twilightforest/models/block/time_wood_horizontal.json -cbaf14289a9ec2e8b3588bb88ec7c56d894f6b8d assets/twilightforest/models/block/torchberry_plant.json -dc70797a32a876d52b3029dadff20868f73529e4 assets/twilightforest/models/block/torchberry_plant_no_berries.json -fe2e0a67f4949e16b77b490571774c798f27e028 assets/twilightforest/models/block/towerwood.json -9d8857b8afa293e7c5242db4f357c7190b81acc6 assets/twilightforest/models/block/towerwood_flipped.json -3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_chest.json -74444280d2f22c61b08ce0e6d672e9d7c19ae7e2 assets/twilightforest/models/block/transformation_hanging_sign.json -257cef5b0678fec42e1cf57e9dd27b13787b11b3 assets/twilightforest/models/block/transformation_leaves.json -1f1ac9b689198d6dc152fd2d5e9517d159f79c5b assets/twilightforest/models/block/transformation_log.json -3d37c4a41e4e753e97dc6b3ec560e738aa4d8780 assets/twilightforest/models/block/transformation_log_core.json -7790f7cd8f8d85c32b17e38733b7ee6a5fc9e8ef assets/twilightforest/models/block/transformation_log_core_on.json -3a433974bccc3e77e9fd9194db1680755ee88a72 assets/twilightforest/models/block/transformation_log_horizontal.json -d02fc273e4b909739750aea865a75cebf1f69721 assets/twilightforest/models/block/transformation_sapling.json -3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_sign.json -3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_trapped_chest.json -74444280d2f22c61b08ce0e6d672e9d7c19ae7e2 assets/twilightforest/models/block/transformation_wall_hanging_sign.json -3663d5f6305e0fc944e40e8d703fddbdeb48da5d assets/twilightforest/models/block/transformation_wall_sign.json -4b6a9d6130919d1d0379f6741be485725f05f224 assets/twilightforest/models/block/transformation_wood.json -f903c0f0a38d570f32e8d6cc7a4fc57cfc06cfcf assets/twilightforest/models/block/transformation_wood_horizontal.json -11005a032348391eb20d1a18ff271579cf2412bc assets/twilightforest/models/block/trollber.json -164b3216edcb2065d9c9add1370aaba79c7196f1 assets/twilightforest/models/block/trollsteinn_inside.json -4ae965c1ff8d93ea34612519560e7657812d00da assets/twilightforest/models/block/trollsteinn_outside.json -d3e81d2bcd5a79ac3837cdc9f080040565c7832e assets/twilightforest/models/block/trollvidr.json -7e21ad2e13ece0dfbef846e47b64a592def88e16 assets/twilightforest/models/block/trophy_pedestal.json -d356b62ca23839b0f0100d2a8eea30aa22af6635 assets/twilightforest/models/block/trophy_pedestal_1.json -d40beeb52b0d53f5a6bb59f2a23d308168e95c8a assets/twilightforest/models/block/trophy_pedestal_2.json -cd2accaf4cedce32a88692ae5e57efc7f5b4ed42 assets/twilightforest/models/block/trophy_pedestal_3.json -ee4e77d451ab99822b6977df816530d7e1ad3798 assets/twilightforest/models/block/trophy_pedestal_4.json -057b7dc098b5c9eb873175d7591ae526db78632e assets/twilightforest/models/block/trophy_pedestal_active.json -5f4dbc6a155f32c2cbe69b197f2326965c92caa8 assets/twilightforest/models/block/trophy_pedestal_active_1.json -c8a5dd8e2c97f54ca95a8f820d74382666cc1a5d assets/twilightforest/models/block/trophy_pedestal_active_2.json -848f0c753010ef9c8351c55bbb916413f6a6ab1c assets/twilightforest/models/block/trophy_pedestal_active_3.json -e82784d32131054185a6ffa36f93891e2c3f51e9 assets/twilightforest/models/block/trophy_pedestal_active_4.json -53606a7d083459157ed76c3fd66da023efb451dd assets/twilightforest/models/block/twilight_oak_chest.json -9f7f848e529e52be91bd93bdee50cb13c8698c35 assets/twilightforest/models/block/twilight_oak_hanging_sign.json -20a37c4aa6f4f5f3553f16959ba2c62ae798689a assets/twilightforest/models/block/twilight_oak_leaves.json -ff5ffa661409624715ebe16b9469624e405f3c0e assets/twilightforest/models/block/twilight_oak_log.json -1c3c527fc5ed820a068e7432d1b1623e669adcb2 assets/twilightforest/models/block/twilight_oak_log_horizontal.json -a2da631152eb68d0659705d2f5ee20ec59857df3 assets/twilightforest/models/block/twilight_oak_sapling.json -53606a7d083459157ed76c3fd66da023efb451dd assets/twilightforest/models/block/twilight_oak_sign.json -53606a7d083459157ed76c3fd66da023efb451dd assets/twilightforest/models/block/twilight_oak_trapped_chest.json -9f7f848e529e52be91bd93bdee50cb13c8698c35 assets/twilightforest/models/block/twilight_oak_wall_hanging_sign.json -6b0020137b3d62b2650042d215d47b2b00213ab8 assets/twilightforest/models/block/twilight_oak_wood.json -c9d11c3af39386b8ee8581e42b73a8516b823aef assets/twilightforest/models/block/twilight_oak_wood_horizontal.json -53606a7d083459157ed76c3fd66da023efb451dd assets/twilightforest/models/block/twilight_wall_sign.json -93b214d6062232585e39227465b288bb3f5d2e7b assets/twilightforest/models/block/twisted_stone.json -c86ec17c8f44b499174f40eb86b4f0b1659f9b84 assets/twilightforest/models/block/twisted_stone_horizontal.json -8f5ed153c75a31127fb78ad814805848547e6e4b assets/twilightforest/models/block/uberous_soil.json -98621bdd00001d292962a164811485d1e4c0b082 assets/twilightforest/models/block/uncrafting_table.json -837f932c95b0e0066afbed81071d86b478c08f33 assets/twilightforest/models/block/uncrafting_table_glowing.json -eed2392ad51a5d0a35fdd23fada77f8030c11b11 assets/twilightforest/models/block/underbrick.json -f9f6c8993506ac436f9365835657f29069519eab assets/twilightforest/models/block/underbrick_floor.json -4f1ad4e7f955eca4dc4f859337dcfd7a316ee84b assets/twilightforest/models/block/unripe_trollber.json -cb91e959f945c80e3df02b08225f7fc4f8b292b9 assets/twilightforest/models/block/vanishing_block.json -ebc2f70dde83057c1366b28e330897036835d55c assets/twilightforest/models/block/vanishing_block_active.json -7d940a93f3577d8f92d28c0da5e508ff5e266544 assets/twilightforest/models/block/vertical_hollow_log.json -9b393a37c86c1674cb855a67b6308d95f376f97b assets/twilightforest/models/block/vertical_hollow_log_ladder.json -67f49900a6367f7e351988a8040aa0117f932ac9 assets/twilightforest/models/block/vertical_hollow_log_vine.json -acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/violet_castle_door.json -3e7f778ecfd3b2551a8f6a7eb2ae6109eda8d2ed assets/twilightforest/models/block/violet_castle_door_vanished.json -74d7140049b4ceba9700481f2c4ceab8fa5a8fca assets/twilightforest/models/block/violet_force_field.json -ab1cc62e5829d2458b31e7c0ecd80ee9efb05501 assets/twilightforest/models/block/wall_candelabra.json -4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json -aae3c42bc50afa1ec4f97c8cdf84e58e109b8a6e assets/twilightforest/models/block/wispy_cloud.json -f05dad705007ed1bf40f1bfd33b36ef95a7ba88f assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected.json -5f4224f7d4c66563445d5796c5320505ca806c23 assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected_extended.json -e641357d81d0db4714fed896ab2a9f065a26d0fe assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short.json -c9d852ebe0ef4b5f0761c1bca4baa3fb379c689a assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short_extended.json -41f677a1ec3a5a8d5f23a19102f9cb2fb36c4d26 assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall.json -330170ffd35e9883c90256df6b5451923315b5f1 assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall_extended.json -612b554b0e3a6aff36dd99acea8ac15f4393ec61 assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected.json -131bc8614567ad5f081c2fb7dbbed8044d2a19d5 assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected_extended.json -845c221ca0dd8e71bb8353cb8bd106af7c218cfd assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short.json -bd8b252faa40078e061a83cb1631b4cc4076fabb assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short_extended.json -80d278f2cda9ebe2e09996e1fd06bde154460727 assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall.json -7f0161252fc0396cbc4387790b0884415d3d0838 assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall_extended.json -a80406b6f10ed730630cce44f1fff5f635420fc0 assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected.json -ad1253493f05424be21c408de2ef1c49e4bb608a assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected_extended.json -08fb51fe4662baa819f2b56be67824fcafb6bb66 assets/twilightforest/models/block/wood/banister/birch/birch_banister_short.json -fcb6ce40a91ccb555156b1c8a0fcd9d01356de1a assets/twilightforest/models/block/wood/banister/birch/birch_banister_short_extended.json -1f4815b512abe55b025b5cbe3ec580094f89503f assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall.json -18766c8d26d7ba0ae13d6b17de869b8158b92d6e assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall_extended.json -88a5cf32d176d2539c733b1d64cb1afeb44bb83b assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected.json -0d15968490b5772e18b6ce99c6c1b0352290e316 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_1.json -68a2bc44883e53ef61a124ec355db27a89b1d74c assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_2.json -c67d6a703ea03906539e9876158f7b3e86a454ff assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_3.json -01dba3196bc16f224eb7bce988deee1f2bb4fd70 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended.json -f5d2dc66940a4ca2fa6a64a0e9bdf3b20ab4f0b4 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_1.json -6a2b7fb6588078f62dcfae46ce82c3c971b5fd89 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_2.json -b03acaf3f6aaa47e1eeaeb77eaf18e58ad4f4a9b assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_3.json -dc2a4afdac1be83da2a36a31b819a200abaf174f assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short.json -0670794cbdbaf3457915265234e71c0ae4aae6bb assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_1.json -d1180c1767c736f0d08d2d049871fe105dd59d3b assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_2.json -05ba49af11aecc2136b2843a1052b761f3817aa4 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_3.json -e1bd65236e0a6244baeb570591a40e982e6c597f assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended.json -adecb6edbeb1e16f88ca2eec10533eca97897c67 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_1.json -4a23cc39ac047bfa10e75b4cf77bbc4d9630087d assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_2.json -24b42cf5d453b65adda367b905e208656c6db467 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_3.json -f0d75975911be0effecb9c665c3c5f912dc52e63 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall.json -fbf1f46499abc238f5b5afd0c0bf86125b818f22 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_1.json -524a2a954406556fbfc3e52db07d5c7ef6257af5 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_2.json -5874f06466fc6a09ebb8b257d8d1249c05d751fa assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_3.json -55748548e4229e69f54007602339b27127a7a335 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended.json -9a8e3df97de2fdc50cb8a21806cf92f0babe8150 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_1.json -8e58d1a4b86a8b3fc2d008e4a1dfe7f240546caf assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_2.json -292992ee051b9c33fc560e0f3ca13c7110dad220 assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_3.json -91f69f2e84bea10ee443f1a4a14a66b66153b1d6 assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected.json -578203432cc0e2534ec356fca90896dd2b1755c0 assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected_extended.json -3b8b6ac303cfd281951378b6ab94e2b6acc1af66 assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short.json -43c852a37c89210adcfaef290a58ed6ee0bb45ae assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short_extended.json -268dc814051444cabc67edebea5f1d05f0a3d4ba assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall.json -d91617daa5f9bcd4fb7da173695606f1378b83cf assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall_extended.json -50869fd994edc71bf866be65080f1057d3bb1526 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected.json -79b9cdff2d7d176a8de575bee9e6f5cc1b7ba3f3 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected_extended.json -a6231204fb7cedf1ed204c8fd0e5bff3ebe6d850 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short.json -395cce33c02c94c89dec973b008b4e4a4f76d28b assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json -2c03f87c0d219d4969f27dfb3770d3245a7517b2 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json -6531feceb39ab2904500388561dd9a47438d5a56 assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json -42ee9e2cb9a23162fc6c39aad42f3ccf7a391186 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json -69974fae9a2c179d5a240751e244cf54d7a6b5d4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json -ab97290a481ab279b235961619dde411f2efcf6a assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json -7463f5cc523f420719256537e6b21881ff72e391 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_3.json -bc2d7411bcc0f9e8ea53872c431d2635b81a356b assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended.json -40ca42159747d6457dd7cc42a28e5eb5f3954351 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_1.json -ce9aef65e685cdbe0c25733cdc604ac5db5eb61e assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_2.json -5d8f7479a3f6e5acfbf9868d66424f8c7eed06f7 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_3.json -d88c2cf3e93f9d984f0ae24febdb9dcd468e65fb assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short.json -a128e3b0f60da87619b92836a33e86975381516e assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_1.json -c210c0794b1f45ed30bbda11c52de3eaee09eebc assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_2.json -5e25eae5a210cdad1e57786374714771774697bd assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_3.json -13d1de4c837803272e8ce84b4d880bc176f43ccc assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended.json -cc239e29633b4d934bb50b4535e328937fc8a537 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_1.json -fc1f4706de90e71cd539cfe1fdf4bcc078c5347d assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_2.json -16b578444d6cb9f29bb8df5d2c37785b60bbd550 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_3.json -c1a6a05064a128ec48ae48576a7248a9a8fc0928 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall.json -49388fa71fea33e0adb7458c4763a1ad6b32e57e assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_1.json -2993cbdc7cca279dc415488212f4d213a716a427 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_2.json -c254af4c79720d1b41d5a1975733f833db5a850c assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_3.json -8216d62ff559d4a317b53654dce8fbde48d87fae assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended.json -6cc78b11e42419d01ce0107218b1cc704393dc49 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json -f472c22634bcb98dd0fb85429b586e44822e3166 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json -156c8b19417d9614f3be99eb51d14ad1c16f6ee4 assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json -e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json -8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json -7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json -0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json -85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json -dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json -b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json -71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json -f8e6a9570639dc59ebcd2981321001f3fccbeb95 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json -c2d0d703c810833b91827d626a798ca6f5d0dd8f assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short_extended.json -2539c983a20c9601dc82f4f7f356eaa77730949a assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall.json -ef8f245fc413b66b9f5a9e1cb7c8da5ac0ccdfb6 assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall_extended.json -b56b992588afb6a7a3d18aecb3be213a25fa8d39 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected.json -d6b60c11338f8fe97bd3143434563ebf7accd203 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_1.json -5d64339e573d12946dee25683e58d5164e9606fc assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_2.json -26bb939e63baf8e76d6e26c3cb1d6354abdfb38e assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_3.json -7f90fdbb55360d5d3baf0e82d97bf00595893387 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended.json -b8dfee2c28980260d34b9f27ba36362255564ac2 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_1.json -ff24046c636b2ccd3d3dd6b0624b8aef0c857fb7 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_2.json -f16a44271db1cea4db566ed9d325aed5b2e1c0e9 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_3.json -589acf591e753c6b1cc5c971356eb936418136ec assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short.json -5e2c08e3b14ea1e630bfb2f78153484da4010553 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_1.json -38bb2606ec04782b1d8233fd2fb52e8fa78e2c4d assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_2.json -716425804c9060a2aa489fbeed624ac2a6351e34 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_3.json -e92704bcafe5dd0250562616ea11370faff1cd4f assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended.json -150a15dbdbc9559583185aea16226b71b2df3203 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_1.json -8944c227656921eec8f1ecebd223d7500c15d00b assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_2.json -0abdd1a8493dcd456bf45a1aa29e30b0df911eb2 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_3.json -d418518003c90e8fc6a86e05ebe72fe09c094cc3 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall.json -27bfe381721b33220ea1ef0ab0376667e610f750 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_1.json -4742e2ef92b44e36f2c20bbc96d54c679a70d33e assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_2.json -b7e8f2f394a3cdee2778c4b67499f397f1d9058a assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_3.json -c92b08dac6c33da58fa20982e30eeae108bb6b95 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended.json -f3d682f55a5cef79c83bd1f084bc05bbdd7c706a assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_1.json -8de10dbc312a0a57c21a57d9840ed6529fc3483a assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_2.json -478b73a0043940239efb9845cc6dc4c9fb58ef80 assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_3.json -5f847786a43b2d1e4ab01b17e39663bab69eff9e assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected.json -5fb7079a690d6b9c292768c6fd903b8be4fb540e assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_1.json -9f6e6dea0179cd7290d4d24cf84335e89c5ed539 assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_2.json -982093e79178fab5c279da7235199caf0652a951 assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_3.json -eef7dfc8f1e46ccc5162176f7cafadddfca8854e assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended.json -938c495d8a03e4206f976e1e9cb0acf336f26dcc assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_1.json -4dd4b6e314af32392c7218ceffc1eafc6453537a assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_2.json -a12284896d2212cdd6610e5d47e0948602cf1788 assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_3.json -2d62b999cfbd76e755cd5b3dcc719a9dcb6f3c84 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short.json -c2cafacb468669512d685b795d09135a71c419f2 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_1.json -5f97065c1273a926f06dd126a13d8ca215e6a7b4 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_2.json -e49a4d6cfed76ecd041bf06c46726a5778cbd09b assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_3.json -3f2ed51e9dbe50fc469db494aec036ec4162873c assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended.json -f8c7888d56118272e2a9e1d86a5a9215d1a9cda0 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_1.json -88871af4253ad862870aa533513093f45b5ca7e7 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_2.json -c6094002c18fe5b64a01815edc75276b68570ec9 assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_3.json -19382129d9d5273db9515c1218cc87d1fa50a87f assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall.json -99116b474e95a01b0b67e8073f44a453b1ed5969 assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_1.json -9294bdac73635b0b4e2525ce45f0afdc45444d0b assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_2.json -6539a001a58ca0ec1bce57053332e6561cb1d86a assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_3.json -c0e8f65fb6c4f64f3130f918bc6ae2b47eab1436 assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended.json -1c854299fae7ac88bdbea33ca780ad78d04abf12 assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_1.json -b8ed8375690a4a08ce371ec72d8422668d1faa7b assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_2.json -4111c589a93812c10a16f93e53ef436801117aae assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_3.json -b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected.json -044de2410c94b451ee81c412d57bdd0cb4d362ad assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected_extended.json -248d58476a85a6e0689ceb4a017fb843ee567b6b assets/twilightforest/models/block/wood/banister/oak/oak_banister_short.json -8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/wood/banister/oak/oak_banister_short_extended.json -0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall.json -1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall_extended.json -043e7a5c3b6c44c049272b64ea26c093c1d778c3 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected.json -c903bb18c27a2373bbc037ef6ad4622ed8d98fa4 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_1.json -360a7db4871cc4bd2c7709b993294868df18f437 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_2.json -f257f366a06713195372fb3a1cdea76ab7415e78 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_3.json -ff482cec5799a81473f4c8b0f0f982b5c6b276c4 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended.json -875398ebd5533223b217343981b987307d99e27c assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_1.json -d481f0cd0eb678d8b0d75f38186cd29dc4c6ad60 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_2.json -db02b8a622bd16572a0cdad41eefe5ccb24b911e assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_3.json -8c4466587422fb41bf41081a105147e7e0836b8f assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short.json -2c3372513cb26304efea2a7052db53d0e292c4dd assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_1.json -c355f9223ae19924973af96da2df2cccbf070206 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_2.json -5bb4b6384e031a1af1789962771af72dfae55110 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_3.json -736589898c6f975bfffd4ce4aad749f0db7d7e64 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended.json -dfee04c5806b7ef792c613c74ea0cc594272296c assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_1.json -4e6768e087c973b6269f2ae65e11802b6c32e5eb assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_2.json -b0bb2b4bd64e86161a1e283f27e8522a28d49a65 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_3.json -71a95458f3e2fc8517e1f4bbd55c2bf5b2df0d05 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall.json -e271a4583f97698dc8546743956f6110b86f3c37 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_1.json -5ca79e58bf62d7259ae019ce4e9cc54013ba7d39 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_2.json -383de11a93d63603934bde52ce24113b2fb680b4 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_3.json -a2c05f78033412d5ca621049886a11a1673f17d9 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended.json -76e17ec4a87732f5f969babcb01f51af899b1a05 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_1.json -3d7fbb788d9ca332b018b5b8960f09aac4267c53 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_2.json -2b26a4e7f637d63fc232199c19fede77f3cbd7b6 assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_3.json -9a75de438600fb20513f51893e2f93bcf0e9f6c9 assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected.json -7bdd5826b47bd8a4e13c3efb4fe790147f8f3c69 assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected_extended.json -60987e64c206eceb1100e826357222575a2353bb assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short.json -bf78ae23d06069e839954df8607d2b0b99e39e74 assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short_extended.json -4406a9c225ba07b68fa91832e2b2087e1935a591 assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall.json -ef69791a9675daacaf5b54b42d280942589995cb assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall_extended.json -fade0d246bd299407b707bf1bdd38f021f3dda92 assets/twilightforest/models/block/wood/banister/time/time_banister_connected.json -ada523036947f24851cee6e7552d2643274cbf20 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_1.json -0d499872690d03682283925e3eadd48c479f0d17 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_2.json -e5e9e5b888fa505c08ce65e07ec35b587ed6629d assets/twilightforest/models/block/wood/banister/time/time_banister_connected_3.json -b7b37fcf1046ee9d720dc5827b61e4cf0bdc0ec6 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended.json -3fbdc5734a7f00a7d0fb2ff597e4a030065b0634 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_1.json -b5d8112a023069f29ee68571d4be554cc3df1342 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_2.json -e8515c50654079203af2049f08dd8f1cb6bce525 assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_3.json -4ea51ebf0a091ac0f0c1ed113f6c3ca93aad3304 assets/twilightforest/models/block/wood/banister/time/time_banister_short.json -8082312a9bbd239fff093663ab452827d05f8c09 assets/twilightforest/models/block/wood/banister/time/time_banister_short_1.json -b00d07435e5c6fc7ca6a1519bf75c0290329d6f0 assets/twilightforest/models/block/wood/banister/time/time_banister_short_2.json -1c819c9a1a46217de4710dba85647a2f7236449b assets/twilightforest/models/block/wood/banister/time/time_banister_short_3.json -7b9e5c22d0bdbd96519bb5490c1f17bd566c985f assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended.json -21251fd33cfb1b6d721a82ab662fd1210bba0560 assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_1.json -28b9c511442f5388bf4176cae12e3648b4cc578d assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_2.json -2d5227d72e631c375a8519b774212f0673e5441d assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_3.json -d71ac489f2097a819626fa33f90088400bff929c assets/twilightforest/models/block/wood/banister/time/time_banister_tall.json -840200063905c295f5a3d84c4fb93f279ee0c435 assets/twilightforest/models/block/wood/banister/time/time_banister_tall_1.json -9d661568264fb28d3ddee829376242e6a7830036 assets/twilightforest/models/block/wood/banister/time/time_banister_tall_2.json -aaa82716ae695c3cf0767858eeef9c67390d67ef assets/twilightforest/models/block/wood/banister/time/time_banister_tall_3.json -9fab2d98357ef97d008bd5f1871ddb0e808e18ab assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended.json -796c5282641ad4eb31a826a8d51704f0af87aaa5 assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_1.json -429c71aec7e82b0daec82fcfd52d7869c6013cb8 assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_2.json -6c20e05d05f14664d726653f7e93a27525e97871 assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_3.json -467e5db22c780710c27d404ba898ae0042d356c9 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected.json -1d9809cb47fd0191b9779fa74cb98bf185efecf2 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_1.json -171d89417495e5178a8500be9f05a75506f1bd63 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_2.json -54e241c46143a067171093cf8260f5c93f81943a assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_3.json -9a4d83163b3f48d6001ad498c0da609d7baff1d7 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended.json -efa02ca4812222c4c0b27e83630790d098340bcb assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_1.json -1f1e2ed8703100b3b9f8ee035d8c74ffdd777c35 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_2.json -a9def34b6bcc2d5cdfad8ae554eb2b3915d09f10 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_3.json -4cf67bef440f61f4ebdf1e812c86e0e1e3cd4cc2 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short.json -0866aee80cb652bb59ba19a52fd79a7ad75a989d assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_1.json -a496a9e4575b6be624bb63d7d6fb69df91c81f45 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_2.json -d95c56ee0cfc710651cbead52179d225e98ba08b assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_3.json -2bd596b872eb0e83267ac87f1351dd69c6e1bfa4 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended.json -483584195b79590b1e4b7f3cbdf09a7482c5fe7b assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_1.json -4b6ec70bc3a9e20552bca404d68a5dc193345008 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_2.json -9d73608ed87bd628bab28ef26884eeacec80a5f9 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_3.json -87fd9490e4afbf355cc8f0b02050c67e68f71274 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall.json -438f0d201bedb23e7a349f6fdfbe8d66491ba1bb assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_1.json -7da3543537439ccf94187e6e8ca729f0fdf54244 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_2.json -8a511e020c2f47acc5af286661c41f990020771a assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_3.json -aa41673fa9de9d18025f0eb3d0aeab2765147295 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended.json -bc8d6d2fadc156998f4e2df11aa28645f6201a6b assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_1.json -bc6290642cf598cc931bc40f05f99bf0fc9daac5 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_2.json -07eae41fa2ac8825793bbc21e993faa7737d7221 assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_3.json -7affc5451af733e0b42b53b2ee5fcdcd062ec107 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected.json -a2a4f8e19a8a2c95b1d6aef4c160a26a57b21dd6 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_1.json -bb7fbb4adcb27c630b53c21438635044510c562a assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_2.json -28d4aae3ead2d722781e3c7eb69910df64239ef7 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_3.json -7a07631c9c48b68eed7de9831f2485ccb2486cd3 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended.json -f5832b80bf0b4c05c19f0834f7b24539d5efceb8 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1.json -39e6c3bf2f98f1b027db795be1867359f89e3df0 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2.json -6fb983e53154a4195b3b76658ea9a44c9409e0ef assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3.json -8d8c8b7b30ea91db24b2bc7bc83a9303cb1f1b3b assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short.json -97fe0820543ba98a79841af2972dfeaf3f5fb16a assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_1.json -6821586a0511d9096f78e052b40299f52b4d184f assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_2.json -3db6b20ee12857d3a416d54c7e583dacfeb7c164 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_3.json -4b42d2ccfc77e78696409fb3230a04c1d4b89e4d assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended.json -a5223aaf5d880fa82cdb6915ff23865433a779b5 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1.json -2d9a6e8090075c940c7a340389c1ffe421efdf1a assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2.json -f5a6a99eccd0a0c652d5c6850c2901262f80e0d2 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3.json -786a1c6e3c214057353e6ac256d5bd81a800186b assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall.json -d139e7140962a56d30b96589c46dd2d6f8203094 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_1.json -f0ca6ce79ec297705b0378227dfbe94b8c667179 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_2.json -18c65abdfc8ed1a7810dd469fa1771cc5c469bfd assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_3.json -289eef6f6e7653a4fd9624ceecdc753bebbe799a assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended.json -c3e93c5f0f7032492cc145e384063baeba28ff7b assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1.json -7047ab5cd3adb11e0d2589625e63599b04118d13 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2.json -45bf6175d8c0de9c5c7f43964a32c84b677df909 assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3.json -1042bc9b8fb39afd8a403013e41c06be890dcae1 assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected.json -2ea05a3758c91142694df5e840ecd0f34ea2ffd2 assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended.json -6fca2c24150639d95fb945c3208674c0b06a23bd assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short.json -804ae97399e542ef33c14a86d9c1ea8b05b91f36 assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended.json -61a45c4e4cbf5a69ae153e2766eddb01884be619 assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall.json -d73e3a5bbbbcbeb9b7016d1d906dd8ecf565478a assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended.json -43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected.json -dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected_extended.json -be8c904aef614b07597f0c228914930a406b9794 assets/twilightforest/models/block/wood/banister/warped/warped_banister_short.json -495193331d7420b7aa6f206cfc2f24ae9c2a660e assets/twilightforest/models/block/wood/banister/warped/warped_banister_short_extended.json -c91d1f60ccd419f1b7edbed9593f40bd61302d05 assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall.json -b55eab2c422702962854f492d21f4313bd7dc969 assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall_extended.json -e2ca7a85eadc12579e8de82464ae59bc6baff9d4 assets/twilightforest/models/block/wood/button/canopy/canopy_button.json -cac52784a29d04bef0b5a5b451a5ff8f7bf5b2aa assets/twilightforest/models/block/wood/button/canopy/canopy_button_1.json -fa10bf7aaac4fecea2bbb1b8c6341de0eab0ddb7 assets/twilightforest/models/block/wood/button/canopy/canopy_button_2.json -26e3cdba05efb743e8230e66ec7557a896e59830 assets/twilightforest/models/block/wood/button/canopy/canopy_button_3.json -5140452d8909ad885891b72e0e30f6dbe127d189 assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed.json -dda42870e7f541ced1a3638c6d4f08fb8579c333 assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_1.json -5e688fd059b6d5afd35a5fbbc184454aca30b411 assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_2.json -303f705f7eb7d6d1ec96fce2aed7b26d8b27e0f5 assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_3.json -a3a460abfc71db68794c63750bb2e92ef95c968d assets/twilightforest/models/block/wood/button/darkwood/dark_button.json -8b5a4b3bda57c07c4c417aad995f9959064294af assets/twilightforest/models/block/wood/button/darkwood/dark_button_1.json -7c72d46590127efd85ba3273cbf3958e3400b9fc assets/twilightforest/models/block/wood/button/darkwood/dark_button_2.json -edc5c6c8697623ee0c17bac02c27bc3ead7406ce assets/twilightforest/models/block/wood/button/darkwood/dark_button_3.json -752daedcb2d088e04da6de721b90b2dd5d2104de assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed.json -ba16a4ddbbee0023df4b713c3c33a20e45847e20 assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_1.json -924b43806b08808f2ab7abdcc41f92fb91668048 assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_2.json -4c99d98f044f309267b201e55c160aaf62889327 assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_3.json -375c0d7bb708d912c975c529f423b158c9fd62b5 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button.json -f25fbe21720091de6e4f7a2feb7ff2e0d88526cd assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_1.json -dde256f155f4b9ade835412ddc71cc4b6218d575 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_2.json -0ee64548e22cd034b54d572741e7ac32be847c6a assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_3.json -fe3d103ec519f471a57d380eb6e61ee18b6181a9 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed.json -2db020ba617ecc9fc6ebbaf02a130a1bc6a4ddd9 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_1.json -4e563dd0ddd16cf1e9865126f7968a203fde26e6 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_2.json -926726dc4ba0ea8926982f172939ac34bc864231 assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_3.json -15b0b971f655abee76cc6334250429a85228bb8d assets/twilightforest/models/block/wood/button/mine/mining_button.json -f7790a2921bbb80d7ecf8459eae4affdc7bb96d6 assets/twilightforest/models/block/wood/button/mine/mining_button_1.json -8c5584ef97316d83509c1e930654fe7119f59100 assets/twilightforest/models/block/wood/button/mine/mining_button_2.json -c34465c40ab03e82449f714345845e0a4a309d8b assets/twilightforest/models/block/wood/button/mine/mining_button_3.json -3986a9cf0a211b02f1ce70d85faf1a3e82e262aa assets/twilightforest/models/block/wood/button/mine/mining_button_pressed.json -7126e0782d302b29c30e2cef403f38de5837d2dc assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_1.json -e5374af158169dfd45b3fd752177dd8e6812d08f assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_2.json -a9edcfb00b5f91c684725be969faffe74752e156 assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_3.json -9a34c541aa305b10aec3cf675bba7ef4ad9b88bb assets/twilightforest/models/block/wood/button/sort/sorting_button.json -1463682b4a295e40a3cce9dbf849f4a86c9c4d03 assets/twilightforest/models/block/wood/button/sort/sorting_button_1.json -cd28753939c8d657b85ccde7ac1985af3a42ed02 assets/twilightforest/models/block/wood/button/sort/sorting_button_2.json -26a339bbe825d661a809ad008b47e53f123c3dd1 assets/twilightforest/models/block/wood/button/sort/sorting_button_3.json -7af4b1d67a19f5196d70725456f53773cd4b032b assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed.json -4d4dd52aa2e1d0d71382b106d17072dc890d8a52 assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_1.json -1c5429ec9c230dc11318f33648fa0f552685d111 assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_2.json -d864a6169ba9929db9ed96ace940d3f4d1c7716b assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_3.json -9b6878f2467ea9f973c85a95e188e844f1ca770d assets/twilightforest/models/block/wood/button/time/time_button.json -af81608cb9539c838b80a3aabd984d6e7b3785c2 assets/twilightforest/models/block/wood/button/time/time_button_1.json -0dd609b107fdcf6333caec55d8014d823a6fc46a assets/twilightforest/models/block/wood/button/time/time_button_2.json -28cba3bb828161fab5bcd482ada183b13172aa31 assets/twilightforest/models/block/wood/button/time/time_button_3.json -464f28aa8bcd3ff0f9981f9b36228ccc1d202d6c assets/twilightforest/models/block/wood/button/time/time_button_pressed.json -78857829d3198cc4eb6615bd98812a20c8635a8a assets/twilightforest/models/block/wood/button/time/time_button_pressed_1.json -9ee1a91580fccd3d07535f63dab30b07c02563da assets/twilightforest/models/block/wood/button/time/time_button_pressed_2.json -6d3b2f355c3a3cee8b29cc9e66525cb84838a67a assets/twilightforest/models/block/wood/button/time/time_button_pressed_3.json -60d2be223cdc27c43a4fb52b674332432d99597c assets/twilightforest/models/block/wood/button/trans/transformation_button.json -c9d5addbfa7d6876557b177b0374a3ff87cbf335 assets/twilightforest/models/block/wood/button/trans/transformation_button_1.json -df4d2de4107cc4476e4aa05955b335b390525a55 assets/twilightforest/models/block/wood/button/trans/transformation_button_2.json -b9c1bbbcae4e8614c04c33169a69b93f464584e6 assets/twilightforest/models/block/wood/button/trans/transformation_button_3.json -8edcf90016ccfdef5927cfd9c6b1ac7fc8a65b2b assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed.json -c97d109e40795ecaf21d1613aac81252248bf434 assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_1.json -b83fbb06d7ab3be0db1f3adb0d9b114bf5cbe713 assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_2.json -9a85ee15719a7fd9b1d1657e48f161083fa30553 assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_3.json -4675e74d478804af53baa9ad53f83cf139fbd620 assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button.json -b77d60321cdc3ec75d50cf9ee691eaa545b7c7a4 assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_1.json -91e9971824911a74c3ce06c8829e09b136199e4d assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_2.json -424fc3487b1ad76d444f7f08425acb89484e306c assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_3.json -8d00585a5caa841ef49e23ce6a86f2f348e3ddb4 assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed.json -9515cb8466cf36da1e32623b6d4726c65262b109 assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_1.json -6b8ed19cc8937b23127d54650d8a1e37701c9452 assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_2.json -f3032ea8e7e24a4382eb66f0ce7fa5fefc5370ac assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_3.json -9a0e4010c706c017dc6f478619c028f424c6f82e assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left.json -5c46566ea3c4e47ddf78e096450418928e1f0879 assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left_open.json -56e92284e81f15c686d6c2d246f939d84a80b3ad assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right.json -58caa20cc328f36b73e92e4255b0c418bf58be43 assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right_open.json -00dc8257aff50ab2c2ee8dc01e7a5f557705263c assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left.json -c59894f4332ad5f65daa0636557312494481914c assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left_open.json -b86b9b3bfe578d4ea21c83388eb7d6153a9d7474 assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right.json -ee224e9760105cfd37489996cea3a6f61013e264 assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right_open.json -fa08659fd058db765de003913657e35fb6088670 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left.json -fb5e263721e67e31ecafbfb8b551cc9adfe68835 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left_open.json -659e7dbcc20aef84f2cec7a89ef172ed4204b0db assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right.json -f9bfed829e63c9173134cf2856ec3f2aed5ada67 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right_open.json -195af2220b91f27ec030493a2c20e2f4c7086f34 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left.json -e93701708a166d295d1962e4736b2b5ef027566c assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left_open.json -be44fcc3f0b6c6af6f258c01572a73245edba465 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right.json -a23dff2287813b3d580f9f7887b65b38378c1d98 assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right_open.json -9868088b35672f976c58d54d53d4824336c9c933 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left.json -de090e1c74354faae8d3995b8478c84deadf3b99 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left_open.json -b4705fdd4de84981066dbabef6cf527779eac6b2 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right.json -d4eab696626c6d7807fc5df2a64f31abeca36251 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right_open.json -2b5df9e62fb4ff67a9c0e1a588eb1feb8b2e350c assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left.json -7d85944f91edf954264d7bc0fb4c20026232c030 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left_open.json -e5407307a85b6be3e11903494d2bd70e60f22655 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right.json -13bff51c41dcec03917ee415ac5b9ce65893ec40 assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right_open.json -63a297db61eff7cd79d4d68dd6882fc61a9a639a assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left.json -6c6c2d6ec2fdee76449534feffbdfbca37a318bd assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left_open.json -a4e6d985fc3bd2909a3f5bfd0decaebf44f3aa4c assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right.json -ac1625e5e4b10ee43688fb709e4216c98d0ab861 assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right_open.json -32e2027f887eadca7d9edfcabdb762f12ed5282c assets/twilightforest/models/block/wood/door/mine/mine_door_top_left.json -1c2fef0a6bcff63d01b470030847011196c2cde5 assets/twilightforest/models/block/wood/door/mine/mine_door_top_left_open.json -d6f915cb710fad57c238344d764517172f76ec78 assets/twilightforest/models/block/wood/door/mine/mine_door_top_right.json -558daf082383125822b9ef15ee01b1c1bb83aac1 assets/twilightforest/models/block/wood/door/mine/mine_door_top_right_open.json -c25ac670ca6eb87bdbe67a4fe098d9531bf788e0 assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left.json -f1ef463c27fc15d230a78d34c087307356c2c965 assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left_open.json -aab7bcb3c8aa3e16ae78890f0e041acdd03e8ea1 assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right.json -42f915686c4209ca2feae33d2e2f357b8fddbe39 assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right_open.json -02daf692ad5d97e772cbe430f1209444411ae1ae assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left.json -6d82b45560887402a06246fa021c81d61ee4e092 assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left_open.json -c6d5f68385953931cbf9418ca656ad4fd54716ac assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right.json -c79e621e144222e1775ebcd2f44acfde81396fec assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right_open.json -89f767d574d885ada1f9be4d9190037590494bf4 assets/twilightforest/models/block/wood/door/time/time_door_bottom_left.json -8a74907a52d4c4cc78ff48fef8513845991956b8 assets/twilightforest/models/block/wood/door/time/time_door_bottom_left_open.json -402be83cb6a729f36191893bfcdbecf5f217a3ec assets/twilightforest/models/block/wood/door/time/time_door_bottom_right.json -1265de0314e5d350245d64f4913267b4c89dedb7 assets/twilightforest/models/block/wood/door/time/time_door_bottom_right_open.json -c1234c275a71af250080041e692abe6b5824140d assets/twilightforest/models/block/wood/door/time/time_door_top_left.json -62a3bce22a21f78749ab0308c512fa96e89e7c4f assets/twilightforest/models/block/wood/door/time/time_door_top_left_open.json -7d666160b4bed38db030f22655c18500ac0c749d assets/twilightforest/models/block/wood/door/time/time_door_top_right.json -cf7ffb80d9be4ae8b21c9dde29d497bb6a7ee31f assets/twilightforest/models/block/wood/door/time/time_door_top_right_open.json -23bb28e06b05ad5fa6da716c8e4a09b7b336e893 assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left.json -ef165dde355118affc85df7f2367c1ed91f835e5 assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left_open.json -619a343800772d17d08d5c458b725faf7ee2086b assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right.json -048f179033fc445d8904be4a55f59529f962d104 assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right_open.json -d64edd143869541c337063d6030b52caafade697 assets/twilightforest/models/block/wood/door/trans/trans_door_top_left.json -0c979a14b20be1b7309a2633dea2756e713a334c assets/twilightforest/models/block/wood/door/trans/trans_door_top_left_open.json -2fe704baa9a69ea065bf921eb61d40be4d3f3291 assets/twilightforest/models/block/wood/door/trans/trans_door_top_right.json -f84557db5b799f0e4cc436dd948408d12e0c4541 assets/twilightforest/models/block/wood/door/trans/trans_door_top_right_open.json -52d30928bdcf6855ecffe338c0330cc79a96765b assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left.json -7a31e01384643d7f147e451edc8c52b8fe3c8679 assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open.json -a5d21ca5e4713b5b4648633ed913ac1b17d5f04a assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right.json -a8e8f28f6e2249fd9c09ccddcaa755c8259a0583 assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open.json -5006655b24d0e1569b5377d88851a85ddc1bf0a9 assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left.json -f57420938e72c276eff444bf8b8e8776443d2cc6 assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left_open.json -a81d978f08419952f71617f4206c92087068bc1a assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right.json -e28e47c0fd50614c43a94a23cf514ff41b19de50 assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right_open.json -baccc7749d9d56380f9fc4f53da896b50a9fcc5a assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post.json -3490fa47c19a1d4485f6f0025f21073f4941bbb1 assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_1.json -00249b196ae7d0a32e5e1d21eb48858416eb7ef9 assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_2.json -92dbc1915396e528d8dfdadd304d62626be0e524 assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_3.json -54e66df8d7247d591e2126d00ae3df56895daf1f assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side.json -2b0d8073c3bb361af22b644b22c481d78200d647 assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_1.json -7513c4ae2a4fd492290e63ca4345c18eaee44ab0 assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_2.json -d856de7dcc82ff334bc27edad82818881960802c assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_3.json -cf6d1e0822e9fe1a9683ced2d3b989675d6841ef assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post.json -7da2c6bb2a82d6080279ac328602526df98c4f66 assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_1.json -7140facaaf09cb3c81dbbfcb65fb3b065d33ded5 assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_2.json -68f68111ffe9c44fe667ae3d9af04f6b15d8dd65 assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_3.json -a9d9268ddeef31029e97f0deb7aa3db57e1f165c assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side.json -9189d68efa2ed590544bbea82e05146170bb788c assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_1.json -35b4aef61da8b8c30290c73a294d734bfe3261c9 assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_2.json -775e09d05f9f2c20f4870898045d354088c30b4f assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_3.json -fbbd9c29bf2fbaa3b49b4a3f6af15b64efc71456 assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post.json -8846ba92e2866424780c9345a6004b981879e0b8 assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_1.json -08fcbf0e9bd12dcebb64c6b710a06257543c2b7c assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_2.json -556e2567a5b37b1d997f370bbd06c1d81904a51f assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_3.json -0cc69303136c59a7a7f86b9461afed3809c3646c assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side.json -d41b8c72ccab959ce21b00a41322dccea4785d78 assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_1.json -d9d798e42b1a64e3bc152db5b1a587a1fe6b36f8 assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_2.json -9b9c2d17a8f4d7bdf1e226eb8faf10c17d8bdf42 assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_3.json -e8f2f0739898947783c3790cc355655f08a7c929 assets/twilightforest/models/block/wood/fence/mine/mining_fence_post.json -7105f0eb3fa90e1fbf5e827145eeca7e0db5175d assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_1.json -98212116cb3fa43195d70b0ace3e5bfa27135210 assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_2.json -8a3ec801f43b6266a7fcd4c291979170d853555e assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_3.json -bf58a74d1ef926aa7cc12ef1eda1e268b02380ff assets/twilightforest/models/block/wood/fence/mine/mining_fence_side.json -d450bd152568143e8c0368c7d7bdb9410f45742e assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_1.json -825709f4617df2611bcccde32b18b6540575e44b assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_2.json -4954be601b4136268888ea7a8446c518ee21be98 assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_3.json -8140292a6b4b77267b5cb843b0f3a762dab6b542 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post.json -478abe773cf39c1c45e1932e5755123208169aee assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_1.json -894f13700416240deb74a2a11fb7861a1d0e2b9b assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_2.json -71413b627c6130054eb83106be29c496992ff826 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_3.json -88c3f9210c4d99ea7020e4c7d282bd05f4b601d0 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side.json -b11c503cb2ca7ebc9714270c1c9078b2be201aa0 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_1.json -17c2bbfb9ab9a86ab1c44200351b66a5d88967c2 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_2.json -8bd339eea2dc5239ac86b023306eff7a74e9e297 assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_3.json -7c38aa7daa9dcb7fd4c362ece243cad2f68dcdf2 assets/twilightforest/models/block/wood/fence/time/time_fence_post.json -44707fa6875077b905c546c7f717d6d550d31cb8 assets/twilightforest/models/block/wood/fence/time/time_fence_post_1.json -d2fbb42e5740fdf2e93f93fffb05a3a40077ec94 assets/twilightforest/models/block/wood/fence/time/time_fence_post_2.json -7b52e7b15814e25260714abdc886b3ff45a0b9da assets/twilightforest/models/block/wood/fence/time/time_fence_post_3.json -247932dbd8a3d16647c411340ff1e61e28074180 assets/twilightforest/models/block/wood/fence/time/time_fence_side.json -5c78b5b8c13d1d91f7dc0daeb74e8ba318534f5b assets/twilightforest/models/block/wood/fence/time/time_fence_side_1.json -3aac86fc268266aba0ab6e13876940a84adeb245 assets/twilightforest/models/block/wood/fence/time/time_fence_side_2.json -68681482d4018056d02c923852c67110b8adc9a1 assets/twilightforest/models/block/wood/fence/time/time_fence_side_3.json -9cb536aebd660c54dd24cec7c1c3c303f7f38606 assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post.json -c08f11f9742a40942bd17c441234ac6fe01a5480 assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_1.json -2a9f4a34263ca7f2739f990f42e6de301293e0ea assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_2.json -4541d7fa0d54891d57226c03379b0555c76bd179 assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_3.json -8e349ccbc5dfd72f00e93fe8b959375d98866c77 assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side.json -ef39fb2010bb596e41d2b9702fa6e9d6a6628d6b assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_1.json -06b33e2e5a4ed1cc05b8855688a30b0bed73c3e2 assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_2.json -7ffb4467b50b9f135ce932a744d32894f463186b assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_3.json -56c7be74eeba7331f7ec0540383da57eb621241a assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post.json -f70ac15ec72419d54e6ff34d12f1e6df9d271393 assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_1.json -8b63048c432e78ff224718673e013a0214f0be2c assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_2.json -66a702fbe7be5b95891d72361fe25ffe32b2bc3f assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_3.json -fc1525d9af8e48c4d5968421fb1ad15a12f4cd1b assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side.json -81a55c78dc18ea0d64e9042e0450070ef6af723b assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_1.json -9a1c5fa192e975d9978782c002cb67b2361e4cee assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_2.json -17463c2b060b589779b732f5abae645aeed2dd54 assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_3.json -1125a1059894a254f0ab6385503600c2ea205945 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate.json -8238b2656c9ff17eeb7cded7bb6e2c2c671b63c5 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_1.json -98dcc390d4ca505fdfb9b5c3ae4447feaf1e7125 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_2.json -9ddaae7bbc97b2492047ea1c062191107ae50aa1 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_3.json -717e48d614d7eaca53edfc077d4e70cdaf90fb3e assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open.json -3d79e55604f228431fcecad045cd33f564fef04f assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_1.json -f9486cab8e3c142631062bedb9a8b62a35837b8e assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_2.json -d45d7bfdc836a66fd37224dd4677d5234e6bbafd assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_3.json -61dcced8d1cecd385ab4a4262c8b9724d570f29a assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall.json -1e5573e02791bd9d653707f3be966ef1739202af assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_1.json -9a47f3f2ece7980c1fb865a4932ca3b20f55830a assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_2.json -2b5b5a428b045f3a2abde29f22dc92fc52b45ec4 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_3.json -4a6bb144726626ae7fab10e78d37ac128eb83a70 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open.json -040d00dea42cde44a3a2fbfdc344581842e01785 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1.json -2227b9948dd82b7454372e212bda6137c2b50968 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2.json -0b5f3303213ffa0a63f09f547e9917a707a62375 assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3.json -5bcd0ca467ea783b7990f5f074461932923d36bd assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate.json -6eb59f1c8c634c7f51791feede15a4aefa89f41e assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_1.json -efe4bff5ce56f82605435f7e00ca7801ba225ac5 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_2.json -882b0f83a91dbf8c2399396091c5cb4e0b87d709 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_3.json -e22447a829bf5f10a55fbbabcdbd4fe26476095a assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open.json -07c8f5b3cdb92828fa5033b4acc51309dd7a0208 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_1.json -77abe6fc3485fcd2af013b485f94d608b2b0c6e0 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_2.json -7979a36cab42d7a605e70470e5a3622fdddd90c1 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_3.json -a35ed4d71d9571ebca6dfa6269751f101c100936 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall.json -77c9953fcf3d15bd625a4cbd0e5019fe27b3d422 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_1.json -a8056b570660777bcaf80a042545e756016e5e3d assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_2.json -35b75d90dba0111635c3aac39b34390d62ffba72 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_3.json -b41b08b8af8b61f903b7e60509fced5e383303e4 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open.json -4871cec7983f343844e4a9d9c798db13b6ed21fd assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1.json -0d9bca722a8e809ed1d7f8aa7410cfcc4dbf5bed assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2.json -c2e2996459f57d710b3642073bb5dd4566d21366 assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3.json -6c2dca98ffb46d8ea886c0b39998a3a069078bde assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate.json -26b885cfef695afa59f58751f8206955bb6d2239 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_1.json -ff53ffe9c9ce331f1d5f6b4cbc9558f7935dde80 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_2.json -8710d37315b4db4f14e3dda24c83d5eb50787b23 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_3.json -8ca79b13a61bbe593fcd14187ae460b8d6bc316b assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open.json -d32fafbe4fc98d4a183e4c6d22da70997d9046b4 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1.json -1f3f0046fb102806181465569b74866f68ffebaa assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2.json -5be27aed7f4af1c84f08a5c2b1c7c34c8c5c7783 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3.json -4c9025fc337ee73ef0cc8ed95bf6eff51badaddf assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall.json -09147155783184725463c92eac006eef366d40f1 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1.json -6ecc5690666af34508c6ce2fe981ce1b28b76e6b assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2.json -601e843d6f25dd945ea177a3d155dab61ee19872 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3.json -cd2665db9bc2c5ec96059c3c3e95ab91c9f67f36 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open.json -ae71ff8114fb4470a2e3373ce2b6f691b86bd344 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1.json -de1c2391416a31610a50ba28bb10f9397ebb99d9 assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2.json -fb544fc45050da06ebe3dd53e4743b938db4b39a assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3.json -15134d84b62d639a1e682843754c772be2a13aa2 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate.json -32e0ee41c43a4bc1bdb78cdca45217876c61debf assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_1.json -9a903aa0a12e0ddf2a648861c9d00391dc8b7ff6 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_2.json -aa01332aa2e55c662306770eb821f9ca4f759560 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_3.json -c10e5150be231c71000720207b51fd4603819339 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open.json -252d926794d8a658683f3cb95a3f807916ff4f7d assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_1.json -08a42d96e90e53af66df88732d1affdb96ba42d5 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_2.json -f60ba4586ac2de2c6abd55ed3028f03e0fb55228 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_3.json -c477f268ebde515a62f24ba6926f10c59b8acbc2 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall.json -ef49934fe937976a8b6139d3c82e76cb8ae7c9a9 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_1.json -da358f7e2e553a5a47460ef9eae176b450f5af37 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_2.json -388cf92cd86f03d6b18d45c72aaaeb3208e64fb7 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_3.json -5f85ea86c785be9d3ef86b84cd627148e0ede1c5 assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open.json -1babd77f0e7f5dff7c08ecb8596d5db46b920dca assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_1.json -5316c899f6cf7b9b35774f34fc6adea0bb2bcbfe assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_2.json -48d9989f838749ef7a9ce3f67d81a0c4848dff8a assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_3.json -c57b25ab535d9e67f3bb17df6c55ec8a28dfe1f4 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate.json -02adfb1ded3ab83945288a5a825990521a974f76 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_1.json -d9edf9cfdb3b0d912bc738d3d593bc4b18a00e27 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_2.json -adf5eff826ff3c13b719d95bbcc2bfcf82aefac3 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_3.json -a715c9a5163695a425814ad92802b651963c8709 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open.json -580045956f3b02900adb8830ed479605761df814 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_1.json -1bfbf59b2f92ff47b24512ef979e29fcf1be3f39 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_2.json -456890a9fe0f6b1d8e04f2021e441175e0a17518 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_3.json -31ca134c631f75319fc5015e9a8215396aa67eeb assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall.json -a86be82c0c984add6d8e45c2c393fd32cf5a4f91 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_1.json -de7638c3fc83ea0abecdc20bf92ad52e41de16c4 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_2.json -33480cdfae13f07a11a236c11dd8748571fa172d assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_3.json -f0c766016f4d7f5fb66aec4469ebcfbceb1b5ab0 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open.json -edec4873857279d654ed48aca2a1244b062f2bf9 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1.json -a191f0c13d686d700709e524c282908365061afb assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2.json -d429abe98ecce1b178b3968a34ef48a31f0afff5 assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3.json -61e99f7f8b667fc7147c40ae15fca21262958e08 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate.json -f76cbb18b8d1c6be742bce01a9acf16cf5ce3f6c assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_1.json -aa3a0e4be4b1dd619c949b7b5680b588b8f4fe47 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_2.json -662d3f197f0d941b53672d43d2cb982f8817a7a3 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_3.json -aa1f4dc27427d34fd444f859c0d2db8ce17d869d assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open.json -88bec276354a78b77d95dc7b6282a1eee02b2695 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_1.json -0d24878b12fe1f0cd25e000f1ff88a9df2ff418f assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_2.json -9cd2a4bff3a9288d7d8613e9362ea72efdddd20e assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_3.json -6ca2fd5d536060e2ff106867d6e562f7998f185b assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall.json -ae809130141400ee4a9981e8f7bcbbc40c06feae assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_1.json -409c30be5783f5d3ea9790fe9751821a00aa9ff1 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_2.json -2d8f762d7f0cc077834448f6f202a4cc5068f852 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_3.json -79e1a25c59d7cf80a8c6f4ce576e97eb713b10c2 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open.json -b4b64a5407f3ea6ff1ce2f8da9d784237e17998d assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_1.json -b7702899399e66c3253b5b8c9cd5a785bc09bbe7 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_2.json -530c876c45e6910cc5728b379a723cfbd51b7170 assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_3.json -d8d68a9fe83bd31ceff805a12efd76539346c45a assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate.json -26f2188f5349d83ae1c8fa77cbdbe85140013ebb assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_1.json -2379841da21fe393b9a844998d2151909c1418d2 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_2.json -6eab0873bcfcaa35a248e806785373dba8a0f93a assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_3.json -e7cb9d6dac1d3192a9ad39fefc99379216efb7db assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open.json -b055dfe0a26e8551cb6b7b3eef123b120ff14d41 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_1.json -5a38e8ef34d5db266d1e1d275d11ba0b5170e000 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_2.json -4e21d6656022816a00e182ae56af87213769a567 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_3.json -92cd88893a87370eeee93b844899618009df9f7a assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall.json -f811946ab535adb2feca5652fa42a394cefd3a50 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_1.json -545926e1afaec098bdd3a13035db9c0ddd1ab8a0 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_2.json -910299e4cf347bdc4c59a1398218e3e480c3a421 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_3.json -bcfd07aa8a2feb87fe317089f848c153d84b66d2 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open.json -db264fd467a5368fe927330983665e10a0fd5c35 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1.json -f6d09aa525b090ea6bfe6287a346e21acf73b471 assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2.json -b9674f5ecc51f99ace53d8cac057514e4b29542e assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3.json -345ba38fd4d9850d51859444016b6585d6c12ad9 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate.json -7928e2b23fa297f08ffa5f77395b8b748ef45e66 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1.json -480968bfdda6e64efd81f6dcf0d7fe65b9e0cba0 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2.json -40f5541f6d49c7d909f32913c9f20a83479f1d96 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3.json -01a0f705320f917ce0a6c33287ac0947980c5e38 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open.json -f3640e7b08a83fee1f6c144f6280ed851da3d655 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1.json -5bd2bff19f7d364f16e1ecc648ac93560a9f1a00 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2.json -bb2fdf87d7144a210b29c9620a84aa03219e48f3 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3.json -f87af55d8fe1635623aeba50da8157310143b74b assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall.json -6fc5d36faebf6dd0df64dddc5b9b8dee37fdd17b assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1.json -8fdef3010f58ff12666c880faae8432742b10c22 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2.json -5fce008e84414ce069b32f136dc4d1e885acbd03 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3.json -f725dcdbc61b9b57aba207d3a4eb6d036f598876 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open.json -872a2fbba867bbca2051394fe80fe6ac36f4706e assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1.json -eac2f1b04985ec6720b9b3fc674817c13e3b8fb6 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2.json -56dd39958e0a238e73005e5cae5012e520299541 assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3.json -1aaf1d0b02fd2f44d79b73147d2ad703e92a57e3 assets/twilightforest/models/block/wood/planks/canopy/canopy_planks.json -cea1d32b38eb3c5ea1b34abbd83fdc7db1f6c6a2 assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_1.json -bfda6467c08cad81ce8e3a70cd82543fe5d5ad47 assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_2.json -dc6a5ac3a540e7c3141b43e6b9b65a39d298fbe7 assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_3.json -d159df3f084bd1e28b38f62db0d730eb512413ce assets/twilightforest/models/block/wood/planks/darkwood/dark_planks.json -382189fefcc096a551059afda274d46364947e0a assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_1.json -d9aaaa294268509d7fdc217efbe3b926ab978ef8 assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_2.json -dee09a5f183808eaf37d906103f8e466068ee9fe assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_3.json -fbb318fc65042240186dc55ce5485b734354d85a assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks.json -3341bfcf06595f6d2aa8f0898e6a843a034970ee assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_1.json -bf64d38419c8c92a986e2d1b591b9df89653e755 assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_2.json -ad8fcf6aaa4544b0fc5377366d95ddc7de7aa5fb assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_3.json -1c8b9d781d666ebf91ac92787a64931298b4fcd0 assets/twilightforest/models/block/wood/planks/mine/mining_planks.json -f6d654b6c7a8da74a28c6a0fe2b4c63743992d1d assets/twilightforest/models/block/wood/planks/mine/mining_planks_1.json -97319d4e1015ac3fe7ba979959d7fc08250d4a59 assets/twilightforest/models/block/wood/planks/mine/mining_planks_2.json -16606f665de6731d25835c4dbb58d86a3ea5e34b assets/twilightforest/models/block/wood/planks/mine/mining_planks_3.json -911ab5bbfc203ff47a77cd9ae429b7bc491d2f69 assets/twilightforest/models/block/wood/planks/sort/sorting_planks.json -959bb34a565f8bb29aa0b34e4ddebec7323c3463 assets/twilightforest/models/block/wood/planks/sort/sorting_planks_1.json -f7e473f2425ad036602ff745f05c254e11e48032 assets/twilightforest/models/block/wood/planks/sort/sorting_planks_2.json -dbbf0508632d4592784acbb4e97ed1d9fedd078a assets/twilightforest/models/block/wood/planks/sort/sorting_planks_3.json -275cdd0bf98fbd6efef6d711a521fa5e8a8eb409 assets/twilightforest/models/block/wood/planks/time/time_planks.json -e67a902123200599a6c103dc56b655a805fafbfe assets/twilightforest/models/block/wood/planks/time/time_planks_1.json -fcda012c90b3452c1be84555cdc748b5af5b8e58 assets/twilightforest/models/block/wood/planks/time/time_planks_2.json -8651a767aac95d2aae3b89ef433006b0d243e7c9 assets/twilightforest/models/block/wood/planks/time/time_planks_3.json -001b353732a9e3dae388f5b8bb3a79677e51c0be assets/twilightforest/models/block/wood/planks/trans/transformation_planks.json -e7480ce51fdf5945fb8ce17bf7dc465c37430b1f assets/twilightforest/models/block/wood/planks/trans/transformation_planks_1.json -85bf8aa623d6ec14fb40aaaa53cbe60af4447dc2 assets/twilightforest/models/block/wood/planks/trans/transformation_planks_2.json -6e4f1dbfcb011cbbca9e13afb1f414261af4fc6e assets/twilightforest/models/block/wood/planks/trans/transformation_planks_3.json -8e2e620a3cb5988db308189cc7ec55ec3db6e953 assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks.json -f5aa7b9f78513d7ae5b8621bba3c7886d6f5a3a6 assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_1.json -ad84855f93d6f6a2dfb50460a3ae19e082dda050 assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_2.json -cea150e7384004fb4ec6562d06c4edb7f2d9c398 assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_3.json -5024971da41d587920b491427fa9d9f539aee01b assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate.json -e8c1f87a02a8d2d3a9b20f65576dc7b7e93e84bc assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_1.json -8fea64a1847bfbdd904d131011c036842c0b7f63 assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_2.json -4984d711e65f077316300dc34c5c71c91b3bbe54 assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_3.json -da2b58b8fab05c1a01a5e264209df39b08f8006a assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down.json -13f38212a8fd3b948cfb1ed3d22145f2c88e8bec assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1.json -4df781c8e41f7ca54cb6096d42d5997bf96bd130 assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2.json -4d3ac18bb8dcfb4048b72ab2916ed120bacb4d8b assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3.json -26a67edee48b31493fb809d24a7d5f2a4c9bd0d2 assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate.json -9b33c1853f6e638cec03505a421f1cf2deefc253 assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_1.json -c56861ff4142988153f43d151efaa4a14d696aaf assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_2.json -e7cfe0658d443911e9f530aff419ef2720a1206f assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_3.json -05255fe1bfb2db9fae2dcbc1446e21bf8fe8ce82 assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down.json -a2e5fe77a5f566210322d8fc2879352d8ac19e1e assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1.json -f4cd073cab6db8b1e4fa7a63957e057147e1ecc9 assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2.json -ff1384251210b54b1f6f461900adf4e25387981d assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3.json -ffda766490a364225c14f2c08b067b59bb203d2f assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate.json -94e4cc085313f12e68df261c02e8e11d53c3c9e5 assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1.json -9b70266157e8624dcbd6785b714773e36d6f23af assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2.json -1c4082e84dae61d672c4eb4fc01cabb63c21bc71 assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3.json -f24777be34f9f884986897137de873935958bf82 assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down.json -78a4b07a7fa096e93d0a9dbbff6e325350b926cc assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1.json -d3f4bbe72b6489cd554edcd421232e732ada14b7 assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2.json -a14102fb6039dd9e2aef23087a0e8d3a2edc4c71 assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3.json -60b19fe47437457ed8369f883ac7dbbb56b69e8c assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate.json -0690b9850e60774f5f5ede6f1c7dbd0912170b38 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_1.json -8b0a8e2cd2de7f4a40e5bb19c3877a2587bcad6a assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_2.json -977487d68cf6f054e0fbdbfa1489397c430d8570 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_3.json -ac9d6449cb1f0ff49345b83c4a275a17e017b9b3 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down.json -bb195668765c4ab8a67d9ab930d10dc399046268 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_1.json -d110f9a0224fe24766e3d799466df236ef3b9521 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_2.json -9971db66918d3375cbe16d77b4ae32cd872bb541 assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_3.json -ce876f1b75d06685e8f09d0c5495c9e1e68eaab9 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate.json -7b422f7500f1ed0a8301a51127763a8133b3289e assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_1.json -bc223efb5ed736868f470082c34d717aeefa11e9 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_2.json -b7d38d88402db1ad233497e7e446dc39521a29b5 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_3.json -3894cd2ef4472950403fac508a32fc1bdbe2ce15 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down.json -11c92a7ba8038dd3198f4041a17c3ba4112aa9ba assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_1.json -a4b927419319314dd3fe6c485e26d162998e10a5 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_2.json -2eee813b88c238d0de20901213239de81c055113 assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_3.json -d24fc95363d249d609b5ef0261a7c9d5518ee2a4 assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate.json -2443f7dd5ce324da755f2f1f9309c66ab87ad2be assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_1.json -83ffe3414eff14b1be26f3b9057408bf2a4b95e9 assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_2.json -2f17407620f2c7c48f6bb56b764160a28c82a68e assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_3.json -e222c89e3dde830802f35ab06a6d2ed1b3542062 assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down.json -a6f1fe693a146f01460d93aa50f10a78bd7171b2 assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_1.json -21d06f80135e47840e4184e195ef484a8bfea9bd assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_2.json -23ee6121b07890cf024970c7cee3347917725ef5 assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_3.json -137316e3745b84ef056553e4610181ae907ee536 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate.json -10b1baf6dccda076a88d2169febef58d4792cbc1 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_1.json -d25c7e244102363862369edf43b85405d52033e8 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_2.json -33f732282bff10e95e6034af4cf9f944ee2066b8 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_3.json -b3306084e0be2150e6ec086eb5b2d9859a89f9eb assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down.json -e105e0eb213034f77268724d7c0218502cb2cefb assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_1.json -e93261bd55747040b86477b183ec64be47dedf92 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_2.json -ebd753f8b5b68aafe2aaf71f458b3f085402c076 assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_3.json -a2690a80412a083f0b88f1c5d476024db627f900 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate.json -4e4a318264ba454410d4530edbc13c613d914fca assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1.json -eb82261d6ba90bce4caccbc85e40657272cb65d4 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2.json -7f790130f35cd4d61757a1155849edb1577dd685 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3.json -5e68901059b95f34c528a67c8d1a1b70ccec4795 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down.json -473772064edc51da7c304117a1cba28d49dbe999 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1.json -700845768a2c8f69d1d5941d3bb38c13d7a34eda assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2.json -45a5e6046a547ad5b834af14bbe3594c1a48c168 assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3.json -7c9e92825444a091babdf0614871df52f80a5d24 assets/twilightforest/models/block/wood/slab/canopy/canopy_slab.json -d5650ab0d8ea0772ef2069f465bc843164d0bfbd assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_1.json -3b5b90d067f35f645417046d8fcd45cbde16c238 assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_2.json -f16336df56dfc254986e6fb8c752caf7dc9615a9 assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_3.json -2314d90de39b4cb311d6aa3f69366183f5ff81f3 assets/twilightforest/models/block/wood/slab/darkwood/dark_slab.json -68c99977a95a5f1e2e3cad5e005985b2d484e164 assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_1.json -0b036737f8f1ff8e561c6aebd36636e75389578f assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_2.json -2b9d1bef8fc43b4fe1b69fde5b66682190852170 assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_3.json -f72d454ea4d4f633431017e3020393cdc88c31bf assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab.json -d620f2f08814fa0d0f438c7a8a388f9c3708eda8 assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_1.json -6b61e734ade40e8a0fa52ad9d83114b0ba153122 assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_2.json -f8362564cfe510e78e635ed372ded7e165a830b8 assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_3.json -dc91ca2099300151f24395ab5cec165566a3d1a2 assets/twilightforest/models/block/wood/slab/mine/mining_slab.json -65e2cc745ae614e505aa58aea0cb3e203f02abfb assets/twilightforest/models/block/wood/slab/mine/mining_slab_1.json -faa2f167eaeadfd100566dd62fb8d94675641a29 assets/twilightforest/models/block/wood/slab/mine/mining_slab_2.json -73eb1d8900182fb105c5a746c326fcec157a9bfe assets/twilightforest/models/block/wood/slab/mine/mining_slab_3.json -a316f278938505fef8fcc6b5278338270836cba7 assets/twilightforest/models/block/wood/slab/sort/sorting_slab.json -88c9e7f33c68662c8af071408d4033909aaca943 assets/twilightforest/models/block/wood/slab/sort/sorting_slab_1.json -c445d1e7e4743fd23339855a2df8d5f469dacee7 assets/twilightforest/models/block/wood/slab/sort/sorting_slab_2.json -20ff5ec8048514d6f4c0d5a0af521ffb0281971f assets/twilightforest/models/block/wood/slab/sort/sorting_slab_3.json -8fa03219e62fa4773c27526ee6a64147da8cfd28 assets/twilightforest/models/block/wood/slab/time/time_slab.json -e2724fed44d47fae454ec9852fb2c4923ef23d0e assets/twilightforest/models/block/wood/slab/time/time_slab_1.json -b0eb68ced4216203fb0dc705043997e41f8c93ff assets/twilightforest/models/block/wood/slab/time/time_slab_2.json -57351d71a423a5f26b0e17d0206931908d81ddab assets/twilightforest/models/block/wood/slab/time/time_slab_3.json -826d8c876acfea490c63091da8063d913cd14f0d assets/twilightforest/models/block/wood/slab/trans/transformation_slab.json -3b64999bbd74678c3df506a1ea6d8e632c731f92 assets/twilightforest/models/block/wood/slab/trans/transformation_slab_1.json -f10b1eb702385094569312c81bc379d376b16cfe assets/twilightforest/models/block/wood/slab/trans/transformation_slab_2.json -621ef6557f52ff7eca25f803a0ef0e90b6bbb6d2 assets/twilightforest/models/block/wood/slab/trans/transformation_slab_3.json -b2e1089f07b140aa1c0865865ba3612b4a252c1c assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab.json -36a68586dd9d9382cf73b4a399d4884242cbce8c assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_1.json -9e38d517527e61f0b17fe7d737bff75a78437385 assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_2.json -8471f2e65c685fef5be778ab97f1673c50148ca4 assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_3.json -0118551d3cf1d42e2e82fb2d8c658da4903937ca assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs.json -5c313a3c2ba19f2f386d86f49aca3bce6e97fa39 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_1.json -03e13a44a7bbaf33eb61eedc663f9a4a0051e78f assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_2.json -55b91466addfa88fe9a57bacb103283fe8363195 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_3.json -f57697e9d7c02a4768d5d4e277cb026774c8238e assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner.json -7ee7f4ec327db25101c7b3daea4e851fffc330d5 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_1.json -5b4ab3cf62fccc53f08f8d9282e83563ae65e354 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_2.json -d9052b119402855417a6cb3c08e212acdea3dd96 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_3.json -23d9bb46bf578de1e61fc4388ae1ef61d168c5e0 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer.json -4e7db5f16c1e5958daa4c145673b207ded29f943 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_1.json -5345b54c1a5c2e020c1d8026e8ed23301eabb673 assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_2.json -b0292b1c9eb84ade26e67b8c021c74704632057c assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_3.json -347d3c918ad20b16addf8145a3816655cb01f7ff assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs.json -d411e1fdf836d421ddd728b8c22ec71c3e9d1041 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_1.json -55930c7f1d23bda25a984539564c5c2d383166c2 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_2.json -6a55470774976d268e35f227c9e36d71c7507487 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_3.json -9483f83acf364fdea405d9b4eaa982a497d5f184 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner.json -ab07c75cac47cefde534d8214a4c9ace509957b4 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_1.json -6d293a265143fe8af370ecd22f788dccb553236c assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_2.json -9cc4945e4cbacb8e7990f946b9e379643c8eab60 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_3.json -129b08da8835403f561d0c321929f63ff465f1dd assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer.json -32c9355d5d7b3e6927f9287b8d069fbee60d843c assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_1.json -e59705e4e31ce4145ff93ada5c940e09e7ecfedd assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_2.json -94e6f84d86cd2d2e5dbd5c8d65556b2edf87a4d9 assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_3.json -9c5267c8ca84b3fbbccd86876d6201a4783869e3 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs.json -40401c40c74d74ed9f4e4f656ac0446f208759df assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_1.json -1f6a5fb47de1c189c5db5cb2206da3caa36b6ec9 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_2.json -894bd5d1330ca5ca294314d813df7dd7c9bf795d assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_3.json -a791b5fcb23830f9605a59f0d805642056b2e0da assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner.json -33070bafc72018d9b1bf831465583a044bafe505 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_1.json -4d0acc841a628406b40ae57b7c391f1904c3f2f8 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_2.json -ddc8b1ffb1195a3aa2478bba68e91fb62e2b8418 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_3.json -0377ca4e03937d8e0c228babeee18c3d563e1748 assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer.json -9e61237cd4efef9c3050d60b13d1fdf09f1c5b6c assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_1.json -8e5d5f4e3d913699a8969673dbaad4a44f4421ce assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_2.json -819e86b3564245a32791face73ed7375c9aca52b assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_3.json -67c4263a672611e7bd5f7d547900c0a43f8b4cb9 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs.json -c6c002824d7f160a6843547fb16e4e7f155ec2f2 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_1.json -f9418026082e036d7de72d8a7ed453f81b944750 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_2.json -efc7d5d289a735272da28b733bb762bb8c15c27c assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_3.json -b867704242619631223ebec2362e2f26c18f9e66 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner.json -f00168b800fa5de87ac6b79e3eaf7bb961715b0c assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_1.json -765ab2f286abc35dd88877919ca151c189d04656 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_2.json -7f670ec6d5a81b0e8c0a98e115655f4be581d988 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_3.json -a38e453f3e8c09a3a92603293e8371104c70e53a assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer.json -e82ff52177e06b1741903ea3024f6d9802e5c0d1 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_1.json -54d4c1c3208777b5abc45d99806be186b31da580 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_2.json -285ddfb280908899d70b0c46dbf9a329c179b2c8 assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_3.json -fa95e8edcd3f23d09f6cb8584acc9e5449fdbcbf assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs.json -93cffd21528e041d3edfda26bf3e87fe3c8d14dd assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_1.json -f800da099e0cd19804ce3748317f4135965c811d assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_2.json -0921629053a6a1337043836a6502a86dc8b26737 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_3.json -2442a250fb592b78a2f5ef5d5e799a4e54ea4d81 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner.json -fd06084fc99f1c00244360306b7aff9611760083 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_1.json -de9b2d96075f8127b382ca40ef03e79d027029ba assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_2.json -441cc69f05398f552aac7dad262d781e15ad0a23 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_3.json -ce40aa72f20c829a8e032933aacd2cec9e2d70d4 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer.json -f61ed51a7943a726764511509e62bab357a2a449 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_1.json -d26784f49ca21fd591c3b9adb4de2b31cb4df1a2 assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_2.json -86d417f2e87bf4ead1a70fc939d976a1ab034e2b assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_3.json -622c9b68fc14b2ed91c31f74c3ea58c1b84761d9 assets/twilightforest/models/block/wood/stairs/time/time_stairs.json -6272baf6e8641769cdb087c1f1ca9f05fcc5fd23 assets/twilightforest/models/block/wood/stairs/time/time_stairs_1.json -ac2536daef61ef004bbca3ec271181a3222bff88 assets/twilightforest/models/block/wood/stairs/time/time_stairs_2.json -ac85543cc7f65e53e37749f2df0ffd0684c4fbb3 assets/twilightforest/models/block/wood/stairs/time/time_stairs_3.json -0f9c563c276147334f893d2ffed3bd5e35bc2065 assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner.json -5f2b7a887c799363d766315ac28c1c64cec26e0d assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_1.json -f79cc0a6ca6c4c4b1649bbcb1f275d24273b66b0 assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_2.json -39d61c850ba8f284c988cb08c500881480b6c305 assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_3.json -196cefd68cf88543bc76e0113bea980b2ae5be71 assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer.json -2ae3540347b5c8df25873cfccac5f00e52d0ace8 assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_1.json -249e5f94bd0a624a3397c5c21dbbcec58763cb65 assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_2.json -535577118d31d4528b367fe37e182b43e727a4e2 assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_3.json -d16a7eb33774cbcba38e5038e65305c04a9451e8 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs.json -1087cd179b1b3afb9b3bba191b4de37ba1d19329 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_1.json -1305e636378f74237d2b04f0a146e32194a3ddd4 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_2.json -c8a326a24c3c07cc6b8e212f32580b652384f1fc assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_3.json -6972f9f46a4f626120de37264b414dae3d7cf028 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner.json -010e999be6ee7036636d05c0bb5e7212b42a50db assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_1.json -aa8304a8e253096d71363a6e35a8bdd3a6d0a299 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_2.json -f08de90328b0e98c03cab3fe56920444b79b470f assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_3.json -f4fdca9d4c0146226ae890c7e5a60a45533f305f assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer.json -30135eeaacd2a0d814745ba3616ca94aad247a86 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_1.json -6a76526869c6c1b64e5d93659b26930c75767c7a assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_2.json -e1f4a2e804dcece3e6451a027e67f38e8fdb8a79 assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_3.json -2e460e0a80814c6e166a9a07edbcf6e52d75ac84 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs.json -c0c2644ba5b58c01bbec9246ac8b4090e9ca49df assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_1.json -68df8393f0aa4343cd1479219d53e8050a325f77 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_2.json -5b4880d5abb17609c52c35a946e1b84cf3a28453 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_3.json -299c34cdddd5c45f4884d37f215aafddc4deac04 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner.json -e9591cd2eca7a12a1681a1cf439fd6ba455534ef assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1.json -037497a7c09bb2685cfa6159ec5b5651f5ff1727 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2.json -10d0967fe3d3c3f9e237fa3c1089253a5a645c75 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3.json -c18b548aa972ba0f21c17ae4f6df51eb03e16aa1 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer.json -59ab039b1f4b9e8bfb029f825cbc4745d7f853cb assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1.json -b4ff4ec6e806b92cb942ba264ad281d946746c59 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2.json -7487355aa870f5604f7ee7e20a845a8009912fc3 assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3.json -d689a11efc04cc2c46da431ffc848c4f43e58ff1 assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_bottom.json -6c1f8d3e9cfa8b7953ab441981d7431f596b3f03 assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_open.json -6460dc87755862f59a91e6afdcac6bf0f5aba0aa assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_top.json -7aa31b9f8d76ced5dcff498f1e106e23ee353eae assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom.json -665e1d0d62f4813345ef5f9f2c8a8142522fc70e assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_open.json -4a248693b71b8338f9e04394efd05a0d32f338ba assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_top.json -019a918eb18ef1f082ccd91d7f6591a28f2c8ac5 assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom.json -83bb8915381abade363a304005046bbd280ce1a5 assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_open.json -8d59900230d91b2b3d455343cc664e04750f9e9e assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_top.json -f0c695c18152b0e1ffd5605e191471b7b9e6cb3a assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_bottom.json -c4d9b581291faef9f51393526ee7a404796a479d assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_open.json -aff754c84b4509e4f519b3fb67bc570b3ff1f1d6 assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_top.json -a111d0ae8926d26df8038aa74d84a0f59c71d2eb assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_bottom.json -6128e604fb1086dabc818aa0f91748b585c901fc assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_open.json -54186d8db5330932e8c9105f8ce86aa3e9160502 assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_top.json -639654941fba5f81aaf93db1b1f88a18b1c7eb54 assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_bottom.json -9f540a17d1c341c11e9454e9f813c6c8c2e9f3ac assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_open.json -70beb91ce6e287fc804ddcfdf8fd8940a4aece6a assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_top.json -75faa9b10271730bd908ce7644c168a120b5bbc2 assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_bottom.json -7758ae6f02034d42a36391a65ae13b2d24309f04 assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_open.json -8a90f3a8325130723a82f4ace7d5bc05ca8349ca assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_top.json -adda5e8b8c3e98ed3a6073aa6c88836928dd64ab assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom.json -cd0200d6d35ecb0adf5f4bfa85f01a3a1d1601f4 assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open.json -ea700ed4c22872d2590d2941830ea2d8fdecc433 assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top.json -675418f74165a7d0031061e70936ae610e9797be assets/twilightforest/models/block/worn_castle_brick.json -a1e2a40e5b907072dcdfde39054d40e1d447966f assets/twilightforest/models/block/worn_castle_brick_stairs.json -e4b005d685b1b8bc6c9bef6955916b79672cc544 assets/twilightforest/models/block/worn_castle_brick_stairs_inner.json -81d69f0f1475aeebb0adf1749254c647d2466b9c assets/twilightforest/models/block/worn_castle_brick_stairs_outer.json -acee6f9a19e471c0006aca79fe1854fee47e6daa assets/twilightforest/models/block/yellow_castle_door.json -3e7f778ecfd3b2551a8f6a7eb2ae6109eda8d2ed assets/twilightforest/models/block/yellow_castle_door_vanished.json -712a779569e5eed674a0e90fdd9cd4068b9793b4 assets/twilightforest/models/item/chiseled_canopy_bookshelf.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae new file mode 100644 index 0000000000..5c361aeb49 --- /dev/null +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -0,0 +1,409 @@ +// 1.21.4 2025-01-18T14:13:37.9444151 Model Definitions - twilightforest +2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json +a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json +ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json +fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json +00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json +6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json +cfe988b1223e7a93d2cc92548cbc81f1c989edf3 assets/twilightforest/blockstates/canopy_fence.json +0c4075ec62bdbb1f1636217a3f5f17ff61bf05ca assets/twilightforest/blockstates/canopy_fence_gate.json +96a68a1b8cd4e55ca650907a01846be7833dfe0c assets/twilightforest/blockstates/canopy_planks.json +47c224902bcad6fc82f8dfc7d5c5a58a790dd4b3 assets/twilightforest/blockstates/canopy_pressure_plate.json +c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_sign.json +14e3201ecb1821e9bcf69595c2db16fa60803a8a assets/twilightforest/blockstates/canopy_slab.json +fe5010320f32823f66bd55c816297be37119f27c assets/twilightforest/blockstates/canopy_stairs.json +27c82ec31ca6df1f7120c4ba8db6e5bd7cc4b16d assets/twilightforest/blockstates/canopy_trapdoor.json +c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_wall_sign.json +eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json +b5805a844061ff2ca5a78c16538b4a83e6bee44b assets/twilightforest/blockstates/dark_door.json +1cb35880917da48ce7e6fa23658b8ec43d03e432 assets/twilightforest/blockstates/dark_fence.json +1a964e983b4c89e88ded9bce06aee7a4351d1989 assets/twilightforest/blockstates/dark_fence_gate.json +ad17ae81586c2af00be553b06624d1b95fbf0bcb assets/twilightforest/blockstates/dark_planks.json +aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_pressure_plate.json +314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_sign.json +1eef4b5063f296c31ab36c81803331ba0d458305 assets/twilightforest/blockstates/dark_slab.json +3d47ed2bc1ce580523333ffdbcd3adb526e57baa assets/twilightforest/blockstates/dark_stairs.json +6f132b9ec72b4a4c18947540e9493eeddfe08f52 assets/twilightforest/blockstates/dark_trapdoor.json +314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json +89480f14f87cf18f9e507251a0bb479a962afbb2 assets/twilightforest/blockstates/mangrove_button.json +7b1f90a554e73c509cc58b7974e5f8b712e128d0 assets/twilightforest/blockstates/mangrove_door.json +c21058a2e1f22f635caff711f5635cf88ce7aeaa assets/twilightforest/blockstates/mangrove_fence.json +dfa1e3a3a4a9a20101e46f2679b3f2335c891c95 assets/twilightforest/blockstates/mangrove_fence_gate.json +0918b89fd0ae0a6d8cb08240e45f430204dd652a assets/twilightforest/blockstates/mangrove_planks.json +d4ea83fe6efda8ec6b5254b3b714495ce2746fc9 assets/twilightforest/blockstates/mangrove_pressure_plate.json +83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_sign.json +0a8a1e63651085660678558871b29308f0e87186 assets/twilightforest/blockstates/mangrove_slab.json +5229f591a47756030a93bb1a22ce15f5a9ff0f67 assets/twilightforest/blockstates/mangrove_stairs.json +2b029e34ef2bb35462cf27687875c29c97481497 assets/twilightforest/blockstates/mangrove_trapdoor.json +83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_wall_sign.json +6125566a63012e0221a317cebc0091ca958683f7 assets/twilightforest/blockstates/mining_button.json +9f803ee53874a25ceae04e599a9fb9382e6db005 assets/twilightforest/blockstates/mining_door.json +a5fc975dc31b748562f327a8888196b2d5b5b8d6 assets/twilightforest/blockstates/mining_fence.json +d466eff659cc53244f0a5c114ad7720f5d2e9de9 assets/twilightforest/blockstates/mining_fence_gate.json +05d439a9f1c976c8de64f63b2935eb299cc37112 assets/twilightforest/blockstates/mining_planks.json +a3172f591c2f793f17bc50e85d954836473c3430 assets/twilightforest/blockstates/mining_pressure_plate.json +0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_sign.json +c5d64870f08ca03dacac23dd19c5b6b13c32944c assets/twilightforest/blockstates/mining_slab.json +2a6b9478f440117c69d8f1eb70dba35ae537f80b assets/twilightforest/blockstates/mining_stairs.json +ab90ece7235ea2398745248439024ef17ef237a8 assets/twilightforest/blockstates/mining_trapdoor.json +0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_wall_sign.json +c77286635d3bae7125437cb52b159e584bf4478d assets/twilightforest/blockstates/sorting_button.json +29b87b9a3bfb46dff09d8632485616a2d12d6b3f assets/twilightforest/blockstates/sorting_door.json +37e9aa1bc44e0d768c479fd6353c336cca3f1f6e assets/twilightforest/blockstates/sorting_fence.json +49ca8b929e8f67eafd806ec0b5cd57d761b38583 assets/twilightforest/blockstates/sorting_fence_gate.json +b2f76c65ff687953aa80577cbab827b2f4edb948 assets/twilightforest/blockstates/sorting_planks.json +a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorting_pressure_plate.json +3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_sign.json +6998abda0cd7b9d7ac078c86c2e89afa3acbf119 assets/twilightforest/blockstates/sorting_slab.json +89ffd66fe318826b59388c0ad873e03d449fc27b assets/twilightforest/blockstates/sorting_stairs.json +20314688b0ef3050080a134cf32c5ac2d9bf1aaf assets/twilightforest/blockstates/sorting_trapdoor.json +3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json +6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json +a76889cc929e0b858ab92d42e82b4775f2fbe0d4 assets/twilightforest/blockstates/time_door.json +3df9cb533b34b1c27d0e0c7ba3aca35ae7c97d49 assets/twilightforest/blockstates/time_fence.json +69fd57955cc28c3d8be506aa549f25d454306ced assets/twilightforest/blockstates/time_fence_gate.json +165da41509f05267289915b9762771f136738020 assets/twilightforest/blockstates/time_planks.json +fcee4e78477126f2bbb069e653a75840d12186e3 assets/twilightforest/blockstates/time_pressure_plate.json +582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_sign.json +126664447b86d56ad0454553b6f3af9ffb287af8 assets/twilightforest/blockstates/time_slab.json +d8247967a799d4f394d64f4f5f87de6922f75c8e assets/twilightforest/blockstates/time_stairs.json +f83fc9e07943338604180e8c976135dda6b1ef8e assets/twilightforest/blockstates/time_trapdoor.json +582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_wall_sign.json +41905a0e305a91b3a747b96ab1e7f72b70f34069 assets/twilightforest/blockstates/transformation_button.json +5d8d3cb53e13bf17501015a3236a3b7d4fa7b1fc assets/twilightforest/blockstates/transformation_door.json +cb5b66e3f5961faa1098f5d52762288aed0e06bb assets/twilightforest/blockstates/transformation_fence.json +74c9fdef3c26d1abc7a4b8c372e761e87cc2011d assets/twilightforest/blockstates/transformation_fence_gate.json +12687e82fed15247622af4258485c79cecd007aa assets/twilightforest/blockstates/transformation_planks.json +eb2f924745e1a98838769b71333eeeff2c443ca5 assets/twilightforest/blockstates/transformation_pressure_plate.json +4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_sign.json +49482c8d066f7bdb75027dc862e4cc0829aaa34b assets/twilightforest/blockstates/transformation_slab.json +63331ab69e67fb6fea9601735b5d4733f91816fe assets/twilightforest/blockstates/transformation_stairs.json +e08813a38334ba73c13b2eb51536927ac9466cb5 assets/twilightforest/blockstates/transformation_trapdoor.json +4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_wall_sign.json +15c9add26b26f2885f29b9789c8f3e4fb168a89c assets/twilightforest/blockstates/twilight_oak_button.json +6d773761e8b2fcb75b2499f008fe8edcbe09f050 assets/twilightforest/blockstates/twilight_oak_door.json +6dec65dc75b1dc5524170affa253193cc9dffcbf assets/twilightforest/blockstates/twilight_oak_fence.json +8bc70189f4ec3c81ff2f7afd9cd8a90edb47c4a3 assets/twilightforest/blockstates/twilight_oak_fence_gate.json +67d29d41f0ab65ae9b6cbe69556be7010b4fbf84 assets/twilightforest/blockstates/twilight_oak_planks.json +5851973d410d3efc547bc31124b3f8c4d56d5f82 assets/twilightforest/blockstates/twilight_oak_pressure_plate.json +1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_oak_sign.json +6d8da3fb6ce012516e384c0729087be757903167 assets/twilightforest/blockstates/twilight_oak_slab.json +f532e1fbce487d08e488af25b67f3026e8201d4a assets/twilightforest/blockstates/twilight_oak_stairs.json +da289dbfb7e9f17190a07936eefe0305ae8aa974 assets/twilightforest/blockstates/twilight_oak_trapdoor.json +1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json +0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json +a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json +c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json +e63d42e422dbaeae73f2a23366bae6b04cf4db32 assets/twilightforest/items/canopy_sign.json +f6794ac9e3cacc031d5d3de1c1444da066bf7df2 assets/twilightforest/items/canopy_slab.json +ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stairs.json +2476e0a8a188c8aa8c53c0fb89b2d4bd5a49a59a assets/twilightforest/items/canopy_trapdoor.json +7b7733be9f39aaf88531a6e5a0c97283f8aa1276 assets/twilightforest/items/dark_button.json +b17b10d6537efdf7119e1ae28ad426c15977c3da assets/twilightforest/items/dark_door.json +d03877282b2f1d824191e28ebd72c152b14589b7 assets/twilightforest/items/dark_fence.json +a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.json +cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.json +a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json +339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json +b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json +f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_door.json +5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json +524b384be940b212c5a3ea9cdae2c6b08c98b800 assets/twilightforest/items/mangrove_sign.json +52b6ef8c45ec1bbf838d0c4e90a0be9284cfa021 assets/twilightforest/items/mangrove_slab.json +0d08fd0a56f729914720921ffc5d286528021a82 assets/twilightforest/items/mangrove_stairs.json +a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json +fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_button.json +327b57f3c1645a709e646ba7101152a521d5d76b assets/twilightforest/items/mining_door.json +e72eef8781e605865ce6cd1f5311a0b3c767dbdc assets/twilightforest/items/mining_fence.json +e8a66df2bf3e1f6a9e84bac4c1c09e4fc56c2848 assets/twilightforest/items/mining_sign.json +e889009d9681774dbc370b0c630366d49abe95fe assets/twilightforest/items/mining_slab.json +2d32082ac1f2517b6c3ea3731adcb5e099b4fe3b assets/twilightforest/items/mining_stairs.json +6703b965683fbf38794397a4ce743647a05e7451 assets/twilightforest/items/mining_trapdoor.json +7c8e8ecfeacf342741493c5db39fed961fd0e90f assets/twilightforest/items/sorting_button.json +efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_door.json +a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json +57bb37605c08be17ebf235e11151a88a94bb3a23 assets/twilightforest/items/sorting_sign.json +561d3f5dec00213282356433311740e5c26c4e78 assets/twilightforest/items/sorting_slab.json +365eed3e0cbfd903de1fb157f5b2eafaaada64d6 assets/twilightforest/items/sorting_stairs.json +51fb4715f66926fb6642989523627c9d943ae620 assets/twilightforest/items/sorting_trapdoor.json +3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json +a8123fb380b321df3c65a4b4c7d2eddaa0f318e1 assets/twilightforest/items/time_door.json +cfad4f919c9562b48a0dee337e2e50147c9d5ba3 assets/twilightforest/items/time_fence.json +6afd9ce266bcb06e865788a83ee43e0a4164c509 assets/twilightforest/items/time_sign.json +5721945eabe3d1f6d333c7c93beb4e4a230c2009 assets/twilightforest/items/time_slab.json +e58a9d72ba3bf6e9964f8a1215cd2ed970d9466f assets/twilightforest/items/time_stairs.json +3e922a20d29b255e44396f3c53deca9651f0909a assets/twilightforest/items/time_trapdoor.json +29c965cb7a2101eecc044fbf1835ad3b84c3a55b assets/twilightforest/items/transformation_button.json +7d2bedc90008402f4b941c7208c749326bb5595f assets/twilightforest/items/transformation_door.json +cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformation_fence.json +4f9711c64ae4166d017a3aa88a7a17b366b150c7 assets/twilightforest/items/transformation_sign.json +1d58e633de954e23f44ab4028cfd901cf1583144 assets/twilightforest/items/transformation_slab.json +3292e90a35a6a5e8a2987c5ff9ac5d0b91e75c32 assets/twilightforest/items/transformation_stairs.json +aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformation_trapdoor.json +a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json +1848300974d7949375074ee120ca895c20958398 assets/twilightforest/items/twilight_oak_door.json +799ba91c5597ffc7c325ccfab2c5618dad5a3632 assets/twilightforest/items/twilight_oak_fence.json +3b49532aea4be5595f6112b0bd0954bf45ab65bd assets/twilightforest/items/twilight_oak_sign.json +78daec2b3c6b1ec90b1eec30869e1634c7b23335 assets/twilightforest/items/twilight_oak_slab.json +fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json +b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json +839d429d02d1e8ce461b58ce9c07eb1afc001bc0 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json +54c55ae76ebf75d3e76c60789446ee13eaf6d59a assets/twilightforest/models/block/antibuilt_block.json +5fe60e72d62ddfa3429d29902456c16f5a648b92 assets/twilightforest/models/block/arctic_fur_block.json +50d368460f7b3344981466a23895bbded33afcef assets/twilightforest/models/block/aurora_block.json +d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json +74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json +83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json +ef287cca54aa32a723f0aa5d3ccb564704d0549e assets/twilightforest/models/block/canopy_door_bottom_left.json +e3103adbda5076eb99b55fd8deefbc9be2adcd02 assets/twilightforest/models/block/canopy_door_bottom_left_open.json +ead80bea01a78100386a5127d519b71ab5dac7ce assets/twilightforest/models/block/canopy_door_bottom_right.json +7c6873a028db1e24400248f8f1d015a96b13b613 assets/twilightforest/models/block/canopy_door_bottom_right_open.json +89023f6bfa28ee98afb88c1c11088e6b3537165b assets/twilightforest/models/block/canopy_door_top_left.json +79ae997c8efab1f3e862b9665aa9f4871d699c8d assets/twilightforest/models/block/canopy_door_top_left_open.json +2e638a680d90c15435902b8d1134eb88acc62774 assets/twilightforest/models/block/canopy_door_top_right.json +5d14ef2148e71bbf81ee8f9b80c8b95b452ae013 assets/twilightforest/models/block/canopy_door_top_right_open.json +0a5e989ba8064afbaa2449b48745ca09e568614b assets/twilightforest/models/block/canopy_fence_gate.json +5cfd9ada2ff3e0d8e8c075e6994843412c87bc82 assets/twilightforest/models/block/canopy_fence_gate_open.json +3439470f10d3e2c2024de31d9b200f2927584721 assets/twilightforest/models/block/canopy_fence_gate_wall.json +0b962947731672067dfcfc64839eb63b745a0baa assets/twilightforest/models/block/canopy_fence_gate_wall_open.json +bf479a7cfe8517bbc32bb9c5b2912f92b4977c34 assets/twilightforest/models/block/canopy_fence_inventory.json +d7933000f1caaafea6d0f1eee478b36fabb7281f assets/twilightforest/models/block/canopy_fence_post.json +22224620cbb583ba4152b0696efe4b2f35789dd6 assets/twilightforest/models/block/canopy_fence_side.json +fece711695142795fbe24f041959b223c83a3436 assets/twilightforest/models/block/canopy_planks.json +4952fedc4df67b0597eef35a42dc2e360995713a assets/twilightforest/models/block/canopy_pressure_plate.json +3dca0da91be08863c443571d01a1a592e45e2869 assets/twilightforest/models/block/canopy_pressure_plate_down.json +e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_sign.json +f0f193b9b4b69dc0d9fc7574c999ecdf48b55919 assets/twilightforest/models/block/canopy_slab.json +28f30aa33fb5717dd3f03895fd9826c4c60d1032 assets/twilightforest/models/block/canopy_slab_top.json +129281d7a307170031984b53ad5f0c750dfd425b assets/twilightforest/models/block/canopy_stairs.json +6df9063689d631e171f8a44b0126ae7b188a84d6 assets/twilightforest/models/block/canopy_stairs_inner.json +88f48a6f31ee7a1b03deaf219c0b861102bfc53f assets/twilightforest/models/block/canopy_stairs_outer.json +0a62e58407142ab918196f5990cf69caee2a6102 assets/twilightforest/models/block/canopy_trapdoor_bottom.json +65aee25dd3e509947be113a6f66e6162fd05c45d assets/twilightforest/models/block/canopy_trapdoor_open.json +1b620bb0373cd4076380b956f73bfe3e6cd786cd assets/twilightforest/models/block/canopy_trapdoor_top.json +b1c019a1f248a8701667aa9f5493429d78d59698 assets/twilightforest/models/block/dark_button.json +6f091ed41f72be8c4bb23d5c9164a6226ff266c4 assets/twilightforest/models/block/dark_button_inventory.json +5efd32034f57a4b3bc129852273afda7aceae103 assets/twilightforest/models/block/dark_button_pressed.json +24bb48c0719fc64921f9cf69b2eec8b058823abc assets/twilightforest/models/block/dark_door_bottom_left.json +bcdad876b9efc6e64ab141a6ef8a59cf28b5d46b assets/twilightforest/models/block/dark_door_bottom_left_open.json +11c03cbbba86ba932f3c8c1308a51bcb5311198c assets/twilightforest/models/block/dark_door_bottom_right.json +a5d5af1135e3e7b13da03f5f7d97557b4ca3e3cc assets/twilightforest/models/block/dark_door_bottom_right_open.json +ffa4977f9f61cbca0e216027762cf82b08422bf0 assets/twilightforest/models/block/dark_door_top_left.json +142e7b289e7aa7ffdacfb3809dbdc939d0a9af0e assets/twilightforest/models/block/dark_door_top_left_open.json +54d3e5ddd0fe9da26d0361112b9df0eb9fcf6cea assets/twilightforest/models/block/dark_door_top_right.json +0c121cba967eda809bbd58445ad4ce6c7c811452 assets/twilightforest/models/block/dark_door_top_right_open.json +0e885c0f24ae76c955ecb7121ed2f29ce713a31e assets/twilightforest/models/block/dark_fence_gate.json +4ba09748f2e5001cda445effead49e878b111f3e assets/twilightforest/models/block/dark_fence_gate_open.json +adfafd795323c4b22b28222b1008fa8bce0002e2 assets/twilightforest/models/block/dark_fence_gate_wall.json +aed55e4fcfd0b56243dbd48ad5983e5491ee8bbb assets/twilightforest/models/block/dark_fence_gate_wall_open.json +6cf4d9f4bcbf1234602c09acb9b9f10222a1b69d assets/twilightforest/models/block/dark_fence_inventory.json +c94aad12406b5ee322ab7f93047ea89bfda8f73e assets/twilightforest/models/block/dark_fence_post.json +73b63861315ff2577aa655f19b707508498f96c2 assets/twilightforest/models/block/dark_fence_side.json +d7521b57997bb0f4a76fddce2d74314c69a5ed91 assets/twilightforest/models/block/dark_planks.json +f1799ac014bf298cd41114067a9239e4cd61e001 assets/twilightforest/models/block/dark_pressure_plate.json +9829504ca7ebb4945124e10fe2f4658de8106305 assets/twilightforest/models/block/dark_pressure_plate_down.json +57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_sign.json +8b2e9bea657e2b0d5d5952c9a29de1bc16c17508 assets/twilightforest/models/block/dark_slab.json +be7087b585dc6cfda542473c78fb5f3776ec1451 assets/twilightforest/models/block/dark_slab_top.json +0406455212bf75632e94fe4853c34666b0f00830 assets/twilightforest/models/block/dark_stairs.json +df2bb401d9a65412b422b20f4c64b3785610d028 assets/twilightforest/models/block/dark_stairs_inner.json +a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark_stairs_outer.json +1dde0cc9bf4f2ae54778c077ea5100fbbb11bbb1 assets/twilightforest/models/block/dark_trapdoor_bottom.json +55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json +3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json +6301c0d8258d64039633c9a4884d4244e7e8488b assets/twilightforest/models/block/mangrove_button.json +0f626ec10c5cc7333636c4ba6b5a7360dd18a38b assets/twilightforest/models/block/mangrove_button_inventory.json +195109b61531e9fb2868134873bc0f0132689824 assets/twilightforest/models/block/mangrove_button_pressed.json +2375259074f3c0dfb5bf38175382088143be29b3 assets/twilightforest/models/block/mangrove_door_bottom_left.json +a82df1cd9f48f9dde41d36fc70c542875dc0e643 assets/twilightforest/models/block/mangrove_door_bottom_left_open.json +bb860befa8b33055c0740e82fabe172d4f4eff26 assets/twilightforest/models/block/mangrove_door_bottom_right.json +73f10bd165a5aa2ba3720148d819f828f83bd128 assets/twilightforest/models/block/mangrove_door_bottom_right_open.json +dca7de6126e6673e68fcac732baf7b504b282dde assets/twilightforest/models/block/mangrove_door_top_left.json +c7255ebfc221cc744e2afd97b19c925e0b073b79 assets/twilightforest/models/block/mangrove_door_top_left_open.json +fb14c44ac49409a963caf9f1ebb1526da66a19b5 assets/twilightforest/models/block/mangrove_door_top_right.json +e830f5097b2b70c4ca2b79ccdca94012b23ed32c assets/twilightforest/models/block/mangrove_door_top_right_open.json +08c25f7ef19c54b6d729770c1ea40beaa546f776 assets/twilightforest/models/block/mangrove_fence_gate.json +3c23ee2a2204d25bd60950f405fedbb0bb0a4cc9 assets/twilightforest/models/block/mangrove_fence_gate_open.json +e3610399edf38564396cf34e575f20428008bb2a assets/twilightforest/models/block/mangrove_fence_gate_wall.json +db6a1def193b06df184240c30dc03b7ec52dce09 assets/twilightforest/models/block/mangrove_fence_gate_wall_open.json +5a9fa410a297ab33254c1ada3d3c8da0bae1dca6 assets/twilightforest/models/block/mangrove_fence_inventory.json +4b0e4da7abbbf4030799ccdcf101d6341edf0646 assets/twilightforest/models/block/mangrove_fence_post.json +20835f01429279ddfda0c77feb7fad1592d24c7b assets/twilightforest/models/block/mangrove_fence_side.json +fc2272ee47dae8aedd1fb6975ff86de61d6b24e2 assets/twilightforest/models/block/mangrove_planks.json +6df0baa8ed548a1d56d7c0a995fefaac5a5374e6 assets/twilightforest/models/block/mangrove_pressure_plate.json +df2c2c80552d88d39f30f27aa059b884df1d163e assets/twilightforest/models/block/mangrove_pressure_plate_down.json +7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_sign.json +e921fd6f1f50605b361494d2dce280e096980757 assets/twilightforest/models/block/mangrove_slab.json +afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mangrove_slab_top.json +93eef73341716b16d869303c5cd969b2097414fb assets/twilightforest/models/block/mangrove_stairs.json +69ff2688da70014eb7f6e98f735ed33d0b659791 assets/twilightforest/models/block/mangrove_stairs_inner.json +3e727bec7dc5e9e2a05a74c8deba47aa230994f0 assets/twilightforest/models/block/mangrove_stairs_outer.json +3ca4823555ade138afbd82f076340973981fdb12 assets/twilightforest/models/block/mangrove_trapdoor_bottom.json +3ee2cc5ff7c6c1b1b476bdb4e1655abcec07171e assets/twilightforest/models/block/mangrove_trapdoor_open.json +e5be2e66e73a2790af14bda2a7af998abfd48c0b assets/twilightforest/models/block/mangrove_trapdoor_top.json +ba2c68344e3577c8d44a8916b5518869634f51e0 assets/twilightforest/models/block/mining_button.json +06e3d527a7f00bae3ba77b34c8c09aaaff71cd51 assets/twilightforest/models/block/mining_button_inventory.json +88ef67151ce263ab43a588c83328aefb9147e8cb assets/twilightforest/models/block/mining_button_pressed.json +3450d88788a3faa68cc89bed87962ab4ea3ab907 assets/twilightforest/models/block/mining_door_bottom_left.json +18eded812274fdfefd14ce5e443313c2ea5368af assets/twilightforest/models/block/mining_door_bottom_left_open.json +eb338491d835acb3c1bb6e3f5df56b0d2109cdea assets/twilightforest/models/block/mining_door_bottom_right.json +d1003c4056ed478066da7407ff66a6f187bda9b2 assets/twilightforest/models/block/mining_door_bottom_right_open.json +e67e7ac66a0c67e703b99da8d32e5e7bf0fce934 assets/twilightforest/models/block/mining_door_top_left.json +8041b5fa3c76c76a4ef2e54d9ecabe9a5406e977 assets/twilightforest/models/block/mining_door_top_left_open.json +89f09d3eca337b5b4493267f35ffc01ac67e9fca assets/twilightforest/models/block/mining_door_top_right.json +e7ce69aa6ffa57c19cf481ed488f98a12a09ad7f assets/twilightforest/models/block/mining_door_top_right_open.json +4ff605249b631e27df079656041a20a0b9aaaa9a assets/twilightforest/models/block/mining_fence_gate.json +2ac8d3337a760941dbb204544ea7864029b76c9e assets/twilightforest/models/block/mining_fence_gate_open.json +37d732f1d0d1c347d69b4be7d100c6fce9233a0c assets/twilightforest/models/block/mining_fence_gate_wall.json +2bbaca661b3b3a9d8c491dc682f2daa9610b4809 assets/twilightforest/models/block/mining_fence_gate_wall_open.json +180665ec00110851d64bee967c1b453013e3d61f assets/twilightforest/models/block/mining_fence_inventory.json +a3e3eb69f1e71d2d9f6c39a4ff26c7a608a5dbdb assets/twilightforest/models/block/mining_fence_post.json +c9acf5abd480bc5791303cda7c95a2919f1f12dd assets/twilightforest/models/block/mining_fence_side.json +5c99b7e971c4997d8fc473b1c658963db4f8840b assets/twilightforest/models/block/mining_planks.json +4eb0b93993417de0bb5743103cdab233fd34c229 assets/twilightforest/models/block/mining_pressure_plate.json +be70e3b6b341c172be1c1faec4c8602757283490 assets/twilightforest/models/block/mining_pressure_plate_down.json +d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_sign.json +5e9fa8d66f21cc7ee731f08cb543a38935a0a057 assets/twilightforest/models/block/mining_slab.json +2e388a125423ccda9005ec99afbc496d73d77053 assets/twilightforest/models/block/mining_slab_top.json +661bf869a0fa940407a112ddab22b17bf2d6c6fa assets/twilightforest/models/block/mining_stairs.json +17173da679a2cee9b6410e1a80c62599553467e1 assets/twilightforest/models/block/mining_stairs_inner.json +fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mining_stairs_outer.json +24acf462935ca7b521a5cb5cd807f8cb92d9b9c1 assets/twilightforest/models/block/mining_trapdoor_bottom.json +cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mining_trapdoor_open.json +2b9daccb27b2a0100871cc8048cbb44580776f53 assets/twilightforest/models/block/mining_trapdoor_top.json +bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sorting_button.json +192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json +c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json +7d2e374e3d1991e3acce36d4a36b7ec11e88ecbb assets/twilightforest/models/block/sorting_door_bottom_left.json +c1a519b75fd818352efc811d9e30108b672f9188 assets/twilightforest/models/block/sorting_door_bottom_left_open.json +6945d19e9899bdcdb1dff3a27e3d3dd2b227b3ec assets/twilightforest/models/block/sorting_door_bottom_right.json +aa21d90a18153dc030e8f8a498d5975bd85e3d64 assets/twilightforest/models/block/sorting_door_bottom_right_open.json +208d1e8fe27ef2af57ce0809ca1f20932b281294 assets/twilightforest/models/block/sorting_door_top_left.json +cc43c9adb78f56b8e5507126c7dc99f4b44e355c assets/twilightforest/models/block/sorting_door_top_left_open.json +a75bf42a9d4a29d9c73e586f8ab3411afbdc017a assets/twilightforest/models/block/sorting_door_top_right.json +122839daa958cf8b6047ae2a17d3a46a03ae1205 assets/twilightforest/models/block/sorting_door_top_right_open.json +51d179e6822895effde86feba409e8ef3f7e4ab4 assets/twilightforest/models/block/sorting_fence_gate.json +18d4318a10e9d9f8f891624d617dae046b1136e5 assets/twilightforest/models/block/sorting_fence_gate_open.json +11336e8d2bd2dee828922ed81c3a2a903747ed5c assets/twilightforest/models/block/sorting_fence_gate_wall.json +a9f6a177a1b7131d7e27dcce86b4668cdb7309c5 assets/twilightforest/models/block/sorting_fence_gate_wall_open.json +ae4acfb949661f710d28ae642cd293df39ef5d6a assets/twilightforest/models/block/sorting_fence_inventory.json +74e1e16ed16cc05141900a9af6e558fde7ff7045 assets/twilightforest/models/block/sorting_fence_post.json +234baa1e0b1eeae7514bfae6a3592749df2f9768 assets/twilightforest/models/block/sorting_fence_side.json +18725de9782f11fc9e6cd597c6282640f569cf22 assets/twilightforest/models/block/sorting_planks.json +857d839cc5d1ac44b66311f4eb6d2a847e66e3a1 assets/twilightforest/models/block/sorting_pressure_plate.json +f26f9f101d797829a63add4085ed3f986c78b666 assets/twilightforest/models/block/sorting_pressure_plate_down.json +77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_sign.json +24d4f830e481cf0f24237ed9efaa259e3e96b2b2 assets/twilightforest/models/block/sorting_slab.json +2a16d1c0c104295134c7da9791dd646ec8eeaa4b assets/twilightforest/models/block/sorting_slab_top.json +cd26c6bd3ca98060abfd435c888b177ee7fe5306 assets/twilightforest/models/block/sorting_stairs.json +f9d08571fbfecc54b45e6a81fc0217044fdd67f8 assets/twilightforest/models/block/sorting_stairs_inner.json +18a84f14fb7c8efe855ab1d0c93129439d012187 assets/twilightforest/models/block/sorting_stairs_outer.json +d84f233396a4384dc3c120502ead5e90cbe1db48 assets/twilightforest/models/block/sorting_trapdoor_bottom.json +e98fb0e5106e4867a21557075bee7f16cadc2de5 assets/twilightforest/models/block/sorting_trapdoor_open.json +03687fe84199b310e7d0ada32be7e6a31a4d0e4e assets/twilightforest/models/block/sorting_trapdoor_top.json +b2f846a8b967016ca8732279cbc0c11a10844379 assets/twilightforest/models/block/time_button.json +b76dae4ac5da24304f10935fe34ad194b8860be3 assets/twilightforest/models/block/time_button_inventory.json +38574d1f4d5a6cab8ab39877f1b4b94a93bffdaf assets/twilightforest/models/block/time_button_pressed.json +fc497e477cf8365339a4c2fc3b05f764458bbe3d assets/twilightforest/models/block/time_door_bottom_left.json +c6643273f27d5a6460712fe9897b3e4af3934874 assets/twilightforest/models/block/time_door_bottom_left_open.json +42c7899b1bf8449d7e8309a187f4ebbb94681f7d assets/twilightforest/models/block/time_door_bottom_right.json +8ec5ad8279b50be5e366767cf97896312135e2cd assets/twilightforest/models/block/time_door_bottom_right_open.json +6a7d1fe1ff7090547e31ab7c296ee3293bbaa7d3 assets/twilightforest/models/block/time_door_top_left.json +fc518e53a8ed17afd3a98ceb882eadaef759b9f2 assets/twilightforest/models/block/time_door_top_left_open.json +e8235ff2aea4cbb56b887abdc82c769ce8859c1c assets/twilightforest/models/block/time_door_top_right.json +62893acf419c1fd40f4fe52d5f235784ebbf9619 assets/twilightforest/models/block/time_door_top_right_open.json +aa1b99fcc6ed87200d1c35f0bad48987603e908a assets/twilightforest/models/block/time_fence_gate.json +71e157103b9681e711022913ada86e4ff646c473 assets/twilightforest/models/block/time_fence_gate_open.json +bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time_fence_gate_wall.json +24e7bb6a1bdfb630447d5c293e4b53369cb01823 assets/twilightforest/models/block/time_fence_gate_wall_open.json +4d4c55c8449c779ed787bc3d8fd985d78a68edf7 assets/twilightforest/models/block/time_fence_inventory.json +59e324834830c71e861f92b8fedfb2d11e53773c assets/twilightforest/models/block/time_fence_post.json +4e412e5067dce2e56d9d586d879097c995cd1259 assets/twilightforest/models/block/time_fence_side.json +ceaf50613b4bda62546c51100ab6f567a499e0a5 assets/twilightforest/models/block/time_planks.json +907de00fe8c147e6fbe894d49044fdf90e2cfa72 assets/twilightforest/models/block/time_pressure_plate.json +129219f69ff4da25c9d09ef0b791ab653acac9ec assets/twilightforest/models/block/time_pressure_plate_down.json +f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_sign.json +ada47f748606bcaa751a867ffcac0253b028acb5 assets/twilightforest/models/block/time_slab.json +2878789f1e776e2c0da0556ac3fcf18962888692 assets/twilightforest/models/block/time_slab_top.json +8176a89a34bd7be2565f86e62d438cea0b4562e2 assets/twilightforest/models/block/time_stairs.json +1bd203b23573d75a494cd914db385f557afefd06 assets/twilightforest/models/block/time_stairs_inner.json +4037cd8bb57633381317993bb902267459ebda21 assets/twilightforest/models/block/time_stairs_outer.json +41d509e301ae44528c762e502f9bd6886364504e assets/twilightforest/models/block/time_trapdoor_bottom.json +55413e5792f6736f6572e3020f43d5770dc34a03 assets/twilightforest/models/block/time_trapdoor_open.json +aa8cfa6e3794c173566a5d12fe7775fd1abb33ec assets/twilightforest/models/block/time_trapdoor_top.json +d0944eb4be819f7825d2679a8af02c74a9060600 assets/twilightforest/models/block/transformation_button.json +424b4907362f0cc0fd2e8ff15dd0ad0f7a6a8a83 assets/twilightforest/models/block/transformation_button_inventory.json +0d45e0621a89dc462beaa5ea5d581f9edeb16074 assets/twilightforest/models/block/transformation_button_pressed.json +e4f2e1747d65d75bd5ca2e75d9e54c04063652f2 assets/twilightforest/models/block/transformation_door_bottom_left.json +df77d0d6629fc180ce9cf41a3d29f03263f8d0d6 assets/twilightforest/models/block/transformation_door_bottom_left_open.json +6154636df881bc908fe14a78ef1db1b569094843 assets/twilightforest/models/block/transformation_door_bottom_right.json +e65c6394c6f7e8fd896c6a2187ad689dbb0401de assets/twilightforest/models/block/transformation_door_bottom_right_open.json +ced2808a9d2c6832a169a5991473df23f4927af3 assets/twilightforest/models/block/transformation_door_top_left.json +ebd842fea0a4368dd3167643373aeaa45cb785fa assets/twilightforest/models/block/transformation_door_top_left_open.json +6ab6220e64e2105d19b48c615ec4551de5e4e136 assets/twilightforest/models/block/transformation_door_top_right.json +04ee321aad984b427c688ac40638474f321ca892 assets/twilightforest/models/block/transformation_door_top_right_open.json +2fa1bf795ad8f25bd0913f770459de26ce0ebf7f assets/twilightforest/models/block/transformation_fence_gate.json +d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/transformation_fence_gate_open.json +0bd236964f17391b7ab8e78d958c7e7b1d585dfd assets/twilightforest/models/block/transformation_fence_gate_wall.json +2cfb82739d02760641fa255e03de4b47538b182c assets/twilightforest/models/block/transformation_fence_gate_wall_open.json +23e412394ba7f5f124343dc36a763bb4449576aa assets/twilightforest/models/block/transformation_fence_inventory.json +da2d6bc172f337a8c4c0893a159e12f8ad9c92ad assets/twilightforest/models/block/transformation_fence_post.json +c3f509eebb1bc42b03c6800ebd54ae99a36374c8 assets/twilightforest/models/block/transformation_fence_side.json +0f3f3551feb0a129ce74bedafe7aa9ef7476d663 assets/twilightforest/models/block/transformation_planks.json +3244c9f5ac9be5c5c2df8d86d5d7e36c07ae0fe1 assets/twilightforest/models/block/transformation_pressure_plate.json +5eaa1f9c461f63edbfce8a87001a9cc17ec62b4d assets/twilightforest/models/block/transformation_pressure_plate_down.json +8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_sign.json +785f32a9f53e05af7483cd20102698acf15e653f assets/twilightforest/models/block/transformation_slab.json +092ca8dea6dce2fa98c6472a27822edf4851f0fb assets/twilightforest/models/block/transformation_slab_top.json +928ee9e5889752958fef79fc7250a03544336de5 assets/twilightforest/models/block/transformation_stairs.json +1f3a862de9d41cc6d502e01251e02ee504cf03ae assets/twilightforest/models/block/transformation_stairs_inner.json +85fe049a9b168cddf45edee4258bd1a4b4784037 assets/twilightforest/models/block/transformation_stairs_outer.json +f5a1f36517ae65e67789b02bec76def966564446 assets/twilightforest/models/block/transformation_trapdoor_bottom.json +9f7e00da14e0220dc68f3ae471f83c90ff18942f assets/twilightforest/models/block/transformation_trapdoor_open.json +31cbd3bbe0703ce720c34c1a9d8d8b574435b1d3 assets/twilightforest/models/block/transformation_trapdoor_top.json +94dbd69a69eb18c00ce948c1027dc035f2507acb assets/twilightforest/models/block/twilight_oak_button.json +ee8e914aae8a0f87f1868f79eb2aa3fc224a9811 assets/twilightforest/models/block/twilight_oak_button_inventory.json +3453d77c826976ca7e6eb8a8eb3ed1982dcabecf assets/twilightforest/models/block/twilight_oak_button_pressed.json +06c75c3253faf6a328fc9f00f0f511993dc0d0d9 assets/twilightforest/models/block/twilight_oak_door_bottom_left.json +0aaba684c9494d00972f9f5f3d9fe19740ec89a5 assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json +8f758ec5cdb9b9fb09b47f4332f2c8b53cd59432 assets/twilightforest/models/block/twilight_oak_door_bottom_right.json +6ebf59f2d6305c7b5d85ba27d6e65eefa1a566d6 assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json +55855d9419781d48a9470bc6db3f6e8910e66f11 assets/twilightforest/models/block/twilight_oak_door_top_left.json +cc09c63e444f9b2a74ca6318233e0d61f81b4382 assets/twilightforest/models/block/twilight_oak_door_top_left_open.json +29500d1d5ae1a958f765200b3a65a26522bd6653 assets/twilightforest/models/block/twilight_oak_door_top_right.json +405af52aec84bcbe75382e7a1fa119667e042387 assets/twilightforest/models/block/twilight_oak_door_top_right_open.json +d68001882b9bb6443b716e90e900c45e109adcd1 assets/twilightforest/models/block/twilight_oak_fence_gate.json +f93dda0b84de8024a1c53525ca480c0f3b56963d assets/twilightforest/models/block/twilight_oak_fence_gate_open.json +08301edcf4215df42d9f700afa66d1a4766a88fd assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json +539ee7192eb19669bd174167cd8303476b41c191 assets/twilightforest/models/block/twilight_oak_fence_gate_wall_open.json +0cadda8fb441509abe8e50f895502ba506fa586b assets/twilightforest/models/block/twilight_oak_fence_inventory.json +b3517972f0c1cf03f31af94ab049dd28021e81d7 assets/twilightforest/models/block/twilight_oak_fence_post.json +147242a6301eeaf156fbad63b202ae42a68a0ec7 assets/twilightforest/models/block/twilight_oak_fence_side.json +70be3dcdb16fed524c38dd3cb6a19c919c368568 assets/twilightforest/models/block/twilight_oak_planks.json +b47d8bd8054b4cef5edf3d8eee429bb6e23f0322 assets/twilightforest/models/block/twilight_oak_pressure_plate.json +b042c0f560e3046ff3b6d51ab7d022785b938dba assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json +bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_sign.json +7d7b80c489eede6867428b1c2b695a5c85efa1b8 assets/twilightforest/models/block/twilight_oak_slab.json +579fe154e2cbd9ae22779a59595ae452b97b3a6c assets/twilightforest/models/block/twilight_oak_slab_top.json +fdc5ce124af7f7eb3500288862d1375090721fc8 assets/twilightforest/models/block/twilight_oak_stairs.json +35f6c9cc5229ef79eb4f50ebffc839d44fe84bdd assets/twilightforest/models/block/twilight_oak_stairs_inner.json +3994d3c191536f0f01d68102935f1701094dcf96 assets/twilightforest/models/block/twilight_oak_stairs_outer.json +b4662a4c6dca19b04b9d443bd54f099da5ac903e assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json +db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twilight_oak_trapdoor_open.json +582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json +0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json +8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json +5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json +eabcc78bb30aef9eb11d6f55ff944b8623f85eda assets/twilightforest/models/item/dark_sign.json +7ee73611b66cb89a75fd80cb1b662fcd2eec3c21 assets/twilightforest/models/item/mangrove_door.json +8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json +d7a6eb4d66ed3e21ac7c3d19be1cf47cabe3d17c assets/twilightforest/models/item/mining_door.json +d9be1b166a22071779c7207d4b61448790b3eb02 assets/twilightforest/models/item/mining_sign.json +9d193534b14b488093ab0b1ffe7deb45798ae731 assets/twilightforest/models/item/sorting_door.json +66a4b8ef4d8017b25026d785e825695f12621090 assets/twilightforest/models/item/sorting_sign.json +d18e3e48cd0ee23767355e2cb7a25c8b13abe95c assets/twilightforest/models/item/time_door.json +4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json +8207cd235ffd9dfcd41ce8baa38f1150f322ee25 assets/twilightforest/models/item/transformation_door.json +19c8bbc9a51cba2ab8e2d978b2a7271297e4a9a6 assets/twilightforest/models/item/transformation_sign.json +15ce1289e73311e1fe88fe8d113cc0529c85c95a assets/twilightforest/models/item/twilight_oak_door.json +42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json diff --git a/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 b/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 index 9b7b4e31a0..057578dc41 100644 --- a/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 +++ b/src/generated/resources/.cache/50707b2aa2b447940be9133c2ab0f8c3c79811f2 @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.3090423 Tags for minecraft:worldgen/structure mod id twilightforest +// 1.21.4 2025-01-18T14:13:37.9485415 Tags for minecraft:worldgen/structure mod id twilightforest 17650863330056c79d7282d1954ffbeea1905a33 data/twilightforest/tags/worldgen/structure/landmark.json diff --git a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 b/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 index 9a37621947..92b5741b27 100644 --- a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 +++ b/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.308043 Twilight Forest Fluid Tags +// 1.21.4 2025-01-18T14:13:37.9434165 Twilight Forest Fluid Tags 9fa2db0c3bb4bf9ed90554cacefc9aa8a502b765 data/twilightforest/tags/fluid/fire_jet_fuel.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index be88c36618..5173ee5973 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T09:31:30.5506405 Loot Tables +// 1.21.4 2025-01-18T14:13:37.9297703 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json diff --git a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 index c2f18ed6b4..7ebfe5ac77 100644 --- a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 +++ b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3160457 Twilight Forest Recipes +// 1.21.4 2025-01-18T14:13:37.9570551 Twilight Forest Recipes c2df534e70a4871d9e50ee3a1c6242e5e0fe6eaa data/twilightforest/advancement/recipes/building_blocks/aurora_pillar.json 07904494c5d60d52e5f79f8f6487d08016013692 data/twilightforest/advancement/recipes/building_blocks/canopy_bookshelf.json 195eaa6599cda74857d6163a2d207b797e492275 data/twilightforest/advancement/recipes/building_blocks/castleblock/bold_castle_brick_pillar.json diff --git a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e index 437312820a..9cb682377d 100644 --- a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e +++ b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.3495545 Sound Definitions +// 1.21.4 2025-01-18T14:13:37.9729981 Sound Definitions 3b27d779b91248f342667d855c66570d11bbb0e6 assets/twilightforest/sounds.json diff --git a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de b/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de index f89d9bf81d..5f6b1bdd9a 100644 --- a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de +++ b/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de @@ -1,3 +1,3 @@ -// 1.21.3 2025-01-08T00:35:56.28804 Twilight Forest PaintingVariant Tags +// 1.21.4 2025-01-18T14:13:37.9287644 Twilight Forest PaintingVariant Tags 7a9a4c42bf2c29d2ec812ecd9a99e1c4c3d752f0 data/twilightforest/tags/painting_variant/tower_boss_paintings.json cbb5f066f2a743f1edbbc8649ea2cb0ae4f7e5d1 data/twilightforest/tags/painting_variant/tower_paintings.json diff --git a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c b/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c index 170b50f715..42d1abfba7 100644 --- a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c +++ b/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.28804 Twilight Forest DimensionType Tags +// 1.21.4 2025-01-18T14:13:37.9287644 Twilight Forest DimensionType Tags 00d9459d5231a90514badb0eaf58f279722af296 data/twilightforest/tags/dimension_type/allows_magic_map_charting.json diff --git a/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 b/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 index 94b310177b..05a97b9d06 100644 --- a/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 +++ b/src/generated/resources/.cache/937762f182cff9cea47d98a004aa39ef539671c5 @@ -1,2 +1,2 @@ -// 1.21.3 2025-01-08T00:35:56.3090423 Twilight Forest Quests +// 1.21.4 2025-01-18T14:13:37.9485415 Twilight Forest Quests 5eccb2d40dce35a38375516e06da31c120964eb4 data/twilightforest/twilight/quests/questing_ram.json diff --git a/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c b/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c deleted file mode 100644 index 1de417ea33..0000000000 --- a/src/generated/resources/.cache/94f15e09d9a54d422942084512238ed72a5efe0c +++ /dev/null @@ -1,891 +0,0 @@ -// 1.21.3 2025-01-08T00:35:56.294038 TwilightForest Item and BlockItem models -387b18dfa614fda790f7b8e8324e3b139fa177c2 assets/twilightforest/models/item/acacia_banister.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/alpha_yeti_boss_spawner.json -274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/alpha_yeti_spawn_egg.json -044b82d804952e7d81e7f49dd207d94217861767 assets/twilightforest/models/item/alpha_yeti_trophy.json -b0f49be7e29a30b720ef5e108232979b8e1658fd assets/twilightforest/models/item/antibuilder.json -66c46190f86f578eb31964a8d8f73ba3f4a01039 assets/twilightforest/models/item/arctic_boots.json -16776f315d7deb31c13bfcef87b6658c3c373314 assets/twilightforest/models/item/arctic_boots_amethyst_trim.json -863dc3860c2f8f564329b68f9a6d11582f3e6bb7 assets/twilightforest/models/item/arctic_boots_copper_trim.json -123c84fedfb0a4f6e42428d82e145914520fe278 assets/twilightforest/models/item/arctic_boots_diamond_trim.json -311bfe0c2afccd18825141a33a687633d58da96f assets/twilightforest/models/item/arctic_boots_emerald_trim.json -36741154a84fdd54482809b9de267f463e99b8d6 assets/twilightforest/models/item/arctic_boots_gold_trim.json -158279dd50c959e2b82ae34132c03facc7711fb9 assets/twilightforest/models/item/arctic_boots_iron_trim.json -2ac794d8e3167d74cedf0c6df3103357ecd1f412 assets/twilightforest/models/item/arctic_boots_lapis_trim.json -f3f41f3d412ebf2bbf4ddaf268bad848da41a054 assets/twilightforest/models/item/arctic_boots_netherite_trim.json -e8e4665641c74e058771cb03f21a68c8da0c9281 assets/twilightforest/models/item/arctic_boots_quartz_trim.json -fa8014553b4f5c634ac4b282ce18277dad5c2c29 assets/twilightforest/models/item/arctic_boots_redstone_trim.json -63c00054e15b8f23824352cbf16f49b26a488f12 assets/twilightforest/models/item/arctic_chestplate.json -68d714ed90843e8868864d963d2542a679746cb8 assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json -915db94063b9ff0770d4b850fe3f7633b7e76629 assets/twilightforest/models/item/arctic_chestplate_copper_trim.json -9709b1c65bbb61956557ffd09e56042397d6e2c3 assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json -b46611e87a4df37e3dacdbae245c787cd8aaf314 assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json -66017fb61601793c69c69d7158c59f13ac826941 assets/twilightforest/models/item/arctic_chestplate_gold_trim.json -e96959061f06b7b9a2422873cd791e37c95f5031 assets/twilightforest/models/item/arctic_chestplate_iron_trim.json -b419ba59fd51637288efec362f537d1eb73f4875 assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json -731a52321c2fd5f8c4dfba5a6ab0176515b6e214 assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json -36b142af2f9f3d3353a3ae2f9d1a2f2db0ac1d30 assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json -e19125f6b7392ff01f9d046ec0ce93a1e416e510 assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json -43aefce702a3d2f7e1d77cc74ebbe4b71b31edc7 assets/twilightforest/models/item/arctic_fur.json -5373ae28c709eaef4815bf6764cc593c62145109 assets/twilightforest/models/item/arctic_fur_block.json -b1f7167429923cfb21414a7b25c456a4348b6785 assets/twilightforest/models/item/arctic_helmet.json -8323d2d7e6816b065d11e12d4ae8b405dbfb6b8e assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json -0855fc4223210017c52ff8dcfb000297034a39e4 assets/twilightforest/models/item/arctic_helmet_copper_trim.json -5c14a45c8dd782072295bdb004394e39a7dbf9dd assets/twilightforest/models/item/arctic_helmet_diamond_trim.json -9ab62c3274300307a6a028e878f25566fba3083f assets/twilightforest/models/item/arctic_helmet_emerald_trim.json -647e016ca809e3b4ed9986fe86b8a42503d3925e assets/twilightforest/models/item/arctic_helmet_gold_trim.json -35de67d917e60925570ee1480011613ed0754150 assets/twilightforest/models/item/arctic_helmet_iron_trim.json -bcfa82a428668273c46ee3432bce7f049de1946f assets/twilightforest/models/item/arctic_helmet_lapis_trim.json -8485f744516b25b91d8d95904bde88d1ad85fc03 assets/twilightforest/models/item/arctic_helmet_netherite_trim.json -02bdbed9376dc5e4f970bccb2eb07eb06fe2677e assets/twilightforest/models/item/arctic_helmet_quartz_trim.json -22f5434ad9c2c6d39f178c292e361440cfce0fe9 assets/twilightforest/models/item/arctic_helmet_redstone_trim.json -5a3da43a79aea8c6273a49a832870c6b7b332a3f assets/twilightforest/models/item/arctic_leggings.json -5259511c3294bed81792baf4c9cb76434c06901c assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json -9653b6d71e5e3c4ae7f0559cc5ba361572b682a2 assets/twilightforest/models/item/arctic_leggings_copper_trim.json -04feaeb36a916bdee793c656be750a8ecc625c3e assets/twilightforest/models/item/arctic_leggings_diamond_trim.json -a5a99365e3ada5149bd32435f6ebf833fa848f41 assets/twilightforest/models/item/arctic_leggings_emerald_trim.json -19b507d814aad59c9f94180aa283cf48e6593039 assets/twilightforest/models/item/arctic_leggings_gold_trim.json -eb135c58a64465f57f56056d985947c0459a0067 assets/twilightforest/models/item/arctic_leggings_iron_trim.json -d4128f6d6e3181770f9a62614ad51c3c36505281 assets/twilightforest/models/item/arctic_leggings_lapis_trim.json -873df2ab9e301e77b83d8484be14aa812bf1a84f assets/twilightforest/models/item/arctic_leggings_netherite_trim.json -4516ea985ae0359f6b5958f46b64d53f03494ea8 assets/twilightforest/models/item/arctic_leggings_quartz_trim.json -640bea6f4c9e359d7cda7473acdc64c3a36ae343 assets/twilightforest/models/item/arctic_leggings_redstone_trim.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/armored_giant_spawn_egg.json -0efc097cbb44aa1a043e535d92cefcdf2ccfce70 assets/twilightforest/models/item/armor_shard.json -cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor_shard_cluster.json -133be3155aa480bdf02081e13ca0e762069d42d8 assets/twilightforest/models/item/auroralized_glass.json -96b34f14857cd4d6c86e188e389b134c75099612 assets/twilightforest/models/item/aurora_block.json -c34803aa239dbafa3c0286d98e6c16ab69c749ce assets/twilightforest/models/item/aurora_pillar.json -c1a459bcf79cfcd7d0bc5ad1cc47ec0c2f7cf2fa assets/twilightforest/models/item/aurora_slab.json -fd5610eff84568ff6a2105c742e9d67b89bc110a assets/twilightforest/models/item/bamboo_banister.json -3b22b7437760208f6214b9b121890393af3278a2 assets/twilightforest/models/item/beanstalk_leaves.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json -9916d25d03b28f2a6fc30d0f18e6b7607ec7f3f1 assets/twilightforest/models/item/birch_banister.json -c30c07f286b75a6cb43443caa8877638d84abc6c assets/twilightforest/models/item/block_and_chain.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json -ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json -4d1426ff55ca37680f67f1d61b86bc0679fc9d8c assets/twilightforest/models/item/blue_castle_door.json -b27493eda49748814ba36a9543ccdcd33d7b44e2 assets/twilightforest/models/item/blue_castle_rune_brick.json -bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/blue_force_field.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/boar_spawn_egg.json -ff3692b853e3e22cbd6ae8acdc98c895dfddcff2 assets/twilightforest/models/item/bold_castle_brick_pillar.json -47608230139b3feb85e223e05909ae232f4f15b3 assets/twilightforest/models/item/bold_castle_brick_stairs.json -f9fe71a7b6f6784a1347c3c472f3527c16b66d09 assets/twilightforest/models/item/bold_castle_brick_tile.json -518a0e198a1b7e36f9e1554ccb1686c6eb860fd3 assets/twilightforest/models/item/bold_stone_pillar.json -6d65cf8e13ce9afe4c2fe6ab81d35749bf7ad362 assets/twilightforest/models/item/borer_essence.json -1a70eed84e70224c852b86c9a461a18f11b98e04 assets/twilightforest/models/item/brittle_flask_0.json -b87073066de06e67d9dd8823974afd41f8c8051b assets/twilightforest/models/item/brittle_flask_0_damaged.json -f4c83b0220813df38527231d719b4d1519589e70 assets/twilightforest/models/item/brittle_flask_0_splintered.json -766d6fed4b3f34a1d03c11d07b621ca2c1058f1d assets/twilightforest/models/item/brittle_flask_1.json -16ac4f85ba25e9dbcd7175c02c745071030779d1 assets/twilightforest/models/item/brittle_flask_1_damaged.json -8fac797544f56aa293441e8521770ae5a5ed274a assets/twilightforest/models/item/brittle_flask_1_splintered.json -e76796761a8294a154d84b30fb077d085e562f7c assets/twilightforest/models/item/brittle_flask_2.json -e47397a8286cea6965dcfec7af1346148778e138 assets/twilightforest/models/item/brittle_flask_2_damaged.json -47a153bf0da5549974b1a76622bebe5b227d5f63 assets/twilightforest/models/item/brittle_flask_2_splintered.json -70a875d94ad7dd9f35eb6ad9fb042b083c1a463b assets/twilightforest/models/item/brittle_flask_damaged.json -d545882f9f495a8375818400535be2adf1af9cfd assets/twilightforest/models/item/brittle_flask_splintered.json -81b3a65e26c4a67444735a5b5ccc89c7de4e81e0 assets/twilightforest/models/item/brittle_potion_flask.json -820c37ce361c42fa08780fa95348363f3896eca2 assets/twilightforest/models/item/brown_thorns.json -467cebcf3cd3374114448574b195816d14b53a81 assets/twilightforest/models/item/burnt_thorns.json -1639d7fb985d33b297dd58da1b489820665447bb assets/twilightforest/models/item/canopy_banister.json -f530b5269751cdcc82e3e8c32377525d10d714e7 assets/twilightforest/models/item/canopy_boat.json -1df5a2758ad31a70e41c2cd47e8cb5d949c6aefc assets/twilightforest/models/item/canopy_bookshelf.json -0f80256a684719dfa73e8bba344f3e48dd53289d assets/twilightforest/models/item/canopy_button.json -ddc05a33bf4ba0942b0f1fb4fc0bc836108b568f assets/twilightforest/models/item/canopy_chest.json -e1139510edd55c4d52f005d55dc60b8df95badd4 assets/twilightforest/models/item/canopy_chest_boat.json -0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json -68445466001d8ec8b993414b5814fcddd201a163 assets/twilightforest/models/item/canopy_fence.json -91421275fa757830c69f40d1bb3a3dd851ed0f8b assets/twilightforest/models/item/canopy_fence_gate.json -45a3883ef9c92f39fb1ec7cd9d94604569ef3060 assets/twilightforest/models/item/canopy_hanging_sign.json -03d9c494a15b47cd2e368d9c2e758459918db390 assets/twilightforest/models/item/canopy_leaves.json -ee43b35ea1860705d7e5b49074846128a2983514 assets/twilightforest/models/item/canopy_log.json -c875e52ce83c9f44612ad06b1a556274b9355f5a assets/twilightforest/models/item/canopy_planks.json -a826eed852f134c6ef4023acfd6ec961e119018a assets/twilightforest/models/item/canopy_pressure_plate.json -8a3e8ba9f34d032613131ec608c4e4e4a87f2b29 assets/twilightforest/models/item/canopy_sapling.json -8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json -754ffa120fe549e514529bd128ea2f8742425b3c assets/twilightforest/models/item/canopy_slab.json -b70f386b9e5b703004bb3e6a2d154b51c1bbd3a0 assets/twilightforest/models/item/canopy_stairs.json -d744d5d72c5b80d630777c1fe0d5198272e06767 assets/twilightforest/models/item/canopy_trapdoor.json -ddc05a33bf4ba0942b0f1fb4fc0bc836108b568f assets/twilightforest/models/item/canopy_trapped_chest.json -0c2fd9922937004105dc73a7593f17747da2fdf4 assets/twilightforest/models/item/canopy_window.json -a64c3df922b7017d7f103ae983d021d17fe7aaa3 assets/twilightforest/models/item/canopy_window_pane.json -8b68feea16bd21e81106fe7c3c3aa053f5a16145 assets/twilightforest/models/item/canopy_wood.json -31d23e2bcaf472103db9de2c947e5bd7c31deb44 assets/twilightforest/models/item/carminite.json -0eab36383e5aa3d785ef173f463bd32e7f6d0753 assets/twilightforest/models/item/carminite_block.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/carminite_broodling_spawn_egg.json -9ec9bd5027d11975e744829f1a345afbabcde74f assets/twilightforest/models/item/carminite_builder.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/carminite_ghastguard_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/carminite_ghastling_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/carminite_golem_spawn_egg.json -756b33f4e4e99e4e850e8d46d4209461bbb0c8fe assets/twilightforest/models/item/carminite_reactor.json -74f61565fed0e144fbd75cd7c3ebc7c91462e832 assets/twilightforest/models/item/castle_brick.json -b9caeaf0cc9138d7adddb83cd5188763b3cf006f assets/twilightforest/models/item/castle_brick_stairs.json -a8e1edadaf3d710647b01acbe6ecba65b21691c8 assets/twilightforest/models/item/castle_roof_tile.json -222ce8147a8764473227191fe2e2c05797ca0a43 assets/twilightforest/models/item/charm_of_keeping_1.json -763a6980808455c71b2ad6467f55f7c7e057715f assets/twilightforest/models/item/charm_of_keeping_2.json -c50f26fad82a552662a94f174591373b8f80e4a2 assets/twilightforest/models/item/charm_of_keeping_3.json -df0898c30d4de00dbea13cb826421b02d2fbb58d assets/twilightforest/models/item/charm_of_life_1.json -d3a3e3ad93428c961cd3665623af8d0f92c59b9b assets/twilightforest/models/item/charm_of_life_2.json -dcc75e838a6729f58e57b25d4af37902da17af1c assets/twilightforest/models/item/cherry_banister.json -3173f2fc815feaad64c9c93c11d284ae95d01048 assets/twilightforest/models/item/cicada_jar.json -60287266a73cc75aea724a679eef047886e30aa3 assets/twilightforest/models/item/cinder_furnace.json -b9819b08c50eb1669081cbdefcda06703a043530 assets/twilightforest/models/item/cinder_log.json -c0905c2fad082d3d418febd423b7b90cdee47d03 assets/twilightforest/models/item/cinder_wood.json -5084f55df6adb38957ad4c8bd6b8369dfe286124 assets/twilightforest/models/item/clover_patch.json -672edc91d696882be7a512bd4b0016095d10bd5b assets/twilightforest/models/item/cooked_meef.json -55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json -644a4ac9c5787541ab9919cf0e1d244899c69b8a assets/twilightforest/models/item/coronation_carpet.json -224e219e1b2f6fb388c7322635359dd1e73d7000 assets/twilightforest/models/item/cracked_castle_brick.json -aab2deb218129c314139eb8f9446f9f19be2f404 assets/twilightforest/models/item/cracked_castle_brick_stairs.json -66a6e390de0a47c05ebea4b26bd3c5684390cece assets/twilightforest/models/item/cracked_deadrock.json -eca62a9a2d743fef8e3e7134e459754e5c89654d assets/twilightforest/models/item/cracked_etched_nagastone.json -ac8fbe9bc9ac1a9bacdcf29c3cd15043f171a1e9 assets/twilightforest/models/item/cracked_mazestone.json -c0ae181cd3fc4957fa1d26787d8bb30028311b1e assets/twilightforest/models/item/cracked_nagastone_pillar.json -e0c97aa225d494830deacacefe909ea7445016df assets/twilightforest/models/item/cracked_nagastone_stairs_left.json -e1ffc6d6a57fdbbb38445efa9a7d08cb95d0086c assets/twilightforest/models/item/cracked_nagastone_stairs_right.json -2aa4c0d11f4bb55ad3f37e6912c2ffa26b9bdb8a assets/twilightforest/models/item/cracked_towerwood.json -6b6a25ad9ce64efc5c2dc11c2409bab06ca245a3 assets/twilightforest/models/item/cracked_underbrick.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/creeper_skull_candle.json -ddf1661fe44de18c06718d5e915599ffe8a54b32 assets/twilightforest/models/item/crimson_banister.json -26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json -fe2455115203978f14e2618c1cea45aada2ae3b0 assets/twilightforest/models/item/crumble_horn.json -e5bc6e6bd2d27099d01f8c97ef219a4490508ca4 assets/twilightforest/models/item/cube_of_annihilation.json -1ce5d3fe1b3c3104bee4bab8dd23df16c5393881 assets/twilightforest/models/item/cube_of_annihilation_thrown.json -a7c7d75939e66246dbb6064fad965191f4da748e assets/twilightforest/models/item/cube_talisman.json -226c3441a79c7ab365bf47892c6039e62e81a1b3 assets/twilightforest/models/item/cut_mazestone.json -1a55c73749a19400422d96f7d7ec241f75daf441 assets/twilightforest/models/item/darkwood_sapling.json -812fac756a5cd11bf20bf69bb67500cb411d861a assets/twilightforest/models/item/dark_banister.json -8b091e6bdefce5c8702babeb30bd1e889ba085f0 assets/twilightforest/models/item/dark_boat.json -1c923e2245bfed3a7413afb0fb7a51ca2c2bb80c assets/twilightforest/models/item/dark_button.json -31bb8e075e499ae624ac0953114b8d041d9db2c0 assets/twilightforest/models/item/dark_chest.json -a82c0dbb4b3d5ef84c07c3b106c2f2eb5c7ea8ce assets/twilightforest/models/item/dark_chest_boat.json -5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json -8f3e50d5f00e12fe140bd221eafd12c5c8bf316e assets/twilightforest/models/item/dark_fence.json -9dca19be75a38ab4df224625e5a47abd25767266 assets/twilightforest/models/item/dark_fence_gate.json -0cc6a2ecef87dd99cb4a482f5a30f9a798e98bc2 assets/twilightforest/models/item/dark_hanging_sign.json -9bf267650fbd93133b0d98edf43ab29855608b89 assets/twilightforest/models/item/dark_leaves.json -beebee3994203a5d399747944664c240205ee204 assets/twilightforest/models/item/dark_log.json -f4434593ad6cdfca0c67926f0d3bd9a28d40a14e assets/twilightforest/models/item/dark_oak_banister.json -ce7d53c3068f3707c3e35bd86d88725996ba07cc assets/twilightforest/models/item/dark_planks.json -bb7778528993122f7e0e1580cf2f8f0f020444ac assets/twilightforest/models/item/dark_pressure_plate.json -eabcc78bb30aef9eb11d6f55ff944b8623f85eda assets/twilightforest/models/item/dark_sign.json -e55282d4e6cb8b9c19dc036e7174e2fe39f01a7a assets/twilightforest/models/item/dark_slab.json -5a9ccf782f81a4a2eac0c200144458052781e155 assets/twilightforest/models/item/dark_stairs.json -fc7fa6c2d37875a13c4c9ab7eeac2ef6b5a37354 assets/twilightforest/models/item/dark_trapdoor.json -31bb8e075e499ae624ac0953114b8d041d9db2c0 assets/twilightforest/models/item/dark_trapped_chest.json -90d034851a42185a2a4c5f28ad31465b8e484b79 assets/twilightforest/models/item/dark_wood.json -d6edbd2c81a7358947e877898ffc5d059d1f4599 assets/twilightforest/models/item/deadrock.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/death_tome_spawn_egg.json -7ba3b19a793b3e103b749655e5487cf6527233bf assets/twilightforest/models/item/decorative_mazestone.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/deer_spawn_egg.json -6e739011bd20795270eab4e510d955e436d55d37 assets/twilightforest/models/item/diamond_minotaur_axe.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/dwarf_rabbit_spawn_egg.json -6be7b80754543e6433b489b9ad2b9c923f991c69 assets/twilightforest/models/item/emperors_cloth.json -8c88d3d84ae54896ffb1f178f1341deb9fdf0a01 assets/twilightforest/models/item/encased_castle_brick_pillar.json -5e55bd9d8c71da87159d8422f9ddf3912c711c00 assets/twilightforest/models/item/encased_castle_brick_stairs.json -de1ca1b0fc92ee00e649c5d372656f0a6a7f65ce assets/twilightforest/models/item/encased_castle_brick_tile.json -2994167c83ea20a08536fb160da93858ce00b944 assets/twilightforest/models/item/encased_fire_jet.json -9bb59222ee8085c83dc0ee00112e9bc89f5c1867 assets/twilightforest/models/item/encased_smoker.json -40f7cd6dba657c4282cf163c63dc7de77b23e30a assets/twilightforest/models/item/encased_towerwood.json -493db3980bedcd9b3ae173091a92fd321f9b1e43 assets/twilightforest/models/item/ender_bow.json -2112c5b4eaa70e8cc5af2223ae96a0668af27ac7 assets/twilightforest/models/item/ender_bow_pulling_0.json -7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json -c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json -902a25bb462e4402dd610669e461f2540e6114ea assets/twilightforest/models/item/etched_nagastone.json -700863ebffcbd21f38e8bba16e4c32223eb1d737 assets/twilightforest/models/item/exanimate_essence.json -65e8ba6ea45fd41d557069444a9445b178bbe68a assets/twilightforest/models/item/experiment_115.json -0ba0c5992fe74351e12cd6b4edad06b81a35b021 assets/twilightforest/models/item/fake_diamond.json -b3c7ac87f735c9813d09ee46f1d26c844c06353c assets/twilightforest/models/item/fake_gold.json -801236d4cfd188d04b0fb89d2b1b5e0d21942d0d assets/twilightforest/models/item/fallen_leaves.json -47b5e16cf269b2e6645653c5c184984eb596f6ca assets/twilightforest/models/item/fiddlehead.json -e5e543041934e9511beef2019f8e713e4f1f94f4 assets/twilightforest/models/item/fiery_block.json -d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json -0d4b28dfbc074a8ce35025aaf6690620f14bf36b assets/twilightforest/models/item/fiery_boots.json -3753282055695770ddb4392f231da75edb9508d8 assets/twilightforest/models/item/fiery_boots_amethyst_trim.json -5d6978eaf3d38af267cb455b767d22e99fa20e93 assets/twilightforest/models/item/fiery_boots_copper_trim.json -c0b5458a6d1fc2905e027b83a4488232eac9a47e assets/twilightforest/models/item/fiery_boots_diamond_trim.json -f304690d186f11eff4a3041be705177e3026eec1 assets/twilightforest/models/item/fiery_boots_emerald_trim.json -de09f6c8458c5798b684899ae802b1a76322ab9e assets/twilightforest/models/item/fiery_boots_gold_trim.json -da421a6073a2ab076917d34e11f1cc7fb3f8ae0c assets/twilightforest/models/item/fiery_boots_iron_trim.json -b57f74996a4c91268bc5aa97d87c889e96292de4 assets/twilightforest/models/item/fiery_boots_lapis_trim.json -f91f5893189ef1b2ab2109727ec07c807ea8b57a assets/twilightforest/models/item/fiery_boots_netherite_trim.json -67355aeb1ceb5e20f637a7c659bff400ab0dcada assets/twilightforest/models/item/fiery_boots_quartz_trim.json -bc76a061e9e20edc6f7ca8407e06c808d3ede70d assets/twilightforest/models/item/fiery_boots_redstone_trim.json -c20f7ff37f6ef93f829daa038a5364f27b9d88c0 assets/twilightforest/models/item/fiery_chestplate.json -b0bb8d0ecef8361e3f275deb9fd52ec5fd8be0cf assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json -2009ffeab38b8fca6ab094f31e9e54d3b2cfd5ff assets/twilightforest/models/item/fiery_chestplate_copper_trim.json -87f1ee2f46908d18d7cda756fb45ace12cdffb9c assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json -bba78dadde8a3bc92ae2498605229a078696bd73 assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json -825fc984084bbae3067bef89ab69de275e71ee35 assets/twilightforest/models/item/fiery_chestplate_gold_trim.json -b1683bea3cdcebf482a78f1fc22683d3e91d1223 assets/twilightforest/models/item/fiery_chestplate_iron_trim.json -5376444f25f3a59b148b8e356bbdd02134e57899 assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json -659764b3b11de55ab60fbb491358cb3264355330 assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json -5675e4b9bdfaa5a4ae9531edd74327fbe9760945 assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json -7cb1a6b5b9721c9abc4e9e2de9e8640b0ecb2b2f assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json -84635fa35fa22d022916e110b91e2dc9b24a37d6 assets/twilightforest/models/item/fiery_helmet.json -ab2117e91a24c779a53526086e16f9243921f4aa assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json -9e329332d4fd415bc75ab8e54d494ccc4da2a7a3 assets/twilightforest/models/item/fiery_helmet_copper_trim.json -fc2e98ebe1b3d2ff6af5c8ef6166871acd728127 assets/twilightforest/models/item/fiery_helmet_diamond_trim.json -3832d407ea0d0226b3949557947817b7b6c97ed5 assets/twilightforest/models/item/fiery_helmet_emerald_trim.json -e42ed8b4fed12079a1c65230e789563ccf01f3c7 assets/twilightforest/models/item/fiery_helmet_gold_trim.json -f7f7d76a7d66b37bc6796980a5d18134eb05d6ce assets/twilightforest/models/item/fiery_helmet_iron_trim.json -1c7a21a8ef92d75c26fc703608c63e2d55c7420f assets/twilightforest/models/item/fiery_helmet_lapis_trim.json -695b664f856d3ed06006bc1b85420bb462590c5e assets/twilightforest/models/item/fiery_helmet_netherite_trim.json -55910a150934d5e78ff9f2649c8a274dcd69fa44 assets/twilightforest/models/item/fiery_helmet_quartz_trim.json -dd4bb85e7ad19471659383b284e7fde953a4c7a5 assets/twilightforest/models/item/fiery_helmet_redstone_trim.json -a2d994187e37d19db9b410b28a0bdcfc54ec7482 assets/twilightforest/models/item/fiery_ingot.json -43d108d08765fee8ab5e1316309a4298828b9714 assets/twilightforest/models/item/fiery_leggings.json -5fbd131960ad9a0a56d706487b68230bc2475ce3 assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json -372a420ef54ddc89de884565f67ed9db09492f7d assets/twilightforest/models/item/fiery_leggings_copper_trim.json -4dc72e19a5ede23bc2391914095c8a09de00bd2f assets/twilightforest/models/item/fiery_leggings_diamond_trim.json -b175054a2c403d299825f3215d7fa7738d416f59 assets/twilightforest/models/item/fiery_leggings_emerald_trim.json -f076c20ad9fd867f9ab065751bd5da2d47977d4c assets/twilightforest/models/item/fiery_leggings_gold_trim.json -db1786f8fc7ef50680456f2d590964b54dcd512b assets/twilightforest/models/item/fiery_leggings_iron_trim.json -816d30505dacc079bc8d3a6ff245ebc3fc20e3b5 assets/twilightforest/models/item/fiery_leggings_lapis_trim.json -4b67cdea8e03a7612d7d981a15d77c80475444c1 assets/twilightforest/models/item/fiery_leggings_netherite_trim.json -24987fdf83b34154b2bf9d4974f006be21b752a6 assets/twilightforest/models/item/fiery_leggings_quartz_trim.json -92730b2729d7f5a15b899e8ba05935985a3abed4 assets/twilightforest/models/item/fiery_leggings_redstone_trim.json -d3a2041dd608e3d43f30ed6a09d18f096148eba2 assets/twilightforest/models/item/fiery_pickaxe.json -a4c75d6e93c7321bee2d4d6d64ea5dbe87641961 assets/twilightforest/models/item/fiery_sword.json -d895c75381c7feefb45bb9b9554f3530b3ab90c6 assets/twilightforest/models/item/fiery_tears.json -5181d8a26402dcc3029d8f006e5d7619e80b1f77 assets/twilightforest/models/item/filled_magic_map.json -2cee91b73f1e622d13636ea951266294a7f8858f assets/twilightforest/models/item/filled_maze_map.json -a4efc46b585c4575013020061d1c0ff5ec73261b assets/twilightforest/models/item/filled_ore_map.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/final_boss_boss_spawner.json -3173f2fc815feaad64c9c93c11d284ae95d01048 assets/twilightforest/models/item/firefly_jar.json -e7acd2988378a41a4eb4f423392b0a95545f63ed assets/twilightforest/models/item/firefly_particle_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/fire_beetle_spawn_egg.json -83c3392a583d70aceb92d9b7f16a5cf58172172b assets/twilightforest/models/item/fire_jet.json -a8f03677eca5d5ab6f83fc4390bcb0338d799ae8 assets/twilightforest/models/item/fluffy_cloud.json -d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/fortification_scepter.json -9f410438de778e29167734c6d25de587438ba73d assets/twilightforest/models/item/four_leaf_clover.json -0dd4422a6efc3e029e3f7fb0eb018f9bf03b1b5c assets/twilightforest/models/item/ghast_trap.json -afb5c811a12e164d146968e0eb7f0a9247f9e14b assets/twilightforest/models/item/giant_block_base.json -e28872b5fcdfa9998aab98621e43fcaa6c0ba9c4 assets/twilightforest/models/item/giant_block_gui.json -eda8d4a79ddb6657555c8abd8f4ecae0f0308bf3 assets/twilightforest/models/item/giant_cobblestone.json -13bf214f6c52bdda678b9265c8511987c113b2bd assets/twilightforest/models/item/giant_cobblestone_base.json -6513bbf05166095e22c319f6e4dae83f67127a83 assets/twilightforest/models/item/giant_cobblestone_gui.json -274960574eb5c1764ded11e10e521e7b7e130fb7 assets/twilightforest/models/item/giant_leaves.json -f06aa6c29676d22dccb3fbcdb66a25f7bd118aaf assets/twilightforest/models/item/giant_leaves_base.json -a1438be22b6ec1f479c632de843529a6ae8d3c57 assets/twilightforest/models/item/giant_leaves_gui.json -4dcca27200826d37d27fb19941dd9179ca867d0e assets/twilightforest/models/item/giant_log.json -a830c4aa12cb1fcdac95b82a782d411d45ae7471 assets/twilightforest/models/item/giant_log_base.json -f65c8edb0653e98645e535a61f1b19d47353ff72 assets/twilightforest/models/item/giant_log_gui.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/giant_miner_spawn_egg.json -8f19748359564bc6a97f145dedb8c8a17f5e013b assets/twilightforest/models/item/giant_obsidian.json -befd2c74202f9af10022f668ad9b5696ad822d59 assets/twilightforest/models/item/giant_obsidian_base.json -a9685ba1a99c7109669f84d846a60bdcca49d1be assets/twilightforest/models/item/giant_obsidian_gui.json -2ed7dbf7685bc42b64a1ee9b25f3e970daca4f8b assets/twilightforest/models/item/giant_pickaxe.json -3143ff12e27e0c247d02db77b100b891542d5df3 assets/twilightforest/models/item/giant_pickaxe_base.json -4b28163ede8b3310466003025f7940d12456189e assets/twilightforest/models/item/giant_pickaxe_gui.json -8c67bc9655803963ca97e0af69be56155ab78d99 assets/twilightforest/models/item/giant_sword.json -f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword_base.json -469cf125b4026446fa56f1bc19c53d8ac58ce79d assets/twilightforest/models/item/giant_sword_gui.json -8bfd30883803950fb15b6493d7433f644b9eb431 assets/twilightforest/models/item/giant_tool_base.json -9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json -e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json -9aa005dbed13d3b210f51aaf9de87c28de547b4e assets/twilightforest/models/item/greater_flask_0.json -7f66c52d10fb8484a998e563be2f70cbf236cb76 assets/twilightforest/models/item/greater_flask_1.json -cb9726352c900d4d75a3d745708f9771991b31c9 assets/twilightforest/models/item/greater_flask_2.json -baebd9defaf1f02c26c13239dfbcdd088398b0de assets/twilightforest/models/item/greater_potion_flask.json -bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/green_force_field.json -e2fe7dcbd99ec57c36d0044e45543f01d1017ce7 assets/twilightforest/models/item/green_thorns.json -1e327a05c018e4b6bce4ee0dacbb0e961b7ac96b assets/twilightforest/models/item/hedge.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/hedge_spider_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/helmet_crab_spawn_egg.json -05481f047af292bbac52815e6556d93df069af84 assets/twilightforest/models/item/hollow_acacia_log.json -d8b1f46e81e9d58e981f0370f2858fb58e1dd5e9 assets/twilightforest/models/item/hollow_birch_log.json -769efdc55d827ca471842cda8508ab3bd43f1442 assets/twilightforest/models/item/hollow_canopy_log.json -065cd4e1d4bcbf14ab2a6d19388f9c85041cee69 assets/twilightforest/models/item/hollow_cherry_log.json -c78e3886cb2f4cc5c46584357f035f5c6fd7fd30 assets/twilightforest/models/item/hollow_crimson_stem.json -c4350730509adab25d826395041148d043141b18 assets/twilightforest/models/item/hollow_dark_log.json -c3a86d4b3d165ca4e9cbf0d009b8bd5e90b10a9c assets/twilightforest/models/item/hollow_dark_oak_log.json -cfd10778676f48fa66b3bc331057af726bdf7eb1 assets/twilightforest/models/item/hollow_jungle_log.json -f1ba24e86e8d4b8fa02a3d151ebf8a333fe5cb22 assets/twilightforest/models/item/hollow_mangrove_log.json -5837aeaab46df9335e09c8a687fc7c58bf40c7f8 assets/twilightforest/models/item/hollow_mining_log.json -b14bb8a58cff699284f7dfa56665b54a0b762b25 assets/twilightforest/models/item/hollow_oak_log.json -94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json -2274017b6c9d729897162ef2c6e9692fe914fcf9 assets/twilightforest/models/item/hollow_sorting_log.json -5549b76b299fb9018b5a73bd118c408fabea442a assets/twilightforest/models/item/hollow_spruce_log.json -e49e062e69b18efcdd4f804ae07733e081cd08af assets/twilightforest/models/item/hollow_time_log.json -8530fa9dcea4ef3e5011f6b20d9f599130f2d00f assets/twilightforest/models/item/hollow_transformation_log.json -7cfc8bb9ba3159338a921d1fdde544bbbcbe9c77 assets/twilightforest/models/item/hollow_twilight_oak_log.json -8bc5ff32f149f21fe9f9ba52d3e42706204779b8 assets/twilightforest/models/item/hollow_vangrove_log.json -d3165528c20784c9f648dc20311adab897c5d2a6 assets/twilightforest/models/item/hollow_warped_stem.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/hostile_wolf_spawn_egg.json -bf3c79561ee47e448fb9215117137d82a2e94c12 assets/twilightforest/models/item/huge_lily_pad.json -1d5492dd3a65cc97554309c646314916f22ebf49 assets/twilightforest/models/item/huge_mushgloom.json -fe614a9805ae16ef0e83c9aef84402b358bd920f assets/twilightforest/models/item/huge_mushgloom_stem.json -95e231e0c0c11fe3c7e3fe38019a4cd0cb6c03b1 assets/twilightforest/models/item/huge_stalk.json -37b642a1be3526a36aa413659a8b6047b97f529e assets/twilightforest/models/item/huge_water_lily.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/hydra_boss_spawner.json -7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/hydra_spawn_egg.json -c6d91c2e5c2aa0604862efb548d9824a4ed1c2f1 assets/twilightforest/models/item/hydra_trophy.json -6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json -93da3e06c49aaab456c4e9b2840f5d704ff63571 assets/twilightforest/models/item/ice_bow.json -343869b220112f1779587136c012defc4df8654c assets/twilightforest/models/item/ice_bow_pulling_0.json -d79a6f4b6044fc9729b7c81a84bdb86a83471d39 assets/twilightforest/models/item/ice_bow_pulling_1.json -9e89ee3aaf30a6e70278e24260ece969c7620811 assets/twilightforest/models/item/ice_bow_pulling_2.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/ice_crystal_spawn_egg.json -15e9bc03adbdcc917443791c9b8e02433a1b1072 assets/twilightforest/models/item/ice_sword.json -e8bb230d83638920a020ef8b454224bbfedce5c8 assets/twilightforest/models/item/infested_towerwood.json -7f67e5c4fb773f4e6667073fd9b0723a242e9fe6 assets/twilightforest/models/item/ironwood_axe.json -fd80d7dc2c6d41a4748789a744eefad1ee7d653a assets/twilightforest/models/item/ironwood_block.json -45ade33714a2a457155746cea5531aff1f5e65fa assets/twilightforest/models/item/ironwood_boots.json -cd82b3ac5a2b7e8187ada481669a669aa4acc2a3 assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json -5b52b5aca7e53923d0a9a53cb61bf5af39d33eed assets/twilightforest/models/item/ironwood_boots_copper_trim.json -8464b489d410d5075ddf82a43f517636a80d5714 assets/twilightforest/models/item/ironwood_boots_diamond_trim.json -a2f226d471797a35b73fc365aa57827f87dfb1c5 assets/twilightforest/models/item/ironwood_boots_emerald_trim.json -45c091c267165cc40a6134136ca9529f888b4f87 assets/twilightforest/models/item/ironwood_boots_gold_trim.json -1e8275c61689e7e3e19fcac1433886362b1329f6 assets/twilightforest/models/item/ironwood_boots_iron_trim.json -9fe1d686b1b46eff5c15b51878e905c75baa7e2d assets/twilightforest/models/item/ironwood_boots_lapis_trim.json -7753c0c0a54e0f4eb69cd733907db4f2acf2bc2b assets/twilightforest/models/item/ironwood_boots_netherite_trim.json -fa70bbc5b2c5a202d0250dd406bb5fedffa44a79 assets/twilightforest/models/item/ironwood_boots_quartz_trim.json -410b860964708b382ec54132ba36aa624b92c0f3 assets/twilightforest/models/item/ironwood_boots_redstone_trim.json -2eea9988596211183f511c6113cf30554985ad0f assets/twilightforest/models/item/ironwood_chestplate.json -49cc3d4c1a7376fe4cf84f61b41eff09112bac3a assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json -95b14cac74589f05905c223058465f8a595c88fc assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json -299da75200c742d1d5eb6db548c6a29c62a68671 assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json -9ae7a3a4c035784dfe36633a6da8024a21145cf6 assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json -19aea8f18a4d5a7618942444c1d7f98235c59aa2 assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json -2a6d722fba702802ad8bf6b926a5e3873b396d5c assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json -28bee4559f573a8c9708d15490535d878c0090ed assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json -9a10fc5c8729443569b8c2d860f415a5ed23c42c assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json -e5c21eacc1eed8f40cbe7038a45acf05ac7469cc assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json -48bcfba90ffb6dc024bacea3bcf80e98540442d9 assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json -4c251c42e66b625b57e3fac78eb78fb21e7156c6 assets/twilightforest/models/item/ironwood_helmet.json -41f7376fe596763fa8c75630d46827fd71550e12 assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json -f75d2e17abf4da16c2e82c6c2b8b739453429789 assets/twilightforest/models/item/ironwood_helmet_copper_trim.json -67aab575b5d0bd9e910c6e7407fe9aed9d59bde0 assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json -4016fb858f4e1dae80b2c3d5e02874571c83c574 assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json -bc7faf1e0c7ee6105b01630f4d7a017292017e37 assets/twilightforest/models/item/ironwood_helmet_gold_trim.json -5e211f1617bd77d040b377e6aace68cf97439220 assets/twilightforest/models/item/ironwood_helmet_iron_trim.json -781d40b7e830802dff2aba149dc8bdae6efb182f assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json -5f0c8ed704a21231019a13b1fe6e75341ead84b1 assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json -18acc446408eefac6672c92361879be3980d102f assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json -0e82d0ace333b0c4eb07c52e99b11cf5eedb8a7c assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json -b6969dbc99a2524a050e95aae64ab1709dbbb568 assets/twilightforest/models/item/ironwood_hoe.json -f5f097939c84d47532571d2d9b8828b7b64b1463 assets/twilightforest/models/item/ironwood_ingot.json -e6a4d3bddfcd2d74e49088730a12673b9224123e assets/twilightforest/models/item/ironwood_leggings.json -f62d7a52a58095d73a37c861a66556fd24585959 assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json -b834a14e8db564cefd465ba11ec74f0d997c245f assets/twilightforest/models/item/ironwood_leggings_copper_trim.json -8b36f81fbf616ff61f3d8540ef43971e6251583a assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json -3b95bd10e34d5aea5ba9f9c2c58fb96c83987f9f assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json -f8bc97a59b921af07f7178677f0d2f85f1e4fd78 assets/twilightforest/models/item/ironwood_leggings_gold_trim.json -0cd0e7e2ec660dc01d4e2243ac995871998f4552 assets/twilightforest/models/item/ironwood_leggings_iron_trim.json -78f8579da11a925c6c695aa648edd8078232db3e assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json -87e7922d3dd98dc7278137734bc88bae91db15b1 assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json -6e28e5295aa5209de22a993e4c64c758b537abcb assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json -86570fced81d3d98183b1fba66c88b83132cd7eb assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json -26a9b9d145d110de4829faf25823619faa18808c assets/twilightforest/models/item/ironwood_pickaxe.json -7e20110d9c815d8c101e8a1af764ea6bab594005 assets/twilightforest/models/item/ironwood_shovel.json -c066ae6241e4ca251cd0bd28e17fe102e5aa0981 assets/twilightforest/models/item/ironwood_sword.json -157bffad0e30dad70206c79f3f218ceb5e5d98d6 assets/twilightforest/models/item/jungle_banister.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/king_spider_spawn_egg.json -a3e174da7e8f2a12e133b431dc29a96d945953e5 assets/twilightforest/models/item/knightmetal_axe.json -29e8fc3ff44ae25218fe331f8927867f7fa11b35 assets/twilightforest/models/item/knightmetal_block.json -3934538c174552f0ed6ced0d01b1ee78594584ab assets/twilightforest/models/item/knightmetal_boots.json -c2b014f7dd568e7916d530b608f37a84dcbb43de assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json -ee3864abbb3afafe09006a249f08a77c4db03cf4 assets/twilightforest/models/item/knightmetal_boots_copper_trim.json -982f746bd3c4eb28bd26a1445099f5691dd54e2f assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json -078ab20544f6fcb04f5e89368dcdb4d0e3ff05ce assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json -377ba3ab8f07c85de88bf7a615488e2e4bd51ea3 assets/twilightforest/models/item/knightmetal_boots_gold_trim.json -75c2bc2d15f0329ee351ac8eca9108ec2e0753e3 assets/twilightforest/models/item/knightmetal_boots_iron_trim.json -4cf9345287b8bd7c0a1d69f3bc3735aa3b0042f1 assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json -ba49d8d6039ef250e763e3fb37e0cb0a27af52d3 assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json -eee249fc55003e1536b63aa7837b3561f1aeaa36 assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json -333954b36b8a4c750be56208500512a1d159fbe5 assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json -2cea206c6584e1a151690a6901db9c0aa9b0f8f1 assets/twilightforest/models/item/knightmetal_chestplate.json -eadb061cdd100554771e868acf5f9561ef14b366 assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json -131a950a16688b21561289979926fabb9c08258c assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json -7d4c257aaa12c5b6397757500f258fa5b9b5cf10 assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json -5652bf2caa003bed0bf2b7a08f5035e907d8788d assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json -882239ff95160a2d007fecce2730b768b2f44263 assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json -b033e0dafe0db320d65aee1c0805e8f9d9b59318 assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json -b441c8ec4a669968fa01b41a757aea32e8ec1d76 assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json -a1b724cddb5eeeccea06a33018f91f50e81a6cb4 assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json -6ec3e10618638e0063517daa27a993e816299e23 assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json -3cd4115ad9bfa2f0be8ac6c08847c75030817f69 assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json -422b54c2866bc918f7752c8f34d086bdf137bfab assets/twilightforest/models/item/knightmetal_helmet.json -860bdaae87f323b270a57ce387ea9248ba6d117e assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json -cc172fb2840f31cca3eafd43c135c1aac2e351be assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json -77a5754f341264eb9afdad2022fd34a30a76eed5 assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json -609dee6803f83f1fd29337e7e62398ec5110d98d assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json -08e61ac771d31e0ae40e533bdeb82c3419952579 assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json -696b484c07ae34fa3bc66d629856eea973456ce5 assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json -fb1acac754add9ccd9fc216b6d407cce546c1f9c assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json -d191cb9ae41050df7546c49436f8d8f73856c6eb assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json -ae22b6a0f8af36ddbd17da1688816ae4d90d8c99 assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json -600e19b783167c906f961eb6ea5016f092797856 assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json -06969ad82a4d9715df890afc384b96a3c3036dd4 assets/twilightforest/models/item/knightmetal_ingot.json -0fb55632cebb8bdea425b6d82233726b22a095ff assets/twilightforest/models/item/knightmetal_leggings.json -63729652c2a31ae91bbeb9a3088289839b732f28 assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json -840d8af303c36f6b711514b2b2c0257f175ff7b6 assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json -89fe5909f7348036924cf5eb5e802405fbfb93b7 assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json -393dad6108ff2840a22813172316e4992f2dde27 assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json -12bf7f2e174bd3fba9080b41310b3ffe13479c51 assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json -c224ffc2dadbd507bbd25df2b1ff3b59f64870c7 assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json -a2fc4b38662d01070416048c22ae02d1de9a9704 assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json -0cf0aee8c9b2613e877ba99f6851ed39348aef3d assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json -c6396a05170104840578db727a73ce3ed36928d7 assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json -dce79ff2f9ddf262a1a2d36528aa6eaae37d9c36 assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json -d2c0d0336eb105811ec38717128c4f0f344d8523 assets/twilightforest/models/item/knightmetal_pickaxe.json -221fbdcebc9e01c60279953e014254d16333f6ef assets/twilightforest/models/item/knightmetal_ring.json -a7ec10a496b1b6935e8dc144efe701e3f5ec7f00 assets/twilightforest/models/item/knightmetal_sword.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/knight_phantom_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/knight_phantom_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/knight_phantom_spawn_egg.json -3fd9a49275a9e425fdd42bdf9cbe5537d3550b70 assets/twilightforest/models/item/knight_phantom_trophy.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/kobold_spawn_egg.json -315ba5b6cb31f2543efff7794e5a78ad0db0f490 assets/twilightforest/models/item/lamp_of_cinders.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/lich_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/lich_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/lich_spawn_egg.json -914de44a64ac77e886f4d4c3504a24b48a59a543 assets/twilightforest/models/item/lich_tower_miniature_structure.json -621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/lich_trophy.json -3a53f9f06ce5624775badac55c78c16a6fa216ff assets/twilightforest/models/item/lifedrain_scepter.json -c1428d0907051e585b83662a7414fcc9b8450fcc assets/twilightforest/models/item/liveroot.json -6fa0f2c4fc6c912294c665befc0e8314a740caff assets/twilightforest/models/item/liveroot_block.json -8c67c7aaa868fef0936c6e53cd3d5aa4a0c502fc assets/twilightforest/models/item/locked_vanishing_block.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/lower_goblin_knight_spawn_egg.json -b488c0e68304fe38b56b843b215bb46abd69fbc3 assets/twilightforest/models/item/magic_beans.json -ff9e2e8376642cf0ae9452f73d2cdd2ae486022e assets/twilightforest/models/item/magic_map.json -3be27be382684a8a3955e7658c54d3d34a6a444c assets/twilightforest/models/item/magic_map_focus.json -7d6333678dc9845504c0da7b660debb25fc58dc6 assets/twilightforest/models/item/magic_painting.json -bc799d77d4344616b9a679dcd2e839fa75646287 assets/twilightforest/models/item/mangrove_banister.json -40e9fe30b711daf2712fa6533799c9bbe0c2366e assets/twilightforest/models/item/mangrove_boat.json -ffa22394c21d9ae5aaf32421ca2bad7df2f3686b assets/twilightforest/models/item/mangrove_button.json -6604d6d66e5d0be53e3daa017c419240b51205d9 assets/twilightforest/models/item/mangrove_chest.json -666035ac619468d481f3f8cd167bbb36d7525a37 assets/twilightforest/models/item/mangrove_chest_boat.json -7ee73611b66cb89a75fd80cb1b662fcd2eec3c21 assets/twilightforest/models/item/mangrove_door.json -a5f7b20e0a18cda7c94e123d8693e77d32f84576 assets/twilightforest/models/item/mangrove_fence.json -89b836be34ba0917e925552b328c60511011007d assets/twilightforest/models/item/mangrove_fence_gate.json -52d711a0b811a57cc2ae79543fc8b170ae330fee assets/twilightforest/models/item/mangrove_hanging_sign.json -930408f00593665a8a27dd3ae737c526bd6d5e23 assets/twilightforest/models/item/mangrove_leaves.json -20f5c812b5d5d99daadf40d4ee3e24a9767fcc31 assets/twilightforest/models/item/mangrove_log.json -f20d2966822a4100c8639d96a302e74944f7d3b9 assets/twilightforest/models/item/mangrove_planks.json -a90be855b9fb1499e389b9866879d0fc983ac739 assets/twilightforest/models/item/mangrove_pressure_plate.json -a061147256d088e296b7a58f797a02a98690eb1c assets/twilightforest/models/item/mangrove_root.json -f4dac8a73ee71c84e875908b6690237c43bf0633 assets/twilightforest/models/item/mangrove_sapling.json -8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json -1952fc53158bfa3b1133902e0e29a1f5e8f18ecc assets/twilightforest/models/item/mangrove_slab.json -452d10f7bd29f21df7d74e2cad08c5e66f58403b assets/twilightforest/models/item/mangrove_stairs.json -8fb0609c313fd6b4ec49fe8350d1a5e79ca0585e assets/twilightforest/models/item/mangrove_trapdoor.json -6604d6d66e5d0be53e3daa017c419240b51205d9 assets/twilightforest/models/item/mangrove_trapped_chest.json -2496be590449bb19a40a9bd04aa08fdfc4c263b9 assets/twilightforest/models/item/mangrove_wood.json -11c99bf9307aac43c075320eb3fe411ec2eac58c assets/twilightforest/models/item/mayapple.json -e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json -ec981af97894d664b45ef734c30ad813ebf7ec30 assets/twilightforest/models/item/mazestone.json -25c80cd7f729db78526a8e96b8225e925fa3161f assets/twilightforest/models/item/mazestone_border.json -259bfdfc50a8d0a05c4aa373f7e6fad2062e6d7b assets/twilightforest/models/item/mazestone_brick.json -3eeb2b1cd6dbf1e1dd59d8176f4607bedefca793 assets/twilightforest/models/item/mazestone_mosaic.json -134e4c40ccf2bc5f12ce90bbeac261dd6e1398d4 assets/twilightforest/models/item/maze_map.json -3c228cd32f67cd640f1745626c6e775f14a689df assets/twilightforest/models/item/maze_map_focus.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/maze_slime_spawn_egg.json -8038237d661376b29d9de794e043bbabd31925bb assets/twilightforest/models/item/maze_wafer.json -07e884313e400575a2300b39bb59a200b01eca42 assets/twilightforest/models/item/meef_stroganoff.json -6d5440cabe2a1221df9b2eedc62c6a450afefff8 assets/twilightforest/models/item/mining_banister.json -aa55f42f900763f4e5681b42608dbb6f8b526fa2 assets/twilightforest/models/item/mining_boat.json -5b4137558b76fc0fbd88a37e25a100193d5902c6 assets/twilightforest/models/item/mining_button.json -413d1b50666d17e312d9050a3ab4f5839cc9ad32 assets/twilightforest/models/item/mining_chest.json -68b99e7c9446bbe0c7cad1314164dd4d8abccfb9 assets/twilightforest/models/item/mining_chest_boat.json -d7a6eb4d66ed3e21ac7c3d19be1cf47cabe3d17c assets/twilightforest/models/item/mining_door.json -724e4e2c20a75107bbd5cb50698e2bb388efd61a assets/twilightforest/models/item/mining_fence.json -02f26f556982115ab2f95721c6c58a113114b1fb assets/twilightforest/models/item/mining_fence_gate.json -e6894387f0197be4a195e4d2eeb45cc360eff403 assets/twilightforest/models/item/mining_hanging_sign.json -9f607aa28d67530e857cda96a11bfa9f29c798a0 assets/twilightforest/models/item/mining_leaves.json -0c9fb2b512e9c4964ff6facefe0f9c5c01feac55 assets/twilightforest/models/item/mining_log.json -8a109a9340f9dacdd4e046d975309bb0376b2cc7 assets/twilightforest/models/item/mining_log_core.json -1ca66a20551548494f017ec1ee3e63d78aaf4dac assets/twilightforest/models/item/mining_planks.json -2a2ac27b2a1d7c00dddfee1c20f490462d817e4c assets/twilightforest/models/item/mining_pressure_plate.json -e7fbfb35264b0e9cd2c84487c99284fa738bacfc assets/twilightforest/models/item/mining_sapling.json -d9be1b166a22071779c7207d4b61448790b3eb02 assets/twilightforest/models/item/mining_sign.json -0983f1078400e978f2b06a68ccac62ee7f544c8c assets/twilightforest/models/item/mining_slab.json -d5d8eefef716a71158d80d66802726e30c2f57bf assets/twilightforest/models/item/mining_stairs.json -cf3737de5ae670012ca4fd9135bae81ed57138c6 assets/twilightforest/models/item/mining_trapdoor.json -413d1b50666d17e312d9050a3ab4f5839cc9ad32 assets/twilightforest/models/item/mining_trapped_chest.json -3cd77e662ee7d399a8292aaeb176034c542f82da assets/twilightforest/models/item/mining_wood.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/minoshroom_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/minoshroom_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/minoshroom_spawn_egg.json -621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/minoshroom_trophy.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/minotaur_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/mist_wolf_spawn_egg.json -066b40fec4700610b470a9eacfefc03b5599ff93 assets/twilightforest/models/item/moonworm_queen.json -824774180de2cddedf1c798073f84d69a045515d assets/twilightforest/models/item/moonworm_queen_alt.json -d0823e2b9a56fb573cc41002a22ae0315679aef7 assets/twilightforest/models/item/moon_dial.json -7dd8d92247fafafbeb54a9c9b0d3a9f830f99817 assets/twilightforest/models/item/moon_dial_full.json -3ccb89fa084c401e478efc4d6c548b3f0bedcf92 assets/twilightforest/models/item/moon_dial_new.json -ba7fbcfa8606b0902aafdf0157d4611d7be4896b assets/twilightforest/models/item/moon_dial_quarter1.json -714df3f77096fb31b9bae86c96d03cca2859a38b assets/twilightforest/models/item/moon_dial_quarter3.json -ecdb9fcbb8fe8d6db544936737394981d55b51e8 assets/twilightforest/models/item/moon_dial_waning_cres.json -8ecb907caca4a12dd9789f8b3337ea4c39f178fe assets/twilightforest/models/item/moon_dial_waning_gib.json -d793cc179ad8f4322b8f3b1bafb34272f34126f6 assets/twilightforest/models/item/moon_dial_waxing_cres.json -bf19b0d9c6bdfda495e911a67eb4326e8357a99a assets/twilightforest/models/item/moon_dial_waxing_gib.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json -08939ed055c2ecbdadc39131aaca1d01fb876dbb assets/twilightforest/models/item/mossy_castle_brick.json -bd051cd90bfa4481c7bb03013f8c056434c118e2 assets/twilightforest/models/item/mossy_castle_brick_stairs.json -0b2ba3317aa496a215a4a009d92a332e96b44629 assets/twilightforest/models/item/mossy_etched_nagastone.json -c4e06c70ca220481794cdb697763ac8e14e9c2a9 assets/twilightforest/models/item/mossy_mazestone.json -a1ec3480072d22767245ee501e049b8aa20f3a91 assets/twilightforest/models/item/mossy_nagastone_pillar.json -a84271d2baf83e203d9006246561586cb2e64570 assets/twilightforest/models/item/mossy_nagastone_stairs_left.json -a2f1ff6b0c20efbe0889814be0f3be31f146f34f assets/twilightforest/models/item/mossy_nagastone_stairs_right.json -9948c2bc7b1878669d0a49cdfd37e5e6ffa3129a assets/twilightforest/models/item/mossy_towerwood.json -727223a45db796cf0563dd393fd4714116af116d assets/twilightforest/models/item/mossy_underbrick.json -45417066a8c4a018026d9951ba4b55e8d8cb2208 assets/twilightforest/models/item/moss_patch.json -ee1286ae00d31a74692857b11af43bce079c04be assets/twilightforest/models/item/mushgloom.json -72cbb9656b782c67c12fb01e590d3f312d188b05 assets/twilightforest/models/item/music_disc_findings.json -03baa484efe9c1311440f878ed7455a9d5734418 assets/twilightforest/models/item/music_disc_home.json -f9b2f9e4a45bf80dcc6161a57d4cc76da917615c assets/twilightforest/models/item/music_disc_maker.json -5d7cf01b371bd99861adc2b6afbc21b0ee7ed308 assets/twilightforest/models/item/music_disc_motion.json -de47e4e74077c2e92415a170ad02de0c239e1a35 assets/twilightforest/models/item/music_disc_radiance.json -360ee96e60519b7e60dadc6003ad353ce90900ab assets/twilightforest/models/item/music_disc_steps.json -39ed9caada50dfbecbcb27d08887f6a03708c93b assets/twilightforest/models/item/music_disc_superstitious.json -cf4bb049c531db874c9bd1e508b0cff9c773f241 assets/twilightforest/models/item/music_disc_thread.json -2fcac44fcd93bb7e4cdd8dddf3d72f62f481cd85 assets/twilightforest/models/item/music_disc_wayfarer.json -621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/mystic_crown.json -93d410af4b89d9331737f1a4f8b0e26023c93c8a assets/twilightforest/models/item/nagastone.json -252d2edf25d0d7fa0c53faff52c866929dcede4a assets/twilightforest/models/item/nagastone_head.json -314125ee8f11192a78647c4b5affdddead3a29b9 assets/twilightforest/models/item/nagastone_pillar.json -101c5ee8f08118f34274dcefc51ecd988251ab92 assets/twilightforest/models/item/nagastone_stairs_left.json -28367b6b33028cdd83c86a5752f8012dbab95788 assets/twilightforest/models/item/nagastone_stairs_right.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/naga_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/naga_boss_spawner.json -ae78b5cfebca2c316fa03c445c85a9438998da65 assets/twilightforest/models/item/naga_chestplate.json -9adae69bfda93a24b4ffc8ddf7c9265f22d5cc5d assets/twilightforest/models/item/naga_courtyard_miniature_structure.json -83c57251a8b8ff0cc1d155c8ab5517e28b6d28f2 assets/twilightforest/models/item/naga_leggings.json -e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/naga_spawn_egg.json -621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/naga_trophy.json -c825e1c3550c80ba6c507e2c09827c83201c8508 assets/twilightforest/models/item/oak_banister.json -bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/orange_force_field.json -15d1b83142509312e20ad12c0d1713688d1269fd assets/twilightforest/models/item/ore_magnet.json -4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json -f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json -87c22b18b60c3e3d7ac5c538c6e39460bd6d4766 assets/twilightforest/models/item/ore_map.json -4c22da76370fe7dc203a0221f05075a7b98e0450 assets/twilightforest/models/item/ore_meter.json -c60eaa6b8f6bd0edde6aa7f5ee63b2f51bbeb570 assets/twilightforest/models/item/ore_meter_active.json -4e8f03fef77b6c1268f8728996f584808cff1161 assets/twilightforest/models/item/peacock_feather_fan.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/penguin_spawn_egg.json -61b788110fc9da6c40bbd6d16672d7ebac143f7f assets/twilightforest/models/item/phantom_chestplate.json -59fcfc8dd35bb2135638f636b6f84a4ef729997d assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json -a2d46281259151dfa87647b76b68834618e6ce6f assets/twilightforest/models/item/phantom_chestplate_copper_trim.json -897f10fbce1db2f8f4859c85daff82728eb73942 assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json -fe751a04f9c36a103ea3ab0ad58c3db63d001542 assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json -30bdf26361ece535f89c7e3959c38454da19460c assets/twilightforest/models/item/phantom_chestplate_gold_trim.json -b095a0ef801efeaa452f7a5e0365a5c0d027f34e assets/twilightforest/models/item/phantom_chestplate_iron_trim.json -006deaa5fecfed0ffefcb3525cd0d8c8b9c96e29 assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json -c758049fb2a79de92bd2e1fa22c4d02ee0f66433 assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json -c50bd6353efd503281eb4ecc212a66beae157082 assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json -8781881db54c6a3ddf9580c14d593bafb68d5abd assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json -2b9f8789e49a72f98aa3cabd12643cff45ebbe3d assets/twilightforest/models/item/phantom_helmet.json -d2843c71225634e5f6a610d3b6af574cfc9d58c8 assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json -e2b035e5c232d49b39910b7daed9abb1dcd681cc assets/twilightforest/models/item/phantom_helmet_copper_trim.json -f38961209b619cc91952899762b8c89cd31b311c assets/twilightforest/models/item/phantom_helmet_diamond_trim.json -49864cc67112c9e0efc66a161a22f1e9dfb300c8 assets/twilightforest/models/item/phantom_helmet_emerald_trim.json -e5fad84f3214cdf03aa3bc99b8e843112cbb1b41 assets/twilightforest/models/item/phantom_helmet_gold_trim.json -20a8fdbc589a0750bbfd6463807c036a2ce195e2 assets/twilightforest/models/item/phantom_helmet_iron_trim.json -b40819c5011d3c04a59e519e38e600ae6dd256c8 assets/twilightforest/models/item/phantom_helmet_lapis_trim.json -54e2fbef54fae317fd3f044811985537e59f8078 assets/twilightforest/models/item/phantom_helmet_netherite_trim.json -eab5812709d6db628fb5b7b3470e817c8aa87b56 assets/twilightforest/models/item/phantom_helmet_quartz_trim.json -d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phantom_helmet_redstone_trim.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/piglin_skull_candle.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/pinch_beetle_spawn_egg.json -9de285e500a8850308690ee3d059c70163298ac4 assets/twilightforest/models/item/pink_castle_door.json -b27493eda49748814ba36a9543ccdcd33d7b44e2 assets/twilightforest/models/item/pink_castle_rune_brick.json -bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/pink_force_field.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/player_skull_candle.json -29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/quest_ram_spawn_egg.json -3fd9a49275a9e425fdd42bdf9cbe5537d3550b70 assets/twilightforest/models/item/quest_ram_trophy.json -1d4124402b5b329592afaa4863a9115cd149f81f assets/twilightforest/models/item/rainbow_oak_leaves.json -b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainbow_oak_sapling.json -c17e41e6f645f3a0e369c10497df587fcf1631e8 assets/twilightforest/models/item/rainy_cloud.json -5003500e023117b7b4dfb278ae8397d843dcb178 assets/twilightforest/models/item/raven_feather.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/raven_spawn_egg.json -1e4c3d381913d42fdb65677fd5a2e3e4eb1b8589 assets/twilightforest/models/item/raw_ironwood.json -6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json -1bbdd61f3f1d2b53812fbe21f1e53e42b55a7de7 assets/twilightforest/models/item/raw_venison.json -34f086e26bfdc800d357f3e53e4976a0df5fa8df assets/twilightforest/models/item/reappearing_block.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_sapper_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/redcap_spawn_egg.json -02d1bae05e35f82e7cf66e1c122b9fc697a4deb5 assets/twilightforest/models/item/red_thread.json -838755413cb66599d04290c9c7a66f4f4d1f0fea assets/twilightforest/models/item/red_thread_bundle.json -8ffd7ca851414b40b4515be3ce1e9abfe92a1b8d assets/twilightforest/models/item/red_thread_large_spool.json -fcbf4ee3bdfc26cb430f28f4e76771da074a5aa0 assets/twilightforest/models/item/red_thread_spool.json -40f22ccfa085414838c7cab1bb685b6270733126 assets/twilightforest/models/item/root.json -8537a6ba9f4a50d69cf01630607b3b2bbdd7c50e assets/twilightforest/models/item/root_strand.json -9906e876cf4bf9bb6e28032e6129c3dba7081de4 assets/twilightforest/models/item/rope.json -d595f519d3b0bc04d05df292af27f32faafa1c7f assets/twilightforest/models/item/seeker_bow.json -014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json -02dbf7d47b4be510da10aa9eeca37841abd09fae assets/twilightforest/models/item/seeker_bow_pulling_1.json -efd1f5c64c16dacd32b8b1320d9e713ddc58f339 assets/twilightforest/models/item/seeker_bow_pulling_2.json -a450c4e34bd472d349597e9e1740eb26e6e98d80 assets/twilightforest/models/item/shield.json -77dcf40c893ab2b10523d77c21f622eeff3b3373 assets/twilightforest/models/item/sinister_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/skeleton_druid_spawn_egg.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/skeleton_skull_candle.json -0ee6598ddfeb5eff5d72843cdec68f0c35f15363 assets/twilightforest/models/item/slider.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/slime_beetle_spawn_egg.json -9b85fe6ee3248abb58c52a8e4de51ee5593d9017 assets/twilightforest/models/item/smoker.json -589fc7872f53375ffc00de5c0a64e8ccb3ee29f2 assets/twilightforest/models/item/snowy_cloud.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/snow_guardian_spawn_egg.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/snow_queen_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/snow_queen_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/snow_queen_spawn_egg.json -621a3a44e9aa5fc8a52bf833e473ca652f4c15b9 assets/twilightforest/models/item/snow_queen_trophy.json -69ddd39807bf14bca8daadd4d6f4e2fc93be4b0e assets/twilightforest/models/item/sorting_banister.json -d4a5f01bd0560ede6d9756cee312a4fcd2c7747f assets/twilightforest/models/item/sorting_boat.json -eec745adb23307394b4da3a0885e667ac5d905a7 assets/twilightforest/models/item/sorting_button.json -baf331fe48b0c7e31646021ff8213e5da18accd2 assets/twilightforest/models/item/sorting_chest.json -9dc9e2f3cb41e5ff802909506a3dc6eae9c0ef6e assets/twilightforest/models/item/sorting_chest_boat.json -9d193534b14b488093ab0b1ffe7deb45798ae731 assets/twilightforest/models/item/sorting_door.json -7bd222ed172753649803e71146a34f3e51605460 assets/twilightforest/models/item/sorting_fence.json -8cb3cc83a4c59a44682c28d24df65e872dee2f90 assets/twilightforest/models/item/sorting_fence_gate.json -49e22452940c1ea09a0bf278b545f578a590922a assets/twilightforest/models/item/sorting_hanging_sign.json -7292153fe1b8832e69fad74002f074bd0259b692 assets/twilightforest/models/item/sorting_leaves.json -d47163e14b264504a1452819a1a3b000769fd9f7 assets/twilightforest/models/item/sorting_log.json -d256609da1d883874778060e6b86465c86d6c06b assets/twilightforest/models/item/sorting_log_core.json -7d4977482c454d00a3147600f0e1d0458d6ee7db assets/twilightforest/models/item/sorting_planks.json -7d53ac8424fba3ea27544f9b0170e350d3ca5062 assets/twilightforest/models/item/sorting_pressure_plate.json -ad3c942dfa6146c1c4f3b6af1ab70c3ce9db5e1e assets/twilightforest/models/item/sorting_sapling.json -66a4b8ef4d8017b25026d785e825695f12621090 assets/twilightforest/models/item/sorting_sign.json -ef75896042acdf73250a50f2495915f4cd663236 assets/twilightforest/models/item/sorting_slab.json -12fb9b83acfdfd15de13664997263bde064a13a5 assets/twilightforest/models/item/sorting_stairs.json -e28d32bc2ee3cae533d79f3a46ae30e794dc1bc5 assets/twilightforest/models/item/sorting_trapdoor.json -baf331fe48b0c7e31646021ff8213e5da18accd2 assets/twilightforest/models/item/sorting_trapped_chest.json -f1e4179eba00d06306f5c674b11d4b20b3524372 assets/twilightforest/models/item/sorting_wood.json -fbdf1b275da3dd94971a38e4e48de4a3cf337fdd assets/twilightforest/models/item/spiral_bricks.json -87e85db2a6bfd1b67e3c5f547228ac77b4fc0971 assets/twilightforest/models/item/spruce_banister.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/squirrel_spawn_egg.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/stable_ice_core_spawn_egg.json -0528882d5d5ab12726109a66dba7b4ee98a5a655 assets/twilightforest/models/item/steeleaf_axe.json -5b7f129cbe9eb8a521dba26e7d55c03220166a96 assets/twilightforest/models/item/steeleaf_block.json -2ce90ddcba38601b8f3da67e477727e8e9fc661f assets/twilightforest/models/item/steeleaf_boots.json -b35b49da984ef2df61ec8bb40ea11c2affd62c26 assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json -112e06b4de70fbe506b87a1f61d784649cafd108 assets/twilightforest/models/item/steeleaf_boots_copper_trim.json -9cf006baeb62900ae90a70a2a14667981a6ceb8e assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json -7535412faf69be77ccc592b9424666b8e2406780 assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json -61bc2c2b97ac45bc4e38f69153817f6d7d69cbed assets/twilightforest/models/item/steeleaf_boots_gold_trim.json -2f17287420434e79678c63e847371ac64542f6dc assets/twilightforest/models/item/steeleaf_boots_iron_trim.json -841bbbf41b6bf1b2257d7bf6adfc3cadd9596c00 assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json -6f53261f4efe44ab8f284f84d04fd6ed545f4b74 assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json -5f08e06a3b56c9ea5539c242af95da3fc567fcb3 assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json -a563a47ea174c9922f545f6840c1af1af8efe939 assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json -7f960a97b15be58d2eb0d42a5dc24b0cf3049d39 assets/twilightforest/models/item/steeleaf_chestplate.json -9e0f3a4711bcf89fe5a9f650a5b00d44a59d586a assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json -65c481e147bdef75cd6a37e91e51a423fcdd9c93 assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json -98cd07d904c7cb33931f6258f0ac8af9c4ea14cc assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json -e8539b8d0764ef7a2831d007e548fa0ab9448700 assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json -de559bd2341c9171c46af79e8e7d350cd627109d assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json -ce88b6c088f3ee12e7a34edc8b0148ff5fe59674 assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json -84e0cf7dece468921b6fc903c5394a50510378f7 assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json -fbefaab99c937819191f6a67e148756a8ccaf15d assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json -247bf1de96b15a9d24ca76574648331a4d60487e assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json -a83ae0587f90851030ba1829192ffb21efe90615 assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json -10cc3d34df3aee4277f1d6f9b7446062c05331e3 assets/twilightforest/models/item/steeleaf_helmet.json -59897134819dd2ca6efd488d1475a03e8b93ef9b assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json -8e038a85b96c29ffc3fc27b7eed3112431493fe0 assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json -94bd5352055715079327a2b041fc22216882eaf3 assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json -8e93b8d361e98cb6e7f154b97f3e846596153823 assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json -fedb8eb334da1e81c79bc556a5f7fd6ed2a752ef assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json -2ba7e8c66222a963586878e9939d0c76d6a5c273 assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json -a8642107523c8cac8db0950a44c8691903e08ef1 assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json -50feacb23ac790b800c107b150b15a43ccca172c assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json -b814167ce8a056f1384236eb06359de152f43483 assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json -c6ed75d81581efef0b10048a79d8d89b3840c3e4 assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json -4609f69a56738e2f31946d80ae0f5a79f83d4405 assets/twilightforest/models/item/steeleaf_hoe.json -d8da3fc36b054cf749ead027ff4aba65a4cbffdc assets/twilightforest/models/item/steeleaf_ingot.json -c4847dd9089cab96263365a6e746c2f5fc663058 assets/twilightforest/models/item/steeleaf_leggings.json -f32e34ce658982d3a3314fe51557aa6546d640a1 assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json -6d58c87999b3c9536a496b4d6dbf9616df409924 assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json -0d46bb4df17e1f35599261148046a23dc930fa74 assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json -11e6cc9b330eebf8b935e00c30313e6946ac544e assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json -e339ff9fe3dcd966b944202b4916858377374a4c assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json -d3a3492ceb8e8856eec790252523fb104ff5cfde assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json -e0db935b8745ed1f00b12dc41b4ac26b5877f436 assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json -fceeae48646db095e9b9493c52fdd561d36242ec assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json -c36ec283ddca93b1873538d3460b209a4fed87fc assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json -5285e3ff056acc1b6a2be333057ca99af0b43ae9 assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json -323add4d7b4a44d0b2bb6e9500ea6b449cd8fbaa assets/twilightforest/models/item/steeleaf_pickaxe.json -cc69788d326fa77606a26c669f54cebe419e3bc1 assets/twilightforest/models/item/steeleaf_shovel.json -207815171673e6652c902cbcca7a2fd42fc821e2 assets/twilightforest/models/item/steeleaf_sword.json -2c7e66d55fbfb3c0c49c43795a50d2862acd6219 assets/twilightforest/models/item/stripped_canopy_log.json -ddd5146c050304317fe5956c8c867ed798fb5566 assets/twilightforest/models/item/stripped_canopy_wood.json -174b403e30bb805496fb13ef4d929c100932e636 assets/twilightforest/models/item/stripped_dark_log.json -227cc6ad47343f2ee443fa9675d8baa93d838ba5 assets/twilightforest/models/item/stripped_dark_wood.json -76b349d287c080b47705c0a9c05f25b29aab21f8 assets/twilightforest/models/item/stripped_mangrove_log.json -6132b72a485339cf45845e3ce3cabe0facc35c17 assets/twilightforest/models/item/stripped_mangrove_wood.json -13bce5cca2a248b971f85dfd3381118272cd9824 assets/twilightforest/models/item/stripped_mining_log.json -6b772d78449b4527b4f35b8d03a96d7907646277 assets/twilightforest/models/item/stripped_mining_wood.json -a0de7dc7f21bcabbdc495bd0bde0c9d3b3af2759 assets/twilightforest/models/item/stripped_sorting_log.json -5c639aa6ca27383d7c5b32305c58ae26bb044512 assets/twilightforest/models/item/stripped_sorting_wood.json -85d7f6d8cdfaff6f2c4e3a1005ecb5e8869b182b assets/twilightforest/models/item/stripped_time_log.json -78d0ced81c52d47b9145f63592d2de7ad3a55d16 assets/twilightforest/models/item/stripped_time_wood.json -22cfadb561fef3871b58322fe7cee38697dd6334 assets/twilightforest/models/item/stripped_transformation_log.json -164b290ec549cbafc29cac1b3a2192baf9e1b93a assets/twilightforest/models/item/stripped_transformation_wood.json -ee065f8e4f9df73fd8cec17cadf3c219607928da assets/twilightforest/models/item/stripped_twilight_oak_log.json -6944ef6f561af2c195b161f856e1e5628c12b3d3 assets/twilightforest/models/item/stripped_twilight_oak_wood.json -96cc061452d7448bbe0acdbcda714c489edebae2 assets/twilightforest/models/item/stronghold_shield.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/swarm_spider_spawn_egg.json -618e6cb5fe62c6e41a6277f85e27878be738e91f assets/twilightforest/models/item/terrorcotta_arcs.json -e1d29927bf89c2ef9b0a45ea90facc9279d9452a assets/twilightforest/models/item/terrorcotta_curves.json -b03a59dab8b070aa8bb1b6bfd99a758ea8e5d9b2 assets/twilightforest/models/item/terrorcotta_lines.json -6846b15a2df412a91954cada0d0d4b219c5f343e assets/twilightforest/models/item/thick_castle_brick.json -78629f1e6bc7d7af1d8bd03d9d445f839bcb37f8 assets/twilightforest/models/item/think115.json -bd8ec10fba2faf5c43a345a3f6324458ffccf0aa assets/twilightforest/models/item/thorn_leaves.json -aad4989349f5b4e6181e6b098ad2f70d5dd90310 assets/twilightforest/models/item/thorn_rose.json -1047a38ca0cdd1c9c2d06a595ec90a75542822d5 assets/twilightforest/models/item/time_banister.json -ecaf3f57e02a00bccfe67d03fb6134a103da5e57 assets/twilightforest/models/item/time_boat.json -a2077cefba62c44a727abc94a6f60f50e04e3916 assets/twilightforest/models/item/time_button.json -6ba07d1a8d6b8f67ea3f66939d6ba5aa7e960e44 assets/twilightforest/models/item/time_chest.json -4bacf59d465788f217fd8c07772973e33f4a9f35 assets/twilightforest/models/item/time_chest_boat.json -d18e3e48cd0ee23767355e2cb7a25c8b13abe95c assets/twilightforest/models/item/time_door.json -7ae7c18bca645eb02bb1aaa1c399db5a1234946d assets/twilightforest/models/item/time_fence.json -46274f71a21e2b3cc9a892fc9d9829cb5e6c3eef assets/twilightforest/models/item/time_fence_gate.json -3d2e2a38af3e3fcdfcda2187b5a91a36e1efe6f7 assets/twilightforest/models/item/time_hanging_sign.json -5929bbe18c301576617e77717cfaaeffa5a70b17 assets/twilightforest/models/item/time_leaves.json -4740347147af87bfbb4176997bcf5fb581106aed assets/twilightforest/models/item/time_log.json -5184b754e43312abee72a646180ae4b009ce28f9 assets/twilightforest/models/item/time_log_core.json -169c665a0db20fb0968e9b3c779132a992cfeffa assets/twilightforest/models/item/time_planks.json -21f87a0f2d893c220a0fe629625f231f819ed7f6 assets/twilightforest/models/item/time_pressure_plate.json -b8b14f90fb2dce3e231361082d926fe478c962a4 assets/twilightforest/models/item/time_sapling.json -4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json -6205de46246c4a31a6e7a8749a813f3b831ed5b8 assets/twilightforest/models/item/time_slab.json -85e20bcc8fd5c81f5d1142f614921199dbb597ba assets/twilightforest/models/item/time_stairs.json -88873f57364950d02f235ad28aeeed4e3a16841f assets/twilightforest/models/item/time_trapdoor.json -6ba07d1a8d6b8f67ea3f66939d6ba5aa7e960e44 assets/twilightforest/models/item/time_trapped_chest.json -06d56cdcc57225e0463b41c881a26b912cf89951 assets/twilightforest/models/item/time_wood.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/tiny_bird_spawn_egg.json -84b6e8abf533a1367db9f8aefcbdcc30c3b90496 assets/twilightforest/models/item/tooting_crumble_horn.json -8df22476335a530097aae297d910fc47c72eb659 assets/twilightforest/models/item/torchberries.json -04b469cff60997a1388783e97ea012da256a12df assets/twilightforest/models/item/torchberry_plant.json -dc4655f39194eac0cda7a76f744d12f7d3266940 assets/twilightforest/models/item/towerwood.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/towerwood_borer_spawn_egg.json -903aca39343d85b20acdfc70179d1023213c0a87 assets/twilightforest/models/item/tower_key.json -7374ce1ab869a82285264585b6fcf8b533b866c2 assets/twilightforest/models/item/transformation_banister.json -d82c6c8c0ce2c8162b0fdd3a791d86bfa3a041fe assets/twilightforest/models/item/transformation_boat.json -f2e89acef3c72f0bc1489c8c474c540c68590d6e assets/twilightforest/models/item/transformation_button.json -33ac6113af3f5557214c8f1cefc83651ad423098 assets/twilightforest/models/item/transformation_chest.json -282cfcb3361d42bde181794291eb446d32eda85b assets/twilightforest/models/item/transformation_chest_boat.json -8207cd235ffd9dfcd41ce8baa38f1150f322ee25 assets/twilightforest/models/item/transformation_door.json -e1de5e105ccdb958dd9d27bb8bbc85ba8bdde1a4 assets/twilightforest/models/item/transformation_fence.json -669e6ebf3c0419e7acfc74d458403aa8bd2638ca assets/twilightforest/models/item/transformation_fence_gate.json -7e21f6d25b4063185e27566e779f41b26dab33cc assets/twilightforest/models/item/transformation_hanging_sign.json -da75406be36ed5f6bbc48b879127b48e1ad366b4 assets/twilightforest/models/item/transformation_leaves.json -bfc17b6c26906352cc1f7f177e84521f4982bf47 assets/twilightforest/models/item/transformation_log.json -6e1ff1837d8c2377c1aa7b4335aa0d0be26608b8 assets/twilightforest/models/item/transformation_log_core.json -85a5b28e761e6a7d7fc799e269cc2dc54089fc57 assets/twilightforest/models/item/transformation_planks.json -6055c86a78d31445d3502ae1313250965cfd1cf0 assets/twilightforest/models/item/transformation_powder.json -faeb2224cdf78a679dcb77d00516b4e4fe8804fc assets/twilightforest/models/item/transformation_pressure_plate.json -363b8667dd45e96c69a73afc55aa1ba370dad285 assets/twilightforest/models/item/transformation_sapling.json -19c8bbc9a51cba2ab8e2d978b2a7271297e4a9a6 assets/twilightforest/models/item/transformation_sign.json -3c8737b2be6c76f1831d13ffebb31b7e05731b5f assets/twilightforest/models/item/transformation_slab.json -f38c08272d6a41e4a2b8b6d9913371bafa165ace assets/twilightforest/models/item/transformation_stairs.json -a992a739de1b34be3dcf106964c75ab8d1299ce4 assets/twilightforest/models/item/transformation_trapdoor.json -33ac6113af3f5557214c8f1cefc83651ad423098 assets/twilightforest/models/item/transformation_trapped_chest.json -e13d8f18390763349ac4ad44f7241ba058518ae5 assets/twilightforest/models/item/transformation_wood.json -5bc1edf6b84c4ad6ce22df3d063818dc4e15debe assets/twilightforest/models/item/triple_bow.json -a01e709e7b119f1c1c6c1f19c37a45adce96fe23 assets/twilightforest/models/item/triple_bow_pulling_0.json -da8ccbaaf7197d8de6f5a670061779d6c9bd69b8 assets/twilightforest/models/item/triple_bow_pulling_1.json -1e9c9118a16e3aae53792c02900e73a27d2e8855 assets/twilightforest/models/item/triple_bow_pulling_2.json -10fe4ffbfd9f8331fc671518c1601a37d29dca92 assets/twilightforest/models/item/trollber.json -143fcec33946ad1372d8bdba061bc72f5838b117 assets/twilightforest/models/item/trollsteinn.json -93593e7779b3cc6b8401375cec38388a3c9692f5 assets/twilightforest/models/item/trollsteinn_light.json -c40a954fe657d4d44a308596d3fcdc3ad6de9faf assets/twilightforest/models/item/trollvidr.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/troll_spawn_egg.json -44ba301b492f28d0b9bfd8cc87b39c994c056e5d assets/twilightforest/models/item/trophy.json -6bd39542a0254d0e686843560dbdd0cf3f365f54 assets/twilightforest/models/item/trophy_minor.json -2b527ae9d5ec3c96beeb9df4af0f5d1be79a23dc assets/twilightforest/models/item/trophy_pedestal.json -1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/trophy_quest.json -0f69546d0d0e0a17d51591d20fe7916d1475f61a assets/twilightforest/models/item/twilight_oak_banister.json -ef21acc3297ac54d490d74b2a786ff5719d1ee37 assets/twilightforest/models/item/twilight_oak_boat.json -4cd02ba209d06193c8390cd5fc2c4a0119d57195 assets/twilightforest/models/item/twilight_oak_button.json -1d30aecfb6d633284fd06aaf7eb6d46b50a7d054 assets/twilightforest/models/item/twilight_oak_chest.json -968283106fca51d14ee95e0fb6985331505400be assets/twilightforest/models/item/twilight_oak_chest_boat.json -15ce1289e73311e1fe88fe8d113cc0529c85c95a assets/twilightforest/models/item/twilight_oak_door.json -ec881a7891beaefde4905c088ba9371634d29b79 assets/twilightforest/models/item/twilight_oak_fence.json -f2da80d0b49c023e7f9e2294f5cf7c87aa8758c6 assets/twilightforest/models/item/twilight_oak_fence_gate.json -0171874614bc3115a1df9515304fd62abe7470ac assets/twilightforest/models/item/twilight_oak_hanging_sign.json -2978d869de5d9a8170d09ab77faab640c8054bf4 assets/twilightforest/models/item/twilight_oak_leaves.json -a3d818c213bdcacac34fd47c384c582d01fc747c assets/twilightforest/models/item/twilight_oak_log.json -4c43514258b888e4832d2452412f92a938fd5894 assets/twilightforest/models/item/twilight_oak_planks.json -f1aaff9b53d604e02477584772eb9f90f8a04fa6 assets/twilightforest/models/item/twilight_oak_pressure_plate.json -0e287853f29d505391da2d87810c6f4a34187db6 assets/twilightforest/models/item/twilight_oak_sapling.json -42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json -8a77ddce7b3438548caff6086c14e1e5a29c581f assets/twilightforest/models/item/twilight_oak_slab.json -c8675deca2f0af4e04414bbd91d330e1708120f3 assets/twilightforest/models/item/twilight_oak_stairs.json -75d9ab07c45d5b2c1cebf2bfb97db15788f4e5c5 assets/twilightforest/models/item/twilight_oak_trapdoor.json -1d30aecfb6d633284fd06aaf7eb6d46b50a7d054 assets/twilightforest/models/item/twilight_oak_trapped_chest.json -62aa21b537796034cf666e24af61878988e6d8ad assets/twilightforest/models/item/twilight_oak_wood.json -3a3f31e541352d322d34d9c7eca97e37022a3df4 assets/twilightforest/models/item/twilight_portal_miniature_structure.json -8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json -346191ba71f08a63339da23f2cfd8a838ca42d19 assets/twilightforest/models/item/twisted_stone.json -dc62911efe227989279f2b81245fb69d2b91176e assets/twilightforest/models/item/twisted_stone_pillar.json -3ef6d3814b46257ee79142830d80e4e88105ec66 assets/twilightforest/models/item/uberous_soil.json -7975f894e7c442319def838cb6718378dbf4f1d9 assets/twilightforest/models/item/uncrafting_table.json -62a18ba733344120afd6317a4021e600afeb6254 assets/twilightforest/models/item/underbrick.json -ede9b3743ddb43acfd5adcc8fad03db0e1eedb44 assets/twilightforest/models/item/underbrick_floor.json -221ae2bf8b6db463b4909daac2b03451fd52792b assets/twilightforest/models/item/unripe_trollber.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/unstable_ice_core_spawn_egg.json -0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json -061906a0c9a9a334fbb82acb809c3748e2b1f9cb assets/twilightforest/models/item/ur_ghast_boss_spawner.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/ur_ghast_spawn_egg.json -6467390ccbe84f739ffcd47232a4698c72e18d84 assets/twilightforest/models/item/ur_ghast_trophy.json -90df13099476672a311c2357cc700eca4c0aa811 assets/twilightforest/models/item/vangrove_banister.json -37baaba38fedb22ac69ef5a704ceb8bcf037b80e assets/twilightforest/models/item/vanishing_block.json -d93ab5f6a936abfc93ca6f442dd6eccc75868d76 assets/twilightforest/models/item/violet_castle_door.json -b27493eda49748814ba36a9543ccdcd33d7b44e2 assets/twilightforest/models/item/violet_castle_rune_brick.json -bafbdd124434e7c4e216b9a36dc79bb302e97ecb assets/twilightforest/models/item/violet_force_field.json -c142dd7b39e68876cc272ffff0803adecc0b9398 assets/twilightforest/models/item/warped_banister.json -f9bea0cd2dcd603057e136167935ec827f15f565 assets/twilightforest/models/item/weathered_deadrock.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/winter_wolf_spawn_egg.json -8cf3760ad280f15b167028c42b9eac047a6767ce assets/twilightforest/models/item/wispy_cloud.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/wither_skeleton_skull_candle.json -5569c9ade74d97c8a24f99537d1578d1b460680d assets/twilightforest/models/item/worn_castle_brick.json -5bf06f896d41e73af2aca9d220481e511b796409 assets/twilightforest/models/item/worn_castle_brick_stairs.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/wraith_spawn_egg.json -ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json -9d0f9474de92d909e4a9134343798791cd01aa46 assets/twilightforest/models/item/yellow_castle_door.json -b27493eda49748814ba36a9543ccdcd33d7b44e2 assets/twilightforest/models/item/yellow_castle_rune_brick.json -6f4d9a081a27e19c034adc27bf24aee4af8b114a assets/twilightforest/models/item/yeti_boots.json -5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json -09c8384ff74c47aa02cfc654357383f028e41fb3 assets/twilightforest/models/item/yeti_boots_copper_trim.json -776718d505d48d4a6f2ed32e46fbef3d40c46245 assets/twilightforest/models/item/yeti_boots_diamond_trim.json -86bf8040ff6d5a4e5a8ed5e880166e8615c7f6a3 assets/twilightforest/models/item/yeti_boots_emerald_trim.json -68e5d38a9fc8d49d76e0914e7b45659d4616c9a3 assets/twilightforest/models/item/yeti_boots_gold_trim.json -d5deba3be3957ed65a68fec313bd8251bec31424 assets/twilightforest/models/item/yeti_boots_iron_trim.json -586f4b6c5825571eecd675708b2532c5156b1c77 assets/twilightforest/models/item/yeti_boots_lapis_trim.json -b149ff91d459a2553cb4c33246c1a64f276547fd assets/twilightforest/models/item/yeti_boots_netherite_trim.json -999d706600701ea9440c04d1b1be2bb318dbb9fa assets/twilightforest/models/item/yeti_boots_quartz_trim.json -8a042d8aaf178a1a303fd3965ecb41715149327c assets/twilightforest/models/item/yeti_boots_redstone_trim.json -11d68f3451081fdd9c614f56af7da1a79fe898c6 assets/twilightforest/models/item/yeti_chestplate.json -eccc22120800827b6520b0982e77c45a43c91648 assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json -636ca7ecafcf76e1f00b8439ab3b747e94f6b498 assets/twilightforest/models/item/yeti_chestplate_copper_trim.json -79cc0be73dd168be03fac071af72a41d15746974 assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json -3fa70c13f9d5e46017496252f146fccc89653fdf assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json -77643a062cd22d1c9a9129ea83b476042c089fac assets/twilightforest/models/item/yeti_chestplate_gold_trim.json -1da476739f0697630cfb51a585a697129ef66eea assets/twilightforest/models/item/yeti_chestplate_iron_trim.json -abda4cce825aa74e20582b6930c60426ac995b7c assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json -3e43f5babe311c2665d05d28f803b0efb1238263 assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json -8b6bf806082d0aba87060877ea1c78d8dffbcfe0 assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json -dc471213d4a31a58dde6b71648125bb882d34032 assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json -aed3aee86c1b146b9d1da909e24a6bca1cef4a1e assets/twilightforest/models/item/yeti_helmet.json -68d6b04fbd98c2f5c09ead9a3da2894a7f2cdeb7 assets/twilightforest/models/item/yeti_leggings.json -a7a60597129c18ac7d60b87a01ae692b62463088 assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json -8a9ce556305c0f166c0573b09e05ac1d52a3835b assets/twilightforest/models/item/yeti_leggings_copper_trim.json -499502d076259165a1870ad6d6ab56415f931155 assets/twilightforest/models/item/yeti_leggings_diamond_trim.json -25f0a286e3e810b46e0c82d0b365d7425003a2c6 assets/twilightforest/models/item/yeti_leggings_emerald_trim.json -1938fba8d1e0136888af62aca7efadc369840b43 assets/twilightforest/models/item/yeti_leggings_gold_trim.json -4d3af66128505f16e427ef93a20b49ace868dcca assets/twilightforest/models/item/yeti_leggings_iron_trim.json -4444a307bcfc99b5f18b8a032097e072ff1b89de assets/twilightforest/models/item/yeti_leggings_lapis_trim.json -0c21cdff82883e218570266a13c58bb2cb66243d assets/twilightforest/models/item/yeti_leggings_netherite_trim.json -2f16d1cb901c2ff64cf39d4173d1d2af4b57a029 assets/twilightforest/models/item/yeti_leggings_quartz_trim.json -f11a88461d365ac273c876c6fe6f25087590af6f assets/twilightforest/models/item/yeti_leggings_redstone_trim.json -63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/twilightforest/models/item/yeti_spawn_egg.json -5c5358f8dadee7998b214b7105b8927dd6d6fcd3 assets/twilightforest/models/item/zombie_scepter.json -bf81b7da7483a7cb79e848de49ff41d1c6c832f9 assets/twilightforest/models/item/zombie_skull_candle.json diff --git a/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 b/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 index d6e1e8e559..05ea42b0a4 100644 --- a/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 +++ b/src/generated/resources/.cache/9c786d47f960fc71cc836bbc881cf12f37fa5408 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.2860388 Twilight Forest Biome Tags +// 1.21.4 2025-01-18T14:13:37.9265722 Twilight Forest Biome Tags de7eae9ce12a34bc9ba7e9b0a080f206b7bf5ab8 data/minecraft/tags/worldgen/biome/has_closer_water_fog.json 6fcfc9f11967d4486971cf630ce3613738d77290 data/minecraft/tags/worldgen/biome/snow_golem_melts.json d465db5120f478c5dbf3e4038d755aaec6ea9eed data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json diff --git a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc index 6571abf6ef..a15c2f55a6 100644 --- a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc +++ b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3455556 Twilight Forest Item Tags +// 1.21.4 2025-01-18T14:13:37.9688301 Twilight Forest Item Tags 3c5895c72cfffe09615ec2b28267a726fcbf52e8 data/alexscaves/tags/item/ferns.json 4c5df8d60b8f068b482a22fd807ddea22e1bfe00 data/alexscaves/tags/item/ferromagnetic_items.json 42afac82c004061587d5b1ae20c2e66c0d399c8c data/alexscaves/tags/item/raw_meats.json diff --git a/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 b/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 index 3b4a4263b7..1775caf61c 100644 --- a/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 +++ b/src/generated/resources/.cache/a78dc9e1930fa0198dc2dbde57400f35b0ca28c2 @@ -1,3 +1,3 @@ -// 1.21.3 2025-01-08T00:35:56.2850397 Twilight Forest Block Entity Tags +// 1.21.4 2025-01-18T14:13:37.9245715 Twilight Forest Block Entity Tags d90144e4f0404eeddfa109a5d61bf452e626203a data/c/tags/block_entity_type/immovable.json d90144e4f0404eeddfa109a5d61bf452e626203a data/c/tags/block_entity_type/relocation_not_supported.json diff --git a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 index a848b6d363..156a23acfb 100644 --- a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 +++ b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3100437 Twilight Forest Block Tags +// 1.21.4 2025-01-18T14:13:37.950048 Twilight Forest Block Tags 9d529390443b5da5d71bd6e867c066632e1340b8 data/alexscaves/tags/block/ferromagnetic_blocks.json ddfcbead67bb9487c003af137a276963e5b20022 data/alexscaves/tags/block/gloomoth_light_sources.json c365018bd78f1335cd4508b5d74bc4500ae951bd data/alexscaves/tags/block/underzealot_light_sources.json diff --git a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 index 86b86d548b..8d2ac21b93 100644 --- a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 +++ b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3485554 Particle Descriptions +// 1.21.4 2025-01-18T14:13:37.9719972 Particle Descriptions ce403794cbcc5ec5f72b853a8c0a2f0608fadd0f assets/twilightforest/particles/annihilate.json 21cdc0ed30720178ebd7bd11d6d92e9063330b1c assets/twilightforest/particles/cloud_puff.json 69cdc834e1efba1bdd494bc2a4d0b166fb53fb0a assets/twilightforest/particles/dim_flame.json diff --git a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c index e78593c65d..d6822106c2 100644 --- a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c +++ b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3475561 Twilight Forest Banner Pattern Tags +// 1.21.4 2025-01-18T14:13:37.9709964 Twilight Forest Banner Pattern Tags 9e25f367347054bfeb2795c2817298a5ea2476f1 data/twilightforest/tags/banner_pattern/pattern_item/alpha_yeti.json 3201a363347edfd87df1964f045b967bb03bb554 data/twilightforest/tags/banner_pattern/pattern_item/hydra.json 682b1fc8cf54182a6882ecbb4c5766a96a936caf data/twilightforest/tags/banner_pattern/pattern_item/knight_phantom.json diff --git a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 index 5993999398..405e0861e5 100644 --- a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 +++ b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3020379 Twilight Forest Entity Tags +// 1.21.4 2025-01-18T14:13:37.9378991 Twilight Forest Entity Tags d208fff881b5ab7116f15e79ec1b5954653479cd data/aether/tags/entity_type/deflectable_projectiles.json 9e5f68b2faa6d767538d0f4264a7145d32a2bdda data/aether/tags/entity_type/fire_mob.json 3ddb086fa7ad80a4f7018142796566c22407e7e4 data/aether/tags/entity_type/pigs.json diff --git a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 index f83674a89a..2c9ee3dc09 100644 --- a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 +++ b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3140436 Tags for minecraft:damage_type mod id twilightforest +// 1.21.4 2025-01-18T14:13:37.9530551 Tags for minecraft:damage_type mod id twilightforest e871224cfaf3f71ec4cef5455688114b0d13ee16 data/minecraft/tags/damage_type/always_most_significant_fall.json addc08f14bbae216b52a4e7f153141d2a3ba1788 data/minecraft/tags/damage_type/avoids_guardian_thorns.json de716354e5bc80f34cc2ed16156ac33f59bbbaea data/minecraft/tags/damage_type/bypasses_armor.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 3345e96f99..386f436d94 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T09:31:30.5618116 Languages: en_us for mod: twilightforest +// 1.21.4 2025-01-18T14:13:37.9656844 Languages: en_us for mod: twilightforest c02b8b51de7504821b3810dede18b85759b35d01 assets/twilightforest/lang/en_ud.json e7377d215c0ae5b93897ea11931c4d78482ef32a assets/twilightforest/lang/en_us.json bbbd252baa65057cac7aee7c411bd4a3ba6a8cc2 assets/twilightforest/tips/anvil_squashing.json diff --git a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f index 115d8b6e2a..1d1b049f9a 100644 --- a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f +++ b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3445857 Data Maps +// 1.21.4 2025-01-18T14:13:37.9678272 Data Maps aaf736767d7e0660bb90e3835d0f1de41f25d955 data/neoforge/data_maps/entity_type/parrot_imitations.json afd96f81ddd677bc5552b0685df897a93f4d6445 data/neoforge/data_maps/item/compostables.json 1bda341a4fd3cfbd09ba74b7072ce0931799b473 data/neoforge/data_maps/item/furnace_fuels.json diff --git a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 index 71905e5126..f3a686c13e 100644 --- a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 +++ b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.3505561 Advancements +// 1.21.4 2025-01-18T14:13:37.9739964 Advancements 9adb1f798b625c7bd139a46ff7ef37c2f6ea16b2 data/twilightforest/advancement/arborist.json 982f2dff978fcb4491a5893b3102e205ee8d1abd data/twilightforest/advancement/arctic_armor_dyed.json ec103b35601a7e401bc11a022418a2510cbc25b7 data/twilightforest/advancement/beanstalk.json diff --git a/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 b/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 index 9dc0fc732d..ed36958092 100644 --- a/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 +++ b/src/generated/resources/.cache/ec1948d2d036209856d7c40ea3c7c1670a5008a1 @@ -1,4 +1,4 @@ -// 1.21.3 2025-01-08T00:35:56.2870398 Twilight Forest Hollow Hill Stalactites +// 1.21.4 2025-01-18T14:13:37.9275722 Twilight Forest Hollow Hill Stalactites 5ab7eefaa50987c39177332d5d179cc48dc49921 data/twilightforest/twilight/stalactites/entries/blue_ice_stalactite.json d16b89aa4ac09bf28f449e17766737c473d798f1 data/twilightforest/twilight/stalactites/entries/coal_stalactite.json 31b3f2627d5e5fbf6ad1460649a81e23b9577a75 data/twilightforest/twilight/stalactites/entries/copper_stalactite.json diff --git a/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae b/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae index 1b23f01113..504839edf5 100644 --- a/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae +++ b/src/generated/resources/.cache/f95301fb94790e0244c05ac8eb83ed341acb7cae @@ -1 +1 @@ -// 1.21.3 2025-01-08T00:35:56.3010385 Update structure files in structures +// 1.21.4 2025-01-18T14:13:37.9378991 Update structure files in structures diff --git a/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json b/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json deleted file mode 100644 index e10f56684c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/acacia/acacia_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json index fab51f8dc9..8b89f55e2b 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/boss_spawner" + "model": "twilightforest:block/alpha_yeti_boss_spawner" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json b/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json deleted file mode 100644 index c1b7762a90..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/antibuilder" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json deleted file mode 100644 index 559fa862c7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/aurora_pillar", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/aurora_pillar" - }, - "axis=z": { - "model": "twilightforest:block/aurora_pillar", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json deleted file mode 100644 index c7af2bc243..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "variants": { - "type=bottom": { - "model": "twilightforest:block/aurora_slab" - }, - "type=double": { - "model": "twilightforest:block/aurora_slab_double" - }, - "type=top": { - "model": "twilightforest:block/aurora_slab", - "uvlock": true, - "x": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json b/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json deleted file mode 100644 index 127e4a902e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/auroralized_glass" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json b/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json deleted file mode 100644 index 74933be24a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/bamboo/bamboo_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json deleted file mode 100644 index 8a4da80912..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/beanstalk_grower" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json deleted file mode 100644 index 650794b7e5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/beanstalk_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json b/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json deleted file mode 100644 index b166cad6e0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/birch/birch_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json deleted file mode 100644 index f3c53d5598..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "active=false,vanish=false": { - "model": "twilightforest:block/blue_castle_door" - }, - "active=false,vanish=true": { - "model": "twilightforest:block/blue_castle_door_vanished" - }, - "active=true,vanish=false": { - "model": "twilightforest:block/blue_castle_door" - }, - "active=true,vanish=true": { - "model": "twilightforest:block/blue_castle_door_vanished" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json deleted file mode 100644 index 057df861ac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/castle_rune_brick_0" - }, - { - "model": "twilightforest:block/castle_rune_brick_1" - }, - { - "model": "twilightforest:block/castle_rune_brick_2" - }, - { - "model": "twilightforest:block/castle_rune_brick_3" - }, - { - "model": "twilightforest:block/castle_rune_brick_4" - }, - { - "model": "twilightforest:block/castle_rune_brick_5" - }, - { - "model": "twilightforest:block/castle_rune_brick_6" - }, - { - "model": "twilightforest:block/castle_rune_brick_7" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json deleted file mode 100644 index f6834f696d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/blue_force_field" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json deleted file mode 100644 index 7c631e198a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/bold_castle_brick_pillar_x", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/bold_castle_brick_pillar" - }, - "axis=z": { - "model": "twilightforest:block/bold_castle_brick_pillar_z", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json deleted file mode 100644 index bde8115516..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/bold_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/bold_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json deleted file mode 100644 index 485f87d1ff..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/bold_castle_brick_tile" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json deleted file mode 100644 index 580c818a43..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/bold_stone_pillar_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/bold_stone_pillar" - }, - "axis=z": { - "model": "twilightforest:block/bold_stone_pillar_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/brazier.json b/src/generated/resources/assets/twilightforest/blockstates/brazier.json deleted file mode 100644 index 3e9f47d180..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/brazier.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/brazier" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json deleted file mode 100644 index 90825dde62..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/brown_thorns_thorns" - }, - "when": { - "axis": "y" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_thorns", - "x": 90 - }, - "when": { - "axis": "z" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_thorns", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_top", - "x": 90 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "x": 270 - }, - "when": { - "axis": "z|y", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "x": 270, - "y": 90 - }, - "when": { - "axis": "x", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_bottom", - "x": 90 - }, - "when": { - "down": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "x": 90 - }, - "when": { - "axis": "z|y", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_top", - "y": 270 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "y": 90 - }, - "when": { - "axis": "y|x", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section_alt", - "y": 90 - }, - "when": { - "axis": "z", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_bottom", - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "y": 270 - }, - "when": { - "axis": "y|x", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section_alt", - "y": 270 - }, - "when": { - "axis": "z", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_top" - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section", - "y": 180 - }, - "when": { - "axis": "y|z", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section_alt", - "y": 180 - }, - "when": { - "axis": "x", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_bottom" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section" - }, - "when": { - "axis": "y|z", - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/brown_thorns_no_section_alt" - }, - "when": { - "axis": "x", - "north": "false" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/built_block.json b/src/generated/resources/assets/twilightforest/blockstates/built_block.json deleted file mode 100644 index f522189a91..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/built_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/built_block" - }, - "active=true": { - "model": "twilightforest:block/built_block_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json deleted file mode 100644 index d3455f57ea..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/burnt_thorns_thorns" - }, - "when": { - "axis": "y" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_thorns", - "x": 90 - }, - "when": { - "axis": "z" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_thorns", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_top", - "x": 90 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "x": 270 - }, - "when": { - "axis": "z|y", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "x": 270, - "y": 90 - }, - "when": { - "axis": "x", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_bottom", - "x": 90 - }, - "when": { - "down": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "x": 90 - }, - "when": { - "axis": "z|y", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_top", - "y": 270 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "y": 90 - }, - "when": { - "axis": "y|x", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section_alt", - "y": 90 - }, - "when": { - "axis": "z", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_bottom", - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "y": 270 - }, - "when": { - "axis": "y|x", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section_alt", - "y": 270 - }, - "when": { - "axis": "z", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_top" - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section", - "y": 180 - }, - "when": { - "axis": "y|z", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section_alt", - "y": 180 - }, - "when": { - "axis": "x", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_bottom" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section" - }, - "when": { - "axis": "y|z", - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/burnt_thorns_no_section_alt" - }, - "when": { - "axis": "x", - "north": "false" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/candelabra.json b/src/generated/resources/assets/twilightforest/blockstates/candelabra.json deleted file mode 100644 index bcd9f24c6c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/candelabra.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "variants": { - "facing=east,on_wall=false": { - "model": "twilightforest:block/candelabra", - "y": 270 - }, - "facing=east,on_wall=true": { - "model": "twilightforest:block/wall_candelabra", - "y": 270 - }, - "facing=north,on_wall=false": { - "model": "twilightforest:block/candelabra", - "y": 180 - }, - "facing=north,on_wall=true": { - "model": "twilightforest:block/wall_candelabra", - "y": 180 - }, - "facing=south,on_wall=false": { - "model": "twilightforest:block/candelabra" - }, - "facing=south,on_wall=true": { - "model": "twilightforest:block/wall_candelabra" - }, - "facing=west,on_wall=false": { - "model": "twilightforest:block/candelabra", - "y": 90 - }, - "facing=west,on_wall=true": { - "model": "twilightforest:block/wall_candelabra", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json deleted file mode 100644 index e3bab945ff..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/canopy/canopy_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json deleted file mode 100644 index e26c21001a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/canopy_bookshelf", - "weight": 3 - }, - { - "model": "twilightforest:block/canopy_bookshelf_1" - }, - { - "model": "twilightforest:block/canopy_bookshelf_2" - }, - { - "model": "twilightforest:block/canopy_bookshelf_3" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_button.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_button.json index 703ebbded0..e69ad46b52 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2" - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/canopy/canopy_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/canopy_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/canopy_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/canopy_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/canopy_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/canopy_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/canopy_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/canopy_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/canopy_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/canopy_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/canopy_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/canopy_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/canopy_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/canopy_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/canopy_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_chest.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_chest.json deleted file mode 100644 index a9d8e7d468..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_door.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_door.json index e7441859eb..2dda750211 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left" + "model": "twilightforest:block/canopy_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left_open", + "model": "twilightforest:block/canopy_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right" + "model": "twilightforest:block/canopy_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right_open", + "model": "twilightforest:block/canopy_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left" + "model": "twilightforest:block/canopy_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left_open", + "model": "twilightforest:block/canopy_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right" + "model": "twilightforest:block/canopy_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right_open", + "model": "twilightforest:block/canopy_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left", + "model": "twilightforest:block/canopy_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left_open" + "model": "twilightforest:block/canopy_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right", + "model": "twilightforest:block/canopy_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right_open", + "model": "twilightforest:block/canopy_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left", + "model": "twilightforest:block/canopy_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left_open" + "model": "twilightforest:block/canopy_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right", + "model": "twilightforest:block/canopy_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right_open", + "model": "twilightforest:block/canopy_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left", + "model": "twilightforest:block/canopy_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left_open", + "model": "twilightforest:block/canopy_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right", + "model": "twilightforest:block/canopy_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right_open" + "model": "twilightforest:block/canopy_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left", + "model": "twilightforest:block/canopy_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left_open", + "model": "twilightforest:block/canopy_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right", + "model": "twilightforest:block/canopy_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right_open" + "model": "twilightforest:block/canopy_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left", + "model": "twilightforest:block/canopy_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_left_open", + "model": "twilightforest:block/canopy_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right", + "model": "twilightforest:block/canopy_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_bottom_right_open", + "model": "twilightforest:block/canopy_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left", + "model": "twilightforest:block/canopy_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_left_open", + "model": "twilightforest:block/canopy_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right", + "model": "twilightforest:block/canopy_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/canopy/canopy_door_top_right_open", + "model": "twilightforest:block/canopy_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_fence.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_fence.json index b400d8bf6c..bf0f6b48a7 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/canopy_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/canopy_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/canopy_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/canopy_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/canopy/canopy_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/canopy_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_fence_gate.json index f15786da6b..e5dde092a7 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/canopy_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/canopy_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/canopy_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/canopy_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/canopy_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/canopy_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/canopy_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/canopy_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/canopy_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/canopy_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/canopy_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/canopy_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/canopy_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/canopy_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/canopy_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/canopy_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json deleted file mode 100644 index 58975c5133..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json deleted file mode 100644 index 0bda7e00d9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json deleted file mode 100644 index eaedea8a20..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/canopy_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/canopy_log" - }, - "axis=z": { - "model": "twilightforest:block/canopy_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_planks.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_planks.json index bf1efcb9c5..8080a4f72d 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_3" - } - ] + "": { + "model": "twilightforest:block/canopy_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_pressure_plate.json index 9cc3672d5c..a88c6bca32 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/canopy_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/canopy_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json deleted file mode 100644 index 841a98fcc3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_slab.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_slab.json index 6f340810aa..3368098762 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/canopy/canopy_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/canopy/canopy_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/canopy_slab" + }, + "type=double": { + "model": "twilightforest:block/canopy_planks" + }, + "type=top": { + "model": "twilightforest:block/canopy_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json index ae7a78c67e..18dae65cc9 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/canopy/canopy_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/canopy_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/canopy_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/canopy_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/canopy_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json index 66443180c4..e298c57372 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_bottom", + "model": "twilightforest:block/canopy_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_top", + "model": "twilightforest:block/canopy_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_bottom" + "model": "twilightforest:block/canopy_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open" + "model": "twilightforest:block/canopy_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_top" + "model": "twilightforest:block/canopy_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_bottom", + "model": "twilightforest:block/canopy_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_top", + "model": "twilightforest:block/canopy_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", - "x": 180 + "model": "twilightforest:block/canopy_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_bottom", + "model": "twilightforest:block/canopy_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_top", + "model": "twilightforest:block/canopy_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_open", + "model": "twilightforest:block/canopy_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_trapped_chest.json deleted file mode 100644 index 41ee2b31ed..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json deleted file mode 100644 index a0119f83fc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_sign.json index 51c1b13ef5..03273a43cd 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/canopy_wall_sign" + "model": "twilightforest:block/canopy_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json deleted file mode 100644 index 67f4cf150d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/canopy_window" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json deleted file mode 100644 index 4c13f824fe..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_post" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_side" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_noside" - }, - "when": { - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_side_alt" - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_noside_alt", - "y": 90 - }, - "when": { - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_side_alt", - "y": 90 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_noside", - "y": 270 - }, - "when": { - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_side", - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/canopy_window_pane_noside_alt" - }, - "when": { - "east": "false" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json deleted file mode 100644 index dfed572230..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/canopy_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/canopy_wood" - }, - "axis=z": { - "model": "twilightforest:block/canopy_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json deleted file mode 100644 index 9e059588c5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/carminite_block" - }, - { - "model": "twilightforest:block/carminite_block", - "y": 90 - }, - { - "model": "twilightforest:block/carminite_block", - "y": 180 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 90 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 180 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/carminite_block", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json deleted file mode 100644 index 32cee74366..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "state=builder_active": { - "model": "twilightforest:block/carminite_builder_active" - }, - "state=builder_inactive": { - "model": "twilightforest:block/carminite_builder" - }, - "state=builder_timeout": { - "model": "twilightforest:block/carminite_builder_timeout" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json deleted file mode 100644 index 57dcecedbc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/carminite_reactor" - }, - "active=true": { - "model": "twilightforest:block/carminite_reactor_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json deleted file mode 100644 index b91a3715b9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/castle_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json deleted file mode 100644 index faf9c319a3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json deleted file mode 100644 index 62cf114fe0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/castle_roof_tile" - }, - { - "model": "twilightforest:block/castle_roof_tile", - "y": 90 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "y": 180 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 90 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 180 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/castle_roof_tile", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json b/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json deleted file mode 100644 index 2d35bf5790..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/cherry/cherry_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json deleted file mode 100644 index dfd72e734f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json +++ /dev/null @@ -1,751 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf", - "uvlock": true - }, - "when": { - "facing": "north" - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_0_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_0_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_1_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_1_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_2_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_2_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_3_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_3_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_4_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_4_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_5_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", - "uvlock": true - }, - "when": { - "AND": [ - { - "facing": "north", - "slot_5_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf", - "uvlock": true, - "y": 90 - }, - "when": { - "facing": "east" - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_0_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_0_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_1_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_1_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_2_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_2_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_3_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_3_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_4_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_4_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_5_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", - "uvlock": true, - "y": 90 - }, - "when": { - "AND": [ - { - "facing": "east", - "slot_5_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf", - "uvlock": true, - "y": 180 - }, - "when": { - "facing": "south" - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_0_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_0_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_1_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_1_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_2_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_2_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_3_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_3_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_4_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_4_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_5_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", - "uvlock": true, - "y": 180 - }, - "when": { - "AND": [ - { - "facing": "south", - "slot_5_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf", - "uvlock": true, - "y": 270 - }, - "when": { - "facing": "west" - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_0_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_0_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_1_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_1_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_2_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_2_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_3_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_3_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_4_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_4_occupied": "false" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_5_occupied": "true" - } - ] - } - }, - { - "apply": { - "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", - "uvlock": true, - "y": 270 - }, - "when": { - "AND": [ - { - "facing": "west", - "slot_5_occupied": "false" - } - ] - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cicada.json b/src/generated/resources/assets/twilightforest/blockstates/cicada.json deleted file mode 100644 index ac24db2db8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cicada.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cicada" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json b/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json deleted file mode 100644 index f392316ec5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mason_jar" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json deleted file mode 100644 index 9c31d91fc8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "variants": { - "facing=east,lit=false": { - "model": "minecraft:block/furnace", - "y": 90 - }, - "facing=east,lit=true": { - "model": "minecraft:block/furnace_on", - "y": 90 - }, - "facing=north,lit=false": { - "model": "minecraft:block/furnace" - }, - "facing=north,lit=true": { - "model": "minecraft:block/furnace_on" - }, - "facing=south,lit=false": { - "model": "minecraft:block/furnace", - "y": 180 - }, - "facing=south,lit=true": { - "model": "minecraft:block/furnace_on", - "y": 180 - }, - "facing=west,lit=false": { - "model": "minecraft:block/furnace", - "y": 270 - }, - "facing=west,lit=true": { - "model": "minecraft:block/furnace_on", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json deleted file mode 100644 index 403cb08ea0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/cinder_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/cinder_log" - }, - "axis=z": { - "model": "twilightforest:block/cinder_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json deleted file mode 100644 index ee1c8d58ca..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cinder_wood" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json b/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json deleted file mode 100644 index fcbe33679d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/clover_patch" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json b/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json deleted file mode 100644 index 9ea1f32e88..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/coronation_carpet" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json deleted file mode 100644 index a765fed592..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cracked_castle_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json deleted file mode 100644 index 61ba48f1a0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/cracked_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json deleted file mode 100644 index 3ddf677544..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/cracked_deadrock" - }, - { - "model": "twilightforest:block/cracked_deadrock", - "y": 90 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "y": 180 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 90 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 180 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/cracked_deadrock", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json deleted file mode 100644 index 2b76a6a1b1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "twilightforest:block/cracked_etched_nagastone" - }, - "facing=east": { - "model": "twilightforest:block/cracked_etched_nagastone_east" - }, - "facing=north": { - "model": "twilightforest:block/cracked_etched_nagastone_north" - }, - "facing=south": { - "model": "twilightforest:block/cracked_etched_nagastone_south" - }, - "facing=up": { - "model": "twilightforest:block/cracked_etched_nagastone_up" - }, - "facing=west": { - "model": "twilightforest:block/cracked_etched_nagastone_west" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json deleted file mode 100644 index d4a6f137c0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cracked_mazestone" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json deleted file mode 100644 index b41907a75b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "axis=x,reversed=false": { - "model": "twilightforest:block/cracked_nagastone_pillar", - "x": 270, - "y": 270 - }, - "axis=x,reversed=true": { - "model": "twilightforest:block/cracked_nagastone_pillar_reversed", - "x": 270, - "y": 270 - }, - "axis=y,reversed=false": { - "model": "twilightforest:block/cracked_nagastone_pillar" - }, - "axis=y,reversed=true": { - "model": "twilightforest:block/cracked_nagastone_pillar_reversed" - }, - "axis=z,reversed=false": { - "model": "twilightforest:block/cracked_nagastone_pillar", - "x": 270 - }, - "axis=z,reversed=true": { - "model": "twilightforest:block/cracked_nagastone_pillar_reversed", - "x": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json deleted file mode 100644 index 11518df5e1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json deleted file mode 100644 index 8303abe4bb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/cracked_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/cracked_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json deleted file mode 100644 index 0dffcf8811..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/cracked_towerwood" - }, - { - "model": "twilightforest:block/cracked_towerwood_flipped" - }, - { - "model": "twilightforest:block/cracked_towerwood_alt" - }, - { - "model": "twilightforest:block/cracked_towerwood_alt_flipped" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json deleted file mode 100644 index 1a8dbe5ead..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cracked_underbrick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/creeper_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/creeper_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/creeper_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/creeper_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/creeper_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/creeper_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json b/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json deleted file mode 100644 index 498d69d95c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/crimson/crimson_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json deleted file mode 100644 index b713a8137f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/cut_mazestone" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json b/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json deleted file mode 100644 index e69b92274b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/darkwood/dark_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_button.json b/src/generated/resources/assets/twilightforest/blockstates/dark_button.json index ec3c73c70c..bb680c0b86 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2" - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/darkwood/dark_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/dark_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/dark_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/dark_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/dark_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/dark_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/dark_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/dark_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/dark_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/dark_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/dark_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/dark_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/dark_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/dark_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/dark_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_chest.json b/src/generated/resources/assets/twilightforest/blockstates/dark_chest.json deleted file mode 100644 index c051cced6b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/dark_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_door.json b/src/generated/resources/assets/twilightforest/blockstates/dark_door.json index c175a0dd42..0e1e950efa 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left" + "model": "twilightforest:block/dark_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left_open", + "model": "twilightforest:block/dark_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right" + "model": "twilightforest:block/dark_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right_open", + "model": "twilightforest:block/dark_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left" + "model": "twilightforest:block/dark_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left_open", + "model": "twilightforest:block/dark_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right" + "model": "twilightforest:block/dark_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right_open", + "model": "twilightforest:block/dark_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left", + "model": "twilightforest:block/dark_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left_open" + "model": "twilightforest:block/dark_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right", + "model": "twilightforest:block/dark_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right_open", + "model": "twilightforest:block/dark_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left", + "model": "twilightforest:block/dark_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left_open" + "model": "twilightforest:block/dark_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right", + "model": "twilightforest:block/dark_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right_open", + "model": "twilightforest:block/dark_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left", + "model": "twilightforest:block/dark_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left_open", + "model": "twilightforest:block/dark_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right", + "model": "twilightforest:block/dark_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right_open" + "model": "twilightforest:block/dark_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left", + "model": "twilightforest:block/dark_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left_open", + "model": "twilightforest:block/dark_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right", + "model": "twilightforest:block/dark_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right_open" + "model": "twilightforest:block/dark_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left", + "model": "twilightforest:block/dark_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_left_open", + "model": "twilightforest:block/dark_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right", + "model": "twilightforest:block/dark_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_bottom_right_open", + "model": "twilightforest:block/dark_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left", + "model": "twilightforest:block/dark_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_left_open", + "model": "twilightforest:block/dark_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right", + "model": "twilightforest:block/dark_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/darkwood/darkwood_door_top_right_open", + "model": "twilightforest:block/dark_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_fence.json b/src/generated/resources/assets/twilightforest/blockstates/dark_fence.json index e8ad16cbed..1adec97b11 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/dark_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/dark_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/dark_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/dark_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/darkwood/dark_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/dark_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/dark_fence_gate.json index 3b641e0127..fce3df05e8 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/dark_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/dark_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/dark_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/dark_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/dark_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/dark_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/dark_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/dark_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/dark_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/dark_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/dark_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/dark_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/dark_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/dark_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/dark_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/dark_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json deleted file mode 100644 index 8f0027f13a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/dark_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json deleted file mode 100644 index 3d92f70654..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/dark_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_log.json b/src/generated/resources/assets/twilightforest/blockstates/dark_log.json deleted file mode 100644 index 2ccd5a44f4..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/dark_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/dark_log" - }, - "axis=z": { - "model": "twilightforest:block/dark_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json deleted file mode 100644 index d0a5652b6a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/dark_oak/dark_oak_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_planks.json b/src/generated/resources/assets/twilightforest/blockstates/dark_planks.json index 5be7fc56e5..3a0698f1fa 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_3" - } - ] + "": { + "model": "twilightforest:block/dark_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/dark_pressure_plate.json index 75e2986e57..655be12ab2 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/dark_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/dark_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_slab.json b/src/generated/resources/assets/twilightforest/blockstates/dark_slab.json index c2dac30aca..0a4fef71c3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/darkwood/dark_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/darkwood/dark_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/dark_slab" + }, + "type=double": { + "model": "twilightforest:block/dark_planks" + }, + "type=top": { + "model": "twilightforest:block/dark_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json index b0956b4d79..3f8f1a5692 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/darkwood/dark_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/dark_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/dark_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/dark_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/dark_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json index bdbe431136..6ffe019a62 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom", + "model": "twilightforest:block/dark_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_top", + "model": "twilightforest:block/dark_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom" + "model": "twilightforest:block/dark_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open" + "model": "twilightforest:block/dark_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_top" + "model": "twilightforest:block/dark_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom", + "model": "twilightforest:block/dark_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_top", + "model": "twilightforest:block/dark_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", - "x": 180 + "model": "twilightforest:block/dark_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom", + "model": "twilightforest:block/dark_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_top", + "model": "twilightforest:block/dark_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_open", + "model": "twilightforest:block/dark_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/dark_trapped_chest.json deleted file mode 100644 index 028b333025..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/dark_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json deleted file mode 100644 index c5db7e2427..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/dark_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/dark_wall_sign.json index d8c01aa91d..765ce9c4aa 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/dark_wall_sign" + "model": "twilightforest:block/dark_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json b/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json deleted file mode 100644 index d14b590ae7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/dark_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/dark_wood" - }, - "axis=z": { - "model": "twilightforest:block/dark_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json deleted file mode 100644 index 0c4a6f940d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/darkwood_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/deadrock.json deleted file mode 100644 index 3409633569..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/deadrock.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/deadrock" - }, - { - "model": "twilightforest:block/deadrock", - "y": 180 - }, - { - "model": "twilightforest:block/deadrock", - "y": 90 - }, - { - "model": "twilightforest:block/deadrock", - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json deleted file mode 100644 index 2f0d91fe67..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/decorative_mazestone" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json deleted file mode 100644 index 966f3b6c5c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/encased_castle_brick_pillar_x", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/encased_castle_brick_pillar" - }, - "axis=z": { - "model": "twilightforest:block/encased_castle_brick_pillar_z", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json deleted file mode 100644 index 86f26854f1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/encased_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/encased_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json deleted file mode 100644 index c78d16005c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/encased_castle_brick_tile" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json deleted file mode 100644 index bd4290a542..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "state=flame": { - "model": "twilightforest:block/encased_fire_jet_on" - }, - "state=idle": { - "model": "twilightforest:block/encased_fire_jet" - }, - "state=popping": { - "model": "twilightforest:block/encased_fire_jet_on" - }, - "state=timeout": { - "model": "twilightforest:block/encased_fire_jet" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json b/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json deleted file mode 100644 index d9a99cdcb5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/encased_smoker" - }, - "active=true": { - "model": "twilightforest:block/encased_smoker_on" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json deleted file mode 100644 index cfc2306fb0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/encased_towerwood" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json deleted file mode 100644 index f878dc8370..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "twilightforest:block/etched_nagastone" - }, - "facing=east": { - "model": "twilightforest:block/etched_nagastone_east" - }, - "facing=north": { - "model": "twilightforest:block/etched_nagastone_north" - }, - "facing=south": { - "model": "twilightforest:block/etched_nagastone_south" - }, - "facing=up": { - "model": "twilightforest:block/etched_nagastone_up" - }, - "facing=west": { - "model": "twilightforest:block/etched_nagastone_west" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json b/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json deleted file mode 100644 index 94e6635a41..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "variants": { - "omnomnom=0,regenerate=false": { - "model": "twilightforest:block/experiment115_8_8" - }, - "omnomnom=0,regenerate=true": { - "model": "twilightforest:block/experiment115_8_8_regenerating" - }, - "omnomnom=1,regenerate=false": { - "model": "twilightforest:block/experiment115_7_8" - }, - "omnomnom=1,regenerate=true": { - "model": "twilightforest:block/experiment115_7_8_regenerating" - }, - "omnomnom=2,regenerate=false": { - "model": "twilightforest:block/experiment115_6_8" - }, - "omnomnom=2,regenerate=true": { - "model": "twilightforest:block/experiment115_6_8_regenerating" - }, - "omnomnom=3,regenerate=false": { - "model": "twilightforest:block/experiment115_5_8" - }, - "omnomnom=3,regenerate=true": { - "model": "twilightforest:block/experiment115_5_8_regenerating" - }, - "omnomnom=4,regenerate=false": { - "model": "twilightforest:block/experiment115_4_8" - }, - "omnomnom=4,regenerate=true": { - "model": "twilightforest:block/experiment115_4_8_regenerating" - }, - "omnomnom=5,regenerate=false": { - "model": "twilightforest:block/experiment115_3_8" - }, - "omnomnom=5,regenerate=true": { - "model": "twilightforest:block/experiment115_3_8_regenerating" - }, - "omnomnom=6,regenerate=false": { - "model": "twilightforest:block/experiment115_2_8" - }, - "omnomnom=6,regenerate=true": { - "model": "twilightforest:block/experiment115_2_8_regenerating" - }, - "omnomnom=7,regenerate=false": { - "model": "twilightforest:block/experiment115_1_8" - }, - "omnomnom=7,regenerate=true": { - "model": "twilightforest:block/experiment115_1_8_regenerating" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json b/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json deleted file mode 100644 index 5a5d8888f7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/diamond_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json b/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json deleted file mode 100644 index 475eff0256..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/gold_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json deleted file mode 100644 index f27fc339e8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "layers=1": { - "model": "twilightforest:block/fallen_leaves1" - }, - "layers=2": { - "model": "twilightforest:block/fallen_leaves2" - }, - "layers=3": { - "model": "twilightforest:block/fallen_leaves3" - }, - "layers=4": { - "model": "twilightforest:block/fallen_leaves4" - }, - "layers=5": { - "model": "twilightforest:block/fallen_leaves5" - }, - "layers=6": { - "model": "twilightforest:block/fallen_leaves6" - }, - "layers=7": { - "model": "twilightforest:block/fallen_leaves7" - }, - "layers=8": { - "model": "twilightforest:block/fallen_leaves8" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json b/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json deleted file mode 100644 index 5a397bc647..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/fiddlehead" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json b/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json deleted file mode 100644 index 206dc5ddec..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/fiery_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json b/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json deleted file mode 100644 index acac3cfc2a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/fire_jet" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/firefly.json b/src/generated/resources/assets/twilightforest/blockstates/firefly.json deleted file mode 100644 index 0bc92efee3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/firefly.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/firefly" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json b/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json deleted file mode 100644 index f392316ec5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mason_jar" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json deleted file mode 100644 index 0933fe9e08..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/firefly_particle_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json deleted file mode 100644 index 1d5a460e8b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/fluffy_cloud" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json b/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json deleted file mode 100644 index 5329087c9f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/ghast_trap" - }, - "active=true": { - "model": "twilightforest:block/ghast_trap_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json deleted file mode 100644 index e8ab5cf005..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/giant_cobblestone" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json deleted file mode 100644 index c3746d2d2e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/giant_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_log.json b/src/generated/resources/assets/twilightforest/blockstates/giant_log.json deleted file mode 100644 index e96a728e6b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/giant_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/giant_log" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json b/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json deleted file mode 100644 index f84e58daee..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/giant_obsidian" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json deleted file mode 100644 index eb1836ed69..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/green_force_field" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json deleted file mode 100644 index 5132487b56..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/green_thorns_thorns" - }, - "when": { - "axis": "y" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_thorns", - "x": 90 - }, - "when": { - "axis": "z" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_thorns", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_top", - "x": 90 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "x": 270 - }, - "when": { - "axis": "z|y", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "x": 270, - "y": 90 - }, - "when": { - "axis": "x", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_bottom", - "x": 90 - }, - "when": { - "down": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "x": 90 - }, - "when": { - "axis": "z|y", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_top", - "y": 270 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "y": 90 - }, - "when": { - "axis": "y|x", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section_alt", - "y": 90 - }, - "when": { - "axis": "z", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_bottom", - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "y": 270 - }, - "when": { - "axis": "y|x", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section_alt", - "y": 270 - }, - "when": { - "axis": "z", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_top" - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section", - "y": 180 - }, - "when": { - "axis": "y|z", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section_alt", - "y": 180 - }, - "when": { - "axis": "x", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_bottom" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section" - }, - "when": { - "axis": "y|z", - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/green_thorns_no_section_alt" - }, - "when": { - "axis": "x", - "north": "false" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json deleted file mode 100644 index 8898e41fa6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hardened_dark_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hedge.json b/src/generated/resources/assets/twilightforest/blockstates/hedge.json deleted file mode 100644 index f73b1ab041..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hedge.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/hedge", - "weight": 10 - }, - { - "model": "twilightforest:block/hedge_rose" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json deleted file mode 100644 index e1a0a63dcd..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_acacia_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_acacia_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_acacia_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_acacia_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json deleted file mode 100644 index bddced0624..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_acacia_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_acacia_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_acacia_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_acacia_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json deleted file mode 100644 index e112abfc57..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_acacia_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json deleted file mode 100644 index 05dbe203e3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_birch_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_birch_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_birch_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_birch_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_birch_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json deleted file mode 100644 index 5c058cb0e0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_birch_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_birch_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_birch_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_birch_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_birch_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_birch_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_birch_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_birch_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_birch_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_birch_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json deleted file mode 100644 index 0990fa4a9d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_birch_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json deleted file mode 100644 index 0bd60edfaa..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_canopy_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_canopy_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_canopy_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_canopy_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json deleted file mode 100644 index 3691873687..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_canopy_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_canopy_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_canopy_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_canopy_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json deleted file mode 100644 index 0f8345b5f4..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_canopy_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json deleted file mode 100644 index 24d1315b0a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_cherry_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_cherry_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_cherry_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_cherry_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json deleted file mode 100644 index eb890d4b37..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_cherry_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_cherry_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_cherry_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_cherry_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json deleted file mode 100644 index 253ab149ba..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_cherry_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json deleted file mode 100644 index 3df0cbd668..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json deleted file mode 100644 index 39ae7b5181..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_crimson_stem_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json deleted file mode 100644 index 89c764a610..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_crimson_stem_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json deleted file mode 100644 index 22b843fad9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_dark_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_dark_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_dark_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_dark_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json deleted file mode 100644 index 45418730e9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_dark_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_dark_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_dark_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_dark_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_dark_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_dark_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_dark_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_dark_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_dark_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_dark_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json deleted file mode 100644 index 853a096a5c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_dark_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json deleted file mode 100644 index e15bb13c8f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json deleted file mode 100644 index 42f9aaf0a8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_dark_oak_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json deleted file mode 100644 index 51f6ae3fb2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_dark_oak_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json deleted file mode 100644 index 3c19da0ad3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_jungle_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_jungle_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_jungle_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_jungle_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json deleted file mode 100644 index e7c75e1328..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_jungle_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_jungle_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_jungle_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_jungle_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json deleted file mode 100644 index 9cb9ca2cac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_jungle_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json deleted file mode 100644 index b1eecbf6e2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json deleted file mode 100644 index fe64cac4f8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_mangrove_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json deleted file mode 100644 index 2d2092f7a6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_mangrove_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json deleted file mode 100644 index fc79a5c58d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_mining_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_mining_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_mining_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_mining_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_mining_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json deleted file mode 100644 index e3f9fc3da2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_mining_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_mining_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_mining_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_mining_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_mining_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_mining_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_mining_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_mining_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_mining_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_mining_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json deleted file mode 100644 index 1082e9c72d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_mining_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json deleted file mode 100644 index 695ac8a153..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_oak_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_oak_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_oak_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_oak_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json deleted file mode 100644 index 978ac8b0f9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_oak_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_oak_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_oak_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_oak_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_oak_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_oak_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_oak_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_oak_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_oak_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_oak_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json deleted file mode 100644 index b3593936ab..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_oak_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json deleted file mode 100644 index 5b4a07ec18..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json deleted file mode 100644 index 6791806d01..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_sorting_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_sorting_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_sorting_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_sorting_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json deleted file mode 100644 index 12363b9a60..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_sorting_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_sorting_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_sorting_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_sorting_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json deleted file mode 100644 index ea73693e5c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_sorting_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json deleted file mode 100644 index ecd93255f8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_spruce_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_spruce_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_spruce_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_spruce_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json deleted file mode 100644 index 8fc00a1108..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_spruce_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_spruce_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_spruce_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_spruce_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json deleted file mode 100644 index 01a08f7fb2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_spruce_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json deleted file mode 100644 index 73e998e49a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_time_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_time_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_time_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_time_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_time_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json deleted file mode 100644 index 2297478bc6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_time_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_time_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_time_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_time_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_time_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_time_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_time_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_time_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_time_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_time_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json deleted file mode 100644 index 034dca3bcc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_time_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json deleted file mode 100644 index b29197dd6b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_transformation_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_transformation_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_transformation_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_transformation_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json deleted file mode 100644 index c689f366ae..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_transformation_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_transformation_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_transformation_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_transformation_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json deleted file mode 100644 index 8f68343c0c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_transformation_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json deleted file mode 100644 index 711b0e1af8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json deleted file mode 100644 index a00df252e3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_twilight_oak_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json deleted file mode 100644 index dba4dd7d20..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_twilight_oak_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json deleted file mode 100644 index 45e78eb215..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json deleted file mode 100644 index 42ba0e6c20..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_vangrove_log_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json deleted file mode 100644 index 118ea9b13c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_vangrove_log_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json deleted file mode 100644 index ffb7cac164..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "variants": { - "facing=east,variant=ladder": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 270 - }, - "facing=east,variant=vine": { - "model": "twilightforest:block/hollow_warped_stem_climbable_vine", - "uvlock": true, - "y": 270 - }, - "facing=north,variant=ladder": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 180 - }, - "facing=north,variant=vine": { - "model": "twilightforest:block/hollow_warped_stem_climbable_vine", - "uvlock": true, - "y": 180 - }, - "facing=south,variant=ladder": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true - }, - "facing=south,variant=vine": { - "model": "twilightforest:block/hollow_warped_stem_climbable_vine", - "uvlock": true - }, - "facing=west,variant=ladder": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=ladder_waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", - "uvlock": true, - "y": 90 - }, - "facing=west,variant=vine": { - "model": "twilightforest:block/hollow_warped_stem_climbable_vine", - "uvlock": true, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json deleted file mode 100644 index a5efc9ab4a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "axis=x,variant=empty": { - "model": "twilightforest:block/hollow_warped_stem_horizontal", - "y": 90 - }, - "axis=x,variant=moss": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_moss", - "y": 90 - }, - "axis=x,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_moss_grass", - "y": 90 - }, - "axis=x,variant=snow": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_snow", - "y": 90 - }, - "axis=x,variant=waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_horizontal", - "y": 90 - }, - "axis=z,variant=empty": { - "model": "twilightforest:block/hollow_warped_stem_horizontal" - }, - "axis=z,variant=moss": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_moss" - }, - "axis=z,variant=moss_and_grass": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_moss_grass" - }, - "axis=z,variant=snow": { - "model": "twilightforest:block/hollow_warped_stem_horizontal_snow" - }, - "axis=z,variant=waterlogged": { - "model": "twilightforest:block/hollow_warped_stem_horizontal" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json deleted file mode 100644 index 4ac94b82f7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/hollow_warped_stem_vertical" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json b/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json deleted file mode 100644 index bcf68baf2e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "variants": { - "facing=east,piece=ne": { - "model": "twilightforest:block/huge_lily_pad_1", - "y": 90 - }, - "facing=east,piece=nw": { - "model": "twilightforest:block/huge_lily_pad_2", - "y": 90 - }, - "facing=east,piece=se": { - "model": "twilightforest:block/huge_lily_pad_0", - "y": 90 - }, - "facing=east,piece=sw": { - "model": "twilightforest:block/huge_lily_pad_3", - "y": 90 - }, - "facing=north,piece=ne": { - "model": "twilightforest:block/huge_lily_pad_0" - }, - "facing=north,piece=nw": { - "model": "twilightforest:block/huge_lily_pad_1" - }, - "facing=north,piece=se": { - "model": "twilightforest:block/huge_lily_pad_3" - }, - "facing=north,piece=sw": { - "model": "twilightforest:block/huge_lily_pad_2" - }, - "facing=south,piece=ne": { - "model": "twilightforest:block/huge_lily_pad_2", - "y": 180 - }, - "facing=south,piece=nw": { - "model": "twilightforest:block/huge_lily_pad_3", - "y": 180 - }, - "facing=south,piece=se": { - "model": "twilightforest:block/huge_lily_pad_1", - "y": 180 - }, - "facing=south,piece=sw": { - "model": "twilightforest:block/huge_lily_pad_0", - "y": 180 - }, - "facing=west,piece=ne": { - "model": "twilightforest:block/huge_lily_pad_3", - "y": 270 - }, - "facing=west,piece=nw": { - "model": "twilightforest:block/huge_lily_pad_0", - "y": 270 - }, - "facing=west,piece=se": { - "model": "twilightforest:block/huge_lily_pad_2", - "y": 270 - }, - "facing=west,piece=sw": { - "model": "twilightforest:block/huge_lily_pad_1", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json deleted file mode 100644 index c60a5c032f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside" - }, - "when": { - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_inside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_outside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json deleted file mode 100644 index 2ab4e9720c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside" - }, - "when": { - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_inside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/huge_mushgloom_stem_outside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json b/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json deleted file mode 100644 index 1850d54be6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/huge_stalk_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/huge_stalk" - }, - "axis=z": { - "model": "twilightforest:block/huge_stalk_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json b/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json deleted file mode 100644 index 1f724dd5a8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/huge_water_lily" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hydra_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/hydra_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hydra_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hydra_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/hydra_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/hydra_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json deleted file mode 100644 index fa1fe3eafc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/infested_towerwood" - }, - { - "model": "twilightforest:block/infested_towerwood_flipped" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json b/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json deleted file mode 100644 index d5c5bb58dc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/iron_ladder_left" - }, - "when": { - "facing": "north", - "left": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left_connection" - }, - "when": { - "facing": "north", - "left": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right" - }, - "when": { - "facing": "north", - "right": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right_connection" - }, - "when": { - "facing": "north", - "right": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left", - "y": 90 - }, - "when": { - "facing": "east", - "left": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left_connection", - "y": 90 - }, - "when": { - "facing": "east", - "left": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right", - "y": 90 - }, - "when": { - "facing": "east", - "right": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right_connection", - "y": 90 - }, - "when": { - "facing": "east", - "right": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left", - "y": 180 - }, - "when": { - "facing": "south", - "left": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left_connection", - "y": 180 - }, - "when": { - "facing": "south", - "left": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right", - "y": 180 - }, - "when": { - "facing": "south", - "right": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right_connection", - "y": 180 - }, - "when": { - "facing": "south", - "right": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left", - "y": 270 - }, - "when": { - "facing": "west", - "left": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_left_connection", - "y": 270 - }, - "when": { - "facing": "west", - "left": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right", - "y": 270 - }, - "when": { - "facing": "west", - "right": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/iron_ladder_right_connection", - "y": 270 - }, - "when": { - "facing": "west", - "right": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json b/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json deleted file mode 100644 index 033537c87a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ironwood_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json b/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json deleted file mode 100644 index 4a2f491715..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/jungle/jungle_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/keepsake_casket.json b/src/generated/resources/assets/twilightforest/blockstates/keepsake_casket.json deleted file mode 100644 index 662ebf9f75..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/keepsake_casket.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "variants": { - "multilogged=air": { - "model": "twilightforest:block/keepsake_casket" - }, - "multilogged=basalt": { - "model": "twilightforest:block/casket_basalt" - }, - "multilogged=lava": { - "model": "twilightforest:block/keepsake_casket" - }, - "multilogged=obsidian": { - "model": "twilightforest:block/casket_obsidian" - }, - "multilogged=stone": { - "model": "twilightforest:block/casket_stone" - }, - "multilogged=water": { - "model": "twilightforest:block/keepsake_casket" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json b/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json deleted file mode 100644 index 5eeff7b670..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/knightmetal_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json deleted file mode 100644 index 009f7386b7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "twilightforest:block/miniature/lich_tower", - "y": 90 - }, - "facing=north": { - "model": "twilightforest:block/miniature/lich_tower" - }, - "facing=south": { - "model": "twilightforest:block/miniature/lich_tower", - "y": 180 - }, - "facing=west": { - "model": "twilightforest:block/miniature/lich_tower", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/lich_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/lich_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/lich_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/lich_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json b/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json deleted file mode 100644 index cffdcd4355..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/liveroot_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json deleted file mode 100644 index 220ee44423..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "locked=false": { - "model": "twilightforest:block/locked_vanishing_block_unlocked" - }, - "locked=true": { - "model": "twilightforest:block/locked_vanishing_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json deleted file mode 100644 index 92ea0133d7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mangrove/mangrove_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_button.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_button.json index 7766751b3b..4c995d5d32 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2" - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mangrove/mangrove_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/mangrove_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/mangrove_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/mangrove_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/mangrove_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/mangrove_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/mangrove_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/mangrove_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/mangrove_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/mangrove_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/mangrove_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/mangrove_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/mangrove_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/mangrove_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_chest.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_chest.json deleted file mode 100644 index 9b926aad8d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_door.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_door.json index 171e3d4d81..878f6d2317 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left" + "model": "twilightforest:block/mangrove_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left_open", + "model": "twilightforest:block/mangrove_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right" + "model": "twilightforest:block/mangrove_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right_open", + "model": "twilightforest:block/mangrove_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left" + "model": "twilightforest:block/mangrove_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left_open", + "model": "twilightforest:block/mangrove_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right" + "model": "twilightforest:block/mangrove_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right_open", + "model": "twilightforest:block/mangrove_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left", + "model": "twilightforest:block/mangrove_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left_open" + "model": "twilightforest:block/mangrove_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right", + "model": "twilightforest:block/mangrove_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right_open", + "model": "twilightforest:block/mangrove_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left", + "model": "twilightforest:block/mangrove_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left_open" + "model": "twilightforest:block/mangrove_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right", + "model": "twilightforest:block/mangrove_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right_open", + "model": "twilightforest:block/mangrove_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left", + "model": "twilightforest:block/mangrove_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left_open", + "model": "twilightforest:block/mangrove_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right", + "model": "twilightforest:block/mangrove_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right_open" + "model": "twilightforest:block/mangrove_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left", + "model": "twilightforest:block/mangrove_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left_open", + "model": "twilightforest:block/mangrove_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right", + "model": "twilightforest:block/mangrove_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right_open" + "model": "twilightforest:block/mangrove_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left", + "model": "twilightforest:block/mangrove_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_left_open", + "model": "twilightforest:block/mangrove_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right", + "model": "twilightforest:block/mangrove_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_bottom_right_open", + "model": "twilightforest:block/mangrove_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left", + "model": "twilightforest:block/mangrove_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_left_open", + "model": "twilightforest:block/mangrove_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right", + "model": "twilightforest:block/mangrove_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mangrove/mangrove_door_top_right_open", + "model": "twilightforest:block/mangrove_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence.json index d91bcafbba..59d08cbbc6 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/mangrove_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/mangrove_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/mangrove_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/mangrove_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mangrove/mangrove_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/mangrove_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence_gate.json index d0122dbf0b..2dd084dc60 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/mangrove_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/mangrove_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/mangrove_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/mangrove_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/mangrove_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/mangrove_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/mangrove_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/mangrove_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/mangrove_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json deleted file mode 100644 index bc78206c70..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json deleted file mode 100644 index 4d4d8f9bfa..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json deleted file mode 100644 index efa5363840..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/mangrove_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/mangrove_log" - }, - "axis=z": { - "model": "twilightforest:block/mangrove_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_planks.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_planks.json index 9d1693ebb0..c30701a065 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_3" - } - ] + "": { + "model": "twilightforest:block/mangrove_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_pressure_plate.json index 971270386d..1c1dabcc1f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/mangrove_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/mangrove_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json deleted file mode 100644 index 7c1efafea6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_root" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json deleted file mode 100644 index d4dc7d3a90..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_slab.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_slab.json index 82205d9eed..5470003442 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/mangrove/mangrove_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mangrove/mangrove_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/mangrove_slab" + }, + "type=double": { + "model": "twilightforest:block/mangrove_planks" + }, + "type=top": { + "model": "twilightforest:block/mangrove_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json index 7bbafd6917..1483d0ffbc 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/mangrove_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/mangrove_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/mangrove_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/mangrove_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json index 2314d7521f..30aa1ca952 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom", + "model": "twilightforest:block/mangrove_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_top", + "model": "twilightforest:block/mangrove_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom" + "model": "twilightforest:block/mangrove_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open" + "model": "twilightforest:block/mangrove_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_top" + "model": "twilightforest:block/mangrove_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom", + "model": "twilightforest:block/mangrove_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_top", + "model": "twilightforest:block/mangrove_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", - "x": 180 + "model": "twilightforest:block/mangrove_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom", + "model": "twilightforest:block/mangrove_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_top", + "model": "twilightforest:block/mangrove_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_open", + "model": "twilightforest:block/mangrove_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapped_chest.json deleted file mode 100644 index 5dbea765a1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json deleted file mode 100644 index 10d12befcb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mangrove_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_sign.json index 6d3771c897..c335cc2952 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/mangrove_wall_sign" + "model": "twilightforest:block/mangrove_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json deleted file mode 100644 index 2783d6bc6e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/mangrove_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/mangrove_wood" - }, - "axis=z": { - "model": "twilightforest:block/mangrove_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json b/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json deleted file mode 100644 index f392316ec5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mason_jar" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mayapple.json b/src/generated/resources/assets/twilightforest/blockstates/mayapple.json deleted file mode 100644 index 29725cde93..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mayapple.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mayapple" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone.json deleted file mode 100644 index bed1afda45..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mazestone.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/mazestone", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/mazestone", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json deleted file mode 100644 index a2d8fe0aae..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mazestone_border" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json deleted file mode 100644 index 03ce3e1e03..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mazestone_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json deleted file mode 100644 index ccabe8096a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mazestone_mosaic" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json b/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json deleted file mode 100644 index 06ce6bcdca..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/mine/mining_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_button.json b/src/generated/resources/assets/twilightforest/blockstates/mining_button.json index 583088ea04..bec52599d7 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2" - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/mine/mining_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/mining_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/mining_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/mining_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/mining_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/mining_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/mining_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/mining_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/mining_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/mining_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/mining_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/mining_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/mining_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/mining_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/mining_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_chest.json b/src/generated/resources/assets/twilightforest/blockstates/mining_chest.json deleted file mode 100644 index 6c44d2b8f3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mining_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_door.json b/src/generated/resources/assets/twilightforest/blockstates/mining_door.json index 41253cecbf..8813b3fead 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left" + "model": "twilightforest:block/mining_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left_open", + "model": "twilightforest:block/mining_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right" + "model": "twilightforest:block/mining_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right_open", + "model": "twilightforest:block/mining_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left" + "model": "twilightforest:block/mining_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left_open", + "model": "twilightforest:block/mining_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right" + "model": "twilightforest:block/mining_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right_open", + "model": "twilightforest:block/mining_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left", + "model": "twilightforest:block/mining_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left_open" + "model": "twilightforest:block/mining_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right", + "model": "twilightforest:block/mining_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right_open", + "model": "twilightforest:block/mining_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left", + "model": "twilightforest:block/mining_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left_open" + "model": "twilightforest:block/mining_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right", + "model": "twilightforest:block/mining_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right_open", + "model": "twilightforest:block/mining_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left", + "model": "twilightforest:block/mining_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left_open", + "model": "twilightforest:block/mining_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right", + "model": "twilightforest:block/mining_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right_open" + "model": "twilightforest:block/mining_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left", + "model": "twilightforest:block/mining_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left_open", + "model": "twilightforest:block/mining_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right", + "model": "twilightforest:block/mining_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right_open" + "model": "twilightforest:block/mining_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left", + "model": "twilightforest:block/mining_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_left_open", + "model": "twilightforest:block/mining_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right", + "model": "twilightforest:block/mining_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_bottom_right_open", + "model": "twilightforest:block/mining_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left", + "model": "twilightforest:block/mining_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_left_open", + "model": "twilightforest:block/mining_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right", + "model": "twilightforest:block/mining_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/mine/mine_door_top_right_open", + "model": "twilightforest:block/mining_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_fence.json b/src/generated/resources/assets/twilightforest/blockstates/mining_fence.json index 760c84a644..f302cfb05b 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/mining_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/mining_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/mining_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/mining_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/mine/mining_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/mining_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/mining_fence_gate.json index 80669da68f..04466aea1f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/mining_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/mining_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/mining_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/mining_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/mining_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/mining_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/mining_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/mining_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/mining_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/mining_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/mining_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/mining_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/mining_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/mining_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/mining_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/mining_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json deleted file mode 100644 index e2e348985e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mining_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json deleted file mode 100644 index bfad9214a1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/mining_leaves" - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/mining_leaves", - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_log.json b/src/generated/resources/assets/twilightforest/blockstates/mining_log.json deleted file mode 100644 index 04a2f3a819..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/mining_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/mining_log" - }, - "axis=z": { - "model": "twilightforest:block/mining_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json deleted file mode 100644 index 77570fcbb0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "active=false,axis=x": { - "model": "twilightforest:block/mining_log_core", - "x": 90, - "y": 90 - }, - "active=false,axis=y": { - "model": "twilightforest:block/mining_log_core" - }, - "active=false,axis=z": { - "model": "twilightforest:block/mining_log_core", - "x": 90 - }, - "active=true,axis=x": { - "model": "twilightforest:block/mining_log_core_on", - "x": 90, - "y": 90 - }, - "active=true,axis=y": { - "model": "twilightforest:block/mining_log_core_on" - }, - "active=true,axis=z": { - "model": "twilightforest:block/mining_log_core_on", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_planks.json b/src/generated/resources/assets/twilightforest/blockstates/mining_planks.json index 6f91fed996..ec2be6780f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/mine/mining_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_3" - } - ] + "": { + "model": "twilightforest:block/mining_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/mining_pressure_plate.json index 63f95a8ab2..756a604c8a 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/mining_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/mining_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json deleted file mode 100644 index d50a75380e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mining_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_slab.json b/src/generated/resources/assets/twilightforest/blockstates/mining_slab.json index 5f979aaf3b..e9c09e33eb 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/mine/mining_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/mine/mining_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/mine/mining_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/mine/mining_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/mine/mining_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/mining_slab" + }, + "type=double": { + "model": "twilightforest:block/mining_planks" + }, + "type=top": { + "model": "twilightforest:block/mining_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json index dc989f10d2..db8df456a3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/mine/mining_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/mining_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/mining_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/mining_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/mining_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json index 3ed5c52225..2b93006d4f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_bottom", + "model": "twilightforest:block/mining_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_top", + "model": "twilightforest:block/mining_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_bottom" + "model": "twilightforest:block/mining_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open" + "model": "twilightforest:block/mining_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_top" + "model": "twilightforest:block/mining_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_bottom", + "model": "twilightforest:block/mining_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_top", + "model": "twilightforest:block/mining_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", - "x": 180 + "model": "twilightforest:block/mining_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_bottom", + "model": "twilightforest:block/mining_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_top", + "model": "twilightforest:block/mining_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_open", + "model": "twilightforest:block/mining_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/mining_trapped_chest.json deleted file mode 100644 index 20566d189f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mining_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json deleted file mode 100644 index 4b862a9be2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mining_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mining_wall_sign.json index 0e5eda3026..207b4d5c2c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/mining_wall_sign" + "model": "twilightforest:block/mining_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json b/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json deleted file mode 100644 index 66e3fb9e6e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/mining_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/mining_wood" - }, - "axis=z": { - "model": "twilightforest:block/mining_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/minoshroom_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/minoshroom_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/moonworm.json b/src/generated/resources/assets/twilightforest/blockstates/moonworm.json deleted file mode 100644 index 0de856876a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/moonworm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/moonworm" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json b/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json deleted file mode 100644 index 4ac5897356..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/moss_patch" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json deleted file mode 100644 index 9ac525262c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mossy_castle_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json deleted file mode 100644 index 00b2201141..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/mossy_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json deleted file mode 100644 index 0666ba4d18..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "twilightforest:block/mossy_etched_nagastone" - }, - "facing=east": { - "model": "twilightforest:block/mossy_etched_nagastone_east" - }, - "facing=north": { - "model": "twilightforest:block/mossy_etched_nagastone_north" - }, - "facing=south": { - "model": "twilightforest:block/mossy_etched_nagastone_south" - }, - "facing=up": { - "model": "twilightforest:block/mossy_etched_nagastone_up" - }, - "facing=west": { - "model": "twilightforest:block/mossy_etched_nagastone_west" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json deleted file mode 100644 index 61311cd0a0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mossy_mazestone" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json deleted file mode 100644 index 7ccb81fcd1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "axis=x,reversed=false": { - "model": "twilightforest:block/mossy_nagastone_pillar", - "x": 270, - "y": 270 - }, - "axis=x,reversed=true": { - "model": "twilightforest:block/mossy_nagastone_pillar_reversed", - "x": 270, - "y": 270 - }, - "axis=y,reversed=false": { - "model": "twilightforest:block/mossy_nagastone_pillar" - }, - "axis=y,reversed=true": { - "model": "twilightforest:block/mossy_nagastone_pillar_reversed" - }, - "axis=z,reversed=false": { - "model": "twilightforest:block/mossy_nagastone_pillar", - "x": 270 - }, - "axis=z,reversed=true": { - "model": "twilightforest:block/mossy_nagastone_pillar_reversed", - "x": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json deleted file mode 100644 index 0370ed5eae..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json deleted file mode 100644 index ae73fc6b8c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/mossy_nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/mossy_nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json deleted file mode 100644 index 359cd76cd6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/mossy_towerwood" - }, - { - "model": "twilightforest:block/mossy_towerwood_flipped" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json deleted file mode 100644 index 2ffc0af535..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mossy_underbrick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json deleted file mode 100644 index 527e2bc657..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/mushgloom" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json deleted file mode 100644 index bb6589d1f1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "twilightforest:block/miniature/naga_courtyard", - "y": 90 - }, - "facing=north": { - "model": "twilightforest:block/miniature/naga_courtyard" - }, - "facing=south": { - "model": "twilightforest:block/miniature/naga_courtyard", - "y": 180 - }, - "facing=west": { - "model": "twilightforest:block/miniature/naga_courtyard", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/naga_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/naga_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/naga_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/naga_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone.json deleted file mode 100644 index 757e9e0f23..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "variants": { - "variant=axis_x": { - "model": "twilightforest:block/naga_segment/horizontal" - }, - "variant=axis_y": { - "model": "twilightforest:block/naga_segment/vertical" - }, - "variant=axis_z": { - "model": "twilightforest:block/naga_segment/horizontal", - "y": 90 - }, - "variant=east_down": { - "model": "twilightforest:block/naga_segment/down" - }, - "variant=east_up": { - "model": "twilightforest:block/naga_segment/up" - }, - "variant=north_down": { - "model": "twilightforest:block/naga_segment/down", - "y": 270 - }, - "variant=north_up": { - "model": "twilightforest:block/naga_segment/up", - "y": 270 - }, - "variant=solid": { - "model": "twilightforest:block/nagastone" - }, - "variant=south_down": { - "model": "twilightforest:block/naga_segment/down", - "y": 90 - }, - "variant=south_up": { - "model": "twilightforest:block/naga_segment/up", - "y": 90 - }, - "variant=west_down": { - "model": "twilightforest:block/naga_segment/down", - "y": 180 - }, - "variant=west_up": { - "model": "twilightforest:block/naga_segment/up", - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json deleted file mode 100644 index 3d7fd51dbf..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "twilightforest:block/nagastone_head", - "y": 90 - }, - "facing=north": { - "model": "twilightforest:block/nagastone_head" - }, - "facing=south": { - "model": "twilightforest:block/nagastone_head", - "y": 180 - }, - "facing=west": { - "model": "twilightforest:block/nagastone_head", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json deleted file mode 100644 index 11530c0e3d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "axis=x,reversed=false": { - "model": "twilightforest:block/nagastone_pillar", - "x": 270, - "y": 270 - }, - "axis=x,reversed=true": { - "model": "twilightforest:block/nagastone_pillar_reversed", - "x": 270, - "y": 270 - }, - "axis=y,reversed=false": { - "model": "twilightforest:block/nagastone_pillar" - }, - "axis=y,reversed=true": { - "model": "twilightforest:block/nagastone_pillar_reversed" - }, - "axis=z,reversed=false": { - "model": "twilightforest:block/nagastone_pillar", - "x": 270 - }, - "axis=z,reversed=true": { - "model": "twilightforest:block/nagastone_pillar_reversed", - "x": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json deleted file mode 100644 index 0d376f758e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_left_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_left_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_left", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json deleted file mode 100644 index 87b00de54a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/nagastone_stairs_right_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/nagastone_stairs_right_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/nagastone_stairs_right", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json deleted file mode 100644 index e0f4e55d77..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/oak/oak_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json deleted file mode 100644 index 94539e80e1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/orange_force_field" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/piglin_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/piglin_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/piglin_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/piglin_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/piglin_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/piglin_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json deleted file mode 100644 index b2e22b3fca..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "active=false,vanish=false": { - "model": "twilightforest:block/pink_castle_door" - }, - "active=false,vanish=true": { - "model": "twilightforest:block/pink_castle_door_vanished" - }, - "active=true,vanish=false": { - "model": "twilightforest:block/pink_castle_door" - }, - "active=true,vanish=true": { - "model": "twilightforest:block/pink_castle_door_vanished" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json deleted file mode 100644 index 057df861ac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/castle_rune_brick_0" - }, - { - "model": "twilightforest:block/castle_rune_brick_1" - }, - { - "model": "twilightforest:block/castle_rune_brick_2" - }, - { - "model": "twilightforest:block/castle_rune_brick_3" - }, - { - "model": "twilightforest:block/castle_rune_brick_4" - }, - { - "model": "twilightforest:block/castle_rune_brick_5" - }, - { - "model": "twilightforest:block/castle_rune_brick_6" - }, - { - "model": "twilightforest:block/castle_rune_brick_7" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json deleted file mode 100644 index ba2f740cbb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/pink_force_field" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/player_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/player_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/player_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/player_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/player_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/player_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json deleted file mode 100644 index ef1422328c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_canopy_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json deleted file mode 100644 index 9419b847cf..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_darkwood_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json deleted file mode 100644 index 492a781454..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_dead_thorn" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json b/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json deleted file mode 100644 index b0618f4353..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_fiddlehead" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json deleted file mode 100644 index 1c9a9a8b75..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_green_thorn" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json deleted file mode 100644 index 272ba1ac93..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_hollow_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json deleted file mode 100644 index e42748e75c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_mangrove_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json deleted file mode 100644 index 93b27e22f7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_mayapple" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json deleted file mode 100644 index 2a57bcf307..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_mining_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json deleted file mode 100644 index a52eac7001..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_mushgloom" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json deleted file mode 100644 index 7b1209be89..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_rainbow_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json deleted file mode 100644 index beb03624ef..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_sorting_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json deleted file mode 100644 index 4cff1fc400..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_thorn" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json deleted file mode 100644 index 74700594d6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_time_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json deleted file mode 100644 index 297c4e23e3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_transformation_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json deleted file mode 100644 index 8e66090e66..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/potted_twilight_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/quest_ram_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/quest_ram_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/quest_ram_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/quest_ram_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/quest_ram_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/quest_ram_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json deleted file mode 100644 index 966529094e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/rainbow_oak_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json deleted file mode 100644 index d4ce9514e6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/rainbow_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json deleted file mode 100644 index aebb7b0fd5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/rainy_cloud" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/reactor_debris.json b/src/generated/resources/assets/twilightforest/blockstates/reactor_debris.json deleted file mode 100644 index ef42588071..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/reactor_debris.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/reactor_debris" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json b/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json deleted file mode 100644 index 71ff6c92eb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "active=false,vanished=false": { - "model": "twilightforest:block/reappearing_block" - }, - "active=false,vanished=true": { - "model": "twilightforest:block/reappearing_block_vanished" - }, - "active=true,vanished=false": { - "model": "twilightforest:block/reappearing_block_active" - }, - "active=true,vanished=true": { - "model": "twilightforest:block/reappearing_block_vanished_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/red_thread.json b/src/generated/resources/assets/twilightforest/blockstates/red_thread.json deleted file mode 100644 index 74496b7773..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/red_thread.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/red_thread" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/root.json b/src/generated/resources/assets/twilightforest/blockstates/root.json deleted file mode 100644 index ce963c622f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/root.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/root" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/root_strand.json b/src/generated/resources/assets/twilightforest/blockstates/root_strand.json deleted file mode 100644 index b51b6e44ab..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/root_strand.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/root_strand" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rope.json b/src/generated/resources/assets/twilightforest/blockstates/rope.json deleted file mode 100644 index b0984cd95b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/rope.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/rope_y" - }, - "when": { - "y": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/rope_x" - }, - "when": { - "x": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/rope_z" - }, - "when": { - "z": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/rope_knot" - }, - "when": { - "OR": [ - { - "x": "true", - "y": "true" - }, - { - "y": "true", - "z": "true" - }, - { - "x": "true", - "z": "true" - } - ] - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json deleted file mode 100644 index a487f53d57..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sinister_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/skeleton_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/skeleton_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/skeleton_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/skeleton_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/skeleton_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/skeleton_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/skull_chest.json b/src/generated/resources/assets/twilightforest/blockstates/skull_chest.json deleted file mode 100644 index 4b2d0a82d0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/skull_chest.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "variants": { - "multilogged=air": { - "model": "twilightforest:block/skull_chest" - }, - "multilogged=basalt": { - "model": "twilightforest:block/casket_basalt" - }, - "multilogged=lava": { - "model": "twilightforest:block/skull_chest" - }, - "multilogged=obsidian": { - "model": "twilightforest:block/casket_obsidian" - }, - "multilogged=stone": { - "model": "twilightforest:block/casket_stone" - }, - "multilogged=water": { - "model": "twilightforest:block/skull_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/slider.json b/src/generated/resources/assets/twilightforest/blockstates/slider.json deleted file mode 100644 index b25a21f399..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/slider.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "variants": { - "axis=x,delay=0,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=0,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=1,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=1,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=2,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=2,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=3,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=x,delay=3,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90, - "y": 90 - }, - "axis=y,delay=0,waterlogged=false": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=0,waterlogged=true": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=1,waterlogged=false": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=1,waterlogged=true": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=2,waterlogged=false": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=2,waterlogged=true": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=3,waterlogged=false": { - "model": "twilightforest:block/slider" - }, - "axis=y,delay=3,waterlogged=true": { - "model": "twilightforest:block/slider" - }, - "axis=z,delay=0,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=0,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=1,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=1,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=2,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=2,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=3,waterlogged=false": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - }, - "axis=z,delay=3,waterlogged=true": { - "model": "twilightforest:block/slider_horiz", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/smoker.json b/src/generated/resources/assets/twilightforest/blockstates/smoker.json deleted file mode 100644 index e6d73d4076..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/smoker.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/smoker" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/snow_queen_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/snow_queen_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json deleted file mode 100644 index b78c89acc0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/snowy_cloud" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json deleted file mode 100644 index 134afb4e49..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/sort/sorting_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_button.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_button.json index e1effdce13..ba649879f1 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2" - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/sort/sorting_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/sorting_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/sorting_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/sorting_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/sorting_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/sorting_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/sorting_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/sorting_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/sorting_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/sorting_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/sorting_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/sorting_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/sorting_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/sorting_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/sorting_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_chest.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_chest.json deleted file mode 100644 index 5a0f1fd55b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sorting_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_door.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_door.json index 578be518c9..eee1d0cfc0 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left" + "model": "twilightforest:block/sorting_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left_open", + "model": "twilightforest:block/sorting_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right" + "model": "twilightforest:block/sorting_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right_open", + "model": "twilightforest:block/sorting_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left" + "model": "twilightforest:block/sorting_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left_open", + "model": "twilightforest:block/sorting_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right" + "model": "twilightforest:block/sorting_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right_open", + "model": "twilightforest:block/sorting_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left", + "model": "twilightforest:block/sorting_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left_open" + "model": "twilightforest:block/sorting_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right", + "model": "twilightforest:block/sorting_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right_open", + "model": "twilightforest:block/sorting_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left", + "model": "twilightforest:block/sorting_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left_open" + "model": "twilightforest:block/sorting_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right", + "model": "twilightforest:block/sorting_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right_open", + "model": "twilightforest:block/sorting_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left", + "model": "twilightforest:block/sorting_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left_open", + "model": "twilightforest:block/sorting_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right", + "model": "twilightforest:block/sorting_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right_open" + "model": "twilightforest:block/sorting_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left", + "model": "twilightforest:block/sorting_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left_open", + "model": "twilightforest:block/sorting_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right", + "model": "twilightforest:block/sorting_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right_open" + "model": "twilightforest:block/sorting_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left", + "model": "twilightforest:block/sorting_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_left_open", + "model": "twilightforest:block/sorting_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right", + "model": "twilightforest:block/sorting_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_bottom_right_open", + "model": "twilightforest:block/sorting_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left", + "model": "twilightforest:block/sorting_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_left_open", + "model": "twilightforest:block/sorting_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right", + "model": "twilightforest:block/sorting_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/sort/sorting_door_top_right_open", + "model": "twilightforest:block/sorting_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_fence.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_fence.json index e2387a5ef0..81dfb711e2 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/sorting_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/sorting_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/sorting_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/sorting_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/sort/sorting_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/sorting_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_fence_gate.json index 0bf3c0043d..48dea4a227 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/sorting_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/sorting_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/sorting_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/sorting_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/sorting_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/sorting_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/sorting_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/sorting_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/sorting_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/sorting_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/sorting_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/sorting_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/sorting_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/sorting_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/sorting_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/sorting_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json deleted file mode 100644 index 84412018b0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sorting_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json deleted file mode 100644 index bc12c78c34..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json +++ /dev/null @@ -1,396 +0,0 @@ -{ - "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/sorting_leaves" - }, - { - "model": "twilightforest:block/sorting_leaves1" - }, - { - "model": "twilightforest:block/sorting_leaves2" - }, - { - "model": "twilightforest:block/sorting_leaves3" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json deleted file mode 100644 index 42b270e4f5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/sorting_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/sorting_log" - }, - "axis=z": { - "model": "twilightforest:block/sorting_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json deleted file mode 100644 index 9b16fb98f4..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "active=false,axis=x": { - "model": "twilightforest:block/sorting_log_core", - "x": 90, - "y": 90 - }, - "active=false,axis=y": { - "model": "twilightforest:block/sorting_log_core" - }, - "active=false,axis=z": { - "model": "twilightforest:block/sorting_log_core", - "x": 90 - }, - "active=true,axis=x": { - "model": "twilightforest:block/sorting_log_core_on", - "x": 90, - "y": 90 - }, - "active=true,axis=y": { - "model": "twilightforest:block/sorting_log_core_on" - }, - "active=true,axis=z": { - "model": "twilightforest:block/sorting_log_core_on", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_planks.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_planks.json index 227ff92216..021943d36c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_3" - } - ] + "": { + "model": "twilightforest:block/sorting_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_pressure_plate.json index c793d94d91..9b96a6a556 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/sorting_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/sorting_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json deleted file mode 100644 index c72b45e96a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sorting_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_slab.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_slab.json index 60fbf7b663..4260f81481 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/sort/sorting_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/sort/sorting_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/sorting_slab" + }, + "type=double": { + "model": "twilightforest:block/sorting_planks" + }, + "type=top": { + "model": "twilightforest:block/sorting_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json index ba991886c3..42db3d6873 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/sort/sorting_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/sorting_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/sorting_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/sorting_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/sorting_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json index fe44536df5..cf8bb5812e 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_bottom", + "model": "twilightforest:block/sorting_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_top", + "model": "twilightforest:block/sorting_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_bottom" + "model": "twilightforest:block/sorting_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open" + "model": "twilightforest:block/sorting_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_top" + "model": "twilightforest:block/sorting_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_bottom", + "model": "twilightforest:block/sorting_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_top", + "model": "twilightforest:block/sorting_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", - "x": 180 + "model": "twilightforest:block/sorting_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_bottom", + "model": "twilightforest:block/sorting_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_top", + "model": "twilightforest:block/sorting_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_open", + "model": "twilightforest:block/sorting_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_trapped_chest.json deleted file mode 100644 index 778a6e8b32..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sorting_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json deleted file mode 100644 index d3c12525bf..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/sorting_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_sign.json index f28fa09ed3..2f032431b0 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/sorting_wall_sign" + "model": "twilightforest:block/sorting_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json deleted file mode 100644 index bbb2e25785..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/sorting_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/sorting_wood" - }, - "axis=z": { - "model": "twilightforest:block/sorting_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json b/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json deleted file mode 100644 index edc867630e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "variants": { - "axis=x,diagonal=bottom_left": { - "model": "twilightforest:block/spiral_bricks/x_spiral_bottom_left" - }, - "axis=x,diagonal=bottom_right": { - "model": "twilightforest:block/spiral_bricks/x_spiral_bottom_right" - }, - "axis=x,diagonal=top_left": { - "model": "twilightforest:block/spiral_bricks/x_spiral_top_left" - }, - "axis=x,diagonal=top_right": { - "model": "twilightforest:block/spiral_bricks/x_spiral_top_right" - }, - "axis=y,diagonal=bottom_left": { - "model": "twilightforest:block/spiral_bricks/y_spiral_bottom_left" - }, - "axis=y,diagonal=bottom_right": { - "model": "twilightforest:block/spiral_bricks/y_spiral_bottom_right" - }, - "axis=y,diagonal=top_left": { - "model": "twilightforest:block/spiral_bricks/y_spiral_top_left" - }, - "axis=y,diagonal=top_right": { - "model": "twilightforest:block/spiral_bricks/y_spiral_top_right" - }, - "axis=z,diagonal=bottom_left": { - "model": "twilightforest:block/spiral_bricks/z_spiral_bottom_left" - }, - "axis=z,diagonal=bottom_right": { - "model": "twilightforest:block/spiral_bricks/z_spiral_bottom_right" - }, - "axis=z,diagonal=top_left": { - "model": "twilightforest:block/spiral_bricks/z_spiral_top_left" - }, - "axis=z,diagonal=top_right": { - "model": "twilightforest:block/spiral_bricks/z_spiral_top_right" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json b/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json deleted file mode 100644 index 25fccdbf0a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/spruce/spruce_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json b/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json deleted file mode 100644 index 1160e979ac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/steeleaf_block" - }, - { - "model": "twilightforest:block/steeleaf_block", - "y": 90 - }, - { - "model": "twilightforest:block/steeleaf_block", - "y": 180 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 90 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 180 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/steeleaf_block", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json deleted file mode 100644 index 6e2cf1faa1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_canopy_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_canopy_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_canopy_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json deleted file mode 100644 index da43a11a26..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_canopy_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_canopy_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_canopy_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json deleted file mode 100644 index 1eac8721fb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_dark_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_dark_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_dark_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json deleted file mode 100644 index 3c3d314da5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_dark_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_dark_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_dark_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json deleted file mode 100644 index 9df911bfff..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_mangrove_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_mangrove_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_mangrove_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json deleted file mode 100644 index 9f3f51938f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_mangrove_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_mangrove_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_mangrove_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json deleted file mode 100644 index 4a22501f95..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_mining_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_mining_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_mining_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json deleted file mode 100644 index af717ebd6f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_mining_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_mining_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_mining_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json deleted file mode 100644 index b96b90681f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_sorting_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_sorting_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_sorting_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json deleted file mode 100644 index 8d73136ddd..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_sorting_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_sorting_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_sorting_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json deleted file mode 100644 index dca486bba4..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_time_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_time_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_time_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json deleted file mode 100644 index ac3577c6fe..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_time_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_time_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_time_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json deleted file mode 100644 index 7e7bbbd8ef..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_transformation_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_transformation_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_transformation_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json deleted file mode 100644 index 569f5328a6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_transformation_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_transformation_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_transformation_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json deleted file mode 100644 index f87e2cb42d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_twilight_oak_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_twilight_oak_log" - }, - "axis=z": { - "model": "twilightforest:block/stripped_twilight_oak_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json deleted file mode 100644 index b3c46adcac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/stripped_twilight_oak_wood" - }, - "axis=z": { - "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json b/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json deleted file mode 100644 index a21f2b14da..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true, - "x": 180 - }, - "facing=east": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true, - "x": 90, - "y": 270 - }, - "facing=north": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true, - "x": 90, - "y": 180 - }, - "facing=south": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true, - "x": 90 - }, - "facing=up": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true - }, - "facing=west": { - "model": "twilightforest:block/stronghold_shield", - "uvlock": true, - "x": 90, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json deleted file mode 100644 index 4ee8b155b0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/terrorcotta_arcs_x" - }, - "axis=y": { - "model": "twilightforest:block/terrorcotta_arcs" - }, - "axis=z": { - "model": "twilightforest:block/terrorcotta_arcs_z" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json deleted file mode 100644 index 254b104ec5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "twilightforest:block/terrorcotta_curves_270" - }, - "facing=north": { - "model": "twilightforest:block/terrorcotta_curves_180" - }, - "facing=south": { - "model": "twilightforest:block/terrorcotta_curves_0" - }, - "facing=west": { - "model": "twilightforest:block/terrorcotta_curves_90" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json deleted file mode 100644 index bb0c7d7357..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "rotated=false": { - "model": "twilightforest:block/terrorcotta_lines_0" - }, - "rotated=true": { - "model": "twilightforest:block/terrorcotta_lines_90" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json deleted file mode 100644 index f7470ac49a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/thick_castle_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json deleted file mode 100644 index 4aa066cc0d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/thorn_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json b/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json deleted file mode 100644 index 2c3bd04d1d..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "twilightforest:block/thorn_rose", - "x": 180 - }, - "facing=east": { - "model": "twilightforest:block/thorn_rose", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "twilightforest:block/thorn_rose", - "x": 90 - }, - "facing=south": { - "model": "twilightforest:block/thorn_rose", - "x": 270 - }, - "facing=up": { - "model": "twilightforest:block/thorn_rose" - }, - "facing=west": { - "model": "twilightforest:block/thorn_rose", - "x": 270, - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_banister.json b/src/generated/resources/assets/twilightforest/blockstates/time_banister.json deleted file mode 100644 index 3e8c47e10e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/time/time_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_button.json b/src/generated/resources/assets/twilightforest/blockstates/time_button.json index 8bac63003d..c2a2a4df6b 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2" - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/time/time_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/time/time_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/time/time_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/time_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/time_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/time_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/time_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/time_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/time_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/time_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/time_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/time_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/time_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/time_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/time_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/time_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/time_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_chest.json b/src/generated/resources/assets/twilightforest/blockstates/time_chest.json deleted file mode 100644 index 519919ee1a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/time_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_door.json b/src/generated/resources/assets/twilightforest/blockstates/time_door.json index d05aca9293..846df428f7 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left" + "model": "twilightforest:block/time_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left_open", + "model": "twilightforest:block/time_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right" + "model": "twilightforest:block/time_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right_open", + "model": "twilightforest:block/time_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_left" + "model": "twilightforest:block/time_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_left_open", + "model": "twilightforest:block/time_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_right" + "model": "twilightforest:block/time_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_right_open", + "model": "twilightforest:block/time_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left", + "model": "twilightforest:block/time_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left_open" + "model": "twilightforest:block/time_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right", + "model": "twilightforest:block/time_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right_open", + "model": "twilightforest:block/time_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_left", + "model": "twilightforest:block/time_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_left_open" + "model": "twilightforest:block/time_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_right", + "model": "twilightforest:block/time_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_right_open", + "model": "twilightforest:block/time_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left", + "model": "twilightforest:block/time_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left_open", + "model": "twilightforest:block/time_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right", + "model": "twilightforest:block/time_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right_open" + "model": "twilightforest:block/time_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_left", + "model": "twilightforest:block/time_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_left_open", + "model": "twilightforest:block/time_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_right", + "model": "twilightforest:block/time_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_right_open" + "model": "twilightforest:block/time_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left", + "model": "twilightforest:block/time_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_left_open", + "model": "twilightforest:block/time_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right", + "model": "twilightforest:block/time_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_bottom_right_open", + "model": "twilightforest:block/time_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_left", + "model": "twilightforest:block/time_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_left_open", + "model": "twilightforest:block/time_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/time/time_door_top_right", + "model": "twilightforest:block/time_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/time/time_door_top_right_open", + "model": "twilightforest:block/time_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_fence.json b/src/generated/resources/assets/twilightforest/blockstates/time_fence.json index f66b7a0d18..2d15940b98 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/time/time_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/time_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/time/time_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/time_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/time/time_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/time_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/time/time_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/time_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/time/time_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/time/time_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/time_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/time_fence_gate.json index f9e0eac394..d4609c00d9 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/time/time_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/time_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/time_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/time_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/time_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/time_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/time_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/time_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/time_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/time_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/time_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/time_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/time_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/time_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/time_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/time_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/time_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json deleted file mode 100644 index 9607c07335..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/time_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json deleted file mode 100644 index ce99a17503..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/time_leaves" - }, - { - "model": "twilightforest:block/time_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/time_leaves", - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_log.json b/src/generated/resources/assets/twilightforest/blockstates/time_log.json deleted file mode 100644 index ea54e43ede..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/time_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/time_log" - }, - "axis=z": { - "model": "twilightforest:block/time_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json deleted file mode 100644 index 8c8477af92..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "active=false,axis=x": { - "model": "twilightforest:block/time_log_core", - "x": 90, - "y": 90 - }, - "active=false,axis=y": { - "model": "twilightforest:block/time_log_core" - }, - "active=false,axis=z": { - "model": "twilightforest:block/time_log_core", - "x": 90 - }, - "active=true,axis=x": { - "model": "twilightforest:block/time_log_core_on", - "x": 90, - "y": 90 - }, - "active=true,axis=y": { - "model": "twilightforest:block/time_log_core_on" - }, - "active=true,axis=z": { - "model": "twilightforest:block/time_log_core_on", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_planks.json b/src/generated/resources/assets/twilightforest/blockstates/time_planks.json index 94cfd0f46b..64099939be 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/time/time_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_3" - } - ] + "": { + "model": "twilightforest:block/time_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/time_pressure_plate.json index 4a5b6e9818..b643d11657 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/time_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/time_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json deleted file mode 100644 index d03c9a2a53..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/time_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_slab.json b/src/generated/resources/assets/twilightforest/blockstates/time_slab.json index 0c4888fd63..1ecae07199 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/time/time_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/time/time_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/time/time_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/time/time_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/time/time_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/time_slab" + }, + "type=double": { + "model": "twilightforest:block/time_planks" + }, + "type=top": { + "model": "twilightforest:block/time_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json index 046fb378cc..f933be00c3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/time/time_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/time/time_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/time_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/time_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/time_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/time_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json index 2e319d6f1a..1e13204eff 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_bottom", + "model": "twilightforest:block/time_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_top", + "model": "twilightforest:block/time_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_bottom" + "model": "twilightforest:block/time_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open" + "model": "twilightforest:block/time_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_top" + "model": "twilightforest:block/time_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_bottom", + "model": "twilightforest:block/time_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_top", + "model": "twilightforest:block/time_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", - "x": 180 + "model": "twilightforest:block/time_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_bottom", + "model": "twilightforest:block/time_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_top", + "model": "twilightforest:block/time_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/time/time_trapdoor_open", + "model": "twilightforest:block/time_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/time_trapped_chest.json deleted file mode 100644 index 98056f4aed..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/time_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json deleted file mode 100644 index c440ebce7b..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/time_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/time_wall_sign.json index 411f128f0c..b790a339df 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/time_wall_sign" + "model": "twilightforest:block/time_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_wood.json b/src/generated/resources/assets/twilightforest/blockstates/time_wood.json deleted file mode 100644 index bd62e8feef..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/time_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/time_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/time_wood" - }, - "axis=z": { - "model": "twilightforest:block/time_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json b/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json deleted file mode 100644 index ceeed889a6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "has_torchberries=false": { - "model": "twilightforest:block/torchberry_plant_no_berries" - }, - "has_torchberries=true": { - "model": "twilightforest:block/torchberry_plant" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/towerwood.json deleted file mode 100644 index 121d9be2fa..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/towerwood.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/towerwood" - }, - { - "model": "twilightforest:block/towerwood_flipped" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json deleted file mode 100644 index 033624d3ea..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/trans/transformation_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_button.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_button.json index d4509e1658..1e8e37a9d7 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2" - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/trans/transformation_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/transformation_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/transformation_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/transformation_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/transformation_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/transformation_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/transformation_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/transformation_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/transformation_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/transformation_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/transformation_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/transformation_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/transformation_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/transformation_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/transformation_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_chest.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_chest.json deleted file mode 100644 index 1dc649d0d5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/transformation_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_door.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_door.json index 1d3e8be6da..81bca71d2e 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left" + "model": "twilightforest:block/transformation_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left_open", + "model": "twilightforest:block/transformation_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right" + "model": "twilightforest:block/transformation_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right_open", + "model": "twilightforest:block/transformation_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left" + "model": "twilightforest:block/transformation_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left_open", + "model": "twilightforest:block/transformation_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right" + "model": "twilightforest:block/transformation_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right_open", + "model": "twilightforest:block/transformation_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left", + "model": "twilightforest:block/transformation_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left_open" + "model": "twilightforest:block/transformation_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right", + "model": "twilightforest:block/transformation_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right_open", + "model": "twilightforest:block/transformation_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left", + "model": "twilightforest:block/transformation_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left_open" + "model": "twilightforest:block/transformation_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right", + "model": "twilightforest:block/transformation_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right_open", + "model": "twilightforest:block/transformation_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left", + "model": "twilightforest:block/transformation_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left_open", + "model": "twilightforest:block/transformation_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right", + "model": "twilightforest:block/transformation_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right_open" + "model": "twilightforest:block/transformation_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left", + "model": "twilightforest:block/transformation_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left_open", + "model": "twilightforest:block/transformation_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right", + "model": "twilightforest:block/transformation_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right_open" + "model": "twilightforest:block/transformation_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left", + "model": "twilightforest:block/transformation_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_left_open", + "model": "twilightforest:block/transformation_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right", + "model": "twilightforest:block/transformation_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_bottom_right_open", + "model": "twilightforest:block/transformation_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left", + "model": "twilightforest:block/transformation_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_left_open", + "model": "twilightforest:block/transformation_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right", + "model": "twilightforest:block/transformation_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/trans/trans_door_top_right_open", + "model": "twilightforest:block/transformation_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_fence.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_fence.json index d94fd330f9..84ca6ed6ef 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/transformation_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/transformation_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/transformation_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/transformation_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/trans/transformation_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/transformation_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_fence_gate.json index 4b4c9689f5..bce333103b 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/transformation_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/transformation_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/transformation_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/transformation_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/transformation_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/transformation_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/transformation_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/transformation_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/transformation_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/transformation_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/transformation_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/transformation_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/transformation_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/transformation_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/transformation_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/transformation_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json deleted file mode 100644 index 3db43ba5d7..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/transformation_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json deleted file mode 100644 index 1102545bae..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "variants": { - "distance=1,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=1,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=2,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=3,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=4,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=5,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=6,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=false,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=false": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ], - "distance=7,persistent=true,waterlogged=true": [ - { - "model": "twilightforest:block/transformation_leaves" - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 90 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 180 - }, - { - "model": "twilightforest:block/transformation_leaves", - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json deleted file mode 100644 index af68b66486..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/transformation_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/transformation_log" - }, - "axis=z": { - "model": "twilightforest:block/transformation_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json deleted file mode 100644 index ead37db4bc..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "active=false,axis=x": { - "model": "twilightforest:block/transformation_log_core", - "x": 90, - "y": 90 - }, - "active=false,axis=y": { - "model": "twilightforest:block/transformation_log_core" - }, - "active=false,axis=z": { - "model": "twilightforest:block/transformation_log_core", - "x": 90 - }, - "active=true,axis=x": { - "model": "twilightforest:block/transformation_log_core_on", - "x": 90, - "y": 90 - }, - "active=true,axis=y": { - "model": "twilightforest:block/transformation_log_core_on" - }, - "active=true,axis=z": { - "model": "twilightforest:block/transformation_log_core_on", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_planks.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_planks.json index 7e82c37292..10711fdd7c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_3" - } - ] + "": { + "model": "twilightforest:block/transformation_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_pressure_plate.json index 3c40e99d57..011d4b5ceb 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/transformation_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/transformation_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json deleted file mode 100644 index bbaa25ff7c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/transformation_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_slab.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_slab.json index 01d51669d4..92dd13fbe6 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/trans/transformation_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/trans/transformation_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/transformation_slab" + }, + "type=double": { + "model": "twilightforest:block/transformation_planks" + }, + "type=top": { + "model": "twilightforest:block/transformation_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json index d3800f75f0..ae87aa020b 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/trans/transformation_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/transformation_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/transformation_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/transformation_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/transformation_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json index 59b44b2baf..76a3cdedb5 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_bottom", + "model": "twilightforest:block/transformation_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_top", + "model": "twilightforest:block/transformation_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_bottom" + "model": "twilightforest:block/transformation_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open" + "model": "twilightforest:block/transformation_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_top" + "model": "twilightforest:block/transformation_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_bottom", + "model": "twilightforest:block/transformation_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_top", + "model": "twilightforest:block/transformation_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", - "x": 180 + "model": "twilightforest:block/transformation_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_bottom", + "model": "twilightforest:block/transformation_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_top", + "model": "twilightforest:block/transformation_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_open", + "model": "twilightforest:block/transformation_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_trapped_chest.json deleted file mode 100644 index b00b0aaf52..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/transformation_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json deleted file mode 100644 index 99e89bb4cd..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/transformation_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_sign.json index e5f09a4b94..d946d106ca 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/transformation_wall_sign" + "model": "twilightforest:block/transformation_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json deleted file mode 100644 index cff78ebc92..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/transformation_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/transformation_wood" - }, - "axis=z": { - "model": "twilightforest:block/transformation_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollber.json b/src/generated/resources/assets/twilightforest/blockstates/trollber.json deleted file mode 100644 index 057f6d3888..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/trollber.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/trollber" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json b/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json deleted file mode 100644 index b8192fe725..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside" - }, - "when": { - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_inside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/trollsteinn_outside", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json b/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json deleted file mode 100644 index fd7adcfe0e..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/trollvidr" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json deleted file mode 100644 index 60ba61d0e2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "variants": { - "active=false": [ - { - "model": "twilightforest:block/trophy_pedestal" - }, - { - "model": "twilightforest:block/trophy_pedestal", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_1" - }, - { - "model": "twilightforest:block/trophy_pedestal_1", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_1", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_1", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_2" - }, - { - "model": "twilightforest:block/trophy_pedestal_2", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_2", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_2", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_3" - }, - { - "model": "twilightforest:block/trophy_pedestal_3", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_3", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_3", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_4" - }, - { - "model": "twilightforest:block/trophy_pedestal_4", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_4", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_4", - "y": 270 - } - ], - "active=true": [ - { - "model": "twilightforest:block/trophy_pedestal_active" - }, - { - "model": "twilightforest:block/trophy_pedestal_active", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_active", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_active", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_1" - }, - { - "model": "twilightforest:block/trophy_pedestal_active_1", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_1", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_1", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_2" - }, - { - "model": "twilightforest:block/trophy_pedestal_active_2", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_2", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_2", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_3" - }, - { - "model": "twilightforest:block/trophy_pedestal_active_3", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_3", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_3", - "y": 270 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_4" - }, - { - "model": "twilightforest:block/trophy_pedestal_active_4", - "y": 90 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_4", - "y": 180 - }, - { - "model": "twilightforest:block/trophy_pedestal_active_4", - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json deleted file mode 100644 index 70e0c95a8f..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_3", - "y": 270 - } - ], - "extended=false,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_3", - "y": 270 - } - ], - "extended=false,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_3", - "y": 180 - } - ], - "extended=false,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_3", - "y": 180 - } - ], - "extended=false,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_3" - } - ], - "extended=false,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_3" - } - ], - "extended=false,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_3" - } - ], - "extended=false,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_3", - "y": 90 - } - ], - "extended=false,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_3", - "y": 90 - } - ], - "extended=true,facing=east,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3", - "y": 270 - } - ], - "extended=true,facing=east,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3", - "y": 270 - } - ], - "extended=true,facing=north,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3", - "y": 180 - } - ], - "extended=true,facing=north,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3", - "y": 180 - } - ], - "extended=true,facing=south,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3" - } - ], - "extended=true,facing=south,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3" - } - ], - "extended=true,facing=south,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2" - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3" - } - ], - "extended=true,facing=west,shape=connected": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=short": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3", - "y": 90 - } - ], - "extended=true,facing=west,shape=tall": [ - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3", - "y": 90 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_button.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_button.json index d698b5781b..6b584245cc 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_button.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_button.json @@ -1,556 +1,118 @@ { "variants": { - "face=ceiling,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "x": 180, - "y": 270 - } - ], - "face=ceiling,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "x": 180, - "y": 180 - } - ], - "face=ceiling,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "x": 180 - } - ], - "face=ceiling,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "x": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "x": 180 - } - ], - "face=ceiling,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "x": 180, - "y": 90 - } - ], - "face=ceiling,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "x": 180, - "y": 90 - } - ], - "face=floor,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "y": 90 - } - ], - "face=floor,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "y": 90 - } - ], - "face=floor,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2" - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3" - } - ], - "face=floor,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2" - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3" - } - ], - "face=floor,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "y": 180 - } - ], - "face=floor,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "y": 180 - } - ], - "face=floor,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "y": 270 - } - ], - "face=floor,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "y": 270 - } - ], - "face=wall,facing=east,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=east,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 90 - } - ], - "face=wall,facing=north,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=north,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "uvlock": true, - "x": 90 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "uvlock": true, - "x": 90 - } - ], - "face=wall,facing=south,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=south,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 180 - } - ], - "face=wall,facing=west,powered=false": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ], - "face=wall,facing=west,powered=true": [ - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_1", - "uvlock": true, - "weight": 10, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_2", - "uvlock": true, - "x": 90, - "y": 270 - }, - { - "model": "twilightforest:block/wood/button/twilight_oak/twilight_oak_button_pressed_3", - "uvlock": true, - "x": 90, - "y": 270 - } - ] + "face=ceiling,facing=east,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "twilightforest:block/twilight_oak_button" + }, + "face=floor,facing=north,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "twilightforest:block/twilight_oak_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "twilightforest:block/twilight_oak_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_chest.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_chest.json deleted file mode 100644 index 0c543026d1..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_door.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_door.json index 4d22679123..1d0e3fc6bc 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_door.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_door.json @@ -1,123 +1,123 @@ { "variants": { "facing=east,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left" + "model": "twilightforest:block/twilight_oak_door_bottom_left" }, "facing=east,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open", + "model": "twilightforest:block/twilight_oak_door_bottom_left_open", "y": 90 }, "facing=east,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right" + "model": "twilightforest:block/twilight_oak_door_bottom_right" }, "facing=east,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open", + "model": "twilightforest:block/twilight_oak_door_bottom_right_open", "y": 270 }, "facing=east,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left" + "model": "twilightforest:block/twilight_oak_door_top_left" }, "facing=east,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left_open", + "model": "twilightforest:block/twilight_oak_door_top_left_open", "y": 90 }, "facing=east,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right" + "model": "twilightforest:block/twilight_oak_door_top_right" }, "facing=east,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right_open", + "model": "twilightforest:block/twilight_oak_door_top_right_open", "y": 270 }, "facing=north,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left", + "model": "twilightforest:block/twilight_oak_door_bottom_left", "y": 270 }, "facing=north,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open" + "model": "twilightforest:block/twilight_oak_door_bottom_left_open" }, "facing=north,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right", + "model": "twilightforest:block/twilight_oak_door_bottom_right", "y": 270 }, "facing=north,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open", + "model": "twilightforest:block/twilight_oak_door_bottom_right_open", "y": 180 }, "facing=north,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left", + "model": "twilightforest:block/twilight_oak_door_top_left", "y": 270 }, "facing=north,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left_open" + "model": "twilightforest:block/twilight_oak_door_top_left_open" }, "facing=north,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right", + "model": "twilightforest:block/twilight_oak_door_top_right", "y": 270 }, "facing=north,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right_open", + "model": "twilightforest:block/twilight_oak_door_top_right_open", "y": 180 }, "facing=south,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left", + "model": "twilightforest:block/twilight_oak_door_bottom_left", "y": 90 }, "facing=south,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open", + "model": "twilightforest:block/twilight_oak_door_bottom_left_open", "y": 180 }, "facing=south,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right", + "model": "twilightforest:block/twilight_oak_door_bottom_right", "y": 90 }, "facing=south,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open" + "model": "twilightforest:block/twilight_oak_door_bottom_right_open" }, "facing=south,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left", + "model": "twilightforest:block/twilight_oak_door_top_left", "y": 90 }, "facing=south,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left_open", + "model": "twilightforest:block/twilight_oak_door_top_left_open", "y": 180 }, "facing=south,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right", + "model": "twilightforest:block/twilight_oak_door_top_right", "y": 90 }, "facing=south,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right_open" + "model": "twilightforest:block/twilight_oak_door_top_right_open" }, "facing=west,half=lower,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left", + "model": "twilightforest:block/twilight_oak_door_bottom_left", "y": 180 }, "facing=west,half=lower,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open", + "model": "twilightforest:block/twilight_oak_door_bottom_left_open", "y": 270 }, "facing=west,half=lower,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right", + "model": "twilightforest:block/twilight_oak_door_bottom_right", "y": 180 }, "facing=west,half=lower,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open", + "model": "twilightforest:block/twilight_oak_door_bottom_right_open", "y": 90 }, "facing=west,half=upper,hinge=left,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left", + "model": "twilightforest:block/twilight_oak_door_top_left", "y": 180 }, "facing=west,half=upper,hinge=left,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_left_open", + "model": "twilightforest:block/twilight_oak_door_top_left_open", "y": 270 }, "facing=west,half=upper,hinge=right,open=false": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right", + "model": "twilightforest:block/twilight_oak_door_top_right", "y": 180 }, "facing=west,half=upper,hinge=right,open=true": { - "model": "twilightforest:block/wood/door/twilight_oak/twilight_oak_door_top_right_open", + "model": "twilightforest:block/twilight_oak_door_top_right_open", "y": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence.json index 46e4e62031..62c9d3e02f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence.json @@ -1,133 +1,47 @@ { "multipart": [ { - "apply": [ - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_post", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_post_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_post_2" - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_post_3" - } - ] + "apply": { + "model": "twilightforest:block/twilight_oak_fence_post" + } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_3", - "uvlock": true - } - ], + "apply": { + "model": "twilightforest:block/twilight_oak_fence_side", + "uvlock": true + }, "when": { "north": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_3", - "uvlock": true, - "y": 180 - } - ], + "apply": { + "model": "twilightforest:block/twilight_oak_fence_side", + "uvlock": true, + "y": 90 + }, "when": { - "south": "true" + "east": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_3", - "uvlock": true, - "y": 270 - } - ], + "apply": { + "model": "twilightforest:block/twilight_oak_fence_side", + "uvlock": true, + "y": 180 + }, "when": { - "west": "true" + "south": "true" } }, { - "apply": [ - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence/twilight_oak/twilight_oak_fence_side_3", - "uvlock": true, - "y": 90 - } - ], + "apply": { + "model": "twilightforest:block/twilight_oak_fence_side", + "uvlock": true, + "y": 270 + }, "when": { - "east": "true" + "west": "true" } } ] diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence_gate.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence_gate.json index 3faed497b2..eb0e17b9fb 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_fence_gate.json @@ -1,372 +1,80 @@ { "variants": { - "facing=east,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3", - "uvlock": true, - "y": 180 - } - ], - "facing=south,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3", - "uvlock": true - } - ], - "facing=south,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3", - "uvlock": true - } - ], - "facing=south,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2", - "uvlock": true - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3", - "uvlock": true - } - ], - "facing=west,in_wall=false,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=false,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=false": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,in_wall=true,open=true": [ - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3", - "uvlock": true, - "y": 90 - } - ] + "facing=east,in_wall=false,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "twilightforest:block/twilight_oak_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json deleted file mode 100644 index f2cbd51321..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json deleted file mode 100644 index 405f18207c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_leaves" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json deleted file mode 100644 index 3947cde7d2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/twilight_oak_log_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/twilight_oak_log" - }, - "axis=z": { - "model": "twilightforest:block/twilight_oak_log_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_planks.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_planks.json index 16a68117d8..fef0cc473c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_planks.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_planks.json @@ -1,20 +1,7 @@ { "variants": { - "": [ - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_3" - } - ] + "": { + "model": "twilightforest:block/twilight_oak_planks" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_pressure_plate.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_pressure_plate.json index b891fe6684..c1307bdcda 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_pressure_plate.json @@ -1,36 +1,10 @@ { "variants": { - "powered=false": [ - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3" - } - ], - "powered=true": [ - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2" - }, - { - "model": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3" - } - ] + "powered=false": { + "model": "twilightforest:block/twilight_oak_pressure_plate" + }, + "powered=true": { + "model": "twilightforest:block/twilight_oak_pressure_plate_down" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json deleted file mode 100644 index ff44e6a446..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_sapling" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_slab.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_slab.json index 89e9f14ecc..0b97d304ca 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_slab.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_slab.json @@ -1,60 +1,13 @@ { "variants": { - "type=bottom": [ - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_2" - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_3" - } - ], - "type=double": [ - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_2" - }, - { - "model": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks_3" - } - ], - "type=top": [ - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab_3", - "uvlock": true, - "x": 180 - } - ] + "type=bottom": { + "model": "twilightforest:block/twilight_oak_slab" + }, + "type=double": { + "model": "twilightforest:block/twilight_oak_planks" + }, + "type=top": { + "model": "twilightforest:block/twilight_oak_slab_top" + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json index 9f6d242e12..a6b4a14417 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json @@ -1,984 +1,209 @@ { "variants": { - "facing=east,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3" - } - ], - "facing=east,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=east,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3" - } - ], - "facing=east,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2" - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3" - } - ], - "facing=east,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=east,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=east,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=north,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=north,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180 - } - ], - "facing=north,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=south,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2" - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3" - } - ], - "facing=south,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "weight": 10 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2" - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3" - } - ], - "facing=south,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=south,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=south,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "x": 180, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 90 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 90 - } - ], - "facing=west,half=bottom,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=bottom,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=inner_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=outer_left": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ], - "facing=west,half=top,shape=outer_right": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2", - "uvlock": true, - "x": 180, - "y": 270 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3", - "uvlock": true, - "x": 180, - "y": 270 - } - ], - "facing=west,half=top,shape=straight": [ - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_1", - "uvlock": true, - "weight": 10, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_2", - "uvlock": true, - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs_3", - "uvlock": true, - "x": 180, - "y": 180 - } - ] + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/twilight_oak_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/twilight_oak_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/twilight_oak_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json index cb3b39f4ed..105d4c612c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json @@ -1,66 +1,67 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom", + "model": "twilightforest:block/twilight_oak_trapdoor_bottom", "y": 90 }, "facing=east,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top", + "model": "twilightforest:block/twilight_oak_trapdoor_top", "y": 90 }, "facing=east,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "x": 180, "y": 270 }, "facing=north,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom" + "model": "twilightforest:block/twilight_oak_trapdoor_bottom" }, "facing=north,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open" + "model": "twilightforest:block/twilight_oak_trapdoor_open" }, "facing=north,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top" + "model": "twilightforest:block/twilight_oak_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "x": 180, "y": 180 }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom", + "model": "twilightforest:block/twilight_oak_trapdoor_bottom", "y": 180 }, "facing=south,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top", + "model": "twilightforest:block/twilight_oak_trapdoor_top", "y": 180 }, "facing=south,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", - "x": 180 + "model": "twilightforest:block/twilight_oak_trapdoor_open", + "x": 180, + "y": 0 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom", + "model": "twilightforest:block/twilight_oak_trapdoor_bottom", "y": 270 }, "facing=west,half=bottom,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top", + "model": "twilightforest:block/twilight_oak_trapdoor_top", "y": 270 }, "facing=west,half=top,open=true": { - "model": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open", + "model": "twilightforest:block/twilight_oak_trapdoor_open", "x": 180, "y": 90 } diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapped_chest.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapped_chest.json deleted file mode 100644 index 4ae609baa6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapped_chest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_trapped_chest" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json deleted file mode 100644 index 9f0d3884ce..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/twilight_oak_wall_hanging_sign" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json deleted file mode 100644 index 042b463434..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/twilight_oak_wood_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/twilight_oak_wood" - }, - "axis=z": { - "model": "twilightforest:block/twilight_oak_wood_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json deleted file mode 100644 index 486562246c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/twilight_portal" - } - }, - { - "apply": { - "model": "twilightforest:block/twilight_portal_barrier" - }, - "when": { - "is_one_way": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json deleted file mode 100644 index 994d52dd3a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "twilightforest:block/miniature/portal", - "y": 90 - }, - "facing=north": { - "model": "twilightforest:block/miniature/portal" - }, - "facing=south": { - "model": "twilightforest:block/miniature/portal", - "y": 180 - }, - "facing=west": { - "model": "twilightforest:block/miniature/portal", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_wall_sign.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_wall_sign.json index f173abcb85..6abb68ae62 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_wall_sign.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_wall_sign.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "twilightforest:block/twilight_wall_sign" + "model": "twilightforest:block/twilight_oak_sign" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json deleted file mode 100644 index 0fa02cc1ef..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "twilightforest:block/twisted_stone_horizontal", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "twilightforest:block/twisted_stone" - }, - "axis=z": { - "model": "twilightforest:block/twisted_stone_horizontal", - "x": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json deleted file mode 100644 index bd81563921..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/pillar/pillar_base", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_top", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x", - "east": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_bottom", - "x": 90, - "y": 90 - }, - "when": { - "axis": "x", - "west": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_up", - "x": 90, - "y": 90 - }, - "when": { - "axis": "y|z", - "east": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_down", - "x": 90, - "y": 90 - }, - "when": { - "axis": "y|z", - "west": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_base" - }, - "when": { - "axis": "y" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_top" - }, - "when": { - "axis": "y", - "up": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_bottom" - }, - "when": { - "axis": "y", - "down": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_up" - }, - "when": { - "axis": "x|z", - "up": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_down" - }, - "when": { - "axis": "x|z", - "down": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_base", - "x": 90 - }, - "when": { - "axis": "z" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_top", - "x": 90 - }, - "when": { - "axis": "z", - "north": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_bottom", - "x": 90 - }, - "when": { - "axis": "z", - "south": "false" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_up", - "x": 90 - }, - "when": { - "axis": "x|y", - "north": "true" - } - }, - { - "apply": { - "model": "twilightforest:block/pillar/pillar_down", - "x": 90 - }, - "when": { - "axis": "x|y", - "south": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json b/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json deleted file mode 100644 index 793558b465..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/uberous_soil" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json deleted file mode 100644 index f231e31845..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/vanishing_block" - }, - "active=true": { - "model": "twilightforest:block/vanishing_block_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json b/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json deleted file mode 100644 index ffc8d13139..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "powered=false": { - "model": "twilightforest:block/uncrafting_table" - }, - "powered=true": { - "model": "twilightforest:block/uncrafting_table_glowing" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/underbrick.json deleted file mode 100644 index 33ede8a37a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/underbrick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/underbrick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json b/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json deleted file mode 100644 index 2efbd9dab0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/underbrick_floor" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json b/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json deleted file mode 100644 index 22661489b3..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/unripe_trollber" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json deleted file mode 100644 index fab51f8dc9..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/boss_spawner" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_wall_trophy.json b/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_wall_trophy.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_wall_trophy.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json b/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json deleted file mode 100644 index 313af8ccd6..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json deleted file mode 100644 index f231e31845..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "active=false": { - "model": "twilightforest:block/vanishing_block" - }, - "active=true": { - "model": "twilightforest:block/vanishing_block_active" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json deleted file mode 100644 index 42bf1edd06..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "active=false,vanish=false": { - "model": "twilightforest:block/violet_castle_door" - }, - "active=false,vanish=true": { - "model": "twilightforest:block/violet_castle_door_vanished" - }, - "active=true,vanish=false": { - "model": "twilightforest:block/violet_castle_door" - }, - "active=true,vanish=true": { - "model": "twilightforest:block/violet_castle_door_vanished" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json deleted file mode 100644 index 057df861ac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/castle_rune_brick_0" - }, - { - "model": "twilightforest:block/castle_rune_brick_1" - }, - { - "model": "twilightforest:block/castle_rune_brick_2" - }, - { - "model": "twilightforest:block/castle_rune_brick_3" - }, - { - "model": "twilightforest:block/castle_rune_brick_4" - }, - { - "model": "twilightforest:block/castle_rune_brick_5" - }, - { - "model": "twilightforest:block/castle_rune_brick_6" - }, - { - "model": "twilightforest:block/castle_rune_brick_7" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json deleted file mode 100644 index 1c1434f407..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/violet_force_field" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json b/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json deleted file mode 100644 index 55fde437ca..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "variants": { - "extended=false,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected", - "y": 270 - }, - "extended=false,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short", - "y": 270 - }, - "extended=false,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall", - "y": 270 - }, - "extended=false,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected", - "y": 180 - }, - "extended=false,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short", - "y": 180 - }, - "extended=false,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall", - "y": 180 - }, - "extended=false,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected" - }, - "extended=false,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short" - }, - "extended=false,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall" - }, - "extended=false,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected", - "y": 90 - }, - "extended=false,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short", - "y": 90 - }, - "extended=false,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall", - "y": 90 - }, - "extended=true,facing=east,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected_extended", - "y": 270 - }, - "extended=true,facing=east,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short_extended", - "y": 270 - }, - "extended=true,facing=east,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall_extended", - "y": 270 - }, - "extended=true,facing=north,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected_extended", - "y": 180 - }, - "extended=true,facing=north,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short_extended", - "y": 180 - }, - "extended=true,facing=north,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall_extended", - "y": 180 - }, - "extended=true,facing=south,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected_extended" - }, - "extended=true,facing=south,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short_extended" - }, - "extended=true,facing=south,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall_extended" - }, - "extended=true,facing=west,shape=connected": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_connected_extended", - "y": 90 - }, - "extended=true,facing=west,shape=short": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_short_extended", - "y": 90 - }, - "extended=true,facing=west,shape=tall": { - "model": "twilightforest:block/wood/banister/warped/warped_banister_tall_extended", - "y": 90 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json deleted file mode 100644 index c1410b8a18..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/weathered_deadrock" - }, - { - "model": "twilightforest:block/weathered_deadrock", - "y": 90 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "y": 180 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 90 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 90, - "y": 90 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 90, - "y": 180 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 180 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 180, - "y": 90 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 180, - "y": 180 - }, - { - "model": "twilightforest:block/weathered_deadrock", - "x": 270, - "y": 270 - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json deleted file mode 100644 index eb60991e17..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/wispy_cloud" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json deleted file mode 100644 index 87e3c4b875..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/worn_castle_brick" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json deleted file mode 100644 index 2fcac84671..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner" - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer" - }, - "facing=east,half=bottom,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs" - }, - "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=east,half=top,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "x": 180 - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 270 - }, - "facing=north,half=bottom,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "y": 270 - }, - "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180 - }, - "facing=north,half=top,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner" - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer" - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=south,half=bottom,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "y": 90 - }, - "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=south,half=top,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 90 - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "y": 180 - }, - "facing=west,half=bottom,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "y": 180 - }, - "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_inner", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 180 - }, - "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/worn_castle_brick_stairs_outer", - "uvlock": true, - "x": 180, - "y": 270 - }, - "facing=west,half=top,shape=straight": { - "model": "twilightforest:block/worn_castle_brick_stairs", - "uvlock": true, - "x": 180, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json b/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json deleted file mode 100644 index 1f8cf71172..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_post" - }, - "when": { - "post": "post" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_post_capped" - }, - "when": { - "post": "capped" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_full" - }, - "when": { - "north_fence": "full" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_top" - }, - "when": { - "north_fence": "top" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_middle" - }, - "when": { - "north_fence": "middle" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_bottom" - }, - "when": { - "north_fence": "bottom" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_full", - "y": 90 - }, - "when": { - "east_fence": "full" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_top", - "y": 90 - }, - "when": { - "east_fence": "top" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_middle", - "y": 90 - }, - "when": { - "east_fence": "middle" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_bottom", - "y": 90 - }, - "when": { - "east_fence": "bottom" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_full", - "y": 180 - }, - "when": { - "south_fence": "full" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_top", - "y": 180 - }, - "when": { - "south_fence": "top" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_middle", - "y": 180 - }, - "when": { - "south_fence": "middle" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_bottom", - "y": 180 - }, - "when": { - "south_fence": "bottom" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_full", - "y": 270 - }, - "when": { - "west_fence": "full" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_top", - "y": 270 - }, - "when": { - "west_fence": "top" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_middle", - "y": 270 - }, - "when": { - "west_fence": "middle" - } - }, - { - "apply": { - "model": "twilightforest:block/wrought_iron_fence_bottom", - "y": 270 - }, - "when": { - "west_fence": "bottom" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json deleted file mode 100644 index f9201e6165..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "active=false,vanish=false": { - "model": "twilightforest:block/yellow_castle_door" - }, - "active=false,vanish=true": { - "model": "twilightforest:block/yellow_castle_door_vanished" - }, - "active=true,vanish=false": { - "model": "twilightforest:block/yellow_castle_door" - }, - "active=true,vanish=true": { - "model": "twilightforest:block/yellow_castle_door_vanished" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json deleted file mode 100644 index 057df861ac..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "twilightforest:block/castle_rune_brick_0" - }, - { - "model": "twilightforest:block/castle_rune_brick_1" - }, - { - "model": "twilightforest:block/castle_rune_brick_2" - }, - { - "model": "twilightforest:block/castle_rune_brick_3" - }, - { - "model": "twilightforest:block/castle_rune_brick_4" - }, - { - "model": "twilightforest:block/castle_rune_brick_5" - }, - { - "model": "twilightforest:block/castle_rune_brick_6" - }, - { - "model": "twilightforest:block/castle_rune_brick_7" - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/zombie_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/zombie_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/zombie_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/zombie_wall_skull_candle.json b/src/generated/resources/assets/twilightforest/blockstates/zombie_wall_skull_candle.json deleted file mode 100644 index 3951e3eea5..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/zombie_wall_skull_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "minecraft:block/skull" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_button.json b/src/generated/resources/assets/twilightforest/items/canopy_button.json new file mode 100644 index 0000000000..a5adea5efc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_door.json b/src/generated/resources/assets/twilightforest/items/canopy_door.json new file mode 100644 index 0000000000..485fdc8e8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_fence.json b/src/generated/resources/assets/twilightforest/items/canopy_fence.json new file mode 100644 index 0000000000..4c098601ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_sign.json b/src/generated/resources/assets/twilightforest/items/canopy_sign.json new file mode 100644 index 0000000000..78d2cb7740 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_slab.json b/src/generated/resources/assets/twilightforest/items/canopy_slab.json new file mode 100644 index 0000000000..16919cbedd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_stairs.json b/src/generated/resources/assets/twilightforest/items/canopy_stairs.json new file mode 100644 index 0000000000..c1ec3e85e2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_trapdoor.json b/src/generated/resources/assets/twilightforest/items/canopy_trapdoor.json new file mode 100644 index 0000000000..18411e12e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_button.json b/src/generated/resources/assets/twilightforest/items/dark_button.json new file mode 100644 index 0000000000..ceb9e14e28 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_door.json b/src/generated/resources/assets/twilightforest/items/dark_door.json new file mode 100644 index 0000000000..26f787dbdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/dark_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_fence.json b/src/generated/resources/assets/twilightforest/items/dark_fence.json new file mode 100644 index 0000000000..cce976dfe3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_sign.json b/src/generated/resources/assets/twilightforest/items/dark_sign.json new file mode 100644 index 0000000000..60bd809aad --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/dark_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_slab.json b/src/generated/resources/assets/twilightforest/items/dark_slab.json new file mode 100644 index 0000000000..6655d9ebfa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_stairs.json b/src/generated/resources/assets/twilightforest/items/dark_stairs.json new file mode 100644 index 0000000000..ade87b594f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_trapdoor.json b/src/generated/resources/assets/twilightforest/items/dark_trapdoor.json new file mode 100644 index 0000000000..6bb216e9b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_button.json b/src/generated/resources/assets/twilightforest/items/mangrove_button.json new file mode 100644 index 0000000000..fce6090abe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_door.json b/src/generated/resources/assets/twilightforest/items/mangrove_door.json new file mode 100644 index 0000000000..e167a07edb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_fence.json b/src/generated/resources/assets/twilightforest/items/mangrove_fence.json new file mode 100644 index 0000000000..5ab97a6682 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_sign.json b/src/generated/resources/assets/twilightforest/items/mangrove_sign.json new file mode 100644 index 0000000000..e14f5d8148 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_slab.json b/src/generated/resources/assets/twilightforest/items/mangrove_slab.json new file mode 100644 index 0000000000..8bbf69ff46 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/items/mangrove_stairs.json new file mode 100644 index 0000000000..2326bdd953 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_trapdoor.json b/src/generated/resources/assets/twilightforest/items/mangrove_trapdoor.json new file mode 100644 index 0000000000..38546baea2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_button.json b/src/generated/resources/assets/twilightforest/items/mining_button.json new file mode 100644 index 0000000000..3622e5dca0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_door.json b/src/generated/resources/assets/twilightforest/items/mining_door.json new file mode 100644 index 0000000000..4d59cbbc2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_fence.json b/src/generated/resources/assets/twilightforest/items/mining_fence.json new file mode 100644 index 0000000000..e2927ab576 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_sign.json b/src/generated/resources/assets/twilightforest/items/mining_sign.json new file mode 100644 index 0000000000..602c86e8cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_slab.json b/src/generated/resources/assets/twilightforest/items/mining_slab.json new file mode 100644 index 0000000000..a6f0188683 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_stairs.json b/src/generated/resources/assets/twilightforest/items/mining_stairs.json new file mode 100644 index 0000000000..60be68e98b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_trapdoor.json b/src/generated/resources/assets/twilightforest/items/mining_trapdoor.json new file mode 100644 index 0000000000..f843ef4592 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_button.json b/src/generated/resources/assets/twilightforest/items/sorting_button.json new file mode 100644 index 0000000000..d2815b2b94 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_door.json b/src/generated/resources/assets/twilightforest/items/sorting_door.json new file mode 100644 index 0000000000..d182d0afbe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_fence.json b/src/generated/resources/assets/twilightforest/items/sorting_fence.json new file mode 100644 index 0000000000..a02830884e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_sign.json b/src/generated/resources/assets/twilightforest/items/sorting_sign.json new file mode 100644 index 0000000000..d6540140ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_slab.json b/src/generated/resources/assets/twilightforest/items/sorting_slab.json new file mode 100644 index 0000000000..2661ffb7cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_stairs.json b/src/generated/resources/assets/twilightforest/items/sorting_stairs.json new file mode 100644 index 0000000000..dd446c685d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_trapdoor.json b/src/generated/resources/assets/twilightforest/items/sorting_trapdoor.json new file mode 100644 index 0000000000..bc65e2168b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_button.json b/src/generated/resources/assets/twilightforest/items/time_button.json new file mode 100644 index 0000000000..fc780fd8d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_door.json b/src/generated/resources/assets/twilightforest/items/time_door.json new file mode 100644 index 0000000000..07a386f3d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_fence.json b/src/generated/resources/assets/twilightforest/items/time_fence.json new file mode 100644 index 0000000000..f32a8f10da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_sign.json b/src/generated/resources/assets/twilightforest/items/time_sign.json new file mode 100644 index 0000000000..d93e28bec0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_slab.json b/src/generated/resources/assets/twilightforest/items/time_slab.json new file mode 100644 index 0000000000..0e1c948e7e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_stairs.json b/src/generated/resources/assets/twilightforest/items/time_stairs.json new file mode 100644 index 0000000000..f9d143e2c8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_trapdoor.json b/src/generated/resources/assets/twilightforest/items/time_trapdoor.json new file mode 100644 index 0000000000..f2a9392118 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_button.json b/src/generated/resources/assets/twilightforest/items/transformation_button.json new file mode 100644 index 0000000000..1fc61b27a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_door.json b/src/generated/resources/assets/twilightforest/items/transformation_door.json new file mode 100644 index 0000000000..447a1bc4ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_fence.json b/src/generated/resources/assets/twilightforest/items/transformation_fence.json new file mode 100644 index 0000000000..b94191d512 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_sign.json b/src/generated/resources/assets/twilightforest/items/transformation_sign.json new file mode 100644 index 0000000000..a28ae8ee44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_slab.json b/src/generated/resources/assets/twilightforest/items/transformation_slab.json new file mode 100644 index 0000000000..a32ae59746 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_stairs.json b/src/generated/resources/assets/twilightforest/items/transformation_stairs.json new file mode 100644 index 0000000000..7311e99dd2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_trapdoor.json b/src/generated/resources/assets/twilightforest/items/transformation_trapdoor.json new file mode 100644 index 0000000000..c44ecf324d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_button.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_button.json new file mode 100644 index 0000000000..0997af8a50 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_button.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_button_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_door.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_door.json new file mode 100644 index 0000000000..e527dbaeaf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_fence.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_fence.json new file mode 100644 index 0000000000..b13d9a133e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_fence_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_sign.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_sign.json new file mode 100644 index 0000000000..e9035a15e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_slab.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_slab.json new file mode 100644 index 0000000000..b7fc5086e7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_slab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_stairs.json new file mode 100644 index 0000000000..8972de10bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_trapdoor.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_trapdoor.json new file mode 100644 index 0000000000..0966b6ea3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_trapdoor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_trapdoor_bottom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json new file mode 100644 index 0000000000..a80ee3970d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:block/alpha_yeti_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json deleted file mode 100644 index c3c89e231f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_antibuilder", - "all2": "twilightforest:block/tower_device_level_1/towerdev_antibuilder_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_antibuilder_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json index aea2152e2a..379b77656c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json @@ -1,130 +1,6 @@ { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "shade": false, - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom2", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east2", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north2", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south2", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top2", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west2", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", + "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/towerdev_antibuilt", - "all2": "twilightforest:block/tower_device_level_2/towerdev_antibuilt_1", - "bottom": "#all", - "bottom2": "#all2", - "east": "#all", - "east2": "#all2", - "north": "#all", - "north2": "#all2", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "top": "#all", - "top2": "#all2", - "west": "#all", - "west2": "#all2" + "all": "twilightforest:block/antibuilt_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json b/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json index 5a126d340c..18daa46a3e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json @@ -1,11 +1,6 @@ { - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:arctic_fur_block" - ], - "loader": "twilightforest:connected_texture_block", + "parent": "minecraft:block/cube_all", "textures": { - "overlay_connected": "twilightforest:block/arctic_fur_block_ctm", - "overlay_texture": "twilightforest:block/arctic_fur_block" + "all": "twilightforest:block/arctic_fur_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block.json index cd7ca6d63b..90c983a161 100644 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block.json @@ -1,22 +1,6 @@ { - "parent": "minecraft:block/block", - "loader": "twilightforest:noise_varying", - "variants": [ - "twilightforest:block/aurora_block_0", - "twilightforest:block/aurora_block_1", - "twilightforest:block/aurora_block_2", - "twilightforest:block/aurora_block_3", - "twilightforest:block/aurora_block_4", - "twilightforest:block/aurora_block_5", - "twilightforest:block/aurora_block_6", - "twilightforest:block/aurora_block_7", - "twilightforest:block/aurora_block_8", - "twilightforest:block/aurora_block_9", - "twilightforest:block/aurora_block_10", - "twilightforest:block/aurora_block_11", - "twilightforest:block/aurora_block_12", - "twilightforest:block/aurora_block_13", - "twilightforest:block/aurora_block_14", - "twilightforest:block/aurora_block_15" - ] + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/aurora_block" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json deleted file mode 100644 index ef7379347f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_0", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json deleted file mode 100644 index f0ce97de95..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_1", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json deleted file mode 100644 index 2021c26853..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_10", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json deleted file mode 100644 index 222bbb9b0e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_11", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json deleted file mode 100644 index a424868c3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_12", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json deleted file mode 100644 index 0855e1ae5c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_13", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json deleted file mode 100644 index 8eed929325..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_14", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json deleted file mode 100644 index f8dff75295..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_15", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json deleted file mode 100644 index 3628664eb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_2", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json deleted file mode 100644 index 3805b21bc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_3", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json deleted file mode 100644 index a967a8facf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_4", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json deleted file mode 100644 index 2ad883e44f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_5", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json deleted file mode 100644 index f49486ef48..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_6", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json deleted file mode 100644 index 1c063682bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_7", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json deleted file mode 100644 index baf05c5444..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_8", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json deleted file mode 100644 index 6bc49c6018..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/aurora_block_9", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json b/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json deleted file mode 100644 index cf443253ff..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "down": "#end", - "east": "#side", - "end": "twilightforest:block/aurora_pillar_top", - "north": "#side", - "particle": "#north", - "side": "twilightforest:block/aurora_pillar", - "south": "#side", - "up": "#end", - "west": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json b/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json deleted file mode 100644 index b87b61d80b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#side", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#side", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#side", - "tintindex": 0 - }, - "up": { - "texture": "#top", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#side", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 8, - 16 - ] - } - ], - "textures": { - "bottom": "twilightforest:block/aurora_pillar_top", - "particle": "#side", - "side": "twilightforest:block/aurora_slab_side", - "top": "twilightforest:block/aurora_pillar_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_slab_double.json b/src/generated/resources/assets/twilightforest/models/block/aurora_slab_double.json deleted file mode 100644 index b4610132c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_slab_double.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "down": "#end", - "east": "#side", - "end": "twilightforest:block/aurora_pillar_top", - "north": "#side", - "particle": "#north", - "side": "twilightforest:block/aurora_slab_side", - "south": "#side", - "up": "#end", - "west": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json b/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json deleted file mode 100644 index 5f5c5eb225..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:auroralized_glass" - ], - "connected_texture": { - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:translucent", - "textures": { - "overlay_connected": "twilightforest:block/auroralized_glass_ct", - "overlay_texture": "twilightforest:block/auroralized_glass" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json b/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json deleted file mode 100644 index 6b26318be1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/azalea_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json deleted file mode 100644 index 3956c97b54..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json deleted file mode 100644 index e4ee5053c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door_vanished", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door_vanished" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json deleted file mode 100644 index fe72ae2287..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "parent": "minecraft:block/block", - "ambientocclusion": false, - "elements": [ - { - "condition": { - "direction": "west", - "if": true, - "parents": [] - }, - "faces": { - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "west", - "if": false, - "parents": [] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": true, - "parents": [] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": false, - "parents": [] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": true, - "parents": [] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": false, - "parents": [] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": true, - "parents": [] - }, - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": false, - "parents": [] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north", - "if": true, - "parents": [] - }, - "faces": { - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north", - "if": false, - "parents": [] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south", - "if": true, - "parents": [] - }, - "faces": { - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south", - "if": false, - "parents": [] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": true, - "parents": [ - "down", - "west" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 0, - 0, - 7 - ], - "shade": false, - "to": [ - 7, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": true, - "parents": [ - "down", - "east" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 9, - 0, - 7 - ], - "shade": false, - "to": [ - 16, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": true, - "parents": [ - "down", - "north" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 0 - ], - "shade": false, - "to": [ - 9, - 7, - 7 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "down_south", - "if": true, - "parents": [ - "down", - "south" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 9 - ], - "shade": false, - "to": [ - 9, - 7, - 16 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "up_west", - "if": true, - "parents": [ - "up", - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 0, - 9, - 7 - ], - "shade": false, - "to": [ - 7, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": true, - "parents": [ - "up", - "east" - ] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 9, - 7 - ], - "shade": false, - "to": [ - 16, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": true, - "parents": [ - "up", - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 0 - ], - "shade": false, - "to": [ - 9, - 16, - 7 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "up_south", - "if": true, - "parents": [ - "up", - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 9 - ], - "shade": false, - "to": [ - 9, - 16, - 16 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "north_west", - "if": true, - "parents": [ - "north", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 0 - ], - "shade": false, - "to": [ - 7, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north_east", - "if": true, - "parents": [ - "north", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 0 - ], - "shade": false, - "to": [ - 16, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_west", - "if": true, - "parents": [ - "south", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 9 - ], - "shade": false, - "to": [ - 7, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_east", - "if": true, - "parents": [ - "south", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 9 - ], - "shade": false, - "to": [ - 16, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - } - ], - "loader": "twilightforest:force_field", - "render_type": "minecraft:translucent", - "textures": { - "pane": "twilightforest:block/blue_force_field", - "particle": "twilightforest:block/blue_force_field" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json deleted file mode 100644 index 4255e437b6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/bold_castle_brick_pillar_end", - "side": "twilightforest:block/bold_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_x.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_x.json deleted file mode 100644 index 2962bf0e52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_x.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_correct_x", - "textures": { - "end": "twilightforest:block/bold_castle_brick_pillar_end", - "side": "twilightforest:block/bold_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_z.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_z.json deleted file mode 100644 index fc90e894ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_z.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_correct_z", - "textures": { - "end": "twilightforest:block/bold_castle_brick_pillar_end", - "side": "twilightforest:block/bold_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json deleted file mode 100644 index bae5746ac8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/bold_castle_brick_tile", - "side": "twilightforest:block/bold_castle_brick_tile", - "top": "twilightforest:block/bold_castle_brick_tile" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner.json deleted file mode 100644 index 3b413338aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/bold_castle_brick_tile", - "side": "twilightforest:block/bold_castle_brick_tile", - "top": "twilightforest:block/bold_castle_brick_tile" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer.json deleted file mode 100644 index b7604f8996..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/bold_castle_brick_tile", - "side": "twilightforest:block/bold_castle_brick_tile", - "top": "twilightforest:block/bold_castle_brick_tile" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json deleted file mode 100644 index 6ff9a45057..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/bold_castle_brick_tile" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json deleted file mode 100644 index dcb983fca4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_pillar_end", - "side": "twilightforest:block/stone_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json deleted file mode 100644 index 3e9e404ffc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stone_pillar_end", - "side": "twilightforest:block/stone_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/boss_spawner.json deleted file mode 100644 index a55b59cc31..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/boss_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/spawner", - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/boss_spawner" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brazier.json b/src/generated/resources/assets/twilightforest/models/block/brazier.json deleted file mode 100644 index 46cfb0fbdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brazier.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns.json deleted file mode 100644 index f1d233108c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_main", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/brown_thorns_top", - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json deleted file mode 100644 index 95eb3f5a65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_bottom", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/brown_thorns_top", - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json deleted file mode 100644 index 3828a2613c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json deleted file mode 100644 index 6f7064dc68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section_alt", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json deleted file mode 100644 index 9b3886f6d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json deleted file mode 100644 index 2eeeec976b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_top", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/brown_thorns_top", - "side": "twilightforest:block/brown_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block.json b/src/generated/resources/assets/twilightforest/models/block/built_block.json deleted file mode 100644 index ceb9b1a97a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/built_block.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "shade": false, - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_built_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_builder_off_1", - "bottom": "#all", - "bottom2": "#all2", - "east": "#all", - "east2": "#all2", - "north": "#all", - "north2": "#all2", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "top": "#all", - "top2": "#all2", - "west": "#all", - "west2": "#all2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block_active.json b/src/generated/resources/assets/twilightforest/models/block/built_block_active.json deleted file mode 100644 index 948c275dc8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/built_block_active.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "shade": false, - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_built_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_builder_on_1", - "bottom": "#all", - "bottom2": "#all2", - "east": "#all", - "east2": "#all2", - "north": "#all", - "north2": "#all2", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "top": "#all", - "top2": "#all2", - "west": "#all", - "west2": "#all2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns.json deleted file mode 100644 index e07dabe882..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_main", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/burnt_thorns_top", - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json deleted file mode 100644 index dfb94c281a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_bottom", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/burnt_thorns_top", - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json deleted file mode 100644 index c1fa487152..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json deleted file mode 100644 index 290db581c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section_alt", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json deleted file mode 100644 index 848bb20ff2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json deleted file mode 100644 index 993dacf0c7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_top", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/burnt_thorns_top", - "side": "twilightforest:block/burnt_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/candelabra.json b/src/generated/resources/assets/twilightforest/models/block/candelabra.json deleted file mode 100644 index 943293031e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/candelabra.json +++ /dev/null @@ -1,346 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 16.0, - 0.0, - 0.0, - 6.0 - ] - } - }, - "from": [ - 0, - 1, - 8 - ], - "to": [ - 16, - 7, - 8 - ] - }, - { - "faces": { - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 6.0, - 6.0, - 12.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 6.0, - 6.0, - 0.0, - 12.0 - ] - } - }, - "from": [ - 8, - 1, - 5 - ], - "to": [ - 8, - 7, - 11 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 1, - 7, - 6 - ], - "to": [ - 5, - 8, - 10 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 6, - 7, - 6 - ], - "to": [ - 10, - 8, - 10 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 11, - 7, - 6 - ], - "to": [ - 15, - 8, - 10 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 6, - 0, - 6 - ], - "to": [ - 10, - 1, - 10 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "candelabra": "twilightforest:block/candelabra", - "particle": "#candelabra" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json deleted file mode 100644 index e5cf295ecd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/bookshelf_canopy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_1.json b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_1.json deleted file mode 100644 index 8fc7299bed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/bookshelf_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_2.json b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_2.json deleted file mode 100644 index 24f2ee86a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/bookshelf_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_3.json deleted file mode 100644 index 3515ee4558..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf_3.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/bookshelf_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_button.json index d80c60cc4f..177261ac6a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_button.json b/src/generated/resources/assets/twilightforest/models/block/canopy_button_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/sorting_button.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_button_inventory.json index b5c3f85cee..622039c612 100644 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_button_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_button_pressed.json index c5d4e98c4f..a6f1d2d7db 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_chest.json b/src/generated/resources/assets/twilightforest/models/block/canopy_chest.json deleted file mode 100644 index 46cfb0fbdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json new file mode 100644 index 0000000000..6713b6cc6c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json new file mode 100644 index 0000000000..ab7af39bbe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json new file mode 100644 index 0000000000..b0b61b17cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json new file mode 100644 index 0000000000..eb1ff18fc9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json new file mode 100644 index 0000000000..c527ed44bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json new file mode 100644 index 0000000000..808082461e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json new file mode 100644 index 0000000000..171ff32474 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json new file mode 100644 index 0000000000..1093ba9b2d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/canopy_door_bottom", + "top": "twilightforest:block/canopy_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate.json index 9f92bac7f6..554ce876f0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_open.json index e92d0ec9e7..e2cffd1e12 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall.json index ba47fb519f..f673dc7226 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall_open.json index 3ea81ce3ae..c3a79fd04f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_fence.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/sorting_fence.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_inventory.json index e70b125828..18235a411e 100644 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_fence.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_post.json index df65c5b3ad..b1f9de6a7c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_fence_side.json index b8e6bfe99e..8c5267fc96 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json deleted file mode 100644 index c0180b7c05..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json deleted file mode 100644 index fe8ae0dd7d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "minecraft:block/spruce_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log.json deleted file mode 100644 index c5c9ae6665..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/canopy_log_top", - "side": "twilightforest:block/canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json deleted file mode 100644 index c4366a02ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/canopy_log_top", - "side": "twilightforest:block/canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/canopy_planks.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/castle_brick.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_planks.json index 5304b6e112..aeef6610fc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/castle_brick.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/castle_brick" + "all": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate.json index cfe67349ca..7ce170b23a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_3.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate_down.json index ea2aeb1873..9e1b55150a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_3.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" + "texture": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json deleted file mode 100644 index cfa9b53ef5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/canopy_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_sign.json index 46cfb0fbdc..0b31c7a27e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" + "particle": "twilightforest:block/canopy_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_slab.json b/src/generated/resources/assets/twilightforest/models/block/canopy_slab.json new file mode 100644 index 0000000000..eb1a7f4294 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_planks", + "top": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/canopy_slab_top.json new file mode 100644 index 0000000000..ddadd48163 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_planks", + "top": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_stairs.json b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs.json new file mode 100644 index 0000000000..79569962a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_planks", + "top": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json new file mode 100644 index 0000000000..10f7f37f70 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_planks", + "top": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json new file mode 100644 index 0000000000..e2db86996e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_planks", + "top": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json new file mode 100644 index 0000000000..ead61e779e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/canopy_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json new file mode 100644 index 0000000000..4fa8d9a519 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/canopy_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json new file mode 100644 index 0000000000..5b7d7dfb46 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/canopy_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapped_chest.json deleted file mode 100644 index 46cfb0fbdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wall_hanging_sign.json deleted file mode 100644 index c0180b7c05..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wall_sign.json deleted file mode 100644 index 46cfb0fbdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window.json deleted file mode 100644 index bb2ee8787d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json deleted file mode 100644 index 7b9866e4a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_glass_pane_noside", - "render_type": "minecraft:cutout", - "textures": { - "pane": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json deleted file mode 100644 index 91d7f366d3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_glass_pane_noside_alt", - "render_type": "minecraft:cutout", - "textures": { - "pane": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json deleted file mode 100644 index 65e9b4a21c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/template_glass_pane_post", - "render_type": "minecraft:cutout", - "textures": { - "edge": "twilightforest:block/canopy_window", - "pane": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json deleted file mode 100644 index 5dd97e3a99..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/template_glass_pane_side", - "render_type": "minecraft:cutout", - "textures": { - "edge": "twilightforest:block/canopy_window", - "pane": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json deleted file mode 100644 index 4e388a08c9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/template_glass_pane_side_alt", - "render_type": "minecraft:cutout", - "textures": { - "edge": "twilightforest:block/canopy_window", - "pane": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json deleted file mode 100644 index 311e20c723..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/canopy_log", - "side": "twilightforest:block/canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wood_horizontal.json deleted file mode 100644 index 70091cfe98..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/canopy_log", - "side": "twilightforest:block/canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_block.json b/src/generated/resources/assets/twilightforest/models/block/carminite_block.json deleted file mode 100644 index fa83377ea9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_block.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#east" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#north" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#south" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#top" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 4, - "sky_light": 4 - }, - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#bottom2", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#east2", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#north2", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#south2", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#top2", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#west2", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/carminite_block", - "all2": "twilightforest:block/carminite_block_overlay", - "bottom": "#all", - "bottom2": "#all2", - "east": "#all", - "east2": "#all2", - "north": "#all", - "north2": "#all2", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "top": "#all", - "top2": "#all2", - "west": "#all", - "west2": "#all2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json deleted file mode 100644 index 2993db324f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_builder_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_builder_off_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_builder_off_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_active.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_active.json deleted file mode 100644 index 68026683df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_active.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_builder_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_builder_on_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_builder_on_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json deleted file mode 100644 index e2afb57aa0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_builder_timeout", - "all2": "twilightforest:block/tower_device_level_2/towerdev_builder_timeout_1", - "all3": "twilightforest:block/tower_device_level_3/towerdev_builder_timeout_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json b/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json deleted file mode 100644 index c60d02a3f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reactor_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_reactor_off_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_reactor_off_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_reactor_active.json b/src/generated/resources/assets/twilightforest/models/block/carminite_reactor_active.json deleted file mode 100644 index 5ca398e8d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/carminite_reactor_active.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reactor_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_reactor_on_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_reactor_on_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/casket_basalt.json b/src/generated/resources/assets/twilightforest/models/block/casket_basalt.json deleted file mode 100644 index af47f03978..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/casket_basalt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/casket_solid_template", - "textures": { - "side": "minecraft:block/basalt_side", - "top": "minecraft:block/basalt_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/casket_obsidian.json b/src/generated/resources/assets/twilightforest/models/block/casket_obsidian.json deleted file mode 100644 index 7831465748..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/casket_obsidian.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/casket_solid_template", - "textures": { - "side": "minecraft:block/obsidian", - "top": "minecraft:block/obsidian" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/casket_stone.json b/src/generated/resources/assets/twilightforest/models/block/casket_stone.json deleted file mode 100644 index 0c1381020a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/casket_stone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/casket_solid_template", - "textures": { - "side": "minecraft:block/stone", - "top": "minecraft:block/stone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json deleted file mode 100644 index 117341599b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/castle_brick_stairs", - "side": "twilightforest:block/castle_brick_stairs", - "top": "twilightforest:block/castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner.json deleted file mode 100644 index 9fb5391198..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/castle_brick_stairs", - "side": "twilightforest:block/castle_brick_stairs", - "top": "twilightforest:block/castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer.json deleted file mode 100644 index 918c8fdaa2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/castle_brick_stairs", - "side": "twilightforest:block/castle_brick_stairs", - "top": "twilightforest:block/castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_0.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_0.json deleted file mode 100644 index 10f12495cf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_0.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_0", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_1.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_1.json deleted file mode 100644 index fe425caa12..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_1.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_1", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_2.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_2.json deleted file mode 100644 index 1fb7e9d289..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_2.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_2", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_3.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_3.json deleted file mode 100644 index 2e17305daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_3.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_3", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_4.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_4.json deleted file mode 100644 index c9ba0a0b7b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_4.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_4", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_5.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_5.json deleted file mode 100644 index ff90d93a9c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_5.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_5", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_6.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_6.json deleted file mode 100644 index 0d586e3238..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_6.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_6", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_7.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_7.json deleted file mode 100644 index 5c63b50ce6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_brick_7.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "brick": { - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_brick" - } - }, - "runes": { - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_7", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } - } - }, - "item_render_order": [ - "brick", - "runes" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "twilightforest:block/castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_inventory.json b/src/generated/resources/assets/twilightforest/models/block/castle_rune_inventory.json deleted file mode 100644 index 50462e4938..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_inventory.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "shade": false, - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castle_brick", - "all2": "twilightforest:block/castleblock_magic_0", - "bottom": "#all", - "bottom2": "#all2", - "east": "#all", - "east2": "#all2", - "north": "#all", - "north2": "#all2", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "top": "#all", - "top2": "#all2", - "west": "#all", - "west2": "#all2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_0.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_0.json deleted file mode 100644 index 93ccde691d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_0.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_0", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_1.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_1.json deleted file mode 100644 index 720976c04f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_1.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_1", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_2.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_2.json deleted file mode 100644 index 8ab65c02af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_2.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_2", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_3.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_3.json deleted file mode 100644 index c189c2d158..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_3.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_3", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_4.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_4.json deleted file mode 100644 index d714382bec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_4.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_4", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_5.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_5.json deleted file mode 100644 index 657a9543de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_5.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_5", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_6.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_6.json deleted file mode 100644 index 9cb1fcc6ff..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_6.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_6", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_runes_7.json b/src/generated/resources/assets/twilightforest/models/block/castle_runes_7.json deleted file mode 100644 index 64705a51e5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/castle_runes_7.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/castleblock_magic_7", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json deleted file mode 100644 index cd935a7906..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/chiseled_bookshelf", - "textures": { - "side": "twilightforest:block/wood/chiseled_canopy_bookshelf_side", - "top": "twilightforest:block/wood/chiseled_canopy_bookshelf_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json deleted file mode 100644 index 424d238e14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_left", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json deleted file mode 100644 index bce256670b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_mid", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json deleted file mode 100644 index a147aacce3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_right", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json deleted file mode 100644 index e3c1d44c76..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_left", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json deleted file mode 100644 index eea558c8c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_mid", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json deleted file mode 100644 index ec00fe41fa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_right", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json deleted file mode 100644 index 08bcc26963..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/orientable", - "textures": { - "front": "twilightforest:block/wood/chiseled_canopy_bookshelf_empty", - "side": "twilightforest:block/wood/chiseled_canopy_bookshelf_side", - "top": "twilightforest:block/wood/chiseled_canopy_bookshelf_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json deleted file mode 100644 index 9b5775cb9d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_left", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json deleted file mode 100644 index eb904b4677..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_mid", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json deleted file mode 100644 index 85d37591bf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_right", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json deleted file mode 100644 index 00f0a47a0a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_left", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json deleted file mode 100644 index b87cf67b65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_mid", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json deleted file mode 100644 index 16c14536c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_right", - "textures": { - "texture": "twilightforest:block/wood/chiseled_canopy_bookshelf_occupied" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cicada.json b/src/generated/resources/assets/twilightforest/models/block/cicada.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cicada.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_log.json b/src/generated/resources/assets/twilightforest/models/block/cinder_log.json deleted file mode 100644 index c1b02cab7f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cinder_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/cinder_log_top", - "side": "twilightforest:block/cinder_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json deleted file mode 100644 index e8961aa2b6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/cinder_log_top", - "side": "twilightforest:block/cinder_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json deleted file mode 100644 index 5946c6b673..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/carpet", - "loader": "twilightforest:royal_rags", - "textures": { - "wool": "twilightforest:block/coronation_carpet", - "wool_ctm": "twilightforest:block/coronation_carpet_ctm" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json deleted file mode 100644 index 97c0d42e4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/cracked_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json deleted file mode 100644 index 6ea3294dda..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/cracked_castle_brick_stairs", - "side": "twilightforest:block/cracked_castle_brick_stairs", - "top": "twilightforest:block/cracked_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner.json deleted file mode 100644 index 8d8c55d8a5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/cracked_castle_brick_stairs", - "side": "twilightforest:block/cracked_castle_brick_stairs", - "top": "twilightforest:block/cracked_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer.json deleted file mode 100644 index 31957467d0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/cracked_castle_brick_stairs", - "side": "twilightforest:block/cracked_castle_brick_stairs", - "top": "twilightforest:block/cracked_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json deleted file mode 100644 index 041cda4860..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/cracked_deadrock" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json deleted file mode 100644 index 0c3250806a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "side": "twilightforest:block/etched_nagastone_down_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_east.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_east.json deleted file mode 100644 index 3b0672abe8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_east.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_right_weathered", - "east": "twilightforest:block/stone_tiles_weathered", - "north": "twilightforest:block/etched_nagastone_left_weathered", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_right_weathered", - "up": "twilightforest:block/etched_nagastone_left_weathered", - "west": "twilightforest:block/stone_tiles_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_north.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_north.json deleted file mode 100644 index 2698431dfe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_north.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_up_weathered", - "east": "twilightforest:block/etched_nagastone_right_weathered", - "north": "twilightforest:block/stone_tiles_weathered", - "particle": "#down", - "south": "twilightforest:block/stone_tiles_weathered", - "up": "twilightforest:block/etched_nagastone_up_weathered", - "west": "twilightforest:block/etched_nagastone_left_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_south.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_south.json deleted file mode 100644 index 6e61724ee4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_south.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_down_weathered", - "east": "twilightforest:block/etched_nagastone_left_weathered", - "north": "twilightforest:block/stone_tiles_weathered", - "particle": "#down", - "south": "twilightforest:block/stone_tiles_weathered", - "up": "twilightforest:block/etched_nagastone_down_weathered", - "west": "twilightforest:block/etched_nagastone_right_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_up.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_up.json deleted file mode 100644 index 3f7d1545a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_up.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "side": "twilightforest:block/etched_nagastone_up_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_west.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_west.json deleted file mode 100644 index 17255883f7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone_west.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_left_weathered", - "east": "twilightforest:block/stone_tiles_weathered", - "north": "twilightforest:block/etched_nagastone_right_weathered", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_left_weathered", - "up": "twilightforest:block/etched_nagastone_right_weathered", - "west": "twilightforest:block/stone_tiles_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json deleted file mode 100644 index 8e0ef0828e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/cracked_mazestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json deleted file mode 100644 index ffa748c21e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end_weathered", - "side": "twilightforest:block/nagastone_pillar_side_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_reversed.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_reversed.json deleted file mode 100644 index 98f5a76a51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_reversed.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end_weathered", - "side": "twilightforest:block/nagastone_pillar_side_weathered_alt" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json deleted file mode 100644 index 905be7b11a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_left_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner.json deleted file mode 100644 index 0d3c90cfd8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_left_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer.json deleted file mode 100644 index 2daa4733a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_left_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json deleted file mode 100644 index 48f389e3eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_right_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner.json deleted file mode 100644 index a3431901d3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_right_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer.json deleted file mode 100644 index 9e20f1c564..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_weathered", - "middle": "twilightforest:block/nagastone_bare_weathered", - "side": "twilightforest:block/etched_nagastone_right_weathered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json deleted file mode 100644 index 4b8d1f0055..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/cracked_towerwood", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt.json b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt.json deleted file mode 100644 index e66e4b0ad3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/cracked_towerwood_alt", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt_flipped.json b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt_flipped.json deleted file mode 100644 index 7be7d8142d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_alt_flipped.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/cracked_towerwood_alt", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_flipped.json b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_flipped.json deleted file mode 100644 index 17644fcc20..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood_flipped.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/cracked_towerwood", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json deleted file mode 100644 index d0b26f024e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/cracked_underbrick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json deleted file mode 100644 index ee1eef0c5f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mazestone", - "side": "twilightforest:block/cut_mazestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_button.json index f17794a3c0..6742335b12 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_button.json b/src/generated/resources/assets/twilightforest/models/block/dark_button_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/time_button.json rename to src/generated/resources/assets/twilightforest/models/block/dark_button_inventory.json index 8bd3a32c76..57264a2c34 100644 --- a/src/generated/resources/assets/twilightforest/models/item/time_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_button_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_button_pressed.json index 0f3eb70b3b..f85d2f714a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_chest.json b/src/generated/resources/assets/twilightforest/models/block/dark_chest.json deleted file mode 100644 index ca82df65aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json new file mode 100644 index 0000000000..dde27cf5c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json new file mode 100644 index 0000000000..87fb1f00f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json new file mode 100644 index 0000000000..5f04594f9d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json new file mode 100644 index 0000000000..93cf88cb49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json new file mode 100644 index 0000000000..0d12ea727e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json new file mode 100644 index 0000000000..3d4d69b60c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json new file mode 100644 index 0000000000..792879d19e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json new file mode 100644 index 0000000000..f9c36733a4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/dark_door_bottom", + "top": "twilightforest:block/dark_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_gate.json index 0d194f3d30..caa0bb8ea4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_open.json index 0391ed4037..62cae21144 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall.json index d455150f50..f389f4a6f5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall_open.json index 7cf540d7fb..55811cc11c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_fence.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/time_fence.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_inventory.json index f36e8a7f44..174cbd4397 100644 --- a/src/generated/resources/assets/twilightforest/models/item/time_fence.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_post.json index c32d3f2468..9aca535855 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_fence_side.json index af55e0ecb3..aa70eff218 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json deleted file mode 100644 index 8bdff000dc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json deleted file mode 100644 index 411459b464..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "twilightforest:block/darkwood_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log.json b/src/generated/resources/assets/twilightforest/models/block/dark_log.json deleted file mode 100644 index 5689b6b2e6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/dark_log_top", - "side": "twilightforest:block/dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json deleted file mode 100644 index 982c782773..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/dark_log_top", - "side": "twilightforest:block/dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hedge.json b/src/generated/resources/assets/twilightforest/models/block/dark_planks.json similarity index 57% rename from src/generated/resources/assets/twilightforest/models/block/hedge.json rename to src/generated/resources/assets/twilightforest/models/block/dark_planks.json index 575d5d0ff9..80e697833f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hedge.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/hedge" + "all": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate.json index a5e2e2c374..5290c3a59f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_1.json rename to src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate_down.json index 4aca4652a1..6fdfb5209a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_1.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" + "texture": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_sign.json index ca82df65aa..f8c2958405 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" + "particle": "twilightforest:block/dark_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_slab.json b/src/generated/resources/assets/twilightforest/models/block/dark_slab.json new file mode 100644 index 0000000000..9bc96cfc00 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/dark_planks", + "side": "twilightforest:block/dark_planks", + "top": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/dark_slab_top.json new file mode 100644 index 0000000000..5eaeba8a70 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/dark_planks", + "side": "twilightforest:block/dark_planks", + "top": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_stairs.json b/src/generated/resources/assets/twilightforest/models/block/dark_stairs.json new file mode 100644 index 0000000000..a39cdec9bc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/dark_planks", + "side": "twilightforest:block/dark_planks", + "top": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json new file mode 100644 index 0000000000..61cad23988 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/dark_planks", + "side": "twilightforest:block/dark_planks", + "top": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json new file mode 100644 index 0000000000..ce7507c6df --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/dark_planks", + "side": "twilightforest:block/dark_planks", + "top": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json new file mode 100644 index 0000000000..37b2d48b3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/dark_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json new file mode 100644 index 0000000000..fb062be7da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/dark_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json new file mode 100644 index 0000000000..bf302832f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/dark_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapped_chest.json deleted file mode 100644 index ca82df65aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_wall_hanging_sign.json deleted file mode 100644 index 8bdff000dc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_wall_sign.json deleted file mode 100644 index ca82df65aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/dark_wood.json deleted file mode 100644 index 5077d4920b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/dark_log", - "side": "twilightforest:block/dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/dark_wood_horizontal.json deleted file mode 100644 index a496c0beda..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/dark_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/dark_log", - "side": "twilightforest:block/dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json deleted file mode 100644 index 7aab063098..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/darkwood_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/deadrock.json b/src/generated/resources/assets/twilightforest/models/block/deadrock.json deleted file mode 100644 index 67571829aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/deadrock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/deadrock" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json deleted file mode 100644 index ba98fb2f91..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mazestone", - "side": "twilightforest:block/decorative_mazestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json deleted file mode 100644 index 88daa891f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/encased_castle_brick_pillar_end", - "side": "twilightforest:block/encased_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_x.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_x.json deleted file mode 100644 index 44ffd23933..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_x.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_correct_x", - "textures": { - "end": "twilightforest:block/encased_castle_brick_pillar_end", - "side": "twilightforest:block/encased_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_z.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_z.json deleted file mode 100644 index 267b9c2cd5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_z.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_correct_z", - "textures": { - "end": "twilightforest:block/encased_castle_brick_pillar_end", - "side": "twilightforest:block/encased_castle_brick_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json deleted file mode 100644 index a32257f0b3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/castleblock_tile", - "middle": "twilightforest:block/castle_roof_tile", - "side": "twilightforest:block/encased_castle_brick_pillar_h" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner.json deleted file mode 100644 index 9b55193c11..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/castleblock_tile", - "middle": "twilightforest:block/castle_roof_tile", - "side": "twilightforest:block/encased_castle_brick_pillar_h" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer.json deleted file mode 100644 index 532c7c6257..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/castleblock_tile", - "middle": "twilightforest:block/castle_roof_tile", - "side": "twilightforest:block/encased_castle_brick_pillar_h" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json deleted file mode 100644 index 4016edbbde..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/encased_castle_brick_pillar_end" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json deleted file mode 100644 index b611479239..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_firejet_off", - "side2": "twilightforest:block/tower_device_level_1/towerdev_firejet_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_firejet_off_1", - "top": "twilightforest:block/towerdev_ghasttraplid_off", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1", - "top3": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json deleted file mode 100644 index 480e24cd14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_firejet_on", - "side2": "twilightforest:block/tower_device_level_1/towerdev_firejet_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_firejet_on_1", - "top": "twilightforest:block/towerdev_ghasttraplid_on", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_on_1", - "top3": "twilightforest:block/tower_device_level_3/towerdev_ghasttraplid_on_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json b/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json deleted file mode 100644 index 734866219e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_smoker_off", - "side2": "twilightforest:block/tower_device_level_1/towerdev_smoker_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_smoker_off_1", - "top": "twilightforest:block/towerdev_ghasttraplid_off", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1", - "top3": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json b/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json deleted file mode 100644 index 85cce1a199..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_firejet_on", - "side2": "twilightforest:block/tower_device_level_1/towerdev_smoker_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_smoker_on_1", - "top": "twilightforest:block/towerdev_ghasttraplid_on", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_on_1", - "top3": "twilightforest:block/tower_device_level_3/towerdev_ghasttraplid_on_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json deleted file mode 100644 index b5076ffa64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/encased_towerwood", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json deleted file mode 100644 index 04f0f7b501..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles", - "side": "twilightforest:block/etched_nagastone_down" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_east.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_east.json deleted file mode 100644 index 37049bad42..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_east.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_right", - "east": "twilightforest:block/stone_tiles", - "north": "twilightforest:block/etched_nagastone_left", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_right", - "up": "twilightforest:block/etched_nagastone_left", - "west": "twilightforest:block/stone_tiles" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_north.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_north.json deleted file mode 100644 index 59485701cf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_north.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_up", - "east": "twilightforest:block/etched_nagastone_right", - "north": "twilightforest:block/stone_tiles", - "particle": "#down", - "south": "twilightforest:block/stone_tiles", - "up": "twilightforest:block/etched_nagastone_up", - "west": "twilightforest:block/etched_nagastone_left" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_south.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_south.json deleted file mode 100644 index 11bc534d47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_south.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_down", - "east": "twilightforest:block/etched_nagastone_left", - "north": "twilightforest:block/stone_tiles", - "particle": "#down", - "south": "twilightforest:block/stone_tiles", - "up": "twilightforest:block/etched_nagastone_down", - "west": "twilightforest:block/etched_nagastone_right" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_up.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_up.json deleted file mode 100644 index 9f11091019..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_up.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles", - "side": "twilightforest:block/etched_nagastone_up" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_west.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_west.json deleted file mode 100644 index 42ac89b0af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone_west.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_left", - "east": "twilightforest:block/stone_tiles", - "north": "twilightforest:block/etched_nagastone_right", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_left", - "up": "twilightforest:block/etched_nagastone_right", - "west": "twilightforest:block/stone_tiles" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_1_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_1_8_regenerating.json deleted file mode 100644 index 2c1a4fca1a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_1_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_1_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_2_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_2_8_regenerating.json deleted file mode 100644 index dc7ae4cec3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_2_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_2_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_3_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_3_8_regenerating.json deleted file mode 100644 index 6a22b77591..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_3_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_3_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_4_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_4_8_regenerating.json deleted file mode 100644 index 0930d24475..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_4_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_4_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_5_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_5_8_regenerating.json deleted file mode 100644 index 8210803135..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_5_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_5_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_6_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_6_8_regenerating.json deleted file mode 100644 index 1e3a4e2822..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_6_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_6_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_7_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_7_8_regenerating.json deleted file mode 100644 index 765dfbfbf2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_7_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_7_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment115_8_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment115_8_8_regenerating.json deleted file mode 100644 index 97d4075cf4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/experiment115_8_8_regenerating.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/experiment115_8_8", - "textures": { - "top_2": "twilightforest:block/experiment115/experiment115_sprinkle" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json deleted file mode 100644 index 7821e3e043..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 0.2 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 0.2 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 0.2 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 0.2 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 0.2, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json deleted file mode 100644 index 24e1928436..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 2.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 2.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 2.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 2.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 2, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json deleted file mode 100644 index 310c2964dc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 4.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 4.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 4.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 4.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 4, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json deleted file mode 100644 index 72f1a63c03..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 6, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json deleted file mode 100644 index 9600a77730..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 8.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 8.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 8.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 8.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 8, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json deleted file mode 100644 index db78e1c72f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 10.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 10.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 10.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 10.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 10, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json deleted file mode 100644 index 6099af85d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 12.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 12.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 12.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 12.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 12, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json deleted file mode 100644 index 53641e0637..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 14.0 - ] - }, - "north": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 14.0 - ] - }, - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 14.0 - ] - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 16.0, - 14.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 14, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json b/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json deleted file mode 100644 index 236d56ad87..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/tinted_cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/fiddlehead" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fire_jet.json b/src/generated/resources/assets/twilightforest/models/block/fire_jet.json deleted file mode 100644 index d621a2f4a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fire_jet.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "bottom": "minecraft:block/grass_block_top", - "down": "#bottom", - "east": "#side", - "north": "#side", - "particle": "#north", - "side": "twilightforest:block/firejet_side", - "south": "#side", - "top": "twilightforest:block/firejet_top", - "up": "#top", - "west": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/firefly.json b/src/generated/resources/assets/twilightforest/models/block/firefly.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/firefly.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json deleted file mode 100644 index c2f71ed26f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/fluffy_cloud" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json b/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json deleted file mode 100644 index 3138a4b176..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_ghasttrap_off", - "side2": "twilightforest:block/tower_device_level_1/towerdev_ghasttrap_off_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_ghasttrap_off_2", - "top": "twilightforest:block/towerdev_ghasttraplid_off", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1", - "top3": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_off_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ghast_trap_active.json b/src/generated/resources/assets/twilightforest/models/block/ghast_trap_active.json deleted file mode 100644 index 415625aded..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ghast_trap_active.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#side2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15 - }, - "texture": "#side2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10 - }, - "texture": "#side3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 7, - "sky_light": 7 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#side3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/encased_towerwood", - "particle": "#bottom", - "side": "twilightforest:block/towerdev_ghasttrap_on", - "side2": "twilightforest:block/tower_device_level_1/towerdev_ghasttrap_on_1", - "side3": "twilightforest:block/tower_device_level_2/towerdev_ghasttrap_on_2", - "top": "twilightforest:block/towerdev_ghasttraplid_on", - "top2": "twilightforest:block/tower_device_level_2/towerdev_ghasttraplid_on_1", - "top3": "twilightforest:block/tower_device_level_3/towerdev_ghasttraplid_on_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json deleted file mode 100644 index 897f1dab18..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "minecraft:block/block", - "loader": "twilightforest:giant_block", - "parent_block": "minecraft:cobblestone", - "textures": { - "all": "minecraft:block/cobblestone", - "particle": "minecraft:block/cobblestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json b/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json deleted file mode 100644 index 28f794f4ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "minecraft:block/block", - "loader": "twilightforest:giant_block", - "parent_block": "minecraft:oak_leaves", - "render_type": "minecraft:cutout_mipped", - "textures": { - "all": "minecraft:block/oak_leaves", - "particle": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_log.json b/src/generated/resources/assets/twilightforest/models/block/giant_log.json deleted file mode 100644 index 0d728a48c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/giant_log.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parent": "minecraft:block/block", - "loader": "twilightforest:giant_block", - "parent_block": "minecraft:oak_log", - "textures": { - "down": "minecraft:block/oak_log_top", - "east": "minecraft:block/oak_log", - "north": "minecraft:block/oak_log", - "particle": "minecraft:block/oak_log", - "south": "minecraft:block/oak_log", - "up": "minecraft:block/oak_log_top", - "west": "minecraft:block/oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json deleted file mode 100644 index 9bbf736f4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "minecraft:block/block", - "loader": "twilightforest:giant_block", - "parent_block": "minecraft:obsidian", - "textures": { - "all": "minecraft:block/obsidian", - "particle": "minecraft:block/obsidian" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json deleted file mode 100644 index 4c9b432d75..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "parent": "minecraft:block/block", - "ambientocclusion": false, - "elements": [ - { - "condition": { - "direction": "west", - "if": true, - "parents": [] - }, - "faces": { - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "west", - "if": false, - "parents": [] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": true, - "parents": [] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": false, - "parents": [] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": true, - "parents": [] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": false, - "parents": [] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": true, - "parents": [] - }, - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": false, - "parents": [] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north", - "if": true, - "parents": [] - }, - "faces": { - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north", - "if": false, - "parents": [] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south", - "if": true, - "parents": [] - }, - "faces": { - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south", - "if": false, - "parents": [] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": true, - "parents": [ - "down", - "west" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 0, - 0, - 7 - ], - "shade": false, - "to": [ - 7, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": true, - "parents": [ - "down", - "east" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 9, - 0, - 7 - ], - "shade": false, - "to": [ - 16, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": true, - "parents": [ - "down", - "north" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 0 - ], - "shade": false, - "to": [ - 9, - 7, - 7 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "down_south", - "if": true, - "parents": [ - "down", - "south" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 9 - ], - "shade": false, - "to": [ - 9, - 7, - 16 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "up_west", - "if": true, - "parents": [ - "up", - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 0, - 9, - 7 - ], - "shade": false, - "to": [ - 7, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": true, - "parents": [ - "up", - "east" - ] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 9, - 7 - ], - "shade": false, - "to": [ - 16, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": true, - "parents": [ - "up", - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 0 - ], - "shade": false, - "to": [ - 9, - 16, - 7 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "up_south", - "if": true, - "parents": [ - "up", - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 9 - ], - "shade": false, - "to": [ - 9, - 16, - 16 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "north_west", - "if": true, - "parents": [ - "north", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 0 - ], - "shade": false, - "to": [ - 7, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north_east", - "if": true, - "parents": [ - "north", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 0 - ], - "shade": false, - "to": [ - 16, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_west", - "if": true, - "parents": [ - "south", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 9 - ], - "shade": false, - "to": [ - 7, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_east", - "if": true, - "parents": [ - "south", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 9 - ], - "shade": false, - "to": [ - 16, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - } - ], - "loader": "twilightforest:force_field", - "render_type": "minecraft:translucent", - "textures": { - "pane": "twilightforest:block/green_force_field", - "particle": "twilightforest:block/green_force_field" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns.json deleted file mode 100644 index f2783d4a3a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_main", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/green_thorns_top", - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json deleted file mode 100644 index cd9c1a17a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_bottom", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/green_thorns_top", - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json deleted file mode 100644 index 95a285bfd0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json deleted file mode 100644 index dd9d9c620c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_no_section_alt", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json deleted file mode 100644 index a87684718b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/thorns", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json deleted file mode 100644 index 4a657394c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/thorns_section_top", - "render_type": "minecraft:cutout", - "textures": { - "end": "twilightforest:block/green_thorns_top", - "side": "twilightforest:block/green_thorns_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json deleted file mode 100644 index 411459b464..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "twilightforest:block/darkwood_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json deleted file mode 100644 index 4e76c2dea6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json deleted file mode 100644 index 595e44ecc3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json deleted file mode 100644 index e397e12e0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json deleted file mode 100644 index 621dc15e58..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss_grass.json deleted file mode 100644 index faa70e3726..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json deleted file mode 100644 index 23d3a318d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json deleted file mode 100644 index 4fc5e31022..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_acacia_log", - "side": "minecraft:block/acacia_log", - "top": "minecraft:block/acacia_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json deleted file mode 100644 index 5ccd483379..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json deleted file mode 100644 index bd0f2578a8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json deleted file mode 100644 index 61b7050c19..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json deleted file mode 100644 index 37701dbf1b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss_grass.json deleted file mode 100644 index ddb29f7bff..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json deleted file mode 100644 index 851bc9643b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json deleted file mode 100644 index 40f8d0e777..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_birch_log", - "side": "minecraft:block/birch_log", - "top": "minecraft:block/birch_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json deleted file mode 100644 index fef2d3d107..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json deleted file mode 100644 index 30c32f1798..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json deleted file mode 100644 index e266b7a463..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json deleted file mode 100644 index 70bdd2accf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss_grass.json deleted file mode 100644 index a31e7f303d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json deleted file mode 100644 index 2bc95589d4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json deleted file mode 100644 index 55d22d0b19..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/canopy_log", - "top": "twilightforest:block/canopy_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json deleted file mode 100644 index c392d48e56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json deleted file mode 100644 index bd282a7930..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json deleted file mode 100644 index 64c36cfb14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json deleted file mode 100644 index f4b7ea4bea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss_grass.json deleted file mode 100644 index d5fdea7106..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json deleted file mode 100644 index c0016cd611..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json deleted file mode 100644 index ec55a992d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_cherry_log", - "side": "minecraft:block/cherry_log", - "top": "minecraft:block/cherry_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json deleted file mode 100644 index e2d0ea5aac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json deleted file mode 100644 index 42f82077b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json deleted file mode 100644 index 25590dd9c7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json deleted file mode 100644 index f82ab9a13c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss_grass.json deleted file mode 100644 index d517470b37..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json deleted file mode 100644 index 915ede94cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json deleted file mode 100644 index 6abbe1f20b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_crimson_stem", - "side": "minecraft:block/crimson_stem", - "top": "minecraft:block/crimson_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json deleted file mode 100644 index c7348b7f9c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json deleted file mode 100644 index c97c3417a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json deleted file mode 100644 index 3a804b76d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json deleted file mode 100644 index 2e0651e711..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss_grass.json deleted file mode 100644 index 9edfe93f4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json deleted file mode 100644 index d5310276d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json deleted file mode 100644 index 846f6ff8e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/dark_log", - "top": "twilightforest:block/dark_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json deleted file mode 100644 index 9853f9a6b3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json deleted file mode 100644 index 8042648f80..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json deleted file mode 100644 index d57e2bc171..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json deleted file mode 100644 index a5801e1630..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss_grass.json deleted file mode 100644 index fd99ca2137..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json deleted file mode 100644 index 3ed07e2eae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json deleted file mode 100644 index 620a71df04..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_dark_oak_log", - "side": "minecraft:block/dark_oak_log", - "top": "minecraft:block/dark_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json deleted file mode 100644 index 4535833cd5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json deleted file mode 100644 index 2f85d29835..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json deleted file mode 100644 index 173486e8e7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json deleted file mode 100644 index 31ce880b41..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss_grass.json deleted file mode 100644 index 0f113e8994..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json deleted file mode 100644 index 6e606ce640..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json deleted file mode 100644 index 7d07afb345..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_jungle_log", - "side": "minecraft:block/jungle_log", - "top": "minecraft:block/jungle_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss.json deleted file mode 100644 index 87526e7b0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log_carpet", - "render_type": "minecraft:cutout", - "textures": { - "carpet": "twilightforest:block/mosspatch", - "overhang": "twilightforest:block/moss_overhang" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss_grass.json deleted file mode 100644 index 7429d489d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_log_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log_plant", - "render_type": "minecraft:cutout", - "textures": { - "carpet": "twilightforest:block/mosspatch", - "overhang": "twilightforest:block/moss_overhang", - "plant": "minecraft:block/short_grass" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_log_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_log_snow.json deleted file mode 100644 index e7e8a3b9a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_log_snow.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log_carpet", - "render_type": "minecraft:cutout", - "textures": { - "carpet": "minecraft:block/snow", - "overhang": "twilightforest:block/snow_overhang" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json deleted file mode 100644 index 150c685ea7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json deleted file mode 100644 index d886567249..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json deleted file mode 100644 index 42bf1400e0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json deleted file mode 100644 index b36fb53db9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss_grass.json deleted file mode 100644 index 9440a95022..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json deleted file mode 100644 index fc83f93742..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json deleted file mode 100644 index 9dfae25385..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/mangrove_log", - "top": "twilightforest:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json deleted file mode 100644 index 07a9787989..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json deleted file mode 100644 index 2186f5e2bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json deleted file mode 100644 index b8afff3f1e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json deleted file mode 100644 index 79f33579c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss_grass.json deleted file mode 100644 index 974d88ee3b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json deleted file mode 100644 index b0beac78f8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json deleted file mode 100644 index d7cb3823a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/mining_log", - "top": "twilightforest:block/mining_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json deleted file mode 100644 index e15ba27e4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json deleted file mode 100644 index f2d2f2e63c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json deleted file mode 100644 index fec38ae7bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json deleted file mode 100644 index fe724d4ec2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss_grass.json deleted file mode 100644 index e880d737c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json deleted file mode 100644 index 7f29c759f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json deleted file mode 100644 index 45ec388ced..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_oak_log", - "side": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json deleted file mode 100644 index 3f6e001c38..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/hollow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json deleted file mode 100644 index 53290465db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json deleted file mode 100644 index 78a37a070d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json deleted file mode 100644 index e2f83349a1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json deleted file mode 100644 index ba8d8bd0af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss_grass.json deleted file mode 100644 index 794cd12fe8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json deleted file mode 100644 index 0070dc5faf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json deleted file mode 100644 index baa048a6ea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/sorting_log", - "top": "twilightforest:block/sorting_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json deleted file mode 100644 index 23cba37e9c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json deleted file mode 100644 index 25b288012b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json deleted file mode 100644 index e821a1aba9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json deleted file mode 100644 index 3959922f64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss_grass.json deleted file mode 100644 index 50c18e55d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json deleted file mode 100644 index 03f61274c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json deleted file mode 100644 index be8248355c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_spruce_log", - "side": "minecraft:block/spruce_log", - "top": "minecraft:block/spruce_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json deleted file mode 100644 index c6e0c4f093..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json deleted file mode 100644 index 3ea69ca1d4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json deleted file mode 100644 index b182ff8aa6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json deleted file mode 100644 index c533c5118b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss_grass.json deleted file mode 100644 index 9a73ce4f83..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json deleted file mode 100644 index a87e2a3013..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json deleted file mode 100644 index 23816197a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/time_log", - "top": "twilightforest:block/time_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json deleted file mode 100644 index 300916d90c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json deleted file mode 100644 index c83567a7ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json deleted file mode 100644 index 6ff1b1b472..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json deleted file mode 100644 index c3e998816e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss_grass.json deleted file mode 100644 index 62ff802448..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json deleted file mode 100644 index c9b3069b25..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json deleted file mode 100644 index 49966898a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/transformation_log", - "top": "twilightforest:block/transformation_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json deleted file mode 100644 index 1e08a0713d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json deleted file mode 100644 index a6eb7f3f79..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json deleted file mode 100644 index 86180ff451..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json deleted file mode 100644 index a7e3447c9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss_grass.json deleted file mode 100644 index e1d6104a4f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json deleted file mode 100644 index 5d5e62fe87..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json deleted file mode 100644 index a161c34941..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log", - "top": "twilightforest:block/twilight_oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json deleted file mode 100644 index 20d136cfc2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json deleted file mode 100644 index 85704eea3b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json deleted file mode 100644 index 26cff16cdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json deleted file mode 100644 index 8c4c44908e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss_grass.json deleted file mode 100644 index 3c03fecab0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json deleted file mode 100644 index 1cc79baafb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json deleted file mode 100644 index 999b38f34b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_mangrove_log", - "side": "minecraft:block/mangrove_log", - "top": "minecraft:block/mangrove_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json deleted file mode 100644 index 396cf3c6ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_ladder", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json deleted file mode 100644 index 02cc320d01..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log_vine", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json deleted file mode 100644 index 7ff954b848..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/horizontal_hollow_log", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json deleted file mode 100644 index c0d167f4f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss_grass.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss_grass.json deleted file mode 100644 index 9ec95ab3bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss_grass.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_moss_grass", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json deleted file mode 100644 index dc27fa87ad..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_log_snow", - "render_type": "minecraft:cutout", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json deleted file mode 100644 index 68e9d9002a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/vertical_hollow_log", - "textures": { - "inner": "minecraft:block/stripped_warped_stem", - "side": "minecraft:block/warped_stem", - "top": "minecraft:block/warped_stem_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log.json b/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log.json deleted file mode 100644 index 63added2fc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 180, - "texture": "#side" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 14.0, - 0.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "texture": "#inner" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 2.0, - 16.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 2, - 16 - ] - }, - { - "faces": { - "down": { - "rotation": 180, - "texture": "#inner" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 2.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "cullface": "up", - "texture": "#side" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 14.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0, - 14, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "rotation": 90, - "texture": "#inner", - "uv": [ - 2.0, - 0.0, - 14.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 2.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 0, - 2, - 0 - ], - "to": [ - 2, - 14, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 2.0, - 0.0, - 14.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "rotation": 270, - "texture": "#inner", - "uv": [ - 2.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 14, - 2, - 0 - ], - "to": [ - 16, - 14, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json b/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json deleted file mode 100644 index a72cc39beb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 180, - "texture": "#side" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 13.0, - 0.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "texture": "#carpet" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 3.0, - 16.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 3, - 16 - ] - }, - { - "faces": { - "down": { - "rotation": 180, - "texture": "#inner" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 2.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "cullface": "up", - "texture": "#side" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 14.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0, - 14, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "rotation": 90, - "texture": "#inner", - "uv": [ - 2.0, - 0.0, - 13.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 3.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 0, - 3, - 0 - ], - "to": [ - 2, - 14, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 2.0, - 0.0, - 13.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "rotation": 270, - "texture": "#inner", - "uv": [ - 3.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 14, - 3, - 0 - ], - "to": [ - 16, - 14, - 16 - ] - }, - { - "faces": { - "north": { - "texture": "#overhang" - }, - "south": { - "texture": "#overhang" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 3, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json b/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json deleted file mode 100644 index 9d5e27f4e1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json +++ /dev/null @@ -1,309 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 180, - "texture": "#side" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 13.0, - 0.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "texture": "#carpet" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 3.0, - 16.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 3, - 16 - ] - }, - { - "faces": { - "down": { - "rotation": 180, - "texture": "#inner" - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 0.0, - 0.0, - 2.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "up": { - "cullface": "up", - "texture": "#side" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 14.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0, - 14, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "rotation": 90, - "texture": "#inner", - "uv": [ - 2.0, - 0.0, - 13.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#side", - "uv": [ - 3.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 0, - 3, - 0 - ], - "to": [ - 2, - 14, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#side", - "uv": [ - 2.0, - 0.0, - 13.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#top" - }, - "south": { - "cullface": "south", - "texture": "#top" - }, - "west": { - "rotation": 270, - "texture": "#inner", - "uv": [ - 3.0, - 0.0, - 14.0, - 16.0 - ] - } - }, - "from": [ - 14, - 3, - 0 - ], - "to": [ - 16, - 14, - 16 - ] - }, - { - "faces": { - "north": { - "texture": "#overhang" - }, - "south": { - "texture": "#overhang" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 3, - 16 - ] - }, - { - "faces": { - "north": { - "texture": "#plant", - "tintindex": 1, - "uv": [ - 0.0, - 3.0, - 16.0, - 14.0 - ] - }, - "south": { - "texture": "#plant", - "tintindex": 1, - "uv": [ - 0.0, - 3.0, - 16.0, - 14.0 - ] - } - }, - "from": [ - 0.8, - 3, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 14, - 8 - ] - }, - { - "faces": { - "east": { - "texture": "#plant", - "tintindex": 1, - "uv": [ - 0.0, - 3.0, - 16.0, - 14.0 - ] - }, - "west": { - "texture": "#plant", - "tintindex": 1, - "uv": [ - 0.0, - 3.0, - 16.0, - 14.0 - ] - } - }, - "from": [ - 8, - 3, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 14, - 15.2 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json deleted file mode 100644 index a687ab5179..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/huge_lily_pad", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#texture", - "texture": "twilightforest:block/huge_lily_pad_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json deleted file mode 100644 index 1a59f6cce6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/huge_lily_pad", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#texture", - "texture": "twilightforest:block/huge_lily_pad_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json deleted file mode 100644 index eaa730cb63..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/huge_lily_pad", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#texture", - "texture": "twilightforest:block/huge_lily_pad_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json deleted file mode 100644 index ba234b90ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/huge_lily_pad", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#texture", - "texture": "twilightforest:block/huge_lily_pad_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inside.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inside.json deleted file mode 100644 index 04ea7b0e67..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/huge_gloom_inside" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_outside.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_outside.json deleted file mode 100644 index 935ce2d8c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_outside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/huge_gloom_cap" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inside.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inside.json deleted file mode 100644 index 04ea7b0e67..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/huge_gloom_inside" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_outside.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_outside.json deleted file mode 100644 index 880120056b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_outside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/huge_mushgloom_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json b/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json deleted file mode 100644 index f578b9152d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/huge_stalk_top", - "side": "twilightforest:block/huge_stalk" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json deleted file mode 100644 index ff03364a8a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/huge_stalk_top", - "side": "twilightforest:block/huge_stalk" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json b/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json deleted file mode 100644 index b50105aa04..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/huge_water_lily" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json deleted file mode 100644 index 72a2044afd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/infested_towerwood", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/infested_towerwood_flipped.json b/src/generated/resources/assets/twilightforest/models/block/infested_towerwood_flipped.json deleted file mode 100644 index 60ef442c5b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/infested_towerwood_flipped.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/infested_towerwood", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json b/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json deleted file mode 100644 index 229511a80f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/ironwood_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/keepsake_casket.json b/src/generated/resources/assets/twilightforest/models/block/keepsake_casket.json deleted file mode 100644 index a00dd11a3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/keepsake_casket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/netherite_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json deleted file mode 100644 index b8a76b4fdf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/acacia_log_top", - "2": "minecraft:block/acacia_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json b/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json deleted file mode 100644 index 4cc680f02e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/bamboo_block_top", - "2": "minecraft:block/bamboo_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json deleted file mode 100644 index 7f1aeb6756..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/birch_log_top", - "2": "minecraft:block/birch_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json deleted file mode 100644 index 280f460077..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/canopy_log_top", - "2": "twilightforest:block/canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json deleted file mode 100644 index 614763e680..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/cherry_log_top", - "2": "minecraft:block/cherry_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json deleted file mode 100644 index c53a47ebe8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/cinder_log_top", - "2": "twilightforest:block/cinder_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json deleted file mode 100644 index ab33b2f918..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/crimson_stem_top", - "2": "minecraft:block/crimson_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json deleted file mode 100644 index 8bb74dc6eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/dark_log_top", - "2": "twilightforest:block/dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json deleted file mode 100644 index ae640208c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/dark_oak_log_top", - "2": "minecraft:block/dark_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json deleted file mode 100644 index 7038a80793..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/jungle_log_top", - "2": "minecraft:block/jungle_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json deleted file mode 100644 index e88771dc87..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/mangrove_log_top", - "2": "twilightforest:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json deleted file mode 100644 index d7a018a62c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/mining_log_top", - "2": "twilightforest:block/mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json deleted file mode 100644 index de64e12c7e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/oak_log_top", - "2": "minecraft:block/oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json b/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json deleted file mode 100644 index d099a9fed1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/pumpkin_top", - "2": "minecraft:block/pumpkin_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json deleted file mode 100644 index 01598fc80c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/sorting_log_top", - "2": "twilightforest:block/sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json deleted file mode 100644 index ca8b04d8b2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/spruce_log_top", - "2": "minecraft:block/spruce_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json deleted file mode 100644 index fac52cc46d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_acacia_log_top", - "2": "minecraft:block/stripped_acacia_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json deleted file mode 100644 index a7d90b01d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_bamboo_block_top", - "2": "minecraft:block/stripped_bamboo_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json deleted file mode 100644 index a29404dc56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_birch_log_top", - "2": "minecraft:block/stripped_birch_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json deleted file mode 100644 index 0eb22dea0a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_canopy_log_top", - "2": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json deleted file mode 100644 index 70896dcdcb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_cherry_log_top", - "2": "minecraft:block/stripped_cherry_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json deleted file mode 100644 index 4888d8c647..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_crimson_stem_top", - "2": "minecraft:block/stripped_crimson_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json deleted file mode 100644 index 19b3cc2ef3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_dark_log_top", - "2": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json deleted file mode 100644 index 664d924401..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_dark_oak_log_top", - "2": "minecraft:block/stripped_dark_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json deleted file mode 100644 index d24f8524de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_jungle_log_top", - "2": "minecraft:block/stripped_jungle_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json deleted file mode 100644 index 024ec1fe1e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_mangrove_log_top", - "2": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json deleted file mode 100644 index 56251555bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_mining_log_top", - "2": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json deleted file mode 100644 index f29ddcd356..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_oak_log_top", - "2": "minecraft:block/stripped_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json deleted file mode 100644 index 418e99b9f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_sorting_log_top", - "2": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json deleted file mode 100644 index e84f80283a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_spruce_log_top", - "2": "minecraft:block/stripped_spruce_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json deleted file mode 100644 index 75b22c3628..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_time_log_top", - "2": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json deleted file mode 100644 index 05e068d416..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_transformation_log_top", - "2": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json deleted file mode 100644 index 37ac64d605..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/stripped_twilight_oak_log_top", - "2": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json deleted file mode 100644 index 6a4fa8b648..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_warped_stem_top", - "2": "minecraft:block/stripped_warped_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json deleted file mode 100644 index 27aa17f0d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/time_log_top", - "2": "twilightforest:block/time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json deleted file mode 100644 index a257aef128..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/transformation_log_top", - "2": "twilightforest:block/transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json deleted file mode 100644 index 46c8a21d46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "twilightforest:block/twilight_oak_log_top", - "2": "twilightforest:block/twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json deleted file mode 100644 index 77608f1353..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/mangrove_log_top", - "2": "minecraft:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json deleted file mode 100644 index ecc5afe129..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/stripped_mangrove_log_top", - "2": "minecraft:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json deleted file mode 100644 index a55eff0689..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/jar_lid", - "textures": { - "1": "minecraft:block/warped_stem_top", - "2": "minecraft:block/warped_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json b/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json deleted file mode 100644 index d05f7efeeb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/liveroot_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json deleted file mode 100644 index b8c3eccfdd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_lock_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_lock_on_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_lock_on_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_unlocked.json b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_unlocked.json deleted file mode 100644 index 9f49f813a5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_unlocked.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_lock_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_lock_off_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_lock_off_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_button.json index ccd7d7bb76..07e33f8a6d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_button.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_button_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/mining_button.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_button_inventory.json index b70a3e95f1..a8fb5e46dd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/mining_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_button_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_button_pressed.json index b132db8ab8..86a1ae5462 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_chest.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_chest.json deleted file mode 100644 index 99f19008db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json new file mode 100644 index 0000000000..eed3f519eb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json new file mode 100644 index 0000000000..f66585ca0a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json new file mode 100644 index 0000000000..5779414905 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json new file mode 100644 index 0000000000..feb9a57a22 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json new file mode 100644 index 0000000000..2805a12433 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json new file mode 100644 index 0000000000..c0733ed96f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json new file mode 100644 index 0000000000..aa5fece95e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json new file mode 100644 index 0000000000..e1518bc57c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/mangrove_door_bottom", + "top": "twilightforest:block/mangrove_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate.json index 369f5540d6..a936c9e46a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_open.json index 5577b262ac..186ab41e3e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall.json index 375ca25e0c..e2198dce63 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall_open.json index 20109051f1..3406b85a0f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_fence.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/mining_fence.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_inventory.json index 0ca3e253a3..bbfd5a68c1 100644 --- a/src/generated/resources/assets/twilightforest/models/item/mining_fence.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_post.json index 412b6cd5a0..2f63b9921e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_fence_side.json index 940fc8795e..561312a333 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json deleted file mode 100644 index b85ed99e51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json deleted file mode 100644 index 6f7f331c30..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "minecraft:block/birch_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json deleted file mode 100644 index 786619440b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mangrove_log_top", - "side": "twilightforest:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json deleted file mode 100644 index 37d2834244..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/mangrove_log_top", - "side": "twilightforest:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_planks.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/cinder_wood.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_planks.json index 8242bb7f98..907774ada8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/cinder_log" + "all": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate.json index 9de4f8304a..065d4b370f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_2.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate_down.json index e2cfdc5897..b21bf4fd42 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down_2.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" + "texture": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json deleted file mode 100644 index a293a21f5d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mangrove_root" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json deleted file mode 100644 index 1b33ff9188..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/mangrove_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_sign.json index 99f19008db..367847c196 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" + "particle": "twilightforest:block/mangrove_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_slab.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_slab.json new file mode 100644 index 0000000000..8a42a04ce5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/mangrove_planks", + "side": "twilightforest:block/mangrove_planks", + "top": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_slab_top.json new file mode 100644 index 0000000000..8c190de81e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/mangrove_planks", + "side": "twilightforest:block/mangrove_planks", + "top": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs.json new file mode 100644 index 0000000000..caa1643786 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/mangrove_planks", + "side": "twilightforest:block/mangrove_planks", + "top": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json new file mode 100644 index 0000000000..2451027f40 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/mangrove_planks", + "side": "twilightforest:block/mangrove_planks", + "top": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json new file mode 100644 index 0000000000..df83f30011 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/mangrove_planks", + "side": "twilightforest:block/mangrove_planks", + "top": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json new file mode 100644 index 0000000000..9d9c883aa5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/mangrove_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json new file mode 100644 index 0000000000..7acf3692d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/mangrove_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json new file mode 100644 index 0000000000..c29dbe030a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/mangrove_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapped_chest.json deleted file mode 100644 index 99f19008db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_hanging_sign.json deleted file mode 100644 index b85ed99e51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_sign.json deleted file mode 100644 index 99f19008db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json deleted file mode 100644 index c85d3f105c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mangrove_log", - "side": "twilightforest:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood_horizontal.json deleted file mode 100644 index dbb252c458..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/mangrove_log", - "side": "twilightforest:block/mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mason_jar.json b/src/generated/resources/assets/twilightforest/models/block/mason_jar.json deleted file mode 100644 index f0eceaf643..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mason_jar.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "texture": "#side" - }, - "north": { - "texture": "#side" - }, - "south": { - "texture": "#side" - }, - "up": { - "texture": "#top" - }, - "west": { - "texture": "#side" - } - }, - "from": [ - 3, - 0, - 3 - ], - "to": [ - 13, - 14, - 13 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/jar_bottom", - "particle": "#side", - "side": "twilightforest:block/jar_side", - "top": "twilightforest:block/jar_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone.json b/src/generated/resources/assets/twilightforest/models/block/mazestone.json deleted file mode 100644 index e4310b811d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mazestone.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mazestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json deleted file mode 100644 index 9a3ff477f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mazestone_border", - "side": "twilightforest:block/mazestone_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json deleted file mode 100644 index a9ac7c9527..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mazestone_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json deleted file mode 100644 index 16ecf5b3da..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mazestone_mosaic", - "side": "twilightforest:block/mazestone_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button.json b/src/generated/resources/assets/twilightforest/models/block/mining_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button.json rename to src/generated/resources/assets/twilightforest/models/block/mining_button.json index 9935f2469a..c031038ea8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_button.json b/src/generated/resources/assets/twilightforest/models/block/mining_button_inventory.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/item/transformation_button.json rename to src/generated/resources/assets/twilightforest/models/block/mining_button_inventory.json index 16c7544195..8c9fd5e81c 100644 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_button_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/mining_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed.json rename to src/generated/resources/assets/twilightforest/models/block/mining_button_pressed.json index 4a1d74951c..a7576a691f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mine/mining_button_pressed.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_chest.json b/src/generated/resources/assets/twilightforest/models/block/mining_chest.json deleted file mode 100644 index ebb13ce4c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json new file mode 100644 index 0000000000..8c8df1c275 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json new file mode 100644 index 0000000000..7c9593f171 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json new file mode 100644 index 0000000000..1ba0a353d0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json new file mode 100644 index 0000000000..e450b76c11 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json new file mode 100644 index 0000000000..3421d7107f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json new file mode 100644 index 0000000000..5f426699ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json new file mode 100644 index 0000000000..3fe4dec652 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json new file mode 100644 index 0000000000..e0b3fc39e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/mining_door_bottom", + "top": "twilightforest:block/mining_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_gate.json index ae58dfe9ed..ca2410718f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_open.json index d26e485a70..fe298e4b1a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall.json index 698a9722df..d7c1098c39 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall_open.json index d239b1ec5b..a4d8a3b17f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mine/mining_fence_gate_wall_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_fence.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_inventory.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/item/transformation_fence.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_inventory.json index c40cd3717d..4ef831946c 100644 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_fence.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_post.json index d87193b097..df44c6bdb6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_post.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/mining_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side.json rename to src/generated/resources/assets/twilightforest/models/block/mining_fence_side.json index 99ad78c43c..5b21eaa6a2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mine/mining_fence_side.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json deleted file mode 100644 index 834fa3fef7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json deleted file mode 100644 index 3f7cb1cc49..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "rotation": 90, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/mining_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log.json b/src/generated/resources/assets/twilightforest/models/block/mining_log.json deleted file mode 100644 index 54e29dd521..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json deleted file mode 100644 index 624e819022..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log_core" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json deleted file mode 100644 index 1cc9a50c91..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log_core_on" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json deleted file mode 100644 index 20562c72b7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_home.json b/src/generated/resources/assets/twilightforest/models/block/mining_planks.json similarity index 61% rename from src/generated/resources/assets/twilightforest/models/item/music_disc_home.json rename to src/generated/resources/assets/twilightforest/models/block/mining_planks.json index 391c6c555d..5e0c6530fc 100644 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_home.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_planks.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:item/generated", + "parent": "minecraft:block/cube_all", "textures": { - "layer0": "twilightforest:item/music_disc_home" + "all": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate.json rename to src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate.json index 1838bb7cd3..bf7271a4b1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down.json rename to src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate_down.json index 39e10dab1e..47f8308229 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mine/mining_pressure_plate_down.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" + "texture": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json b/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json deleted file mode 100644 index 232f541efb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/mining_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_sign.json index ebb13ce4c8..b7122db5f3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" + "particle": "twilightforest:block/mining_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_slab.json b/src/generated/resources/assets/twilightforest/models/block/mining_slab.json new file mode 100644 index 0000000000..b0071bb516 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/mining_planks", + "side": "twilightforest:block/mining_planks", + "top": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/mining_slab_top.json new file mode 100644 index 0000000000..8d7e952c7c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/mining_planks", + "side": "twilightforest:block/mining_planks", + "top": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_stairs.json b/src/generated/resources/assets/twilightforest/models/block/mining_stairs.json new file mode 100644 index 0000000000..4228a5e4f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/mining_planks", + "side": "twilightforest:block/mining_planks", + "top": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json new file mode 100644 index 0000000000..08f4b9d9b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/mining_planks", + "side": "twilightforest:block/mining_planks", + "top": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json new file mode 100644 index 0000000000..10a86c0bda --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/mining_planks", + "side": "twilightforest:block/mining_planks", + "top": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json new file mode 100644 index 0000000000..bded92ac62 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/mining_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json new file mode 100644 index 0000000000..7f043a5b1f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/mining_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json new file mode 100644 index 0000000000..c9d44dd25f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/mining_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapped_chest.json deleted file mode 100644 index ebb13ce4c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_wall_hanging_sign.json deleted file mode 100644 index 834fa3fef7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_wall_sign.json deleted file mode 100644 index ebb13ce4c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/mining_wood.json deleted file mode 100644 index ff5fa742f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/mining_log", - "side": "twilightforest:block/mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mining_wood_horizontal.json deleted file mode 100644 index d7c22d3aa3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mining_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/mining_log", - "side": "twilightforest:block/mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/moonworm.json b/src/generated/resources/assets/twilightforest/models/block/moonworm.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/moonworm.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json deleted file mode 100644 index ce733f68ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mossy_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json deleted file mode 100644 index 23b4d2b599..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/mossy_castle_brick_stairs", - "side": "twilightforest:block/mossy_castle_brick_stairs", - "top": "twilightforest:block/mossy_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner.json deleted file mode 100644 index 920da8e9c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/mossy_castle_brick_stairs", - "side": "twilightforest:block/mossy_castle_brick_stairs", - "top": "twilightforest:block/mossy_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer.json deleted file mode 100644 index f18703f020..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/mossy_castle_brick_stairs", - "side": "twilightforest:block/mossy_castle_brick_stairs", - "top": "twilightforest:block/mossy_castle_brick_stairs" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json deleted file mode 100644 index 1ac84bf82f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "side": "twilightforest:block/etched_nagastone_down_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_east.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_east.json deleted file mode 100644 index 13a8af5856..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_east.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_right_mossy", - "east": "twilightforest:block/stone_tiles_mossy", - "north": "twilightforest:block/etched_nagastone_left_mossy", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_right_mossy", - "up": "twilightforest:block/etched_nagastone_left_mossy", - "west": "twilightforest:block/stone_tiles_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_north.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_north.json deleted file mode 100644 index d5458278a1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_north.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_up_mossy", - "east": "twilightforest:block/etched_nagastone_right_mossy", - "north": "twilightforest:block/stone_tiles_mossy", - "particle": "#down", - "south": "twilightforest:block/stone_tiles_mossy", - "up": "twilightforest:block/etched_nagastone_up_mossy", - "west": "twilightforest:block/etched_nagastone_left_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_south.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_south.json deleted file mode 100644 index 3c249fa25a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_south.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_down_mossy", - "east": "twilightforest:block/etched_nagastone_left_mossy", - "north": "twilightforest:block/stone_tiles_mossy", - "particle": "#down", - "south": "twilightforest:block/stone_tiles_mossy", - "up": "twilightforest:block/etched_nagastone_down_mossy", - "west": "twilightforest:block/etched_nagastone_right_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_up.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_up.json deleted file mode 100644 index b72e5cb733..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_up.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "side": "twilightforest:block/etched_nagastone_up_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_west.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_west.json deleted file mode 100644 index 9c6b19c501..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone_west.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/etched_nagastone_left_mossy", - "east": "twilightforest:block/stone_tiles_mossy", - "north": "twilightforest:block/etched_nagastone_right_mossy", - "particle": "#down", - "south": "twilightforest:block/etched_nagastone_left_mossy", - "up": "twilightforest:block/etched_nagastone_right_mossy", - "west": "twilightforest:block/stone_tiles_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json deleted file mode 100644 index c495b2eebb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mossy_mazestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json deleted file mode 100644 index 1ba8c1fee0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end_mossy", - "side": "twilightforest:block/nagastone_pillar_side_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_reversed.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_reversed.json deleted file mode 100644 index 63bac76e66..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_reversed.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end_mossy", - "side": "twilightforest:block/nagastone_pillar_side_mossy_alt" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json deleted file mode 100644 index afb5058d05..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_left_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner.json deleted file mode 100644 index 62414bae4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_left_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer.json deleted file mode 100644 index 1eb023560d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_left_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json deleted file mode 100644 index 4756231760..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_right_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner.json deleted file mode 100644 index c6b4e0fb4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_right_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer.json deleted file mode 100644 index a59b1077b0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles_mossy", - "middle": "twilightforest:block/nagastone_bare_mossy", - "side": "twilightforest:block/etched_nagastone_right_mossy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json deleted file mode 100644 index 0ba692fbf6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/mossy_towerwood", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood_flipped.json b/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood_flipped.json deleted file mode 100644 index 228b1e766d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood_flipped.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/mossy_towerwood", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json deleted file mode 100644 index 8593fdbe60..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/mossy_underbrick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mushgloom.json b/src/generated/resources/assets/twilightforest/models/block/mushgloom.json deleted file mode 100644 index c439529707..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/mushgloom.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "ambientocclusion": false, - "elements": [ - { - "faces": { - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - }, - { - "faces": { - "north": { - "neoforge_data": { - "block_light": 6, - "sky_light": 6 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 6, - "sky_light": 6 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 6, - "sky_light": 6 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 6, - "sky_light": 6 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/mushgloom", - "cross2": "twilightforest:block/mushgloom_head", - "particle": "#cross" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone.json b/src/generated/resources/assets/twilightforest/models/block/nagastone.json deleted file mode 100644 index 375f83cb72..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "bottom": "twilightforest:block/nagastone_bottom_long", - "side": "twilightforest:block/nagastone_long_side", - "top": "twilightforest:block/nagastone_turn_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json deleted file mode 100644 index d930ffb46f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end", - "side": "twilightforest:block/nagastone_pillar_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_reversed.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_reversed.json deleted file mode 100644 index fd6b92fa6e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_reversed.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/nagastone_pillar_end", - "side": "twilightforest:block/nagastone_pillar_side_alt" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json deleted file mode 100644 index 0149ab77f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_left" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner.json deleted file mode 100644 index 96c00045cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_left" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer.json deleted file mode 100644 index 1a9b75a53a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_left" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json deleted file mode 100644 index fecf83f78f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_right" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner.json deleted file mode 100644 index db52e7358c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_inner_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_right" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer.json deleted file mode 100644 index 0f5cb4a313..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/bisected_outer_stairs", - "textures": { - "end": "twilightforest:block/stone_tiles", - "middle": "twilightforest:block/nagastone_bare", - "side": "twilightforest:block/etched_nagastone_right" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json deleted file mode 100644 index 2c806363d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "parent": "minecraft:block/block", - "ambientocclusion": false, - "elements": [ - { - "condition": { - "direction": "west", - "if": true, - "parents": [] - }, - "faces": { - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "west", - "if": false, - "parents": [] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": true, - "parents": [] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": false, - "parents": [] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": true, - "parents": [] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": false, - "parents": [] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": true, - "parents": [] - }, - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": false, - "parents": [] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north", - "if": true, - "parents": [] - }, - "faces": { - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north", - "if": false, - "parents": [] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south", - "if": true, - "parents": [] - }, - "faces": { - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south", - "if": false, - "parents": [] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": true, - "parents": [ - "down", - "west" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 0, - 0, - 7 - ], - "shade": false, - "to": [ - 7, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": true, - "parents": [ - "down", - "east" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 9, - 0, - 7 - ], - "shade": false, - "to": [ - 16, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": true, - "parents": [ - "down", - "north" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 0 - ], - "shade": false, - "to": [ - 9, - 7, - 7 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "down_south", - "if": true, - "parents": [ - "down", - "south" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 9 - ], - "shade": false, - "to": [ - 9, - 7, - 16 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "up_west", - "if": true, - "parents": [ - "up", - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 0, - 9, - 7 - ], - "shade": false, - "to": [ - 7, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": true, - "parents": [ - "up", - "east" - ] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 9, - 7 - ], - "shade": false, - "to": [ - 16, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": true, - "parents": [ - "up", - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 0 - ], - "shade": false, - "to": [ - 9, - 16, - 7 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "up_south", - "if": true, - "parents": [ - "up", - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 9 - ], - "shade": false, - "to": [ - 9, - 16, - 16 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "north_west", - "if": true, - "parents": [ - "north", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 0 - ], - "shade": false, - "to": [ - 7, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north_east", - "if": true, - "parents": [ - "north", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 0 - ], - "shade": false, - "to": [ - 16, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_west", - "if": true, - "parents": [ - "south", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 9 - ], - "shade": false, - "to": [ - 7, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_east", - "if": true, - "parents": [ - "south", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 9 - ], - "shade": false, - "to": [ - 16, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - } - ], - "loader": "twilightforest:force_field", - "render_type": "minecraft:translucent", - "textures": { - "pane": "twilightforest:block/orange_force_field", - "particle": "twilightforest:block/orange_force_field" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json deleted file mode 100644 index 3956c97b54..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json deleted file mode 100644 index e4ee5053c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door_vanished", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door_vanished" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json deleted file mode 100644 index 3840559442..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "parent": "minecraft:block/block", - "ambientocclusion": false, - "elements": [ - { - "condition": { - "direction": "west", - "if": true, - "parents": [] - }, - "faces": { - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "west", - "if": false, - "parents": [] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": true, - "parents": [] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": false, - "parents": [] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": true, - "parents": [] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": false, - "parents": [] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": true, - "parents": [] - }, - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": false, - "parents": [] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north", - "if": true, - "parents": [] - }, - "faces": { - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north", - "if": false, - "parents": [] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south", - "if": true, - "parents": [] - }, - "faces": { - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south", - "if": false, - "parents": [] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": true, - "parents": [ - "down", - "west" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 0, - 0, - 7 - ], - "shade": false, - "to": [ - 7, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": true, - "parents": [ - "down", - "east" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 9, - 0, - 7 - ], - "shade": false, - "to": [ - 16, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": true, - "parents": [ - "down", - "north" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 0 - ], - "shade": false, - "to": [ - 9, - 7, - 7 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "down_south", - "if": true, - "parents": [ - "down", - "south" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 9 - ], - "shade": false, - "to": [ - 9, - 7, - 16 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "up_west", - "if": true, - "parents": [ - "up", - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 0, - 9, - 7 - ], - "shade": false, - "to": [ - 7, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": true, - "parents": [ - "up", - "east" - ] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 9, - 7 - ], - "shade": false, - "to": [ - 16, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": true, - "parents": [ - "up", - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 0 - ], - "shade": false, - "to": [ - 9, - 16, - 7 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "up_south", - "if": true, - "parents": [ - "up", - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 9 - ], - "shade": false, - "to": [ - 9, - 16, - 16 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "north_west", - "if": true, - "parents": [ - "north", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 0 - ], - "shade": false, - "to": [ - 7, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north_east", - "if": true, - "parents": [ - "north", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 0 - ], - "shade": false, - "to": [ - 16, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_west", - "if": true, - "parents": [ - "south", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 9 - ], - "shade": false, - "to": [ - 7, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_east", - "if": true, - "parents": [ - "south", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 9 - ], - "shade": false, - "to": [ - 16, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - } - ], - "loader": "twilightforest:force_field", - "render_type": "minecraft:translucent", - "textures": { - "pane": "twilightforest:block/pink_force_field", - "particle": "twilightforest:block/pink_force_field" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json deleted file mode 100644 index cf12f85cb8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/canopy_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json deleted file mode 100644 index 75dfc5e281..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_larger_sapling", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/darkwood_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json deleted file mode 100644 index 13277f5005..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_thorn_template", - "textures": { - "thorn_side": "twilightforest:block/burnt_thorns_side", - "thorn_top": "twilightforest:block/burnt_thorns_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json b/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json deleted file mode 100644 index 5bdf04c729..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/tinted_flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/potted_fiddlehead" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json deleted file mode 100644 index f6ec85407c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_thorn_template", - "textures": { - "thorn_side": "twilightforest:block/green_thorns_side", - "thorn_top": "twilightforest:block/green_thorns_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json deleted file mode 100644 index 057c7e9098..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/hollow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json deleted file mode 100644 index 0d660cca10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_larger_sapling", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/mangrove_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json deleted file mode 100644 index 8dce3a10ed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/mining_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json b/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json deleted file mode 100644 index a678d4cbc4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/potted_mushgloom" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json deleted file mode 100644 index 03af8642b9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/rainbow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json deleted file mode 100644 index 7567d44f0c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/sorting_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json deleted file mode 100644 index ed13ad99f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_thorn_template", - "textures": { - "thorn_side": "twilightforest:block/brown_thorns_side", - "thorn_top": "twilightforest:block/brown_thorns_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json deleted file mode 100644 index 4327031708..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:block/potted_larger_sapling", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/time_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json deleted file mode 100644 index b8cb63b843..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/transformation_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json deleted file mode 100644 index 6f6606efdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "render_type": "minecraft:cutout", - "textures": { - "plant": "twilightforest:block/twilight_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json deleted file mode 100644 index 192ebd6700..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json deleted file mode 100644 index edefd457d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/rainbow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json deleted file mode 100644 index 6bcc2b2a60..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/rainy_cloud" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reactor_debris.json b/src/generated/resources/assets/twilightforest/models/block/reactor_debris.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/reactor_debris.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json deleted file mode 100644 index acd437e235..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reappearing_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_reappearing_off_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_reappearing_off_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_active.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_active.json deleted file mode 100644 index c01c20dd15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_active.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reappearing_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_reappearing_on_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_reappearing_on_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished.json deleted file mode 100644 index 5d5662a5f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - } - }, - "from": [ - 6, - 6, - 6 - ], - "to": [ - 10, - 10, - 10 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reappearing_trace_off", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished_active.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished_active.json deleted file mode 100644 index 47a844a8b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_vanished_active.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - } - }, - "from": [ - 6, - 6, - 6 - ], - "to": [ - 10, - 10, - 10 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_reappearing_trace_on", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/red_thread.json b/src/generated/resources/assets/twilightforest/models/block/red_thread.json deleted file mode 100644 index 4451010150..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/red_thread.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/blank" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/root.json b/src/generated/resources/assets/twilightforest/models/block/root.json deleted file mode 100644 index 93a5846c14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/root.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/root" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json b/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json deleted file mode 100644 index 37bb1721d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/spawner", - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/sinister_spawner" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/skull_chest.json b/src/generated/resources/assets/twilightforest/models/block/skull_chest.json deleted file mode 100644 index a00dd11a3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/skull_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/netherite_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/smoker.json b/src/generated/resources/assets/twilightforest/models/block/smoker.json deleted file mode 100644 index d621a2f4a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/smoker.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "bottom": "minecraft:block/grass_block_top", - "down": "#bottom", - "east": "#side", - "north": "#side", - "particle": "#north", - "side": "twilightforest:block/firejet_side", - "south": "#side", - "top": "twilightforest:block/firejet_top", - "up": "#top", - "west": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json deleted file mode 100644 index f6a43a718d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/snowy_cloud" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button.json b/src/generated/resources/assets/twilightforest/models/block/sorting_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_button.json index 473133f4a9..782a62f3db 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_button_inventory.json b/src/generated/resources/assets/twilightforest/models/block/sorting_button_inventory.json new file mode 100644 index 0000000000..c5252faa1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_inventory", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/sorting_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_button_pressed.json index 733fa99dcd..d2fd9b1947 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_chest.json b/src/generated/resources/assets/twilightforest/models/block/sorting_chest.json deleted file mode 100644 index 2709aa493d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json new file mode 100644 index 0000000000..cb6e3c29b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json new file mode 100644 index 0000000000..6d3a944091 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json new file mode 100644 index 0000000000..6694cd12cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json new file mode 100644 index 0000000000..4d09704b92 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json new file mode 100644 index 0000000000..6ad922fe9d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json new file mode 100644 index 0000000000..d81b42a35c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json new file mode 100644 index 0000000000..c7a7be8a8e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json new file mode 100644 index 0000000000..4cbb25fb72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/sorting_door_bottom", + "top": "twilightforest:block/sorting_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate.json index 1295c3db65..6c024c42bf 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_open.json index cd50a234e4..6f5203e6c4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall.json index 48069aecda..8898a651f9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall_open.json index 33ee479c60..76d39fe5e0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_fence_inventory.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_inventory.json new file mode 100644 index 0000000000..33204c9098 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_inventory", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_post.json index afee7fe587..bc010ad632 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_fence_side.json index 86c90f3ba9..1ddb141e8d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json deleted file mode 100644 index 17af7e07cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json deleted file mode 100644 index 8c34695aa7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "texture": "#all", - "tintindex": 0 - }, - "east": { - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json deleted file mode 100644 index 05b816bda3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves1.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "texture": "#all", - "tintindex": 0 - }, - "up": { - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json deleted file mode 100644 index c28229c806..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves2.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 180, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json deleted file mode 100644 index 1136398e47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves3.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "texture": "#all", - "tintindex": 0 - }, - "south": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "rotation": 90, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/sorting_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log.json deleted file mode 100644 index 0b3306fa32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json deleted file mode 100644 index 17933ba690..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log_core" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json deleted file mode 100644 index e85ed166de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log_core_on" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json deleted file mode 100644 index c2d48243ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_rune_bricks.json b/src/generated/resources/assets/twilightforest/models/block/sorting_planks.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/castle_rune_bricks.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_planks.json index 5304b6e112..5b36164662 100644 --- a/src/generated/resources/assets/twilightforest/models/block/castle_rune_bricks.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/castle_brick" + "all": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate.json index 23fd6bc4a2..a99c8104ba 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate_down.json index 8c1c9776be..a48ebc7257 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" + "texture": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json deleted file mode 100644 index 8b144a2638..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/sorting_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_sign.json index 2709aa493d..c040a0d29a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" + "particle": "twilightforest:block/sorting_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_slab.json b/src/generated/resources/assets/twilightforest/models/block/sorting_slab.json new file mode 100644 index 0000000000..e40d2c816c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/sorting_planks", + "side": "twilightforest:block/sorting_planks", + "top": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/sorting_slab_top.json new file mode 100644 index 0000000000..7df758f084 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/sorting_planks", + "side": "twilightforest:block/sorting_planks", + "top": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_stairs.json b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs.json new file mode 100644 index 0000000000..586e54951f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/sorting_planks", + "side": "twilightforest:block/sorting_planks", + "top": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json new file mode 100644 index 0000000000..21aba9c6a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/sorting_planks", + "side": "twilightforest:block/sorting_planks", + "top": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json new file mode 100644 index 0000000000..213607acc2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/sorting_planks", + "side": "twilightforest:block/sorting_planks", + "top": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json new file mode 100644 index 0000000000..696252f333 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/sorting_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json new file mode 100644 index 0000000000..8213942a7c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/sorting_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json new file mode 100644 index 0000000000..62250ad0f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/sorting_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapped_chest.json deleted file mode 100644 index 2709aa493d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wall_hanging_sign.json deleted file mode 100644 index 17af7e07cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wall_sign.json deleted file mode 100644 index 2709aa493d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json deleted file mode 100644 index afe659a100..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/sorting_log", - "side": "twilightforest:block/sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wood_horizontal.json deleted file mode 100644 index 6b0fef1114..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/sorting_log", - "side": "twilightforest:block/sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json b/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json deleted file mode 100644 index 091304454f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/steeleaf_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json deleted file mode 100644 index 3574749d00..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json deleted file mode 100644 index 912a3d0b0c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json deleted file mode 100644 index 24cb69f30c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json deleted file mode 100644 index 0d94845d14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_canopy_log", - "side": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json deleted file mode 100644 index c87f00787e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json deleted file mode 100644 index 5ef59dbf65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json deleted file mode 100644 index 3d5201f24e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json deleted file mode 100644 index e7ab928506..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_dark_log", - "side": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json deleted file mode 100644 index 5e2c5d3864..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json deleted file mode 100644 index 34f4b7fa88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json deleted file mode 100644 index 3e82f3a108..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json deleted file mode 100644 index 5be0aa6bf9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mangrove_log", - "side": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json deleted file mode 100644 index a28005962c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json deleted file mode 100644 index 47e11cf3dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json deleted file mode 100644 index 8673294350..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json deleted file mode 100644 index fc5081276d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mining_log", - "side": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json deleted file mode 100644 index e4aa12ad00..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json deleted file mode 100644 index b4379c931b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json deleted file mode 100644 index 6a1f01d208..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json deleted file mode 100644 index fefd5984bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_sorting_log", - "side": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json deleted file mode 100644 index 6feda53830..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json deleted file mode 100644 index 343f9f1f0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json deleted file mode 100644 index 422d3038f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json deleted file mode 100644 index 9b97cca6df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_time_log", - "side": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json deleted file mode 100644 index 2c701602d4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json deleted file mode 100644 index 2545f7d408..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json deleted file mode 100644 index 6ed6f1b6c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json deleted file mode 100644 index f2c0ea67a9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_transformation_log", - "side": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json deleted file mode 100644 index 43c292d795..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json deleted file mode 100644 index d6ed59905e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json deleted file mode 100644 index bd3e822a4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json deleted file mode 100644 index 6c3efa2bb8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log", - "side": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json b/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json deleted file mode 100644 index 34835577a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_top", - "textures": { - "side": "twilightforest:block/shield_outside", - "top": "twilightforest:block/shield_inside" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json deleted file mode 100644 index 289bcd4ec4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/terrorcotta_arcs_end", - "side": "twilightforest:block/terrorcotta_arcs_side_a" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_x.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_x.json deleted file mode 100644 index 22ba109a28..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_x.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_special_x", - "textures": { - "end": "twilightforest:block/terrorcotta_arcs_end", - "side_a": "twilightforest:block/terrorcotta_arcs_side_a", - "side_b": "twilightforest:block/terrorcotta_arcs_side_b" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_z.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_z.json deleted file mode 100644 index b2d6b313cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_z.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "twilightforest:block/util/cube_column_rotationally_special_z", - "textures": { - "end": "twilightforest:block/terrorcotta_arcs_end", - "side_a": "twilightforest:block/terrorcotta_arcs_side_a", - "side_b": "twilightforest:block/terrorcotta_arcs_side_b" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json deleted file mode 100644 index cbf54c019a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_curves_b", - "east": "twilightforest:block/terrorcotta_curves_d", - "north": "twilightforest:block/terrorcotta_curves_b", - "particle": "twilightforest:block/terrorcotta_curves_a", - "south": "twilightforest:block/terrorcotta_curves_a", - "up": "twilightforest:block/terrorcotta_curves_c", - "west": "twilightforest:block/terrorcotta_curves_c" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json deleted file mode 100644 index a68287859a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_curves_d", - "east": "twilightforest:block/terrorcotta_curves_c", - "north": "twilightforest:block/terrorcotta_curves_a", - "particle": "twilightforest:block/terrorcotta_curves_a", - "south": "twilightforest:block/terrorcotta_curves_b", - "up": "twilightforest:block/terrorcotta_curves_a", - "west": "twilightforest:block/terrorcotta_curves_d" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json deleted file mode 100644 index 91043f5e96..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_curves_a", - "east": "twilightforest:block/terrorcotta_curves_a", - "north": "twilightforest:block/terrorcotta_curves_d", - "particle": "twilightforest:block/terrorcotta_curves_a", - "south": "twilightforest:block/terrorcotta_curves_c", - "up": "twilightforest:block/terrorcotta_curves_d", - "west": "twilightforest:block/terrorcotta_curves_b" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json deleted file mode 100644 index f9dda73988..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_curves_c", - "east": "twilightforest:block/terrorcotta_curves_b", - "north": "twilightforest:block/terrorcotta_curves_c", - "particle": "twilightforest:block/terrorcotta_curves_a", - "south": "twilightforest:block/terrorcotta_curves_d", - "up": "twilightforest:block/terrorcotta_curves_b", - "west": "twilightforest:block/terrorcotta_curves_a" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json deleted file mode 100644 index b74d6dd8a9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_lines_b", - "east": "twilightforest:block/terrorcotta_lines_b", - "north": "twilightforest:block/terrorcotta_lines_a", - "particle": "twilightforest:block/terrorcotta_lines_a", - "south": "twilightforest:block/terrorcotta_lines_a", - "up": "twilightforest:block/terrorcotta_lines_b", - "west": "twilightforest:block/terrorcotta_lines_b" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json deleted file mode 100644 index 48f9a485a8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "down": "twilightforest:block/terrorcotta_lines_a", - "east": "twilightforest:block/terrorcotta_lines_a", - "north": "twilightforest:block/terrorcotta_lines_b", - "particle": "twilightforest:block/terrorcotta_lines_a", - "south": "twilightforest:block/terrorcotta_lines_b", - "up": "twilightforest:block/terrorcotta_lines_a", - "west": "twilightforest:block/terrorcotta_lines_a" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json deleted file mode 100644 index 8e8e1f91d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/thick_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json b/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json deleted file mode 100644 index a54fc8a7a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/oak_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json b/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json deleted file mode 100644 index fee1a80b90..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/thorn_rose" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button.json b/src/generated/resources/assets/twilightforest/models/block/time_button.json similarity index 51% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button.json rename to src/generated/resources/assets/twilightforest/models/block/time_button.json index 74d67a676c..a5598ee350 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_button_inventory.json b/src/generated/resources/assets/twilightforest/models/block/time_button_inventory.json new file mode 100644 index 0000000000..07589e78a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_inventory", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/time_button_pressed.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed.json rename to src/generated/resources/assets/twilightforest/models/block/time_button_pressed.json index 4c5d401bd7..081c9f4a8b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_chest.json b/src/generated/resources/assets/twilightforest/models/block/time_chest.json deleted file mode 100644 index 11ee7d09c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json new file mode 100644 index 0000000000..f209811fc5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json new file mode 100644 index 0000000000..d39b39f056 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json new file mode 100644 index 0000000000..d6e0f7069c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json new file mode 100644 index 0000000000..6339194487 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json new file mode 100644 index 0000000000..4dfd0cebc5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json new file mode 100644 index 0000000000..17ed31a29a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json new file mode 100644 index 0000000000..924860ee35 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json new file mode 100644 index 0000000000..ad3339f59b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/time_door_bottom", + "top": "twilightforest:block/time_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_gate.json index ba639e9322..3acba46bb9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_gate_open.json index a4662f7097..753906bffe 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall.json index 252d8798c9..22f4a90719 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall_open.json similarity index 59% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall_open.json index 650446e81e..2b399a83f3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_fence_inventory.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_inventory.json new file mode 100644 index 0000000000..4762e700c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_inventory", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_post.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_post.json index 5de6b115b7..84e366e252 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/time_fence_side.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side.json rename to src/generated/resources/assets/twilightforest/models/block/time_fence_side.json index 71645cfb09..04318c2577 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json deleted file mode 100644 index 125132b51c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json deleted file mode 100644 index 883197e940..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 16.0, - 16.0, - 0.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/time_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log.json b/src/generated/resources/assets/twilightforest/models/block/time_log.json deleted file mode 100644 index 65153404b7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_core.json b/src/generated/resources/assets/twilightforest/models/block/time_log_core.json deleted file mode 100644 index 20ae09c07b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_log_core.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log_core" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json deleted file mode 100644 index 0c1a8b7569..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log_core_on" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json deleted file mode 100644 index 5e2c01fc56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hedge_rose.json b/src/generated/resources/assets/twilightforest/models/block/time_planks.json similarity index 57% rename from src/generated/resources/assets/twilightforest/models/block/hedge_rose.json rename to src/generated/resources/assets/twilightforest/models/block/time_planks.json index a3d48944ff..7d969f1299 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hedge_rose.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/hedge_rose" + "all": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/time_pressure_plate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate.json rename to src/generated/resources/assets/twilightforest/models/block/time_pressure_plate.json index 938680b524..337332aadd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/time_pressure_plate_down.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down.json rename to src/generated/resources/assets/twilightforest/models/block/time_pressure_plate_down.json index 7151544044..844e0921ec 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_time_0" + "texture": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_sapling.json b/src/generated/resources/assets/twilightforest/models/block/time_sapling.json deleted file mode 100644 index fc0dd24b5c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/time_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_sign.json index 11ee7d09c6..3ba099844f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_time_0" + "particle": "twilightforest:block/time_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_slab.json b/src/generated/resources/assets/twilightforest/models/block/time_slab.json new file mode 100644 index 0000000000..913001348f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/time_planks", + "side": "twilightforest:block/time_planks", + "top": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/time_slab_top.json new file mode 100644 index 0000000000..adea63c656 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/time_planks", + "side": "twilightforest:block/time_planks", + "top": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_stairs.json b/src/generated/resources/assets/twilightforest/models/block/time_stairs.json new file mode 100644 index 0000000000..c07da0732c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/time_planks", + "side": "twilightforest:block/time_planks", + "top": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json new file mode 100644 index 0000000000..dee182360b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/time_planks", + "side": "twilightforest:block/time_planks", + "top": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json new file mode 100644 index 0000000000..ce42430203 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/time_planks", + "side": "twilightforest:block/time_planks", + "top": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json new file mode 100644 index 0000000000..bcc7bd0851 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/time_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json new file mode 100644 index 0000000000..02f9dc0323 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/time_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json new file mode 100644 index 0000000000..2df8b1ed9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/time_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/time_trapped_chest.json deleted file mode 100644 index 11ee7d09c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_wall_hanging_sign.json deleted file mode 100644 index 125132b51c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_wall_sign.json deleted file mode 100644 index 11ee7d09c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wood.json b/src/generated/resources/assets/twilightforest/models/block/time_wood.json deleted file mode 100644 index 9f0dd33195..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/time_log", - "side": "twilightforest:block/time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/time_wood_horizontal.json deleted file mode 100644 index b5b02c6667..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/time_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/time_log", - "side": "twilightforest:block/time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json deleted file mode 100644 index 12f9ab693f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "ambientocclusion": false, - "elements": [ - { - "faces": { - "north": { - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - }, - { - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/torchberry_plant", - "cross2": "twilightforest:block/torchberry_plant_glow", - "particle": "#cross" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_no_berries.json b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_no_berries.json deleted file mode 100644 index 46d4bb57e1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_no_berries.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/torchberry_plant" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/towerwood.json b/src/generated/resources/assets/twilightforest/models/block/towerwood.json deleted file mode 100644 index 2b609cd313..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/towerwood.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#down", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#east", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#north", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#south", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#up", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#west", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:solid", - "textures": { - "all": "twilightforest:block/towerwood", - "down": "#all", - "east": "#all", - "north": "#all", - "particle": "#north", - "south": "#all", - "up": "#all", - "west": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/towerwood_flipped.json b/src/generated/resources/assets/twilightforest/models/block/towerwood_flipped.json deleted file mode 100644 index 037cb1879a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/towerwood_flipped.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 16.0, - 16.0, - 0.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/towerwood", - "particle": "#all" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button.json b/src/generated/resources/assets/twilightforest/models/block/transformation_button.json similarity index 50% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_button.json index becf12f980..40ef618c07 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_button.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_button.json b/src/generated/resources/assets/twilightforest/models/block/transformation_button_inventory.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/item/canopy_button.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_button_inventory.json index 0d7eb99629..881bb95a2b 100644 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_button.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_button_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/transformation_button_pressed.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_button_pressed.json index 65719bc700..6b35be2d0d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_button_pressed.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/button_pressed", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_chest.json b/src/generated/resources/assets/twilightforest/models/block/transformation_chest.json deleted file mode 100644 index c5cbcbe750..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json new file mode 100644 index 0000000000..840506852d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json new file mode 100644 index 0000000000..fa2ae265da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json new file mode 100644 index 0000000000..b4ae27f786 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json new file mode 100644 index 0000000000..d802ffc081 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json new file mode 100644 index 0000000000..c5d10cbd3e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json new file mode 100644 index 0000000000..5503b7b1af --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json new file mode 100644 index 0000000000..492a3f1745 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json new file mode 100644 index 0000000000..441368edbc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/transformation_door_bottom", + "top": "twilightforest:block/transformation_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate.json index 4adabcd971..34e7d7497a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_open.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_open.json index 9487128ffd..b16d149577 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_open", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall.json similarity index 56% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall.json index b07baea2f4..2a2bf8fd2f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall_open.json similarity index 58% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall_open.json index 323737d9cb..db87d09ad6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_gate_wall_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_fence_gate_wall_open", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_fence.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_inventory.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/item/canopy_fence.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_inventory.json index 04ed8bb774..3d769ab27a 100644 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_fence.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_inventory", "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_post.json similarity index 52% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_post.json index d35c57fc94..5baa20a8cc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_post", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_side.json similarity index 52% rename from src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_fence_side.json index c88667d715..c886cc6356 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_fence_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/fence_side", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json deleted file mode 100644 index 6dbcb2d4be..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json deleted file mode 100644 index 7baed18800..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "rotation": 270, - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/transformation_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log.json deleted file mode 100644 index 3527ec1920..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json deleted file mode 100644 index 90546d62e6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log_core" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json deleted file mode 100644 index 8483eb6ddc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log_core_on" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json deleted file mode 100644 index 424d673add..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks.json b/src/generated/resources/assets/twilightforest/models/block/transformation_planks.json similarity index 52% rename from src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_planks.json index 0067cde171..c02b223593 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/wood/planks_trans_0" + "all": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate.json similarity index 54% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate.json index df2885548d..461331bba5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_up", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate_down.json similarity index 55% rename from src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate_down.json index b15960274d..a3a9b0be27 100644 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_pressure_plate_down.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/pressure_plate_down", "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" + "texture": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json deleted file mode 100644 index d1f5846d81..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/transformation_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_sign.json index c5cbcbe750..1b9b177d25 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" + "particle": "twilightforest:block/transformation_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_slab.json b/src/generated/resources/assets/twilightforest/models/block/transformation_slab.json new file mode 100644 index 0000000000..81b38f4c0d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/transformation_planks", + "side": "twilightforest:block/transformation_planks", + "top": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/transformation_slab_top.json new file mode 100644 index 0000000000..d8b204fdd3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/transformation_planks", + "side": "twilightforest:block/transformation_planks", + "top": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_stairs.json b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs.json new file mode 100644 index 0000000000..02e549f4a4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/transformation_planks", + "side": "twilightforest:block/transformation_planks", + "top": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json new file mode 100644 index 0000000000..318c173c3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/transformation_planks", + "side": "twilightforest:block/transformation_planks", + "top": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json new file mode 100644 index 0000000000..9c2e2a899b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/transformation_planks", + "side": "twilightforest:block/transformation_planks", + "top": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json new file mode 100644 index 0000000000..b471b8d95e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/transformation_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json new file mode 100644 index 0000000000..34268e094a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/transformation_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json new file mode 100644 index 0000000000..09e2669014 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/transformation_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapped_chest.json deleted file mode 100644 index c5cbcbe750..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wall_hanging_sign.json deleted file mode 100644 index 6dbcb2d4be..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wall_sign.json deleted file mode 100644 index c5cbcbe750..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json deleted file mode 100644 index a4c57d7029..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/transformation_log", - "side": "twilightforest:block/transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wood_horizontal.json deleted file mode 100644 index 5b62a84e57..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/transformation_log", - "side": "twilightforest:block/transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollber.json b/src/generated/resources/assets/twilightforest/models/block/trollber.json deleted file mode 100644 index d61a18eff5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trollber.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "ambientocclusion": false, - "elements": [ - { - "faces": { - "north": { - "neoforge_data": { - "block_light": 1, - "sky_light": 1 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 1, - "sky_light": 1 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 1, - "sky_light": 1 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 1, - "sky_light": 1 - }, - "texture": "#cross", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - }, - { - "faces": { - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 0.8, - 0, - 8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 15.2, - 16, - 8 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#cross2", - "uv": [ - 0.0, - 0.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 8, - 0, - 0.8 - ], - "rotation": { - "angle": 45.0, - "axis": "y", - "origin": [ - 8, - 8, - 8 - ], - "rescale": true - }, - "shade": false, - "to": [ - 8, - 16, - 15.2 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/trollber", - "cross2": "twilightforest:block/trollber_glow", - "particle": "#cross" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inside.json b/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inside.json deleted file mode 100644 index 04845b224d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/trollsteinn" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollsteinn_outside.json b/src/generated/resources/assets/twilightforest/models/block/trollsteinn_outside.json deleted file mode 100644 index 7038f3c987..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trollsteinn_outside.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_single_face", - "textures": { - "texture": "twilightforest:block/trollsteinn_light" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollvidr.json b/src/generated/resources/assets/twilightforest/models/block/trollvidr.json deleted file mode 100644 index c26456ae41..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trollvidr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/trollvidr" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json deleted file mode 100644 index 0d9a6b5492..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/ur-ghast_latent", - "end": "twilightforest:block/pedestal/top", - "north": "twilightforest:block/pedestal/naga_latent", - "particle": "#end", - "south": "twilightforest:block/pedestal/lich_latent", - "west": "twilightforest:block/pedestal/hydra_latent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json deleted file mode 100644 index 50df4f0ab7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/hydra_latent", - "end": "twilightforest:block/pedestal/top", - "north": "twilightforest:block/pedestal/snow_queen_latent", - "particle": "#end", - "south": "twilightforest:block/pedestal/naga_latent", - "west": "twilightforest:block/pedestal/lich_latent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json deleted file mode 100644 index 815b793633..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/lich_latent", - "end": "twilightforest:block/pedestal/top", - "north": "twilightforest:block/pedestal/ur-ghast_latent", - "particle": "#end", - "south": "twilightforest:block/pedestal/snow_queen_latent", - "west": "twilightforest:block/pedestal/naga_latent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json deleted file mode 100644 index 09e2a57a2b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/naga_latent", - "end": "twilightforest:block/pedestal/top", - "north": "twilightforest:block/pedestal/hydra_latent", - "particle": "#end", - "south": "twilightforest:block/pedestal/ur-ghast_latent", - "west": "twilightforest:block/pedestal/snow_queen_latent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json deleted file mode 100644 index 8334459b50..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/snow_queen_latent", - "end": "twilightforest:block/pedestal/top", - "north": "twilightforest:block/pedestal/lich_latent", - "particle": "#end", - "south": "twilightforest:block/pedestal/hydra_latent", - "west": "twilightforest:block/pedestal/ur-ghast_latent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json deleted file mode 100644 index df288af096..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/ur-ghast_latent", - "east2": "twilightforest:block/pedestal/ur-ghast_glow", - "east3": "twilightforest:block/pedestal/ur-ghast", - "end": "twilightforest:block/pedestal/top", - "end2": "twilightforest:block/pedestal/top_glow", - "north": "twilightforest:block/pedestal/naga_latent", - "north2": "twilightforest:block/pedestal/naga_glow", - "north3": "twilightforest:block/pedestal/naga", - "particle": "#end", - "south": "twilightforest:block/pedestal/lich_latent", - "south2": "twilightforest:block/pedestal/lich_glow", - "south3": "twilightforest:block/pedestal/lich", - "west": "twilightforest:block/pedestal/hydra_latent", - "west2": "twilightforest:block/pedestal/hydra_glow", - "west3": "twilightforest:block/pedestal/hydra" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json deleted file mode 100644 index bd2ba1be81..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/hydra_latent", - "east2": "twilightforest:block/pedestal/hydra_glow", - "east3": "twilightforest:block/pedestal/hydra", - "end": "twilightforest:block/pedestal/top", - "end2": "twilightforest:block/pedestal/top_glow", - "north": "twilightforest:block/pedestal/snow_queen_latent", - "north2": "twilightforest:block/pedestal/snow_queen_glow", - "north3": "twilightforest:block/pedestal/snow_queen", - "particle": "#end", - "south": "twilightforest:block/pedestal/naga_latent", - "south2": "twilightforest:block/pedestal/naga_glow", - "south3": "twilightforest:block/pedestal/naga", - "west": "twilightforest:block/pedestal/lich_latent", - "west2": "twilightforest:block/pedestal/lich_glow", - "west3": "twilightforest:block/pedestal/lich" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json deleted file mode 100644 index 943d06089d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/lich_latent", - "east2": "twilightforest:block/pedestal/lich_glow", - "east3": "twilightforest:block/pedestal/lich", - "end": "twilightforest:block/pedestal/top", - "end2": "twilightforest:block/pedestal/top_glow", - "north": "twilightforest:block/pedestal/ur-ghast_latent", - "north2": "twilightforest:block/pedestal/ur-ghast_glow", - "north3": "twilightforest:block/pedestal/ur-ghast", - "particle": "#end", - "south": "twilightforest:block/pedestal/snow_queen_latent", - "south2": "twilightforest:block/pedestal/snow_queen_glow", - "south3": "twilightforest:block/pedestal/snow_queen", - "west": "twilightforest:block/pedestal/naga_latent", - "west2": "twilightforest:block/pedestal/naga_glow", - "west3": "twilightforest:block/pedestal/naga" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json deleted file mode 100644 index 8976611201..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/naga_latent", - "east2": "twilightforest:block/pedestal/naga_glow", - "east3": "twilightforest:block/pedestal/naga", - "end": "twilightforest:block/pedestal/top", - "end2": "twilightforest:block/pedestal/top_glow", - "north": "twilightforest:block/pedestal/hydra_latent", - "north2": "twilightforest:block/pedestal/hydra_glow", - "north3": "twilightforest:block/pedestal/hydra", - "particle": "#end", - "south": "twilightforest:block/pedestal/ur-ghast_latent", - "south2": "twilightforest:block/pedestal/ur-ghast_glow", - "south3": "twilightforest:block/pedestal/ur-ghast", - "west": "twilightforest:block/pedestal/snow_queen_latent", - "west2": "twilightforest:block/pedestal/snow_queen_glow", - "west3": "twilightforest:block/pedestal/snow_queen" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json deleted file mode 100644 index 1502bab0db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json +++ /dev/null @@ -1,513 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 3, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#end" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 13, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#end" - }, - "east": { - "texture": "#east" - }, - "north": { - "texture": "#north" - }, - "south": { - "texture": "#south" - }, - "west": { - "texture": "#west" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 12, - "sky_light": 12 - }, - "texture": "#end2" - } - }, - "from": [ - 1, - 0, - 1 - ], - "to": [ - 15, - 16, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 1 - ], - "to": [ - 4, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 1 - ], - "to": [ - 15, - 13, - 4 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 1, - 12, - 12 - ], - "to": [ - 4, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 12, - 12, - 12 - ], - "to": [ - 15, - 13, - 15 - ] - }, - { - "faces": { - "east": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "west": { - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 2, - 3, - 2 - ], - "to": [ - 14, - 13, - 14 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "east": "twilightforest:block/pedestal/snow_queen_latent", - "east2": "twilightforest:block/pedestal/snow_queen_glow", - "east3": "twilightforest:block/pedestal/snow_queen", - "end": "twilightforest:block/pedestal/top", - "end2": "twilightforest:block/pedestal/top_glow", - "north": "twilightforest:block/pedestal/lich_latent", - "north2": "twilightforest:block/pedestal/lich_glow", - "north3": "twilightforest:block/pedestal/lich", - "particle": "#end", - "south": "twilightforest:block/pedestal/hydra_latent", - "south2": "twilightforest:block/pedestal/hydra_glow", - "south3": "twilightforest:block/pedestal/hydra", - "west": "twilightforest:block/pedestal/ur-ghast_latent", - "west2": "twilightforest:block/pedestal/ur-ghast_glow", - "west3": "twilightforest:block/pedestal/ur-ghast" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button.json new file mode 100644 index 0000000000..68f4b1f73d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_inventory.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_inventory.json new file mode 100644 index 0000000000..9229f16e90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_inventory", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_pressed.json new file mode 100644 index 0000000000..39fab4659c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_button_pressed.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_pressed", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_chest.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_chest.json deleted file mode 100644 index bec2997d0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json new file mode 100644 index 0000000000..49fa2d7e19 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json new file mode 100644 index 0000000000..be51f5b694 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json new file mode 100644 index 0000000000..d72a8b6ece --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json new file mode 100644 index 0000000000..91e2eee823 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json new file mode 100644 index 0000000000..669ef94539 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json new file mode 100644 index 0000000000..a243c4ee88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json new file mode 100644 index 0000000000..4aa1dfbf01 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json new file mode 100644 index 0000000000..70e3d8f5c8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "twilightforest:block/twilight_oak_door_bottom", + "top": "twilightforest:block/twilight_oak_door_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate.json new file mode 100644 index 0000000000..7354baa8cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_open.json new file mode 100644 index 0000000000..21c1b05a0d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_open", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json new file mode 100644 index 0000000000..c6c2e10b77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall_open.json new file mode 100644 index 0000000000..37a132a3c2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_gate_wall_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall_open", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_inventory.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_inventory.json new file mode 100644 index 0000000000..42f5e1d2a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_inventory", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_post.json new file mode 100644 index 0000000000..d3ab116649 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_post", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_side.json new file mode 100644 index 0000000000..ac49ab6444 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_fence_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_side", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json deleted file mode 100644 index 1ec28ff233..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json deleted file mode 100644 index 192ebd6700..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json deleted file mode 100644 index bc10bb5229..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/twilight_oak_log_top", - "side": "twilightforest:block/twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json deleted file mode 100644 index 8bae78f7f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/twilight_oak_log_top", - "side": "twilightforest:block/twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_planks.json similarity index 53% rename from src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json rename to src/generated/resources/assets/twilightforest/models/block/twilight_oak_planks.json index ec2ba231a2..910448b1e6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_planks.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "twilightforest:block/castle_roof_tile" + "all": "twilightforest:block/twilight_oak_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate.json new file mode 100644 index 0000000000..0be6598722 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/pressure_plate_up", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json new file mode 100644 index 0000000000..da16d63528 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/pressure_plate_down", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json deleted file mode 100644 index 9420fa5a4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/twilight_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sign.json index bec2997d0b..e072df39d3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sign.json @@ -1,6 +1,5 @@ { - "parent": "minecraft:builtin/entity", "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" + "particle": "twilightforest:block/twilight_oak_planks" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab.json new file mode 100644 index 0000000000..9290f585b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "twilightforest:block/twilight_oak_planks", + "side": "twilightforest:block/twilight_oak_planks", + "top": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab_top.json new file mode 100644 index 0000000000..f0c86a1d04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "twilightforest:block/twilight_oak_planks", + "side": "twilightforest:block/twilight_oak_planks", + "top": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs.json new file mode 100644 index 0000000000..66c6770e2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/twilight_oak_planks", + "side": "twilightforest:block/twilight_oak_planks", + "top": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json new file mode 100644 index 0000000000..eca08ef288 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/twilight_oak_planks", + "side": "twilightforest:block/twilight_oak_planks", + "top": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json new file mode 100644 index 0000000000..85414c18e9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/twilight_oak_planks", + "side": "twilightforest:block/twilight_oak_planks", + "top": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json new file mode 100644 index 0000000000..b0adbb9952 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "twilightforest:block/twilight_oak_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json new file mode 100644 index 0000000000..5d63e1525a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_open", + "textures": { + "texture": "twilightforest:block/twilight_oak_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json new file mode 100644 index 0000000000..712b0ce116 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_orientable_trapdoor_top", + "textures": { + "texture": "twilightforest:block/twilight_oak_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapped_chest.json deleted file mode 100644 index bec2997d0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wall_hanging_sign.json deleted file mode 100644 index 1ec28ff233..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wall_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json deleted file mode 100644 index d03e345bd6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood_horizontal.json deleted file mode 100644 index ff7be7a7fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/twilight_oak_log", - "side": "twilightforest:block/twilight_oak_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_wall_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_wall_sign.json deleted file mode 100644 index bec2997d0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_wall_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json b/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json deleted file mode 100644 index 28696567e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "twilightforest:block/twisted_stone_end", - "side": "twilightforest:block/twisted_stone_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json deleted file mode 100644 index f3d4462257..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/twisted_stone_end", - "side": "twilightforest:block/twisted_stone_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json b/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json deleted file mode 100644 index 6cc9f7aae9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_farmland", - "textures": { - "dirt": "twilightforest:block/uberous_soil", - "top": "twilightforest:block/uberous_soil" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json deleted file mode 100644 index b48432a2c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "bottom": "minecraft:block/jungle_planks", - "east": "twilightforest:block/uncrafting_side", - "north": "twilightforest:block/uncrafting_side", - "particle": "#bottom", - "south": "twilightforest:block/uncrafting_side", - "top": "twilightforest:block/uncrafting_top", - "top2": "twilightforest:block/uncrafting_glow", - "west": "twilightforest:block/uncrafting_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_glowing.json b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_glowing.json deleted file mode 100644 index 9261f01518..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_glowing.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:translucent", - "textures": { - "bottom": "minecraft:block/jungle_planks", - "east": "twilightforest:block/uncrafting_side", - "east2": "twilightforest:block/uncrafting_glow_side", - "north": "twilightforest:block/uncrafting_side", - "north2": "twilightforest:block/uncrafting_glow_side", - "particle": "#bottom", - "south": "twilightforest:block/uncrafting_side", - "south2": "twilightforest:block/uncrafting_glow_side", - "top": "twilightforest:block/uncrafting_top", - "top2": "twilightforest:block/uncrafting_glow", - "west": "twilightforest:block/uncrafting_side", - "west2": "twilightforest:block/uncrafting_glow_side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/underbrick.json b/src/generated/resources/assets/twilightforest/models/block/underbrick.json deleted file mode 100644 index 122c935ea3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/underbrick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/underbrick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json b/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json deleted file mode 100644 index 495b0409b2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/underbrick_floor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json b/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json deleted file mode 100644 index 375efed697..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "render_type": "minecraft:cutout", - "textures": { - "cross": "twilightforest:block/unripe_trollber" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json b/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json deleted file mode 100644 index 1e20a0386a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_vanish_off", - "all2": "twilightforest:block/tower_device_level_1/towerdev_vanish_off_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_vanish_off_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vanishing_block_active.json b/src/generated/resources/assets/twilightforest/models/block/vanishing_block_active.json deleted file mode 100644 index d8c9d8f577..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/vanishing_block_active.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#bottom" - }, - "east": { - "cullface": "east", - "texture": "#east" - }, - "north": { - "cullface": "north", - "texture": "#north" - }, - "south": { - "cullface": "south", - "texture": "#south" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#west" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#bottom2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#east2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#north2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#south2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#top2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#west2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#bottom3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#east3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#north3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#south3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#top3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#west3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/towerdev_vanish_on", - "all2": "twilightforest:block/tower_device_level_1/towerdev_vanish_on_1", - "all3": "twilightforest:block/tower_device_level_2/towerdev_vanish_on_2", - "bottom": "#all", - "bottom2": "#all2", - "bottom3": "#all3", - "east": "#all", - "east2": "#all2", - "east3": "#all3", - "north": "#all", - "north2": "#all2", - "north3": "#all3", - "particle": "#bottom", - "south": "#all", - "south2": "#all2", - "south3": "#all3", - "top": "#all", - "top2": "#all2", - "top3": "#all3", - "west": "#all", - "west2": "#all2", - "west3": "#all3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log.json b/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log.json deleted file mode 100644 index f5e7dd9af7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "texture": "#inner" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 2, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "texture": "#inner" - } - }, - "from": [ - 14, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "texture": "#inner" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 0 - ], - "to": [ - 14, - 16, - 2 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "texture": "#inner" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 14 - ], - "to": [ - 14, - 16, - 16 - ] - } - ], - "textures": { - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_ladder.json b/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_ladder.json deleted file mode 100644 index 1c0c7bfd68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_ladder.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "texture": "#inner" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 2, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "texture": "#inner" - } - }, - "from": [ - 14, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "texture": "#inner" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 0 - ], - "to": [ - 14, - 16, - 2 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "texture": "#inner" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 14 - ], - "to": [ - 14, - 16, - 16 - ] - }, - { - "faces": { - "north": { - "texture": "#climbable", - "tintindex": 1 - }, - "south": { - "texture": "#climbable", - "tintindex": 1 - } - }, - "from": [ - 2, - 0, - 2.8 - ], - "shade": false, - "to": [ - 14, - 16, - 2.8 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "climbable": "minecraft:block/ladder", - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_vine.json b/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_vine.json deleted file mode 100644 index a17a4010a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/vertical_hollow_log_vine.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "texture": "#inner" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 2, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "texture": "#inner" - } - }, - "from": [ - 14, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "cullface": "north", - "texture": "#side" - }, - "south": { - "texture": "#inner" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 0 - ], - "to": [ - 14, - 16, - 2 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top" - }, - "east": { - "cullface": "east", - "texture": "#side" - }, - "north": { - "texture": "#inner" - }, - "south": { - "cullface": "south", - "texture": "#side" - }, - "up": { - "cullface": "up", - "texture": "#top" - }, - "west": { - "cullface": "west", - "texture": "#side" - } - }, - "from": [ - 2, - 0, - 14 - ], - "to": [ - 14, - 16, - 16 - ] - }, - { - "faces": { - "north": { - "texture": "#climbable", - "tintindex": 1 - }, - "south": { - "texture": "#climbable", - "tintindex": 1 - } - }, - "from": [ - 2, - 0, - 2.8 - ], - "shade": false, - "to": [ - 14, - 16, - 2.8 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "climbable": "minecraft:block/vine", - "particle": "#side" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json deleted file mode 100644 index 3956c97b54..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json deleted file mode 100644 index e4ee5053c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door_vanished", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door_vanished" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json deleted file mode 100644 index d5411c8f4d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "parent": "minecraft:block/block", - "ambientocclusion": false, - "elements": [ - { - "condition": { - "direction": "west", - "if": true, - "parents": [] - }, - "faces": { - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "west", - "if": false, - "parents": [] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": true, - "parents": [] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "east", - "if": false, - "parents": [] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": true, - "parents": [] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down", - "if": false, - "parents": [] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": true, - "parents": [] - }, - "faces": { - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up", - "if": false, - "parents": [] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north", - "if": true, - "parents": [] - }, - "faces": { - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north", - "if": false, - "parents": [] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south", - "if": true, - "parents": [] - }, - "faces": { - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south", - "if": false, - "parents": [] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 7 - ], - "shade": false, - "to": [ - 9, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": true, - "parents": [ - "down", - "west" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 0, - 0, - 7 - ], - "shade": false, - "to": [ - 7, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": true, - "parents": [ - "down", - "east" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 9, - 0, - 7 - ], - "shade": false, - "to": [ - 16, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": true, - "parents": [ - "down", - "north" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 0 - ], - "shade": false, - "to": [ - 9, - 7, - 7 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "down_south", - "if": true, - "parents": [ - "down", - "south" - ] - }, - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 0.0, - 7.0, - 7.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 0.0, - 16.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 9 - ], - "shade": false, - "to": [ - 9, - 7, - 16 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "down" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 0.0, - 9.0, - 7.0 - ] - } - }, - "from": [ - 7, - 0, - 7 - ], - "shade": false, - "to": [ - 9, - 7, - 9 - ] - }, - { - "condition": { - "direction": "down_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "up_west", - "if": true, - "parents": [ - "up", - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 0, - 9, - 7 - ], - "shade": false, - "to": [ - 7, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": true, - "parents": [ - "up", - "east" - ] - }, - "faces": { - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 9, - 7 - ], - "shade": false, - "to": [ - 16, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": true, - "parents": [ - "up", - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 0 - ], - "shade": false, - "to": [ - 9, - 16, - 7 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_north", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "up_south", - "if": true, - "parents": [ - "up", - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 9 - ], - "shade": false, - "to": [ - 9, - 16, - 16 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "up" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 7.0, - 9.0, - 9.0, - 16.0 - ] - } - }, - "from": [ - 7, - 9, - 7 - ], - "shade": false, - "to": [ - 9, - 16, - 9 - ] - }, - { - "condition": { - "direction": "up_south", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "north_west", - "if": true, - "parents": [ - "north", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 0 - ], - "shade": false, - "to": [ - 7, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "north_east", - "if": true, - "parents": [ - "north", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 0 - ], - "shade": false, - "to": [ - 16, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "north" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 0 - ], - "shade": false, - "to": [ - 9, - 9, - 7 - ] - }, - { - "condition": { - "direction": "north_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_west", - "if": true, - "parents": [ - "south", - "west" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 9 - ], - "shade": false, - "to": [ - 7, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_west", - "if": false, - "parents": [ - "west" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane" - } - }, - "from": [ - 0, - 7, - 7 - ], - "shade": false, - "to": [ - 7, - 9, - 9 - ] - }, - { - "condition": { - "direction": "south_east", - "if": true, - "parents": [ - "south", - "east" - ] - }, - "faces": { - "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 9.0, - 16.0, - 16.0 - ] - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - }, - "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 9.0, - 7.0, - 16.0 - ] - } - }, - "from": [ - 9, - 7, - 9 - ], - "shade": false, - "to": [ - 16, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "south" - ] - }, - "faces": { - "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 9.0, - 7.0, - 16.0, - 9.0 - ] - } - }, - "from": [ - 7, - 7, - 9 - ], - "shade": false, - "to": [ - 9, - 9, - 16 - ] - }, - { - "condition": { - "direction": "south_east", - "if": false, - "parents": [ - "east" - ] - }, - "faces": { - "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#pane", - "uv": [ - 0.0, - 7.0, - 7.0, - 9.0 - ] - } - }, - "from": [ - 9, - 7, - 7 - ], - "shade": false, - "to": [ - 16, - 9, - 9 - ] - } - ], - "loader": "twilightforest:force_field", - "render_type": "minecraft:translucent", - "textures": { - "pane": "twilightforest:block/violet_force_field", - "particle": "twilightforest:block/violet_force_field" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wall_candelabra.json b/src/generated/resources/assets/twilightforest/models/block/wall_candelabra.json deleted file mode 100644 index ddb2494dc7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wall_candelabra.json +++ /dev/null @@ -1,346 +0,0 @@ -{ - "parent": "minecraft:block/block", - "elements": [ - { - "faces": { - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 0.0, - 16.0, - 6.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 16.0, - 0.0, - 0.0, - 6.0 - ] - } - }, - "from": [ - 0, - 1, - 12 - ], - "to": [ - 16, - 7, - 12 - ] - }, - { - "faces": { - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 6.0, - 6.0, - 12.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 6.0, - 6.0, - 0.0, - 12.0 - ] - } - }, - "from": [ - 8, - 1, - 9 - ], - "to": [ - 8, - 7, - 15 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 1, - 7, - 10 - ], - "to": [ - 5, - 8, - 14 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 6, - 7, - 10 - ], - "to": [ - 10, - 8, - 14 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - } - }, - "from": [ - 11, - 7, - 10 - ], - "to": [ - 15, - 8, - 14 - ] - }, - { - "faces": { - "down": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "east": { - "texture": "#candelabra", - "uv": [ - 3.0, - 12.0, - 4.0, - 16.0 - ] - }, - "north": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "south": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 16.0 - ] - }, - "up": { - "texture": "#candelabra", - "uv": [ - 0.0, - 12.0, - 4.0, - 13.0 - ] - }, - "west": { - "texture": "#candelabra", - "uv": [ - 3.0, - 12.0, - 4.0, - 16.0 - ] - } - }, - "from": [ - 6, - 2, - 15 - ], - "to": [ - 10, - 6, - 16 - ] - } - ], - "render_type": "minecraft:cutout", - "textures": { - "candelabra": "twilightforest:block/candelabra", - "particle": "#candelabra" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json deleted file mode 100644 index a63cb1921d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/weathered_deadrock" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json deleted file mode 100644 index b9fa33fd77..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "render_type": "minecraft:translucent", - "textures": { - "all": "twilightforest:block/wispy_cloud" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected.json deleted file mode 100644 index 7342820af0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected_extended.json deleted file mode 100644 index c20ade991c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short.json deleted file mode 100644 index 7779538089..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short_extended.json deleted file mode 100644 index 3abe2f72ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall.json deleted file mode 100644 index 442eae40bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall_extended.json deleted file mode 100644 index e619e7599c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/acacia/acacia_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected.json deleted file mode 100644 index efcaceec72..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected_extended.json deleted file mode 100644 index f5b534c550..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short.json deleted file mode 100644 index 017a054cf7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short_extended.json deleted file mode 100644 index 736f2b9c02..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall.json deleted file mode 100644 index e1521fc80b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall_extended.json deleted file mode 100644 index b9e937cfdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/bamboo/bamboo_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected.json deleted file mode 100644 index fa4cc2929f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected_extended.json deleted file mode 100644 index 26476ee44d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short.json deleted file mode 100644 index c4ab3565dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short_extended.json deleted file mode 100644 index dfae781421..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall.json deleted file mode 100644 index c0a6a4554e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall_extended.json deleted file mode 100644 index 226b8d6332..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/birch/birch_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected.json deleted file mode 100644 index 4c0acd4f48..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_1.json deleted file mode 100644 index f79d055034..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_2.json deleted file mode 100644 index 7a01b090eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_3.json deleted file mode 100644 index f9261e8240..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended.json deleted file mode 100644 index baf0d5c398..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_1.json deleted file mode 100644 index d141715565..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_2.json deleted file mode 100644 index 5a5f12cd15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_3.json deleted file mode 100644 index 3dbd9c68ea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short.json deleted file mode 100644 index 6e6333e956..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_1.json deleted file mode 100644 index 8f517735d0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_2.json deleted file mode 100644 index e0ab51df13..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_3.json deleted file mode 100644 index fd370c6a99..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended.json deleted file mode 100644 index efd0c2dce0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_1.json deleted file mode 100644 index b03458c969..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_2.json deleted file mode 100644 index d5822ac59f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_3.json deleted file mode 100644 index dbac90299e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall.json deleted file mode 100644 index 29a4f4545b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_1.json deleted file mode 100644 index 6296dbce26..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_2.json deleted file mode 100644 index 0dcd0a97ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_3.json deleted file mode 100644 index 34348b8e65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended.json deleted file mode 100644 index 24514ff389..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_1.json deleted file mode 100644 index 3650df6559..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_2.json deleted file mode 100644 index 9d53194913..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_3.json deleted file mode 100644 index cd4eedf1e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/canopy/canopy_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected.json deleted file mode 100644 index e7b2480227..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected_extended.json deleted file mode 100644 index 3c18e0e34c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short.json deleted file mode 100644 index 52d04812cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short_extended.json deleted file mode 100644 index 8324ac264d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall.json deleted file mode 100644 index 5b83010164..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall_extended.json deleted file mode 100644 index f180b1c8c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/cherry/cherry_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected.json deleted file mode 100644 index 0143a7c4fc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected_extended.json deleted file mode 100644 index 4dccb65769..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short.json deleted file mode 100644 index c1d322700d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json deleted file mode 100644 index 8e95b32550..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json deleted file mode 100644 index 3dff414fb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json deleted file mode 100644 index 4051bf2e61..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/crimson/crimson_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json deleted file mode 100644 index 07657005bb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json deleted file mode 100644 index 116d07cd74..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json deleted file mode 100644 index 9596d84216..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json deleted file mode 100644 index 17677f7396..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json deleted file mode 100644 index 586797c7b0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json deleted file mode 100644 index d4ced5d29d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/dark_oak/dark_oak_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json deleted file mode 100644 index 264610b5c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json deleted file mode 100644 index b0346c93e4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json deleted file mode 100644 index 2e121c45f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_3.json deleted file mode 100644 index 74fff02f30..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended.json deleted file mode 100644 index 031d655206..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_1.json deleted file mode 100644 index b0013207cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_2.json deleted file mode 100644 index 23b656023d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_3.json deleted file mode 100644 index c328f98962..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short.json deleted file mode 100644 index c515e2809c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_1.json deleted file mode 100644 index 97920e526b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_2.json deleted file mode 100644 index 8c10cb5162..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_3.json deleted file mode 100644 index 40285c59c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended.json deleted file mode 100644 index 34d340651c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_1.json deleted file mode 100644 index a55b9a4d88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_2.json deleted file mode 100644 index 235f4e5a32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_3.json deleted file mode 100644 index 3549dee902..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall.json deleted file mode 100644 index 9df6a8bd3a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_1.json deleted file mode 100644 index 5af7c1c23c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_2.json deleted file mode 100644 index 90436e42d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_3.json deleted file mode 100644 index e9531402eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended.json deleted file mode 100644 index 0d05a300a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json deleted file mode 100644 index 5638235338..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json deleted file mode 100644 index 3944231750..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json deleted file mode 100644 index d523977631..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/darkwood/dark_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json deleted file mode 100644 index c4594bcbac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json deleted file mode 100644 index 3933ae91c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json deleted file mode 100644 index 40f03a530f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short_extended.json deleted file mode 100644 index 214707115d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall.json deleted file mode 100644 index 2097e2c571..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall_extended.json deleted file mode 100644 index 8a31a8dfea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/jungle/jungle_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected.json deleted file mode 100644 index fb8e9ae387..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_1.json deleted file mode 100644 index 21c3d2fba4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_2.json deleted file mode 100644 index 58a2932c67..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_3.json deleted file mode 100644 index 4383a74355..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended.json deleted file mode 100644 index 10bca6e26d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_1.json deleted file mode 100644 index 3f5e3e2605..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_2.json deleted file mode 100644 index 3b76d3ba7c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_3.json deleted file mode 100644 index 860dc323d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short.json deleted file mode 100644 index e0c9019a35..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_1.json deleted file mode 100644 index 786f9c376d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_2.json deleted file mode 100644 index b62b84ff50..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_3.json deleted file mode 100644 index 866df0df45..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended.json deleted file mode 100644 index e2951fbae1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_1.json deleted file mode 100644 index 3ddca21903..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_2.json deleted file mode 100644 index 288c4c1915..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_3.json deleted file mode 100644 index 05f837c3e5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall.json deleted file mode 100644 index a9442d7b5e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_1.json deleted file mode 100644 index 2a9e773d64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_2.json deleted file mode 100644 index 032e2ba515..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_3.json deleted file mode 100644 index b82b331c5f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended.json deleted file mode 100644 index de9cc2cb81..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_1.json deleted file mode 100644 index cf7fe0b21d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_2.json deleted file mode 100644 index b47bd02045..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_3.json deleted file mode 100644 index 4e0e916324..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mangrove/mangrove_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected.json deleted file mode 100644 index b43d73e5d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_1.json deleted file mode 100644 index 519ed9c7ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_2.json deleted file mode 100644 index f5ff663da1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_3.json deleted file mode 100644 index 94e008efbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended.json deleted file mode 100644 index e197954831..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_1.json deleted file mode 100644 index 709b0345c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_2.json deleted file mode 100644 index a8ba303fb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_3.json deleted file mode 100644 index 6ec201361a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short.json deleted file mode 100644 index e815eee19f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_1.json deleted file mode 100644 index ba9e12a121..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_2.json deleted file mode 100644 index 1aa4336b70..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_3.json deleted file mode 100644 index 7624281ff1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended.json deleted file mode 100644 index 7cfdc08beb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_1.json deleted file mode 100644 index 82b10cafa8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_2.json deleted file mode 100644 index e02a29db4d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_3.json deleted file mode 100644 index a623c6a434..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall.json deleted file mode 100644 index 8d95d35b05..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_1.json deleted file mode 100644 index 820b0107da..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_2.json deleted file mode 100644 index 37bf37dc1c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_3.json deleted file mode 100644 index c5c9dd0c51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended.json deleted file mode 100644 index 1c2032e348..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_1.json deleted file mode 100644 index 56f3f5604a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_2.json deleted file mode 100644 index c4032255f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_3.json deleted file mode 100644 index b0c4d91f05..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/mine/mining_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected.json deleted file mode 100644 index 15c4e648ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected_extended.json deleted file mode 100644 index a12b8d3084..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short.json deleted file mode 100644 index 8e434e96cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short_extended.json deleted file mode 100644 index 3ca258b05f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall.json deleted file mode 100644 index 25a80be090..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall_extended.json deleted file mode 100644 index a6c16480e1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/oak/oak_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected.json deleted file mode 100644 index d512549236..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_1.json deleted file mode 100644 index 88789dbb56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_2.json deleted file mode 100644 index 4520e7b14c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_3.json deleted file mode 100644 index 41ae0e96d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended.json deleted file mode 100644 index 1ff5fcb614..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_1.json deleted file mode 100644 index b7a6dc9e73..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_2.json deleted file mode 100644 index 0a92fdd404..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_3.json deleted file mode 100644 index c2a42c018c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short.json deleted file mode 100644 index 4d3a93b710..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_1.json deleted file mode 100644 index b06d26ad11..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_2.json deleted file mode 100644 index c445791d9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_3.json deleted file mode 100644 index 51e511bea0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended.json deleted file mode 100644 index 1c8c603859..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_1.json deleted file mode 100644 index 71307f3a1e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_2.json deleted file mode 100644 index f274907292..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_3.json deleted file mode 100644 index ce3bb83292..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall.json deleted file mode 100644 index 1b1b50bf9d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_1.json deleted file mode 100644 index b4a76d9174..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_2.json deleted file mode 100644 index 4f3568c717..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_3.json deleted file mode 100644 index 950aa0d3b7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended.json deleted file mode 100644 index fb1edfb316..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_1.json deleted file mode 100644 index b9faa521a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_2.json deleted file mode 100644 index e533aae8f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_3.json deleted file mode 100644 index 2b8c280490..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/sort/sorting_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected.json deleted file mode 100644 index 6691af2e0e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected_extended.json deleted file mode 100644 index a65ce0e878..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short.json deleted file mode 100644 index 5275d00275..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short_extended.json deleted file mode 100644 index 8009461821..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall.json deleted file mode 100644 index 4de62f0a26..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall_extended.json deleted file mode 100644 index 8fcd8189c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/spruce/spruce_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected.json deleted file mode 100644 index 3d8b591716..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_1.json deleted file mode 100644 index 5b6a087405..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_2.json deleted file mode 100644 index 15154b64fc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_3.json deleted file mode 100644 index a5d118fdf1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended.json deleted file mode 100644 index e3be2a1c0d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_1.json deleted file mode 100644 index c27809d7ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_2.json deleted file mode 100644 index c6899679e8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_3.json deleted file mode 100644 index 8033407f7c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short.json deleted file mode 100644 index adba227a60..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_1.json deleted file mode 100644 index 1a15abc77d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_2.json deleted file mode 100644 index 05a06d43b1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_3.json deleted file mode 100644 index 9bef054f4c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended.json deleted file mode 100644 index 19fae12267..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_1.json deleted file mode 100644 index ca95d5f162..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_2.json deleted file mode 100644 index 44b9ab4768..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_3.json deleted file mode 100644 index a9c84402bd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall.json deleted file mode 100644 index 2a27bd312f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_1.json deleted file mode 100644 index de32a74e72..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_2.json deleted file mode 100644 index 7046238041..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_3.json deleted file mode 100644 index af85e699da..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended.json deleted file mode 100644 index ef4bc822eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_1.json deleted file mode 100644 index 23046a814d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_2.json deleted file mode 100644 index aadab1cdd1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_3.json deleted file mode 100644 index f5aea59467..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/time/time_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected.json deleted file mode 100644 index 2bd465f911..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_1.json deleted file mode 100644 index 7d18e50991..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_2.json deleted file mode 100644 index 991f2e52e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_3.json deleted file mode 100644 index d655e034b3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended.json deleted file mode 100644 index 59bafd5fa3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_1.json deleted file mode 100644 index ddd4947ea5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_2.json deleted file mode 100644 index b3e90fc4ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_3.json deleted file mode 100644 index 112f43b0cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short.json deleted file mode 100644 index 5f416c775d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_1.json deleted file mode 100644 index 735d8edc3f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_2.json deleted file mode 100644 index d2e0c058d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_3.json deleted file mode 100644 index 7d20e694dc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended.json deleted file mode 100644 index f1c636c2ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_1.json deleted file mode 100644 index 46ce025bc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_2.json deleted file mode 100644 index 2081f235f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_3.json deleted file mode 100644 index 2a0a09b95a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall.json deleted file mode 100644 index 7e5b34e727..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_1.json deleted file mode 100644 index 0709c3c09f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_2.json deleted file mode 100644 index 37a1c5be99..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_3.json deleted file mode 100644 index b22520887d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended.json deleted file mode 100644 index a1ad3e865d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_1.json deleted file mode 100644 index dce2772ee2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_2.json deleted file mode 100644 index 9dd6654f4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_3.json deleted file mode 100644 index 5db8a447fd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/trans/transformation_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected.json deleted file mode 100644 index c384bca462..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_1.json deleted file mode 100644 index e9e3069ea5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_2.json deleted file mode 100644 index acba7b9ee8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_3.json deleted file mode 100644 index 211fd22fc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended.json deleted file mode 100644 index b56798f428..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1.json deleted file mode 100644 index efd198f37a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2.json deleted file mode 100644 index e342465037..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3.json deleted file mode 100644 index f900b24983..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_connected_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short.json deleted file mode 100644 index 8d85b87a11..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_1.json deleted file mode 100644 index 64fc09843c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_2.json deleted file mode 100644 index 559a5dd0ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_3.json deleted file mode 100644 index 56dba80a0e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended.json deleted file mode 100644 index ce1171faea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1.json deleted file mode 100644 index 91d3bf25ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2.json deleted file mode 100644 index 87dee5ab10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3.json deleted file mode 100644 index 135f84557b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_short_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall.json deleted file mode 100644 index 2bdc79ed3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_1.json deleted file mode 100644 index c1e4359756..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_2.json deleted file mode 100644 index 7985e9a145..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_3.json deleted file mode 100644 index 6aa723dabd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended.json deleted file mode 100644 index f75187a8ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1.json deleted file mode 100644 index c22370c9d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2.json deleted file mode 100644 index a0c8170abf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3.json deleted file mode 100644 index e47a088610..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/twilight_oak/twilight_oak_banister_tall_extended_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected.json deleted file mode 100644 index 3fb69ad91c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended.json deleted file mode 100644 index 6a6674e53b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short.json deleted file mode 100644 index 3024071d86..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended.json deleted file mode 100644 index a345270624..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall.json deleted file mode 100644 index 83db5abc90..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended.json deleted file mode 100644 index 5f69763106..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/vanilla_mangrove/vangrove_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected.json deleted file mode 100644 index 1eb2d9cef3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected_extended.json deleted file mode 100644 index 875a809f10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_connected_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_connected_extended", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short.json deleted file mode 100644 index 3894fb54ed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short_extended.json deleted file mode 100644 index 6811ac3e65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_short_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_short_extended", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall.json deleted file mode 100644 index 3927f3d227..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall_extended.json deleted file mode 100644 index 69edb177c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/banister/warped/warped_banister_tall_extended.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:block/banister_tall_extended", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button.json deleted file mode 100644 index 389d2d4b1f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_1.json deleted file mode 100644 index 72b923fd45..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_2.json deleted file mode 100644 index f6a582e49c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_3.json deleted file mode 100644 index 031417ed31..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed.json deleted file mode 100644 index 2d48328364..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_1.json deleted file mode 100644 index 29e88445e4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_2.json deleted file mode 100644 index db60f91a61..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_3.json deleted file mode 100644 index bca4b32228..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/canopy/canopy_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button.json deleted file mode 100644 index 9bd643d662..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_1.json deleted file mode 100644 index a4c287d77b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_2.json deleted file mode 100644 index f76d3bfa67..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_3.json deleted file mode 100644 index fb667756d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed.json deleted file mode 100644 index 80d4211b62..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_1.json deleted file mode 100644 index 533ed7dd42..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_2.json deleted file mode 100644 index c45e6a84c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_3.json deleted file mode 100644 index 717a6af858..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/darkwood/dark_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button.json deleted file mode 100644 index 57163b685d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_1.json deleted file mode 100644 index 6116739954..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_2.json deleted file mode 100644 index 228b0bab2c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_3.json deleted file mode 100644 index d41eaee578..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed.json deleted file mode 100644 index c7f2bea182..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_1.json deleted file mode 100644 index 3c7f6f4983..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_2.json deleted file mode 100644 index 29431114aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_3.json deleted file mode 100644 index eeac8c36ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/mangrove/mangrove_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_1.json deleted file mode 100644 index 513d335dc4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_2.json deleted file mode 100644 index 9b3a301662..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_3.json deleted file mode 100644 index 4fd77cb9ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_1.json deleted file mode 100644 index 3bd5afc630..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_2.json deleted file mode 100644 index 2a28897565..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_3.json deleted file mode 100644 index 28163e5d7b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/sort/sorting_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_1.json deleted file mode 100644 index 5c90a170d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_2.json deleted file mode 100644 index 4669c753a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_3.json deleted file mode 100644 index a1e148a24a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_1.json deleted file mode 100644 index 5b07636a96..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_2.json deleted file mode 100644 index d8d3df6a18..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_3.json deleted file mode 100644 index c9856492a1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/time/time_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_1.json deleted file mode 100644 index 3d671fe0f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_2.json deleted file mode 100644 index 0fd25ddd28..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_3.json deleted file mode 100644 index eb7f25cfae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_1.json deleted file mode 100644 index e1672d1711..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_2.json deleted file mode 100644 index 43581f9be0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_3.json deleted file mode 100644 index 43b620f28b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/trans/transformation_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button.json deleted file mode 100644 index 574d188235..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_1.json deleted file mode 100644 index a58bc23aa0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_2.json deleted file mode 100644 index e1fb866957..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_3.json deleted file mode 100644 index 0c471f27bf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed.json deleted file mode 100644 index 58685a3ba8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_1.json deleted file mode 100644 index 9a00d6ddec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_2.json deleted file mode 100644 index ed7b5edfa7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_3.json deleted file mode 100644 index 24df1d001a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/button/twilight_oak/twilight_oak_button_pressed_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_pressed", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left.json deleted file mode 100644 index 4496321608..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left_open.json deleted file mode 100644 index 669b3a62e0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right.json deleted file mode 100644 index 99bca930a7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right_open.json deleted file mode 100644 index 820aa97bf0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left.json deleted file mode 100644 index e08c3b4929..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left_open.json deleted file mode 100644 index 644ed6fefe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right.json deleted file mode 100644 index aa44426fb7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right_open.json deleted file mode 100644 index e7cbf0c76c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/canopy/canopy_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/canopy_lower", - "top": "twilightforest:block/wood/door/canopy_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left.json deleted file mode 100644 index acc6c6550a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left_open.json deleted file mode 100644 index cb2dc4cdf8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right.json deleted file mode 100644 index 0537e2cfb2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right_open.json deleted file mode 100644 index 5a690f56c9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left.json deleted file mode 100644 index d22accd6b0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left_open.json deleted file mode 100644 index e75e83f198..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right.json deleted file mode 100644 index 618738dfba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right_open.json deleted file mode 100644 index d335b3d26b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/darkwood/darkwood_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/darkwood_lower", - "top": "twilightforest:block/wood/door/darkwood_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left.json deleted file mode 100644 index b110b67038..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left_open.json deleted file mode 100644 index 81f0bbc707..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right.json deleted file mode 100644 index 366a3aaf41..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right_open.json deleted file mode 100644 index 181191d824..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left.json deleted file mode 100644 index 1b6f8e046f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left_open.json deleted file mode 100644 index d68278245f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right.json deleted file mode 100644 index ce7b365b3f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right_open.json deleted file mode 100644 index 4ef06bc674..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mangrove/mangrove_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mangrove_lower", - "top": "twilightforest:block/wood/door/mangrove_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left.json deleted file mode 100644 index 9508df5e7d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left_open.json deleted file mode 100644 index aaefc3880d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right.json deleted file mode 100644 index 30bcb734f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right_open.json deleted file mode 100644 index b1be112bb0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left.json deleted file mode 100644 index 84361341f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left_open.json deleted file mode 100644 index ccccb9d980..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right.json deleted file mode 100644 index cfcc7937ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right_open.json deleted file mode 100644 index c2579127b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/mine/mine_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/mine_lower", - "top": "twilightforest:block/wood/door/mine_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left.json deleted file mode 100644 index a1c9eb3d44..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_bottom_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left_open.json deleted file mode 100644 index 2cb45158dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_left_open.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_bottom_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right.json deleted file mode 100644 index e88c02ce5f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_bottom_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right_open.json deleted file mode 100644 index 533ef34959..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_bottom_right_open.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_bottom_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left.json deleted file mode 100644 index 0108d7a661..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_top_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left_open.json deleted file mode 100644 index f15c2e5fdd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_left_open.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_top_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right.json deleted file mode 100644 index f81fc210cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_top_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right_open.json deleted file mode 100644 index bf70c46fe4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/sort/sorting_door_top_right_open.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "twilightforest:block/util/corrected_door_top_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/sort_lower", - "side": "twilightforest:block/wood/door/sort_side", - "top": "twilightforest:block/wood/door/sort_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left.json deleted file mode 100644 index 927c830adc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left_open.json deleted file mode 100644 index f1fd1c603f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right.json deleted file mode 100644 index fc24aca70e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right_open.json deleted file mode 100644 index 6fd204b110..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left.json deleted file mode 100644 index ff5758a795..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left_open.json deleted file mode 100644 index af7689a60a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right.json deleted file mode 100644 index f15ebf37b5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right_open.json deleted file mode 100644 index eb188e1935..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/time/time_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/time_lower", - "top": "twilightforest:block/wood/door/time_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left.json deleted file mode 100644 index f17f18a44e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left_open.json deleted file mode 100644 index 0506080952..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right.json deleted file mode 100644 index 92cd26a49f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right_open.json deleted file mode 100644 index f2605909ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left.json deleted file mode 100644 index 5e89ee564b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left_open.json deleted file mode 100644 index f3b0016ef8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right.json deleted file mode 100644 index 29892655cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right_open.json deleted file mode 100644 index 07cf009da1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/trans/trans_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:cutout", - "textures": { - "bottom": "twilightforest:block/wood/door/trans_lower", - "top": "twilightforest:block/wood/door/trans_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left.json deleted file mode 100644 index adc0adc020..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open.json deleted file mode 100644 index c6c4aeb4f7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right.json deleted file mode 100644 index e221aabe9d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open.json deleted file mode 100644 index b20abe7f83..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_bottom_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left.json deleted file mode 100644 index b05c66b9a7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left_open.json deleted file mode 100644 index 4ff757839c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_left_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right.json deleted file mode 100644 index c9471624a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right_open.json deleted file mode 100644 index bf5f40fd1d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/door/twilight_oak/twilight_oak_door_top_right_open.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", - "textures": { - "bottom": "twilightforest:block/wood/door/twilight_oak_lower", - "top": "twilightforest:block/wood/door/twilight_oak_upper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post.json deleted file mode 100644 index 47812dcbc5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_1.json deleted file mode 100644 index acbb134d64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_2.json deleted file mode 100644 index 79f6366e47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_3.json deleted file mode 100644 index 83ac8a4959..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side.json deleted file mode 100644 index 1b77b3025e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_1.json deleted file mode 100644 index 69e2515fae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_2.json deleted file mode 100644 index 87d760d6a2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_3.json deleted file mode 100644 index a349b8c065..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/canopy/canopy_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post.json deleted file mode 100644 index c2b32c2abe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_1.json deleted file mode 100644 index 16a70443f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_2.json deleted file mode 100644 index 66651b66a1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_3.json deleted file mode 100644 index e14817fe4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side.json deleted file mode 100644 index 3a3a5f2ed1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_1.json deleted file mode 100644 index 7a5bab165c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_2.json deleted file mode 100644 index d871c5f209..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_3.json deleted file mode 100644 index 8b838f665c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/darkwood/dark_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post.json deleted file mode 100644 index 8dde75ab83..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_1.json deleted file mode 100644 index 412348ef60..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_2.json deleted file mode 100644 index ef7479342c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_3.json deleted file mode 100644 index c411d87fc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side.json deleted file mode 100644 index 55b8e5d125..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_1.json deleted file mode 100644 index 2414679d2a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_2.json deleted file mode 100644 index 81e5df4b66..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_3.json deleted file mode 100644 index 562ca870fb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/mangrove/mangrove_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_1.json deleted file mode 100644 index f95b0153f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_2.json deleted file mode 100644 index 4352980618..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_3.json deleted file mode 100644 index 575c286a83..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_1.json deleted file mode 100644 index b5fabb2609..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_2.json deleted file mode 100644 index aa8359892f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_3.json deleted file mode 100644 index 95f7b28074..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/sort/sorting_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_1.json deleted file mode 100644 index 3e657b2c95..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_2.json deleted file mode 100644 index 74c35c29ca..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_3.json deleted file mode 100644 index 29a25a0cd8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_1.json deleted file mode 100644 index b36cf88609..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_2.json deleted file mode 100644 index af9a5303ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_3.json deleted file mode 100644 index 4a82483123..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/time/time_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_1.json deleted file mode 100644 index 9946c6efb6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_2.json deleted file mode 100644 index 478251d174..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_3.json deleted file mode 100644 index 29669576db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_1.json deleted file mode 100644 index e0b6329266..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_2.json deleted file mode 100644 index e6ad73ea4f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_3.json deleted file mode 100644 index dabea1a99f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/trans/transformation_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post.json deleted file mode 100644 index 4cc091d214..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_1.json deleted file mode 100644 index 652aed54fc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_2.json deleted file mode 100644 index fe7501062d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_3.json deleted file mode 100644 index 7f849eefb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_post_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side.json deleted file mode 100644 index 0618acf705..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_1.json deleted file mode 100644 index cc51b493d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_2.json deleted file mode 100644 index 14fe457255..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_3.json deleted file mode 100644 index 260c2f3745..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence/twilight_oak/twilight_oak_fence_side_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate.json deleted file mode 100644 index bd9f3a175b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_1.json deleted file mode 100644 index 215c629bcf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_2.json deleted file mode 100644 index 021f66d64d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_3.json deleted file mode 100644 index f577d11f85..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open.json deleted file mode 100644 index 871bc2435a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_1.json deleted file mode 100644 index 7fe9daeeb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_2.json deleted file mode 100644 index 646ddc3d06..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_3.json deleted file mode 100644 index 5ded92dca4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall.json deleted file mode 100644 index da8f46b0cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_1.json deleted file mode 100644 index d7476ac4e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_2.json deleted file mode 100644 index e826fcb2fa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_3.json deleted file mode 100644 index 8d1775b39b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open.json deleted file mode 100644 index b9161b5319..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1.json deleted file mode 100644 index 733ce097ed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2.json deleted file mode 100644 index 61af06162c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3.json deleted file mode 100644 index 312f637b51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/canopy/canopy_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate.json deleted file mode 100644 index e203d1b73a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_1.json deleted file mode 100644 index d59d62478f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_2.json deleted file mode 100644 index 7e3c7eaec3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_3.json deleted file mode 100644 index 5f83146ed2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open.json deleted file mode 100644 index 05f8f474df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_1.json deleted file mode 100644 index 50ef160e33..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_2.json deleted file mode 100644 index 6acfcb4158..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_3.json deleted file mode 100644 index 71da9ce62a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall.json deleted file mode 100644 index 0f33ae0406..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_1.json deleted file mode 100644 index 64a079c1bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_2.json deleted file mode 100644 index a286b09828..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_3.json deleted file mode 100644 index ae61b122eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open.json deleted file mode 100644 index 2898c8ab3d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1.json deleted file mode 100644 index 443447d7e5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2.json deleted file mode 100644 index 49e52c6524..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3.json deleted file mode 100644 index 7752c8d604..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/darkwood/dark_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate.json deleted file mode 100644 index 0e9125657f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_1.json deleted file mode 100644 index 2cd8f01480..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_2.json deleted file mode 100644 index 871d663525..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_3.json deleted file mode 100644 index 658146fb82..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open.json deleted file mode 100644 index b684011bb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1.json deleted file mode 100644 index 3c3c58cffa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2.json deleted file mode 100644 index d5a3d239e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3.json deleted file mode 100644 index 2d91b4ca89..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall.json deleted file mode 100644 index cd13f7bf6b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1.json deleted file mode 100644 index 854832b8a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2.json deleted file mode 100644 index c318b44d25..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3.json deleted file mode 100644 index add8dcae02..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open.json deleted file mode 100644 index 2c9660c555..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1.json deleted file mode 100644 index 62cf686190..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2.json deleted file mode 100644 index 4333ccf052..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3.json deleted file mode 100644 index 8e1876a1de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/mangrove/mangrove_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_1.json deleted file mode 100644 index 904054ae9f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_2.json deleted file mode 100644 index 04563febbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_3.json deleted file mode 100644 index ec86eaedd0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_1.json deleted file mode 100644 index c7329ee593..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_2.json deleted file mode 100644 index 11fb58e7df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_3.json deleted file mode 100644 index 70cbb96601..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_1.json deleted file mode 100644 index fa7f3480f5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_2.json deleted file mode 100644 index 4435085230..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_3.json deleted file mode 100644 index 4d2e54679c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1.json deleted file mode 100644 index 28c0a044d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2.json deleted file mode 100644 index 9f058615c7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3.json deleted file mode 100644 index ed0c246236..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/sort/sorting_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_1.json deleted file mode 100644 index 214226461f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_2.json deleted file mode 100644 index 680ac32606..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_3.json deleted file mode 100644 index 656c9fcf14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_1.json deleted file mode 100644 index d2e4b0a573..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_2.json deleted file mode 100644 index f70a98ac59..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_3.json deleted file mode 100644 index 47ed346005..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_1.json deleted file mode 100644 index 3f9b7348df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_2.json deleted file mode 100644 index 3c41d7f593..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_3.json deleted file mode 100644 index 39fb66ddba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_1.json deleted file mode 100644 index 3919c63d66..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_2.json deleted file mode 100644 index d41cc2ff18..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_3.json deleted file mode 100644 index 44dacec61c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/time/time_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_1.json deleted file mode 100644 index 44e37f5144..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_2.json deleted file mode 100644 index 75d359c244..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_3.json deleted file mode 100644 index 5086ee2aae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_1.json deleted file mode 100644 index 0b59546787..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_2.json deleted file mode 100644 index b7122e6c4f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_3.json deleted file mode 100644 index 9636b27423..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_1.json deleted file mode 100644 index 7a0ad23004..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_2.json deleted file mode 100644 index dd664042fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_3.json deleted file mode 100644 index 44ce2dee43..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1.json deleted file mode 100644 index 502b1df3fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2.json deleted file mode 100644 index af8971ea4c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3.json deleted file mode 100644 index 715d41ee4f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/trans/transformation_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate.json deleted file mode 100644 index cedd933454..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1.json deleted file mode 100644 index 7dfe5d1af5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2.json deleted file mode 100644 index 39e77641ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3.json deleted file mode 100644 index 4212d96978..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open.json deleted file mode 100644 index 5abe16bcda..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1.json deleted file mode 100644 index 2cd77f8b27..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2.json deleted file mode 100644 index de63a658b3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3.json deleted file mode 100644 index a99d41824a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall.json deleted file mode 100644 index 99810d8b14..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1.json deleted file mode 100644 index 4d84357f8b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2.json deleted file mode 100644 index cfa35e2c5d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3.json deleted file mode 100644 index 56e63fda16..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open.json deleted file mode 100644 index f2aa930155..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1.json deleted file mode 100644 index fa169280be..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2.json deleted file mode 100644 index 9a6aaed820..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3.json deleted file mode 100644 index 329e1f334f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate_wall_open_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_fence_gate_wall_open", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks.json deleted file mode 100644 index 455aad0c3e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_1.json deleted file mode 100644 index feeb2d897f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_2.json deleted file mode 100644 index 917455aa68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_3.json deleted file mode 100644 index 3677f8a55d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/canopy/canopy_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks.json deleted file mode 100644 index ff95e5d3d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_1.json deleted file mode 100644 index 6c1e9a9491..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_2.json deleted file mode 100644 index 3c3b2daf35..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_3.json deleted file mode 100644 index 68f608ee95..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/darkwood/dark_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks.json deleted file mode 100644 index 951e5df806..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_1.json deleted file mode 100644 index 0124d88424..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_2.json deleted file mode 100644 index edeab9ffc3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_3.json deleted file mode 100644 index 3029113213..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mangrove/mangrove_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks.json deleted file mode 100644 index aa1539c281..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_1.json deleted file mode 100644 index b81463486e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_2.json deleted file mode 100644 index b31b7c17dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_3.json deleted file mode 100644 index 6eba60f66c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/mine/mining_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks.json deleted file mode 100644 index bbfbb0a94a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_1.json deleted file mode 100644 index 4c50dec202..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_2.json deleted file mode 100644 index 30efb1ca87..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_3.json deleted file mode 100644 index b945ff0d29..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/sort/sorting_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks.json deleted file mode 100644 index 89743029ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_1.json deleted file mode 100644 index 3d7e8d778e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_2.json deleted file mode 100644 index e9cbb765cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_3.json deleted file mode 100644 index 0d34599556..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/time/time_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_1.json deleted file mode 100644 index 07ddb8ae27..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_2.json deleted file mode 100644 index a4139e0fbd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_3.json deleted file mode 100644 index 63321d7ce1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/trans/transformation_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks.json deleted file mode 100644 index 949738c2e7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_1.json deleted file mode 100644 index bee5e72776..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_2.json deleted file mode 100644 index 13d13002c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_3.json deleted file mode 100644 index 8ef434ff0a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/planks/twilight_oak/twilight_oak_planks_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate.json deleted file mode 100644 index bcd2a1e4f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_1.json deleted file mode 100644 index a3dbeab784..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_2.json deleted file mode 100644 index 103b38695d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_3.json deleted file mode 100644 index 24015303e4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down.json deleted file mode 100644 index faa756b02f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1.json deleted file mode 100644 index b3683cc085..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2.json deleted file mode 100644 index 50fef04336..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3.json deleted file mode 100644 index 613c5b8c25..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/canopy/canopy_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate.json deleted file mode 100644 index 99681092ed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_1.json deleted file mode 100644 index b1d0b70692..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_2.json deleted file mode 100644 index a7bd382b68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_3.json deleted file mode 100644 index 34dd91f5d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down.json deleted file mode 100644 index 26b287e65c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1.json deleted file mode 100644 index eb6ed5f76f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2.json deleted file mode 100644 index 103a8ec9f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3.json deleted file mode 100644 index 2758bf0fb0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/darkwood/dark_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate.json deleted file mode 100644 index fd000262a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1.json deleted file mode 100644 index 7d16298fee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2.json deleted file mode 100644 index 0f06efdf56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3.json deleted file mode 100644 index 6a4ffdd087..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down.json deleted file mode 100644 index 45d15a2e90..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1.json deleted file mode 100644 index 607865e433..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2.json deleted file mode 100644 index 6c70384126..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3.json deleted file mode 100644 index a2164b0e8d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/mangrove/mangrove_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_1.json deleted file mode 100644 index 42bacb156f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_2.json deleted file mode 100644 index d824914c88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_3.json deleted file mode 100644 index 5bc01f407e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_1.json deleted file mode 100644 index e8d6097f1a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_2.json deleted file mode 100644 index 2d1632b8a2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_3.json deleted file mode 100644 index d163651657..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/sort/sorting_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_1.json deleted file mode 100644 index 8cde2fb4f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_2.json deleted file mode 100644 index 5ce426c418..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_3.json deleted file mode 100644 index 70130b839f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_1.json deleted file mode 100644 index 67ffba1783..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_2.json deleted file mode 100644 index ebf7a0bcb5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_3.json deleted file mode 100644 index adaf86e196..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/time/time_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_1.json deleted file mode 100644 index 91eea59400..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_2.json deleted file mode 100644 index 5c166f5a37..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_3.json deleted file mode 100644 index c687e73256..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_1.json deleted file mode 100644 index a2974d432e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_2.json deleted file mode 100644 index 261c1629c9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_3.json deleted file mode 100644 index 0095077bf0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/trans/transformation_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate.json deleted file mode 100644 index 1e97a7bc52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1.json deleted file mode 100644 index 4942afdb8a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2.json deleted file mode 100644 index 1c5608c8c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3.json deleted file mode 100644 index fb5f4044f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_up", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down.json deleted file mode 100644 index 9ec653ed43..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1.json deleted file mode 100644 index 55d463ba5a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2.json deleted file mode 100644 index 3440b8ac94..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3.json deleted file mode 100644 index 5fe92b38c6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate_down_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pressure_plate_down", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab.json deleted file mode 100644 index b2a4bbdc13..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/planks_canopy_0", - "top": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_1.json deleted file mode 100644 index e2230b4b8e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_1", - "side": "twilightforest:block/wood/planks_canopy_1", - "top": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_2.json deleted file mode 100644 index e6eb753247..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_2", - "side": "twilightforest:block/wood/planks_canopy_2", - "top": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_3.json deleted file mode 100644 index 34e8dd64c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/canopy/canopy_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_3", - "side": "twilightforest:block/wood/planks_canopy_3", - "top": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab.json deleted file mode 100644 index 269e6c5c5c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_0", - "side": "twilightforest:block/wood/planks_darkwood_0", - "top": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_1.json deleted file mode 100644 index bc0d04fada..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_1", - "side": "twilightforest:block/wood/planks_darkwood_1", - "top": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_2.json deleted file mode 100644 index b276214465..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_2", - "side": "twilightforest:block/wood/planks_darkwood_2", - "top": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_3.json deleted file mode 100644 index 62e1d9bb41..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/darkwood/dark_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_3", - "side": "twilightforest:block/wood/planks_darkwood_3", - "top": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab.json deleted file mode 100644 index 4ca7149fbf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_0", - "side": "twilightforest:block/wood/planks_mangrove_0", - "top": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_1.json deleted file mode 100644 index 5ab9de8895..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_1", - "side": "twilightforest:block/wood/planks_mangrove_1", - "top": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_2.json deleted file mode 100644 index bf32131fef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_2", - "side": "twilightforest:block/wood/planks_mangrove_2", - "top": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_3.json deleted file mode 100644 index 6ee04fa35d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mangrove/mangrove_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_3", - "side": "twilightforest:block/wood/planks_mangrove_3", - "top": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab.json deleted file mode 100644 index eb43330605..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_0", - "side": "twilightforest:block/wood/planks_mine_0", - "top": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_1.json deleted file mode 100644 index b02e2793b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_1", - "side": "twilightforest:block/wood/planks_mine_1", - "top": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_2.json deleted file mode 100644 index dd923839c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_2", - "side": "twilightforest:block/wood/planks_mine_2", - "top": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_3.json deleted file mode 100644 index e3492e727d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/mine/mining_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_3", - "side": "twilightforest:block/wood/planks_mine_3", - "top": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab.json deleted file mode 100644 index 4fc3761664..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_0", - "side": "twilightforest:block/wood/planks_sort_0", - "top": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_1.json deleted file mode 100644 index 03f6edc11b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_1", - "side": "twilightforest:block/wood/planks_sort_1", - "top": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_2.json deleted file mode 100644 index 586a07f66c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_2", - "side": "twilightforest:block/wood/planks_sort_2", - "top": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_3.json deleted file mode 100644 index 225370ea46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/sort/sorting_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_3", - "side": "twilightforest:block/wood/planks_sort_3", - "top": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab.json deleted file mode 100644 index 5fae3b0b94..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_0", - "side": "twilightforest:block/wood/planks_time_0", - "top": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_1.json deleted file mode 100644 index ec30062f65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_1", - "side": "twilightforest:block/wood/planks_time_1", - "top": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_2.json deleted file mode 100644 index 5dd6b6837b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_2", - "side": "twilightforest:block/wood/planks_time_2", - "top": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_3.json deleted file mode 100644 index 78619128ae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/time/time_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_3", - "side": "twilightforest:block/wood/planks_time_3", - "top": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab.json deleted file mode 100644 index c4600d1978..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_0", - "side": "twilightforest:block/wood/planks_trans_0", - "top": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_1.json deleted file mode 100644 index 4143fab1bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_1", - "side": "twilightforest:block/wood/planks_trans_1", - "top": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_2.json deleted file mode 100644 index 156a305ffa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_2", - "side": "twilightforest:block/wood/planks_trans_2", - "top": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_3.json deleted file mode 100644 index dc9841bc93..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/trans/transformation_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_3", - "side": "twilightforest:block/wood/planks_trans_3", - "top": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab.json deleted file mode 100644 index 7a0e8a48a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_0", - "side": "twilightforest:block/wood/planks_twilight_oak_0", - "top": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_1.json deleted file mode 100644 index 65823eab68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_1", - "side": "twilightforest:block/wood/planks_twilight_oak_1", - "top": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_2.json deleted file mode 100644 index edcb999027..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_2", - "side": "twilightforest:block/wood/planks_twilight_oak_2", - "top": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_3.json deleted file mode 100644 index 15c5fb680d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/slab/twilight_oak/twilight_oak_slab_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_3", - "side": "twilightforest:block/wood/planks_twilight_oak_3", - "top": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs.json deleted file mode 100644 index 069b84144e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/planks_canopy_0", - "top": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_1.json deleted file mode 100644 index 3d9b1813b2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_1", - "side": "twilightforest:block/wood/planks_canopy_1", - "top": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_2.json deleted file mode 100644 index 5dfb0f1c0e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_2", - "side": "twilightforest:block/wood/planks_canopy_2", - "top": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_3.json deleted file mode 100644 index 694aa4b121..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_3", - "side": "twilightforest:block/wood/planks_canopy_3", - "top": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner.json deleted file mode 100644 index 1f286756b4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/planks_canopy_0", - "top": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_1.json deleted file mode 100644 index 02f3f0d74d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_1", - "side": "twilightforest:block/wood/planks_canopy_1", - "top": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_2.json deleted file mode 100644 index 7888d78341..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_2", - "side": "twilightforest:block/wood/planks_canopy_2", - "top": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_3.json deleted file mode 100644 index 1a2f0009a2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_3", - "side": "twilightforest:block/wood/planks_canopy_3", - "top": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer.json deleted file mode 100644 index 3f36388889..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_0", - "side": "twilightforest:block/wood/planks_canopy_0", - "top": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_1.json deleted file mode 100644 index 5cfdda3f59..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_1", - "side": "twilightforest:block/wood/planks_canopy_1", - "top": "twilightforest:block/wood/planks_canopy_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_2.json deleted file mode 100644 index 794a9bf68f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_2", - "side": "twilightforest:block/wood/planks_canopy_2", - "top": "twilightforest:block/wood/planks_canopy_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_3.json deleted file mode 100644 index ed1546fbe1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/canopy/canopy_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_canopy_3", - "side": "twilightforest:block/wood/planks_canopy_3", - "top": "twilightforest:block/wood/planks_canopy_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs.json deleted file mode 100644 index af69de5567..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_0", - "side": "twilightforest:block/wood/planks_darkwood_0", - "top": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_1.json deleted file mode 100644 index 96890351ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_1", - "side": "twilightforest:block/wood/planks_darkwood_1", - "top": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_2.json deleted file mode 100644 index 3e388eb4f7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_2", - "side": "twilightforest:block/wood/planks_darkwood_2", - "top": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_3.json deleted file mode 100644 index 41bf546663..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_3", - "side": "twilightforest:block/wood/planks_darkwood_3", - "top": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner.json deleted file mode 100644 index 9a65c7f91c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_0", - "side": "twilightforest:block/wood/planks_darkwood_0", - "top": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_1.json deleted file mode 100644 index 835485ff0d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_1", - "side": "twilightforest:block/wood/planks_darkwood_1", - "top": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_2.json deleted file mode 100644 index fa997a9f8c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_2", - "side": "twilightforest:block/wood/planks_darkwood_2", - "top": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_3.json deleted file mode 100644 index b4ba293f3f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_3", - "side": "twilightforest:block/wood/planks_darkwood_3", - "top": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer.json deleted file mode 100644 index 27e377c3ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_0", - "side": "twilightforest:block/wood/planks_darkwood_0", - "top": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_1.json deleted file mode 100644 index 05e69e2841..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_1", - "side": "twilightforest:block/wood/planks_darkwood_1", - "top": "twilightforest:block/wood/planks_darkwood_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_2.json deleted file mode 100644 index eb363f6f27..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_2", - "side": "twilightforest:block/wood/planks_darkwood_2", - "top": "twilightforest:block/wood/planks_darkwood_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_3.json deleted file mode 100644 index 5da22d87fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/darkwood/dark_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_darkwood_3", - "side": "twilightforest:block/wood/planks_darkwood_3", - "top": "twilightforest:block/wood/planks_darkwood_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs.json deleted file mode 100644 index 96ddc4dfc7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_0", - "side": "twilightforest:block/wood/planks_mangrove_0", - "top": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_1.json deleted file mode 100644 index 6f3e106bee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_1", - "side": "twilightforest:block/wood/planks_mangrove_1", - "top": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_2.json deleted file mode 100644 index 0a1fe02463..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_2", - "side": "twilightforest:block/wood/planks_mangrove_2", - "top": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_3.json deleted file mode 100644 index ccae3ede18..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_3", - "side": "twilightforest:block/wood/planks_mangrove_3", - "top": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner.json deleted file mode 100644 index dcc9c15f46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_0", - "side": "twilightforest:block/wood/planks_mangrove_0", - "top": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_1.json deleted file mode 100644 index 5525129d8a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_1", - "side": "twilightforest:block/wood/planks_mangrove_1", - "top": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_2.json deleted file mode 100644 index 05e2974528..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_2", - "side": "twilightforest:block/wood/planks_mangrove_2", - "top": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_3.json deleted file mode 100644 index e8ae37c8ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_3", - "side": "twilightforest:block/wood/planks_mangrove_3", - "top": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer.json deleted file mode 100644 index 9354858d1a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_0", - "side": "twilightforest:block/wood/planks_mangrove_0", - "top": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_1.json deleted file mode 100644 index 51676b91a2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_1", - "side": "twilightforest:block/wood/planks_mangrove_1", - "top": "twilightforest:block/wood/planks_mangrove_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_2.json deleted file mode 100644 index f6f5e3ad3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_2", - "side": "twilightforest:block/wood/planks_mangrove_2", - "top": "twilightforest:block/wood/planks_mangrove_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_3.json deleted file mode 100644 index 28240e4c84..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mangrove/mangrove_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mangrove_3", - "side": "twilightforest:block/wood/planks_mangrove_3", - "top": "twilightforest:block/wood/planks_mangrove_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs.json deleted file mode 100644 index d62bff0c52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_0", - "side": "twilightforest:block/wood/planks_mine_0", - "top": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_1.json deleted file mode 100644 index 6107253703..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_1", - "side": "twilightforest:block/wood/planks_mine_1", - "top": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_2.json deleted file mode 100644 index 728ab4c302..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_2", - "side": "twilightforest:block/wood/planks_mine_2", - "top": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_3.json deleted file mode 100644 index c6cc702cd8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_3", - "side": "twilightforest:block/wood/planks_mine_3", - "top": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner.json deleted file mode 100644 index 55e98e2290..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_0", - "side": "twilightforest:block/wood/planks_mine_0", - "top": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_1.json deleted file mode 100644 index c86f4aa5a7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_1", - "side": "twilightforest:block/wood/planks_mine_1", - "top": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_2.json deleted file mode 100644 index 9ba604c8cf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_2", - "side": "twilightforest:block/wood/planks_mine_2", - "top": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_3.json deleted file mode 100644 index 9294195f38..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_3", - "side": "twilightforest:block/wood/planks_mine_3", - "top": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer.json deleted file mode 100644 index 0aefe0a0d4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_0", - "side": "twilightforest:block/wood/planks_mine_0", - "top": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_1.json deleted file mode 100644 index 4b977e4cbc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_1", - "side": "twilightforest:block/wood/planks_mine_1", - "top": "twilightforest:block/wood/planks_mine_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_2.json deleted file mode 100644 index 578aad2763..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_2", - "side": "twilightforest:block/wood/planks_mine_2", - "top": "twilightforest:block/wood/planks_mine_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_3.json deleted file mode 100644 index f742fbe02a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/mine/mining_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_mine_3", - "side": "twilightforest:block/wood/planks_mine_3", - "top": "twilightforest:block/wood/planks_mine_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs.json deleted file mode 100644 index 8abd552c81..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_0", - "side": "twilightforest:block/wood/planks_sort_0", - "top": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_1.json deleted file mode 100644 index c3eee9a1a8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_1", - "side": "twilightforest:block/wood/planks_sort_1", - "top": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_2.json deleted file mode 100644 index d99f2c6a4a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_2", - "side": "twilightforest:block/wood/planks_sort_2", - "top": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_3.json deleted file mode 100644 index a2608cda2d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_3", - "side": "twilightforest:block/wood/planks_sort_3", - "top": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner.json deleted file mode 100644 index a84bdca11c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_0", - "side": "twilightforest:block/wood/planks_sort_0", - "top": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_1.json deleted file mode 100644 index 81007e0aed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_1", - "side": "twilightforest:block/wood/planks_sort_1", - "top": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_2.json deleted file mode 100644 index 80c90553c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_2", - "side": "twilightforest:block/wood/planks_sort_2", - "top": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_3.json deleted file mode 100644 index d8079cc704..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_3", - "side": "twilightforest:block/wood/planks_sort_3", - "top": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer.json deleted file mode 100644 index 2c06ff07f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_0", - "side": "twilightforest:block/wood/planks_sort_0", - "top": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_1.json deleted file mode 100644 index 795472c95b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_1", - "side": "twilightforest:block/wood/planks_sort_1", - "top": "twilightforest:block/wood/planks_sort_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_2.json deleted file mode 100644 index 44e8eb512d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_2", - "side": "twilightforest:block/wood/planks_sort_2", - "top": "twilightforest:block/wood/planks_sort_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_3.json deleted file mode 100644 index 95c0b61072..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/sort/sorting_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_sort_3", - "side": "twilightforest:block/wood/planks_sort_3", - "top": "twilightforest:block/wood/planks_sort_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs.json deleted file mode 100644 index 0b45ec64e5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_0", - "side": "twilightforest:block/wood/planks_time_0", - "top": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_1.json deleted file mode 100644 index d1ba258ac0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_1", - "side": "twilightforest:block/wood/planks_time_1", - "top": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_2.json deleted file mode 100644 index 71500c9107..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_2", - "side": "twilightforest:block/wood/planks_time_2", - "top": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_3.json deleted file mode 100644 index c3a7bc5c3e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_3", - "side": "twilightforest:block/wood/planks_time_3", - "top": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner.json deleted file mode 100644 index 6b7cab6e5e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_0", - "side": "twilightforest:block/wood/planks_time_0", - "top": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_1.json deleted file mode 100644 index aa1825ad9d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_1", - "side": "twilightforest:block/wood/planks_time_1", - "top": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_2.json deleted file mode 100644 index 8b32c434af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_2", - "side": "twilightforest:block/wood/planks_time_2", - "top": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_3.json deleted file mode 100644 index 5f4cee58fb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_3", - "side": "twilightforest:block/wood/planks_time_3", - "top": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer.json deleted file mode 100644 index 558378e926..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_0", - "side": "twilightforest:block/wood/planks_time_0", - "top": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_1.json deleted file mode 100644 index ad6ef44384..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_1", - "side": "twilightforest:block/wood/planks_time_1", - "top": "twilightforest:block/wood/planks_time_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_2.json deleted file mode 100644 index 0ec3b55829..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_2", - "side": "twilightforest:block/wood/planks_time_2", - "top": "twilightforest:block/wood/planks_time_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_3.json deleted file mode 100644 index 20bf8785e4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/time/time_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_time_3", - "side": "twilightforest:block/wood/planks_time_3", - "top": "twilightforest:block/wood/planks_time_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs.json deleted file mode 100644 index 4d9bb9d7f5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_0", - "side": "twilightforest:block/wood/planks_trans_0", - "top": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_1.json deleted file mode 100644 index 4090b3f4c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_1", - "side": "twilightforest:block/wood/planks_trans_1", - "top": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_2.json deleted file mode 100644 index cc5722a93a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_2", - "side": "twilightforest:block/wood/planks_trans_2", - "top": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_3.json deleted file mode 100644 index 2c7f116eb8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_3", - "side": "twilightforest:block/wood/planks_trans_3", - "top": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner.json deleted file mode 100644 index 462e67cce5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_0", - "side": "twilightforest:block/wood/planks_trans_0", - "top": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_1.json deleted file mode 100644 index 59c28b63e6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_1", - "side": "twilightforest:block/wood/planks_trans_1", - "top": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_2.json deleted file mode 100644 index 843c7cbfaa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_2", - "side": "twilightforest:block/wood/planks_trans_2", - "top": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_3.json deleted file mode 100644 index 22984c564a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_3", - "side": "twilightforest:block/wood/planks_trans_3", - "top": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer.json deleted file mode 100644 index 5e920c2b0a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_0", - "side": "twilightforest:block/wood/planks_trans_0", - "top": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_1.json deleted file mode 100644 index b6b3389d36..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_1", - "side": "twilightforest:block/wood/planks_trans_1", - "top": "twilightforest:block/wood/planks_trans_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_2.json deleted file mode 100644 index 962cc5ebb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_2", - "side": "twilightforest:block/wood/planks_trans_2", - "top": "twilightforest:block/wood/planks_trans_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_3.json deleted file mode 100644 index 48cd5293ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/trans/transformation_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_trans_3", - "side": "twilightforest:block/wood/planks_trans_3", - "top": "twilightforest:block/wood/planks_trans_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs.json deleted file mode 100644 index 3048d1fde2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_0", - "side": "twilightforest:block/wood/planks_twilight_oak_0", - "top": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_1.json deleted file mode 100644 index 32df12c245..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_1", - "side": "twilightforest:block/wood/planks_twilight_oak_1", - "top": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_2.json deleted file mode 100644 index b44ad1f421..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_2", - "side": "twilightforest:block/wood/planks_twilight_oak_2", - "top": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_3.json deleted file mode 100644 index 02a9a23c10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_3", - "side": "twilightforest:block/wood/planks_twilight_oak_3", - "top": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner.json deleted file mode 100644 index 5c1ee0551e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_0", - "side": "twilightforest:block/wood/planks_twilight_oak_0", - "top": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1.json deleted file mode 100644 index c8b502bdeb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_1", - "side": "twilightforest:block/wood/planks_twilight_oak_1", - "top": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2.json deleted file mode 100644 index 7ae482df15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_2", - "side": "twilightforest:block/wood/planks_twilight_oak_2", - "top": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3.json deleted file mode 100644 index b5c0d542ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_inner_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_3", - "side": "twilightforest:block/wood/planks_twilight_oak_3", - "top": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer.json deleted file mode 100644 index 4c7b59216c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_0", - "side": "twilightforest:block/wood/planks_twilight_oak_0", - "top": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1.json deleted file mode 100644 index 5f73cd7343..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_1", - "side": "twilightforest:block/wood/planks_twilight_oak_1", - "top": "twilightforest:block/wood/planks_twilight_oak_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2.json deleted file mode 100644 index 207e088397..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_2", - "side": "twilightforest:block/wood/planks_twilight_oak_2", - "top": "twilightforest:block/wood/planks_twilight_oak_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3.json b/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3.json deleted file mode 100644 index eb4cf27af0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/stairs/twilight_oak/twilight_oak_stairs_outer_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/wood/planks_twilight_oak_3", - "side": "twilightforest:block/wood/planks_twilight_oak_3", - "top": "twilightforest:block/wood/planks_twilight_oak_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_bottom.json deleted file mode 100644 index 676baa2b12..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/canopy_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_open.json deleted file mode 100644 index de35887232..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/canopy_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_top.json deleted file mode 100644 index d059bf90e7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/canopy/canopy_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/canopy_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom.json deleted file mode 100644 index 57da1db475..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/darkwood_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_open.json deleted file mode 100644 index ece8d02706..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/darkwood_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_top.json deleted file mode 100644 index 0423724e96..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/darkwood/darkwood_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/darkwood_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom.json deleted file mode 100644 index 6a25e93606..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mangrove_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_open.json deleted file mode 100644 index e3bb291080..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mangrove_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_top.json deleted file mode 100644 index e56ca86194..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mangrove/mangrove_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mangrove_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_bottom.json deleted file mode 100644 index 13f7d6ceb2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mine_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_open.json deleted file mode 100644 index aa0bb988cc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mine_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_top.json deleted file mode 100644 index f0c4c3bf69..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/mine/mine_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/mine_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_bottom.json deleted file mode 100644 index f980653cd4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/sort_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_open.json deleted file mode 100644 index 738f024edc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/sort_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_top.json deleted file mode 100644 index ab6d8e8f97..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/sort/sort_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/sort_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_bottom.json deleted file mode 100644 index af5ffb87d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/time_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_open.json deleted file mode 100644 index 8a1aefc5dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/time_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_top.json deleted file mode 100644 index 60bd345ae2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/time/time_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/time_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_bottom.json deleted file mode 100644 index 387517b5ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/trans_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_open.json deleted file mode 100644 index f7b32bc2be..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/trans_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_top.json deleted file mode 100644 index 5dfd129e89..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/trans/trans_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:cutout", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/trans_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom.json deleted file mode 100644 index dfe3d3a3bf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/twilight_oak_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open.json deleted file mode 100644 index c9fb09adea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_open.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/twilight_oak_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top.json deleted file mode 100644 index 8d7fd09e64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", - "textures": { - "texture": "twilightforest:block/wood/trapdoor/twilight_oak_trapdoor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json deleted file mode 100644 index ffe1f1b85e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/worn_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json deleted file mode 100644 index e42a754fbe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "twilightforest:block/worn_castle_brick", - "side": "twilightforest:block/worn_castle_brick", - "top": "twilightforest:block/worn_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner.json deleted file mode 100644 index 9159c97a15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "twilightforest:block/worn_castle_brick", - "side": "twilightforest:block/worn_castle_brick", - "top": "twilightforest:block/worn_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer.json deleted file mode 100644 index d4691a6aae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "twilightforest:block/worn_castle_brick", - "side": "twilightforest:block/worn_castle_brick", - "top": "twilightforest:block/worn_castle_brick" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json deleted file mode 100644 index 3956c97b54..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json deleted file mode 100644 index e4ee5053c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "minecraft:block/block", - "connectable_blocks": [ - "twilightforest:pink_castle_door", - "twilightforest:yellow_castle_door", - "twilightforest:blue_castle_door", - "twilightforest:violet_castle_door" - ], - "connected_texture": { - "emissivity": 15, - "render_disabled_faces": true, - "tint_index": 0 - }, - "loader": "twilightforest:connected_texture_block", - "render_type": "minecraft:cutout", - "textures": { - "base_texture": "twilightforest:block/castle_door_vanished", - "overlay_connected": "twilightforest:block/castle_door_rune_ctm", - "overlay_texture": "twilightforest:block/castle_door_rune_corners", - "particle": "twilightforest:block/castle_door_vanished" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/acacia_banister.json b/src/generated/resources/assets/twilightforest/models/item/acacia_banister.json deleted file mode 100644 index 886990daf0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/acacia_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/acacia_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json deleted file mode 100644 index 8e5c7652e6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/alpha_yeti_fur" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json deleted file mode 100644 index 6101982469..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy", - "display": { - "head": { - "rotation": [ - 180, - 0, - 180 - ], - "scale": [ - 1.5, - 1.5, - 1.5 - ], - "translation": [ - 0, - 2, - 0 - ] - }, - "twilightforest:jarred": { - "rotation": [ - 0, - 180, - 0 - ], - "translation": [ - 0, - 0, - 1 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/antibuilder.json b/src/generated/resources/assets/twilightforest/models/item/antibuilder.json deleted file mode 100644 index 975daf35d4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/antibuilder.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/antibuilder" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json deleted file mode 100644 index 269ceac512..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/arctic_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/arctic_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/arctic_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/arctic_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/arctic_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/arctic_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/arctic_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/arctic_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/arctic_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/arctic_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json deleted file mode 100644 index bce431cf96..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json deleted file mode 100644 index 86b0fd8b5b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json deleted file mode 100644 index 2cb8f44d3a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json deleted file mode 100644 index fd6ac885c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json deleted file mode 100644 index 90b297d1fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json deleted file mode 100644 index 461140aa89..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json deleted file mode 100644 index a33847542f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json deleted file mode 100644 index adae13163e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json deleted file mode 100644 index 9c2a06c9f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json deleted file mode 100644 index fe3d713d69..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_boots", - "layer1": "twilightforest:item/arctic_boots_0", - "layer2": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json deleted file mode 100644 index 1628a56e8f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/arctic_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/arctic_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json deleted file mode 100644 index 899ba1d822..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json deleted file mode 100644 index d17e570a12..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json deleted file mode 100644 index cccec5c255..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json deleted file mode 100644 index 30e56a7df3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json deleted file mode 100644 index 25bc144fd9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json deleted file mode 100644 index 2cc8819d46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json deleted file mode 100644 index 2e9e6ed70a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json deleted file mode 100644 index 15feb42057..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json deleted file mode 100644 index 592cc04a4d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json deleted file mode 100644 index 90bb43453e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_chestplate", - "layer1": "twilightforest:item/arctic_chestplate_0", - "layer2": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json b/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json deleted file mode 100644 index 4200460423..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_fur" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_fur_block.json b/src/generated/resources/assets/twilightforest/models/item/arctic_fur_block.json deleted file mode 100644 index b3895072c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_fur_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/arctic_fur_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json deleted file mode 100644 index b33f1c48c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/arctic_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/arctic_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/arctic_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/arctic_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/arctic_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/arctic_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/arctic_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/arctic_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/arctic_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/arctic_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json deleted file mode 100644 index c53ca60e43..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json deleted file mode 100644 index 3cf3f5557d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json deleted file mode 100644 index 7b8423eedf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json deleted file mode 100644 index 329c4731f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json deleted file mode 100644 index 51f9a33fa6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json deleted file mode 100644 index adb4f471e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json deleted file mode 100644 index 6d5103c96d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json deleted file mode 100644 index abf98e6d98..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json deleted file mode 100644 index 53431801d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json deleted file mode 100644 index 1f48946e0f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_helmet", - "layer1": "twilightforest:item/arctic_helmet_0", - "layer2": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json deleted file mode 100644 index 155d93b3f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/arctic_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/arctic_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/arctic_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/arctic_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/arctic_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/arctic_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/arctic_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/arctic_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/arctic_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/arctic_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json deleted file mode 100644 index 42c3dbc81b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json deleted file mode 100644 index d9eb93b2ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json deleted file mode 100644 index a6d1d56529..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json deleted file mode 100644 index 1bbfce0e46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json deleted file mode 100644 index 8b21dfef2d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json deleted file mode 100644 index 038a2aa63d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json deleted file mode 100644 index 41f1db5a38..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json deleted file mode 100644 index a03ec54cd3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json deleted file mode 100644 index 858f43528a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json deleted file mode 100644 index 2b9ef97469..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/arctic_leggings", - "layer1": "twilightforest:item/arctic_leggings_0", - "layer2": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/armor_shard.json b/src/generated/resources/assets/twilightforest/models/item/armor_shard.json deleted file mode 100644 index 303fe8fd51..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/armor_shard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/armor_shard" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json b/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json deleted file mode 100644 index c74eab4610..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/armor_shard_cluster" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/armored_giant_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/armored_giant_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/armored_giant_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/aurora_block.json b/src/generated/resources/assets/twilightforest/models/item/aurora_block.json deleted file mode 100644 index 8b70f7d6fd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/aurora_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/aurora_block_0" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/aurora_pillar.json b/src/generated/resources/assets/twilightforest/models/item/aurora_pillar.json deleted file mode 100644 index fc1b18cfb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/aurora_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/aurora_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/aurora_slab.json b/src/generated/resources/assets/twilightforest/models/item/aurora_slab.json deleted file mode 100644 index 27d9612470..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/aurora_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/aurora_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/auroralized_glass.json b/src/generated/resources/assets/twilightforest/models/item/auroralized_glass.json deleted file mode 100644 index 4da35e1469..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/auroralized_glass.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/auroralized_glass" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bamboo_banister.json b/src/generated/resources/assets/twilightforest/models/item/bamboo_banister.json deleted file mode 100644 index 8d5c87bad3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bamboo_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/bamboo_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/models/item/beanstalk_leaves.json deleted file mode 100644 index 6b26318be1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/beanstalk_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/azalea_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bighorn_sheep_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/birch_banister.json b/src/generated/resources/assets/twilightforest/models/item/birch_banister.json deleted file mode 100644 index 483a9169c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/birch_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/birch_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json deleted file mode 100644 index 33c36a58a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "overrides": [ - { - "model": "twilightforest:item/block_and_chain_thrown", - "predicate": { - "twilightforest:thrown": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/block_and_chain" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/block_and_chain_goblin_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json deleted file mode 100644 index 518564e9a5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/block_and_chain_thrown" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_castle_door.json b/src/generated/resources/assets/twilightforest/models/item/blue_castle_door.json deleted file mode 100644 index 44ec011156..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/blue_castle_door.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/blue_castle_door" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/models/item/blue_castle_rune_brick.json deleted file mode 100644 index 4f73415787..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/blue_castle_rune_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_rune_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json deleted file mode 100644 index 6336b94daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:block/forcefield_white" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/boar_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/boar_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/boar_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_pillar.json deleted file mode 100644 index 6d5cfabbfc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/bold_castle_brick_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_stairs.json deleted file mode 100644 index a943012ac2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/bold_castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_tile.json deleted file mode 100644 index f3debb4426..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bold_castle_brick_tile.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/bold_castle_brick_tile" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/models/item/bold_stone_pillar.json deleted file mode 100644 index 3364f5e23c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/bold_stone_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/bold_stone_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/borer_essence.json b/src/generated/resources/assets/twilightforest/models/item/borer_essence.json deleted file mode 100644 index 80e23c3640..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/borer_essence.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/borer_essence", - "layer1": "twilightforest:item/borer_essence_particles" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0.json deleted file mode 100644 index 611079fd3d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_1", - "layer1": "twilightforest:item/brittle_potion_flask_labelled" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_damaged.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_damaged.json deleted file mode 100644 index 0eed2c3b3d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_damaged.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_1", - "layer1": "twilightforest:item/brittle_potion_flask_damaged" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_splintered.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_splintered.json deleted file mode 100644 index 866b16041a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_0_splintered.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_1", - "layer1": "twilightforest:item/brittle_potion_flask_splintered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1.json deleted file mode 100644 index 964bd06559..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_2", - "layer1": "twilightforest:item/brittle_potion_flask_labelled" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_damaged.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_damaged.json deleted file mode 100644 index 7deaf25c6f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_damaged.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_2", - "layer1": "twilightforest:item/brittle_potion_flask_damaged" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_splintered.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_splintered.json deleted file mode 100644 index dc1e67e1f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_1_splintered.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_2", - "layer1": "twilightforest:item/brittle_potion_flask_splintered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2.json deleted file mode 100644 index aaecf4b4de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_3", - "layer1": "twilightforest:item/brittle_potion_flask_labelled" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_damaged.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_damaged.json deleted file mode 100644 index d062a5e338..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_damaged.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_3", - "layer1": "twilightforest:item/brittle_potion_flask_damaged" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_splintered.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_splintered.json deleted file mode 100644 index 90e470ac82..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_2_splintered.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_3", - "layer1": "twilightforest:item/brittle_potion_flask_splintered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_damaged.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_damaged.json deleted file mode 100644 index 89392c32bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_damaged.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_damaged" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_splintered.json b/src/generated/resources/assets/twilightforest/models/item/brittle_flask_splintered.json deleted file mode 100644 index 3bd06289ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_flask_splintered.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/brittle_potion_flask_splintered" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json deleted file mode 100644 index 5d90a302c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/brittle_flask_0", - "predicate": { - "twilightforest:potion_level": 1.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_1", - "predicate": { - "twilightforest:potion_level": 2.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_2", - "predicate": { - "twilightforest:potion_level": 3.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_splintered", - "predicate": { - "twilightforest:breakage": 1.0, - "twilightforest:potion_level": 0.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_0_splintered", - "predicate": { - "twilightforest:breakage": 1.0, - "twilightforest:potion_level": 1.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_1_splintered", - "predicate": { - "twilightforest:breakage": 1.0, - "twilightforest:potion_level": 2.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_2_splintered", - "predicate": { - "twilightforest:breakage": 1.0, - "twilightforest:potion_level": 3.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_damaged", - "predicate": { - "twilightforest:breakage": 2.0, - "twilightforest:potion_level": 0.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_0_damaged", - "predicate": { - "twilightforest:breakage": 2.0, - "twilightforest:potion_level": 1.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_1_damaged", - "predicate": { - "twilightforest:breakage": 2.0, - "twilightforest:potion_level": 2.0 - } - }, - { - "model": "twilightforest:item/brittle_flask_2_damaged", - "predicate": { - "twilightforest:breakage": 2.0, - "twilightforest:potion_level": 3.0 - } - } - ], - "textures": { - "layer0": "twilightforest:block/blank", - "layer1": "twilightforest:item/brittle_potion_flask" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brown_thorns.json b/src/generated/resources/assets/twilightforest/models/item/brown_thorns.json deleted file mode 100644 index 9b99c77b42..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/brown_thorns.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/brown_thorns" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/burnt_thorns.json b/src/generated/resources/assets/twilightforest/models/item/burnt_thorns.json deleted file mode 100644 index 41b25f609d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/burnt_thorns.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/burnt_thorns" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_banister.json b/src/generated/resources/assets/twilightforest/models/item/canopy_banister.json deleted file mode 100644 index d504019d5f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json b/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json deleted file mode 100644 index ca45b0358f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/canopy_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/models/item/canopy_bookshelf.json deleted file mode 100644 index 6431011c64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_bookshelf.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/canopy_bookshelf" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_chest.json b/src/generated/resources/assets/twilightforest/models/item/canopy_chest.json deleted file mode 100644 index a8c7196bcb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json deleted file mode 100644 index 699cc8728e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/canopy_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/canopy_fence_gate.json deleted file mode 100644 index 01bcc462c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/canopy/canopy_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json deleted file mode 100644 index 6c78f80983..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/canopy_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_leaves.json b/src/generated/resources/assets/twilightforest/models/item/canopy_leaves.json deleted file mode 100644 index 75bfcae4f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/canopy_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_log.json b/src/generated/resources/assets/twilightforest/models/item/canopy_log.json deleted file mode 100644 index 992fa9b216..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/canopy_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_planks.json b/src/generated/resources/assets/twilightforest/models/item/canopy_planks.json deleted file mode 100644 index 7df192e39b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/canopy/canopy_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/canopy_pressure_plate.json deleted file mode 100644 index 5b5a4f81ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/canopy/canopy_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json deleted file mode 100644 index ab9a73b0e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/canopy_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_slab.json b/src/generated/resources/assets/twilightforest/models/item/canopy_slab.json deleted file mode 100644 index c91bc2f777..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/canopy/canopy_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_stairs.json b/src/generated/resources/assets/twilightforest/models/item/canopy_stairs.json deleted file mode 100644 index 8d83d22a6b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/canopy/canopy_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/canopy_trapdoor.json deleted file mode 100644 index 7eab5a0d11..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/canopy/canopy_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/canopy_trapped_chest.json deleted file mode 100644 index a8c7196bcb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_canopy_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_window.json b/src/generated/resources/assets/twilightforest/models/item/canopy_window.json deleted file mode 100644 index 1ebf028a44..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_window.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/canopy_window" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json b/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json deleted file mode 100644 index 784d11613d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/canopy_window" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_wood.json b/src/generated/resources/assets/twilightforest/models/item/canopy_wood.json deleted file mode 100644 index 20166e9fc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/canopy_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/canopy_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite.json b/src/generated/resources/assets/twilightforest/models/item/carminite.json deleted file mode 100644 index 1b4b9beff3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 7, - "sky_light": 7 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/carminite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_block.json b/src/generated/resources/assets/twilightforest/models/item/carminite_block.json deleted file mode 100644 index 2ed29fec71..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/carminite_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_broodling_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/carminite_broodling_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_broodling_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_builder.json b/src/generated/resources/assets/twilightforest/models/item/carminite_builder.json deleted file mode 100644 index 5fe89a0955..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_builder.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/carminite_builder" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_ghastguard_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/carminite_ghastguard_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_ghastguard_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_ghastling_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/carminite_ghastling_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_ghastling_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_golem_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/carminite_golem_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_golem_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite_reactor.json b/src/generated/resources/assets/twilightforest/models/item/carminite_reactor.json deleted file mode 100644 index 692c3ce79e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/carminite_reactor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/carminite_reactor" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/castle_brick.json b/src/generated/resources/assets/twilightforest/models/item/castle_brick.json deleted file mode 100644 index 9db4cbb16d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/castle_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/castle_brick_stairs.json deleted file mode 100644 index 4684aee469..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/models/item/castle_roof_tile.json deleted file mode 100644 index 50bb1af401..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/castle_roof_tile.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_roof_tile" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json deleted file mode 100644 index 3c061c8277..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/charm_of_keeping_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json deleted file mode 100644 index c38ebe17e8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/charm_of_keeping_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json deleted file mode 100644 index 94304a88b4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/charm_of_keeping_3" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json deleted file mode 100644 index 5fe40f9ec2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/charm_of_life_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json deleted file mode 100644 index f2a0c73b9a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/charm_of_life_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cherry_banister.json b/src/generated/resources/assets/twilightforest/models/item/cherry_banister.json deleted file mode 100644 index 0b70b8d4e0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cherry_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/cherry_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/chiseled_canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/models/item/chiseled_canopy_bookshelf.json deleted file mode 100644 index f3e4672422..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/chiseled_canopy_bookshelf.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/chiseled_canopy_bookshelf_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cicada_jar.json b/src/generated/resources/assets/twilightforest/models/item/cicada_jar.json deleted file mode 100644 index 5f9e9914a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cicada_jar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/mason_jar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cinder_furnace.json b/src/generated/resources/assets/twilightforest/models/item/cinder_furnace.json deleted file mode 100644 index 593027e9da..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cinder_furnace.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/furnace" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cinder_log.json b/src/generated/resources/assets/twilightforest/models/item/cinder_log.json deleted file mode 100644 index d8ccc8464f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cinder_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cinder_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cinder_wood.json b/src/generated/resources/assets/twilightforest/models/item/cinder_wood.json deleted file mode 100644 index 0fc6c4daeb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cinder_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cinder_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/clover_patch.json b/src/generated/resources/assets/twilightforest/models/item/clover_patch.json deleted file mode 100644 index f372a71af7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/clover_patch.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/patch/clover" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json b/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json deleted file mode 100644 index 66c327c41f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/cooked_meef" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json b/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json deleted file mode 100644 index 41097f7bc3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/cooked_venison" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/item/coronation_carpet.json deleted file mode 100644 index 8e8e42dfa6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/coronation_carpet.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/carpet", - "textures": { - "wool": "twilightforest:block/coronation_carpet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick.json deleted file mode 100644 index 3d2bebc0c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_castle_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick_stairs.json deleted file mode 100644 index 33eac37ce5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/models/item/cracked_deadrock.json deleted file mode 100644 index e244b87550..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_deadrock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_deadrock" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/item/cracked_etched_nagastone.json deleted file mode 100644 index a3ca085096..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_etched_nagastone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_etched_nagastone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/models/item/cracked_mazestone.json deleted file mode 100644 index 863c7e0f0a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_mazestone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_mazestone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_pillar.json deleted file mode 100644 index 101d3e4106..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_nagastone_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_left.json deleted file mode 100644 index 023b74fe5b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_left.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_nagastone_stairs_left" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_right.json deleted file mode 100644 index 415a113f6c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_nagastone_stairs_right.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_nagastone_stairs_right" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/models/item/cracked_towerwood.json deleted file mode 100644 index b49a9bbffc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_towerwood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_towerwood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/models/item/cracked_underbrick.json deleted file mode 100644 index e4ab4bb91e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cracked_underbrick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cracked_underbrick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/creeper_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/creeper_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/creeper_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crimson_banister.json b/src/generated/resources/assets/twilightforest/models/item/crimson_banister.json deleted file mode 100644 index 734a7c6ac0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/crimson_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/crimson_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json b/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json deleted file mode 100644 index 0a261b6180..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/crown_splinter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json b/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json deleted file mode 100644 index 39a1b7148a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parent": "minecraft:item/goat_horn", - "overrides": [ - { - "model": "twilightforest:item/tooting_crumble_horn", - "predicate": { - "twilightforest:tooting": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/crumble_horn" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json deleted file mode 100644 index 22871d2d82..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "overrides": [ - { - "model": "twilightforest:item/cube_of_annihilation_thrown", - "predicate": { - "twilightforest:thrown": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/cube_of_annihilation" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json deleted file mode 100644 index 9d8b44da00..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/cube_of_annihilation_thrown" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json b/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json deleted file mode 100644 index 97850a047f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/cube_talisman" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cut_mazestone.json b/src/generated/resources/assets/twilightforest/models/item/cut_mazestone.json deleted file mode 100644 index b8e97665c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/cut_mazestone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/cut_mazestone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_banister.json b/src/generated/resources/assets/twilightforest/models/item/dark_banister.json deleted file mode 100644 index 199a7691aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_boat.json b/src/generated/resources/assets/twilightforest/models/item/dark_boat.json deleted file mode 100644 index 0f80b5d53c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/dark_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_button.json b/src/generated/resources/assets/twilightforest/models/item/dark_button.json deleted file mode 100644 index ea1006619c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_chest.json b/src/generated/resources/assets/twilightforest/models/item/dark_chest.json deleted file mode 100644 index c302f07749..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json deleted file mode 100644 index c95df79118..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/dark_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_fence.json b/src/generated/resources/assets/twilightforest/models/item/dark_fence.json deleted file mode 100644 index abee87e004..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_fence.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/dark_fence_gate.json deleted file mode 100644 index 6d643f403c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/darkwood/dark_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json deleted file mode 100644 index fb61e2cc1c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/dark_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_leaves.json b/src/generated/resources/assets/twilightforest/models/item/dark_leaves.json deleted file mode 100644 index 1d27f36d86..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/dark_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_log.json b/src/generated/resources/assets/twilightforest/models/item/dark_log.json deleted file mode 100644 index 93d94ebadb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/dark_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_oak_banister.json b/src/generated/resources/assets/twilightforest/models/item/dark_oak_banister.json deleted file mode 100644 index 95a44405b6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_oak_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/dark_oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_planks.json b/src/generated/resources/assets/twilightforest/models/item/dark_planks.json deleted file mode 100644 index 3f0cf4cedb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/darkwood/dark_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/dark_pressure_plate.json deleted file mode 100644 index 63601d8e88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/darkwood/dark_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_slab.json b/src/generated/resources/assets/twilightforest/models/item/dark_slab.json deleted file mode 100644 index 2fc8a7bd39..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/darkwood/dark_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_stairs.json b/src/generated/resources/assets/twilightforest/models/item/dark_stairs.json deleted file mode 100644 index f588329134..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/darkwood/dark_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/dark_trapdoor.json deleted file mode 100644 index fcdb9f1441..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/darkwood/darkwood_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/dark_trapped_chest.json deleted file mode 100644 index c302f07749..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_darkwood_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_wood.json b/src/generated/resources/assets/twilightforest/models/item/dark_wood.json deleted file mode 100644 index 3cf7d3d7dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dark_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/dark_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json deleted file mode 100644 index 5b2ef00c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/darkwood_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/deadrock.json b/src/generated/resources/assets/twilightforest/models/item/deadrock.json deleted file mode 100644 index c63be4be62..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/deadrock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/deadrock" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/death_tome_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/death_tome_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/death_tome_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/models/item/decorative_mazestone.json deleted file mode 100644 index b495342bf7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/decorative_mazestone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/decorative_mazestone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/deer_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/deer_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/deer_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json b/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json deleted file mode 100644 index b754381b6c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/diamond_minotaur_axe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dwarf_rabbit_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/dwarf_rabbit_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/dwarf_rabbit_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json b/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json deleted file mode 100644 index 7b378bf6c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/emperors_cloth" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_pillar.json deleted file mode 100644 index f6f2d87dae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_castle_brick_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_stairs.json deleted file mode 100644 index b95823db7d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_tile.json deleted file mode 100644 index a732029eb5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_castle_brick_tile.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_castle_brick_tile" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/models/item/encased_fire_jet.json deleted file mode 100644 index 79e67d7bae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_fire_jet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_fire_jet" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_smoker.json b/src/generated/resources/assets/twilightforest/models/item/encased_smoker.json deleted file mode 100644 index ce04c78e10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_smoker.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_smoker" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/encased_towerwood.json b/src/generated/resources/assets/twilightforest/models/item/encased_towerwood.json deleted file mode 100644 index 9f90031108..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/encased_towerwood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/encased_towerwood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow.json deleted file mode 100644 index f567d7c71c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ender_bow.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "overrides": [ - { - "model": "twilightforest:item/ender_bow_pulling_0", - "predicate": { - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/ender_bow_pulling_1", - "predicate": { - "minecraft:pull": 0.65, - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/ender_bow_pulling_2", - "predicate": { - "minecraft:pull": 0.9, - "minecraft:pulling": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ender_bow" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json deleted file mode 100644 index 69140d3a11..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ender_bow_pulling_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json deleted file mode 100644 index 4b1722f7c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ender_bow_pulling_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json deleted file mode 100644 index 678c85407d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ender_bow_pulling_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/item/etched_nagastone.json deleted file mode 100644 index 97032df774..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/etched_nagastone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/etched_nagastone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json b/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json deleted file mode 100644 index c3a7b6dc93..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "1": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": {}, - "textures": { - "layer0": "twilightforest:item/exanimate_powder", - "layer1": "twilightforest:item/exanimate_flames" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/experiment_115.json b/src/generated/resources/assets/twilightforest/models/item/experiment_115.json deleted file mode 100644 index 2d423dfbfe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/experiment_115.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/think115", - "predicate": { - "twilightforest:think": 1.0 - } - }, - { - "model": "twilightforest:block/experiment115_8_8_regenerating", - "predicate": { - "twilightforest:full": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/experiment_115" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fake_diamond.json b/src/generated/resources/assets/twilightforest/models/item/fake_diamond.json deleted file mode 100644 index 48d351c4b1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fake_diamond.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/diamond_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fake_gold.json b/src/generated/resources/assets/twilightforest/models/item/fake_gold.json deleted file mode 100644 index f9cefd04e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fake_gold.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/gold_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json b/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json deleted file mode 100644 index eda19fe164..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json b/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json deleted file mode 100644 index dc965e1fa6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/fiddlehead" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_block.json b/src/generated/resources/assets/twilightforest/models/item/fiery_block.json deleted file mode 100644 index 8cbfe0ad9c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/fiery_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json b/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json deleted file mode 100644 index 70fe84c17c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_blood" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json deleted file mode 100644 index 00870cb741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "overrides": [ - { - "model": "twilightforest:item/fiery_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/fiery_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/fiery_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/fiery_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/fiery_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/fiery_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/fiery_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/fiery_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/fiery_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/fiery_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_boots" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json deleted file mode 100644 index b92b9c8115..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json deleted file mode 100644 index 9c821fcffc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json deleted file mode 100644 index d97eed0d23..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json deleted file mode 100644 index e5954b3699..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json deleted file mode 100644 index 403be32f30..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json deleted file mode 100644 index eb2d07f6ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json deleted file mode 100644 index 81eb533cd7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json deleted file mode 100644 index 0e2fbf3012..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json deleted file mode 100644 index 86e88fe702..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json deleted file mode 100644 index d3101123b5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_boots", - "layer1": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json deleted file mode 100644 index 83351f306f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "overrides": [ - { - "model": "twilightforest:item/fiery_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/fiery_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json deleted file mode 100644 index be1a96915f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json deleted file mode 100644 index 23db461001..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json deleted file mode 100644 index 9984b0039e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json deleted file mode 100644 index 8a7848c2f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json deleted file mode 100644 index b2f355f390..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json deleted file mode 100644 index 385b273d52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json deleted file mode 100644 index 09ba341d71..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json deleted file mode 100644 index 63ffcf28c8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json deleted file mode 100644 index 55f025b68b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json deleted file mode 100644 index bcc020083b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json deleted file mode 100644 index 8cd43d9e99..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "overrides": [ - { - "model": "twilightforest:item/fiery_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/fiery_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/fiery_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/fiery_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/fiery_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/fiery_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/fiery_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/fiery_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/fiery_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/fiery_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json deleted file mode 100644 index 9502383b5d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json deleted file mode 100644 index ad0a29db37..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json deleted file mode 100644 index acc9535c6b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json deleted file mode 100644 index a8771c449f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json deleted file mode 100644 index a20577e522..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json deleted file mode 100644 index 0a33fb3175..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json deleted file mode 100644 index 93c1cd3697..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json deleted file mode 100644 index 77612570a7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json deleted file mode 100644 index fd2ad84bfa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json deleted file mode 100644 index 553a26dcd0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_helmet", - "layer1": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json b/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json deleted file mode 100644 index 1d1edecbb9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_ingot" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json deleted file mode 100644 index b9ee7af96f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "overrides": [ - { - "model": "twilightforest:item/fiery_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/fiery_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/fiery_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/fiery_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/fiery_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/fiery_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/fiery_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/fiery_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/fiery_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/fiery_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json deleted file mode 100644 index a26e7917ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json deleted file mode 100644 index 2372d1b399..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json deleted file mode 100644 index 52b31e1356..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json deleted file mode 100644 index 99b2295256..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json deleted file mode 100644 index d57c4d9cde..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json deleted file mode 100644 index fe58a6b6b2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json deleted file mode 100644 index d43d75f0fa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json deleted file mode 100644 index ab2cc72a13..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json deleted file mode 100644 index ddccbf29c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json deleted file mode 100644 index e5686df118..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_leggings", - "layer1": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json deleted file mode 100644 index 8a0a3ad2c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json b/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json deleted file mode 100644 index 887cd6a5f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/fiery_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json b/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json deleted file mode 100644 index 2ab0066949..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/fiery_tears" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json deleted file mode 100644 index fc36c9f13f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/filled_magic_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json deleted file mode 100644 index 2d03aa2a31..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/filled_maze_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json deleted file mode 100644 index 2e8fd0893c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/filled_ore_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/final_boss_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/final_boss_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fire_beetle_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/fire_beetle_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fire_beetle_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fire_jet.json b/src/generated/resources/assets/twilightforest/models/item/fire_jet.json deleted file mode 100644 index 90809f8834..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fire_jet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/fire_jet" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/firefly_jar.json b/src/generated/resources/assets/twilightforest/models/item/firefly_jar.json deleted file mode 100644 index 5f9e9914a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/firefly_jar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/mason_jar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/firefly_particle_spawner.json b/src/generated/resources/assets/twilightforest/models/item/firefly_particle_spawner.json deleted file mode 100644 index d6df02006d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/firefly_particle_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/firefly_particle_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/models/item/fluffy_cloud.json deleted file mode 100644 index 455657e71d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fluffy_cloud.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/fluffy_cloud" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json b/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json deleted file mode 100644 index 6840716034..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/fortification_scepter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json b/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json deleted file mode 100644 index 61b916f321..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/four_leaf_clover" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ghast_trap.json b/src/generated/resources/assets/twilightforest/models/item/ghast_trap.json deleted file mode 100644 index e35672f8f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ghast_trap.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/ghast_trap" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_block_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_block_base.json deleted file mode 100644 index 8141fd5b6d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_block_base.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "display": { - "firstperson_lefthand": { - "rotation": [ - 1, - 225, - 0 - ], - "scale": [ - 1.6, - 1.6, - 1.6 - ], - "translation": [ - 0, - -10, - -10 - ] - }, - "firstperson_righthand": { - "rotation": [ - 0, - 45, - 0 - ], - "scale": [ - 1.6, - 1.6, - 1.6 - ], - "translation": [ - 0, - -10, - -10 - ] - }, - "fixed": { - "scale": [ - 1.25, - 1.25, - 1.25 - ] - }, - "ground": { - "translation": [ - 0, - 3, - 0 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 75, - 45, - 0 - ], - "scale": [ - 1.5, - 1.5, - 1.5 - ], - "translation": [ - 0, - 10, - 0 - ] - } - }, - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top", - "tintindex": 0 - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0 - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0 - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0 - }, - "up": { - "cullface": "up", - "texture": "#top", - "tintindex": 0 - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0 - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_block_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_block_gui.json deleted file mode 100644 index 76b8352bf9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_block_gui.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "display": { - "gui": { - "rotation": [ - 30, - 45, - 0 - ], - "scale": [ - 0.625, - 0.625, - 0.625 - ] - } - }, - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#top", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - }, - "east": { - "cullface": "east", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - }, - "north": { - "cullface": "north", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - }, - "south": { - "cullface": "south", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - }, - "up": { - "cullface": "up", - "texture": "#top", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - }, - "west": { - "cullface": "west", - "texture": "#all", - "tintindex": 0, - "uv": [ - 0.0, - 0.0, - 4.0, - 4.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone.json deleted file mode 100644 index ee8a745b33..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:block/cobblestone", - "base": { - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/cobblestone", - "top": "minecraft:block/cobblestone" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/cobblestone", - "top": "minecraft:block/cobblestone" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_base.json deleted file mode 100644 index 741e74f766..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_base.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/cobblestone", - "top": "minecraft:block/cobblestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_gui.json deleted file mode 100644 index bc509e3f9e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_cobblestone_gui.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/cobblestone", - "top": "minecraft:block/cobblestone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_leaves.json b/src/generated/resources/assets/twilightforest/models/item/giant_leaves.json deleted file mode 100644 index 2e9bd2fd3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_leaves.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:block/oak_leaves", - "base": { - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/oak_leaves", - "top": "minecraft:block/oak_leaves" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/oak_leaves", - "top": "minecraft:block/oak_leaves" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_leaves_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_leaves_base.json deleted file mode 100644 index f73ecbbc58..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_leaves_base.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/oak_leaves", - "top": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_leaves_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_leaves_gui.json deleted file mode 100644 index 05e64f731c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_leaves_gui.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/oak_leaves", - "top": "minecraft:block/oak_leaves" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_log.json b/src/generated/resources/assets/twilightforest/models/item/giant_log.json deleted file mode 100644 index 1cce0e3632..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_log.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:block/oak_log", - "base": { - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_log_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_log_base.json deleted file mode 100644 index efa265cb57..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_log_base.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_log_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_log_gui.json deleted file mode 100644 index 89f6ec2dfb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_log_gui.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/oak_log", - "top": "minecraft:block/oak_log_top" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_miner_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/giant_miner_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_miner_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian.json b/src/generated/resources/assets/twilightforest/models/item/giant_obsidian.json deleted file mode 100644 index 6836ec808a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:block/obsidian", - "base": { - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/obsidian", - "top": "minecraft:block/obsidian" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/obsidian", - "top": "minecraft:block/obsidian" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_base.json deleted file mode 100644 index 4c8dcd202f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_base.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_base", - "textures": { - "all": "minecraft:block/obsidian", - "top": "minecraft:block/obsidian" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_gui.json deleted file mode 100644 index 64afb76909..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_obsidian_gui.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "twilightforest:item/giant_block_gui", - "textures": { - "all": "minecraft:block/obsidian", - "top": "minecraft:block/obsidian" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json deleted file mode 100644 index 76e2f5b579..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "parent": "minecraft:item/stone_pickaxe", - "base": { - "parent": "twilightforest:item/giant_tool_base", - "textures": { - "layer0": "minecraft:item/stone_pickaxe" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "elements": [ - { - "faces": { - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 7.0, - 2.0, - 15.0, - 10.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 0 - ] - } - ], - "textures": { - "all": "minecraft:item/stone_pickaxe" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_base.json deleted file mode 100644 index e79e76f5df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/giant_tool_base", - "textures": { - "layer0": "minecraft:item/stone_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json deleted file mode 100644 index 6aa6b02fe6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "elements": [ - { - "faces": { - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 7.0, - 2.0, - 15.0, - 10.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 0 - ] - } - ], - "textures": { - "all": "minecraft:item/stone_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_sword.json b/src/generated/resources/assets/twilightforest/models/item/giant_sword.json deleted file mode 100644 index 731cc1aa4e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_sword.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "parent": "minecraft:item/stone_sword", - "base": { - "parent": "twilightforest:item/giant_tool_base", - "textures": { - "layer0": "minecraft:item/stone_sword" - } - }, - "loader": "neoforge:separate_transforms", - "perspectives": { - "gui": { - "elements": [ - { - "faces": { - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 3.0, - 5.0, - 11.0, - 13.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 0 - ] - } - ], - "textures": { - "all": "minecraft:item/stone_sword" - } - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_sword_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_sword_base.json deleted file mode 100644 index c6b119f454..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_sword_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/giant_tool_base", - "textures": { - "layer0": "minecraft:item/stone_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_sword_gui.json b/src/generated/resources/assets/twilightforest/models/item/giant_sword_gui.json deleted file mode 100644 index d57ecba96f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_sword_gui.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "elements": [ - { - "faces": { - "south": { - "texture": "#all", - "tintindex": 0, - "uv": [ - 3.0, - 5.0, - 11.0, - 13.0 - ] - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 0 - ] - } - ], - "textures": { - "all": "minecraft:item/stone_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_tool_base.json b/src/generated/resources/assets/twilightforest/models/item/giant_tool_base.json deleted file mode 100644 index f1494e7816..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/giant_tool_base.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "display": { - "firstperson_lefthand": { - "rotation": [ - 0, - 90, - -25 - ], - "scale": [ - 1.7, - 1.7, - 1.7 - ], - "translation": [ - 1.13, - 3.2, - 1.13 - ] - }, - "firstperson_righthand": { - "rotation": [ - 0, - -90, - 25 - ], - "scale": [ - 1.7, - 1.7, - 1.7 - ], - "translation": [ - 1.13, - 3.2, - 1.13 - ] - }, - "fixed": { - "rotation": [ - 0, - 180, - 0 - ], - "scale": [ - 5, - 5, - 5 - ] - }, - "ground": { - "scale": [ - 2.5, - 2.5, - 2.5 - ], - "translation": [ - 0, - 2, - 0 - ] - }, - "head": { - "rotation": [ - 0, - 180, - 0 - ], - "scale": [ - 5, - 5, - 5 - ], - "translation": [ - 0, - 13, - 7 - ] - }, - "thirdperson_lefthand": { - "rotation": [ - 0, - 90, - -55 - ], - "scale": [ - 4.25, - 4.25, - 4.25 - ], - "translation": [ - -0.1, - 24, - -3.5 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 0, - -90, - 55 - ], - "scale": [ - 4.25, - 4.25, - 4.25 - ], - "translation": [ - -0.1, - 24, - -5.5 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/glass_sword.json b/src/generated/resources/assets/twilightforest/models/item/glass_sword.json deleted file mode 100644 index c1676fbbe7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/glass_sword.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/glass_sword_solid", - "layer1": "twilightforest:item/glass_sword_clear" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json b/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json deleted file mode 100644 index 398d9eab7c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/gold_minotaur_axe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_flask_0.json b/src/generated/resources/assets/twilightforest/models/item/greater_flask_0.json deleted file mode 100644 index f83fa70321..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/greater_flask_0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/greater_potion_flask_1", - "layer1": "twilightforest:item/greater_potion_flask" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_flask_1.json b/src/generated/resources/assets/twilightforest/models/item/greater_flask_1.json deleted file mode 100644 index 007364461a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/greater_flask_1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/greater_potion_flask_2", - "layer1": "twilightforest:item/greater_potion_flask" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_flask_2.json b/src/generated/resources/assets/twilightforest/models/item/greater_flask_2.json deleted file mode 100644 index 5b6a5fbdb5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/greater_flask_2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/greater_potion_flask_3", - "layer1": "twilightforest:item/greater_potion_flask" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json deleted file mode 100644 index b9deffb426..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/greater_flask_0", - "predicate": { - "twilightforest:potion_level": 1.0 - } - }, - { - "model": "twilightforest:item/greater_flask_1", - "predicate": { - "twilightforest:potion_level": 2.0 - } - }, - { - "model": "twilightforest:item/greater_flask_2", - "predicate": { - "twilightforest:potion_level": 3.0 - } - } - ], - "textures": { - "layer0": "twilightforest:block/blank", - "layer1": "twilightforest:item/greater_potion_flask" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json deleted file mode 100644 index 6336b94daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:block/forcefield_white" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/green_thorns.json b/src/generated/resources/assets/twilightforest/models/item/green_thorns.json deleted file mode 100644 index 7be51decde..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/green_thorns.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/green_thorns" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hedge.json b/src/generated/resources/assets/twilightforest/models/item/hedge.json deleted file mode 100644 index 7ccaa35ccf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hedge.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hedge" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hedge_spider_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/hedge_spider_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hedge_spider_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/helmet_crab_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/helmet_crab_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/helmet_crab_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_acacia_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_acacia_log.json deleted file mode 100644 index 482c7f56d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_acacia_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_acacia_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_birch_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_birch_log.json deleted file mode 100644 index 97e4501b0c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_birch_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_birch_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_canopy_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_canopy_log.json deleted file mode 100644 index b0c6135c47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_canopy_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_canopy_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_cherry_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_cherry_log.json deleted file mode 100644 index 411044191a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_cherry_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_cherry_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_crimson_stem.json b/src/generated/resources/assets/twilightforest/models/item/hollow_crimson_stem.json deleted file mode 100644 index da3bb77318..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_crimson_stem.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_crimson_stem_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_dark_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_dark_log.json deleted file mode 100644 index 29fd06f26a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_dark_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_dark_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_dark_oak_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_dark_oak_log.json deleted file mode 100644 index 7c93747647..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_dark_oak_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_dark_oak_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_jungle_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_jungle_log.json deleted file mode 100644 index b99eccd148..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_jungle_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_jungle_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_mangrove_log.json deleted file mode 100644 index 9e4d552445..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_mangrove_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_mangrove_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_mining_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_mining_log.json deleted file mode 100644 index fe471fd7e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_mining_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_mining_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_oak_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_oak_log.json deleted file mode 100644 index 24f24186dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_oak_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_oak_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json deleted file mode 100644 index 987d48341d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/hollow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_sorting_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_sorting_log.json deleted file mode 100644 index 8a172c5932..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_sorting_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_sorting_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_spruce_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_spruce_log.json deleted file mode 100644 index 002d5b3312..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_spruce_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_spruce_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_time_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_time_log.json deleted file mode 100644 index 8928b919fa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_time_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_time_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_transformation_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_transformation_log.json deleted file mode 100644 index 43c802131a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_transformation_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_transformation_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_twilight_oak_log.json deleted file mode 100644 index c9679f1c6b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_twilight_oak_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_twilight_oak_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_vangrove_log.json b/src/generated/resources/assets/twilightforest/models/item/hollow_vangrove_log.json deleted file mode 100644 index 5a8ae7b7b2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_vangrove_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_vangrove_log_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_warped_stem.json b/src/generated/resources/assets/twilightforest/models/item/hollow_warped_stem.json deleted file mode 100644 index 5cafe35674..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hollow_warped_stem.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/hollow_warped_stem_horizontal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hostile_wolf_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/hostile_wolf_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hostile_wolf_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json b/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json deleted file mode 100644 index ab0c179c9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/huge_lily_pad" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom.json b/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom.json deleted file mode 100644 index d55f058795..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/huge_gloom_cap" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom_stem.json b/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom_stem.json deleted file mode 100644 index b36a8be547..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/huge_mushgloom_stem.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/huge_mushgloom_stem" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_stalk.json b/src/generated/resources/assets/twilightforest/models/item/huge_stalk.json deleted file mode 100644 index 5e48b18950..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/huge_stalk.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/huge_stalk" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json b/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json deleted file mode 100644 index cd09267b40..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/huge_water_lily" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/hydra_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hydra_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json b/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json deleted file mode 100644 index a5feb45244..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/hydra_chop" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/hydra_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hydra_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_trophy.json b/src/generated/resources/assets/twilightforest/models/item/hydra_trophy.json deleted file mode 100644 index 8ad8e6eaa2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/hydra_trophy.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy", - "display": { - "twilightforest:jarred": { - "rotation": [ - 0, - 180, - 0 - ], - "translation": [ - 0, - 0, - 1 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json b/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json deleted file mode 100644 index 63ccea02f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ice_bomb" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow.json deleted file mode 100644 index 8cf311b79a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "overrides": [ - { - "model": "twilightforest:item/ice_bow_pulling_0", - "predicate": { - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/ice_bow_pulling_1", - "predicate": { - "minecraft:pull": 0.65, - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/ice_bow_pulling_2", - "predicate": { - "minecraft:pull": 0.9, - "minecraft:pulling": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ice_bow_solid", - "layer1": "twilightforest:item/ice_bow_clear" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json deleted file mode 100644 index 5a1fe12ce4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ice_bow_solid_pulling_0", - "layer1": "twilightforest:item/ice_bow_clear_pulling_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json deleted file mode 100644 index 97d309993b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ice_bow_solid_pulling_1", - "layer1": "twilightforest:item/ice_bow_clear_pulling_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json deleted file mode 100644 index 6979878263..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/ice_bow_solid_pulling_2", - "layer1": "twilightforest:item/ice_bow_clear_pulling_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_crystal_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/ice_crystal_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_crystal_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_sword.json b/src/generated/resources/assets/twilightforest/models/item/ice_sword.json deleted file mode 100644 index 77713e7af3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ice_sword.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ice_sword_solid", - "layer1": "twilightforest:item/ice_sword_clear" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/infested_towerwood.json b/src/generated/resources/assets/twilightforest/models/item/infested_towerwood.json deleted file mode 100644 index 1839a17cf6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/infested_towerwood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/infested_towerwood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json deleted file mode 100644 index 518207c3ca..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ironwood_axe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_block.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_block.json deleted file mode 100644 index 9919664e68..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/ironwood_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json deleted file mode 100644 index fc71805394..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/ironwood_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/ironwood_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/ironwood_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/ironwood_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/ironwood_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/ironwood_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/ironwood_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/ironwood_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/ironwood_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/ironwood_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ironwood_boots" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json deleted file mode 100644 index a3cb53e831..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json deleted file mode 100644 index 9f19fcb7c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json deleted file mode 100644 index a3422524ec..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json deleted file mode 100644 index 286c06cac3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json deleted file mode 100644 index 74c3e1f871..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json deleted file mode 100644 index b1566fc4a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json deleted file mode 100644 index a856d0fef5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json deleted file mode 100644 index 12efd2eef1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json deleted file mode 100644 index 0b1f91c323..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json deleted file mode 100644 index 8de3a6f38f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_boots", - "layer1": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json deleted file mode 100644 index cf200c4d5d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/ironwood_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/ironwood_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json deleted file mode 100644 index 9cf5b429f5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json deleted file mode 100644 index 4b11a7ac6f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json deleted file mode 100644 index 1a41cefc23..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json deleted file mode 100644 index a55e4e4d80..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json deleted file mode 100644 index 0810631987..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json deleted file mode 100644 index d75e81dac1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json deleted file mode 100644 index a0512dffb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json deleted file mode 100644 index 118acd0c04..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json deleted file mode 100644 index ba896cdf21..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json deleted file mode 100644 index 7d9fbeec55..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json deleted file mode 100644 index 6050ea6529..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/ironwood_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/ironwood_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ironwood_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json deleted file mode 100644 index e55f3d089d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json deleted file mode 100644 index 05bf9a96e0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json deleted file mode 100644 index 5010c25973..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json deleted file mode 100644 index 53b1fd3ebf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json deleted file mode 100644 index 021b8245b7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json deleted file mode 100644 index caa19cfea8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json deleted file mode 100644 index 2812015ced..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json deleted file mode 100644 index 154ec6a9c1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json deleted file mode 100644 index 0af405c45a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json deleted file mode 100644 index 01072ffbdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_helmet", - "layer1": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json deleted file mode 100644 index 9dc869efa4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ironwood_hoe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json deleted file mode 100644 index 55a5374281..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_ingot" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json deleted file mode 100644 index 4b922a6ba0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/ironwood_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/ironwood_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ironwood_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json deleted file mode 100644 index 705165f97f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json deleted file mode 100644 index 1cc31ce88c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json deleted file mode 100644 index 3744435037..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json deleted file mode 100644 index 11f71b4320..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json deleted file mode 100644 index 959ca97559..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json deleted file mode 100644 index dae8d92060..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json deleted file mode 100644 index 840ee5fb36..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json deleted file mode 100644 index ff71c12bf2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json deleted file mode 100644 index b16f57b6d2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json deleted file mode 100644 index 3944dc13ea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ironwood_leggings", - "layer1": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json deleted file mode 100644 index 2dae6dafa0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ironwood_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json deleted file mode 100644 index b8cb8ae9ca..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ironwood_shovel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json deleted file mode 100644 index 8b7aa4351d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/ironwood_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/jungle_banister.json b/src/generated/resources/assets/twilightforest/models/item/jungle_banister.json deleted file mode 100644 index 13afe0904a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/jungle_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/jungle_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/king_spider_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/king_spider_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/king_spider_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_trophy.json b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_trophy.json deleted file mode 100644 index b3c6754627..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_trophy.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy", - "display": { - "twilightforest:jarred": { - "rotation": [ - 0, - 180, - 0 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json deleted file mode 100644 index 90ba49cf41..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/knightmetal_axe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_block.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_block.json deleted file mode 100644 index 96246727d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/knightmetal_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json deleted file mode 100644 index 60321e0acd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/knightmetal_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/knightmetal_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/knightmetal_boots" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json deleted file mode 100644 index 067dadbcde..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json deleted file mode 100644 index a36b5a370c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json deleted file mode 100644 index 947ed7b5d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json deleted file mode 100644 index 66d27e15f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json deleted file mode 100644 index 350adb97d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json deleted file mode 100644 index 3373f488bb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json deleted file mode 100644 index 58b9f0f72f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json deleted file mode 100644 index 19fb4c9f2a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json deleted file mode 100644 index 0fad5a2ac4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json deleted file mode 100644 index d27c6a1fef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_boots", - "layer1": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json deleted file mode 100644 index ab418e0db9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/knightmetal_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/knightmetal_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json deleted file mode 100644 index 4dbbc24cda..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json deleted file mode 100644 index 5588afb94a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json deleted file mode 100644 index 61f864ef34..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json deleted file mode 100644 index c60a7ca364..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json deleted file mode 100644 index 49a2e34800..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json deleted file mode 100644 index a9ceebd289..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json deleted file mode 100644 index 0d1d5832cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json deleted file mode 100644 index 79e6b65d1c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json deleted file mode 100644 index a832c7b304..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json deleted file mode 100644 index e337777ef2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json deleted file mode 100644 index 3c6606291a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/knightmetal_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/knightmetal_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json deleted file mode 100644 index 786364fbc2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json deleted file mode 100644 index 982739b32a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json deleted file mode 100644 index b865494b2c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json deleted file mode 100644 index 1e0fe9aa59..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json deleted file mode 100644 index 8332a932ed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json deleted file mode 100644 index 42131e2267..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json deleted file mode 100644 index 2a9973110c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json deleted file mode 100644 index dc71b4cb2b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json deleted file mode 100644 index 7665af359e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json deleted file mode 100644 index 31897f33d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_helmet", - "layer1": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json deleted file mode 100644 index a81cdfb939..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_ingot" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json deleted file mode 100644 index f368a27561..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/knightmetal_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/knightmetal_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json deleted file mode 100644 index 5f89cb1482..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json deleted file mode 100644 index 3e9526260b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json deleted file mode 100644 index 3ac541fe49..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json deleted file mode 100644 index a60dac7f71..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json deleted file mode 100644 index da00d5921b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json deleted file mode 100644 index d215d225bf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json deleted file mode 100644 index 279949a90d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json deleted file mode 100644 index 1524d2c74b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json deleted file mode 100644 index bd4ff2b388..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json deleted file mode 100644 index 22b7e3798d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_leggings", - "layer1": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json deleted file mode 100644 index 23929bc4dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/knightmetal_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json deleted file mode 100644 index f690316e44..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/knightmetal_ring" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json deleted file mode 100644 index f59104c8db..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/knightmetal_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/kobold_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/kobold_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/kobold_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lamp_of_cinders.json b/src/generated/resources/assets/twilightforest/models/item/lamp_of_cinders.json deleted file mode 100644 index 9c1becf2af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lamp_of_cinders.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "display": { - "thirdperson_lefthand": { - "rotation": [ - 0, - 90, - 0 - ], - "scale": [ - 0.65, - 0.65, - 0.65 - ], - "translation": [ - 0, - -0.5, - -3 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 0, - -90, - 0 - ], - "scale": [ - 0.65, - 0.65, - 0.65 - ], - "translation": [ - 0, - -0.5, - -3 - ] - } - }, - "textures": { - "layer0": "twilightforest:item/lamp_of_cinders" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/lich_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lich_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/lich_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lich_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_tower_miniature_structure.json b/src/generated/resources/assets/twilightforest/models/item/lich_tower_miniature_structure.json deleted file mode 100644 index 57942a87cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lich_tower_miniature_structure.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/miniature/lich_tower" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_trophy.json b/src/generated/resources/assets/twilightforest/models/item/lich_trophy.json deleted file mode 100644 index 117525e741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lich_trophy.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json b/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json deleted file mode 100644 index 08a8b5ff9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/lifedrain_scepter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/liveroot.json b/src/generated/resources/assets/twilightforest/models/item/liveroot.json deleted file mode 100644 index bd28e4fa52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/liveroot.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/liveroot" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/liveroot_block.json b/src/generated/resources/assets/twilightforest/models/item/liveroot_block.json deleted file mode 100644 index a8ec99721b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/liveroot_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/liveroot_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/models/item/locked_vanishing_block.json deleted file mode 100644 index e17d592b9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/locked_vanishing_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/locked_vanishing_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lower_goblin_knight_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/lower_goblin_knight_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/lower_goblin_knight_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_beans.json b/src/generated/resources/assets/twilightforest/models/item/magic_beans.json deleted file mode 100644 index b87fbcc6ff..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/magic_beans.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/magic_beans" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_map.json b/src/generated/resources/assets/twilightforest/models/item/magic_map.json deleted file mode 100644 index de39777f1e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/magic_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/magic_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json b/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json deleted file mode 100644 index 62f5ac25a8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/magic_map_focus" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_painting.json b/src/generated/resources/assets/twilightforest/models/item/magic_painting.json deleted file mode 100644 index e997ca2b0f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/magic_painting.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/magic_painting" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_banister.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_banister.json deleted file mode 100644 index 6fd1a4742d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json deleted file mode 100644 index 44a66b28d9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/mangrove_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_button.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_button.json deleted file mode 100644 index b0f58a9e33..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_chest.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_chest.json deleted file mode 100644 index f81db21291..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json deleted file mode 100644 index 2dad62b444..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/mangrove_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_fence.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_fence.json deleted file mode 100644 index 665669fc15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_fence.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_fence_gate.json deleted file mode 100644 index 2ad60af558..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/mangrove/mangrove_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json deleted file mode 100644 index 7670610fb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/mangrove_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_leaves.json deleted file mode 100644 index 226edb6df0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mangrove_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_log.json deleted file mode 100644 index 574610d3e6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mangrove_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_planks.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_planks.json deleted file mode 100644 index 346733718e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/mangrove/mangrove_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_pressure_plate.json deleted file mode 100644 index b86b8b24a5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/mangrove/mangrove_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_root.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_root.json deleted file mode 100644 index 1e2bce61a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_root.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mangrove_root" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json deleted file mode 100644 index 2fbd592643..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/mangrove_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_slab.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_slab.json deleted file mode 100644 index 6b866984d3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/mangrove/mangrove_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_stairs.json deleted file mode 100644 index b853b8ed65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/mangrove/mangrove_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_trapdoor.json deleted file mode 100644 index 93e8ecc9d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/mangrove/mangrove_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_trapped_chest.json deleted file mode 100644 index f81db21291..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_mangrove_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_wood.json deleted file mode 100644 index 02fcf403f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mangrove_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mangrove_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mayapple.json b/src/generated/resources/assets/twilightforest/models/item/mayapple.json deleted file mode 100644 index 362f9a61d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mayapple.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/mayapple" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_map.json b/src/generated/resources/assets/twilightforest/models/item/maze_map.json deleted file mode 100644 index 91692f3d77..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/maze_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/maze_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json b/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json deleted file mode 100644 index 8bc4b8d344..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/maze_map_focus" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_slime_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/maze_slime_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/maze_slime_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json b/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json deleted file mode 100644 index 3cf46fc101..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/maze_wafer" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json deleted file mode 100644 index 8976a5a1a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/mazebreaker_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazestone.json b/src/generated/resources/assets/twilightforest/models/item/mazestone.json deleted file mode 100644 index c0b57ecde4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mazestone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mazestone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazestone_border.json b/src/generated/resources/assets/twilightforest/models/item/mazestone_border.json deleted file mode 100644 index e55d951560..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mazestone_border.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mazestone_border" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazestone_brick.json b/src/generated/resources/assets/twilightforest/models/item/mazestone_brick.json deleted file mode 100644 index 2cff2acc15..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mazestone_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mazestone_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/models/item/mazestone_mosaic.json deleted file mode 100644 index 4c7d798769..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mazestone_mosaic.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mazestone_mosaic" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json b/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json deleted file mode 100644 index eff168e9bc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/meef_stroganoff" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_banister.json b/src/generated/resources/assets/twilightforest/models/item/mining_banister.json deleted file mode 100644 index 0b319c3156..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_boat.json b/src/generated/resources/assets/twilightforest/models/item/mining_boat.json deleted file mode 100644 index 9b31cc33af..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/mining_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_chest.json b/src/generated/resources/assets/twilightforest/models/item/mining_chest.json deleted file mode 100644 index f261cc3cbc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json deleted file mode 100644 index 189c2e2762..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/mining_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/mining_fence_gate.json deleted file mode 100644 index d5675195d5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/mine/mining_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json deleted file mode 100644 index 5f380d1747..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/mining_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/item/mining_leaves.json deleted file mode 100644 index c44707cd64..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mining_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_log.json b/src/generated/resources/assets/twilightforest/models/item/mining_log.json deleted file mode 100644 index 4eb2eefe53..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mining_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_log_core.json b/src/generated/resources/assets/twilightforest/models/item/mining_log_core.json deleted file mode 100644 index b61b7c8779..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_log_core.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mining_log_core" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_planks.json b/src/generated/resources/assets/twilightforest/models/item/mining_planks.json deleted file mode 100644 index 932c5fcc78..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/mine/mining_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/mining_pressure_plate.json deleted file mode 100644 index 57e9814eed..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/mine/mining_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json b/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json deleted file mode 100644 index d0a70a4f35..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/mining_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_slab.json b/src/generated/resources/assets/twilightforest/models/item/mining_slab.json deleted file mode 100644 index 2c1666069e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/mine/mining_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_stairs.json b/src/generated/resources/assets/twilightforest/models/item/mining_stairs.json deleted file mode 100644 index 7553bfb809..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/mine/mining_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/mining_trapdoor.json deleted file mode 100644 index 85ee243193..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/mine/mine_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/mining_trapped_chest.json deleted file mode 100644 index f261cc3cbc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_mine_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_wood.json b/src/generated/resources/assets/twilightforest/models/item/mining_wood.json deleted file mode 100644 index 863f720a61..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mining_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mining_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/minoshroom_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/minoshroom_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minoshroom_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/minoshroom_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/minoshroom_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minoshroom_trophy.json b/src/generated/resources/assets/twilightforest/models/item/minoshroom_trophy.json deleted file mode 100644 index 117525e741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/minoshroom_trophy.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minotaur_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/minotaur_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/minotaur_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mist_wolf_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/mist_wolf_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mist_wolf_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial.json deleted file mode 100644 index b7e16c0d8b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "overrides": [ - { - "model": "twilightforest:item/moon_dial_full", - "predicate": { - "minecraft:phase": 0.0 - } - }, - { - "model": "twilightforest:item/moon_dial_waning_gib", - "predicate": { - "minecraft:phase": 0.125 - } - }, - { - "model": "twilightforest:item/moon_dial_quarter3", - "predicate": { - "minecraft:phase": 0.25 - } - }, - { - "model": "twilightforest:item/moon_dial_waning_cres", - "predicate": { - "minecraft:phase": 0.375 - } - }, - { - "model": "twilightforest:item/moon_dial_new", - "predicate": { - "minecraft:phase": 0.5 - } - }, - { - "model": "twilightforest:item/moon_dial_waxing_cres", - "predicate": { - "minecraft:phase": 0.625 - } - }, - { - "model": "twilightforest:item/moon_dial_quarter1", - "predicate": { - "minecraft:phase": 0.75 - } - }, - { - "model": "twilightforest:item/moon_dial_waxing_gib", - "predicate": { - "minecraft:phase": 0.875 - } - } - ], - "textures": { - "layer0": "twilightforest:item/moon_dial/full" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_full.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_full.json deleted file mode 100644 index 7d23530f6b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_full.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/full" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_new.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_new.json deleted file mode 100644 index 42eec815b0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_new.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/new" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter1.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter1.json deleted file mode 100644 index 0e77c9641d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/first_quarter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter3.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter3.json deleted file mode 100644 index 9dcad165cb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_quarter3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/third_quarter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_cres.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_cres.json deleted file mode 100644 index 8e65187ce7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_cres.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/waning_cresent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_gib.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_gib.json deleted file mode 100644 index d78cdd691d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waning_gib.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/waning_gibbous" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_cres.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_cres.json deleted file mode 100644 index 9133cff5b0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_cres.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/waxing_cresent" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_gib.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_gib.json deleted file mode 100644 index 00c978be26..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moon_dial_waxing_gib.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/moon_dial_template", - "textures": { - "layer0": "twilightforest:item/moon_dial/waxing_gibbous" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json deleted file mode 100644 index e4af875520..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "display": { - "thirdperson_lefthand": { - "rotation": [ - 0, - 90, - -55 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ], - "translation": [ - 0, - 2, - -1 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 0, - -90, - 55 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ], - "translation": [ - 0, - 2, - -1 - ] - } - }, - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "overrides": [ - { - "model": "twilightforest:item/moonworm_queen_alt", - "predicate": { - "twilightforest:alt": 1.0 - } - } - ], - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/moonworm_queen" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json deleted file mode 100644 index ced6cb1ee3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "display": { - "thirdperson_lefthand": { - "rotation": [ - 0, - 90, - -55 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ], - "translation": [ - 0, - 2, - -1 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 0, - -90, - 55 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ], - "translation": [ - 0, - 2, - -1 - ] - } - }, - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/moonworm_queen_alt" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mosquito_swarm_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moss_patch.json b/src/generated/resources/assets/twilightforest/models/item/moss_patch.json deleted file mode 100644 index 3104124711..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/moss_patch.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/patch/moss" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick.json deleted file mode 100644 index 56b5416180..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_castle_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick_stairs.json deleted file mode 100644 index a1abfa8bc7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/item/mossy_etched_nagastone.json deleted file mode 100644 index 72a2dc3311..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_etched_nagastone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_etched_nagastone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/models/item/mossy_mazestone.json deleted file mode 100644 index 3fac9675b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_mazestone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_mazestone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_pillar.json deleted file mode 100644 index c111b8eb62..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_nagastone_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_left.json deleted file mode 100644 index 37f54f031a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_left.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_nagastone_stairs_left" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_right.json deleted file mode 100644 index c725039dde..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_nagastone_stairs_right.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_nagastone_stairs_right" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/models/item/mossy_towerwood.json deleted file mode 100644 index d6a5b14870..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_towerwood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_towerwood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/models/item/mossy_underbrick.json deleted file mode 100644 index 801a35f17b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mossy_underbrick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/mossy_underbrick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mushgloom.json b/src/generated/resources/assets/twilightforest/models/item/mushgloom.json deleted file mode 100644 index 4e409e94f9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mushgloom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/mushgloom", - "layer1": "twilightforest:block/mushgloom_head" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json deleted file mode 100644 index d15d6a18ea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_findings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json deleted file mode 100644 index 95b80ae285..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_maker" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json deleted file mode 100644 index 0e014ab878..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_motion" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json deleted file mode 100644 index 56d0db0983..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_radiance" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json deleted file mode 100644 index d374d9c04d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_steps" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json deleted file mode 100644 index 4cd4e7a5f7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_superstitious" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json deleted file mode 100644 index 7b72a330d2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_thread" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json deleted file mode 100644 index 99be2ada83..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/music_disc_wayfarer" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mystic_crown.json b/src/generated/resources/assets/twilightforest/models/item/mystic_crown.json deleted file mode 100644 index 117525e741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/mystic_crown.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/naga_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json deleted file mode 100644 index c94482aaa9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/naga_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_courtyard_miniature_structure.json b/src/generated/resources/assets/twilightforest/models/item/naga_courtyard_miniature_structure.json deleted file mode 100644 index 1285124301..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_courtyard_miniature_structure.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/miniature/naga_courtyard" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json deleted file mode 100644 index 30014e2e78..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/naga_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_scale.json b/src/generated/resources/assets/twilightforest/models/item/naga_scale.json deleted file mode 100644 index 64f5ecf187..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_scale.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/naga_scale" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/naga_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_trophy.json b/src/generated/resources/assets/twilightforest/models/item/naga_trophy.json deleted file mode 100644 index 117525e741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/naga_trophy.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/nagastone.json b/src/generated/resources/assets/twilightforest/models/item/nagastone.json deleted file mode 100644 index 92767555b1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/nagastone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/nagastone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/nagastone_head.json b/src/generated/resources/assets/twilightforest/models/item/nagastone_head.json deleted file mode 100644 index 5f43f69d4c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/nagastone_head.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/nagastone_head" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/item/nagastone_pillar.json deleted file mode 100644 index e629f0b89d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/nagastone_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/nagastone_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_left.json deleted file mode 100644 index 00be7670a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_left.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/nagastone_stairs_left" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_right.json deleted file mode 100644 index 80cf74fbce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/nagastone_stairs_right.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/nagastone_stairs_right" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/oak_banister.json b/src/generated/resources/assets/twilightforest/models/item/oak_banister.json deleted file mode 100644 index 103d6750f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/oak_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/oak_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json deleted file mode 100644 index 6336b94daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:block/forcefield_white" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json deleted file mode 100644 index cd52dbee36..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parent": "twilightforest:item/special_handheld", - "overrides": [ - { - "model": "twilightforest:item/ore_magnet_pulling_1", - "predicate": { - "minecraft:pull": 0.5, - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/ore_magnet_pulling_2", - "predicate": { - "minecraft:pull": 1.0, - "minecraft:pulling": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ore_magnet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json deleted file mode 100644 index 171be79b03..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/special_handheld", - "textures": { - "layer0": "twilightforest:item/ore_magnet_pulling_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json deleted file mode 100644 index 7151640f40..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/special_handheld", - "textures": { - "layer0": "twilightforest:item/ore_magnet_pulling_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_map.json b/src/generated/resources/assets/twilightforest/models/item/ore_map.json deleted file mode 100644 index a1c17db094..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_map.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ore_map" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_meter.json b/src/generated/resources/assets/twilightforest/models/item/ore_meter.json deleted file mode 100644 index 481e283e32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_meter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/ore_meter_active", - "predicate": { - "twilightforest:active": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/ore_meter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json b/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json deleted file mode 100644 index b74492167b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/ore_meter_active" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json b/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json deleted file mode 100644 index ce05d5def2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/peacock_feather_fan" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/penguin_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/penguin_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/penguin_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json deleted file mode 100644 index 2499660759..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/phantom_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/phantom_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/phantom_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json deleted file mode 100644 index 182741d427..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json deleted file mode 100644 index 88ada7b313..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json deleted file mode 100644 index 91d9f55c46..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json deleted file mode 100644 index 4407247142..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json deleted file mode 100644 index 3b21017ca7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json deleted file mode 100644 index 836a41b25f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json deleted file mode 100644 index 847bd68c8e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json deleted file mode 100644 index 469dc79011..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json deleted file mode 100644 index a09e4c98a6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json deleted file mode 100644 index 47c81231ac..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json deleted file mode 100644 index 83e0863121..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/phantom_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/phantom_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/phantom_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/phantom_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/phantom_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/phantom_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/phantom_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/phantom_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/phantom_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/phantom_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/phantom_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json deleted file mode 100644 index 8a9ac05a04..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json deleted file mode 100644 index ca5581c3ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json deleted file mode 100644 index 2172c269a1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json deleted file mode 100644 index d76c9c4448..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json deleted file mode 100644 index 1f5d10ddfc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json deleted file mode 100644 index 49080fdfd0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json deleted file mode 100644 index 4eb918e879..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json deleted file mode 100644 index 4eb1c5bfdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json deleted file mode 100644 index 78a00cc196..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json deleted file mode 100644 index 1cb81b7dc5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/phantom_helmet", - "layer1": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/piglin_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/piglin_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/piglin_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pinch_beetle_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/pinch_beetle_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/pinch_beetle_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_castle_door.json b/src/generated/resources/assets/twilightforest/models/item/pink_castle_door.json deleted file mode 100644 index 4ac65c2102..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/pink_castle_door.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/pink_castle_door" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/models/item/pink_castle_rune_brick.json deleted file mode 100644 index 4f73415787..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/pink_castle_rune_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_rune_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json deleted file mode 100644 index 6336b94daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:block/forcefield_white" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/player_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/player_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/player_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json b/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json deleted file mode 100644 index 2a34675bf5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/pocket_watch" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/quest_ram_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/quest_ram_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/quest_ram_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/quest_ram_trophy.json b/src/generated/resources/assets/twilightforest/models/item/quest_ram_trophy.json deleted file mode 100644 index b3c6754627..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/quest_ram_trophy.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy", - "display": { - "twilightforest:jarred": { - "rotation": [ - 0, - 180, - 0 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_leaves.json deleted file mode 100644 index 5bf9c22add..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/rainbow_oak_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json deleted file mode 100644 index 59118d8c32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/rainbow_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rainy_cloud.json b/src/generated/resources/assets/twilightforest/models/item/rainy_cloud.json deleted file mode 100644 index 37824cf42e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/rainy_cloud.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/rainy_cloud" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raven_feather.json b/src/generated/resources/assets/twilightforest/models/item/raven_feather.json deleted file mode 100644 index e95f0de81a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/raven_feather.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/raven_feather" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raven_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/raven_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/raven_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json b/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json deleted file mode 100644 index e71f26b91c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/raw_ironwood" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_meef.json b/src/generated/resources/assets/twilightforest/models/item/raw_meef.json deleted file mode 100644 index 08ebdbb881..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/raw_meef.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/raw_meef" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_venison.json b/src/generated/resources/assets/twilightforest/models/item/raw_venison.json deleted file mode 100644 index 44f850478b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/raw_venison.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/raw_venison" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/reappearing_block.json b/src/generated/resources/assets/twilightforest/models/item/reappearing_block.json deleted file mode 100644 index e87b4e112c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/reappearing_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/reappearing_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread.json b/src/generated/resources/assets/twilightforest/models/item/red_thread.json deleted file mode 100644 index eab77c4cae..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/red_thread.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/red_thread_bundle", - "predicate": { - "twilightforest:size": 0.25 - } - }, - { - "model": "twilightforest:item/red_thread_spool", - "predicate": { - "twilightforest:size": 0.5 - } - }, - { - "model": "twilightforest:item/red_thread_large_spool", - "predicate": { - "twilightforest:size": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/red_thread" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle.json deleted file mode 100644 index 20fc88bda7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/red_thread_bundle_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_large_spool.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_large_spool.json deleted file mode 100644 index a3e734d76b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/red_thread_large_spool.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/red_thread_bundle_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_spool.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_spool.json deleted file mode 100644 index 4375ac9586..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/red_thread_spool.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/red_thread_bundle_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/redcap_sapper_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/redcap_sapper_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/redcap_sapper_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/redcap_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/redcap_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/redcap_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/root.json b/src/generated/resources/assets/twilightforest/models/item/root.json deleted file mode 100644 index 60839b9735..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/root.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/root" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/root_strand.json b/src/generated/resources/assets/twilightforest/models/item/root_strand.json deleted file mode 100644 index 70871ee6c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/root_strand.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/root_strand" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rope.json b/src/generated/resources/assets/twilightforest/models/item/rope.json deleted file mode 100644 index 9a6effd284..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/rope.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/rope" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json deleted file mode 100644 index c61abf774e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "overrides": [ - { - "model": "twilightforest:item/seeker_bow_pulling_0", - "predicate": { - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/seeker_bow_pulling_1", - "predicate": { - "minecraft:pull": 0.65, - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/seeker_bow_pulling_2", - "predicate": { - "minecraft:pull": 0.9, - "minecraft:pulling": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/seeker_bow" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json deleted file mode 100644 index 95d134e8a5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/seeker_bow_pulling_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json deleted file mode 100644 index 9419e40330..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/seeker_bow_pulling_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json deleted file mode 100644 index 1b41b13dd6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/seeker_bow_pulling_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/shield.json b/src/generated/resources/assets/twilightforest/models/item/shield.json deleted file mode 100644 index 70f4930ac3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/shield.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/lich_shield_frame", - "layer1": "twilightforest:item/lich_shield_fill" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sinister_spawner.json b/src/generated/resources/assets/twilightforest/models/item/sinister_spawner.json deleted file mode 100644 index 5c18f5d2cd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sinister_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/sinister_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/skeleton_druid_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/skeleton_druid_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/skeleton_druid_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/skeleton_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/skeleton_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/skeleton_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/slider.json b/src/generated/resources/assets/twilightforest/models/item/slider.json deleted file mode 100644 index 0a517e4d0e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/slider.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/slider" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/slime_beetle_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/slime_beetle_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/slime_beetle_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/smoker.json b/src/generated/resources/assets/twilightforest/models/item/smoker.json deleted file mode 100644 index 660f4da9ad..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/smoker.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/smoker" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_guardian_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/snow_guardian_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snow_guardian_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/snow_queen_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snow_queen_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_queen_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/snow_queen_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snow_queen_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_queen_trophy.json b/src/generated/resources/assets/twilightforest/models/item/snow_queen_trophy.json deleted file mode 100644 index 117525e741..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snow_queen_trophy.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snowy_cloud.json b/src/generated/resources/assets/twilightforest/models/item/snowy_cloud.json deleted file mode 100644 index c27c57a945..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/snowy_cloud.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/snowy_cloud" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_banister.json b/src/generated/resources/assets/twilightforest/models/item/sorting_banister.json deleted file mode 100644 index 0715fee033..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json b/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json deleted file mode 100644 index 6c74dec7c5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/sorting_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_chest.json b/src/generated/resources/assets/twilightforest/models/item/sorting_chest.json deleted file mode 100644 index b5965e27ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json deleted file mode 100644 index f78db12865..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/sorting_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/sorting_fence_gate.json deleted file mode 100644 index 089618076d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/sort/sorting_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json deleted file mode 100644 index 80042e2149..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/sorting_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/item/sorting_leaves.json deleted file mode 100644 index 5def1ba1b6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/sorting_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_log.json b/src/generated/resources/assets/twilightforest/models/item/sorting_log.json deleted file mode 100644 index 47cef344d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/sorting_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_log_core.json b/src/generated/resources/assets/twilightforest/models/item/sorting_log_core.json deleted file mode 100644 index a06ffddf1f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_log_core.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/sorting_log_core" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_planks.json b/src/generated/resources/assets/twilightforest/models/item/sorting_planks.json deleted file mode 100644 index afe8fc77aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/sort/sorting_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/sorting_pressure_plate.json deleted file mode 100644 index 5e6f3598e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/sort/sorting_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json deleted file mode 100644 index 35219ce0fb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/sorting_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_slab.json b/src/generated/resources/assets/twilightforest/models/item/sorting_slab.json deleted file mode 100644 index f7594ac165..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/sort/sorting_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_stairs.json b/src/generated/resources/assets/twilightforest/models/item/sorting_stairs.json deleted file mode 100644 index d7769a85f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/sort/sorting_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/sorting_trapdoor.json deleted file mode 100644 index a4f82a474a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/sort/sort_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/sorting_trapped_chest.json deleted file mode 100644 index b5965e27ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_sort_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_wood.json b/src/generated/resources/assets/twilightforest/models/item/sorting_wood.json deleted file mode 100644 index 643e7c286c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/sorting_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/sorting_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/spiral_bricks.json b/src/generated/resources/assets/twilightforest/models/item/spiral_bricks.json deleted file mode 100644 index 725233fb9b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/spiral_bricks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/spiral_bricks/z_spiral_bottom_right" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/spruce_banister.json b/src/generated/resources/assets/twilightforest/models/item/spruce_banister.json deleted file mode 100644 index 7f51f203bf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/spruce_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/spruce_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/squirrel_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/squirrel_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/squirrel_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stable_ice_core_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/stable_ice_core_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stable_ice_core_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json deleted file mode 100644 index 57f40a805b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/steeleaf_axe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_block.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_block.json deleted file mode 100644 index 551a97044c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/steeleaf_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json deleted file mode 100644 index b50aa58c65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/steeleaf_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/steeleaf_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/steeleaf_boots" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json deleted file mode 100644 index 10bf8234ab..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json deleted file mode 100644 index 112014adf3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json deleted file mode 100644 index 88242d99ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json deleted file mode 100644 index 211ed27f72..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json deleted file mode 100644 index a76781ee56..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json deleted file mode 100644 index 5f205332f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json deleted file mode 100644 index 42b1674efa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json deleted file mode 100644 index 19679e09df..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json deleted file mode 100644 index 37281dffdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json deleted file mode 100644 index 82492733a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_boots", - "layer1": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json deleted file mode 100644 index de2b23e4e8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/steeleaf_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/steeleaf_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json deleted file mode 100644 index e01e85bbb5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json deleted file mode 100644 index 1286075c8b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json deleted file mode 100644 index b14bc5fafd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json deleted file mode 100644 index 00f0b8e1ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json deleted file mode 100644 index 27749e7449..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json deleted file mode 100644 index 066b03a54b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json deleted file mode 100644 index 4426e88e52..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json deleted file mode 100644 index 3063baa7d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json deleted file mode 100644 index f1f1409f99..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json deleted file mode 100644 index 708e9e1a4e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json deleted file mode 100644 index f69d9be6ba..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/steeleaf_helmet_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/steeleaf_helmet_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json deleted file mode 100644 index cc206bd1a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json deleted file mode 100644 index d2641ee9f4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json deleted file mode 100644 index 20f269e915..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json deleted file mode 100644 index 4b2893a060..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json deleted file mode 100644 index 2eaa73115f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json deleted file mode 100644 index 14a2ea24f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json deleted file mode 100644 index b1d7e11e13..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json deleted file mode 100644 index 15f93e5752..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json deleted file mode 100644 index e977960103..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json deleted file mode 100644 index 1e69a2ecb4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_helmet", - "layer1": "minecraft:trims/items/helmet_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json deleted file mode 100644 index 6ef48388a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/steeleaf_hoe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json deleted file mode 100644 index 3911ced4c3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_ingot" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json deleted file mode 100644 index 60605bbee5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/steeleaf_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/steeleaf_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json deleted file mode 100644 index 0b26ad3d5e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json deleted file mode 100644 index f37d950bb1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json deleted file mode 100644 index 0da8028747..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json deleted file mode 100644 index 4023b2eeb7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json deleted file mode 100644 index e74f2cdce9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json deleted file mode 100644 index 82e5d8d8c7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json deleted file mode 100644 index c14dd435eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json deleted file mode 100644 index fc89f04be4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json deleted file mode 100644 index f2d170dcc1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json deleted file mode 100644 index 759f762523..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/steeleaf_leggings", - "layer1": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json deleted file mode 100644 index 3948d038d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/steeleaf_pickaxe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json deleted file mode 100644 index 0386f9464a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/steeleaf_shovel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json deleted file mode 100644 index d48523092c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/steeleaf_sword" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_log.json deleted file mode 100644 index ac43b32627..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_canopy_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_wood.json deleted file mode 100644 index 9608f324f1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_canopy_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_canopy_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_dark_log.json deleted file mode 100644 index 0ba4aaa005..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_dark_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_dark_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_dark_wood.json deleted file mode 100644 index da7ee0870b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_dark_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_dark_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_log.json deleted file mode 100644 index a31980c684..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_mangrove_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_wood.json deleted file mode 100644 index 9e5aaf12ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_mangrove_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_mangrove_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_mining_log.json deleted file mode 100644 index 9d9127999f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_mining_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_mining_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_mining_wood.json deleted file mode 100644 index ee37e1351e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_mining_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_mining_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_log.json deleted file mode 100644 index bab6875329..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_sorting_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_wood.json deleted file mode 100644 index 42950d890e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_sorting_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_sorting_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_time_log.json deleted file mode 100644 index dc408fe269..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_time_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_time_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_time_wood.json deleted file mode 100644 index 72805b0f5a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_time_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_time_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_log.json deleted file mode 100644 index c943e2c16f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_transformation_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_wood.json deleted file mode 100644 index 79f2260436..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_transformation_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_transformation_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_log.json deleted file mode 100644 index c9a2a464b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_twilight_oak_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_wood.json deleted file mode 100644 index e0b8ee9f80..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stripped_twilight_oak_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stripped_twilight_oak_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/stronghold_shield.json b/src/generated/resources/assets/twilightforest/models/item/stronghold_shield.json deleted file mode 100644 index 1bac796ff0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/stronghold_shield.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/stronghold_shield" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/swarm_spider_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/swarm_spider_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/swarm_spider_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/models/item/terrorcotta_arcs.json deleted file mode 100644 index 3d75b39cc0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_arcs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/terrorcotta_arcs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_curves.json b/src/generated/resources/assets/twilightforest/models/item/terrorcotta_curves.json deleted file mode 100644 index 220d5cc229..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_curves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/terrorcotta_curves_90" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_lines.json b/src/generated/resources/assets/twilightforest/models/item/terrorcotta_lines.json deleted file mode 100644 index 43e25c8088..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/terrorcotta_lines.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/terrorcotta_lines_0" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/models/item/thick_castle_brick.json deleted file mode 100644 index 8b6f6813a3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/thick_castle_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/thick_castle_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/think115.json b/src/generated/resources/assets/twilightforest/models/item/think115.json deleted file mode 100644 index 3682ce71c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/think115.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/think115" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/thorn_leaves.json b/src/generated/resources/assets/twilightforest/models/item/thorn_leaves.json deleted file mode 100644 index a54fc8a7a4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/thorn_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:block/oak_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json b/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json deleted file mode 100644 index efb8e3676b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/thorn_rose" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_banister.json b/src/generated/resources/assets/twilightforest/models/item/time_banister.json deleted file mode 100644 index 98c9f53f3f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_boat.json b/src/generated/resources/assets/twilightforest/models/item/time_boat.json deleted file mode 100644 index 224b4dcf4f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/time_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_chest.json b/src/generated/resources/assets/twilightforest/models/item/time_chest.json deleted file mode 100644 index a21931a1f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json deleted file mode 100644 index 42f20190a7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/time_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/time_fence_gate.json deleted file mode 100644 index 666b055a8e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/time/time_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json deleted file mode 100644 index ef4eb2b049..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/time_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_leaves.json b/src/generated/resources/assets/twilightforest/models/item/time_leaves.json deleted file mode 100644 index e99e2cbe00..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/time_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_log.json b/src/generated/resources/assets/twilightforest/models/item/time_log.json deleted file mode 100644 index 4ccfe326aa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/time_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_log_core.json b/src/generated/resources/assets/twilightforest/models/item/time_log_core.json deleted file mode 100644 index 59c34dfcf8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_log_core.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/time_log_core" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_planks.json b/src/generated/resources/assets/twilightforest/models/item/time_planks.json deleted file mode 100644 index 4b99e9162d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/time/time_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/time_pressure_plate.json deleted file mode 100644 index 4bf9753171..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/time/time_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_sapling.json b/src/generated/resources/assets/twilightforest/models/item/time_sapling.json deleted file mode 100644 index afa3eee5d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/time_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_slab.json b/src/generated/resources/assets/twilightforest/models/item/time_slab.json deleted file mode 100644 index 7a7ca9a737..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/time/time_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_stairs.json b/src/generated/resources/assets/twilightforest/models/item/time_stairs.json deleted file mode 100644 index 1a56050b81..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/time/time_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/time_trapdoor.json deleted file mode 100644 index f6561a132c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/time/time_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/time_trapped_chest.json deleted file mode 100644 index a21931a1f6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_time_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_wood.json b/src/generated/resources/assets/twilightforest/models/item/time_wood.json deleted file mode 100644 index 17eda41743..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/time_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/time_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/tiny_bird_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/tiny_bird_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/tiny_bird_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/tooting_crumble_horn.json b/src/generated/resources/assets/twilightforest/models/item/tooting_crumble_horn.json deleted file mode 100644 index 6e2fb7fc12..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/tooting_crumble_horn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/tooting_goat_horn", - "textures": { - "layer0": "twilightforest:item/crumble_horn" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/torchberries.json b/src/generated/resources/assets/twilightforest/models/item/torchberries.json deleted file mode 100644 index 1e92cd998c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/torchberries.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/torchberries" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json b/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json deleted file mode 100644 index 390a5cb1b4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/torchberry_plant" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/tower_key.json b/src/generated/resources/assets/twilightforest/models/item/tower_key.json deleted file mode 100644 index 3e6a982238..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/tower_key.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:item/tower_key" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/towerwood.json b/src/generated/resources/assets/twilightforest/models/item/towerwood.json deleted file mode 100644 index 8811672feb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/towerwood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/towerwood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/towerwood_borer_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/towerwood_borer_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/towerwood_borer_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_banister.json b/src/generated/resources/assets/twilightforest/models/item/transformation_banister.json deleted file mode 100644 index 098681ca3b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json b/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json deleted file mode 100644 index 7cead504de..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/transformation_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_chest.json b/src/generated/resources/assets/twilightforest/models/item/transformation_chest.json deleted file mode 100644 index af46f979e1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json deleted file mode 100644 index 94f3a6723b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/transformation_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/transformation_fence_gate.json deleted file mode 100644 index b090751473..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/trans/transformation_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json deleted file mode 100644 index a4e73a6862..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/transformation_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/item/transformation_leaves.json deleted file mode 100644 index e4d68be246..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/transformation_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_log.json b/src/generated/resources/assets/twilightforest/models/item/transformation_log.json deleted file mode 100644 index a3b1ad8888..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/transformation_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_log_core.json b/src/generated/resources/assets/twilightforest/models/item/transformation_log_core.json deleted file mode 100644 index 31c48eada8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_log_core.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/transformation_log_core" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_planks.json b/src/generated/resources/assets/twilightforest/models/item/transformation_planks.json deleted file mode 100644 index c074a656a0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/trans/transformation_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json b/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json deleted file mode 100644 index aa99cfdc3c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/transformation_powder" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/transformation_pressure_plate.json deleted file mode 100644 index e1b12fb432..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/trans/transformation_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json deleted file mode 100644 index cc36cc4c34..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/transformation_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_slab.json b/src/generated/resources/assets/twilightforest/models/item/transformation_slab.json deleted file mode 100644 index 77bc02ab19..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/trans/transformation_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_stairs.json b/src/generated/resources/assets/twilightforest/models/item/transformation_stairs.json deleted file mode 100644 index b7912d5789..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/trans/transformation_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/transformation_trapdoor.json deleted file mode 100644 index 6cf23c5bfc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/trans/trans_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/transformation_trapped_chest.json deleted file mode 100644 index af46f979e1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_trans_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_wood.json b/src/generated/resources/assets/twilightforest/models/item/transformation_wood.json deleted file mode 100644 index 038b110afb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/transformation_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/transformation_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow.json deleted file mode 100644 index 31c736f615..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/triple_bow.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "overrides": [ - { - "model": "twilightforest:item/triple_bow_pulling_0", - "predicate": { - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/triple_bow_pulling_1", - "predicate": { - "minecraft:pull": 0.65, - "minecraft:pulling": 1.0 - } - }, - { - "model": "twilightforest:item/triple_bow_pulling_2", - "predicate": { - "minecraft:pull": 0.9, - "minecraft:pulling": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/triple_bow" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json deleted file mode 100644 index f55d9524a8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/triple_bow_pulling_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json deleted file mode 100644 index 71bf85898b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/triple_bow_pulling_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json deleted file mode 100644 index 91abffa3eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/bow", - "textures": { - "layer0": "twilightforest:item/triple_bow_pulling_2" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/troll_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/troll_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/troll_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollber.json b/src/generated/resources/assets/twilightforest/models/item/trollber.json deleted file mode 100644 index 8c7e1b72ea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trollber.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/trollber" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollsteinn.json b/src/generated/resources/assets/twilightforest/models/item/trollsteinn.json deleted file mode 100644 index a3eaf4c6b9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trollsteinn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/trollsteinn" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollsteinn_light.json b/src/generated/resources/assets/twilightforest/models/item/trollsteinn_light.json deleted file mode 100644 index 228a199368..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trollsteinn_light.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/trollsteinn_light" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollvidr.json b/src/generated/resources/assets/twilightforest/models/item/trollvidr.json deleted file mode 100644 index 0fef655689..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trollvidr.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/trollvidr" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trophy.json b/src/generated/resources/assets/twilightforest/models/item/trophy.json deleted file mode 100644 index 7556be3ae3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trophy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/trophy" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trophy_minor.json b/src/generated/resources/assets/twilightforest/models/item/trophy_minor.json deleted file mode 100644 index 98f06e03d0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trophy_minor.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/trophy_minor" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/models/item/trophy_pedestal.json deleted file mode 100644 index 9a0319dff5..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trophy_pedestal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/trophy_pedestal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trophy_quest.json b/src/generated/resources/assets/twilightforest/models/item/trophy_quest.json deleted file mode 100644 index 1e164d47c7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/trophy_quest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/trophy_quest" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_banister.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_banister.json deleted file mode 100644 index 9ae7b2aba8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json deleted file mode 100644 index e451f83d08..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/twilight_oak_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_button.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_button.json deleted file mode 100644 index dde8b1ad4b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_button.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/button_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest.json deleted file mode 100644 index 4270085d32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json deleted file mode 100644 index f730abaffd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "minecraft:item/oak_chest_boat", - "layer1": "twilightforest:item/twilight_oak_chest_boat" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence.json deleted file mode 100644 index 460b8a4fe0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/fence_inventory", - "textures": { - "texture": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence_gate.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence_gate.json deleted file mode 100644 index 9aa34c2fe1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_fence_gate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/fence_gate/twilight_oak/twilight_oak_fence_gate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json deleted file mode 100644 index ff049a68d1..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/twilight_oak_hanging_sign" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_leaves.json deleted file mode 100644 index 72646483d6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/twilight_oak_leaves" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_log.json deleted file mode 100644 index 14edac0d37..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_log.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/twilight_oak_log" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_planks.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_planks.json deleted file mode 100644 index a7668c53eb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_planks.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/planks/twilight_oak/twilight_oak_planks" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_pressure_plate.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_pressure_plate.json deleted file mode 100644 index 356f17b2c2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_pressure_plate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/pressure_plate/twilight_oak/twilight_oak_pressure_plate" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json deleted file mode 100644 index bbb071583d..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/twilight_oak_sapling" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_slab.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_slab.json deleted file mode 100644 index 29adc519f3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/slab/twilight_oak/twilight_oak_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_stairs.json deleted file mode 100644 index f9001303b8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/stairs/twilight_oak/twilight_oak_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapdoor.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapdoor.json deleted file mode 100644 index da849e6ee3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapdoor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wood/trapdoor/twilight_oak/twilight_oak_trapdoor_bottom" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapped_chest.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapped_chest.json deleted file mode 100644 index 4270085d32..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapped_chest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/chest", - "textures": { - "particle": "twilightforest:block/wood/planks_twilight_oak_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_wood.json deleted file mode 100644 index 69e796a5c0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_wood.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/twilight_oak_wood" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_portal_miniature_structure.json b/src/generated/resources/assets/twilightforest/models/item/twilight_portal_miniature_structure.json deleted file mode 100644 index 361b7cad8a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_portal_miniature_structure.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/miniature/portal" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json b/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json deleted file mode 100644 index f072865113..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/twilight_scepter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twisted_stone.json b/src/generated/resources/assets/twilightforest/models/item/twisted_stone.json deleted file mode 100644 index 41928dbcdc..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twisted_stone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/twisted_stone" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twisted_stone_pillar.json b/src/generated/resources/assets/twilightforest/models/item/twisted_stone_pillar.json deleted file mode 100644 index b59c667c66..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/twisted_stone_pillar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/pillar/pillar_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/uberous_soil.json b/src/generated/resources/assets/twilightforest/models/item/uberous_soil.json deleted file mode 100644 index 770207fbdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/uberous_soil.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/uberous_soil" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/uncrafting_table.json b/src/generated/resources/assets/twilightforest/models/item/uncrafting_table.json deleted file mode 100644 index e56690a266..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/uncrafting_table.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/uncrafting_table" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/underbrick.json b/src/generated/resources/assets/twilightforest/models/item/underbrick.json deleted file mode 100644 index 53b5c06d4c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/underbrick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/underbrick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/underbrick_floor.json b/src/generated/resources/assets/twilightforest/models/item/underbrick_floor.json deleted file mode 100644 index fda23fed21..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/underbrick_floor.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/underbrick_floor" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json b/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json deleted file mode 100644 index 3a58f48b1c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:block/unripe_trollber" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/unstable_ice_core_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/unstable_ice_core_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/unstable_ice_core_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json deleted file mode 100644 index dd801b92f0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/tf_banner_pattern" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_boss_spawner.json deleted file mode 100644 index 778b768bbb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_boss_spawner.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/boss_spawner" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_trophy.json b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_trophy.json deleted file mode 100644 index c06a2ec452..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_trophy.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "parent": "twilightforest:item/template_trophy", - "display": { - "firstperson_righthand": { - "rotation": [ - 0, - 180, - 0 - ], - "translation": [ - 0, - 11, - 0 - ] - }, - "fixed": { - "rotation": [ - 0, - 180, - 0 - ], - "translation": [ - 0, - 14, - -2 - ] - }, - "head": { - "rotation": [ - 180, - 0, - 180 - ], - "scale": [ - 1.6, - 1.6, - 1.6 - ], - "translation": [ - 0, - 18, - 0 - ] - }, - "thirdperson_righthand": { - "rotation": [ - 45, - 135, - 0 - ], - "scale": [ - 0.5, - 0.5, - 0.5 - ], - "translation": [ - 0, - 4, - 3.6 - ] - }, - "twilightforest:jarred": { - "rotation": [ - 0, - 180, - 0 - ], - "scale": [ - 0.85, - 0.85, - 0.85 - ], - "translation": [ - 0, - 14, - 0 - ] - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/vangrove_banister.json b/src/generated/resources/assets/twilightforest/models/item/vangrove_banister.json deleted file mode 100644 index 91fe271789..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/vangrove_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/mangrove_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/vanishing_block.json b/src/generated/resources/assets/twilightforest/models/item/vanishing_block.json deleted file mode 100644 index 2b948a91ce..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/vanishing_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/vanishing_block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_castle_door.json b/src/generated/resources/assets/twilightforest/models/item/violet_castle_door.json deleted file mode 100644 index caf027ae5f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/violet_castle_door.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/violet_castle_door" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/models/item/violet_castle_rune_brick.json deleted file mode 100644 index 4f73415787..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/violet_castle_rune_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_rune_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json deleted file mode 100644 index 6336b94daf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "loader": "neoforge:item_layers", - "neoforge_data": { - "layers": { - "0": { - "block_light": 15, - "sky_light": 15 - } - } - }, - "render_types": { - "minecraft:translucent": [ - 0 - ] - }, - "textures": { - "layer0": "twilightforest:block/forcefield_white" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/warped_banister.json b/src/generated/resources/assets/twilightforest/models/item/warped_banister.json deleted file mode 100644 index c54ef808fa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/warped_banister.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "twilightforest:item/banister_item", - "textures": { - "texture": "minecraft:block/warped_planks" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/models/item/weathered_deadrock.json deleted file mode 100644 index 8a89b817e3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/weathered_deadrock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/weathered_deadrock" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/winter_wolf_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/winter_wolf_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/winter_wolf_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/wispy_cloud.json b/src/generated/resources/assets/twilightforest/models/item/wispy_cloud.json deleted file mode 100644 index cdb1ec9371..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/wispy_cloud.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/wispy_cloud" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/wither_skeleton_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/wither_skeleton_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/wither_skeleton_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick.json deleted file mode 100644 index ad8c949b86..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/worn_castle_brick" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick_stairs.json deleted file mode 100644 index 0fa4e53cdb..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/worn_castle_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/worn_castle_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/wraith_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/wraith_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/wraith_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json b/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json deleted file mode 100644 index d0c5d29bfa..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/wrought_iron_bar" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/models/item/yellow_castle_door.json deleted file mode 100644 index 2ca5e3fd10..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yellow_castle_door.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/yellow_castle_door" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yellow_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/models/item/yellow_castle_rune_brick.json deleted file mode 100644 index 4f73415787..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yellow_castle_rune_brick.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/castle_rune_inventory" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json deleted file mode 100644 index ee80a96ce0..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/yeti_boots_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/yeti_boots_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/yeti_boots_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/yeti_boots_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/yeti_boots_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/yeti_boots_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/yeti_boots_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/yeti_boots_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/yeti_boots_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/yeti_boots_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/yeti_boots" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json deleted file mode 100644 index 4f5a7ce7ad..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json deleted file mode 100644 index ba5fd3d6ee..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json deleted file mode 100644 index e32c572815..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json deleted file mode 100644 index 6ba392fe44..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json deleted file mode 100644 index fd0b21f5d7..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json deleted file mode 100644 index c89b22db88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json deleted file mode 100644 index c1f05e9fe2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json deleted file mode 100644 index e0a6b14a8f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json deleted file mode 100644 index 431a97051a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json deleted file mode 100644 index af8b7e9567..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_boots", - "layer1": "minecraft:trims/items/boots_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json deleted file mode 100644 index adc2eeb3cf..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/yeti_chestplate_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/yeti_chestplate_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/yeti_chestplate" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json deleted file mode 100644 index 4c02beaa50..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json deleted file mode 100644 index 83903424f2..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json deleted file mode 100644 index 5040b7b545..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json deleted file mode 100644 index 2450260eea..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json deleted file mode 100644 index de3776e6d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json deleted file mode 100644 index 195badde75..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json deleted file mode 100644 index 717a2decc6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json deleted file mode 100644 index fcead17306..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json deleted file mode 100644 index f9d0e31e63..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json deleted file mode 100644 index 6558a044b3..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_chestplate", - "layer1": "minecraft:trims/items/chestplate_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json deleted file mode 100644 index a1b7a3c4e9..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_helmet" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json deleted file mode 100644 index 044e6bb005..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "overrides": [ - { - "model": "twilightforest:item/yeti_leggings_quartz_trim", - "predicate": { - "minecraft:trim_type": 0.1 - } - }, - { - "model": "twilightforest:item/yeti_leggings_iron_trim", - "predicate": { - "minecraft:trim_type": 0.2 - } - }, - { - "model": "twilightforest:item/yeti_leggings_netherite_trim", - "predicate": { - "minecraft:trim_type": 0.3 - } - }, - { - "model": "twilightforest:item/yeti_leggings_redstone_trim", - "predicate": { - "minecraft:trim_type": 0.4 - } - }, - { - "model": "twilightforest:item/yeti_leggings_copper_trim", - "predicate": { - "minecraft:trim_type": 0.5 - } - }, - { - "model": "twilightforest:item/yeti_leggings_gold_trim", - "predicate": { - "minecraft:trim_type": 0.6 - } - }, - { - "model": "twilightforest:item/yeti_leggings_emerald_trim", - "predicate": { - "minecraft:trim_type": 0.7 - } - }, - { - "model": "twilightforest:item/yeti_leggings_diamond_trim", - "predicate": { - "minecraft:trim_type": 0.8 - } - }, - { - "model": "twilightforest:item/yeti_leggings_lapis_trim", - "predicate": { - "minecraft:trim_type": 0.9 - } - }, - { - "model": "twilightforest:item/yeti_leggings_amethyst_trim", - "predicate": { - "minecraft:trim_type": 1.0 - } - } - ], - "textures": { - "layer0": "twilightforest:item/yeti_leggings" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json deleted file mode 100644 index f21504ebc6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_amethyst" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json deleted file mode 100644 index 7fe3b2162f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_copper" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json deleted file mode 100644 index 597b6ed85c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_diamond" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json deleted file mode 100644 index c6ccb584fe..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_emerald" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json deleted file mode 100644 index cc0784358a..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_gold" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json deleted file mode 100644 index 1e7569959c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_iron" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json deleted file mode 100644 index f9b7f17d8f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_lapis" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json deleted file mode 100644 index ba45793d40..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_netherite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json deleted file mode 100644 index 26c5c66109..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_quartz" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json deleted file mode 100644 index 095852012f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "twilightforest:item/yeti_leggings", - "layer1": "minecraft:trims/items/leggings_trim_redstone" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_spawn_egg.json b/src/generated/resources/assets/twilightforest/models/item/yeti_spawn_egg.json deleted file mode 100644 index d1aaa9d6ef..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/yeti_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "minecraft:item/template_spawn_egg" -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json b/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json deleted file mode 100644 index a9d32593d8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "twilightforest:item/zombie_scepter" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/zombie_skull_candle.json b/src/generated/resources/assets/twilightforest/models/item/zombie_skull_candle.json deleted file mode 100644 index 23bec58c92..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/zombie_skull_candle.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:item/template_skull_candle" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/carminite.json b/src/generated/resources/data/twilightforest/trim_material/carminite.json index 65f0408314..2d85b42ffc 100644 --- a/src/generated/resources/data/twilightforest/trim_material/carminite.json +++ b/src/generated/resources/data/twilightforest/trim_material/carminite.json @@ -4,6 +4,5 @@ "color": "#9A0000", "translate": "trim_material.twilightforest.carminite" }, - "ingredient": "twilightforest:carminite", - "item_model_index": 0.4 + "ingredient": "twilightforest:carminite" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/fiery.json b/src/generated/resources/data/twilightforest/trim_material/fiery.json index 64b9657d6f..fda3ab7acf 100644 --- a/src/generated/resources/data/twilightforest/trim_material/fiery.json +++ b/src/generated/resources/data/twilightforest/trim_material/fiery.json @@ -4,6 +4,5 @@ "color": "#FFB53C", "translate": "trim_material.twilightforest.fiery" }, - "ingredient": "twilightforest:fiery_ingot", - "item_model_index": 0.3 + "ingredient": "twilightforest:fiery_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/ironwood.json b/src/generated/resources/data/twilightforest/trim_material/ironwood.json index d50582092a..113d1ab6eb 100644 --- a/src/generated/resources/data/twilightforest/trim_material/ironwood.json +++ b/src/generated/resources/data/twilightforest/trim_material/ironwood.json @@ -4,6 +4,5 @@ "color": "#6B6161", "translate": "trim_material.twilightforest.ironwood" }, - "ingredient": "twilightforest:ironwood_ingot", - "item_model_index": 0.2 + "ingredient": "twilightforest:ironwood_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/knightmetal.json b/src/generated/resources/data/twilightforest/trim_material/knightmetal.json index 6509f19000..dc446f78a7 100644 --- a/src/generated/resources/data/twilightforest/trim_material/knightmetal.json +++ b/src/generated/resources/data/twilightforest/trim_material/knightmetal.json @@ -4,6 +4,5 @@ "color": "#808C72", "translate": "trim_material.twilightforest.knightmetal" }, - "ingredient": "twilightforest:knightmetal_ingot", - "item_model_index": 0.1 + "ingredient": "twilightforest:knightmetal_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/naga_scale.json b/src/generated/resources/data/twilightforest/trim_material/naga_scale.json index f2bcda25e7..d1d1df2186 100644 --- a/src/generated/resources/data/twilightforest/trim_material/naga_scale.json +++ b/src/generated/resources/data/twilightforest/trim_material/naga_scale.json @@ -4,6 +4,5 @@ "color": "#245712", "translate": "trim_material.twilightforest.naga_scale" }, - "ingredient": "twilightforest:naga_scale", - "item_model_index": 0.7 + "ingredient": "twilightforest:naga_scale" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/trim_material/steeleaf.json b/src/generated/resources/data/twilightforest/trim_material/steeleaf.json index 8091c665bc..ac99f75ee3 100644 --- a/src/generated/resources/data/twilightforest/trim_material/steeleaf.json +++ b/src/generated/resources/data/twilightforest/trim_material/steeleaf.json @@ -4,6 +4,5 @@ "color": "#497733", "translate": "trim_material.twilightforest.steeleaf" }, - "ingredient": "twilightforest:steeleaf_ingot", - "item_model_index": 0.7 + "ingredient": "twilightforest:steeleaf_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json b/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json index 63b985dbe6..38c799abeb 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/clearing.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json index 998c9775d3..45eff9e1eb 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest.json @@ -13,12 +13,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 0, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json index 497321cd12..c46160d209 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dark_forest_center.json @@ -12,12 +12,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 0, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json index 9bd743ecc8..342f446106 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dense_forest.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json index 35d7a82838..2c3341fe41 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/dense_mushroom_forest.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json index f5d504879e..ac8f3367f5 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/enchanted_forest.json @@ -13,12 +13,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json b/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json index 59749c2b19..b8bb05f525 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/final_plateau.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json b/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json index 57de195a53..8ccd8c1835 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/fire_swamp.json @@ -11,12 +11,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "minecraft:white_ash" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json index 50ac9f4c09..97aa4ce682 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/firefly_forest.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/forest.json index 0573b62100..0e88570f7d 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/forest.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json b/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json index e3705b5fed..96bcd4bc6a 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/glacier.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 1248552, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json b/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json index cad14db905..a0584f4920 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/highlands.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json b/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json index 94ca7d77e5..f932979ee1 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/highlands_underground.json @@ -9,12 +9,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/lake.json b/src/generated/resources/data/twilightforest/worldgen/biome/lake.json index ade155b62f..5c5c58da8c 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/lake.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/lake.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json index c989c3c7bf..0f231c6b02 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/mushroom_forest.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "particle": { "options": { "type": "twilightforest:wandering_firefly" diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json b/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json index c9f6d9601c..96d4d59c23 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/oak_savannah.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json index fe5c6a7adf..478c44add2 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/snowy_forest.json @@ -12,12 +12,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 8421504, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json b/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json index fad7159ba2..1f930c1745 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/spooky_forest.json @@ -12,12 +12,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 12355671, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/stream.json b/src/generated/resources/data/twilightforest/worldgen/biome/stream.json index 27e16e4e0d..9109bbac2e 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/stream.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/stream.json @@ -10,12 +10,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json b/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json index e69ca3687a..7aa118580b 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/swamp.json @@ -12,12 +12,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 8466, "water_color": 9811295, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json b/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json index de598a39c1..acb70ce27e 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/thornlands.json @@ -9,12 +9,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/data/twilightforest/worldgen/biome/underground.json b/src/generated/resources/data/twilightforest/worldgen/biome/underground.json index 89c3b4a233..6bee01ddd7 100644 --- a/src/generated/resources/data/twilightforest/worldgen/biome/underground.json +++ b/src/generated/resources/data/twilightforest/worldgen/biome/underground.json @@ -9,12 +9,18 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, - "music": { - "max_delay": 12000, - "min_delay": 1200, - "replace_current_music": true, - "sound": "twilightforest:music.twilightforest.twilight_forest" - }, + "music": [ + { + "data": { + "max_delay": 12000, + "min_delay": 1200, + "replace_current_music": true, + "sound": "twilightforest:music.twilightforest.twilight_forest" + }, + "weight": 1 + } + ], + "music_volume": 1.0, "sky_color": 2105930, "water_color": 4159204, "water_fog_color": 329011 diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta index 8b1538dc2f..d37504b921 100644 --- a/src/generated/resources/pack.mcmeta +++ b/src/generated/resources/pack.mcmeta @@ -1,7 +1,7 @@ { "pack": { "description": "Resources for Twilight Forest", - "pack_format": 57, + "pack_format": 61, "supported_formats": [ 0, 2147483647 diff --git a/src/main/java/twilightforest/client/ISTER.java b/src/main/disabled/client/ISTER.java similarity index 100% rename from src/main/java/twilightforest/client/ISTER.java rename to src/main/disabled/client/ISTER.java diff --git a/src/main/java/twilightforest/beans/TFBeanContext.java b/src/main/java/twilightforest/beans/TFBeanContext.java index 3c25dc0609..bbd0b52548 100644 --- a/src/main/java/twilightforest/beans/TFBeanContext.java +++ b/src/main/java/twilightforest/beans/TFBeanContext.java @@ -118,7 +118,7 @@ private void initInternal(@Nullable Consumer context, bo // Registries Objects.requireNonNull(modContainer.getEventBus()).addListener(FMLCommonSetupEvent.class, event -> injectRegistries(modContainer, scanData, annotationDataPostProcessors)); // Registries (Data Gen) - Objects.requireNonNull(modContainer.getEventBus()).addListener(EventPriority.HIGHEST, GatherDataEvent.class, event -> injectRegistries(modContainer, scanData, annotationDataPostProcessors)); + Objects.requireNonNull(modContainer.getEventBus()).addListener(EventPriority.HIGHEST, GatherDataEvent.Client.class, event -> injectRegistries(modContainer, scanData, annotationDataPostProcessors)); // Renderers (Entity, BlockEntity) Objects.requireNonNull(modContainer.getEventBus()).addListener(EventPriority.LOWEST, RegisterClientReloadListenersEvent.class, event -> event.registerReloadListener((ResourceManagerReloadListener) manager -> injectRenderers(modContainer, scanData, annotationDataPostProcessors)) diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index da8c222d90..1357c0eaa9 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -17,6 +17,7 @@ import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.sounds.MusicInfo; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; @@ -28,7 +29,9 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; +import net.minecraft.util.context.ContextKey; import net.minecraft.util.random.SimpleWeightedRandomList; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -53,7 +56,6 @@ import twilightforest.block.MiniatureStructureBlock; import twilightforest.block.entity.GrowingBeanstalkBlockEntity; import twilightforest.client.BugModelAnimationHelper; -import twilightforest.client.ISTER; import twilightforest.client.OptifineWarningScreen; import twilightforest.client.TFShaders; import twilightforest.config.TFConfig; @@ -76,6 +78,7 @@ public class ClientEvents { private static final VoxelShape GIANT_BLOCK = Shapes.box(0.0D, 0.0D, 0.0D, 4.0D, 4.0D, 4.0D); private static final MutableComponent WIP_TEXT = Component.translatable("misc.twilightforest.wip").withStyle(ChatFormatting.RED); private static final MutableComponent EMPERORS_CLOTH_TOOLTIP = Component.translatable("item.twilightforest.emperors_cloth.desc").withStyle(ChatFormatting.GRAY); + public static ContextKey HEAD_KEY = new ContextKey<>(TwilightForestMod.prefix("wearing_trophy")); private static boolean firstTitleScreenShown = false; @@ -319,8 +322,7 @@ private static void updateBowFOV(ComputeFovModifierEvent event) { } private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) { - ItemStack stack = event.getRenderState().headItem; - boolean visible = !(stack.getItem() instanceof TrophyItem) && !areCuriosEquipped(event.getRenderState()); + boolean visible = event.getRenderState().getRenderDataOrDefault(HEAD_KEY, false); boolean isPlayer = event.getRenderState() instanceof PlayerRenderState; if (event.getRenderer().getModel() instanceof HeadedModel headedModel) { headedModel.getHead().visible = visible && (!isPlayer || headedModel.getHead().visible); // some mods like Better Combat can move player's head and hide it in the first person view @@ -330,7 +332,7 @@ private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre even } } - private static boolean areCuriosEquipped(EntityRenderState entity) { + public static boolean areCuriosEquipped(LivingEntity entity) { // if (ModList.get().isLoaded("curios")) { // return CuriosCompat.isCurioEquippedAndVisible(entity, stack -> stack.getItem() instanceof TrophyItem); // } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index f8852ba916..f012fc9455 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -27,6 +27,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.AttributeInstance; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -629,14 +630,14 @@ public boolean addDestroyEffects(BlockState state, Level level, BlockPos pos, Pa } }, TFBlocks.WISPY_CLOUD.get(), TFBlocks.RAINY_CLOUD.get(), TFBlocks.SNOWY_CLOUD.get(), TFBlocks.FLUFFY_CLOUD.get()); - event.registerItem(ISTER.CLIENT_ITEM_EXTENSION, - TFBlocks.CICADA.asItem(), TFBlocks.FIREFLY.asItem(), TFBlocks.MOONWORM.asItem(), TFBlocks.SKULL_CHEST.asItem(), TFBlocks.KEEPSAKE_CASKET.asItem(), TFBlocks.CANDELABRA.asItem(), TFBlocks.BRAZIER.asItem(), - TFItems.CICADA_JAR.get(), TFItems.FIREFLY_JAR.get(), TFItems.MASON_JAR.get(), TFItems.KNIGHTMETAL_SHIELD.get(), TFItems.MYSTIC_CROWN.value(), - TFBlocks.TWILIGHT_OAK_CHEST.asItem(), TFBlocks.CANOPY_CHEST.asItem(), TFBlocks.MANGROVE_CHEST.asItem(), TFBlocks.DARK_CHEST.asItem(), TFBlocks.TIME_CHEST.asItem(), TFBlocks.TRANSFORMATION_CHEST.asItem(), TFBlocks.MINING_CHEST.asItem(), TFBlocks.SORTING_CHEST.asItem(), - TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.asItem(), TFBlocks.CANOPY_TRAPPED_CHEST.asItem(), TFBlocks.MANGROVE_TRAPPED_CHEST.asItem(), TFBlocks.DARK_TRAPPED_CHEST.asItem(), TFBlocks.TIME_TRAPPED_CHEST.asItem(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.asItem(), TFBlocks.MINING_TRAPPED_CHEST.asItem(), TFBlocks.SORTING_TRAPPED_CHEST.asItem(), - TFItems.NAGA_TROPHY.get(), TFItems.LICH_TROPHY.get(), TFItems.MINOSHROOM_TROPHY.get(), TFItems.HYDRA_TROPHY.get(), TFItems.KNIGHT_PHANTOM_TROPHY.get(), TFItems.UR_GHAST_TROPHY.get(), TFItems.ALPHA_YETI_TROPHY.get(), TFItems.SNOW_QUEEN_TROPHY.get(), TFItems.QUEST_RAM_TROPHY.get(), - TFItems.CREEPER_SKULL_CANDLE.get(), TFItems.PIGLIN_SKULL_CANDLE.get(), TFItems.PLAYER_SKULL_CANDLE.get(), TFItems.SKELETON_SKULL_CANDLE.get(), TFItems.WITHER_SKELETON_SKULL_CANDLE.get(), TFItems.ZOMBIE_SKULL_CANDLE.get() - ); +// event.registerItem(ISTER.CLIENT_ITEM_EXTENSION, +// TFBlocks.CICADA.asItem(), TFBlocks.FIREFLY.asItem(), TFBlocks.MOONWORM.asItem(), TFBlocks.SKULL_CHEST.asItem(), TFBlocks.KEEPSAKE_CASKET.asItem(), TFBlocks.CANDELABRA.asItem(), TFBlocks.BRAZIER.asItem(), +// TFItems.CICADA_JAR.get(), TFItems.FIREFLY_JAR.get(), TFItems.MASON_JAR.get(), TFItems.KNIGHTMETAL_SHIELD.get(), TFItems.MYSTIC_CROWN.value(), +// TFBlocks.TWILIGHT_OAK_CHEST.asItem(), TFBlocks.CANOPY_CHEST.asItem(), TFBlocks.MANGROVE_CHEST.asItem(), TFBlocks.DARK_CHEST.asItem(), TFBlocks.TIME_CHEST.asItem(), TFBlocks.TRANSFORMATION_CHEST.asItem(), TFBlocks.MINING_CHEST.asItem(), TFBlocks.SORTING_CHEST.asItem(), +// TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.asItem(), TFBlocks.CANOPY_TRAPPED_CHEST.asItem(), TFBlocks.MANGROVE_TRAPPED_CHEST.asItem(), TFBlocks.DARK_TRAPPED_CHEST.asItem(), TFBlocks.TIME_TRAPPED_CHEST.asItem(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.asItem(), TFBlocks.MINING_TRAPPED_CHEST.asItem(), TFBlocks.SORTING_TRAPPED_CHEST.asItem(), +// TFItems.NAGA_TROPHY.get(), TFItems.LICH_TROPHY.get(), TFItems.MINOSHROOM_TROPHY.get(), TFItems.HYDRA_TROPHY.get(), TFItems.KNIGHT_PHANTOM_TROPHY.get(), TFItems.UR_GHAST_TROPHY.get(), TFItems.ALPHA_YETI_TROPHY.get(), TFItems.SNOW_QUEEN_TROPHY.get(), TFItems.QUEST_RAM_TROPHY.get(), +// TFItems.CREEPER_SKULL_CANDLE.get(), TFItems.PIGLIN_SKULL_CANDLE.get(), TFItems.PLAYER_SKULL_CANDLE.get(), TFItems.SKELETON_SKULL_CANDLE.get(), TFItems.WITHER_SKELETON_SKULL_CANDLE.get(), TFItems.ZOMBIE_SKULL_CANDLE.get() +// ); event.registerItem(ArcticArmorItem.ArmorRender.INSTANCE, TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); event.registerItem(FieryArmorItem.ArmorRender.INSTANCE, TFItems.FIERY_HELMET.get(), TFItems.FIERY_CHESTPLATE.get(), TFItems.FIERY_LEGGINGS.get(), TFItems.FIERY_BOOTS.get()); @@ -696,6 +697,7 @@ public static void registerCustomRenderData(RegisterRenderStateModifiersEvent ev state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); }); + event.registerEntityModifier(new TypeToken>() {}, (living, state) -> state.setRenderData(ClientEvents.HEAD_KEY, living.getItemBySlot(EquipmentSlot.HEAD).getItem() instanceof TrophyItem || ClientEvents.areCuriosEquipped(living))); event.registerMapModifier((data, state) -> state.setRenderData(TFMagicMapData.MAGIC_MAP_KEY, data instanceof TFMagicMapData)); event.registerMapModifier((data, state) -> state.setRenderData(TFMagicMapData.CONQUERED_STRUCTURES_KEY, data instanceof TFMagicMapData map ? map.conqueredStructures : List.of())); diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java index c8d9320e41..61525f38b4 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelBuilder.java @@ -11,32 +11,36 @@ import java.util.List; public class NoiseVaryingModelBuilder extends CustomLoaderBuilder { - private final List variants = new ArrayList<>(); + private final List variants = new ArrayList<>(); public NoiseVaryingModelBuilder() { super(TwilightForestMod.prefix("noise_varying"), false); } - public NoiseVaryingModelBuilder add(T builder) { - builder.assertExistence(); - + public NoiseVaryingModelBuilder add(ResourceLocation builder) { this.variants.add(builder); - return this; } - public NoiseVaryingModelBuilder addAll(T[] builders) { + public NoiseVaryingModelBuilder addAll(ResourceLocation[] builders) { Arrays.stream(builders).forEach(this::add); return this; } + @Override + protected NoiseVaryingModelBuilder copyInternal() { + NoiseVaryingModelBuilder builder = new NoiseVaryingModelBuilder(); + builder.variants.addAll(this.variants); + return builder; + } + @Override public JsonObject toJson(JsonObject json) { JsonObject mainJson = super.toJson(json); JsonArray variants = new JsonArray(); - this.variants.stream().map(ModelFile::getLocation).map(ResourceLocation::toString).forEach(variants::add); + this.variants.forEach(resourceLocation -> variants.add(resourceLocation.toString())); mainJson.add("variants", variants); return mainJson; diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java index 1e99f3f54b..df1b1444e1 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java @@ -26,10 +26,18 @@ public class ForceFieldModel implements IDynamicBakedModel { private final Map parts; private final Function spriteFunction; + private final TextureAtlasSprite particle; + private final boolean usesAO; + private final boolean usesBlockLight; + private final ItemTransforms transforms; public ForceFieldModel(Map parts, Function spriteFunction, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms) { this.parts = parts; this.spriteFunction = spriteFunction; + this.particle = spriteFunction.apply("particle"); + this.usesAO = useAmbientOcclusion; + this.usesBlockLight = usesBlockLight; + this.transforms = itemTransforms; } @Override @@ -145,7 +153,7 @@ public static List getExtraDirections(BlockState state, BlockGet @Override public boolean useAmbientOcclusion() { - return true; + return this.usesAO; } @Override @@ -155,7 +163,7 @@ public boolean isGui3d() { @Override public boolean usesBlockLight() { - return true; + return this.usesBlockLight; } @Override diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java index 99a12073ab..f17e545ab7 100644 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ b/src/main/java/twilightforest/data/DataGenerators.java @@ -16,6 +16,8 @@ import twilightforest.TwilightForestMod; import twilightforest.data.custom.QuestGenerator; import twilightforest.data.custom.stalactites.StalactiteGenerator; +import twilightforest.data.models.BlockModelGenerator; +import twilightforest.data.models.ModelGenerator; import twilightforest.data.recipes.CraftingGeneratorRunner; import twilightforest.data.tags.*; @@ -31,8 +33,7 @@ public static void gatherData(GatherDataEvent.Client event) { PackOutput output = event.getGenerator().getPackOutput(); //client generators - //generator.addProvider(true, new BlockstateGenerator(output)); - //generator.addProvider(true, new ItemModelGenerator(output)); + generator.addProvider(true, new ModelGenerator(output)); generator.addProvider(true, new ParticleGenerator(output)); generator.addProvider(true, new SoundGenerator(output)); diff --git a/src/main/java/twilightforest/data/TFBlockFamilies.java b/src/main/java/twilightforest/data/TFBlockFamilies.java index 3f5653e7bb..6b50025984 100644 --- a/src/main/java/twilightforest/data/TFBlockFamilies.java +++ b/src/main/java/twilightforest/data/TFBlockFamilies.java @@ -1,5 +1,7 @@ package twilightforest.data; +import com.google.common.collect.Maps; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.BlockFamily; import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.NotNull; @@ -9,117 +11,122 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Stream; // For Datagen only! Avoid referencing this class too early, or the DeferredHolders will return null! public class TFBlockFamilies { - public static final BlockFamily TWILIGHT_OAK = familyBuilder(TFBlocks.TWILIGHT_OAK_PLANKS.value()) - .stairs(TFBlocks.TWILIGHT_OAK_STAIRS.value()) - .slab(TFBlocks.TWILIGHT_OAK_SLAB.value()) - .button(TFBlocks.TWILIGHT_OAK_BUTTON.value()) - .fence(TFBlocks.TWILIGHT_OAK_FENCE.value()) - .fenceGate(TFBlocks.TWILIGHT_OAK_GATE.value()) - .pressurePlate(TFBlocks.TWILIGHT_OAK_PLATE.value()) - .door(TFBlocks.TWILIGHT_OAK_DOOR.value()) - .trapdoor(TFBlocks.TWILIGHT_OAK_TRAPDOOR.value()) - .sign(TFBlocks.TWILIGHT_OAK_SIGN.value(), TFBlocks.TWILIGHT_WALL_SIGN.value()) + + private static final Map MAP = Maps.newHashMap(); + + public static final BlockFamily TWILIGHT_OAK = familyBuilder(TFBlocks.TWILIGHT_OAK_PLANKS.get()) + .stairs(TFBlocks.TWILIGHT_OAK_STAIRS.get()) + .slab(TFBlocks.TWILIGHT_OAK_SLAB.get()) + .button(TFBlocks.TWILIGHT_OAK_BUTTON.get()) + .fence(TFBlocks.TWILIGHT_OAK_FENCE.get()) + .fenceGate(TFBlocks.TWILIGHT_OAK_GATE.get()) + .pressurePlate(TFBlocks.TWILIGHT_OAK_PLATE.get()) + .door(TFBlocks.TWILIGHT_OAK_DOOR.get()) + .trapdoor(TFBlocks.TWILIGHT_OAK_TRAPDOOR.get()) + .sign(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily CANOPY = familyBuilder(TFBlocks.CANOPY_PLANKS.value()) - .stairs(TFBlocks.CANOPY_STAIRS.value()) - .slab(TFBlocks.CANOPY_SLAB.value()) - .button(TFBlocks.CANOPY_BUTTON.value()) - .fence(TFBlocks.CANOPY_FENCE.value()) - .fenceGate(TFBlocks.CANOPY_GATE.value()) - .pressurePlate(TFBlocks.CANOPY_PLATE.value()) - .door(TFBlocks.CANOPY_DOOR.value()) - .trapdoor(TFBlocks.CANOPY_TRAPDOOR.value()) - .sign(TFBlocks.CANOPY_SIGN.value(), TFBlocks.CANOPY_WALL_SIGN.value()) + public static final BlockFamily CANOPY = familyBuilder(TFBlocks.CANOPY_PLANKS.get()) + .stairs(TFBlocks.CANOPY_STAIRS.get()) + .slab(TFBlocks.CANOPY_SLAB.get()) + .button(TFBlocks.CANOPY_BUTTON.get()) + .fence(TFBlocks.CANOPY_FENCE.get()) + .fenceGate(TFBlocks.CANOPY_GATE.get()) + .pressurePlate(TFBlocks.CANOPY_PLATE.get()) + .door(TFBlocks.CANOPY_DOOR.get()) + .trapdoor(TFBlocks.CANOPY_TRAPDOOR.get()) + .sign(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily MANGROVE = familyBuilder(TFBlocks.MANGROVE_PLANKS.value()) - .stairs(TFBlocks.MANGROVE_STAIRS.value()) - .slab(TFBlocks.MANGROVE_SLAB.value()) - .button(TFBlocks.MANGROVE_BUTTON.value()) - .fence(TFBlocks.MANGROVE_FENCE.value()) - .fenceGate(TFBlocks.MANGROVE_GATE.value()) - .pressurePlate(TFBlocks.MANGROVE_PLATE.value()) - .door(TFBlocks.MANGROVE_DOOR.value()) - .trapdoor(TFBlocks.MANGROVE_TRAPDOOR.value()) - .sign(TFBlocks.MANGROVE_SIGN.value(), TFBlocks.MANGROVE_WALL_SIGN.value()) + public static final BlockFamily MANGROVE = familyBuilder(TFBlocks.MANGROVE_PLANKS.get()) + .stairs(TFBlocks.MANGROVE_STAIRS.get()) + .slab(TFBlocks.MANGROVE_SLAB.get()) + .button(TFBlocks.MANGROVE_BUTTON.get()) + .fence(TFBlocks.MANGROVE_FENCE.get()) + .fenceGate(TFBlocks.MANGROVE_GATE.get()) + .pressurePlate(TFBlocks.MANGROVE_PLATE.get()) + .door(TFBlocks.MANGROVE_DOOR.get()) + .trapdoor(TFBlocks.MANGROVE_TRAPDOOR.get()) + .sign(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily DARKWOOD = familyBuilder(TFBlocks.DARK_PLANKS.value()) - .stairs(TFBlocks.DARK_STAIRS.value()) - .slab(TFBlocks.DARK_SLAB.value()) - .button(TFBlocks.DARK_BUTTON.value()) - .fence(TFBlocks.DARK_FENCE.value()) - .fenceGate(TFBlocks.DARK_GATE.value()) - .pressurePlate(TFBlocks.DARK_PLATE.value()) - .door(TFBlocks.DARK_DOOR.value()) - .trapdoor(TFBlocks.DARK_TRAPDOOR.value()) - .sign(TFBlocks.DARK_SIGN.value(), TFBlocks.DARK_WALL_SIGN.value()) + public static final BlockFamily DARKWOOD = familyBuilder(TFBlocks.DARK_PLANKS.get()) + .stairs(TFBlocks.DARK_STAIRS.get()) + .slab(TFBlocks.DARK_SLAB.get()) + .button(TFBlocks.DARK_BUTTON.get()) + .fence(TFBlocks.DARK_FENCE.get()) + .fenceGate(TFBlocks.DARK_GATE.get()) + .pressurePlate(TFBlocks.DARK_PLATE.get()) + .door(TFBlocks.DARK_DOOR.get()) + .trapdoor(TFBlocks.DARK_TRAPDOOR.get()) + .sign(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily TIMEWOOD = familyBuilder(TFBlocks.TIME_PLANKS.value()) - .stairs(TFBlocks.TIME_STAIRS.value()) - .slab(TFBlocks.TIME_SLAB.value()) - .button(TFBlocks.TIME_BUTTON.value()) - .fence(TFBlocks.TIME_FENCE.value()) - .fenceGate(TFBlocks.TIME_GATE.value()) - .pressurePlate(TFBlocks.TIME_PLATE.value()) - .door(TFBlocks.TIME_DOOR.value()) - .trapdoor(TFBlocks.TIME_TRAPDOOR.value()) - .sign(TFBlocks.TIME_SIGN.value(), TFBlocks.TIME_WALL_SIGN.value()) + public static final BlockFamily TIMEWOOD = familyBuilder(TFBlocks.TIME_PLANKS.get()) + .stairs(TFBlocks.TIME_STAIRS.get()) + .slab(TFBlocks.TIME_SLAB.get()) + .button(TFBlocks.TIME_BUTTON.get()) + .fence(TFBlocks.TIME_FENCE.get()) + .fenceGate(TFBlocks.TIME_GATE.get()) + .pressurePlate(TFBlocks.TIME_PLATE.get()) + .door(TFBlocks.TIME_DOOR.get()) + .trapdoor(TFBlocks.TIME_TRAPDOOR.get()) + .sign(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily TRANSWOOD = familyBuilder(TFBlocks.TRANSFORMATION_PLANKS.value()) - .stairs(TFBlocks.TRANSFORMATION_STAIRS.value()) - .slab(TFBlocks.TRANSFORMATION_SLAB.value()) - .button(TFBlocks.TRANSFORMATION_BUTTON.value()) - .fence(TFBlocks.TRANSFORMATION_FENCE.value()) - .fenceGate(TFBlocks.TRANSFORMATION_GATE.value()) - .pressurePlate(TFBlocks.TRANSFORMATION_PLATE.value()) - .door(TFBlocks.TRANSFORMATION_DOOR.value()) - .trapdoor(TFBlocks.TRANSFORMATION_TRAPDOOR.value()) - .sign(TFBlocks.TRANSFORMATION_SIGN.value(), TFBlocks.TRANSFORMATION_WALL_SIGN.value()) + public static final BlockFamily TRANSWOOD = familyBuilder(TFBlocks.TRANSFORMATION_PLANKS.get()) + .stairs(TFBlocks.TRANSFORMATION_STAIRS.get()) + .slab(TFBlocks.TRANSFORMATION_SLAB.get()) + .button(TFBlocks.TRANSFORMATION_BUTTON.get()) + .fence(TFBlocks.TRANSFORMATION_FENCE.get()) + .fenceGate(TFBlocks.TRANSFORMATION_GATE.get()) + .pressurePlate(TFBlocks.TRANSFORMATION_PLATE.get()) + .door(TFBlocks.TRANSFORMATION_DOOR.get()) + .trapdoor(TFBlocks.TRANSFORMATION_TRAPDOOR.get()) + .sign(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily MINEWOOD = familyBuilder(TFBlocks.MINING_PLANKS.value()) - .stairs(TFBlocks.MINING_STAIRS.value()) - .slab(TFBlocks.MINING_SLAB.value()) - .button(TFBlocks.MINING_BUTTON.value()) - .fence(TFBlocks.MINING_FENCE.value()) - .fenceGate(TFBlocks.MINING_GATE.value()) - .pressurePlate(TFBlocks.MINING_PLATE.value()) - .door(TFBlocks.MINING_DOOR.value()) - .trapdoor(TFBlocks.MINING_TRAPDOOR.value()) - .sign(TFBlocks.MINING_SIGN.value(), TFBlocks.MINING_WALL_SIGN.value()) + public static final BlockFamily MINEWOOD = familyBuilder(TFBlocks.MINING_PLANKS.get()) + .stairs(TFBlocks.MINING_STAIRS.get()) + .slab(TFBlocks.MINING_SLAB.get()) + .button(TFBlocks.MINING_BUTTON.get()) + .fence(TFBlocks.MINING_FENCE.get()) + .fenceGate(TFBlocks.MINING_GATE.get()) + .pressurePlate(TFBlocks.MINING_PLATE.get()) + .door(TFBlocks.MINING_DOOR.get()) + .trapdoor(TFBlocks.MINING_TRAPDOOR.get()) + .sign(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); - public static final BlockFamily SORTWOOD = familyBuilder(TFBlocks.SORTING_PLANKS.value()) - .stairs(TFBlocks.SORTING_STAIRS.value()) - .slab(TFBlocks.SORTING_SLAB.value()) - .button(TFBlocks.SORTING_BUTTON.value()) - .fence(TFBlocks.SORTING_FENCE.value()) - .fenceGate(TFBlocks.SORTING_GATE.value()) - .pressurePlate(TFBlocks.SORTING_PLATE.value()) - .door(TFBlocks.SORTING_DOOR.value()) - .trapdoor(TFBlocks.SORTING_TRAPDOOR.value()) - .sign(TFBlocks.SORTING_SIGN.value(), TFBlocks.SORTING_WALL_SIGN.value()) + public static final BlockFamily SORTWOOD = familyBuilder(TFBlocks.SORTING_PLANKS.get()) + .stairs(TFBlocks.SORTING_STAIRS.get()) + .slab(TFBlocks.SORTING_SLAB.get()) + .button(TFBlocks.SORTING_BUTTON.get()) + .fence(TFBlocks.SORTING_FENCE.get()) + .fenceGate(TFBlocks.SORTING_GATE.get()) + .pressurePlate(TFBlocks.SORTING_PLATE.get()) + .door(TFBlocks.SORTING_DOOR.get()) + .trapdoor(TFBlocks.SORTING_TRAPDOOR.get()) + .sign(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get()) .recipeGroupPrefix("wooden") .recipeUnlockedBy("has_planks") .getFamily(); @@ -137,8 +144,17 @@ public static List findMissingFamilyShapes(BlockFamily fami return available; } - @NotNull private static BlockFamily.Builder familyBuilder(Block baseBlock) { - return new BlockFamily.Builder(baseBlock); + BlockFamily.Builder builder = new BlockFamily.Builder(baseBlock); + BlockFamily blockfamily = MAP.put(baseBlock, builder.getFamily()); + if (blockfamily != null) { + throw new IllegalStateException("Duplicate family definition for " + BuiltInRegistries.BLOCK.getKey(baseBlock)); + } else { + return builder; + } + } + + public static Stream getAllFamilies() { + return MAP.values().stream(); } } diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java new file mode 100644 index 0000000000..f68c41560f --- /dev/null +++ b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java @@ -0,0 +1,20 @@ +package twilightforest.data.helpers; + +import net.minecraft.client.data.models.BlockModelGenerators; +import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.blockstates.BlockStateGenerator; +import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.resources.ResourceLocation; + +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +public abstract class BlockModelBuilders extends BlockModelGenerators { + + public BlockModelBuilders(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { + super(stateOutput, itemOutput, modelOutput); + } + + @Override + public abstract void run(); +} diff --git a/src/main/java/twilightforest/data/helpers/ItemModelBuilders.java b/src/main/java/twilightforest/data/helpers/ItemModelBuilders.java new file mode 100644 index 0000000000..4ce8e10c76 --- /dev/null +++ b/src/main/java/twilightforest/data/helpers/ItemModelBuilders.java @@ -0,0 +1,18 @@ +package twilightforest.data.helpers; + +import net.minecraft.client.data.models.ItemModelGenerators; +import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.resources.ResourceLocation; + +import java.util.function.BiConsumer; + +public abstract class ItemModelBuilders extends ItemModelGenerators { + + public ItemModelBuilders(ItemModelOutput output, BiConsumer modelOutput) { + super(output, modelOutput); + } + + @Override + public abstract void run(); +} diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/main/java/twilightforest/data/models/BlockModelGenerator.java new file mode 100644 index 0000000000..4da7b76be4 --- /dev/null +++ b/src/main/java/twilightforest/data/models/BlockModelGenerator.java @@ -0,0 +1,29 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.blockstates.BlockStateGenerator; +import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.client.data.models.model.TexturedModel; +import net.minecraft.data.BlockFamily; +import net.minecraft.resources.ResourceLocation; +import twilightforest.data.TFBlockFamilies; +import twilightforest.data.helpers.BlockModelBuilders; +import twilightforest.init.TFBlocks; + +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +public class BlockModelGenerator extends BlockModelBuilders { + public BlockModelGenerator(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { + super(stateOutput, itemOutput, modelOutput); + } + + @Override + public void run() { + TFBlockFamilies.getAllFamilies().filter(BlockFamily::shouldGenerateModel).forEach((family) -> this.family(family.getBaseBlock()).generateFor(family)); + + this.createTrivialCube(TFBlocks.ANTIBUILT_BLOCK.get()); + this.createTrivialCube(TFBlocks.AURORA_BLOCK.get()); + this.createTrivialCube(TFBlocks.ARCTIC_FUR_BLOCK.get()); + } +} diff --git a/src/main/java/twilightforest/data/models/ItemModelGenerator.java b/src/main/java/twilightforest/data/models/ItemModelGenerator.java new file mode 100644 index 0000000000..a6853783eb --- /dev/null +++ b/src/main/java/twilightforest/data/models/ItemModelGenerator.java @@ -0,0 +1,22 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.ItemModelGenerators; +import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.data.BlockFamily; +import net.minecraft.resources.ResourceLocation; +import twilightforest.data.TFBlockFamilies; +import twilightforest.data.helpers.ItemModelBuilders; + +import java.util.function.BiConsumer; + +public class ItemModelGenerator extends ItemModelBuilders { + public ItemModelGenerator(ItemModelOutput output, BiConsumer modelOutput) { + super(output, modelOutput); + } + + @Override + public void run() { + + } +} diff --git a/src/main/java/twilightforest/data/models/ModelGenerator.java b/src/main/java/twilightforest/data/models/ModelGenerator.java new file mode 100644 index 0000000000..36ddf304dc --- /dev/null +++ b/src/main/java/twilightforest/data/models/ModelGenerator.java @@ -0,0 +1,48 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.ModelProvider; +import net.minecraft.core.Holder; +import net.minecraft.data.CachedOutput; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import twilightforest.TwilightForestMod; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFItems; + +import java.util.concurrent.CompletableFuture; +import java.util.stream.Stream; + +public class ModelGenerator extends ModelProvider { + private final PackOutput.PathProvider blocks; + private final PackOutput.PathProvider items; + private final PackOutput.PathProvider models; + + public ModelGenerator(PackOutput packOutput) { + super(packOutput, TwilightForestMod.ID); + this.blocks = packOutput.createPathProvider(PackOutput.Target.RESOURCE_PACK, "blockstates"); + this.items = packOutput.createPathProvider(PackOutput.Target.RESOURCE_PACK, "items"); + this.models = packOutput.createPathProvider(PackOutput.Target.RESOURCE_PACK, "models"); + } + + @Override + public CompletableFuture run(CachedOutput output) { + ItemInfoCollector itemModelOutput = new ItemInfoCollector(this::getKnownItems); + BlockStateGeneratorCollector blockModelOutput = new BlockStateGeneratorCollector(this::getKnownBlocks); + SimpleModelCollector modelOutput = new SimpleModelCollector(); + this.registerModels(new BlockModelGenerator(blockModelOutput, itemModelOutput, modelOutput), new ItemModelGenerator(itemModelOutput, modelOutput)); +// blockModelOutput.validate(); +// itemModelOutput.finalizeAndValidate(); + return CompletableFuture.allOf(blockModelOutput.save(output, this.blocks), modelOutput.save(output, this.models), itemModelOutput.save(output, this.items)); + } + + @Override + protected Stream> getKnownBlocks() { + return TFBlocks.BLOCKS.getEntries().stream(); + } + + @Override + protected Stream> getKnownItems() { + return TFItems.ITEMS.getEntries().stream(); + } +} diff --git a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java index dd7f1f502e..b3ab80a63f 100644 --- a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java +++ b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java @@ -2,7 +2,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonParseException; +import com.mojang.serialization.DataResult; import com.mojang.serialization.JsonOps; +import net.minecraft.resources.FileToIdConverter; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; @@ -13,27 +15,34 @@ import twilightforest.entity.passive.quest.ram.QuestingRamContext; import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; public class QuestReloadListener extends SimpleJsonResourceReloadListener { private QuestingRamContext ram = QuestingRamContext.FALLBACK; public QuestReloadListener() { - super(ExtraCodecs.JSON, "twilight/quests"); + super(ExtraCodecs.JSON, FileToIdConverter.json("twilight/quests")); } @Override protected void apply(Map object, ResourceManager resourceManager, ProfilerFiller profiler) { - boolean found = false; + AtomicBoolean found = new AtomicBoolean(false); for (var entry : object.entrySet()) { if (entry.getKey().getPath().equals("questing_ram")) { - this.ram = QuestingRamContext.CODEC.parse(JsonOps.INSTANCE, entry.getValue()).getOrThrow(JsonParseException::new); - TwilightForestMod.LOGGER.debug("Questing Ram quest set by mod {}", entry.getKey().getNamespace()); - found = true; + QuestingRamContext.CODEC.parse(JsonOps.INSTANCE, entry.getValue()).mapOrElse(context -> { + this.ram = context; + TwilightForestMod.LOGGER.debug("Questing Ram quest set by mod {}", entry.getKey().getNamespace()); + found.set(true); + return DataResult.success(context); + }, error -> { + TwilightForestMod.LOGGER.warn("Invalid Questing Ram quest added by mod {}: {}", entry.getKey().getNamespace(), error.message()); + return error; + }); } } - if (!found) { + if (!found.get()) { TwilightForestMod.LOGGER.error("Questing Ram quest file not found. Defaulting to fallback"); this.ram = QuestingRamContext.FALLBACK; } diff --git a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java index cd764a46b7..b9109aa10d 100644 --- a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java @@ -7,8 +7,13 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderDispatcher; +import net.minecraft.client.renderer.entity.ItemEntityRenderer; +import net.minecraft.client.renderer.entity.state.ItemClusterRenderState; +import net.minecraft.client.renderer.entity.state.ItemEntityRenderState; +import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.registries.BuiltInRegistries; @@ -136,7 +141,7 @@ private static void applyAdditionalTransforms(EntityType entity, PoseStack st if (entity == EntityType.ELDER_GUARDIAN) stack.scale(0.6F, 0.6F, 0.6F); } - public static void renderItemEntity(GuiGraphics graphics, ItemStack stack, @Nullable Level level, float bobOffset) { + public static void renderItemEntity(GuiGraphics graphics, ItemStack stack, float bobOffset) { PoseStack posestack = graphics.pose(); posestack.pushPose(); posestack.translate(16.0D, 32.0D, 50.0D); @@ -149,36 +154,28 @@ public static void renderItemEntity(GuiGraphics graphics, ItemStack stack, @Null posestack.mulPose(Axis.YN.rotationDegrees(145.0F)); Lighting.setupForEntityInInventory(); quaternion1.conjugate(); - ItemEntity item = (ItemEntity) fetchEntity(EntityType.ITEM, level); - Objects.requireNonNull(item).setItem(stack); - graphics.drawSpecial(source -> render(item, Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(), posestack, source, bobOffset)); + graphics.drawSpecial(source -> render(stack, Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(), posestack, source, bobOffset)); graphics.flush(); posestack.popPose(); Lighting.setupFor3DItems(); } //[VanillaCopy] of ItemEntityRenderer.render. I have to add my own bob offset and ticker since using the vanilla method has issues - private static void render(ItemEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, float bobOffset) { - stack.pushPose(); - ItemStack itemstack = entity.getItem(); - BakedModel bakedmodel = Minecraft.getInstance().getItemRenderer().getModel(itemstack, entity.level(), null, entity.getId()); - float f1 = Mth.sin((Objects.requireNonNull(Minecraft.getInstance().level).getGameTime() + partialTicks) / 10.0F + bobOffset) * 0.1F + 0.1F; - float f2 = bakedmodel.getTransforms().getTransform(ItemDisplayContext.GROUND).scale.y(); - stack.translate(0.0D, f1 + 0.25F * f2, 0.0D); - float f3 = getSpin(partialTicks, bobOffset); - stack.mulPose(Axis.YP.rotation(f3)); - - stack.pushPose(); - - Minecraft.getInstance().getItemRenderer().render(itemstack, ItemDisplayContext.GROUND, false, stack, buffer, 15728880, OverlayTexture.NO_OVERLAY, bakedmodel); - stack.popPose(); - - - stack.popPose(); - } - - private static float getSpin(float partialTicks, float bobOffset) { - return (Objects.requireNonNull(Minecraft.getInstance().level).getGameTime() + partialTicks) / 20.0F + bobOffset; + private static void render(ItemStack item, float partialTicks, PoseStack stack, MultiBufferSource buffer, float bobOffset) { + if (!item.isEmpty() && Minecraft.getInstance().level != null) { + ItemClusterRenderState state = new ItemClusterRenderState(); + Minecraft.getInstance().getItemModelResolver().updateForTopItem(state.item, item, ItemDisplayContext.GROUND, false, Minecraft.getInstance().level, null, 0); + stack.pushPose(); + float bob = Mth.sin((Minecraft.getInstance().level.getGameTime() + partialTicks) / 10.0F + bobOffset) * 0.1F + 0.1F; + float offset = state.item.transform().scale.y(); + stack.translate(0.0D, bob + 0.25F * offset, 0.0D); + float f3 = ItemEntity.getSpin(partialTicks, bobOffset); + stack.mulPose(Axis.YP.rotation(f3)); + state.count = ItemClusterRenderState.getRenderedAmount(item.getCount()); + state.seed = ItemClusterRenderState.getSeedForItemStack(item); + ItemEntityRenderer.renderMultipleFromCount(stack, buffer, LightTexture.FULL_BRIGHT, state, Minecraft.getInstance().level.getRandom()); + stack.popPose(); + } } public static List getMobTooltip(EntityType type) { diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 3253167a8e..5eaca84d8e 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -229,3 +229,11 @@ public-f net.minecraft.client.model.Model renderToBuffer(Lcom/mojang/blaze3d/ver public net.minecraft.world.level.levelgen.Beardifier getBeardContribution(IIII)D public net.minecraft.world.level.levelgen.Beardifier getBuryContribution(DDD)D +public net.minecraft.client.renderer.entity.ItemRenderer renderQuadList(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Ljava/util/List;[III)V +public net.minecraft.client.renderer.item.ItemStackRenderState firstLayer()Lnet/minecraft/client/renderer/item/ItemStackRenderState$LayerRenderState; + +public net.minecraft.client.data.models.ModelProvider$ItemInfoCollector +public net.minecraft.client.data.models.ModelProvider$BlockStateGeneratorCollector +public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector +public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector ()V # + From 123ccecd5e35053de49412e1548f202dae127724 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 2 Feb 2025 18:23:12 -0700 Subject: [PATCH 048/239] begin block models, fix some texture names for later --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 33 +++- .../blockstates/antibuilder.json | 7 + .../blockstates/aurora_block.json | 7 - .../blockstates/beanstalk_leaves.json | 7 + .../blockstates/blue_castle_door.json | 10 + .../blockstates/final_boss_boss_spawner.json | 7 + .../blockstates/hydra_boss_spawner.json | 7 + .../knight_phantom_boss_spawner.json | 7 + .../blockstates/lich_boss_spawner.json | 7 + .../blockstates/minoshroom_boss_spawner.json | 7 + .../blockstates/naga_boss_spawner.json | 7 + .../blockstates/snow_queen_boss_spawner.json | 7 + .../blockstates/ur_ghast_boss_spawner.json | 7 + .../models/block/alpha_yeti_boss_spawner.json | 2 +- .../models/block/antibuilder.json | 135 +++++++++++++ .../models/block/antibuilt_block.json | 68 ++++++- .../models/block/arctic_fur_block.json | 10 +- .../models/block/aurora_block.json | 6 - .../models/block/beanstalk_leaves.json | 7 + .../models/block/blue_castle_door.json | 22 +++ .../block/blue_castle_door_vanished.json | 22 +++ .../models/block/final_boss_boss_spawner.json | 6 + .../models/block/hydra_boss_spawner.json | 6 + .../block/knight_phantom_boss_spawner.json | 6 + .../models/block/lich_boss_spawner.json | 6 + .../models/block/minoshroom_boss_spawner.json | 6 + .../models/block/naga_boss_spawner.json | 6 + .../models/block/snow_queen_boss_spawner.json | 6 + .../models/block/ur_ghast_boss_spawner.json | 6 + .../connected/ConnectedTextureBuilder.java | 2 +- .../forcefield/ForceFieldModelBuilder.java | 2 +- .../data/helpers/BlockModelBuilders.java | 180 +++++++++++++++++- .../data/models/BlockModelGenerator.java | 23 ++- .../data/models/TFBlockModelTemplates.java | 22 +++ .../data/models/TFTextureMapping.java | 41 ++++ .../data/models/TFTextureSlot.java | 13 ++ ...werdev_antibuilder.png => antibuilder.png} | Bin ...ibuilder_1.png => antibuilder_layer_1.png} | Bin ...ibuilder_2.png => antibuilder_layer_2.png} | Bin ...rdev_antibuilt.png => antibuilt_block.png} | Bin ...uilt_1.png => antibuilt_block_layer_2.png} | Bin ...towerdev_built_off.png => built_block.png} | Bin ...werdev_built_on.png => built_block_on.png} | Bin ...kshelf_canopy.png => canopy_bookshelf.png} | Bin ...lf_canopy_1.png => canopy_bookshelf_1.png} | Bin ...lf_canopy_2.png => canopy_bookshelf_2.png} | Bin ...lf_canopy_3.png => canopy_bookshelf_3.png} | Bin ...canopy_lower.png => canopy_door_lower.png} | Bin ...canopy_upper.png => canopy_door_upper.png} | Bin .../planks_canopy_0.png => canopy_planks.png} | Bin ...lanks_canopy_1.png => canopy_planks_1.png} | Bin ...lanks_canopy_2.png => canopy_planks_2.png} | Bin ...lanks_canopy_3.png => canopy_planks_3.png} | Bin .../{wood/trapdoor => }/canopy_trapdoor.png | Bin ..._builder_off.png => carminite_builder.png} | Bin ...ff_1.png => carminite_builder_layer_1.png} | Bin ...ff_2.png => carminite_builder_layer_2.png} | Bin ...uilder_on.png => carminite_builder_on.png} | Bin ...1.png => carminite_builder_on_layer_1.png} | Bin ...2.png => carminite_builder_on_layer_2.png} | Bin ...eout.png => carminite_builder_timeout.png} | Bin ... => carminite_builder_timeout_layer_2.png} | Bin ... => carminite_builder_timeout_layer_3.png} | Bin ..._reactor_off.png => carminite_reactor.png} | Bin ...ff_1.png => carminite_reactor_layer_1.png} | Bin ...ff_2.png => carminite_reactor_layer_2.png} | Bin ...eactor_on.png => carminite_reactor_on.png} | Bin ...1.png => carminite_reactor_on_layer_1.png} | Bin ...2.png => carminite_reactor_on_layer_2.png} | Bin ...rune_corners.png => castle_door_runes.png} | Bin ...rune_ctm.png => castle_door_runes_ctm.png} | Bin .../chiseled_canopy_bookshelf_empty.png | Bin .../chiseled_canopy_bookshelf_occupied.png | Bin .../chiseled_canopy_bookshelf_side.png | Bin .../chiseled_canopy_bookshelf_top.png | Bin ...wood_lower.png => darkwood_door_lower.png} | Bin ...wood_upper.png => darkwood_door_upper.png} | Bin ...nks_darkwood_0.png => darkwood_planks.png} | Bin ...s_darkwood_1.png => darkwood_planks_1.png} | Bin ...s_darkwood_2.png => darkwood_planks_2.png} | Bin ...s_darkwood_3.png => darkwood_planks_3.png} | Bin .../{wood/trapdoor => }/darkwood_trapdoor.png | Bin ...jet_1.png => encased_fire_jet_layer_1.png} | Bin ...off_1.png => encased_fire_jet_layer_2.png} | Bin ...rejet_off.png => encased_fire_jet_off.png} | Bin ...firejet_on.png => encased_fire_jet_on.png} | Bin ..._1.png => encased_fire_jet_on_layer_2.png} | Bin ...rdev_smoker_off.png => encased_smoker.png} | Bin ...moker_1.png => encased_smoker_layer_1.png} | Bin ...r_off_1.png => encased_smoker_layer_2.png} | Bin ...ev_smoker_on.png => encased_smoker_on.png} | Bin ...on_1.png => encased_smoker_on_layer_2.png} | Bin .../experiment115_bottom.png | Bin .../experiment115_inner.png | Bin .../experiment115_side.png | Bin .../experiment115_sprinkle.png | Bin .../{experiment115 => }/experiment115_top.png | Bin ...erdev_ghasttrap_off.png => ghast_trap.png} | Bin ...ttrap_off_1.png => ghast_trap_layer_1.png} | Bin ...ttrap_off_2.png => ghast_trap_layer_2.png} | Bin ...hasttraplid_off.png => ghast_trap_lid.png} | Bin ...d_off_1.png => ghast_trap_lid_layer_2.png} | Bin ...sttraplid_on.png => ghast_trap_lid_on.png} | Bin ...on_1.png => ghast_trap_lid_on_layer_2.png} | Bin ...on_2.png => ghast_trap_lid_on_layer_3.png} | Bin ...dev_ghasttrap_on.png => ghast_trap_on.png} | Bin ...rap_on_1.png => ghast_trap_on_layer_1.png} | Bin ...rap_on_2.png => ghast_trap_on_layer_2.png} | Bin ...lock_on.png => locked_vanishing_block.png} | Bin ...png => locked_vanishing_block_layer_1.png} | Bin ...png => locked_vanishing_block_layer_2.png} | Bin ...rove_lower.png => mangrove_door_lower.png} | Bin ...rove_upper.png => mangrove_door_upper.png} | Bin ...nks_mangrove_0.png => mangrove_planks.png} | Bin ...s_mangrove_1.png => mangrove_planks_1.png} | Bin ...s_mangrove_2.png => mangrove_planks_2.png} | Bin ...s_mangrove_3.png => mangrove_planks_3.png} | Bin .../{wood/trapdoor => }/mangrove_trapdoor.png | Bin .../mine_lower.png => mining_door_lower.png} | Bin .../mine_upper.png => mining_door_upper.png} | Bin .../planks_mine_0.png => mining_planks.png} | Bin .../planks_mine_1.png => mining_planks_1.png} | Bin .../planks_mine_2.png => mining_planks_2.png} | Bin .../planks_mine_3.png => mining_planks_3.png} | Bin .../mine_trapdoor.png => mining_trapdoor.png} | Bin .../textures/block/pedestal/hydra_flat.png | Bin 3596 -> 0 bytes .../textures/block/pedestal/lich_flat.png | Bin 3725 -> 0 bytes .../textures/block/pedestal/naga_flat.png | Bin 3392 -> 0 bytes .../block/pedestal/snow_queen_flat.png | Bin 3430 -> 0 bytes .../block/pedestal/snow_queen_flat.png.mcmeta | 6 - .../block/pedestal/snow_queen_glow.png.mcmeta | 6 - .../textures/block/pedestal/top_flat.png | Bin 2468 -> 0 bytes .../block/pedestal/top_flat.png.mcmeta | 6 - .../block/pedestal/top_glow.png.mcmeta | 6 - .../textures/block/pedestal/ur-ghast_flat.png | Bin 4326 -> 0 bytes .../block/pedestal/ur-ghast_flat.png.mcmeta | 6 - .../block/pedestal/ur-ghast_glow.png.mcmeta | 6 - ...ppearing_off.png => reappearing_block.png} | Bin ...ce_off.png => reappearing_block_invis.png} | Bin ..._on.png => reappearing_block_invis_on.png} | Bin ...ff_1.png => reappearing_block_layer_1.png} | Bin ...ff_2.png => reappearing_block_layer_2.png} | Bin ...earing_on.png => reappearing_block_on.png} | Bin ...1.png => reappearing_block_on_layer_1.png} | Bin ...2.png => reappearing_block_on_layer_2.png} | Bin .../sort_lower.png => sorting_door_lower.png} | Bin .../sort_side.png => sorting_door_side.png} | Bin .../sort_upper.png => sorting_door_upper.png} | Bin .../planks_sort_0.png => sorting_planks.png} | Bin ...planks_sort_1.png => sorting_planks_1.png} | Bin ...planks_sort_2.png => sorting_planks_2.png} | Bin ...planks_sort_3.png => sorting_planks_3.png} | Bin ...sort_trapdoor.png => sorting_trapdoor.png} | Bin .../time_lower.png => time_door_lower.png} | Bin .../time_upper.png => time_door_upper.png} | Bin .../planks_time_0.png => time_planks.png} | Bin .../planks_time_1.png => time_planks_1.png} | Bin .../planks_time_2.png => time_planks_2.png} | Bin .../planks_time_3.png => time_planks_3.png} | Bin .../{wood/trapdoor => }/time_trapdoor.png | Bin ...ower.png => transformation_door_lower.png} | Bin ...pper.png => transformation_door_upper.png} | Bin ..._trans_0.png => transformation_planks.png} | Bin ...rans_1.png => transformation_planks_1.png} | Bin ...rans_2.png => transformation_planks_2.png} | Bin ...rans_3.png => transformation_planks_3.png} | Bin ...apdoor.png => transformation_trapdoor.png} | Bin .../hydra.png => trophy_pedestal_hydra.png} | Bin ...low.png => trophy_pedestal_hydra_glow.png} | Bin ... => trophy_pedestal_hydra_glow.png.mcmeta} | 0 ...t.png => trophy_pedestal_hydra_latent.png} | Bin .../lich.png => trophy_pedestal_lich.png} | Bin ...glow.png => trophy_pedestal_lich_glow.png} | Bin ...a => trophy_pedestal_lich_glow.png.mcmeta} | 0 ...nt.png => trophy_pedestal_lich_latent.png} | Bin .../naga.png => trophy_pedestal_naga.png} | Bin ...glow.png => trophy_pedestal_naga_glow.png} | Bin ...a => trophy_pedestal_naga_glow.png.mcmeta} | 0 ...nt.png => trophy_pedestal_naga_latent.png} | Bin ...een.png => trophy_pedestal_snow_queen.png} | Bin ...ng => trophy_pedestal_snow_queen_glow.png} | Bin ...rophy_pedestal_snow_queen_glow.png.mcmeta} | 0 ... => trophy_pedestal_snow_queen_latent.png} | Bin .../top.png => trophy_pedestal_top.png} | Bin ..._glow.png => trophy_pedestal_top_glow.png} | Bin ...ta => trophy_pedestal_top_glow.png.mcmeta} | 0 ...ghast.png => trophy_pedestal_ur_ghast.png} | Bin ....png => trophy_pedestal_ur_ghast_glow.png} | Bin ... trophy_pedestal_ur_ghast_glow.png.mcmeta} | 0 ...ng => trophy_pedestal_ur_ghast_latent.png} | Bin ..._lower.png => twilight_oak_door_lower.png} | Bin ..._upper.png => twilight_oak_door_upper.png} | Bin ...ight_oak_0.png => twilight_oak_planks.png} | Bin ...ht_oak_1.png => twilight_oak_planks_1.png} | Bin ...ht_oak_2.png => twilight_oak_planks_2.png} | Bin ...ht_oak_3.png => twilight_oak_planks_3.png} | Bin .../trapdoor => }/twilight_oak_trapdoor.png | Bin ...k_off.png => unlocked_vanishing_block.png} | Bin ...g => unlocked_vanishing_block_layer_1.png} | Bin ...g => unlocked_vanishing_block_layer_2.png} | Bin ...dev_vanish_off.png => vanishing_block.png} | Bin ..._off_1.png => vanishing_block_layer_1.png} | Bin ..._off_2.png => vanishing_block_layer_2.png} | Bin ...v_vanish_on.png => vanishing_block_on.png} | Bin ...n_1.png => vanishing_block_on_layer_1.png} | Bin ...n_2.png => vanishing_block_on_layer_2.png} | Bin .../clover.png => item/clover_patch.png} | Bin .../{moon_dial/full.png => moon_dial.png} | Bin .../waning_gibbous.png => moon_dial_1.png} | Bin .../third_quarter.png => moon_dial_2.png} | Bin .../waning_cresent.png => moon_dial_3.png} | Bin .../{moon_dial/new.png => moon_dial_4.png} | Bin .../waxing_cresent.png => moon_dial_5.png} | Bin .../first_quarter.png => moon_dial_6.png} | Bin .../waxing_gibbous.png => moon_dial_7.png} | Bin .../patch/moss.png => item/moss_patch.png} | Bin 216 files changed, 692 insertions(+), 67 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/antibuilder.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/antibuilder.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json create mode 100644 src/main/java/twilightforest/data/models/TFBlockModelTemplates.java create mode 100644 src/main/java/twilightforest/data/models/TFTextureMapping.java create mode 100644 src/main/java/twilightforest/data/models/TFTextureSlot.java rename src/main/resources/assets/twilightforest/textures/block/{towerdev_antibuilder.png => antibuilder.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_antibuilder_1.png => antibuilder_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_antibuilder_2.png => antibuilder_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_antibuilt.png => antibuilt_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_antibuilt_1.png => antibuilt_block_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_built_off.png => built_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_built_on.png => built_block_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/bookshelf_canopy.png => canopy_bookshelf.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/bookshelf_canopy_1.png => canopy_bookshelf_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/bookshelf_canopy_2.png => canopy_bookshelf_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/bookshelf_canopy_3.png => canopy_bookshelf_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/canopy_lower.png => canopy_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/canopy_upper.png => canopy_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_canopy_0.png => canopy_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_canopy_1.png => canopy_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_canopy_2.png => canopy_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_canopy_3.png => canopy_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor => }/canopy_trapdoor.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_builder_off.png => carminite_builder.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_builder_off_1.png => carminite_builder_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_builder_off_2.png => carminite_builder_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_builder_on.png => carminite_builder_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_builder_on_1.png => carminite_builder_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_builder_on_2.png => carminite_builder_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_builder_timeout.png => carminite_builder_timeout.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_builder_timeout_1.png => carminite_builder_timeout_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_3/towerdev_builder_timeout_2.png => carminite_builder_timeout_layer_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reactor_off.png => carminite_reactor.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_reactor_off_1.png => carminite_reactor_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_reactor_off_2.png => carminite_reactor_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reactor_on.png => carminite_reactor_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_reactor_on_1.png => carminite_reactor_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_reactor_on_2.png => carminite_reactor_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{castle_door_rune_corners.png => castle_door_runes.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{castle_door_rune_ctm.png => castle_door_runes_ctm.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood => }/chiseled_canopy_bookshelf_empty.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood => }/chiseled_canopy_bookshelf_occupied.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood => }/chiseled_canopy_bookshelf_side.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood => }/chiseled_canopy_bookshelf_top.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/darkwood_lower.png => darkwood_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/darkwood_upper.png => darkwood_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_darkwood_0.png => darkwood_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_darkwood_1.png => darkwood_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_darkwood_2.png => darkwood_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_darkwood_3.png => darkwood_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor => }/darkwood_trapdoor.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_firejet_1.png => encased_fire_jet_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_firejet_off_1.png => encased_fire_jet_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_firejet_off.png => encased_fire_jet_off.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_firejet_on.png => encased_fire_jet_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_firejet_on_1.png => encased_fire_jet_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_smoker_off.png => encased_smoker.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_smoker_1.png => encased_smoker_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_smoker_off_1.png => encased_smoker_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_smoker_on.png => encased_smoker_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_smoker_on_1.png => encased_smoker_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{experiment115 => }/experiment115_bottom.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{experiment115 => }/experiment115_inner.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{experiment115 => }/experiment115_side.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{experiment115 => }/experiment115_sprinkle.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{experiment115 => }/experiment115_top.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_ghasttrap_off.png => ghast_trap.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_ghasttrap_off_1.png => ghast_trap_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_ghasttrap_off_2.png => ghast_trap_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_ghasttraplid_off.png => ghast_trap_lid.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_ghasttraplid_off_1.png => ghast_trap_lid_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_ghasttraplid_on.png => ghast_trap_lid_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_ghasttraplid_on_1.png => ghast_trap_lid_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_3/towerdev_ghasttraplid_on_2.png => ghast_trap_lid_on_layer_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_ghasttrap_on.png => ghast_trap_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_ghasttrap_on_1.png => ghast_trap_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_ghasttrap_on_2.png => ghast_trap_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_lock_on.png => locked_vanishing_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_lock_on_1.png => locked_vanishing_block_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_lock_on_2.png => locked_vanishing_block_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/mangrove_lower.png => mangrove_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/mangrove_upper.png => mangrove_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mangrove_0.png => mangrove_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mangrove_1.png => mangrove_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mangrove_2.png => mangrove_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mangrove_3.png => mangrove_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor => }/mangrove_trapdoor.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/mine_lower.png => mining_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/mine_upper.png => mining_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mine_0.png => mining_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mine_1.png => mining_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mine_2.png => mining_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_mine_3.png => mining_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor/mine_trapdoor.png => mining_trapdoor.png} (100%) delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/hydra_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/lich_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/naga_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_flat.png.mcmeta delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_glow.png.mcmeta delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/top_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/top_flat.png.mcmeta delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/top_glow.png.mcmeta delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/ur-ghast_flat.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/ur-ghast_flat.png.mcmeta delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pedestal/ur-ghast_glow.png.mcmeta rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reappearing_off.png => reappearing_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reappearing_trace_off.png => reappearing_block_invis.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reappearing_trace_on.png => reappearing_block_invis_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_reappearing_off_1.png => reappearing_block_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_reappearing_off_2.png => reappearing_block_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_reappearing_on.png => reappearing_block_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_reappearing_on_1.png => reappearing_block_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_reappearing_on_2.png => reappearing_block_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/sort_lower.png => sorting_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/sort_side.png => sorting_door_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/sort_upper.png => sorting_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_sort_0.png => sorting_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_sort_1.png => sorting_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_sort_2.png => sorting_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_sort_3.png => sorting_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor/sort_trapdoor.png => sorting_trapdoor.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/time_lower.png => time_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/time_upper.png => time_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_time_0.png => time_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_time_1.png => time_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_time_2.png => time_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_time_3.png => time_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor => }/time_trapdoor.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/trans_lower.png => transformation_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/trans_upper.png => transformation_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_trans_0.png => transformation_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_trans_1.png => transformation_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_trans_2.png => transformation_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_trans_3.png => transformation_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor/trans_trapdoor.png => transformation_trapdoor.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/hydra.png => trophy_pedestal_hydra.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/hydra_glow.png => trophy_pedestal_hydra_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/hydra_flat.png.mcmeta => trophy_pedestal_hydra_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/hydra_latent.png => trophy_pedestal_hydra_latent.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/lich.png => trophy_pedestal_lich.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/lich_glow.png => trophy_pedestal_lich_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/hydra_glow.png.mcmeta => trophy_pedestal_lich_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/lich_latent.png => trophy_pedestal_lich_latent.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/naga.png => trophy_pedestal_naga.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/naga_glow.png => trophy_pedestal_naga_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/lich_flat.png.mcmeta => trophy_pedestal_naga_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/naga_latent.png => trophy_pedestal_naga_latent.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/snow_queen.png => trophy_pedestal_snow_queen.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/snow_queen_glow.png => trophy_pedestal_snow_queen_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/lich_glow.png.mcmeta => trophy_pedestal_snow_queen_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/snow_queen_latent.png => trophy_pedestal_snow_queen_latent.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/top.png => trophy_pedestal_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/top_glow.png => trophy_pedestal_top_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/naga_flat.png.mcmeta => trophy_pedestal_top_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/ur-ghast.png => trophy_pedestal_ur_ghast.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/ur-ghast_glow.png => trophy_pedestal_ur_ghast_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/naga_glow.png.mcmeta => trophy_pedestal_ur_ghast_glow.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{pedestal/ur-ghast_latent.png => trophy_pedestal_ur_ghast_latent.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/twilight_oak_lower.png => twilight_oak_door_lower.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/door/twilight_oak_upper.png => twilight_oak_door_upper.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_twilight_oak_0.png => twilight_oak_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_twilight_oak_1.png => twilight_oak_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_twilight_oak_2.png => twilight_oak_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/planks_twilight_oak_3.png => twilight_oak_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{wood/trapdoor => }/twilight_oak_trapdoor.png (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_lock_off.png => unlocked_vanishing_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_lock_off_1.png => unlocked_vanishing_block_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_lock_off_2.png => unlocked_vanishing_block_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_vanish_off.png => vanishing_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_vanish_off_1.png => vanishing_block_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_vanish_off_2.png => vanishing_block_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{towerdev_vanish_on.png => vanishing_block_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_1/towerdev_vanish_on_1.png => vanishing_block_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{tower_device_level_2/towerdev_vanish_on_2.png => vanishing_block_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/{block/patch/clover.png => item/clover_patch.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/full.png => moon_dial.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/waning_gibbous.png => moon_dial_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/third_quarter.png => moon_dial_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/waning_cresent.png => moon_dial_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/new.png => moon_dial_4.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/waxing_cresent.png => moon_dial_5.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/first_quarter.png => moon_dial_6.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{moon_dial/waxing_gibbous.png => moon_dial_7.png} (100%) rename src/main/resources/assets/twilightforest/textures/{block/patch/moss.png => item/moss_patch.png} (100%) diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 5c361aeb49..276eecc55e 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,8 +1,10 @@ -// 1.21.4 2025-01-18T14:13:37.9444151 Model Definitions - twilightforest +// 1.21.4 2025-01-19T12:22:29.3272377 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json +796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json -fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json +940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json +235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json cfe988b1223e7a93d2cc92548cbc81f1c989edf3 assets/twilightforest/blockstates/canopy_fence.json @@ -25,6 +27,10 @@ aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_ 3d47ed2bc1ce580523333ffdbcd3adb526e57baa assets/twilightforest/blockstates/dark_stairs.json 6f132b9ec72b4a4c18947540e9493eeddfe08f52 assets/twilightforest/blockstates/dark_trapdoor.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json +6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json +86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json +4ce6459423e55eb6ee68205584fc72fdf2ff325b assets/twilightforest/blockstates/knight_phantom_boss_spawner.json +2c26b31ae37dff2a5430d8717b074dab52ad0b74 assets/twilightforest/blockstates/lich_boss_spawner.json 89480f14f87cf18f9e507251a0bb479a962afbb2 assets/twilightforest/blockstates/mangrove_button.json 7b1f90a554e73c509cc58b7974e5f8b712e128d0 assets/twilightforest/blockstates/mangrove_door.json c21058a2e1f22f635caff711f5635cf88ce7aeaa assets/twilightforest/blockstates/mangrove_fence.json @@ -47,6 +53,9 @@ c5d64870f08ca03dacac23dd19c5b6b13c32944c assets/twilightforest/blockstates/minin 2a6b9478f440117c69d8f1eb70dba35ae537f80b assets/twilightforest/blockstates/mining_stairs.json ab90ece7235ea2398745248439024ef17ef237a8 assets/twilightforest/blockstates/mining_trapdoor.json 0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_wall_sign.json +b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minoshroom_boss_spawner.json +0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json +29cdc362c362875bf1a3f48491808cae5b623c9e assets/twilightforest/blockstates/snow_queen_boss_spawner.json c77286635d3bae7125437cb52b159e584bf4478d assets/twilightforest/blockstates/sorting_button.json 29b87b9a3bfb46dff09d8632485616a2d12d6b3f assets/twilightforest/blockstates/sorting_door.json 37e9aa1bc44e0d768c479fd6353c336cca3f1f6e assets/twilightforest/blockstates/sorting_fence.json @@ -91,6 +100,7 @@ e08813a38334ba73c13b2eb51536927ac9466cb5 assets/twilightforest/blockstates/trans f532e1fbce487d08e488af25b67f3026e8201d4a assets/twilightforest/blockstates/twilight_oak_stairs.json da289dbfb7e9f17190a07936eefe0305ae8aa974 assets/twilightforest/blockstates/twilight_oak_trapdoor.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json +940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json @@ -147,10 +157,13 @@ a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oa 78daec2b3c6b1ec90b1eec30869e1634c7b23335 assets/twilightforest/items/twilight_oak_slab.json fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json -839d429d02d1e8ce461b58ce9c07eb1afc001bc0 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json -54c55ae76ebf75d3e76c60789446ee13eaf6d59a assets/twilightforest/models/block/antibuilt_block.json -5fe60e72d62ddfa3429d29902456c16f5a648b92 assets/twilightforest/models/block/arctic_fur_block.json -50d368460f7b3344981466a23895bbded33afcef assets/twilightforest/models/block/aurora_block.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json +db392965d48bf345d90b3177922214fc07e3bc0a assets/twilightforest/models/block/antibuilder.json +5667eb8cb1a006b5cb880477eed84756d48207a0 assets/twilightforest/models/block/antibuilt_block.json +ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json +12615ed50b0962fdc76ec4559fdbeac89080b452 assets/twilightforest/models/block/beanstalk_leaves.json +d25fb494fa6197210ebbaa4f6ab0b7cc74bc0ea9 assets/twilightforest/models/block/blue_castle_door.json +d7bcc2833e84435726085b91edca86c5a7e3730f assets/twilightforest/models/block/blue_castle_door_vanished.json d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json 74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json 83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json @@ -211,6 +224,10 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 1dde0cc9bf4f2ae54778c077ea5100fbbb11bbb1 assets/twilightforest/models/block/dark_trapdoor_bottom.json 55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json 3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/final_boss_boss_spawner.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/hydra_boss_spawner.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/knight_phantom_boss_spawner.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/lich_boss_spawner.json 6301c0d8258d64039633c9a4884d4244e7e8488b assets/twilightforest/models/block/mangrove_button.json 0f626ec10c5cc7333636c4ba6b5a7360dd18a38b assets/twilightforest/models/block/mangrove_button_inventory.json 195109b61531e9fb2868134873bc0f0132689824 assets/twilightforest/models/block/mangrove_button_pressed.json @@ -271,6 +288,9 @@ fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mini 24acf462935ca7b521a5cb5cd807f8cb92d9b9c1 assets/twilightforest/models/block/mining_trapdoor_bottom.json cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mining_trapdoor_open.json 2b9daccb27b2a0100871cc8048cbb44580776f53 assets/twilightforest/models/block/mining_trapdoor_top.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/minoshroom_boss_spawner.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/naga_boss_spawner.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/snow_queen_boss_spawner.json bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sorting_button.json 192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json @@ -391,6 +411,7 @@ fdc5ce124af7f7eb3500288862d1375090721fc8 assets/twilightforest/models/block/twil b4662a4c6dca19b04b9d443bd54f099da5ac903e assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twilight_oak_trapdoor_open.json 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json +a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/ur_ghast_boss_spawner.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json b/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json new file mode 100644 index 0000000000..c1b7762a90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/antibuilder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/antibuilder" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json deleted file mode 100644 index a00b1d74f8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/aurora_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json new file mode 100644 index 0000000000..650794b7e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/beanstalk_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json new file mode 100644 index 0000000000..1f90c2ff89 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_door.json @@ -0,0 +1,10 @@ +{ + "variants": { + "vanish=false": { + "model": "twilightforest:block/blue_castle_door" + }, + "vanish=true": { + "model": "twilightforest:block/blue_castle_door_vanished" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json new file mode 100644 index 0000000000..bb654f1d1f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/final_boss_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/final_boss_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json new file mode 100644 index 0000000000..950684a739 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hydra_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hydra_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json new file mode 100644 index 0000000000..3bb222f396 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/knight_phantom_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/knight_phantom_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json new file mode 100644 index 0000000000..200f47d77c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/lich_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/lich_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json new file mode 100644 index 0000000000..b4053fe3c3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/minoshroom_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/minoshroom_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json new file mode 100644 index 0000000000..bc5c817a2c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/naga_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/naga_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json new file mode 100644 index 0000000000..6d7f976857 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/snow_queen_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/snow_queen_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json new file mode 100644 index 0000000000..235a22f3c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ur_ghast_boss_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ur_ghast_boss_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json index a80ee3970d..fd2568da8f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all_inner_faces", "textures": { - "all": "twilightforest:block/alpha_yeti_boss_spawner" + "all": "twilightforest:boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json new file mode 100644 index 0000000000..b0166d9349 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json @@ -0,0 +1,135 @@ +{ + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all_2" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + }, + { + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_3" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "render_type": "minecraft:cutout", + "textures": { + "all": "twilightforest:block/antibuilder", + "all_2": "twilightforest:block/antibuilder_layer_1", + "all_3": "twilightforest:block/antibuilder_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json index 379b77656c..58f341e0dc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json @@ -1,6 +1,72 @@ { "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 10, + "sky_light": 10 + }, + "texture": "#all_2" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:block/antibuilt_block" + "all": "twilightforest:block/antibuilt_block", + "all_2": "twilightforest:block/antibuilt_block_layer_1" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json b/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json index 18daa46a3e..213e64395b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/arctic_fur_block.json @@ -1,6 +1,12 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:arctic_fur_block" + ], + "loader": "twilightforest:connected_texture_block", "textures": { - "all": "twilightforest:block/arctic_fur_block" + "overlay_connected": "twilightforest:block/arctic_fur_block_ctm", + "overlay_texture": "twilightforest:block/arctic_fur_block", + "particle": "twilightforest:block/arctic_fur_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block.json deleted file mode 100644 index 90c983a161..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/aurora_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/aurora_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json new file mode 100644 index 0000000000..73c321bcf2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "twilightforest:block/beanstalk_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json new file mode 100644 index 0000000000..b33954e150 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door", + "overlay_connected": "twilightforest:castle_door_runes_ctm", + "overlay_texture": "twilightforest:castle_door_runes", + "particle": "twilightforest:block/castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json new file mode 100644 index 0000000000..459dfc1f7e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door_vanished", + "overlay_connected": "twilightforest:castle_door_runes_ctm", + "overlay_texture": "twilightforest:castle_door_runes", + "particle": "twilightforest:block/castle_door_vanished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json new file mode 100644 index 0000000000..fd2568da8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "textures": { + "all": "twilightforest:boss_spawner" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java index 9e9cdfc8d2..c49aa22515 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java @@ -25,7 +25,7 @@ public class ConnectedTextureBuilder extends CustomLoaderBuilder { private int tintIndex = -1; private int emissivity = 0; - protected ConnectedTextureBuilder() { + public ConnectedTextureBuilder() { super(TwilightForestMod.prefix("connected_texture_block"), false); } diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java index 46ab3386dc..79e9a2d20e 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java @@ -37,7 +37,7 @@ private ForceFieldModelBuilder self() { return this; } - protected ForceFieldModelBuilder() { + public ForceFieldModelBuilder() { super(TwilightForestMod.prefix("force_field"), false); } diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java index f68c41560f..b7e31fd647 100644 --- a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java +++ b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java @@ -2,12 +2,20 @@ import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; -import net.minecraft.client.data.models.blockstates.BlockStateGenerator; -import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.client.data.models.blockstates.*; +import net.minecraft.client.data.models.model.*; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; +import twilightforest.TwilightForestMod; +import twilightforest.block.CastleDoorBlock; +import twilightforest.client.model.block.connected.ConnectedTextureBuilder; +import twilightforest.data.models.TFBlockModelTemplates; +import twilightforest.data.models.TFTextureMapping; +import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; import java.util.function.Consumer; +import java.util.function.Function; public abstract class BlockModelBuilders extends BlockModelGenerators { @@ -17,4 +25,172 @@ public BlockModelBuilders(Consumer stateOutput, ItemModelOu @Override public abstract void run(); + + public void bossSpawner(Block block) { + TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix("boss_spawner")); + this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL_INNER_FACES.create(block, texturemapping, this.modelOutput))); + } + + public void basicCtmBlock(Block block) { + this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput))); + } + + public void castleDoor(Block block) { + Function door = bool -> TFBlockModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("castle_door_runes")), this.modelOutput); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(CastleDoorBlock.VANISHED).select(true, Variant.variant().with(VariantProperties.MODEL, door.apply(true))).select(false, Variant.variant().with(VariantProperties.MODEL, door.apply(false))))); + } + + public void stairsBlock(Block block) { + var mapping = TextureMapping.cube(block); + ResourceLocation inner = ModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); + ResourceLocation straight = ModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); + ResourceLocation outer = ModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); + this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); + this.registerSimpleItemModel(block, straight); + } + + public void simpleBlockWithRenderType(Block block, String type) { + this.blockWithRenderType(block, type, ModelTemplates.CUBE_ALL, TextureMapping::cube); + } + + public void blockWithRenderType(Block block, String type, ModelTemplate template, Function mapping) { + this.blockStateOutput.accept(createSimpleBlock(block, template.extend().renderType(type).build().create(block, mapping.apply(block), this.modelOutput))); + } + + //TODO this makes my compiler overflow, figure out a fix later + public void forcefield(Block block) { +// this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { +// //WEST +// builder.forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).shade(false).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //EAST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).shade(false).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //DOWN +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).shade(false).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //UP +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).shade(false).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //NORTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).shade(false).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //SOUTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).shade(false).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() +// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //DOWN WEST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9).shade(false) +// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(0, 7, 7, 9).end() +// .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 0, 9, 7).end() +// .face(Direction.NORTH).uvs(0, 0, 7, 7).end() +// .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //DOWN EAST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9).shade(false) +// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(9, 7, 16, 9).end() +// .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 0, 9, 7).end() +// .face(Direction.NORTH).uvs(9, 0, 16, 7).end() +// .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //DOWN NORTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH).shade(false) +// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 0, 9, 7).end() +// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 0, 9, 7).end() +// .face(Direction.WEST).uvs(0, 0, 7, 7).end() +// .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() +// +// //DOWN SOUTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH).shade(false) +// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 9, 9, 16).end() +// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 0, 9, 7).end() +// .face(Direction.WEST).uvs(9, 0, 16, 7).end() +// .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() +// +// //UP WEST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST).shade(false) +// .face(Direction.UP).cullface(Direction.UP).uvs(0, 7, 7, 9).end() +// .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 9, 9, 16).end() +// .face(Direction.NORTH).uvs(0, 9, 7, 16).end() +// .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //UP EAST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST).shade(false) +// .face(Direction.UP).cullface(Direction.UP).uvs(9, 7, 16, 9).end() +// .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 9, 9, 16).end() +// .face(Direction.NORTH).uvs(9, 9, 16, 16).end() +// .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //UP NORTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH).shade(false) +// .face(Direction.UP).cullface(Direction.UP).uvs(7, 0, 9, 7).end() +// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 9, 9, 16).end() +// .face(Direction.WEST).uvs(0, 9, 7, 16).end() +// .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() +// +// //UP SOUTH +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH).shade(false) +// .face(Direction.UP).cullface(Direction.UP).uvs(7, 9, 9, 16).end() +// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 9, 9, 16).end() +// .face(Direction.WEST).uvs(9, 9, 16, 16).end() +// .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() +// +// //NORTH WEST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST).shade(false) +// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(0, 7, 7, 9).end() +// .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() +// .face(Direction.DOWN).uvs(0, 9, 7, 16).end() +// .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //NORTH EAST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST).shade(false) +// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(9, 7, 16, 9).end() +// .face(Direction.EAST).cullface(Direction.EAST).uvs(0, 7, 7, 9).end() +// .face(Direction.DOWN).uvs(9, 9, 16, 16).end() +// .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //SOUTH WEST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST).shade(false) +// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() +// .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() +// .face(Direction.DOWN).uvs(0, 9, 7, 16).end() +// .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() +// +// //SOUTH EAST +// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST).shade(false) +// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() +// .face(Direction.EAST).cullface(Direction.EAST).uvs(9, 7, 16, 9).end() +// .face(Direction.DOWN).uvs(9, 9, 16, 16).end() +// .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) +// .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() +// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end(); +// }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); + } } diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/main/java/twilightforest/data/models/BlockModelGenerator.java index 4da7b76be4..b2928d7e35 100644 --- a/src/main/java/twilightforest/data/models/BlockModelGenerator.java +++ b/src/main/java/twilightforest/data/models/BlockModelGenerator.java @@ -3,7 +3,6 @@ import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.BlockStateGenerator; import net.minecraft.client.data.models.model.ModelInstance; -import net.minecraft.client.data.models.model.TexturedModel; import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; import twilightforest.data.TFBlockFamilies; @@ -22,8 +21,24 @@ public BlockModelGenerator(Consumer stateOutput, ItemModelO public void run() { TFBlockFamilies.getAllFamilies().filter(BlockFamily::shouldGenerateModel).forEach((family) -> this.family(family.getBaseBlock()).generateFor(family)); - this.createTrivialCube(TFBlocks.ANTIBUILT_BLOCK.get()); - this.createTrivialCube(TFBlocks.AURORA_BLOCK.get()); - this.createTrivialCube(TFBlocks.ARCTIC_FUR_BLOCK.get()); + this.bossSpawner(TFBlocks.NAGA_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.LICH_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.MINOSHROOM_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.HYDRA_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.UR_GHAST_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()); + this.bossSpawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()); + + this.blockWithRenderType(TFBlocks.ANTIBUILDER.get(), "cutout", TFBlockModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock); + this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFBlockModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); + this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); + //TODO aurora blocks + this.simpleBlockWithRenderType(TFBlocks.BEANSTALK_LEAVES.get(), "cutout_mipped"); + this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); + this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); + this.createRotatableColumn(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + this.createTrivialCube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); } } diff --git a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java new file mode 100644 index 0000000000..f5bf9d6812 --- /dev/null +++ b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java @@ -0,0 +1,22 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.model.ModelTemplate; +import net.minecraft.client.data.models.model.ModelTemplates; +import net.minecraft.client.data.models.model.TextureSlot; +import net.minecraft.resources.ResourceLocation; + +public class TFBlockModelTemplates extends ModelTemplates { + + public static final ModelTemplate ANTIBUILDER = create("antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(15, 15).texture(TFTextureSlot.ALL_2).cullface(direction))) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_3).cullface(direction))).build(); + public static final ModelTemplate ANTIBUILT_BLOCK = create("antibuilt_block", TextureSlot.ALL, TFTextureSlot.ALL_2).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); + public static final ModelTemplate FORCEFIELD = create("forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); + + public static final ModelTemplate CTM_NO_BASE = create("ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + public static final ModelTemplate CTM = create("ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + +} diff --git a/src/main/java/twilightforest/data/models/TFTextureMapping.java b/src/main/java/twilightforest/data/models/TFTextureMapping.java new file mode 100644 index 0000000000..b7404c1824 --- /dev/null +++ b/src/main/java/twilightforest/data/models/TFTextureMapping.java @@ -0,0 +1,41 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.model.TextureMapping; +import net.minecraft.client.data.models.model.TextureSlot; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +public class TFTextureMapping { + + public static TextureMapping twoLayerBlock(Block block) { + return TextureMapping.cube(block) + .put(TFTextureSlot.ALL_2, TextureMapping.getBlockTexture(block, "_layer_1")); + } + + public static TextureMapping threeLayerBlock(Block block) { + return TextureMapping.cube(block) + .put(TFTextureSlot.ALL_2, TextureMapping.getBlockTexture(block, "_layer_1")) + .put(TFTextureSlot.ALL_3, TextureMapping.getBlockTexture(block, "_layer_2")); + } + + public static TextureMapping ctmBlock(Block block) { + var overlay = TextureMapping.getBlockTexture(block); + return ctmBlock(null, overlay); + } + + public static TextureMapping forcefield(Block block) { + var tex = TextureMapping.getBlockTexture(block); + return new TextureMapping().put(TextureSlot.PANE, tex).put(TextureSlot.PARTICLE, tex); + } + + public static TextureMapping ctmBlock(@Nullable ResourceLocation base, ResourceLocation overlay) { + TextureMapping mapping = new TextureMapping(); + if (base != null) { + mapping = mapping.put(TFTextureSlot.CTM_BASE, base).put(TextureSlot.PARTICLE, base); + } else { + mapping = mapping.put(TextureSlot.PARTICLE, overlay); + } + return mapping.put(TFTextureSlot.CTM_OVERLAY, overlay).put(TFTextureSlot.CTM_OVERLAY_CONNECTED, overlay.withSuffix("_ctm")); + } +} diff --git a/src/main/java/twilightforest/data/models/TFTextureSlot.java b/src/main/java/twilightforest/data/models/TFTextureSlot.java new file mode 100644 index 0000000000..5cc63c88e1 --- /dev/null +++ b/src/main/java/twilightforest/data/models/TFTextureSlot.java @@ -0,0 +1,13 @@ +package twilightforest.data.models; + +import net.minecraft.client.data.models.model.TextureSlot; + +public class TFTextureSlot { + + public static final TextureSlot ALL_2 = TextureSlot.create("all_2"); + public static final TextureSlot ALL_3 = TextureSlot.create("all_3"); + + public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); + public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); + public static final TextureSlot CTM_OVERLAY_CONNECTED = TextureSlot.create("overlay_connected"); +} diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_antibuilder.png b/src/main/resources/assets/twilightforest/textures/block/antibuilder.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_antibuilder.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilder.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_antibuilder_1.png b/src/main/resources/assets/twilightforest/textures/block/antibuilder_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_antibuilder_1.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilder_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_antibuilder_2.png b/src/main/resources/assets/twilightforest/textures/block/antibuilder_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_antibuilder_2.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilder_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_antibuilt.png b/src/main/resources/assets/twilightforest/textures/block/antibuilt_block.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_antibuilt.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilt_block.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_antibuilt_1.png b/src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_antibuilt_1.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_built_off.png b/src/main/resources/assets/twilightforest/textures/block/built_block.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_built_off.png rename to src/main/resources/assets/twilightforest/textures/block/built_block.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_built_on.png b/src/main/resources/assets/twilightforest/textures/block/built_block_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_built_on.png rename to src/main/resources/assets/twilightforest/textures/block/built_block_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy.png b/src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_1.png b/src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_1.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_2.png b/src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_2.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_3.png b/src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/bookshelf_canopy_3.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_bookshelf_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/canopy_lower.png b/src/main/resources/assets/twilightforest/textures/block/canopy_door_lower.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/canopy_lower.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_door_lower.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/canopy_upper.png b/src/main/resources/assets/twilightforest/textures/block/canopy_door_upper.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/canopy_upper.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_door_upper.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_0.png b/src/main/resources/assets/twilightforest/textures/block/canopy_planks.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_0.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_planks.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_1.png b/src/main/resources/assets/twilightforest/textures/block/canopy_planks_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_1.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_planks_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_2.png b/src/main/resources/assets/twilightforest/textures/block/canopy_planks_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_2.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_planks_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_3.png b/src/main/resources/assets/twilightforest/textures/block/canopy_planks_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_canopy_3.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_planks_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/canopy_trapdoor.png b/src/main/resources/assets/twilightforest/textures/block/canopy_trapdoor.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/canopy_trapdoor.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_trapdoor.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_builder_off.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_builder_off.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_builder_off_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_builder_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_off_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_off_2.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_builder_on.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_builder_on.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_builder_on_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_on_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_builder_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_on_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_on_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_on_2.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_builder_timeout.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_builder_timeout.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_timeout_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_builder_timeout_1.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_3/towerdev_builder_timeout_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_3/towerdev_builder_timeout_2.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_reactor_off.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_reactor_off.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_reactor_off_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_reactor_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_reactor_off_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_reactor_off_2.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_reactor_on.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_reactor_on.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_reactor_on_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_reactor_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_reactor_on_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_reactor_on_2.png rename to src/main/resources/assets/twilightforest/textures/block/carminite_reactor_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/castle_door_rune_corners.png b/src/main/resources/assets/twilightforest/textures/block/castle_door_runes.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/castle_door_rune_corners.png rename to src/main/resources/assets/twilightforest/textures/block/castle_door_runes.png diff --git a/src/main/resources/assets/twilightforest/textures/block/castle_door_rune_ctm.png b/src/main/resources/assets/twilightforest/textures/block/castle_door_runes_ctm.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/castle_door_rune_ctm.png rename to src/main/resources/assets/twilightforest/textures/block/castle_door_runes_ctm.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_empty.png b/src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_empty.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_empty.png rename to src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_empty.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_occupied.png b/src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_occupied.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_occupied.png rename to src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_occupied.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_side.png b/src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_side.png rename to src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_top.png b/src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/chiseled_canopy_bookshelf_top.png rename to src/main/resources/assets/twilightforest/textures/block/chiseled_canopy_bookshelf_top.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/darkwood_lower.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_door_lower.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/darkwood_lower.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_door_lower.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/darkwood_upper.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_door_upper.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/darkwood_upper.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_door_upper.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_0.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_planks.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_0.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_planks.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_1.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_planks_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_1.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_planks_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_2.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_planks_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_2.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_planks_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_3.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_planks_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_darkwood_3.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_planks_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/darkwood_trapdoor.png b/src/main/resources/assets/twilightforest/textures/block/darkwood_trapdoor.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/darkwood_trapdoor.png rename to src/main/resources/assets/twilightforest/textures/block/darkwood_trapdoor.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_firejet_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_firejet_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_firejet_off_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_firejet_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_firejet_off.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_off.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_firejet_off.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_off.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_firejet_on.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_firejet_on.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_firejet_on_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_firejet_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_smoker_off.png b/src/main/resources/assets/twilightforest/textures/block/encased_smoker.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_smoker_off.png rename to src/main/resources/assets/twilightforest/textures/block/encased_smoker.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_smoker_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_smoker_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_smoker_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_smoker_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_smoker_off_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_smoker_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_smoker_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_smoker_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_smoker_on.png b/src/main/resources/assets/twilightforest/textures/block/encased_smoker_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_smoker_on.png rename to src/main/resources/assets/twilightforest/textures/block/encased_smoker_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_smoker_on_1.png b/src/main/resources/assets/twilightforest/textures/block/encased_smoker_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_smoker_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/encased_smoker_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_bottom.png b/src/main/resources/assets/twilightforest/textures/block/experiment115_bottom.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_bottom.png rename to src/main/resources/assets/twilightforest/textures/block/experiment115_bottom.png diff --git a/src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_inner.png b/src/main/resources/assets/twilightforest/textures/block/experiment115_inner.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_inner.png rename to src/main/resources/assets/twilightforest/textures/block/experiment115_inner.png diff --git a/src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_side.png b/src/main/resources/assets/twilightforest/textures/block/experiment115_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_side.png rename to src/main/resources/assets/twilightforest/textures/block/experiment115_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_sprinkle.png b/src/main/resources/assets/twilightforest/textures/block/experiment115_sprinkle.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_sprinkle.png rename to src/main/resources/assets/twilightforest/textures/block/experiment115_sprinkle.png diff --git a/src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_top.png b/src/main/resources/assets/twilightforest/textures/block/experiment115_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/experiment115/experiment115_top.png rename to src/main/resources/assets/twilightforest/textures/block/experiment115_top.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttrap_off.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttrap_off.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_ghasttrap_off_1.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_ghasttrap_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttrap_off_2.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttrap_off_2.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttraplid_off.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttraplid_off.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttraplid_off_1.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttraplid_off_1.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttraplid_on.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttraplid_on.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttraplid_on_1.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttraplid_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_3/towerdev_ghasttraplid_on_2.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_3/towerdev_ghasttraplid_on_2.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttrap_on.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_ghasttrap_on.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_ghasttrap_on_1.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_ghasttrap_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttrap_on_2.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_ghasttrap_on_2.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/towerdev_lock_on.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/towerdev_lock_on.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_lock_on_1.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_1/towerdev_lock_on_1.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_lock_on_2.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/tower_device_level_2/towerdev_lock_on_2.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/mangrove_lower.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_door_lower.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/mangrove_lower.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_door_lower.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/mangrove_upper.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_door_upper.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/mangrove_upper.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_door_upper.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_0.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_planks.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_0.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_planks.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_1.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_planks_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_1.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_planks_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_2.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_planks_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_2.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_planks_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_3.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_planks_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mangrove_3.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_planks_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/mangrove_trapdoor.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_trapdoor.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/mangrove_trapdoor.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_trapdoor.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/mine_lower.png b/src/main/resources/assets/twilightforest/textures/block/mining_door_lower.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/mine_lower.png rename to src/main/resources/assets/twilightforest/textures/block/mining_door_lower.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/door/mine_upper.png b/src/main/resources/assets/twilightforest/textures/block/mining_door_upper.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/door/mine_upper.png rename to src/main/resources/assets/twilightforest/textures/block/mining_door_upper.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_0.png b/src/main/resources/assets/twilightforest/textures/block/mining_planks.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_0.png rename to src/main/resources/assets/twilightforest/textures/block/mining_planks.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_1.png b/src/main/resources/assets/twilightforest/textures/block/mining_planks_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_1.png rename to src/main/resources/assets/twilightforest/textures/block/mining_planks_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_2.png b/src/main/resources/assets/twilightforest/textures/block/mining_planks_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_2.png rename to src/main/resources/assets/twilightforest/textures/block/mining_planks_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_3.png b/src/main/resources/assets/twilightforest/textures/block/mining_planks_3.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/planks_mine_3.png rename to src/main/resources/assets/twilightforest/textures/block/mining_planks_3.png diff --git a/src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/mine_trapdoor.png b/src/main/resources/assets/twilightforest/textures/block/mining_trapdoor.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/wood/trapdoor/mine_trapdoor.png rename to src/main/resources/assets/twilightforest/textures/block/mining_trapdoor.png diff --git a/src/main/resources/assets/twilightforest/textures/block/pedestal/hydra_flat.png b/src/main/resources/assets/twilightforest/textures/block/pedestal/hydra_flat.png deleted file mode 100644 index 6e1370929b1311b1fc8aaa51c1f525bdb290be34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmV+n4)gJeP)2xU|YJ@m3Ybf)BpU>IU7#r zuA(Zsu4|emEAU`4(RD@n&4{Y0aKNCZO*~%T*4EYr{J?mW#WkgHLlho!i^nn+^y3Z+CYW-p=80)M_=D z>G62>_Vzb+ws*F6w)b|Oy9Zk=%jQm^>0FG-MCqJAk_a*RBY%K!KHJ=Kz}zi(yN$hl zc(Id%BgcyU+IW!|Tzb29w7CdYRNryO%T>HCmzy96cuzPsU=sX+#f?-!n`i!^!Tr2M ze^=xFEV%vCQt;bcxX?VH*nrpL+1*{9?S{j#1!o4!7@C#&d*9#JvrnHsee&eVkG}fR z#>U20kU}^Ur_oc=}i0{ozl433Ix} zL8g4@^LRhK_3j3o&*xhq=?(q%7v);cEbgO z1^;FZaGM5NU4P4e^X)f3`{m{zee;)p@W+^&J9V1B+7O-42{Omp3Uw(qrAK8WH->08^{p72! zzWTkdzux$r4dq3gD@7?b>UO(#oIA^{;c#s3?d>Uw+!342L7}Hovc>i+s$*puGMzc~ z$63PbBaV)aKA${Ha2SRGyA3XsZYdMHrP(c2AL;XfVNNu22>;cWTXF&`hVzHLv;)s! ztJDPn_KdLHb&XoJD%3we6{?kr@M$}K-dD>-!z0*HaCKoL?(glvM{hYcmxG^H35R3T z0fT$HyUWe@|CtBaSzIxh$3qdHp7Yix;&=_3qqU++Ly%X zFmT-Q(QFLoVK{0lc43u=%o)M(B*uevYQ0V%JSbj@^B_Eo%$j+}tn$z{ju?(WcogLJ)>F8EL$1oH#E%0qYNra1!RK^CVsC#yU(wGhpQF&;+UpSeYGGN1<{Un=HbqQtQ$wX;Agmqmpnpv zkfgqT6JF&ZCwSt?D8_@D+0Q%|}^2lw^bP zw4chlNz%V}^ebE+x}!5`k?LLf+tXOXNSsPRz8+w*Q8IRb>4V(XZemEh)Hz(E4@T8~ zNn`rpi&1`z2d#DfA%yT?9VF-wrVm=%dYfM5K|DW9G9iqIQP;XXUFD%M2`5tlOdk}{ zddVaDpoiA+&>NWL%kR1SJjj=+EFVuK5(p37zR>6&H+$vbG%GG*T|3oOl58>XMIKB| zHG8ThD$}lh*)pc1M;?BQhke&(wm@fcbc#(t9v4`01@!6)dv-pKW(XYPrv9c<0Vad z^bhxWc;@<5Ci5v?ViPnIPw@nO>`8JS-~sp3OaCyaN;)rEG4aOJw!^3Wa8V>cAKV@n z=BE`wJ7-XRz~d!p)SJCQ;-&hSjHd}qAEu{^_lZ>=S`%-Q31WU)>4M={<)MA2PS`o)HLI#{sc zRj4yd0S}PW2#14TikFu90B#@r1NdoMQKvn_Rv&q|A1~#L@j^M2ulSgBj6HTU$F6va z2u6Ike*hkOqm!|n9@qit>af2!5{$#LbeOFWUO(m^Mw6;C;}9Mi2Xqe2FR4xIC4=xF z`yyz5X*6lh?qW#1wAiCFel%Wcng0@7<)LAQ=}Z9U!FW|#<)LW>6HEx>L2sBC4^1P; zXq@7N8+XSK9vn(`e0S`+srBt4aH3ru>8`{s?P4>t2{IeBAG(< z0Sx%-EW(2xPBLMP2c>DhW08F8!n-EFG-=t-PtklUd+bAb5G12?{R8uWhudgD@Z
s^EaiN=Ud7lNSeKEH3hKIoEab^pshjF*FtJlx}9XLkqkOIbd_odnoi z5bPxQY4{orCB19&t(|^jxS-{mef7DcZ@H_or_}L6z7_5omS0ku!#T>sGp69jc#u2h z+c@eU5?L(2G*r9OkKt7w1cOYKd>9XM&w7N-v81-#!V>}d2DDcyeUxIwA z{Cr!o-F4Z;R|BbBcujr@credadB~o5sVo*RNoq@fL#^^q(+Ilg!gw(2_6HgRz6={!BSBKuZSw23qqjMF}U#Iv3UFb{x))nDqvOj_0-9`)fq4+oBHp5aRI zbS}!IVyT=rktV56ej3*Y{v;_5D}%{#ZyJ%Wca)n=K{+heNGJu7(F45xpj^?2e`p;r zc{JZ@R<+kGl5e$KaR&9%_L=#L$MhjUbL1L7{Q>dQbuGC@AB;2eMFr7^S&-&Y9<-)) zTSj=$B1}Gr>w_fM7k8Bh_30}nTY!5KT;m^_mA1zAjZ)WQ#3|L%;H9BN%Htz_>;1zL zhORPeFY6BwFX>}*`pCmW|G=``aXeEDWr`5ox}y|)#}MJ9clTgT{h_ZEhi0yChvaLg z^5UOcmb29ILg7iOzFA*N{^~1IO8rm&~=);Jla&El-V17)l@=({wL^6!kPTvBc2|AauMx|i2G_(( zy+%VUwd7oXnipqDNV&FjXu5$4lKX#)m#nU84wm{bA3Ww;S9!=CCkkgl$hT(8WV#Gy z+6Vdo^*B6U$`_gbxHL4g(u^Fxa7s5$@Y83~K6kdJe@T*h+69tt&7HXtkh@3XrLm}8 zmsWXbo4e4AfbcNZ>uA45!}L*UEM6KL)%m*wq7QnEVzGD$YACaJDKuW9@_vK|**cxR zC?WYJGe~FG)E^|RGW{XZn1SnkvZ^*AE9 zCSEeE@#p%3GH>bU;xfNvj6fwGdH5ec?cB+q#Il7X^lL2pmvVmU*bCbZcyR8o%eRip z!x`JZ^mQ(REjuI_2geN`%LjPYZig8p|(@G(mr!LwHc1MH6U!TJFx@ zVmzoMF6ai9;)ArJi;zynAG=)-3o$j~|-?9oymw6SVPOFzBneS+k%{&24z z=U&#Q*({wYh0}Z(?rtJWLRvErCU)`u)@-(~76)ctoQGS}cyk^)8wLtzq4oWI!>%&V zV)}4Iqw&&6ubMAdlm|L@g!V7BF7A;0k~rN>P-wq~ECN6X4;Nmh5Wsn`-!n+OG!0Q% zKic2gwr;8j4{|iklWY20E&lws`ZcboLdBn?*VG>x;&H2A98EJ_n-Z^}KAp;ziDbt8 zB|oj1q6!zx7NI^3nbu{0tF1ipaIc?ln=4XTJ_-FxbUFrKk5He6evJt2!u>1v6E*mOPB1KE0HMi|+r0fA~*acU4jd SCVh+B{7667gC`sehFrKIxm(0yzlL_oGQ;*j$j{yzGi z@A;lBx7(u|x@B3WX=*xrGo4zNu3sN9OamTp&@`w1KyZ6|dkencc&F28wVJI~t0xFu zp6_eEXx)TGYp$0sVu?95~(Cv@I@kF_uV_&E;x4^ zUT({~2Tyhv;Zb76VRtkm`&OhSry5$cItUe;fx=Pf;J_COh2S;eu>~i=f3P^!;K$Sa zucv=Md-?reSbzDe>4)ue*AwB-a`ioujRyRFkH@*%EthK>t_+r;%$w%pgWs<{`pv^{ zf2IG`m&0#-KKRqugRKg`m&!yB4i4bi&Z6DB?zcC}RCLjJn)$`)cfNQs_?h(AzZAc* zk`s>(w>qjjU*8Y<18-m2vjx|4^-+wiuJ!EbZ@>LFzxnQW-(1SS`_;?px4yNtwKbT9 zbJc*~=Ytyt3%*_hd`z<0v0hd_`n!+*>$krgH-l=!_uF581}F4q5vB&8K>#iZp1TFN zd}n)SI-M%Uz0vl;9*xKWm^PZvFN(K9U7TFJBd)SN5uTg%y!Q&=%v zKkTJl_!+iJhv#9>@XoI5wp%T}bM+(NYBu?|+wp2&Ig5txU`N5-g^jr9^}<_kyY4s# z->woKt~)L`==FG<&G-MA2iRG~GRd+GQ^=46LFD3@T*Toa8iunF9t!!QDE3As)6?Va zNvvrG%Y3ZZ43cyP=Rr~XBfSDVEPwWoS3De_Z37P^=cg-Sj0d|hIg2Aa^!CW2AK^ir zxAlwcIu9+?OBX{356ZM>y{6WA7(d$1m4he`{QNU&od@y6M-@XD5880~_-LI6!HiRE z0^>my6|4UA=i!??sE?@PQIeoC7!Q51(`}1d&Nxd+i>!D`@MD&(MN>rNJv?X*42EV* zHS2){$IXQ_v&~x`{>X!S&(Vh*lcQ;pDJFpjq7)$Ve&Au(gXsfTVMf}as8+gawxuST zlW<-3Of|fenJlq4z=Lu5!z&&dD-ZC%w)QsY!>lz~r7(TCn-4(f*N5wXoKm~{dFFWR2Nn8Vg6wvEiZ%XJTxR^e-_{ksZC5MM% zgy4cumH-d9pLX;?;>B^5R|tL{XvlG{l_<1>WG>_LA7Fl3=am`b=)?1CedwP3$CW#%unm${58GKL;p0$*3o*&=uST^AUsSn zStf?@Fp;en9LfV-jA1-X2J*6c`g!dp57Wyq@IV*ixPR!5s@-8je!vdT;eB0rY`8ibK7`6cW$@C5oYJKA0f=xPK^Ba*|dbs+=HahPJym^^}{j zd^OD0qy7-agJLx$!|5+g|DX?p2j6q_;n+(SVwgVI&G89|`01XPEMxs8#co*_h(0tX z2LyxagE3fM77!k+1VJY-9&};xibeXZ4+0zdOVi%sNdxV-vWG#G2Yx)OJ$ggG!^5*w znUCQ9!RaqSy#)TjE=gwzK%%QsxpIss`h$_+W__^6hAsZVKTMp1w>;e7Vb|mEkS~$> zYMjocGMQA0jDdfMX964ht%G52Xfcv~Fr2&FQt+@BEHwip<8(o={*o?;(=zaI^5s8V z@gP0=7l((Ymo7&z9<+gaj`UmWiYr^d`b&x-S}!8&JRD7YOf873 zjmwMdz(^MBLC}Zy)=Ro!%tnSau^xNYcNV z2QUwSggtWf;biRO54ZYolZSh*d=a{OS;(g$j-%K}nv7ogXodwBjZUQ%!U^tFHJpZ>t{4~@GthxS|NE%}T<>LuBep;14*IM&V! zh(4%L&4f4j>CX^9-7$#``Y=15KW!rVa1x^`C=aG!KdU1=m`R$8;rcMvIuBkq-^r)X z=|VZplwuqFgV5}o>}XaKZF;yQdnP11al#2odSKlZ=dR=NUhycvloGg~R*cTrc6iX9 zeR9Qvu>2wLz*O&ToYxqw=ye{r&OTZ4;rWC90?Ff!6knD|V0oO?p1;Z?{$Uj(Xp{%7 zXFoeacv!?U6xMH5jsD_Aew_z!C`<*@hp{>s8|{==)+3B?YAQH8dZX;Cn<_#D^aErf_aT>4lG{;ua~$g zEh&xRgzIUEzP%?{UhvaZVJ}|~1( zrI|gs${+Mq&pI7C{iT@-Dsjuh|M+S5ZmE{Z7fG5SAb%j)7*Pr((;(>)_uhtntE3zc zjY4l0Z5gqK9IKD+7ivL}>QG`IonIQr1_wM$KE2il`Qo1)KV9>XIjp~=n*4adAbz^P zoywy5v?f}QGguyXK$o!jC2dhZdvk#K=@4@m!t`O%UwxiJ@&_|ZSJD2GqS%j{h(1g* zc>XY+3>+T5;NHon&!Cb`<+v!G$ALZwN(JUMfCrEW(1$A?!tqT!EL2Ay%!x4@JAV3s z^cIra{NY9(=etwjXqe|?xfD}MK_ZZ5pye8f#zP)_zO_)0wAx@&?i%T1CEZYCWj+cz zy?LHb5#?zCc#tl4u6XDye(cOIar+cnFR4~bSrQlzF3=QoeyL|)AoChsV>?Tt^BUT4 z^%C(9y|Vyaj^aElKBbX*X&EOA5p=$_Z$EA!JZPz0CA?w2)vla=ZC>M?EH@(rwIP4# z4i9^ys=CaJ3vzf4`7~3ghlsrIeSX@U4-L3siy`FG&}nt%TNnB*4>#udb_!(*`mN4< zD@jl#C!dD?QiAZ|{(-AeBcm#s1>VTCrqLrMUg<^HiZjB5`)Nh%jSQ#XYQFm3bsqQZ zW8i`7xEL;k^MKBKH{?%%A%q8QS(`sW{6lNJ$8Z63UZXXCQAG0TMVKjvF&=bbc7gea zd4jH>`k;={Jg#R&m@?X5n)D~j()m~Eck_otxf7uZ$&K@^l9kcU(xOcbY?fDZ(A0p) ra&sOB8_wZj0{OHf3uog0g@5>OJd>HrZZpvu00000NkvXXu0mjf2Tx6x diff --git a/src/main/resources/assets/twilightforest/textures/block/pedestal/naga_flat.png b/src/main/resources/assets/twilightforest/textures/block/pedestal/naga_flat.png deleted file mode 100644 index d3dbce9543c67cb1b852f1a98b8371eb930acdc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3392 zcmV-G4ZrefH?$dS9$An+1e$F`@V=;Y;DwH ztt3T?l)T$gS>DRslb&u&_hgy>CCDYm@%r5Wf~(|D<`CUY;$uf8jY^4!dtE_!A|fGoSbPlEw3>9 zR(kQ{AAkJu$3Oh&hf7OK<^?Vl!W4&vL!q^``Oz*dFTa8#gVQkm>hUe{^5x5)|MI6l z`};rp>woyHuPwpxyuTEEui?*1fBxdrU;N`={{BC&{`J3RFaGuicRM6_ zJrdg5f>VbR{=+%IW$L+g?_&GqPhbB2zu*1Uum1Qi{_aQr{vWrngJEM_HVPL34hf#S z1Rwe9SFb(KGY1`OSe|`Lzj*QKk3RY2qmMpkdjiCpSJ%?!8;JPUP-EDqF#Lfo3>jYiny|b!EOZmX|+UUtf2e!EUov+bz_Zxk5fK zYod}7C6#7G45#DaNc7E{H}4M~c32*bMzGr8gYx~6>$vkTcQ_jPupKtS-~N0_dT_>Y z{IHf*;CEOmRl|TaW6W1wtx_%<)%U*|L4CsB2(XSYL;?ezpAB zeB<3&!ejZfW!SjBwl-gU|HpZdHCEsSK_OUtg5bd#RmZo|A`cC3iwkW)9Kgj zJ=Qzn_HNe9iPYMsG9`kSD0rZGsKOF$Y?lpD(fLe?76hJVaSTg7^YGOA06cI4Eod0< zz-VDw3+XgxLY)vMDSpZ%j1jfMIQQRtAZXz@nE*cmzhN#YJ(K7 zg%LbhUfuRe=U>bBd9WvpoFN12L#Ny95B1R$A5P--l-YF!HOq<_Jdg*YQJVA6#aAA%!zZijO?jFSWWx$Jgw0);yEDM+(#jC5JOC z6-j=9;=%0LhvNCy>H{98j9d<}==$IphZh-CeMqOt1gbs^o5x=g2p&e86q7>mV7j|| zH}WD6t)nfP!B9N(yQ4{Uk%x*&k}QU-4?TM?Kl_$>z{8Z$jd(B*cBShS{8Precr!TT zdnYk1Pq8c$%){;uT+^LWM%$*MHA0Fd;lIqk>@xDmNb`%;dBbx^vC+8RjBf52YSQP&kSQzutH1Z~s}n&x3V| z!HtLJ2s97vPOEKJ_AkSu+2-ioX7?bOug7?aq!}`>U#e6qJLQa8VD%amBnUQ!st^0c<9FO54|O++t`B{uJ-!tYJRHRUAQTUShIgee@=!Jzl0nu7 zcpU1}hkDvRr@**igfxl=v)yrvoxzTKDDPcwxHGJKm@G7-zym9$AFB^VL)HykEpVdD zvQqMyho|zOWN1Yv)a^LSlR`Gc>LKtb;>l=medriHM|V%e;bmelO|=hFdOa-W5}^o6 zKbTI<9B$9Pd!VQ7QwsbgMob0hhYKCSgM|n9OT)(DEraNn4nJpv1d0c@IsP@Z$b;eI zte8ae;J+;`@=$fsB%Ma_Fl<`D!`IRS9{V-Lh|4m{bBL^n+JaD=-q}~+=R=A;$c+Tn-x&{Aw?-D zf5{wIkUSV(oaWH=p>=SjA$S<#(83{kXpS#XdfJZ%_)AU;{MHM&3EbnsoN(Z`@>(3p zL!)C=`<^zM5Tna~0w=rW(>Wt0<*>*6CAg;BJK0Q$)GMSY&-FBv&}SZ=%7dh^ay}_2 zDT=`eE&;dUBoTScZ|(ZZ=pwm)v+11RyB-*WkNB-ttLyK~ev9Ad!MlDVm$tyoLhFb9 zYYC|zND=KXwGV!c(9>0j6S7eh4|Z?wGP}q_{U|}vID&`%usS|RNwJXend>gjg7)wN3Cx4LJk;gswj#d4LTq^E-QbaSU#-ziqq%nqq!1X-hK zHvL>5o}53ZP--dA4}zLv#W=ytc}QRZ{gRgDK~Hx^D)_CVo2}tVy5*5_hF}CTz+bX= zyMx;K!~DUXki3?FyEn35+8tl3h1}Dn+ zDm=dYqV3~q4&zlUfQMesI#edVW$*Jan5Lzj5F;hf`Sb|PoW*|0kAtv5>FK@F_%e^G z4=GlT2k2>39#?f3ib2)~zwDpY5IlHkMn&;pLBHe|4}POP;Nd2AXT)Ja^`YIiD%Nqv zyLvPCmqvJ|K(P$VNmy_m*Ul9Rd4NI9ar110BysY&UwU%CBx|&&rA0jfdOA&DIGIR2 z(l52mV#h8x$MX0pGQQsE9!BBT#7Q_hk2CFtwXeSYmj`*AJ57q&2*n1>Ym6=s`k~q< zAt*%gFqg*&f2rywNh*!X<9uU$gVGNN7{#LW1N3~ONd>{f5D)NM?e5?}JNZ_8;J03o z86&|eDRe$P_gk$B*iwUI+P~fGpG0z1OpuA-eyLunHn+FIZ_RPq4x{ApxqhId&pbTM zU(y*hk3;?-=i@>?LW(hnfdlJ<3VOO%>DYPql=pAK?qvw{biTeNX5&Hg8a;cQnSDpx z=fS_(;MI75-)chmWgzr}A4=m%1P``X8-IzIUo!j{&7=Ay+piqGV-fXXNP)yh@nARh zQF%PT@YG}Zbh}&Wy1H{tn=`g|!nO8O zS|P>B>2Tr=ng`R}nLhNFpe2xUTcF-i^}%WEz1>0ZForC!nFx@k*;W2WS5HhL2`K7*Fy8Qls<#BYTy1`0uRDBp4$a(LU zzsblb9_;+cNQycX6g*H**E?FdE`Xj^ba2gClKOuz&-Xu~ WM9970{Q)Te0000<#e!t)8bZ$9aE_-HI^_pJQ;M-g-*Urw)ONRsg=XSf{;~Wl$rfIOJ&*$6S z-P>~RIJccUyKa|ze_IsAbdeC!NlqfzbT~o9IOQ-L3A$dr+;+ge+wgH)yL<3vR|>YY z*zQ)$Gt#^XHRti_GOXK?T+1()d>)TC7!1N^!nOrF!5^5MIjQz-`qK}ee*4?r18nyX zzxs7?d2%9@b{H|@_xarJ)zNM_9NTbYFpa^yynN^T`0?ZW_wV1ld2@GncXob$c6L@V zyaXBXcs%g#)udfc*XI*u4aV)o_w0*rU;N!~T7UnW_P_u4pMLf0!q(PSd$unX4gx;^ z=Z|)8!SQ^#6vnh+-eq{2{v)h8>#I2(JcwUN4+5nDC$H0GFvh zsZZ~Uzx>-@{>T6PY5%;ncUJ$m|NJl5p*oCn*&tj5I3#%Q7M${(?Vag#Iv90Lt8)7z z{o=*9fAx!BeDlpW@b2+7nXQFLiVB57FoD&i;j#N_Z}koRes5Ink8|_a(ZxHLc`o;s zv8)#71)AZKUa!~ba;}z!!|`%=cXvD5z%n&S3vZ)B24gwF6SP=F?c#x%3yQ>XPX!9b{T88RpK5dl9wE~Pl;5-b> zW_Kd2^FXTyoEpM-SRBpnlL!x{he`Pm9?ZEm|G=&D(3~A|sUXIK)wJIW>pb)?U3@x- z@i4B>-pcDd)Tcp43}ZZ)#t?Y;7vXCjCg1ziN|<7k7!O9bYt)7dc6!b&-ns`@Qu~<7 zl#{$f!G`mo!xC*2D^)S2@|iL%2t3Ua@p$x^hrgT$*WR`y3!=pFGAXDr;DOD0S;Z5H z2Ays!J}4^R8!LTV>7P=KWwfyj)R#WB8s_ALpOS#X^PuDD0i1jd6^o4t*! z^Pr6mC^3NXFljA6FzY_eK1AUv4!%KWal&VzC35>!9N!=N+2&#d!M8^w6VkMLkl z>%(dJ^$+sbJPfZGIYVxY58YnVu+-T#VO@oX*Gy|7q_eBr)J7hvjq-|zCa-EqrNBxl zh9t>YEcVR9lj4J{u<0X0R0vUx(PESo!i?+Z{`N=a5f9f4+&DJ#Fw}bEf_=eE?+!e2lGCj z%8@je#Chm++ns@SeD9y#dS>rDy=63C5AhO7Gvvm6Nz=8XN+w-k)fyp6ESHKr^YA1d zUU|Ngq|f=1NUFIIR zm=kDx!1E=;>>fWL`BK^NlR^-S56h#o_tZKMjj5mJqL_Xdcjn)V2oI+rA&2HmqsH_> zUFV@PU`Pgy53rr6*N^q|@HLgnl8lhRco=lLlTvqdG&zwMZ}uj)@!mpkOX|^EBSO zc-3CMYAn44<3K6}{9#N#nA1vk$|5`*IoUMoFHP$9EsgLn@Fh@x36k}b4@o3nI@@KX zFvi2AIsZtl^H8-3R*d32*f-^M9`td7q!SnqR?`F?evlsV@FoWN5_muu52I$M(=q0$ z=^1C=9hm2-&Wy@8L!z447$2(5Qnj5g)#OZtOy@aSC22nX%)?W85G5f~j_?90X2M)L z$f|xicmvHF8K>a6MyKSdwaAKrv>^}t3w-RZP@W*Pj}$z{yC zCXLfjPK!!vY_pzj9_jU?l9tXKk*SOzD-_Kpp5w!lc-TF3q*NwV0Hd1}l_)EPNIn!# z#G*uCdk5noQ)EC-_fI+STg_`ncXrUQ0%|3~rD7ZWrE$GE%B=IisIM3q%a@Ev!+Jpc zrPA2PW<3}WbN%=uk}p*kA*lFadfKkdZcFPt=o6@D#c+RVdX4!@W0FbX^@l$2aQ>n6 zSU)7wImpQ3I1h%EhkR*toE_f=txINb<}1`fKj$yiT1CBHD%B-bO8^f_F$(b^K}4Q; zcmfam4q4$+c~VFd9G~RVeo6>2pY=2zAJihqxtDnfPc`)ut zwH~H9Vq<-}J5xtXb##%OyiT;IOs15C%fd;q4Lr1qU;I|+*T~iq0?#wg{?b$Rw9Ba! zlX8ZJevMWCQaa4!{IKkR2iM*vztzkSmcrmB+&BwEPSQB`K26yuxg55R++9UkYb+kpMn*FA|TIr?+Hw26mCNw1ZmUjukh z@?0vHWQ5o=4^OMdc~|vmDCJ1`xS+1OH7Pj+wq_(AbmRT4vfLf3y?MHSk*qBU{WzkH z z{-x5FehuJ3)ss-427f8ZJm*VK>gU@@Wf@tep?`@Ll6-DepN4*o1na@|gOX>vR=U3w zyBB2rBCIbWx)se-Vq!js>*)bF>l1#R2c`B8yb{EDK>NKLwu4g+5FSR${P{aXKQyNv z=(fXnfQHzI4ASpCkATF->ksy|hSlSeY07*qo IM6N<$g8DJvf&c&j diff --git a/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_flat.png.mcmeta b/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_flat.png.mcmeta deleted file mode 100644 index 432a384535..0000000000 --- a/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_flat.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation": { - "frametime": 4, - "interpolate": true - } -} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_glow.png.mcmeta b/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_glow.png.mcmeta deleted file mode 100644 index 432a384535..0000000000 --- a/src/main/resources/assets/twilightforest/textures/block/pedestal/snow_queen_glow.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation": { - "frametime": 4, - "interpolate": true - } -} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/pedestal/top_flat.png b/src/main/resources/assets/twilightforest/textures/block/pedestal/top_flat.png deleted file mode 100644 index 970d7966629143836e4bba2b17f09f101f14ae87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2468 zcmV;V30wAwP)E`SG9@D<;Zs0nvecXf6k&PTCG;=D3Xh4a6y;#wR}F~ z_bYirl53J(^B?&~Ty|w<{8?o2C=2ThJpgC6oszNC0=CK(2Kw?!viK@s)%`b2=aj8wme{Qa6|X9v?Dwym-5M#c6dlXcnH`BC}NIDyD1*B zu6>Z#aUN2r&G8k7*8{dpNRSKWLG^gB%){yJ&Qu%lP(U?oZ6CrsR5+;r=<|?F@PO~S z_JL&VE@&S#t9L;F^?85*@lXtTfB>EB6^4`$4|-42u;5{CjyqY_ArCM%9UgWN#w**0 z%+CWB6axSZIBzO84p<^GOJh8g30v|Tc(4r*2CC8UQ0vRD&x7&vV7&GLmiOW>=`nwa z?Sm5l==}Q9`b(@}J|1wS(z#3aVaq(EY#+eGV~~gEx8G`ismsH8?&Se@*h8Su@qh<% zf2#Jl@AJU!9l2u-4>{D9UAV-BnBEhn6$94agS^t^rXME6&~nULiPdch;slu zJipyF{wUdB{1(o3KMw@JkcV`H2W`l2ct1QiFwp1WCVxqIP#1qG8R22i+P@GO`1uvD zILkadaQu+A{*v%8Z68RW$3r~90|dG}DCPkI5lj`+2~cz(;E1hlYnGM(et()baoUm<92dz&B{dTbw;!9#q3ab~_IR#0EV4>i$y8 zL*p+M6aEtP9?v#@;CPYTC%gvj19plxi~XhZ(lHgl!_PxEejpwwp5E%?X3Rdok8XI# z>v%fsF9q$xI1i6SFMh~@2We}VhbP3-9Uig?9_VDR)>k};eF*ZfI57{f4_IPMfB~A| zVc+FJfAHY(mvj?P7q|FJnXPublrR*Dgx6y{!2N-vD_JIvsuyf7!uH{r;)j|C?PBsf zju9RAfp|LY#M8n9hPNH#0mHbCAF3a-4>~0k4)MV1y&3R;4}<;^G`V9RwyN4p`%738 z90eRdNPbEDrEvUk?JwyMf60?y(v(N2_B7oac%XoRA~P|#WA*_8P2h)J6T{Aq?mTE8 zutC^biKn5Y+HIjG=C~sD4)H*Fn~uMP$O9)V=Uan3+%peZ*I#PfA76fn1ui@kH4n>R zzLis}8;YlGdQ<#BlfJ|c@Vr@cv^VKn1@)x zi7_51IsUR_B<|SPy=TL|4D!IoXloxR^{9_)QZTB=`FOy0{dydD;Dl6&2UhP350EKL z%<7#4>kotc65dic;N?N$2M+679@=<1@$*2*DirXJTj60M-zsh>WI#3-BJL#16y!l; z<4UsXlm+SXP$pyf*7weX_)9;H2aX@Gsd(b36PKw8{6hIwKJG=O#XitEOFTSyc__F# zu%wdig@+yTOYkSg>T!ekVS)!rhpB;m$oxFGiq;1JQ5AuBkov#$etro89v)n^ zuaEmqJS{x1ckkhWQotDfRXj~410N4ZI*GaYqm3U91;r0ZkO$nM7C52^DHWGZ;bN&j zgm{=sim8DCHh01PQaVzPqxysT;Nj=;p!@wx6ZHq^lJslHan|Gp=Og_ZpSTxpN2<~A z0Dr*G1K?x_YeVCyd7yY2zvAoXBm0oCdJprh?7{o&1BL{qefg!Qpnc$CcQ>BCDSklN zVMnKT6Hia{YshL!U@d7o3BV`vt##AQ%{=7qGJg0G9{Tm^2_86FSd`psCY3lg><>X6 zpnTu~BoGfap*()gL*nOw8;QF0hph?ofcSx04Ez19x%9XC`}wZzL#O@_%r8CY+Fzo6 zK59!0^C0~i3-*^bU4Ln;pHB)7Fls=Li#zw6a`ng4s+(W>A%AJm&-cN@kO$T8Us7ZK z5*4)f5--U!a i)?53Ru6g)B?8Co`TNSYYmA}FO00007-aTT}XzVBoeDN>ZU7K`Fe7OTiA?yFWy zw!3ZFvg39)27@4%IR;4PkU`R!zhGWTmL-~1^kFUoo3?C;Vv$wU`|10>_uiUBBBf}G zVVG8{)uiB)cAH@+>g_#ri-sHA*=n`5h;CzJV+}sw{%kgzPN&l8beT0q)nl?L9N#4^?IoUUQ)US2f=@EadmRP(cV3J9{TcEzq)tt z-WQ*Lv9`8WKemT<5tq-3Xth!)ceZOH(FU9u)1~X3)cA?{{{8!Z{f~eD$JOn>U%i53 zh^EQzG-(hOJes>`iC7}tdO#0~WIsFkz4gmqf2mTb{_#Km_4Cg^|L%9cg#%ir;#fgq z&}$`%b(u`M2Im9k)aq46&r|>M_1FLW<*$GK!ylAN<%0+7e>y!`ySi0odW%a5mkt-q zU4v399-QaD`R1Fy{q)oQukQc-kAH;o`TJl0_Lmng;L-nidFM<=6#G6$K&w!1a2E|9GKHM!k@a3`_S*T? zS6~16^3`XbefGsKe(~qa=kVy-+=XQfI62Ya&D7IXzWy&4*?818Qi+ju? zD|zPUo_p#Hq||yd0`J824*(7ju`CPK*6LQ7L6x2Cw5M@uP+(>RGpf>~JlkzCTuHX! zisAgBmc;Nilu8!Ip=NT$6j4ZKGATUEeTnDrbSi~kmE(0?aTg7rK}A7ghSiE_46RnHjPMK8772p4J9?*z4;12{ahu7!wpk`Od!0})-tmL7E(NkY@?yVi! z3CbTyncN;XKM%EPrAB2=pkVLtP#K}Vh}nagmUv*9dN(mR_wn%1GI}trR(FR7iF_T( zyE)kz{$O9`fjX6jQ!2eqd-c@UJV>O>EIGbN3-M5!>aAXdShoI_2lixw0rFWT!%ApfYn)DXsA`eWZP$Krp z=;WCjcxXSekl))m9!4%-T#M-Sd_1rXW>{e+yL7KW_e$-9EHkXp6Py_|m<}b#1D+%D zr9_t4&E?a0apx1@0rUZQ@CDp~h!uG7L=bln5!44P94t2y@RuBg8}mSY?kx1J*sjgv zcWMzeFAr5}=s$jCxywU!<_p9P4u@ljhfb^B%JrW(mU+lCdRI`VR;zD$5KBa@L7_QF z&3-U1^FW_SLvh4tQg2E`Z+TFt#qDWo_A(;GLw&9>Syh{o8y?`8@d2}%2P~z$)dz)k z9qMfSGAhJFWe5U%hX+m{y3KkwJ$)Wo=An9G3nffOhhmWjs#&b3_gm=TyCCpDUm)ZY z2Rype_qZ{=-h!yq%RIC|2iW!~MGtb+d=K=29hY1EBFDojeb~=HbIuSi#Foggo@tr)Xt}fj(e6c8}MkGb{OcsF%q> z@bGDPfrq&VO>4dU`oN|K4}(1VK${#MBVttE(Fd8R)u}f}d&fVjcz8II1b6f%iwbPj z4G$V|Ym85Y{ZhH-a0Vo|erZc19-i;7=E08{l)7(k{LS(W~{py^|lNh2hKi3cuuy$Zz#Qsgtw^l{$+LE)qQX;n0eu^%jrhJs!wn zEuF8$JLicj9<1brp3|NKgD;909U6WfKp$wfLe2K5G2T8*gN{L{U^|R35Bs|u59I`2 zh~@Grys(qoPk$nQ$?v}6LGRhtIRpBY`JuR9t|!T1gnVeLP5cBI0v_C6mjDlq0?9^C z-)Qgh&^T~_KJfV^mZ>$$qjTpn54olVPHce(FhX>{+?o{^Yj5?bt+`a8y?ig&EaWfH4l-j;{7~5d0G(UVQTh8WsCWtOV$Uwy;p%{ z9_mN7NDk4Pl~VcU9Uj`XVkuu>1KqO>@IXD&k&iijsLV~Cuny7b1$gMRs3A@b2)bWv z&vS5|Tz(kVm|jDWha10?;Pe5$EG07d-bc*?w(Z8Ej_{t*>vslXT5nWqcN>jny|6x% z@hTOi$HCT#sX4cl`j#kx1b0kY9bbN^Q@MI;@95=1o+c+Q=r4JK7QX%xP4pjz`23RD z<}_*bcl?q}wcct|;Fsoabjv(6pNP;TvXG}CKY*Z&FEWBW46QCqtkB-_u<^nE66nL0 z?!j9gAX!6&jV|{Dd6=1PE<~<;ufH_j89n3EhZ7T;GD4n)T(Zz#f?rDeOsM-k3OqEQ z8m@ULPprPERzM#hPxnZwzt15t%(st{%&^MwFfK!W5#S-0dK6F#vlWm?nO&dJhTAg`o!7tIn0y&M%-x!v8sGVqoyLz)-waCM8 ze{zu(;-S=aTRjT7=D`gQhKQ2VYF-28l`|=8W8XD z12fHYO<3TeLkr|-JjMB?%3da$NN)SB3d!)C_z(|fnM!nBASHWgeOjwZR>;-l~)-Hy3y)l8F-Q9el^>L;HKA z^Vr1EGcow1YJ*^ZsY}tFGN%umU&1>xoS7!!yO6V2^p~1l`ww>sXhaTee=@H|iKD7JA z=4^X(8RF9iLnsZC6wNIUDn!K05|d{+VSVsh+)A1H#xKDScXEz@AV0(n3wgRbPt7ld z^W?#t8KaZ=E`9?2%@Ooh$N6*c{n9k+3 z^3CHqDfTqV*I%-F!kUFVEm!_qi)l88iQ$hH9v+T#fv6D#LaMy!FUhwy*-3hS85QKA z>o;1}xB4L85>HP)pb!3-QGu-A;o%@Le=f|!fd%$87UyxjdUF_?y$CP!KpvTbF^kcz zP-qtO1N=rRwgcVoA{-A-?9>zM6%Vd(T4Jzh`1}%EhjCnsEmM;eHOg`NFweBR6|Udf zTj7`TI8ol?{8BE%jjM^w$Ib&5^@QVgm_ML#V<4_`1`STXUQi#xkf*DeG8v~Qe&!6J zPqdJyc#%jph9+1vrCMJhePwu{uZKFNu=V%erpvkbo||i`1QU9b)miP<$6)X z>{RjhTiHRG%MUPrm?zr@8FpB04fE`%BB&3!!VXU0&|k`=)4Ad!_#&l1_S_)r^SQt|UprxWwV{!;r?72452 zdgt*=jTYWL+Tr1$t+u<2OY=D3p`SebJ&!z*ZDvydMYs!etXVa6-OLvd!Y1r@Lt z^==-wIeC=*;QrFBUlNNq*kSG9DY0VyV0Gy4&L70>L6scFr_cHHVQ!1Lu6dxZ^r1R6`7o{7r4-;{R0JMc{X8`!AWt&~X=uW-gZip{4LpzM@>$>k z(!^D~PJaUX8ZeIwM(wb#;foraL8B|AGn$0waWI@Nk$bS*TAQJjnU|pbXvDccX?=mm5CU5{1V%*H<)z)IKs<=H>_IJ2gQRHL(;?D(>Kax9@^*Y!5DOom6EL+ zzobMq+MW90g>ar8JFLE~+x`+9GkREF%|mccFMhYr2l~K{$`j!{T{|!=@WAbB462Q8 zYWB*_(_cE#qe~p32mhZ+p;~Bd~1|++V8Esgqal&EwqLS-Cf4e*V@Zv~4mc`2A5N)xl$p}O5)f@6j!AMi`TU7h@0 zzf~&RfR4?I`E+G&aiMDYyZ+LaMhgDDF^tb&TY2Vjr-pD&zr+L8gr;|a3{PK}uXu2f zXTGbI7LP9`G>_}l* Date: Thu, 20 Mar 2025 16:17:33 +0300 Subject: [PATCH 049/239] Modify Giant Item attributes to use EquipmentSlotGroup.MAINHAND instead of HAND (#2363) --- src/main/java/twilightforest/item/GiantPickItem.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/item/GiantPickItem.java b/src/main/java/twilightforest/item/GiantPickItem.java index f640325f1d..d3e08d74a2 100644 --- a/src/main/java/twilightforest/item/GiantPickItem.java +++ b/src/main/java/twilightforest/item/GiantPickItem.java @@ -34,8 +34,8 @@ public static ItemAttributeModifiers createGiantAttributes(ToolMaterial material return ItemAttributeModifiers.builder() .add(Attributes.ATTACK_DAMAGE, new AttributeModifier(Item.BASE_ATTACK_DAMAGE_ID, damage + material.attackDamageBonus(), AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND) .add(Attributes.ATTACK_SPEED, new AttributeModifier(Item.BASE_ATTACK_SPEED_ID, speed, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND) - .add(Attributes.BLOCK_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("reach_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HAND) - .add(Attributes.ENTITY_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("range_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HAND) + .add(Attributes.BLOCK_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("reach_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND) + .add(Attributes.ENTITY_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("range_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND) .build(); } From 1bf896635d102fd247b7ffb58243941e4bea5e8c Mon Sep 17 00:00:00 2001 From: Team Twilight Crowdin <110685929+Team-Twilight-Crowdin@users.noreply.github.com> Date: Sat, 29 Mar 2025 18:25:51 -0600 Subject: [PATCH 050/239] New Crowdin updates (#2292) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Japanese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Japanese) * New translations en_us.json (Japanese) * New translations en_us.json (Russian) * New translations en_us.json (Russian) * New translations en_us.json (Japanese) * New translations en_us.json (Russian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Japanese) * New translations en_us.json (Japanese) * New translations en_us.json (Japanese) * New translations en_us.json (Japanese) * New translations en_us.json (Turkish) * New translations en_us.json (Korean) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Japanese) * New translations en_us.json (Czech) * New translations en_us.json (Czech) * New translations en_us.json (Turkish) * New translations en_us.json (Korean) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Japanese) * New translations en_us.json (Czech) * New translations en_us.json (French) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Italian) * New translations en_us.json (Polish) * New translations en_us.json (Russian) * New translations en_us.json (Ukrainian) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Korean) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Japanese) * New translations en_us.json (Czech) * New translations en_us.json (French) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Italian) * New translations en_us.json (Polish) * New translations en_us.json (Russian) * New translations en_us.json (Ukrainian) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Japanese) * New translations en_us.json (Japanese) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (German) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Spanish) * New translations en_us.json (Spanish) * New translations en_us.json (Japanese) * New translations en_us.json (Toki Pona) * New translations en_us.json (Toki Pona) * New translations en_us.json (Toki Pona) * New translations en_us.json (Toki Pona) * New translations en_us.json (Korean) * New translations en_us.json (Toki Pona) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (German) * New translations en_us.json (German) * New translations en_us.json (Toki Pona) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Toki Pona) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Korean) * New translations en_us.json (Russian) * New translations en_us.json (Russian) * New translations en_us.json (Tatar) * New translations en_us.json (Korean) * New translations en_us.json (Ukrainian) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Simplified) --- .../assets/twilightforest/lang/cs_cz.json | 56 +- .../assets/twilightforest/lang/de_de.json | 65 +- .../assets/twilightforest/lang/es_es.json | 146 +- .../assets/twilightforest/lang/fr_fr.json | 2 - .../assets/twilightforest/lang/it_it.json | 30 - .../assets/twilightforest/lang/ja_jp.json | 129 +- .../assets/twilightforest/lang/ko_kr.json | 313 ++-- .../assets/twilightforest/lang/pl_pl.json | 4 - .../assets/twilightforest/lang/pt_br.json | 128 +- .../assets/twilightforest/lang/ru_ru.json | 1607 ++++++++--------- .../assets/twilightforest/lang/tok.json | 33 +- .../assets/twilightforest/lang/tr_tr.json | 3 +- .../assets/twilightforest/lang/tt_ru.json | 11 +- .../assets/twilightforest/lang/uk_ua.json | 73 +- .../assets/twilightforest/lang/vi_vn.json | 34 +- .../assets/twilightforest/lang/zh_cn.json | 316 ++-- 16 files changed, 1561 insertions(+), 1389 deletions(-) diff --git a/src/main/resources/assets/twilightforest/lang/cs_cz.json b/src/main/resources/assets/twilightforest/lang/cs_cz.json index 6884d01d7f..2665a2eea3 100644 --- a/src/main/resources/assets/twilightforest/lang/cs_cz.json +++ b/src/main/resources/assets/twilightforest/lang/cs_cz.json @@ -19,7 +19,6 @@ "advancement.twilightforest.fiery_set": "Galony krve a slzy", "advancement.twilightforest.fiery_set.desc": "Drž ohnivý nĆ”stroj nebo zbraň zatĆ­mco mÔŔ alespoň jeden kus ohnivĆ©ho brněnĆ­ ve svĆ©m inventÔři", "advancement.twilightforest.full_mettle_alchemist": "Alchymistou na plno", - "advancement.twilightforest.full_mettle_alchemist.desc": "Vypij čtyři dĆ”vky ZraněnĆ­ II z lektvarovĆ© baňky za mĆ©ně než 8 sekund a přežij", "advancement.twilightforest.ghast_trap": "Něco divnĆ©ho vě Věži", "advancement.twilightforest.ghast_trap.desc": "Zabij %s kolem %s a aktivuj pro vyklizenĆ­ %s z nebe!", "advancement.twilightforest.giants": "Jsem na oblaku devět", @@ -297,13 +296,10 @@ "block.twilightforest.canopy_stairs": "KlenbostromovĆ© schody", "block.twilightforest.canopy_trapdoor": "Klenbostromový poklop", "block.twilightforest.canopy_trapped_chest": "NĆ”stražnĆ” klenbostromovĆ” truhla", - "block.twilightforest.canopy_wall_hanging_sign": "KlenbostromovĆ” nĆ”stěnnĆ” zĆ”věsnĆ” cedule", - "block.twilightforest.canopy_wall_sign": "NĆ”stěnnĆ” cedule z klenbovĆ©ho dřeva", "block.twilightforest.canopy_wood": "KlenbostromovĆ© dřevo", "block.twilightforest.carminite_block": "Karminitový blok", "block.twilightforest.carminite_builder": "Karminitový stavitel", "block.twilightforest.carminite_reactor": "Karminitový reaktor", - "block.twilightforest.casket.broken": "TvĆ” urna na pozÅÆstatky byla příliÅ” poÅ”kozenĆ” na to, aby se do nĆ­ veÅ”ly dalŔí předměty. VÅ”echny předměty, kterĆ© měly být uloženy v tvojĆ­ urně, spadly na zem.", "block.twilightforest.casket.locked": "Tato rakev muže být otevřena pouze pomocĆ­ %s!", "block.twilightforest.castle_brick": "HradnĆ­ cihla", "block.twilightforest.castle_brick_stairs": "Schody z hradnĆ­ch cihel", @@ -326,7 +322,6 @@ "block.twilightforest.cracked_towerwood": "PopraskanĆ” věžnĆ­ prkna", "block.twilightforest.cracked_underbrick": "PopraskanĆ” podcihla", "block.twilightforest.creeper_skull_candle": "Svička z lebky syÄĆ”ka", - "block.twilightforest.creeper_wall_skull_candle": "NĆ”stěnnĆ” svƭčka z lebky syÄĆ”ka", "block.twilightforest.crimson_banister": "KarmĆ­novĆ© zĆ”bradlĆ­", "block.twilightforest.cut_mazestone": "Řezaný bludiÅ”tnĆ­ kĆ”men", "block.twilightforest.dark_banister": "TemnĆ© zĆ”bradlĆ­", @@ -346,8 +341,6 @@ "block.twilightforest.dark_stairs": "TemnodřevenĆ© schody", "block.twilightforest.dark_trapdoor": "Temnodřevený poklop", "block.twilightforest.dark_trapped_chest": "NĆ”stražnĆ” temnodřevenĆ” truhla", - "block.twilightforest.dark_wall_hanging_sign": "TemnodřevenĆ” nĆ”stěnnĆ” zĆ”věsnĆ” cedule", - "block.twilightforest.dark_wall_sign": "TemnodřevenĆ” nĆ”stěnnĆ” cedule", "block.twilightforest.dark_wood": "Temnodřevo", "block.twilightforest.darkwood_sapling": "Sazenice tmavĆ©ho stromu", "block.twilightforest.deadrock": "MrtvĆ” skĆ”la", @@ -414,9 +407,9 @@ "block.twilightforest.hollow_oak_log_horizontal": "Dutý dubový kmen", "block.twilightforest.hollow_oak_log_vertical": "Dutý dubový kmen", "block.twilightforest.hollow_oak_sapling": "Sazenice silnĆ©ho twilightovĆ©ho dubu", - "block.twilightforest.hollow_sorting_log_climbable": "Dutý kmen třídĆ­cĆ­ho stromu", - "block.twilightforest.hollow_sorting_log_horizontal": "Dutý kmen třídĆ­cĆ­ho stromu", - "block.twilightforest.hollow_sorting_log_vertical": "Dutý kmen třídĆ­cĆ­ho stromu", + "block.twilightforest.hollow_sorting_log_climbable": "Dutý kmen třídistromu", + "block.twilightforest.hollow_sorting_log_horizontal": "Dutý kmen třídistromu", + "block.twilightforest.hollow_sorting_log_vertical": "Dutý kmen třídistromu", "block.twilightforest.hollow_spruce_log_climbable": "Dutý smrkový kmen", "block.twilightforest.hollow_spruce_log_horizontal": "Dutý smrkový kmen", "block.twilightforest.hollow_spruce_log_vertical": "Dutý smrkový kmen", @@ -473,9 +466,8 @@ "block.twilightforest.mangrove_stairs": "MangrovovĆ© schody", "block.twilightforest.mangrove_trapdoor": "MangrovovĆ© padacĆ­ dveře", "block.twilightforest.mangrove_trapped_chest": "NĆ”stražnĆ” mangrovovĆ” truhla", - "block.twilightforest.mangrove_wall_hanging_sign": "MangrovovĆ” nĆ”stěnnĆ” zĆ”věsnĆ” cedule", - "block.twilightforest.mangrove_wall_sign": "MangrovovĆ” nĆ”stěnnĆ” cedule", "block.twilightforest.mangrove_wood": "MangrovovĆ© dřevo", + "block.twilightforest.mason_jar": "ZavařovacĆ­ sklenice", "block.twilightforest.mayapple": "Noholist", "block.twilightforest.mazestone": "BludiÅ”tnĆ­ kĆ”men", "block.twilightforest.mazestone_border": "Okraj bludiÅ”tnĆ­ho kamene", @@ -499,8 +491,6 @@ "block.twilightforest.mining_stairs": "Schody z hornickĆ©ho dřeva", "block.twilightforest.mining_trapdoor": "PadacĆ­ dveře z hornickĆ©ho dřeva", "block.twilightforest.mining_trapped_chest": "NĆ”stražnĆ” hornickstromovĆ” truhla", - "block.twilightforest.mining_wall_hanging_sign": "HornickostromovĆ” nĆ”stěnnĆ” zĆ”věsnĆ” cedule", - "block.twilightforest.mining_wall_sign": "HornickostromovĆ” nĆ”stěnnĆ” cedule", "block.twilightforest.mining_wood": "HornickostromovĆ© dřevo", "block.twilightforest.minoshroom_boss_spawner": "LĆ­heň minomÅÆrčƭho bosse", "block.twilightforest.minoshroom_trophy": "Trofej MinomÅÆrky", @@ -541,6 +531,7 @@ "block.twilightforest.potted_mining_sapling": "Sazenice hornickĆ©ho stromu v květinĆ”Äi", "block.twilightforest.potted_mushgloom": "SvĆ­tihouba v květinĆ”Äi", "block.twilightforest.potted_rainbow_oak_sapling": "Duhový dub v květinĆ”Äi", + "block.twilightforest.potted_sorting_sapling": "Sazenice třídistromu v květinĆ”Äi", "block.twilightforest.potted_thorn": "Trn v květinĆ”Äi", "block.twilightforest.potted_transformation_sapling": "Sazenice stromu transformace v květinĆ”Äi", "block.twilightforest.quest_ram_trophy": "Trofej ĆŗlohovĆ©ho berana", @@ -554,18 +545,29 @@ "block.twilightforest.root_strand": "KořenovĆ” vlĆ”kna", "block.twilightforest.rope": "Lano", "block.twilightforest.skeleton_skull_candle": "Svička z lebky", - "block.twilightforest.skeleton_wall_skull_candle": "NĆ”stěnnĆ” svƭčka z lebky", "block.twilightforest.slider": "SkluzavkovĆ” past", "block.twilightforest.smoker": "KuřÔk", "block.twilightforest.snow_queen_trophy": "Trofej sněhovĆ© krĆ”lovny", "block.twilightforest.snowy_cloud": "Sněžný mrak", - "block.twilightforest.sorting_chest": "Truhla z třídĆ­cĆ­ho dřeva", - "block.twilightforest.sorting_leaves": "Listy tříděnĆ­", - "block.twilightforest.sorting_log": "Kmen třídĆ­cĆ­ho stromu", - "block.twilightforest.sorting_log_core": "Motor třídĆ­cĆ­ho stromu", + "block.twilightforest.sorting_banister": "TřídidřevěnĆ© zĆ”bradlĆ­", + "block.twilightforest.sorting_button": "TřídidřevěnĆ© tlačƭtko", + "block.twilightforest.sorting_chest": "TřídidřevěnĆ” truhla", + "block.twilightforest.sorting_door": "TřídidřevěnĆ© dveře", + "block.twilightforest.sorting_fence": "Třídidřevěný plot", + "block.twilightforest.sorting_fence_gate": "TřídidřevěnĆ” branka", + "block.twilightforest.sorting_hanging_sign": "TřídidřevěnĆ” zĆ”věsnĆ” cedule", + "block.twilightforest.sorting_leaves": "Listy třídistromu", + "block.twilightforest.sorting_log": "Kmen třídistromu", + "block.twilightforest.sorting_log_core": "Motor třídistromu", "block.twilightforest.sorting_planks": "TřídĆ­cĆ­ prkna", "block.twilightforest.sorting_pressure_plate": "TřídĆ­cĆ­ naÅ”lapnĆ” deska", "block.twilightforest.sorting_sapling": "Sazenice třídĆ­cĆ­ho stromu", + "block.twilightforest.sorting_sign": "TřídidřevěnĆ” cedule", + "block.twilightforest.sorting_slab": "Třídidřevěný pÅÆlblok", + "block.twilightforest.sorting_stairs": "TřídidřevěnĆ© schody", + "block.twilightforest.sorting_trapdoor": "Třídidřevěný poklop", + "block.twilightforest.sorting_trapped_chest": "NĆ”stražnĆ” třídidřevěnĆ” truhla", + "block.twilightforest.sorting_wood": "Třídidřevo", "block.twilightforest.spiral_bricks": "SpirĆ”lovĆ© cihly", "block.twilightforest.spruce_banister": "SmrkovĆ© zĆ”bradlĆ­", "block.twilightforest.steeleaf_block": "Blok ocelovĆ©ho listu", @@ -608,8 +610,6 @@ "block.twilightforest.time_stairs": "ČasostromovĆ© schody", "block.twilightforest.time_trapdoor": "Časostromový poklop", "block.twilightforest.time_trapped_chest": "NĆ”stražnĆ” časostromovĆ” truhla", - "block.twilightforest.time_wall_hanging_sign": "ČasostromovĆ” zĆ”věsnĆ” nĆ”stěnnĆ” cedule", - "block.twilightforest.time_wall_sign": "ČasostromovĆ” nĆ”stěnnĆ” cedule", "block.twilightforest.time_wood": "ČasostromovĆ© dřevo", "block.twilightforest.torchberry_plant": "Rostlina svĆ­tĆ­cĆ­ bobule", "block.twilightforest.towerwood": "VěžovodřevenĆ” prkna", @@ -631,8 +631,6 @@ "block.twilightforest.transformation_stairs": "Schody z transformačnĆ­ho dřeva", "block.twilightforest.transformation_trapdoor": "PadacĆ­ dveře z transformačnĆ­ho dřeva", "block.twilightforest.transformation_trapped_chest": "NĆ”stražnĆ” transdřevěnĆ” truhla", - "block.twilightforest.transformation_wall_hanging_sign": "TransdřevěnĆ” nĆ”stěnnĆ” zĆ”věsnĆ” cedule", - "block.twilightforest.transformation_wall_sign": "NĆ”stěnnĆ” cedule z transformačnĆ­ho dřeva", "block.twilightforest.transformation_wood": "TransdřevěnĆ© dřevo", "block.twilightforest.trollber": "TrollĆ­ bobule", "block.twilightforest.trollsteinn": "TrollĆ­ kĆ”men", @@ -671,7 +669,6 @@ "block.twilightforest.weathered_deadrock": "Zvětralý mrtvý kĆ”men", "block.twilightforest.wispy_cloud": "Jemný mrak", "block.twilightforest.wither_skeleton_skull_candle": "Svƭčka z lebky wither kostlivce", - "block.twilightforest.wither_skeleton_wall_skull_candle": "NĆ”stěnnĆ” svƭčka z lebky wither kostlivce", "block.twilightforest.worn_castle_brick": "OpotřebenĆ” hradnĆ­ cihla", "block.twilightforest.worn_castle_brick_stairs": "OpotřebenĆ© schody z hradnĆ­ch cihel", "block.twilightforest.wrought_iron_fence": "SvÔřkový plot", @@ -691,6 +688,8 @@ "commands.tffeature.structure.spawn_list": "Seznam spawnovĆ”nĆ­ pro tuto oblast je:", "commands.tffeature.usage": "/%s ", "config.jade.plugin_twilightforest.quest_ram_wool": "Vlna ĆŗlohovĆ©ho berana", + "config.twilightforest.sorting_range": "Dosah třídistromu", + "config.twilightforest.sorting_range.tooltip": "Určuje poloměr, ve kterĆ©m pracuje jĆ”dro třídistromu. Může to být čƭslo v rozsahu 1 až 128.\nNastavte hodnotu na 0, aby jĆ”dro třídistromu nefungovalo.", "container.twilightforest.uncrafting_table": "RozebĆ­racĆ­ stÅÆl", "container.twilightforest.uncrafting_table.disabled_item": "RozebrĆ”nĆ­ tohoto předmětu je vypnuto.", "container.twilightforest.uncrafting_table.uncrafting_disabled": "RozebrĆ”nĆ­ je vypnuto přes konfiguraci", @@ -742,15 +741,12 @@ "entity.twilightforest.skeleton_druid": "Kostlivecký druid", "entity.twilightforest.slider": "PohybujĆ­cĆ­ skluzavkovĆ” past", "entity.twilightforest.slime_beetle": "Slizký brouk", - "entity.twilightforest.slime_blob": "Hrudka slizu", "entity.twilightforest.snow_guardian": "Sněhový strÔžce", "entity.twilightforest.snow_queen": "SněhovĆ” krĆ”lovna", "entity.twilightforest.squirrel": "Veverka", "entity.twilightforest.stable_ice_core": "StabilnĆ­ ledovĆ© jĆ”dro", "entity.twilightforest.swarm_spider": "RojĆ­cĆ­ pavouk", "entity.twilightforest.thrown_block": "Hozený blok", - "entity.twilightforest.thrown_ice": "LedovĆ” bomba", - "entity.twilightforest.thrown_wep": "HozenĆ” zbraň", "entity.twilightforest.tiny_bird": "Malý ptĆ”k", "entity.twilightforest.unstable_ice_core": "NestabilnĆ­ ledovĆ© jĆ”dro", "entity.twilightforest.upper_goblin_knight": "VyŔŔí goblinský rytĆ­Å™", @@ -810,7 +806,6 @@ "item.twilightforest.filled_maze_map": "BludiÅ”tnĆ­ mapa", "item.twilightforest.filled_ore_map": "BludiÅ”tnĆ­/rudovĆ” mapa", "item.twilightforest.fire_beetle_spawn_egg": "Vajƭčko s ohnivým broukem", - "item.twilightforest.flask.doses": "DĆ”vky: %s/%s", "item.twilightforest.flask.no_refill": "Nemůže být znovu naplňena", "item.twilightforest.fortification_scepter": "Žezlo zpevněnĆ­", "item.twilightforest.four_leaf_clover": "ČtyřlĆ­stek", @@ -928,6 +923,8 @@ "item.twilightforest.snow_queen_banner_pattern": "Vzor praporu", "item.twilightforest.snow_queen_banner_pattern.desc": "SněhovĆ” vločka", "item.twilightforest.snow_queen_spawn_egg": "Vajƭčko se sněhovou krĆ”lovnou", + "item.twilightforest.sorting_boat": "Třídidřevěný člun", + "item.twilightforest.sorting_chest_boat": "Třídidřevěný člun s truhlou", "item.twilightforest.stable_ice_core_spawn_egg": "Vajƭčko se stabilnĆ­m ledovým jĆ”drĆ©m", "item.twilightforest.steeleaf_axe": "OcelovolistovĆ” sekera", "item.twilightforest.steeleaf_boots": "OcelovolistovĆ© boty", @@ -988,6 +985,7 @@ "museumcurator.botany.twilightforest.canopytree": "Klenbostrom", "museumcurator.botany.twilightforest.darkwoodtree": "Temnodřevený strom", "museumcurator.botany.twilightforest.mangrovetree": "Mangrov", + "museumcurator.botany.twilightforest.sortingtree": "Třídistrom", "museumcurator.botany.twilightforest.transformationtree": "Transdřevěný strom", "museumcurator.botany.twilightforest.twilightoaktree": "Twilightový dub", "museumcurator.metallurgy.twilightforest.fiery": "Ohnivý kov", @@ -1032,10 +1030,12 @@ "subtitles.twilightforest.item.flask.break": "KřehkĆ” baňka se roztříŔtĆ­", "subtitles.twilightforest.item.flask.crack": "KřehkĆ” baňka popraskĆ”", "subtitles.twilightforest.item.transformation_powder.use": "StvořenĆ­ se proměňuje", + "tag.item.twilightforest.sortwood_logs": "Kmeny třídistromu", "trim_material.twilightforest.carminite": "Karminitový materiĆ”l", "trim_material.twilightforest.fiery": "Ohnivý materiĆ”l", "trim_material.twilightforest.ironwood": "Železodřevený materiĆ”l", "trim_material.twilightforest.steeleaf": "Ocelovolistový materiĆ”l", "twilightforest.tips.mushglooms": "SvĆ­tihouby nelze kostnĆ­ moučkou zvětÅ”it na obří houby. Pokud je vÅ”ak položíte na Úrodnou pÅÆdu, začnou rÅÆst.", + "twilightforest.tips.sorting_tree": "Třídistrom roztřídĆ­ truhly vedle něj do jiných truhel poblíž.", "twilightforest.tips.transformation_tree": "Strom transformace proměnĆ­ oblast kolem sebe v Čarovný les." } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/de_de.json b/src/main/resources/assets/twilightforest/lang/de_de.json index 39c5ce7b55..eeb5c6bac0 100644 --- a/src/main/resources/assets/twilightforest/lang/de_de.json +++ b/src/main/resources/assets/twilightforest/lang/de_de.json @@ -19,7 +19,7 @@ "advancement.twilightforest.fiery_set": "Literweise Blut und TrƤnen", "advancement.twilightforest.fiery_set.desc": "Führe ein feuriges Werkzeug oder eine Waffe, wƤhrend du mindestens ein Stück feuriger Rüstung im Inventar hast", "advancement.twilightforest.full_mettle_alchemist": "Alchemist mit vollem Einsatz", - "advancement.twilightforest.full_mettle_alchemist.desc": "Trinke vier Dosen Schaden II aus einem TrankflƤschchen in weniger als 8 Sekunden und überlebe", + "advancement.twilightforest.full_mettle_alchemist.desc": "Trinke drei Dosen Verletzung II aus einer Trankflasche in weniger als 6 Sekunden und überlebe", "advancement.twilightforest.ghast_trap": "Etwas Seltsames in Turmholz", "advancement.twilightforest.ghast_trap.desc": "Tƶte den %ss um einen %s und aktiviere ihn, um den %s vom Himmel zu reißen.", "advancement.twilightforest.giants": "Ich bin auf Wolke neun", @@ -30,9 +30,9 @@ "advancement.twilightforest.hedge.desc": "Besiege eine Spinne im Heckenlabyrinth", "advancement.twilightforest.hill1": "Die Stiefel gehƶren mir!", "advancement.twilightforest.hill1.desc": "Besiege einen %s in einem kleinen Hohlhügel", - "advancement.twilightforest.hill2": "Was war das für ein GerƤusch?", + "advancement.twilightforest.hill2": "Was war das GerƤusch?", "advancement.twilightforest.hill2.desc": "Besiege einen %s in einem mittleren Hohlhügel", - "advancement.twilightforest.hill3": "Ich kann dich sehen", + "advancement.twilightforest.hill3": "Ich Schaue Dich Direkt Durch", "advancement.twilightforest.hill3.desc": "Besiege einen %s in einem großen Hohlhügel", "advancement.twilightforest.hydra_chop": "Massive Kotletten", "advancement.twilightforest.hydra_chop.desc": "Schlemme einen %s, wenn deine Hungerleiste erschƶpft ist", @@ -46,27 +46,27 @@ "advancement.twilightforest.kill_naga.desc": "Erschlage die %s in ihrem Waldhof und erhalte ein %s, um die Barriere um den Turm des Lichs zu überwinden", "advancement.twilightforest.lich_scepters": "Mit vereinten KrƤften!", "advancement.twilightforest.lich_scepters.desc": "Erhalte alle vier Zepter der Macht", - "advancement.twilightforest.magic_map": "Bis zum Horizont", - "advancement.twilightforest.magic_map.desc": "Stelle die %s her", - "advancement.twilightforest.magic_map_focus": "Mit Feuer geschrieben", + "advancement.twilightforest.magic_map": "Ich Kann Sehen Für Immer", + "advancement.twilightforest.magic_map.desc": "Erstelle die %s", + "advancement.twilightforest.magic_map_focus": "Mit Feuer wird geschrieben", "advancement.twilightforest.magic_map_focus.desc": "Stelle die %s mit einem %s, %s und %s her", - "advancement.twilightforest.maze_map": "Nichts wie raus hier", + "advancement.twilightforest.maze_map": "Und Jetzt, Finde den Ausgang", "advancement.twilightforest.maze_map.desc": "Stelle die %s her, nachdem du den Fokus aus dem Labyrinth erhalten hast", - "advancement.twilightforest.mazebreaker": "Brecher des Labyrinths", + "advancement.twilightforest.mazebreaker": "Das Labyrinth Brechen", "advancement.twilightforest.mazebreaker.desc": "Finde die %s-Spitzhacke im geheimen Tresor des Labyrinths", "advancement.twilightforest.naga_armors": "Naga Rüstungsschmied", "advancement.twilightforest.naga_armors.desc": "Stelle sowohl %s Brust- als auch Beinschienen her", - "advancement.twilightforest.ore_map": "Ist es das denn wert?", - "advancement.twilightforest.ore_map.desc": "Stelle die %s her", + "advancement.twilightforest.ore_map": "Wie kann das denn wert sein?", + "advancement.twilightforest.ore_map.desc": "Erstelle die %s", "advancement.twilightforest.progress_glacier": "Klarer Himmel", "advancement.twilightforest.progress_glacier.desc": "Besiege den %s auf dem Aurorapalast", "advancement.twilightforest.progress_knights": "Karminit-Eingewƶhnung", "advancement.twilightforest.progress_knights.desc": "Beruhige die rastlosen Phantome im Grab des Ritters und die GerƤte des Karminitturms werden dir gehorchen", - "advancement.twilightforest.progress_labyrinth": "Gewaltiger Stroganow", - "advancement.twilightforest.progress_labyrinth.desc": "Iss das Meef Stroganoff, um deinen Kƶrper an die gefƤhrliche Hitze des Feuersumpfes zu gewƶhnen", + "advancement.twilightforest.progress_labyrinth": "KrƤftiges Stroganoff", + "advancement.twilightforest.progress_labyrinth.desc": "Iss das Meef-Stroganoff, um deinen Kƶrper an die gefƤhrliche Hitze des Feuersumpfes zu gewƶhnen", "advancement.twilightforest.progress_merge": "Ultimativer Showdown", - "advancement.twilightforest.progress_merge.desc": "Erschlage den %s, %s und %s, um den SƤureregen zu beseitigen und dich für die Hochlande zu stƤrken", - "advancement.twilightforest.progress_troll": "Alles soll brennen", + "advancement.twilightforest.progress_merge.desc": "Erschlage den %s, %s und %s, um den SƤureregen zu beseitigen und dich für die HochlƤnder zu stƤrken", + "advancement.twilightforest.progress_troll": "Ich Wünsche Mir Mehr Brennen", "advancement.twilightforest.progress_troll.desc": "Finde den %s in den Trollhƶhlen und du kannst die Dornenbarrieren verbrennen", "advancement.twilightforest.progress_trophy_pedestal": "TrophƤenchampion", "advancement.twilightforest.progress_trophy_pedestal.desc": "Beanspruche deinen Titel, indem du eine TrophƤe auf den Sockel in den Ruinen des Dunkelwaldes stellst", @@ -298,15 +298,12 @@ "block.twilightforest.canopy_stairs": "Baldachinholztreppe", "block.twilightforest.canopy_trapdoor": "Baldachinholzfalltür", "block.twilightforest.canopy_trapped_chest": "Redstone-Baldachinholztruhe", - "block.twilightforest.canopy_wall_hanging_sign": "BlƤtterdach-WandhƤngeschild", - "block.twilightforest.canopy_wall_sign": "Baldachinholzschild", "block.twilightforest.canopy_window": "Baldachinholz Fenster", "block.twilightforest.canopy_window_pane": "Baldachinholz Fensterscheibe", "block.twilightforest.canopy_wood": "Baldachinbaumholz", "block.twilightforest.carminite_block": "Karminitblock", "block.twilightforest.carminite_builder": "Karminit-Erbauer", "block.twilightforest.carminite_reactor": "Karminit-Reaktor", - "block.twilightforest.casket.broken": "Dein Andenkenschatulle war zu beschƤdigt, um weitere GegenstƤnde aufzunehmen. Alle GegenstƤnde, die in der Schatulle aufbewahrt werden sollten, sind auf den Boden gefallen.", "block.twilightforest.casket.locked": "Diese Schatulle wird nur von %s geƶffnet!", "block.twilightforest.castle_brick": "Burgziegel", "block.twilightforest.castle_brick_stairs": "Burgziegeltreppe", @@ -330,9 +327,7 @@ "block.twilightforest.cracked_towerwood": "Rissige Turmholzbretter", "block.twilightforest.cracked_underbrick": "Rissiger Fundamentsziegelstein", "block.twilightforest.creeper_skull_candle": "Creeper-SchƤdelkerze", - "block.twilightforest.creeper_wall_skull_candle": "Creeper-WandschƤdelkerze", "block.twilightforest.crimson_banister": "KarmesingelƤnder", - "block.twilightforest.cursed_spawner": "Verfluchter Spawner", "block.twilightforest.cut_mazestone": "Gemeißelter Labyrinthstein", "block.twilightforest.dark_banister": "Dunkelholz-GelƤnder", "block.twilightforest.dark_button": "Dunkelholzknopf", @@ -351,8 +346,6 @@ "block.twilightforest.dark_stairs": "Dunkelholztreppe", "block.twilightforest.dark_trapdoor": "Dunkelholzfalltür", "block.twilightforest.dark_trapped_chest": "Redstone-Dunkelholztruhe", - "block.twilightforest.dark_wall_hanging_sign": "Dunkelholz-WandhƤngeschild", - "block.twilightforest.dark_wall_sign": "Dunkelholz-Wandschild", "block.twilightforest.dark_wood": "Dunkelholz", "block.twilightforest.darkwood_sapling": "Dunkelholzsetzling", "block.twilightforest.deadrock": "Totenstein", @@ -479,8 +472,6 @@ "block.twilightforest.mangrove_stairs": "Mangrovenholztreppe", "block.twilightforest.mangrove_trapdoor": "Mangrovenholzfalltür", "block.twilightforest.mangrove_trapped_chest": "Redstone-Mangrovenholztruhe", - "block.twilightforest.mangrove_wall_hanging_sign": "Mangroven-WandhƤngeschild", - "block.twilightforest.mangrove_wall_sign": "Mangrovenholzschild", "block.twilightforest.mangrove_wood": "Mangrovenholz", "block.twilightforest.mason_jar": "Einmachglas", "block.twilightforest.mayapple": "FußblƤtter", @@ -506,8 +497,6 @@ "block.twilightforest.mining_stairs": "Bergwerksholztreppe", "block.twilightforest.mining_trapdoor": "Bergwerksholzfalltür", "block.twilightforest.mining_trapped_chest": "Redstone-Bergwerksholztruhe", - "block.twilightforest.mining_wall_hanging_sign": "Minenholz-WandhƤngeschild", - "block.twilightforest.mining_wall_sign": "Bergwerksholzwandschild", "block.twilightforest.mining_wood": "Minenholz", "block.twilightforest.minoshroom_boss_spawner": "Minoschwammerl-Boss-Spawner", "block.twilightforest.minoshroom_trophy": "MinoschwammerltrophƤe", @@ -534,13 +523,11 @@ "block.twilightforest.oak_banister": "EichengelƤnder", "block.twilightforest.orange_force_field": "Orangenes Energiefeld", "block.twilightforest.piglin_skull_candle": "Kerze im PiglinschƤdel", - "block.twilightforest.piglin_wall_skull_candle": "Wandkerze im PiglinschƤdel", "block.twilightforest.pink_castle_door": "Magenta Schloss-Tür", "block.twilightforest.pink_castle_rune_brick": "Magenta Schloss-Runensteinziegel", "block.twilightforest.pink_force_field": "Magenta Kraftfeld", "block.twilightforest.player_skull_candle": "SpielerschƤdelkerze", "block.twilightforest.player_skull_candle.named": "%s's Kopf mit Kerzen", - "block.twilightforest.player_wall_skull_candle": "SchƤdelkerze an der Spielerwand", "block.twilightforest.potted_canopy_sapling": "Baldachinbaumsetzling im Topf", "block.twilightforest.potted_darkwood_sapling": "Dunkelsetzling im Topf", "block.twilightforest.potted_dead_thorn": "Verbrannter Dorn im Topf", @@ -567,9 +554,7 @@ "block.twilightforest.root": "Wurzeln", "block.twilightforest.root_strand": "WurzelstrƤnge", "block.twilightforest.rope": "Seil", - "block.twilightforest.royal_rags": "Kƶnigliche Lumpen", "block.twilightforest.skeleton_skull_candle": "SkelettschƤdelkerze", - "block.twilightforest.skeleton_wall_skull_candle": "SkelettwandschƤdelkerze", "block.twilightforest.slider": "Rutschfalle", "block.twilightforest.smoker": "Rauchblock", "block.twilightforest.snow_queen_boss_spawner": "Schneekƶnigin-Boss-Spawner", @@ -593,8 +578,6 @@ "block.twilightforest.sorting_stairs": "Sortierholztreppe", "block.twilightforest.sorting_trapdoor": "Sortierholzfalltür", "block.twilightforest.sorting_trapped_chest": "Redstone-Sortierholztruhe", - "block.twilightforest.sorting_wall_hanging_sign": "Sortierholz-WandhƤngeschild", - "block.twilightforest.sorting_wall_sign": "Sortierholzwandschild", "block.twilightforest.sorting_wood": "Sortierholz", "block.twilightforest.spiral_bricks": "Spiralfƶrmige Ziegel", "block.twilightforest.spruce_banister": "FichtengelƤnder", @@ -640,8 +623,6 @@ "block.twilightforest.time_stairs": "Zeitholztreppe", "block.twilightforest.time_trapdoor": "Zeitholzfalltür", "block.twilightforest.time_trapped_chest": "Redstone-Zeitholztruhe", - "block.twilightforest.time_wall_hanging_sign": "Zeitbaum-WandhƤngeschild", - "block.twilightforest.time_wall_sign": "Zeitholzschild", "block.twilightforest.time_wood": "Zeitbaumholz", "block.twilightforest.torchberry_plant": "Fackelbeerenstrauch", "block.twilightforest.towerwood": "Turmholzbretter", @@ -663,8 +644,6 @@ "block.twilightforest.transformation_stairs": "Wandelholztreppe", "block.twilightforest.transformation_trapdoor": "Wandelholzfalltür", "block.twilightforest.transformation_trapped_chest": "Redstone-Wandelholztruhe", - "block.twilightforest.transformation_wall_hanging_sign": "Verwandlungsholz-WandhƤngeschild", - "block.twilightforest.transformation_wall_sign": "Wandelholzwandschild", "block.twilightforest.transformation_wood": "Verwandlungsholz", "block.twilightforest.trollber": "Trollbeere", "block.twilightforest.trollsteinn": "Trollstein", @@ -687,8 +666,6 @@ "block.twilightforest.twilight_oak_stairs": "DƤmmerung-Eichenholztreppe", "block.twilightforest.twilight_oak_trapdoor": "DƤmmerung-Eichenholzfalltür", "block.twilightforest.twilight_oak_trapped_chest": "Redstone-DƤmmerung-Eichenholztruhe", - "block.twilightforest.twilight_oak_wall_hanging_sign": "DƤmmerungseichen-WandhƤngeschild", - "block.twilightforest.twilight_oak_wall_sign": "DƤmmerungseichen-Wandschild", "block.twilightforest.twilight_oak_wood": "DƤmmerung-Eichenholz", "block.twilightforest.twilight_portal": "DƤmmerwald-Portal", "block.twilightforest.twilight_portal_miniature_structure": "Miniaturportal zum DƤmmerwald", @@ -712,7 +689,6 @@ "block.twilightforest.weathered_deadrock": "Verwitterter Totenstein", "block.twilightforest.wispy_cloud": "Dünne Wolke", "block.twilightforest.wither_skeleton_skull_candle": "Wither-SkelettschƤdelkerze", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Wither-Skelettwand-SchƤdelkerze", "block.twilightforest.worn_castle_brick": "Alter Burgziegel", "block.twilightforest.worn_castle_brick_stairs": "Alte Burgziegeltreppe", "block.twilightforest.wrought_iron_fence": "Schmiedeeiserner Zaun", @@ -720,7 +696,6 @@ "block.twilightforest.yellow_castle_door": "Gelber Burgtür", "block.twilightforest.yellow_castle_rune_brick": "Gelber Burgrunenziegel", "block.twilightforest.zombie_skull_candle": "ZombieschƤdelkerze", - "block.twilightforest.zombie_wall_skull_candle": "Zombie-WandschƤdelkerze", "commands.tffeature.center": "Zentrum des Merkmals: %s", "commands.tffeature.chunk": "In Feature Chunk sind: %s", "commands.tffeature.nearest": "Das nƤchstgelegene Merkmal ist %s", @@ -737,6 +712,12 @@ "commands.tffeature.usage": "/%s ", "config.jade.plugin_twilightforest.chiseled_bookshelf_spawner": "Gearbeitetes Baldachinholz Bücherregal Mob:", "config.jade.plugin_twilightforest.quest_ram_wool": "Quest-Widderwolle", + "config.twilightforest.magic_trees": "Magische BƤume", + "config.twilightforest.max_portal_size": "Maximalgröße des Portals", + "config.twilightforest.multiplayer_fight_adjuster.more_loot": "Mehr Loot", + "config.twilightforest.multiplayer_fight_adjuster.more_loot_and_health": "Mehr Loot und Gesundheit", + "config.twilightforest.multiplayer_fight_adjuster.none": "Keine", + "config.twilightforest.origin_dimension": "Ursprungsdimenion", "config.twilightforest.uncrafting_recipes": "Desaktivierte Rezepte", "config.twilightforest.uncrafting_recipes.tooltip": "Wenn Sie das Zerlegen der Rezepte nicht vollstƤndig deaktivieren mƶchten, sondern lieber bestimmte Rezepte deaktivieren mƶchten, ist dies das Richtige für Sie.\nUm ein Rezept hinzuzufügen, fügen Sie die Mod-ID gefolgt vom Namen des Rezepts hinzu. Sie kƶnnen dies in Dingen wie JEI überprüfen.\nBeispiel: ā€žtwilightforest:firefly_particle_spawnerā€œ deaktiviert die Umwandlung des Partikelspawners in ein Glühwürmchenglas, ein Glühwürmchen und eine Mohnblume.\nWenn ein Gegenstand über mehrere Herstellungsrezepte verfügt und Sie alle deaktivieren mƶchten, fügen Sie den Gegenstand dem Gegenstands-Tag ā€žtwilightforest:banned_uncraftablesā€œ hinzu.\nWenn Sie eine problematische Zutat haben, wie zum Beispiel befallenes Turmholz, fügen Sie den Artikel dem Artikel-Tag ā€žtwilightforest:banned_uncrafting_ingredientsā€œ hinzu.", "config.twilightforest.uncrafting_recipes_flip": "Rezept-Schwarzliste", @@ -827,7 +808,6 @@ "entity.twilightforest.alpha_yeti": "Alpha-Yeti", "entity.twilightforest.armored_giant": "Gepanzerter Riese", "entity.twilightforest.bighorn_sheep": "Dickhornschaf", - "entity.twilightforest.blockchain_goblin": "Morgenstern-Goblin", "entity.twilightforest.boar": "Eber", "entity.twilightforest.carminite_broodling": "Karminitkrabbler", "entity.twilightforest.carminite_ghastguard": "Karminit-GhastwƤchter", @@ -883,15 +863,12 @@ "entity.twilightforest.skeleton_druid": "Skelettdruide", "entity.twilightforest.slider": "Schiebefalle", "entity.twilightforest.slime_beetle": "SchleimkƤfer", - "entity.twilightforest.slime_blob": "Schleimklecks", "entity.twilightforest.snow_guardian": "SchneewƤchter", "entity.twilightforest.snow_queen": "Schneekƶnigin", "entity.twilightforest.squirrel": "Eichhƶrnchen", "entity.twilightforest.stable_ice_core": "Stabiler Eiskern", "entity.twilightforest.swarm_spider": "Schwarmspinne", "entity.twilightforest.thrown_block": "Geworfener Block", - "entity.twilightforest.thrown_ice": "Eisbombe", - "entity.twilightforest.thrown_wep": "Wurfwaffen", "entity.twilightforest.tiny_bird": "Kleiner Vogel", "entity.twilightforest.tome_bolt": "Strahl des TodeswƤlzers", "entity.twilightforest.towerwood_borer": "Turmholzwurm", @@ -931,7 +908,6 @@ "item.twilightforest.armored_giant_spawn_egg": "Gepanzerter-Riese-Spawn-Ei", "item.twilightforest.bighorn_sheep_spawn_egg": "Dickhornschaf-Spawn-Ei", "item.twilightforest.block_and_chain": "Morgenstern", - "item.twilightforest.blockchain_goblin_spawn_egg": "Morgenstern-Goblin-Spawn-Ei", "item.twilightforest.boar_spawn_egg": "Eber-Spawn-Ei", "item.twilightforest.boarkchop": "Rohes Bretterhack", "item.twilightforest.borer_essence": "Wurmessenz", @@ -980,7 +956,6 @@ "item.twilightforest.filled_maze_map": "Labyrinthkarte", "item.twilightforest.filled_ore_map": "Labyrinth-Erzkarte", "item.twilightforest.fire_beetle_spawn_egg": "FeuerkƤfer-Spawn-Ei", - "item.twilightforest.flask.doses": "Dosen: %s/%s", "item.twilightforest.flask.no_refill": "Kann nicht nachgefüllt werden", "item.twilightforest.fortification_scepter": "Zepter des Schildes", "item.twilightforest.four_leaf_clover": "VierblƤttriges Kleeblatt", diff --git a/src/main/resources/assets/twilightforest/lang/es_es.json b/src/main/resources/assets/twilightforest/lang/es_es.json index 023e4a12c9..ee9d6bb9b6 100644 --- a/src/main/resources/assets/twilightforest/lang/es_es.json +++ b/src/main/resources/assets/twilightforest/lang/es_es.json @@ -1,4 +1,9 @@ { + "Dimension Settings.button": "Ajustes de Dimensión", + "Magic Trees.button": "Botón de Ɓrbol MĆ”gico", + "Portal Settings.button": "Ajustes del Portal", + "Shield Parrying.button": "Parry de Escudo", + "Uncrafting Table.button": "Mesa de Descrafteo", "advancement.twilightforest.arborist": "Dendrólogo manĆ­aco", "advancement.twilightforest.arborist.desc": "Prepara tus hachas y tijeras. Ā”Busca por todos los rincones y consigue todo aquello que venga de los Ć”rboles! Losas, brotes, hojas y mĆ”s. Ā”TODO!", "advancement.twilightforest.arctic_dyed": "PoniĆ©ndose a la moda", @@ -14,7 +19,7 @@ "advancement.twilightforest.fiery_set": "Galones de sangre y lĆ”grimas", "advancement.twilightforest.fiery_set.desc": "EmpuƱa una herramienta o arma fĆ©rvida mientras llevas puesta, como mĆ­nimo, una pieza de armadura fĆ©rvida", "advancement.twilightforest.full_mettle_alchemist": "Full Mettle Alchemist", - "advancement.twilightforest.full_mettle_alchemist.desc": "Bebe cuatro dosis de daƱo instantĆ”neo II de un matraz para pociones en menos de 8 segundos y sobrevive", + "advancement.twilightforest.full_mettle_alchemist.desc": "Bebe cuatro dosis de DaƱo II de un frasco de poción en menos de 6 segundos y sobrevive", "advancement.twilightforest.ghast_trap": "Algo extraƱo en la torre", "advancement.twilightforest.ghast_trap.desc": "Ā”Acaba con los %s de alrededor de una %s y actĆ­vala para hacer caer al %s del cielo!", "advancement.twilightforest.giants": "Estoy en las nubes", @@ -83,6 +88,7 @@ "advancement.twilightforest.twilight_hunter.desc": "Caza algĆŗn animal local", "advancement.twilightforest.uncraft_uncrafting_table": "Te has pasado", "advancement.twilightforest.uncraft_uncrafting_table.desc": "Desfabrica una mesa de destrabajo", + "auroraBiomes.button": "Bioma Aurora", "biome.twilightforest.clearing": "Claro crepuscular", "biome.twilightforest.dark_forest": "Bosque oscuro", "biome.twilightforest.dark_forest_center": "Centro del bosque oscuro", @@ -152,6 +158,52 @@ "block.minecraft.banner.twilightforest.knight_phantom.red": "Casco del Caballero rojo", "block.minecraft.banner.twilightforest.knight_phantom.white": "Casco del Caballero blanco", "block.minecraft.banner.twilightforest.knight_phantom.yellow": "Casco del Caballero amarillo", + "block.minecraft.banner.twilightforest.lich.black": "Corona del Liche Oscuro", + "block.minecraft.banner.twilightforest.lich.blue": "Corona del Liche Azul", + "block.minecraft.banner.twilightforest.lich.brown": "Corona del Liche Marrón", + "block.minecraft.banner.twilightforest.lich.cyan": "Corona del Liche Cian", + "block.minecraft.banner.twilightforest.lich.gray": "Corona del Liche Gris", + "block.minecraft.banner.twilightforest.lich.green": "Corona del Liche Verde", + "block.minecraft.banner.twilightforest.lich.light_blue": "Corona del Liche Celeste", + "block.minecraft.banner.twilightforest.lich.light_gray": "Corona del Liche Gris Claro", + "block.minecraft.banner.twilightforest.lich.lime": "Corona del Liche Lima", + "block.minecraft.banner.twilightforest.lich.magenta": "Corona del Liche Fucsia", + "block.minecraft.banner.twilightforest.lich.orange": "Corona del Liche Naranja", + "block.minecraft.banner.twilightforest.lich.pink": "Corona del Liche Rosa", + "block.minecraft.banner.twilightforest.lich.purple": "Corona del Liche PĆŗrpura", + "block.minecraft.banner.twilightforest.lich.red": "Corona del Liche Roja", + "block.minecraft.banner.twilightforest.lich.white": "Corona del Liche Blanca", + "block.minecraft.banner.twilightforest.lich.yellow": "Corona del Liche Amarila", + "block.minecraft.banner.twilightforest.minoshroom.black": "Hachas de Minoseta Negra", + "block.minecraft.banner.twilightforest.minoshroom.blue": "Hachas de Minoseta Azul", + "block.minecraft.banner.twilightforest.minoshroom.brown": "Hachas de Minoseta Marrón", + "block.minecraft.banner.twilightforest.minoshroom.cyan": "Hachas de Minoseta Cian", + "block.minecraft.banner.twilightforest.minoshroom.gray": "Hachas de Minoseta Gris", + "block.minecraft.banner.twilightforest.minoshroom.green": "Hachas de Minoseta Verde", + "block.minecraft.banner.twilightforest.minoshroom.light_blue": "Hachas de Minoseta Celeste", + "block.minecraft.banner.twilightforest.minoshroom.light_gray": "Hachas de Minoseta Gris Claro", + "block.minecraft.banner.twilightforest.minoshroom.lime": "Hachas de Minoseta Lima", + "block.minecraft.banner.twilightforest.minoshroom.magenta": "Hachas de Minoseta Fucsia", + "block.minecraft.banner.twilightforest.minoshroom.orange": "Hachas de Minoseta Naranja", + "block.minecraft.banner.twilightforest.minoshroom.pink": "Hachas de Minoseta Rosa", + "block.minecraft.banner.twilightforest.minoshroom.purple": "Hachas de Minoseta PĆŗrpura", + "block.minecraft.banner.twilightforest.minoshroom.red": "Hachas de Minoseta Roja", + "block.minecraft.banner.twilightforest.minoshroom.white": "Hachas de Minoseta Blanca", + "block.minecraft.banner.twilightforest.minoshroom.yellow": "Hachas de Minoseta Amarilla", + "block.minecraft.banner.twilightforest.naga.black": "Escamas Negras de Naga ", + "block.minecraft.banner.twilightforest.naga.blue": "Escamas Azules de Naga", + "block.minecraft.banner.twilightforest.naga.brown": "Escamas Marrones de Naga", + "block.minecraft.banner.twilightforest.naga.cyan": "Escamas Cian de Naga", + "block.minecraft.banner.twilightforest.naga.gray": "Escamas Grises de Naga", + "block.minecraft.banner.twilightforest.naga.green": "Escamas verdes de Naga", + "block.minecraft.banner.twilightforest.naga.light_blue": "Escamas Celestes de Naga", + "block.minecraft.banner.twilightforest.naga.light_gray": "Escamas Gris Claro de Naga", + "block.minecraft.banner.twilightforest.naga.lime": "Escamas Lima de Naga", + "block.minecraft.banner.twilightforest.naga.magenta": "Escamas Fucsia de Naga", + "block.minecraft.banner.twilightforest.naga.orange": "Escamas Naranjas de Naga\n", + "block.minecraft.banner.twilightforest.ur_ghast.red": "Borde de Carminita Rojo", + "block.minecraft.banner.twilightforest.ur_ghast.white": "Borde de Carminita Blanco", + "block.minecraft.banner.twilightforest.ur_ghast.yellow": "Borde de Carminita Amarillo", "block.twilightforest.acacia_banister": "Pasamanos de acacia", "block.twilightforest.alpha_yeti_boss_spawner": "Generador de jefe Yeti Alfa", "block.twilightforest.alpha_yeti_trophy": "Trofeo de Yeti Alfa", @@ -174,6 +226,7 @@ "block.twilightforest.bold_castle_brick_stairs": "Escaleras de ladrillos de castillo gruesos", "block.twilightforest.bold_castle_brick_tile": "Losas de ladrillos de castillo gruesos", "block.twilightforest.bold_stone_pillar": "Pilar de piedra grueso", + "block.twilightforest.brazier": "Brasero", "block.twilightforest.brown_thorns": "Espinas", "block.twilightforest.built_block": "Bloque construido", "block.twilightforest.burnt_thorns": "Espinas quemadas", @@ -196,15 +249,14 @@ "block.twilightforest.canopy_stairs": "Escaleras de dosel", "block.twilightforest.canopy_trapdoor": "Trampilla de dosel", "block.twilightforest.canopy_trapped_chest": "Cofre trampa de dosel", - "block.twilightforest.canopy_wall_hanging_sign": "Cartel colgante de pared de dosel", - "block.twilightforest.canopy_wall_sign": "Cartel de pared de dosel", "block.twilightforest.canopy_window": "Ventana de dosel", "block.twilightforest.canopy_window_pane": "Panel de ventana de dosel", "block.twilightforest.canopy_wood": "LeƱo de dosel", "block.twilightforest.carminite_block": "Bloque de carminita", "block.twilightforest.carminite_builder": "Constructor de carminita", "block.twilightforest.carminite_reactor": "Reactor de carminita", - "block.twilightforest.casket.broken": "Tu ataĆŗd de recuerdo estaba demasiado daƱado como para contener mĆ”s objetos. Todos los objetos que estaban guardados en tu ataĆŗd han sido soltados en el suelo.", + "block.twilightforest.casket.broken": "Tu AtaĆŗd de Recuerdos estaba demasiado daƱado, se degradó a un Cofre de Calavera mientras guardabas tus Ć­tems.", + "block.twilightforest.casket.damage": "DaƱo: %s", "block.twilightforest.casket.locked": "Ā”Este ataĆŗd solo puede ser abierto por %s!", "block.twilightforest.castle_brick": "Ladrillos de castillo", "block.twilightforest.castle_brick_stairs": "Escaleras de ladrillos de castillo", @@ -217,6 +269,7 @@ "block.twilightforest.cinder_log": "Tronco de ceniza", "block.twilightforest.cinder_wood": "LeƱo de ceniza", "block.twilightforest.clover_patch": "TrĆ©boles", + "block.twilightforest.coronation_carpet": "Alfombra de Coronación", "block.twilightforest.cracked_castle_brick": "Ladrillos de castillo agrietados", "block.twilightforest.cracked_castle_brick_stairs": "Escaleras de ladrillos de castillo agrietados", "block.twilightforest.cracked_deadrock": "Roca muerta agrietada", @@ -228,7 +281,6 @@ "block.twilightforest.cracked_towerwood": "Tablones de madera de torre agrietados", "block.twilightforest.cracked_underbrick": "Infraladrillos agrietados", "block.twilightforest.creeper_skull_candle": "Cabeza de creeper con vela", - "block.twilightforest.creeper_wall_skull_candle": "Cabeza de creeper en pared con vela", "block.twilightforest.crimson_banister": "Pasamanos carmesĆ­", "block.twilightforest.cut_mazestone": "Piedra de laberinto cortada", "block.twilightforest.dark_banister": "Pasamanos de madera oscura", @@ -248,8 +300,6 @@ "block.twilightforest.dark_stairs": "Escaleras de madera oscura", "block.twilightforest.dark_trapdoor": "Trampilla de madera oscura", "block.twilightforest.dark_trapped_chest": "Cofre trampa de madera oscura", - "block.twilightforest.dark_wall_hanging_sign": "Cartel colgante de pared de madera oscura", - "block.twilightforest.dark_wall_sign": "Cartel de pared de madera oscura", "block.twilightforest.dark_wood": "LeƱo de madera oscura", "block.twilightforest.darkwood_sapling": "Brote de madera oscura", "block.twilightforest.deadrock": "Roca muerta", @@ -356,6 +406,88 @@ "block.twilightforest.lich_boss_spawner": "Generador de jefe Lich", "block.twilightforest.lich_tower_miniature_structure": "Miniatura de la torre del Lich", "block.twilightforest.lich_trophy": "Trofeo de Lich", + "block.twilightforest.liveroot_block": "RaĆ­ces vivas", + "block.twilightforest.locked_vanishing_block": "Bloque de Desaparición Bloqueado", + "block.twilightforest.mangrove_banister": "Pasamanos de Manglar", + "block.twilightforest.mangrove_button": "Botón de Manglar", + "block.twilightforest.mangrove_chest": "Cofre de Manglar", + "block.twilightforest.mangrove_door": "Puerta de Manglar", + "block.twilightforest.mangrove_fence": "Valla de Manglar", + "block.twilightforest.mangrove_fence_gate": "Puerta de valla de Manglar", + "block.twilightforest.mangrove_hanging_sign": "Cartel colgante de Manglar", + "block.twilightforest.mangrove_leaves": "Hojas de Manglar", + "block.twilightforest.mangrove_log": "Tronco de Manglar", + "block.twilightforest.mangrove_planks": "Tablones de manglar", + "block.twilightforest.mangrove_pressure_plate": "Placa de presión de Manglar", + "block.twilightforest.mangrove_root": "RaĆ­ces de Manglar", + "block.twilightforest.mangrove_sapling": "Brote de Manglar", + "block.twilightforest.mangrove_sign": "Cartel de Manglar", + "block.twilightforest.mangrove_slab": "Losa de Manglar", + "block.twilightforest.mangrove_stairs": "Escaleras de Manglar", + "block.twilightforest.mangrove_trapdoor": "Escotilla de Manglar", + "block.twilightforest.mangrove_trapped_chest": "Cofre trampa de Manglar", + "block.twilightforest.mangrove_wood": "Madera de Manglar", + "block.twilightforest.mason_jar": "Tarro de AlbaƱil", + "block.twilightforest.mazestone": "Piedra del Laberinto", + "block.twilightforest.mazestone_border": "Borde de Piedra del Laberinto", + "block.twilightforest.mazestone_brick": "Ladrillo de Piedra del Laberinto", + "block.twilightforest.mazestone_mosaic": "Mosaico de Piedra del Laberinto", + "block.twilightforest.mining_banister": "Barandilla de Madera de Mina", + "block.twilightforest.mining_button": "Botón de Madera de Mina", + "block.twilightforest.mining_chest": "Cofre de Madera de Mina", + "block.twilightforest.mining_door": "Puerta de Madera de Mina", + "block.twilightforest.mining_fence": "Valla de Madera de Mina", + "block.twilightforest.mining_fence_gate": "Puerta de Valla de Madera de Mina", + "block.twilightforest.mining_hanging_sign": "Cartel Colgante de Madera de Mina", + "block.twilightforest.mining_leaves": "Hojas de Madera de Mina", + "block.twilightforest.mining_log": "Tronco de Madera de Mina", + "block.twilightforest.mining_log_core": "NĆŗcleo de Madera de Mina", + "block.twilightforest.mining_planks": "Tablones de Madera de Mina", + "block.twilightforest.mining_pressure_plate": "Placa de Presión de Madera de Mina", + "block.twilightforest.mining_sapling": "Brote de Madera de Mina", + "block.twilightforest.mining_sign": "Cartel de Madera de Mina", + "block.twilightforest.twilight_portal": "Portal del Bosque Crepuscular", + "block.twilightforest.twilight_portal_miniature_structure": "Miniatura del Portal del Bosque Crepuscular", + "block.twilightforest.uncrafting_table": "Mesa de Descrafteo", + "block.twilightforest.uncrafting_table.disabled": "Este bloque ha sido desactivado.", + "config.twilightforest.multiplayer_fight_adjuster.more_health": "MĆ”s Salud", + "config.twilightforest.multiplayer_fight_adjuster.more_loot": "MĆ”s Loot", + "config.twilightforest.optifine": "Pantalla de Optifine", + "config.twilightforest.origin_dimension.tooltip": "La dimensión desde la que siempre puedes viajar al Bosque Crepuscular, asĆ­ como la dimensión a la que volverĆ”s. El valor predeterminado es el mundo exterior. (Dominio:RegName).", + "death.attack.twilightforest.acid_rain": "%1$s TenĆ­a ganas de bailar en la lluvia Ć”cida.", + "death.attack.twilightforest.expired": "La vida de %1$s expiró.", + "death.attack.twilightforest.expired.player": "La vida de %1$s ha expirado.", + "death.attack.twilightforest.lichBolt": "La punterĆ­a del Liche fue mejor que la de %1$s", + "dimension.twilightforest.twilight_forest": "Bosque Crepuscular", + "effect.twilightforest.frosted": "Congelado", + "enchantment.twilightforest.chill_aura": "Aura de Paz", + "enchantment.twilightforest.destruction": "Destrucción", + "entity.twilightforest.deer": "Ciervo", + "entity.twilightforest.dwarf_rabbit": "Conejo Enano", + "entity.twilightforest.giant_miner": "Minero Gigante", + "entity.twilightforest.helmet_crab": "Casco de Cangrejo", + "entity.twilightforest.hostile_wolf": "Lobo Hostil", + "entity.twilightforest.hydra": "Hidra", + "entity.twilightforest.ice_arrow": "Flecha de Hielo", + "entity.twilightforest.ice_bomb": "Bomba de Hielo", + "entity.twilightforest.ice_crystal": "Cristal de Hielo", + "entity.twilightforest.ice_snowball": "Bola de Hielo", + "entity.twilightforest.king_spider": "Rey araƱa", + "entity.twilightforest.kobold": "Kobold", + "entity.twilightforest.lich": "Liche", + "entity.twilightforest.lich_minion": "Liche Minion", + "entity.twilightforest.magic_painting": "Pintura MĆ”gica", + "entity.twilightforest.maze_slime": "Laberinto de Slime", + "entity.twilightforest.minoshroom": "Minoseta", + "entity.twilightforest.minotaur": "Minotauro", + "entity.twilightforest.mist_wolf": "Lobo de Niebla", + "entity.twilightforest.moonworm_shot": "Gusano Lunar", + "entity.twilightforest.naga": "Naga", + "entity.twilightforest.rising_zombie": "Zombi", + "entity.twilightforest.yeti": "Yeti", + "gui.twilightforest.progression_end.message": "Este es el final de la progresión por ahora. El Castillo Final que espera en la meseta aĆŗn estĆ” inacabado y es una obra en progreso. Si quieres mantenerte al dĆ­a con el desarrollo del mod, puedes unirte a nuestro %s.", + "gui.twilightforest.uncrafting_jei": "Descrafteo", + "item.twilightforest.ice_sword": "Espada de Hielo", "itemGroup.twilightforest.blocks": "Bosque crepuscular: Bloques", "itemGroup.twilightforest.equipment": "Bosque crepuscular: Equipamiento", "itemGroup.twilightforest.items": "Bosque crepuscular: Objetos" diff --git a/src/main/resources/assets/twilightforest/lang/fr_fr.json b/src/main/resources/assets/twilightforest/lang/fr_fr.json index a1719f49fb..4099a8ce55 100644 --- a/src/main/resources/assets/twilightforest/lang/fr_fr.json +++ b/src/main/resources/assets/twilightforest/lang/fr_fr.json @@ -10,7 +10,6 @@ "advancement.twilightforest.experiment_115_3": "Manger 115 tous les jours, pendant 115 ans", "advancement.twilightforest.experiment_115_3.desc": "manger l'expĆ©rience cent quinze toute la journĆ©e, pour toujours, cent quinze fois l'expĆ©rience cent quinze, expĆ©rience cent quinze point com, double-v double-v double-v point expĆ©rience cent quinze point com, cent quinze ans, chaque minute expĆ©rience cent quinze point com, double-v double-v double-v point cent quinze", "advancement.twilightforest.fiery_set": "Des litres de sang et de larmes", - "advancement.twilightforest.full_mettle_alchemist.desc": "Boire quatre doses de DĆ©gĆ¢t II d'un flacon en moins de huit secondes et survivre", "advancement.twilightforest.ghast_trap": "Quelque chose d'Ć©trange", "advancement.twilightforest.ghast_trap.desc": "Tuer les %s autour d'un %s et l'activer pour torturer l'%s depuis le ciel !", "advancement.twilightforest.giants": "Je suis sur le neuviĆØme nuage", @@ -309,7 +308,6 @@ "entity.twilightforest.alpha_yeti": "YĆ©ti Alpha", "entity.twilightforest.armored_giant": "GĆ©ant en armure", "entity.twilightforest.bighorn_sheep": "Mouflon d'AmĆ©rique", - "entity.twilightforest.blockchain_goblin": "Goblin de bloc et chaĆ®ne", "entity.twilightforest.carminite_broodling": "Carminite couveuse", "entity.twilightforest.carminite_golem": "Golem Carminite", "entity.twilightforest.death_tome": "Tome de mort", diff --git a/src/main/resources/assets/twilightforest/lang/it_it.json b/src/main/resources/assets/twilightforest/lang/it_it.json index 204fbf507e..3f424bbe8a 100644 --- a/src/main/resources/assets/twilightforest/lang/it_it.json +++ b/src/main/resources/assets/twilightforest/lang/it_it.json @@ -14,7 +14,6 @@ "advancement.twilightforest.fiery_set": "Litri di Lacrime e Sangue", "advancement.twilightforest.fiery_set.desc": "Brandisci un arma ardente o uno strumento ardente mentre hai almeno un pezzo di armatura ardente nell'inventario", "advancement.twilightforest.full_mettle_alchemist": "L'Alchimista d'Acciaio", - "advancement.twilightforest.full_mettle_alchemist.desc": "Bevi quattro dosi di Danno istantaneo II da un flacone per pozioni in meno di 8 secondi e sopravvivi", "advancement.twilightforest.ghast_trap": "Qualcosa di Strano nel Torrelegno", "advancement.twilightforest.ghast_trap.desc": "Sconfiggi i %s attorno alle %s e attivale per colpire il %s dal cielo!", "advancement.twilightforest.giants": "Al Settimo Cielo", @@ -292,13 +291,10 @@ "block.twilightforest.canopy_stairs": "Scalini di canopia", "block.twilightforest.canopy_trapdoor": "Botola di canopia", "block.twilightforest.canopy_trapped_chest": "Baule trappola di canopia", - "block.twilightforest.canopy_wall_hanging_sign": "Cartello a muro appeso di canopia", - "block.twilightforest.canopy_wall_sign": "Cartello a muro di canopia", "block.twilightforest.canopy_wood": "Legno di canopia", "block.twilightforest.carminite_block": "Blocco di carminite", "block.twilightforest.carminite_builder": "Costruttore a carminite", "block.twilightforest.carminite_reactor": "Reattore a carminite", - "block.twilightforest.casket.broken": "Il tuo Scrigno dei ricordi era troppo danneggiato per contenere altri oggetti. Tutti gli oggetti che sarebbero stati conservati nel tuo scrigno sono stati lasciati a terra.", "block.twilightforest.casket.locked": "Questo Scrigno può essere aperto solo da %s!", "block.twilightforest.castle_brick": "Mattone del castello", "block.twilightforest.castle_brick_stairs": "Scalini di mattoni del castello", @@ -321,7 +317,6 @@ "block.twilightforest.cracked_towerwood": "Assi di torrelegno spaccate", "block.twilightforest.cracked_underbrick": "Sottomattoni spaccati", "block.twilightforest.creeper_skull_candle": "Candela testa di creeper", - "block.twilightforest.creeper_wall_skull_candle": "Candela testa di creeper a muro", "block.twilightforest.crimson_banister": "Ringhiera cremisi", "block.twilightforest.cut_mazestone": "Pietra del labirinto incisa", "block.twilightforest.dark_banister": "Ringhiera di legnoscuro", @@ -341,8 +336,6 @@ "block.twilightforest.dark_stairs": "Scalini di legnoscuro", "block.twilightforest.dark_trapdoor": "Botola di legnoscuro", "block.twilightforest.dark_trapped_chest": "Baule trappola di legnoscuro", - "block.twilightforest.dark_wall_hanging_sign": "Cartello a muro appeso di legnoscuro", - "block.twilightforest.dark_wall_sign": "Cartello a muro di legnoscuro", "block.twilightforest.dark_wood": "Legnoscuro", "block.twilightforest.darkwood_sapling": "Arboscello di legnoscuro", "block.twilightforest.deadrock": "Pietramorta", @@ -468,8 +461,6 @@ "block.twilightforest.mangrove_stairs": "Scalini di mangrovia", "block.twilightforest.mangrove_trapdoor": "Botola di mangrovia", "block.twilightforest.mangrove_trapped_chest": "Baule trappola di mangrovia", - "block.twilightforest.mangrove_wall_hanging_sign": "Cartello a muro appeso di mangrovia", - "block.twilightforest.mangrove_wall_sign": "Cartello a muro di mangrovia", "block.twilightforest.mangrove_wood": "Legno di mangrovia", "block.twilightforest.mayapple": "Mela di maggio", "block.twilightforest.mazestone": "Pietra del labirinto", @@ -494,8 +485,6 @@ "block.twilightforest.mining_stairs": "Scalini di legno del minatore", "block.twilightforest.mining_trapdoor": "Botola di legno del minatore", "block.twilightforest.mining_trapped_chest": "Baule trappola di legno del minatore", - "block.twilightforest.mining_wall_hanging_sign": "Cartello a muro appeso di legno del minatore", - "block.twilightforest.mining_wall_sign": "Cartello a muro di legno del minatore", "block.twilightforest.mining_wood": "Legno del minatore", "block.twilightforest.minoshroom_boss_spawner": "Generatore di Fungotauro", "block.twilightforest.minoshroom_trophy": "Trofeo di Fungotauro", @@ -522,13 +511,11 @@ "block.twilightforest.oak_banister": "Ringhiera di quercia", "block.twilightforest.orange_force_field": "Campo di forza arancione", "block.twilightforest.piglin_skull_candle": "Candela testa di piglin", - "block.twilightforest.piglin_wall_skull_candle": "Candela testa di piglin a muro", "block.twilightforest.pink_castle_door": "Porta del castello magenta", "block.twilightforest.pink_castle_rune_brick": "Mattoni runa del castello magenta", "block.twilightforest.pink_force_field": "Campo di forza magenta", "block.twilightforest.player_skull_candle": "Candela testa di giocatore", "block.twilightforest.player_skull_candle.named": "Candela testa di %s", - "block.twilightforest.player_wall_skull_candle": "Candela testa di giocatore a muro", "block.twilightforest.potted_canopy_sapling": "Arboscello di canopia in vaso", "block.twilightforest.potted_darkwood_sapling": "Arboscello di legnoscuro in vaso", "block.twilightforest.potted_dead_thorn": "Spina bruciata in vaso", @@ -556,7 +543,6 @@ "block.twilightforest.root_strand": "Diramazioni di radici", "block.twilightforest.rope": "Corda", "block.twilightforest.skeleton_skull_candle": "Candela teschio di scheletro", - "block.twilightforest.skeleton_wall_skull_candle": "Candela teschio di scheletro a muro", "block.twilightforest.slider": "Trappola scorrevole", "block.twilightforest.smoker": "Blocco fumante", "block.twilightforest.snow_queen_boss_spawner": "Generatore di Regina delle Nevi", @@ -580,8 +566,6 @@ "block.twilightforest.sorting_stairs": "Scalini di legno guida", "block.twilightforest.sorting_trapdoor": "Botola di legno guida", "block.twilightforest.sorting_trapped_chest": "Baule trappola di legno guida", - "block.twilightforest.sorting_wall_hanging_sign": "Cartello a muro appeso di legno guida", - "block.twilightforest.sorting_wall_sign": "Cartello a muro di legno guida", "block.twilightforest.sorting_wood": "Legno guida", "block.twilightforest.spiral_bricks": "Mattoni a spirale", "block.twilightforest.spruce_banister": "Ringhiera di abete", @@ -626,8 +610,6 @@ "block.twilightforest.time_stairs": "Scalini di legno del tempo", "block.twilightforest.time_trapdoor": "Botola di legno del tempo", "block.twilightforest.time_trapped_chest": "Baule trappola di legno del tempo", - "block.twilightforest.time_wall_hanging_sign": "Cartello a muro appeso di legno del tempo", - "block.twilightforest.time_wall_sign": "Cartello a muro di legno del tempo", "block.twilightforest.time_wood": "Legno del tempo", "block.twilightforest.torchberry_plant": "Pianta di bacche luminescenti", "block.twilightforest.towerwood": "Assi di torrelegno", @@ -649,8 +631,6 @@ "block.twilightforest.transformation_stairs": "Scalini di traslegno", "block.twilightforest.transformation_trapdoor": "Botola di traslegno", "block.twilightforest.transformation_trapped_chest": "Baule trappola di traslegno", - "block.twilightforest.transformation_wall_hanging_sign": "Cartello a muro appeso di traslegno", - "block.twilightforest.transformation_wall_sign": "Cartello a muro di traslegno", "block.twilightforest.transformation_wood": "Traslegno", "block.twilightforest.trollber": "Bacca troll", "block.twilightforest.trollsteinn": "Pietra dei troll", @@ -673,8 +653,6 @@ "block.twilightforest.twilight_oak_stairs": "Scalini di quercia crepuscolare", "block.twilightforest.twilight_oak_trapdoor": "Botola di quercia crepuscolare", "block.twilightforest.twilight_oak_trapped_chest": "Baule trappola di quercia crepuscolare", - "block.twilightforest.twilight_oak_wall_hanging_sign": "Cartello appeso a muro di quercia crepuscolare", - "block.twilightforest.twilight_oak_wall_sign": "Cartello a muro di quercia crepuscolare", "block.twilightforest.twilight_oak_wood": "Legno di quercia crepuscolare", "block.twilightforest.twilight_portal": "Portale per la Foresta del Crepuscolo", "block.twilightforest.twilight_portal_miniature_structure": "Portale per la Foresta del Crepuscolo in miniatura", @@ -698,14 +676,12 @@ "block.twilightforest.weathered_deadrock": "Pietramorta invecchiata", "block.twilightforest.wispy_cloud": "Nuvola sottile", "block.twilightforest.wither_skeleton_skull_candle": "Candela teschio di scheletro wither", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Candela teschio di scheletro wither a muro", "block.twilightforest.worn_castle_brick": "Mattoni del castello consumati", "block.twilightforest.worn_castle_brick_stairs": "Scalini di mattoni del castello consumati", "block.twilightforest.wrought_iron_fence": "Staccionata in ferro battuto", "block.twilightforest.yellow_castle_door": "Porta del castello gialla", "block.twilightforest.yellow_castle_rune_brick": "Mattoni runa del castello gialli", "block.twilightforest.zombie_skull_candle": "Candela testa di zombi", - "block.twilightforest.zombie_wall_skull_candle": "Candela a muro testa di zombi", "commands.tffeature.center": "Centro della struttura: %s", "commands.tffeature.chunk": "Si trova nel chunk struttura: %s", "commands.tffeature.nearest": "La struttura più vicina ĆØ: %s", @@ -804,7 +780,6 @@ "entity.twilightforest.adherent": "Aderente", "entity.twilightforest.armored_giant": "Gigante corazzato", "entity.twilightforest.bighorn_sheep": "Pecora bicornuta", - "entity.twilightforest.blockchain_goblin": "Goblin martello chiodato", "entity.twilightforest.boar": "Cinghiale", "entity.twilightforest.carminite_broodling": "Ragno di carminite", "entity.twilightforest.carminite_ghastguard": "Ghast guardia di carminite", @@ -858,15 +833,12 @@ "entity.twilightforest.skeleton_druid": "Scheletro druido", "entity.twilightforest.slider": "Trappola scorrevole mobile", "entity.twilightforest.slime_beetle": "Coleottero slime", - "entity.twilightforest.slime_blob": "Blob di slime", "entity.twilightforest.snow_guardian": "Guardiano delle nevi", "entity.twilightforest.snow_queen": "Regina delle nevi", "entity.twilightforest.squirrel": "Scoiattolo", "entity.twilightforest.stable_ice_core": "Nucleo di ghiaccio stabile", "entity.twilightforest.swarm_spider": "Ragno dello sciame", "entity.twilightforest.thrown_block": "Blocco lanciato", - "entity.twilightforest.thrown_ice": "Bomba di ghiaccio", - "entity.twilightforest.thrown_wep": "Arma lanciata", "entity.twilightforest.tiny_bird": "Uccello minuscolo", "entity.twilightforest.tome_bolt": "Lampo del Tomo della morte", "entity.twilightforest.towerwood_borer": "Tarlo del torrelegno", @@ -902,7 +874,6 @@ "item.twilightforest.armored_giant_spawn_egg": "Uovo generatore di Gigante Armato", "item.twilightforest.bighorn_sheep_spawn_egg": "Uovo generatore di Pecora bicornuta", "item.twilightforest.block_and_chain": "Martello chiodato", - "item.twilightforest.blockchain_goblin_spawn_egg": "Uovo generatore di Goblin blocco e catena", "item.twilightforest.boar_spawn_egg": "Uovo generatore di Cinghiale", "item.twilightforest.boarkchop": "Costoletta di cinghiale cruda", "item.twilightforest.borer_essence": "Essenza di Tarlo", @@ -948,7 +919,6 @@ "item.twilightforest.filled_maze_map": "Mappa del labirinto", "item.twilightforest.filled_ore_map": "Mappa del Labirinto/Minerali", "item.twilightforest.fire_beetle_spawn_egg": "Uovo generatore di Coleottero di fuoco", - "item.twilightforest.flask.doses": "Dosi: %s/%s", "item.twilightforest.flask.no_refill": "Non può essere riempito", "item.twilightforest.fortification_scepter": "Scettro della fortificazione", "item.twilightforest.giant_miner_spawn_egg": "Uovo generatore del Minatore gigante", diff --git a/src/main/resources/assets/twilightforest/lang/ja_jp.json b/src/main/resources/assets/twilightforest/lang/ja_jp.json index 5fe93dcbe9..a9c48aca23 100644 --- a/src/main/resources/assets/twilightforest/lang/ja_jp.json +++ b/src/main/resources/assets/twilightforest/lang/ja_jp.json @@ -19,7 +19,7 @@ "advancement.twilightforest.fiery_set": "蔀と涙の結晶", "advancement.twilightforest.fiery_set.desc": "1ē®‡ę‰€ä»„äøŠć®ē¼ē†±ć®é˜²å…·ć‚’čŗ«ć«ē€ć‘ć€ē¼ē†±ć®é“å…·ć‹ę­¦å™Øć‚’ęŒÆć‚‹ć†", "advancement.twilightforest.full_mettle_alchemist": "é‹¼ć®å›žå¾©č”“åø«", - "advancement.twilightforest.full_mettle_alchemist.desc": "ćƒćƒ¼ć‚·ćƒ§ćƒ³ćƒ•ćƒ©ć‚¹ć‚³ć«å…„ć‚ŒćŸ4å›žåˆ†ć®č² å‚·ć®ćƒćƒ¼ć‚·ćƒ§ćƒ³ļ¼ˆå³ę™‚ćƒ€ćƒ”ćƒ¼ć‚ø II)を8ē§’ä»„å†…ć«é£²ćæå¹²ć—ć€ćć—ć¦ē”Ÿćę®‹ć‚‹", + "advancement.twilightforest.full_mettle_alchemist.desc": "ćƒćƒ¼ć‚·ćƒ§ćƒ³ćƒ•ćƒ©ć‚¹ć‚³ć«å…„ć‚ŒćŸ3å›žåˆ†ć®č² å‚·ć®ćƒćƒ¼ć‚·ćƒ§ćƒ³ļ¼ˆå³ę™‚ćƒ€ćƒ”ćƒ¼ć‚ø II)を6ē§’ä»„å†…ć«é£²ćæå¹²ć—ć€ćć—ć¦ē”Ÿćę®‹ć‚‹", "advancement.twilightforest.ghast_trap": "ć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®äøę€č­°ćŖč£…ē½®", "advancement.twilightforest.ghast_trap.desc": "%2$sć®čæ‘ćć§%1$sを倒して起動させ、%3$sć‚’é™äø‹ć•ć›ć‚‹ļ¼", "advancement.twilightforest.giants": "å¤©ć«ć‚‚ę˜‡ć‚‹åæƒåœ°", @@ -276,6 +276,7 @@ "block.twilightforest.bold_castle_brick_stairs": "å¤Ŗć„ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬ć®éšŽę®µ", "block.twilightforest.bold_castle_brick_tile": "å¤Ŗć„ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬", "block.twilightforest.bold_stone_pillar": "å¤Ŗć„ēŸ³ć®ęŸ±", + "block.twilightforest.brazier": "火鉢", "block.twilightforest.brown_thorns": "茨", "block.twilightforest.built_block": "ćƒ“ćƒ«ćƒ‰ćƒ–ćƒ­ćƒƒć‚Æ", "block.twilightforest.burnt_thorns": "ē„¦ć’ćŸčŒØ", @@ -298,15 +299,14 @@ "block.twilightforest.canopy_stairs": "ęž—å† ęœØć®éšŽę®µ", "block.twilightforest.canopy_trapdoor": "ęž—å† ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.canopy_trapped_chest": "ęž—å† ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.canopy_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸęž—å† ęœØć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.canopy_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸęž—å† ęœØć®ēœ‹ęæ", "block.twilightforest.canopy_window": "ęž—å† ęœØć®ēŖ“", "block.twilightforest.canopy_window_pane": "ęž—å† ęœØć®ęæēŖ“", "block.twilightforest.canopy_wood": "ęž—å† ęœØć®ęœØ", "block.twilightforest.carminite_block": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒ–ćƒ­ćƒƒć‚Æ", "block.twilightforest.carminite_builder": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒ“ćƒ«ćƒ€ćƒ¼", "block.twilightforest.carminite_reactor": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒŖć‚¢ć‚Æć‚æćƒ¼", - "block.twilightforest.casket.broken": "ć‚ćŖćŸć®å½¢č¦‹ć®ę£ŗćÆå¤§ććŖćƒ€ćƒ”ćƒ¼ć‚øć‚’å—ć‘ćŸćŸć‚ć€ć“ć‚Œä»„äøŠć‚¢ć‚¤ćƒ†ćƒ ć‚’äæęŒć§ćć¾ć›ć‚“ć€‚ę£ŗć®äø­ć®ć‚¢ć‚¤ćƒ†ćƒ ćÆåœ°é¢ć«ę•£ć‚‰ć°ć‚Šć¾ć—ćŸć€‚", + "block.twilightforest.casket.broken": "ć‚ćŖćŸć®å½¢č¦‹ć®ę£ŗćÆå¤§ććęå‚·ć—ćŸćŸć‚ć€é ­č“‹éŖØć®ćƒć‚§ć‚¹ćƒˆć«åŠ£åŒ–ć—ć¾ć—ćŸć€‚ć‚¢ć‚¤ćƒ†ćƒ ćÆäæęŒć•ć‚Œć¦ć„ć¾ć™", + "block.twilightforest.casket.damage": "ęå‚·åŗ¦ļ¼š%s", "block.twilightforest.casket.locked": "この棺は%sć®ćæćŒé–‹ćć“ćØćŒć§ćć¾ć™ļ¼", "block.twilightforest.castle_brick": "ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬", "block.twilightforest.castle_brick_stairs": "ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬ć®éšŽę®µ", @@ -314,25 +314,24 @@ "block.twilightforest.cherry_banister": "ć‚µć‚Æćƒ©ć®ę‰‹ć™ć‚Š", "block.twilightforest.chiseled_canopy_bookshelf": "ęØ”ę§˜å…„ć‚Šć®ęž—å† ęœØć®ęœ¬ę£š", "block.twilightforest.cicada": "ć‚»ćƒŸ", - "block.twilightforest.cicada_jar": "ē“¶č©°ć‚ć®ć‚»ćƒŸ", + "block.twilightforest.cicada_jar": "ć‚»ćƒŸå…„ć‚Šć®ē“¶", "block.twilightforest.cinder_furnace": "灰のかまど", "block.twilightforest.cinder_log": "ē°ć®åŽŸęœØ", "block.twilightforest.cinder_wood": "灰の木", "block.twilightforest.clover_patch": "ć‚Æćƒ­ćƒ¼ćƒćƒ¼ćƒ‘ćƒƒćƒ", + "block.twilightforest.coronation_carpet": "é«˜č²“ćŖć‚«ćƒ¼ćƒšćƒƒćƒˆ", "block.twilightforest.cracked_castle_brick": "ć²ć³å‰²ć‚ŒćŸć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬", "block.twilightforest.cracked_castle_brick_stairs": "ć²ć³å‰²ć‚ŒćŸć‚­ćƒ£ćƒƒć‚¹ćƒ¬ćƒ³ć‚¬ć®éšŽę®µ", "block.twilightforest.cracked_deadrock": "ć²ć³å‰²ć‚ŒćŸćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ", "block.twilightforest.cracked_etched_nagastone": "ć²ć³å‰²ć‚ŒćŸå½«åˆ»å…„ć‚Šć®ćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³", "block.twilightforest.cracked_mazestone": "ć²ć³å‰²ć‚ŒćŸćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", - "block.twilightforest.cracked_nagastone_pillar": "ćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³ć®ęŸ±", + "block.twilightforest.cracked_nagastone_pillar": "ć²ć³å‰²ć‚ŒćŸćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³ć®ęŸ±", "block.twilightforest.cracked_nagastone_stairs_left": "ć²ć³å‰²ć‚ŒćŸćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³ć®éšŽę®µļ¼ˆå·¦ļ¼‰", "block.twilightforest.cracked_nagastone_stairs_right": "ć²ć³å‰²ć‚ŒćŸćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³ć®éšŽę®µļ¼ˆå³ļ¼‰", "block.twilightforest.cracked_towerwood": "ć²ć³å‰²ć‚ŒćŸć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®ęæę", "block.twilightforest.cracked_underbrick": "ć²ć³å‰²ć‚ŒćŸć‚¢ćƒ³ćƒ€ćƒ¼ćƒ–ćƒŖćƒƒć‚Æ", "block.twilightforest.creeper_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚ÆćƒŖćƒ¼ćƒ‘ćƒ¼ć®é ­", - "block.twilightforest.creeper_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚ÆćƒŖćƒ¼ćƒ‘ćƒ¼ć®é ­", "block.twilightforest.crimson_banister": "ēœŸē“…ć®ę‰‹ć™ć‚Š", - "block.twilightforest.cursed_spawner": "å‘Ŗć‚ć‚ŒćŸć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.cut_mazestone": "ē ”ćŒć‚ŒćŸćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", "block.twilightforest.dark_banister": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ę‰‹ć™ć‚Š", "block.twilightforest.dark_button": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ćƒœć‚æćƒ³", @@ -351,8 +350,6 @@ "block.twilightforest.dark_stairs": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®éšŽę®µ", "block.twilightforest.dark_trapdoor": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.dark_trapped_chest": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.dark_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.dark_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ēœ‹ęæ", "block.twilightforest.dark_wood": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®ęœØ", "block.twilightforest.darkwood_sapling": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®č‹—ęœØ", "block.twilightforest.deadrock": "ćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ", @@ -373,7 +370,7 @@ "block.twilightforest.final_boss_boss_spawner": "ęœ€å¾Œć®ćƒœć‚¹ć®ćƒœć‚¹ć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.fire_jet": "é–“ę¬ ē‚Ž", "block.twilightforest.firefly": "ćƒ›ć‚æćƒ«", - "block.twilightforest.firefly_jar": "ē“¶č©°ć‚ć®ćƒ›ć‚æćƒ«", + "block.twilightforest.firefly_jar": "ćƒ›ć‚æćƒ«å…„ć‚Šć®ē“¶", "block.twilightforest.firefly_particle_spawner": "ćƒ›ć‚æćƒ«ć®ćƒ‘ćƒ¼ćƒ†ć‚£ć‚Æćƒ«ć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.fluffy_cloud": "ćµć‚ćµć‚é›²", "block.twilightforest.ghast_trap": "ć‚¬ć‚¹ćƒˆćƒˆćƒ©ćƒƒćƒ—", @@ -441,8 +438,8 @@ "block.twilightforest.hollow_warped_stem_horizontal": "中空の歪んだ幹", "block.twilightforest.hollow_warped_stem_vertical": "中空の歪んだ幹", "block.twilightforest.huge_lily_pad": "å·Øå¤§ćŖć‚¹ć‚¤ćƒ¬ćƒ³ć®č‘‰", - "block.twilightforest.huge_mushgloom": "å·Øå¤§ćƒ’ć‚«ćƒŖćƒ€ć‚±ćƒ–ćƒ­ćƒƒć‚Æ", - "block.twilightforest.huge_mushgloom_stem": "å·Øå¤§ćƒ’ć‚«ćƒŖćƒ€ć‚±ć®ęŸ„", + "block.twilightforest.huge_mushgloom": "å·Øå¤§ćƒ’ć‚«ćƒŖć‚æć‚±ćƒ–ćƒ­ćƒƒć‚Æ", + "block.twilightforest.huge_mushgloom_stem": "å·Øå¤§ćƒ’ć‚«ćƒŖć‚æć‚±ć®ęŸ„", "block.twilightforest.huge_stalk": "å·Øå¤§ćŖčŒŽ", "block.twilightforest.huge_water_lily": "å·Øå¤§ćŖć‚¹ć‚¤ćƒ¬ćƒ³", "block.twilightforest.hydra_boss_spawner": "ćƒ’ćƒ‰ćƒ©ć®ćƒœć‚¹ć‚¹ćƒćƒŠćƒ¼", @@ -479,15 +476,13 @@ "block.twilightforest.mangrove_stairs": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®éšŽę®µ", "block.twilightforest.mangrove_trapdoor": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.mangrove_trapped_chest": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.mangrove_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.mangrove_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®ēœ‹ęæ", "block.twilightforest.mangrove_wood": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®ęœØ", "block.twilightforest.mason_jar": "åŗƒå£ē“¶", "block.twilightforest.mayapple": "ćƒ”ć‚¤ć‚¢ćƒƒćƒ—ćƒ«", "block.twilightforest.mazestone": "ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", - "block.twilightforest.mazestone_border": "ćƒœćƒ¼ćƒ€ćƒ¼ęŸ„ć®ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", + "block.twilightforest.mazestone_border": "ćƒœćƒ¼ćƒ€ćƒ¼ęØ”ę§˜ć®ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", "block.twilightforest.mazestone_brick": "ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", - "block.twilightforest.mazestone_mosaic": "ćƒ¢ć‚¶ć‚¤ć‚ÆęŸ„ć®ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", + "block.twilightforest.mazestone_mosaic": "ćƒ¢ć‚¶ć‚¤ć‚ÆęØ”ę§˜ć®ćƒ”ć‚¤ć‚ŗć‚¹ćƒˆćƒ¼ćƒ³", "block.twilightforest.mining_banister": "ęŽ”ęŽ˜ć®ęœØć®ę‰‹ć™ć‚Š", "block.twilightforest.mining_button": "ęŽ”ęŽ˜ć®ęœØć®ćƒœć‚æćƒ³", "block.twilightforest.mining_chest": "ęŽ”ęŽ˜ć®ęœØć®ćƒć‚§ć‚¹ćƒˆ", @@ -506,8 +501,6 @@ "block.twilightforest.mining_stairs": "ęŽ”ęŽ˜ć®ęœØć®éšŽę®µ", "block.twilightforest.mining_trapdoor": "ęŽ”ęŽ˜ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.mining_trapped_chest": "ęŽ”ęŽ˜ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.mining_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸęŽ”ęŽ˜ć®ęœØć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.mining_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸęŽ”ęŽ˜ć®ęœØć®ēœ‹ęæ", "block.twilightforest.mining_wood": "ęŽ”ęŽ˜ć®ęœØ", "block.twilightforest.minoshroom_boss_spawner": "ćƒŸćƒŽćƒƒć‚·ćƒ„ćƒ«ćƒ¼ćƒ ć®ćƒœć‚¹ć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.minoshroom_trophy": "ćƒŸćƒŽćƒƒć‚·ćƒ„ćƒ«ćƒ¼ćƒ ć®ćƒˆćƒ­ćƒ•ć‚£ćƒ¼", @@ -522,7 +515,7 @@ "block.twilightforest.mossy_nagastone_stairs_right": "č‹”ć‚€ć—ćŸćƒŠćƒ¼ć‚¬ć‚¹ćƒˆćƒ¼ćƒ³ć®éšŽę®µļ¼ˆå³ļ¼‰", "block.twilightforest.mossy_towerwood": "č‹”ć‚€ć—ćŸć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®ęæę", "block.twilightforest.mossy_underbrick": "č‹”ć‚€ć—ćŸć‚¢ćƒ³ćƒ€ćƒ¼ćƒ–ćƒŖćƒƒć‚Æ", - "block.twilightforest.mushgloom": "ćƒ’ć‚«ćƒŖćƒ€ć‚±", + "block.twilightforest.mushgloom": "ćƒ’ć‚«ćƒŖć‚æć‚±", "block.twilightforest.naga_boss_spawner": "ćƒŠćƒ¼ć‚¬ć®ćƒœć‚¹ć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.naga_courtyard_miniature_structure": "ćƒŠćƒ¼ć‚¬ē„žę®æć®ćƒŸćƒ‹ćƒćƒ„ć‚¢", "block.twilightforest.naga_trophy": "ćƒŠćƒ¼ć‚¬ć®ćƒˆćƒ­ćƒ•ć‚£ćƒ¼", @@ -534,29 +527,27 @@ "block.twilightforest.oak_banister": "ć‚Ŗćƒ¼ć‚Æć®ę‰‹ć™ć‚Š", "block.twilightforest.orange_force_field": "ę©™č‰²ć®ćƒ•ć‚©ćƒ¼ć‚¹ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰", "block.twilightforest.piglin_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸćƒ”ć‚°ćƒŖćƒ³ć®é ­", - "block.twilightforest.piglin_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸćƒ”ć‚°ćƒŖćƒ³ć®é ­", "block.twilightforest.pink_castle_door": "čµ¤ē“«č‰²ć®ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ‰ć‚¢", "block.twilightforest.pink_castle_rune_brick": "čµ¤ē“«č‰²ć®ćƒ«ćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", "block.twilightforest.pink_force_field": "čµ¤ē“«č‰²ć®ćƒ•ć‚©ćƒ¼ć‚¹ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰", "block.twilightforest.player_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸćƒ—ćƒ¬ć‚¤ćƒ¤ćƒ¼ć®é ­", "block.twilightforest.player_skull_candle.named": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸ%s恮頭", - "block.twilightforest.player_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸćƒ—ćƒ¬ć‚¤ćƒ¤ćƒ¼ć®é ­", - "block.twilightforest.potted_canopy_sapling": "ę¤ćˆć‚‰ć‚ŒćŸęž—å† ęœØć®č‹—ęœØ", - "block.twilightforest.potted_darkwood_sapling": "ę¤ćˆć‚‰ć‚ŒćŸćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®č‹—ęœØ", - "block.twilightforest.potted_dead_thorn": "ę¤ćˆć‚‰ć‚ŒćŸē„¦ć’ćŸčŒØ", - "block.twilightforest.potted_fiddlehead": "ę¤ćˆć‚‰ć‚ŒćŸå·»ćć‚·ćƒ€", - "block.twilightforest.potted_green_thorn": "ę¤ćˆć‚‰ć‚ŒćŸē·‘ć®čŒØ", - "block.twilightforest.potted_hollow_oak_sapling": "ę¤ćˆć‚‰ć‚ŒćŸäøˆå¤«ćŖćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®č‹—ęœØ", - "block.twilightforest.potted_mangrove_sapling": "ę¤ćˆć‚‰ć‚ŒćŸćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®č‹—ęœØ", - "block.twilightforest.potted_mayapple": "ę¤ćˆć‚‰ć‚ŒćŸćƒ”ć‚¤ć‚¢ćƒƒćƒ—ćƒ«", - "block.twilightforest.potted_mining_sapling": "ę¤ćˆć‚‰ć‚ŒćŸęŽ”ęŽ˜ć®ęœØć®č‹—ęœØ", - "block.twilightforest.potted_mushgloom": "ę¤ćˆć‚‰ć‚ŒćŸćƒ’ć‚«ćƒŖćƒ€ć‚±", - "block.twilightforest.potted_rainbow_oak_sapling": "ę¤ćˆć‚‰ć‚ŒćŸćƒ¬ć‚¤ćƒ³ćƒœćƒ¼ć‚Ŗćƒ¼ć‚Æć®č‹—ęœØ", - "block.twilightforest.potted_sorting_sapling": "ę¤ćˆć‚‰ć‚ŒćŸåˆ†é”žć®ęœØć®č‹—ęœØ", - "block.twilightforest.potted_thorn": "ę¤ćˆć‚‰ć‚ŒćŸčŒØ", - "block.twilightforest.potted_time_sapling": "ę¤ćˆć‚‰ć‚ŒćŸåˆ»ć®ęœØć®č‹—ęœØ", - "block.twilightforest.potted_transformation_sapling": "ę¤ćˆć‚‰ć‚ŒćŸå¤‰åŒ–ć®ęœØć®č‹—ęœØ", - "block.twilightforest.potted_twilight_oak_sapling": "ę¤ćˆć‚‰ć‚ŒćŸć²å¼±ćŖćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®č‹—ęœØ", + "block.twilightforest.potted_canopy_sapling": "ęž—å† ęœØć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_darkwood_sapling": "ćƒ€ćƒ¼ć‚Æć‚¦ćƒƒćƒ‰ć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_dead_thorn": "ē„¦ć’ćŸčŒØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_fiddlehead": "å·»ćć‚·ćƒ€å…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_green_thorn": "ē·‘ć®čŒØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_hollow_oak_sapling": "äøˆå¤«ćŖćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_mangrove_sapling": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_mayapple": "ćƒ”ć‚¤ć‚¢ćƒƒćƒ—ćƒ«å…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_mining_sapling": "ęŽ”ęŽ˜ć®ęœØć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_mushgloom": "ćƒ’ć‚«ćƒŖć‚æć‚±å…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_rainbow_oak_sapling": "ćƒ¬ć‚¤ćƒ³ćƒœćƒ¼ć‚Ŗćƒ¼ć‚Æć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_sorting_sapling": "åˆ†é”žć®ęœØć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_thorn": "čŒØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_time_sapling": "åˆ»ć®ęœØć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_transformation_sapling": "å¤‰åŒ–ć®ęœØć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", + "block.twilightforest.potted_twilight_oak_sapling": "ć²å¼±ćŖćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®č‹—ęœØå…„ć‚Šę¤ęœØé‰¢", "block.twilightforest.quest_ram_trophy": "č‰²é£Ÿćæć®ē¾Šć®ćƒˆćƒ­ćƒ•ć‚£ćƒ¼", "block.twilightforest.rainbow_oak_leaves": "ćƒ¬ć‚¤ćƒ³ćƒœćƒ¼ć‚Ŗćƒ¼ć‚Æć®č‘‰", "block.twilightforest.rainbow_oak_sapling": "ćƒ¬ć‚¤ćƒ³ćƒœćƒ¼ć‚Ŗćƒ¼ć‚Æć®č‹—ęœØ", @@ -567,9 +558,9 @@ "block.twilightforest.root": "ę ¹", "block.twilightforest.root_strand": "ひげ根", "block.twilightforest.rope": "ćƒ­ćƒ¼ćƒ—", - "block.twilightforest.royal_rags": "é«˜č²“ćŖćƒ©ć‚°", + "block.twilightforest.sinister_spawner": "é‚Ŗę‚ŖćŖć‚¹ćƒćƒŠćƒ¼", "block.twilightforest.skeleton_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¹ć‚±ćƒ«ćƒˆćƒ³ć®é ­č“‹éŖØ", - "block.twilightforest.skeleton_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¹ć‚±ćƒ«ćƒˆćƒ³ć®é ­č“‹éŖØ", + "block.twilightforest.skull_chest": "é ­č“‹éŖØć®ćƒć‚§ć‚¹ćƒˆ", "block.twilightforest.slider": "ę»‘čµ°ćƒˆćƒ©ćƒƒćƒ—", "block.twilightforest.smoker": "噓煙", "block.twilightforest.snow_queen_boss_spawner": "é›Ŗć®å„³ēŽ‹ć®ćƒœć‚¹ć‚¹ćƒćƒŠćƒ¼", @@ -593,8 +584,6 @@ "block.twilightforest.sorting_stairs": "åˆ†é”žć®ęœØć®éšŽę®µ", "block.twilightforest.sorting_trapdoor": "åˆ†é”žć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.sorting_trapped_chest": "åˆ†é”žć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.sorting_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸåˆ†é”žć®ęœØć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.sorting_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸåˆ†é”žć®ęœØć®ēœ‹ęæ", "block.twilightforest.sorting_wood": "åˆ†é”žć®ęœØ", "block.twilightforest.spiral_bricks": "čžŗę—‹ēŠ¶ć®ēŸ³ćƒ¬ćƒ³ć‚¬", "block.twilightforest.spruce_banister": "ćƒˆć‚¦ćƒ’ć®ę‰‹ć™ć‚Š", @@ -616,9 +605,9 @@ "block.twilightforest.stripped_twilight_oak_log": "ęØ¹ēš®ć‚’å‰„ć„ć ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®åŽŸęœØ", "block.twilightforest.stripped_twilight_oak_wood": "ęØ¹ēš®ć‚’å‰„ć„ć ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®ęœØ", "block.twilightforest.stronghold_shield": "ę‹ ē‚¹ć®é˜²å£", - "block.twilightforest.terrorcotta_arcs": "ć‚¢ćƒ¼ćƒęŸ„ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", - "block.twilightforest.terrorcotta_curves": "ć‚«ćƒ¼ćƒ–ęŸ„ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", - "block.twilightforest.terrorcotta_lines": "ćƒ©ć‚¤ćƒ³ęŸ„ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", + "block.twilightforest.terrorcotta_arcs": "ć‚¢ćƒ¼ćƒęØ”ę§˜ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", + "block.twilightforest.terrorcotta_curves": "ć‚«ćƒ¼ćƒ–ęØ”ę§˜ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", + "block.twilightforest.terrorcotta_lines": "ćƒ©ć‚¤ćƒ³ęØ”ę§˜ć®ćƒ†ćƒ©ćƒ¼ć‚³ćƒƒć‚æ", "block.twilightforest.thick_castle_brick": "åŽšć„ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬", "block.twilightforest.thorn_leaves": "čŒØć®č‘‰", "block.twilightforest.thorn_rose": "茨のバラ", @@ -640,8 +629,6 @@ "block.twilightforest.time_stairs": "åˆ»ć®ęœØć®éšŽę®µ", "block.twilightforest.time_trapdoor": "åˆ»ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.time_trapped_chest": "åˆ»ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.time_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸåˆ»ć®ęœØć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.time_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸåˆ»ć®ęœØć®ēœ‹ęæ", "block.twilightforest.time_wood": "刻の木", "block.twilightforest.torchberry_plant": "ćƒˆćƒ¼ćƒćƒ™ćƒŖćƒ¼ć®ć¤ć‚‹", "block.twilightforest.towerwood": "ć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®ęæę", @@ -663,8 +650,6 @@ "block.twilightforest.transformation_stairs": "å¤‰åŒ–ć®ęœØć®éšŽę®µ", "block.twilightforest.transformation_trapdoor": "å¤‰åŒ–ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.transformation_trapped_chest": "å¤‰åŒ–ć®ęœØć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.transformation_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸå¤‰åŒ–ć®ęœØć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.transformation_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸå¤‰åŒ–ć®ęœØć®ēœ‹ęæ", "block.twilightforest.transformation_wood": "å¤‰åŒ–ć®ęœØ", "block.twilightforest.trollber": "ćƒˆćƒ­ćƒ¼ćƒ«ćƒ™ćƒŖćƒ¼", "block.twilightforest.trollsteinn": "トロール石", @@ -687,8 +672,6 @@ "block.twilightforest.twilight_oak_stairs": "ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®éšŽę®µ", "block.twilightforest.twilight_oak_trapdoor": "ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®ćƒˆćƒ©ćƒƒćƒ—ćƒ‰ć‚¢", "block.twilightforest.twilight_oak_trapped_chest": "ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®ćƒˆćƒ©ćƒƒćƒ—ćƒć‚§ć‚¹ćƒˆ", - "block.twilightforest.twilight_oak_wall_hanging_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®åŠć‚Šēœ‹ęæ", - "block.twilightforest.twilight_oak_wall_sign": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®ēœ‹ęæ", "block.twilightforest.twilight_oak_wood": "ćƒˆćƒÆć‚¤ćƒ©ć‚¤ćƒˆć‚Ŗćƒ¼ć‚Æć®ęœØ", "block.twilightforest.twilight_portal": "é»„ę˜ć®ę£®ćƒćƒ¼ć‚æćƒ«", "block.twilightforest.twilight_portal_miniature_structure": "é»„ę˜ć®ę£®ćƒćƒ¼ć‚æćƒ«ć®ćƒŸćƒ‹ćƒćƒ„ć‚¢", @@ -705,14 +688,13 @@ "block.twilightforest.ur_ghast_trophy": "ć‚¦ćƒ«ć‚¬ć‚¹ćƒˆć®ćƒˆćƒ­ćƒ•ć‚£ćƒ¼", "block.twilightforest.vangrove_banister": "ćƒžćƒ³ć‚°ćƒ­ćƒ¼ćƒ–ć®ę‰‹ć™ć‚Š", "block.twilightforest.vanishing_block": "ę¶ˆå¤±ę‰‰ćƒ–ćƒ­ćƒƒć‚Æ", - "block.twilightforest.violet_castle_door": "ē“«č‰²ć®ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ‰ć‚¢", - "block.twilightforest.violet_castle_rune_brick": "ē“«č‰²ć®ćƒ«ćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", - "block.twilightforest.violet_force_field": "ē“«č‰²ć®ćƒ•ć‚©ćƒ¼ć‚¹ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰", + "block.twilightforest.violet_castle_door": "č«č‰²ć®ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ‰ć‚¢", + "block.twilightforest.violet_castle_rune_brick": "č«č‰²ć®ćƒ«ćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", + "block.twilightforest.violet_force_field": "č«č‰²ć®ćƒ•ć‚©ćƒ¼ć‚¹ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰", "block.twilightforest.warped_banister": "ę­Ŗć‚“ć ę‰‹ć™ć‚Š", "block.twilightforest.weathered_deadrock": "é¢ØåŒ–ć—ćŸćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æ", "block.twilightforest.wispy_cloud": "薄雲", "block.twilightforest.wither_skeleton_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¦ć‚£ć‚¶ćƒ¼ć‚¹ć‚±ćƒ«ćƒˆćƒ³ć®é ­č“‹éŖØ", - "block.twilightforest.wither_skeleton_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¦ć‚£ć‚¶ćƒ¼ć‚¹ć‚±ćƒ«ćƒˆćƒ³ć®é ­č“‹éŖØ", "block.twilightforest.worn_castle_brick": "ć‹ć™ć‚ŒćŸć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬", "block.twilightforest.worn_castle_brick_stairs": "ć‹ć™ć‚ŒćŸć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ¬ćƒ³ć‚¬ć®éšŽę®µ", "block.twilightforest.wrought_iron_fence": "é›é€ ć•ć‚ŒćŸé‰„ć®ćƒ•ć‚§ćƒ³ć‚¹", @@ -720,7 +702,6 @@ "block.twilightforest.yellow_castle_door": "é»„č‰²ć®ć‚­ćƒ£ćƒƒć‚¹ćƒ«ćƒ‰ć‚¢", "block.twilightforest.yellow_castle_rune_brick": "é»„č‰²ć®ćƒ«ćƒ¼ćƒ³ćƒ¬ćƒ³ć‚¬", "block.twilightforest.zombie_skull_candle": "ć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¾ćƒ³ćƒ“ć®é ­", - "block.twilightforest.zombie_wall_skull_candle": "å£ć«ä»˜ć‘ć‚‰ć‚ŒćŸć‚ć†ćććŒē«‹ć¦ć‚‰ć‚ŒćŸć‚¾ćƒ³ćƒ“ć®é ­", "commands.tffeature.center": "ćƒ€ćƒ³ć‚øćƒ§ćƒ³ć®äø­åæƒļ¼š%s", "commands.tffeature.chunk": "ćƒćƒ£ćƒ³ć‚Æć«ć„ć‚‹ć‹ļ¼š%s", "commands.tffeature.nearest": "äø€ē•Ŗčæ‘ć„ćƒ€ćƒ³ć‚øćƒ§ćƒ³ćÆ%s恧恙", @@ -838,16 +819,16 @@ "config.twilightforest.uncrafting_mod_ids": "ē„”åŠ¹åŒ–ć™ć‚‹Mod ID", "config.twilightforest.uncrafting_mod_ids.tooltip": "ē‰¹å®šć®Modć®ć™ć¹ć¦ć®ć‚¢ć‚¤ćƒ†ćƒ ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć‚’ē„”åŠ¹åŒ–ć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚\nModć®ć™ć¹ć¦ć®ć‚¢ć‚¤ćƒ†ćƒ ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ć‚’ē„”åŠ¹åŒ–ć™ć‚‹ć«ćÆć€ęœ‰åŠ¹ćŖModć‚¢ć‚¤ćƒ†ćƒ ć‚’å…„åŠ›ć—ć¦ćć ć•ć„ć€‚\nä¾‹ļ¼šć€Œtwilightforestć€ćØčØ˜čæ°ć™ć‚‹ćØć€ć“ć®Modć®ć™ć¹ć¦ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ćŒē„”åŠ¹åŒ–ć•ć‚Œć¾ć™ć€‚", "config.twilightforest.uncrafting_recipes": "ē„”åŠ¹åŒ–ć™ć‚‹ćƒ¬ć‚·ćƒ”", - "config.twilightforest.uncrafting_recipes.tooltip": "č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć‚’å®Œå…Øć«ē„”åŠ¹åŒ–ć›ćšć«ć€ē‰¹å®šć®ćƒ¬ć‚·ćƒ”ć®ćæć‚’ē„”åŠ¹åŒ–ć—ćŸć„å “åˆćÆć€ć“ć”ć‚‰ć®ę–¹ę³•ćŒé©ć—ć¦ć„ć¾ć™ć€‚ćƒ¬ć‚·ćƒ”ć‚’čæ½åŠ ć™ć‚‹ć«ćÆć€MOD IDć®å¾Œć«ćƒ¬ć‚·ćƒ”åć‚’čØ˜čæ°ć—ć¾ć™ć€‚ć“ć‚ŒćÆJEIćŖć©ć§ē¢ŗčŖć§ćć¾ć™ć€‚ä¾‹ļ¼šć€Œtwilightforest:firefly_particle_spawnerć€ćØčØ˜čæ°ć™ć‚‹ćØć€ćƒ‘ćƒ¼ćƒ†ć‚£ć‚Æćƒ«ć‚¹ćƒćƒŠćƒ¼ć‚’ē“¶č©°ć‚ć®ćƒ›ć‚æćƒ«ć€ćƒ›ć‚æćƒ«ć€ćƒćƒ”ćƒ¼ć«č§£ä½“ć™ć‚‹ćƒ¬ć‚·ćƒ”ćŒē„”åŠ¹åŒ–ć•ć‚Œć¾ć™ć€‚\nć‚¢ć‚¤ćƒ†ćƒ ć«č¤‡ę•°ć®ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ćŒć‚ć‚Šć€ćć‚Œć‚‰ć™ć¹ć¦ć‚’ē„”åŠ¹åŒ–ć—ćŸć„å “åˆćÆć€ćć®ć‚¢ć‚¤ćƒ†ćƒ ć‚’ć‚¢ć‚¤ćƒ†ćƒ ć‚æć‚°ć€Œtwilightforest:banned_uncraftablesć€ć«čæ½åŠ ć—ć¦ćć ć•ć„ć€‚\nć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®č™«é£Ÿć„ęæęć®ć‚ˆć†ćŖå•é”Œć®ć‚ć‚‹ęę–™ćŒć‚ć‚‹å “åˆć€ćć®ć‚¢ć‚¤ćƒ†ćƒ ć‚’ć‚¢ć‚¤ćƒ†ćƒ ć‚æć‚°ć€Œtwilightforest:banned_uncrafting_ingredientsć€ć«čæ½åŠ ć—ć¦ćć ć•ć„ć€‚", + "config.twilightforest.uncrafting_recipes.tooltip": "č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć‚’å®Œå…Øć«ē„”åŠ¹åŒ–ć›ćšć«ć€ē‰¹å®šć®ćƒ¬ć‚·ćƒ”ć®ćæć‚’ē„”åŠ¹åŒ–ć—ćŸć„å “åˆćÆć€ć“ć”ć‚‰ć®ę–¹ę³•ćŒé©ć—ć¦ć„ć¾ć™ć€‚ćƒ¬ć‚·ćƒ”ć‚’čæ½åŠ ć™ć‚‹ć«ćÆć€MOD IDć®å¾Œć«ćƒ¬ć‚·ćƒ”åć‚’čØ˜čæ°ć—ć¾ć™ć€‚ć“ć‚ŒćÆJEIćŖć©ć§ē¢ŗčŖć§ćć¾ć™ć€‚\nä¾‹ļ¼šć€Œtwilightforest:firefly_particle_spawnerć€ćØčØ˜čæ°ć™ć‚‹ćØć€ćƒ‘ćƒ¼ćƒ†ć‚£ć‚Æćƒ«ć‚¹ćƒćƒŠćƒ¼ć‚’ćƒ›ć‚æćƒ«å…„ć‚Šć®ē“¶ć€ćƒ›ć‚æćƒ«ć€ćƒćƒ”ćƒ¼ć«č§£ä½“ć™ć‚‹ćƒ¬ć‚·ćƒ”ćŒē„”åŠ¹åŒ–ć•ć‚Œć¾ć™ć€‚\nć‚¢ć‚¤ćƒ†ćƒ ć«č¤‡ę•°ć®ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ćŒć‚ć‚Šć€ćć‚Œć‚‰ć™ć¹ć¦ć‚’ē„”åŠ¹åŒ–ć—ćŸć„å “åˆćÆć€ćć®ć‚¢ć‚¤ćƒ†ćƒ ć‚’ć‚¢ć‚¤ćƒ†ćƒ ć‚æć‚°ć€Œtwilightforest:banned_uncraftablesć€ć«čæ½åŠ ć—ć¦ćć ć•ć„ć€‚\nć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ć®č™«é£Ÿć„ęæęć®ć‚ˆć†ćŖå•é”Œć®ć‚ć‚‹ęę–™ćŒć‚ć‚‹å “åˆć€ćć®ć‚¢ć‚¤ćƒ†ćƒ ć‚’ć‚¢ć‚¤ćƒ†ćƒ ć‚æć‚°ć€Œtwilightforest:banned_uncrafting_ingredientsć€ć«čæ½åŠ ć—ć¦ćć ć•ć„ć€‚", "config.twilightforest.uncrafting_recipes_flip": "ćƒ¬ć‚·ćƒ”ć®ćƒ–ćƒ©ćƒƒć‚ÆćƒŖć‚¹ćƒˆ", "config.twilightforest.uncrafting_recipes_flip.tooltip": "trueć«ć™ć‚‹ćØć€äøŠčØ˜ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ć®äø€č¦§ćŒćƒ–ćƒ©ćƒƒć‚ÆćƒŖć‚¹ćƒˆć‹ć‚‰ćƒ›ćƒÆć‚¤ćƒˆćƒŖć‚¹ćƒˆć«åč»¢ć—ć¾ć™ć€‚", "config.twilightforest.uncrafting_xp_cost": "č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć®ć‚³ć‚¹ćƒˆć®å€ēŽ‡", "config.twilightforest.uncrafting_xp_cost.tooltip": "ć‚¢ć‚¤ćƒ†ćƒ ć‚’č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć™ć‚‹éš›ć®åˆčØˆēµŒéØ“å€¤ć‚³ć‚¹ćƒˆć®ä¹—ę•°ļ¼ˆåˆ‡ć‚ŠäøŠć’ļ¼‰ć€‚\nå€¤ćŒé«˜ć„ć»ć©ćƒ¬ć‚·ćƒ”ć®äæ®ē¹•ć‚³ć‚¹ćƒˆćŒå¢—åŠ ć—ć€ä½Žć„ć»ć©ć‚³ć‚¹ćƒˆćŒä½Žäø‹ć—ć¾ć™ć€‚0ć«čØ­å®šć™ć‚‹ćØć‚³ć‚¹ćƒˆćÆå®Œå…Øć«ē„”åŠ¹åŒ–ć•ć‚Œć¾ć™ć€‚\nć“ć‚ŒćÆé€†ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ć«ć®ćæå½±éŸæć—ć€č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”ć§ćÆé€šåøøćØåŒć˜ć‚³ć‚¹ćƒˆćŒä½æē”Øć•ć‚Œć‚‹ć“ćØć«ę³Øę„ć—ć¦ćć ć•ć„ć€‚", "container.twilightforest.uncrafting_table": "č§£ä½“ä½œę„­å°", - "container.twilightforest.uncrafting_table.cycle_back_ingredient": "å‰ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć®ęę–™", + "container.twilightforest.uncrafting_table.cycle_back_ingredient": "å‰ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆęę–™", "container.twilightforest.uncrafting_table.cycle_back_recipe": "å‰ć®ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”", "container.twilightforest.uncrafting_table.cycle_back_uncraft": "å‰ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”", - "container.twilightforest.uncrafting_table.cycle_next_ingredient": "ę¬”ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆć®ęę–™", + "container.twilightforest.uncrafting_table.cycle_next_ingredient": "ę¬”ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆęę–™", "container.twilightforest.uncrafting_table.cycle_next_recipe": "ę¬”ć®ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”", "container.twilightforest.uncrafting_table.cycle_next_uncraft": "ę¬”ć®č§£ä½“ć‚Æćƒ©ćƒ•ćƒˆćƒ¬ć‚·ćƒ”", "container.twilightforest.uncrafting_table.disabled_item": "ć“ć®ć‚¢ć‚¤ćƒ†ćƒ ćÆč§£ä½“ć§ćć¾ć›ć‚“ć€‚", @@ -923,11 +904,13 @@ "enchantment.twilightforest.destruction.desc": "ćƒ¢ćƒ¼ćƒ‹ćƒ³ć‚°ć‚¹ć‚æćƒ¼ćŒčæ…é€Ÿć‹ć¤åŗƒć„ēÆ„å›²ć§ćƒ–ćƒ­ćƒƒć‚Æć‚’ē “å£Šć§ćć‚‹ć‚ˆć†ć«ć—ć¾ć™ć€‚", "enchantment.twilightforest.fire_react": "ē‚Žć®ć‚Ŗćƒ¼ćƒ©", "enchantment.twilightforest.fire_react.desc": "ē€ē”Øč€…ć‚’ę”»ę’ƒć—ć¦ććŸč€…ć«åÆ¾ć—ć¦ē‚ŽäøŠć•ć›ć‚‹ē¢ŗēŽ‡ć‚’äøŠć’ć‚‹ć€‚", + "enchantment.twilightforest.renewal": "å†ē”Ÿ", + "enchantment.twilightforest.renewal.desc": "ę‰€ęœ‰č€…ć®ć‚¤ćƒ³ćƒ™ćƒ³ćƒˆćƒŖć«ćƒćƒ£ćƒ¼ć‚øē”Øć®ć‚¢ć‚¤ćƒ†ćƒ ćŒć‚ć‚‹å “åˆć€ę–ć®ę®‹ć‚Šå›žę•°ćŒćŖććŖć‚‹ćØč‡Ŗå‹•ēš„ć«å†ćƒćƒ£ćƒ¼ć‚øć™ć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚", "entity.twilightforest.adherent": "俔徒", "entity.twilightforest.alpha_yeti": "ć‚¢ćƒ«ćƒ•ć‚”ć‚¤ć‚Øćƒ†ć‚£", "entity.twilightforest.armored_giant": "å·Øäŗŗļ¼ˆå‰£ļ¼‰", "entity.twilightforest.bighorn_sheep": "ć‚Ŗć‚Ŗćƒ„ćƒŽćƒ’ćƒ„ć‚ø", - "entity.twilightforest.blockchain_goblin": "é‰„ēƒä½æć„ć‚“ćƒ–ćƒŖćƒ³", + "entity.twilightforest.block_and_chain_goblin": "é‰„ēƒä½æć„ć‚“ćƒ–ćƒŖćƒ³", "entity.twilightforest.boar": "ć‚¤ćƒŽć‚·ć‚·", "entity.twilightforest.carminite_broodling": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒ–ćƒ«ćƒ¼ćƒ‰ćƒŖćƒ³ć‚°", "entity.twilightforest.carminite_ghastguard": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆć‚¬ć‚¹ćƒˆć‚¬ćƒ¼ćƒ‰", @@ -949,6 +932,7 @@ "entity.twilightforest.hydra": "ćƒ’ćƒ‰ćƒ©", "entity.twilightforest.hydra_mortar": "ćƒ’ćƒ‰ćƒ©ć®å¼·ę‰“", "entity.twilightforest.ice_arrow": "氷の矢", + "entity.twilightforest.ice_bomb": "ć‚¢ć‚¤ć‚¹ćƒœćƒ ", "entity.twilightforest.ice_crystal": "ć‚¢ć‚¤ć‚¹ć‚ÆćƒŖć‚¹ć‚æćƒ«", "entity.twilightforest.ice_snowball": "ę°·ć®é›ŖēŽ‰", "entity.twilightforest.king_spider": "ć‚­ćƒ³ć‚°ć‚¹ćƒ‘ć‚¤ćƒ€ćƒ¼", @@ -983,15 +967,14 @@ "entity.twilightforest.skeleton_druid": "ć‚¹ć‚±ćƒ«ćƒˆćƒ³ćƒ‰ćƒ«ć‚¤ćƒ‰", "entity.twilightforest.slider": "ä½œå‹•äø­ć®ę»‘čµ°ćƒˆćƒ©ćƒƒćƒ—", "entity.twilightforest.slime_beetle": "ć‚¹ćƒ©ć‚¤ćƒ ćƒ“ćƒ¼ćƒˆćƒ«", - "entity.twilightforest.slime_blob": "ć‚¹ćƒ©ć‚¤ćƒ ć®å¼¾", + "entity.twilightforest.slime_projectile": "ć‚¹ćƒ©ć‚¤ćƒ ć®å¼¾", "entity.twilightforest.snow_guardian": "ć‚¹ćƒŽć‚¦ć‚¬ćƒ¼ćƒ‡ć‚£ć‚¢ćƒ³", "entity.twilightforest.snow_queen": "é›Ŗć®å„³ēŽ‹", "entity.twilightforest.squirrel": "ćƒŖć‚¹", "entity.twilightforest.stable_ice_core": "å®‰å®šć—ćŸć‚¢ć‚¤ć‚¹ć‚³ć‚¢", "entity.twilightforest.swarm_spider": "ē¾¤ć‚Œć‚°ćƒ¢", "entity.twilightforest.thrown_block": "ęŠ•ć’ć‚‰ć‚ŒćŸćƒ–ćƒ­ćƒƒć‚Æ", - "entity.twilightforest.thrown_ice": "ć‚¢ć‚¤ć‚¹ćƒœćƒ ", - "entity.twilightforest.thrown_wep": "ęŠ•ć’ć‚‰ć‚ŒćŸę­¦å™Ø", + "entity.twilightforest.thrown_weapon": "ęŠ•ć’ć‚‰ć‚ŒćŸę­¦å™Ø", "entity.twilightforest.tiny_bird": "小鳄", "entity.twilightforest.tome_bolt": "ę­»č€…ć®ę›øć®ę”»ę’ƒ", "entity.twilightforest.towerwood_borer": "ć‚æćƒÆćƒ¼ć‚¦ćƒƒćƒ‰ćƒœćƒ¼ćƒ©ćƒ¼", @@ -1008,9 +991,9 @@ "giantSkinUUIDs.button": "ć‚¹ć‚­ćƒ³ć‚’ē·Øé›†", "gui.twilightforest.crumble_horn_jei": "å±±é³“ć‚Šć®č§’ē¬›", "gui.twilightforest.moonworm_queen_jei": "å„³ēŽ‹ęœˆå…‰č™«ć‚’å›žå¾©", - "gui.twilightforest.optifine.message": "ē¶šč”Œć™ć‚‹å‰ć«ć€OptifinećÆć‚Æćƒ©ćƒƒć‚·ćƒ„ć€č¤‡ę•°ćƒ‘ćƒ¼ćƒ„ć‹ć‚‰ćŖć‚‹ć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£ć®č”Øē¤ŗćƒć‚°ć€ćć®ä»–å¤šćć®å•é”Œć‚’å¼•ćčµ·ć“ć™ć“ćØćŒēŸ„ć‚‰ć‚Œć¦ć„ć¾ć™ć€‚\n\nćƒć‚°ć‚’å ±å‘Šć™ć‚‹å‰ć«ć€Optifineć‚’å‰Šé™¤ć—ć¦ć‚‚ćƒć‚°ćŒć¾ć å­˜åœØć™ć‚‹ć‹ć©ć†ć‹ć‚’ē¢ŗčŖć—ć¦ćć ć•ć„ć€‚\n\nOptifineć«é–¢é€£ć™ć‚‹å•é”ŒćÆé»„ę˜ć®ę£®å“ć§ćÆč§£ę±ŗć§ćć¾ć›ć‚“ļ¼\n\nć“ć®ē”»é¢ćÆć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®čØ­å®šć§ē„”åŠ¹ć«ć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚", + "gui.twilightforest.optifine.message": "ē¶šč”Œć™ć‚‹å‰ć«ć€OptifinećÆć‚Æćƒ©ćƒƒć‚·ćƒ„ć€č¤‡ę•°ćƒ‘ćƒ¼ćƒ„ć‹ć‚‰ćŖć‚‹ć‚Øćƒ³ćƒ†ć‚£ćƒ†ć‚£ć®č”Øē¤ŗćƒć‚°ć€ćć®ä»–å¤šćć®äøå…·åˆć®åŽŸå› ćØćŖć‚‹ć“ćØć§ć§ēŸ„ć‚‰ć‚Œć¦ć„ć¾ć™ć€‚\n\nćƒć‚°ć‚’å ±å‘Šć™ć‚‹å‰ć«ć€Optifineć‚’å‰Šé™¤ć—ć¦ć‚‚ćƒć‚°ćŒć¾ć å­˜åœØć™ć‚‹ć‹ć©ć†ć‹ć‚’ē¢ŗčŖć—ć¦ćć ć•ć„ć€‚\n\nOptifineć«é–¢é€£ć™ć‚‹å•é”ŒćÆé»„ę˜ć®ę£®å“ć§ćÆč§£ę±ŗć§ćć¾ć›ć‚“ļ¼\n\nć“ć®ē”»é¢ćÆć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®čØ­å®šć§ē„”åŠ¹ć«ć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚", "gui.twilightforest.optifine.suggestions": "ä»£ć‚ć‚Šć«ä»„äø‹ć®Modć‚’ä½æē”Øć™ć‚‹ć“ćØć‚’ćŠå‹§ć‚ć—ć¾ć™ć€‚", - "gui.twilightforest.optifine.title": "č­¦å‘Šļ¼šOPTIFINEć‚’ę¤œēŸ„", + "gui.twilightforest.optifine.title": "č­¦å‘Šļ¼šOPTIFINEć‚’ę¤œēŸ„ć—ć¾ć—ćŸ", "gui.twilightforest.progression_end.discord": "Discordć‚µćƒ¼ćƒćƒ¼", "gui.twilightforest.progression_end.message": "ć“ć‚Œć§ē¾åœØć®é€²č”ŒćÆēµ‚äŗ†ć§ć™ć€‚é«˜åŽŸć«å¾…ć¤ęœ€å¾Œć®åŸŽćÆć¾ć ęœŖå®Œęˆć§ć€åˆ¶ä½œäø­ć§ć™ć€‚Modć®é–‹ē™ŗć«ć¤ć„ć¦ęœ€ę–°ęƒ…å ±ć‚’ēŸ„ć‚ŠćŸć„å “åˆćÆć€%sć«å‚åŠ ć—ć¦ćć ć•ć„ć€‚", "gui.twilightforest.transformation_jei": "å¤‰åŒ–ć®ē²‰", @@ -1031,7 +1014,7 @@ "item.twilightforest.armored_giant_spawn_egg": "å·Øäŗŗļ¼ˆå‰£ļ¼‰ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.bighorn_sheep_spawn_egg": "ć‚Ŗć‚Ŗćƒ„ćƒŽćƒ’ćƒ„ć‚øć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.block_and_chain": "ćƒ¢ćƒ¼ćƒ‹ćƒ³ć‚°ć‚¹ć‚æćƒ¼", - "item.twilightforest.blockchain_goblin_spawn_egg": "é‰„ēƒä½æć„ć‚“ćƒ–ćƒŖćƒ³ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", + "item.twilightforest.block_and_chain_goblin_spawn_egg": "é‰„ēƒä½æć„ć‚“ćƒ–ćƒŖćƒ³ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.boar_spawn_egg": "ć‚¤ćƒŽć‚·ć‚·ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.boarkchop": "ē”Ÿć®ēŒŖč‚‰", "item.twilightforest.borer_essence": "ćƒœćƒ¼ćƒ©ćƒ¼ć‚Øćƒƒć‚»ćƒ³ć‚¹", @@ -1072,7 +1055,7 @@ "item.twilightforest.fiery_ingot": "ē¼ē†±ć‚¤ćƒ³ć‚“ćƒƒćƒˆ", "item.twilightforest.fiery_leggings": "ē¼ē†±ć®ćƒ¬ć‚®ćƒ³ć‚¹", "item.twilightforest.fiery_pickaxe": "ē¼ē†±ć®ćƒ„ćƒ«ćƒć‚·", - "item.twilightforest.fiery_pickaxe.desc": "自動製煉", + "item.twilightforest.fiery_pickaxe.desc": "č‡Ŗå‹•č£½éŒ¬", "item.twilightforest.fiery_sword": "灼熱の剣", "item.twilightforest.fiery_sword.desc": "åÆ¾č±”ć‚’ē‚ŽäøŠć•ć›ć‚‹", "item.twilightforest.fiery_tears": "灼熱の涙", @@ -1080,7 +1063,8 @@ "item.twilightforest.filled_maze_map": "čæ·å®®ć®åœ°å›³", "item.twilightforest.filled_ore_map": "čæ·å®®ļ¼é‰±ēŸ³ć®åœ°å›³", "item.twilightforest.fire_beetle_spawn_egg": "ćƒ•ć‚”ć‚¤ć‚¢ćƒ“ćƒ¼ćƒˆćƒ«ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", - "item.twilightforest.flask.doses": "ē”Øé‡ļ¼š%sļ¼%s", + "item.twilightforest.flask.empty": "空", + "item.twilightforest.flask.empty_description": "1ēØ®é”žć®ćƒćƒ¼ć‚·ćƒ§ćƒ³ć‚’3å›žåˆ†ć¾ć§ę³Øćć“ćØćŒć§ćć¾ć™", "item.twilightforest.flask.no_refill": "č£œå……äøåÆ", "item.twilightforest.fortification_scepter": "å®ˆć‚Šć®ę–", "item.twilightforest.four_leaf_clover": "å››ć¤č‘‰ć®ć‚Æćƒ­ćƒ¼ćƒćƒ¼", @@ -1256,6 +1240,7 @@ "item.twilightforest.ur_ghast_spawn_egg": "ć‚¦ćƒ«ć‚¬ć‚¹ćƒˆć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.winter_wolf_spawn_egg": "ć‚¦ć‚£ćƒ³ć‚æćƒ¼ć‚¦ćƒ«ćƒ•ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", "item.twilightforest.wraith_spawn_egg": "ćƒ¬ć‚¤ć‚¹ć®ć‚¹ćƒćƒ¼ćƒ³ć‚Øćƒƒć‚°", + "item.twilightforest.wrought_iron_bar": "é›é€ ć•ć‚ŒćŸé‰„ę ¼å­", "item.twilightforest.yeti_armor.desc": "ę”»ę’ƒć—ćŸē›øę‰‹ć‚’å‡ēµć•ć›ć‚‹", "item.twilightforest.yeti_boots": "ć‚¤ć‚Øćƒ†ć‚£ć®ćƒ–ćƒ¼ćƒ„", "item.twilightforest.yeti_chestplate": "ć‚¤ć‚Øćƒ†ć‚£ć®ć‚øćƒ£ć‚±ćƒƒćƒˆ", @@ -1363,8 +1348,10 @@ "subtitles.twilightforest.block.builder.off": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒ“ćƒ«ćƒ€ćƒ¼ćŒåœę­¢ć™ć‚‹", "subtitles.twilightforest.block.builder.on": "ć‚«ćƒ¼ćƒŸćƒŠć‚¤ćƒˆćƒ“ćƒ«ćƒ€ćƒ¼ćŒčµ·å‹•ć™ć‚‹", "subtitles.twilightforest.block.builder.replace": "ćƒ“ćƒ«ćƒ‰ćƒ–ćƒ­ćƒƒć‚ÆćŒę¶ˆćˆć‚‹", + "subtitles.twilightforest.block.candelabra.light": "ē‡­å°ć«č–„ęš—ć„ē«ćŒēÆć‚‹", + "subtitles.twilightforest.block.candelabra.ominous": "ē‡­å°ć«äøå‰ćŖē«ćŒēÆć‚‹", "subtitles.twilightforest.block.casket.close": "å½¢č¦‹ć®ę£ŗćŒé–‰ć˜ć‚‹", - "subtitles.twilightforest.block.casket.locked": "å½¢č¦‹ć®ę£ŗćŒć‚ÆćƒŖćƒƒć‚Æć•ć‚Œć‚‹", + "subtitles.twilightforest.block.casket.locked": "å½¢č¦‹ć®ę£ŗćŒćƒ­ćƒƒć‚Æć•ć‚Œć¦ć„ć‚‹", "subtitles.twilightforest.block.casket.open": "å½¢č¦‹ć®ę£ŗćŒé–‹ć", "subtitles.twilightforest.block.casket.repair": "å½¢č¦‹ć®ę£ŗćŒäæ®å¾©ć•ć‚Œć‚‹", "subtitles.twilightforest.block.cicada": "ć‚»ćƒŸćŒé³“ć", @@ -1608,7 +1595,7 @@ "subtitles.twilightforest.item.fan.whoosh": "å­”é›€ę‰‡ćŒę‰‡ćŒć‚Œć‚‹", "subtitles.twilightforest.item.flask.break": "å‰²ć‚Œć‚„ć™ć„ćƒ•ćƒ©ć‚¹ć‚³ćŒē²‰ć€…ć«ćŖć‚‹", "subtitles.twilightforest.item.flask.crack": "å‰²ć‚Œć‚„ć™ć„ćƒ•ćƒ©ć‚¹ć‚³ć«ć²ć³ćŒå…„ć‚‹", - "subtitles.twilightforest.item.flask.fill": "ćƒćƒ¼ć‚·ćƒ§ćƒ³ćƒ•ćƒ©ć‚¹ć‚³ć«ę³Øć", + "subtitles.twilightforest.item.flask.fill": "ćƒćƒ¼ć‚·ćƒ§ćƒ³ćƒ•ćƒ©ć‚¹ć‚³ć«ę³ØćŒć‚Œć‚‹", "subtitles.twilightforest.item.glass_sword.break": "ć‚¬ćƒ©ć‚¹ć®å‰£ćŒē •ć‘ę•£ć‚‹", "subtitles.twilightforest.item.ice_bomb.fired": "ć‚¢ć‚¤ć‚¹ćƒœćƒ ćŒęŠ•ć’ć‚‰ć‚Œć‚‹", "subtitles.twilightforest.item.knightmetal_armor.equip": "ćƒŠć‚¤ćƒˆćƒ”ć‚æćƒ«ć®é˜²å…·ćŒč£…ē€ć•ć‚Œć‚‹", @@ -1764,7 +1751,7 @@ "twilightforest.tips.mining_tree": "ęŽ”ęŽ˜ć®ęœØćÆé‰±ēŸ³ć‚’åœ°č”Øć«å¼•ćäøŠć’ć‚‹ć€‚", "twilightforest.tips.moon_dial": "ęœˆé½¢čØˆćÆć€ē¾åœØć®ęœˆć®ęŗ€ć”ę¬ ć‘ć‚’č”Øē¤ŗć™ć‚‹ć€‚", "twilightforest.tips.moonworm_queen": "å„³ēŽ‹ęœˆå…‰č™«ć«ćÆćƒˆćƒ¼ćƒćƒ™ćƒŖćƒ¼ć‚’äøŽćˆć‚‹ć“ćØćŒć§ćć‚‹ć€‚", - "twilightforest.tips.mushglooms": "ćƒ’ć‚«ćƒŖćƒ€ć‚±ćÆéŖØē²‰ć§å·Øå¤§ć‚­ćƒŽć‚³ć«ć™ć‚‹ć“ćØćÆć§ććŖć„ćŒć€åŸ¹é¤ŠåœŸć«čØ­ē½®ć™ć‚‹ć“ćØć§ęˆé•·ć™ć‚‹ć€‚", + "twilightforest.tips.mushglooms": "ćƒ’ć‚«ćƒŖć‚æć‚±ćÆéŖØē²‰ć§å·Øå¤§ć‚­ćƒŽć‚³ć«ć™ć‚‹ć“ćØćÆć§ććŖć„ćŒć€åŸ¹é¤ŠåœŸć«čØ­ē½®ć™ć‚‹ć“ćØć§ęˆé•·ć™ć‚‹ć€‚", "twilightforest.tips.music_disc": "ćƒ¬ć‚³ćƒ¼ćƒ‰ćÆćƒ€ćƒ³ć‚øćƒ§ćƒ³ć®å¤–ć«ć‚ć‚‹ć€‚", "twilightforest.tips.naga": "ćƒŠćƒ¼ć‚¬ćÆē”¬ć„ć‚‚ć®ć«ēŖé€²ć•ć›ć‚‹ć“ćØć§ę°—ēµ¶ć•ć›ć‚‹ć“ćØćŒć§ćć‚‹ļ¼", "twilightforest.tips.netherite_axe": "ćƒć‚¶ćƒ©ć‚¤ćƒˆć®ćƒŸćƒŽć‚æć‚¦ćƒ­ć‚¹ć®ę–§ćÆå­˜åœØć—ćŖć„ć€‚", diff --git a/src/main/resources/assets/twilightforest/lang/ko_kr.json b/src/main/resources/assets/twilightforest/lang/ko_kr.json index cf1f99fb73..58fb9d98f4 100644 --- a/src/main/resources/assets/twilightforest/lang/ko_kr.json +++ b/src/main/resources/assets/twilightforest/lang/ko_kr.json @@ -4,91 +4,91 @@ "Portal Settings.button": "ķŽøģ§‘", "Shield Parrying.button": "ķŽøģ§‘", "Uncrafting Table.button": "ķŽøģ§‘", - "advancement.twilightforest.arborist": "미친 ė“Æķ•œ ģ‚°ė¦¼ķ•™ģž", - "advancement.twilightforest.arborist.desc": "ė„ė¼ģ™€ ź°€ģœ„ė„¼ ģ¤€ė¹„ķ•˜ģ„øģš”. źµ¬ģ„źµ¬ģ„ģ„ 뒤지고 ė‚˜ė¬“ģ—ģ„œ ė‚˜ģ˜¤ėŠ” ėŖØė“  ź²ƒģ„ ģ–»ģœ¼ģ„øģš”! ģ œģž‘, ģ•½ķƒˆ, ėŖØė“  반 ėø”ė” ķšė“... 묘목... ģžŽ... ė”... ģ „ė¶€ 다... 솔두리째 다!", - "advancement.twilightforest.arctic_dyed": "ķŒØģ…”ė‹ˆģŠ¤ķƒ€", - "advancement.twilightforest.arctic_dyed.desc": "네 ź°œģ˜ ė…ķŠ¹ķ•œ 극지 ź°‘ģ˜·ģ„ ģ—¼ģƒ‰ķ•˜ģ„øģš”.", + "advancement.twilightforest.arborist": "미친 ė“Æķ•œ ģˆ˜ėŖ©ķ•™ģž", + "advancement.twilightforest.arborist.desc": "ė„ė¼ģ™€ ź°€ģœ„ė„¼ ģ¤€ė¹„ķ•˜ģ„øģš”. ėŖØė“  ź³³ģ„ ķƒģƒ‰ķ•“ ė‚˜ė¬“ģ—ģ„œ ė‚˜ģ˜¤ėŠ” ėŖØė“  ź²ƒģ„ ģ–»ģœ¼ģ„øģš”! ģ œģž‘ķ•˜ź±°ė‚˜, ģ „ė¦¬ķ’ˆģœ¼ė”œ ģ–»ź±°ė‚˜, ėŖØė“  반 ėø”ė”ź³¼... 묘목... ģžŽ... ė”... ėŖØė“  ģ¢…ė„˜ė„¼... ģ „ė¶€ 다!", + "advancement.twilightforest.arctic_dyed": "ķŒØģ…˜ģ˜ 완성", + "advancement.twilightforest.arctic_dyed.desc": "네 ź°œģ˜ ģ„œė”œ 다넸 ė¶€ģœ„ģ˜ 극지 방얓구넼 ģ—¼ģƒ‰ķ•˜ģ„øģš”", "advancement.twilightforest.beanstalk": "ģž­ź³¼ ģ½©ė‚˜ė¬“", - "advancement.twilightforest.beanstalk.desc": "트딤 ė™źµ“ģ—ģ„œ %sģ„(넼) 구핓 구름 ģ•„ėž˜ģ˜ ė¹›ė‚˜ėŠ” ķ™ģ— ģ‚¬ģš©ķ•˜ģ„øģš”", - "advancement.twilightforest.experiment_115": "ėÆøģŠ¤ķ„°ė¦¬ ź³ źø°?", - "advancement.twilightforest.experiment_115.desc": "ģ“ź±° ģ¼€ģ“ķ¬ģø ź±° 같긓 ķ•œė°...", + "advancement.twilightforest.beanstalk.desc": "트딤 ė™źµ“ģ—ģ„œ %sģ„ 구핓 구름 ģ•„ėž˜ ė¹›ė‚˜ėŠ” ķ™ģ— ģ‚¬ģš©ķ•˜ģ„øģš”", + "advancement.twilightforest.experiment_115": "ģˆ˜ģƒķ•œ ź³ źø°?", + "advancement.twilightforest.experiment_115.desc": "ģ¼€ģ“ķ¬ģ²˜ėŸ¼ ė³“ģ“źø“ ķ•˜ėŠ”ė°...", "advancement.twilightforest.experiment_115_2": "ģ˜¤ėŠ˜ģ˜ ģ¼źø°: ėŒ€ģ„±ź³µ!", - "advancement.twilightforest.experiment_115_2.desc": "ź²ė‚˜ ė§›ģžˆź³  쓉쓉핓!", - "advancement.twilightforest.experiment_115_3": "115넼, 115ė…„ė™ģ•ˆ, ė§¤ģ¼, ėØ¹ģ„ \n거야, ģ˜ģ›ķžˆ", - "advancement.twilightforest.experiment_115_3.desc": "ģ‹¤ķ—˜ģ²“ 115ė²ˆģ„ ģ•¼ė¬“ģ§€ź²Œ ėØ¹ģž~, ģ˜ģ›ķžˆ~, 115번~, ģ‹¤ķ—˜ģ²“ 115번~, ģ‹¤ķ—˜ģ²“-115.com, www.ģ‹¤ķ—˜ģ²“115.com, 115ė…„ ė™ģ•ˆ~, 매 ģˆœź°„~, ģ‹¤ķ—˜ģ²“-115.com, www.ģ‹¤ķ—˜ģ²“115.com, 115ė…„ ė™ģ•ˆ~, 매 ģˆœź°„~, ģ‹¤ķ—˜ģ²“-115.com, www.ģ‹¤ķ—˜ģ²“115.com, 115ė…„ ė™ģ•ˆ~, 매 ģˆœź°„~, ģ‹¤ķ—˜ģ²“-115.com, www.ģ‹¤ķ—˜ģ²“115.com, 115ė…„ ė™ģ•ˆ~, 매 ģˆœź°„~, ģ‹¤ķ—˜ģ²“-115.com.", - "advancement.twilightforest.fiery_set": "ė¦¬ķ„°ė§Œķ¼ģ˜ 피와 눈물", - "advancement.twilightforest.fiery_set.desc": "볓꓀함에 ķŒŒģ“ģ–“ė¦¬ ź°‘ģ˜·ģ“ ķ•˜ė‚˜ ģ“ģƒ ģžˆėŠ” ģƒķƒœģ—ģ„œ ķŒŒģ“ģ–“ė¦¬ ė„źµ¬ ė˜ėŠ” 묓기넼 ģ‚¬ģš©ķ•˜ģ„øģš”", - "advancement.twilightforest.full_mettle_alchemist": "ź°•ė „ķ•œ ķ—Œģ‹ ģ˜ ģ—°źøˆģˆ ģ‚¬", - "advancement.twilightforest.full_mettle_alchemist.desc": "8쓈 ģ“ė‚“ģ— 물약 ķ”Œė¼ģŠ¤ķ¬ģ—ģ„œ ģ¦‰ģ‹œ 피핓 II넼 4번 ė§ˆģ‹œź³  ģ‚“ģ•„ė‚Øģœ¼ģ„øģš”.", + "advancement.twilightforest.experiment_115_2.desc": "ė„ˆė¬“ė‚˜ ģ“‰ģ“‰ķ•˜ź³  ė§›ģžˆģ–“!", + "advancement.twilightforest.experiment_115_3": "115넼 ė§¤ģ¼, 115ė…„, ģ˜ģ›ķžˆ", + "advancement.twilightforest.experiment_115_3.desc": "115번 ģ‹¤ķ—˜ģ²“ė„¼ 115ģ¼ ė™ģ•ˆ ėØ¹ģž, ģ˜ģ›ķžˆ, 115번 ģ‹¤ķ—˜ģ²“ė„¼ 115번, 115번 ģ‹¤ķ—˜ģ²“.com, www.115번 ģ‹¤ķ—˜ģ²“.com, 115ė…„ ė™ģ•ˆ, 1ė¶„ė§ˆė‹¤ 115번 ģ‹¤ķ—˜ģ²“.com, www.115번 ģ‹¤ķ—˜ģ²“ 115번.com", + "advancement.twilightforest.fiery_set": "ėŖ‡ ķ†µģ˜ 피와 눈물", + "advancement.twilightforest.fiery_set.desc": "ķ•œ ģ¢…ė„˜ ģ“ģƒģ˜ ķŒŒģ“ģ–“ė¦¬ 방얓구와 ķŒŒģ“ģ–“ė¦¬ ė„źµ¬ė„¼ ģ–»ģœ¼ģ„øģš”", + "advancement.twilightforest.full_mettle_alchemist": "ź°•ģ² ģ‹¬ģž„ģ˜ ģ—°źøˆģˆ ģ‚¬", + "advancement.twilightforest.full_mettle_alchemist.desc": "6쓈 ģ“ė‚“ģ— 물약 ķ”Œė¼ģŠ¤ķ¬ģ—ģ„œ ģ¦‰ģ‹œ 피핓 II넼 3번 ė§ˆģ‹œź³  ģ‚“ģ•„ė‚Øģœ¼ģ„øģš”.", "advancement.twilightforest.ghast_trap": "ķƒ‘ė‚˜ė¬“ģ˜ źø°ė¬˜ķ•œ ź²ƒė“¤", - "advancement.twilightforest.ghast_trap.desc": "%s ģ£¼ģœ„ģ˜ %sė“¤ģ„ ķ•“ģ¹˜ģš°ź³  %s넼 ģ•½ķ™”ģ‹œķ‚¤ģ„øģš”.", - "advancement.twilightforest.giants": "구름 ģœ„ė”œ ė‚ ģ•„ģ˜¤ė„¼ 거만 같아", - "advancement.twilightforest.giants.desc": "źµ¬ė¦„ģ—ģ„œ %sģ„(넼) ģ£½ģ“ź³  %sģ„(넼) ķšŒģˆ˜ķ•˜ź³  트딤 ė™źµ“ė”œ ėŒģ•„ź°€ģ„øģš”.", + "advancement.twilightforest.ghast_trap.desc": "%s ģ£¼ė³€ģ˜ %s ė“¤ģ„ ģ²˜ģ¹˜ķ•“ģ„œ %s 넼 끌고 ģ˜¤ģ„øģš”", + "advancement.twilightforest.giants": "구름 ģœ„ė”œ ė‚ ģ•„ģ˜¤ė„¼ 것만 같아", + "advancement.twilightforest.giants.desc": "구름에 ģ‚¬ėŠ” %s 넼 ģ²˜ģ¹˜ķ•˜ź³  %s 넼 ķšė“ķ•œ ė’¤, ė‹¤ģ‹œ 트딤 ė™źµ“ė”œ ėŒģ•„ź°€ģ„øģš”", "advancement.twilightforest.glass_sword": "ķšŒģ‹¬ģ˜ ģ¼ź²©", - "advancement.twilightforest.glass_sword.desc": "ģž˜ ģ‚¬ģš©ķ•˜ģ‹¤ 수 ģžˆźøø ė¹•ė‹ˆė‹¤.", + "advancement.twilightforest.glass_sword.desc": "ģž˜ ģ‚¬ģš©ķ•˜ģ…Øźø°ė„¼ ė°”ėžė‹ˆė‹¤", "advancement.twilightforest.hedge": "벌레컷", - "advancement.twilightforest.hedge.desc": "%s에 ģžˆėŠ” ģšøķƒ€ė¦¬ź±°ėÆøė„¼ ģ²˜ģ¹˜ķ•˜ģ„øģš”.", - "advancement.twilightforest.hill1": "ź·øź±° ė‚“ 부츠야!", - "advancement.twilightforest.hill1.desc": "ė¹„ģ–“ģžˆėŠ” ģ†Œķ˜• ģ–øė•ģ— ģžˆėŠ” %sģ„(넼) ģ²˜ģ¹˜ķ•˜ģ„øģš”.", + "advancement.twilightforest.hedge.desc": "ģšøķƒ€ė¦¬ ėÆøė”œģ— ģžˆėŠ” 거미넼 ģ²˜ģ¹˜ķ•˜ģ„øģš”", + "advancement.twilightforest.hill1": "ź·ø ė¶€ģø ėŠ” 낓꺼야!", + "advancement.twilightforest.hill1.desc": "ģž‘ģ€ 빈 ģ–øė•ģ— ģžˆėŠ” %s ģ„ ģ²˜ģ¹˜ķ•˜ģ„øģš”", "advancement.twilightforest.hill2": "묓슨 ģ†Œė¦¬ģ˜€ģ§€?", - "advancement.twilightforest.hill2.desc": "ė¹„ģ–“ģžˆėŠ” ģ¤‘ķ˜• ģ–øė•ģ— ģžˆėŠ” %sģ„(넼) ģ²˜ģ¹˜ķ•˜ģ„øģš”.", - "advancement.twilightforest.hill3": "ė„Œ ģ“ėÆø ė‚“ 손 ģ•ˆģ— ģžˆė‹¤", - "advancement.twilightforest.hill3.desc": "ė¹„ģ–“ģžˆėŠ” ėŒ€ķ˜• ģ–øė•ģ— ģžˆėŠ” %sģ„(넼) ģ²˜ģ¹˜ķ•˜ģ„øģš”.", + "advancement.twilightforest.hill2.desc": "ģ¤‘ķ˜• 빈 ģ–øė•ģ— ģžˆėŠ” %s ģ„ ģ²˜ģ¹˜ķ•˜ģ„øģš”", + "advancement.twilightforest.hill3": "ė„ˆ ė”± ź±øė øģ–“", + "advancement.twilightforest.hill3.desc": "ź±°ėŒ€ķ•œ 빈 ģ–øė•ģ— ģžˆėŠ” %s ģ„ ģ²˜ģ¹˜ķ•˜ģ„øģš”", "advancement.twilightforest.hydra_chop": "ė§Œķ™”ź³ źø°!?", - "advancement.twilightforest.hydra_chop.desc": "ė°°ź³ ķ”” 바가 ź³ ź°ˆėģ„ ė•Œ %sģ„(넼) ėØ¹ģœ¼ģ„øģš”.", - "advancement.twilightforest.kill_cicada": "정적", - "advancement.twilightforest.kill_cicada.desc": "매미넼 ģ£½ģ“ģ„øģš”.", + "advancement.twilightforest.hydra_chop.desc": "ķ—ˆźø°ź°€ 극에 ė‹¬ķ–ˆģ„ ė•Œ %s넼 ėØ¹ģœ¼ģ„øģš”", + "advancement.twilightforest.kill_cicada": "ģ”°ģš©ķžˆ ķ•˜ģ„øģš§!", + "advancement.twilightforest.kill_cicada.desc": "매미넼 ģ£½ģ“ģ„øģš”", "advancement.twilightforest.kill_hydra": "ķžˆė“œė¼ ģ‚¬ėƒ„ź¾¼", - "advancement.twilightforest.kill_hydra.desc": "ź°•ė „ķ•œ %sģ„(넼) 물리치고 ģŠ¤ģŠ¤ė”œģ˜ ķž˜ģ„ ź°•ķ™”ķ•˜ģ„øģš”.", - "advancement.twilightforest.kill_lich": "ģ£½ģ€ ģžė„¼ ė¶ˆėŸ¬ė‚“ė¼", - "advancement.twilightforest.kill_lich.desc": "ķƒ‘ ź¼­ėŒ€źø°ģ— ģžˆėŠ” %sģ„(넼) ģ²˜ģ¹˜ķ•˜ģ—¬ ėŠŖģ—ģ„œģ˜ ė…ģ„± 모기넼 ģ œź±°ķ•˜ź³  ź¹œź¹œķ•œ ģ–“ė‘  ģ†ģ—ģ„œ ģ–“ė‘ ģ˜ ģˆ²ģ˜ 저주넼 풀고 눈 ė®ģø ģˆ²ģ˜ ėƒ‰źø°ģ— ģ €ķ•­ķ•˜ģ„øģš”.", + "advancement.twilightforest.kill_hydra.desc": "ź°•ė „ķ•œ %s넼 물리치고 ė”ģš± ź°•ė „ķ•“ģ§€ģ„øģš”", + "advancement.twilightforest.kill_lich": "리치 ģ‚¬ėƒ„ź¾¼", + "advancement.twilightforest.kill_lich.desc": "성 ź¼­ėŒ€źø°ģ—ģ„œ %s넼 ģ²˜ģ¹˜ķ•“ ģ§€ķŒ”ģ“ė„¼ 얻얓 ėŠŖģ˜ ėŖØźø° 떼넼 ėŖ°ģ•„ė‚“ź³ , ģ¹ ķ‘ź°™ģ€ ģ–“ė‘ ģ˜ ģˆ²ģ˜ 저주넼 꿰뚫고, 눈 ė®ģø ģˆ²ģ˜ ėƒ‰źø°ģ— ģ €ķ•­ķ•˜ģ„øģš”", "advancement.twilightforest.kill_naga": "ė‚˜ź°€ ģ‚¬ėƒ„ź¾¼", - "advancement.twilightforest.kill_naga.desc": "숲 ģ•ˆėœ°ģ—ģ„œ %sģ„(넼) ģ²˜ģ¹˜ķ•˜ź³  %sģ„(넼) ķšė“ķ•˜ģ—¬ 리치 ģ„±ģ„ ė‘˜ėŸ¬ģ‹¼ ģž„ė²½ ė§ˆė²•ģ„ ė¬¼ė¦¬ģ¹˜ģ„øģš”", + "advancement.twilightforest.kill_naga.desc": "숲 ģ•ˆėœ°ģ—ģ„œ %s 넼 ģ²˜ģ¹˜ķ•˜ź³  %s ģ„ ķšė“ķ•“ģ„œ 리치 ģ„±ģ„ ė‘˜ėŸ¬ģ‹¼ ė§ˆė²• ģž„ė²½ģ„ ź·¹ė³µķ•˜ģ„øģš”", "advancement.twilightforest.lich_scepters": "ģš°ė¦¬ģ˜ ķž˜ģ„ ķ•©ģ¹œė‹¤ė©“!", - "advancement.twilightforest.lich_scepters.desc": "네 ź°œģ˜ ķž˜ģ˜ 셉터넼 모두 ģŠµė“ķ•˜ģ„øģš”", + "advancement.twilightforest.lich_scepters.desc": "ķž˜ģ˜ ģ§€ķŒ”ģ“ 네 ģ¢…ė„˜ė„¼ 모두 ģŠµė“ķ•˜ģ„øģš”", "advancement.twilightforest.magic_map": "ģ˜ģ›ķžˆ ė³¼ 수 ģžˆģ–“", - "advancement.twilightforest.magic_map.desc": "%sģ„(넼) ģ œģž‘ķ•˜ģ„øģš”.", + "advancement.twilightforest.magic_map.desc": "%s 넼 ģ œģž‘ķ•˜ģ„øģš”", "advancement.twilightforest.magic_map_focus": "불딜 źø€ ģ“°źø°", - "advancement.twilightforest.magic_map_focus.desc": "%sģ„(넼) %s, %s, 그리고 %sģ„(넼) ģ“ģš©ķ•“ ė§Œė“œģ„øģš”.", + "advancement.twilightforest.magic_map_focus.desc": "%s넼 %s, %s, ė° %s넼 ģ“ģš©ķ•“ ė§Œė“œģ„øģš”", "advancement.twilightforest.maze_map": "ėÆøė”œėŠ” 지긋지긋핓", - "advancement.twilightforest.maze_map.desc": "ėÆøė”œģ—ģ„œ ė§ˆė²•ģ˜ ģ§€ė„ ź¹ƒķ„øģ„ ģ–»ģ€ 후 %sģ„(넼) ģ œģž‘ķ•˜ģ„øģš”.", + "advancement.twilightforest.maze_map.desc": "ėÆøė”œģ—ģ„œ ė§ˆė²•ģ˜ ģ§€ė„ 렌즈넼 ģ–»ģ€ 후 %s넼 ģ œģž‘ķ•˜ģ„øģš”", "advancement.twilightforest.mazebreaker": "미딜 ė¶€ģˆ˜źø°", - "advancement.twilightforest.mazebreaker.desc": "ėÆøė”œģ˜ ė¹„ė°€ģž„ģ†Œģ—ģ„œ %s ź³”ź“­ģ“ė„¼ ķšė“ķ•˜ģ„øģš”", + "advancement.twilightforest.mazebreaker.desc": "미딜 ģ† ģˆØź²Øģ§„ źøˆź³ ģ—ģ„œ %s ź³”ź“­ģ“ė„¼ ķšė“ķ•˜ģ„øģš”", "advancement.twilightforest.naga_armors": "네 ė¹„ėŠ˜ ģ©”ė”ė¼", - "advancement.twilightforest.naga_armors.desc": "%s(으)딜 ķ‰ź°‘ź³¼ ė ˆź¹…ģŠ¤ė„¼ ģ œģž‘ķ•˜ģ„øģš”.", + "advancement.twilightforest.naga_armors.desc": "%s딜 ķ‰ź°‘ź³¼ ė ˆź¹…ģŠ¤ė„¼ ģ œģž‘ķ•˜ģ„øģš”", "advancement.twilightforest.ore_map": "그게 ģ–“ė–»ź²Œ ź°€ģ¹˜ź°€ ģžˆź² ģ–“?", - "advancement.twilightforest.ore_map.desc": "%sģ„(넼) ģ œģž‘ķ•˜ģ„øģš”", + "advancement.twilightforest.ore_map.desc": "%s넼 ģ œģž‘ķ•˜ģ„øģš”", "advancement.twilightforest.progress_glacier": "ė§‘ģ€ ķ•˜ėŠ˜", - "advancement.twilightforest.progress_glacier.desc": "ģ˜¤ė”œė¼ 궁전 ź¼­ėŒ€źø°ģ—ģ„œ %sģ„(넼) źµ“ė³µģ‹œķ‚¤ģ„øģš”.", + "advancement.twilightforest.progress_glacier.desc": "ģ˜¤ė”œė¼ 궁전 ź¼­ėŒ€źø°ģ—ģ„œ %sģ„ źµ“ė³µģ‹œķ‚¤ģ„øģš”", "advancement.twilightforest.progress_knights": "ģ¹“ėÆøė‚˜ģ“ķŠø ģ ģ‘", - "advancement.twilightforest.progress_knights.desc": "źø°ģ‚¬ģ˜ ė¬“ė¤ģ—ģ„œ ė¶ˆģ•ˆķ•“ķ•˜ėŠ” ķŒ¬ķ…€ģ„ ģ§„ģ •ģ‹œķ‚¤ė©“ ģ¹“ėÆøė‚˜ģ“ķŠø ķƒ‘ģ˜ ģž„ģ¹˜ź°€ ė‹¹ģ‹ ģ—ź²Œ 복종할 ź²ƒģž…ė‹ˆė‹¤.", + "advancement.twilightforest.progress_knights.desc": "źø°ģ‚¬ģ˜ ė¬“ė¤ģ— ė– ė„ėŠ” ģœ ė ¹ģ„ ģ§„ģ •ģ‹œķ‚¤ė©“ ģ¹“ėÆøė‚˜ģ“ķŠø ķƒ‘ģ˜ ģž„ģ¹˜ź°€ ė‹¹ģ‹ ģ—ź²Œ 복종할 ź²ƒģž…ė‹ˆė‹¤", "advancement.twilightforest.progress_labyrinth": "ź°•ė „ķ•œ ģŠ¤ķŠøė”œź°€ė…øķ”„!", - "advancement.twilightforest.progress_labyrinth.desc": "ėÆøė…øķƒ€ģš°ė„“ģŠ¤ ģŠ¤ķŠøė”œź°€ė…øķ”„ė„¼ 먹얓 ėŖøģ„ 불 ėŠŖģ§€ģ˜ ģœ„ķ—˜ķ•œ 엓기에 ģ ģ‘ģ‹œķ‚¤ģ„øģš”.", + "advancement.twilightforest.progress_labyrinth.desc": "ėÆøė…øķƒ€ģš°ė„“ģŠ¤ ģŠ¤ķŠøė”œź°€ė…øķ”„ė„¼ 먹얓 ėŖøģ„ 불 ėŠŖģ§€ģ˜ ģœ„ķ—˜ķ•œ 엓기에 ģ ģ‘ģ‹œķ‚¤ģ„øģš”", "advancement.twilightforest.progress_merge": "ģ–¼ķ‹°ė©”ģ“ķŠø ģ‡¼ė‹¤ģš“", - "advancement.twilightforest.progress_merge.desc": "%s, %s, %sė“¤ģ„ ģ²˜ģ¹˜ķ•˜ģ—¬ 산성비넼 ė©ˆģ¶”ź³  ź³ ģ›ģœ¼ė”œ ģ˜¬ė¼ź°€ģ„øģš”.", + "advancement.twilightforest.progress_merge.desc": "%s, %s, %s ė“¤ģ„ ģ²˜ģ¹˜ķ•˜ģ—¬ 산성비넼 ė©ˆģ¶”ź³  ź³ ģ›ģœ¼ė”œ ģ˜¬ė¼ź°€ģ„øģš”.", "advancement.twilightforest.progress_troll": "ė¶ˆķƒ€ģ˜¤ė„“ė„¤", - "advancement.twilightforest.progress_troll.desc": "트딤 ė©źµ“ģ—ģ„œ %sģ„(넼) ė°œź²¬ķ•˜ģ„øģš”. 그러멓 ģ“ ź°€ģ‹œ ė©źµ“ė“¤ģ„ ģžæź°€ė£Øė”œ ė§Œė“¤ 수 ģžˆģŠµė‹ˆė‹¤.", - "advancement.twilightforest.progress_trophy_pedestal": "ķŠøė”œķ”¼ 챔피언", - "advancement.twilightforest.progress_trophy_pedestal.desc": "ģ–“ė‘ ģ˜ 숲 ķķ—ˆģ— ģžˆėŠ” ķŠøė”œķ”¼ ė°›ģ¹ØėŒ€ė„¼ ģž„ģ‹ķ•˜ź³  ķƒ€ģ“ķ‹€ģ„ ģ–»ģœ¼ģ„øģš”.", + "advancement.twilightforest.progress_troll.desc": "트딤 ė™źµ“ģ—ģ„œ %s 넼 ė°œź²¬ķ•˜ģ„øģš”. 그것으딜 ź°€ģ‹œė©źµ“ ė²½ģ„ 불태울 수 ģžˆģŠµė‹ˆė‹¤", + "advancement.twilightforest.progress_trophy_pedestal": "ķŠøė”œķ”¼ ė“  챔피언", + "advancement.twilightforest.progress_trophy_pedestal.desc": "ģ–“ė‘ ģ˜ 숲 ķķ—ˆģ— ģžˆėŠ” ķŠøė”œķ”¼ ė°›ģ¹ØėŒ€ė„¼ ģž„ģ‹ķ•˜ź³  ė‹¹ģ‹ ģ˜ ģžź²©ģ„ ģ¦ėŖ…ķ•˜ģ„øģš”", "advancement.twilightforest.progress_ur_ghast": "ė¶ˆģ˜ 눈물", "advancement.twilightforest.progress_ur_ghast.desc": "%sģ˜ ė¶ˆķƒ€ģ˜¤ė„“ėŠ” ė¶‰ģ€ ėˆˆė¬¼ģ„ ė§Œģ øė³“ģ„øģš”.", - "advancement.twilightforest.progress_yeti": "ģ•ŒķŒŒģ˜ 모피", - "advancement.twilightforest.progress_yeti.desc": "%sģ˜ ė¶€ė“œėŸ¬ģš“ ķ„øė”œ ģ˜·ģ„ ģž…ź³  ė¹™ķ•˜ģ˜ ģ¶”ģœ„ė„¼ \nģ“ź²Øė‚“ģ„øģš”.", + "advancement.twilightforest.progress_yeti": "ģš°ė‘ėØøė¦¬ ģ˜ˆķ‹°ģ˜ 모피", + "advancement.twilightforest.progress_yeti.desc": "%sģ˜ ė¶€ė“œėŸ¬ģš“ ķ„øė”œ ė§Œė“  ģ˜·ģ„ ģž…ź³  ė¹™ķ•˜ģ˜ ģ¶”ģœ„ė”œė¶€ķ„° ģ•ˆģ „ķ•“ģ§€ģ„øģš”", "advancement.twilightforest.progression_end": "ģ§„ķ–‰ģ˜ ė", "advancement.twilightforest.progression_end.desc": "ź³ ģ›ģ„ ģ§€ė‚œ ė’¤ģ˜ ėŖØė“  ź²ƒģ€ ģž‘ģ—…ģ“ ģ§„ķ–‰ ģ¤‘ģž…ė‹ˆė‹¤. ėÆøėž˜ģ— 완성될 ź²ƒģž…ė‹ˆė‹¤.", - "advancement.twilightforest.quest_ram": "바아아~", - "advancement.twilightforest.quest_ram.desc": "%s에 ėˆ„ė½ėœ ė¶€ė¶„ģ„ ģ£¼ģ„øģš”.", + "advancement.twilightforest.quest_ram": "ģ™„ė²½ķ•œ ģ–‘ģ˜ ģšøģŒģ†Œė¦¬", + "advancement.twilightforest.quest_ram.desc": "%sģ˜ ė¹„ģ–“ģžˆėŠ” ė¶€ė¶„ģ„ ģ±„ģ›Œģ£¼ģ„øģš”", "advancement.twilightforest.root": "ķ™©ķ˜¼ģ˜ 숲", - "advancement.twilightforest.root.desc": "신비딭고, ė§ˆė²•ģ“ ź¹ƒė“  ķ™©ķ˜¼ģ˜ ģˆ²ģ— ė“¤ģ–“ź°€ģ„øģš”!", + "advancement.twilightforest.root.desc": "신비딭고, ė§ˆė²•ģ“ ź¹ƒė“  ķ™©ķ˜¼ģ˜ 숲으딜 ė“¤ģ–“ź°€ģ„øģš”", "advancement.twilightforest.troll": "ķ•œķƒ•ķ•“ė³“ģž", - "advancement.twilightforest.troll.desc": "%sģ„(넼) ģ°¾ģ•„ģ„œ ģ£½ģ“ģ„øģš”", + "advancement.twilightforest.troll.desc": "%sģ„ ģ°¾ģ•„ģ„œ ģ²˜ģ¹˜ķ•˜ģ„øģš”", "advancement.twilightforest.twilight_dining": "ģ˜ģ›ķ•œ ģ¼ėŖ°ģ—ģ„œģ˜ ģ‹ģ‚¬", - "advancement.twilightforest.twilight_dining.desc": "ķ™©ķ˜¼ģ˜ ģˆ²ģ—ģ„œė§Œ ėØ¹ģ„ 수 ģžˆėŠ” ėŖØė“  ģŒģ‹ģ„ ģ„­ģ·Øķ•˜ģ„øģš”", + "advancement.twilightforest.twilight_dining.desc": "ķ™©ķ˜¼ģ˜ ģˆ²ģ—ģ„œė§Œ ėØ¹ģ„ 수 ģžˆėŠ” ėŖØė“  ģŒģ‹ģ„ ėØ¹ģœ¼ģ„øģš”", "advancement.twilightforest.twilight_hunter": "ģˆ²ģ˜ ź³ ģš”ķ•Ø", - "advancement.twilightforest.twilight_hunter.desc": "ģˆ²ģ˜ ė™ė¬¼ģ„ ģ‚¬ėƒ„ķ•˜ģ„øģš”", + "advancement.twilightforest.twilight_hunter.desc": "ģˆ²ģ˜ ģ•¼ģƒ ė™ė¬¼ģ„ ģ‚¬ėƒ„ķ•˜ģ„øģš”", "advancement.twilightforest.uncraft_uncrafting_table": "ė„ˆė¬“ė‚˜ė„ 먼 ź±øģŒ", "advancement.twilightforest.uncraft_uncrafting_table.desc": "ģ—­ģ œģž‘ėŒ€ė„¼ ģ—­ģ œģž‘ķ•˜ģ„øģš”", - "auroraBiomes.button": "ė°”ģ“ģ˜“ ķŽøģ§‘", + "auroraBiomes.button": "ģƒė¬¼ 군계 ķŽøģ§‘", "biome.twilightforest.clearing": "ķ™©ķ˜¼ģ˜ ķ‰ģ›", "biome.twilightforest.dark_forest": "ģ–“ė‘ ģ˜ 숲", "biome.twilightforest.dark_forest_center": "ģ–“ė‘ ģ˜ 숲 중앙", @@ -260,13 +260,13 @@ "block.twilightforest.antibuilder": "ģ•ˆķ‹°ė¹Œė”", "block.twilightforest.antibuilt_block": "구축 ė°©ģ§€ ėø”ė”", "block.twilightforest.arctic_fur_block": "ź·¹ģ§€ė™ė¬¼ģ˜ 털 ėø”ė”", - "block.twilightforest.arctic_fur_block.desc": "ė‚™ģƒ 피핓넼 90%만큼 ź°ģ†Œģ‹œķ‚µė‹ˆė‹¤.", + "block.twilightforest.arctic_fur_block.desc": "ė‚™ķ•˜ 피핓넼 90%만큼 ź°ģ†Œģ‹œķ‚µė‹ˆė‹¤", "block.twilightforest.aurora_block": "ģ˜¤ė”œė¼ ėø”ė”", "block.twilightforest.aurora_pillar": "ģ˜¤ė”œė¼ źø°ė‘„", "block.twilightforest.aurora_slab": "ģ˜¤ė”œė¼ 반 ėø”ė”", "block.twilightforest.auroralized_glass": "ģ˜¤ė”œė¼ 유리", "block.twilightforest.bamboo_banister": "ėŒ€ė‚˜ė¬“ ė‚œź°„", - "block.twilightforest.banister.cycle": "ėŖØģ–‘ģ„ 바꾸려멓 ė„ė¼ė„¼ 들고 마우스 ģš°ķ“ė¦­ķ•˜ģ„øģš”.", + "block.twilightforest.banister.cycle": "ėŖØģ–‘ģ„ 바꾸려멓 ė„ė¼ė„¼ 들고 마우스 ģš°ķ“ė¦­ķ•˜ģ„øģš”", "block.twilightforest.beanstalk_leaves": "ģ½©ė‚˜ė¬“ 줄기 ģžŽ", "block.twilightforest.birch_banister": "ģžģž‘ė‚˜ė¬“ ė‚œź°„", "block.twilightforest.blue_castle_door": "ķŒŒėž€ģƒ‰ 성 문", @@ -276,6 +276,7 @@ "block.twilightforest.bold_castle_brick_stairs": "źµµģ€ 성 ģ„ģž¬ ė²½ėŒ 계단", "block.twilightforest.bold_castle_brick_tile": "źµµģ€ 성 ģ„ģž¬ ė²½ėŒ ķƒ€ģ¼", "block.twilightforest.bold_stone_pillar": "źµµģ€ ėŒźø°ė‘„", + "block.twilightforest.brazier": "ķ™”ė”œ", "block.twilightforest.brown_thorns": "ź°€ģ‹œ", "block.twilightforest.built_block": "구축 ėø”ė”", "block.twilightforest.burnt_thorns": "ķƒ€ė²„ė¦° ź°€ģ‹œ", @@ -298,41 +299,39 @@ "block.twilightforest.canopy_stairs": "ģŗė…øķ”¼ė‚˜ė¬“ 계단", "block.twilightforest.canopy_trapdoor": "ģŗė…øķ”¼ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.canopy_trapped_chest": "ģŗė…øķ”¼ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.canopy_wall_hanging_sign": "ģŗė…øķ”¼ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.canopy_wall_sign": "ģŗė…øķ”¼ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.canopy_window": "ģŗė…øķ”¼ė‚˜ė¬“ 창문", "block.twilightforest.canopy_window_pane": "ģŗė…øķ”¼ė‚˜ė¬“ 창유리", "block.twilightforest.canopy_wood": "ģŗė…øķ”¼ė‚˜ė¬“", "block.twilightforest.carminite_block": "ģ¹“ėÆøė‚˜ģ“ķŠø ėø”ė”", "block.twilightforest.carminite_builder": "ģ¹“ėÆøė‚˜ģ“ķŠø 구축기", "block.twilightforest.carminite_reactor": "ģ¹“ėÆøė‚˜ģ“ķŠø ė°˜ģ‘źø°", - "block.twilightforest.casket.broken": "źø°ė…ķ’ˆ ģƒģžź°€ ģ‹¬ķ•˜ź²Œ ģ†ģƒė˜ģ–“ ė” ģ“ģƒ ģ•„ģ“ķ…œģ„ 볓꓀할 수 ģ—†ģŠµė‹ˆė‹¤. ė‹¹ģ‹ ģ˜ ģž„ģ‹ķ•Øģ— 볓꓀될 ėŖØė“  ģ•„ģ“ķ…œė“¤ģ“ 땅에 ė–Øģ–“ģ”ŒģŠµė‹ˆė‹¤.", + "block.twilightforest.casket.broken": "ģœ ķ’ˆ ģƒģžź°€ ģ‹¬ķ•˜ź²Œ ģ†ģƒė˜ģ—ˆģŠµė‹ˆė‹¤. ģ•„ģ“ķ…œģ„ ė³“ź“€ķ•˜ėŠ” ė™ģ•ˆ 핓골 ģƒģžė”œ ė³€ģ§ˆė˜ģ—ˆģŠµė‹ˆė‹¤.", + "block.twilightforest.casket.damage": "피핓: %s", "block.twilightforest.casket.locked": "ģ“ ģž„ģ‹ķ•Øģ€ %s만 ģ—“ 수 ģžˆģŠµė‹ˆė‹¤!", "block.twilightforest.castle_brick": "성 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.castle_brick_stairs": "성 ģ„ģž¬ ė²½ėŒ 계단", "block.twilightforest.castle_roof_tile": "성 지붕 ķƒ€ģ¼", - "block.twilightforest.cherry_banister": "ģ²“ė¦¬ė‚˜ė¬“ ė‚œź°„", + "block.twilightforest.cherry_banister": "ė²šė‚˜ė¬“ ė‚œź°„", "block.twilightforest.chiseled_canopy_bookshelf": "씰각된 ģŗė…øķ”¼ė‚˜ė¬“ ģ±…ģž„", "block.twilightforest.cicada": "매미", - "block.twilightforest.cicada_jar": "매미 병", + "block.twilightforest.cicada_jar": "매미가 ė“  병", "block.twilightforest.cinder_furnace": "ķƒ€ė²„ė¦° ķ™”ė”œ", "block.twilightforest.cinder_log": "ķƒ€ė²„ė¦° 원목", "block.twilightforest.cinder_wood": "ķƒ€ė²„ė¦° ė‚˜ė¬“", "block.twilightforest.clover_patch": "ķ“ė”œė²„ 씰각", + "block.twilightforest.coronation_carpet": "ėŒ€ź“€ģ‹ģž„ ģ–‘ķƒ„ģž", "block.twilightforest.cracked_castle_brick": "금 ź°„ 성 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.cracked_castle_brick_stairs": "금 ź°„ 성 ģ„ģž¬ ė²½ėŒ 계단", "block.twilightforest.cracked_deadrock": "금 ź°„ ė°ė“œė½", "block.twilightforest.cracked_etched_nagastone": "금 ź°„ 씰각된 ė‚˜ź°€ģ„", "block.twilightforest.cracked_mazestone": "금 ź°„ 미딜 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.cracked_nagastone_pillar": "금 ź°„ ė‚˜ź°€ģ„ źø°ė‘„", - "block.twilightforest.cracked_nagastone_stairs_left": "금 ź°„ ė‚˜ź°€ģ„ 계단 (왼쪽)", - "block.twilightforest.cracked_nagastone_stairs_right": "금 ź°„ ė‚˜ź°€ģ„ 계단 (오넸쪽)", + "block.twilightforest.cracked_nagastone_stairs_left": "왼쪽 금 ź°„ ė‚˜ź°€ģ„ 계단", + "block.twilightforest.cracked_nagastone_stairs_right": "오넸쪽 금 ź°„ ė‚˜ź°€ģ„ 계단", "block.twilightforest.cracked_towerwood": "금 ź°„ ķƒ‘ė‚˜ė¬“ ķŒģž", "block.twilightforest.cracked_underbrick": "금 ź°„ ģ–øė” ģ„ģž¬ ė²½ėŒ", - "block.twilightforest.creeper_skull_candle": "ķ¬ė¦¬ķ¼ 핓골 쓈", - "block.twilightforest.creeper_wall_skull_candle": "벽에 걸린 ķ¬ė¦¬ķ¼ 핓골 쓈", + "block.twilightforest.creeper_skull_candle": "ķ¬ė¦¬ķ¼ 머리 쓈", "block.twilightforest.crimson_banister": "ģ§„ķ™ė¹› ė‚œź°„", - "block.twilightforest.cursed_spawner": "ģ €ģ£¼ė°›ģ€ ģƒģ„±źø°", "block.twilightforest.cut_mazestone": "씰각된 ėÆøė”œģ„", "block.twilightforest.dark_banister": "ģ–“ė‘ ė‚˜ė¬“ ė‚œź°„", "block.twilightforest.dark_button": "ģ–“ė‘ ė‚˜ė¬“ ė²„ķŠ¼", @@ -351,8 +350,6 @@ "block.twilightforest.dark_stairs": "ģ–“ė‘ ė‚˜ė¬“ 계단", "block.twilightforest.dark_trapdoor": "ģ–“ė‘ ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.dark_trapped_chest": "ģ–“ė‘ ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.dark_wall_hanging_sign": "ģ–“ė‘ ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.dark_wall_sign": "ģ–“ė‘ ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.dark_wood": "ģ–“ė‘ ė‚˜ė¬“", "block.twilightforest.darkwood_sapling": "ģ–“ė‘ ė‚˜ė¬“ 묘목", "block.twilightforest.deadrock": "ė°ė“œė½", @@ -373,7 +370,7 @@ "block.twilightforest.final_boss_boss_spawner": "ģµœģ¢… 볓스 볓스 ģƒģ„±źø°", "block.twilightforest.fire_jet": "화염 ė¶„ģ¶œźø°", "block.twilightforest.firefly": "ė°˜ė”§ė¶ˆģ“", - "block.twilightforest.firefly_jar": "ė°˜ė”§ė¶ˆģ“ 병", + "block.twilightforest.firefly_jar": "ė°˜ė”§ė¶ˆģ“ź°€ ė“  병", "block.twilightforest.firefly_particle_spawner": "ė°˜ė”§ė¶ˆģ“ ģž…ģž ģƒģ„±źø°", "block.twilightforest.fluffy_cloud": "ģ†œķ„ø 구름", "block.twilightforest.ghast_trap": "ź°€ģŠ¤ķŠø 함정", @@ -451,11 +448,11 @@ "block.twilightforest.iron_ladder": "ģ²  사다리", "block.twilightforest.ironwood_block": "ģ•„ģ“ģ–øģš°ė“œ ėø”ė”", "block.twilightforest.jungle_banister": "ģ •źø€ė‚˜ė¬“ ė‚œź°„", - "block.twilightforest.keepsake_casket": "źø°ė…ķ’ˆ ģƒģž", + "block.twilightforest.keepsake_casket": "ģœ ķ’ˆ ģƒģž", "block.twilightforest.knight_phantom_boss_spawner": "ķŒ¬ķ…€ 기사 볓스 ģƒģ„±źø°", "block.twilightforest.knight_phantom_trophy": "ķŒ¬ķ…€ 기사 ķŠøė”œķ”¼", "block.twilightforest.knightmetal_block": "źø°ģ‚¬źøˆģ† ėø”ė”", - "block.twilightforest.knightmetal_block.desc": "ė” ź°•ķ•œ ģ„ ģøģž„ģœ¼ė”œģ„œ ģž‘ģ—…ķ•©ė‹ˆė‹¤.", + "block.twilightforest.knightmetal_block.desc": "ė” ź°•ė „ķ•œ ģ„ ģøģž„ź³¼ ź°™ģ€ źø°ėŠ„ģ„ ķ•©ė‹ˆė‹¤", "block.twilightforest.lich_boss_spawner": "리치 볓스 ģƒģ„±źø°", "block.twilightforest.lich_tower_miniature_structure": "ėÆøė‹ˆģ–“ģ²˜ ė¦¬ģ¹˜ģ˜ ķƒ‘", "block.twilightforest.lich_trophy": "리치 ķŠøė”œķ”¼", @@ -479,10 +476,8 @@ "block.twilightforest.mangrove_stairs": "ė§¹ź·øė”œėøŒė‚˜ė¬“ 계단", "block.twilightforest.mangrove_trapdoor": "ė§¹ź·øė”œėøŒė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.mangrove_trapped_chest": "ė§¹ź·øė”œėøŒė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.mangrove_wall_hanging_sign": "ė§¹ź·øė”œėøŒė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.mangrove_wall_sign": "ė§¹ź·øė”œėøŒė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.mangrove_wood": "ė§¹ź·øė”œėøŒė‚˜ė¬“", - "block.twilightforest.mason_jar": "ė©”ģ“ģŠØ 병", + "block.twilightforest.mason_jar": "ģœ ė¦¬ė³‘", "block.twilightforest.mayapple": "ė§¤ģ•¼ķ”Œ", "block.twilightforest.mazestone": "ėÆøė”œģ„", "block.twilightforest.mazestone_border": "ėÆøė”œģ„ ķ…Œė‘ė¦¬", @@ -506,8 +501,6 @@ "block.twilightforest.mining_stairs": "ź“‘ė¶€ė‚˜ė¬“ 계단", "block.twilightforest.mining_trapdoor": "ź“‘ė¶€ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.mining_trapped_chest": "ź“‘ė¶€ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.mining_wall_hanging_sign": "ź“‘ė¶€ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.mining_wall_sign": "ź“‘ė¶€ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.mining_wood": "ź“‘ė¶€ė‚˜ė¬“", "block.twilightforest.minoshroom_boss_spawner": "ėÆøė…øģ‹œė£ø 볓스 ģƒģ„±źø°", "block.twilightforest.minoshroom_trophy": "ėÆøė…øģ‹œė£ø ķŠøė”œķ”¼", @@ -518,8 +511,8 @@ "block.twilightforest.mossy_etched_nagastone": "ģ“ė¼ ė‚€ 씰각된 ė‚˜ź°€ģ„", "block.twilightforest.mossy_mazestone": "ģ“ė¼ ė‚€ 미딜 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.mossy_nagastone_pillar": "ģ“ė¼ ė‚€ ė‚˜ź°€ģ„ źø°ė‘„", - "block.twilightforest.mossy_nagastone_stairs_left": "ģ“ė¼ ė‚€ ė‚˜ź°€ģ„ 계단 (왼쪽)", - "block.twilightforest.mossy_nagastone_stairs_right": "ģ“ė¼ ė‚€ ė‚˜ź°€ģ„ 계단 (오넸쪽)", + "block.twilightforest.mossy_nagastone_stairs_left": "왼쪽 ģ“ė¼ ė‚€ ė‚˜ź°€ģ„ 계단", + "block.twilightforest.mossy_nagastone_stairs_right": "오넸쪽 ģ“ė¼ ė‚€ ė‚˜ź°€ģ„ 계단", "block.twilightforest.mossy_towerwood": "ģ“ė¼ ė‚€ ķƒ‘ė‚˜ė¬“ ķŒģž", "block.twilightforest.mossy_underbrick": "ģ“ė¼ ė‚€ ģ–øė” ģ„ģž¬ ė²½ėŒ", "block.twilightforest.mushgloom": "ėØøģ‹œź·øė£ø", @@ -529,18 +522,16 @@ "block.twilightforest.nagastone": "ė‚˜ź°€ģ„", "block.twilightforest.nagastone_head": "ė‚˜ź°€ģ„ 머리", "block.twilightforest.nagastone_pillar": "ė‚˜ź°€ģ„ źø°ė‘„", - "block.twilightforest.nagastone_stairs_left": "ė‚˜ź°€ģ„ 계단 (왼쪽)", - "block.twilightforest.nagastone_stairs_right": "ė‚˜ź°€ģ„ 계단 (오넸쪽)", + "block.twilightforest.nagastone_stairs_left": "왼쪽 ė‚˜ź°€ģ„ 계단", + "block.twilightforest.nagastone_stairs_right": "오넸쪽 ė‚˜ź°€ģ„ 계단", "block.twilightforest.oak_banister": "ģ°øė‚˜ė¬“ ė‚œź°„", "block.twilightforest.orange_force_field": "ģ£¼ķ™©ģƒ‰ ģ—­ģž„", - "block.twilightforest.piglin_skull_candle": "피글린 핓골 쓈", - "block.twilightforest.piglin_wall_skull_candle": "벽에 걸린 피글린 핓골 쓈", + "block.twilightforest.piglin_skull_candle": "피글린 머리 쓈", "block.twilightforest.pink_castle_door": "ģžķ™ģƒ‰ 성 문", "block.twilightforest.pink_castle_rune_brick": "ģžķ™ģƒ‰ 성 룬 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.pink_force_field": "ģžķ™ģƒ‰ ģ—­ģž„", - "block.twilightforest.player_skull_candle": "ķ”Œė ˆģ“ģ–“ 핓골 쓈", - "block.twilightforest.player_skull_candle.named": "%sģ˜ 머리 쓈", - "block.twilightforest.player_wall_skull_candle": "벽에 걸린 ķ”Œė ˆģ“ģ–“ 핓골 쓈", + "block.twilightforest.player_skull_candle": "ķ”Œė ˆģ“ģ–“ 머리 쓈", + "block.twilightforest.player_skull_candle.named": "%sģ˜ 머리가 ģ˜¬ė ¤ģ§„ 쓈", "block.twilightforest.potted_canopy_sapling": "화분에 ģ‹¬ģ€ ģŗė…øķ”¼ė‚˜ė¬“ 묘목", "block.twilightforest.potted_darkwood_sapling": "화분에 ģ‹¬ģ€ ģ–“ė‘ ė‚˜ė¬“ 묘목", "block.twilightforest.potted_dead_thorn": "화분에 ģ‹¬ģ€ ķƒ€ė²„ė¦° ź°€ģ‹œ", @@ -560,16 +551,16 @@ "block.twilightforest.quest_ram_trophy": "ķ€˜ģŠ¤ķŠø ģ–‘ ķŠøė”œķ”¼", "block.twilightforest.rainbow_oak_leaves": "ė¬“ģ§€ź°œ ģ°øė‚˜ė¬“ ģžŽ", "block.twilightforest.rainbow_oak_sapling": "ė¬“ģ§€ź°œ ģ°øė‚˜ė¬“ 묘목", - "block.twilightforest.rainy_cloud": "먹구름", + "block.twilightforest.rainy_cloud": "비구름", "block.twilightforest.reactor_debris": "ģ›ģžė”œ ģž”ķ•“", "block.twilightforest.reappearing_block": "źµ¬ķ˜„ ėø”ė”", "block.twilightforest.red_thread": "ė¶‰ģ€ 실", "block.twilightforest.root": "뿌리", "block.twilightforest.root_strand": "ėæŒė¦¬ź°€ė‹„", "block.twilightforest.rope": "밧줄", - "block.twilightforest.royal_rags": "ź³ ź·€ķ•œ ė„ė§ˆ", + "block.twilightforest.sinister_spawner": "ė¶ˆźøøķ•œ ģƒģ„±źø°", "block.twilightforest.skeleton_skull_candle": "ģŠ¤ģ¼ˆė ˆķ†¤ 핓골 쓈", - "block.twilightforest.skeleton_wall_skull_candle": "벽에 걸린 ģŠ¤ģ¼ˆė ˆķ†¤ 핓골 쓈", + "block.twilightforest.skull_chest": "핓골 ģƒģž", "block.twilightforest.slider": "ėÆøė„ėŸ¼ 함정", "block.twilightforest.smoker": "ģ—°źø° ėø”ė”", "block.twilightforest.snow_queen_boss_spawner": "ėˆˆģ˜ 여왕 볓스 ģƒģ„±źø°", @@ -593,8 +584,6 @@ "block.twilightforest.sorting_stairs": "ė¶„ė„˜ė‚˜ė¬“ 계단", "block.twilightforest.sorting_trapdoor": "ė¶„ė„˜ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.sorting_trapped_chest": "ė¶„ė„˜ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.sorting_wall_hanging_sign": "ė¶„ė„˜ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.sorting_wall_sign": "ė¶„ė„˜ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.sorting_wood": "ė¶„ė„˜ė‚˜ė¬“", "block.twilightforest.spiral_bricks": "ė‚˜ģ„ ķ˜• ė²½ėŒ", "block.twilightforest.spruce_banister": "ź°€ė¬øė¹„ė‚˜ė¬“ ė‚œź°„", @@ -640,8 +629,6 @@ "block.twilightforest.time_stairs": "ģ‹œź°„ė‚˜ė¬“ 계단", "block.twilightforest.time_trapdoor": "ģ‹œź°„ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.time_trapped_chest": "ģ‹œź°„ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.time_wall_hanging_sign": "ģ‹œź°„ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.time_wall_sign": "ģ‹œź°„ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.time_wood": "ģ‹œź°„ė‚˜ė¬“", "block.twilightforest.torchberry_plant": "ķ† ģ¹˜ė² ė¦¬ 가지", "block.twilightforest.towerwood": "ķƒ‘ė‚˜ė¬“ ķŒģž", @@ -654,7 +641,7 @@ "block.twilightforest.transformation_hanging_sign": "ė³€ķ™”ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ķ‘œģ§€ķŒ", "block.twilightforest.transformation_leaves": "ģ „ķ™˜ė‚˜ė¬“ ģžŽ", "block.twilightforest.transformation_log": "ė³€ķ™”ė‚˜ė¬“ 원목", - "block.twilightforest.transformation_log_core": "ģ „ķ™˜ė‚˜ė¬“ģ˜ ģ‹¬ģž„", + "block.twilightforest.transformation_log_core": "ė³€ķ™”ė‚˜ė¬“ ģ‹¬ģž„", "block.twilightforest.transformation_planks": "ė³€ķ™”ė‚˜ė¬“ ķŒģž", "block.twilightforest.transformation_pressure_plate": "ė³€ķ™”ė‚˜ė¬“ ģ••ė „ķŒ", "block.twilightforest.transformation_sapling": "ė³€ķ™”ė‚˜ė¬“ 묘목", @@ -663,8 +650,6 @@ "block.twilightforest.transformation_stairs": "ė³€ķ™”ė‚˜ė¬“ 계단", "block.twilightforest.transformation_trapdoor": "ė³€ķ™”ė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.transformation_trapped_chest": "ė³€ķ™”ė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.transformation_wall_hanging_sign": "ė³€ķ™”ė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.transformation_wall_sign": "ė³€ķ™”ė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.transformation_wood": "ė³€ķ™”ė‚˜ė¬“", "block.twilightforest.trollber": "ķŠøė”¤ė²„", "block.twilightforest.trollsteinn": "ķŠøė”¤ģŠ¤ķ…Œģø", @@ -687,8 +672,6 @@ "block.twilightforest.twilight_oak_stairs": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“ 계단", "block.twilightforest.twilight_oak_trapdoor": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“ ė‹¤ė½ė¬ø", "block.twilightforest.twilight_oak_trapped_chest": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“ ė« ģƒģž", - "block.twilightforest.twilight_oak_wall_hanging_sign": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“ ė§¤ė‹¤ėŠ” ė²½ ķ‘œģ§€ķŒ", - "block.twilightforest.twilight_oak_wall_sign": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“ ė²½ ķ‘œģ§€ķŒ", "block.twilightforest.twilight_oak_wood": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“", "block.twilightforest.twilight_portal": "ķ™©ķ˜¼ģ˜ 숲 차원문", "block.twilightforest.twilight_portal_miniature_structure": "ėÆøė‹ˆģ–“ģ²˜ ķ™©ķ˜¼ģ˜ 숲 차원문", @@ -710,22 +693,20 @@ "block.twilightforest.violet_force_field": "ė³“ė¼ģƒ‰ ģ—­ģž„", "block.twilightforest.warped_banister": "뒤틀린 ė‚œź°„", "block.twilightforest.weathered_deadrock": "ķ’ķ™”ėœ ė°ė“œė½", - "block.twilightforest.wispy_cloud": "ėŖ‡ 줄기 구름", + "block.twilightforest.wispy_cloud": "ķ¬ėÆøķ•œ 구름", "block.twilightforest.wither_skeleton_skull_candle": "ģœ„ė” ģŠ¤ģ¼ˆė ˆķ†¤ 핓골 쓈", - "block.twilightforest.wither_skeleton_wall_skull_candle": "벽에 걸린 ģœ„ė” ģŠ¤ģ¼ˆė ˆķ†¤ 핓골 쓈", "block.twilightforest.worn_castle_brick": "ķ•“ģ§„ 성 ģ„ģž¬ ė²½ėŒ", "block.twilightforest.worn_castle_brick_stairs": "ķ•“ģ§„ 성 ģ„ģž¬ ė²½ėŒ 계단", "block.twilightforest.wrought_iron_fence": "ģ—°ģ²  ģšøķƒ€ė¦¬", "block.twilightforest.wrought_iron_fence.cap": "Shift + ģš°ķ“ė¦­ķ•˜ģ—¬ ź°™ģ€ ėø”ė”ģ— ģž„ģ‹ģ„ ė°°ģ¹˜ķ•©ė‹ˆė‹¤.", "block.twilightforest.yellow_castle_door": "ė…øėž€ģƒ‰ 성 문", "block.twilightforest.yellow_castle_rune_brick": "ė…øėž€ģƒ‰ 성 룬 ģ„ģž¬ ė²½ėŒ", - "block.twilightforest.zombie_skull_candle": "좀비 핓골 쓈", - "block.twilightforest.zombie_wall_skull_candle": "벽에 걸린 좀비 핓골 쓈", + "block.twilightforest.zombie_skull_candle": "좀비 머리 쓈", "commands.tffeature.center": "ķŠ¹ģ§•ģ˜ 중심: %s", "commands.tffeature.chunk": "ķŠ¹ģ§• 청크: %s", "commands.tffeature.nearest": "ź°€ģž„ ź°€ź¹Œģš“ ķŠ¹ģ§•ģ€ %sģž…ė‹ˆė‹¤.", "commands.tffeature.none_nearby": "주변 źø°ėŠ„ģ„ ģ°¾ģ„ 수 ģ—†ģŠµė‹ˆė‹¤!", - "commands.tffeature.not_player": "ģ“ ėŖ…ė ¹ģ–“ėŠ” ķ”Œė ˆģ“ģ–“ė¶€ķ„°ė”œė§Œ ģ‹¤ķ–‰ė˜ģ–“ģ•¼ ķ•©ė‹ˆė‹¤!", + "commands.tffeature.not_player": "ģ“ ėŖ…ė ¹ģ–“ėŠ” ķ”Œė ˆģ“ģ–“ė§Œ 실행할 수 ģžˆģŠµė‹ˆė‹¤!", "commands.tffeature.structure.boundaries": "구씰물 경계: %s", "commands.tffeature.structure.conquer.status": "구씰물 정복기: %s", "commands.tffeature.structure.conquer.update": "구씰물 정복기가 %sģ“ģ—ˆź³ , %s딜 ė³€ź²½ė˜ģ—ˆģŠµė‹ˆė‹¤.", @@ -735,43 +716,43 @@ "commands.tffeature.structure.spawn_info": "%s 묓게 %s", "commands.tffeature.structure.spawn_list": "ģ“ ģ§€ģ—­ģ˜ ģŠ¤ķ° ėŖ©ė”ģ€ ė‹¤ģŒź³¼ ź°™ģŠµė‹ˆė‹¤:", "commands.tffeature.usage": "/%s <정볓 | ģž¬ķ™œģ„± | ģ •ė³µ | 중앙>", - "config.jade.plugin_twilightforest.chiseled_bookshelf_spawner": "씰각된 ģŗė…øķ”¼ė‚˜ė¬“ ģ±…ģž„ģ“ ģƒģ„±ķ•Ø", + "config.jade.plugin_twilightforest.chiseled_bookshelf_spawner": "씰각된 ģŗė…øķ”¼ė‚˜ė¬“ ģ±…ģž„ ģƒģ„±", "config.jade.plugin_twilightforest.quest_ram_wool": "ķ€˜ģŠ¤ķŠø ģ–‘ 양털", "config.twilightforest.animate_trophies": "ģ• ė‹ˆė©”ģ“ģ…˜ ķŠøė”œķ”¼", "config.twilightforest.animate_trophies.tooltip": "ģ•„ģ“ķ…œ ėŖØėøģ—ģ„œ ķŠøė”œķ”¼ ķ—¤ė“œė„¼ ķšŒģ „ķ•©ė‹ˆė‹¤. ģ„±ėŠ„ģ— ģ „ķ˜€ ģ˜ķ–„ģ„ ėÆøģ¹˜ģ§€ ģ•ŠģŠµė‹ˆė‹¤. ģž¬ėÆøė„¼ ģ¢‹ģ•„ķ•˜ģ§€ ģ•ŠėŠ” ģ‚¬ėžŒė“¤ģ„ ģœ„ķ•“ ė§ģ“ģ£ .", "config.twilightforest.aurora_biomes": "ģ˜¤ė”œė¼ ģ…°ģ“ė” ģƒė¬¼ 군계", "config.twilightforest.aurora_biomes.tooltip": "ģ˜¤ė”œė¼ ģ…°ģ“ė” ķšØź³¼ź°€ ė‚˜ķƒ€ė‚  ģƒė¬¼ 군계넼 ģ •ģ˜ķ•©ė‹ˆė‹¤. 효과넼 ė¹„ķ™œģ„±ķ™”ķ•˜ė ¤ė©“ ėŖ©ė”ģ„ ė¹„ģ›Œė‘ģ„øģš”.", "config.twilightforest.boss_drop_chests": "볓스 ģ „ė¦¬ķ’ˆ ģƒģž", - "config.twilightforest.boss_drop_chests.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ė³“ģŠ¤ėŠ” ģ „ė¦¬ķ’ˆģ„ 직접 ė–Øģ–“ėœØė¦¬ėŠ” ėŒ€ģ‹  ģ›ėž˜ ģƒģ„±ėœ ģƒģž ģ•ˆģ— ģ „ė¦¬ķ’ˆģ„ ė„£ģŠµė‹ˆė‹¤.\nķŒ¬ķ…€ źø°ģ‚¬ėŠ” ė“œėž ė°©ģ‹ģ“ ė‹¤ė„“ėÆ€ė”œ ģ˜ķ–„ģ„ 받지 ģ•ŠģŠµė‹ˆė‹¤.", - "config.twilightforest.casket_uuid_locking": "ź“€ UUID ģž źøˆ", - "config.twilightforest.casket_uuid_locking.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ”Œė ˆģ“ģ–“ź°€ ģ‚¬ė§ķ•  ė•Œ ģƒģ„±ėœ źø°ė…ķ’ˆ ģƒģžėŠ” 다넸 ķ”Œė ˆģ“ģ–“ź°€ 접근할 수 ģ—†ģŠµė‹ˆė‹¤. ģ‚¬ėžŒė“¤ģ“ 다넸 ģ‚¬ėžŒė“¤ģ˜ ģ£½ģŒģ˜ ģƒģžģ—ģ„œ ź°€ģ øź°€ėŠ” ź²ƒģ„ ģ›ķ•˜ģ§€ ģ•ŠėŠ”ė‹¤ė©“ ģ“ź²ƒģ„ ģ‚¬ģš©ķ•˜ģ„øģš”. ģ°øź³ : ģ„œė²„ ģš“ģ˜ģžėŠ” ģ—¬ģ „ķžˆ ģž źø“ ģƒģžė„¼ ģ—“ 수 ģžˆģŠµė‹ˆė‹¤.", + "config.twilightforest.boss_drop_chests.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ė³“ģŠ¤ėŠ” ģ „ė¦¬ķ’ˆģ„ 직접 ė–Øģ–“ėœØė¦¬ėŠ” ėŒ€ģ‹  ģ›ėž˜ ģƒģ„±ėœ ģƒģž ģ•ˆģ— ģ „ė¦¬ķ’ˆģ„ ė„£ģŠµė‹ˆė‹¤.\n유령 źø°ģ‚¬ėŠ” ė“œėž ė°©ģ‹ģ“ ė‹¤ė„“ėÆ€ė”œ ģ˜ķ–„ģ„ 받지 ģ•ŠģŠµė‹ˆė‹¤.", + "config.twilightforest.casket_uuid_locking": "źø°ė…ķ’ˆ ģƒģž UUID ģž źøˆ", + "config.twilightforest.casket_uuid_locking.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ”Œė ˆģ“ģ–“ź°€ ģ‚¬ė§ķ•  ė•Œ ģƒģ„±ėœ ģœ ķ’ˆ ģƒģžėŠ” 다넸 ķ”Œė ˆģ“ģ–“ź°€ 접근할 수 ģ—†ģŠµė‹ˆė‹¤. ģ‚¬ėžŒė“¤ģ“ 다넸 ģ‚¬ėžŒė“¤ģ˜ ģœ ķ’ˆ ģƒģžģ—ģ„œ ģ•„ģ“ķ…œģ„ ź°€ģ øź°€ėŠ” ź²ƒģ„ ģ›ķ•˜ģ§€ ģ•ŠėŠ”ė‹¤ė©“ ģ“ź²ƒģ„ ģ‚¬ģš©ķ•˜ģ„øģš”. ģ°øź³ : ģ„œė²„ ģš“ģ˜ģžėŠ” ģ—¬ģ „ķžˆ ģž źø“ ģƒģžė„¼ ģ—“ 수 ģžˆģŠµė‹ˆė‹¤.", "config.twilightforest.check_portal_placement": "차원문 배치 ķ™•ģø", "config.twilightforest.check_portal_placement.tooltip": "새딜욓 ģ°Øģ›ė¬øģ“ ģ•ˆģ „ģ„ ģœ„ķ•“ 미리 ķ™•ģøģ„ 받아야 ķ•˜ėŠ”ģ§€ 여부넼 ź²°ģ •ķ•©ė‹ˆė‹¤. ź°’ģ“ ź±°ģ§“ģ“ė©“ ģ°Øģ›ģ€ ģ•ˆģ „ķ•œ ėŒ€ģ²“ ėŖ©ģ ģ§€ė”œ ė¦¬ė””ė ‰ģ…˜ķ•˜ėŠ” ėŒ€ģ‹  ķ˜•ģ„±ģ— ģ‹¤ķŒØķ•©ė‹ˆė‹¤.\nģ“ źø°ėŠ„ģ„ ė¹„ķ™œģ„±ķ™”ķ•˜ė©“ 차원문 구성 ķ™•ģøģ“ ģˆ˜ķ–‰ė˜ėŠ” ģ†ė„ė„ ź°ģ†Œķ•©ė‹ˆė‹¤.", "config.twilightforest.cloud_precipitation": "구름 ź°•ģˆ˜ ė²”ģœ„", - "config.twilightforest.cloud_precipitation.tooltip": "ź²Œģž„ ė”œģ§ģ“ 날씨 ꓀련 ģ½”ė“œė„¼ ģ²˜ė¦¬ķ•˜źø° ģœ„ķ•“ 구름 ėø”ė”ģ—ģ„œ ėŖ‡ ėø”ė” ģ•„ėž˜ģ— ģžˆėŠ”ģ§€ ķ™•ģøķ•©ė‹ˆė‹¤.\n예상 틱 ģ†ė„ź°€ ė‚®ģœ¼ė©“ ė‚®ģ¶„ė‹ˆė‹¤. 0으딜 ģ„¤ģ •ķ•˜ė©“ ėŖØė“  구름 ź°•ģˆ˜ ė”œģ§ģ“ źŗ¼ģ§‘ė‹ˆė‹¤.", + "config.twilightforest.cloud_precipitation.tooltip": "ź²Œģž„ ė”œģ§ģ“ 날씨 ꓀련 ģ½”ė“œė„¼ ģ²˜ė¦¬ķ•˜źø° ģœ„ķ•“ 구름 ėø”ė”ģ—ģ„œ ėŖ‡ ėø”ė” ģ•„ėž˜ģ— ģžˆėŠ”ģ§€ ģ§€ģ •ķ•©ė‹ˆė‹¤.\n틱 ģ†ė„ź°€ ė‚®ģœ¼ė©“ ģ„¤ģ •ź°’ģ„ ė‚®ģ¶”ģ„øģš”. 0으딜 ģ„¤ģ •ķ•˜ė©“ ėŖØė“  구름 ź°•ģˆ˜ ė”œģ§ģ“ źŗ¼ģ§‘ė‹ˆė‹¤.", "config.twilightforest.default_item_enchantments": "źø°ė³ø ģ•„ģ“ķ…œ ė§ˆė²• 부여", "config.twilightforest.default_item_enchantments.tooltip": "ź°’ģ“ ź±°ģ§“ģ¼ 경우, ģ œģž‘ ģ‹œ ė§ˆė²•ģ“ ė¶€ģ—¬ėœ ģ•„ģ“ķ…œ(예: ģ•„ģ“ģ–øģš°ė“œ ė˜ėŠ” ź°•ģ² ģžŽ ģž„ė¹„)ģ€ ķ¬ė¦¬ģ—ģ“ķ‹°ėøŒ ģøė²¤ķ† ė¦¬ģ— ķ‘œģ‹œė˜ģ§€ ģ•ŠģŠµė‹ˆė‹¤.\nģ“ėŠ” ģ œģž‘ė²• ģžģ²“ģ—ėŠ” ģ˜ķ–„ģ„ ėÆøģ¹˜ģ§€ ģ•Šģœ¼ė©°, ģ œģž‘ė²•ģ„ ė³€ź²½ķ•˜ė ¤ė©“ ė°ģ“ķ„°ķŒ©ģ“ ķ•„ģš”ķ•©ė‹ˆė‹¤.", "config.twilightforest.destructive_portal_lighting": "ķŒŒź““ģ ģø 번개", - "config.twilightforest.destructive_portal_lighting.tooltip": "ķ¬ķƒˆģ„ ģž ź·øėŠ” ė²ˆź°œģ— ė¶ˆģ“ 붙지 ģ•Šė„ė” ķ•˜ė ¤ė©“ ź°’ģ„ 참으딜 ģ„¤ģ •ķ•˜ģ„øģš”. ģž¬ėÆøė„¼ ģ¢‹ģ•„ķ•˜ģ§€ ģ•ŠėŠ” ģ‚¬ėžŒė“¤ģ„ ģœ„ķ•“ ė§ģ“ģ£ .", + "config.twilightforest.destructive_portal_lighting.tooltip": "차원문에 ė‚“ė¦¬ėŠ” ė²ˆź°œģ— ė¶ˆģ“ 붙지 ģ•Šė„ė” ķ•˜ė ¤ė©“ ź°’ģ„ ź±°ģ§“ģœ¼ė”œ ģ„¤ģ •ķ•˜ģ„øģš”. ģž¬ėÆøė„¼ ģ¢‹ģ•„ķ•˜ģ§€ ģ•ŠėŠ” ģ‚¬ėžŒė“¤ģ„ ģœ„ķ•“ ė§ģ“ģ£ .", "config.twilightforest.dim_settings": "차원 설정", - "config.twilightforest.dim_settings.tooltip": "ź²°ź³¼ ģ—†ģ“ėŠ” ė˜ėŒė¦“ 수 ģ—†ėŠ” 설정.", + "config.twilightforest.dim_settings.tooltip": "결과넼 ė˜ėŒė¦“ 수 ģ—†ėŠ” 설정.", "config.twilightforest.disable_portal": "차원문 ģƒģ„± ė¹„ķ™œģ„±ķ™”", - "config.twilightforest.disable_portal.tooltip": "ķ™©ķ˜¼ģ˜ 숲 ģ°Øģ›ė¬øģ˜ ģƒģ„±ģ„ ģ™„ģ „ķžˆ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ķ™©ķ˜¼ģ˜ ģˆ²ģ°Øģ›ģ— ėŒ€ķ•œ ģž‘ģ—…ģ„ ģ œķ•œķ•˜ė ¤ėŠ” ģ„œė²„ ģš“ģ˜ģžė„¼ ģœ„ķ•“ ģ œź³µė©ė‹ˆė‹¤.", + "config.twilightforest.disable_portal.tooltip": "ķ™©ķ˜¼ģ˜ 숲 ģ°Øģ›ė¬øģ˜ ģƒģ„±ģ„ ģ™„ģ „ķžˆ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ķ™©ķ˜¼ģ˜ 숲 차원에 ėŒ€ķ•œ ģž‘ģ—…ģ„ ģ œķ•œķ•˜ė ¤ėŠ” ģ„œė²„ ģš“ģ˜ģžė„¼ ģœ„ķ•“ ģ œź³µė©ė‹ˆė‹¤.", "config.twilightforest.disable_skull_candles": "핓골 쓈 ė¹„ķ™œģ„±ķ™”", - "config.twilightforest.disable_skull_candles.tooltip": "ź°’ģ“ ģ°øģ“ė©“, źø°ė³ø ķ•“ź³Øģ„ 오넸쪽 ķ“ė¦­ķ•˜ģ—¬ ģ“›ė¶ˆģ„ ģ¼œģ„œ 핓골 쓈넼 ė§Œė“œėŠ” źø°ėŠ„ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ģ–“ė–¤ ģ“ģœ ė”œ ėŖØė“œ ģ¶©ėŒ ė¬øģ œź°€ ģžˆėŠ” 경우 ģ“ źø°ėŠ„ģ„ ģ¼œģ„øģš”.", + "config.twilightforest.disable_skull_candles.tooltip": "ź°’ģ“ ģ°øģ“ė©“, ģ“ˆģ— źø°ė³ø ķ•“ź³Øģ„ 오넸쪽 ķ“ė¦­ķ•˜ģ—¬ 핓골 쓈넼 ė§Œė“œėŠ” źø°ėŠ„ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ģ–“ė–¤ ģ“ģœ ė”œė“  ėŖØė“œ ģ¶©ėŒ ė¬øģ œź°€ ģžˆėŠ” 경우 ģ“ źø°ėŠ„ģ„ ģ¼œģ„øģš”.", "config.twilightforest.disable_uncrafting": "ģ—­ģ œģž‘ ė¹„ķ™œģ„±ķ™”", "config.twilightforest.disable_uncrafting.tooltip": "ģ—­ģ œģž‘ģ˜ ģ—­ģ œģž‘ źø°ėŠ„ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ė™ģž‘ģ— ėŒ€ķ•“ 변경할 ģ‚¬ķ•­ģ“ ė„ˆė¬“ ė§Žģ€ 경우 (ė˜ėŠ” 게으넸 경우, ģ „ ģ‹ ź²½ ģ•ˆ ģØģš”) ė§ˆģ§€ė§‰ ģˆ˜ė‹Øģœ¼ė”œ ź¶Œģž„ķ•©ė‹ˆė‹¤.\n특수 ģ—­ģ œģž‘ ģ œģž‘ė²•ģ€ ėŖØė“œź°€ 다넸 ģš©ė„ė”œ ģ‚¬ģš©ķ•˜źø° ė•Œė¬øģ— ė¹„ķ™œģ„±ķ™”ė˜ģ§€ ģ•ŠėŠ”ė‹¤ėŠ” 점에 ģœ ģ˜ķ•˜ģ„øģš”.", "config.twilightforest.disable_uncrafting_table": "ģ—­ģ œģž‘ėŒ€ ė¹„ķ™œģ„±ķ™”", "config.twilightforest.disable_uncrafting_table.tooltip": "ģ—­ģ œģž‘ėŒ€ģ˜ ģ‚¬ģš©ģ„ ė¹„ķ™œģ„±ķ™”ķ•˜ź³ , ģ „ė¦¬ķ’ˆģ“ė‚˜ ģ œģž‘ģ— ķ‘œģ‹œė˜ģ§€ ģ•Šė„ė” ķ•©ė‹ˆė‹¤.\nģ—­ģ œģž‘ėŒ€ėŠ” ģ—­ģ œģž‘ģ™øģ—ė„ ģ—¬ėŸ¬ ģš©ė„ė”œ ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤. ģžģ„øķ•œ ė‚“ģš©ģ€ ģ—¬źø°ģ—ģ„œ ķ™•ģøķ•  수 ģžˆģŠµė‹ˆė‹¤! http://benimatic.com/tfwiki/index.php?title=Uncrafting_Table\nģ“ ėŖØė“œģ—ėŠ” ģ—­ģ œģž‘ ģ „ģš© ė ˆģ‹œķ”¼ź°€ ģžˆģœ¼ėÆ€ė”œ ģ—­ģ œģž‘ėŒ€ė„¼ ķ™œģ„±ķ™”ķ•˜ėŠ” ź²ƒģ“ ģ¢‹ģ§€ė§Œ, ģ—­ģ œģž‘ėŒ€ė„¼ ģ „ķ˜€ ģž‘ė™ģ‹œķ‚¤ģ§€ ģ•Šģœ¼ė ¤ėŠ” ģ‚¬ėžŒė“¤ģ„ ģœ„ķ•“ ģ“ ģ˜µģ…˜ģ€ ź·øėŒ€ė”œ ģœ ģ§€ė©ė‹ˆė‹¤.\nģ¼ė°˜ģ ģø ģ œģž‘ ė°©ė²•ģ“ ģ—­ģ œģž‘ėØģ„ ė°©ģ§€ķ•˜ė ¤ėŠ” 경우 ėŒ€ģ‹  'disableUncrafting' ģ„¤ģ •ģ„ ģ‚¬ģš©ķ•˜ėŠ” ź²ƒģ„ ź³ ė ¤ķ•˜ģ„øģš”.", "config.twilightforest.giant_skin_uuid_list": "ź±°ģø ģŠ¤ķ‚Ø", - "config.twilightforest.giant_skin_uuid_list.tooltip": "ź±°ģøģ“ ģ‚¬ģš©ķ•“ģ•¼ ķ•˜ėŠ” ģŠ¤ķ‚Øģ„ 가진 ķ”Œė ˆģ“ģ–“ UUID ėŖ©ė”ģž…ė‹ˆė‹¤. ėŖ©ė”ģ„ ė¹„ģ›Œė‘ė©“ 핓당 ģŠ¤ķ‚Øģ„ ė³“ėŠ” ķ”Œė ˆģ“ģ–“ģ˜ ģŠ¤ķ‚Øģ„ ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤.", + "config.twilightforest.giant_skin_uuid_list.tooltip": "ź±°ģøģ“ ģ‚¬ģš©ķ•“ģ•¼ ķ•˜ėŠ” ģŠ¤ķ‚Øģ„ 가진 ķ”Œė ˆģ“ģ–“ UUID ėŖ©ė”ģž…ė‹ˆė‹¤. ėŖ©ė”ģ„ ė¹„ģ›Œė‘ė©“ ź±°ģøģ„ ė³“ėŠ” ķ”Œė ˆģ“ģ–“ģ˜ ģŠ¤ķ‚Øģ„ ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤.", "config.twilightforest.ingredient_switching": "ģž¬ė£Œ 변경 ė¹„ķ™œģ„±ķ™”", - "config.twilightforest.ingredient_switching.tooltip": "ź°’ģ“ ģ°øģ“ė©“, ģ œģž‘ė²•ģ“ ģ œģž‘ 태그넼 ģ‚¬ģš©ķ•˜ėŠ” 경우 ģ—­ģ œģž‘ėŒ€ģ—ģ„œ ė” ģ“ģƒ ģž¬ė£Œė„¼ ģ „ķ™˜ķ•  수 ģ—†ģŠµė‹ˆė‹¤.\nģ“ė ‡ź²Œ ķ•˜ė©“ ėŖØė“  ģ œģž‘ė²•ģ˜ źø°ėŠ„ģ“ ģ œź±°ė©ė‹ˆė‹¤!\nģ²˜ģŒė¶€ķ„° ķŠ¹ģ • ģž¬ė£Œź°€ ķ‘œģ‹œė˜ģ§€ ģ•Šź²Œ ķ•˜ė ¤ė©“ \"twilightforest:banned_uncrafting_ingredients\" 태그넼 ģ‚¬ģš©ķ•˜ģ„øģš”.", + "config.twilightforest.ingredient_switching.tooltip": "ź°’ģ“ ģ°øģ“ė©“, ģ œģž‘ė²•ģ“ ģ œģž‘ 태그넼 ģ‚¬ģš©ķ•˜ėŠ” 경우 ģ—­ģ œģž‘ėŒ€ģ—ģ„œ ė” ģ“ģƒ ģž¬ė£Œ ź°„ ģ „ķ™˜ķ•  수 ģ—†ģŠµė‹ˆė‹¤.\nģ“ė ‡ź²Œ ķ•˜ė©“ ėŖØė“  ģ œģž‘ė²•ģ˜ źø°ėŠ„ģ“ ģ œź±°ė©ė‹ˆė‹¤!\nģ²˜ģŒė¶€ķ„° ķŠ¹ģ • ģž¬ė£Œź°€ ķ‘œģ‹œė˜ģ§€ ģ•Šź²Œ ķ•˜ė ¤ė©“ \"twilightforest:banned_uncrafting_ingredients\" 태그넼 ģ‚¬ģš©ķ•˜ģ„øģš”.", "config.twilightforest.locked_toasts": "ģž źø“ ģƒė¬¼ 군계 ķŒģ—… ė¹„ķ™œģ„±ķ™”", "config.twilightforest.locked_toasts.tooltip": "ģž źø“ ģƒė¬¼ 군계에 ė“¤ģ–“ź°ˆ ė•Œ ė‚˜ķƒ€ė‚˜ėŠ” ķŒģ—… ģ°½ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤. ģ§„ķ–‰ķ•˜ėŠ” ė° ģµģˆ™ķ•˜ģ§€ ģ•Šģ€ 경우 ź¶Œģž„ķ•˜ģ§€ ģ•ŠģŠµė‹ˆė‹¤.", "config.twilightforest.magic_trees": "ė§ˆė²• ė‚˜ė¬“", "config.twilightforest.magic_trees.tooltip": "ķŠ¹ė³„ķ•œ ė‚˜ė¬“ģ™€ ź“€ė Øėœ ėŖØė“  ź²ƒģ— ėŒ€ķ•œ ģ„¤ģ •ģž…ė‹ˆė‹¤.", - "config.twilightforest.max_portal_size": "ģµœėŒ€ ķ¬ķƒˆ 크기", + "config.twilightforest.max_portal_size": "ģµœėŒ€ 차원문 크기", "config.twilightforest.max_portal_size.tooltip": "ģ°Øģ›ė¬øģ„ ģƒģ„±ķ•  ė•Œ ėŖØė“œź°€ ķ™•ģøķ•˜ėŠ” ģµœėŒ€ 물 공간 ģ–‘ģž…ė‹ˆė‹¤. ģˆ«ģžź°€ ė„ˆė¬“ ė†’ģœ¼ė©“ ģ„±ėŠ„ ź“€ė Øķ•œ ė¬øģ œź°€ ė°œģƒķ•  수 ģžˆģŠµė‹ˆė‹¤.", "config.twilightforest.mining_range": "ź“‘ė¶€ė‚˜ė¬“ ė²”ģœ„", "config.twilightforest.mining_range.tooltip": "ź“‘ė¶€ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ėŠ” ė°˜ź²½ģ„ ģ •ģ˜ķ•©ė‹ˆė‹¤. 1~128 ģ‚¬ģ“ģ˜ ģˆ«ģžź°€ 될 수 ģžˆģŠµė‹ˆė‹¤.\nź“‘ė¶€ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ģ§€ ģ•Šė„ė” ķ•˜ė ¤ė©“ 0으딜 ģ„¤ģ •ķ•˜ģ„øģš”.", @@ -787,7 +768,7 @@ "config.twilightforest.origin_dimension.tooltip": "ķ™©ķ˜¼ģ˜ 숲으딜 ģ“ė™ķ•  수 ģžˆėŠ” 차원 ė° ėŒģ•„ź°ˆ ģ°Øģ›ģž…ė‹ˆė‹¤. 기본적으딜 ģ˜¤ė²„ģ›”ė“œė”œ ģ„¤ģ •ė©ė‹ˆė‹¤.\n(domain:regname).", "config.twilightforest.parry_non_twilight": "ķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ź²ƒģ“ ģ•„ė‹Œ ė°œģ‚¬ģ²“ 막기", "config.twilightforest.parry_non_twilight.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ė°œģ‚¬ģ²“ź°€ ģ•„ė‹Œ ķˆ¬ģ‚¬ģ²“ė„¼ ė§‰ģŠµė‹ˆė‹¤.", - "config.twilightforest.parry_window": "패리 ģœˆė„ģš°", + "config.twilightforest.parry_window": "ģ°½ 막기", "config.twilightforest.parry_window.tooltip": "방패넼 ė“¤ģ–“ģ˜¬ė¦° 후 ķˆ¬ģ‚¬ģ²“ė„¼ ė§‰ģ„ 수 ģžˆėŠ” 틱 ģˆ˜ģž…ė‹ˆė‹¤. (1틱 = 0.05쓈)", "config.twilightforest.portal_for_new_player": "ķ”Œė ˆģ“ģ–“ė„¼ ģœ„ķ•œ 복귀 차원문 ģƒģ„±", "config.twilightforest.portal_for_new_player.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, `newPlayersSpawnInTF`ź°€ trueģ¼ 경우 ķ™©ķ˜¼ģ˜ 숲딜 ź°„ 새딜욓 ķ”Œė ˆģ“ģ–“ģ— ėŒ€ķ•“ 복귀 ģ°Øģ›ė¬øģ“ ģƒģ„±ė©ė‹ˆė‹¤.", @@ -798,11 +779,11 @@ "config.twilightforest.portal_settings": "차원문 설정", "config.twilightforest.portal_settings.tooltip": "ėŖØė“  ķ™©ķ˜¼ģ˜ 숲 차원문 ꓀련 ģ„¤ģ •ģ€ 여기 ģžˆģŠµė‹ˆė‹¤", "config.twilightforest.portal_unlocked_by_advancement": "차원문 ģž źøˆ ķ•“ģ œ ė°œģ „ 과제", - "config.twilightforest.portal_unlocked_by_advancement.tooltip": "ģœ ķšØķ•œ ė°œģ „ 과제 ė¦¬ģ†ŒģŠ¤ ģœ„ģ¹˜ė„¼ ė¬øģžģ—“ė”œ ģ‚¬ģš©ķ•©ė‹ˆė‹¤. 예넼 들얓, ė¬øģžģ—“ \"minecraft:story/mine_diamond\"넼 ģ‚¬ģš©ķ•˜ė©“ ģ°Øģ›ė¬øģ“ \"ė‹¤ģ“ģ•„ėŖ¬ė“œė‹¤!' ė°œģ „ 과제 뒤에 ģž źø€ ź²ƒģž…ė‹ˆė‹¤. ģœ ķšØķ•˜ģ§€ ģ•Šź±°ė‚˜ 비얓 ģžˆėŠ” ė°œģ „ 과제 ė¦¬ģ†ŒģŠ¤ IDėŠ” ģ°Øģ›ė¬øģ„ ģ™„ģ „ķžˆ ģž źøˆ ķ•“ģ œķ•©ė‹ˆė‹¤.", + "config.twilightforest.portal_unlocked_by_advancement.tooltip": "ģœ ķšØķ•œ ė°œģ „ 과제 ė¦¬ģ†ŒģŠ¤ ģœ„ģ¹˜ė„¼ ė¬øģžģ—“ė”œ ģ‚¬ģš©ķ•©ė‹ˆė‹¤. 예넼 들얓, ė¬øģžģ—“ 'minecraft:story/mine_diamond'넼 ģ‚¬ģš©ķ•˜ė©“ ģ°Øģ›ė¬øģ“ 'ė‹¤ģ“ģ•„ėŖ¬ė“œė‹¤!' ė°œģ „ 과제 뒤에 ģž ź¹ė‹ˆė‹¤. ģœ ķšØķ•˜ģ§€ ģ•Šź±°ė‚˜ 비얓 ģžˆėŠ” ė°œģ „ 과제 ė¦¬ģ†ŒģŠ¤ IDėŠ” ģ°Øģ›ė¬øģ„ ģ™„ģ „ķžˆ ģž źøˆ ķ•“ģ œķ•©ė‹ˆė‹¤.", "config.twilightforest.portals_in_other_dimensions": "다넸 차원에 차원문 ģƒģ„±", "config.twilightforest.portals_in_other_dimensions.tooltip": "ķ™©ķ˜¼ģ˜ 숲으딜 ź°€ėŠ” ķ¬ķƒˆģ“ '원점' ģ°Øģ›ģ„ ė²—ģ–“ė‚˜ė„ė” ķ—ˆģš©ķ•©ė‹ˆė‹¤. ģ•…ģš©ģœ¼ė”œ 간주될 수 ģžˆģŠµė‹ˆė‹¤.", "config.twilightforest.prettify_ore_meter_gui": "ꓑ물 ź³„ėŸ‰źø° GUI 볓기 ģ¢‹ź²Œ 꾸미기", - "config.twilightforest.prettify_ore_meter_gui.tooltip": "ź“‘ģ„ 츔정기 GUIģ—ģ„œ ėŒ€ģ‹œģ™€ ė°±ė¶„ģœØģ„ ģ •ė ¬ķ•©ė‹ˆė‹¤.", + "config.twilightforest.prettify_ore_meter_gui.tooltip": "ꓑ물 츔정기 GUIģ—ģ„œ ėŒ€ģ‹œģ™€ ė°±ė¶„ģœØģ„ ģ •ė ¬ķ•©ė‹ˆė‹¤.", "config.twilightforest.ram_indicator": "ķ€˜ģŠ¤ķŠø ģ–‘ 양털 ķ‘œģ‹œźø°", "config.twilightforest.ram_indicator.tooltip": "ķ€˜ģŠ¤ķŠø ģ–‘ ģœ„ģ— ģ–‘ķ„øģ„ ģ˜¬ė ¤ė†“ģœ¼ė©“ 핓당 ģƒ‰ģ˜ ģ–‘ķ„øģ“ ģ“ėÆø ź³µźø‰ė˜ģ—ˆėŠ”ģ§€ģ— ė”°ė¼ ģ‹­ģžģ„  ģœ„ģ— 첓크 ķ˜¹ģ€ ź°€ģœ„ ķ‘œģ‹œķ•©ė‹ˆė‹¤.", "config.twilightforest.repairing_xp_cost": "수리 ė¹„ģš© 배수", @@ -814,7 +795,7 @@ "config.twilightforest.shield": "방패 ģƒķ˜øģž‘ģš©", "config.twilightforest.shield.tooltip": "ķŒØė§ģ„ ģœ„ķ•“ģ„œėŠ” Shield Parry ėŖØė“œė„¼ ė‹¤ģš“ė”œė“œķ•˜ėŠ” ź²ƒģ“ ģ¢‹ģ§€ė§Œ, ģ“ėŸ¬ķ•œ ģ»ØķŠøė”¤ģ€ ėŖØė“œź°€ ģ—†ģ–“ė„ ź·øėŒ€ė”œ ģœ ģ§€ė©ė‹ˆė‹¤.", "config.twilightforest.shield_indicator": "ź°•ķ™” 방패 ģøė””ģ¼€ģ“ķ„°", - "config.twilightforest.shield_indicator.tooltip": "ķ”Œė ˆģ“ģ–“ģ˜ 방얓구 ė§‰ėŒ€ ģœ„ģ— ķ˜„ģž¬ ķ™œģ„±ķ™”ėœ ź°•ķ™” ė°©ķŒØģ˜ 수넼 ė Œė”ė§ķ•©ė‹ˆė‹¤.\n\"다넸 ėŖØė“œź°€ ģœ„/ģ•„ėž˜ė”œ ė Œė”ė§ķ•˜ėŠ” 경우 ģ“ źø°ėŠ„ģ„ ė„ģ„øģš”", + "config.twilightforest.shield_indicator.tooltip": "ķ”Œė ˆģ“ģ–“ģ˜ 방얓구 ė§‰ėŒ€ ģœ„ģ— ķ˜„ģž¬ ķ™œģ„±ķ™”ėœ ź°•ķ™” ė°©ķŒØģ˜ 수넼 ė Œė”ė§ķ•©ė‹ˆė‹¤.\n\"다넸 ėŖØė“œź°€ ģ“ ģ“ģƒ/ģ“ķ•˜ė”œ ė Œė”ė§ķ•˜ėŠ” 경우 ģ“ źø°ėŠ„ģ„ ė„ģ„øģš”.", "config.twilightforest.shield_indicator_creative": "ź°•ķ™” 방패 ģøė””ģ¼€ģ“ķ„° (ķ¬ė¦¬ģ—ģ“ķ‹°ėøŒ)", "config.twilightforest.shield_indicator_creative.tooltip": "ė””ė²„ź¹…ģ„ ģœ„ķ•“ ķ¬ė¦¬ģ—ģ“ķ‹°ėøŒģ—ģ„œ ź°•ķ™” 방패 ķ‘œģ‹œźø°ė„¼ ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.", "config.twilightforest.silent_cicadas": "ģ”°ģš©ķ•œ 매미", @@ -824,7 +805,7 @@ "config.twilightforest.sorting_range": "ė¶„ė„˜ė‚˜ė¬“ ė²”ģœ„", "config.twilightforest.sorting_range.tooltip": "ė¶„ė„˜ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ėŠ” ė°˜ź²½ģ„ ģ •ģ˜ķ•©ė‹ˆė‹¤. 1~128 ģ‚¬ģ“ģ˜ ģˆ«ģžź°€ 될 수 ģžˆģŠµė‹ˆė‹¤.\nė¶„ė„˜ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ģ§€ ģ•Šė„ė” ķ•˜ė ¤ė©“ 0으딜 ģ„¤ģ •ķ•˜ģ„øģš”.", "config.twilightforest.spawn_in_tf": "ķ™©ķ˜¼ģ˜ ģˆ²ģ—ģ„œ ģƒģ„±", - "config.twilightforest.spawn_in_tf.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ”Œė ˆģ“ģ–“ź°€ ģ²˜ģŒģœ¼ė”œ ģƒģ„±ģ„ ķ•˜ėŠ” ź²ƒģ€ ķ™©ķ˜¼ģ˜ ģˆ²ģ—ģ„œ ģ¼ģ–“ė‚  ź²ƒģž…ė‹ˆė‹¤.", + "config.twilightforest.spawn_in_tf.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ķ”Œė ˆģ“ģ–“ėŠ” ķ™©ķ˜¼ģ— ģˆ²ģ—ģ„œ ģ²˜ģŒ ģƒģ„±ė  ź²ƒģž…ė‹ˆė‹¤.", "config.twilightforest.time_range": "ģ‹œź°„ė‚˜ė¬“ ė²”ģœ„", "config.twilightforest.time_range.tooltip": "ģ‹œź°„ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ėŠ” ė°˜ź²½ģ„ ģ •ģ˜ķ•©ė‹ˆė‹¤. 1~128 ģ‚¬ģ“ģ˜ ģˆ«ģžź°€ 될 수 ģžˆģŠµė‹ˆė‹¤.\nģ‹œź°„ė‚˜ė¬“ 코얓가 ģž‘ė™ķ•˜ģ§€ ģ•Šė„ė” ķ•˜ė ¤ė©“ 0으딜 ģ„¤ģ •ķ•˜ģ„øģš”.", "config.twilightforest.totem_charm_animation": "ė¶ˆģ‚¬ģ˜ ķ† ķ…œģœ¼ė”œ ģ• ė‹ˆė©”ģ“ģ…˜ 변경", @@ -836,9 +817,9 @@ "config.twilightforest.uncrafting_mod_id_flip": "ėŖØė“œ ID ėø”ėž™ė¦¬ģŠ¤ķŠø", "config.twilightforest.uncrafting_mod_id_flip.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ģœ„ģ˜ ģ˜µģ…˜ģ€ ėø”ėž™ė¦¬ģŠ¤ķŠøģ—ģ„œ ķ™”ģ“ķŠøė¦¬ģŠ¤ķŠøė”œ ė³€ź²½ė©ė‹ˆė‹¤.", "config.twilightforest.uncrafting_mod_ids": "ė¹„ķ™œģ„±ķ™”ėœ ėŖØė“œ ID", - "config.twilightforest.uncrafting_mod_ids.tooltip": "ģ—¬źø°ģ—ģ„œ ķŠ¹ģ • ėŖØė“œģ˜ ėŖØė“  ģ•„ģ“ķ…œģ“ ģ—­ģ œģž‘ė˜ģ§€ ģ•Šė„ė” ė¹„ķ™œģ„±ķ™”ķ•  수 ģžˆģŠµė‹ˆė‹¤.\nģœ ķšØķ•œ ėŖØė“œ ID넼 ģž…ė „ķ•˜ģ—¬ 핓당 ėŖØė“œģ˜ ėŖØė“  ģ—­ģ œģž‘ ģ œģž‘ė²•ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.\n예: \"twilightforest\"ėŠ” ģ“ ėŖØė“œģ˜ ėŖØė“  ģ—­ģ œģž‘ ģ œģž‘ė²•ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.", - "config.twilightforest.uncrafting_recipes": "ģ‚¬ģš© ģ¤‘ģ§€ėœ ģ œģž‘ė²•", - "config.twilightforest.uncrafting_recipes.tooltip": "ģ—­ģ œģž‘ģ„ ģ™„ģ „ķžˆ ė¹„ķ™œģ„±ķ™”ķ•˜ź³  ģ‹¶ģ§€ ģ•Šź³  ķŠ¹ģ • ģ—­ģ œģž‘ ģ œģž‘ė²•ė§Œ ė¹„ķ™œģ„±ķ™”ķ•˜ź³  싶다멓 ģ“ źø°ėŠ„ģ“ ģžˆģŠµė‹ˆė‹¤.\nė ˆģ‹œķ”¼ė„¼ ģ¶”ź°€ķ•˜ė ¤ė©“ ėŖØė“œ ID와 ė ˆģ‹œķ”¼ ģ“ė¦„ģ„ ģ°Øė”€ė”œ ģ¶”ź°€ķ•©ė‹ˆė‹¤. JEI와 ź°™ģ€ ėŖØė“œģ—ģ„œ ķ™•ģøķ•  수 ģžˆģŠµė‹ˆė‹¤.\n예: \"twilightforest:firefly_particle_spawner\"ėŠ” ė°˜ė”§ė¶ˆģ“ ģƒģ„±źø°ė„¼ ė°˜ė”§ė¶ˆģ“ 병, ė°˜ė”§ė¶ˆģ“, ģ–‘ź·€ė¹„ė”œ ģ—­ģ œģž‘ķ•˜ėŠ” ź²ƒģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.\nģ•„ģ“ķ…œģ— ģ—¬ėŸ¬ ź°œģ˜ ģ œģž‘ė²•ģ“ ģžˆź³  모두 ė¹„ķ™œģ„±ķ™”ķ•˜ė ¤ė©“ \"twilightforest:banned_uncraftables\" ģ•„ģ“ķ…œ ķƒœź·øģ— ģ•„ģ“ķ…œģ„ ģ¶”ź°€ķ•©ė‹ˆė‹¤.\n예넼 들얓 ź°ģ—¼ėœ ķƒ‘ė‚˜ė¬“ģ™€ ź°™ģ“ ė¬øģ œź°€ ģžˆėŠ” ģž¬ė£Œź°€ ģžˆėŠ” 경우 \"twilightforest:banned_uncrafting_ingredients\" ģ•„ģ“ķ…œ ķƒœź·øģ— ģ•„ģ“ķ…œģ„ ģ¶”ź°€ķ•©ė‹ˆė‹¤.", + "config.twilightforest.uncrafting_mod_ids.tooltip": "ģ—¬źø°ģ—ģ„œ ķŠ¹ģ • ėŖØė“œģ˜ ėŖØė“  ģ•„ģ“ķ…œģ“ ģ—­ģ œģž‘ė˜ģ§€ ģ•Šė„ė” ė¹„ķ™œģ„±ķ™”ķ•  수 ģžˆģŠµė‹ˆė‹¤.\nģœ ķšØķ•œ ėŖØė“œ ID넼 ģž…ė „ķ•˜ģ—¬ 핓당 ėŖØė“œģ˜ ėŖØė“  ģ—­ģ œģž‘ ģ œģž‘ė²•ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.\n예: \"twilightforest\"ėŠ” ķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ėŖØė“  ģ—­ģ œģž‘ ģ œģž‘ė²•ģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.", + "config.twilightforest.uncrafting_recipes": "ģ œģž‘ė²• ģ‚¬ģš© 중지", + "config.twilightforest.uncrafting_recipes.tooltip": "ģ—­ģ œģž‘ģ„ ģ™„ģ „ķžˆ ė¹„ķ™œģ„±ķ™”ķ•˜ź³  ģ‹¶ģ§€ ģ•Šź³  ķŠ¹ģ • ģ—­ģ œģž‘ ģ œģž‘ė²•ė§Œ ė¹„ķ™œģ„±ķ™”ķ•˜ź³  싶다멓 ģ“ źø°ėŠ„ģ“ ģžˆģŠµė‹ˆė‹¤.\nė ˆģ‹œķ”¼ė„¼ ģ¶”ź°€ķ•˜ė ¤ė©“ ėŖØė“œ IDź°€ ģ˜†ģ— ģžˆėŠ” ģ œģž‘ė²• ģ“ė¦„ģ„ ģ¶”ź°€ķ•˜ģ„øģš”. JEI와 ź°™ģ€ ėŖØė“œģ—ģ„œ ķ™•ģøķ•  수 ģžˆģŠµė‹ˆė‹¤.\n예: \"twilightforest:firefly_particle_spawner\"ėŠ” ė°˜ė”§ė¶ˆģ“ ģƒģ„±źø°ė„¼ ė°˜ė”§ė¶ˆģ“ź°€ ė“  병, ė°˜ė”§ė¶ˆģ“, ģ–‘ź·€ė¹„ė”œ ģ—­ģ œģž‘ķ•˜ėŠ” ź²ƒģ„ ė¹„ķ™œģ„±ķ™”ķ•©ė‹ˆė‹¤.\nģ•„ģ“ķ…œģ— ģ—¬ėŸ¬ ź°œģ˜ ģ œģž‘ė²•ģ“ ģžˆź³  모두 ė¹„ķ™œģ„±ķ™”ķ•˜ė ¤ė©“ \"twilightforest:banned_uncraftables\" ģ•„ģ“ķ…œ ķƒœź·øģ— ģ•„ģ“ķ…œģ„ ģ¶”ź°€ķ•˜ģ„øģš”.\n예넼 들얓 ź°ģ—¼ėœ ķƒ‘ė‚˜ė¬“ģ™€ ź°™ģ“ ė¬øģ œź°€ ģžˆėŠ” ģž¬ė£Œź°€ ģžˆėŠ” 경우 \"twilightforest:banned_uncrafting_ingredients\" ģ•„ģ“ķ…œ ķƒœź·øģ— ģ•„ģ“ķ…œģ„ ģ¶”ź°€ķ•˜ģ„øģš”.", "config.twilightforest.uncrafting_recipes_flip": "ģ œģž‘ė²• ėø”ėž™ė¦¬ģŠ¤ķŠø", "config.twilightforest.uncrafting_recipes_flip.tooltip": "ź°’ģ“ ģ°øģ“ė¼ė©“, ģœ„ģ˜ ģ—­ģ œģž‘ ģ œģž‘ė²• ėŖ©ė”ģ“ ėø”ėž™ė¦¬ģŠ¤ķŠøģ—ģ„œ ķ™”ģ“ķŠøė¦¬ģŠ¤ķŠøė”œ ė°”ė€ė‹ˆė‹¤.", "config.twilightforest.uncrafting_xp_cost": "ģ—­ģ œģž‘ 가격 배수", @@ -850,8 +831,8 @@ "container.twilightforest.uncrafting_table.cycle_next_ingredient": "ė‹¤ģŒ ģ—­ģ œģž‘ ģž¬ė£Œ", "container.twilightforest.uncrafting_table.cycle_next_recipe": "ė‹¤ģŒ ģ œģž‘ė²•", "container.twilightforest.uncrafting_table.cycle_next_uncraft": "ė‹¤ģŒ ģ—­ģ œģž‘ė²•", - "container.twilightforest.uncrafting_table.disabled_item": "ģ“ ģ•„ģ“ķ…œģ€ ė¶„ķ•“ķ•  수 ģ—†ģŠµė‹ˆė‹¤.", - "container.twilightforest.uncrafting_table.uncrafting_disabled": "ė¶„ķ•“ėŠ” ģ„¤ģ •ģ„ ķ†µķ•˜ģ—¬ ė¹„ķ™œģ„±ķ™” ė˜ģ—ˆģŠµė‹ˆė‹¤.", + "container.twilightforest.uncrafting_table.disabled_item": "ģ“ ģ•„ģ“ķ…œģ€ ģ—­ģ œģž‘ķ•  수 ģ—†ģŠµė‹ˆė‹¤.", + "container.twilightforest.uncrafting_table.uncrafting_disabled": "ģ—­ģ œģž‘ģ€ 설정에 ģ˜ķ•“ ė¹„ķ™œģ„±ķ™” ė˜ģ—ˆģŠµė‹ˆė‹¤", "death.attack.twilightforest.acid_rain": "%1$sģ“(ź°€) 산성비 ģ†ģ—ģ„œ ģ¶¤ģ„ ģ¶”ģ—ˆģŠµė‹ˆė‹¤.", "death.attack.twilightforest.ant": "%1$sģ“(ź°€) %2$s에 ģ˜ķ•“ 개미처럼 ģž‘ź²Œ ģ°Œź·øėŸ¬ģ”ŒģŠµė‹ˆė‹¤.", "death.attack.twilightforest.ant.item": "%1$sģ“(ź°€) %3$sģ„(넼) ė“  %2$s에 ģ˜ķ•“ 개미처럼 ģž‘ź²Œ ģ°Œź·øėŸ¬ģ”ŒģŠµė‹ˆė‹¤.", @@ -923,18 +904,20 @@ "enchantment.twilightforest.destruction.desc": "ėø”ė”ź³¼ ģ²“ģøģ“ ģ‹ ģ†ź³¼ ė„’ģ€ ė²”ģœ„ė”œ ėø”ė”ģ„ ė¶€ģˆ  수 ģžˆė„ė” ķ•©ė‹ˆė‹¤.", "enchantment.twilightforest.fire_react": "뜨거욓 ė°˜ģ‘", "enchantment.twilightforest.fire_react.desc": "피격 후 ėŒ€ģƒģ—ź²Œ ė¶ˆģ“ ė¶™ģ„ ķ™•ė„ ģ“ ģ¦ź°€ķ•©ė‹ˆė‹¤.", + "enchantment.twilightforest.renewal": "ģž¬ģƒ", + "enchantment.twilightforest.renewal.desc": "ģ†Œģ§€ģžź°€ 볓꓀함에 ģž¬ģ¶©ģ „ķ•  수 ģžˆėŠ” ģ•„ģ“ķ…œģ“ ģžˆėŠ” 경우 ģ§€ķŒ”ģ“ė„¼ ģžė™ģœ¼ė”œ ģž¬ģ¶©ģ „ķ•©ė‹ˆė‹¤.", "entity.twilightforest.adherent": "ģ‹ ź“€", "entity.twilightforest.alpha_yeti": "ģš°ė‘ėØøė¦¬ ģ˜ˆķ‹°", - "entity.twilightforest.armored_giant": "ź°‘ģ˜· ź±°ģø", + "entity.twilightforest.armored_giant": "ė¬“ģž„ķ•œ ź±°ģø", "entity.twilightforest.bighorn_sheep": "큰뿔양", - "entity.twilightforest.blockchain_goblin": "ėø”ė”ź³¼ ģ‚¬ģŠ¬ 고블린", + "entity.twilightforest.block_and_chain_goblin": "ėø”ė”ź³¼ ģ‚¬ģŠ¬ 고블린", "entity.twilightforest.boar": "ė©§ė¼ģ§€", "entity.twilightforest.carminite_broodling": "ģ¹“ėÆøė‚˜ģ“ķŠø 새끼 거미", "entity.twilightforest.carminite_ghastguard": "ģ¹“ėÆøė‚˜ģ“ķŠø ź°€ģŠ¤ķŠøź²½ė¹„ė³‘", "entity.twilightforest.carminite_ghastling": "ģ¹“ėÆøė‚˜ģ“ķŠø ź°€ģŠ¤ķŠøģœ ģ²“", "entity.twilightforest.carminite_golem": "ģ¹“ėÆøė‚˜ģ“ķŠø 골렘", "entity.twilightforest.chain_block": "ėø”ė”ź³¼ ģ‚¬ģŠ¬", - "entity.twilightforest.charm_effect": "매렄 효과", + "entity.twilightforest.charm_effect": "부적 효과", "entity.twilightforest.cube_of_annihilation": "ģ†Œė©øģ˜ ģ •ģœ”ė©“ģ²“", "entity.twilightforest.death_tome": "ģ£½ģŒģ˜ ģ„œ", "entity.twilightforest.deer": "ģ‚¬ģŠ“", @@ -949,6 +932,7 @@ "entity.twilightforest.hydra": "ķžˆė“œė¼", "entity.twilightforest.hydra_mortar": "ķžˆė“œė¼ ė°•ź²©ķ¬", "entity.twilightforest.ice_arrow": "ģ–¼ģŒ 화삓", + "entity.twilightforest.ice_bomb": "ģ–¼ģŒ ķ­ķƒ„", "entity.twilightforest.ice_crystal": "ģ–¼ģŒ ģˆ˜ģ •", "entity.twilightforest.ice_snowball": "ģ–¼ģŒ ėˆˆė©ģ“", "entity.twilightforest.king_spider": "왕거미", @@ -983,15 +967,14 @@ "entity.twilightforest.skeleton_druid": "ģŠ¤ģ¼ˆė ˆķ†¤ ė“œė£Øģ“ė“œ", "entity.twilightforest.slider": "ģ›€ģ§ģ“ėŠ” ėÆøė„ėŸ¼ 함정", "entity.twilightforest.slime_beetle": "ģŠ¬ė¼ģž„ė²Œė ˆ", - "entity.twilightforest.slime_blob": "ģŠ¬ė¼ģž„ 방울", + "entity.twilightforest.slime_projectile": "ģŠ¬ė¼ģž„ 방울", "entity.twilightforest.snow_guardian": "ėˆˆģ˜ ģˆ˜ķ˜øģž", "entity.twilightforest.snow_queen": "ėˆˆģ˜ 여왕", "entity.twilightforest.squirrel": "ė‹¤ėžŒģ„", "entity.twilightforest.stable_ice_core": "ģ•ˆģ •ķ•œ ģ–¼ģŒ 코얓", "entity.twilightforest.swarm_spider": "묓리 거미", "entity.twilightforest.thrown_block": "ė˜ģ øģ§„ ėø”ė”", - "entity.twilightforest.thrown_ice": "ģ–¼ģŒ ķ­ķƒ„", - "entity.twilightforest.thrown_wep": "ķˆ¬ģ²™ėœ 묓기", + "entity.twilightforest.thrown_weapon": "ķˆ¬ģ²™ėœ 묓기", "entity.twilightforest.tiny_bird": "ģž‘ģ€ 새", "entity.twilightforest.tome_bolt": "ģ£½ģŒģ˜ ģ„œ 볼트", "entity.twilightforest.towerwood_borer": "ķƒ‘ė‚˜ė¬“ ģ¢€ė²Œė ˆ", @@ -999,7 +982,7 @@ "entity.twilightforest.unstable_ice_core": "ė¶ˆģ•ˆģ •ķ•œ ģ–¼ģŒ 코얓", "entity.twilightforest.upper_goblin_knight": "ģƒė¶€ 고블린 기사", "entity.twilightforest.ur_ghast": "ģœ ģ–“ ź°€ģŠ¤ķŠø", - "entity.twilightforest.wand_bolt": "ķ™©ķ˜¼ 셉터 볼트", + "entity.twilightforest.wand_bolt": "ķ™©ķ˜¼ ģ§€ķŒ”ģ“ 볼트", "entity.twilightforest.winter_wolf": "겨울 ėŠ‘ėŒ€", "entity.twilightforest.wraith": "ė§ė ¹", "entity.twilightforest.yeti": "ģ˜ˆķ‹°", @@ -1009,12 +992,12 @@ "gui.twilightforest.crumble_horn_jei": "ė¬“ė„ˆėœØė¦¬ėŠ” ėæ”", "gui.twilightforest.moonworm_queen_jei": "월충 여왕 수리", "gui.twilightforest.optifine.message": "ź³„ģ†ķ•˜źø° 전에 Optifineģ€ ģ¶©ėŒ, 다중 엔티티 ģ‹œź°ģ  버그 ė° źø°ķƒ€ ė§Žģ€ 문제넼 ė°œģƒģ‹œķ‚¤ėŠ” 것으딜 ģ•Œė ¤ģ ø ģžˆģŠµė‹ˆė‹¤.\n\n버그넼 ė³“ź³ ķ•˜źø° 전에 먼저 Optifineģ„ ģ œź±°ķ•˜ź³  버그가 ģ—¬ģ „ķžˆ ģžˆėŠ”ģ§€ ė‹¤ģ‹œ ķ™•ģøķ•˜ģ„øģš”.\n\nķ™©ķ˜¼ģ˜ ģˆ²ģ˜ ėģ—ģ„œėŠ” Optifine ꓀련 문제넼 ķ•“ź²°ķ•  수 ģ—†ģŠµė‹ˆė‹¤!\n\nģ“ ķ™”ė©“ģ€ ķ“ė¼ģ“ģ–øķŠø ģ„¤ģ •ģœ¼ė”œ ė¹„ķ™œģ„±ķ™”ķ•  수 ģžˆģŠµė‹ˆė‹¤.", - "gui.twilightforest.optifine.suggestions": "여기에 ģ €ķ¬ź°€ Optifineģ˜ ėŒ€ģ•ˆģœ¼ė”œ ģ¶”ģ²œķ•˜ėŠ” ėŖØė“œė“¤ģ“ ģžˆģŠµė‹ˆė‹¤.", - "gui.twilightforest.optifine.title": "경고: Optifineģ“ 감지됨", + "gui.twilightforest.optifine.suggestions": "여기에 ģ €ķ¬ź°€ Optifineģ˜ ėŒ€ģ•ˆģœ¼ė”œ ģ¶”ģ²œķ•˜ėŠ” ėŖØė“œź°€ ģžˆģŠµė‹ˆė‹¤.", + "gui.twilightforest.optifine.title": "경고: OPTIFINEģ“ 감지됨", "gui.twilightforest.progression_end.discord": "Discord ģ„œė²„", "gui.twilightforest.progression_end.message": "ķ˜„ģž¬ė”œģ„œėŠ” ģ§„ķ–‰ģ“ ėģž…ė‹ˆė‹¤. ė§ˆģ§€ė§‰ ź³ ģ›ģ—ģ„œ 기다리고 ģžˆėŠ” ė§ˆģ§€ė§‰ ģ„±ģ€ 아직 ėÆøģ™„ģ„±ģ“ė©° ģž‘ģ—…ģ“ ģ§„ķ–‰ ģ¤‘ģž…ė‹ˆė‹¤. ėŖØė“œ ź°œė°œģ— ėŒ€ķ•œ ģµœģ‹  정볓넼 ķ™•ģøķ•˜ź³  ģ‹¶ģœ¼ģ‹œė©“ ģ €ķ¬ģ˜ %s에 ģ°øģ—¬ķ•˜ģ‹¤ 수 ģžˆģŠµė‹ˆė‹¤.", "gui.twilightforest.transformation_jei": "변신 가루", - "gui.twilightforest.uncrafting_jei": "ė¶„ķ•“", + "gui.twilightforest.uncrafting_jei": "ģ—­ģ œģž‘", "item.twilightforest.adherent_spawn_egg": "ģ‹ ź“€ ģƒģ„± ģ•Œ", "item.twilightforest.alpha_yeti_banner_pattern": "ķ˜„ģˆ˜ė§‰ 묓늬", "item.twilightforest.alpha_yeti_banner_pattern.desc": "ģš°ė‘ėØøė¦¬ ģ˜ˆķ‹° 얼굓", @@ -1031,7 +1014,7 @@ "item.twilightforest.armored_giant_spawn_egg": "ź°‘ģ˜· ź±°ģø ģƒģ„± ģ•Œ", "item.twilightforest.bighorn_sheep_spawn_egg": "큰뿔양 ģƒģ„± ģ•Œ", "item.twilightforest.block_and_chain": "ėø”ė”ź³¼ ģ‚¬ģŠ¬", - "item.twilightforest.blockchain_goblin_spawn_egg": "ėø”ė”ź³¼ ģ‚¬ģŠ¬ 고블린 ģƒģ„± ģ•Œ", + "item.twilightforest.block_and_chain_goblin_spawn_egg": "ėø”ė”ź³¼ ģ‚¬ģŠ¬ 고블린 ģƒģ„± ģ•Œ", "item.twilightforest.boar_spawn_egg": "ė©§ė¼ģ§€ ģƒģ„± ģ•Œ", "item.twilightforest.boarkchop": "ģµķžˆģ§€ ģ•Šģ€ 볓얓크찹", "item.twilightforest.borer_essence": "ģ¢€ė²Œė ˆ ģ§„ģ•”", @@ -1080,7 +1063,8 @@ "item.twilightforest.filled_maze_map": "미딜 ģ§€ė„", "item.twilightforest.filled_ore_map": "미딜/ꓑ물 ģ§€ė„", "item.twilightforest.fire_beetle_spawn_egg": "ķ™”ģ—¼ė²Œė ˆ ģƒģ„± ģ•Œ", - "item.twilightforest.flask.doses": "ė³µģš©ėŸ‰: %s/%s", + "item.twilightforest.flask.empty": "비얓 ģžˆģŒ", + "item.twilightforest.flask.empty_description": "ģ—¬ėŸ¬ ė³‘ģ˜ ė¬¼ģ•½ģ„ ė‹“ģ„ 수 ģžˆģŠµė‹ˆė‹¤", "item.twilightforest.flask.no_refill": "리필 ė¶ˆź°€", "item.twilightforest.fortification_scepter": "ė¬“ģž„ģ˜ 지배", "item.twilightforest.four_leaf_clover": "ė„¤ģžŽķ“ė”œė²„", @@ -1195,7 +1179,7 @@ "item.twilightforest.ore_meter": "ꓑ물 ź³„ėŸ‰źø°", "item.twilightforest.peacock_feather_fan": "ź³µģž‘ ź¹ƒķ„ø 부채", "item.twilightforest.penguin_spawn_egg": "ķŽ­ź·„ ģƒģ„± ģ•Œ", - "item.twilightforest.phantom_armor.desc": "ģ£½ģŒģ—ė„ ź²°ģ½” ģžƒģ§€ ģ•ŠģŠµė‹ˆė‹¤.", + "item.twilightforest.phantom_armor.desc": "ģ£½ģ–“ė„ ź²°ģ½” ģžƒģ§€ ģ•ŠģŠµė‹ˆė‹¤.", "item.twilightforest.phantom_chestplate": "ķŒ¬ķ…€ ķ‰ź°‘", "item.twilightforest.phantom_helmet": "ķŒ¬ķ…€ 투구", "item.twilightforest.pinch_beetle_spawn_egg": "ģ§‘ź²Œė²Œė ˆ ģƒģ„± ģ•Œ", @@ -1256,6 +1240,7 @@ "item.twilightforest.ur_ghast_spawn_egg": "ģœ ģ–“ ź°€ģŠ¤ķŠø ģƒģ„± ģ•Œ", "item.twilightforest.winter_wolf_spawn_egg": "겨울 ėŠ‘ėŒ€ ģƒģ„± ģ•Œ", "item.twilightforest.wraith_spawn_egg": "ė§ė ¹ ģƒģ„± ģ•Œ", + "item.twilightforest.wrought_iron_bar": "ģ—°ģ²  ģ² ģ°½", "item.twilightforest.yeti_armor.desc": "ź³µź²©ķ•œ ģƒėŒ€ė„¼ ėƒ‰ź°ģ‹œķ‚µė‹ˆė‹¤.", "item.twilightforest.yeti_boots": "ģ˜ˆķ‹° 부츠", "item.twilightforest.yeti_chestplate": "ģ˜ˆķ‹° ķ‰ź°‘", @@ -1266,15 +1251,15 @@ "itemGroup.twilightforest.blocks": "ķ™©ķ˜¼ģ˜ 숲: ėø”ė”", "itemGroup.twilightforest.equipment": "ķ™©ķ˜¼ģ˜ 숲: ģž„ė¹„", "itemGroup.twilightforest.items": "ķ™©ķ˜¼ģ˜ 숲: ģ•„ģ“ķ…œ", - "jukebox_song.twilightforest.findings": "MrCompost - ķŒŒģøė”©", - "jukebox_song.twilightforest.home": "MrCompost - ķ™ˆ", - "jukebox_song.twilightforest.maker": "MrCompost - ė©”ģ“ģ»¤", - "jukebox_song.twilightforest.motion": "MrCompost - ėŖØģ…˜", - "jukebox_song.twilightforest.radiance": "Rotch Gwylt - ėž˜ė””ģ–øģŠ¤", - "jukebox_song.twilightforest.steps": "Rotch Gwylt - ģŠ¤ķ…", - "jukebox_song.twilightforest.superstitious": "Rotch Gwylt - ģŠˆķ¼ģŠ¤ķ‹°ģ…”ģŠ¤", - "jukebox_song.twilightforest.thread": "MrCompost - ģŠ¤ė ˆė“œ", - "jukebox_song.twilightforest.warfarer": "MrCompost - ģ›Øģ“ķŽ˜ģ–“", + "jukebox_song.twilightforest.findings": "MrCompost - Findings", + "jukebox_song.twilightforest.home": "MrCompost - Home", + "jukebox_song.twilightforest.maker": "MrCompost - Maker", + "jukebox_song.twilightforest.motion": "MrCompost - Motion", + "jukebox_song.twilightforest.radiance": "Rotch Gwylt - Radiance", + "jukebox_song.twilightforest.steps": "Rotch Gwylt - Steps", + "jukebox_song.twilightforest.superstitious": "Rotch Gwylt - Superstitious", + "jukebox_song.twilightforest.thread": "MrCompost - Thread", + "jukebox_song.twilightforest.warfarer": "MrCompost - Wayfarer", "magic_painting.twilightforest.castaway_paradise.author": "HexaBlu", "magic_painting.twilightforest.castaway_paradise.title": "ė²„ė¦¼ė°›ģ€ 낙원", "magic_painting.twilightforest.darkness.author": "???", @@ -1283,12 +1268,12 @@ "magic_painting.twilightforest.lucid_lands.title": "ė£Øģ‹œė“œ ėžœė“œ", "magic_painting.twilightforest.music_in_the_mire.author": "삼두양", "magic_painting.twilightforest.music_in_the_mire.title": "ėÆøė ˆģ˜ ģŒģ•…\n", - "magic_painting.twilightforest.the_hostile_paradise.author": "", + "magic_painting.twilightforest.the_hostile_paradise.author": "Oz", "magic_painting.twilightforest.the_hostile_paradise.title": "ģ ėŒ€ģ  낙원", "misc.twilightforest.advancement_hidden": "<ģˆØź²Øģ§„ ė°œģ „ 과제>", "misc.twilightforest.advancement_required": "ķ•„ģš”ķ•œ ė°œģ „ 과제:", - "misc.twilightforest.biome_locked": "ė°”ģ“ģ˜“ ģž ź¹€!", - "misc.twilightforest.biome_locked_2": "ė°œģ „ 과제넼 ķ™•ģøķ•˜ģ„øģš”.", + "misc.twilightforest.biome_locked": "ģƒė¬¼ 군계 ģž ź¹€!", + "misc.twilightforest.biome_locked_2": "ė°œģ „ 과제넼 ķ™•ģøķ•˜ģ„øģš”", "misc.twilightforest.core_disabled": "%s 설정에 ģ˜ķ•“ ė¹„ķ™œģ„±ķ™” ė˜ģ—ˆģŠµė‹ˆė‹¤.", "misc.twilightforest.firefly_spawner_radius": "ė°˜ė”§ė¶ˆ ģž…ģž 반경: %s ėø”ė”", "misc.twilightforest.magic_map_fail": "ė§ˆė²•ģ“ ģ‹¤ķŒØķ–ˆģŠµė‹ˆė‹¤. ģ•„ė§ˆ ģ—¬źø°ģ„œ ģž‘ė™ķ•˜ģ§€ ģ•ŠėŠ” 게 ģ•„ė‹ź¹Œģš”?", @@ -1322,7 +1307,7 @@ "museumcurator.botany.twilightforest.timetree": "ģ‹œź°„ė‚˜ė¬“", "museumcurator.botany.twilightforest.transformationtree": "ė³€ķ™”ė‚˜ė¬“", "museumcurator.botany.twilightforest.twilightoaktree": "ķ™©ķ˜¼ ģ°øė‚˜ė¬“", - "museumcurator.equipment.twilightforest.scepters": "ķž˜ģ˜ 셉터", + "museumcurator.equipment.twilightforest.scepters": "ķž˜ģ˜ 지배", "museumcurator.lithology.twilightforest.deadrock": "ė°ė“œė½", "museumcurator.lithology.twilightforest.mazestone": "ėÆøė”œģ„", "museumcurator.lithology.twilightforest.nagastone": "ė‚˜ź°€ģ„", @@ -1347,13 +1332,13 @@ "structure.twilightforest.hydra_lair": "ķžˆė“œė¼ģ˜ 굓", "structure.twilightforest.knight_stronghold": "기사 ģš”ģƒˆ", "structure.twilightforest.labyrinth": "ėÆøė…øķƒ€ģš°ė„“ģŠ¤ 미딜", - "structure.twilightforest.large_hollow_hill": "ė¹„ģ–“ģžˆėŠ” ėŒ€ķ˜• ģ–øė•", + "structure.twilightforest.large_hollow_hill": "큰 빈 ģ–øė•", "structure.twilightforest.lich_tower": "리치 ķƒ€ģ›Œ", - "structure.twilightforest.medium_hollow_hill": "ė¹„ģ–“ģžˆėŠ” ģ¤‘ķ˜• ģ–øė•", + "structure.twilightforest.medium_hollow_hill": "ģ¤‘ķ˜• 빈 ģ–øė•", "structure.twilightforest.mushroom_tower": "버섯 성", "structure.twilightforest.naga_courtyard": "ė‚˜ź°€ģ˜ 정원", "structure.twilightforest.quest_grove": "ķ€˜ģŠ¤ķŠø ģ–‘ 숲", - "structure.twilightforest.small_hollow_hill": "ė¹„ģ–“ģžˆėŠ” ģ†Œķ˜• ģ–øė•", + "structure.twilightforest.small_hollow_hill": "ģž‘ģ€ 빈 ģ–øė•", "structure.twilightforest.troll_cave": "트딤 ė™źµ“", "structure.twilightforest.yeti_cave": "ģ˜ˆķ‹° ė™źµ“", "subtitles.twilightforest.block.beanstalk.grow": "ė•…ģ“ ķ”ė“¤ė¦¼", @@ -1363,10 +1348,12 @@ "subtitles.twilightforest.block.builder.off": "ģ¹“ėÆøė‚˜ģ“ķŠø 구축기가 꺼짐", "subtitles.twilightforest.block.builder.on": "ģ¹“ėÆøė‚˜ģ“ķŠø 구축기가 켜짐", "subtitles.twilightforest.block.builder.replace": "구축 ėø”ė”ģ“ ģ†Œģ§„ėØ", - "subtitles.twilightforest.block.casket.close": "źø°ė…ķ’ˆ ģƒģžź°€ ė‹«ķž˜", - "subtitles.twilightforest.block.casket.locked": "źø°ė…ķ’ˆ ģƒģžź°€ ģž ź¹€", - "subtitles.twilightforest.block.casket.open": "źø°ė…ķ’ˆ ģƒģžź°€ 엓림", - "subtitles.twilightforest.block.casket.repair": "źø°ė…ķ’ˆ ģƒģžź°€ 수리됨", + "subtitles.twilightforest.block.candelabra.light": "ģ“›ėŒ€ź°€ ģ–“ė‘ģ›Œģ§", + "subtitles.twilightforest.block.candelabra.ominous": "ģ“›ėŒ€ź°€ 말함", + "subtitles.twilightforest.block.casket.close": "ģœ ķ’ˆ ģƒģžź°€ ė‹«ķž˜", + "subtitles.twilightforest.block.casket.locked": "ģœ ķ’ˆ ģƒģžź°€ ģž ź¹€", + "subtitles.twilightforest.block.casket.open": "ģœ ķ’ˆ ģƒģžź°€ 엓림", + "subtitles.twilightforest.block.casket.repair": "ģœ ķ’ˆ ģƒģžź°€ 수리됨", "subtitles.twilightforest.block.cicada": "매미가 ė¹„ėŖ…ģ„ 지름", "subtitles.twilightforest.block.core.time": "ģ‹œź°„ė‚˜ė¬“ź°€ ģ§øź¹ź±°ė¦¼", "subtitles.twilightforest.block.core.transformation": "ė³€ķ™”ė‚˜ė¬“ź°€ 웅웅거림", @@ -1392,7 +1379,7 @@ "subtitles.twilightforest.block.slider.move": "ėÆøė„ėŸ¼ ķ•Øģ •ģ“ 삐걱거림", "subtitles.twilightforest.block.smoker.start": "ģ—°źø° ėø”ė”ģ“ ķ™œģ„±ķ™”ėØ", "subtitles.twilightforest.block.torchberry.harvest": "ķ† ģ¹˜ė² ė¦¬ź°€ 터짐", - "subtitles.twilightforest.block.trophy_pedestal.activate": "ķŠøė”œķ”¼ ė°›ģ¹ØėŒ€ź°€ ķŠøė”œķ”¼ė„¼ ģˆ˜ė½ķ•Ø", + "subtitles.twilightforest.block.trophy_pedestal.activate": "ķŠøė”œķ”¼ ė°›ģ¹ØėŒ€ź°€ ķŠøė”œķ”¼ė„¼ ė°›ģ•„ė“¤ģž„", "subtitles.twilightforest.block.vanish.locked": "ķƒ‘ė‚˜ė¬“ ė¬øģ“ ė”øź¹ ģ†Œė¦¬ė„¼ ėƒ„", "subtitles.twilightforest.block.vanish.unlock": "ķƒ‘ė‚˜ė¬“ ė¬øģ“ ģž źøˆģ„ ķ•“ģ œķ•Ø", "subtitles.twilightforest.block.vanish.vanish": "점멸 ėø”ė”ģ“ ģ‚¬ė¼ģ§", @@ -1692,7 +1679,7 @@ "twilightforest.book.hydralair.4": "ź·øėŸ¬ķ•œ ė§ˆė²•ģ„ ė¬¶ėŠ” ź²ƒģ€ ė…¼ė¦¬ģ ģœ¼ė”œ, ģ¼ģ¢…ģ˜ ź°•ė „ķ•œ ėÆøė…øķƒ€ģš°ė”œģŠ¤ź°€ 될 ź±°ģ˜ˆģš”. ģ“ėŠ” ź·øź²ƒģ„ ė‘˜ėŸ¬ģ‹¼ 다넸 ģ£¼ė¬øź³¼ėŠ” ģ–“ė–¤ ė©“ģ—ģ„œėŠ” 다넓긓 ķ•˜ģ£ ...", "twilightforest.book.icetower": "ģ˜¤ė”œė¼ 궁전에 ź“€ķ•œ 사항들", "twilightforest.book.icetower.1": "§8[[ģ–¼ģŒģ— ź°‡ķžŒ ķƒķ—˜ź°€ģ˜ 수첩]]§0\n\n ėˆˆė³“ė¼ė„¼ ģ“ź²ØėƒˆėŠ”ė° ė¹™ķ•˜ ź¼­ėŒ€źø°ģ—ģ„œ ģ“ ė”ģ°ķ•œ ģ–¼ģŒ ķ­ķ’ģ„ ė§Œė‚¬ģ–“ģš”. ģ €ģ˜ ķƒķ—˜ģ€ ģ €ģ—ź²Œ 극지방 ģ˜¤ė”œė¼ģ˜ ģƒ‰ģœ¼ė”œ ė¹›ė‚˜ėŠ” ģ–¼ģŒ ź¶ģ „ģ˜ ķ™”ė ¤ķ•Øģ„ ė³“ģ—¬ģ£¼ģ—ˆģ–“ģš”.", - "twilightforest.book.icetower.2": "ģ“ ėŖØė“  ź²ƒģ“ ģ¼ģ¢…ģ˜ 저주에 ģ˜ķ•“ ė³“ķ˜øė˜ėŠ” 것 ź°™ģ•„ģš”.\n\n§8[[ė‹¤ģŒ ģž„]]§0\n\n ģ €ėŠ” ģ“ˆė³“ģžź°€ ģ•„ė‹ˆģ˜ˆģš”. ģ“ ģ €ģ£¼ėŠ” ź·¼ģ²˜ģ— ģ‚¬ėŠ” ģƒė¬¼ģ˜ ķž˜ģ— ģ˜ķ•“ ģƒź²Øė‚˜ģ£ . 불 ėŠŖģ§€ėŒ€ė„¼ ė‘˜ėŸ¬ģ‹øź³  ģžˆėŠ” ģ €ģ£¼ģ˜ ģ›ģøģ€", + "twilightforest.book.icetower.2": "ģ“ ėŖØė“  ź²ƒģ“ ģ¼ģ¢…ģ˜ 저주에 ģ˜ķ•“ ė³“ķ˜øė˜ėŠ” 것 ź°™ģ•„ģš”.\n\n§8[[ė‹¤ģŒ ģž„]]§0\n\n ģ €ėŠ” ģ“ˆė³“ģžź°€ ģ•„ė‹ˆģ—ģš”. ģ“ ģ €ģ£¼ėŠ” ź·¼ģ²˜ģ— ģ‚¬ėŠ” ģƒė¬¼ģ˜ ķž˜ģ— ģ˜ķ•“ ģƒź²Øė‚˜ģ£ . 불 ėŠŖģ§€ėŒ€ė„¼ ė‘˜ėŸ¬ģ‹øź³  ģžˆėŠ” ģ €ģ£¼ģ˜ ģ›ģøģ€", "twilightforest.book.icetower.3": "근처 ėÆøė…øķƒ€ģš°ė„“ģŠ¤ģ˜ ģš°ė‘ėØøė¦¬ģ˜ ķž˜ģœ¼ė”œ ė§Œė“¤ģ–“ģ”Œģ–“ģš”.\n\n ģ“ ė¹™ķ•˜ė„¼ ė‘˜ėŸ¬ģ‹øź³ , ė§Žģ€ ģ˜ˆķ‹°ė“¤ģ“ ģžˆģŠµė‹ˆė‹¤. ģ•„ė§ˆ ģ˜ˆķ‹°ģ—ź² ģ–“ė–¤ ė¦¬ė”ź°€ ģžˆėŠ” 것 ź°™ģ•„ģš”...", "twilightforest.book.labyrinth": "ėŠŖģ§€ ėÆøė”œģ— ź“€ķ•œ 사항들", "twilightforest.book.labyrinth.1": "§8[[ė°©ģˆ˜ģ§€ģ— ģ““ ķƒķ—˜ź°€ģ˜ 수첩]]§0\n\n ģ“ ėŠŖģ§€ėŒ€ģ˜ ėŖØźø°ė“¤ģ€ ģ„±ź°€ģ‹œģ§€ė§Œ ģ“ģƒķ•“ģš”. 그들 중 ėŒ€ė‹¤ģˆ˜ėŠ” ģ²œģ—°ģžģ›ģ“ 없고 지역 ģƒķƒœź³„ģ— ėŒ€ķ•œ ģ—­ķ• ė„ 없얓 ė³“ģ—¬ģš”. ģ €ėŠ” ź·øź²ƒė“¤ģ“", @@ -1709,7 +1696,7 @@ "twilightforest.book.tfstronghold.1": "§8[[ķ¬ėÆøķ•˜ź²Œ ė¹›ė‚˜ėŠ” ģ¢…ģ“ģ— 쓰여진 ķƒķ—˜ź°€ģ˜ 수첩]]§0\n\n ģ“ ģ§€ģ—­ģ„ ė‘˜ėŸ¬ģ‹øź³  ģžˆėŠ” ģ–“ė‘ ģ˜ ķž˜ģ¤„ģ€ 전첓 ģ–“ė‘ģš“ ģˆ²ģ— ėŒ€ķ•œ 볓호 ģ£¼ė¬øģ˜ ķ‘œģ‹œģ¼ ėæģ“ģ—ģš”. ģ“ ė§ˆė²•ģ€ ģ‹¤ėŖ…ģ„ ģ¼ģœ¼ģ¼œģš”. ģ“ź²ƒģ€ 꽤 성가신 ģ¼ģ“ė„¤ģš”. ģ €ėŠ” ģ“ ģ§€ģ—­ģ—ģ„œ ėŖ‡ėŖ‡ź°€ģ§€ģ˜", "twilightforest.book.tfstronghold.2": "ķ„ėÆøė”œģš“ ź²ƒė“¤ģ„ ė³“ģ•˜ź³  ź³„ģ†ķ•“ģ„œ ķƒķ—˜ķ•˜ź³  ģ‹¶ģ–“ģš”.\n\n§8[[ė‹¤ģŒ ģž„]]§0\n\n ģ–“ė‘ ģ˜ ģˆ²ģ—ģ„œ ķķ—ˆė„¼ ģ°¾ģ•˜ģ–“ģš”. źø°ģ‚¬ė“¤ģ“ 주딜 ź±°ģ£¼ķ•˜ėŠ” ģœ ķ˜•ģ˜ ģš”ģƒˆģ— ģ†ķ•“ģš”. ģ“ ģœ ģ ģ€ 기사들 ė³“ė‹¤ėŠ”", "twilightforest.book.tfstronghold.3": "ź³ ėø”ė¦°ģ“ ė§Žė„¤ģš”. ģŸ¤ė„¤ė“¤ģ€ źø°ģ‚¬ź°™ģ€ ź°‘ģ˜·ģ„ ģž…ģ§€ė§Œ ķ–‰ė™ģ„ ė³“ė‹ˆź¹ źø°ģ‚¬ģ˜ ėœ»ģ„ ģž˜ėŖ» ģ•Œź³  ģžˆėŠ” ź±° ź°™ė„¤ģš”.\n\n§8[[ė‹¤ģŒ ģž„]]§0\n\n ķķ—ˆ ģ† ź¹Šģ€ ź³³ģ—ģ„œ, ė°›ģ¹ØėŒ€ė„¼ ķ•˜ė‚˜ ģ°¾ģ•˜ģ–“ģš”. ė°›ģ¹ØėŒ€ėŠ” źø°ģ‚¬ė“¤ģ˜ ź°•ķ•Øģ„ 볓여주기 ģœ„ķ•“ ķŠøė”œķ”¼ė„¼ ģ „ģ‹œķ•˜ėŠ” ķ˜•ķƒœģø ź±° ź°™ģ•„ģš”.", - "twilightforest.book.tfstronghold.4": " ź°•ķ•œ 셉터넼 ģ–»ėŠ” 걓 ģ–“ė‘ ģ˜ ģˆ²ģ˜ 저주넼 ģ•½ķ™”ģ‹œķ‚¤ėŠ” ź±° 같고, ź°•ė „ķ•œ ģƒė¬¼ź³¼ ź“€ė Øėœ ķŠøė”œķ”¼ė„¼ ė°›ģ¹ØėŒ€ģ— ģ „ģ‹œķ•˜ėŠ” 걓 ģ•„ė§ˆ ģš”ģƒˆģ˜ ģ£¼ģš” 부분에 접근할 수 ģžˆź²Œ ķ•“ ģ£¼ėŠ” ź±° ź°™ė„¤ģš”.", + "twilightforest.book.tfstronghold.4": " ź°•ķ•œ ģ§€ķŒ”ģ“ė„¼ ģ–»ėŠ” 걓 ģ–“ė‘ ģ˜ ģˆ²ģ˜ 저주넼 ģ•½ķ™”ģ‹œķ‚¤ėŠ” ź±° 같고, ź°•ė „ķ•œ ģƒė¬¼ź³¼ ź“€ė Øėœ ķŠøė”œķ”¼ė„¼ ė°›ģ¹ØėŒ€ģ— ģ „ģ‹œķ•˜ėŠ” 걓 ģ•„ė§ˆ ģš”ģƒˆģ˜ ģ£¼ģš” 부분에 접근할 수 ģžˆź²Œ ķ•“ ģ£¼ėŠ” ź±° ź°™ė„¤ģš”.", "twilightforest.book.trollcave": "고원에 ź“€ķ•œ 사항들", "twilightforest.book.trollcave.1": "§8[[산성 ė¬¼ģ§ˆģ— ģ˜ķ•“ ģ†ģƒėœ ķƒķ—˜ź°€ģ˜ 수첩]]§0\n\nģ“ ģ§€ģ—­ģ„ ė‘˜ėŸ¬ģ‹øź³  ģžˆėŠ” ģœ ė…ģ„± ķ­ķ’ģœ¼ė”œė¶€ķ„° 저넼 ė³“ķ˜øķ•  ė°©ė²•ģ“ ģ—†ėŠ” 것 ź°™ģ•„ģš”. ģ§§ģ€ ģ—¬ķ–‰ģ—ģ„œ, ģ €ėŠ” ģ œź°€ ėŖ©ź²©ķ•œ 다넸 ź²ƒė“¤ź³¼ ė§ˆģ°¬ź°€ģ§€ė”œ 또 다넸 볓호 ģ£¼ė¬øģ„ ė§Œė‚¬ģ–“ģš”.", "twilightforest.book.trollcave.2": "ė§ˆė²•ģ€ ģ–“ė–¤ ģ‹ģœ¼ė”œė“  ģœ ė…ģ„± ķ­ķ’ź³¼ ģ—°ź“€ģ“ ģžˆģ„ ź±°ģ˜ˆģš”. ė” 연구핓야 ķ•  ź²ƒģ“ ģžˆģ–“ģš”...\n\n§8[[ė‹¤ģŒ ģž„]]§0\n\n ź·øėŸ¬ķ•œ ģµœź³ ģ˜ 기상 ė§ˆė²•ģ€ ė¶„ėŖ… ģ“ ģ„øģƒģ—ģ„œ ė¬“ķŒØģ˜ ėŒ€ģ•…ģ˜ ź²°ź³¼ģ¼ ź±°ģ˜ˆģš”. 제 ģ—°źµ¬ģ—ėŠ”", @@ -1741,7 +1728,7 @@ "twilightforest.tips.e115_pickup": "웅크리기 + 오넸쪽 ķ“ė¦­ģ€ ģ‹¤ķ—˜ģ²“ 115ė²ˆģ„ ė°°ģ¹˜ķ•˜ģ—¬ ė‹¤ģ‹œ ź°€ģ øģ˜µė‹ˆė‹¤.", "twilightforest.tips.e115_sprinkle": "ģ‹¤ķ—˜ģ²“ 115번 ģœ„ģ— ė ˆė“œģŠ¤ķ†¤ģ„ 뿌릓 수 ģžˆģŠµė‹ˆė‹¤.", "twilightforest.tips.experiment_115": "ģ•„ė¬“ė‚˜ ģ‹¤ķ—˜ģ²“ 115ė²ˆģ“ ģ •ķ™•ķžˆ 뭔지 ģ•„ģ‹œė‚˜ģš”?", - "twilightforest.tips.fiery_pickaxe": "ķ™”ģ—¼ģ„ ź³”ź“­ģ“ė”œ ė¶€ģ‹œėŠ” ėŖØė“  ėø”ė”ģ€ źµ¬ģ›Œģ§ˆ ź²ƒģž…ė‹ˆė‹¤.", + "twilightforest.tips.fiery_pickaxe": "ķŒŒģ“ģ–“ė¦¬ ź³”ź“­ģ“ė”œ ė¶€ģ‹œėŠ” ėŖØė“  ėø”ė”ģ€ źµ¬ģ›Œģ§ˆ ź²ƒģž…ė‹ˆė‹¤.", "twilightforest.tips.ghast_trap": "ź°€ģŠ¤ķŠø 함정 ģ£¼ė³€ģ—ģ„œ ģ¹“ėÆøė‚˜ģ“ķŠø ź°€ģŠ¤ķŠøģœ ģ²“ė„¼ ģ£½ģ“ėŠ” ź²ƒģ€ ģ£¼ė³€ģ˜ ź°€ģŠ¤ķŠø ķ•Øģ •ģ„ ģ¶©ģ „ģ‹œķ‚¬ ź²ƒģž…ė‹ˆė‹¤.", "twilightforest.tips.glass_sword": "유리 ź²€ģ€ ķ•œ 번 친 후 ķŒŒź““ė©ė‹ˆė‹¤.", "twilightforest.tips.hollow_log": "눈, ģ“ė¼, 사다리 ė“±ė“±ģ˜ ė§Žģ€ ź²ƒė“¤ģ„ ģ†ģ“ 빈 ė‚˜ė¬“ģ— ģ„¤ģ¹˜ķ•  수 ģžˆģŠµė‹ˆė‹¤.", @@ -1754,7 +1741,7 @@ "twilightforest.tips.jars": "ė°˜ė”§ė¶ˆģ“ģ™€ 매미넼 병 ģ†ģ— ė‹“ģ„ 수 ģžˆģŠµė‹ˆė‹¤.", "twilightforest.tips.kobold": "ģ½”ė³¼ķŠø", "twilightforest.tips.labyrinth_vault": "ģ“ ėÆøė”œģ—ėŠ” ė¹„ė°€ģ˜ ė°©ģ“ ģžˆģŠµė‹ˆė‹¤.", - "twilightforest.tips.lich_scepters": "ė¦¬ģ¹˜ėŠ” ė‹¤ģ–‘ķ•œ ė§ˆė²• źø°ė°˜ģ˜ 셉터넼 ė–Øģ–“ėœØė¦½ė‹ˆė‹¤.", + "twilightforest.tips.lich_scepters": "ė¦¬ģ¹˜ėŠ” ė‹¤ģ–‘ķ•œ ė§ˆė²• źø°ė°˜ģ˜ ģ§€ė°©ģ“ė„¼ ė–Øģ–“ėœØė¦½ė‹ˆė‹¤.", "twilightforest.tips.liveroot": "ģƒėæŒė¦¬ėŠ” ź±°ģ˜ ėŖØė“  ė‚˜ė¬“ ė°‘ģ—ģ„œ ė°œź²¬ė©ė‹ˆė‹¤.", "twilightforest.tips.magic_beans": "ģ–‘ģ§ˆģ˜ ķ™ģ— ė§ˆė²•ģ˜ ģ½©ģ„ ģ‹¬ėŠ” ź²ƒģ€ ģ»¤ė‹¤ėž€ ģ½©ė‚˜ė¬“ź°€ ė‹ź²Œ ķ•©ė‹ˆė‹¤.", "twilightforest.tips.magic_leaves": "ė§ˆė²• ė‚˜ė­‡ģžŽģ€ ė¶€ģ…”ģ§ˆ ė•Œ ė¬˜ėŖ©ģ„ ė–Øģ–“ėœØė¦¬ģ§€ ģ•Šģ„ ź²ƒģž…ė‹ˆė‹¤.", @@ -1789,5 +1776,5 @@ "twilightforest.tips.vanishing_block": "점멸 ėø”ė”ģ€ ķ™œģ„±ķ™”ė  ė•Œ ģ˜ģ›ķžˆ ģ‚¬ė¼ģ§ˆ ź²ƒģž…ė‹ˆė‹¤.", "twilightforest.tips.worldgen_features": "ģ“ ģˆ²ģ€ ė§Žģ€ ķķ—ˆė”œ ź°€ė“ģ°ØģžˆģŠµė‹ˆė‹¤. ėŖ‡ėŖ‡ź°œėŠ” ė…ķŠ¹ķ•œ ģ•„ģ“ķ…œģ“ ė“¤ģ–“ģžˆģ„ 수 ģžˆģŠµė‹ˆė‹¤.", "twilightforest.tips.yeti": "ģ˜ˆķ‹°ėŠ” ė¬¼ź±“ģ„ ė˜ģ§€ėŠ” ź²ƒģ„ ģ¢‹ģ•„ķ•©ė‹ˆė‹¤.", - "twilightforest.tips.zombie_healing": "ģ¢€ė¹„ėŠ” 좀비 ģ…‰ķ„°ė”œ ģ†Œķ™˜ķ•  수 ģžˆź³  ģ©ģ€ 고기딜 ķšŒė³µģ‹œķ‚¬ 수 ģžˆģŠµė‹ˆė‹¤." + "twilightforest.tips.zombie_healing": "ģ¢€ė¹„ėŠ” ė¶ˆģ‚¬ģ˜ ģ§€ė°°ė”œ ģ†Œķ™˜ķ•  수 ģžˆź³  ģ©ģ€ 고기딜 좀비넼 ķšŒė³µģ‹œķ‚¬ 수 ģžˆģŠµė‹ˆė‹¤." } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/pl_pl.json b/src/main/resources/assets/twilightforest/lang/pl_pl.json index d69803010f..c82cf95f07 100644 --- a/src/main/resources/assets/twilightforest/lang/pl_pl.json +++ b/src/main/resources/assets/twilightforest/lang/pl_pl.json @@ -14,7 +14,6 @@ "advancement.twilightforest.fiery_set": "Litry krwi i łez", "advancement.twilightforest.fiery_set.desc": "Trzymaj ogniste narzędzie lub broń, jednocześnie nosząc przynajmniej jedną część ognistej zbroi", "advancement.twilightforest.full_mettle_alchemist": "Stalowy Alchemik", - "advancement.twilightforest.full_mettle_alchemist.desc": "Wypij cztery dawki mikstury krzywdy II w mniej niż 8 sekund i przeżyj", "advancement.twilightforest.ghast_trap": "Coś dziwnego w Drewnie Wieży", "advancement.twilightforest.ghast_trap.desc": "Zabij %ss dookoła %s i aktywuj, aby ciągnąć %s z nieba!", "advancement.twilightforest.giants": "Jestem w siódmym niebie", @@ -382,8 +381,6 @@ "block.twilightforest.time_stairs": "Czasodrewne schody", "block.twilightforest.time_trapdoor": "Czasodrewna klapa", "block.twilightforest.time_trapped_chest": "Skrzynia-pułapka z Czasodrewna", - "block.twilightforest.time_wall_hanging_sign": "Czasodrewna naścienna podwieszana tabliczka", - "block.twilightforest.time_wall_sign": "Czasodrewna naścienna tabliczka", "block.twilightforest.time_wood": "Czasodrewne drewno", "block.twilightforest.transformation_log": "Pień z Drzewa Transformacji", "block.twilightforest.transformation_sapling": "Sadzonka Drzewa Transformacji", @@ -422,7 +419,6 @@ "entity.twilightforest.raven": "Kruk", "entity.twilightforest.snow_queen": "Królowa śniegu", "entity.twilightforest.squirrel": "Wiewiórka", - "entity.twilightforest.thrown_ice": "Lodowa bomba", "entity.twilightforest.tiny_bird": "Mały ptaszek", "entity.twilightforest.tome_bolt": "Piorun Księgo Widma", "entity.twilightforest.wand_bolt": "Piorun Berła Zmierzchu", diff --git a/src/main/resources/assets/twilightforest/lang/pt_br.json b/src/main/resources/assets/twilightforest/lang/pt_br.json index 4c63905982..b1f06f846c 100644 --- a/src/main/resources/assets/twilightforest/lang/pt_br.json +++ b/src/main/resources/assets/twilightforest/lang/pt_br.json @@ -19,7 +19,6 @@ "advancement.twilightforest.fiery_set": "GalƵes de Sangue e LĆ”grimas", "advancement.twilightforest.fiery_set.desc": "Empunhe uma ferramenta ou arma ardente enquanto tiver pelo menos uma peƧa de armadura ardente em seu inventĆ”rio", "advancement.twilightforest.full_mettle_alchemist": "Full Arrojo Alchemist", - "advancement.twilightforest.full_mettle_alchemist.desc": "Beba quatro doses de Dano II de um cantil de poƧƵes em menos de 8 segundos e sobreviva", "advancement.twilightforest.ghast_trap": "Algo Estranho na Torre de Madeira", "advancement.twilightforest.ghast_trap.desc": "Mate os %s em torno de uma %s e a ative para tirar a %s do cĆ©u!", "advancement.twilightforest.giants": "Estou nas nuvens", @@ -78,7 +77,7 @@ "advancement.twilightforest.progression_end.desc": "Qualquer coisa alĆ©m desse ponto no Planalto Ć© um trabalho em progresso. Que serĆ” terminado no futuro", "advancement.twilightforest.quest_ram": "Baaahs Consumidos", "advancement.twilightforest.quest_ram.desc": "DĆŖ ao %s o que estĆ” faltando", - "advancement.twilightforest.root": "Floresta do CrepĆŗsculo", + "advancement.twilightforest.root": "Twilight Forest", "advancement.twilightforest.root.desc": "Entre na misteriosa, floresta mĆ”gica: the Twilight Forest", "advancement.twilightforest.troll": "Uma Pequena Zoeirinha", "advancement.twilightforest.troll.desc": "Encontre e mate um %s", @@ -87,7 +86,7 @@ "advancement.twilightforest.twilight_hunter": "O SilĆŖncio da Floresta", "advancement.twilightforest.twilight_hunter.desc": "Cace um pouco da vida selvagem local", "advancement.twilightforest.uncraft_uncrafting_table": "Um passo muito longo", - "advancement.twilightforest.uncraft_uncrafting_table.desc": "Desfabrique uma bancada de desfabricação", + "advancement.twilightforest.uncraft_uncrafting_table.desc": "Desfabrique uma Bancada de Desfabricação", "auroraBiomes.button": "Editar biomas", "biome.twilightforest.clearing": "Clareira do CrepĆŗsculo", "biome.twilightforest.dark_forest": "Floresta Sombria", @@ -98,7 +97,7 @@ "biome.twilightforest.final_plateau": "PlatĆ“ Final", "biome.twilightforest.fire_swamp": "PĆ¢ntano de Fogo", "biome.twilightforest.firefly_forest": "Floresta Vaga-lume", - "biome.twilightforest.forest": "Floresta do CrepĆŗsculo", + "biome.twilightforest.forest": "Floresta do anoitecer", "biome.twilightforest.glacier": "Geleira do CrepĆŗsculo", "biome.twilightforest.highlands": "Planalto do CrepĆŗsculo", "biome.twilightforest.lake": "Lago do CrepĆŗsculo", @@ -298,15 +297,12 @@ "block.twilightforest.canopy_stairs": "Escadas de Marquise", "block.twilightforest.canopy_trapdoor": "AlƧapĆ£o de Marquise", "block.twilightforest.canopy_trapped_chest": "BaĆŗ De Dossel Preso", - "block.twilightforest.canopy_wall_hanging_sign": "Sinal De SuspensĆ£o De Parede De Dossel", - "block.twilightforest.canopy_wall_sign": "Placa de Parede de Marquise", "block.twilightforest.canopy_window": "Janela De Dossel", "block.twilightforest.canopy_window_pane": "Painel De Janela De Dossel", "block.twilightforest.canopy_wood": "Madeira de Ɓrvore de Marquise", "block.twilightforest.carminite_block": "Bloco de Carminite", "block.twilightforest.carminite_builder": "Construtor de Carminite", "block.twilightforest.carminite_reactor": "Reactor de Carminite", - "block.twilightforest.casket.broken": "Seu CaixĆ£o da Recordação estava muito danificado para carregar mais itens. Todos os itens que seriam guardados em seu caixĆ£o foram derrubados no chĆ£o.", "block.twilightforest.casket.locked": "Este CaixĆ£o só pode ser aberto por %s!", "block.twilightforest.castle_brick": "Tijolo do Castelo", "block.twilightforest.castle_brick_stairs": "Escadas de Tijolo do Castelo", @@ -330,9 +326,7 @@ "block.twilightforest.cracked_towerwood": "Pranchas de madeira da torre rachada", "block.twilightforest.cracked_underbrick": "Subtijolo Rachado", "block.twilightforest.creeper_skull_candle": "Vela de CrĆ¢nio de Creeper", - "block.twilightforest.creeper_wall_skull_candle": "Vela de CrĆ¢nio de Creeper de Parede", "block.twilightforest.crimson_banister": "CorrimĆ£o de Carmesim", - "block.twilightforest.cursed_spawner": "Gerador AmaldiƧoado", "block.twilightforest.cut_mazestone": "Pedra do Labirinto Cortada", "block.twilightforest.dark_banister": "CorrimĆ£o de Madeira Negra", "block.twilightforest.dark_button": "BotĆ£o de Madeira Negra", @@ -351,8 +345,6 @@ "block.twilightforest.dark_stairs": "Escadas de Madeira Negra", "block.twilightforest.dark_trapdoor": "AlƧapĆ£o de Madeira Negra", "block.twilightforest.dark_trapped_chest": "BaĆŗ De Madeira Escura Preso", - "block.twilightforest.dark_wall_hanging_sign": "Placa De Madeira Escura Para Pendurar Na Parede", - "block.twilightforest.dark_wall_sign": "Placa de Parede Em Madeira Escura", "block.twilightforest.dark_wood": "Madeira Escura", "block.twilightforest.darkwood_sapling": "Muda de Madeira Negra", "block.twilightforest.deadrock": "Pedra Morta", @@ -479,8 +471,6 @@ "block.twilightforest.mangrove_stairs": "Escadas de Mangue", "block.twilightforest.mangrove_trapdoor": "AlƧapĆ£o de Mangue", "block.twilightforest.mangrove_trapped_chest": "BaĆŗ De Mangue Preso", - "block.twilightforest.mangrove_wall_hanging_sign": "Placa de Parede Suspensa de Mangue", - "block.twilightforest.mangrove_wall_sign": "Placa de Mangue de Parede", "block.twilightforest.mangrove_wood": "Madeira de Mangue", "block.twilightforest.mason_jar": "Frasco de Vidro", "block.twilightforest.mayapple": "MandrĆ”gora", @@ -506,8 +496,6 @@ "block.twilightforest.mining_stairs": "Escadas de Madeira de Mineiro", "block.twilightforest.mining_trapdoor": "AlƧapĆ£o de Madeira de Mineiro", "block.twilightforest.mining_trapped_chest": "BaĆŗ de Minewood Preso", - "block.twilightforest.mining_wall_hanging_sign": "Placa de Parede Suspensa de Minewood", - "block.twilightforest.mining_wall_sign": "Placa na Parede de Madeira de Mineiro", "block.twilightforest.mining_wood": "Madeira de Minewood", "block.twilightforest.minoshroom_boss_spawner": "Gerador de Chefe Minogumelo", "block.twilightforest.minoshroom_trophy": "TrofĆ©u de Minogumelo", @@ -534,13 +522,11 @@ "block.twilightforest.oak_banister": "CorrimĆ£o de Carvalho", "block.twilightforest.orange_force_field": "Campo de ForƧa Laranja", "block.twilightforest.piglin_skull_candle": "Candeiro de Caveira de Piglin", - "block.twilightforest.piglin_wall_skull_candle": "Candeiro de Caveira de Piglin de Parede", "block.twilightforest.pink_castle_door": "Porta do Castelo Magenta", "block.twilightforest.pink_castle_rune_brick": "Tijolo Runa do Castelo Magenta", "block.twilightforest.pink_force_field": "Campo de ForƧa Magenta", "block.twilightforest.player_skull_candle": "Vela de CrĆ¢nio do Jogador", "block.twilightforest.player_skull_candle.named": "CabeƧa de %s com velas", - "block.twilightforest.player_wall_skull_candle": "Vela de CrĆ¢nio do Jogador de Parede", "block.twilightforest.potted_canopy_sapling": "Muda de Ɓrvore de Marquise em Vaso", "block.twilightforest.potted_darkwood_sapling": "Muda de Ɓrvore de Madeira Negra em Vaso", "block.twilightforest.potted_dead_thorn": "Espinho Queimado em Vaso", @@ -567,9 +553,7 @@ "block.twilightforest.root": "RaĆ­zes", "block.twilightforest.root_strand": "Vertentes de Raiz", "block.twilightforest.rope": "Corda", - "block.twilightforest.royal_rags": "Bandeiras Reais", "block.twilightforest.skeleton_skull_candle": "Vela de CrĆ¢nio de Esqueleto", - "block.twilightforest.skeleton_wall_skull_candle": "Vela de CrĆ¢nio de Esqueleto de Parede", "block.twilightforest.slider": "Armadilha de Deslize", "block.twilightforest.smoker": "Defumador", "block.twilightforest.snow_queen_boss_spawner": "Gerador de Chefe Rainha da Neve", @@ -593,8 +577,6 @@ "block.twilightforest.sorting_stairs": "Escadas de Madeira de Ordenação", "block.twilightforest.sorting_trapdoor": "AlƧapĆ£o de Madeira de Ordenação", "block.twilightforest.sorting_trapped_chest": "BaĆŗ de Madeira de Ordenação Trancado", - "block.twilightforest.sorting_wall_hanging_sign": "Placa suspensa de Madeira de Ordenação", - "block.twilightforest.sorting_wall_sign": "Placa na Parede de Madeira de Ordenação", "block.twilightforest.sorting_wood": "Madeira de Ordenação", "block.twilightforest.spiral_bricks": "Tijolos Espirais", "block.twilightforest.spruce_banister": "CorrimĆ£o de Abeto", @@ -640,8 +622,6 @@ "block.twilightforest.time_stairs": "Escadas de Madeira do Tempo", "block.twilightforest.time_trapdoor": "AlƧapĆ£o de Madeira do Tempo", "block.twilightforest.time_trapped_chest": "BaĆŗ de Madeira do Tempo Trancado", - "block.twilightforest.time_wall_hanging_sign": "Placa suspensa de Madeira do Tempo", - "block.twilightforest.time_wall_sign": "Placa na Parede de Madeira do Tempo", "block.twilightforest.time_wood": "Madeira do Tempo", "block.twilightforest.torchberry_plant": "Planta de Baga de Tocha", "block.twilightforest.towerwood": "TĆ”buas de Madeira de Torre", @@ -663,8 +643,6 @@ "block.twilightforest.transformation_stairs": "Escadas de Madeira de Transformação", "block.twilightforest.transformation_trapdoor": "AlƧapĆ£o de Madeira de Tranformação", "block.twilightforest.transformation_trapped_chest": "BaĆŗ Trancado de Madeira de Transformação", - "block.twilightforest.transformation_wall_hanging_sign": "Placa Suspensa de Madeira de Transformação", - "block.twilightforest.transformation_wall_sign": "Placa na Parede de Madeira de Transformação", "block.twilightforest.transformation_wood": "Madeira de Transformação", "block.twilightforest.trollber": "Bagas de Troll", "block.twilightforest.trollsteinn": "Pedra de Troll", @@ -687,11 +665,9 @@ "block.twilightforest.twilight_oak_stairs": "Escadas de Carvalho do CrepĆŗsculo", "block.twilightforest.twilight_oak_trapdoor": "AlƧapĆ£o de Carvalho do CrepĆŗsculo", "block.twilightforest.twilight_oak_trapped_chest": "BaĆŗ trancado de Carvalho do CrepĆŗsculo", - "block.twilightforest.twilight_oak_wall_hanging_sign": "Placa Suspensa ", - "block.twilightforest.twilight_oak_wall_sign": "Placa de Carvalho do CrepĆŗsculo", "block.twilightforest.twilight_oak_wood": "Madeira de Carvalho do CrepĆŗsculo", - "block.twilightforest.twilight_portal": "Portal da Floresta do CrepĆŗsculo", - "block.twilightforest.twilight_portal_miniature_structure": "Miniatura de Portal para Floresta do CrepĆŗsculo", + "block.twilightforest.twilight_portal": "Portal da floresta do anoitecer", + "block.twilightforest.twilight_portal_miniature_structure": "Miniatura de portal para floresta do anoitecer", "block.twilightforest.twisted_stone": "Pedra Retorcida", "block.twilightforest.twisted_stone_pillar": "Pilar de Pedra Retorcida", "block.twilightforest.uberous_soil": "Solo FĆ©rtil", @@ -712,7 +688,6 @@ "block.twilightforest.weathered_deadrock": "Pedra Morta Resistente", "block.twilightforest.wispy_cloud": "Nuvem Fina", "block.twilightforest.wither_skeleton_skull_candle": "Vela de CrĆ¢nio de Esqueleto Wither", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Vela de CrĆ¢nio de Esqueleto Wither de Parede", "block.twilightforest.worn_castle_brick": "Tijolo do Castelo Desgastado", "block.twilightforest.worn_castle_brick_stairs": "Escadas de Tijolo do Castelo Desgastado", "block.twilightforest.wrought_iron_fence": "Cerca de Ferro Forjado", @@ -720,7 +695,6 @@ "block.twilightforest.yellow_castle_door": "Porta do Castelo Amarela", "block.twilightforest.yellow_castle_rune_brick": "Tijolo de Castelo RĆŗnico Amarelo", "block.twilightforest.zombie_skull_candle": "Vela de CrĆ¢nio de Zumbi", - "block.twilightforest.zombie_wall_skull_candle": "Vela de CrĆ¢nio de Zumbi de Parede", "commands.tffeature.center": "Centro do recurso: %s", "commands.tffeature.chunk": "Localizado no chunk do recurso: %s", "commands.tffeature.nearest": "O recurso mais perto Ć©: %s", @@ -742,7 +716,7 @@ "config.twilightforest.aurora_biomes": "Shader de Biomas de Aurora", "config.twilightforest.aurora_biomes.tooltip": "Define em quais biomas o efeito do shader aurora aparecerĆ”. Deixe a lista vazia para desabilitar o efeito.", "config.twilightforest.boss_drop_chests": "BaĆŗs de chefes", - "config.twilightforest.boss_drop_chests.tooltip": "Se for verdade, os chefes da Floresta do CrepĆŗsculo colocarĆ£o seus itens dentro de um baĆŗ onde surgiram originalmente, em vez de largar o saque diretamente.\nObserve que os Cavaleiros Fantasma nĆ£o sĆ£o afetados por isso, pois seus drops funcionam de maneira diferente.", + "config.twilightforest.boss_drop_chests.tooltip": "Se ativado, os chefes da Floresta do Anoitecer colocarĆ£o seus itens em um baĆŗ onde originalmente surgiram, em vez de deixarem os itens caĆ­rem diretamente. \nObserve que os Fantasmas Cavaleiros nĆ£o sĆ£o afetados por isso, pois seus itens funcionam de maneira diferente.", "config.twilightforest.casket_uuid_locking": "Bloqueio UUID do caixĆ£o", "config.twilightforest.casket_uuid_locking.tooltip": "Se for verdade, os CaixƵes de lembranƧa que aparecem quando um jogador morre nĆ£o serĆ£o acessĆ­veis a outros jogadores. Use isto se vocĆŖ nĆ£o quiser que as pessoas tirem os caixƵes da morte de outras pessoas.\nNOTA: os operadores do servidor ainda poderĆ£o abrir caixƵes trancados.", "config.twilightforest.check_portal_placement": "Verifique o colocamento do portal", @@ -761,7 +735,7 @@ "config.twilightforest.disable_skull_candles.tooltip": "Se for verdade, desative a capacidade de fazer Velas de Caveira clicando com o botĆ£o direito em uma caveira vanila com uma vela. Ative esta opção se vocĆŖ estiver tendo problemas de conflito de mod por algum motivo.", "config.twilightforest.disable_uncrafting": "Desativar desfabricação", "config.twilightforest.disable_uncrafting.tooltip": "Desativa a função de desfazer da mesa de desfazer. Recomendado como Ćŗltimo recurso se houver muitas coisas para mudar em seu comportamento (ou se vocĆŖ for apenas preguiƧoso, nĆ£o julgo).\nObserve que receitas especiais de desconstrução nĆ£o estĆ£o desativadas, pois o mod depende delas para outras coisas.", - "config.twilightforest.disable_uncrafting_table": "Desativar Mesa de Desconstrução", + "config.twilightforest.disable_uncrafting_table": "Desativar a Bancada de Desfabricação", "config.twilightforest.disable_uncrafting_table.tooltip": "Desativa qualquer uso da mesa de desconstrução, bem como evita que ela apareƧa em saques ou criaƧƵes.\nObserve que a tabela tem mais utilidades do que apenas desfazer, vocĆŖ pode ler sobre elas aqui! http://benimatic.com/tfwiki/index.php?title=Uncrafting_Table\nƉ altamente recomendĆ”vel manter a mesa habilitada, pois o mod possui receitas especiais de uncrafting exclusivas, mas a opção permanece para quem nĆ£o quer que a mesa seja funcional.\nSe vocĆŖ deseja apenas evitar que as receitas normais de elaboração sejam revertidas, considere usar a opção ā€˜desabilitarDesconstrução’.", "config.twilightforest.giant_skin_uuid_list": "Skins Gigantes", "config.twilightforest.giant_skin_uuid_list.tooltip": "Lista de UUIDs de jogadores cujas skins os Giagantes devem usar. Deixe a lista vazia para usar a skin do jogador que os visualiza.", @@ -849,9 +823,9 @@ "container.twilightforest.uncrafting_table.cycle_back_uncraft": "Receita Anterior para Desfazer", "container.twilightforest.uncrafting_table.cycle_next_ingredient": "Próxima Desfabricação de Ingredientes", "container.twilightforest.uncrafting_table.cycle_next_recipe": "Próxima receita de fabricação", - "container.twilightforest.uncrafting_table.cycle_next_uncraft": "Próxima receita de fabricação", - "container.twilightforest.uncrafting_table.disabled_item": "Desfazer esse item estĆ” desativado", - "container.twilightforest.uncrafting_table.uncrafting_disabled": "Desfabricação estĆ” desabilitada via configuração", + "container.twilightforest.uncrafting_table.cycle_next_uncraft": "Próxima receita de desfabricação", + "container.twilightforest.uncrafting_table.disabled_item": "Este item nĆ£o pode ser desfabricado", + "container.twilightforest.uncrafting_table.uncrafting_disabled": "Desfabricação estĆ” desabilitada nas configuraƧƵes", "death.attack.twilightforest.acid_rain": "%1$s foi danƧar na chuva Ć”cida", "death.attack.twilightforest.ant": "%1$s foi esmagado como uma formiga por %2$s", "death.attack.twilightforest.ant.item": "%1$s foi esmagado como uma formiga por %2$s segurando %3$s", @@ -927,7 +901,6 @@ "entity.twilightforest.alpha_yeti": "IĆ©ti Alfa", "entity.twilightforest.armored_giant": "Gigante de armadura", "entity.twilightforest.bighorn_sheep": "Ovelha de Chifres Compridos", - "entity.twilightforest.blockchain_goblin": "Duende de Bloco e Corrente", "entity.twilightforest.boar": "Javali", "entity.twilightforest.carminite_broodling": "Parasitoide de Carminite", "entity.twilightforest.carminite_ghastguard": "Ghast Guarda de Carminite", @@ -952,8 +925,8 @@ "entity.twilightforest.ice_crystal": "Cristal de Gelo", "entity.twilightforest.ice_snowball": "Bola de Gelo", "entity.twilightforest.king_spider": "Rei Aranha", - "entity.twilightforest.knight_phantom": "Cavaleiro Spectral", - "entity.twilightforest.knight_phantom.plural": "Cavaleiro Fantasma", + "entity.twilightforest.knight_phantom": "Cavaleiro espectral", + "entity.twilightforest.knight_phantom.plural": "Cavaleiros espectrais", "entity.twilightforest.kobold": "Kobold", "entity.twilightforest.lich": "Lich", "entity.twilightforest.lich_bolt": "Raio do Lich", @@ -983,15 +956,12 @@ "entity.twilightforest.skeleton_druid": "Esqueleto Druida", "entity.twilightforest.slider": "Armadilha de Deslize Movendo", "entity.twilightforest.slime_beetle": "Besouro de Slime", - "entity.twilightforest.slime_blob": "Blob de Slime", "entity.twilightforest.snow_guardian": "GuardiĆ£o de Neve", "entity.twilightforest.snow_queen": "Rainha da Neve", "entity.twilightforest.squirrel": "Esquilo", "entity.twilightforest.stable_ice_core": "NĆŗcleo de Gelo EstĆ”vel", "entity.twilightforest.swarm_spider": "Aranha de Enxame", "entity.twilightforest.thrown_block": "Bloco lanƧado", - "entity.twilightforest.thrown_ice": "Bomba de Gelo", - "entity.twilightforest.thrown_wep": "Arma de Arremesso", "entity.twilightforest.tiny_bird": "PĆ”ssaro Pequeno", "entity.twilightforest.tome_bolt": "Raio do Tomo da Morte", "entity.twilightforest.towerwood_borer": "Caruncho de Madeira de Torre", @@ -1031,7 +1001,6 @@ "item.twilightforest.armored_giant_spawn_egg": "Ovo gerador de gigante de armadura", "item.twilightforest.bighorn_sheep_spawn_egg": "Ovo gerador de Ovelha de Chifres Compridos", "item.twilightforest.block_and_chain": "Bloco e Corrente", - "item.twilightforest.blockchain_goblin_spawn_egg": "Ovo gerador de Duende de Bloco e Corrente", "item.twilightforest.boar_spawn_egg": "Ovo de Nascimento de Javali", "item.twilightforest.boarkchop": "Costelinha crua", "item.twilightforest.borer_essence": "EssĆŖncia de Broca", @@ -1080,7 +1049,6 @@ "item.twilightforest.filled_maze_map": "Mapa do Labirinto", "item.twilightforest.filled_ore_map": "Mapa do Labirinto/MinĆ©rio", "item.twilightforest.fire_beetle_spawn_egg": "Ovo gerador de Besouro de Fogo", - "item.twilightforest.flask.doses": "Doses: %s/%s", "item.twilightforest.flask.no_refill": "NĆ£o pode ser recarregado", "item.twilightforest.fortification_scepter": "Cetro da Fortificação", "item.twilightforest.four_leaf_clover": "Trevo-de-Quatro-Folhas", @@ -1293,14 +1261,55 @@ "misc.twilightforest.firefly_spawner_radius": "Raio da PartĆ­cula de Vaga-lume: %s Blocos", "misc.twilightforest.magic_map_fail": "A magia falhou. Talvez nĆ£o funcione aqui?\n\n\n\n\n\n\n", "misc.twilightforest.ore_meter_header_block": "Bloco", + "misc.twilightforest.ore_meter_header_ratio": "RazĆ£o", + "misc.twilightforest.ore_meter_loading": "Carregando", + "misc.twilightforest.ore_meter_new_range": "Intervalo definido para %s blocos", + "misc.twilightforest.ore_meter_no_blocks": "Nenhum bloco encontrado nas proximidades", + "misc.twilightforest.ore_meter_range": "Raio: %s, Origem: [%s, %s]", + "misc.twilightforest.ore_meter_ratio": "(%s%%)", + "misc.twilightforest.ore_meter_separator": "-", + "misc.twilightforest.ore_meter_set_block": "Bloco alvo definido como %s", + "misc.twilightforest.ore_meter_targeted_block": "Bloco alvo: %s", + "misc.twilightforest.ore_meter_total": "Total de blocos verificados: %s", + "misc.twilightforest.pedestal_ineligible": "VocĆŖ nĆ£o Ć© digno.", + "misc.twilightforest.portal_unsafe": "NĆ£o parece seguro aqui...", + "misc.twilightforest.portal_unworthy": "A conjunto de portais nĆ£o estĆ” respondendo. Talvez algo tenha sido negligenciado?", + "misc.twilightforest.wip": "Este recurso Ć© um trabalho em andamento e pode conter erros ou efeitos nĆ£o intencionais que podem danificar seu mundo", + "museumcurator.animalhusbandry.twilightforest.bugs": "Erros", + "museumcurator.architecture.twilightforest.aurorablocks": "Blocos Aurora", + "museumcurator.architecture.twilightforest.banisters": "CorrimƵes", + "museumcurator.architecture.twilightforest.castlebrick": "Tijolo do Castelo", + "museumcurator.architecture.twilightforest.giantblocks": "Blocos Gigantes", + "museumcurator.botany.twilightforest.beanstalk": "PĆ© de feijĆ£o", + "museumcurator.botany.twilightforest.canopytree": "Ɓrvore do dossel", + "museumcurator.botany.twilightforest.darkwoodtree": "Ɓrvore de madeira escura", + "museumcurator.botany.twilightforest.mangrovetree": "Ɓrvore de mangue", + "museumcurator.botany.twilightforest.miningtree": "Ɓrvore Minewood", + "museumcurator.botany.twilightforest.sortingtree": "Ɓrvore Sortingwood", + "museumcurator.botany.twilightforest.timetree": "Ɓrvore Timewood", + "museumcurator.botany.twilightforest.transformationtree": "Ɓrvore Transwood", + "museumcurator.botany.twilightforest.twilightoaktree": "Carvalho Crepuscular", + "museumcurator.equipment.twilightforest.scepters": "Cetros de Poder", + "museumcurator.lithology.twilightforest.deadrock": "Pedra morta", + "museumcurator.lithology.twilightforest.mazestone": "Pedra do Labirinto", + "museumcurator.lithology.twilightforest.nagastone": "Pedra Naga", + "museumcurator.machinery.twilightforest.carminitemachines": "Mecanismos Carminita", + "museumcurator.metallurgy.twilightforest.fiery": "Metal Ardente", "museumcurator.metallurgy.twilightforest.ironwood": "Madeira-ferro", + "museumcurator.metallurgy.twilightforest.knightmetal": "Metal de Cavaleiro", + "stat.twilightforest.blocks_crumbled": "Blocos Desintegrados", + "stat.twilightforest.bugs_squished": "Insetos Esmagados", "stat.twilightforest.e115_slices_eaten": "Fatias de experimento 115 comidas", + "stat.twilightforest.keeping_charms_activated": "Encantos de Manutenção Usados", + "stat.twilightforest.life_charms_activated": "Encantos de Vida Usados", + "stat.twilightforest.skull_candles_made": "Velas de Caveira Criadas", "stat.twilightforest.tf_shields_broken": "Escudos de Fortificação Quebrados", "stat.twilightforest.torchberries_harvested": "Bagas de Tocha Colhidas", "stat.twilightforest.trophy_pedestals_activated": "Pedestal de TrofĆ©u ativado", - "stat.twilightforest.uncrafting_table_interactions": "InteraƧƵes com bancada de desfabricação", + "stat.twilightforest.uncrafting_table_interactions": "InteraƧƵes com a Bancada de Desfabricação", "structure.twilightforest.aurora_palace": "PalĆ”cio Aurora", "structure.twilightforest.dark_tower": "Torre Negra", + "structure.twilightforest.final_castle": "Castelo do Planalto Final", "structure.twilightforest.hedge_maze": "Labirinto de Cobertura", "structure.twilightforest.hydra_lair": "Covil da Hidra", "structure.twilightforest.knight_stronghold": "Fortaleza do Cavaleiro", @@ -1312,8 +1321,10 @@ "structure.twilightforest.naga_courtyard": "PĆ”tio da Naga", "structure.twilightforest.quest_grove": "Arvoredo de MissĆ£o", "structure.twilightforest.small_hollow_hill": "Colina Oca Pequena", + "structure.twilightforest.troll_cave": "Caverna dos Trolls", "structure.twilightforest.yeti_cave": "Caverna do IĆ©ti", "subtitles.twilightforest.block.beanstalk.grow": "ChĆ£o treme", + "subtitles.twilightforest.block.boss_chest.appear": "BaĆŗ do Chefe aparece", "subtitles.twilightforest.block.bug.squish": "Inseto Ć© esmagado :(", "subtitles.twilightforest.block.builder.create": "O Construtor de Carminite cria blocos", "subtitles.twilightforest.block.builder.off": "Construtor de Carminite desativado", @@ -1383,6 +1394,10 @@ "subtitles.twilightforest.entity.carminite_ghastling.hurt": "Ghastling de Carminite grita ", "subtitles.twilightforest.entity.carminite_ghastling.shoot": "Ghastling de Carminite atira", "subtitles.twilightforest.entity.carminite_golem.attack": "Golem de Carminite balanƧa", + "subtitles.twilightforest.entity.carminite_golem.death": "Golem de Carminita morre.", + "subtitles.twilightforest.entity.carminite_golem.hurt": "Golem de Carminita causa dano", + "subtitles.twilightforest.entity.death_tome.ambient": "O Tomo da Morte vira as pĆ”ginas", + "subtitles.twilightforest.entity.death_tome.death": "O Tomo da Morte se desfaz", "subtitles.twilightforest.entity.death_tome.hurt": "Vincos do Tomo da Morte", "subtitles.twilightforest.entity.deer.ambient": "Veado muge", "subtitles.twilightforest.entity.deer.death": "Cervo morre", @@ -1512,6 +1527,7 @@ "subtitles.twilightforest.item.flask.break": "Frasco frĆ”gil quebra", "subtitles.twilightforest.item.flask.crack": "Frasco FrĆ”gil quebra", "subtitles.twilightforest.item.flask.fill": "Frasco frĆ”gil se enche", + "subtitles.twilightforest.item.glass_sword.break": "Espada de Vidro se estilhaƧa", "subtitles.twilightforest.item.ice_bomb.fired": "Bomba de gelo lanƧada", "subtitles.twilightforest.item.knightmetal_armor.equip": "Armadura de Metal de Cavaleiro faz barulho", "subtitles.twilightforest.item.knightmetal_shield.shatter": "Escudo de Metal Quebra", @@ -1571,17 +1587,39 @@ "tag.item.twilightforest.squirrel_tempt_items": "Iscas para Esquilo", "tag.item.twilightforest.timewood_logs": "Torres de Madeira do Tempo", "tag.item.twilightforest.tiny_bird_tempt_items": "Iscas para PĆ”ssaros Pequenos", + "tag.item.twilightforest.towerwood": "Blocos de madeira da torre", + "tag.item.twilightforest.transwood_logs": "Troncos de transformação", + "tag.item.twilightforest.twilight_oak_logs": "Troncos de Carvalho Crepuscular", "tag.item.twilightforest.uncrafting_ignores_cost": "A bancada de desfabricação ignora o custo", + "tag.item.twilightforest.wip": "Itens de Trabalho em Andamento", + "trim_material.twilightforest.carminite": "Material Carminita", + "trim_material.twilightforest.fiery": "Material Ardente", "trim_material.twilightforest.ironwood": "Material de madeira-ferro", + "trim_material.twilightforest.knightmetal": "Material de Metal de Cavaleiro", + "trim_material.twilightforest.naga_scale": "Material de Escala Naga", + "trim_material.twilightforest.steeleaf": "Material de folha de aƧo", "twilightforest.book.author": "um explorador esquecido", "twilightforest.book.darktower": "Notas sobre uma Torre de Madeira", "twilightforest.book.darktower.1": "§8[[Caderno de um explorador que parece ter sobrevivido a uma explosĆ£o]]§0\n\nEsta torre claramente tem mecanismos que nĆ£o estĆ£o respondendo a mim. A magia deles quase anseia por reconhecer meu toque, mas nĆ£o pode. Ɖ se os dispositivos da torre estĆ£o sendo", "twilightforest.book.darktower.2": "suprimido por um poderoso grupo de seres próximos.\n\n§8[[Próxima entrada]]§0\n\nA magia parece emanar das profundezas das fortalezas próximas. NĆ£o pode vir dos duendes, pois sua magia Ć© encantadora, mas sem foco. LĆ”", "twilightforest.book.darktower.3": "ainda deve haver alguma forƧa ainda ativa nas fortalezas.\n\n§8[[Próxima entrada]]§0\n\nMinha anĆ”lise indica que vem de vĆ”rias fontes, operando como um grupo. Voltarei para a fortaleza depois de reabastecer...", "twilightforest.book.hydralair": "Notas sobre PĆ¢ntano de Fogo", + "twilightforest.book.hydralair.1": "§8[[Um caderno de explorador, escrito em papel Ć  prova de fogo]]§0\n\nO fogo Ć© um obstĆ”culo trivial para um mestre explorador como eu. Atravessei mares de fogo e nadei em oceanos de lava. O ar ardente aqui Ć© uma variação interessante, mas", + "twilightforest.book.hydralair.2": "em Ćŗltima anĆ”lise, nenhum obstĆ”culo.\n\nO que me impede Ć© que encontrei outro feitiƧo de proteção, desta vez envolvendo uma criatura poderosa que deve ser o rei deste pĆ¢ntano de fogo. Este nĆ£o Ć© o primeiro feitiƧo de proteção que encontro, eu estou", + "twilightforest.book.hydralair.3": "comeƧando a desvendar os mistĆ©rios de como eles funcionam.\n\nSe este feitiƧo for como os outros, serĆ” sustentado por uma criatura poderosa próxima. Ao redor do pĆ¢ntano de fogo hĆ” vĆ”rios pĆ¢ntanos Ćŗmidos, e sob esses pĆ¢ntanos hĆ” labirintos cheios de minotauros.", + "twilightforest.book.hydralair.4": "A escolha lógica para vincular tal feitiƧo seria algum tipo de minotauro poderoso, diferente de alguma forma dos outros que o cercam...", "twilightforest.book.icetower": "Notas sobre Fortificação Auroral", + "twilightforest.book.icetower.1": "§8[[Caderno de um explorador, coberto de gelo]]§0\n\nSuperei uma nevasca, apenas para me deparar com uma terrĆ­vel tempestade de gelo no topo da geleira. Minhas exploraƧƵes me mostraram o esplendor de um palĆ”cio de gelo, brilhando com as cores da", + "twilightforest.book.icetower.2": "aurora polar. Tudo parece protegido por algum tipo de maldição.\n\n§8[[Próxima entrada]]§0\n\nEu nĆ£o sou novato. Esta maldição Ć© alimentada pelo poder de uma criatura próxima. A causa da maldição em torno do pĆ¢ntano de fogo foi construĆ­da a partir do poder do", + "twilightforest.book.icetower.3": "lĆ­der dos minotauros que estĆ£o próximos.\n\nAo redor desta geleira, existem massas de Yetis. Talvez os Yetis tenham algum tipo de lĆ­der...", "twilightforest.book.labyrinth": "Notas sobre um Labirinto Pantanoso", + "twilightforest.book.labyrinth.1": "§8[[Um caderno de explorador, escrito em papel impermeĆ”vel]]§0\n\nOs mosquitos neste pĆ¢ntano sĆ£o irritantes, mas estranhos. A grande maioria deles parece nĆ£o ter origem natural, nem parece ter um papel na ecologia local. Comecei a suspeitar que eles sĆ£o", + "twilightforest.book.labyrinth.2": "algum tipo de maldição mĆ”gica.\n\n§8[[Próxima entrada]]§0\n\nAgora que encontrei um feitiƧo de proteção no labirinto em ruĆ­nas aqui, considero minhas suspeitas confirmadas. Tanto o feitiƧo de proteção quanto os mosquitos sĆ£o uma", + "twilightforest.book.labyrinth.3": "maldição. Esta maldição parece ter uma fonte diferente das outras que encontrei. Vou ter que pesquisar mais...\n\n§8[[Próxima entrada]]§0\n\nA maldição parece ser de um tipo poderoso demais para alguĆ©m sozinho", + "twilightforest.book.labyrinth.4": "produzir. Seriam necessĆ”rios vĆ”rios magos trabalhando em combinação.\n\nSe um dos magos parasse de contribuir, toda a maldição sobre todo o pĆ¢ntano cairia. Estranhamente, minhas adivinhaƧƵes nĆ£o mostram sinais de nenhum bruxo vivo por perto.", + "twilightforest.book.labyrinth.5": "Eu vi algo interessante em uma das torres próximas com telhados pontiagudos...", "twilightforest.book.lichtower": "Notas sobre uma Torre Pontuda", + "twilightforest.book.lichtower.1": "§8[Caderno de um explorador, roĆ­do por monstros]§0\n\nComecei a examinar a estranha aura que cerca esta torre. Os tijolos da torre estĆ£o protegidos por uma maldição, mais forte do que qualquer outra que jĆ” vi. A magia da maldição estĆ” fervendo no", "twilightforest.book.lichtower.3": "§8[[Muitas entradas depois]]§0\n\nUma grande descoberta! Durante minhas viagens, avistei um enorme monstro semelhante a uma serpente em um pĆ”tio decorado. Perto de onde eu estava, encontrei uma escama verde, desgastada e descartada.\n\nA magia presente na escama parece ter o poder de quebrar maldiƧƵes.", "twilightforest.book.tfstronghold": "Notas sobre uma Fortaleza", "twilightforest.book.trollcave": "Notas sobre Planaltos", diff --git a/src/main/resources/assets/twilightforest/lang/ru_ru.json b/src/main/resources/assets/twilightforest/lang/ru_ru.json index ad7703d66f..e4ff31cef5 100644 --- a/src/main/resources/assets/twilightforest/lang/ru_ru.json +++ b/src/main/resources/assets/twilightforest/lang/ru_ru.json @@ -1,24 +1,28 @@ { + "Dimension Settings.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", + "Magic Trees.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", + "Portal Settings.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", + "Shield Parrying.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", + "Uncrafting Table.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", "advancement.twilightforest.arborist": "Фанатик Š“ŠµŃ€ŠµŠ²ŃŒŠµŠ²", - "advancement.twilightforest.arborist.desc": "ŠŸŃ€ŠøŠ³Š¾Ń‚Š¾Š²ŃŒŃ‚Šµ свои топоры Šø ножницы. ŠžŠ±Ń‹Ń‰ŠøŃ‚Šµ кажГый уголок Šø Š“Š¾ŃŃ‚Š°Š½ŃŒŃ‚Šµ всё, ŠøŠ¼ŠµŃŽŃ‰ŠµŠµ Ń…Š¾Ń‚ŃŒ ŠŗŠ°ŠŗŃƒŃŽ-то ŃŠ²ŃŠ·ŃŒ с Š“ŠµŃ€ŠµŠ²ŃŒŃŠ¼Šø! Дмастерите, Š“Š¾Š±ŃƒŠ“Ń‚ŃŒŠµ, найГите ŠŗŠ°Š¶Š“ŃƒŃŽ Š“Š¾ŃŠŗŃƒā€¦, саженец…, Š»ŠøŃŃ‚ŃŒŃā€¦ Šø так Галее… — всё. ВДЁ!", + "advancement.twilightforest.arborist.desc": "ŠŸŃ€ŠøŠ³Š¾Ń‚Š¾Š²ŃŒŃ‚Šµ свои топоры Šø ножницы. ŠžŠ±Ń‹Ń‰ŠøŃ‚Šµ кажГый уголок, Š“Š¾ŃŃ‚Š°Š½ŃŒŃ‚Šµ всё, что Š¼Š¾Š³ŃƒŃ‚ Š“Š°Ń‚ŃŒ Š“ŠµŃ€ŠµŠ²ŃŒŃ! ДГелайте, Š“Š¾Š±ŃƒŠ“ŃŒŃ‚Šµ, найГите ŠŗŠ°Š¶Š“ŃƒŃŽ Госку... саженцы... Š»ŠøŃŃ‚ŃŒŃ... — ВДЁ!", "advancement.twilightforest.arctic_dyed": "Š’Ń…Š¾Š“Ń в мир моГы", "advancement.twilightforest.arctic_dyed.desc": "ŠŸŠ¾ŠŗŃ€Š°ŃŃŒŃ‚Šµ четыре ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Ń… ŃŠ»ŠµŠ¼ŠµŠ½Ń‚Š° арктической брони", "advancement.twilightforest.beanstalk": "Джек Šø бобовый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", "advancement.twilightforest.beanstalk.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ ŠæŠ°Ń€Ńƒ %s в пещерах троллей Šø ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ ŠøŃ… на ŃŠ²ŠµŃ‚ŃŃ‰ŠµŠ¹ŃŃ земле поГ облаками", "advancement.twilightforest.experiment_115": "Дтранное Š¼ŃŃŠ¾", - "advancement.twilightforest.experiment_115.desc": "ŠŸŠ¾Ń…Š¾Š¶Šµ на торт…", - "advancement.twilightforest.experiment_115_2": "Š”ŠµŠ»Š°ŃŽ Š·Š°Š¼ŠµŃ‚ŠŗŃƒ: ŠŠµŠæŃ€ŠµŠ²Š·Š¾Š¹Š“Ń‘Š½Š½Ń‹Š¹ ŃƒŃŠæŠµŃ…!", + "advancement.twilightforest.experiment_115.desc": "ŠŃƒ, вроГе похоже на торт...", + "advancement.twilightforest.experiment_115_2": "Š”ŠµŠ»Š°ŃŽ Š·Š°Š¼ŠµŃ‚ŠŗŃƒ: Ā«ŠŠµŠæŃ€ŠµŠ²Š·Š¾Š¹Š“Ń‘Š½Š½Ń‹Š¹ ŃƒŃŠæŠµŃ…!Ā»", "advancement.twilightforest.experiment_115_2.desc": "Š¢Š°ŠŗŠ°Ń Š²ŠŗŃƒŃŠ½ŃŃ‚ŠøŠ½Š°!", "advancement.twilightforest.experiment_115_3": "ЕжеГневное ŃƒŠæŠ¾Ń‚Ń€ŠµŠ±Š»ŠµŠ½ŠøŠµ 115, 115 лет, вечно", "advancement.twilightforest.experiment_115_3.desc": "ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ по ŠæŠøŃ‚Š°Š½ŠøŃŽ номера сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ целый Гень, с Голгосрочной перспективой, сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ раз произвоГим ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ, ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ точка ком, Габл-ю Габл-ю Габл-ю точка ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ точка ком, сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ лет, ŠŗŠ°Š¶Š“ŃƒŃŽ Š¼ŠøŠ½ŃƒŃ‚Ńƒ ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ точка ком, Габл-ю Габл-ю Габл-ю точка, ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ ŠæŃ€Š¾ŠøŠ·Š²Š¾Š“ŠøŃ‚ŃŃ сто ŠæŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŃŒ раз, точка ком", "advancement.twilightforest.fiery_set": "ŠšŃ€Š¾Š²ŃŒŃŽ Šø потом", "advancement.twilightforest.fiery_set.desc": "Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ огненный ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚ или Š¾Ń€ŃƒŠ¶ŠøŠµ, ŠøŠ¼ŠµŃ при ŃŃ‚Š¾Š¼ Ń…Š¾Ń‚Ń бы оГну Ń‡Š°ŃŃ‚ŃŒ огненной брони в инвентаре", "advancement.twilightforest.full_mettle_alchemist": "ŠŸŠ¾Š»Š½Ń‹Š¹ стойкости алхимик", - "advancement.twilightforest.full_mettle_alchemist.desc": "Выпейте четыре Гозы Š·ŠµŠ»ŃŒŃ вреГа II за менее чем 8 секунГ Šø выживите", "advancement.twilightforest.ghast_trap": "Что-то странное в башне ŠøŠ· Герева", "advancement.twilightforest.ghast_trap.desc": "Убейте %s Š²Š¾ŠŗŃ€ŃƒŠ³ %s Šø Š°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠ¹Ń‚Šµ, чтобы Š²Ń‹Ń€Š²Š°Ń‚ŃŒ %s ŠøŠ· небес!", "advancement.twilightforest.giants": "ŠÆ на сеГьмом небе", - "advancement.twilightforest.giants.desc": "Убейте %s в облаках, заберите %s Šø Š²ŠµŃ€Š½ŠøŃ‚ŠµŃŃŒ обратно в пещеры троллей", + "advancement.twilightforest.giants.desc": "Убейте %s в облаках, заберите %s Šø Š²ŠµŃ€Š½ŠøŃ‚ŠµŃŃŒ в пещеры троллей", "advancement.twilightforest.glass_sword": "ЧуГо на оГин ŃƒŠ“Š°Ń€", "advancement.twilightforest.glass_sword.desc": "ŠŠ°Š“ŠµŃŽŃŃŒ, ŃŃ‚Š¾ вам ŠæŃ€ŠøŠ³Š¾Š“ŠøŠ»Š¾ŃŃŒ", "advancement.twilightforest.hedge": "Паукобой", @@ -36,22 +40,22 @@ "advancement.twilightforest.kill_hydra": "Убийца гиГры", "advancement.twilightforest.kill_hydra.desc": "ŠŸŠ¾Š±ŠµŠ“ŠøŃ‚Šµ Š¼Š¾Š³ŃƒŃ‡ŃƒŃŽ %s Šø ŃƒŃŠøŠ»ŃŒŃ‚Šµ ŃŠµŠ±Ń", "advancement.twilightforest.kill_lich": "Вытаскивай своих мертвецов", - "advancement.twilightforest.kill_lich.desc": "Убейте %s на Š²ŠµŃ€ŃˆŠøŠ½Šµ его башни Šø забери скипетр, чтобы ŠøŠ·Š±Š°Š²ŠøŃ‚ŃŒŃŃ от ŃŠ“Š¾Š²ŠøŃ‚Ń‹Ń… комаров болота, Š²ŠøŠ“ŠµŃ‚ŃŒ сквозь Š¾ŃŠ»ŠµŠæŠ»ŃŃŽŃ‰ŃƒŃŽ Ń‚ŃŒŠ¼Ńƒ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚Š¾Š³Š¾ тёмного леса Šø ŠæŃ€Š¾Ń‚ŠøŠ²Š¾ŃŃ‚Š¾ŃŃ‚ŃŒ Ń…Š¾Š»Š¾Š“Ńƒ снежного леса", + "advancement.twilightforest.kill_lich.desc": "Убейте %s на Š²ŠµŃ€ŃˆŠøŠ½Šµ его башни Šø заберите его скипетр, чтобы ŠøŠ·Š±Š°Š²ŠøŃ‚ŃŒŃŃ от ŃŠ“Š¾Š²ŠøŃ‚Ń‹Ń… болотных комаров, Š²ŠøŠ“ŠµŃ‚ŃŒ сквозь Š¾ŃŠ»ŠµŠæŠ»ŃŃŽŃ‰ŃƒŃŽ Ń‚ŃŒŠ¼Ńƒ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚Š¾Š³Š¾ тёмного леса Šø ŠæŃ€Š¾Ń‚ŠøŠ²Š¾ŃŃ‚Š¾ŃŃ‚ŃŒ Ń…Š¾Š»Š¾Š“Ńƒ снежного леса", "advancement.twilightforest.kill_naga": "Š’Ń€ŠµŠ¼Ń Š²Ń‹Ń€Š¾Š²Š½ŃŃ‚ŃŒ ŃˆŠ°Š½ŃŃ‹", - "advancement.twilightforest.kill_naga.desc": "Убейте %s в её лесном Гворике Šø ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚Šµ %s, чтобы ŠæŃ€ŠµŠ¾Š“Š¾Š»ŠµŃ‚ŃŒ магический Š±Š°Ń€ŃŒŠµŃ€, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠøŠ¹ Š±Š°ŃˆŠ½ŃŽ лича", - "advancement.twilightforest.lich_scepters": "Š” объеГинением Š½Š°ŃˆŠøŃ… сил..!", - "advancement.twilightforest.lich_scepters.desc": "ŠŸŠ¾Š»ŃƒŃ‡ŠøŃ‚Šµ все четыре силовых скипетра", + "advancement.twilightforest.kill_naga.desc": "Убейте %s в её лесном Гворе Šø ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚Šµ %s, чтобы ŠæŃ€ŠµŠ¾Š“Š¾Š»ŠµŃ‚ŃŒ магический Š±Š°Ń€ŃŒŠµŃ€, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠøŠ¹ Š±Š°ŃˆŠ½ŃŽ лича", + "advancement.twilightforest.lich_scepters": "Š” объеГинением Š½Š°ŃˆŠøŃ… сил!..", + "advancement.twilightforest.lich_scepters.desc": "ŠŸŠ¾Š»ŃƒŃ‡ŠøŃ‚Šµ все четыре скипетра силы", "advancement.twilightforest.magic_map": "ŠÆ карта, я карта, я карта", "advancement.twilightforest.magic_map.desc": "ДозГайте %s", "advancement.twilightforest.magic_map_focus": "Š˜ŃŠŗŃ€Š° Š²Š“Š¾Ń…Š½Š¾Š²ŠµŠ½ŠøŃ", "advancement.twilightforest.magic_map_focus.desc": "ДозГайте %s с %s, %s Šø %s", "advancement.twilightforest.maze_map": "Š¢ŠµŠæŠµŃ€ŃŒ неплохо бы Š²Ń‹Š±Ń€Š°Ń‚ŃŒŃŃ", - "advancement.twilightforest.maze_map.desc": "ДозГайте %s, ŠæŠ¾Š»ŃƒŃ‡ŠøŠ² Ń„Š¾ŠŗŃƒŃ в лабиринте", + "advancement.twilightforest.maze_map.desc": "ДозГайте %s ŠøŠ· Ń„Š¾ŠŗŃƒŃŠ°, ŃŠæŃ€ŃŃ‚Š°Š½Š½Š¾Š³Š¾ в лабиринте", "advancement.twilightforest.mazebreaker": "Š Š°Š·Ń€ŃƒŃˆŠøŃ‚ŠµŠ»ŃŒ лабиринтов", "advancement.twilightforest.mazebreaker.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ ŠŗŠøŃ€ŠŗŃƒ %s в секретном хранилище лабиринта", "advancement.twilightforest.naga_armors": "Бронник наги", "advancement.twilightforest.naga_armors.desc": "ДозГайте обе части брони: Š½Š°Š³Ń€ŃƒŠ“Š½ŠøŠŗ Šø поножи %s", - "advancement.twilightforest.ore_map": "Это того не стоит", + "advancement.twilightforest.ore_map": "ŠžŠ½Š¾ стоит того?", "advancement.twilightforest.ore_map.desc": "ДозГайте %s", "advancement.twilightforest.progress_glacier": "Чистое небо", "advancement.twilightforest.progress_glacier.desc": "ŠŸŠ¾Š±ŠµŠ“ŠøŃ‚Šµ %s на Š²ŠµŃ€ŃˆŠøŠ½Šµ Гворца авроры", @@ -61,72 +65,73 @@ "advancement.twilightforest.progress_labyrinth.desc": "Š”ŃŠŠµŃˆŃŒŃ‚Šµ Š¼ŠøŠ½Š¾Ń‚Š°Š²Ń€ŃŃ‚ŠøŠ½Ńƒ по-строгановски, чтобы ŠæŠ¾Š“Š³Š¾Ń‚Š¾Š²ŠøŃ‚ŃŒ своё тело Šŗ ŃŠ¼ŠµŃ€Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼Ńƒ Š¶Š°Ń€Ńƒ огненной болотины", "advancement.twilightforest.progress_merge": "ŠŸŠ¾Ń€Š°Š·ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Šµ шоу", "advancement.twilightforest.progress_merge.desc": "Убейте %s, %s Šø %s, чтобы ŃƒŃŃ‚Ń€Š°Š½ŠøŃ‚ŃŒ кислотный ГожГь Šø ŠæŠ¾Š“Š³Š¾Ń‚Š¾Š²ŠøŃ‚ŃŒ ŃŠµŠ±Ń Šŗ Š²Ń‹ŃŠ¾ŠŗŠ¾Š³Š¾Ń€ŃŒŃŠ¼", - "advancement.twilightforest.progress_troll": "Гори, гори ŃŃŠ½Š¾", - "advancement.twilightforest.progress_troll.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ %s в пещерах троллей, после чего вы сможете ŃŠ¶ŠµŃ‡ŃŒ терновые Š±Š°Ń€ŃŒŠµŃ€Ń‹", + "advancement.twilightforest.progress_troll": "Гори, гори ŃŃŠ½Š¾!", + "advancement.twilightforest.progress_troll.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ %s в пещерах троллей то, чем вы сможете ŃŠ¶ŠµŃ‡ŃŒ терновые заросли", "advancement.twilightforest.progress_trophy_pedestal": "Трофейный чемпион", - "advancement.twilightforest.progress_trophy_pedestal.desc": "Š—Š°ŃŠ²ŠøŃ‚Šµ о себе, поместив трофей на ŠæŃŒŠµŠ“естал в Ń€ŃƒŠøŠ½Š°Ń… Темного леса", + "advancement.twilightforest.progress_trophy_pedestal.desc": "УтверГите свой Ń‚ŠøŃ‚ŃƒŠ», разместив трофей на ŠæŃŒŠµŠ“естале в Ń€ŃƒŠøŠ½Š°Ń… тёмного леса", "advancement.twilightforest.progress_ur_ghast": "Длёзы Š¾Š³Š½Ń", - "advancement.twilightforest.progress_ur_ghast.desc": "ŠšŠ¾ŃŠ½ŠøŃ‚ŠµŃŃŒ огненно-красных слез %s", - "advancement.twilightforest.progress_yeti": "Тёплый мех", - "advancement.twilightforest.progress_yeti.desc": "ŠŸŠ¾ŠŗŃ€Š¾Š¹Ń‚Šµ ŃŠ²Š¾ŃŽ оГежГу Š¼ŃŠ³ŠŗŠøŠ¼ мехом ŠøŠ· %s, Š·Š°Ń‰ŠøŃ‰Š°Ń вас от холоГа леГника", + "advancement.twilightforest.progress_ur_ghast.desc": "ŠŸŃ€ŠøŠŗŠ¾ŃŠ½ŠøŃ‚ŠµŃŃŒ Šŗ огненно-красным слезам %s", + "advancement.twilightforest.progress_yeti": "ŠœŠµŃ… Š°Š»ŃŒŃ„Ń‹", + "advancement.twilightforest.progress_yeti.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ Ń‚Ń‘ŠæŠ»ŃƒŃŽ Šø Š¼ŃŠ³ŠŗŃƒŃŽ Š¼ŠµŃ…Š¾Š²ŃƒŃŽ оГежГу %s, чтобы ŠæŠ¾Š±Š¾Ń€Š¾Ń‚ŃŒ Š»ŠµŠ“ŃŠ½Š¾Š¹ холоГ", "advancement.twilightforest.progression_end": "Вот Šø сказочке конец", "advancement.twilightforest.progression_end.desc": "Всё, что Š±ŃƒŠ“ет Гальше в Š²Ń‹ŃŠ¾ŠŗŠ¾Š³Š¾Ń€ŃŒŃŃ…, ещё в разработке. Š’Š¾Š·Š²Ń€Š°Ń‰Š°Š¹Ń‚ŠµŃŃŒ когГа-нибуГь в Š±ŃƒŠ“ŃƒŃ‰ŠµŠ¼.", - "advancement.twilightforest.quest_ram": "ŠŠµŠæŃ€ŠµŠ²Š·Š¾Š¹Š“Ń‘Š½Š½Ń‹Š¹ «Беее»", - "advancement.twilightforest.quest_ram.desc": "Дайте %s то, чего ему не хватает", + "advancement.twilightforest.quest_ram": "Š”Š¾Š²Š¾Š»ŃŒŠ½Š¾Šµ «бе-е-е»", + "advancement.twilightforest.quest_ram.desc": "Дайте %s то, чего ему неГостаёт", "advancement.twilightforest.root": "The Twilight Forest", "advancement.twilightforest.root.desc": "ВойГите в таинственный Šø магический ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", - "advancement.twilightforest.troll": "ŠœŃ‹ немного троллим", - "advancement.twilightforest.troll.desc": "ŠŠ°Š¹Ń‚Šø Šø ŃƒŠ±ŠøŃ‚ŃŒ %s", - "advancement.twilightforest.twilight_dining": "Ужин в вечном закате", - "advancement.twilightforest.twilight_dining.desc": "Š”ŃŠŠµŃˆŃŒŃ‚Šµ все ŃŃŠŠµŠ“Š¾Š±Š½Ń‹Šµ преГметы, которые ŠµŃŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¼ лесу", - "advancement.twilightforest.twilight_hunter": "Лесной ŃƒŠ±ŠøŠ¹Ń†Š°", - "advancement.twilightforest.twilight_hunter.desc": "ŠŸŠ¾Š¾Ń…Š¾Ń‚ŠøŃ‚ŃŒŃŃ на некоторых преГставителей местной Ń„Š°ŃƒŠ½Ń‹", + "advancement.twilightforest.troll": "Бывает, понемногу троллим", + "advancement.twilightforest.troll.desc": "ŠŠ°Š¹Š“ŠøŃ‚Šµ Šø ŃƒŠ±ŠµŠ¹Ń‚Šµ %s", + "advancement.twilightforest.twilight_dining": "Ужин при вечных ŃŃƒŠ¼ŠµŃ€ŠŗŠ°Ń…", + "advancement.twilightforest.twilight_dining.desc": "ŠŸŠ¾ŠæŃ€Š¾Š±ŃƒŠ¹Ń‚Šµ ВДЮ еГу, ŃŠŗŃŠŗŠ»ŃŽŠ·ŠøŠ²Š½ŃƒŃŽ Š“Š»Ń ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ леса", + "advancement.twilightforest.twilight_hunter": "Тишина в лесу", + "advancement.twilightforest.twilight_hunter.desc": "ŠŸŠ¾Š¾Ń…Š¾Ń‚ŃŒŃ‚ŠµŃŃŒ на Š¼ŠµŃŃ‚Š½ŃƒŃŽ Ń„Š°ŃƒŠ½Ńƒ", "advancement.twilightforest.uncraft_uncrafting_table": "Гигант мысли", "advancement.twilightforest.uncraft_uncrafting_table.desc": "Разберите разборочный стол", - "biome.twilightforest.clearing": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š°Ń расчистка", - "biome.twilightforest.dark_forest": "Темный лес", - "biome.twilightforest.dark_forest_center": "Центр \"Темный лес", + "auroraBiomes.button": "ŠŸŃ€Š°Š²ŠøŃ‚ŃŒ", + "biome.twilightforest.clearing": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š°Ń лужайка", + "biome.twilightforest.dark_forest": "Тёмный лес", + "biome.twilightforest.dark_forest_center": "Центр тёмного леса", "biome.twilightforest.dense_forest": "Š“ŃƒŃŃ‚Š¾Š¹ лес", "biome.twilightforest.dense_mushroom_forest": "Š“ŃƒŃŃ‚Š¾Š¹ грибной лес", - "biome.twilightforest.enchanted_forest": "ЗаколГованный лес", - "biome.twilightforest.final_plateau": "Финальное плато", - "biome.twilightforest.fire_swamp": "ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ болото", + "biome.twilightforest.enchanted_forest": "Зачарованный лес", + "biome.twilightforest.final_plateau": "ŠšŠ¾Š½ŠµŃ‡Š½Š¾Šµ плато", + "biome.twilightforest.fire_swamp": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń болотина", "biome.twilightforest.firefly_forest": "Лес ŃŠ²ŠµŃ‚Š»ŃŃ‡ŠŗŠ¾Š²", "biome.twilightforest.forest": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", "biome.twilightforest.glacier": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ леГник", - "biome.twilightforest.highlands": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Šµ Š½Š°Š³Š¾Ń€ŃŒŠµ", + "biome.twilightforest.highlands": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Šµ Š²Š¾Š·Š²Ń‹ŃˆŠµŠ½Š½Š¾ŃŃ‚Šø", "biome.twilightforest.lake": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Šµ озеро", "biome.twilightforest.mushroom_forest": "Грибной лес", "biome.twilightforest.oak_savannah": "Š”ŃƒŠ±Š¾Š²Š°Ń саванна", "biome.twilightforest.snowy_forest": "Заснеженный лес", "biome.twilightforest.spooky_forest": "Š–ŃƒŃ‚ŠŗŠøŠ¹ лес", - "biome.twilightforest.stream": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ поток", + "biome.twilightforest.stream": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ Ń€ŃƒŃ‡ŠµŠ¹", "biome.twilightforest.swamp": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Šµ болото", - "biome.twilightforest.thornlands": "ТорнленГс", - "biome.twilightforest.underground": "ŠŸŠ¾Š“Š·ŠµŠ¼Š½Ń‹Š¹", - "block.minecraft.banner.twilightforest.alpha_yeti.black": "Черное лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.blue": "Диние лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š¾Šµ лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.cyan": "Š“Š¾Š»ŃƒŠ±Š¾Šµ лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.gray": "Дерое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.green": "Зеленое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.light_blue": "Дветло-голубое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.light_gray": "Дветло-серое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.lime": "Лаймовое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š¾Šµ лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š¾Šµ лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.pink": "Розовое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.purple": "Фиолетовое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.red": "ŠšŃ€Š°ŃŠ½Š¾Šµ лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.white": "Белое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.alpha_yeti.yellow": "Желтое лицо ŠŠ»ŃŒŃ„а Йети", - "block.minecraft.banner.twilightforest.hydra.black": "Черное ŠæŠ»Š°Š¼Ń гиГры", - "block.minecraft.banner.twilightforest.hydra.blue": "Диние ŠæŠ»Š°Š¼Ń гиГры", + "biome.twilightforest.thornlands": "Терновые земли", + "biome.twilightforest.underground": "ПоГземелье", + "block.minecraft.banner.twilightforest.alpha_yeti.black": "Чёрное лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.blue": "Динее лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.gray": "Дерое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.green": "Зелёное лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.light_blue": "Š“Š¾Š»ŃƒŠ±Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.light_gray": "Дветло-серое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.lime": "Лаймовое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.pink": "Розовое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.purple": "Фиолетовое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.red": "ŠšŃ€Š°ŃŠ½Š¾Šµ лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.white": "Белое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.alpha_yeti.yellow": "Жёлтое лицо Š°Š»ŃŒŃ„а-йети", + "block.minecraft.banner.twilightforest.hydra.black": "Чёрное ŠæŠ»Š°Š¼Ń гиГры", + "block.minecraft.banner.twilightforest.hydra.blue": "Динее ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", - "block.minecraft.banner.twilightforest.hydra.cyan": "Š“Š¾Š»ŃƒŠ±Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", + "block.minecraft.banner.twilightforest.hydra.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.gray": "Дерое ŠæŠ»Š°Š¼Ń гиГры", - "block.minecraft.banner.twilightforest.hydra.green": "Зеленое ŠæŠ»Š°Š¼Ń гиГры", - "block.minecraft.banner.twilightforest.hydra.light_blue": "Дветло-синие ŠæŠ»Š°Š¼Ń гиГры", + "block.minecraft.banner.twilightforest.hydra.green": "Зелёное ŠæŠ»Š°Š¼Ń гиГры", + "block.minecraft.banner.twilightforest.hydra.light_blue": "Š“Š¾Š»ŃƒŠ±Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.light_gray": "Дветло-серое ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.lime": "Лаймовое ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", @@ -135,14 +140,14 @@ "block.minecraft.banner.twilightforest.hydra.purple": "Фиолетовое ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.red": "ŠšŃ€Š°ŃŠ½Š¾Šµ ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.hydra.white": "Белое ŠæŠ»Š°Š¼Ń гиГры", - "block.minecraft.banner.twilightforest.hydra.yellow": "Желтое ŠæŠ»Š°Š¼Ń гиГры", + "block.minecraft.banner.twilightforest.hydra.yellow": "Жёлтое ŠæŠ»Š°Š¼Ń гиГры", "block.minecraft.banner.twilightforest.knight_phantom.black": "Чёрный рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.blue": "Диний рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Š¹ рыцарский шлем", - "block.minecraft.banner.twilightforest.knight_phantom.cyan": "Š“Š¾Š»ŃƒŠ±Š¾Š¹ рыцарский шлем", + "block.minecraft.banner.twilightforest.knight_phantom.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Ń‹Š¹ рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.gray": "Дерый рыцарский шлем", - "block.minecraft.banner.twilightforest.knight_phantom.green": "Зеленый рыцарский шлем", - "block.minecraft.banner.twilightforest.knight_phantom.light_blue": "Дветло-синий рыцарский шлем", + "block.minecraft.banner.twilightforest.knight_phantom.green": "Зелёный рыцарский шлем", + "block.minecraft.banner.twilightforest.knight_phantom.light_blue": "Š“Š¾Š»ŃƒŠ±Š¾Š¹ рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.light_gray": "Дветло-серый рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.lime": "Лаймовый рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Š¹ рыцарский шлем", @@ -151,14 +156,14 @@ "block.minecraft.banner.twilightforest.knight_phantom.purple": "Фиолетовый рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.red": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ рыцарский шлем", "block.minecraft.banner.twilightforest.knight_phantom.white": "Белый рыцарский шлем", - "block.minecraft.banner.twilightforest.knight_phantom.yellow": "Желтый рыцарский шлем", - "block.minecraft.banner.twilightforest.lich.black": "Š§ŠµŃ€Š½Š°Ń корона лича", + "block.minecraft.banner.twilightforest.knight_phantom.yellow": "Жёлтый рыцарский шлем", + "block.minecraft.banner.twilightforest.lich.black": "Š§Ń‘Ń€Š½Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.blue": "Š”ŠøŠ½ŃŃ корона лича", "block.minecraft.banner.twilightforest.lich.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š°Ń корона лича", - "block.minecraft.banner.twilightforest.lich.cyan": "Š“Š¾Š»ŃƒŠ±Š°Ń корона лича", + "block.minecraft.banner.twilightforest.lich.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.gray": "Š”ŠµŃ€Š°Ń корона лича", - "block.minecraft.banner.twilightforest.lich.green": "Š—ŠµŠ»ŠµŠ½Š°Ń корона лича", - "block.minecraft.banner.twilightforest.lich.light_blue": "Дветло-ŃŠøŠ½ŃŃ корона лича", + "block.minecraft.banner.twilightforest.lich.green": "Š—ŠµŠ»Ń‘Š½Š°Ń корона лича", + "block.minecraft.banner.twilightforest.lich.light_blue": "Š“Š¾Š»ŃƒŠ±Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.light_gray": "Дветло-ŃŠµŃ€Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.lime": "Š›Š°Š¹Š¼Š¾Š²Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń корона лича", @@ -167,30 +172,30 @@ "block.minecraft.banner.twilightforest.lich.purple": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.red": "ŠšŃ€Š°ŃŠ½Š°Ń корона лича", "block.minecraft.banner.twilightforest.lich.white": "Š‘ŠµŠ»Š°Ń корона лича", - "block.minecraft.banner.twilightforest.lich.yellow": "Š–ŠµŠ»Ń‚Š°Ń корона лича", - "block.minecraft.banner.twilightforest.minoshroom.black": "Черные Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.blue": "Диние Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Šµ Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.cyan": "Š“Š¾Š»ŃƒŠ±Ń‹Šµ Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.gray": "Дерые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.green": "Зеленые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.light_blue": "Дветло-синие Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.light_gray": "Дветло-серые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.lime": "Лаймовые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Šµ Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Ń‹Šµ Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.pink": "Розовые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.purple": "Фиолетовые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.red": "ŠšŃ€Š°ŃŠ½Ń‹Šµ Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.white": "Белые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.minoshroom.yellow": "Желтые Š¼ŠøŠ½Š¾ŃˆŃ€ŃƒŠ¼Š¾Š²Ń‹Šµ топоры", - "block.minecraft.banner.twilightforest.naga.black": "Š§ŠµŃ€Š½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", + "block.minecraft.banner.twilightforest.lich.yellow": "Š–Ń‘Š»Ń‚Š°Ń корона лича", + "block.minecraft.banner.twilightforest.minoshroom.black": "Чёрные секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.blue": "Диние секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.gray": "Дерые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.green": "Зелёные секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.light_blue": "Š“Š¾Š»ŃƒŠ±Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.light_gray": "Дветло-серые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.lime": "Лаймовые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.pink": "Розовые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.purple": "Фиолетовые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.red": "ŠšŃ€Š°ŃŠ½Ń‹Šµ секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.white": "Белые секиры гриботавра", + "block.minecraft.banner.twilightforest.minoshroom.yellow": "Жёлтые секиры гриботавра", + "block.minecraft.banner.twilightforest.naga.black": "Š§Ń‘Ń€Š½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.blue": "Š”ŠøŠ½ŃŃ Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š°Ń Ń‡ŠµŃˆŃƒŃ наги", - "block.minecraft.banner.twilightforest.naga.cyan": "Š“Š¾Š»ŃƒŠ±Š°Ń Ń‡ŠµŃˆŃƒŃ наги", + "block.minecraft.banner.twilightforest.naga.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.gray": "Š”ŠµŃ€Š°Ń Ń‡ŠµŃˆŃƒŃ наги", - "block.minecraft.banner.twilightforest.naga.green": "Š—ŠµŠ»ŠµŠ½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", - "block.minecraft.banner.twilightforest.naga.light_blue": "Дветло-ŃŠøŠ½ŃŃ Ń‡ŠµŃˆŃƒŃ наги", + "block.minecraft.banner.twilightforest.naga.green": "Š—ŠµŠ»Ń‘Š½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", + "block.minecraft.banner.twilightforest.naga.light_blue": "Š“Š¾Š»ŃƒŠ±Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.light_gray": "Дветло-ŃŠµŃ€Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.lime": "Š›Š°Š¹Š¼Š¾Š²Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", @@ -200,413 +205,403 @@ "block.minecraft.banner.twilightforest.naga.red": "ŠšŃ€Š°ŃŠ½Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.white": "Š‘ŠµŠ»Š°Ń Ń‡ŠµŃˆŃƒŃ наги", "block.minecraft.banner.twilightforest.naga.yellow": "Š–Ń‘Š»Ń‚Š°Ń Ń‡ŠµŃˆŃƒŃ наги", - "block.minecraft.banner.twilightforest.quest_ram.black": "Черные вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.blue": "Диние вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.gray": "Дерые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.green": "Зелёные вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.light_blue": "Š“Š¾Š»ŃƒŠ±Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.light_gray": "Дветло-Дерые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.lime": "Лаймовые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.pink": "Розовые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.purple": "Фиолетовые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.red": "ŠšŃ€Š°ŃŠ½Ń‹Šµ вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.white": "Белые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.quest_ram.yellow": "Жёлтые вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "block.minecraft.banner.twilightforest.snow_queen.black": "Š§ŠµŃ€Š½Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.blue": "Š”ŠøŠ½ŃŃ снежинка", - "block.minecraft.banner.twilightforest.snow_queen.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.gray": "Š”ŠµŃ€Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.green": "Š—ŠµŠ»ŠµŠ½Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.light_blue": "Дветло-ŃŠøŠ½ŃŃ снежинка", - "block.minecraft.banner.twilightforest.snow_queen.light_gray": "Дветло-ŃŠµŃ€Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.lime": "Š›Š°Š¹Š¼Š¾Š²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.magenta": "Š”ŠøŃ€ŠµŠ½ŠµŠ²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.pink": "Š Š¾Š·Š¾Š²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.purple": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.red": "ŠšŃ€Š°ŃŠ½Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.white": "Š‘ŠµŠ»Š°Ń снежинка", - "block.minecraft.banner.twilightforest.snow_queen.yellow": "Š–Ń‘Š»Ń‚Š°Ń снежинка", - "block.minecraft.banner.twilightforest.ur_ghast.black": "Чёрный карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.blue": "Диний карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Ń‹Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.gray": "Дерый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.green": "Зелёный карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.light_blue": "Š“Š¾Š»ŃƒŠ±Š¾Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.light_gray": "Дветло-серый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.lime": "Лаймовый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Ń‹Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.pink": "Розовый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.purple": "Фиолетовый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.red": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.white": "Белый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.minecraft.banner.twilightforest.ur_ghast.yellow": "Желтый карминитовый Š±Š¾Ń€Š“ŃŽŃ€", - "block.twilightforest.acacia_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· акации", - "block.twilightforest.alpha_yeti_boss_spawner": "РассанГник босса ŠŠ»ŃŒŃ„а-Йети", - "block.twilightforest.alpha_yeti_trophy": "Трофей ŠŠ»ŃŒŃ„а Йети", + "block.minecraft.banner.twilightforest.quest_ram.black": "Чёрные Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.blue": "Диние Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.gray": "Дерые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.green": "Зелёные Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.light_blue": "Š“Š¾Š»ŃƒŠ±Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.light_gray": "Дветло-серые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.lime": "Лаймовые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.pink": "Розовые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.purple": "Фиолетовые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.red": "ŠšŃ€Š°ŃŠ½Ń‹Šµ Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.white": "Белые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.quest_ram.yellow": "Жёлтые Š±Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "block.minecraft.banner.twilightforest.snow_queen.black": "Š§Ń‘Ń€Š½Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.blue": "Š”ŠøŠ½ŃŃ корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.gray": "Š”ŠµŃ€Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.green": "Š—ŠµŠ»Ń‘Š½Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.light_blue": "Š“Š¾Š»ŃƒŠ±Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.light_gray": "Дветло-ŃŠµŃ€Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.lime": "Š›Š°Š¹Š¼Š¾Š²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.pink": "Š Š¾Š·Š¾Š²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.purple": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.red": "ŠšŃ€Š°ŃŠ½Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.white": "Š‘ŠµŠ»Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.snow_queen.yellow": "Š–Ń‘Š»Ń‚Š°Ń корона снежной королевы", + "block.minecraft.banner.twilightforest.ur_ghast.black": "Š§Ń‘Ń€Š½Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.blue": "Š”ŠøŠ½ŃŃ ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.cyan": "Š‘ŠøŃ€ŃŽŠ·Š¾Š²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.gray": "Š”ŠµŃ€Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.green": "Š—ŠµŠ»Ń‘Š½Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.light_blue": "Š“Š¾Š»ŃƒŠ±Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.light_gray": "Дветло-ŃŠµŃ€Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.lime": "Š›Š°Š¹Š¼Š¾Š²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.orange": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.pink": "Š Š¾Š·Š¾Š²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.purple": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.red": "ŠšŃ€Š°ŃŠ½Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.white": "Š‘ŠµŠ»Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.minecraft.banner.twilightforest.ur_ghast.yellow": "Š–Ń‘Š»Ń‚Š°Ń ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "block.twilightforest.acacia_banister": "Акациевые перила", + "block.twilightforest.alpha_yeti_boss_spawner": "РассаГник босса Š°Š»ŃŒŃ„а-йети", + "block.twilightforest.alpha_yeti_trophy": "Трофей за Š°Š»ŃŒŃ„а-йети", "block.twilightforest.antibuilder": "ŠŠ½Ń‚ŠøŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ", - "block.twilightforest.antibuilt_block": "Анти ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ блок", + "block.twilightforest.antibuilt_block": "Антипостроенный блок", "block.twilightforest.arctic_fur_block": "Блок арктического меха", "block.twilightforest.arctic_fur_block.desc": "Днижает ŃƒŃ€Š¾Š½ от ŠæŠ°Š“ŠµŠ½ŠøŃ на 90%", - "block.twilightforest.aurora_block": "Блок Авроры", - "block.twilightforest.aurora_pillar": "Колонна Авроры", - "block.twilightforest.aurora_slab": "ŠŸŠ»ŠøŃ‚Š° Авроры", - "block.twilightforest.auroralized_glass": "Авроризованное стекло", + "block.twilightforest.aurora_block": "Блок авроры", + "block.twilightforest.aurora_pillar": "Колонна авроры", + "block.twilightforest.aurora_slab": "ŠŸŠ»ŠøŃ‚Š° авроры", + "block.twilightforest.auroralized_glass": "Аврорализованное стекло", "block.twilightforest.bamboo_banister": "Š‘Š°Š¼Š±ŃƒŠŗŠ¾Š²Ń‹Šµ перила", - "block.twilightforest.banister.cycle": "ŠŠ°Š¶Š¼ŠøŃ‚Šµ ПКМ с топором, чтобы ŠæŠµŃ€ŠµŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ", - "block.twilightforest.beanstalk_leaves": "Бобовые Š»ŠøŃŃ‚ŃŒŃ", + "block.twilightforest.banister.cycle": "Щёлкните ПКМ топором, чтобы ŠæŠµŃ€ŠµŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ", + "block.twilightforest.beanstalk_leaves": "Š›ŠøŃŃ‚ŃŒŃ бобового ŃŃ‚ŠµŠ±Š»Ń", "block.twilightforest.birch_banister": "Берёзовые перила", - "block.twilightforest.blue_castle_door": "Š”ŠøŠ½ŃŃ Š“Š²ŠµŃ€ŃŒ замка", - "block.twilightforest.blue_castle_rune_brick": "Диний Ń€ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич замка", + "block.twilightforest.blue_castle_door": "Š”ŠøŠ½ŃŃ Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "block.twilightforest.blue_castle_rune_brick": "Š ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич синего замка", "block.twilightforest.blue_force_field": "Динее силовое поле", - "block.twilightforest.bold_castle_brick_pillar": "Š ŠµŠ»ŃŒŠµŃ„Š½Š°Ń колонна кирпича замка", - "block.twilightforest.bold_castle_brick_stairs": "Š ŠµŠ»ŃŒŠµŃ„Š½Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø кирпича замка", - "block.twilightforest.bold_castle_brick_tile": "ŠŸŠ¾Š»ŠøŃ€Š¾Š²Š°Š½Š½Š°Ń Š·Š°Š¼ŠŗŠ¾Š²Š°Ń ŠŗŠøŃ€ŠæŠøŃ‡Š½Š°Ń плитка", - "block.twilightforest.bold_stone_pillar": "ŠŸŠ¾Š»ŠøŃ€Š¾Š²Š°Š½Š½Ń‹Š¹ каменный столб", - "block.twilightforest.brown_thorns": "Шипы", + "block.twilightforest.bold_castle_brick_pillar": "Колонна ŠøŠ· толстого замкового кирпича", + "block.twilightforest.bold_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· толстого замкового кирпича", + "block.twilightforest.bold_castle_brick_tile": "ŠŸŠ»ŠøŃ‚Š½ŃŠŗ ŠøŠ· толстого замкового кирпича", + "block.twilightforest.bold_stone_pillar": "Š¢Š¾Š»ŃŃ‚Š¾ŠŗŠ°Š¼ŠµŠ½Š½Š°Ń колонна", + "block.twilightforest.brown_thorns": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Ń‹Šµ тернии", "block.twilightforest.built_block": "ŠŸŠ¾ŃŃ‚Ń€Š¾ŠµŠ½Š½Ń‹Š¹ блок", - "block.twilightforest.burnt_thorns": "Š˜ŃŃ‚Š»ŠµŠ²ŃˆŠøŠµ ŃˆŠøŠæŃ‹", + "block.twilightforest.burnt_thorns": "ŠžŠ±Š³Š¾Ń€ŠµŠ»Ń‹Šµ тернии", "block.twilightforest.candelabra": "ŠšŠ°Š½Š“ŠµŠ»ŃŠ±Ń€", - "block.twilightforest.canopy_banister": "Досновые перила", - "block.twilightforest.canopy_bookshelf": "Š”Š¾ŃŠ½Š¾Š²Š°Ń ŠŗŠ½ŠøŠ¶Š½Š°Ń полка", - "block.twilightforest.canopy_button": "Š”Š¾ŃŠ½Š¾Š²Š°Ń кнопка", - "block.twilightforest.canopy_chest": "Досновый сунГук", - "block.twilightforest.canopy_door": "Š”Š¾ŃŠ½Š¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", - "block.twilightforest.canopy_fence": "Досновый забор", - "block.twilightforest.canopy_fence_gate": "Š”Š¾ŃŠ½Š¾Š²Š°Ń калитка", + "block.twilightforest.canopy_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· кронового Герева", + "block.twilightforest.canopy_bookshelf": "ŠšŠ½ŠøŠ¶Š½Š°Ń полка ŠøŠ· кронового Герева", + "block.twilightforest.canopy_button": "Кнопка ŠøŠ· кронового Герева", + "block.twilightforest.canopy_chest": "ДунГук ŠøŠ· кронового Герева", + "block.twilightforest.canopy_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· кронового Герева", + "block.twilightforest.canopy_fence": "Забор ŠøŠ· кронового Герева", + "block.twilightforest.canopy_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· кронового Герева", "block.twilightforest.canopy_hanging_sign": "Š”Š¾ŃŠ½Š¾Š²Š°Ń ŠæŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка", - "block.twilightforest.canopy_leaves": "Š›ŠøŃŃ‚ŃŒŃ соснового Герева", - "block.twilightforest.canopy_log": "Бревно соснового Герева", - "block.twilightforest.canopy_planks": "Досновые Госки", - "block.twilightforest.canopy_pressure_plate": "Š”Š¾ŃŠ½Š¾Š²Š°Ń Š½Š°Š¶ŠøŠ¼Š½Š°Ń плита", - "block.twilightforest.canopy_sapling": "Даженец ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ сосны", - "block.twilightforest.canopy_sign": "Š”Š¾ŃŠ½Š¾Š²Š°Ń табличка", - "block.twilightforest.canopy_slab": "Š”Š¾ŃŠ½Š¾Š²Š°Ń плитка", - "block.twilightforest.canopy_stairs": "Досновые ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø", - "block.twilightforest.canopy_trapdoor": "Досновый Š»ŃŽŠŗ", + "block.twilightforest.canopy_leaves": "Š›ŠøŃŃ‚ŃŒŃ кронового Герева ", + "block.twilightforest.canopy_log": "Бревно кронового Герева", + "block.twilightforest.canopy_planks": "Доски ŠøŠ· кронового Герева", + "block.twilightforest.canopy_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· кронового Герева", + "block.twilightforest.canopy_sapling": "Даженец кронового Герева", + "block.twilightforest.canopy_sign": "Табличка ŠøŠ· кронового Герева", + "block.twilightforest.canopy_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· кронового Герева", + "block.twilightforest.canopy_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· кронового Герева", + "block.twilightforest.canopy_trapdoor": "Š›ŃŽŠŗ ŠøŠ· кронового Герева", "block.twilightforest.canopy_trapped_chest": "Досновый сунГук-ловушка", - "block.twilightforest.canopy_wall_hanging_sign": "Š”Š¾ŃŠ½Š¾Š²Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń ŠæŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка", - "block.twilightforest.canopy_wall_sign": "ŠŠ°Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка", - "block.twilightforest.canopy_wood": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š°Ń сосна", - "block.twilightforest.carminite_block": "Блок карминита", + "block.twilightforest.canopy_window": "ŠšŃ€Š¾Š½Š¾Š²Š¾Šµ окно", + "block.twilightforest.canopy_window_pane": "ŠšŃ€Š¾Š½Š¾Š²Š°Ń Š¾ŠŗŠ¾Š½Š½Š°Ń панель", + "block.twilightforest.canopy_wood": "ŠšŃ€Š¾Š½Š¾Š²Š°Ń Гревесина", + "block.twilightforest.carminite_block": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ блок", "block.twilightforest.carminite_builder": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ", "block.twilightforest.carminite_reactor": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ реактор", - "block.twilightforest.casket.broken": "Š’Š°Ńˆ ларец Š“Š»Ń Ń…Ń€Š°Š½ŠµŠ½ŠøŃ был слишком поврежГен, чтобы Š²Š¼ŠµŃŃ‚ŠøŃ‚ŃŒ еще какие-либо преГметы. Все преГметы, которые Голжны были Ń…Ń€Š°Š½ŠøŃ‚ŃŒŃŃ в вашем ларце были ŃŠ±Ń€Š¾ŃˆŠµŠ½Ń‹ на Š·ŠµŠ¼Š»ŃŽ.", - "block.twilightforest.casket.locked": "Этот ларец может Š¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ %s!", - "block.twilightforest.castle_brick": "ŠšŠøŃ€ŠæŠøŃ‡ замка", - "block.twilightforest.castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½Šø ŠøŠ· кирпича замка", - "block.twilightforest.castle_roof_tile": "Š—Š°Š¼ŠŗŠ¾Š²Š°Ń ŠŗŃ€Ń‹ŃˆŠ°", + "block.twilightforest.casket.locked": "Этот ŃŃ‰ŠøŠŗ может Š¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ %s!", + "block.twilightforest.castle_brick": "Замковые кирпичи", + "block.twilightforest.castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· замкового кирпича", + "block.twilightforest.castle_roof_tile": "Черепица замковой ŠŗŃ€Ń‹ŃˆŠø", "block.twilightforest.cherry_banister": "Š’ŠøŃˆŠ½Ń‘Š²Ń‹Šµ перила", + "block.twilightforest.chiseled_canopy_bookshelf": "ŠšŃ€Š¾Š½Š¾Š²Š°Ń Ń€ŠµŠ·Š½Š°Ń ŠŗŠ½ŠøŠ¶Š½Š°Ń полка", "block.twilightforest.cicada": "ЦикаГа", - "block.twilightforest.cicada_jar": "Банка цикаГы", - "block.twilightforest.cinder_furnace": "ŠØŠ»Š°ŠŗŠ¾Š²Š°Ń ŠæŠµŃ‡ŃŒ", - "block.twilightforest.cinder_log": "Шлак Гревесины", - "block.twilightforest.cinder_wood": "Шлаковое Герево", - "block.twilightforest.clover_patch": "Лист клевера", - "block.twilightforest.cracked_castle_brick": "ŠŸŠ¾Š²Ń€ŠµŠ¶Š“Ń‘Š½Š½Ń‹Š¹ кирпич замка", - "block.twilightforest.cracked_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½Šø ŠøŠ· потресканного кирпича замка", - "block.twilightforest.cracked_deadrock": "ŠŸŠ¾Š²Ń€ŠµŠ¶Š“Ń‘Š½Š½Ń‹Š¹ камень смерти", - "block.twilightforest.cracked_etched_nagastone": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Ń‹Š¹ гравированный нагакамень", - "block.twilightforest.cracked_mazestone": "ŠŸŠ¾Ń‚Ń€ŠµŃŠŗŠ°Š½Š°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", - "block.twilightforest.cracked_nagastone_pillar": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Š°Ń колонна ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń", - "block.twilightforest.cracked_nagastone_stairs_left": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (левые)", - "block.twilightforest.cracked_nagastone_stairs_right": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (правые)", - "block.twilightforest.cracked_towerwood": "ŠŸŠ¾Š²Ń€ŠµŠ¶Š“Ń‘Š½Š½Ń‹Šµ Госки тёмной башни", - "block.twilightforest.cracked_underbrick": "ŠŸŠ¾Š²Ń€ŠµŠ¶Š“Ń‘Š½Š½Ń‹Šµ поГземные кирпичи", - "block.twilightforest.creeper_skull_candle": "Двеча ŠøŠ· \"Головы крипера\"", - "block.twilightforest.creeper_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń свеча ŠøŠ· \"Головы крипера\"", - "block.twilightforest.crimson_banister": "ŠœŠ°Š»ŠøŠ½Š¾Š²Ń‹Šµ перила", - "block.twilightforest.cut_mazestone": "Š“Š»Š°Š“ŠŗŠ°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", + "block.twilightforest.cicada_jar": "ЦикаГа в банке", + "block.twilightforest.cinder_furnace": "ŠŸŠµŠæŠµŠ»ŃŒŠ½Š°Ń ŠæŠµŃ‡ŃŒ", + "block.twilightforest.cinder_log": "Пепельное бревно", + "block.twilightforest.cinder_wood": "ŠŸŠµŠæŠµŠ»ŃŒŠ½Š°Ń Гревесина", + "block.twilightforest.clover_patch": "Š›ŃƒŠ¶Š°Š¹ŠŗŠ° ŠøŠ· клевера", + "block.twilightforest.cracked_castle_brick": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠ¹ замковый кирпич", + "block.twilightforest.cracked_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Ń‚Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠµŠ³Š¾ замкового кирпича", + "block.twilightforest.cracked_deadrock": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠ¹ мёртвый камень", + "block.twilightforest.cracked_etched_nagastone": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠ¹ гравированный нагакамень", + "block.twilightforest.cracked_mazestone": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠµ лабиринтовые кирпичи", + "block.twilightforest.cracked_nagastone_pillar": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠ°Ń Š½Š°Š³Š°ŠŗŠ°Š¼ŠµŠ½Š½Š°Ń колонна", + "block.twilightforest.cracked_nagastone_stairs_left": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Ń‚Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠµŠ³Š¾ Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (влево)", + "block.twilightforest.cracked_nagastone_stairs_right": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Ń‚Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠµŠ³Š¾ Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (вправо)", + "block.twilightforest.cracked_towerwood": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠµ Госки ŠøŠ· башенной Гревесины", + "block.twilightforest.cracked_underbrick": "Š¢Ń€ŠµŃŠ½ŃƒŠ²ŃˆŠøŠ¹ поГземный кирпич", + "block.twilightforest.creeper_skull_candle": "Двеча в голове крипера", + "block.twilightforest.crimson_banister": "Багровые перила", + "block.twilightforest.cut_mazestone": "Резной лабиринтовый камень", "block.twilightforest.dark_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· темного Герева", - "block.twilightforest.dark_button": "Š¢Ń‘Š¼Š½Š°Ń кнопка", + "block.twilightforest.dark_button": "Кнопка ŠøŠ· тёмного Герева", "block.twilightforest.dark_chest": "ДунГук ŠøŠ· темного Герева", - "block.twilightforest.dark_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· темного Герева", - "block.twilightforest.dark_fence": "Тёмный забор", - "block.twilightforest.dark_fence_gate": "Š¢Ń‘Š¼Š½Š°Ń калитка", + "block.twilightforest.dark_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· тёмного Герева", + "block.twilightforest.dark_fence": "Забор ŠøŠ· тёмного Герева", + "block.twilightforest.dark_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· тёмного Герева", "block.twilightforest.dark_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· тёмного Герева", "block.twilightforest.dark_leaves": "Š›ŠøŃŃ‚ŃŒŃ тёмного Герева", "block.twilightforest.dark_log": "Бревно тёмного Герева", "block.twilightforest.dark_oak_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· тёмного Губа", - "block.twilightforest.dark_planks": "Тёмные Госки", - "block.twilightforest.dark_pressure_plate": "Š¢Ń‘Š¼Š½Š°Ń Š½Š°Š¶ŠøŠ¼Š½Š°Ń плита", + "block.twilightforest.dark_planks": "Доски ŠøŠ· тёмного Герева", + "block.twilightforest.dark_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· тёмного Герева", "block.twilightforest.dark_sign": "Табличка ŠøŠ· темного Герева", - "block.twilightforest.dark_slab": "Š¢Ń‘Š¼Š½Š°Ń плита", - "block.twilightforest.dark_stairs": "Тёмные ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø", - "block.twilightforest.dark_trapdoor": "Тёмный Š»ŃŽŠŗ", + "block.twilightforest.dark_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· тёмного Герева", + "block.twilightforest.dark_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· тёмного Герева", + "block.twilightforest.dark_trapdoor": "Š›ŃŽŠŗ ŠøŠ· тёмного Герева", "block.twilightforest.dark_trapped_chest": "ДунГук-ловушка ŠøŠ· темного Герева", - "block.twilightforest.dark_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· тёмного Герева", - "block.twilightforest.dark_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń таблика ŠøŠ· темного Герева", - "block.twilightforest.dark_wood": "Древесина темного Губа", + "block.twilightforest.dark_wood": "Древесина тёмного Герева", "block.twilightforest.darkwood_sapling": "Даженец тёмного Герева", - "block.twilightforest.deadrock": "Камень смерти", - "block.twilightforest.decorative_mazestone": "Š”ŠµŠŗŠ¾Ń€Š°Ń‚ŠøŠ²Š½Š°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", - "block.twilightforest.encased_castle_brick_pillar": "ŠžŠ±Š»ŠøŃ†Š¾Š²Š°Š½Š½Š°Ń колонна кирпича замка", - "block.twilightforest.encased_castle_brick_stairs": "ŠžŠ±Š»ŠøŃ†Š¾Š²Š°Š½Š½Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø кирпича замка", - "block.twilightforest.encased_castle_brick_tile": "ŠžŠ±Š»ŠøŃ†Š¾Š²Š°Š½Š½Š°Ń плитка кирпича замка", - "block.twilightforest.encased_fire_jet": "Š—Š°ŠæŠµŃ‡Š°Ń‚Š°Š½Š½Š°Ń Š¾Š³Š½ŠµŠ½Š½Š°Ń струя", - "block.twilightforest.encased_smoker": "ŠŸŃ€ŠøŃ€ŃƒŃ‡ŠµŠ½Š½Ń‹Š¹ Гымок", - "block.twilightforest.encased_towerwood": "ŠžŠ±ŃˆŠøŃ‚Ń‹Šµ Госки ŠøŠ· Гревесины тёмной башни", - "block.twilightforest.etched_nagastone": "Гравированный нагакамень", + "block.twilightforest.deadrock": "ŠœŃ‘Ń€Ń‚Š²Ń‹Š¹ камень", + "block.twilightforest.decorative_mazestone": "Декоративные лабиринтовые кирпичи", + "block.twilightforest.encased_castle_brick_pillar": "Колонна ŠøŠ· облицованного замкового кирпича", + "block.twilightforest.encased_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· облицованного замкового кирпича", + "block.twilightforest.encased_castle_brick_tile": "ŠŸŠ»ŠøŃ‚ŠŗŠ° ŠøŠ· облицованного замкового кирпича", + "block.twilightforest.encased_fire_jet": "ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ сопло", + "block.twilightforest.encased_smoker": "Дымогенератор", + "block.twilightforest.encased_towerwood": "ŠžŠ±ŃˆŠøŃ‚Ń‹Šµ Госки ŠøŠ· башенной Гревесины", + "block.twilightforest.etched_nagastone": "Выгравированный нагакамень", "block.twilightforest.experiment_115": "Эксперимент 115", "block.twilightforest.fake_diamond": "Алмазный блок", "block.twilightforest.fake_gold": "Золотой блок", - "block.twilightforest.fallen_leaves": "ПаГшие Š»ŠøŃŃ‚ŃŒŃ", - "block.twilightforest.fiddlehead": "Рахис папоротника", + "block.twilightforest.fallen_leaves": "ŠžŠæŠ°Š²ŃˆŠøŠµ Š»ŠøŃŃ‚ŃŒŃ", + "block.twilightforest.fiddlehead": "Побег папоротника", "block.twilightforest.fiery_block": "Блок огненного металла", - "block.twilightforest.final_boss_boss_spawner": "Дпавнер Финального босса", - "block.twilightforest.fire_jet": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń струя", + "block.twilightforest.final_boss_boss_spawner": "РассаГник Ń„ŠøŠ½Š°Š»ŃŒŠ½Š¾Š³Š¾ босса", + "block.twilightforest.fire_jet": "ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ сопло", "block.twilightforest.firefly": "Š”Š²ŠµŃ‚Š»ŃŃ‡Š¾Šŗ", - "block.twilightforest.firefly_jar": "Банка со ŃŠ²ŠµŃ‚Š»ŃŃ‡ŠŗŠ¾Š¼", - "block.twilightforest.firefly_particle_spawner": "Дпавнер частиц ŃŠ²ŠµŃ‚Š»ŃŃ‡ŠŗŠ°", - "block.twilightforest.fluffy_cloud": "Взбитое облако", - "block.twilightforest.ghast_trap": "Š›Š¾Š²ŃƒŃˆŠŗŠ° Š“Š»Ń гаста", + "block.twilightforest.firefly_jar": "Š”Š²ŠµŃ‚Š»ŃŃ‡Š¾Šŗ в банке", + "block.twilightforest.firefly_particle_spawner": "РассаГник частиц ŃŠ²ŠµŃ‚Š»ŃŃ‡ŠŗŠ°", + "block.twilightforest.fluffy_cloud": "ŠŸŃƒŃˆŠøŃŃ‚Š¾Šµ облако", + "block.twilightforest.ghast_trap": "Š›Š¾Š²ŃƒŃˆŠŗŠ° гаста", "block.twilightforest.giant_cobblestone": "Гигантский Š±ŃƒŠ»Ń‹Š¶Š½ŠøŠŗ", "block.twilightforest.giant_leaves": "Гигантские Š»ŠøŃŃ‚ŃŒŃ", - "block.twilightforest.giant_log": "Гигантское Герево", + "block.twilightforest.giant_log": "Гигантское бревно", "block.twilightforest.giant_obsidian": "Гигантский обсиГиан", - "block.twilightforest.green_force_field": "Зеленое силовое поле", - "block.twilightforest.green_thorns": "Зеленые ŃˆŠøŠæŃ‹", - "block.twilightforest.hardened_dark_leaves": "Š“ŃƒŃŃ‚Ń‹Šµ Š»ŠøŃŃ‚ŃŒŃ темного Герева", + "block.twilightforest.green_force_field": "Зелёное силовое поле", + "block.twilightforest.green_thorns": "Зелёные тернии", + "block.twilightforest.hardened_dark_leaves": "ŠŸŠ»Š¾Ń‚Š½Ń‹Šµ Š»ŠøŃŃ‚ŃŒŃ тёмного Герева", "block.twilightforest.hedge": "Š–ŠøŠ²Š°Ń ŠøŠ·Š³Š¾Ń€Š¾Š“ŃŒ", "block.twilightforest.hollow_acacia_log_climbable": "Полое акациевое бревно", - "block.twilightforest.hollow_acacia_log_horizontal": "Полое акациевое бревно", - "block.twilightforest.hollow_acacia_log_vertical": "Полое акациевое бревно", + "block.twilightforest.hollow_acacia_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ акациевое бревно", + "block.twilightforest.hollow_acacia_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ акациевое бревно", "block.twilightforest.hollow_birch_log_climbable": "Полое берёзовое бревно", - "block.twilightforest.hollow_birch_log_horizontal": "Полое берёзовое бревно", - "block.twilightforest.hollow_birch_log_vertical": "Полое берёзовое бревно", - "block.twilightforest.hollow_canopy_log_climbable": "Полое сосновое бревно", - "block.twilightforest.hollow_canopy_log_horizontal": "Полое сосновое бревно", - "block.twilightforest.hollow_canopy_log_vertical": "Полое сосновое бревно", + "block.twilightforest.hollow_birch_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ берёзовое бревно", + "block.twilightforest.hollow_birch_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ берёзовое бревно", + "block.twilightforest.hollow_canopy_log_climbable": "Полое бревно кронового Герева", + "block.twilightforest.hollow_canopy_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно кронового Герева", + "block.twilightforest.hollow_canopy_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно кронового Герева", "block.twilightforest.hollow_cherry_log_climbable": "Полое Š²ŠøŃˆŠ½Ń‘вое бревно", "block.twilightforest.hollow_cherry_log_horizontal": "Полое Š²ŠøŃˆŠ½Ń‘вое бревно", "block.twilightforest.hollow_cherry_log_vertical": "Полое Š²ŠøŃˆŠ½Ń‘вое бревно", "block.twilightforest.hollow_crimson_stem_climbable": "ŠŸŠ¾Š»Ń‹Š¹ багровый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.hollow_crimson_stem_horizontal": "ŠŸŠ¾Š»Ń‹Š¹ багровый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.hollow_crimson_stem_vertical": "ŠŸŠ¾Š»Ń‹Š¹ багровый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", + "block.twilightforest.hollow_crimson_stem_horizontal": "ŠŸŠ¾Š»Ń‹Š¹ Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Ń‹Š¹ багровый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", + "block.twilightforest.hollow_crimson_stem_vertical": "ŠŸŠ¾Š»Ń‹Š¹ Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¹ багровый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", "block.twilightforest.hollow_dark_log_climbable": "Полое бревно тёмного Герева", - "block.twilightforest.hollow_dark_log_horizontal": "Полое бревно тёмного Герева", - "block.twilightforest.hollow_dark_log_vertical": "Полое бревно тёмного Герева", - "block.twilightforest.hollow_dark_oak_log_climbable": "Полое бревно ŠøŠ· тёмного Губа", - "block.twilightforest.hollow_dark_oak_log_horizontal": "Полое бревно ŠøŠ· тёмного Губа", - "block.twilightforest.hollow_dark_oak_log_vertical": "Полое бревно ŠøŠ· тёмного Губа", - "block.twilightforest.hollow_jungle_log_climbable": "Полое тропическое бревно", - "block.twilightforest.hollow_jungle_log_horizontal": "Полое тропическое бревно", - "block.twilightforest.hollow_jungle_log_vertical": "Полое тропическое бревно", + "block.twilightforest.hollow_dark_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно тёмного Герева", + "block.twilightforest.hollow_dark_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно тёмного Герева", + "block.twilightforest.hollow_dark_oak_log_climbable": "Полое бревно тёмного Губа", + "block.twilightforest.hollow_dark_oak_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно тёмного Губа", + "block.twilightforest.hollow_dark_oak_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно тёмного Губа", + "block.twilightforest.hollow_jungle_log_climbable": "Полое бревно тропического Герева", + "block.twilightforest.hollow_jungle_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно тропического Герева", + "block.twilightforest.hollow_jungle_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно тропического Герева", "block.twilightforest.hollow_mangrove_log_climbable": "Полое мангровое бревно", - "block.twilightforest.hollow_mangrove_log_horizontal": "Полое мангровое бревно", - "block.twilightforest.hollow_mangrove_log_vertical": "Полое мангровое бревно", - "block.twilightforest.hollow_mining_log_climbable": "Полое бревно Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.hollow_mining_log_horizontal": "Полое бревно Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.hollow_mining_log_vertical": "Полое бревно Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", + "block.twilightforest.hollow_mangrove_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ мангровое бревно", + "block.twilightforest.hollow_mangrove_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ мангровое бревно", + "block.twilightforest.hollow_mining_log_climbable": "Полое бревно ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.hollow_mining_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.hollow_mining_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", "block.twilightforest.hollow_oak_log_climbable": "Полое Губовое бревно", - "block.twilightforest.hollow_oak_log_horizontal": "Полое Губовое бревно", - "block.twilightforest.hollow_oak_log_vertical": "Полое Губовое бревно", + "block.twilightforest.hollow_oak_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ Губовое бревно", + "block.twilightforest.hollow_oak_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ Губовое бревно", "block.twilightforest.hollow_oak_sapling": "Даженец большого ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.hollow_sorting_log_climbable": "Полое бревно ŠøŠ· Герева сортировки", - "block.twilightforest.hollow_sorting_log_horizontal": "Полое бревно ŠøŠ· Герева сортировки", - "block.twilightforest.hollow_sorting_log_vertical": "Полое бревно ŠøŠ· Герева сортировки", + "block.twilightforest.hollow_sorting_log_climbable": "Полое бревно сортировочного Герева", + "block.twilightforest.hollow_sorting_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно сортировочного Герева", + "block.twilightforest.hollow_sorting_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно сортировочного Герева", "block.twilightforest.hollow_spruce_log_climbable": "Полое еловое бревно", - "block.twilightforest.hollow_spruce_log_horizontal": "Полое еловое бревно", - "block.twilightforest.hollow_spruce_log_vertical": "Полое еловое бревно", + "block.twilightforest.hollow_spruce_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ еловое бревно", + "block.twilightforest.hollow_spruce_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ еловое бревно", "block.twilightforest.hollow_time_log_climbable": "Полое бревно Герева времени", - "block.twilightforest.hollow_time_log_horizontal": "Полое бревно Герева времени", - "block.twilightforest.hollow_time_log_vertical": "Полое бревно Герева времени", - "block.twilightforest.hollow_transformation_log_climbable": "Полое бревно трансформации", - "block.twilightforest.hollow_transformation_log_horizontal": "Полое бревно трансформации", - "block.twilightforest.hollow_transformation_log_vertical": "Полое бревно трансформации", + "block.twilightforest.hollow_time_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно Герева времени", + "block.twilightforest.hollow_time_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно Герева времени", + "block.twilightforest.hollow_transformation_log_climbable": "Полое бревно Герева превращений", + "block.twilightforest.hollow_transformation_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно Герева превращений", + "block.twilightforest.hollow_transformation_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно Герева превращений", "block.twilightforest.hollow_twilight_oak_log_climbable": "Полое бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.hollow_twilight_oak_log_horizontal": "Полое бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.hollow_twilight_oak_log_vertical": "Полое бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", + "block.twilightforest.hollow_twilight_oak_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", + "block.twilightforest.hollow_twilight_oak_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.hollow_vangrove_log_climbable": "Полое мангровое бревно", - "block.twilightforest.hollow_vangrove_log_horizontal": "Полое мангровое бревно", - "block.twilightforest.hollow_vangrove_log_vertical": "Полое мангровое бревно", + "block.twilightforest.hollow_vangrove_log_horizontal": "Полое Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Š¾Šµ мангровое бревно", + "block.twilightforest.hollow_vangrove_log_vertical": "Полое Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Š¾Šµ мангровое бревно", "block.twilightforest.hollow_warped_stem_climbable": "ŠŸŠ¾Š»Ń‹Š¹ искажённый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.hollow_warped_stem_horizontal": "ŠŸŠ¾Š»Ń‹Š¹ искажённый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.hollow_warped_stem_vertical": "ŠŸŠ¾Š»Ń‹Š¹ искажённый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.huge_lily_pad": "ŠžŠ³Ń€Š¾Š¼Š½Ń‹Šµ лилии", - "block.twilightforest.huge_mushgloom": "ŠžŠ³Ń€Š¾Š¼Š½Ń‹Š¹ грибной блок", - "block.twilightforest.huge_mushgloom_stem": "ŠŠ¾Š¶ŠŗŠ° огромного гриба", + "block.twilightforest.hollow_warped_stem_horizontal": "ŠŸŠ¾Š»Ń‹Š¹ Š³Š¾Ń€ŠøŠ·Š¾Š½Ń‚Š°Š»ŃŒŠ½Ń‹Š¹ искажённый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", + "block.twilightforest.hollow_warped_stem_vertical": "ŠŸŠ¾Š»Ń‹Š¹ Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¹ искажённый ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", + "block.twilightforest.huge_lily_pad": "ŠžŠ³Ń€Š¾Š¼Š½Š°Ń кувшинка", + "block.twilightforest.huge_mushgloom": "ŠžŠ³Ń€Š¾Š¼Š½Ń‹Š¹ Ń‚ŃƒŠ¼Š°Š½Š½Š¾Š³Ń€ŠøŠ±", + "block.twilightforest.huge_mushgloom_stem": "Š”Ń‚ŠµŠ±ŠµŠ»ŃŒ огромного Ń‚ŃƒŠ¼Š°Š½Š½Š¾Š³Ń€ŠøŠ±Š°", "block.twilightforest.huge_stalk": "ŠžŠ³Ń€Š¾Š¼Š½Ń‹Š¹ ŃŃ‚ŠµŠ±ŠµŠ»ŃŒ", - "block.twilightforest.huge_water_lily": "ŠžŠ³Ń€Š¾Š¼Š½Š°Ń кувшинка", - "block.twilightforest.hydra_boss_spawner": "РассаГник босса ГиГры", - "block.twilightforest.hydra_trophy": "Трофей ГиГры", - "block.twilightforest.infested_towerwood": "Зараженные Госки тёмной башни", + "block.twilightforest.huge_water_lily": "ŠžŠ³Ń€Š¾Š¼Š½Š°Ń Š²Š¾Š“ŃŠ½Š°Ń Š»ŠøŠ»ŠøŃ", + "block.twilightforest.hydra_boss_spawner": "РассаГник босса гиГры", + "block.twilightforest.hydra_trophy": "Трофей за Š³ŠøŠ“Ń€Ńƒ", + "block.twilightforest.infested_towerwood": "Заражённые Госки ŠøŠ· башенной Гревесины", "block.twilightforest.iron_ladder": "Š–ŠµŠ»ŠµŠ·Š½Š°Ń лестница", - "block.twilightforest.ironwood_block": "Блок железной Гревесины", - "block.twilightforest.jungle_banister": "Тропические перила", - "block.twilightforest.keepsake_casket": "ŠØŠŗŠ°Ń‚ŃƒŠ»ŠŗŠ° на ŠæŠ°Š¼ŃŃ‚ŃŒ", - "block.twilightforest.knight_phantom_trophy": "Трофей Фантомного Ń€Ń‹Ń†Š°Ń€Ń", - "block.twilightforest.knightmetal_block": "Блок королевского металла", + "block.twilightforest.ironwood_block": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ блок", + "block.twilightforest.jungle_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· тропического Герева", + "block.twilightforest.keepsake_casket": "Ящик с останками", + "block.twilightforest.knight_phantom_boss_spawner": "РассаГник босса призрака Ń€Ń‹Ń†Š°Ń€Ń", + "block.twilightforest.knight_phantom_trophy": "Трофей за призрака Ń€Ń‹Ń†Š°Ń€Ń", + "block.twilightforest.knightmetal_block": "Рыцарометаллический блок", "block.twilightforest.knightmetal_block.desc": "Работает как более ŃŠøŠ»ŃŒŠ½Ń‹Š¹ ŠŗŠ°ŠŗŃ‚ŃƒŃ", - "block.twilightforest.lich_boss_spawner": "РассаГник босса Лича", - "block.twilightforest.lich_tower_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š°: Š‘Š°ŃˆŠ½Ń Лича", - "block.twilightforest.lich_trophy": "Трофей Лича", - "block.twilightforest.liveroot_block": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ корни", - "block.twilightforest.locked_vanishing_block": "Заблокированный Š²Š¾ŃŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‰ŠøŠ¹ŃŃ блок", + "block.twilightforest.lich_boss_spawner": "РассаГник босса лича", + "block.twilightforest.lich_tower_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š½Š°Ń Š±Š°ŃˆŠ½Ń лича", + "block.twilightforest.lich_trophy": "Трофей за лича", + "block.twilightforest.liveroot_block": "Живые корни", + "block.twilightforest.locked_vanishing_block": "Заблокированный ŠøŃŃ‡ŠµŠ·Š°ŃŽŃ‰ŠøŠ¹ блок", "block.twilightforest.mangrove_banister": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ перила", - "block.twilightforest.mangrove_button": "Кнопка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", + "block.twilightforest.mangrove_button": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń кнопка", "block.twilightforest.mangrove_chest": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Š¹ сунГук", "block.twilightforest.mangrove_door": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", - "block.twilightforest.mangrove_fence": "Забор ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", - "block.twilightforest.mangrove_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", + "block.twilightforest.mangrove_fence": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Š¹ забор", + "block.twilightforest.mangrove_fence_gate": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń калитка", "block.twilightforest.mangrove_hanging_sign": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń ŠæŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка", "block.twilightforest.mangrove_leaves": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ Š»ŠøŃŃ‚ŃŒŃ", - "block.twilightforest.mangrove_log": "ŠœŠ°Š½Š³Ń€Š¾Š²Š¾Šµ Герево", - "block.twilightforest.mangrove_planks": "Доски ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", - "block.twilightforest.mangrove_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", + "block.twilightforest.mangrove_log": "ŠœŠ°Š½Š³Ń€Š¾Š²Š¾Šµ бревно", + "block.twilightforest.mangrove_planks": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ Госки", + "block.twilightforest.mangrove_pressure_plate": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Š½Š°Š¶ŠøŠ¼Š½Š°Ń плита", "block.twilightforest.mangrove_root": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ корни", - "block.twilightforest.mangrove_sapling": "Даженец ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", + "block.twilightforest.mangrove_sapling": "Даженец мангрового Герева", "block.twilightforest.mangrove_sign": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń табличка", - "block.twilightforest.mangrove_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", - "block.twilightforest.mangrove_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", - "block.twilightforest.mangrove_trapdoor": "Š›ŃŽŠŗ ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š¹ берёзы", + "block.twilightforest.mangrove_slab": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń плита", + "block.twilightforest.mangrove_stairs": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø", + "block.twilightforest.mangrove_trapdoor": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Š¹ Š»ŃŽŠŗ", "block.twilightforest.mangrove_trapped_chest": "ДунГук-ловушка ŠøŠ· мангрового Герева", - "block.twilightforest.mangrove_wall_hanging_sign": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń ŠæŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка", - "block.twilightforest.mangrove_wall_sign": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка", - "block.twilightforest.mangrove_wood": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š°Ń берёза", - "block.twilightforest.mayapple": "Майское ŃŠ±Š»Š¾ŠŗŠ¾", - "block.twilightforest.mazestone": "Камень лабиринта", - "block.twilightforest.mazestone_border": "Š”Š²Š¾Š¹Š½Š°Ń ŃƒŠ·Š¾Ń€Ń‡Š°Ń‚Š°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", - "block.twilightforest.mazestone_brick": "КлаГка ŠøŠ· ŠŗŠ°Š¼Š½Ń лабиринта", - "block.twilightforest.mazestone_mosaic": "Š£Š·Š¾Ń€Ń‡Š°Ń‚Š°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", - "block.twilightforest.mining_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_button": "Кнопка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_chest": "ДунГук ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_fence": "Забор ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", + "block.twilightforest.mangrove_wood": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Гревесина", + "block.twilightforest.mason_jar": "Банка Š“Š»Ń ŠŗŠ¾Š½ŃŠµŃ€Š²ŠøŃ€Š¾Š²Š°Š½ŠøŃ", + "block.twilightforest.mayapple": "ŠŸŠ¾Š“Š¾Ń„ŠøŠ»Š»", + "block.twilightforest.mazestone": "Лабиринтовый камень", + "block.twilightforest.mazestone_border": "Š›Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń кайма", + "block.twilightforest.mazestone_brick": "Лабиринтовый кирпич", + "block.twilightforest.mazestone_mosaic": "Š›Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń мозаика", + "block.twilightforest.mining_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_button": "Кнопка ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_chest": "ДунГук ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_fence": "Забор ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", "block.twilightforest.mining_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_leaves": "Листва ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_log": "Бревно Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_log_core": "ЯГро Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_planks": "Доски ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_sapling": "Даженец Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_sign": "Табличка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_trapdoor": "Š›ŃŽŠŗ ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", + "block.twilightforest.mining_leaves": "Š›ŠøŃŃ‚ŃŒŃ ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_log": "Бревно ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_log_core": "ДерГцевина ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_planks": "Доски ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_sapling": "Даженец ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_sign": "Табличка ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.mining_trapdoor": "Š›ŃŽŠŗ ŠøŠ· ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", "block.twilightforest.mining_trapped_chest": "ДунГук-ловушка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.mining_wood": "Дерево Шахтёра", - "block.twilightforest.minoshroom_boss_spawner": "РассаГник босса Гриботавра", - "block.twilightforest.minoshroom_trophy": "Трофей гриботавра", - "block.twilightforest.moonworm": "Š“ŃƒŃŠµŠ½ŠøŃ†Š°", - "block.twilightforest.moss_patch": "ŠšŠ»Š¾Ń‡Š¾Šŗ мха", - "block.twilightforest.mossy_castle_brick": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ кирпич замка", - "block.twilightforest.mossy_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½Šø ŠøŠ· замшелого кирпича замка", - "block.twilightforest.mossy_etched_nagastone": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ гравированный нагакамень", - "block.twilightforest.mossy_mazestone": "Š—Š°Š¼ŃˆŠµŠ»Š°Ń Š»Š°Š±ŠøŃ€ŠøŠ½Ń‚Š¾Š²Š°Ń клаГка", - "block.twilightforest.mossy_nagastone_pillar": "Š—Š°Š¼ŃˆŠµŠ»Š°Ń колонна ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń", - "block.twilightforest.mossy_nagastone_stairs_left": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (Š»ŠµŠ²Š°Ń)", - "block.twilightforest.mossy_nagastone_stairs_right": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ ŃŃ‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (ŠæŃ€Š°Š²Š°Ń)", - "block.twilightforest.mossy_towerwood": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ Госки тёмной башни", - "block.twilightforest.mossy_underbrick": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ поГземные кирпичи", - "block.twilightforest.mushgloom": "Дветогриб", - "block.twilightforest.naga_boss_spawner": "РассаГник босса ŠŠ°Š³Šø", - "block.twilightforest.naga_courtyard_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š°: Двор ŠŠ°Š³Šø", - "block.twilightforest.naga_trophy": "Трофей ŠŠ°Š³Šø", + "block.twilightforest.mining_wood": "ŠØŠ°Ń…Ń‚Š½Š°Ń Гревесина", + "block.twilightforest.minoshroom_boss_spawner": "РассаГник босса гриботавра", + "block.twilightforest.minoshroom_trophy": "Трофей за гриботавра", + "block.twilightforest.moonworm": "Š›ŃƒŠ½Š¾Ń‡ŠµŃ€Š²ŃŒ", + "block.twilightforest.moss_patch": "Š›ŃƒŠ¶Š°Š¹ŠŗŠ° ŠøŠ· мха", + "block.twilightforest.mossy_castle_brick": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ замковый кирпич", + "block.twilightforest.mossy_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· замшелого замкового кирпича", + "block.twilightforest.mossy_etched_nagastone": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ выгравированный нагакамень", + "block.twilightforest.mossy_mazestone": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ лабиринтовые кирпичи", + "block.twilightforest.mossy_nagastone_pillar": "Š—Š°Š¼ŃˆŠµŠ»Š°Ń Š½Š°Š³Š°ŠŗŠ°Š¼ŠµŠ½Š½Š°Ń колонна", + "block.twilightforest.mossy_nagastone_stairs_left": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· замшелого Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (влево)", + "block.twilightforest.mossy_nagastone_stairs_right": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· замшелого Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (вправо)", + "block.twilightforest.mossy_towerwood": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Šµ Госки ŠøŠ· башенной Гревесины", + "block.twilightforest.mossy_underbrick": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ поГземный кирпич", + "block.twilightforest.mushgloom": "Š¢ŃƒŠ¼Š°Š½Š½Š¾Š³Ń€ŠøŠ±", + "block.twilightforest.naga_boss_spawner": "РассаГник босса наги", + "block.twilightforest.naga_courtyard_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š½Ń‹Š¹ Гвор наги", + "block.twilightforest.naga_trophy": "Трофей за нагу", "block.twilightforest.nagastone": "ŠŠ°Š³Š°ŠŗŠ°Š¼ŠµŠ½ŃŒ", - "block.twilightforest.nagastone_head": "Голова Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń", - "block.twilightforest.nagastone_pillar": "Колонна ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń", - "block.twilightforest.nagastone_stairs_left": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (Š»ŠµŠ²Š°Ń)", - "block.twilightforest.nagastone_stairs_right": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (ŠæŃ€Š°Š²Š°Ń)", + "block.twilightforest.nagastone_head": "Голова ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń ", + "block.twilightforest.nagastone_pillar": "ŠŠ°Š³Š°ŠŗŠ°Š¼ŠµŠ½Š½Š°Ń колонна", + "block.twilightforest.nagastone_stairs_left": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (влево)", + "block.twilightforest.nagastone_stairs_right": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Š½Š°Š³Š°ŠŗŠ°Š¼Š½Ń (вправо)", "block.twilightforest.oak_banister": "Š”ŃƒŠ±Š¾Š²Ń‹Šµ перила", "block.twilightforest.orange_force_field": "ŠžŃ€Š°Š½Š¶ŠµŠ²Š¾Šµ силовое поле", "block.twilightforest.piglin_skull_candle": "Голова пиглина со свечой", - "block.twilightforest.piglin_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń голова пиглина со свечой", - "block.twilightforest.pink_castle_door": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń Š“Š²ŠµŃ€ŃŒ замка", - "block.twilightforest.pink_castle_rune_brick": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Ń‹Š¹ Ń€ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич замка", + "block.twilightforest.pink_castle_door": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š°Ń Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "block.twilightforest.pink_castle_rune_brick": "Š ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич ŠæŃƒŃ€ŠæŃƒŃ€Š½Š¾Š³Š¾ замка", "block.twilightforest.pink_force_field": "ŠŸŃƒŃ€ŠæŃƒŃ€Š½Š¾Šµ силовое поле", "block.twilightforest.player_skull_candle": "Голова игрока со свечой", - "block.twilightforest.player_skull_candle.named": "Голова %s со свечами", - "block.twilightforest.player_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń голова игрока со свечой", - "block.twilightforest.potted_canopy_sapling": "Даженец соснового Герева в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.player_skull_candle.named": "Голова %s со свечой", + "block.twilightforest.potted_canopy_sapling": "Даженец кронового Герева в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_darkwood_sapling": "Даженец тёмного Герева в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_dead_thorn": "Š˜ŃŃ‚Š»ŠµŠ²ŃˆŠøŠ¹ шип в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_fiddlehead": "Рахис в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_dead_thorn": "Š—Š°ŃŠ¾Ń…ŃˆŠøŠ¹ шип в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_fiddlehead": "Побег папоротника в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_green_thorn": "Зелёный шип в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_hollow_oak_sapling": "Даженец большого ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_mangrove_sapling": "Даженец мангрового Герева в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_mayapple": "Майское ŃŠ±Š»Š¾ŠŗŠ¾ в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_mining_sapling": "Даженец Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š° в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_mushgloom": "Дветогриб в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_mayapple": "ŠŸŠ¾Š“Š¾Ń„ŠøŠ»Š» в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_mining_sapling": "Даженец ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_mushgloom": "Š¢ŃƒŠ¼Š°Š½Š½Š¾Š³Ń€ŠøŠ± в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_rainbow_oak_sapling": "Даженец Ń€Š°Š“ŃƒŠ¶Š½Š¾Š³Š¾ Губа в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_sorting_sapling": "Даженец сортировочного Герева в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_thorn": "ŠØŠøŠæ в Š³Š¾Ń€ŃˆŠŗŠµ", "block.twilightforest.potted_time_sapling": "Даженец Герева времени в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_transformation_sapling": "Даженец Герева трансформации в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.potted_twilight_oak_sapling": "Даженец хилого ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа в Š³Š¾Ń€ŃˆŠŗŠµ", - "block.twilightforest.quest_ram_trophy": "Трофей квестового Рама", - "block.twilightforest.rainbow_oak_leaves": "Š Š°Š“ŃƒŠ¶Š½Ń‹Šµ Š»ŠøŃŃ‚ŃŒŃ", + "block.twilightforest.potted_transformation_sapling": "Даженец Герева превращений в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.potted_twilight_oak_sapling": "Даженец больного ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа в Š³Š¾Ń€ŃˆŠŗŠµ", + "block.twilightforest.quest_ram_trophy": "Трофей за квестового барана", + "block.twilightforest.rainbow_oak_leaves": "Š›ŠøŃŃ‚ŃŒŃ Ń€Š°Š“ŃƒŠ¶Š½Š¾Š³Š¾ Губа", "block.twilightforest.rainbow_oak_sapling": "Даженец Ń€Š°Š“ŃƒŠ¶Š½Š¾Š³Š¾ Губа", "block.twilightforest.rainy_cloud": "ДожГливое облако", "block.twilightforest.reactor_debris": "ŠžŠ±Š»Š¾Š¼ŠŗŠø реактора", - "block.twilightforest.reappearing_block": "Š’Š¾ŃŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‰ŠøŠ¹ŃŃ блок", + "block.twilightforest.reappearing_block": "Š’Š¾Š·Š½ŠøŠŗŠ°ŃŽŃ‰ŠøŠ¹ блок", "block.twilightforest.red_thread": "ŠšŃ€Š°ŃŠ½Š°Ń Š½ŠøŃ‚ŃŒ", "block.twilightforest.root": "ŠšŠ¾Ń€Š½Šø", "block.twilightforest.root_strand": "Š’ŠøŃŃŃ‡ŠøŠµ корни", - "block.twilightforest.rope": "Веревка", - "block.twilightforest.skeleton_skull_candle": "Череп со свечой", - "block.twilightforest.skeleton_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Ń‹Š¹ череп со свечой", + "block.twilightforest.rope": "Верёвка", + "block.twilightforest.skeleton_skull_candle": "Голова скелета со свечой", "block.twilightforest.slider": "Š”ŠŗŠ¾Š»ŃŒŠ·ŃŃ‰Š°Ń ловушка", - "block.twilightforest.smoker": "Дымовой блок", - "block.twilightforest.snow_queen_boss_spawner": "РассаГник босса Днежной королевы", - "block.twilightforest.snow_queen_trophy": "Трофей Днежной королевы", + "block.twilightforest.smoker": "Дымогенератор", + "block.twilightforest.snow_queen_boss_spawner": "РассаГник босса снежной королевы", + "block.twilightforest.snow_queen_trophy": "Трофей за ŃŠ½ŠµŠ¶Š½ŃƒŃŽ ŠŗŠ¾Ń€Š¾Š»ŠµŠ²Ńƒ", "block.twilightforest.snowy_cloud": "Днежное облако", - "block.twilightforest.sorting_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_button": "Кнопка ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_chest": "ДунГук ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_fence": "Забор ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", + "block.twilightforest.sorting_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_button": "Кнопка ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_chest": "ДунГук ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_fence": "Забор ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· сортировочного Герева", "block.twilightforest.sorting_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_leaves": "Š›ŠøŃŃ‚ŃŒŃ сортировки", - "block.twilightforest.sorting_log": "Бревно ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_log_core": "ЯГро Герева сортировки", - "block.twilightforest.sorting_planks": "Доски ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", + "block.twilightforest.sorting_leaves": "Š›ŠøŃŃ‚ŃŒŃ сортировочного Герева", + "block.twilightforest.sorting_log": "Бревно сортировочного Герева", + "block.twilightforest.sorting_log_core": "ДерГцевина сортировочного Герева", + "block.twilightforest.sorting_planks": "Доски ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· сортировочного Герева", "block.twilightforest.sorting_sapling": "Даженец сортировочного Герева", - "block.twilightforest.sorting_sign": "Табличка ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_trapdoor": "Š›ŃŽŠŗ ŠøŠ· Герева сортировки", + "block.twilightforest.sorting_sign": "Табличка ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· сортировочного Герева", + "block.twilightforest.sorting_trapdoor": "Š›ŃŽŠŗ ŠøŠ· сортировочного Герева", "block.twilightforest.sorting_trapped_chest": "ДунГук-ловушка ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева сортировки", - "block.twilightforest.sorting_wood": "Дерево Дортировки", - "block.twilightforest.spiral_bricks": "Š”ŠæŠøŃ€Š°Š»ŃŒŠ½Ń‹Šµ каменные кирпичи", + "block.twilightforest.sorting_wood": "Š”Š¾Ń€Ń‚ŠøŃ€Š¾Š²Š¾Ń‡Š½Š°Ń Гревесина", + "block.twilightforest.spiral_bricks": "Š”ŠæŠøŃ€Š°Š»ŃŒŠ½Ń‹Šµ кирпичи", "block.twilightforest.spruce_banister": "Еловые перила", - "block.twilightforest.steeleaf_block": "Блок ŃŃ‚Š°Š»ŃŒŠ½Š¾Š³Š¾ листа", - "block.twilightforest.stripped_canopy_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ сосновое бревно", - "block.twilightforest.stripped_canopy_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń ŃŠ¾ŃŠ½Š¾Š²Š°Ń Гревесина", + "block.twilightforest.steeleaf_block": "Блок ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "block.twilightforest.stripped_canopy_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно кронового Герева", + "block.twilightforest.stripped_canopy_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń ŠŗŃ€Š¾Š½Š¾Š²Š°Ń Гревесина", "block.twilightforest.stripped_dark_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно тёмного Герева", "block.twilightforest.stripped_dark_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина тёмного Герева", "block.twilightforest.stripped_mangrove_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ мангровое бревно", "block.twilightforest.stripped_mangrove_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Š¼Š°Š½Š³Ń€Š¾Š²Š°Ń Гревесина", - "block.twilightforest.stripped_mining_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.stripped_mining_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", - "block.twilightforest.stripped_sorting_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.stripped_sorting_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ Герево сортировки", + "block.twilightforest.stripped_mining_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно ŃˆŠ°Ń…Ń‚Š½Š¾Š³Š¾ Герева", + "block.twilightforest.stripped_mining_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń ŃˆŠ°Ń…Ń‚Š½Š°Ń Гревесина", + "block.twilightforest.stripped_sorting_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно сортировочного Герева", + "block.twilightforest.stripped_sorting_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń ŃŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š¾Ń‡Š½Š°Ń Гревесина", "block.twilightforest.stripped_time_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно Герева времени", - "block.twilightforest.stripped_time_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина времени", - "block.twilightforest.stripped_transformation_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно трансформации", - "block.twilightforest.stripped_transformation_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина трансформации", + "block.twilightforest.stripped_time_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина Герева времени", + "block.twilightforest.stripped_transformation_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно Герева превращений", + "block.twilightforest.stripped_transformation_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина Герева превращений", "block.twilightforest.stripped_twilight_oak_log": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š¾Šµ бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.stripped_twilight_oak_wood": "ŠžŠ±Ń‚Ń‘ŃŠ°Š½Š½Š°Ń Гревесина ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.stronghold_shield": "ŠšŃ€ŠµŠæŠŗŠøŠ¹ щит", + "block.twilightforest.stronghold_shield": "Щит крепости", "block.twilightforest.terrorcotta_curves": "Š”ŃƒŠ³Šø Терроркоты", "block.twilightforest.terrorcotta_lines": "Линии Терроркоты", - "block.twilightforest.thick_castle_brick": "Толстый кирпич замка", - "block.twilightforest.thorn_leaves": "Шиповые Š»ŠøŃŃ‚ŃŒŃ", + "block.twilightforest.thick_castle_brick": "Толстый замковый кирпич", + "block.twilightforest.thorn_leaves": "Шипастые Š»ŠøŃŃ‚ŃŒŃ", "block.twilightforest.thorn_rose": "ŠØŠøŠæŠ°ŃŃ‚Š°Ń роза", "block.twilightforest.time_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· Герева времени", "block.twilightforest.time_button": "Кнопка ŠøŠ· Герева времени", @@ -617,7 +612,7 @@ "block.twilightforest.time_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· Герева времени", "block.twilightforest.time_leaves": "Š›ŠøŃŃ‚ŃŒŃ Герева времени", "block.twilightforest.time_log": "Бревно Герева времени", - "block.twilightforest.time_log_core": "Часы Герева времени", + "block.twilightforest.time_log_core": "ДерГцевина Герева времени", "block.twilightforest.time_planks": "Доски ŠøŠ· Герева времени", "block.twilightforest.time_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· Герева времени", "block.twilightforest.time_sapling": "Даженец Герева времени", @@ -626,36 +621,32 @@ "block.twilightforest.time_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Герева времени", "block.twilightforest.time_trapdoor": "Š›ŃŽŠŗ ŠøŠ· Герева времени", "block.twilightforest.time_trapped_chest": "ДунГук-ловушка ŠøŠ· Герева времени", - "block.twilightforest.time_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева времени", - "block.twilightforest.time_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· Герева времени", - "block.twilightforest.time_wood": "Дерево времени", - "block.twilightforest.torchberry_plant": "Факелонтовый росток", - "block.twilightforest.towerwood": "Доски тёмной башни", - "block.twilightforest.transformation_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· загаГочного Герева", - "block.twilightforest.transformation_button": "Кнопка ŠøŠ· загаГочного Герева", - "block.twilightforest.transformation_chest": "ДунГук ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_fence": "Забор ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· трансформационного Герева", + "block.twilightforest.time_wood": "Древесина Герева времени", + "block.twilightforest.torchberry_plant": "Š¤Š°ŠŗŠµŠ»Š¾ŃŠ³Š¾Š“Š½Ń‹Š¹ росток", + "block.twilightforest.towerwood": "Доски ŠøŠ· башенной Гревесины", + "block.twilightforest.transformation_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· Герева превращений", + "block.twilightforest.transformation_button": "Кнопка ŠøŠ· Герева превращений", + "block.twilightforest.transformation_chest": "ДунГук ŠøŠ· Герева превращений", + "block.twilightforest.transformation_door": "Š”Š²ŠµŃ€ŃŒ ŠøŠ· Герева превращений", + "block.twilightforest.transformation_fence": "Забор ŠøŠ· Герева превращений", + "block.twilightforest.transformation_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· Герева превращений", "block.twilightforest.transformation_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· трансформ. Герева", - "block.twilightforest.transformation_leaves": "Š›ŠøŃŃ‚ŃŒŃ трансформации", - "block.twilightforest.transformation_log": "Бревно трансформационного Герева", - "block.twilightforest.transformation_log_core": "ДерГце Трансформации", - "block.twilightforest.transformation_planks": "Доски ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_sapling": "Даженец Герева трансформации", - "block.twilightforest.transformation_sign": "Табличка ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· трансформационного Герева", - "block.twilightforest.transformation_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· загаГочного Герева", - "block.twilightforest.transformation_trapdoor": "Š›ŃŽŠŗ ŠøŠ· трансформационного Герева", + "block.twilightforest.transformation_leaves": "Š›ŠøŃŃ‚ŃŒŃ Герева превращений", + "block.twilightforest.transformation_log": "Бревно Герева превращений", + "block.twilightforest.transformation_log_core": "ДерГцевина Герева превращений", + "block.twilightforest.transformation_planks": "Доски ŠøŠ· Герева превращений", + "block.twilightforest.transformation_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· Герева превращений", + "block.twilightforest.transformation_sapling": "Даженец Герева превращений", + "block.twilightforest.transformation_sign": "Табличка ŠøŠ· Герева превращений", + "block.twilightforest.transformation_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· Герева превращений", + "block.twilightforest.transformation_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· Герева превращений", + "block.twilightforest.transformation_trapdoor": "Š›ŃŽŠŗ ŠøŠ· Герева превращений", "block.twilightforest.transformation_trapped_chest": "ДунГук-ловушка ŠøŠ· трансформ. Герева", - "block.twilightforest.transformation_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· трансформ. Герева", - "block.twilightforest.transformation_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń таблика ŠøŠ· трансформ. Герева", - "block.twilightforest.transformation_wood": "Трансформационное Герево", + "block.twilightforest.transformation_wood": "Древесина Герева превращений", "block.twilightforest.trollber": "Š¢Ń€Š¾Š»Š»ŃŒŠ±ŠµŃ€", - "block.twilightforest.trollsteinn": "Š¢Ń€Š¾Š»Š»ŃŒŃˆŃ‚ŠµŠ¹Š½", - "block.twilightforest.trollvidr": "ТролловиГр", - "block.twilightforest.trophy_pedestal": "Трофейный ŠæŃŒŠµŠ“естал", + "block.twilightforest.trollsteinn": "Š¢Ń€Š¾Š»Š»ŃŒŃŃ‚ŠµŠ¹Š½", + "block.twilightforest.trollvidr": "Š¢Ń€Š¾Š»Š»ŃŒŠ²ŠøŠ“Ń€", + "block.twilightforest.trophy_pedestal": "ŠŸŃŒŠµŠ“ŠµŃŃ‚Š°Š» Š“Š»Ń трофеев", "block.twilightforest.twilight_oak_banister": "ŠŸŠµŃ€ŠøŠ»Š° ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_button": "Кнопка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_chest": "ДунГук ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", @@ -663,219 +654,211 @@ "block.twilightforest.twilight_oak_fence": "Забор ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_fence_gate": "ŠšŠ°Š»ŠøŃ‚ŠŗŠ° ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń табличка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.twilight_oak_leaves": "Листва ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", + "block.twilightforest.twilight_oak_leaves": "Š›ŠøŃŃ‚ŃŒŃ ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_log": "Бревно ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_planks": "Доски ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_pressure_plate": "ŠŠ°Š¶ŠøŠ¼Š½Š°Ń плита ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.twilight_oak_sapling": "Даженец хилого ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", + "block.twilightforest.twilight_oak_sapling": "Даженец больного ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_sign": "Табличка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_slab": "ŠŸŠ»ŠøŃ‚Š° ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_trapdoor": "Š›ŃŽŠŗ ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_oak_trapped_chest": "ДунГук-ловушка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.twilight_oak_wall_hanging_sign": "ŠŸŠ¾Š“Š²ŠµŃŠ½Š°Ń Š½Š°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.twilight_oak_wall_sign": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń табличка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "block.twilightforest.twilight_oak_wood": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ Губ", + "block.twilightforest.twilight_oak_wood": "Древесина ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "block.twilightforest.twilight_portal": "ŠŸŠ¾Ń€Ń‚Š°Š» в ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", - "block.twilightforest.twilight_portal_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š°: ŠŸŠ¾Ń€Ń‚Š°Š» в Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", - "block.twilightforest.twisted_stone": "ŠšŠ°Š¼ŠµŠ½Š½Š°Ń ŃŠæŠøŃ€Š°Š»ŃŒ", - "block.twilightforest.twisted_stone_pillar": "Š˜ŃŠŗŃ€ŠøŠ²Š»ŠµŠ½Š½Ń‹Š¹ каменный столб", - "block.twilightforest.uberous_soil": "ŠŠ½Š±ŠµŠ¾Š½Š¾Š²Š°Ń почва", + "block.twilightforest.twilight_portal_miniature_structure": "ŠœŠøŠ½ŠøŠ°Ń‚ŃŽŃ€Š½Š°Ń ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Š° портала в ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", + "block.twilightforest.twisted_stone": "Š˜Š·Š²ŠøŠ»ŠøŃŃ‚Ń‹Š¹ камень", + "block.twilightforest.twisted_stone_pillar": "Колонна ŠøŠ· извилистого ŠŗŠ°Š¼Š½Ń", + "block.twilightforest.uberous_soil": "ŠŸŠ»Š¾Š“Š¾Ń€Š¾Š“Š½Š°Ń Š·ŠµŠ¼Š»Ń", "block.twilightforest.unbreakable_vanishing_block": "Š˜ŃŃ‡ŠµŠ·Š°ŃŽŃ‰ŠøŠ¹ блок", - "block.twilightforest.uncrafting_table": "Разборочный верстак", + "block.twilightforest.uncrafting_table": "Разборочный стол", "block.twilightforest.uncrafting_table.disabled": "Этот блок Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½.", - "block.twilightforest.underbrick": "ŠŸŠ¾Š“Š·ŠµŠ¼Š½Ń‹Šµ кирпичи", - "block.twilightforest.underbrick_floor": "ŠŸŠ¾Š“Š·ŠµŠ¼Š½Ń‹Š¹ пол", - "block.twilightforest.unripe_trollber": "Дпелый Ń‚Ń€Š¾Š»Š»ŃŒŠ±ŠµŃ€", - "block.twilightforest.ur_ghast_boss_spawner": "РассаГник босса Ур-Гаста", - "block.twilightforest.ur_ghast_trophy": "Трофей Ур-Гаста", + "block.twilightforest.underbrick": "ŠŸŠ¾Š“Š·ŠµŠ¼Š½Ń‹Š¹ кирпич", + "block.twilightforest.underbrick_floor": "Пол ŠøŠ· поГземного кирпича", + "block.twilightforest.unripe_trollber": "ŠŠµŠ“Š¾ŃŠæŠµŠ²ŃˆŠøŠ¹ Ń‚Ń€Š¾Š»Š»ŃŒŠ±ŠµŃ€", + "block.twilightforest.ur_ghast_boss_spawner": "РассаГник босса Гревнего гаста", + "block.twilightforest.ur_ghast_trophy": "Трофей за Гревнего гаста", "block.twilightforest.vangrove_banister": "ŠœŠ°Š½Š³Ń€Š¾Š²Ń‹Šµ перила", "block.twilightforest.vanishing_block": "Š˜ŃŃ‡ŠµŠ·Š°ŃŽŃ‰ŠøŠ¹ блок", - "block.twilightforest.violet_castle_door": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ замка", - "block.twilightforest.violet_castle_rune_brick": "Фиолетовый Ń€ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич замка", + "block.twilightforest.violet_castle_door": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "block.twilightforest.violet_castle_rune_brick": "Š ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич фиолетового замка", "block.twilightforest.violet_force_field": "Фиолетовое силовое поле", "block.twilightforest.warped_banister": "Š˜ŃŠŗŠ°Š¶Ń‘Š½Š½Ń‹Šµ перила", - "block.twilightforest.weathered_deadrock": "Влажный камень смерти", - "block.twilightforest.wispy_cloud": "ŠŸŃ€Š¾Š·Ń€Š°Ń‡Š½Š¾Šµ облако", - "block.twilightforest.wither_skeleton_skull_candle": "Череп визер-скелета со свечой", - "block.twilightforest.wither_skeleton_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Ń‹Š¹ череп визер-скелета со свечой", - "block.twilightforest.worn_castle_brick": "Š˜Š·Š½Š¾ŃˆŠµŠ½Š½Ń‹Š¹ кирпич замка", - "block.twilightforest.worn_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½Šø ŠøŠ· изношенного кирпича замка", + "block.twilightforest.weathered_deadrock": "Выветренный мёртвый камень", + "block.twilightforest.wispy_cloud": "ŠŠµŠæŠ»Š¾Ń‚Š½Š¾Šµ облако", + "block.twilightforest.wither_skeleton_skull_candle": "Голова визер-скелета со свечой", + "block.twilightforest.worn_castle_brick": "ŠžŠ±Š²ŠµŃ‚Ń€ŠµŠ½Š½Ń‹Š¹ замковый кирпич", + "block.twilightforest.worn_castle_brick_stairs": "Š”Ń‚ŃƒŠæŠµŠ½ŃŒŠŗŠø ŠøŠ· обветренного замкового кирпича", "block.twilightforest.wrought_iron_fence": "ŠšŠ¾Š²Š°Š½Ń‹Š¹ железный забор", - "block.twilightforest.yellow_castle_door": "Š–Ń‘Š»Ń‚Š°Ń Š“Š²ŠµŃ€ŃŒ замка", - "block.twilightforest.yellow_castle_rune_brick": "Жёлтый Ń€ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич замка", + "block.twilightforest.yellow_castle_door": "Š–Ń‘Š»Ń‚Š°Ń Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "block.twilightforest.yellow_castle_rune_brick": "Š ŃƒŠ½ŠøŃ‡ŠµŃŠŗŠøŠ¹ кирпич жёлтого замка", "block.twilightforest.zombie_skull_candle": "Голова зомби со свечой", - "block.twilightforest.zombie_wall_skull_candle": "ŠŠ°ŃŃ‚ŠµŠ½Š½Š°Ń голова зомби со свечой", - "commands.tffeature.center": "Цетр Š¾Š±ŃŠŠµŠŗŃ‚Š°: %s", - "commands.tffeature.chunk": "ŠžŠ±ŃŠŠµŠŗŃ‚ в чанке: %s", - "commands.tffeature.nearest": "Š‘Š»ŠøŠ¶Š°Š¹ŃˆŠøŠø Š¾Š±ŃŠŠµŠŗŃ‚ ŃŃ‚Š¾ %s", - "commands.tffeature.none_nearby": "ŠŠµ уГалось найти Š¾Š±ŃŠŠµŠŗŃ‚ поблизости!", + "commands.tffeature.center": "Центр Š¾Š±ŃŠŠµŠŗŃ‚Š°: %s", + "commands.tffeature.chunk": "Расположено в чанке Š¾Š±ŃŠŠµŠŗŃ‚а: %s", + "commands.tffeature.nearest": "Š‘Š»ŠøŠ¶Š°Š¹ŃˆŠøŠ¹ Š¾Š±ŃŠŠµŠŗŃ‚: %s", + "commands.tffeature.none_nearby": "ŠŠµ уГалось найти поблизости Š¾Š±ŃŠŠµŠŗŃ‚!", "commands.tffeature.not_player": "Š­Ń‚Ńƒ команГу Голжен Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ игрок!", "commands.tffeature.structure.boundaries": "Границы ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ń‹: %s", - "commands.tffeature.structure.conquer.status": "Завоеванный флаг ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ń‹: %s", - "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, Š¼ŠµŠ½ŃŠµŃ‚ŃŃ на %s", - "commands.tffeature.structure.inside": "Š’Ń‹ Š½Š°Ń…Š¾Š“ŠøŃ‚ŠµŃŃŒ в ŠžŃ€ŠøŠµŠ½Ń‚ировочной ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Šµ", - "commands.tffeature.structure.outside": "Š’Ń‹ не Š½Š°Ń…Š¾Š“ŠøŃ‚ŠµŃŃŒ в ŠžŃ€ŠøŠµŠ½Ń‚ировочной ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Šµ", - "commands.tffeature.structure.required": "Š’Ń‹ не в строении.", - "commands.tffeature.structure.spawn_info": "%s, Вес %s", - "commands.tffeature.structure.spawn_list": "Дписок спавна Š“Š»Ń ŃŃ‚Š¾Š¹ области:", + "commands.tffeature.structure.conquer.status": "Флаг Š·Š°Š²Š¾ŠµŠ²Š°Š½ŠøŃ ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ń‹: %s", + "commands.tffeature.structure.conquer.update": "Флаг Š·Š°Š²Š¾ŠµŠ²Š°Š½ŠøŃ ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ń‹ был %s, изменён на %s", + "commands.tffeature.structure.inside": "Š’Ń‹ Š½Š°Ń…Š¾Š“ŠøŃ‚ŠµŃŃŒ в ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Šµ Š¾Š±ŃŠŠµŠŗŃ‚Š°", + "commands.tffeature.structure.outside": "Š’Ń‹ не Š½Š°Ń…Š¾Š“ŠøŃ‚ŠµŃŃŒ в ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Šµ Š¾Š±ŃŠŠµŠŗŃ‚Š°", + "commands.tffeature.structure.required": "Š’Ń‹ не Š½Š°Ń…Š¾Š“ŠøŃ‚ŠµŃŃŒ в ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Šµ", + "commands.tffeature.structure.spawn_info": "%s, вес %s", + "commands.tffeature.structure.spawn_list": "Дписок ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŃ ŃŃ‚Š¾Š¹ области:", "commands.tffeature.usage": "/%s ", - "config.jade.plugin_twilightforest.quest_ram_wool": "ŠØŠµŃ€ŃŃ‚ŃŒ ŠšŠ²ŠµŃŃ‚Š¾Š²Š¾Š³Š¾ Барана", + "config.jade.plugin_twilightforest.quest_ram_wool": "ŠØŠµŃ€ŃŃ‚ŃŒ квестового барана", "container.twilightforest.uncrafting_table": "Разборочный верстак", "container.twilightforest.uncrafting_table.cycle_back_recipe": "ŠŸŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŠøŠ¹ рецепт ŃŠ¾Š·Š“Š°Š½ŠøŃ", "container.twilightforest.uncrafting_table.disabled_item": "Разбирание ŃŃ‚Š¾Š³Š¾ преГмета Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½Š¾.", "container.twilightforest.uncrafting_table.uncrafting_disabled": "Разбирание Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½Š¾ через ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ", "death.attack.twilightforest.acid_rain": "%1$s Ń€ŠµŃˆŠøŠ» ŠæŠ¾Ń‚Š°Š½Ń†ŠµŠ²Š°Ń‚ŃŒ поГ кислотным ГожГем", - "death.attack.twilightforest.ant": "%1$s был разГавлен %2$s как Š¼ŃƒŃ€Š°Š²ŠµŠ¹", - "death.attack.twilightforest.ant.item": "%1$s был разГавлен %2$s как Š¼ŃƒŃ€Š°Š²ŠµŠ¹, Гержащим %3$s", - "death.attack.twilightforest.axing": "%1$s был Ń€Š°Š·Ń€ŃƒŠ±Š»ŠµŠ½ %2$s", - "death.attack.twilightforest.axing.item": "%1$s был Ń€Š°Š·Ń€ŃƒŠ±Š»ŠµŠ½ %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.chillingBreath": "%1$s был заморожен Днежной ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š¾Š¹", - "death.attack.twilightforest.chillingBreath.player": "%1$s был заморожен Днежной ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š¾Š¹ при побеге ŠøŠ· %2$s", - "death.attack.twilightforest.clamped": "%1$s был заГавлен %2$s Го смерти", - "death.attack.twilightforest.clamped.item": "%1$s был заГавлен %2$s Го смерти с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.expired": "Š–ŠøŠ·Š½ŃŒ %1$s истекла", - "death.attack.twilightforest.expired.player": "Š–ŠøŠ·Š½ŃŒ %1$s истекла", - "death.attack.twilightforest.fiery": "%1$s Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ блок", - "death.attack.twilightforest.fiery.player": "%1$s Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ блок, ŃŠæŠ°ŃŠ°ŃŃŃŒ от %2$s", - "death.attack.twilightforest.fireJet": "%1$s ŃŠ»ŃƒŃ‡Š°Š¹Š½Š¾ Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŠžŠ³Š½ŠµŠ½Š½ŃƒŃŽ струю", - "death.attack.twilightforest.fireJet.player": "%1$s ŃŠ»ŃƒŃ‡Š°Š¹Š½Š¾ Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŠžŠ³Š½ŠµŠ½Š½ŃƒŃŽ струю, ŃŠæŠ°ŃŠ°ŃŃŃŒ от %2$s", + "death.attack.twilightforest.ant": "%1$s был разГавлен как Š¼ŃƒŃ€Š°Š²ŠµŠ¹ %2$s", + "death.attack.twilightforest.ant.item": "%1$s был разГавлен как Š¼ŃƒŃ€Š°Š²ŠµŠ¹ %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.axing": "%1$s был ŠøŠ·Ń€ŃƒŠ±Š»ŠµŠ½ %2$s", + "death.attack.twilightforest.axing.item": "%1$s был ŠøŠ·Ń€ŃƒŠ±Š»ŠµŠ½ %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.chillingBreath": "%1$s был заморожен Гыханием снежной королевы", + "death.attack.twilightforest.chillingBreath.player": "%1$s был заморожен Гыханием снежной королевы, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.clamped": "%1$s был сжат Го смерти %2$s", + "death.attack.twilightforest.clamped.item": "%1$s был сжат Го смерти %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.expired": "Дрок жизни %1$s истёк", + "death.attack.twilightforest.expired.player": "Дрок жизни %1$s истёк", + "death.attack.twilightforest.fiery": "%1$s был испепелён огненным блоком", + "death.attack.twilightforest.fiery.player": "%1$s был испепелён огненным блоком, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.fireJet": "%1$s ŃŠ»ŃƒŃ‡Š°Š¹Š½Š¾ Š·Š°ŃˆŃ‘Š» в Š¾Š³Š½ŠµŠ½Š½ŃƒŃŽ струю", + "death.attack.twilightforest.fireJet.player": "%1$s ŃŠ»ŃƒŃ‡Š°Š¹Š½Š¾ Š·Š°ŃˆŃ‘Š» в Š¾Š³Š½ŠµŠ½Š½ŃƒŃŽ струю, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", "death.attack.twilightforest.frozen": "%1$s был заморожен %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ Š»ŠµŠ“ŃŠ½Š¾Š¹ бомбы", "death.attack.twilightforest.frozen.item": "%1$s был заморожен %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.ghastTear": "%1$s был Š¾ŃˆŠæŠ°Ń€ŠµŠ½ огненными слезами", - "death.attack.twilightforest.ghastTear.player": "%1$s был Š¾ŃˆŠæŠ°Ń€ŠµŠ½ огненными слезами когГа убегал от %2$s", - "death.attack.twilightforest.haunt": "%1$s ŠæŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŠ»ŃŃ Šŗ ŠæŃ€ŠøŠ·Ń€Š°ŠŗŃƒ %2$s", - "death.attack.twilightforest.haunt.item": "%1$s ŠæŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŠ»ŃŃ Šŗ ŠæŃ€ŠøŠ·Ń€Š°ŠŗŃƒ %2$s после того, как был ŃƒŠ±ŠøŃ‚ %3$s", - "death.attack.twilightforest.hydraBite": "ГиГра соГрала кожу с %1$s", - "death.attack.twilightforest.hydraBite.player": "Кожа %1$s была сорвана ГиГрой при побеге ŠøŠ· %2$s", - "death.attack.twilightforest.hydraFire": "%1$s был поГжарен заживо ГиГрой", - "death.attack.twilightforest.hydraFire.player": "%1$s был поГжарен заживо ГиГрой при побеге от %2$s", - "death.attack.twilightforest.knightmetal": "%1$s был ŠæŃ€Š¾Ń‚ŠŗŠ½ŃƒŃ‚ Рыцарским блоком", - "death.attack.twilightforest.knightmetal.player": "%1$s был ŠæŃ€Š¾Ń‚ŠŗŠ½ŃƒŃ‚ Рыцарским блоком при побеге ŠøŠ· %2$s", - "death.attack.twilightforest.leafBrain": "Мозг %1$s ŠæŃ€ŠµŠ²Ń€Š°Ń‚ŠøŠ»ŃŃ в Š»ŠøŃŃ‚Š²Ńƒ Š±Š»Š°Š³Š¾Š“Š°Ń€Ń %2$s", - "death.attack.twilightforest.leafBrain.item": "Мозг %1$s ŠæŃ€ŠµŠ²Ń€Š°Ń‚ŠøŠ»ŃŃ в Š»ŠøŃŃ‚Š²Ńƒ Š±Š»Š°Š³Š¾Š“Š°Ń€Ń %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.lichBolt": "Цель Лича была Š»ŃƒŃ‡ŃˆŠµ, чем у %1$s", - "death.attack.twilightforest.lichBolt.player": "Лич Šø %2$s ŠæŃ€ŠøŃ†ŠµŠ»ŠøŠ»ŠøŃŃŒ Š»ŃƒŃ‡ŃˆŠµ, чем %1$s", - "death.attack.twilightforest.lichBomb": "%1$s стал жертвой взрывной магии Лича", - "death.attack.twilightforest.lichBomb.player": "%1$s стал жертвой взрывной магии Лича, ŃŠæŠ°ŃŠ°ŃŃŃŒ от %2$s", - "death.attack.twilightforest.lifedrain": "Š–ŠøŠ·Š½ŃŒ %1$s была истощена %2$s", - "death.attack.twilightforest.lifedrain.item": "Š–ŠøŠ·Š½ŃŒ %1$s была истощена %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.lostWords": "%1$s ŠæŠ¾Ń‚ŠµŃ€ŃŠ» Гар речи после того, как его убил %2$s", - "death.attack.twilightforest.lostWords.item": "%1$s ŠæŠ¾Ń‚ŠµŃ€ŃŠ» Гар речи после того, как его убил %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.moonworm": "%1$s был застрелен Š³ŃƒŃŠµŠ½ŠøŃ†ŠµŠ¹", - "death.attack.twilightforest.reactor": "%1$s ŃŃ‚Š¾ŃŠ» слишком близко Šŗ ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š¾Š¼Ńƒ Ń€ŠµŠ°ŠŗŃ‚Š¾Ń€Ńƒ", - "death.attack.twilightforest.reactor.player": "%1$s ŃŃ‚Š¾ŃŠ» слишком близко Šŗ ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š¾Š¼Ńƒ Ń€ŠµŠ°ŠŗŃ‚Š¾Ń€Ńƒ, ŃŠæŠ°ŃŠ°ŃŃŃŒ от %2$s", - "death.attack.twilightforest.schooled": "%1$s Š¾Š±ŃƒŃ‡Š°Š»ŃŃ у %2$s", - "death.attack.twilightforest.schooled.item": "%1$s Š¾Š±ŃƒŃ‡Š°Š»ŃŃ у %2$s, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃ %3$s", - "death.attack.twilightforest.scorched": "%1$s был сожжен %2$s", - "death.attack.twilightforest.scorched.item": "%1$s был сожжен %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.slider": "%1$s был порезан Š”ŠŗŠ¾Š»ŃŒŠ·ŃŃ‰ŠµŠ¹ ловушкой", - "death.attack.twilightforest.slider.player": "%1$s был порезан ŃŠŗŠ¾Š»ŃŒŠ·ŃŃ‰ŠµŠ¹ ловушкой при побеге от %2$s", - "death.attack.twilightforest.snowballFight": "%1$s проиграл Š±ŠøŃ‚Š²Ńƒ со снежками %2$s", - "death.attack.twilightforest.snowballFight.item": "%1$s проиграл Š±ŠøŃ‚Š²Ńƒ со снежками %2$s, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃ %3$s", + "death.attack.twilightforest.ghastTear": "%1$s был сварен огненными слезами", + "death.attack.twilightforest.ghastTear.player": "%1$s был сварен огненными слезами, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.haunt": "%1$s ŠæŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŠ»ŃŃ Šŗ неживой жизни %2$s", + "death.attack.twilightforest.haunt.item": "%1$s ŠæŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŠ»ŃŃ Šŗ неживой жизни %2$s после того, как был ŃƒŠ±ŠøŃ‚ %3$s", + "death.attack.twilightforest.hydraBite": "%1$s был освежёван гиГрой", + "death.attack.twilightforest.hydraBite.player": "%1$s был освежёван гиГрой, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.hydraFire": "%1$s был зажарен гиГрой Го Ń…Ń€ŃƒŃŃ‚ŃŃ‰ŠµŠ¹ корочки", + "death.attack.twilightforest.hydraFire.player": "%1$s был зажарен гиГрой Го Ń…Ń€ŃƒŃŃ‚ŃŃ‰ŠµŠ¹ корочки, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.knightmetal": "%1$s был пронзён рыцарометаллическим блоком", + "death.attack.twilightforest.knightmetal.player": "%1$s был пронзён рыцарометаллическим блоком, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.leafBrain": "Мозг %1$s Ń€Š°ŃŠæŠ°Š»ŃŃ в Š»ŠøŃŃ‚Š²Ńƒ ŠøŠ·-за %2$s", + "death.attack.twilightforest.leafBrain.item": "Мозг %1$s Ń€Š°ŃŠæŠ°Š»ŃŃ в Š»ŠøŃŃ‚Š²Ńƒ ŠøŠ·-за %2$s, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃ %3$s", + "death.attack.twilightforest.lichBolt": "Лич ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚ Š»ŃƒŃ‡ŃˆŠµ, чем %1$s", + "death.attack.twilightforest.lichBolt.player": "Лич Šø %2$s ŃŃ‚Ń€ŠµŠ»ŃŃŽŃ‚ Š»ŃƒŃ‡ŃˆŠµ, чем %1$s", + "death.attack.twilightforest.lichBomb": "%1$s ŃŠŗŠ¾Š½Ń‡Š°Š»ŃŃ во взрывной магии лича", + "death.attack.twilightforest.lichBomb.player": "%1$s ŃŠŗŠ¾Š½Ń‡Š°Š»ŃŃ во взрывной магии лича, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.lifedrain": "Š–ŠøŠ·Š½ŃŒ %1$s была высосана %2$s", + "death.attack.twilightforest.lifedrain.item": "Š–ŠøŠ·Š½ŃŒ %1$s была высосана %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.lostWords": "%1$s ŠæŠ¾Ń‚ŠµŃ€ŃŠ» Гар речи после того, как был ŃƒŠ±ŠøŃ‚ %2$s", + "death.attack.twilightforest.lostWords.item": "%1$s ŠæŠ¾Ń‚ŠµŃ€ŃŠ» Гар речи после того, как был ŃƒŠ±ŠøŃ‚ %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.moonworm": "%1$s был застрелен Š»ŃƒŠ½Š¾Ń‡ŠµŃ€Š²Ń‘м", + "death.attack.twilightforest.reactor": "%1$s слишком близко Š½Š°Ń…Š¾Š“ŠøŠ»ŃŃ Šŗ ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š¾Š¼Ńƒ Ń€ŠµŠ°ŠŗŃ‚Š¾Ń€Ńƒ", + "death.attack.twilightforest.reactor.player": "%1$s слишком близко Š½Š°Ń…Š¾Š“ŠøŠ»ŃŃ Šŗ ŠŗŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š¾Š¼Ńƒ Ń€ŠµŠ°ŠŗŃ‚Š¾Ń€Ńƒ, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.schooled": "%2$s поставил %1$s на своё место", + "death.attack.twilightforest.schooled.item": "%2$s поставил %1$s на своё место с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.scorched": "%1$s был запечён %2$s", + "death.attack.twilightforest.scorched.item": "%1$s был запечён %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", + "death.attack.twilightforest.slider": "%1$s был нарезан ŃŠŗŠ¾Š»ŃŒŠ·ŃŃ‰ŠµŠ¹ ловушкой", + "death.attack.twilightforest.slider.player": "%1$s был нарезан ŃŠŗŠ¾Š»ŃŒŠ·ŃŃ‰ŠµŠ¹ ловушкой, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.snowballFight": "%1$s проиграл %2$s в снежки", + "death.attack.twilightforest.snowballFight.item": "%1$s проиграл %2$s в снежки с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", "death.attack.twilightforest.spiked": "%1$s был ŠæŃ€Š¾Ń‚ŠŗŠ½ŃƒŃ‚ %2$s", "death.attack.twilightforest.spiked.item": "%1$s был ŠæŃ€Š¾Ń‚ŠŗŠ½ŃƒŃ‚ %2$s с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %3$s", - "death.attack.twilightforest.squish": "%1$s был разГавлен Днежной ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š¾Š¹", - "death.attack.twilightforest.squish.player": "%1$s был разГавлен Днежной ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š¾Š¹ при побеге от %2$s", - "death.attack.twilightforest.thorns": "%1$s Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŃˆŠøŠæŃ‹", - "death.attack.twilightforest.thorns.player": "%1$s Š½Š°Ń‚ŠŗŠ½ŃƒŠ»ŃŃ на ŃˆŠøŠæŃ‹, ŃŠæŠ°ŃŠ°ŃŃŃŒ от %2$s", - "death.attack.twilightforest.thrownAxe": "%1$s был обезглавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Ń‹Š¼ топором", - "death.attack.twilightforest.thrownAxe.player": "%1$s был обезглавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Ń‹Š¼ топором при побеге от %2$s", + "death.attack.twilightforest.squish": "%1$s был размазан снежной королевой", + "death.attack.twilightforest.squish.player": "%1$s был размазан снежной королевой, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.thorns": "%1$s Ń€Š°ŃŠæŠ¾Ń€Š¾Š»ŃŃ об терновые заросли", + "death.attack.twilightforest.thorns.player": "%1$s Ń€Š°ŃŠæŠ¾Ń€Š¾Š»ŃŃ об терновые заросли, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.thrownAxe": "%1$s был обезглавлен ŠæŃ€Š¾Š»ŠµŃ‚ŠµŠ²ŃˆŠøŠ¼ топором", + "death.attack.twilightforest.thrownAxe.player": "%1$s был обезглавлен ŠæŃ€Š¾Š»ŠµŃ‚ŠµŠ²ŃˆŠøŠ¼ топором, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", "death.attack.twilightforest.thrownBlock": "%1$s был разГавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Ń‹Š¼ блоком", "death.attack.twilightforest.thrownBlock.player": "%1$s был разГавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Ń‹Š¼ блоком при побеге от %2$s", - "death.attack.twilightforest.thrownPickaxe": "%1$s был обезглавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Š¾Š¹ киркой", - "death.attack.twilightforest.thrownPickaxe.player": "%1$s был обезглавлен Š±Ń€Š¾ŃˆŠµŠ½Š½Š¾Š¹ киркой при побеге от %2$s", - "death.attack.twilightforest.yeeted": "%1$s был Š±Ń€Š¾ŃˆŠµŠ½ в послеГний раз", - "death.attack.twilightforest.yeeted.entity": "%1$s был Š±Ń€Š¾ŃˆŠµŠ½ %2$s в послеГний раз", - "death.attack.twilightforest.yeeted.item": "%1$s был Š±Ń€Š¾ŃˆŠµŠ½ %2$s в послеГний раз, при ŃŃ‚Š¾Š¼ каким-то образом Гержа %3$s", + "death.attack.twilightforest.thrownPickaxe": "%1$s был обезглавлен ŠæŃ€Š¾Š»ŠµŃ‚ŠµŠ²ŃˆŠµŠ¹ киркой", + "death.attack.twilightforest.thrownPickaxe.player": "%1$s был обезглавлен ŠæŃ€Š¾Š»ŠµŃ‚ŠµŠ²ŃˆŠµŠ¹ киркой, ŃƒŠ±ŠµŠ³Š°Ń от %2$s", + "death.attack.twilightforest.yeeted": "%1$s полетал послеГний раз в его жизни", + "death.attack.twilightforest.yeeted.entity": "%1$s полетал послеГний раз в его жизни с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %2$s", + "death.attack.twilightforest.yeeted.item": "%1$s полетал послеГний раз в его жизни с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ %2$s, Š“ŠµŃ€Š¶Š°Š²ŃˆŠµŠ³Š¾ %3$s", "dimension.twilightforest.twilight_forest": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ лес", "effect.twilightforest.frosted": "ŠžŠ±Š¼Š¾Ń€Š¾Š¶ŠµŠ½ŠøŠµ", - "enchantment.twilightforest.chill_aura": "ŠœŠ¾Ń€Š¾Š·Š½Š°Ń Š°ŃƒŃ€Š°", - "enchantment.twilightforest.chill_aura.desc": "Š”Š¾Š±Š°Š²Š»ŃŠµŃ‚ Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠµŠ¼Ńƒ шанс ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ ŃŃ„Ń„ŠµŠŗŃ‚ заморозки после ŃƒŠ“Š°Ń€Š° по Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Ńƒ.", + "enchantment.twilightforest.chill_aura": "ŠŃƒŃ€Š° холоГа", + "enchantment.twilightforest.chill_aura.desc": "Š”Š¾Š±Š°Š²Š»ŃŠµŃ‚ шанс, что Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠøŠ¹ ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ ŃŃ„Ń„ŠµŠŗŃ‚ Š¾Š±Š¼Š¾Ń€Š¾Š¶ŠµŠ½ŠøŃ после ŃƒŠ“Š°Ń€Š° по Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŽ", "enchantment.twilightforest.destruction": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½ŠøŠµ", - "enchantment.twilightforest.destruction.desc": "ŠŸŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ блоку Šø Ń†ŠµŠæŃŠ¼ Ń€Š°Š·Š±ŠøŠ²Š°Ń‚ŃŒ блоки с более высоким ŃƒŃ€Š¾Š²Š½ŠµŠ¼ Гобычи.", - "enchantment.twilightforest.fire_react": "ŠŃƒŃ€Š° Š¾Š³Š½Ń", - "enchantment.twilightforest.fire_react.desc": "Š”Š¾Š±Š°Š²Š»ŃŠµŃ‚ шанс ŠæŠ¾Š“Š¶ŠµŃ‡ŃŒ Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠµŠ³Š¾ после ŃƒŠ“Š°Ń€Š° по Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Ńƒ.", - "entity.twilightforest.adherent": "ŠŸŃ€ŠøŠ²ŠµŃ€Š¶ŠµŠ½ŠµŃ†", + "enchantment.twilightforest.destruction.desc": "ŠŸŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Ń†ŠµŠæŠ½Š¾Š¼Ńƒ блоку Š»Š¾Š¼Š°Ń‚ŃŒ блоки с более высоким ŃƒŃ€Š¾Š²Š½ŠµŠ¼ Гобычи", + "enchantment.twilightforest.fire_react": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ выпаГ", + "enchantment.twilightforest.fire_react.desc": "Š”Š¾Š±Š°Š²Š»ŃŠµŃ‚ шанс, что Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠøŠ¹ Š·Š°Š³Š¾Ń€ŠøŃ‚ŃŃ после ŃƒŠ“Š°Ń€Š° по Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŽ", + "entity.twilightforest.adherent": "АГепт", "entity.twilightforest.alpha_yeti": "ŠŠ»ŃŒŃ„Š°-йети", "entity.twilightforest.armored_giant": "Бронированный гигант", - "entity.twilightforest.bighorn_sheep": "Š Š¾Š³Š°Ń‚Š°Ń овца", - "entity.twilightforest.blockchain_goblin": "Гоблин-Ń€Ń‹Ń†Š°Ń€ŃŒ с булавой", - "entity.twilightforest.boar": "Кабан", - "entity.twilightforest.carminite_broodling": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ паук", - "entity.twilightforest.carminite_ghastguard": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ гаст-охранник", - "entity.twilightforest.carminite_ghastling": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ гастлинг", + "entity.twilightforest.bighorn_sheep": "Баран", + "entity.twilightforest.boar": "Š’ŠµŠæŃ€ŃŒ", + "entity.twilightforest.carminite_broodling": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń молоГь", + "entity.twilightforest.carminite_ghastguard": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ Š³Š°ŃŃ‚Š¾Ń…Ń€Š°Š½ŠøŃ‚ŠµŠ»ŃŒ", + "entity.twilightforest.carminite_ghastling": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ Š¼Š°Š»Ń‹Ńˆ-гаст", "entity.twilightforest.carminite_golem": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ голем", - "entity.twilightforest.chain_block": "Блок Šø Цепь", - "entity.twilightforest.charm_effect": "Эффект Š¾Ń‡Š°Ń€Š¾Š²Š°Š½ŠøŃ", + "entity.twilightforest.chain_block": "Цепной блок", + "entity.twilightforest.charm_effect": "Эффект Š°Š¼ŃƒŠ»ŠµŃ‚Š°", "entity.twilightforest.cube_of_annihilation": "Куб Š°Š½Š½ŠøŠ³ŠøŠ»ŃŃ†ŠøŠø", - "entity.twilightforest.death_tome": "Том смерти", + "entity.twilightforest.death_tome": "Книга смерти", "entity.twilightforest.deer": "ŠžŠ»ŠµŠ½ŃŒ", - "entity.twilightforest.dwarf_rabbit": "Š—Š°ŃŃ†", + "entity.twilightforest.dwarf_rabbit": "ŠšŠ°Ń€Š»ŠøŠŗŠ¾Š²Ń‹Š¹ кролик", "entity.twilightforest.falling_ice": "ŠŸŠ°Š“Š°ŃŽŃ‰ŠøŠ¹ лёГ", "entity.twilightforest.fire_beetle": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ жук", - "entity.twilightforest.giant_miner": "Гигант-ŃˆŠ°Ń…Ń‚Ń‘Ń€", + "entity.twilightforest.giant_miner": "Гигантский ŃˆŠ°Ń…Ń‚Ń‘Ń€", "entity.twilightforest.harbinger_cube": "Куб-преГвестник", "entity.twilightforest.hedge_spider": "Š˜Š·Š³Š¾Ń€Š¾Š“Š½Ń‹Š¹ паук", "entity.twilightforest.helmet_crab": "Шлемовый краб", - "entity.twilightforest.hostile_wolf": "ВражГебный волк", + "entity.twilightforest.hostile_wolf": "Агрессивный волк", "entity.twilightforest.hydra": "ГиГра", - "entity.twilightforest.hydra_mortar": "Раствор ГиГры", + "entity.twilightforest.hydra_mortar": "Š”Š½Š°Ń€ŃŠ“ гиГры", "entity.twilightforest.ice_arrow": "Š›ŠµŠ“ŃŠ½Š°Ń стрела", "entity.twilightforest.ice_crystal": "Š›ŠµŠ“ŃŠ½Š¾Š¹ кристалл", "entity.twilightforest.ice_snowball": "Š›ŠµŠ“ŃŠ½Š¾Š¹ снежок", - "entity.twilightforest.king_spider": "ŠšŠ¾Ń€Š¾Š»ŃŒ пауков", + "entity.twilightforest.king_spider": "ŠŸŠ°ŃƒŃ‡ŠøŠ¹ ŠŗŠ¾Ń€Š¾Š»ŃŒ", "entity.twilightforest.knight_phantom": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ Ń€Ń‹Ń†Š°Ń€Ń", "entity.twilightforest.kobold": "КобольГ", "entity.twilightforest.lich": "Лич", - "entity.twilightforest.lich_bolt": "УГар Лича", - "entity.twilightforest.lich_bomb": "Взрывной ŃƒŠ“Š°Ń€ Лича", - "entity.twilightforest.lich_minion": "ŠŸŃ€ŠøŃŠæŠµŃˆŠ½ŠøŠŗ лича", - "entity.twilightforest.lower_goblin_knight": "Гоблин-мечник", + "entity.twilightforest.lich_bolt": "Š”Š½Š°Ń€ŃŠ“ лича", + "entity.twilightforest.lich_bomb": "Взрывной ŃŠ½Š°Ń€ŃŠ“ лича", + "entity.twilightforest.lich_minion": "Миньон лича", + "entity.twilightforest.lower_goblin_knight": "ŠŠøŠ¶Š½ŠøŠ¹ гоблин-Ń€Ń‹Ń†Š°Ń€ŃŒ", "entity.twilightforest.loyal_zombie": "Верный зомби", "entity.twilightforest.magic_painting": "ŠœŠ°Š³ŠøŃ‡ŠµŃŠŗŠ°Ń картина", - "entity.twilightforest.maze_slime": "Длизень лабиринта", + "entity.twilightforest.maze_slime": "Лабиринтовый слизень", "entity.twilightforest.minoshroom": "Гриботавр", "entity.twilightforest.minotaur": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€", "entity.twilightforest.mist_wolf": "Š¢ŃƒŠ¼Š°Š½Š½Ń‹Š¹ волк", - "entity.twilightforest.moonworm_shot": "Š“ŃƒŃŠµŠ½ŠøŃ†Š°", - "entity.twilightforest.mosquito_swarm": "ŠœŠ¾ŃŠŗŠøŃ‚Š½Ń‹Š¹ рой", + "entity.twilightforest.moonworm_shot": "Š›ŃƒŠ½Š¾Ń‡ŠµŃ€Š²ŃŒ", + "entity.twilightforest.mosquito_swarm": "Рой комаров", "entity.twilightforest.naga": "ŠŠ°Š³Š°", - "entity.twilightforest.nature_bolt": "ŠŸŃ€ŠøŃ€Š¾Š“Š½Ń‹Š¹ ŃƒŠ“Š°Ń€", + "entity.twilightforest.nature_bolt": "Š”Š½Š°Ń€ŃŠ“ прироГы", "entity.twilightforest.penguin": "Пингвин", "entity.twilightforest.pinch_beetle": "Š–ŃƒŠŗ-рогач", - "entity.twilightforest.protection_box": "Защитный ŃŃ‰ŠøŠŗ ŠŸŃ€Š¾Š³Ń€ŠµŃŃŠ°", - "entity.twilightforest.quest_ram": "ŠšŠ²ŠµŃŃ‚Š¾Š²Ń‹Š¹ Баран", + "entity.twilightforest.protection_box": "ŠšŠ¾Ń€Š¾Š±ŠŗŠ° защиты прогресса", + "entity.twilightforest.quest_ram": "ŠšŠ²ŠµŃŃ‚Š¾Š²Ń‹Š¹ баран", "entity.twilightforest.raven": "Ворон", - "entity.twilightforest.redcap": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ колпак", - "entity.twilightforest.redcap_sapper": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ колпак-поГрывник", - "entity.twilightforest.rising_zombie": "Зомби", - "entity.twilightforest.roving_cube": "Š‘Š»ŃƒŠ¶Š“Š°ŃŽŃ‰ŠøŠ¹ куб", + "entity.twilightforest.redcap": "ŠšŃ€Š°ŃŠ½Š°Ń шапка", + "entity.twilightforest.redcap_sapper": "ŠšŃ€Š°ŃŠ½Š°Ń шапка-сапёр", + "entity.twilightforest.rising_zombie": "Š’Š¾ŃŃŃ‚Š°Š²ŃˆŠøŠ¹ зомби", + "entity.twilightforest.roving_cube": "Š”Ń‚Ń€Š°Š½ŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠ¹ куб", "entity.twilightforest.seeker_arrow": "Дтрела ŠøŃŠŗŠ°Ń‚ŠµŠ»Ń", "entity.twilightforest.skeleton_druid": "Дкелет-Š“Ń€ŃƒŠøŠ“", - "entity.twilightforest.slider": "Š”ŠŗŠ¾Š»ŃŒŠ·ŠŗŠ°Ń Š”Š²ŠøŠ¶ŃƒŃ‰Š°ŃŃŃ ловушка", - "entity.twilightforest.slime_beetle": "Длизневый жук", - "entity.twilightforest.slime_blob": "Š”Š»ŠøŠ·ŠøŃŃ‚Š°Ń ŠŗŠ»ŃŠŗŃŠ°", + "entity.twilightforest.slider": "Š”ŠŗŠ¾Š»ŃŒŠ·ŃŃ‰Š°Ń ловушка", + "entity.twilightforest.slime_beetle": "Длизевой жук", "entity.twilightforest.snow_guardian": "Днежный страж", "entity.twilightforest.snow_queen": "Š”Š½ŠµŠ¶Š½Š°Ń королева", "entity.twilightforest.squirrel": "Белка", "entity.twilightforest.stable_ice_core": "Š”Ń‚Š°Š±ŠøŠ»ŃŒŠ½Š¾Šµ Š»ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾", - "entity.twilightforest.swarm_spider": "Паук Ń€Š¾Ń", + "entity.twilightforest.swarm_spider": "Ройный паук", "entity.twilightforest.thrown_block": "Š‘Ń€Š¾ŃˆŠµŠ½Š½Ń‹Š¹ блок", - "entity.twilightforest.thrown_ice": "Š›ŠµŠ“ŃŠ½Š°Ń бомба", - "entity.twilightforest.thrown_wep": "ŠœŠµŃ‚Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Šµ Š¾Ń€ŃƒŠ¶ŠøŠµ", - "entity.twilightforest.tiny_bird": "ŠœŠ°Š»ŠµŠ½ŃŒŠŗŠ°Ń птица", - "entity.twilightforest.tome_bolt": "УГар Тома смерти", + "entity.twilightforest.tiny_bird": "ŠŸŃ‚ŠøŃ‡ŠŗŠ°", + "entity.twilightforest.tome_bolt": "Š”Š½Š°Ń€ŃŠ“ книги смерти", "entity.twilightforest.towerwood_borer": "Термит", - "entity.twilightforest.troll": "Š¢Ń€Š¾Š»Š»ŃŒ", + "entity.twilightforest.troll": "ŠŸŠµŃ‰ŠµŃ€Š½Ń‹Š¹ Ń‚Ń€Š¾Š»Š»ŃŒ", "entity.twilightforest.unstable_ice_core": "ŠŠµŃŃ‚Š°Š±ŠøŠ»ŃŒŠ½Š¾Šµ Š»ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾", - "entity.twilightforest.upper_goblin_knight": "Гоблин-копейщик", - "entity.twilightforest.ur_ghast": "Ур-гаст", - "entity.twilightforest.wand_bolt": "УГар ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ посоха", + "entity.twilightforest.upper_goblin_knight": "Верхний гоблин-Ń€Ń‹Ń†Š°Ń€ŃŒ", + "entity.twilightforest.ur_ghast": "Древний гаст", + "entity.twilightforest.wand_bolt": "Š—Š°Ń€ŃŠ“ ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ скипетра", "entity.twilightforest.winter_wolf": "Зимний волк", "entity.twilightforest.wraith": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ", "entity.twilightforest.yeti": "Йети", - "gamerule.tfEnforcedProgression": "Twilight Forest: ŠŸŃ€ŠøŠ½ŃƒŠ“ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Šµ ŠæŃ€Š¾Š³Ń€ŠµŃŃŠøŃ", + "gamerule.tfEnforcedProgression": "The Twilight Forest: ŠŸŃ€ŠøŠ½ŃƒŠ“ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Šµ проГвижение", "gamerule.tfEnforcedProgression.description": "ŠŠµŠŗŠ¾Ń‚Š¾Ń€Ń‹Šµ биомы Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ леса Š±ŃƒŠ“ŃƒŃ‚ заблокированы, пока вы не побеГите опреГеленных боссов в ŃŃ‚Š¾Š¼ измерении. (Š’Ń‹ можете ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ ŠæŠ¾Ń€ŃŠ“Š¾Šŗ прогресса в своих Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃŃ…)", "gui.twilightforest.crumble_horn_jei": "ŠžŃŃ‹ŠæŠ°ŃŽŃ‰ŠµŠ¹ŃŃ рог", "gui.twilightforest.optifine.message": "ŠŸŃ€ŠµŠ¶Š“Šµ чем ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ, обратите внимание, что OptiFine может Š²Ń‹Š·Ń‹Š²Š°Ń‚ŃŒ сбои, Š²ŠøŠ·ŃƒŠ°Š»ŃŒŠ½Ń‹Šµ ошибки Šø множество Š“Ń€ŃƒŠ³ŠøŃ… проблем.\n\nŠŸŃ€ŠµŠ¶Š“Šµ чем ŃŠ¾Š¾Š±Ń‰ŠøŃ‚ŃŒ об ошибке, сначала ŃƒŠ“Š°Š»ŠøŃ‚Šµ OptiFine Šø ŠæŃ€Š¾Š²ŠµŃ€ŃŒŃ‚Šµ, Š¾ŃŃ‚Š°Š»Š°ŃŃŒ ли проблема.\n\nŠŸŃ€Š¾Š±Š»ŠµŠ¼Ń‹, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Šµ с OptiFine, не Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ Ń€ŠµŃˆŠµŠ½Ń‹ со стороны разработчиков The Twilight Forest!\n\nЭтот ŃŠŗŃ€Š°Š½ можно Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ в настройках клиента.", @@ -885,42 +868,41 @@ "gui.twilightforest.progression_end.message": "ŠŠ° Ганный момент ŃŃ‚Š¾ конец прогресса. ПослеГний замок, Š¾Š¶ŠøŠ“Š°ŃŽŃ‰ŠøŠ¹ на плато, все еще не Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ Šø работа еще ŠæŃ€Š¾Š“Š¾Š»Š¶Š°ŠµŃ‚ŃŃ. Если вы хотите ŃŠ»ŠµŠ“ŠøŃ‚ŃŒ за развитием моГа, вы можете ŠæŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŃ‚ŃŒŃŃ Šŗ нашему %s.", "gui.twilightforest.transformation_jei": "ŠœŃƒŃ‚Š°Š³ŠµŠ½Š½Ń‹Š¹ ŠæŠ¾Ń€Š¾ŃˆŠ¾Šŗ", "gui.twilightforest.uncrafting_jei": "Разбирание", - "item.twilightforest.adherent_spawn_egg": "Яйцо призыва приверженца", + "item.twilightforest.adherent_spawn_egg": "Яйцо призыва аГепта", "item.twilightforest.alpha_yeti_banner_pattern": "Узор флага", - "item.twilightforest.alpha_yeti_banner_pattern.desc": "Лицо ŠŠ»ŃŒŃ„а-Йети", - "item.twilightforest.alpha_yeti_fur": "ŠœŠµŃ… ŠŠ»ŃŒŃ„Š°-йети", - "item.twilightforest.alpha_yeti_spawn_egg": "Яйцо призыва ŠŠ»ŃŒŃ„а-Йети", + "item.twilightforest.alpha_yeti_banner_pattern.desc": "Лицо Š°Š»ŃŒŃ„а-йети", + "item.twilightforest.alpha_yeti_fur": "ŠØŠµŃ€ŃŃ‚ŃŒ Š°Š»ŃŒŃ„Š°-йети", + "item.twilightforest.alpha_yeti_spawn_egg": "Яйцо призыва Š°Š»ŃŒŃ„а-йети", "item.twilightforest.arctic_armor.desc": "Можно ŠæŠ¾ŠŗŃ€Š°ŃŠøŃ‚ŃŒ", - "item.twilightforest.arctic_boots": "ŠœŠµŃ…Š¾Š²Ń‹Šµ ботинки", - "item.twilightforest.arctic_chestplate": "ŠœŠµŃ…Š¾Š²Š°Ń ŠŗŃƒŃ€Ń‚ŠŗŠ°", - "item.twilightforest.arctic_fur": "Арктический мех", - "item.twilightforest.arctic_helmet": "ŠœŠµŃ…Š¾Š²Š¾Š¹ ŠŗŠ°ŠæŃŽŃˆŠ¾Š½", - "item.twilightforest.arctic_leggings": "ŠœŠµŃ…Š¾Š²Ń‹Šµ ŃˆŃ‚Š°Š½Ń‹", - "item.twilightforest.armor_shard": "ŠžŃŠŗŠ¾Š»Š¾Šŗ рыцарского металла", - "item.twilightforest.armor_shard_cluster": "ŠžŃŠŗŠ¾Š»ŠŗŠø рыцарского металла", + "item.twilightforest.arctic_boots": "Арктические сапоги", + "item.twilightforest.arctic_chestplate": "ŠŃ€ŠŗŃ‚ŠøŃ‡ŠµŃŠŗŠ°Ń ŠŗŃƒŃ€Ń‚ŠŗŠ°", + "item.twilightforest.arctic_fur": "ŠŃ€ŠŗŃ‚ŠøŃ‡ŠµŃŠŗŠ°Ń ŃˆŠµŃ€ŃŃ‚ŃŒ", + "item.twilightforest.arctic_helmet": "Арктический ŠŗŠ°ŠæŃŽŃˆŠ¾Š½", + "item.twilightforest.arctic_leggings": "Арктические поножи", + "item.twilightforest.armor_shard": "ŠšŃƒŃŠ¾Ń‡ŠµŠŗ брони", + "item.twilightforest.armor_shard_cluster": "ŠšŃƒŃ‡Š° ŠŗŃƒŃŠ¾Ń‡ŠŗŠ¾Š² брони", "item.twilightforest.armored_giant_spawn_egg": "Яйцо призыва бронированного гиганта", - "item.twilightforest.bighorn_sheep_spawn_egg": "Яйцо призыва рогатой овцы", - "item.twilightforest.block_and_chain": "Блок цепей", - "item.twilightforest.blockchain_goblin_spawn_egg": "Яйцо призыва гоблина с Š¼Š¾Ń€Š³ŠµŠ½ŃˆŃ‚ŠµŃ€Š½Š¾Š¼", - "item.twilightforest.boar_spawn_egg": "Яйцо призыва кабана", - "item.twilightforest.boarkchop": "Дырое кабанье Š¼ŃŃŠ¾", - "item.twilightforest.borer_essence": "Š‘ŃƒŃ€Š¾Š²Š°Ń ŃŃŃŠµŠ½Ń†ŠøŃ", - "item.twilightforest.brittle_potion_flask": "Š„Ń€ŃƒŠæŠŗŠ°Ń колба с зельем", + "item.twilightforest.bighorn_sheep_spawn_egg": "Яйцо призыва барана", + "item.twilightforest.block_and_chain": "Цепной блок", + "item.twilightforest.boar_spawn_egg": "Яйцо призыва Š²ŠµŠæŃ€Ń", + "item.twilightforest.boarkchop": "Š”Ń‹Ń€Š°Ń кабанина", + "item.twilightforest.borer_essence": "Š”Ń€ŠµŠ²Š¾Ń‚Š¾Ń‡Š½Š°Ń ŃŃŃŠµŠ½Ń†ŠøŃ", + "item.twilightforest.brittle_potion_flask": "Š„Ń€ŃƒŠæŠŗŠ°Ń колба Š·ŠµŠ»ŃŒŃ", "item.twilightforest.canopy_boat": "Š”Š¾ŃŠ½Š¾Š²Š°Ń лоГка", "item.twilightforest.canopy_chest_boat": "Š”Š¾ŃŠ½Š¾Š²Š°Ń Š³Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка", "item.twilightforest.carminite": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚", - "item.twilightforest.carminite_broodling_spawn_egg": "Яйцо призыва карминитового вывоГка", - "item.twilightforest.carminite_ghastguard_spawn_egg": "Яйцо призыва карминитового гаста-охранника", - "item.twilightforest.carminite_ghastling_spawn_egg": "Яйцо призыва карминитового гастлинга", + "item.twilightforest.carminite_broodling_spawn_egg": "Яйцо призыва карминитовой молоГи", + "item.twilightforest.carminite_ghastguard_spawn_egg": "Яйцо призыва карминитового Š³Š°ŃŃ‚Š¾Ń…Ń€Š°Š½ŠøŃ‚ŠµŠ»Ń", + "item.twilightforest.carminite_ghastling_spawn_egg": "Яйцо призыва карминитового Š¼Š°Š»Ń‹ŃˆŠ°-гаста", "item.twilightforest.carminite_golem_spawn_egg": "Яйцо призыва карминитового голема", - "item.twilightforest.charm_of_keeping_1": "ŠŠ¼ŃƒŠ»ŠµŃ‚ ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń I", - "item.twilightforest.charm_of_keeping_2": "ŠŠ¼ŃƒŠ»ŠµŃ‚ ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń II", - "item.twilightforest.charm_of_keeping_3": "ŠŠ¼ŃƒŠ»ŠµŃ‚ ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń III", - "item.twilightforest.charm_of_life_1": "ŠŠ¼ŃƒŠ»ŠµŃ‚ жизни I", - "item.twilightforest.charm_of_life_2": "ŠŠ¼ŃƒŠ»ŠµŃ‚ жизни II", - "item.twilightforest.cooked_meef": "Дтейк ŠøŠ· минотавра", - "item.twilightforest.cooked_venison": "ŠžŠ»ŠµŠ½ŠøŠ¹ стейк", - "item.twilightforest.crumble_horn": "Рог", + "item.twilightforest.charm_of_keeping_1": "Талисман ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ I", + "item.twilightforest.charm_of_keeping_2": "Талисман ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ II", + "item.twilightforest.charm_of_keeping_3": "Талисман ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ III", + "item.twilightforest.charm_of_life_1": "Талисман жизни I", + "item.twilightforest.charm_of_life_2": "Талисман жизни II", + "item.twilightforest.cooked_meef": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ŃŃ‚ŠøŠ½Š°", + "item.twilightforest.cooked_venison": "ŠžŠ»ŠµŠ½ŠøŠ½Š°", + "item.twilightforest.crumble_horn": "Рог Ń€Š°Š·Ń€ŃƒŃˆŠµŠ½ŠøŃ", "item.twilightforest.cube_of_annihilation": "Куб Š°Š½Š½ŠøŠ³ŠøŠ»ŃŃ†ŠøŠø", "item.twilightforest.cube_talisman": "Талисман куба", "item.twilightforest.dark_boat": "ЛоГка ŠøŠ· тёмного Герева", @@ -928,13 +910,13 @@ "item.twilightforest.death_tome_spawn_egg": "Яйцо призыва книги смерти", "item.twilightforest.deer_spawn_egg": "Яйцо призыва Š¾Š»ŠµŠ½Ń", "item.twilightforest.diamond_minotaur_axe": "Алмазный топор минотавра", - "item.twilightforest.dwarf_rabbit_spawn_egg": "Яйцо призыва лесного кролика", + "item.twilightforest.dwarf_rabbit_spawn_egg": "Яйцо призыва карликового кролика", "item.twilightforest.emperors_cloth": "Ткань Š˜Š¼ŠæŠµŃ€Š°Ń‚Š¾Ń€Š°", "item.twilightforest.emperors_cloth.desc": "ŠžŠŗŃƒŃ‚Š°Š½Š½Ń‹Š¹", "item.twilightforest.ender_bow": "ЭнГер-лук", "item.twilightforest.fiery_armor.desc": "ŠŸŠ¾Š“Š¶ŠøŠ³Š°ŠµŃ‚ Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠµŠ³Š¾", "item.twilightforest.fiery_blood": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń ŠŗŃ€Š¾Š²ŃŒ", - "item.twilightforest.fiery_boots": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Šµ ботинки", + "item.twilightforest.fiery_boots": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Šµ сапоги", "item.twilightforest.fiery_chestplate": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ Š½Š°Š³Ń€ŃƒŠ“Š½ŠøŠŗ", "item.twilightforest.fiery_helmet": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ шлем", "item.twilightforest.fiery_ingot": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ слиток", @@ -944,13 +926,12 @@ "item.twilightforest.fiery_sword": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ меч", "item.twilightforest.fiery_sword.desc": "ŠŸŠ¾Š“Š¶ŠøŠ³Š°ŠµŃ‚ Ń†ŠµŠ»ŃŒ", "item.twilightforest.fiery_tears": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Šµ слёзы", - "item.twilightforest.filled_magic_map": "ŠœŠ°Š³ŠøŃ‡ŠµŃŠŗŠ°Ń карта", + "item.twilightforest.filled_magic_map": "Š’Š¾Š»ŃˆŠµŠ±Š½Š°Ń карта", "item.twilightforest.filled_maze_map": "ŠšŠ°Ń€Ń‚Š° лабиринта", - "item.twilightforest.filled_ore_map": "ŠšŠ°Ń€Ń‚Š° ŃˆŠ°Ń…Ń‚Ń‹", + "item.twilightforest.filled_ore_map": "ŠšŠ°Ń€Ń‚Š° лабиринта Šø Ń€ŃƒŠ“", "item.twilightforest.fire_beetle_spawn_egg": "Яйцо призыва огненного жука", - "item.twilightforest.flask.doses": "Дозы: %s/%s", "item.twilightforest.flask.no_refill": "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ ŠæŠ¾ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ", - "item.twilightforest.fortification_scepter": "ŠŸŠ¾ŃŠ¾Ń… Š¾Ń‚Ń€Š°Š¶ŠµŠ½ŠøŃ", + "item.twilightforest.fortification_scepter": "Дкипетр защиты", "item.twilightforest.giant_miner_spawn_egg": "Яйцо призыва гигантского ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", "item.twilightforest.giant_pickaxe": "Š“ŠøŠ³Š°Š½Ń‚ŃŠŗŠ°Ń кирка", "item.twilightforest.giant_pickaxe.desc": "Ломает гигантские блоки", @@ -958,87 +939,87 @@ "item.twilightforest.glass_sword": "Š”Ń‚ŠµŠŗŠ»ŃŠ½Š½Ń‹Š¹ меч", "item.twilightforest.glass_sword.desc": "Только в творческом режиме", "item.twilightforest.gold_minotaur_axe": "Золотой топор минотавра", - "item.twilightforest.greater_potion_flask": "Š‘Š¾Š»ŃŒŃˆŠ°Ń колба с зельем", + "item.twilightforest.greater_potion_flask": "Š‘Š¾Š»ŃŒŃˆŠ°Ń колба Š·ŠµŠ»ŃŒŃ", "item.twilightforest.harbinger_cube_spawn_egg": "Яйцо призыва куба-преГвестника", "item.twilightforest.hedge_spider_spawn_egg": "Яйцо призыва изгороГного паука", - "item.twilightforest.helmet_crab_spawn_egg": "Яйцо призыва бронированного краба", - "item.twilightforest.hostile_wolf_spawn_egg": "Яйцо призыва вражГебного волка", + "item.twilightforest.helmet_crab_spawn_egg": "Яйцо призыва шлемового краба", + "item.twilightforest.hostile_wolf_spawn_egg": "Яйцо призыва агрессивного волка", "item.twilightforest.hydra_banner_pattern": "Узор флага", - "item.twilightforest.hydra_banner_pattern.desc": "ŠŸŠ»Š°Š¼Ń ГиГры", + "item.twilightforest.hydra_banner_pattern.desc": "ŠŸŠ»Š°Š¼Ń гиГры", "item.twilightforest.hydra_chop": "ŠœŃŃŠ¾ гиГры", - "item.twilightforest.hydra_spawn_egg": "Яйцо призыва ГиГры", + "item.twilightforest.hydra_spawn_egg": "Яйцо призыва гиГры", "item.twilightforest.ice_bomb": "Š›ŠµŠ“ŃŠ½Š°Ń бомба", "item.twilightforest.ice_bow": "Š›ŠµŠ“ŃŠ½Š¾Š¹ лук", "item.twilightforest.ice_crystal_spawn_egg": "Яйцо призыва Š»ŠµŠ“ŃŠ½Š¾Š³Š¾ кристалла", "item.twilightforest.ice_sword": "Š›ŠµŠ“ŃŠ½Š¾Š¹ меч", - "item.twilightforest.ironwood_axe": "Топор ŠøŠ· железного Герева", - "item.twilightforest.ironwood_boots": "Ботинки ŠøŠ· железного Герева", - "item.twilightforest.ironwood_chestplate": "ŠŠ°Š³Ń€ŃƒŠ“Š½ŠøŠŗ ŠøŠ· железного Герева", - "item.twilightforest.ironwood_helmet": "Шлем ŠøŠ· железного Герева", - "item.twilightforest.ironwood_hoe": "ŠœŠ¾Ń‚Ń‹Š³Š° ŠøŠ· железного Герева", - "item.twilightforest.ironwood_ingot": "Длиток железного Герева", - "item.twilightforest.ironwood_leggings": "Поножи ŠøŠ· железного Герева", - "item.twilightforest.ironwood_pickaxe": "ŠšŠøŃ€ŠŗŠ° ŠøŠ· железного Герева", - "item.twilightforest.ironwood_shovel": "Лопата ŠøŠ· железного Герева", - "item.twilightforest.ironwood_sword": "ŠœŠµŃ‡ ŠøŠ· железного Герева", - "item.twilightforest.king_spider_spawn_egg": "Яйцо призыва ŠŗŠ¾Ń€Š¾Š»Ń пауков", + "item.twilightforest.ironwood_axe": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ топор", + "item.twilightforest.ironwood_boots": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Šµ сапоги", + "item.twilightforest.ironwood_chestplate": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ Š½Š°Š³Ń€ŃƒŠ“Š½ŠøŠŗ", + "item.twilightforest.ironwood_helmet": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ шлем", + "item.twilightforest.ironwood_hoe": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Š°Ń мотыга", + "item.twilightforest.ironwood_ingot": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ слиток", + "item.twilightforest.ironwood_leggings": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Šµ поножи", + "item.twilightforest.ironwood_pickaxe": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Š°Ń кирка", + "item.twilightforest.ironwood_shovel": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Š°Ń лопата", + "item.twilightforest.ironwood_sword": "Š–ŠµŠ»ŠµŠ·Š¾Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ меч", + "item.twilightforest.king_spider_spawn_egg": "Яйцо призыва ŠæŠ°ŃƒŃ‡ŃŒŠµŠ³Š¾ ŠŗŠ¾Ń€Š¾Š»Ń", "item.twilightforest.knight_phantom_banner_pattern": "Узор флага", "item.twilightforest.knight_phantom_banner_pattern.desc": "Рыцарский шлем", - "item.twilightforest.knight_phantom_spawn_egg": "Яйцо призыва Ń€Ń‹Ń†Š°Ń€Ń-фантома", - "item.twilightforest.knightmetal_axe": "Рыцарский топор", + "item.twilightforest.knight_phantom_spawn_egg": "Яйцо призыва призрака Ń€Ń‹Ń†Š°Ń€Ń", + "item.twilightforest.knightmetal_axe": "Рыцарометаллический топор", "item.twilightforest.knightmetal_axe.desc": "Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ ŃƒŃ€Š¾Š½ небронированным Ń†ŠµŠ»ŃŠ¼", - "item.twilightforest.knightmetal_boots": "Рыцарские ботинки", - "item.twilightforest.knightmetal_chestplate": "Рыцарский Š½Š°Š³Ń€ŃƒŠ“ник", - "item.twilightforest.knightmetal_helmet": "Рыцарский шлем", - "item.twilightforest.knightmetal_ingot": "Длиток рыцарского металла", - "item.twilightforest.knightmetal_leggings": "Рыцарские поножи", - "item.twilightforest.knightmetal_pickaxe": "Š Ń‹Ń†Š°Ń€ŃŠŗŠ°Ń кирка", + "item.twilightforest.knightmetal_boots": "Рыцарометаллические ботинки", + "item.twilightforest.knightmetal_chestplate": "Рыцарометаллический Š½Š°Š³Ń€ŃƒŠ“ник", + "item.twilightforest.knightmetal_helmet": "Рыцарометаллический шлем", + "item.twilightforest.knightmetal_ingot": "Рыцарометаллический слиток", + "item.twilightforest.knightmetal_leggings": "Рыцарометаллические поножи", + "item.twilightforest.knightmetal_pickaxe": "Š Ń‹Ń†Š°Ń€Š¾Š¼ŠµŃ‚Š°Š»Š»ŠøŃ‡ŠµŃŠŗŠ°Ń кирка", "item.twilightforest.knightmetal_pickaxe.desc": "Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ ŃƒŃ€Š¾Š½ по бронированным Ń†ŠµŠ»ŃŠ¼", - "item.twilightforest.knightmetal_ring": "ŠŸŠµŃ‚Š»Ń королевского металла", - "item.twilightforest.knightmetal_shield": "Рыцарский щит", - "item.twilightforest.knightmetal_sword": "Рыцарский меч", + "item.twilightforest.knightmetal_ring": "Рыцарометаллическое ŠŗŠ¾Š»ŃŒŃ†Š¾", + "item.twilightforest.knightmetal_shield": "Рыцарометаллический щит", + "item.twilightforest.knightmetal_sword": "Рыцарометаллический меч", "item.twilightforest.knightmetal_sword.desc": "Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ ŃƒŃ€Š¾Š½ по бронированным Ń†ŠµŠ»ŃŠ¼", "item.twilightforest.kobold_spawn_egg": "Яйцо призыва кобольГа", - "item.twilightforest.lamp_of_cinders": "Лампа Š¾Š³Š½Ń", + "item.twilightforest.lamp_of_cinders": "Лампа пепла", "item.twilightforest.lich_banner_pattern": "Узор флага", - "item.twilightforest.lich_banner_pattern.desc": "ŠšŠ¾Ń€Š¾Š½Š° Лича", - "item.twilightforest.lich_spawn_egg": "Яйцо призыва Лича", - "item.twilightforest.lifedrain_scepter": "ŠŸŠ¾ŃŠ¾Ń… ŠæŠ¾Š³Š»Š¾Ń‰ŠµŠ½ŠøŃ жизни", - "item.twilightforest.liveroot": "Š—Š°Š¼ŃˆŠµŠ»Ń‹Š¹ ŠŗŠ¾Ń€ŠµŠ½ŃŒ", - "item.twilightforest.lower_goblin_knight_spawn_egg": "Яйцо призыва гоблина-Ń€Ń‹Ń†Š°Ń€Ń", + "item.twilightforest.lich_banner_pattern.desc": "ŠšŠ¾Ń€Š¾Š½Š° лича", + "item.twilightforest.lich_spawn_egg": "Яйцо призыва лича", + "item.twilightforest.lifedrain_scepter": "Дкипетр ŠæŠ¾Ń…ŠøŃ‰ŠµŠ½ŠøŃ жизни", + "item.twilightforest.liveroot": "Живой ŠŗŠ¾Ń€ŠµŠ½ŃŒ", + "item.twilightforest.lower_goblin_knight_spawn_egg": "Яйцо призыва нижнего гоблина-Ń€Ń‹Ń†Š°Ń€Ń", "item.twilightforest.magic_beans": "Š’Š¾Š»ŃˆŠµŠ±Š½Ń‹Šµ бобы", - "item.twilightforest.magic_map": "ŠŸŃƒŃŃ‚Š°Ń Š¼Š°Š³ŠøŃ‡ŠµŃŠŗŠ°Ń карта", - "item.twilightforest.magic_map_focus": "Фокус магической карты", + "item.twilightforest.magic_map": "ŠŸŃƒŃŃ‚Š°Ń Š²Š¾Š»ŃˆŠµŠ±Š½Š°Ń карта", + "item.twilightforest.magic_map_focus": "Фокус Š“Š»Ń волшебной карты", "item.twilightforest.magic_painting": "ŠœŠ°Š³ŠøŃ‡ŠµŃŠŗŠ°Ń картина", "item.twilightforest.mangrove_boat": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń лоГка", "item.twilightforest.mangrove_chest_boat": "ŠœŠ°Š½Š³Ń€Š¾Š²Š°Ń Š³Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка", "item.twilightforest.maze_map": "ŠŸŃƒŃŃ‚Š°Ń карта лабиринта", - "item.twilightforest.maze_map_focus": "Фокус карты лабиринта", + "item.twilightforest.maze_map_focus": "Фокус Š“Š»Ń карты лабиринта", "item.twilightforest.maze_slime_spawn_egg": "Яйцо призыва ŃŠ»ŠøŠ·Š½Ń лабиринта", - "item.twilightforest.maze_wafer": "Вафли", + "item.twilightforest.maze_wafer": "Š’Š°Ń„Š»Ń лабиринта", "item.twilightforest.mazebreaker_pickaxe": "Š Š°Š·Ń€ŃƒŃˆŠøŃ‚ŠµŠ»ŃŒ лабиринтов", - "item.twilightforest.meef_stroganoff": "Дуп ŠøŠ· минотавра", + "item.twilightforest.meef_stroganoff": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ŃŃ‚ŠøŠ½Š° по-строгановски", "item.twilightforest.mining_boat": "ЛоГка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", "item.twilightforest.mining_chest_boat": "Š“Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка ŠøŠ· Герева ŃˆŠ°Ń…Ń‚Ń‘Ń€Š°", "item.twilightforest.minoshroom_banner_pattern": "Узор флага", - "item.twilightforest.minoshroom_banner_pattern.desc": "Топоры Гриботавра", + "item.twilightforest.minoshroom_banner_pattern.desc": "Декиры гриботавра", "item.twilightforest.minoshroom_spawn_egg": "Яйцо призыва гриботавра", "item.twilightforest.minotaur_axe.desc": "Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ ŃƒŃ€Š¾Š½ во Š²Ń€ŠµŠ¼Ń Š·Š°Ń€ŃŠ“ŠŗŠø", "item.twilightforest.minotaur_spawn_egg": "Яйцо призыва минотавра", - "item.twilightforest.mist_wolf_spawn_egg": "Яйцо призыва загаГочного волка", + "item.twilightforest.mist_wolf_spawn_egg": "Яйцо призыва Ń‚ŃƒŠ¼Š°Š½Š½Š¾Š³Š¾ волка", "item.twilightforest.moon_dial": "Š›ŃƒŠ½Š½Ń‹Š¹ циферблат", "item.twilightforest.moon_dial.phase_0": "Полнолуние", "item.twilightforest.moon_dial.phase_1": "Š£Š±Ń‹Š²Š°ŃŽŃ‰Š°Ń луна", - "item.twilightforest.moon_dial.phase_2": "Š¢Ń€ŠµŃ‚ŃŒŃ Ń‡ŠµŃ‚Š²ŠµŃ€Ń‚ŃŒ", - "item.twilightforest.moon_dial.phase_3": "Š£Š±Ń‹Š²Š°ŃŽŃ‰ŠøŠ¹ ŠæŠ¾Š»ŃƒŠ¼ŠµŃŃŃ†", - "item.twilightforest.moon_dial.phase_4": "ŠŠ¾Š²Š°Ń луна", - "item.twilightforest.moon_dial.phase_5": "Š Š°ŃŃ‚ŃƒŃ‰ŠøŠ¹ ŠæŠ¾Š»ŃƒŠ¼ŠµŃŃŃ†", + "item.twilightforest.moon_dial.phase_2": "ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŃŃ Ń‡ŠµŃ‚Š²ŠµŃ€Ń‚ŃŒ", + "item.twilightforest.moon_dial.phase_3": "Š”Ń‚Š°Ń€Š°Ń луна", + "item.twilightforest.moon_dial.phase_4": "ŠŠ¾Š²Š¾Š»ŃƒŠ½ŠøŠµ", + "item.twilightforest.moon_dial.phase_5": "ŠœŠ¾Š»Š¾Š“Š°Ń луна", "item.twilightforest.moon_dial.phase_6": "ŠŸŠµŃ€Š²Š°Ń Ń‡ŠµŃ‚Š²ŠµŃ€Ń‚ŃŒ", "item.twilightforest.moon_dial.phase_7": "ŠŸŃ€ŠøŠ±Ń‹Š²Š°ŃŽŃ‰Š°Ń луна", - "item.twilightforest.moon_dial.phase_unknown": "Фаза Š»ŃƒŠ½Ń‹ Š½ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½Š½Š°Ń", - "item.twilightforest.moon_dial.phase_unknown_fools": "404 луна не найГена", - "item.twilightforest.moonworm_queen": "ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š° Š³ŃƒŃŠµŠ½ŠøŃ†", - "item.twilightforest.mosquito_swarm_spawn_egg": "Яйцо призыва Ń€Š¾Ń москитов", + "item.twilightforest.moon_dial.phase_unknown": "Фаза Š»ŃƒŠ½Ń‹ не опреГелена", + "item.twilightforest.moon_dial.phase_unknown_fools": "404, луна не найГена", + "item.twilightforest.moonworm_queen": "ŠšŠ¾Ń€Š¾Š»ŠµŠ²Š° Š»ŃƒŠ½Š¾Ń‡ŠµŃ€Š²ŠµŠ¹", + "item.twilightforest.mosquito_swarm_spawn_egg": "Яйцо призыва комариного Ń€Š¾Ń", "item.twilightforest.music_disc_findings": "ŠŸŠ»Š°ŃŃ‚ŠøŠ½ŠŗŠ°", "item.twilightforest.music_disc_home": "ŠŸŠ»Š°ŃŃ‚ŠøŠ½ŠŗŠ°", "item.twilightforest.music_disc_maker": "ŠŸŠ»Š°ŃŃ‚ŠøŠ½ŠŗŠ°", @@ -1050,82 +1031,82 @@ "item.twilightforest.music_disc_wayfarer": "ŠŸŠ»Š°ŃŃ‚ŠøŠ½ŠŗŠ°", "item.twilightforest.naga_banner_pattern": "Узор флага", "item.twilightforest.naga_banner_pattern.desc": "Š§ŠµŃˆŃƒŃ наги", - "item.twilightforest.naga_chestplate": "ŠŠ°Š³Ń€ŃƒŠ“Š½ŠøŠŗ ŠøŠ· Ń‡ŠµŃˆŃƒŠø наги", + "item.twilightforest.naga_chestplate": "ŠšŃƒŃ€Ń‚ŠŗŠ° ŠøŠ· Ń‡ŠµŃˆŃƒŠø наги", "item.twilightforest.naga_leggings": "Поножи ŠøŠ· Ń‡ŠµŃˆŃƒŠø наги", "item.twilightforest.naga_scale": "Š§ŠµŃˆŃƒŃ наги", - "item.twilightforest.naga_spawn_egg": "Яйцо призыва ŠŠ°Š³Šø", + "item.twilightforest.naga_spawn_egg": "Яйцо призыва наги", "item.twilightforest.ore_magnet": "Š ŃƒŠ“Š½Ń‹Š¹ магнит", - "item.twilightforest.ore_map": "ŠŸŃƒŃŃ‚Š°Ń карта ŃˆŠ°Ń…Ń‚Ń‹", - "item.twilightforest.ore_meter": "ŠžŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŠµŠ»ŃŒ Ń€ŃƒŠ“ [WIP]", - "item.twilightforest.peacock_feather_fan": "ŠŸŠ°Š²Š»ŠøŠ½Ń‹Š¹ веер", + "item.twilightforest.ore_map": "ŠŸŃƒŃŃ‚Š°Ń карта лабиринта Šø Ń€ŃƒŠ“", + "item.twilightforest.ore_meter": "Š ŃƒŠ“Š¾Š¼ŠµŃ‚Ń€", + "item.twilightforest.peacock_feather_fan": "Веер ŠøŠ· ŠæŠ°Š²Š»ŠøŠ½ŃŒŠøŃ… ŠæŠµŃ€ŃŒŠµŠ²", "item.twilightforest.penguin_spawn_egg": "Яйцо призыва пингвина", "item.twilightforest.phantom_armor.desc": "ŠŠøŠŗŠ¾Š³Š“Š° не Ń‚ŠµŃ€ŃŠµŃ‚ŃŃ после смерти", - "item.twilightforest.phantom_chestplate": "ŠŠ°Š³Ń€ŃƒŠ“Š½ŠøŠŗ Фантома", - "item.twilightforest.phantom_helmet": "Шлем Фантома", + "item.twilightforest.phantom_chestplate": "ŠŸŃ€ŠøŠ·Ń€Š°Ń‡Š½Ń‹Š¹ Š½Š°Š³Ń€ŃƒŠ“Š½ŠøŠŗ", + "item.twilightforest.phantom_helmet": "ŠŸŃ€ŠøŠ·Ń€Š°Ń‡Š½Ń‹Š¹ шлем", "item.twilightforest.pinch_beetle_spawn_egg": "Яйцо призыва жука-рогача", "item.twilightforest.pocket_watch.desc": "ŠšŠ°Š¶ŠµŃ‚ŃŃ, они Š¾ŠæŠ°Š·Š“Ń‹Š²Š°ŃŽŃ‚", "item.twilightforest.quest_ram_banner_pattern": "Узор флага", - "item.twilightforest.quest_ram_banner_pattern.desc": "Вихри ŠšŠ²ŠµŃŃ‚ового Барана", - "item.twilightforest.quest_ram_spawn_egg": "Яйцо призыва Рама", - "item.twilightforest.raven_feather": "Š’Š¾Ń€Š¾Š½ŃŒŠµ перо", + "item.twilightforest.quest_ram_banner_pattern.desc": "Š‘Š°Ń€Š°Š½ŃŒŠø ŃƒŠ·Š¾Ń€Ń‹", + "item.twilightforest.quest_ram_spawn_egg": "Яйцо призыва квестового барана", + "item.twilightforest.raven_feather": "ŠŸŠµŃ€ŃŒŃ ворона", "item.twilightforest.raven_spawn_egg": "Яйцо призыва ворона", - "item.twilightforest.raw_ironwood": "Железное Герево", - "item.twilightforest.raw_meef": "ŠœŃŃŠ¾ минотавра", + "item.twilightforest.raw_ironwood": "Дырое железоГерево", + "item.twilightforest.raw_meef": "Š”Ń‹Ń€Š°Ń Š¼ŠøŠ½Š¾Ń‚Š°Š²Ń€ŃŃ‚ŠøŠ½Š°", "item.twilightforest.raw_venison": "Š”Ń‹Ń€Š°Ń оленина", - "item.twilightforest.redcap_sapper_spawn_egg": "Яйцо призыва красного колпака-поГрывника", - "item.twilightforest.redcap_spawn_egg": "Яйцо призыва красного колпака", + "item.twilightforest.redcap_sapper_spawn_egg": "Яйцо призыва красной шапки-сапёра", + "item.twilightforest.redcap_spawn_egg": "Яйцо призыва красной шапки", "item.twilightforest.scepter.desc": "ŠžŃŃ‚Š°Š»Š¾ŃŃŒ %s Š·Š°Ń€ŃŠ“Š¾Š²", "item.twilightforest.seeker_bow": "Š›ŃƒŠŗ ŠøŃŠŗŠ°Ń‚ŠµŠ»Ń", "item.twilightforest.skeleton_druid_spawn_egg": "Яйцо призыва скелета-Š“Ń€ŃƒŠøŠ“Š°", - "item.twilightforest.skull_candle.desc": "Š˜Š¼ŠµŠµŃ‚: %s %s свеча", - "item.twilightforest.skull_candle.desc.multiple": "Š˜Š¼ŠµŠµŃ‚: %s %s свечей", + "item.twilightforest.skull_candle.desc": "Š•ŃŃ‚ŃŒ: %s %s свеча", + "item.twilightforest.skull_candle.desc.multiple": "Š•ŃŃ‚ŃŒ: %s %s свечи", "item.twilightforest.slime_beetle_spawn_egg": "Яйцо призыва слизневого жука", "item.twilightforest.snow_guardian_spawn_egg": "Яйцо призыва снежного стража", "item.twilightforest.snow_queen_banner_pattern": "Узор флага", - "item.twilightforest.snow_queen_banner_pattern.desc": "Днежинка", + "item.twilightforest.snow_queen_banner_pattern.desc": "ŠšŠ¾Ń€Š¾Š½Š° снежной королевы", "item.twilightforest.snow_queen_spawn_egg": "Яйцо призыва снежной королевы", "item.twilightforest.sorting_boat": "ЛоГка ŠøŠ· Герева сортировки", "item.twilightforest.sorting_chest_boat": "Š“Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка ŠøŠ· Герева сортировки", "item.twilightforest.squirrel_spawn_egg": "Яйцо призыва белки", "item.twilightforest.stable_ice_core_spawn_egg": "Яйцо призыва ŃŃ‚Š°Š±ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Š»ŠµŠ“ŃŠ½Š¾Š³Š¾ ŃŠ“Ń€Š°", - "item.twilightforest.steeleaf_axe": "Топор ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_boots": "Ботинки ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_chestplate": "ŠŠ°Š³Ń€ŃƒŠ“Š½ŠøŠŗ ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_helmet": "Шлем ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_hoe": "ŠœŠ¾Ń‚Ń‹Š³Š° ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_ingot": "Š”Ń‚Š°Š»ŃŒŠ½Š¾Š¹ лист", - "item.twilightforest.steeleaf_leggings": "Поножи ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_pickaxe": "ŠšŠøŃ€ŠŗŠ° ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_shovel": "Лопата ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.steeleaf_sword": "ŠœŠµŃ‡ ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "item.twilightforest.swarm_spider_spawn_egg": "Яйцо призыва паука Ń€Š¾Ń", + "item.twilightforest.steeleaf_axe": "Топор ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_boots": "Дапоги ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_chestplate": "ŠŠ°Š³Ń€ŃƒŠ“Š½ŠøŠŗ ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_helmet": "Шлем ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_hoe": "ŠœŠ¾Ń‚Ń‹Š³Š° ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_ingot": "Длиток ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_leggings": "Поножи ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_pickaxe": "ŠšŠøŃ€ŠŗŠ° ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_shovel": "Лопата ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.steeleaf_sword": "ŠœŠµŃ‡ ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Š¾Š¹ листвы", + "item.twilightforest.swarm_spider_spawn_egg": "Яйцо призыва ройного паука", "item.twilightforest.time_boat": "ЛоГка ŠøŠ· Герева времени", "item.twilightforest.time_chest_boat": "Š“Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка ŠøŠ· Герева времени", - "item.twilightforest.tiny_bird_spawn_egg": "Яйцо призыва маленькой птички", - "item.twilightforest.torchberries": "Факелонт", - "item.twilightforest.tower_key": "ŠšŠ»ŃŽŃ‡ от башни", - "item.twilightforest.towerwood_borer_spawn_egg": "Яйцо призыва термитов", + "item.twilightforest.tiny_bird_spawn_egg": "Яйцо призыва птички", + "item.twilightforest.torchberries": "Š¤Š°ŠŗŠµŠ»Š¾ŃŠ³Š¾Š“Ń‹", + "item.twilightforest.tower_key": "Š‘Š°ŃˆŠµŠ½Š½Ń‹Š¹ ŠŗŠ»ŃŽŃ‡", + "item.twilightforest.towerwood_borer_spawn_egg": "Яйцо призыва термита", "item.twilightforest.transformation_boat": "ЛоГка ŠøŠ· трансформ. Герева", "item.twilightforest.transformation_chest_boat": "Š“Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка ŠøŠ· трансформ. Герева", - "item.twilightforest.transformation_powder": "ŠœŃƒŃ‚Š°Š³ŠµŠ½Š½Ń‹Š¹ ŠæŠ¾Ń€Š¾ŃˆŠ¾Šŗ", + "item.twilightforest.transformation_powder": "ŠŸŠ¾Ń€Š¾ŃˆŠ¾Šŗ превращений", "item.twilightforest.triple_bow": "Тройной лук", "item.twilightforest.troll_spawn_egg": "Яйцо призыва Ń‚Ń€Š¾Š»Š»Ń", "item.twilightforest.twilight_oak_boat": "ЛоГка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", "item.twilightforest.twilight_oak_chest_boat": "Š“Ń€ŃƒŠ·Š¾Š²Š°Ń лоГка ŠøŠ· ŃŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Š¾Š³Š¾ Губа", - "item.twilightforest.twilight_scepter": "Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ посох", - "item.twilightforest.unstable_ice_core_spawn_egg": "Яйцо призыва Š½ŠµŃŃ‚Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Š»ŠµŠ“ŃŠ½Š¾Š³Š¾ ŃŠ“Ń€Š°", + "item.twilightforest.twilight_scepter": "Дкипетр ŃŃƒŠ¼ŠµŃ€ŠµŠŗ", + "item.twilightforest.unstable_ice_core_spawn_egg": "Яйцо призыва Š½ŠµŃŃ‚Š°Š±ŠøŠ»ŃŒŠ½Š¾Š³Š¾ Š»ŠµŠ“ŃŠ½Š¾Š³Š¾ ŃŠ“Ń€Š°", "item.twilightforest.ur_ghast_banner_pattern": "Узор флага", - "item.twilightforest.ur_ghast_banner_pattern.desc": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ Š±Š¾Ń€Š“ŃŽŃ€", - "item.twilightforest.ur_ghast_spawn_egg": "Яйцо призыва Ур-Гаста", - "item.twilightforest.winter_wolf_spawn_egg": "Яйцо призыва ŠæŠ¾Š»ŃŃ€Š½Š¾Š³Š¾ волка", + "item.twilightforest.ur_ghast_banner_pattern.desc": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Š°Ń кайма", + "item.twilightforest.ur_ghast_spawn_egg": "Яйцо призыва Гревнего гаста", + "item.twilightforest.winter_wolf_spawn_egg": "Яйцо призыва зимнего волка", "item.twilightforest.wraith_spawn_egg": "Яйцо призыва призрака", "item.twilightforest.yeti_armor.desc": "Замораживает Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠøŃ…", "item.twilightforest.yeti_boots": "Ботинки йети", "item.twilightforest.yeti_chestplate": "ŠšŃƒŃ€Ń‚ŠŗŠ° йети", - "item.twilightforest.yeti_helmet": "Шапка йети", - "item.twilightforest.yeti_leggings": "Штаны йети", + "item.twilightforest.yeti_helmet": "Рогатый шлем йети", + "item.twilightforest.yeti_leggings": "Поножи йети", "item.twilightforest.yeti_spawn_egg": "Яйцо призыва йети", - "item.twilightforest.zombie_scepter": "ŠŸŠ¾ŃŠ¾Ń… нежити", + "item.twilightforest.zombie_scepter": "Дкипетр зомби", "itemGroup.twilightforest.blocks": "Twilight Forest: Блоки", "itemGroup.twilightforest.equipment": "Twilight Forest: Экипировка", "itemGroup.twilightforest.items": "Twilight Forest: ŠŸŃ€ŠµŠ“Š¼ŠµŃ‚Ń‹", @@ -1176,67 +1157,68 @@ "museumcurator.metallurgy.twilightforest.fiery": "ŠžŠ³Š½ŠµŠ½Š½Ń‹Š¹ металл", "museumcurator.metallurgy.twilightforest.ironwood": "Железное Герево", "museumcurator.metallurgy.twilightforest.knightmetal": "Рыцарский металл", - "stat.twilightforest.blocks_crumbled": "Блоков ŠæŠ¾ŠŗŃ€Š¾ŃˆŠµŠ½Š¾", - "stat.twilightforest.bugs_squished": "Š–ŃƒŠŗŠ¾Š² разГавлено", - "stat.twilightforest.e115_slices_eaten": "ДъеГено ломтиков «Эксперимента 115Ā»", - "stat.twilightforest.keeping_charms_activated": "ŠŠ¼ŃƒŠ»ŠµŃ‚Š¾Š² ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń использовано", - "stat.twilightforest.life_charms_activated": "ŠŠ¼ŃƒŠ»ŠµŃ‚Š¾Š² жизни использовано", - "stat.twilightforest.skull_candles_made": "ДозГаны черепы со свечой", - "stat.twilightforest.tf_shields_broken": "Š£ŠŗŃ€ŠµŠæŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… щитов сломано", - "stat.twilightforest.torchberries_harvested": "Добрано факелонтов", - "stat.twilightforest.trophy_pedestals_activated": "Трофейных ŠæŃŒŠµŠ“ŠµŃŃ‚Š°Š»Š¾Š² активировано", - "stat.twilightforest.uncrafting_table_interactions": "ВзаимоГействий с разборочным верстаком", - "structure.twilightforest.aurora_palace": "Дворец Авроры", + "stat.twilightforest.blocks_crumbled": "РазГроблено блоков", + "stat.twilightforest.bugs_squished": "Уничтожено насекомых", + "stat.twilightforest.e115_slices_eaten": "ДъеГено ломтей ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚Š° 115", + "stat.twilightforest.keeping_charms_activated": "Использовано талисманов ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ", + "stat.twilightforest.life_charms_activated": "Использовано талисманов жизни", + "stat.twilightforest.skull_candles_made": "ДозГано голов со свечами", + "stat.twilightforest.tf_shields_broken": "Š Š°Š·Ń€ŃƒŃˆŠµŠ½Š¾ ŠæŠ°Ń€ŃŃ‰ŠøŃ… щитов", + "stat.twilightforest.torchberries_harvested": "Добрано Ń„Š°ŠŗŠµŠ»Š¾ŃŠ³Š¾Š“", + "stat.twilightforest.trophy_pedestals_activated": "Активировано ŠæŃŒŠµŠ“есталов трофеев", + "stat.twilightforest.uncrafting_table_interactions": "ВзаимоГействий с разборочным столом", + "structure.twilightforest.aurora_palace": "Дворец авроры", "structure.twilightforest.dark_tower": "Š¢Ń‘Š¼Š½Š°Ń Š±Š°ŃˆŠ½Ń", - "structure.twilightforest.final_castle": "Š¤ŠøŠ½Š°Š»ŃŒŠ½Ń‹Š¹ замок в плато", - "structure.twilightforest.hedge_maze": "Лабиринт-Š˜Š·Š³Š¾Ń€Š¾Š“ŃŒ", - "structure.twilightforest.hydra_lair": "Логово ГиГры", - "structure.twilightforest.knight_stronghold": "Š Ń‹Ń†Š°Ń€ŃŠŗŠ°Ń ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ", - "structure.twilightforest.labyrinth": "Лабиринт ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€Š°", + "structure.twilightforest.final_castle": "Замок на конечном плато", + "structure.twilightforest.hedge_maze": "Лабиринт ŠøŠ· живой изгороГи", + "structure.twilightforest.hydra_lair": "Логово гиГры", + "structure.twilightforest.knight_stronghold": "ŠšŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ рыцарей", + "structure.twilightforest.labyrinth": "Лабиринт минотавра", "structure.twilightforest.large_hollow_hill": "Š‘Š¾Š»ŃŒŃˆŠ¾Š¹ полый холм", - "structure.twilightforest.lich_tower": "Š‘Š°ŃˆŠ½Ń Лича", + "structure.twilightforest.lich_tower": "Š‘Š°ŃˆŠ½Ń лича", "structure.twilightforest.medium_hollow_hill": "ДреГний полый холм", "structure.twilightforest.mushroom_tower": "Грибной замок", - "structure.twilightforest.naga_courtyard": "Двор ŠŠ°Š³Šø", + "structure.twilightforest.naga_courtyard": "Двор наги", "structure.twilightforest.quest_grove": "ŠšŠ²ŠµŃŃ‚Š¾Š²Š°Ń роща", - "structure.twilightforest.small_hollow_hill": "Маленький полый холм", - "structure.twilightforest.troll_cave": "ŠŸŠµŃ‰ŠµŃ€Š° Ń‚Ń€Š¾Š»Š»Ń", - "structure.twilightforest.yeti_cave": "ŠŸŠµŃ‰ŠµŃ€Š° Йети", - "subtitles.twilightforest.block.beanstalk.grow": "Š—ŠµŠ¼Š»Ń грохотает", + "structure.twilightforest.small_hollow_hill": "ŠœŠ°Š»Ń‹Š¹ полый холм", + "structure.twilightforest.troll_cave": "ŠŸŠµŃ‰ŠµŃ€Š° троллей", + "structure.twilightforest.yeti_cave": "ŠŸŠµŃ‰ŠµŃ€Š° йети", + "subtitles.twilightforest.block.beanstalk.grow": "Š—ŠµŠ¼Š»Ń Грожит", "subtitles.twilightforest.block.boss_chest.appear": "ŠŸŠ¾ŃŠ²Š»ŃŠµŃ‚ŃŃ сунГук босса", - "subtitles.twilightforest.block.bug.squish": "Š–ŃƒŠŗ Ń€Š°Š·Š“Š°Š²ŠøŠ»ŃŃ :(", - "subtitles.twilightforest.block.builder.create": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ созГаёт блок", - "subtitles.twilightforest.block.builder.off": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ Š“ŠµŠ°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.builder.on": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ Š°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.builder.replace": "ŠŸŠ¾ŃŃ‚Ń€Š¾ŠµŠ½Š½Ń‹Š¹ блок истек", - "subtitles.twilightforest.block.casket.close": "ŠØŠŗŠ°Ń‚ŃƒŠ»ŠŗŠ° Š·Š°ŠŗŃ€Ń‹Š²Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.casket.locked": "ŠØŠŗŠ°Ń‚ŃƒŠ»ŠŗŠ° щёлкает", - "subtitles.twilightforest.block.casket.open": "ŠØŠŗŠ°Ń‚ŃƒŠ»ŠŗŠ° Š¾Ń‚ŠŗŃ€Ń‹Š²Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.casket.repair": "ŠØŠŗŠ°Ń‚ŃƒŠ»ŠŗŠ° починена", + "subtitles.twilightforest.block.bug.squish": "Š–ŃƒŃ‡ŠŗŠ° разГавило :(", + "subtitles.twilightforest.block.builder.create": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ созГал блок", + "subtitles.twilightforest.block.builder.off": "Š’Ń‹ŠŗŠ»ŃŽŃ‡ŠøŠ»ŃŃ карминитовый ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ", + "subtitles.twilightforest.block.builder.on": "Š’ŠŗŠ»ŃŽŃ‡ŠøŠ»ŃŃ карминитовый ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ", + "subtitles.twilightforest.block.builder.replace": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ ŃŃ‚Ń€Š¾ŠøŃ‚ŠµŠ»ŃŒ заменил блок", + "subtitles.twilightforest.block.casket.close": "Š—Š°ŠŗŃ€Ń‹Š»ŃŃ ŃŃ‰ŠøŠŗ с останками ", + "subtitles.twilightforest.block.casket.locked": "Ящик с останками Ń‰Ń‘Š»ŠŗŠ½ŃƒŠ»", + "subtitles.twilightforest.block.casket.open": "ŠžŃ‚ŠŗŃ€Ń‹Š»ŃŃ ŃŃ‰ŠøŠŗ с останками", + "subtitles.twilightforest.block.casket.repair": "ŠŸŠ¾Ń‡ŠøŠ½ŠµŠ½ ŃŃ‰ŠøŠŗ с останками", "subtitles.twilightforest.block.cicada": "ЦикаГа стрекочет", - "subtitles.twilightforest.block.core.time": "Дерево Времени тикает", - "subtitles.twilightforest.block.core.transformation": "Дерево трансформации Š³ŃƒŠ“ŠøŃ‚", - "subtitles.twilightforest.block.door.activate": "Š”Š²ŠµŃ€ŃŒ замка щёлкает", - "subtitles.twilightforest.block.door.reappear": "Š”Š²ŠµŃ€ŃŒ замка снова ŠæŠ¾ŃŠ²Š»ŃŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.door.vanish": "Š”Š²ŠµŃ€ŃŒ замка исчезает", - "subtitles.twilightforest.block.ghast_trap.ambient": "Š›Š¾Š²ŃƒŃˆŠŗŠ° Š“Š»Ń гаста звенит", - "subtitles.twilightforest.block.ghast_trap.on": "Š›Š¾Š²ŃƒŃˆŠŗŠ° Š“Š»Ń гаста Š¶ŃƒŠ¶Š¶ŠøŃ‚", - "subtitles.twilightforest.block.ghast_trap.spindown": "Š›Š¾Š²ŃƒŃˆŠŗŠ° Š“Š»Ń гаста Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.ghast_trap.warmup": "Š›Š¾Š²ŃƒŃˆŠŗŠ° Š“Š»Ń гаста Ń€Š°Š·Š¾Š³Ń€ŠµŠ²Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.jet.active": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń струя вспыхивает", - "subtitles.twilightforest.block.jet.pop": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń струя Š±ŃƒŃ€Š»ŠøŃ‚", - "subtitles.twilightforest.block.jet.start": "ŠžŠ³Š½ŠµŠ½Š½Š°Ń струя Š°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠµŃ‚ŃŃ", + "subtitles.twilightforest.block.core.time": "Дерево времени тикает", + "subtitles.twilightforest.block.core.transformation": "Дерево превращений Š³ŃƒŠ“ŠøŃ‚", + "subtitles.twilightforest.block.door.activate": "Š—Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ Ń‰Ń‘Š»ŠŗŠ½ŃƒŠ»Š°", + "subtitles.twilightforest.block.door.reappear": "Š’ŠµŃ€Š½ŃƒŠ»Š°ŃŃŒ Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "subtitles.twilightforest.block.door.vanish": "Š˜ŃŃ‡ŠµŠ·Š½ŃƒŠ»Š° Š·Š°Š¼ŠŗŠ¾Š²Š°Ń Š“Š²ŠµŃ€ŃŒ", + "subtitles.twilightforest.block.generic.annihilation": "Блок Ń€Š°ŃŃ‚Š²Š¾Ń€ŠøŠ»ŃŃ", + "subtitles.twilightforest.block.ghast_trap.ambient": "Звон ловушки гаста", + "subtitles.twilightforest.block.ghast_trap.on": "Š“ŃƒŠ“ŠµŠ½ŠøŠµ ловушки гаста", + "subtitles.twilightforest.block.ghast_trap.spindown": "Š’Ń‹ŠŗŠ»ŃŽŃ‡ŠøŠ»Š°ŃŃŒ ловушка гаста", + "subtitles.twilightforest.block.ghast_trap.warmup": "Š›Š¾Š²ŃƒŃˆŠŗŠ° гаста Ń€Š°Š·Š¾Š³Ń€ŠµŠ²Š°ŠµŃ‚ŃŃ", + "subtitles.twilightforest.block.jet.active": "ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ сопло полыхает", + "subtitles.twilightforest.block.jet.pop": "ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ сопло Ń€Š°Š·Š³Š¾Ń€Š°ŠµŃ‚ŃŃ", + "subtitles.twilightforest.block.jet.start": "ŠŠŗŃ‚ŠøŠ²ŠøŃ€Š¾Š²Š°Š»Š¾ŃŃŒ огненное сопло", "subtitles.twilightforest.block.portal.whoosh": "ŠŸŠ¾Ń€Ń‚Š°Š» в Š”ŃƒŠ¼ŠµŃ€ŠµŃ‡Š½Ń‹Š¹ Лес манит", - "subtitles.twilightforest.block.reactor.ambient": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ реактор Š³ŃƒŠ“ŠøŃ‚", + "subtitles.twilightforest.block.reactor.ambient": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ реактор ŃˆŃƒŠ¼ŠøŃ‚", "subtitles.twilightforest.block.reappearing_block.reappear": "ŠŸŠ¾Š²Ń‚Š¾Ń€Š½Š¾Šµ ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŠµ Блока ŠæŠ¾ŃŠ²Š»ŃŠµŃ‚ŃŃ снова", "subtitles.twilightforest.block.reappearing_block.vanish": "Š’Š½Š¾Š²ŃŒ ŠæŠ¾ŃŠ²Š»ŃŃŽŃ‰ŠøŠ¹ŃŃ блок исчезает", "subtitles.twilightforest.block.slider.move": "Š”ŠŗŠ¾Š»ŃŒŠ·ŃŃ‰Š°Ń ловушка скрипит", - "subtitles.twilightforest.block.smoker.start": "ŠšŠ¾ŠæŃ‚ŠøŠ»ŃŒŠ½Ń Š°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.torchberry.harvest": "Š„Š»Š¾ŠæŠ½ŃƒŃ‚Š¾ факелонтов", + "subtitles.twilightforest.block.smoker.start": "ŠŠŗŃ‚ŠøŠ²ŠøŃ€Š¾Š²Š°Š»ŃŃ Гымогенератор", + "subtitles.twilightforest.block.torchberry.harvest": "Š¤Š°ŠŗŠµŠ»Š¾ŃŠ³Š¾Š“Š° Š»Š¾ŠæŠ°ŠµŃ‚ŃŃ", "subtitles.twilightforest.block.trophy_pedestal.activate": "Трофейный ŠæŃŒŠµŠ“естал принимает трофей", - "subtitles.twilightforest.block.vanish.locked": "Š”Š²ŠµŃ€ŃŒ тёмной башни щёлкает", - "subtitles.twilightforest.block.vanish.unlock": "Š”Š²ŠµŃ€ŃŒ тёмной башни Š¾Ń‚ŠŗŃ€Ń‹Š²Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.block.vanish.vanish": "Š˜ŃŃ‡ŠµŠ·Š°ŃŽŃ‰ŠøŠ¹ блок исчезает", + "subtitles.twilightforest.block.vanish.locked": "Š”Š²ŠµŃ€ŃŒ башни Ń‰Ń‘Š»ŠŗŠ½ŃƒŠ»Š°", + "subtitles.twilightforest.block.vanish.unlock": "Š Š°Š·Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Š»Š°ŃŃŒ Š“Š²ŠµŃ€ŃŒ башни", + "subtitles.twilightforest.block.vanish.vanish": "Š˜ŃŃ‡ŠµŠ· ŠøŃŃ‡ŠµŠ·Š°ŃŽŃ‰ŠøŠ¹ блок", "subtitles.twilightforest.block.wrought_iron_fence.extend": "Š›ŃŠ·Š³ железа", "subtitles.twilightforest.entity.alpha_yeti.alert": "ŠŠ»ŃŒŃ„Š°-Йети обращает внимание", "subtitles.twilightforest.entity.alpha_yeti.death": "ŠŠ»ŃŒŃ„Š°-Йети погибает", @@ -1253,9 +1235,9 @@ "subtitles.twilightforest.entity.blockchain_goblin.ambient": "Гоблин с Š¼Š¾Ń€Š³ŠµŠ½ŃˆŃ‚ŠµŃ€Š½Š¾Š¼ хихикает", "subtitles.twilightforest.entity.blockchain_goblin.death": "Гоблин с Š¼Š¾Ń€Š³ŠµŠ½ŃˆŃ‚ŠµŃ€Š½Š¾Š¼ погибает", "subtitles.twilightforest.entity.blockchain_goblin.hurt": "Гоблин с Š¼Š¾Ń€Š³ŠµŠ½ŃˆŃ‚ŠµŃ€Š½Š¾Š¼ визжит", - "subtitles.twilightforest.entity.boar.ambient": "Кабан Ń…Ń€ŃŽŠŗŠ°ŠµŃ‚", - "subtitles.twilightforest.entity.boar.death": "Кабан погибает", - "subtitles.twilightforest.entity.boar.hurt": "Кабан ранен", + "subtitles.twilightforest.entity.boar.ambient": "Š’ŠµŠæŃ€ŃŒ Ń…Ń€ŃŽŠŗŠ°ŠµŃ‚", + "subtitles.twilightforest.entity.boar.death": "Š’ŠµŠæŃ€ŃŒ погибает", + "subtitles.twilightforest.entity.boar.hurt": "Š’ŠµŠæŃ€ŃŒ ранен", "subtitles.twilightforest.entity.carminite_broodling.ambient": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ вывоГок ŃˆŠøŠæŠøŃ‚", "subtitles.twilightforest.entity.carminite_broodling.death": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ вывоГок погибает", "subtitles.twilightforest.entity.carminite_broodling.hurt": "ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚Š¾Š²Ń‹Š¹ вывоГок ранен", @@ -1297,16 +1279,17 @@ "subtitles.twilightforest.entity.hostile_wolf.death": "ВражГебный волк погибает", "subtitles.twilightforest.entity.hostile_wolf.hurt": "ВражГебный волк ранен", "subtitles.twilightforest.entity.hostile_wolf.target": "ВражГебный волк обращает внимание", - "subtitles.twilightforest.entity.hydra.death": "ГиГра ревет в поражении", + "subtitles.twilightforest.entity.hydra.death": "Š¤ŠøŠ½Š°Š»ŃŒŠ½Ń‹Š¹ рёв гиГры", "subtitles.twilightforest.entity.hydra.growl": "ГиГра рычит", - "subtitles.twilightforest.entity.hydra.hurt": "ГиГра поврежГена", + "subtitles.twilightforest.entity.hydra.hurt": "ГиГра ранена", "subtitles.twilightforest.entity.hydra.roar": "ГиГра ревёт", - "subtitles.twilightforest.entity.hydra.shoot": "ГиГра ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚", - "subtitles.twilightforest.entity.hydra.warn": "ГиГра ŠæŃ€ŠøŠ³Š¾Ń‚Š¾Š²ŠøŠ»Š°ŃŃŒ ŠŗŃƒŃŠ°Ń‚ŃŒ", + "subtitles.twilightforest.entity.hydra.shoot": "Плевок гиГры", + "subtitles.twilightforest.entity.hydra.shoot_fire": "ГиГра ŠæŠ»ŃŽŃ‘Ń‚ огнём", + "subtitles.twilightforest.entity.hydra.warn": "ГиГра Š³Š¾Ń‚Š¾Š²ŠøŃ‚ŃŃ Šŗ укусу", "subtitles.twilightforest.entity.ice.ambient": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ Ń…Ń€ŃƒŃŃ‚ŠøŃ‚", - "subtitles.twilightforest.entity.ice.death": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ погибает", + "subtitles.twilightforest.entity.ice.death": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ Ń€Š°ŃŃŃ‹ŠæŠ°ŠµŃ‚ŃŃ", "subtitles.twilightforest.entity.ice.hurt": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ поврежГено", - "subtitles.twilightforest.entity.ice.shoot": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚ снежками", + "subtitles.twilightforest.entity.ice.shoot": "Š›ŠµŠ“ŃŠ½Š¾Šµ ŃŠ“Ń€Š¾ выстреливает снежок", "subtitles.twilightforest.entity.king_spider.ambient": "ŠšŠ¾Ń€Š¾Š»ŃŒ пауков ŃˆŠøŠæŠøŃ‚", "subtitles.twilightforest.entity.king_spider.death": "ŠšŠ¾Ń€Š¾Š»ŃŒ пауков погибает", "subtitles.twilightforest.entity.king_spider.hurt": "ŠšŠ¾Ń€Š¾Š»ŃŒ пауков ранен", @@ -1316,12 +1299,13 @@ "subtitles.twilightforest.entity.kobold.ambient": "КобольГ ворчит", "subtitles.twilightforest.entity.kobold.death": "КобольГ погибает", "subtitles.twilightforest.entity.kobold.hurt": "КобольГ ранен", + "subtitles.twilightforest.entity.kobold.munch": "КобольГ грызёт еГу", "subtitles.twilightforest.entity.lich.ambient": "Лич Š“Ń‹ŃˆŠøŃ‚", "subtitles.twilightforest.entity.lich.death": "Лич погибает", "subtitles.twilightforest.entity.lich.hurt": "Лич ранен", - "subtitles.twilightforest.entity.lich.pop_mob": "Лич поглощает моба", - "subtitles.twilightforest.entity.lich.shoot": "Лич ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚", - "subtitles.twilightforest.entity.lich.teleport": "Лич Ń‚ŠµŠ»ŠµŠæŠ¾Ń€Ń‚ŠøŃ€ŃƒŠµŃ‚ŃŃ", + "subtitles.twilightforest.entity.lich.pop_mob": "Лич поглощает ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾", + "subtitles.twilightforest.entity.lich.shoot": "Выстрел лича", + "subtitles.twilightforest.entity.lich.teleport": "Лич Ń‚ŠµŠ»ŠµŠæŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š°Š»ŃŃ", "subtitles.twilightforest.entity.lich_clone.hurt": "Теневой клон Лича обхоГит Š°Ń‚Š°ŠŗŃƒ", "subtitles.twilightforest.entity.loyal_zombie.ambient": "Верный зомби стонет", "subtitles.twilightforest.entity.loyal_zombie.death": "Верный зомби погибает", @@ -1332,23 +1316,24 @@ "subtitles.twilightforest.entity.minion.ambient": "Миньон лича рычит", "subtitles.twilightforest.entity.minion.death": "Миньон лича погибает", "subtitles.twilightforest.entity.minion.hurt": "Миньон лича ранен", + "subtitles.twilightforest.entity.minion.summon": "Лич призывает миньона", "subtitles.twilightforest.entity.minoshroom.ambient": "Гриботавр мычит", "subtitles.twilightforest.entity.minoshroom.attack": "Гриботавр Š°Ń‚Š°ŠŗŃƒŠµŃ‚", "subtitles.twilightforest.entity.minoshroom.death": "Гриботавр погибает", "subtitles.twilightforest.entity.minoshroom.hurt": "Гриботавр ранен", - "subtitles.twilightforest.entity.minoshroom.slam": "Гриботавр ŃŃ‚ŃƒŃ‡ŠøŃ‚ по земле", - "subtitles.twilightforest.entity.minotaur.ambient": "ŠœŠøŠ½Š¾Ń‚Š¾Š²Ń€ мычит", - "subtitles.twilightforest.entity.minotaur.attack": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ Š°Ń‚Š°ŠŗŃƒŠµŃ‚", + "subtitles.twilightforest.entity.minoshroom.slam": "Гриботавр ŃƒŠ“Š°Ń€ŠøŠ» по земле", + "subtitles.twilightforest.entity.minotaur.ambient": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ мычит", + "subtitles.twilightforest.entity.minotaur.attack": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ Š³Š¾Ń‚Š¾Š²ŠøŃ‚ŃŃ Šŗ Ń€Ń‹Š²ŠŗŃƒ", "subtitles.twilightforest.entity.minotaur.death": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ погибает", "subtitles.twilightforest.entity.minotaur.hurt": "ŠœŠøŠ½Š¾Ń‚Š°Š²Ń€ ранен", "subtitles.twilightforest.entity.mist_wolf.ambient": "Š¢ŃƒŠ¼Š°Š½Š½Ń‹Š¹ волк рычит", "subtitles.twilightforest.entity.mist_wolf.death": "Š¢ŃƒŠ¼Š°Š½Š½Ń‹Š¹ волк погибает", "subtitles.twilightforest.entity.mist_wolf.hurt": "Š¢ŃƒŠ¼Š°Š½Š½Ń‹Š¹ волк ранен", "subtitles.twilightforest.entity.mist_wolf.target": "Š¢ŃƒŠ¼Š°Š½Š½Ń‹Š¹ волк обращает внимание", - "subtitles.twilightforest.entity.mosquito.ambient": "Š–ŃƒŠ¶Š¶Š°Š½ŠøŠµ москитов", + "subtitles.twilightforest.entity.mosquito.ambient": "ŠšŠ¾Š¼Š°Ń€Ń‹ Š¶ŃƒŠ¶Š¶Š°Ń‚", "subtitles.twilightforest.entity.naga.hiss": "ŠŠ°Š³Š° ŃˆŠøŠæŠøŃ‚", - "subtitles.twilightforest.entity.naga.hurt": "ŠŠ°Š³Š° поврежГена", - "subtitles.twilightforest.entity.naga.rattle": "ŠŠ°Š³Š° трещит", + "subtitles.twilightforest.entity.naga.hurt": "ŠŠ°Š³Š° ранена", + "subtitles.twilightforest.entity.naga.rattle": "ŠŠ°Š³Š° гремит", "subtitles.twilightforest.entity.parrot.imitate.alpha_yeti": "Попугай холоГно рычит как ŠŠ»ŃŒŃ„а-Йети", "subtitles.twilightforest.entity.parrot.imitate.carminite_golem": "Попугай гремит как ŠšŠ°Ń€Š¼ŠøŠ½ŠøŃ‚овый голем", "subtitles.twilightforest.entity.parrot.imitate.death_tome": "Попугай изГает книжные звуки", @@ -1366,11 +1351,11 @@ "subtitles.twilightforest.entity.quest_ram.ambient": "ŠšŠ²ŠµŃŃ‚Š¾Š²Ń‹Š¹ Баран блеет", "subtitles.twilightforest.entity.quest_ram.death": "ŠšŠ²ŠµŃŃ‚Š¾Š²Ń‹Š¹ Баран погибает", "subtitles.twilightforest.entity.quest_ram.hurt": "ŠšŠ²ŠµŃŃ‚Š¾Š²Ń‹Š¹ Баран ранен", - "subtitles.twilightforest.entity.raven.caw": "Ворона каркает", - "subtitles.twilightforest.entity.raven.squawk": "Ворон кричит от боли", - "subtitles.twilightforest.entity.redcap.ambient": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ колпак хихикает", - "subtitles.twilightforest.entity.redcap.death": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ колпак стонет в агонии", - "subtitles.twilightforest.entity.redcap.hurt": "ŠšŃ€Š°ŃŠ½Ń‹Š¹ колпак визжит от боли", + "subtitles.twilightforest.entity.raven.caw": "Ворон каркает", + "subtitles.twilightforest.entity.raven.squawk": "Ворон болезненно каркает", + "subtitles.twilightforest.entity.redcap.ambient": "ŠšŃ€Š°ŃŠ½Š°Ń шапка весело хихикает", + "subtitles.twilightforest.entity.redcap.death": "ŠšŃ€Š°ŃŠ½Š°Ń шапка ŃƒŠ¼ŠøŃ€Š°ŠµŃ‚ в Š¼ŃƒŠŗŠ°Ń…", + "subtitles.twilightforest.entity.redcap.hurt": "ŠšŃ€Š°ŃŠ½Š°Ń шапка кричит от боли", "subtitles.twilightforest.entity.skeleton_druid.ambient": "Дкелет-Š“Ń€ŃƒŠøŠ“ ŃŃ‚ŃƒŃ‡ŠøŃ‚ ŠŗŠ¾ŃŃ‚ŃŠ¼Šø", "subtitles.twilightforest.entity.skeleton_druid.death": "Дкелет-Š“Ń€ŃƒŠøŠ“ погибает", "subtitles.twilightforest.entity.skeleton_druid.hurt": "Дкелет-Š“Ń€ŃƒŠøŠ“ ранен", @@ -1389,10 +1374,12 @@ "subtitles.twilightforest.entity.swarm_spider.ambient": "Паук Ń€Š¾Ń ŃˆŠøŠæŠøŃ‚", "subtitles.twilightforest.entity.swarm_spider.death": "Паук Ń€Š¾Ń погибает", "subtitles.twilightforest.entity.swarm_spider.hurt": "Паук Ń€Š¾Ń ранен", + "subtitles.twilightforest.entity.tear.break": "Длеза Гревнего гаста Ń€Š°Š·Š±ŠøŠ²Š°ŠµŃ‚ŃŃ", "subtitles.twilightforest.entity.tiny_bird.takeoff": "ŠŸŃ‚ŠøŃ‡ŠŗŠ° взлетает", "subtitles.twilightforest.entity.towerwood_borer.ambient": "Термит ŃˆŠøŠæŠøŃ‚", "subtitles.twilightforest.entity.towerwood_borer.death": "Термит погибает", "subtitles.twilightforest.entity.towerwood_borer.hurt": "Термит ранен", + "subtitles.twilightforest.entity.troll.throw_rock": "Š¢Ń€Š¾Š»Š»ŃŒ Š¼ŠµŃ‚Š½ŃƒŠ» блок", "subtitles.twilightforest.entity.ur_ghast.ambient": "Ур-Гаст плачет", "subtitles.twilightforest.entity.ur_ghast.death": "Ур-Гаст погибает", "subtitles.twilightforest.entity.ur_ghast.hurt": "Ур-Гаст кричит", @@ -1403,10 +1390,10 @@ "subtitles.twilightforest.entity.winter_wolf.hurt": "Зимний волк ранен", "subtitles.twilightforest.entity.winter_wolf.shoot": "Зимний волк ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚", "subtitles.twilightforest.entity.winter_wolf.target": "Зимний волк обращает внимание", - "subtitles.twilightforest.entity.wraith.ambient": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ хрипит", + "subtitles.twilightforest.entity.wraith.ambient": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ ŠøŃŠæŃƒŃŠŗŠ°ŠµŃ‚ взГох", "subtitles.twilightforest.entity.wraith.death": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ погибает", "subtitles.twilightforest.entity.wraith.hurt": "ŠŸŃ€ŠøŠ·Ń€Š°Šŗ ранен", - "subtitles.twilightforest.entity.yeti.death": "Йети погибает", + "subtitles.twilightforest.entity.yeti.death": "Йети ŃƒŠ¼ŠøŃ€Š°ŠµŃ‚", "subtitles.twilightforest.entity.yeti.grab": "Йети хватает", "subtitles.twilightforest.entity.yeti.growl": "Йети рычит", "subtitles.twilightforest.entity.yeti.hurt": "Йети ранен", @@ -1414,20 +1401,20 @@ "subtitles.twilightforest.environment.acid_rain": "ŠšŠøŃŠ»Š¾Ń‚Š½Ń‹Š¹ ГожГь обжигает", "subtitles.twilightforest.item.block_and_chain.collide": "Блок Šø Цепь ŃƒŠ“Š°Ń€ŃŃŽŃ‚ по блоку", "subtitles.twilightforest.item.block_and_chain.hit": "Блок Šø Цепь ŠæŠ¾ŠæŠ°Š“Š°ŃŽŃ‚ в ŃŃƒŃ‰Š½Š¾ŃŃ‚ŃŒ", - "subtitles.twilightforest.item.charm.keep": "ŠŠ¼ŃƒŠ»ŠµŃ‚ ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń возвращает преГметы", - "subtitles.twilightforest.item.charm.life": "ŠŠ¼ŃƒŠ»ŠµŃ‚ ŠøŠ½Š²ŠµŠ½Ń‚Š°Ń€Ń Ń€ŠµŠ³ŠµŠ½ŠµŃ€ŠøŃ€ŃƒŠµŃ‚", + "subtitles.twilightforest.item.charm.keep": "Талисман ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ активирован", + "subtitles.twilightforest.item.charm.life": "Талисман жизни активирован", "subtitles.twilightforest.item.fan.whoosh": "ŠŸŠ°Š²Š»ŠøŠ½Ń‹Š¹ веер Š“ŃƒŠµŃ‚", - "subtitles.twilightforest.item.flask.break": "Š„Ń€ŃƒŠæŠŗŠ°Ń колба Ń€Š°Š·Š±ŠøŠ²Š°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.item.flask.crack": "Š„Ń€ŃƒŠæŠŗŠ°Ń колба Ń‚Ń€ŠµŃŠŗŠ°ŠµŃ‚ŃŃ", - "subtitles.twilightforest.item.flask.fill": "Колба с зельем Š½Š°ŠæŠ¾Š»Š½ŃŠµŃ‚ся", + "subtitles.twilightforest.item.flask.break": "Разбита Ń…Ń€ŃƒŠæŠŗŠ°Ń колба", + "subtitles.twilightforest.item.flask.crack": "Треск Ń…Ń€ŃƒŠæŠŗŠ¾Š¹ колбы", + "subtitles.twilightforest.item.flask.fill": "ŠŠ°ŠæŠ¾Š»Š½ŠµŠ½Š° колба", "subtitles.twilightforest.item.glass_sword.break": "Š”Ń‚ŠµŠŗŠ»ŃŠ½Š½Ń‹Š¹ меч Ń€Š°Š·Š»ŠµŃ‚Š°ŠµŃ‚ŃŃ вГребезги", "subtitles.twilightforest.item.ice_bomb.fired": "Š‘Ń€Š¾ŃˆŠµŠ½Š° Š»ŠµŠ“ŃŠ½Š°Ń бомба", "subtitles.twilightforest.item.knightmetal_armor.equip": "Š‘Ń€ŃŃ†Š°Š½ŃŒŠµ рыцарской брони", - "subtitles.twilightforest.item.knightmetal_shield.shatter": "ŠœŠµŃ‚Š°Š»Š»ŠøŃ‡ŠµŃŠŗŠøŠ¹ щит Ń€Š°Š·Š±ŠøŠ²Š°ŠµŃ‚ŃŃ вГребезги", - "subtitles.twilightforest.item.lamp.burn": "Лампа Š¾Š³Š½Ń поГжигает Ń‚ŠµŃ€Ń€ŠøŃ‚Š¾Ń€ŠøŃŽ", - "subtitles.twilightforest.item.magnet.grab": "Š ŃƒŠ“Š½Ń‹Š¹ магнит поГнимает Ń€ŃƒŠ“Ńƒ", - "subtitles.twilightforest.item.moonworm.squish": "Š“ŃƒŃŠµŠ½ŠøŃ†Š° ŃŃ‚Ń€ŠµŠ»ŃŠµŃ‚", - "subtitles.twilightforest.item.shield.shatter": "Š”ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ щит Ń€Š°Š·Š±ŠøŠ²Š°ŠµŃ‚ŃŃ вГребезги", + "subtitles.twilightforest.item.knightmetal_shield.shatter": "Дломан металлический щит ", + "subtitles.twilightforest.item.lamp.burn": "Лампа пепла Š²Š¾ŃŠæŠ»Š°Š¼ŠµŠ½ŃŠµŃ‚ Š¾Š±Š»Š°ŃŃ‚ŃŒ", + "subtitles.twilightforest.item.magnet.grab": "Š ŃƒŠ“Š½Ń‹Š¹ магнит ŠæŃ€ŠøŃ‚ŃŠ³ŠøŠ²Š°ŠµŃ‚ Ń€ŃƒŠ“Ńƒ", + "subtitles.twilightforest.item.moonworm.squish": "Выстрел Š»ŃƒŠ½Š¾Ń‡ŠµŃ€Š²Ń‘м", + "subtitles.twilightforest.item.shield.shatter": "Дломан Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Ń‹Š¹ щит", "subtitles.twilightforest.item.transformation_powder.use": "Моб Ń‚Ń€Š°Š½ŃŃ„Š¾Ń€Š¼ŠøŃ€ŃƒŠµŃ‚ŃŃ", "tag.item.twilightforest.arctic_fur": "Арктический мех", "tag.item.twilightforest.canopy_logs": "Досновые брёвна", @@ -1445,47 +1432,47 @@ "trim_material.twilightforest.knightmetal": "ŠœŠ°Ń‚ŠµŃ€ŠøŠ°Š» ŠøŠ· рыцарского металла", "trim_material.twilightforest.naga_scale": "ŠœŠ°Ń‚ŠµŃ€ŠøŠ°Š» ŠøŠ· Ń‡ŠµŃˆŃƒŠø наги", "trim_material.twilightforest.steeleaf": "ŠœŠ°Ń‚ŠµŃ€ŠøŠ°Š» ŠøŠ· ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š»ŠøŃŃ‚ŃŒŠµŠ²", - "twilightforest.book.author": "забытый ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»ŃŒ", + "twilightforest.book.author": "Забытый ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»ŃŒ", "twilightforest.book.darktower": "Записки о Š“ŠµŃ€ŠµŠ²ŃŠ½Š½Š¾Š¹ башне", - "twilightforest.book.darktower.1": "§8[[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, который, похоже, пережил взрыв]]§0\n\nŠ£ ŃŃ‚Š¾Š¹ башни ŃŠ²Š½Š¾ ŠµŃŃ‚ŃŒ механизмы, которые не Š¾Ń‚Š²ŠµŃ‡Š°ŃŽŃ‚ мне. Š˜Ń… Š¼Š°Š³ŠøŃ почти жажГет ŠæŃ€ŠøŠ·Š½Š°Ń‚ŃŒ мое прикосновение, но ŃŃ‚Š¾ невозможно. Это если ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š° башни", - "twilightforest.book.darktower.2": "ŠæŠ¾Š“Š°Š²Š»ŃŃŽŃ‚ŃŃ мощной Š³Ń€ŃƒŠæŠæŠ¾Š¹ ŃŃƒŃ‰ŠµŃŃ‚Š² поблизости.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠšŠ°Š¶ŠµŃ‚ŃŃ, что Š¼Š°Š³ŠøŃ исхоГит ŠøŠ· Š³Š»ŃƒŠ±ŠøŠ½Ń‹ близлежащих крепостей. ŠžŠ½ не может ŠøŃŃ…Š¾Š“ŠøŃ‚ŃŒ от гоблинов, так как ŠøŃ… Š¼Š°Š³ŠøŃ Š¾Ń‡Š°Ń€Š¾Š²Š°Ń‚ŠµŠ»ŃŒŠ½Š°, но не ŃŃ„Š¾ŠŗŃƒŃŠøŃ€Š¾Š²Š°Š½Š°. Там", - "twilightforest.book.darktower.3": "в ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŃ… еще Голжна Š±Ń‹Ń‚ŃŒ ŠŗŠ°ŠŗŠ°Ń-то сила.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nМой анализ показывает, что он исхоГит ŠøŠ· Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… источников, Š“ŠµŠ¹ŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… как Š³Ń€ŃƒŠæŠæŠ°. ŠÆ Š²ŠµŃ€Š½ŃƒŃŃŒ в ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ после ŠæŠ¾ŠæŠ¾Š»Š½ŠµŠ½ŠøŃ запасов...", - "twilightforest.book.hydralair": "Записки об огненном болоте", - "twilightforest.book.hydralair.1": "§8[[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, Š½Š°ŠæŠøŃŠ°Š½Š½Š°Ń на несгораемой бумаге]]§0\n\nŠžŠ³Š¾Š½ŃŒ — ŠæŃƒŃŃ‚ŃŠŗŠ¾Š²Š¾Šµ ŠæŃ€ŠµŠæŃŃ‚ŃŃ‚Š²ŠøŠµ Š“Š»Ń такого искусного ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, как я. ŠÆ пересекал огненные Š¼Š¾Ń€Ń Šø плавал через океаны лавы. Š“Š¾Ń€ŃŃ‰ŠøŠ¹ Š²Š¾Š·Š“ŃƒŃ… зГесь — интересный вариант, но", - "twilightforest.book.hydralair.2": "в конце концов, никаких ŠæŃ€ŠµŠæŃŃ‚ŃŃ‚Š²ŠøŠ¹.\n\nŠŠ¾ что Š¼ŠµŠ½Ń останавливает - так ŃŃ‚Š¾ то, что я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ с еще оГним защитным заклинанием, на ŃŃ‚Š¾Ń‚ раз Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠøŠ¼ Š¼Š¾Š³ŃƒŃ‡ŠµŠµ ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾, которое, Голжно Š±Ń‹Ń‚ŃŒ, ŃŠ²Š»ŃŠµŃ‚ŃŃ королем ŃŃ‚Š¾Š³Š¾ огненного болота. Это не первое защитное заклинание, с которым я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ, Šø я", - "twilightforest.book.hydralair.3": "начал Ń€Š°Š·Š³Š°Š“Ń‹Š²Š°Ń‚ŃŒ тайны того, как они Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‚.\n\nЕсли ŃŃ‚Š¾ заклинание похоже на Š“Ń€ŃƒŠ³ŠøŠµ, оно Š±ŃƒŠ“ет ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°Ń‚ŃŒŃŃ Š½Š°Ń…Š¾Š“ŃŃ‰ŠøŠ¼ŃŃ поблизости Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚венным ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š¼. ŠžŠ³Š½ŠµŠ½Š½Š¾Šµ болото Š¾ŠŗŃ€ŃƒŠ¶Š°ŠµŃ‚ несколько влажных болот, а поГ ŃŃ‚ŠøŠ¼Šø болотами Š½Š°Ń…Š¾Š“ŃŃ‚ŃŃ лабиринты, полные минотавров.", - "twilightforest.book.hydralair.4": "Логичным выбором Š“Š»Ń ŃŠ²ŃŠ·Ń‹Š²Š°Š½ŠøŃ такого Š·Š°ŠŗŠ»ŠøŠ½Š°Š½ŠøŃ был бы какой-нибуГь Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚Š²ŠµŠ½Š½Ń‹Š¹ минотавр, чем-то Š¾Ń‚Š»ŠøŃ‡Š°ŃŽŃ‰ŠøŠ¹ŃŃ от Š“Ń€ŃƒŠ³ŠøŃ…, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠøŃ… его...", - "twilightforest.book.icetower": "Записки об ŠŠ²Ń€Š¾Ń€Š°Š»ŃŒŠ½Š¾Š¼ ŃƒŠŗŃ€ŠµŠæŠ»ŠµŠ½ŠøŠø", - "twilightforest.book.icetower.1": "§8[[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŠ¾ŠŗŃ€Ń‹Ń‚Š°Ń льГом]]§0\n\nŠÆ преоГолел оГну Š¼ŠµŃ‚ŠµŠ»ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń того, чтобы Š½Š°Ń‚ŠŗŠ½ŃƒŃ‚ŃŒŃŃ на ŃƒŠ¶Š°ŃŠ½ŃƒŃŽ Š»ŠµŠ“ŃŠ½ŃƒŃŽ Š±ŃƒŃ€ŃŽ на Š²ŠµŃ€ŃˆŠøŠ½Šµ леГника. Мои ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ показали мне великолепие Š»ŠµŠ“ŃŠ½Š¾Š³Š¾ Гворца, ŃŠøŃŃŽŃ‰ŠµŠ³Š¾ цветами", - "twilightforest.book.icetower.2": "ŠæŠ¾Š»ŃŃ€Š½Š¾Š³Š¾ ŃŠøŃŠ½ŠøŃ. ŠšŠ°Š¶ŠµŃ‚ŃŃ, все ŃŃ‚Š¾ защищено каким-то ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ием.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠÆ не новичок. Это ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ие ŠæŠøŃ‚Š°ŠµŃ‚ŃŃ силой ŃŃƒŃ‰ŠµŃŃ‚Š²Š° поблизости. ŠŸŃ€ŠøŃ‡ŠøŠ½Š° ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŃ, Š¾ŠŗŃ€ŃƒŠ¶Š°Š²ŃˆŠµŠ³Š¾ огненное болото, была основана на силе", - "twilightforest.book.icetower.3": "лиГера минотавров поблизости.\n\nŠ’Š¾ŠŗŃ€ŃƒŠ³ ŃŃ‚Š¾Š³Š¾ леГника Š¾Š±ŠøŃ‚Š°ŃŽŃ‚ массы йети. Возможно, у йети ŠµŃŃ‚ŃŒ какой-то лиГер...", - "twilightforest.book.labyrinth": "Записки о болотистом лабиринте", - "twilightforest.book.labyrinth.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, Š½Š°ŠæŠøŃŠ°Š½Š½Š°Ń на воГонепроницаемой бумаге]]§0\n\nŠšŠ¾Š¼Š°Ń€Ń‹ в ŃŃ‚Š¾Š¼ болоте Š“Š¾ŃŠ°Š¶Š“Š°ŃŽŃ‚, но странно. Š‘Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚Š²Š¾ ŠøŠ· них не ŠøŠ¼ŠµŃŽŃ‚ естественного источника, Šø они не ŠŗŠ°Š¶ŃƒŃ‚ся Ń‡Š°ŃŃ‚ŃŒŃŽ местной ŃŠŗŠ¾Š»Š¾Š³ŠøŠø. ŠÆ начал ŠæŠ¾Š“Š¾Š·Ń€ŠµŠ²Š°Ń‚ŃŒ, что они ŃŠ²Š»ŃŃŽŃ‚ŃŃ", - "twilightforest.book.labyrinth.2": "какое-то магическое ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ие.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠ¢ŠµŠæŠµŃ€ŃŒ, когГа я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ с защитным заклинанием в Ń€Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Š¾Š¼ лабиринте, я ŃŃ‡ŠøŃ‚Š°ŃŽ, что мои ŠæŠ¾Š“Š¾Š·Ń€ŠµŠ½ŠøŃ ŠæŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŠ»ŠøŃŃŒ. И защитное заклинание, Šø комары ŃŠ²Š»ŃŃŽŃ‚ŃŃ", - "twilightforest.book.labyrinth.3": "ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŃŒŠµŠ¼. ŠŸŠ¾Ń…Š¾Š¶Šµ, ŃŃ‚Š¾ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ имеет Š“Ń€ŃƒŠ³Š¾Š¹ источник, чем Š“Ń€ŃƒŠ³ŠøŠµ, с которыми я ŃŃ‚Š°Š»ŠŗŠøŠ²Š°Š»ŃŃ. Мне ŠæŃ€ŠøŠ“ŠµŃ‚ŃŃ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŃŒ Гальше...\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ, похоже, слишком мощное, чтобы его мог ŃŠ¾Š·Š“Š°Ń‚ŃŒ оГин человек.", - "twilightforest.book.labyrinth.4": "ŠŸŠ¾Ń‚Ń€ŠµŠ±ŃƒŃŽŃ‚ŃŃ несколько волшебников, Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… вместе.\n\nЕсли оГин ŠøŠ· волшебников перестанет Š²Š½Š¾ŃŠøŃ‚ŃŒ свой вклаГ, то ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ие паГет на все болото. Как ни странно, мои ŠæŃ€ŠµŠ“ŃŠŗŠ°Š·Š°Š½ŠøŃ не ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‚ никаких признаков ŠæŃ€ŠøŃŃƒŃ‚ŃŃ‚Š²ŠøŃ поблизости живых волшебников.", - "twilightforest.book.labyrinth.5": "ŠžŠ“Š½Š°ŠŗŠ¾ я увиГел кое-что интересное в оГной ŠøŠ· близлежащих башен с остроконечной ŠŗŃ€Ń‹ŃˆŠµŠ¹...", - "twilightforest.book.lichtower": "Записки об остроконечной башне", - "twilightforest.book.lichtower.1": "§8[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, изглоГанный монстрами]§0\n\nŠÆ начал ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Ń€Š°Š½Š½ŃƒŃŽ Š°ŃƒŃ€Ńƒ, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŃƒŃŽ эту Š±Š°ŃˆŠ½ŃŽ. ŠšŠøŃ€ŠæŠøŃ‡Šø башни защищены ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµŠ¼, более ŃŠøŠ»ŃŒŠ½Ń‹Š¼, чем все, что я виГел Ń€Š°Š½ŃŒŃˆŠµ. ŠœŠ°Š³ŠøŃ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŃ Ń€Š°ŃŠæŃ€Š¾ŃŃ‚Ń€Š°Š½ŃŠµŃ‚ŃŃ по", - "twilightforest.book.lichtower.2": "Š¾ŠŗŃ€ŠµŃŃ‚Š½Š¾ŃŃ‚ŃŠ¼.\n\nŠŠ° роГине у Š¼ŠµŠ½Ń было бы много вариантов Š±Š¾Ń€ŃŒŠ±Ń‹ с ŃŃ‚Š¾Š¹ магией, но зГесь мои запасы ограничены. Мне ŠæŃ€ŠøŠ“ŠµŃ‚ŃŃ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŃŒ...", - "twilightforest.book.lichtower.3": "§8[[Много записей позже]]§0\n\nŠŸŃ€Š¾Ń€Ń‹Š²! Во Š²Ń€ŠµŠ¼Ń своих ŠæŃƒŃ‚ŠµŃˆŠµŃŃ‚Š²ŠøŠ¹ я увиГел огромного змеепоГобного монстра в ŃƒŠŗŃ€Š°ŃˆŠµŠ½Š½Š¾Š¼ Гворе. Š ŃŠ“Š¾Š¼ я поГобрал потертые, Š²Ń‹Š±Ń€Š¾ŃˆŠµŠ½Š½Ń‹Šµ зеленые Ń‡ŠµŃˆŃƒŠ¹ŠŗŠø.\n\nŠœŠ°Š³ŠøŃ в Ń‡ŠµŃˆŃƒŠµ, ŠŗŠ°Š¶ŠµŃ‚ŃŃ, облаГает свойствами Ń€Š°Š·Ń€ŃƒŃˆŠµŠ½ŠøŃ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠ¹,", - "twilightforest.book.lichtower.4": "которые мне Š½ŃƒŠ¶Š½Ń‹, но Š¼Š°Š³ŠøŃ слишком Ń‚ŃƒŃŠŗŠ»Š°Ń. Возможно, мне ŠæŃ€ŠøŠ“ŠµŃ‚ŃŃ приобрести более свежий ŃŠŗŠ·ŠµŠ¼ŠæŠ»ŃŃ€ непосреГственно у ŃŃ‚Š¾Š³Š¾ ŃŃƒŃ‰ŠµŃŃ‚Š²Š°.", + "twilightforest.book.darktower.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, похоже, ŠæŠµŃ€ŠµŠ¶ŠøŠ²ŃˆŠ°Ń взрыв]]§0\n\nЭта Š±Š°ŃˆŠ½Ń ŃŠ²Š½Š¾ имеет механизмы, которые не Ń€ŠµŠ°Š³ŠøŃ€ŃƒŃŽŃ‚ на Š¼ŠµŠ½Ń. Š˜Ń… Š¼Š°Š³ŠøŃ почти жажГет ŠæŃ€ŠøŠ·Š½Š°Ń‚ŃŒ моё прикосновение, но не может. Как если бы ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š° башни были поГавлены", + "twilightforest.book.darktower.2": "Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚Š²ŠµŠ½Š½Š¾Š¹ Š³Ń€ŃƒŠæŠæŠ¾Š¹ ŃŃƒŃ‰ŠµŃŃ‚Š² по ŃŠ¾ŃŠµŠ“ŃŃ‚Š²Ńƒ.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nЭта Š¼Š°Š³ŠøŃ, похоже, исхоГит ŠøŠ· глубин близлежащих крепостей. Это не может Š±Ń‹Ń‚ŃŒ Š¼Š°Š³ŠøŃ гоблинов, так как ŠøŃ… Š¼Š°Š³ŠøŃ очаровывает, но не ŃŃ„Š¾ŠŗŃƒŃŠøŃ€Š¾Š²Š°Š½Š°. Должна Š±Ń‹Ń‚ŃŒ ŠŗŠ°ŠŗŠ°Ń-то сила,", + "twilightforest.book.darktower.3": "всё ещё Š°ŠŗŃ‚ŠøŠ²Š½Š°Ń в ŃŃ‚ŠøŃ… ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŃ….\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nМой анализ показывает, что она исхоГит ŠøŠ· Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… источников, Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… вместе. ŠÆ Š²ŠµŃ€Š½ŃƒŃŃŒ в ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ после ŠæŠ¾ŠæŠ¾Š»Š½ŠµŠ½ŠøŃ запасов…", + "twilightforest.book.hydralair": "Записки об огненной болотине", + "twilightforest.book.hydralair.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, Š½Š°ŠæŠøŃŠ°Š½Š½Š°Ń на Š¾Š³Š½ŠµŃƒŠæŠ¾Ń€Š½Š¾Š¹ бумаге]]§0\n\nŠžŠ³Š¾Š½ŃŒ, Š“Š»Ń мастера-ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, как я, не ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Š»ŃŠµŃ‚ проблемы. ŠÆ пересекал Š¼Š¾Ń€Ń Š¾Š³Š½Ń Šø плавал в океанах лавы. Š“Š¾Ń€ŃŃ‰ŠøŠ¹ Š²Š¾Š·Š“ŃƒŃ… зГесь интересен, но", + "twilightforest.book.hydralair.2": "никак не Š¼ŠµŃˆŠ°ŠµŃ‚.\n\nЧто Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Š¼ŠµŠ½Ń останавливает, ŃŃ‚Š¾ очереГное охранное заклинание, на ŃŃ‚Š¾Ń‚ раз Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠµ Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚Š²ŠµŠ½Š½Š¾Šµ ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾, которое Голжно Š±Ń‹Ń‚ŃŒ королём ŃŃ‚Š¾Š¹ огненной болотины. Это не первое охранное заклинание, с которым я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ, Šø я", + "twilightforest.book.hydralair.3": "ŠæŠ¾Š“Ń…Š¾Š¶Ńƒ Šŗ разгаГке ŠøŃ… тайны.\n\nЕсли ŃŃ‚Š¾ заклинание похоже на Š“Ń€ŃƒŠ³ŠøŠµ, оно Š±ŃƒŠ“ет ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°Ń‚ŃŒŃŃ мощным ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š¼ поблизости. ŠžŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‚ Š¾Š³Š½ŠµŠ½Š½ŃƒŃŽ Š±Š¾Š»Š¾Ń‚ŠøŠ½Ńƒ влажные болота, а поГ ŃŃ‚ŠøŠ¼Šø болотами Š½Š°Ń…Š¾Š“ŃŃ‚ŃŃ лабиринты, полные минотавров.", + "twilightforest.book.hydralair.4": "Логично ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š¾Š¶ŠøŃ‚ŃŒ, что охранное заклинание ŠæŃ€ŠøŠ²ŃŠ¶ŃƒŃ‚ Šŗ ŃŠ²Š½Š¾ Š½ŠµŠ¾Ń€Š“ŠøŠ½Š°Ń€Š½Š¾Š¼Ńƒ Š¼ŠøŠ½Š¾Ń‚Š°Š²Ń€Ńƒā€¦", + "twilightforest.book.icetower": "Записки об ŃƒŠŗŃ€ŠµŠæŠ»ŠµŠ½ŠøŠø авроры", + "twilightforest.book.icetower.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŠ¾ŠŗŃ€Ń‹Ń‚Š°Ń льГом]]§0\n\nŠÆ преоГолел оГну Š¼ŠµŃ‚ŠµŠ»ŃŒ, Ń‚Š¾Š»ŃŒŠŗŠ¾ чтобы ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŃ‚ŃŒŃŃ с ŃŃ‚ŠøŠ¼ ŃƒŠ¶Š°ŃŠ½Ń‹Š¼ Š»ŠµŠ“ŃŠ½Ń‹Š¼ ŃˆŃ‚Š¾Ń€Š¼Š¾Š¼ на Š²ŠµŃ€ŃˆŠøŠ½Šµ леГника. Мои ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ привели Š¼ŠµŠ½Ń Šŗ великолепному Š»ŠµŠ“ŃŠ½Š¾Š¼Ńƒ Š“Š²Š¾Ń€Ń†Ńƒ, ŃŠ²ŠµŃ€ŠŗŠ°ŃŽŃ‰ŠµŠ¼Ńƒ цветами", + "twilightforest.book.icetower.2": "ŠæŠ¾Š»ŃŃ€Š½Š¾Š³Š¾ ŃŠøŃŠ½ŠøŃ. Š’ŃŃ ŃŃ‚Š° ŠŗŠ¾Š½ŃŃ‚Ń€ŃƒŠŗŃ†ŠøŃ, ŠŗŠ°Š¶ŠµŃ‚ŃŃ, защищена каким-то ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ием.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nЭто клише мне уже известно. ŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ ŠæŠ¾Š“ŠæŠøŃ‚Ń‹Š²Š°ŠµŃ‚ŃŃ силой ŃŃƒŃ‰ŠµŃŃ‚Š²Š°, Š½Š°Ń…Š¾Š“ŃŃ‰ŠµŠ³Š¾ŃŃ поблизости. ŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠµ огненное болото, ŃŃ‚Ń€Š¾ŠøŠ»Š¾ŃŃŒ на силе", + "twilightforest.book.icetower.3": "лиГера местных минотавров.\n\nŠžŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‚ ŃŃ‚Š¾Ń‚ леГник массы йети. Возможно, у йети ŠµŃŃ‚ŃŒ какой-то лиГер…", + "twilightforest.book.labyrinth": "Записки о болотном лабиринте", + "twilightforest.book.labyrinth.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, Š½Š°ŠæŠøŃŠ°Š½Š½Š°Ń на воГонепроницаемой бумаге]]§0\n\nŠšŠ¾Š¼Š°Ń€Ń‹ в ŃŃ‚Š¾Š¼ болоте Š“Š¾ŃŠ°Š¶Š“Š°ŃŽŃ‚, но странно. Š‘Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚Š²Š¾ ŠøŠ· них не ŠøŠ¼ŠµŃŽŃ‚ естественного источника, Šø они не ŠŗŠ°Š¶ŃƒŃ‚ся Ń‡Š°ŃŃ‚ŃŒŃŽ местной пищевой цепочки. ŠÆ ŠæŠ¾Š“Š¾Š·Ń€ŠµŠ²Š°ŃŽ, что они ŃŠ²Š»ŃŃŽŃ‚ŃŃ", + "twilightforest.book.labyrinth.2": "каким-то магическим ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ием.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠ¢ŠµŠæŠµŃ€ŃŒ, когГа я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ с защитным заклинанием на Ń€Š°Š·Ń€ŃƒŃˆŠµŠ½Š½Š¾Š¼ лабиринте зГесь, я ŃŃ‡ŠøŃ‚Š°ŃŽ свои ŠæŠ¾Š“Š¾Š·Ń€ŠµŠ½ŠøŃ поГтвержГенными. И защитное заклинание, Šø комары ŃŠ²Š»ŃŃŽŃ‚ŃŃ", + "twilightforest.book.labyrinth.3": "ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµŠ¼. ŠžŠ½Š¾, похоже, имеет Š“Ń€ŃƒŠ³Š¾Š¹ источник, чем те, с которыми я ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ ранее. Мне ŠæŃ€ŠøŠ“Ń‘Ń‚ŃŃ провести Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃā€¦\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ, ŠŗŠ°Š¶ŠµŃ‚ŃŃ, слишком мощное Š“Š»Ń оГного ŃŃƒŃ‰ŠµŃŃ‚Š²Š°.", + "twilightforest.book.labyrinth.4": "необхоГимо несколько магов, Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… вместе, чтобы его ŃŠ¾Š·Š“Š°Ń‚ŃŒ.\n\nЕсли оГин ŠøŠ· магов перестанет Š²Š½Š¾ŃŠøŃ‚ŃŒ свой вклаГ, всё ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ наГ всем болотом паГёт. Дтранно, но мои ŠæŃ€Š¾Ń€ŠøŃ†Š°Š½ŠøŃ не ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‚ признаков ŠæŃ€ŠøŃŃƒŃ‚ŃŃ‚Š²ŠøŃ живых магов поблизости.", + "twilightforest.book.labyrinth.5": "ŠŠ¾ я виГел что-то интересное в оГной ŠøŠ· близлежащих остроконечных Š±Š°ŃˆŠµŠ½ā€¦", + "twilightforest.book.lichtower": "Записки о башне с острым шпилем", + "twilightforest.book.lichtower.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŃ€Š¾Š³Ń€Ń‹Š·ŠµŠ½Š½Š°Ń монстрами]]§0\n\nŠÆ начал ŠøŠ·ŃƒŃ‡Š°Ń‚ŃŒ ŃŃ‚Ń€Š°Š½Š½ŃƒŃŽ Š°ŃƒŃ€Ńƒ, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŃƒŃŽ эту Š±Š°ŃˆŠ½ŃŽ. ŠšŠøŃ€ŠæŠøŃ‡Šø башни защищены ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµŠ¼, более ŃŠøŠ»ŃŒŠ½Ń‹Š¼, чем Š»ŃŽŠ±Š¾Šµ, что я виГел ранее. ŠœŠ°Š³ŠøŃ от ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŃ ŠøŃŠæŠ°Ń€ŃŠµŃ‚ŃŃ в", + "twilightforest.book.lichtower.2": "Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠµ пространство.\n\nŠŠ° моей роГной земле у Š¼ŠµŠ½Ń было бы много способов ŃŠæŃ€Š°Š²ŠøŃ‚ŃŒŃŃ с ŃŃ‚Š¾Š¹ магией, но зГесь мои Ń€ŠµŃŃƒŃ€ŃŃ‹ ограничены. Мне ŠæŃ€ŠøŠ“Ń‘Ń‚ŃŃ провести ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃā€¦", + "twilightforest.book.lichtower.3": "§8[[Много записей ŃŠæŃƒŃŃ‚Ń]]§0\n\nŠŸŃ€Š¾Ń€Ń‹Š²! Во Š²Ń€ŠµŠ¼Ń своих ŠæŃƒŃ‚ŠµŃˆŠµŃŃ‚Š²ŠøŠ¹ я заметил огромного змеепоГобного монстра в ŃƒŠŗŃ€Š°ŃˆŠµŠ½Š½Š¾Š¼ Š“Š²Š¾Ń€Ńƒ. ŠŸŠ¾Š±Š»ŠøŠ·Š¾ŃŃ‚Šø я Š½Š°ŃˆŃ‘Š» ŠøŠ·Š½Š¾ŃˆŠµŠ½Š½ŃƒŃŽ, ŃŠ±Ń€Š¾ŃˆŠµŠ½Š½ŃƒŃŽ Š·ŠµŠ»Ń‘Š½ŃƒŃŽ Ń‡ŠµŃˆŃƒŃŽ.\n\nŠœŠ°Š³ŠøŃ в Ń‡ŠµŃˆŃƒŠµ, ŠŗŠ°Š¶ŠµŃ‚ŃŃ, имеет свойства, Ń€Š°Š·Ń€ŃƒŃˆŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š“Š»Ń ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠ¹,", + "twilightforest.book.lichtower.4": "которые мне Š½ŃƒŠ¶Š½Ń‹, но Š¼Š°Š³ŠøŃ слишком Ń‚ŃƒŃŠŗŠ»Š°Ń. Возможно, мне нужно Š±ŃƒŠ“ет Š“Š¾Š±Ń‹Ń‚ŃŒ свежий образец ŠæŃ€ŃŠ¼Š¾ от самого ŃŃƒŃ‰ŠµŃŃ‚Š²Š°.", "twilightforest.book.tfstronghold": "Записки о крепости", "twilightforest.book.tfstronghold.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, Š½Š°ŠæŠøŃŠ°Š½Š½Š°Ń на слегка ŃŠ²ŠµŃ‚ŃŃ‰ŠµŠ¹ŃŃ бумаге]]§0\n\nТёмные Ń‰ŃƒŠæŠ°Š»ŃŒŃ†Š°, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠøŠµ эту Š¾Š±Š»Š°ŃŃ‚ŃŒ, ŃŠ²Š»ŃŃŽŃ‚ŃŃ лишь ŠæŃ€Š¾ŃŠ²Š»ŠµŠ½ŠøŠµŠ¼ защитного Š·Š°ŠŗŠ»ŠøŠ½Š°Š½ŠøŃ наГ всем тёмным лесом. Заклинание вызывает ŃŠ»ŠµŠæŠ¾Ń‚Ńƒ, что весьма разГражает. ŠÆ заметил несколько", - "twilightforest.book.tfstronghold.2": "интересных вещей в ŃŃ‚Š¾Š¼ районе Šø хотел бы ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠÆ Š½Š°ŃˆŃ‘Š» Ń€ŃƒŠøŠ½Ń‹ в тёмном лесу. ŠžŠ½Šø принаГлежат крепости, по которой обычно Ń€Š°ŃŃ…Š°Š¶ŠøŠ²Š°ŃŽŃ‚ŃŃ рыцари. ŠŠ¾ вместо рыцарей, ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ полна", + "twilightforest.book.tfstronghold.2": "интересных вещей в ŃŃ‚Š¾Š¼ районе Šø хотел бы ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠÆ Š½Š°ŃˆŃ‘Š» Ń€ŃƒŠøŠ½Ń‹ в тёмном лесу. ŠžŠ½Šø принаГлежат крепости, Š¾ŠæŠ»Š¾Ń‚Ńƒ рыцарей. ŠŠ¾ вместо рыцарей, ŠŗŃ€ŠµŠæŠ¾ŃŃ‚ŃŒ полна", "twilightforest.book.tfstronghold.3": "гоблинов. ŠžŠ½Šø Š½Š¾ŃŃŃ‚ Ń€Ń‹Ń†Š°Ń€ŃŠŗŃƒŃŽ Š±Ń€Š¾Š½ŃŽ, но ŠøŃ… повеГение Галеко от рыцарского.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠ’ глубине Ń€ŃƒŠøŠ½ я Š½Š°ŃˆŃ‘Š» ŠæŃŒŠµŠ“ŠµŃŃ‚Š°Š». ŠŸŃŒŠµŠ“ŠµŃŃ‚Š°Š», ŠŗŠ°Š¶ŠµŃ‚ŃŃ, того типа, на который рыцари ставили трофеи, чтобы Š“Š¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŃŠ²Š¾ŃŽ силу.", - "twilightforest.book.tfstronghold.4": "ŠŸŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ мощного скипетра, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, ослабит ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ на тёмном лесу, а размещение Ń‚Ń€Š¾Ń„ŠµŃ, ŃŠ²ŃŠ·Š°Š½Š½Š¾Š³Š¾ с Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚Š²ŠµŠ½Š½Ń‹Š¼ ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š¼, на ŠæŃŒŠµŠ“естале, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, откроет Š“Š¾ŃŃ‚ŃƒŠæ Šŗ основной части крепости.", - "twilightforest.book.trollcave": "Записки о Š½Š°Š³Š¾Ń€ŃŒŃŃ…", - "twilightforest.book.trollcave.1": "§8[[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŠ¾Š²Ń€ŠµŠ¶Š“ŠµŠ½Š½Š°Ń кислотой]]§0\n\nŠšŠ°Š¶ŠµŃ‚ŃŃ, нет никакого способа Š·Š°Ń‰ŠøŃ‚ŠøŃ‚ŃŒ ŃŠµŠ±Ń от ŃŠ“Š¾Š²ŠøŃ‚Š¾Š³Š¾ Š»ŠøŠ²Š½Ń, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠ³Š¾ эту Š¼ŠµŃŃ‚Š½Š¾ŃŃ‚ŃŒ. Во Š²Ń€ŠµŠ¼Ń своих кратких ŃŠŗŃŠŗŃƒŃ€ŃŠøŠ¹ я также ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ с Š“Ń€ŃƒŠ³ŠøŠ¼ защитным заклинанием, похожим на те, свиГетелем", - "twilightforest.book.trollcave.2": "в котором я был. Заклинание Голжно Š±Ń‹Ń‚ŃŒ каким-то образом ŃŠ²ŃŠ·Š°Š½Š¾ с ŃŠ“Š¾Š²ŠøŃ‚Ń‹Š¼ ŃˆŃ‚Š¾Ń€Š¼Š¾Š¼. Š”Š°Š»ŃŒŠ½ŠµŠ¹ŃˆŠøŠµ ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ ŠæŠ¾ŃŠ»ŠµŠ“ŃƒŃŽŃ‚...\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠ¢Š°ŠŗŠ°Ń Š²Ń‹ŃŃˆŠ°Ń Š¼Š°Š³ŠøŃ погоГы, Голжно Š±Ń‹Ń‚ŃŒ, ŃŠ²Š»ŃŠµŃ‚ŃŃ Ń€ŠµŠ·ŃƒŠ»ŃŒŃ‚Š°Ń‚Š¾Š¼ множества непобеГимых великих зол в ŃŃ‚Š¾Š¼ мире. Мои ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ соГержат", - "twilightforest.book.trollcave.3": "несколько поГсказок, ŃƒŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‰ŠøŃ… на раскалённое болото, лес, покрытый глубокой Ń‚ŃŒŠ¼Š¾Š¹, Šø царство, покрытое снегом.", + "twilightforest.book.tfstronghold.4": "ŠŸŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ мощного скипетра, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, ослабит ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ на тёмном лесу, а размещение Ń‚Ń€Š¾Ń„ŠµŃ, ŃŠ²ŃŠ·Š°Š½Š½Š¾Š³Š¾ с Š¼Š¾Š³ŃƒŃ‰ŠµŃŃ‚Š²ŠµŠ½Š½Ń‹Š¼ ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š¼, на ŠæŃŒŠµŠ“естале, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, откроет Š“Š¾ŃŃ‚ŃƒŠæ", + "twilightforest.book.trollcave": "Записки о Š²Ń‹ŃŠ¾ŠŗŠ¾Š³Š¾Ń€ŃŒŃŃ…", + "twilightforest.book.trollcave.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŠ¾Š²Ń€ŠµŠ¶Š“ŠµŠ½Š½Š°Ń кислотой]]§0\n\nŠšŠ°Š¶ŠµŃ‚ŃŃ, нет способа Š·Š°Ń‰ŠøŃ‚ŠøŃ‚ŃŒ ŃŠµŠ±Ń от токсического Š“Š¾Š¶Š“Ń, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠ³Š¾ эту Š¾Š±Š»Š°ŃŃ‚ŃŒ. За Š²Ń€ŠµŠ¼Ń коротких вылазок я также ŃŃ‚Š¾Š»ŠŗŠ½ŃƒŠ»ŃŃ с ещё оГним защитным заклинанием, похожим на Š“Ń€ŃƒŠ³ŠøŠµ, которые я", + "twilightforest.book.trollcave.2": "Š½Š°Š±Š»ŃŽŠ“Š°Š». Заклинание Голжно Š±Ń‹Ń‚ŃŒ как-то ŃŠ²ŃŠ·Š°Š½Š¾ с токсичной Š±ŃƒŃ€ŠµŠ¹. Š˜ŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ ŠæŃ€Š¾Š“Š¾Š»Š¶Š°ŃŽŃ‚ŃŃā€¦\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠ¢Š°ŠŗŠ°Ń ŃŠøŠ»ŃŒŠ½Š°Ń ŠæŠ¾Š³Š¾Š“Š½Š°Ń Š¼Š°Š³ŠøŃ Голжна Š±Ń‹Ń‚ŃŒ Ń€ŠµŠ·ŃƒŠ»ŃŒŃ‚Š°Ń‚Š¾Š¼ Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… непобежГённых великих ŃŠ»ŃƒŠ¶ŠøŃ‚ŠµŠ»ŠµŠ¹ зла ŃŃ‚Š¾Š³Š¾ мира. Мои ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Š½ŠøŃ соГержат", + "twilightforest.book.trollcave.3": "ŠŠµŃŠŗŠ¾Š»ŃŒŠŗŠ¾ указаний на Š¾Š³Š½ŠµŠ½Š½ŃƒŃŽ Š±Š¾Š»Š¾Ń‚ŠøŠ½Ńƒ, лес, покрытый глубоким мраком, Šø край, покрытый снегом.", "twilightforest.book.unknown": "Записки о Š½ŠµŠ¾Š±ŃŠŃŃŠ½ŠøŠ¼Š¾Š¼", - "twilightforest.book.unknown.1": "§8[[Эта книга Š²Ń‹Š³Š»ŃŠ“ŠøŃ‚ так, словно была многократно переписана]]§0\n\nŠÆ не могу Š¾Š±ŃŠŃŃŠ½ŠøŃ‚ŃŒ поле, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠµ эту ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ńƒ, но Š¼Š°Š³ŠøŃ сильна. Если ŃŃ‚Š¾ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ похоже на Š“Ń€ŃƒŠ³ŠøŠµ, то ŠŗŠ»ŃŽŃ‡ Šŗ его ŃŠ½ŃŃ‚ŠøŃŽ лежит в Š“Ń€ŃƒŠ³Š¾Š¼ месте. Возможно, я что-то не Š·Š°Š²ŠµŃ€ŃˆŠøŠ»", - "twilightforest.book.unknown.2": "или какой-то монстр, которого мне еще преГстоит ŠæŠ¾Š±ŠµŠ“ŠøŃ‚ŃŒ. Мне ŠæŃ€ŠøŠ“ŠµŃ‚ŃŃ ŠæŠ¾Š²ŠµŃ€Š½ŃƒŃ‚ŃŒ назаГ. ŠÆ Š²ŠµŃ€Š½ŃƒŃŃŒ ŃŃŽŠ“Š° позже, чтобы ŠæŠ¾ŃŠ¼Š¾Ń‚Ń€ŠµŃ‚ŃŒ, изменилось ли что-нибуГь.", + "twilightforest.book.unknown.1": "§8[[Эта книга Š²Ń‹Š³Š»ŃŠ“ŠøŃ‚ так, словно была многократно переписана]]§0\n\nŠÆ не могу Š¾Š±ŃŠŃŃŠ½ŠøŃ‚ŃŒ поле, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰ŠµŠµ эту ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ńƒ, но его Š¼Š°Š³ŠøŃ сильна. Если ŃŃ‚Š¾ ŠæŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ похоже на Š“Ń€ŃƒŠ³ŠøŠµ, то ŠŗŠ»ŃŽŃ‡ Šŗ его ŃŠ½ŃŃ‚ŠøŃŽ лежит в Š“Ń€ŃƒŠ³Š¾Š¼ месте. Возможно, я что-то не Š·Š°Š²ŠµŃ€ŃˆŠøŠ»", + "twilightforest.book.unknown.2": "или ещё не побеГил какое-то Ń‡ŃƒŠ“Š¾Š²ŠøŃ‰Šµ. ŠÆ Голжен Š²ŠµŃ€Š½ŃƒŃ‚ŃŒŃŃ обратно. ŠŸŃ€ŠøŠ“Ńƒ ŃŃŽŠ“Š° позже, чтобы ŠæŠ¾ŃŠ¼Š¾Ń‚Ń€ŠµŃ‚ŃŒ, изменилось ли что-нибуГь.", "twilightforest.book.yeticave": "Записки о Š»ŠµŠ“ŃŠ½Š¾Š¹ пещере", - "twilightforest.book.yeticave.1": "§8[[Дневник ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, покрытый инеем]]§0\n\nŠœŠµŃ‚ŠµŠ»ŃŒ, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰Š°Ń ŃŃ‚Šø заснеженные земли, не ŃƒŃ‚ŠøŃ…Š°ŠµŃ‚. Это не обычный снегопаГ – ŃŃ‚Š¾ волшебное ŃŠ²Š»ŠµŠ½ŠøŠµ. Мне ŠæŃ€ŠøŠ“ŠµŃ‚ŃŃ провести ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚Ń‹, чтобы найти то,", - "twilightforest.book.yeticave.2": "что способно Š²Ń‹Š·Š²Š°Ń‚ŃŒ такой ŃŃ„Ń„ŠµŠŗŃ‚.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ, похоже, слишком мощное, чтобы его мог ŃŠ¾Š·Š“Š°Ń‚ŃŒ оГин человек. ŠŸŠ¾Ń‚Ń€ŠµŠ±ŃƒŃŽŃ‚ŃŃ несколько волшебников, Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… вместе. Если оГин ŠøŠ· волшебников перестанет Š²Š½Š¾ŃŠøŃ‚ŃŒ свой", - "twilightforest.book.yeticave.3": "вклаГ, Š¼ŠµŃ‚ŠµŠ»ŃŒ ŃƒŃ‚ŠøŃ…Š½ŠµŃ‚. Как ни странно, мои ŠæŃ€ŠµŠ“ŃŠŗŠ°Š·Š°Š½ŠøŃ не ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‚ никаких признаков ŠæŃ€ŠøŃŃƒŃ‚ŃŃ‚Š²ŠøŃ поблизости живых волшебников. ŠžŠ“Š½Š°ŠŗŠ¾ я увиГел кое-что интересное в оГной ŠøŠ· близлежащих башен с остроконечной ŠŗŃ€Ń‹ŃˆŠµŠ¹...", + "twilightforest.book.yeticave.1": "§8[[Š—Š°ŠæŠøŃŠ½Š°Ń книжка ŠøŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŠ¾ŠŗŃ€Ń‹Ń‚Š°Ń инеем]]§0\n\nŠœŠµŃ‚ŠµŠ»ŃŒ, Š¾ŠŗŃ€ŃƒŠ¶Š°ŃŽŃ‰Š°Ń ŃŃ‚Šø снежные земли, не ŠæŃ€ŠµŠŗŃ€Š°Ń‰Š°ŠµŃ‚ся. Это не обычный снегопаГ — ŃŃ‚Š¾ магический феномен. Мне ŠæŃ€ŠøŠ“Ń‘Ń‚ŃŃ провести ŃŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚Ń‹, чтобы Š²Ń‹ŃŃŠ½ŠøŃ‚ŃŒ, что способно", + "twilightforest.book.yeticave.2": "Š²Ń‹Š·Ń‹Š²Š°Ń‚ŃŒ ŃŃ‚Š¾Ń‚ ŃŃ„Ń„ŠµŠŗŃ‚.\n\n§8[[Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись]]§0\n\nŠŸŃ€Š¾ŠŗŠ»ŃŃ‚ŠøŠµ, ŠŗŠ°Š¶ŠµŃ‚ŃŃ, слишком мощное Š“Š»Ń оГного ŃŃƒŃ‰ŠµŃŃ‚Š²Š°. Š¢Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ несколько магов, Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… вместе. Если оГин ŠøŠ· магов перестанет", + "twilightforest.book.yeticave.3": "Š²Š½Š¾ŃŠøŃ‚ŃŒ свой вклаГ, Š¼ŠµŃ‚ŠµŠ»ŃŒ ŃƒŃŠæŠ¾ŠŗŠ¾ŠøŃ‚ŃŃ. Дтранно, но мои ŠæŃ€Š¾Ń€ŠøŃ†Š°Š½ŠøŃ не ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‚ признаков ŠæŃ€ŠøŃŃƒŃ‚ŃŃ‚Š²ŠøŃ каких-либо живых магов поблизости. ŠžŠ“Š½Š°ŠŗŠ¾ я виГел что-то интересное в оГной ŠøŠ· близлежащих остроконечных Š±Š°ŃˆŠµŠ½ā€¦", "twilightforest.tips.druid_hut": "Š’ хижинах Š“Ń€ŃƒŠøŠ“Š¾Š² иногГа ŠµŃŃ‚ŃŒ скрытые поГвалы.", "twilightforest.tips.towerwood": "Доски тёмной башни Š¾Ń‡ŠµŠ½ŃŒ ŃƒŃŃ‚Š¾Š¹Ń‡ŠøŠ²Ń‹Šµ, но восприимчивы Šŗ Š¾Š³Š½ŃŽ.", "twilightforest.tips.twilight_portal": "Š‘Ń€Š¾ŃŃŒŃ‚Šµ алмаз в бассейн с воГой, Š¾ŠŗŃ€ŃƒŠ¶Ń‘Š½Š½Ń‹Š¹ цветами.", diff --git a/src/main/resources/assets/twilightforest/lang/tok.json b/src/main/resources/assets/twilightforest/lang/tok.json index 300cdf3766..0f69468578 100644 --- a/src/main/resources/assets/twilightforest/lang/tok.json +++ b/src/main/resources/assets/twilightforest/lang/tok.json @@ -1,9 +1,40 @@ { + "Dimension Settings.button": "o ante", + "Magic Trees.button": "o ante", + "Portal Settings.button": "o ante", + "Shield Parrying.button": "o ante", + "Uncrafting Table.button": "o ante", + "advancement.twilightforest.arborist": "jan nasa pi sona kasi kiwen", "advancement.twilightforest.beanstalk": "jan Sa en kasi suli", "advancement.twilightforest.experiment_115": "ni li moku soweli anu seme? ", + "advancement.twilightforest.experiment_115.desc": "ni li lukin sama pan suwi...", "advancement.twilightforest.hedge.desc": "o moli e pipi pi noka mute lon nasin nasa pi sinpin kasi", + "advancement.twilightforest.kill_cicada": "o toki ala!", + "advancement.twilightforest.kill_cicada.desc": "o moli e pipi pi kalama ike", + "advancement.twilightforest.magic_map": "mi ken lukin e ale a!", + "advancement.twilightforest.magic_map.desc": "o pali e %s", + "advancement.twilightforest.progress_ur_ghast": "telo oko pi seli", + "advancement.twilightforest.progress_ur_ghast.desc": "o pilin e telo oko pi seli", + "advancement.twilightforest.root": "ma kasi pi suno ala", + "advancement.twilightforest.troll": "mi musi pakala lili", + "auroraBiomes.button": "o ante e ma", + "biome.twilightforest.dark_forest": "ma kasi pi suno lili", + "biome.twilightforest.snowy_forest": "ma kasi lete", + "biome.twilightforest.spooky_forest": "ma kasi monsuta", + "biome.twilightforest.thornlands": "ma pi kasi kipisi", + "biome.twilightforest.underground": "ma anpa", + "block.twilightforest.cicada": "pipi pi mu suli", + "block.twilightforest.cicada_jar": "poki ni li jo e pipi pi mu suli", + "block.twilightforest.firefly": "pipi pi pana suno", + "config.twilightforest.multiplayer_fight_adjuster.none": "ala", + "death.attack.twilightforest.expired": "%1$s li moli", + "death.attack.twilightforest.expired.player": "%1$s li moli", + "death.attack.twilightforest.thrownAxe": "lawa %1$s li tawa weka tan palisa utala pi pana", + "dimension.twilightforest.twilight_forest": "ma kasi pi suno ala", + "effect.twilightforest.frosted": "lete", "entity.twilightforest.hydra": "akesi pi lawa mute", "entity.twilightforest.naga": "akesi suli", "structure.twilightforest.hedge_maze": "nasin nasa pi sinpin kasi", - "subtitles.twilightforest.entity.hydra.shoot_fire": "akesi pi lawa mute li pana e seli" + "subtitles.twilightforest.entity.hydra.shoot_fire": "akesi pi lawa mute li pana e seli", + "twilightforest.tips.kobold": "jan soweli laso lili" } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/tr_tr.json b/src/main/resources/assets/twilightforest/lang/tr_tr.json index ae71c0a8cd..ebf9d2e4ae 100644 --- a/src/main/resources/assets/twilightforest/lang/tr_tr.json +++ b/src/main/resources/assets/twilightforest/lang/tr_tr.json @@ -19,7 +19,6 @@ "advancement.twilightforest.fiery_set": "Galonlarca Kan ve Gƶzyaşı", "advancement.twilightforest.fiery_set.desc": "Envanterinizde en az bir ateşli zırh parƧası varken ateşli bir alet veya silah kullanın", "advancement.twilightforest.full_mettle_alchemist": "Tam Cesaretli Simyacı", - "advancement.twilightforest.full_mettle_alchemist.desc": "Bir iksir şişesinden 8 saniyenin altında bir sürede dƶrt doz Hasar II iƧ ve hayatta kal", "advancement.twilightforest.ghast_trap": "Kule AğaƧlarında Tuhaf Bir Şeyler Var", "advancement.twilightforest.ghast_trap.desc": "Bir %ss 'in etrafındaki %s 'i ƶldürün ve %s 'i gƶkyüzünden indirmek iƧin harekete geƧin!", "advancement.twilightforest.giants": "Bulut Dokuz'dayım", @@ -39,12 +38,14 @@ "advancement.twilightforest.kill_cicada": "Kapat", "advancement.twilightforest.kill_cicada.desc": "Bir Ağustos Bƶceği Ɩldür", "advancement.twilightforest.kill_hydra": "Hidra Katili", + "advancement.twilightforest.kill_hydra.desc": "Güçlü %s'i ƶldür ve kendini güçlendir", "advancement.twilightforest.kill_lich": "Ɩlülerinizi Ortaya Ƈıkarın", "advancement.twilightforest.magic_map": "Sonsuza Kadar Gƶrebilirim", "advancement.twilightforest.magic_map_focus": "Ateşle Yazar", "advancement.twilightforest.naga_armors": "Naga ZırhƧısı", "advancement.twilightforest.progress_glacier": "AƧık Gƶkyüzü", "advancement.twilightforest.progress_ur_ghast": "Ateşin Gƶzyaşları", + "advancement.twilightforest.progress_yeti": "Alfa kürk", "advancement.twilightforest.root": "Alacakaranlık Ormanı", "advancement.twilightforest.twilight_hunter": "Ormanın Sessizliği", "auroraBiomes.button": "Biyomları Düzenle", diff --git a/src/main/resources/assets/twilightforest/lang/tt_ru.json b/src/main/resources/assets/twilightforest/lang/tt_ru.json index 9e26dfeeb6..eeac597bf2 100644 --- a/src/main/resources/assets/twilightforest/lang/tt_ru.json +++ b/src/main/resources/assets/twilightforest/lang/tt_ru.json @@ -1 +1,10 @@ -{} \ No newline at end of file +{ + "advancement.twilightforest.arborist": "Агачлар фанаты", + "advancement.twilightforest.arborist.desc": "Балтагызны һәм кайчыгызны әзерләгез. Һәр почмакны Ń‚ŠøŠŗŃˆŠµŃ€ŠµŠ³ŠµŠ· һәм агачларГан килгән һәр нәрсәне җыегыз! Š­ŃˆŠ»Ó™Šæ чыгарыгыз, Ń‚ŃƒŠæŠ»Š°Š³Ń‹Š·, табыгыз – һәр такта, үсентә, ŃŃ„Ń€Š°Šŗā€¦ һәм Š±Š°ŃˆŠŗŠ°Š»Š°Ń€Ń‹ – БАРДЫ!", + "advancement.twilightforest.arctic_dyed": "МоГа Š“Ó©Š½ŃŒŃŃŃ‹Š½Š° керү", + "advancement.twilightforest.arctic_dyed.desc": "Арктика Ń‚Ń‹ŃˆŃ‡Š°Š½Ń‹Ņ£ Гүрт уникаль кисәген Š±ŃƒŃŠ³Ń‹Š·", + "advancement.twilightforest.beanstalk": "Джек һәм борчаклы сабак", + "advancement.twilightforest.beanstalk.desc": "Š¢Ń€Š¾Š»Š»ŃŒŠ»Š°Ń€ мәгарәсенГә берничә %s табыгыз һәм аларны болытлар астынГагы ŃŠŗŃ‚Ń‹ Ń‚ŃƒŃ„Ń€Š°ŠŗŃ‚Š° ŠŗŃƒŠ»Š»Š°Š½Ń‹Š³Ń‹Š·", + "advancement.twilightforest.experiment_115": "Дәер ŠøŃ‚", + "advancement.twilightforest.experiment_115.desc": "Тортка Š¾Ń…ŃˆŠ°Š³Š°Š½ кебек..." +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/uk_ua.json b/src/main/resources/assets/twilightforest/lang/uk_ua.json index 2d29225145..3806d65172 100644 --- a/src/main/resources/assets/twilightforest/lang/uk_ua.json +++ b/src/main/resources/assets/twilightforest/lang/uk_ua.json @@ -1,4 +1,9 @@ { + "Dimension Settings.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø", + "Magic Trees.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø", + "Portal Settings.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø", + "Shield Parrying.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø", + "Uncrafting Table.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø", "advancement.twilightforest.arborist": "ŠœŠ°Š½Ń–Š°ŠŗŠ°Š»ŃŒŠ½ŠøŠ¹ ГенГролог", "advancement.twilightforest.arborist.desc": "ŠŸŃ€ŠøŠ³Š¾Ń‚ŃƒŠ¹Ń‚Šµ свої сокири та ножиці. ŠžŠ±ŃˆŃƒŠŗŠ°Š¹Ń‚Šµ кожен Š·Š°ŠŗŃƒŃ‚ок і Ń‰Ń–Š»ŠøŠ½Ńƒ, Š·Š°Š±ŠµŃ€Ń–Ń‚ŃŒ все, що росте на Геревах! Š”Ń‚Š²Š¾Ń€ŃŽŠ¹Ń‚Šµ, збирайте, Š“Ń–ŃŃ‚Š°Š½ŃŒŃ‚Šµ кожну ŠæŠ»ŠøŃ‚Ńƒ... паросток... Š»ŠøŃŃ‚Ń... ще Š±Ń–Š»ŃŒŃˆŠµ... все. ВДЕ Š©Šž Š„!", "advancement.twilightforest.arctic_dyed": "ŠžŃŃ‚Š°Š½Š½Ń–Š¹ писк моГи", @@ -14,7 +19,7 @@ "advancement.twilightforest.fiery_set": "ŠŸŠ¾Ń‚Š¾Š¼ і кров'ю", "advancement.twilightforest.fiery_set.desc": "ВолоГійте вогненним Š·Š½Š°Ń€ŃŠ“Š“ŃŠ¼ або Š·Š±Ń€Š¾Ń”ŃŽ, Š¼Š°ŃŽŃ‡Šø принаймні оГну Ń‡Š°ŃŃ‚ŠøŠ½Ńƒ Š²Š¾Š³Š½ŃŠ½Š¾Ń— броні у ŃŠ²Š¾Ń”Š¼Ńƒ інвентарі", "advancement.twilightforest.full_mettle_alchemist": "Дталевий алхімік", - "advancement.twilightforest.full_mettle_alchemist.desc": "Випийте чотири Гози Š·Ń–Š»Š»Ń шкоГи II менш ніж за 8 секунГ і Š²ŠøŠ¶ŠøŠ²Ń–Ń‚ŃŒ", + "advancement.twilightforest.full_mettle_alchemist.desc": "Випийте чотири Гози Š·Ń–Š»Š»Ń шкоГи II менш ніж за 6 секунГ і Š²ŠøŠ¶ŠøŠ²Ń–Ń‚ŃŒ", "advancement.twilightforest.ghast_trap": "Щось Гивне в Š¢Š°ŃƒŠµŃ€Š²ŃƒŠ“Ń–", "advancement.twilightforest.ghast_trap.desc": "Вбийте ŠšŠ°Ń€Š¼Ń–нитового міні-ґаста Š±Ń–Š»Ń пасики та Š°ŠŗŃ‚ŠøŠ²ŃƒŠ¹Ń‚Šµ ŠŗŠ»ŃŽŃ‡ Ур-Ґаста ŠæŃ€ŃŠ¼Š¾ Š· неба!", "advancement.twilightforest.giants": "ŠÆ на сьомому небі", @@ -81,6 +86,9 @@ "advancement.twilightforest.twilight_dining.desc": "Їжте всі їстівні преГмети, ŠµŠŗŃŠŗŠ»ŃŽŠ·ŠøŠ²Š½Ń– Š“Š»Ń Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾Š³Š¾ Š»Ń–ŃŃƒ", "advancement.twilightforest.twilight_hunter": "Тиша Š»Ń–ŃŃƒ", "advancement.twilightforest.twilight_hunter.desc": "ŠŸŠ¾Š»ŃŽŠ¹Ń‚Šµ на Š¼Ń–ŃŃ†ŠµŠ²Ńƒ Гику ŠæŃ€ŠøŃ€Š¾Š“Ńƒ", + "advancement.twilightforest.uncraft_uncrafting_table": "ŠšŃ€Š¾Šŗ занаГто Галеко.", + "advancement.twilightforest.uncraft_uncrafting_table.desc": "Š Š¾Š·Š±ŠµŃ€Ń–Ń‚ŃŒ Дтіл Š Š¾Š·ŠŗŃ€Š°Ń„Ń‡ŃƒŠ²Š°Š½Š½Ń", + "auroraBiomes.button": "Š ŠµŠ“Š°Š³ŃƒŠ²Š°Ń‚Šø біоми", "biome.twilightforest.clearing": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š° Š³Š°Š»ŃŠ²ŠøŠ½Š°", "biome.twilightforest.dark_forest": "Темний ліс", "biome.twilightforest.dark_forest_center": "Центр Темного Š»Ń–ŃŃƒ", @@ -214,6 +222,22 @@ "block.minecraft.banner.twilightforest.quest_ram.red": "Червоні вихори квестового Š±Š°Ń€Š°Š½Ńƒ", "block.minecraft.banner.twilightforest.quest_ram.white": "Білі вихори квестового Š±Š°Ń€Š°Š½Ńƒ", "block.minecraft.banner.twilightforest.quest_ram.yellow": "Жовті вихори квестового Š±Š°Ń€Š°Š½Ńƒ", + "block.minecraft.banner.twilightforest.snow_queen.black": "Чорна Дніжинка", + "block.minecraft.banner.twilightforest.snow_queen.blue": "Š”ŠøŠ½Ń сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š° сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.cyan": "Блакитна сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.gray": "Діра Дніжинка", + "block.minecraft.banner.twilightforest.snow_queen.green": "Зелена сніжинка ", + "block.minecraft.banner.twilightforest.snow_queen.light_blue": "Двітло-ŃŠøŠ½Ń сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.light_gray": "Двітло-сіра сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.lime": "Лаймова сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.magenta": "ŠŸŃƒŃ€ŠæŃƒŃ€Š¾Š²Š° сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.orange": "ŠŸŠ¾Š¼Š°Ń€Š°Š½Ń‡ŠµŠ²Š° сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.pink": "Рожева сніжинка ", + "block.minecraft.banner.twilightforest.snow_queen.purple": "Фіолетова сніжинка", + "block.minecraft.banner.twilightforest.snow_queen.red": "Червона сніжинка ", + "block.minecraft.banner.twilightforest.snow_queen.white": "Біла сніжинка ", + "block.minecraft.banner.twilightforest.snow_queen.yellow": "Жовта сніжинка", "block.minecraft.banner.twilightforest.ur_ghast.black": "Чорна кармінова Š³Ń€Š°Š½ŃŒ", "block.minecraft.banner.twilightforest.ur_ghast.blue": "Š”ŠøŠ½Ń кармінова Š³Ń€Š°Š½ŃŒ", "block.minecraft.banner.twilightforest.ur_ghast.brown": "ŠšŠ¾Ń€ŠøŃ‡Š½ŠµŠ²Š° кармінова Š³Ń€Š°Š½ŃŒ", @@ -242,6 +266,7 @@ "block.twilightforest.aurora_slab": "ŠŸŠ»ŠøŃ‚Š° Аврори", "block.twilightforest.auroralized_glass": "Авроралізоване скло", "block.twilightforest.bamboo_banister": "Š‘Š°Š¼Š±ŃƒŠŗŠ¾Š²Ń– Š±ŠøŠ»ŃŒŃ†Ń", + "block.twilightforest.banister.cycle": "ŠšŠ»Š°Ń†Š½Ń–Ń‚ŃŒ ŠæŃ€Š°Š²Š¾ŃŽ ŠŗŠ½Š¾ŠæŠŗŠ¾ŃŽ Š¼ŠøŃˆŃ– Š· ŃŠ¾ŠŗŠøŃ€Š¾ŃŽ, щоб ŠæŠµŃ€ŠµŠ¼ŠøŠŗŠ½ŃƒŃ‚Šø.", "block.twilightforest.beanstalk_leaves": "Š›ŠøŃŃ‚Ń бобового стебла", "block.twilightforest.birch_banister": "Березові Š±ŠøŠ»ŃŒŃ†Ń", "block.twilightforest.blue_castle_door": "Дині Гвері замку", @@ -251,6 +276,7 @@ "block.twilightforest.bold_castle_brick_stairs": "Š ŠµŠ»ŃŒŃ”Ń„Š½Ń– схоГи Š· цегли замку", "block.twilightforest.bold_castle_brick_tile": "Š ŠµŠ»ŃŒŃ”Ń„Š½ŠøŠ¹ ŠŗŠ°Ń…ŠµŠ»ŃŒ Ń†ŠµŠ³Š»ŃŠ½Š¾Š³Š¾ замку", "block.twilightforest.bold_stone_pillar": "Š ŠµŠ»ŃŒŃ”Ń„Š½Š° кам'ŃŠ½Š° колона", + "block.twilightforest.brazier": "Š–Š°Ń€Š¾Š²Š½Ń", "block.twilightforest.brown_thorns": "Шипи", "block.twilightforest.built_block": "Š’Š±ŃƒŠ“Š¾Š²Š°Š½ŠøŠ¹ блок", "block.twilightforest.burnt_thorns": "ŠžŠ±ŠæŠ°Š»ŠµŠ½Ń– шипи", @@ -272,24 +298,28 @@ "block.twilightforest.canopy_slab": "ŠŸŠ»ŠøŃ‚Š° Š· наметового Герева", "block.twilightforest.canopy_stairs": "ДхоГи Š· наметового Герева", "block.twilightforest.canopy_trapdoor": "Š›ŃŽŠŗ Ń–Š· наметового Герева", - "block.twilightforest.canopy_wall_hanging_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° вивіска Š· наметового Герева", - "block.twilightforest.canopy_wall_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° табличка Š· наметового Герева", + "block.twilightforest.canopy_trapped_chest": "Зачеплена ŃŠŗŃ€ŠøŠ½Ń піГ навісом.", + "block.twilightforest.canopy_window": "Вікно піГ навісом.", + "block.twilightforest.canopy_window_pane": "Дкло вікна піГ навісом ", "block.twilightforest.canopy_wood": "Деревина наметового Герева", "block.twilightforest.carminite_block": "Блок ŠŗŠ°Ń€Š¼Ń–Š½Ńƒ", "block.twilightforest.carminite_builder": "ŠšŠ°Ń€Š¼Ń–Š½Š¾Š²ŠøŠ¹ Š±ŃƒŠ“Ń–Š²ŠµŠ»ŃŒŠ½ŠøŠŗ", "block.twilightforest.carminite_reactor": "ŠšŠ°Ń€Š¼Ń–Š½Š¾Š²ŠøŠ¹ реактор", - "block.twilightforest.casket.broken": "Š’Š°ŃˆŠ° ŃŠŗŃ€ŠøŠ½ŃŒŠŗŠ° пам'яті була занаГто пошкоГжена, щоб вмістити ще ŃŠŗŃ–-небуГь преГмети. Всі преГмети, ŃŠŗŃ– повинні були Š·Š±ŠµŃ€Ń–Š³Š°Ń‚ŠøŃŃ у Š²Š°ŃˆŃ–Š¹ скринці, були ŃŠŗŠøŠ½ŃƒŃ‚Ń– на Š·ŠµŠ¼Š»ŃŽ.", + "block.twilightforest.casket.broken": "Š’Š°ŃˆŠ° ŃŠŗŃ€ŠøŠ½Ń Š“Š»Ń реліквій була занаГто пошкоГжена, і піГ час Š·Š±ŠµŃ€ŠµŠ¶ŠµŠ½Š½Ń Š²Š°ŃˆŠøŃ… преГметів вона ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠøŠ»Š°ŃŃ на Ń‡ŠµŃ€ŠµŠæŠ½Ńƒ ŃŠŗŃ€ŠøŠ½ŃŽ.", + "block.twilightforest.casket.damage": "ŠŸŠ¾ŃˆŠŗŠ¾Š“Š¶ŠµŠ½Š½Ń: %s", "block.twilightforest.casket.locked": "Š¦ŃŽ Š”ŠŗŃ€ŠøŠ½ŃŒŠŗŃƒ може віГкрити лише %s!", "block.twilightforest.castle_brick": "Цегла замку", "block.twilightforest.castle_brick_stairs": "ДхоГи Š· цегли замку", "block.twilightforest.castle_roof_tile": "Š§ŠµŃ€ŠµŠæŠøŃ†Ń замку", "block.twilightforest.cherry_banister": "Š’ŠøŃˆŠ½ŠµŠ²Ń– Š±ŠøŠ»ŃŒŃ†Ń", + "block.twilightforest.chiseled_canopy_bookshelf": "Š Ń–Š·ŃŒŠ±Š»ŠµŠ½ŠøŠ¹ книжковий стелаж піГ навісом.", "block.twilightforest.cicada": "ЦикаГа", "block.twilightforest.cicada_jar": "Банка Š· Ń†ŠøŠŗŠ°Š“Š¾ŃŽ", "block.twilightforest.cinder_furnace": "Шлакова піч", "block.twilightforest.cinder_log": "Шлакова колоГа", "block.twilightforest.cinder_wood": "Шлакова Геревина", "block.twilightforest.clover_patch": "ŠšŠ¾Š½ŃŽŃˆŠøŠ½Š¾Š²ŠøŠ¹ клаптик", + "block.twilightforest.coronation_carpet": "Килим Š“Š»Ń коронації.", "block.twilightforest.cracked_castle_brick": "Š¢Ń€Ń–ŃŠ½ŃƒŃ‚Š° цегла замку", "block.twilightforest.cracked_castle_brick_stairs": "ДхоГи Š· Ń‚Ń€Ń–ŃŠ½ŃƒŃ‚Š¾Ń— цегли замку", "block.twilightforest.cracked_deadrock": "Š¢Ń€Ń–ŃŠ½ŃƒŃ‚ŠøŠ¹ Š¼ŠµŃ€Ń‚Š²Š¾ŠŗŠ°Š¼Ń–Š½ŃŒ", @@ -301,7 +331,6 @@ "block.twilightforest.cracked_towerwood": "Š¢Ń€Ń–ŃŠ½ŃƒŃ‚Ń– Гошки Š· темної вежі", "block.twilightforest.cracked_underbrick": "Š¢Ń€Ń–ŃŠ½ŃƒŃ‚ŠøŠ¹ ŠæŃ–Š“Ń†ŠµŠ³Š»ŃŠ½Š½ŠøŠŗ", "block.twilightforest.creeper_skull_candle": "Голова кріпера Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.creeper_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° голова кріпера Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "block.twilightforest.crimson_banister": "Š‘Š°Š³Ń€ŃŠ½Ń– Š±ŠøŠ»ŃŒŃ†Ń", "block.twilightforest.cut_mazestone": "Тесаний лабіринтовий ŠŗŠ°Š¼Ń–Š½ŃŒ", "block.twilightforest.dark_banister": "Темно-Герев'ŃŠ½Ń– Š±ŠøŠ»ŃŒŃ†Ń", @@ -320,8 +349,7 @@ "block.twilightforest.dark_slab": "Темно-Герев'ŃŠ½Š° плита", "block.twilightforest.dark_stairs": "Темно-Герев'ŃŠ½Ń– схоГи", "block.twilightforest.dark_trapdoor": "Темно-Герев'ŃŠ½ŠøŠ¹ Š»ŃŽŠŗ", - "block.twilightforest.dark_wall_hanging_sign": "Темно-Герев'ŃŠ½Š° настінна вивіска", - "block.twilightforest.dark_wall_sign": "Темно-Герев'ŃŠ½Š° настінна табличка", + "block.twilightforest.dark_trapped_chest": "Š”ŠŗŃ€ŠøŠ½Ń-пастка Š· темного Герева.", "block.twilightforest.dark_wood": "Темно-Герев'ŃŠ½Š° Геревина", "block.twilightforest.darkwood_sapling": "ŠŸŠ°Ń€Š¾ŃŃ‚Š¾Šŗ темного Герева", "block.twilightforest.deadrock": "ŠœŠµŃ€Ń‚Š²Š¾ŠŗŠ°Š¼Ń–Š½ŃŒ", @@ -421,6 +449,7 @@ "block.twilightforest.ironwood_block": "Блок залізного Герева", "block.twilightforest.jungle_banister": "Тропічні Š±ŠøŠ»ŃŒŃ†Ń", "block.twilightforest.keepsake_casket": "Š”ŠŗŃ€ŠøŠ½ŃŒŠŗŠ° пам'яті", + "block.twilightforest.knight_phantom_boss_spawner": "Дпавнер босса Š›ŠøŃ†Š°Ń€ŃŃŒŠŗŠøŃ… Фантомів.", "block.twilightforest.knight_phantom_trophy": "Трофей Š›ŠøŃ†Š°Ń€Ń Фантома", "block.twilightforest.knightmetal_block": "Блок Š»ŠøŃ†Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Š¼ŠµŃ‚Š°Š»Ńƒ", "block.twilightforest.knightmetal_block.desc": "ŠŸŃ€Š°Ń†ŃŽŃ” ŃŠŗ посилений ŠŗŠ°ŠŗŃ‚ŃƒŃ", @@ -446,9 +475,9 @@ "block.twilightforest.mangrove_slab": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангрова плита", "block.twilightforest.mangrove_stairs": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангрові схоГи", "block.twilightforest.mangrove_trapdoor": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангровий Š»ŃŽŠŗ", - "block.twilightforest.mangrove_wall_hanging_sign": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангрова настінна вивіска", - "block.twilightforest.mangrove_wall_sign": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангрова настінна табличка", + "block.twilightforest.mangrove_trapped_chest": " Š”ŠŗŃ€ŠøŠ½Ń-пастка Š· мангрового Герева.", "block.twilightforest.mangrove_wood": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-мангрова Геревина", + "block.twilightforest.mason_jar": "Мейсонова банка.", "block.twilightforest.mayapple": "ŠŸŠ¾Š“Š¾Ń„Ń–Š»", "block.twilightforest.mazestone": "Лабіринтовий ŠŗŠ°Š¼Ń–Š½ŃŒ", "block.twilightforest.mazestone_border": "Межа Š· лабіринтового ŠŗŠ°Š¼ŠµŠ½ŃŽ", @@ -471,8 +500,7 @@ "block.twilightforest.mining_slab": "ŠŸŠ»ŠøŃ‚Š° Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", "block.twilightforest.mining_stairs": "ДхоГи Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", "block.twilightforest.mining_trapdoor": "Š›ŃŽŠŗ Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", - "block.twilightforest.mining_wall_hanging_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° вивіска Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", - "block.twilightforest.mining_wall_sign": "Табличка на стіні Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", + "block.twilightforest.mining_trapped_chest": "Š”ŠŗŃ€ŠøŠ½Ń-пастка Š· мінового Герева", "block.twilightforest.mining_wood": "КолоГа Š· ŃˆŠ°Ń…Ń‚Š°Ń€ŃŃŒŠŗŠ¾Š³Š¾ Герева", "block.twilightforest.minoshroom_boss_spawner": "Дпавнер Гриботавра", "block.twilightforest.minoshroom_trophy": "Трофей Гриботавра", @@ -499,13 +527,11 @@ "block.twilightforest.oak_banister": "Š”ŃƒŠ±Š¾Š²Ń– Š±ŠøŠ»ŃŒŃ†Ń", "block.twilightforest.orange_force_field": "ŠŸŠ¾Š¼Š°Ń€Š°Š½Ń‡ŠµŠ²Šµ силове поле", "block.twilightforest.piglin_skull_candle": "Голова піґліна Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.piglin_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° голова піґліна Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "block.twilightforest.pink_castle_door": "ŠŸŃƒŃ€ŠæŃƒŃ€Š¾Š²Ń– замкові Гвері", "block.twilightforest.pink_castle_rune_brick": "Š ŃƒŠ½Ń–Ń‡Š½Š° рожева цегла замку", "block.twilightforest.pink_force_field": "ŠŸŃƒŃ€ŠæŃƒŃ€Š¾Š²Šµ силове поле", "block.twilightforest.player_skull_candle": "Голова Š³Ń€Š°Š²Ń†Ń Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "block.twilightforest.player_skull_candle.named": "Голова %s Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.player_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° голова Š³Ń€Š°Š²Ń†Ń Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "block.twilightforest.potted_canopy_sapling": "ŠŸŠ°Ń€Š¾ŃŃ‚Š¾Šŗ наметового Герева в Š³Š¾Ń€Ń‰ŠøŠŗŃƒ", "block.twilightforest.potted_darkwood_sapling": "ŠŸŠ°Ń€Š¾ŃŃ‚Š¾Šŗ темного Герева в Š³Š¾Ń€Ń‰ŠøŠŗŃƒ", "block.twilightforest.potted_dead_thorn": "ŠžŠ±ŠæŠ°Š»ŠµŠ½Ń– шипи в Š³Š¾Ń€Ń‰ŠøŠŗŃƒ", @@ -531,8 +557,10 @@ "block.twilightforest.red_thread": "Червона нитка", "block.twilightforest.root": "ŠšŠ¾Ń€Ń–Š½Š½Ń", "block.twilightforest.root_strand": "ŠšŠ¾Ń€ŠµŠ½ŠµŠ²Ń– пасма", + "block.twilightforest.rope": "ŠœŠ¾Ń‚ŃƒŠ·ŠŗŠ°", + "block.twilightforest.sinister_spawner": "Зловісний спавнер.", "block.twilightforest.skeleton_skull_candle": "Череп скелета Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.skeleton_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½ŠøŠ¹ череп скелета Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", + "block.twilightforest.skull_chest": "Черепна ŃŠŗŃ€ŠøŠ½Ń.", "block.twilightforest.slider": "ДлайГ-пастка", "block.twilightforest.smoker": "Блок Гиму", "block.twilightforest.snow_queen_boss_spawner": "Дпавнер Дніжної королеви", @@ -555,8 +583,7 @@ "block.twilightforest.sorting_slab": "ŠŸŠ»ŠøŃ‚Š° Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", "block.twilightforest.sorting_stairs": "ДхоГи Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", "block.twilightforest.sorting_trapdoor": "Š›ŃŽŠŗ Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_wall_hanging_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° вивіска Ń–Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", - "block.twilightforest.sorting_wall_sign": "Табличка на стіні Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", + "block.twilightforest.sorting_trapped_chest": "Š”ŠŗŃ€ŠøŠ½Ń-пастка Š· Герева ŃŠ¾Ń€Ń‚Ń–Š½Š³Ńƒ.", "block.twilightforest.sorting_wood": "КолоГа Š· ŃŠ¾Ń€Ń‚ŃƒŠ²Š°Š»ŃŒŠ½Š¾Š³Š¾ Герева", "block.twilightforest.spiral_bricks": "Š”ŠæŃ–Ń€Š°Š»ŃŒŠ½Ń– кам'ŃŠ½Ń– цеглини", "block.twilightforest.spruce_banister": "Дмерекові Š±ŠøŠ»ŃŒŃ†Ń", @@ -578,6 +605,7 @@ "block.twilightforest.stripped_twilight_oak_log": "ŠžŠ±Ń‚ŠµŃŠ°Š½Š° ŃŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова колоГа", "block.twilightforest.stripped_twilight_oak_wood": "ŠžŠ±Ń‚ŠµŃŠ°Š½Š° ŃŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова Геревина", "block.twilightforest.stronghold_shield": "Щит фортеці", + "block.twilightforest.terrorcotta_arcs": "Терокотні арки.", "block.twilightforest.thick_castle_brick": "Š©Ń–Š»ŃŒŠ½Š° цегла замку", "block.twilightforest.thorn_leaves": "Шипасте Š»ŠøŃŃ‚я", "block.twilightforest.thorn_rose": "Шипаста Ń‚Ń€Š¾ŃŠ½Š“Š°", @@ -598,8 +626,6 @@ "block.twilightforest.time_slab": "ŠŸŠ»ŠøŃ‚Š° Š· часоГерева", "block.twilightforest.time_stairs": "ДхоГи Š· часоГерева", "block.twilightforest.time_trapdoor": "Š›ŃŽŠŗ Ń–Š· часоГерева", - "block.twilightforest.time_wall_hanging_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° вивіска Š· часоГерева", - "block.twilightforest.time_wall_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° табличка Š· часоГерева", "block.twilightforest.time_wood": "Деревина часоГерева", "block.twilightforest.torchberry_plant": "Рослина смолоскипних ŃŠ³Ń–Š“", "block.twilightforest.towerwood": "Š”Š¾ŃˆŠŗŠø Š· темної вежі", @@ -620,8 +646,6 @@ "block.twilightforest.transformation_slab": "ŠŸŠ»ŠøŃ‚Š° Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", "block.twilightforest.transformation_stairs": "ДхоГи Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", "block.twilightforest.transformation_trapdoor": "Š›ŃŽŠŗ Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", - "block.twilightforest.transformation_wall_hanging_sign": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° вивіска Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", - "block.twilightforest.transformation_wall_sign": "Табличка на стіні Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", "block.twilightforest.transformation_wood": "КолоГа Š· Герева ŠæŠµŃ€ŠµŃ‚Š²Š¾Ń€ŠµŠ½Š½Ń", "block.twilightforest.trollber": "Š¢Ń€Š¾Š»ŃŒŠ±ŠµŃ€", "block.twilightforest.trollsteinn": "Š¢Ń€Š¾Š»ŃŒŃˆŃ‚ŠµŠ¹Š½", @@ -643,8 +667,6 @@ "block.twilightforest.twilight_oak_slab": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова плита", "block.twilightforest.twilight_oak_stairs": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Š“ŃƒŠ±Š¾Š²Ń– схоГи", "block.twilightforest.twilight_oak_trapdoor": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губовий Š»ŃŽŠŗ", - "block.twilightforest.twilight_oak_wall_hanging_sign": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова настінна вивіска", - "block.twilightforest.twilight_oak_wall_sign": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова настінна табличка", "block.twilightforest.twilight_oak_wood": "Š”ŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾-Губова Геревина", "block.twilightforest.twilight_portal": "ŠŸŠ¾Ń€Ń‚Š°Š» ŃŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾Š³Š¾ Š»Ń–ŃŃƒ", "block.twilightforest.twilight_portal_miniature_structure": "ŠœŃ–Š½Ń–Š°Ń‚ŃŽŃ€Š½ŠøŠ¹ портал ŃŃƒŃ‚Ń–Š½ŠŗŠ¾Š²Š¾Š³Š¾ Š»Ń–ŃŃƒ", @@ -668,14 +690,12 @@ "block.twilightforest.weathered_deadrock": "Вивітрений Š¼ŠµŃ€Ń‚Š²Š¾ŠŗŠ°Š¼Ń–Š½ŃŒ", "block.twilightforest.wispy_cloud": "ŠŸŃ–Ń€'ŃŃŃ‚Š° хмаринка", "block.twilightforest.wither_skeleton_skull_candle": "Череп візера-скелета Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.wither_skeleton_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½ŠøŠ¹ череп візера-скелета Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "block.twilightforest.worn_castle_brick": "ŠŸŠ¾Ń‚ŠµŃ€Ń‚Š° цегла замку", "block.twilightforest.worn_castle_brick_stairs": "ДхоГи Š· потертої цегли замку", "block.twilightforest.wrought_iron_fence": "Кована огорожа", "block.twilightforest.yellow_castle_door": "Жовті Гвері замку", "block.twilightforest.yellow_castle_rune_brick": "Š ŃƒŠ½Ń–Ń‡Š½Š° жовта цегла замку", "block.twilightforest.zombie_skull_candle": "Голова зомбі Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", - "block.twilightforest.zombie_wall_skull_candle": "ŠŠ°ŃŃ‚Ń–Š½Š½Š° голова зомбі Š·Ń– ŃŠ²Ń–Ń‡ŠŗŠ¾ŃŽ", "commands.tffeature.center": "Центр об'єкта: %s", "commands.tffeature.chunk": "ŠžŠ±'єкт у Ń‡Š°Š½ŠŗŃƒ: %s", "commands.tffeature.nearest": "ŠŠ°Š¹Š±Š»ŠøŠ¶Ń‡ŠøŠ¹ об'єкт: %s", @@ -767,7 +787,6 @@ "entity.twilightforest.alpha_yeti": "ŠŠ»ŃŒŃ„Š° Єті", "entity.twilightforest.armored_giant": "Гігант в броні", "entity.twilightforest.bighorn_sheep": "Баран-товсторіг", - "entity.twilightforest.blockchain_goblin": "Гоблін Ń–Š· Š±Š¾Š¹Š¾Š²Š¾ŃŽ Š³ŠøŃ€ŠµŃŽ", "entity.twilightforest.boar": "Кабан", "entity.twilightforest.carminite_broodling": "ŠšŠ°Ń€Š¼Ń–Š½Š¾Š²ŠøŠ¹ вивоГок ŠæŠ°Š²ŃƒŠŗŃ–Š²", "entity.twilightforest.carminite_ghastguard": "ŠšŠ°Ń€Š¼Ń–Š½Š¾Š²ŠøŠ¹ вартовий ґаст", @@ -822,14 +841,12 @@ "entity.twilightforest.skeleton_druid": "Дкелет-Š“Ń€ŃƒŃ—Š“", "entity.twilightforest.slider": "ŠŸŠµŃ€ŠµŃŃƒŠ²Š½Š° ковзна пастка", "entity.twilightforest.slime_beetle": "Š–ŃƒŠŗ-слизовик", - "entity.twilightforest.slime_blob": "ŠšŠ°ŠæŠ»Ń слизу", "entity.twilightforest.snow_guardian": "Дніжний вартовий", "entity.twilightforest.snow_queen": "Дніжна королева", "entity.twilightforest.squirrel": "Білка", "entity.twilightforest.stable_ice_core": "Š”Ń‚Š°Š±Ń–Š»ŃŒŠ½Šµ крижане ŃŠ“Ń€Š¾", "entity.twilightforest.swarm_spider": "Ройовий павук", "entity.twilightforest.thrown_block": "ŠšŠøŠ½ŃƒŃ‚ŠøŠ¹ блок", - "entity.twilightforest.thrown_wep": "Š’ŠøŠŗŠøŠ½ŃƒŃ‚Š° Š·Š±Ń€Š¾Ń", "entity.twilightforest.tiny_bird": "ŠšŃ€ŠøŃ…Ń–Ń‚Š½Š° ŠæŃ‚Š°ŃˆŠŗŠ°", "entity.twilightforest.tome_bolt": "Болт ŃŠ¼ŠµŃ€Ń‚ŠµŠ»ŃŒŠ½Š¾Š³Š¾ фоліанта", "entity.twilightforest.towerwood_borer": "Термітна Š»ŃƒŃŠŗŃ–Š²Š½ŠøŃ†Ń", @@ -867,7 +884,6 @@ "item.twilightforest.armored_giant_spawn_egg": "Яйце виклику гіганта в броні", "item.twilightforest.bighorn_sheep_spawn_egg": "Яйце виклику барана-товсторога", "item.twilightforest.block_and_chain": "Бойова Š³ŠøŃ€Ń", - "item.twilightforest.blockchain_goblin_spawn_egg": "Яйце виклику гобліна Ń–Š· Š±Š¾Š¹Š¾Š²Š¾ŃŽ Š³ŠøŃ€ŠµŃŽ", "item.twilightforest.boar_spawn_egg": "Яйце виклику кабана", "item.twilightforest.borer_essence": "Š•ŃŠµŠ½Ń†Ń–Ń термітів-Š»ŃƒŃŠŗŃ–Š²Š½ŠøŃ†ŃŒ", "item.twilightforest.brittle_potion_flask": "ŠšŃ€ŠøŃ…ŠŗŠ° колба Š“Š»Ń Š·Ń–Š»Š»Ń", @@ -911,7 +927,6 @@ "item.twilightforest.filled_maze_map": "Мапа Š»Š°Š±Ń–Ń€ŠøŠ½Ń‚Ńƒ", "item.twilightforest.filled_ore_map": "Мапа Š»Ń–Š±ŠøŃ€ŠøŠ½Ń‚Ńƒ/Ń€ŃƒŠ“Šø", "item.twilightforest.fire_beetle_spawn_egg": "Яйце виклику Š²Š¾Š³Š½ŃŠ½Š¾Š³Š¾ жука", - "item.twilightforest.flask.doses": "Дози: %s/%s", "item.twilightforest.flask.no_refill": "ŠŠµ може Š±ŃƒŃ‚Šø повторно заповнене", "item.twilightforest.fortification_scepter": "Дкіпетр ŃƒŠŗŃ€Ń–ŠæŠ»ŠµŠ½Š½Ń", "item.twilightforest.giant_miner_spawn_egg": "Яйце виклику ŃˆŠ°Ń…Ń‚Š°Ń€Ń гіганта", diff --git a/src/main/resources/assets/twilightforest/lang/vi_vn.json b/src/main/resources/assets/twilightforest/lang/vi_vn.json index dd235f2909..6faa05258f 100644 --- a/src/main/resources/assets/twilightforest/lang/vi_vn.json +++ b/src/main/resources/assets/twilightforest/lang/vi_vn.json @@ -19,7 +19,6 @@ "advancement.twilightforest.fiery_set": "HĆ ng LĆ­t MĆ”u vĆ  Nước MįŗÆt", "advancement.twilightforest.fiery_set.desc": "Sį»­ dỄng mį»™t cĆ“ng cỄ hoįŗ·c vÅ© khĆ­ lį»­a trong khi có Ć­t nhįŗ„t mį»™t mįŗ£nh Ć”o giĆ”p lį»­a trong kho đồ cį»§a bįŗ”n", "advancement.twilightforest.full_mettle_alchemist": "NhĆ  Giįŗ£ Kim ToĆ n Diện", - "advancement.twilightforest.full_mettle_alchemist.desc": "Uống bốn liều Harming II từ bƬnh thuốc trong vòng dưới 8 giĆ¢y vĆ  sống sót", "advancement.twilightforest.ghast_trap": "Có Điều GƬ Kỳ Lįŗ” Trong Towerwood", "advancement.twilightforest.ghast_trap.desc": "Giįŗæt cĆ”c %ss xung quanh mį»™t %s vĆ  kĆ­ch hoįŗ”t Ä‘į»ƒ kĆ©o %s từ trĆŖn trį»i xuống!", "advancement.twilightforest.giants": "Ta TrĆŖn Tįŗ§ng MĆ¢y", @@ -298,15 +297,12 @@ "block.twilightforest.canopy_stairs": "Cįŗ§u Thang Gį»— Vòm", "block.twilightforest.canopy_trapdoor": "Cį»­a Bįŗ«y Gį»— Vòm", "block.twilightforest.canopy_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Vòm", - "block.twilightforest.canopy_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Vòm", - "block.twilightforest.canopy_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Vòm", "block.twilightforest.canopy_window": "Cį»­a Sổ Gį»— Vòm", "block.twilightforest.canopy_window_pane": "Tįŗ„m Cį»­a Sổ Gį»— Vòm", "block.twilightforest.canopy_wood": "Gį»— Vòm", "block.twilightforest.carminite_block": "Khối Carminite", "block.twilightforest.carminite_builder": "NgĘ°į»i XĆ¢y Dį»±ng Carminite", "block.twilightforest.carminite_reactor": "Lò Phįŗ£n Ứng Carminite", - "block.twilightforest.casket.broken": "Hòm Đồ Kį»· Vįŗ­t cį»§a bįŗ”n đã bị hʰ hį»ng quĆ” mức Ä‘į»ƒ chứa thĆŖm bįŗ„t kỳ vįŗ­t phįŗ©m nĆ o. Tįŗ„t cįŗ£ cĆ”c vįŗ­t phįŗ©m lįŗ½ ra được lʰu trữ trong hòm đồ đã bị rĘ”i xuống đẄt.", "block.twilightforest.casket.locked": "Chiįŗæc Hòm nĆ y chỉ có thể được mở bởi %s!", "block.twilightforest.castle_brick": "Gįŗ”ch LĆ¢u ĐƠi", "block.twilightforest.castle_brick_stairs": "Cįŗ§u Thang Gįŗ”ch LĆ¢u ĐƠi", @@ -330,9 +326,7 @@ "block.twilightforest.cracked_towerwood": "Gį»— ThĆ”p Nứt", "block.twilightforest.cracked_underbrick": "Gįŗ”ch Dưới Nứt", "block.twilightforest.creeper_skull_candle": "Nįŗæn Đầu Creeper", - "block.twilightforest.creeper_wall_skull_candle": "Nįŗæn Đầu Creeper Treo TĘ°į»ng", "block.twilightforest.crimson_banister": "Tay Vịn Äį» Thįŗ«m", - "block.twilightforest.cursed_spawner": "Điểm Sinh Ra Bị Nguyền", "block.twilightforest.cut_mazestone": "ĐƔ MĆŖ Cung CįŗÆt", "block.twilightforest.dark_banister": "Tay Vịn Gį»— Tối", "block.twilightforest.dark_button": "NĆŗt Gį»— Tối", @@ -351,8 +345,6 @@ "block.twilightforest.dark_stairs": "Cįŗ§u Thang Gį»— Tối", "block.twilightforest.dark_trapdoor": "Cį»­a Bįŗ«y Gį»— Tối", "block.twilightforest.dark_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Tối", - "block.twilightforest.dark_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Tối", - "block.twilightforest.dark_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Tối", "block.twilightforest.dark_wood": "Gį»— Tối", "block.twilightforest.darkwood_sapling": "CĆ¢y Non Gį»— Tối", "block.twilightforest.deadrock": "ĐƔ Chįŗæt", @@ -479,8 +471,6 @@ "block.twilightforest.mangrove_stairs": "Cįŗ§u Thang Gį»— Đước", "block.twilightforest.mangrove_trapdoor": "Cį»­a Bįŗ«y Gį»— Đước", "block.twilightforest.mangrove_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Đước", - "block.twilightforest.mangrove_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Đước", - "block.twilightforest.mangrove_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Đước", "block.twilightforest.mangrove_wood": "Gį»— Đước", "block.twilightforest.mason_jar": "Lį» Mason", "block.twilightforest.mayapple": "CĆ¢y Mayapple", @@ -506,8 +496,6 @@ "block.twilightforest.mining_stairs": "Cįŗ§u Thang Gį»— Minewood", "block.twilightforest.mining_trapdoor": "Cį»­a Bįŗ«y Gį»— Minewood", "block.twilightforest.mining_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Minewood", - "block.twilightforest.mining_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Minewood", - "block.twilightforest.mining_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Minewood", "block.twilightforest.mining_wood": "Gį»— Minewood", "block.twilightforest.minoshroom_boss_spawner": "Điểm Sinh Ra Minoshroom Trùm", "block.twilightforest.minoshroom_trophy": "CĆŗp Minoshroom", @@ -534,13 +522,11 @@ "block.twilightforest.oak_banister": "Tay Vịn Gį»— Sồi", "block.twilightforest.orange_force_field": "Lį»±c TrĘ°į»ng Cam", "block.twilightforest.piglin_skull_candle": "Nįŗæn Đầu Piglin", - "block.twilightforest.piglin_wall_skull_candle": "Nįŗæn Đầu Piglin Treo TĘ°į»ng", "block.twilightforest.pink_castle_door": "Cį»­a LĆ¢u ĐƠi Hồng", "block.twilightforest.pink_castle_rune_brick": "Gįŗ”ch Chữ Rune LĆ¢u ĐƠi Hồng", "block.twilightforest.pink_force_field": "Lį»±c TrĘ°į»ng Hồng", "block.twilightforest.player_skull_candle": "Nįŗæn Đầu NgĘ°į»i ChĘ”i", "block.twilightforest.player_skull_candle.named": "Đầu cį»§a %s vį»›i Nįŗæn", - "block.twilightforest.player_wall_skull_candle": "Nįŗæn Đầu NgĘ°į»i ChĘ”i Treo TĘ°į»ng", "block.twilightforest.potted_canopy_sapling": "CĆ¢y Non Gį»— Vòm Trong Chįŗ­u", "block.twilightforest.potted_darkwood_sapling": "CĆ¢y Non Gį»— Tối Trong Chįŗ­u", "block.twilightforest.potted_dead_thorn": "Gai ChĆ”y Trong Chįŗ­u", @@ -567,9 +553,7 @@ "block.twilightforest.root": "Rį»…", "block.twilightforest.root_strand": "Sợi Rį»…", "block.twilightforest.rope": "DĆ¢y Thừng", - "block.twilightforest.royal_rags": "Rįŗ» RĆ”ch HoĆ ng Gia", "block.twilightforest.skeleton_skull_candle": "Nįŗæn Đầu Xʰʔng", - "block.twilightforest.skeleton_wall_skull_candle": "Nįŗæn Đầu Xʰʔng Treo TĘ°į»ng", "block.twilightforest.slider": "Bįŗ«y Trượt", "block.twilightforest.smoker": "Lò HĆŗt Thuốc", "block.twilightforest.snow_queen_boss_spawner": "Điểm Sinh Ra Snow Queen Trùm", @@ -593,8 +577,6 @@ "block.twilightforest.sorting_stairs": "Cįŗ§u Thang Gį»— Sorting", "block.twilightforest.sorting_trapdoor": "Cį»­a Bįŗ«y Gį»— Sorting", "block.twilightforest.sorting_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Sorting", - "block.twilightforest.sorting_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Sorting", - "block.twilightforest.sorting_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Sorting", "block.twilightforest.sorting_wood": "Gį»— Sorting", "block.twilightforest.spiral_bricks": "Gįŗ”ch XoįŗÆn", "block.twilightforest.spruce_banister": "Tay Vịn Gį»— VĆ¢n Sam", @@ -640,8 +622,6 @@ "block.twilightforest.time_stairs": "Cįŗ§u Thang Gį»— Thį»i Gian", "block.twilightforest.time_trapdoor": "Cį»­a Bįŗ«y Gį»— Thį»i Gian", "block.twilightforest.time_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Thį»i Gian", - "block.twilightforest.time_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Thį»i Gian", - "block.twilightforest.time_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Thį»i Gian", "block.twilightforest.time_wood": "Gį»— Thį»i Gian", "block.twilightforest.torchberry_plant": "CĆ¢y Torchberry", "block.twilightforest.towerwood": "VĆ”n Gį»— ThĆ”p", @@ -663,8 +643,6 @@ "block.twilightforest.transformation_stairs": "Cįŗ§u Thang Gį»— Chuyển Đổi", "block.twilightforest.transformation_trapdoor": "Cį»­a Bįŗ«y Gį»— Chuyển Đổi", "block.twilightforest.transformation_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Chuyển Đổi", - "block.twilightforest.transformation_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Chuyển Đổi", - "block.twilightforest.transformation_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Chuyển Đổi", "block.twilightforest.transformation_wood": "Gį»— Chuyển Đổi", "block.twilightforest.trollber": "Trollber", "block.twilightforest.trollsteinn": "Trollsteinn", @@ -687,8 +665,6 @@ "block.twilightforest.twilight_oak_stairs": "Cįŗ§u Thang Gį»— Sồi HoĆ ng HĆ“n", "block.twilightforest.twilight_oak_trapdoor": "Cį»­a Bįŗ«y Gį»— Sồi HoĆ ng HĆ“n", "block.twilightforest.twilight_oak_trapped_chest": "Rʰʔng Bįŗ«y Gį»— Sồi HoĆ ng HĆ“n", - "block.twilightforest.twilight_oak_wall_hanging_sign": "Bįŗ£ng Treo TĘ°į»ng Gį»— Sồi HoĆ ng HĆ“n", - "block.twilightforest.twilight_oak_wall_sign": "Bįŗ£ng TĘ°į»ng Gį»— Sồi HoĆ ng HĆ“n", "block.twilightforest.twilight_oak_wood": "Gį»— Sồi HoĆ ng HĆ“n", "block.twilightforest.twilight_portal": "Cổng Rừng HoĆ ng HĆ“n", "block.twilightforest.twilight_portal_miniature_structure": "Cįŗ„u TrĆŗc Cổng Rừng HoĆ ng HĆ“n Thu Nhį»", @@ -712,7 +688,6 @@ "block.twilightforest.weathered_deadrock": "ĐƔ Chįŗæt Thį»i Tiįŗæt", "block.twilightforest.wispy_cloud": "MĆ¢y Mį»ng Manh", "block.twilightforest.wither_skeleton_skull_candle": "Nįŗæn Đầu Xʰʔng ĐƔng Sợ", - "block.twilightforest.wither_skeleton_wall_skull_candle": "Nįŗæn Đầu Xʰʔng ĐƔng Sợ Treo TĘ°į»ng", "block.twilightforest.worn_castle_brick": "Gįŗ”ch LĆ¢u ĐƠi Mòn", "block.twilightforest.worn_castle_brick_stairs": "Cįŗ§u Thang Gįŗ”ch LĆ¢u ĐƠi Mòn", "block.twilightforest.wrought_iron_fence": "HĆ ng RĆ o SįŗÆt Đúc", @@ -720,7 +695,6 @@ "block.twilightforest.yellow_castle_door": "Cį»­a LĆ¢u ĐƠi VĆ ng", "block.twilightforest.yellow_castle_rune_brick": "Gįŗ”ch Chữ Rune LĆ¢u ĐƠi VĆ ng", "block.twilightforest.zombie_skull_candle": "Nįŗæn Đầu Xʰʔng Zombie", - "block.twilightforest.zombie_wall_skull_candle": "Nįŗæn Đầu Xʰʔng Zombie Treo TĘ°į»ng", "commands.tffeature.center": "TĆ¢m cį»§a tĆ­nh năng: %s", "commands.tffeature.chunk": "Nįŗ±m trong khối tĆ­nh năng: %s", "commands.tffeature.nearest": "TĆ­nh năng gįŗ§n nhįŗ„t lĆ : %s", @@ -927,7 +901,6 @@ "entity.twilightforest.alpha_yeti": "Alpha Yeti", "entity.twilightforest.armored_giant": "Khổng Lồ Có GiĆ”p", "entity.twilightforest.bighorn_sheep": "Cừu Bighorn", - "entity.twilightforest.blockchain_goblin": "Goblin Khối vĆ  Chuį»—i", "entity.twilightforest.boar": "Lợn Rừng", "entity.twilightforest.carminite_broodling": "Con Non Carminite", "entity.twilightforest.carminite_ghastguard": "NgĘ°į»i Bįŗ£o Vệ Carminite", @@ -983,15 +956,12 @@ "entity.twilightforest.skeleton_druid": "Xʰʔng Druid", "entity.twilightforest.slider": "Bįŗ«y Trượt Đang Di Chuyển", "entity.twilightforest.slime_beetle": "Bį» Slime", - "entity.twilightforest.slime_blob": "Khối Slime", "entity.twilightforest.snow_guardian": "NgĘ°į»i Bįŗ£o Vệ Tuyįŗæt", "entity.twilightforest.snow_queen": "Nữ HoĆ ng Tuyįŗæt", "entity.twilightforest.squirrel": "Sóc", "entity.twilightforest.stable_ice_core": "LƵi Băng į»”n Định", "entity.twilightforest.swarm_spider": "Nhện ĐƠn", "entity.twilightforest.thrown_block": "Khối NĆ©m", - "entity.twilightforest.thrown_ice": "Bom Băng", - "entity.twilightforest.thrown_wep": "VÅ© KhĆ­ NĆ©m", "entity.twilightforest.tiny_bird": "Chim Nhį»", "entity.twilightforest.tome_bolt": "TĆŖn Lį»­a SĆ”ch Chįŗæt", "entity.twilightforest.towerwood_borer": "Kįŗ» ĐỄc Gį»— ThĆ”p", @@ -1031,7 +1001,6 @@ "item.twilightforest.armored_giant_spawn_egg": "Trứng Sinh Ra Khổng Lồ Có GiĆ”p", "item.twilightforest.bighorn_sheep_spawn_egg": "Trứng Sinh Ra Cừu Bighorn", "item.twilightforest.block_and_chain": "Khối vĆ  Chuį»—i", - "item.twilightforest.blockchain_goblin_spawn_egg": "Trứng Sinh Ra Goblin Khối vĆ  Chuį»—i", "item.twilightforest.boar_spawn_egg": "Trứng Sinh Ra Lợn Rừng", "item.twilightforest.boarkchop": "Thịt Lợn Rừng Tʰʔi", "item.twilightforest.borer_essence": "Tinh Chįŗ„t ĐỄc Lį»—", @@ -1080,7 +1049,6 @@ "item.twilightforest.filled_maze_map": "Bįŗ£n Đồ MĆŖ Cung", "item.twilightforest.filled_ore_map": "Bįŗ£n Đồ MĆŖ Cung/KhoĆ”ng Sįŗ£n", "item.twilightforest.fire_beetle_spawn_egg": "Trứng Sinh Ra Bį» Lį»­a", - "item.twilightforest.flask.doses": "Liều: %s/%s", "item.twilightforest.flask.no_refill": "KhĆ“ng thể lĆ m đầy lįŗ”i", "item.twilightforest.fortification_scepter": "Scepter Tăng CĘ°į»ng", "item.twilightforest.four_leaf_clover": "Cį» Bốn LĆ”", @@ -1790,4 +1758,4 @@ "twilightforest.tips.worldgen_features": "Khu rừng đầy những tĆ n tĆ­ch. Mį»™t số thįŗ­m chĆ­ có thể chứa cĆ”c vįŗ­t phįŗ©m độc đƔo.", "twilightforest.tips.yeti": "Yetis thĆ­ch nĆ©m mį»i thứ.", "twilightforest.tips.zombie_healing": "Zombie được triệu hồi bįŗ±ng Zombie Scepter có thể được chữa khį»i bįŗ±ng Thịt Thối." -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/zh_cn.json b/src/main/resources/assets/twilightforest/lang/zh_cn.json index d89f448ce0..3e50b45fad 100644 --- a/src/main/resources/assets/twilightforest/lang/zh_cn.json +++ b/src/main/resources/assets/twilightforest/lang/zh_cn.json @@ -6,43 +6,43 @@ "Uncrafting Table.button": "编辑", "advancement.twilightforest.arborist": "ē–Æē‹‚ę ‘ęœØå­¦å®¶", "advancement.twilightforest.arborist.desc": "å‡†å¤‡å„½ę–§å­å’Œå‰Ŗåˆ€ć€‚ęŠŠę‰€ęœ‰ēš„ēŠ„č§’ę—®ę—Æå…ØéƒØęœē“¢äø€éć€‚ē„¶åŽę”¶é›†é½ę‰€ęœ‰ä»Žę ‘äøŠå‡ŗę„ēš„äøœč„æļ¼äøč®ŗę˜Æåˆęˆå‡ŗę„čæ˜ę˜Æęˆ˜åˆ©å“ē®±å­é‡Œęœļ¼Œäøč®ŗę˜Æå°é˜¶čæ˜ę˜Æę ‘č‹—čæ˜ę˜Æę ‘å¶ļ¼ŒåŖč¦ę˜Æä»Žę ‘äøŠēš„å“ŖäøŖéƒØåˆ†åšå‡ŗę„ēš„éƒ½ē®—ļ¼", - "advancement.twilightforest.arctic_dyed": "ę—¶å°šč¾¾äŗŗ", + "advancement.twilightforest.arctic_dyed": "追赶潮流", "advancement.twilightforest.arctic_dyed.desc": "ē»™å…Øå„—ęžåœ°č£…å¤‡ęŸ“č‰²", "advancement.twilightforest.beanstalk": "ę°å…‹äøŽč±†čŒŽ", "advancement.twilightforest.beanstalk.desc": "åœØå·Øé­”ę“žē©“äø­å¤ŗå–%sļ¼Œä½æē”Øå®ƒę‰€ē”Ÿé•æēš„č±†čŒŽå‰å¾€äŗ‘äøŠę„¼é˜", - "advancement.twilightforest.experiment_115": "é‚£ę˜Æč‚‰å—ļ¼Ÿ", + "advancement.twilightforest.experiment_115": "ē„žē§˜ēš„č‚‰ļ¼Ÿ", "advancement.twilightforest.experiment_115.desc": "ē”®å®žé•æå¾—å¾ˆåƒč›‹ē³•......", - "advancement.twilightforest.experiment_115_2": "注:大成功!", + "advancement.twilightforest.experiment_115_2": "åšäøŖč®°å½•ļ¼šå¤§čƒœåˆ©ļ¼", "advancement.twilightforest.experiment_115_2.desc": "å®ƒę˜Æå¦‚ę­¤ēš„ę¾č½Æē¾Žå‘³ļ¼", "advancement.twilightforest.experiment_115_3": "ęÆå¤©éƒ½åƒ115ļ¼ŒåšęŒ115å¹“ļ¼Œē›“åˆ°ę°øčæœ", "advancement.twilightforest.experiment_115_3.desc": "ęÆå¤©éƒ½åƒå®žéŖŒē‰©å“1-1-5ļ¼Œäøč¦åœļ¼Œ115ę¬”å®žéŖŒē‰©å“1-1-5,experiment115点comļ¼Œäø‰w点experiment115点com,115å¹“ļ¼ŒęÆę—¶ęÆåˆ»éƒ½ę„experiment115点comļ¼Œäø‰w点115Ɨexperiment115点com", "advancement.twilightforest.fiery_set": "č”€ę³Ŗęˆę²³", "advancement.twilightforest.fiery_set.desc": "ę‰‹ęŒē‚½é“å·„å…·ęˆ–ę­¦å™Øļ¼Œå¹¶åœØē‰©å“ę äø­ęœ‰č‡³å°‘äø€ä»¶ē‚½é“ęŠ¤ē”²", "advancement.twilightforest.full_mettle_alchemist": "é’¢ä¹‹ē‚¼é‡‘ęœÆå£«ļ¼ļ¼Ÿ", - "advancement.twilightforest.full_mettle_alchemist.desc": "åœØå…«ē§’å†…å–äø‹å››ē“¶ä¼¤å®³čÆę°“IIå¹¶ęˆåŠŸę“»äø‹ę„", + "advancement.twilightforest.full_mettle_alchemist.desc": "åœØå…­ē§’å†…å–äø‹äø‰ē“¶ēž¬é—“ä¼¤å®³IIēš„čÆę°“å¹¶ęˆåŠŸę“»äø‹ę„", "advancement.twilightforest.ghast_trap": "é«˜å””é‡Œēš„å„‡ę€Ŗč£…ē½®", - "advancement.twilightforest.ghast_trap.desc": "仄%säøŗē„­å“ļ¼Œęæ€ę“»%s,让%sé™·å…„ä»–č‡Ŗå·±å»ŗé€ ēš„ęœŗå…³ļ¼", - "advancement.twilightforest.giants": "ęˆ‘åœØäŗ‘ē«Æ", + "advancement.twilightforest.ghast_trap.desc": "仄%säøŗē„­å“ļ¼Œęæ€ę“»%s,让%sé™·å…„ä»–č‡Ŗå·±ēš„ęœŗå…³ļ¼", + "advancement.twilightforest.giants": "é£˜ē„¶äŗ‘äøŠ", "advancement.twilightforest.giants.desc": "å‡»ę€ę –å±…äŗ‘äø­ēš„%sļ¼Œå–å¾—äø€ęŠŠ%s", - "advancement.twilightforest.glass_sword": "äø€å‡»åæ…ę€", + "advancement.twilightforest.glass_sword": "ä¼šåæƒäø€å‡»", "advancement.twilightforest.glass_sword.desc": "ę„æå–„åŠ åˆ©ē”Ø", - "advancement.twilightforest.hedge": "č™«å­ē²‰ē¢Žęœŗ", + "advancement.twilightforest.hedge": "ē¢¾ē¢Žēˆ¬č™«", "advancement.twilightforest.hedge.desc": "åœØę ‘ēÆ±čæ·å®«äø­å‡»ę€äø€åŖčœ˜č››", "advancement.twilightforest.hill1": "é“å­ę˜Æęˆ‘ēš„ļ¼", "advancement.twilightforest.hill1.desc": "åœØē©ŗåæƒēŸæå±±é‡Œå‡»ę€äø€åŖ%s", - "advancement.twilightforest.hill2": "é‚£ę˜Æä»€ä¹ˆå£°éŸ³ļ¼Ÿ", + "advancement.twilightforest.hill2": "ä»€ä¹ˆåŠØé™ļ¼Ÿ", "advancement.twilightforest.hill2.desc": "åœØå·„å…µēŸæå±±é‡Œå‡»ę€äø€åŖ%s", "advancement.twilightforest.hill3": "ęˆ‘ēœ‹č§ä½ äŗ†ļ¼", "advancement.twilightforest.hill3.desc": "åœØäŗ”ēµēŸæå±±é‡Œå‡»ę€äø€åŖ%s", "advancement.twilightforest.hydra_chop": "åæ«ēœ‹ļ¼ä¹å¤“č›‡ēš„č‚‰ļ¼", - "advancement.twilightforest.hydra_chop.desc": "åœØä½ ēš„é„„é„æå€¼č€—å°½ę—¶å¤§åƒäø€é”æ %s", - "advancement.twilightforest.kill_cicada": "闭嘓", + "advancement.twilightforest.hydra_chop.desc": "åœØä½ ēš„é„„é„æå€¼č€—å°½ę—¶å¤§å£åƒäø‹ %s", + "advancement.twilightforest.kill_cicada": "ē»™ęˆ‘å®‰é™ļ¼", "advancement.twilightforest.kill_cicada.desc": "ę€äø€åŖč‰", - "advancement.twilightforest.kill_hydra": "ä¹å¤“č›‡å± å¤«", - "advancement.twilightforest.kill_hydra.desc": "ę€ę­»å¼ŗå¤§ēš„%sļ¼Œčæ™å°†č®©ä½ åœØęš®č‰²ę£®ęž—ēš„åØęœ›å¤§å¢ž", + "advancement.twilightforest.kill_hydra": "铲除焸害", + "advancement.twilightforest.kill_hydra.desc": "ę€ę­»å¼ŗå¤§ēš„%sļ¼čæ™å°†č®©ä½ åœØęš®č‰²ę£®ęž—ēš„åØęœ›å¤§å¢ž", "advancement.twilightforest.kill_lich": "五者之遗", "advancement.twilightforest.kill_lich.desc": "å‡»ę€å””é”¶ēš„%så¹¶å–å¾—ä»–ēš„ęƒę–ļ¼čæ™ęƒę–åÆä»„é©±ę•£ę²¼ę³½ēš„ęÆ’čšŠē¾¤ć€č§£é™¤é»‘ęš—ę£®ęž—ēš„å¤±ę˜ŽčÆ…å’’å¹¶åÆ¹ęŠ—ē§Æé›Ŗę£®ęž—ēš„äø„åÆ’", - "advancement.twilightforest.kill_naga": "å‰„é³žä¹‹ę—¶", + "advancement.twilightforest.kill_naga": "å‰„é³žę—¶é—“åˆ°ļ¼", "advancement.twilightforest.kill_naga.desc": "ēŒŽę€ę£®ęž—č§’č½é‡Œēš„%sļ¼Œå–å¾—åÆä»„åø®ä½ ēŖē “å·«å¦–ę€Ŗå””é­”ę³•å£åž’ēš„%s", "advancement.twilightforest.lich_scepters": "ä¼—ę–åˆåŠ›ļ¼", "advancement.twilightforest.lich_scepters.desc": "å–å¾—ę‰€ęœ‰å››ē§åŠ›é‡ēš„ęƒę–", @@ -74,16 +74,16 @@ "advancement.twilightforest.progress_ur_ghast.desc": "触碰%sé‚£ē‚½ēŗ¢ēš„ēœ¼ę³Ŗ", "advancement.twilightforest.progress_yeti": "é¦–é¢†ēš„ęÆ›ēš®", "advancement.twilightforest.progress_yeti.desc": "披上%sę¾č½Æēš„ęÆ›ēš®ļ¼ŒęŠµęŠ—å†°å·é‡Œé‚£åˆŗéŖØēš„åÆ’é£Ž", - "advancement.twilightforest.progression_end": "ęš‚ę—¶ēš„å®Œē»“", - "advancement.twilightforest.progression_end.desc": "é«˜åœ°ä»„åŽēš„ä»»ä½•åœ°ę–¹éƒ½ę˜Æäø€äøŖęœŖå®Œęˆēš„å·„ä½œļ¼Œå®ƒå°†åœØęœŖę„ęŽØå‡ŗ", + "advancement.twilightforest.progression_end": "čæ›åŗ¦å®Œęˆ", + "advancement.twilightforest.progression_end.desc": "ę¬¢čæŽę„åˆ°é«˜åœ°ļ¼ę‰€ęœ‰åœØčæ™äø€éƒØåˆ†åŠä¹‹åŽēš„čæ›åŗ¦å·„ä½œä»åœØčæ›č”Œå½“äø­ć€‚ ę•¬čÆ·ęœŸå¾…ļ¼", "advancement.twilightforest.quest_ram": "å®Œē¾Žēš„ē¾Š", "advancement.twilightforest.quest_ram.desc": "把%sę‰€ē¼ŗå°‘ēš„éƒØåˆ†äŗ¤ē»™å®ƒ", "advancement.twilightforest.root": "ęš®č‰²ę£®ęž—", "advancement.twilightforest.root.desc": "å‰å¾€é‚£ē„žē§˜ēš„é­”ę³•ęž—åœ°ā€”ā€”ęš®č‰²ę£®ęž—ļ¼", - "advancement.twilightforest.troll": "ęˆ‘ä»¬å–œę¬¢ę¶ä½œå‰§", + "advancement.twilightforest.troll": "ę¶ä½œå‰§", "advancement.twilightforest.troll.desc": "ę‰¾åˆ°å¹¶å‡»ę€äø€åŖ%s", "advancement.twilightforest.twilight_dining": "ę°øę’é»„ę˜ä¹‹å®“", - "advancement.twilightforest.twilight_dining.desc": "åƒęš®č‰²ę£®ęž—ēš„ęÆäø€ē§é£Ÿē‰©", + "advancement.twilightforest.twilight_dining.desc": "åƒęŽ‰ę‰€ęœ‰ęš®č‰²ę£®ęž—ē‹¬ęœ‰ēš„åÆé£Ÿē”Øē‰©å“", "advancement.twilightforest.twilight_hunter": "ę£®ęž—ä¹‹é™", "advancement.twilightforest.twilight_hunter.desc": "ēŒŽę€äø€äŗ›ęš®č‰²ę£®ęž—ēš„é‡Žē”ŸåŠØē‰©", "advancement.twilightforest.uncraft_uncrafting_table": "ä½ č¶Šē•Œäŗ†", @@ -266,7 +266,7 @@ "block.twilightforest.aurora_slab": "ęžå…‰å°é˜¶", "block.twilightforest.auroralized_glass": "ęžå…‰åŒ–ēŽ»ē’ƒ", "block.twilightforest.bamboo_banister": "ē«¹ę ę†", - "block.twilightforest.banister.cycle": "ä½æē”Øę–§å¤“å³å‡»ę„ę”¹å˜ę ·å¼", + "block.twilightforest.banister.cycle": "ä½æē”Øę–§å³å‡»ę„ę”¹å˜ę ·å¼", "block.twilightforest.beanstalk_leaves": "č±†čŒŽå¶", "block.twilightforest.birch_banister": "ē™½ę”¦ęœØę ę†", "block.twilightforest.blue_castle_door": "č“č‰²åŸŽå ”é—Ø", @@ -275,7 +275,8 @@ "block.twilightforest.bold_castle_brick_pillar": "ē²—ēŗ¹åŸŽå ”ē –ęŸ±", "block.twilightforest.bold_castle_brick_stairs": "ē²—ēŗ¹åŸŽå ”ē –ę„¼ę¢Æ", "block.twilightforest.bold_castle_brick_tile": "ē²—ēŗ¹åŸŽå ”ē –ē“¦", - "block.twilightforest.bold_stone_pillar": "石巨柱", + "block.twilightforest.bold_stone_pillar": "ē²—ēŸ³ęŸ±", + "block.twilightforest.brazier": "火盆", "block.twilightforest.brown_thorns": "č†ę£˜", "block.twilightforest.built_block": "ęž„å»ŗę–¹å—", "block.twilightforest.burnt_thorns": "ēƒ§ē„¦č†ę£˜", @@ -298,15 +299,14 @@ "block.twilightforest.canopy_stairs": "č‹ē©¹ęœØę„¼ę¢Æ", "block.twilightforest.canopy_trapdoor": "č‹ē©¹ęœØę“»ęæé—Ø", "block.twilightforest.canopy_trapped_chest": "č‹ē©¹ęœØé™·é˜±ē®±", - "block.twilightforest.canopy_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼č‹ē©¹ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.canopy_wall_sign": "č‹ē©¹ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.canopy_window": "č‹ē©¹ęœØēŖ—ęˆ·", "block.twilightforest.canopy_window_pane": "č‹ē©¹ęœØēŖ—ęˆ·ęæ", "block.twilightforest.canopy_wood": "č‹ē©¹ęœØ", "block.twilightforest.carminite_block": "ē ·é“…é“å—", "block.twilightforest.carminite_builder": "砷铅铁建造器", "block.twilightforest.carminite_reactor": "ē ·é“…é“ååŗ”å †", - "block.twilightforest.casket.broken": "ä½ ēš„é—ē‰©åŒ£ē “ęŸäøå Ŗļ¼Œę— ę³•å­˜ę”¾ę›“å¤šē‰©å“ć€‚ę‰€ęœ‰ęœ¬åŗ”å­˜å…„åŒ£äø­ēš„ē‰©å“å…ØéƒØęŽ‰č½åœØåœ°ć€‚", + "block.twilightforest.casket.broken": "ä½ ēš„é—ē‰©åŒ£ē “ęŸäøå Ŗļ¼ŒåœØå­˜ę”¾é—ē‰©ę—¶å˜ęˆäŗ†å¤“é¢…ē®±å­", + "block.twilightforest.casket.damage": "ęŸåēØ‹åŗ¦ļ¼š%s", "block.twilightforest.casket.locked": "čæ™äøŖåŒ£å­åŖčƒ½ē”±%s打开!", "block.twilightforest.castle_brick": "åŸŽå ”ē –", "block.twilightforest.castle_brick_stairs": "åŸŽå ”ē –ę„¼ę¢Æ", @@ -319,6 +319,7 @@ "block.twilightforest.cinder_log": "ä½™ēƒ¬åŽŸęœØ", "block.twilightforest.cinder_wood": "ä½™ēƒ¬ęœØ", "block.twilightforest.clover_patch": "äø‰å¶č‰", + "block.twilightforest.coronation_carpet": "åŠ å†•ä»Ŗå¼åœ°ęÆÆ", "block.twilightforest.cracked_castle_brick": "č£‚ēŗ¹åŸŽå ”ē –", "block.twilightforest.cracked_castle_brick_stairs": "č£‚ēŗ¹åŸŽå ”ē –ę„¼ę¢Æ", "block.twilightforest.cracked_deadrock": "裂纹死岩", @@ -330,9 +331,7 @@ "block.twilightforest.cracked_towerwood": "ē “č£‚å””ęœØęœØęæ", "block.twilightforest.cracked_underbrick": "č£‚ēŗ¹åœ°äø‹ē –", "block.twilightforest.creeper_skull_candle": "č‹¦åŠ›ę€•å¤“é¢…ēƒ›å°", - "block.twilightforest.creeper_wall_skull_candle": "ę‚¬åŠå¼č‹¦åŠ›ę€•å¤“é¢…ēƒ›å°", "block.twilightforest.crimson_banister": "ē»Æēŗ¢ęœØę ę†", - "block.twilightforest.cursed_spawner": "å—čÆ…å’’ēš„ē”Ÿę€Ŗē¬¼", "block.twilightforest.cut_mazestone": "錾制迷宫石", "block.twilightforest.dark_banister": "é»‘ęœØę ę†", "block.twilightforest.dark_button": "é»‘ęœØęŒ‰é’®", @@ -351,8 +350,6 @@ "block.twilightforest.dark_stairs": "é»‘ęœØę„¼ę¢Æ", "block.twilightforest.dark_trapdoor": "é»‘ęœØę“»ęæé—Ø", "block.twilightforest.dark_trapped_chest": "é»‘ęœØé™·é˜±ē®±", - "block.twilightforest.dark_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼é»‘ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.dark_wall_sign": "å¢™äøŠēš„é»‘ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.dark_wood": "é»‘ęœØ", "block.twilightforest.darkwood_sapling": "黑ꠑꠑ苗", "block.twilightforest.deadrock": "死岩", @@ -456,9 +453,9 @@ "block.twilightforest.knight_phantom_trophy": "å¹»å½±éŖ‘å£«å„–ęÆ", "block.twilightforest.knightmetal_block": "éŖ‘å£«é‡‘å±žå—", "block.twilightforest.knightmetal_block.desc": "å°±åƒę˜ÆåŠ å¼ŗē‰ˆēš„ä»™äŗŗęŽŒ", - "block.twilightforest.lich_boss_spawner": "巫妖Bossåˆ·ę€Ŗē¬¼", + "block.twilightforest.lich_boss_spawner": "ęš®å…‰å·«å¦–Bossåˆ·ę€Ŗē¬¼", "block.twilightforest.lich_tower_miniature_structure": "巫妖怪唔微缩雕唑", - "block.twilightforest.lich_trophy": "å·«å¦–å„–ęÆ", + "block.twilightforest.lich_trophy": "ęš®å…‰å·«å¦–å„–ęÆ", "block.twilightforest.liveroot_block": "擻根", "block.twilightforest.locked_vanishing_block": "é”å®šēš„ę¶ˆå¤±ę–¹å—", "block.twilightforest.mangrove_banister": "ēŗ¢ę ‘ęœØę ę†", @@ -479,8 +476,6 @@ "block.twilightforest.mangrove_stairs": "ēŗ¢ę ‘ęœØę„¼ę¢Æ", "block.twilightforest.mangrove_trapdoor": "ēŗ¢ę ‘ęœØę“»ęæé—Ø", "block.twilightforest.mangrove_trapped_chest": "ēŗ¢ęœØé™·é˜±ē®±", - "block.twilightforest.mangrove_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼ēŗ¢ę ‘ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.mangrove_wall_sign": "ēŗ¢ę ‘ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.mangrove_wood": "ēŗ¢ę ‘ęœØ", "block.twilightforest.mason_jar": "ēŽ»ē’ƒē½", "block.twilightforest.mayapple": "é¬¼č‡¼ęžœ", @@ -506,8 +501,6 @@ "block.twilightforest.mining_stairs": "矿石木愼梯", "block.twilightforest.mining_trapdoor": "ēŸæēŸ³ęœØę“»ęæé—Ø", "block.twilightforest.mining_trapped_chest": "ēŸæēŸ³ęœØé™·é˜±ē®±", - "block.twilightforest.mining_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼ēŸæēŸ³ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.mining_wall_sign": "ēŸæēŸ³ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.mining_wood": "矿石木", "block.twilightforest.minoshroom_boss_spawner": "ē±³čÆŗč‡Bossåˆ·ę€Ŗē¬¼", "block.twilightforest.minoshroom_trophy": "ē±³čÆŗč‡å„–ęÆ", @@ -527,20 +520,18 @@ "block.twilightforest.naga_courtyard_miniature_structure": "åØœčæ¦åŗ­é™¢å¾®ē¼©é›•å”‘", "block.twilightforest.naga_trophy": "åØœčæ¦å„–ęÆ", "block.twilightforest.nagastone": "娜迦石", - "block.twilightforest.nagastone_head": "åØœčæ¦ēŸ³é¦–", + "block.twilightforest.nagastone_head": "娜迦石锶柱", "block.twilightforest.nagastone_pillar": "娜迦石柱", "block.twilightforest.nagastone_stairs_left": "åØœčæ¦ēŸ³ę„¼ę¢Æļ¼ˆå·¦ļ¼‰", "block.twilightforest.nagastone_stairs_right": "åØœčæ¦ēŸ³ę„¼ę¢Æļ¼ˆå³ļ¼‰", "block.twilightforest.oak_banister": "ę©”ęœØę ę†", "block.twilightforest.orange_force_field": "ę©™č‰²åŠ›åœŗ", "block.twilightforest.piglin_skull_candle": "ēŒŖēµå¤“é¢…ēƒ›å°", - "block.twilightforest.piglin_wall_skull_candle": "ę‚¬åŠå¼ēŒŖēµå¤“é¢…ēƒ›å°", "block.twilightforest.pink_castle_door": "å“ēŗ¢č‰²åŸŽå ”é—Ø", "block.twilightforest.pink_castle_rune_brick": "å“ēŗ¢č‰²åŸŽå ”ē¬¦ę–‡ē –", "block.twilightforest.pink_force_field": "å“ēŗ¢č‰²åŠ›åœŗ", "block.twilightforest.player_skull_candle": "å¤“é¢…ēƒ›å°", "block.twilightforest.player_skull_candle.named": "%sēš„å¤“é¢…ēƒ›å°", - "block.twilightforest.player_wall_skull_candle": "ę‚¬åŠå¼å¤“é¢…ēƒ›å°", "block.twilightforest.potted_canopy_sapling": "č‹ē©¹ę ‘č‹—ē›†ę ½", "block.twilightforest.potted_darkwood_sapling": "黑树树苗盆栽", "block.twilightforest.potted_dead_thorn": "ēƒ§ē„¦č†ę£˜ē›†ę ½", @@ -567,9 +558,9 @@ "block.twilightforest.root": "ę ¹", "block.twilightforest.root_strand": "根锻", "block.twilightforest.rope": "绳子", - "block.twilightforest.royal_rags": "é«˜č“µę—§åøƒ", - "block.twilightforest.skeleton_skull_candle": "éŖ·é«…å¤“ēƒ›å°", - "block.twilightforest.skeleton_wall_skull_candle": "ę‚¬åŠå¼éŖ·é«…å¤“ēƒ›å°", + "block.twilightforest.sinister_spawner": "å—čÆ…å’’ēš„ē”Ÿę€Ŗē¬¼", + "block.twilightforest.skeleton_skull_candle": "éŖ·é«…å¤“é¢…ēƒ›å°", + "block.twilightforest.skull_chest": "夓颅箱子", "block.twilightforest.slider": "ę»‘åŠØé™·é˜±", "block.twilightforest.smoker": "ēƒŸé›¾ę–¹å—", "block.twilightforest.snow_queen_boss_spawner": "å†°é›Ŗå„³ēŽ‹Bossåˆ·ę€Ŗē¬¼", @@ -593,8 +584,6 @@ "block.twilightforest.sorting_stairs": "åˆ†ē±»ęœØę„¼ę¢Æ", "block.twilightforest.sorting_trapdoor": "åˆ†ē±»ęœØę“»ęæé—Ø", "block.twilightforest.sorting_trapped_chest": "åˆ†ē±»ęœØé™·é˜±ē®±", - "block.twilightforest.sorting_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼åˆ†ē±»ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.sorting_wall_sign": "åˆ†ē±»ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.sorting_wood": "åˆ†ē±»ęœØ", "block.twilightforest.spiral_bricks": "čžŗę—‹ēŸ³ē –", "block.twilightforest.spruce_banister": "äŗ‘ę‰ęœØę ę†", @@ -640,8 +629,6 @@ "block.twilightforest.time_stairs": "ę—¶å…‰ęœØę„¼ę¢Æ", "block.twilightforest.time_trapdoor": "ę—¶å…‰ęœØę“»ęæé—Ø", "block.twilightforest.time_trapped_chest": "ę—¶å…‰ęœØé™·é˜±ē®±", - "block.twilightforest.time_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼ę—¶å…‰ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.time_wall_sign": "ę—¶å…‰ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.time_wood": "ę—¶å…‰ęœØ", "block.twilightforest.torchberry_plant": "ē«ē‚¬ęµ†ęžœę¤ē‰©", "block.twilightforest.towerwood": "å””ęœØęœØęæ", @@ -663,8 +650,6 @@ "block.twilightforest.transformation_stairs": "å˜åŒ–ęœØę„¼ę¢Æ", "block.twilightforest.transformation_trapdoor": "å˜åŒ–ęœØę“»ęæé—Ø", "block.twilightforest.transformation_trapped_chest": "å˜åŒ–ęœØé™·é˜±ē®±", - "block.twilightforest.transformation_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼å˜åŒ–ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.transformation_wall_sign": "å˜åŒ–ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.transformation_wood": "å˜åŒ–ęœØ", "block.twilightforest.trollber": "å·Øé­”čŽ“", "block.twilightforest.trollsteinn": "å·Øé­”å²©ēŸ³", @@ -687,8 +672,6 @@ "block.twilightforest.twilight_oak_stairs": "ęš®č‰²ę©”ęœØę„¼ę¢Æ", "block.twilightforest.twilight_oak_trapdoor": "ęš®č‰²ę©”ęœØę“»ęæé—Ø", "block.twilightforest.twilight_oak_trapped_chest": "ęš®č‰²ę©”ęœØé™·é˜±ē®±", - "block.twilightforest.twilight_oak_wall_hanging_sign": "å¢™äøŠēš„ę‚¬ęŒ‚å¼ęš®č‰²ę©”ęœØå‘Šē¤ŗē‰Œ", - "block.twilightforest.twilight_oak_wall_sign": "ęš®č‰²ę©”ęœØå‘Šē¤ŗē‰Œ", "block.twilightforest.twilight_oak_wood": "ęš®č‰²ę©”ęœØ", "block.twilightforest.twilight_portal": "ęš®č‰²ę£®ęž—ä¼ é€é—Ø", "block.twilightforest.twilight_portal_miniature_structure": "ęš®č‰²ę£®ęž—ä¼ é€é—Øå¾®ē¼©é›•å”‘", @@ -711,15 +694,14 @@ "block.twilightforest.warped_banister": "čÆ”å¼‚ęœØę ę†", "block.twilightforest.weathered_deadrock": "é£ŽåŒ–ę­»å²©", "block.twilightforest.wispy_cloud": "č–„äŗ‘", - "block.twilightforest.wither_skeleton_skull_candle": "å‡‹ēµéŖ·é«…å¤“ēƒ›å°", - "block.twilightforest.wither_skeleton_wall_skull_candle": "ę‚¬åŠå¼å‡‹ēµéŖ·é«…å¤“ēƒ›å°", + "block.twilightforest.wither_skeleton_skull_candle": "å‡‹ēµéŖ·é«…å¤“é¢…ēƒ›å°", "block.twilightforest.worn_castle_brick": "ē£ØęŸåŸŽå ”ē –", "block.twilightforest.worn_castle_brick_stairs": "ē£ØęŸåŸŽå ”ē –ę„¼ę¢Æ", "block.twilightforest.wrought_iron_fence": "é”»é“ę …ę ", + "block.twilightforest.wrought_iron_fence.cap": "潜蔌 + å³é”®ē‚¹å‡»é”»é“ę …ę ä»„ę”¾ē½®é”¶é„°", "block.twilightforest.yellow_castle_door": "é»„č‰²åŸŽå ”é—Ø", "block.twilightforest.yellow_castle_rune_brick": "é»„č‰²åŸŽå ”ē¬¦ę–‡ē –", "block.twilightforest.zombie_skull_candle": "åƒµå°øå¤“é¢…ēƒ›å°", - "block.twilightforest.zombie_wall_skull_candle": "ę‚¬åŠå¼åƒµå°øå¤“é¢…ēƒ›å°", "commands.tffeature.center": "åœ°ę ‡äø­åæƒļ¼š%s", "commands.tffeature.chunk": "ę˜Æå¦åœØåœ°ę ‡åŒŗå—äø­ļ¼š%s", "commands.tffeature.nearest": "č·ē¦»å½“å‰ä½ē½®ęœ€čæ‘ēš„åœ°ę ‡ļ¼š%s", @@ -741,28 +723,109 @@ "config.twilightforest.aurora_biomes": "ęžå…‰ē€č‰²ē”Ÿē‰©ē¾¤ē³»", "config.twilightforest.aurora_biomes.tooltip": "å®šä¹‰å“Ŗäŗ›ē”Ÿē‰©ē¾¤ē³»ä¼šå‡ŗēŽ°ęžå…‰ēš„ē€č‰²ę•ˆęžœć€‚ē•™ē©ŗę­¤åˆ—č”Øę„ē¦ē”Øę­¤ę•ˆęžœć€‚", "config.twilightforest.boss_drop_chests": "Bossęˆ˜åˆ©å“ē®±å­", + "config.twilightforest.boss_drop_chests.tooltip": "åÆē”ØåŽļ¼Œęš®č‰²ę£®ęž—ēš„Bosså°†ä¼šęŠŠå®ƒä»¬ēš„ęŽ‰č½ē‰©å­˜å…„ē®±å­äø­ļ¼Œē®±å­ä½äŗŽå®ƒä»¬ēš„ē”Ÿęˆåœ°ļ¼Œč€Œéžē›“ęŽ„ęŠŠē‰©å“ęŽ‰č½å‡ŗę„ć€‚ę³Øę„å¹»å½±éŖ‘å£«å¹¶äøå—ę­¤å½±å“ļ¼Œå› å…¶ęŽ‰č½ęœŗåˆ¶äøåŒć€‚", "config.twilightforest.casket_uuid_locking": "é—ē‰©åŒ£UUID锁定", + "config.twilightforest.casket_uuid_locking.tooltip": "åÆē”ØåŽļ¼Œå…¶ä»–ēŽ©å®¶ę— ęƒå¼€åÆęŸēŽ©å®¶ę­»äŗ”åŽē”Ÿęˆēš„é—ē‰©åŒ£ć€‚å¦‚ęžœä½ äøęƒ³č®©äŗŗä»Žå…¶ä»–äŗŗę­»äŗ”åŽēš„åŒ£å­äø­ę‹æå–ē‰©å“ļ¼Œå³åÆä½æē”ØčÆ„é…ē½®ć€‚\nę³Øę„ļ¼šęœåŠ”å™Øē®”ē†å‘˜ä»åÆä»„å¼€åÆäøŠé”ēš„åŒ£å­ć€‚", + "config.twilightforest.check_portal_placement": "ę£€ęŸ„ä¼ é€é—Øä½ē½®", + "config.twilightforest.check_portal_placement.tooltip": "å†³å®šē”Ÿęˆä¼ é€é—Øę—¶ę˜Æå¦åŗ”ę£€ęŸ„ē›®ēš„åœ°ę˜Æå¦å®‰å…Øć€‚ē¦ē”ØåŽļ¼Œę–°ä¼ é€é—Øä¼šåœØē›®ēš„åœ°äøå®‰å…Øę—¶ę‹’ē»ē”Ÿęˆļ¼Œč€Œäøę˜Æé‡å®šå‘åˆ°äø€äøŖåˆ«ēš„å®‰å…Øē›®ēš„åœ°ć€‚\nę³Øę„ļ¼Œē¦ē”Øę­¤é€‰é”¹åŽä¹Ÿä¼šé™ä½Žä¼ é€é—Øē”Ÿęˆę£€ęŸ„é¢‘ēŽ‡ć€‚", "config.twilightforest.cloud_precipitation": "äŗ‘é™ę°“č·ē¦»", + "config.twilightforest.cloud_precipitation.tooltip": "ęŽ§åˆ¶ęøøęˆåŗ”åœØäŗ‘äø‹ę–¹å¤šå°‘äøŖę–¹å—å†…ę‰§č”Œé™ę°“é€»č¾‘ļ¼Œä»„åŠå¤©ę°”ē›øå…³ēš„ä»£ē ć€‚\nåœØęøøęˆåˆ»é€ŸēŽ‡ä½Žę—¶é™ä½ŽčÆ„å€¼ļ¼Œé™äøŗ0ä»„å®Œå…Øē¦ē”Øäŗ‘é™ę°“é€»č¾‘ć€‚", "config.twilightforest.default_item_enchantments": "é»˜č®¤ē‰©å“é™„é­”", + "config.twilightforest.default_item_enchantments.tooltip": "ē¦ē”ØåŽļ¼Œåˆęˆč‡Ŗåø¦é­”å’’ēš„ē‰©å“ļ¼ˆä¾‹å¦‚é“ę ‘/é’¢å¶å·„å…·ļ¼‰å°†äøä¼šåœØåˆ›é€ ęØ”å¼ē‰©å“ę äø­ę˜¾ē¤ŗå…¶č‡Ŗåø¦é­”å’’ć€‚\nčÆ·ę³Øę„čæ™äø€é”¹äøä¼šå½±å“é…ę–¹ęœ¬čŗ«ļ¼Œå¦‚éœ€ę›“ę”¹é…ę–¹ļ¼ŒčÆ·ä½æē”Øę•°ę®åŒ…ć€‚", + "config.twilightforest.destructive_portal_lighting": "ē “åę€§é—Ŗē”µ", + "config.twilightforest.destructive_portal_lighting.tooltip": "ē¦ē”ØåŽļ¼Œå¼€åÆä¼ é€é—Øę—¶åŠˆäø‹ēš„é—Ŗē”µäøä¼šä»¤å‘Øå›“ę–¹å—čµ·ē«ć€‚äøŗäøč‹ŸčØ€ē¬‘ēš„äŗŗå‡†å¤‡ēš„é€‰é”¹ć€‚", "config.twilightforest.dim_settings": "结度设置", + "config.twilightforest.dim_settings.tooltip": "ę”¹å˜čæ™äŗ›č®¾ē½®å°†ä¼šåø¦ę„äø€äŗ›äøč‰Æå½±å“", + "config.twilightforest.disable_portal": "ē¦ē”Øä¼ é€é—Øåˆ›å»ŗ", + "config.twilightforest.disable_portal.tooltip": "å®Œå…Øē¦ē”Øęš®č‰²ę£®ęž—ä¼ é€é—Øļ¼›ęœ¬é€‰é”¹é€‚ē”ØäŗŽéœ€č¦äø„ę ¼é™åˆ¶ēš„ęœåŠ”å™Øē®”ē†å‘˜ć€‚", "config.twilightforest.disable_skull_candles": "ē¦ē”Øå¤“é¢…ēƒ›å°", + "config.twilightforest.disable_skull_candles.tooltip": "åÆē”ØåŽļ¼Œē¦ę­¢ä»„ę‰‹ęŒčœ”ēƒ›å³å‡»åŽŸē‰ˆå¤“é¢…ę„åˆ¶é€ å¤“é¢…ēƒ›å°ć€‚č‹„é‡åˆ°ęØ”ē»„å†²ēŖé—®é¢˜ļ¼ŒčÆ·åÆē”Øę­¤é”¹ć€‚", "config.twilightforest.disable_uncrafting": "禁用拆解", + "config.twilightforest.disable_uncrafting.tooltip": "ē¦ē”Øę‹†č§£å°ēš„ę‹†č§£åŠŸčƒ½ć€‚å¦‚ęžœä½ éœ€č¦åÆ¹ę‹†č§£å°ēš„åŠŸčƒ½ä½œå¤Ŗå¤šäæ®ę”¹ļ¼ˆęˆ–č€…ä½ åŖę˜Æę‡’ļ¼Œęˆ‘äøčÆ„åˆ¤ļ¼‰ļ¼Œå»ŗč®®ä»„ę­¤ä½œäøŗęœ€åŽēš„ę‰‹ę®µć€‚\nčÆ·ę³Øę„ļ¼Œäø€äŗ›ē‰¹ę®Šēš„ę‹†č§£é…ę–¹å°†äøä¼šč¢«ē¦ē”Øļ¼Œå› äøŗęœ¬ęØ”ē»„ä¾čµ–å…¶å®Œęˆå…¶ä»–ę“ä½œć€‚", "config.twilightforest.disable_uncrafting_table": "ē¦ē”Øę‹†č§£å°", + "config.twilightforest.disable_uncrafting_table.tooltip": "ē¦ē”Øę‹†č§£å°ēš„äø€åˆ‡ē”Øé€”ļ¼Œå¹¶é˜»ę­¢å…¶č¢«åˆęˆļ¼Œęˆ–å‡ŗēŽ°äŗŽęˆ˜åˆ©å“äø­ć€‚\nčÆ·ę³Øę„ļ¼Œę‹†č§£å°é™¤ā€œę‹†č§£ā€ęœ¬čŗ«ä»„å¤–ļ¼Œčæ˜ęœ‰å…¶ä»–åŠŸčƒ½ļ¼å‚č§ę­¤å¤„ļ¼šhttp://benimatic.com/tfwiki/index.php?title=Uncrafting_Table\néžåøøęŽØčäæęŒę‹†č§£å°åÆē”Øļ¼Œå› äøŗęœ¬ęØ”ē»„ęœ‰ē‰¹ę®Šēš„ę‹†č§£é…ę–¹ļ¼Œä½†čÆ„é€‰é”¹ä¾ę—§äæē•™ļ¼Œä¾›åøŒęœ›ē¦ē”Øę‹†č§£å°ę‰€ęœ‰åŠŸčƒ½ēš„äŗŗä½æē”Øć€‚\nå¦‚ęžœä½ åŖåøŒęœ›ē¦ē”Øåøøč§„ēš„ę‹†č§£é…ę–¹ļ¼ŒåÆä»„č€ƒč™‘ā€œē¦ē”Øę‹†č§£ā€ä»„ę›æä»£ć€‚", "config.twilightforest.giant_skin_uuid_list": "å·Øäŗŗēš®č‚¤", + "config.twilightforest.giant_skin_uuid_list.tooltip": "å†³å®šå·Øäŗŗåŗ”čÆ„ä½æē”Øå“Ŗäŗ›ēŽ©å®¶ļ¼ˆä½æē”ØUUIDč”Øē¤ŗļ¼‰ēš„ēš®č‚¤ļ¼Œē•™ē©ŗåˆ™ä½æē”Øēœ‹åˆ°ä»–ä»¬ēš„ēŽ©å®¶ēš„ēš®č‚¤ć€‚", + "config.twilightforest.ingredient_switching": "ē¦ē”Øęę–™åˆ‡ę¢", + "config.twilightforest.ingredient_switching.tooltip": "åÆē”ØåŽļ¼Œę‹†č§£å°å°†äøå†å…č®øåœØé…ę–¹ä½æē”Øę ‡ē­¾ę—¶åˆ‡ę¢äøåŒēš„ęę–™ć€‚\nčæ™å°†ä¼šåÆ¹**ę‰€ęœ‰é…ę–¹**éƒ½ē§»é™¤čÆ„åŠŸčƒ½ļ¼\nå¦‚ęžœä½ åŖęƒ³é˜»ę­¢ęŸäøŖęę–™å‡ŗēŽ°ļ¼ŒčÆ·ä½æē”Øā€œtwilightforest:banned_uncrafting_ingredientsā€ę ‡ē­¾ć€‚", + "config.twilightforest.locked_toasts": "ē¦ē”Øå·²é”å®šē”Ÿē‰©ē¾¤ē³»ēš„ęē¤ŗ", + "config.twilightforest.locked_toasts.tooltip": "ē¦ē”Øčæ›å…„å·²é”å®šē”Ÿē‰©ē¾¤ē³»ę—¶ēš„ęē¤ŗć€‚å¦‚ęžœåÆ¹ęøøęˆęŽØčæ›čæ‡ēØ‹äøå¤Ÿäŗ†č§£ļ¼ŒäøęŽØčåÆē”Øę­¤é”¹ć€‚", "config.twilightforest.magic_trees": "魔法树", - "config.twilightforest.multiplayer_fight_adjuster.more_health": "ę›“å¤šē”Ÿå‘½", + "config.twilightforest.magic_trees.tooltip": "é­”ę³•ę ‘ēš„č®¾ē½®", + "config.twilightforest.max_portal_size": "ęœ€å¤§ä¼ é€é—Øč§„ęØ”", + "config.twilightforest.max_portal_size.tooltip": "åˆ›å»ŗä¼ é€é—Øę—¶ļ¼Œęøøęˆę‰€ę£€ęµ‹ēš„ę°“åŸŸé¢ē§Æēš„ęœ€å¤§å€¼ć€‚čæ‡å¤§ēš„ę•°å€¼åÆčƒ½åÆ¼č‡“ę€§čƒ½é—®é¢˜ć€‚", + "config.twilightforest.mining_range": "ēŸæēŸ³ę ‘å·„ä½œčŒƒå›“", + "config.twilightforest.mining_range.tooltip": "č®¾ē½®ēŸæēŸ³ę ‘ę øåæƒēš„å·„ä½œčŒƒå›“ļ¼ŒåÆä»„č®¾äøŗ 1 到 128 ä¹‹é—“ēš„ä»»ę„ę•°å­—ć€‚\n设置为 0 ę—¶ēŸæēŸ³ę ‘ę øåæƒäøå·„ä½œć€‚", + "config.twilightforest.multiplayer_fight_adjuster": "å¤šäŗŗęøøęˆęˆ˜ę–—č°ƒę•“", + "config.twilightforest.multiplayer_fight_adjuster.more_health": "ę›“å¤šē”Ÿå‘½å€¼", + "config.twilightforest.multiplayer_fight_adjuster.more_loot": "ę›“å¤šęˆ˜åˆ©å“", + "config.twilightforest.multiplayer_fight_adjuster.more_loot_and_health": "ę›“å¤šęˆ˜åˆ©å“äøŽē”Ÿå‘½å€¼", "config.twilightforest.multiplayer_fight_adjuster.none": "ꗠ", + "config.twilightforest.multiplayer_fight_adjuster.tooltip": "决定Bossēš„ęˆ˜ę–—ęœŗåˆ¶åœØå¤šäŗŗęØ”å¼äø‹ēš„č°ƒę•“ę–¹å¼ļ¼Œęœ‰ä»„äø‹ 4 äøŖåÆē”Øēš„å–å€¼ļ¼š\nę— ļ¼ˆNONEļ¼‰ļ¼šåœØå¤šäŗŗå‚äøŽęˆ˜ę–—ę—¶äøčæ›č”Œä»»ä½•äæ®ę”¹ļ¼ŒBossēš„č”Œäøŗå°†äøŽå•äŗŗęØ”å¼/ē‹¬č‡Ŗęˆ˜ę–—ę—¶ē›øåŒć€‚\nę›“å¤šęˆ˜åˆ©å“ļ¼ˆMORE_LOOTļ¼‰ļ¼šę ¹ę®å‚äøŽęˆ˜ę–—ēš„äŗŗę•°å¢žåŠ BossęŽ‰č½ēš„ęˆ˜åˆ©å“ć€‚čÆ„åŠŸčƒ½å®Œå…Øē”±å®žä½“ęˆ˜åˆ©å“č”ØęŽ§åˆ¶ļ¼Œä½æē”Øā€œtwilightforest:multiplayer_multiplierā€ęˆ˜åˆ©å“å‡½ę•°ć€‚ę³Øę„ļ¼ščÆ„åŠŸčƒ½ä»…åÆ¹ę ‡ē­¾ā€œtwilightforest:multiplayer_inclusive_entitiesā€å†…ēš„å®žä½“ē”Ÿę•ˆć€‚\nę›“å¤šē”Ÿå‘½å€¼ļ¼ˆMORE_HEALTHļ¼‰ļ¼šåœØBossęˆ˜å¼€å§‹ę—¶ļ¼ŒęÆå¤šäø€åēŽ©å®¶ä¼šäøŗBoss增加 20 åæƒēš„ē”Ÿå‘½å€¼ć€‚\nę›“å¤šęˆ˜åˆ©å“äøŽē”Ÿå‘½å€¼ļ¼ˆMORE_LOOT_AND_HEALTHļ¼‰ļ¼šåŒę—¶ę‰§č”Œä»„äøŠäø¤č€…ēš„åŠŸčƒ½ć€‚", + "config.twilightforest.optifine": "é«˜ęø…äæ®å¤ē•Œé¢", + "config.twilightforest.optifine.tooltip": "ē¦ē”Øé’ˆåÆ¹OptiFineēš„č­¦å‘Š", "config.twilightforest.origin_dimension": "å§‹å‘ē»“åŗ¦", + "config.twilightforest.origin_dimension.tooltip": "é»˜č®¤ä½æē”Øēš„čƒ½åœØęš®č‰²ę£®ęž—ä¹‹é—“å¾€čæ”ēš„ē»“åŗ¦ļ¼Œé»˜č®¤äøŗåŽŸē‰ˆäø»äø–ē•Œć€‚ļ¼ˆåÆå”«å…„ļ¼šę³Øå†Œåļ¼‰", + "config.twilightforest.parry_non_twilight": "åå¼¹éžęš®č‰²ę£®ęž—å¼¹å°„ē‰©", + "config.twilightforest.parry_non_twilight.tooltip": "åÆē”ØåŽļ¼ŒåÆä»„åå¼¹éžęš®č‰²ę£®ęž—ēš„å¼¹å°„ē‰©", + "config.twilightforest.parry_window": "ę ¼ęŒ”ę—¶ęœŗ", + "config.twilightforest.parry_window.tooltip": "č¦ä½æē›¾ē‰Œåå¼¹å¼¹å°„ē‰©ę‰€éœ€č¦ēš„ęŒē›¾ę—¶é—“ļ¼Œä»„åˆ»ļ¼ˆtickļ¼‰äøŗå•ä½ć€‚ļ¼ˆ1 刻 = 1/20 秒)", + "config.twilightforest.portal_for_new_player": "äøŗēŽ©å®¶å»ŗé€ čæ”å›žä¼ é€é—Ø", + "config.twilightforest.portal_for_new_player.tooltip": "åÆē”ØåŽļ¼Œč‹„ā€œspawn_in_tfā€åŒę—¶åÆē”Øļ¼Œåˆ™ä¼šäøŗå‡ŗē”ŸäŗŽęš®č‰²ę£®ęž—ēš„ę–°ēŽ©å®¶ē”Ÿęˆčæ”å›žä¼ é€é—Øć€‚", + "config.twilightforest.portal_permission": "ä¼ é€é—Øå»ŗé€ ęƒé™", + "config.twilightforest.portal_permission.tooltip": "å…č®øę‹„ęœ‰ęŒ‡å®šęƒé™ēš„ēŽ©å®¶å»ŗé€ ä¼ é€é—Øļ¼ŒåŸŗäŗŽēš„åŽŸē‰ˆęƒé™ē³»ē»Ÿć€‚\nå…³äŗŽåŽŸē‰ˆęƒé™ē³»ē»Ÿļ¼ŒåÆęŸ„é˜…ļ¼šhttps://minecraft.wiki/w/Permission_level", + "config.twilightforest.portal_return": "é”å®ščæ”å›žä¼ é€é—Ø", + "config.twilightforest.portal_return.tooltip": "ē¦ē”ØåŽļ¼Œčæ”å›žēš„ä¼ é€é—Øéœ€č¦é¢å¤–ēš„ä¼ é€é—Øęæ€ę“»ē‰©å“ć€‚", "config.twilightforest.portal_settings": "传送门设置", + "config.twilightforest.portal_settings.tooltip": "ęš®č‰²ę£®ęž—ä¼ é€é—Øēš„č®¾ē½®", + "config.twilightforest.portal_unlocked_by_advancement": "解锁传送门进度", + "config.twilightforest.portal_unlocked_by_advancement.tooltip": "č¾“å…„äø€ęœ‰ę•ˆčæ›åŗ¦čµ„ęŗä½ē½®ć€‚ä¾‹å¦‚ļ¼Œč¾“å…„ā€œminecraft:story/mine_diamondā€ä¼šä½æęš®č‰²ä¼ é€é—ØåœØč¾¾ęˆā€œé’»ēŸ³ļ¼ā€čæ›åŗ¦åŽč§£é”ć€‚ę— ę•ˆčæ›åŗ¦ęˆ–ē•™ē©ŗåˆ™ä¼šä½æä¼ é€é—Øäø€ē›“åÆē”Øć€‚", + "config.twilightforest.portals_in_other_dimensions": "éžäø»äø–ē•Œå»ŗé€ ęš®č‰²ä¼ é€é—Ø", + "config.twilightforest.portals_in_other_dimensions.tooltip": "å…č®øåœØäø»äø–ē•Œä¹‹å¤–ēš„ē»“åŗ¦å»ŗé€ ęš®č‰²ę£®ęž—ä¼ é€é—Øļ¼ŒęŸäŗ›ęƒ…å†µäø‹åÆč§†ä½œä½œå¼Šć€‚", + "config.twilightforest.prettify_ore_meter_gui": "ē¾ŽåŒ–ēŸæēŸ³ę„Ÿåŗ”ä»ŖGUI", + "config.twilightforest.prettify_ore_meter_gui.tooltip": "åÆ¹é½ēŸæēŸ³ę„Ÿåŗ”ä»ŖGUIäø­ēš„ē “ęŠ˜å·å’Œē™¾åˆ†å·ć€‚", + "config.twilightforest.ram_indicator": "č°œé¢˜ē¾Šē¾ŠęÆ›ęŒ‡ē¤ŗ", + "config.twilightforest.ram_indicator.tooltip": "ę‰‹ęŒē¾ŠęÆ›ęŒ‡å‘č°œé¢˜ē¾Šę—¶ļ¼ŒåœØåå­—å‡†ę˜ŸäøŠę–¹ę˜¾ē¤ŗå‹¾ęˆ–å‰ļ¼Œē”ØäŗŽęē¤ŗčÆ„é¢œč‰²ēš„ē¾ŠęÆ›ę˜Æå¦å·²ęäŗ¤", + "config.twilightforest.repairing_xp_cost": "äæ®å¤ęˆęœ¬å€ēŽ‡", + "config.twilightforest.repairing_xp_cost.tooltip": "å°†äæ®å¤ē‰©å“ę‰€éœ€ēš„ę€»ē»éŖŒå€ä¹˜ļ¼Œå‘äøŠå–ę•“ć€‚\nę•°å€¼č¶Šé«˜ļ¼Œäæ®å¤ę¶ˆč€—ēš„ē»éŖŒč¶Šå¤šļ¼Œåä¹‹åˆ™č¶Šå°‘ć€‚č®¾ē½®äøŗ0ę—¶å®Œå…Øäøę¶ˆč€—ē»éŖŒć€‚", "config.twilightforest.screen_shake": "č±†čŒŽå±å¹•ę‘‡ę™ƒ", + "config.twilightforest.screen_shake.tooltip": "å†³å®šåœØé­”č±†ē”Ÿé•æę—¶ļ¼Œå±å¹•ę˜Æå¦ęŠ–åŠØć€‚", "config.twilightforest.shapeless_uncrafting": "无形拆解", + "config.twilightforest.shapeless_uncrafting.tooltip": "åÆē”ØåŽļ¼Œę‹†č§£å°ä¹ŸåÆä»„ę‹†č§£ę— åŗé…ę–¹ć€‚\nę‹†č§£å°ēš„ęœ€åˆč®¾å®šäøŗåŖčƒ½ę‹†č§£ęœ‰åŗé…ę–¹ļ¼Œä½†čÆ„é€‰é”¹ä¾ę—§äæē•™ļ¼Œä¾›åøŒęœ›ę‹†č§£ę— åŗé…ę–¹ēš„äŗŗä½æē”Øć€‚", + "config.twilightforest.shield": "ē›¾ē‰Œäŗ¤äŗ’", + "config.twilightforest.shield.tooltip": "ęˆ‘ä»¬ęŽØčå®‰č£…Shield Parryčæ™äøŖęØ”ē»„ę„å®žēŽ°äø€ę ·ēš„ę•ˆęžœļ¼Œä½†å¦‚ęžœä½ ę²”č£…ļ¼Œčæ™äŗ›ä¾æę˜ÆåÆä¾›č°ƒę•“ēš„é€‰é”¹ć€‚", + "config.twilightforest.shield_indicator": "ęŠ¤ē›¾ęŒ‡ē¤ŗå™Ø", + "config.twilightforest.shield_indicator.tooltip": "åœØä½ ēš„ęŠ¤ē”²ę äøŠę–¹ę˜¾ē¤ŗä½ ę‹„ęœ‰å¤šå°‘äøŖęœ‰ę•ˆęŠ¤ē›¾ć€‚\nå¦‚ęžœå…¶ä»–ęØ”ē»„åœØå…¶äøŠ/äø‹ę˜¾ē¤ŗäŗ†å†…å®¹ļ¼Œē¦ē”Øę­¤é”¹ć€‚", + "config.twilightforest.shield_indicator_creative": "ęŠ¤ē›¾ęŒ‡ē¤ŗå™Øļ¼ˆåˆ›é€ ęØ”å¼ļ¼‰", + "config.twilightforest.shield_indicator_creative.tooltip": "åœØåˆ›é€ ęčæ°äø‹åÆē”ØęŠ¤ē›¾ęŒ‡ē¤ŗå™Øä»„ä¾›č°ƒčÆ•ć€‚", "config.twilightforest.silent_cicadas": "ē¦ē”Øč‰éø£", "config.twilightforest.silent_cicadas.tooltip": "č‹„å£°éŸ³åŗ“å‡ŗēŽ°é—®é¢˜ļ¼Œęˆ–č€…åŖę˜Æč§‰å¾—č‰ååˆ†å˜ˆåµļ¼ŒåÆč€ƒč™‘åÆē”Øę­¤é”¹ć€‚", "config.twilightforest.silent_cicadas_on_head": "ē¦ę­¢å¤“ęˆ“č‰ēš„č‰éø£", - "config.twilightforest.spawn_in_tf": "ē”ŸęˆäŗŽęš®å…‰ę£®ęž—", + "config.twilightforest.silent_cicadas_on_head.tooltip": "ä½æč‰åœØä½ å¤“äøŠäæęŒå®‰é™ć€‚č‹„å·²åÆē”ØäøŠäø€é€‰é”¹ļ¼Œę­¤é€‰é”¹ę— ę•ˆć€‚", + "config.twilightforest.sorting_range": "åˆ†ē±»ę ‘å·„ä½œčŒƒå›“", + "config.twilightforest.sorting_range.tooltip": "č®¾ē½®åˆ†ē±»ę ‘å¼•ę“Žēš„å·„ä½œčŒƒå›“ļ¼ŒåÆä»„č®¾äøŗ 1 到 128 ä¹‹é—“ēš„ä»»ę„ę•°å­—ć€‚\n设置为 0 ę—¶åˆ†ē±»ę ‘å¼•ę“Žäøå·„ä½œć€‚", + "config.twilightforest.spawn_in_tf": "ē”ŸęˆäŗŽęš®č‰²ę£®ęž—", + "config.twilightforest.spawn_in_tf.tooltip": "åÆē”ØåŽļ¼Œę–°ēŽ©å®¶ä¼šē›“ęŽ„å‡ŗē”ŸåœØęš®č‰²ę£®ęž—ļ¼Œč€Œäøę˜Æäø»äø–ē•Œäø­ć€‚", + "config.twilightforest.time_range": "ę—¶å…‰ę ‘å·„ä½œčŒƒå›“", + "config.twilightforest.time_range.tooltip": "č®¾ē½®ę—¶å…‰ę ‘ę—¶é’Ÿēš„å·„ä½œčŒƒå›“ļ¼ŒåÆä»„č®¾äøŗ 1 到 128 ä¹‹é—“ēš„ä»»ę„ę•°å­—ć€‚\n设置为 0 ę—¶ę—¶å…‰ę ‘ę—¶é’Ÿäøå·„ä½œć€‚", + "config.twilightforest.totem_charm_animation": "äøę­»å›¾č…¾å¼ē¬¦å’’åŠØē”»", + "config.twilightforest.totem_charm_animation.tooltip": "ē¬¦å’’ē”Ÿę•ˆę—¶ļ¼Œä½æå…¶ę˜¾ē¤ŗē±»ä¼¼äŗŽäøę­»å›¾č…¾ēš„ę•ˆęžœļ¼Œč€Œéžęš®č‰²ę£®ęž—ēš„åŽŸå®šę•ˆęžœ", + "config.twilightforest.transformation_range": "å˜åŒ–ę ‘å·„ä½œčŒƒå›“", + "config.twilightforest.transformation_range.tooltip": "č®¾ē½®å˜åŒ–ę ‘åæƒč„ēš„å·„ä½œčŒƒå›“ļ¼ŒåÆä»„č®¾äøŗ 1 到 128 ä¹‹é—“ēš„ä»»ę„ę•°å­—ć€‚\n设置为 0 ę—¶å˜åŒ–ę ‘åæƒč„äøå·„ä½œć€‚", "config.twilightforest.uncrafting": "ę‹†č§£å°", + "config.twilightforest.uncrafting.tooltip": "ę‹†č§£å°ēš„č®¾ē½®", + "config.twilightforest.uncrafting_mod_id_flip": "Mod ID 黑名单", + "config.twilightforest.uncrafting_mod_id_flip.tooltip": "åÆē”ØåŽļ¼ŒäøŠčæ°é€‰é”¹å°†ä»Žé»‘åå•å˜äøŗē™½åå•", + "config.twilightforest.uncrafting_mod_ids": "å·²ē¦ē”Øēš„Mod ID", + "config.twilightforest.uncrafting_mod_ids.tooltip": "åœØčæ™é‡ŒåÆä»„ē¦ē”Øē‰¹å®šęØ”ē»„ę‰€ęœ‰ē‰©å“ēš„ę‹†č§£é…ę–¹\nč¾“å…„äø€äøŖęœ‰ę•ˆēš„Mod IDę„ē¦ē”ØčÆ„ęØ”ē»„ēš„ę‹†č§£é…ę–¹\nå¦‚ļ¼š\"twilightforest\"å°†ä¼šē¦ē”Øę‰€ęœ‰čÆ„ęØ”ē»„ēš„ę‹†č§£é…ę–¹", + "config.twilightforest.uncrafting_recipes": "ē¦ē”Øēš„é…ę–¹", + "config.twilightforest.uncrafting_recipes.tooltip": "å¦‚ęžœä½ äøęƒ³å®Œå…Øē¦ē”Øę‹†č§£å°ļ¼Œč€ŒåŖę˜Æęƒ³ē¦ē”ØéƒØåˆ†é…ę–¹ļ¼ŒåÆåÆē”Øę­¤é”¹ć€‚\nč¦ē¦ē”Øé…ę–¹ļ¼Œę·»åŠ Mod IDå’Œé…ę–¹åē§°ļ¼ŒMod IDåœØé…ę–¹åē§°å‰é¢ć€‚åÆåœØJEI中柄询Mod IDå’Œé…ę–¹åē§°ć€‚\nē¤ŗä¾‹ļ¼šā€œtwilightforest:firefly_particle_spawnerā€ä¼šē¦ē”Øå°†č¤ē«ē²’å­ē½ę‹†č§£äøŗč¤ē«č™«ē½å­ć€č¤ē«č™«å’Œč™žē¾Žäŗŗēš„é…ę–¹ć€‚\nå¦‚ęžœäø€äøŖē‰©å“ęœ‰å¤šäøŖę‹†č§£é…ę–¹ļ¼Œęƒ³č¦å…ØéƒØē¦ē”Øļ¼ŒčÆ·å°†ē‰©å“åŠ č‡³ā€œtwilightforest:banned_uncraftablesā€ę ‡ē­¾äø‹ć€‚\nå¦‚ęžœé‡åˆ°äŗ†ä¼šå¼•čµ·é—®é¢˜ēš„ęę–™ļ¼Œä¾‹å¦‚č™«č›€å””ęœØęœØęæļ¼ŒčÆ·å°†čÆ„ē‰©å“åŠ č‡³ā€œtwilightforest:banned_uncrafting_ingredientsā€ę ‡ē­¾äø‹ć€‚", + "config.twilightforest.uncrafting_recipes_flip": "é…ę–¹é»‘åå•", + "config.twilightforest.uncrafting_recipes_flip.tooltip": "åÆē”ØåŽļ¼Œę‹†č§£å°é…ę–¹é»‘åå•å˜äøŗē™½åå•ć€‚", + "config.twilightforest.uncrafting_xp_cost": "ę‹†č§£ęˆęœ¬å€ēŽ‡", + "config.twilightforest.uncrafting_xp_cost.tooltip": "å°†ę‹†č§£ē‰©å“ę‰€éœ€ēš„ę€»ē»éŖŒå€ä¹˜ļ¼Œå‘äøŠå–ę•“ć€‚\nę•°å€¼č¶Šé«˜ļ¼Œę‹†č§£ę¶ˆč€—ēš„ē»éŖŒč¶Šå¤šļ¼Œåä¹‹åˆ™č¶Šå°‘ć€‚č®¾ē½®äøŗ0ę—¶å®Œå…Øäøę¶ˆč€—ē»éŖŒć€‚\nčÆ·ę³Øę„ļ¼Œę­¤é€‰é”¹ä»…å½±å“ā€œé€†åˆęˆé…ę–¹ā€ļ¼Œę‹†č§£é…ę–¹ēš„ē»éŖŒę¶ˆč€—äøå—å½±å“ć€‚", "container.twilightforest.uncrafting_table": "ę‹†č§£å°", - "container.twilightforest.uncrafting_table.cycle_back_ingredient": "é˜»ę­¢ę‹†č§£čŽ·å¾—ēš„ęę–™", + "container.twilightforest.uncrafting_table.cycle_back_ingredient": "äøŠäø€äøŖę‹†č§£ęę–™", "container.twilightforest.uncrafting_table.cycle_back_recipe": "é˜»ę­¢åˆęˆé…ę–¹", "container.twilightforest.uncrafting_table.cycle_back_uncraft": "é˜»ę­¢ę‹†č§£é…ę–¹", "container.twilightforest.uncrafting_table.cycle_next_ingredient": "äø‹äø€äøŖę‹†č§£ęę–™", @@ -799,7 +862,7 @@ "death.attack.twilightforest.knightmetal.player": "%1$såœØčÆ•å›¾é€ƒē¦»%2$sę—¶č¢«éŖ‘å£«é‡‘å±žå—åˆŗē©æäŗ†", "death.attack.twilightforest.leafBrain": "%1$sēš„č„‘č¢‹č¢«%2$så˜ęˆäŗ†ę ‘å¶", "death.attack.twilightforest.leafBrain.item": "%1$sēš„č„‘č¢‹č¢«%2$s用%3$så˜ęˆäŗ†ę ‘å¶", - "death.attack.twilightforest.lichBolt": "å·«å¦–ēš„å‡†å¤“ęÆ”%1$s曓儽", + "death.attack.twilightforest.lichBolt": "ęš®å…‰å·«å¦–ēš„å‡†å¤“ęÆ”%1$s曓儽", "death.attack.twilightforest.lichBolt.player": "巫妖和%2$sēš„å‡†å¤“ęÆ”%1$s曓儽", "death.attack.twilightforest.lichBomb": "%1$sč½č“„äŗŽå·«å¦–ēš„ēˆ†ē‚øé­”ę³•ä¹‹äø‹", "death.attack.twilightforest.lichBomb.player": "%1$såœØčÆ•å›¾é€ƒē¦»%2$sę—¶č½č“„äŗŽå·«å¦–ēš„ēˆ†ē‚øé­”ę³•ä¹‹äø‹", @@ -841,14 +904,16 @@ "enchantment.twilightforest.destruction.desc": "č®©é“¾é”¤ēš„ē “ååŒŗåŸŸå˜å¾—ę›“å¤§ć€‚", "enchantment.twilightforest.fire_react": "ē‚½ē„°ååˆ¶", "enchantment.twilightforest.fire_react.desc": "å¢žåŠ ę”»å‡»č€…åœØå‡»äø­ä½©ęˆ“č€…åŽč¢«ē‚¹ē‡ƒēš„ę¦‚ēŽ‡ć€‚", + "enchantment.twilightforest.renewal": "ē»­å»¶", + "enchantment.twilightforest.renewal.desc": "åœØęƒę–čƒ½é‡č€—å°½ę—¶ļ¼Œč‡ŖåŠØē”ØēŽ©å®¶ē‰©å“ę äø­ēš„å……čƒ½ē‰©äøŗä¹‹å……čƒ½ć€‚", "entity.twilightforest.adherent": "俔徒", "entity.twilightforest.alpha_yeti": "雪怪首领", "entity.twilightforest.armored_giant": "武装巨人", "entity.twilightforest.bighorn_sheep": "å¤§č§’ē»µē¾Š", - "entity.twilightforest.blockchain_goblin": "é“¾é”¤å“„åøƒęž—", + "entity.twilightforest.block_and_chain_goblin": "é“¾é”¤å“„åøƒęž—", "entity.twilightforest.boar": "é‡ŽēŒŖ", - "entity.twilightforest.carminite_broodling": "ē ·é“…é“åÆ„ē”Ÿč™«", - "entity.twilightforest.carminite_ghastguard": "高唔守卫", + "entity.twilightforest.carminite_broodling": "ē ·é“…é“é›č™«", + "entity.twilightforest.carminite_ghastguard": "ē ·é“…é“ę¶é­‚å®ˆå«", "entity.twilightforest.carminite_ghastling": "砷铅铁恶灵", "entity.twilightforest.carminite_golem": "砷铅铁傀儔", "entity.twilightforest.chain_block": "链锤", @@ -862,11 +927,12 @@ "entity.twilightforest.giant_miner": "巨人矿巄", "entity.twilightforest.harbinger_cube": "噩兆立方", "entity.twilightforest.hedge_spider": "ę ‘ēÆ±čœ˜č››", - "entity.twilightforest.helmet_crab": "åÆ„å±…čŸ¹", + "entity.twilightforest.helmet_crab": "éŖ‘å±…čŸ¹", "entity.twilightforest.hostile_wolf": "恶狼", "entity.twilightforest.hydra": "ä¹å¤“č›‡", "entity.twilightforest.hydra_mortar": "ä¹å¤“č›‡ēˆ†å¼¹", "entity.twilightforest.ice_arrow": "寒冰箭", + "entity.twilightforest.ice_bomb": "å†°éœœē‚øå¼¹", "entity.twilightforest.ice_crystal": "冰晶", "entity.twilightforest.ice_snowball": "å†°éœœé›Ŗēƒ", "entity.twilightforest.king_spider": "å›½ēŽ‹čœ˜č››", @@ -893,7 +959,7 @@ "entity.twilightforest.protection_box": "čæ›åŗ¦äæęŠ¤ē®±", "entity.twilightforest.quest_ram": "谜题羊", "entity.twilightforest.raven": "渔鸦", - "entity.twilightforest.redcap": "红帽", + "entity.twilightforest.redcap": "红帽矮人", "entity.twilightforest.redcap_sapper": "红帽巄兵", "entity.twilightforest.rising_zombie": "僵尸", "entity.twilightforest.roving_cube": "漫游立方", @@ -901,36 +967,35 @@ "entity.twilightforest.skeleton_druid": "éŖ·é«…å¾·é²ä¼Š", "entity.twilightforest.slider": "ę»‘åŠØé™·é˜±", "entity.twilightforest.slime_beetle": "é»ę¶²ē”²č™«", - "entity.twilightforest.slime_blob": "é»ę¶²ę»“", + "entity.twilightforest.slime_projectile": "é»ę¶²ę»“", "entity.twilightforest.snow_guardian": "å†°é›Ŗå®ˆå«", "entity.twilightforest.snow_queen": "å†°é›Ŗå„³ēŽ‹", "entity.twilightforest.squirrel": "ę¾é¼ ", - "entity.twilightforest.stable_ice_core": "冰精灵", + "entity.twilightforest.stable_ice_core": "冰晶核", "entity.twilightforest.swarm_spider": "é›†ē¾¤čœ˜č››", "entity.twilightforest.thrown_block": "ęŽ·å‡ŗēš„ę–¹å—", - "entity.twilightforest.thrown_ice": "å†°éœœē‚øå¼¹", - "entity.twilightforest.thrown_wep": "ęŠ•ęŽ·ę­¦å™Ø", + "entity.twilightforest.thrown_weapon": "ęŠ•ęŽ·ę­¦å™Ø", "entity.twilightforest.tiny_bird": "å°éøŸ", "entity.twilightforest.tome_bolt": "ę­»ēµä¹¦ę³•ęŸ", "entity.twilightforest.towerwood_borer": "å””ęœØč›€č™«", "entity.twilightforest.troll": "å·Øé­”", - "entity.twilightforest.unstable_ice_core": "ē “ē¢Žå†°ē²¾ēµ", + "entity.twilightforest.unstable_ice_core": "äøēØ³å®šå†°ę™¶ę ø", "entity.twilightforest.upper_goblin_knight": "å“„åøƒęž—éŖ‘å£«ļ¼ˆäøŠčŗ«ļ¼‰", "entity.twilightforest.ur_ghast": "ęš®åˆę¶é­‚", - "entity.twilightforest.wand_bolt": "é»„ę˜ęƒę–ę³•ęŸ", + "entity.twilightforest.wand_bolt": "ęš®å…‰ęƒę–ę³•ęŸ", "entity.twilightforest.winter_wolf": "寒冬狼", - "entity.twilightforest.wraith": "幽灵", + "entity.twilightforest.wraith": "ęøøé­‚", "entity.twilightforest.yeti": "雪怪", "gamerule.tfEnforcedProgression": "ęš®č‰²ę£®ęž—ļ¼šę‰§č”Œčæ›åŗ¦", - "gamerule.tfEnforcedProgression.description": "äø€äŗ›ęš®å…‰ę£®ęž—ē”Ÿē‰©ē¾¤ē³»å°†č¢«é”å®šļ¼Œē›“åˆ°ę‚Øå‡»č“„čÆ„ē»“åŗ¦äø­ēš„ē‰¹å®šBoss怂 (ę‚ØåÆä»„åœØčæ›åŗ¦äø­ęŸ„ēœ‹čæ›åŗ¦é”ŗåŗ)", + "gamerule.tfEnforcedProgression.description": "äø€äŗ›ęš®č‰²ę£®ęž—ē”Ÿē‰©ē¾¤ē³»å°†č¢«é”å®šļ¼Œē›“åˆ°ę‚Øå‡»č“„čÆ„ē»“åŗ¦äø­ēš„ē‰¹å®šBoss怂 (ę‚ØåÆä»„åœØčæ›åŗ¦äø­ęŸ„ēœ‹čæ›åŗ¦é”ŗåŗ)", "giantSkinUUIDs.button": "ē¼–č¾‘ēš®č‚¤", "gui.twilightforest.crumble_horn_jei": "ē“¦č§£ä¹‹å·č§’", "gui.twilightforest.moonworm_queen_jei": "äæ®å¤ęœˆå…‰č •č™«å„³ēŽ‹", "gui.twilightforest.optifine.message": "åœØē»§ē»­ä¹‹å‰ļ¼ŒčÆ·ę³Øę„ Optifine å·²ēŸ„ä¼šåÆ¼č‡“å“©ęŗƒć€å¤šéƒØåˆ†å®žä½“č§†č§‰é”™čÆÆå’Œč®øå¤šå…¶ä»–é—®é¢˜ć€‚\n\nåœØęŠ„å‘Šé”™čÆÆä¹‹å‰ļ¼ŒčÆ·å…ˆåˆ é™¤ Optifineļ¼Œē„¶åŽå†ę¬”ę£€ęŸ„é”™čÆÆę˜Æå¦ä»ē„¶å­˜åœØć€‚\n\nOptifine ē›øå…³é—®é¢˜åœØęš®č‰²ę£®ęž—äø­åÆčƒ½ę°øčæœę— ę³•č§£å†³ļ¼\n\nčÆ„å†…å®¹åÆčƒ½åœØå®¢ęˆ·ē«Æé…ē½®äø­č¢«ē¦ē”Øć€‚", "gui.twilightforest.optifine.suggestions": "å¦‚äø‹ę˜Æęˆ‘ä»¬ęŽØčä½æē”Øēš„äø€äŗ›ę›æä»£ęØ”ē»„ć€‚", - "gui.twilightforest.optifine.title": "č­¦å‘Šļ¼šę£€ęµ‹åˆ° optifine", + "gui.twilightforest.optifine.title": "č­¦å‘Šļ¼šę£€ęµ‹åˆ° OptiFine", "gui.twilightforest.progression_end.discord": "Discord ęœåŠ”å™Ø", - "gui.twilightforest.progression_end.message": "čæ›åŗ¦å·²ē»å®Œęˆć€‚ åœØé«˜åŽŸäøŠē­‰å¾…ēš„ęœ€ē»ˆåŸŽå ”å°šęœŖå®Œå·„ļ¼Œę­£åœØčæ›č”Œäø­ć€‚ å¦‚ęžœę‚Øęƒ³äŗ†č§£ mod ēš„å¼€å‘čæ›åŗ¦ļ¼Œę‚ØåÆä»„åŠ å…„ęˆ‘ä»¬ēš„%s怂", + "gui.twilightforest.progression_end.message": "čæ›åŗ¦å·²ē»å®Œęˆć€‚ åœØé«˜åŽŸäøŠē­‰å¾…ēš„ęœ€ē»ˆåŸŽå ”å°šęœŖå®Œå·„ļ¼Œę­£åœØčæ›č”Œäø­ć€‚ å¦‚ęžœę‚Øęƒ³äŗ†č§£ęØ”ē»„ēš„å¼€å‘čæ›åŗ¦ļ¼Œę‚ØåÆä»„åŠ å…„ęˆ‘ä»¬ēš„%s怂", "gui.twilightforest.transformation_jei": "č½¬ę¢ē²‰", "gui.twilightforest.uncrafting_jei": "拆解", "item.twilightforest.adherent_spawn_egg": "äæ”å¾’åˆ·ę€Ŗč›‹", @@ -949,7 +1014,7 @@ "item.twilightforest.armored_giant_spawn_egg": "ę­¦č£…å·Øäŗŗåˆ·ę€Ŗč›‹", "item.twilightforest.bighorn_sheep_spawn_egg": "å¤§č§’ē»µē¾Šåˆ·ę€Ŗč›‹", "item.twilightforest.block_and_chain": "链锤", - "item.twilightforest.blockchain_goblin_spawn_egg": "é“¾é”¤å“„åøƒęž—åˆ·ę€Ŗč›‹", + "item.twilightforest.block_and_chain_goblin_spawn_egg": "é“¾é”¤å“„åøƒęž—åˆ·ę€Ŗč›‹", "item.twilightforest.boar_spawn_egg": "é‡ŽēŒŖåˆ·ę€Ŗč›‹", "item.twilightforest.boarkchop": "ē”Ÿé‡ŽēŒŖęŽ’", "item.twilightforest.borer_essence": "č›€č™«ē²¾åŽ", @@ -957,8 +1022,8 @@ "item.twilightforest.canopy_boat": "č‹ē©¹ęœØčˆ¹", "item.twilightforest.canopy_chest_boat": "č‹ē©¹ęœØčæč¾“čˆ¹", "item.twilightforest.carminite": "ē ·é“…é“ēŸæēŸ³", - "item.twilightforest.carminite_broodling_spawn_egg": "ē ·é“…é“åÆ„ē”Ÿč™«åˆ·ę€Ŗč›‹", - "item.twilightforest.carminite_ghastguard_spawn_egg": "ē ·é“…é“å®ˆå«åˆ·ę€Ŗč›‹", + "item.twilightforest.carminite_broodling_spawn_egg": "ē ·é“…é“é›č™«åˆ·ę€Ŗč›‹", + "item.twilightforest.carminite_ghastguard_spawn_egg": "ē ·é“…é“ę¶é­‚å®ˆå«åˆ·ę€Ŗč›‹", "item.twilightforest.carminite_ghastling_spawn_egg": "ē ·é“…é“ę¶ēµåˆ·ę€Ŗč›‹", "item.twilightforest.carminite_golem_spawn_egg": "ē ·é“…é“å‚€å„”åˆ·ę€Ŗč›‹", "item.twilightforest.charm_of_keeping_1": "äæē®”ē¬¦å’’ I", @@ -979,7 +1044,9 @@ "item.twilightforest.diamond_minotaur_axe": "é’»ēŸ³ē±³čÆŗé™¶ęˆ˜ę–§", "item.twilightforest.dwarf_rabbit_spawn_egg": "ä¾å„’å…”åˆ·ę€Ŗč›‹", "item.twilightforest.emperors_cloth": "ēš‡åøåøƒåø›", + "item.twilightforest.emperors_cloth.desc": "伪装", "item.twilightforest.ender_bow": "ęœ«å½±å¼“", + "item.twilightforest.exanimate_essence": "å°øåŒ–ē²¾åŽ", "item.twilightforest.fiery_armor.desc": "ē¼ēƒ§ę”»å‡»č€…", "item.twilightforest.fiery_blood": "ē‚½ēƒ­ēš„č”€ę¶²", "item.twilightforest.fiery_boots": "ē‚½é“é“å­", @@ -996,7 +1063,8 @@ "item.twilightforest.filled_maze_map": "čæ·å®«åœ°å›¾", "item.twilightforest.filled_ore_map": "迷宫/ēŸæēŸ³åœ°å›¾", "item.twilightforest.fire_beetle_spawn_egg": "å–·ē«ē”²č™«åˆ·ę€Ŗč›‹", - "item.twilightforest.flask.doses": "å‰‚é‡ļ¼š%s/%s", + "item.twilightforest.flask.empty": "空", + "item.twilightforest.flask.empty_description": "åÆä»„å­˜å‚Øå¤šē“¶čÆę°“", "item.twilightforest.flask.no_refill": "ę— ę³•é‡ę–°č£…ę»”", "item.twilightforest.fortification_scepter": "ęŠ¤ē›¾ęƒę–", "item.twilightforest.four_leaf_clover": "å››å¶č‰", @@ -1008,9 +1076,9 @@ "item.twilightforest.glass_sword.desc": "ä»…čƒ½åœØåˆ›é€ ęØ”å¼äø‹čŽ·å¾—", "item.twilightforest.gold_minotaur_axe": "é‡‘ē±³čÆŗé™¶ęˆ˜ę–§", "item.twilightforest.greater_potion_flask": "å¤§åž‹čÆę°“ē“¶", - "item.twilightforest.harbinger_cube_spawn_egg": "å™©å…†ę–¹å—åˆ·ę€Ŗč›‹", + "item.twilightforest.harbinger_cube_spawn_egg": "å™©å…†ē«‹ę–¹åˆ·ę€Ŗč›‹", "item.twilightforest.hedge_spider_spawn_egg": "ę ‘ēÆ±čœ˜č››åˆ·ę€Ŗč›‹", - "item.twilightforest.helmet_crab_spawn_egg": "åÆ„å±…čŸ¹åˆ·ę€Ŗč›‹", + "item.twilightforest.helmet_crab_spawn_egg": "éŖ‘å±…čŸ¹åˆ·ę€Ŗč›‹", "item.twilightforest.hostile_wolf_spawn_egg": "ę¶ē‹¼åˆ·ę€Ŗč›‹", "item.twilightforest.hydra_banner_pattern": "ę——åøœå›¾ę”ˆ", "item.twilightforest.hydra_banner_pattern.desc": "ä¹å¤“č›‡ēƒˆē„°", @@ -1062,6 +1130,7 @@ "item.twilightforest.mangrove_boat": "ēŗ¢ę ‘ęœØčˆ¹", "item.twilightforest.mangrove_chest_boat": "ēŗ¢ę ‘ęœØčæč¾“čˆ¹", "item.twilightforest.maze_map": "ē©ŗē™½čæ·å®«åœ°å›¾", + "item.twilightforest.maze_map.y_level": "Y轓高度:%s", "item.twilightforest.maze_map_focus": "čæ·å®«åœ°å›¾ę øåæƒ", "item.twilightforest.maze_slime_spawn_egg": "čæ·å®«å²čŽ±å§†åˆ·ę€Ŗč›‹", "item.twilightforest.maze_wafer": "迷宫薄鄼", @@ -1125,7 +1194,7 @@ "item.twilightforest.raw_meef": "ē”Ÿē‰›å¤“äŗŗč‚‰", "item.twilightforest.raw_venison": "ē”Ÿé¹æč‚‰", "item.twilightforest.redcap_sapper_spawn_egg": "ēŗ¢åø½å·„å…µåˆ·ę€Ŗč›‹", - "item.twilightforest.redcap_spawn_egg": "å°ēŗ¢åø½åˆ·ę€Ŗč›‹", + "item.twilightforest.redcap_spawn_egg": "ēŗ¢åø½ēŸ®äŗŗåˆ·ę€Ŗč›‹", "item.twilightforest.scepter.desc": "čæ˜åÆä»„ä½æē”Ø%sꬔ", "item.twilightforest.seeker_bow": "追踪弓", "item.twilightforest.skeleton_druid_spawn_egg": "éŖ·é«…å¾·é²ä¼Šåˆ·ę€Ŗč›‹", @@ -1139,7 +1208,7 @@ "item.twilightforest.sorting_boat": "åˆ†ē±»ęœØčˆ¹", "item.twilightforest.sorting_chest_boat": "åˆ†ē±»ęœØčæč¾“čˆ¹", "item.twilightforest.squirrel_spawn_egg": "ę¾é¼ åˆ·ę€Ŗč›‹", - "item.twilightforest.stable_ice_core_spawn_egg": "å†°ē²¾ēµåˆ·ę€Ŗč›‹", + "item.twilightforest.stable_ice_core_spawn_egg": "å†°ę™¶ę øåˆ·ę€Ŗč›‹", "item.twilightforest.steeleaf_axe": "é’¢å¶ę–§", "item.twilightforest.steeleaf_boots": "钢叶靓子", "item.twilightforest.steeleaf_chestplate": "é’¢å¶čƒøē”²", @@ -1164,13 +1233,14 @@ "item.twilightforest.troll_spawn_egg": "å·Øé­”åˆ·ę€Ŗč›‹", "item.twilightforest.twilight_oak_boat": "ęš®č‰²ę©”ęœØčˆ¹", "item.twilightforest.twilight_oak_chest_boat": "ęš®č‰²ę©”ęœØčæč¾“čˆ¹", - "item.twilightforest.twilight_scepter": "é»„ę˜ęƒę–", - "item.twilightforest.unstable_ice_core_spawn_egg": "ē “ē¢Žå†°ē²¾ēµåˆ·ę€Ŗč›‹", + "item.twilightforest.twilight_scepter": "ęš®å…‰ęƒę–", + "item.twilightforest.unstable_ice_core_spawn_egg": "äøēØ³å®šå†°ę™¶ę øåˆ·ę€Ŗč›‹", "item.twilightforest.ur_ghast_banner_pattern": "ę——åøœå›¾ę”ˆ", "item.twilightforest.ur_ghast_banner_pattern.desc": "砷铅铁裂纹边", "item.twilightforest.ur_ghast_spawn_egg": "ęš®åˆę¶é­‚åˆ·ę€Ŗč›‹", "item.twilightforest.winter_wolf_spawn_egg": "åÆ’å†¬ē‹¼åˆ·ę€Ŗč›‹", "item.twilightforest.wraith_spawn_egg": "ęøøé­‚åˆ·ę€Ŗč›‹", + "item.twilightforest.wrought_iron_bar": "锻铁锭", "item.twilightforest.yeti_armor.desc": "冻结攻击者", "item.twilightforest.yeti_boots": "é›Ŗę€Ŗé“å­", "item.twilightforest.yeti_chestplate": "é›Ŗę€Ŗēš®č”£", @@ -1179,8 +1249,8 @@ "item.twilightforest.yeti_spawn_egg": "é›Ŗę€Ŗåˆ·ę€Ŗč›‹", "item.twilightforest.zombie_scepter": "åƒµå°øęƒę–", "itemGroup.twilightforest.blocks": "ęš®č‰²ę£®ęž—ļ¼šę–¹å—", - "itemGroup.twilightforest.equipment": "ęš®č‰²ę£®ęž—ļ¼šč£…å¤‡", - "itemGroup.twilightforest.items": "ęš®č‰²ę£®ęž—ļ¼šē‰©å“", + "itemGroup.twilightforest.equipment": "ęš®č‰²ę£®ęž—ļ¼šå·„å…·äøŽęˆ˜ę–—ē”Øå“", + "itemGroup.twilightforest.items": "ęš®č‰²ę£®ęž—ļ¼šē‰©å“äøŽåŽŸęę–™", "jukebox_song.twilightforest.findings": "MrCompost - Findings", "jukebox_song.twilightforest.home": "MrCompost - Home", "jukebox_song.twilightforest.maker": "MrCompost - Maker", @@ -1222,6 +1292,7 @@ "misc.twilightforest.pedestal_ineligible": "ä½ čæ˜äøå¤Ÿę ¼ć€‚", "misc.twilightforest.portal_unsafe": "čæ™é‡Œēœ‹äøŠåŽ»äøå®‰å…Øā€¦ā€¦", "misc.twilightforest.portal_unworthy": "ä¼ é€é—Øę²”ęœ‰ååŗ”ć€‚ä¹Ÿč®øę˜Æåæ½ē•„äŗ†ä»€ä¹ˆļ¼Ÿ", + "misc.twilightforest.wip": "čæ™äøŖē‰¹ę€§ä»åœØåˆ¶ä½œå½“äø­ļ¼ŒåÆčƒ½ä¼šęœ‰Bugęˆ–äøåÆé¢„ę–™ēš„ē‰¹ę€§åÆ¼č‡“å­˜ę”£ęŸåć€‚", "museumcurator.animalhusbandry.twilightforest.bugs": "Bug", "museumcurator.architecture.twilightforest.aurorablocks": "ęžå…‰ę–¹å—", "museumcurator.architecture.twilightforest.banisters": "ꠏꝆ", @@ -1255,7 +1326,7 @@ "stat.twilightforest.trophy_pedestals_activated": "å„–ęÆåŸŗåŗ§ęæ€ę“»ę¬”ę•°", "stat.twilightforest.uncrafting_table_interactions": "äøŽę‹†č§£å°äŗ’åŠØę¬”ę•°", "structure.twilightforest.aurora_palace": "ęžå…‰å®«ę®æ", - "structure.twilightforest.dark_tower": "幽冄高唔", + "structure.twilightforest.dark_tower": "é»‘ęš—é«˜å””", "structure.twilightforest.final_castle": "ē»ˆē„‰é«˜åŽŸåŸŽå ”", "structure.twilightforest.hedge_maze": "树篱迷宫", "structure.twilightforest.hydra_lair": "ä¹å¤“č›‡å·¢ē©“", @@ -1277,6 +1348,8 @@ "subtitles.twilightforest.block.builder.off": "ē ·é“…é“å»ŗé€ å™Øļ¼šå…³é—­", "subtitles.twilightforest.block.builder.on": "ē ·é“…é“å»ŗé€ å™Øļ¼šå¼€åÆ", "subtitles.twilightforest.block.builder.replace": "ęž„å»ŗę–¹å—ļ¼šę¶ˆå¤±", + "subtitles.twilightforest.block.candelabra.light": "ēƒ›å°ļ¼šé»Æę·”", + "subtitles.twilightforest.block.candelabra.ominous": "ēƒ›å°ļ¼ščæøå‡ŗē«čŠ±", "subtitles.twilightforest.block.casket.close": "é—ē‰©åŒ£ļ¼šå…³é—­", "subtitles.twilightforest.block.casket.locked": "é—ē‰©åŒ£ļ¼šé”äøŠ", "subtitles.twilightforest.block.casket.open": "é—ē‰©åŒ£ļ¼šå¼€åÆ", @@ -1311,7 +1384,7 @@ "subtitles.twilightforest.block.vanish.unlock": "å””ęœØé—Øļ¼šč§£é”", "subtitles.twilightforest.block.vanish.vanish": "ę¶ˆå¤±ę–¹å—ļ¼šęæ€ę“»", "subtitles.twilightforest.block.wrought_iron_fence.extend": "é“ēš„å®å½“å£°", - "subtitles.twilightforest.entity.alpha_yeti.alert": "é›Ŗę€Ŗé¦–é¢†ļ¼šę³Øę„", + "subtitles.twilightforest.entity.alpha_yeti.alert": "é›Ŗę€Ŗé¦–é¢†ļ¼šč§‰åÆŸ", "subtitles.twilightforest.entity.alpha_yeti.death": "é›Ŗę€Ŗé¦–é¢†ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.alpha_yeti.grab": "é›Ŗę€Ŗé¦–é¢†ļ¼šęŠ“čµ·", "subtitles.twilightforest.entity.alpha_yeti.growl": "é›Ŗę€Ŗé¦–é¢†ļ¼šå’†å“®", @@ -1329,20 +1402,20 @@ "subtitles.twilightforest.entity.boar.ambient": "é‡ŽēŒŖļ¼šå“é¼»", "subtitles.twilightforest.entity.boar.death": "é‡ŽēŒŖļ¼šę­»äŗ”", "subtitles.twilightforest.entity.boar.hurt": "é‡ŽēŒŖļ¼šå—ä¼¤", - "subtitles.twilightforest.entity.carminite_broodling.ambient": "ē ·é“…é“åÆ„ē”Ÿč™«ļ¼šå˜¶å˜¶", - "subtitles.twilightforest.entity.carminite_broodling.death": "ē ·é“…é“åÆ„ē”Ÿč™«ļ¼šå¤±ę“»", - "subtitles.twilightforest.entity.carminite_broodling.hurt": "ē ·é“…é“åÆ„ē”Ÿč™«ļ¼šęŸä¼¤", - "subtitles.twilightforest.entity.carminite_ghastguard.ambient": "é«˜å””å®ˆå«ļ¼šå“­", - "subtitles.twilightforest.entity.carminite_ghastguard.death": "é«˜å””å®ˆå«ļ¼šę­»äŗ”", - "subtitles.twilightforest.entity.carminite_ghastguard.hurt": "é«˜å””å®ˆå«ļ¼šå°–å«", - "subtitles.twilightforest.entity.carminite_ghastguard.shoot": "é«˜å””å®ˆå«ļ¼šå°„å‡»", - "subtitles.twilightforest.entity.carminite_ghastling.ambient": "ē ·é“…é“ę¶ēµļ¼šå“­", + "subtitles.twilightforest.entity.carminite_broodling.ambient": "ē ·é“…é“é›č™«ļ¼šå˜¶å˜¶", + "subtitles.twilightforest.entity.carminite_broodling.death": "ē ·é“…é“é›č™«ļ¼šå¤±ę“»", + "subtitles.twilightforest.entity.carminite_broodling.hurt": "ē ·é“…é“é›č™«ļ¼šęŸä¼¤", + "subtitles.twilightforest.entity.carminite_ghastguard.ambient": "ē ·é“…é“ę¶é­‚å®ˆå«ļ¼šå“­ę³£", + "subtitles.twilightforest.entity.carminite_ghastguard.death": "ē ·é“…é“ę¶é­‚å®ˆå«ļ¼šę­»äŗ”", + "subtitles.twilightforest.entity.carminite_ghastguard.hurt": "ē ·é“…é“ę¶é­‚å®ˆå«ļ¼šå°–å«", + "subtitles.twilightforest.entity.carminite_ghastguard.shoot": "ē ·é“…é“ę¶é­‚å®ˆå«ļ¼šå°„å‡»", + "subtitles.twilightforest.entity.carminite_ghastling.ambient": "ē ·é“…é“ę¶ēµļ¼šå“­ę³£", "subtitles.twilightforest.entity.carminite_ghastling.death": "ē ·é“…é“ę¶ēµļ¼šę­»äŗ”", "subtitles.twilightforest.entity.carminite_ghastling.hurt": "ē ·é“…é“ę¶ēµļ¼šå°–å«", "subtitles.twilightforest.entity.carminite_ghastling.shoot": "ē ·é“…é“ę¶ēµļ¼šå°„å‡»", - "subtitles.twilightforest.entity.carminite_golem.attack": "ē ·é“…é“å‚€å„”ļ¼šę‘‡ę™ƒ", + "subtitles.twilightforest.entity.carminite_golem.attack": "ē ·é“…é“å‚€å„”ļ¼šęŒ„å‡»", "subtitles.twilightforest.entity.carminite_golem.death": "ē ·é“…é“å‚€å„”ļ¼šę­»äŗ”", - "subtitles.twilightforest.entity.carminite_golem.hurt": "ē ·é“…é“å‚€å„”ļ¼šę‰‹äøŠ", + "subtitles.twilightforest.entity.carminite_golem.hurt": "ē ·é“…é“å‚€å„”ļ¼šå—ä¼¤", "subtitles.twilightforest.entity.death_tome.ambient": "死灵书:翻锵", "subtitles.twilightforest.entity.death_tome.death": "ę­»ēµä¹¦ļ¼šåˆ†å“©ē¦»ęž", "subtitles.twilightforest.entity.death_tome.hurt": "死灵书:起皱", @@ -1369,13 +1442,13 @@ "subtitles.twilightforest.entity.hedge_spider.ambient": "ę ‘ēÆ±čœ˜č››ļ¼šå˜¶å˜¶", "subtitles.twilightforest.entity.hedge_spider.death": "ę ‘ēÆ±čœ˜č››ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.hedge_spider.hurt": "ę ‘ēÆ±čœ˜č››ļ¼šå—ä¼¤", - "subtitles.twilightforest.entity.helmet_crab.ambient": "åÆ„å±…čŸ¹ļ¼šéø£å«", - "subtitles.twilightforest.entity.helmet_crab.death": "åÆ„å±…čŸ¹ļ¼šę­»äŗ”", - "subtitles.twilightforest.entity.helmet_crab.hurt": "åÆ„å±…čŸ¹ļ¼šå—ä¼¤", + "subtitles.twilightforest.entity.helmet_crab.ambient": "éŖ‘å±…čŸ¹ļ¼šéø£å«", + "subtitles.twilightforest.entity.helmet_crab.death": "éŖ‘å±…čŸ¹ļ¼šę­»äŗ”", + "subtitles.twilightforest.entity.helmet_crab.hurt": "éŖ‘å±…čŸ¹ļ¼šå—ä¼¤", "subtitles.twilightforest.entity.hostile_wolf.ambient": "ę¶ē‹¼ļ¼šå’†å“®", "subtitles.twilightforest.entity.hostile_wolf.death": "ę¶ē‹¼ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.hostile_wolf.hurt": "ę¶ē‹¼ļ¼šå—ä¼¤", - "subtitles.twilightforest.entity.hostile_wolf.target": "ę¶ē‹¼ļ¼šę³Øę„", + "subtitles.twilightforest.entity.hostile_wolf.target": "ę¶ē‹¼ļ¼šč§‰åÆŸ", "subtitles.twilightforest.entity.hydra.death": "ä¹å¤“č›‡ļ¼šå¤±č“„ę—¶å’†å“®", "subtitles.twilightforest.entity.hydra.growl": "ä¹å¤“č›‡ļ¼šä½Žå¼", "subtitles.twilightforest.entity.hydra.hurt": "ä¹å¤“č›‡ļ¼šå’†å“®", @@ -1383,10 +1456,10 @@ "subtitles.twilightforest.entity.hydra.shoot": "ä¹å¤“č›‡ļ¼šēˆ†å¼¹", "subtitles.twilightforest.entity.hydra.shoot_fire": "ä¹å¤“č›‡ļ¼šå–·ē«", "subtitles.twilightforest.entity.hydra.warn": "ä¹å¤“č›‡ļ¼šę„¤ę€’", - "subtitles.twilightforest.entity.ice.ambient": "å†°ē²¾ēµļ¼šå’Æå±ä½œå“", - "subtitles.twilightforest.entity.ice.death": "å†°ē²¾ēµļ¼šč§£ä½“", - "subtitles.twilightforest.entity.ice.hurt": "å†°ē²¾ēµļ¼šē “č£‚", - "subtitles.twilightforest.entity.ice.shoot": "å†°ē²¾ēµļ¼šå‘å°„é›Ŗēƒ", + "subtitles.twilightforest.entity.ice.ambient": "å†°ę™¶ę øļ¼šå’Æå±ä½œå“", + "subtitles.twilightforest.entity.ice.death": "å†°ę™¶ę øļ¼šč§£ä½“", + "subtitles.twilightforest.entity.ice.hurt": "å†°ę™¶ę øļ¼šē “č£‚", + "subtitles.twilightforest.entity.ice.shoot": "å†°ę™¶ę øļ¼šå‘å°„é›Ŗēƒ", "subtitles.twilightforest.entity.king_spider.ambient": "å›½ēŽ‹čœ˜č››ļ¼šå˜¶å˜¶", "subtitles.twilightforest.entity.king_spider.death": "å›½ēŽ‹čœ˜č››ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.king_spider.hurt": "å›½ēŽ‹čœ˜č››ļ¼šå—ä¼¤", @@ -1422,13 +1495,13 @@ "subtitles.twilightforest.entity.minoshroom.hurt": "ē±³čÆŗč‡ļ¼šå—ä¼¤", "subtitles.twilightforest.entity.minoshroom.slam": "ē±³čÆŗč‡ļ¼šéœ‡åœ°", "subtitles.twilightforest.entity.minotaur.ambient": "ē‰›å¤“äŗŗļ¼šå“ž~", - "subtitles.twilightforest.entity.minotaur.attack": "ē±³čÆŗé™¶ļ¼šę”»å‡»", + "subtitles.twilightforest.entity.minotaur.attack": "ē‰›å¤“äŗŗļ¼šę”»å‡»", "subtitles.twilightforest.entity.minotaur.death": "ē‰›å¤“äŗŗļ¼šę­»äŗ”", "subtitles.twilightforest.entity.minotaur.hurt": "ē‰›å¤“äŗŗļ¼šå—ä¼¤", "subtitles.twilightforest.entity.mist_wolf.ambient": "čæ·é›¾ē‹¼ļ¼šå’†å“®", "subtitles.twilightforest.entity.mist_wolf.death": "čæ·é›¾ē‹¼ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.mist_wolf.hurt": "čæ·é›¾ē‹¼ļ¼šå—ä¼¤", - "subtitles.twilightforest.entity.mist_wolf.target": "čæ·é›¾ē‹¼ļ¼šę³Øę„", + "subtitles.twilightforest.entity.mist_wolf.target": "čæ·é›¾ē‹¼ļ¼šč§‰åÆŸ", "subtitles.twilightforest.entity.mosquito.ambient": "čšŠē¾¤ļ¼šå—”éø£", "subtitles.twilightforest.entity.naga.hiss": "娜迦:嘶嘶", "subtitles.twilightforest.entity.naga.hurt": "åØœčæ¦ļ¼šå˜¶å«", @@ -1457,9 +1530,9 @@ "subtitles.twilightforest.entity.quest_ram.hurt": "č°œé¢˜ē¾Šļ¼šå—ä¼¤", "subtitles.twilightforest.entity.raven.caw": "渔鸦:嘶鸣", "subtitles.twilightforest.entity.raven.squawk": "ęø”éø¦ļ¼šē—›č‹¦åœ°å°–éø£", - "subtitles.twilightforest.entity.redcap.ambient": "ēŗ¢åø½ļ¼šč½»ē¬‘", - "subtitles.twilightforest.entity.redcap.death": "ēŗ¢åø½ļ¼šē—›č‹¦åœ°å‘»åŸ", - "subtitles.twilightforest.entity.redcap.hurt": "ēŗ¢åø½ļ¼šē—›č‹¦åœ°å°–å«", + "subtitles.twilightforest.entity.redcap.ambient": "ēŸ®äŗŗļ¼šč½»ē¬‘", + "subtitles.twilightforest.entity.redcap.death": "ēŸ®äŗŗļ¼šē—›č‹¦åœ°å‘»åŸ", + "subtitles.twilightforest.entity.redcap.hurt": "ēŸ®äŗŗļ¼šē—›č‹¦åœ°å°–å«", "subtitles.twilightforest.entity.skeleton_druid.ambient": "éŖ·é«…å¾·é²ä¼Šļ¼šå˜Žå±å“", "subtitles.twilightforest.entity.skeleton_druid.death": "éŖ·é«…å¾·é²ä¼Šļ¼šę­»äŗ”", "subtitles.twilightforest.entity.skeleton_druid.hurt": "éŖ·é«…å¾·é²ä¼Šļ¼šå—ä¼¤", @@ -1497,17 +1570,17 @@ "subtitles.twilightforest.entity.troll.throw_rock": "å·Øé­”ļ¼šęŠ•ęŽ·å²©ēŸ³", "subtitles.twilightforest.entity.ur_ghast.ambient": "ęš®åˆę¶é­‚ļ¼šę‚²éø£", "subtitles.twilightforest.entity.ur_ghast.death": "ęš®åˆę¶é­‚ļ¼šę¶ˆé€", - "subtitles.twilightforest.entity.ur_ghast.hurt": "ęš®åˆę¶é­‚ļ¼šå‘»åŸ", - "subtitles.twilightforest.entity.ur_ghast.shoot": "ęš®åˆę¶é­‚ļ¼šč½°ē‚ø", + "subtitles.twilightforest.entity.ur_ghast.hurt": "ęš®åˆę¶é­‚ļ¼šå°–å•ø", + "subtitles.twilightforest.entity.ur_ghast.shoot": "ęš®åˆę¶é­‚ļ¼šč½°å‡»", "subtitles.twilightforest.entity.ur_ghast.tantrum": "ęš®åˆę¶é­‚ļ¼šå“€åšŽ", "subtitles.twilightforest.entity.winter_wolf.ambient": "åÆ’å†¬ē‹¼ļ¼šå’†å“®", "subtitles.twilightforest.entity.winter_wolf.death": "åÆ’å†¬ē‹¼ļ¼šę­»äŗ”", "subtitles.twilightforest.entity.winter_wolf.hurt": "åÆ’å†¬ē‹¼ļ¼šå—ä¼¤", "subtitles.twilightforest.entity.winter_wolf.shoot": "åÆ’å†¬ē‹¼ļ¼šå‘å°„", - "subtitles.twilightforest.entity.winter_wolf.target": "åÆ’å†¬ē‹¼ļ¼šę³Øę„", - "subtitles.twilightforest.entity.wraith.ambient": "å¹½ēµļ¼šå–˜ęÆ", - "subtitles.twilightforest.entity.wraith.death": "å¹½ēµļ¼šę¶ˆé€", - "subtitles.twilightforest.entity.wraith.hurt": "å¹½ēµļ¼šå—ä¼¤", + "subtitles.twilightforest.entity.winter_wolf.target": "åÆ’å†¬ē‹¼ļ¼šč§‰åÆŸ", + "subtitles.twilightforest.entity.wraith.ambient": "ęøøé­‚ļ¼šå–˜ęÆ", + "subtitles.twilightforest.entity.wraith.death": "ęøøé­‚ļ¼šę¶ˆé€", + "subtitles.twilightforest.entity.wraith.hurt": "ęøøé­‚ļ¼šå—ä¼¤", "subtitles.twilightforest.entity.yeti.death": "é›Ŗę€Ŗļ¼šę­»äŗ”", "subtitles.twilightforest.entity.yeti.grab": "é›Ŗäŗŗļ¼šęŠ“čµ·", "subtitles.twilightforest.entity.yeti.growl": "é›Ŗę€Ŗļ¼šå’†å“®", @@ -1537,7 +1610,7 @@ "subtitles.twilightforest.item.shield.shatter": "ęŠ¤ē›¾ļ¼šē “ē¢Ž", "subtitles.twilightforest.item.transformation_powder.use": "ę€Ŗē‰©ļ¼šč½¬ę¢", "subtitles.twilightforest.item.twilight_scepter.pearl_hit": "ęš®å…‰ēē ļ¼šå‡»ę‰“ē”Ÿē‰©", - "subtitles.twilightforest.item.twilight_scepter.use": "é»„ę˜ęƒę–ļ¼šęŠ•ęŽ·ēē ", + "subtitles.twilightforest.item.twilight_scepter.use": "ęš®å…‰ęƒę–ļ¼šęŠ•ęŽ·ēē ", "subtitles.twilightforest.item.zombie_scepter.use": "åæ čÆšēš„åƒµå°øļ¼šč¢«å¬å”¤", "tag.fluid.twilightforest.fire_jet_fuel": "ē«ē„°å–·å°„ę–¹å—ē‡ƒę–™", "tag.item.c.gems.carminite": "ē ·é“…é“å®ēŸ³", @@ -1595,7 +1668,7 @@ "trim_material.twilightforest.naga_scale": "åØœčæ¦é³žē‰‡ęč“Ø", "trim_material.twilightforest.steeleaf": "é’¢å¶ęč“Ø", "twilightforest.book.author": "äø€ä½č¢«é—åæ˜ēš„ęŽ¢ē“¢č€…", - "twilightforest.book.darktower": "ęœ‰å…³äø€åŗ§ęœØå””ēš„ē¬”č®°", + "twilightforest.book.darktower": "ęœ‰å…³é«˜å””ēš„ē¬”č®°", "twilightforest.book.darktower.1": "§8[[ē–‘ä¼¼ä»Žēˆ†ē‚øäø­ē”Ÿčæ˜ēš„ęŽ¢é™©å®¶ē¬”č®°]]§0\n\nčæ™å””é‡Œēš„ęœŗå…³ę˜¾ē„¶äøå—ęˆ‘ęŽ§åˆ¶ć€‚ęˆ‘å‡ ä¹Žę˜Æč¦č§¦ē¢°åˆ°ęœŗå…³ę‰€č•“å«ēš„é­”åŠ›äŗ†ļ¼Œä½†ę˜Æå°±å·®é‚£ä¹ˆäø€ē‚¹ć€‚åŖęœ‰äø€ē§č§£é‡Šļ¼ščæ™ęœŗå…³č¢«é™„čæ‘ä»€ä¹ˆäøœč„æēš„åŠ›é‡åŽ‹åˆ¶ä½äŗ†ć€‚", "twilightforest.book.darktower.2": "§8[[下一篇]]§0\n\nčæ™åŠ›é‡ēš„ę„ęŗä¼¼ä¹Žę˜Æé™„čæ‘č¦å”žę·±å¤„ę•£å‘å‡ŗēš„é­”ę³•čƒ½é‡ć€‚čæ™é­”åŠ›äøåÆčƒ½ę˜Æå“„åøƒęž—ēš„ļ¼Œå› äøŗčæ™é­”åŠ›č™½ē„¶åøå¼•äŗŗļ¼Œä½†å¹¶éžé›†äø­åœØäø€čµ·ć€‚", "twilightforest.book.darktower.3": "č¦å”žé‡Œč‚Æå®ščæ˜ęœ‰ä»€ä¹ˆäøœč„æć€‚\n\n§8[[下一篇]]§0\n\nę ¹ę®ęˆ‘ēš„åˆ†ęžļ¼Œčæ™č‚”é­”åŠ›ęœ‰ę•°č‚”ę„ęŗļ¼Œčæ™äŗ›ę„ęŗäø€äøŖę•“ä½“ēš„å½¢å¼å·„ä½œć€‚č®©ęˆ‘å…ˆē­‰č”„ē»™čæ‡ę„å†čÆ“ā€¦ā€¦", @@ -1603,7 +1676,7 @@ "twilightforest.book.hydralair.1": "§8[[å†™åœØč€ē«ēŗøäøŠēš„ęŽ¢é™©å®¶ē¬”č®°]]§0\n\nåŒŗåŒŗē«ē„°å¹¶äøčƒ½é˜»ęŒ”åƒęˆ‘čæ™ę ·ēš„ęŽ¢é™©å®¶ć€‚ęˆ‘ä¹Ÿę›¾äø‹čæ‡ē«ęµ·ļ¼Œå¹¶åœØē†”å²©ē»„ęˆēš„ęµ·ę“‹äø­ęøøę³³ć€‚čæ™ē‡ƒēƒ§ēš„ē©ŗę°”å€’ę˜Æå¾ˆęœ‰č¶£ļ¼Œä½†ē»ˆē©¶čæ˜äøę˜Æęˆ‘ēš„åÆ¹ę‰‹ļ¼Œä½†ę˜Æ", "twilightforest.book.hydralair.2": "ęœ€ē»ˆęŒ”ä½ęˆ‘å‰čæ›č„šę­„ēš„ę˜Æå¦äø€äøŖäæęŠ¤ē¬¦å’’ā€”ā€”čæ™ę¬”ēš„äæęŠ¤åÆ¹č±”ä¼¼ä¹Žę˜Æå½“åœ°äŗŗā€”ā€”č¢«ē¦ę­¢čæ›å…„čæ™ē‰‡åŗ”å½“ę˜Æäø€ē§å¼ŗå¤§åˆ°ä»¤ę‰€ęœ‰äŗŗē•ęƒ§ēš„ę€Ŗē‰©ēš„é¢†åœ°ć€‚čæ™äøę˜Æęˆ‘é‡åˆ°ēš„ē¬¬äø€äøŖäæęŠ¤ē¦å·žļ¼Œå¹¶äø”ęˆ‘", "twilightforest.book.hydralair.3": "ęøęøå¼€å§‹č§£å¼€čæ™ē¬¦å’’čƒŒåŽēš„č°œå›¢äŗ†ć€‚\n\nå¦‚ęžœęˆ‘ēš„ēŒœęµ‹ā€”ā€”čæ™äŗ›ē¬¦å’’ēš„å·„ä½œę–¹å¼é«˜åŗ¦ē›øä¼¼ā€”ā€”ę˜Æęˆē«‹ēš„ļ¼Œé‚£ä¹ˆčæ™é™„čæ‘å°±čƒ½ę‰¾åˆ°ē»“ęŒē¬¦å’’ę³•åŠ›ēš„å¼ŗå¤§ę€Ŗē‰©ć€‚ē«ē„°ę²¼ę³½å‘Øå›“ę˜Æč‹„å¹²ę¹æåœ°ļ¼ŒåœØčæ™äŗ›", - "twilightforest.book.hydralair.4": "ę¹æåœ°äø‹é¢ę˜Æå……ę»”ē±³čÆŗé™¶ēš„čæ·å®«ć€‚å”Æäø€ē¬¦åˆé€»č¾‘ēš„ęŽØęµ‹ę˜Æļ¼Œčæ™ē¾¤ē‰›å¤“äŗŗé‡Œęœ‰äø€ē§äøåŒåÆ»åøøēš„ē‰¹ę®Šå“ē§ļ¼ŒäøŽę™®é€šē‰›å¤“äŗŗē›øęÆ”ę›“äøŗå¼ŗåŠ›ļ¼Œä½†å¤–č²ŒäøŠęœ‰ę‰€äøåŒā€¦ā€¦", + "twilightforest.book.hydralair.4": "ę¹æåœ°äø‹é¢ę˜Æå……ę»”ē‰›å¤“äŗŗā€”ā€”å½“åœ°äŗŗē§°å…¶äøŗā€œē±³čÆŗé™¶ā€ēš„čæ·å®«ć€‚å”Æäø€ē¬¦åˆé€»č¾‘ēš„ęŽØęµ‹ę˜Æļ¼Œčæ™ē¾¤ē‰›å¤“äŗŗé‡Œęœ‰äø€ē§äøåŒåÆ»åøøēš„ē‰¹ę®Šå“ē§ļ¼ŒäøŽę™®é€šē‰›å¤“äŗŗē›øęÆ”ę›“äøŗå¼ŗåŠ›ļ¼Œä½†å¤–č²ŒäøŠęœ‰ę‰€äøåŒā€¦ā€¦", "twilightforest.book.icetower": "ęœ‰å…³ęžå…‰å ”åž’ēš„ē¬”č®°", "twilightforest.book.icetower.1": "§8[[å†°å°ēš„ęŽ¢é™©å®¶ē¬”č®°]]§0\n\nęˆ‘å†²ē “äŗ†äø€é“ęš“é£Žé›Ŗēš„é˜»ę‹¦ļ¼Œä½†éšå³åˆč¢«čæ™å†°å·äøŠēš„åÆ’å†°é£Žęš“ęŒ”ä½äŗ†ć€‚åœØęŽ¢é™©é€”äø­ļ¼Œęˆ‘ēœ‹åˆ°äŗ†äø€åŗ§é‡‘ē¢§č¾‰ē…Œēš„å†°å®«ļ¼Œå®ƒę•£å‘ēš„å…‰čŠ’", "twilightforest.book.icetower.2": "ęœ‰å¦‚ęžå…‰äø€ę ·äŗ”å½©ē¼¤ēŗ·ć€‚å®ƒēœ‹äøŠåŽ»č¢«ęŸē§é­”å’’ę‰€äæęŠ¤ē€ć€‚\n\n§8[[下一篇]]§0\n\nęˆ‘ä¹Ÿäøå†ę˜Æé‚£äøŖę‡µę‡‚ę— ēŸ„ēš„ę–°äŗŗäŗ†ć€‚čæ™é­”å’’ēš„åŠ›é‡č‚Æå®šę„č‡Ŗé™„čæ‘ēš„ē”Ÿē‰©ļ¼Œå°±åƒē«ē„°ę²¼ę³½é™„čæ‘é­”å’’ēš„åŠ›é‡ę„č‡ŖäŗŽ", @@ -1635,9 +1708,14 @@ "twilightforest.book.yeticave.1": "§8[[å°é¢ē»“éœœēš„ęŽ¢é™©å®¶ē¬”č®°]]§0\n\né›Ŗåœ°å‘Øå›“åˆ®ē€ę°øäøåœęÆēš„ęš“é£Žé›Ŗć€‚čæ™åÆäøę˜Æę™®é€šēš„é›Ŗā€”ā€”čæ™ę˜Æäø€ē§é­”å’’ć€‚ęˆ‘å¾—åšäøŖå®žéŖŒēœ‹ēœ‹", "twilightforest.book.yeticave.2": "čæ™ęš“é£Žé›Ŗēš„ęŗå¤“ć€‚\n\n§8[[下一篇]]§0\n\nčæ™é­”å’’ēœ‹äøŠåŽ»å¼ŗå¤§åˆ°äŗ†äø€äŗŗę— ę³•ē‹¬č‡Ŗå®Œęˆēš„åœ°ę­„ļ¼Œé”»å¾—ę˜Æę•°åå·«åøˆåŒę—¶å‘åŠ›ę–¹čƒ½å®Œęˆć€‚åŖč¦čæ™å…¶äø­äø€åå·«åøˆåœę­¢", "twilightforest.book.yeticave.3": "å‘åŠ›ļ¼Œę•“äøŖé­”å’’éƒ½ä¼šå› ę­¤å¤±ę•ˆć€‚ä½†ę˜Æļ¼Œęˆ‘č‡Ŗå·±å åœēš„ē»“ęžœę˜¾ē¤ŗé™„čæ‘å¹¶ę²”ęœ‰å·«åøˆå±…ä½ć€‚å€’ę˜Æé™„čæ‘ęœ‰äø€åŗ§é…·ä¼¼å“„ē‰¹é£Žę ¼ēš„é«˜å””åøå¼•äŗ†ęˆ‘ēš„ę³Øę„ā€¦ā€¦", + "twilightforest.configuration.section.twilightforest.client.toml": "客户端设置", + "twilightforest.configuration.section.twilightforest.client.toml.title": "客户端设置", + "twilightforest.configuration.section.twilightforest.common.toml": "é€šē”Øč®¾ē½®", + "twilightforest.configuration.section.twilightforest.common.toml.title": "é€šē”Øč®¾ē½®", + "twilightforest.configuration.title": "ęš®č‰²ę£®ęž—é…ē½®", "twilightforest.tips.anvil_squashing": "č™«å­åÆä»„č¢«é“ē §åŽ‹ę‰", "twilightforest.tips.arctic_armor": "ęžåœ°č£…å¤‡åÆä»„ęŸ“ęˆä»»ä½•é¢œč‰²ć€‚", - "twilightforest.tips.banister_shape": "åÆä»„ä½æē”Øę–§å¤“å³é”®ē‚¹å‡»ę ę†ę„ę”¹å˜å®ƒä»¬ēš„é«˜åŗ¦ć€‚", + "twilightforest.tips.banister_shape": "åÆä»„ä½æē”Øę–§å³é”®ē‚¹å‡»ę ę†ę„ę”¹å˜å®ƒä»¬ēš„é«˜åŗ¦ć€‚", "twilightforest.tips.block_and_chain": "é“¾é”¤é™„é­”č‚†ę„ęÆååŽåÆä»„ē “åę–¹å—ć€‚", "twilightforest.tips.boggard": "åšåŠ å¾·ę˜Æä»–å¦ˆēš„ä»€ä¹ˆēŽ©ę„", "twilightforest.tips.bugs_on_head": "č™«å­ä¼šę„‰åæ«åœ°ååœØä½ ēš„å¤“äøŠ", @@ -1651,7 +1729,7 @@ "twilightforest.tips.e115_sprinkle": "ēŗ¢ēŸ³ē²‰ęœ«åÆä»„ę’’åœØčÆ•éŖŒē‰©å“115ēš„é”¶éƒØć€‚", "twilightforest.tips.experiment_115": "ęœ‰äŗŗēŸ„é“čÆ•éŖŒē‰©å“115åˆ°åŗ•ę˜Æä»€ä¹ˆå—ļ¼Ÿ", "twilightforest.tips.fiery_pickaxe": "ē‚½é“é•ä¼šē†”ē‚¼å®ƒē “åēš„ä»»ä½•ę–¹å—ć€‚", - "twilightforest.tips.ghast_trap": "åœØę¶é­‚é™·é˜±é™„čæ‘ę€ę­»čæ·ä½ å¹½ēµå°†äøŗå…¶å……čƒ½", + "twilightforest.tips.ghast_trap": "åœØę¶é­‚é™·é˜±é™„čæ‘ę€ę­»ē ·é“…é“ę¶ēµļ¼Œå®ƒä»¬čŗ«äøŠēš„ē‰©č“Øä¼šäøŗå…¶å……čƒ½", "twilightforest.tips.glass_sword": "ēŽ»ē’ƒå‰‘åœØäø€ę¬”ę‰“å‡»åŽä¼šęŸåć€‚", "twilightforest.tips.hollow_log": "ē©ŗåæƒåŽŸęœØå†…åÆä»„ę”¾ē½®å„ē§äøœč„æļ¼Œä¾‹å¦‚é›Ŗć€č‹”č—“ęˆ–ę¢Æå­ć€‚", "twilightforest.tips.hollow_oak_sapling": "åÆä»„åœØå¾·é²ä¼Šå°å±‹äø­ę‰¾åˆ°čƒ½é•æęˆå·Øå¤§ē©ŗåæƒę ‘ēš„ę ‘č‹—", @@ -1659,7 +1737,7 @@ "twilightforest.tips.hydra_chop": "é£Ÿē”Øä¹å¤“č›‡č‚‰ęŽ’ä¼šå®Œå…Øå”«å……ä½ ēš„é„„é„æę”", "twilightforest.tips.hydra_heads": "ęÆē ęŽ‰äø€äøŖå¤“ļ¼Œä¹å¤“č›‡å°†åœØåŽŸåœ°å†é•æå‡ŗäø¤äøŖå¤“ļ¼", "twilightforest.tips.hydra_mortars": "ä½ åÆä»„åå¼¹ä¹å¤“č›‡ēš„ē«ēƒć€‚", - "twilightforest.tips.ice_core": "å†°ē²¾ēµå’Œå†°é›Ŗå®ˆå«ä¼šåœØē‚Žēƒ­ēš„ē”Ÿē‰©ē¾¤ē³»äø­čžåŒ–ć€‚", + "twilightforest.tips.ice_core": "å†°ę™¶ę øå’Œå†°é›Ŗå®ˆå«ä¼šåœØē‚Žēƒ­ēš„ē”Ÿē‰©ē¾¤ē³»äø­čžåŒ–ć€‚", "twilightforest.tips.jars": "č¤ē«č™«å’Œč‰åÆä»„ę”¾å…„ē½å­äø­ć€‚", "twilightforest.tips.kobold": "狗夓人", "twilightforest.tips.labyrinth_vault": "ē‰›å¤“äŗŗčæ·å®«ęœ‰äø€äøŖē§˜åÆ†ęˆæé—“ć€‚", @@ -1682,7 +1760,7 @@ "twilightforest.tips.phantom_armor": "å¹»å½±ē›”ē”²åœØę­»äŗ”ę—¶ä¼šč‡ŖåŠØäæē•™ć€‚", "twilightforest.tips.quest_ram": "č°œé¢˜ē¾Šä¼šå„–åŠ±ä»»ä½•ē»™äŗˆå®ƒę‰€éœ€ē‰©å“ēš„äŗŗć€‚", "twilightforest.tips.red_thread": "ēŗ¢ēŗæåÆä»„ē©æå¢™č€Œč§ć€‚", - "twilightforest.tips.redcap": "ēŗ¢åø½åœ°ē²¾åÆä»„ę”¾ē½®å¹¶ē‚¹ē‡ƒTNT怂", + "twilightforest.tips.redcap": "ēŗ¢åø½ēŸ®äŗŗä»¬åÆä»„ę”¾ē½®å¹¶ē‚¹ē‡ƒTNT怂", "twilightforest.tips.skull_candle": "čœ”ēƒ›åÆä»„ę”¾åœØē”Ÿē‰©å¤“é”¶äøŠę„å½“äø€äøŖę¼‚äŗ®ēš„å…‰ęŗć€‚", "twilightforest.tips.sorting_tree": "åˆ†ē±»ę ‘ä¼šå°†é čæ‘å®ƒēš„ē®±å­ę•“ē†ę”¾å…„é™„čæ‘ēš„å…¶ä»–ē®±å­äø­ć€‚", "twilightforest.tips.spooky_forest": "å¹½é­‚ę£®ęž—åÆäøę˜Æäø‡åœ£čŠ‚äø»é¢˜ēš„ć€‚", From 8fb6a3ad77f1619ce37506a724c697755c273a63 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 30 Mar 2025 20:36:28 -0600 Subject: [PATCH 051/239] fix remaining compile errors --- build.gradle | 4 +- gradle.properties | 2 +- .../NoTemplateSmithingExtension.java | 0 .../jei/extension/ScepterRepairExtension.java | 0 .../jei/subtype/CasketSubtypeInterpreter.java | 0 .../compat/rei/filter/HideItemFilterRule.java | 0 .../compat/rei/filter/HideItemFilterType.java | 0 .../block/AbstractTrophyBlock.java | 4 +- .../twilightforest/block/CandelabraBlock.java | 2 +- .../block/ChiseledCanopyShelfBlock.java | 6 +- .../twilightforest/block/ForceFieldBlock.java | 10 +- .../block/OminousCandleBlock.java | 10 +- .../block/OminousFireBlock.java | 27 +-- .../twilightforest/block/SkullChestBlock.java | 1 + .../twilightforest/block/ThornsBlock.java | 2 +- .../TextureGeneratorReloadListener.java | 121 ++++++------ .../client/event/RegistrationEvents.java | 6 +- .../client/model/entity/LichModel.java | 74 ++----- .../model/entity/RisingZombieModel.java | 17 +- .../renderer/PotionFlaskTooltipComponent.java | 4 +- .../renderer/TFSimpleArmorRenderer.java | 13 +- .../client/renderer/TFWeatherRenderer.java | 49 ++--- .../renderer/block/OminousCandleRenderer.java | 4 +- .../entity/BlockChainGoblinRenderer.java | 58 +++--- .../renderer/entity/BlockChainRenderer.java | 48 ++--- .../CustomProjectileTextureRenderer.java | 22 +-- .../client/renderer/entity/LichRenderer.java | 10 +- .../entity/ProtectionBoxRenderer.java | 2 +- .../renderer/entity/RisingZombieRenderer.java | 47 +++-- .../client/state/ChainBlockRenderState.java | 1 + .../client/state/LichRenderState.java | 1 + .../client/state/RisingZombieRenderState.java | 7 + .../command/CountLootCommand.java | 2 +- .../entity/FortificationShieldAttachment.java | 4 +- .../twilightforest/data/DataGenerators.java | 2 +- .../StructureTemplateDefinitionGenerator.java | 5 +- .../StructureTemplateDefinitionProvider.java | 6 +- .../data/custom/UncraftingGenerator.java | 6 +- .../data/custom/UncraftingRecipeBuilder.java | 4 +- .../entry/StalactiteReloadListener.java | 2 +- .../enchantment/RechargeScepterEffect.java | 2 +- .../java/twilightforest/entity/boss/Lich.java | 16 +- .../entity/monster/LichMinion.java | 6 +- .../entity/monster/RisingZombie.java | 46 +---- .../entity/monster/SwarmSpider.java | 18 +- .../entity/monster/TowerBroodling.java | 5 - .../passive/quest/QuestReloadListener.java | 16 +- .../entity/projectile/ChainBlock.java | 22 +-- .../events/CapabilityEvents.java | 2 +- .../twilightforest/events/EntityEvents.java | 8 +- .../twilightforest/events/TFTickHandler.java | 21 +- .../twilightforest/init/TFBlockEntities.java | 181 +++++++----------- .../java/twilightforest/init/TFBlocks.java | 2 +- .../twilightforest/init/TFDamageTypes.java | 2 +- .../java/twilightforest/init/TFEntities.java | 3 +- .../java/twilightforest/init/TFItems.java | 9 +- .../twilightforest/item/ArcticArmorItem.java | 12 +- .../item/ExanimateEssenceItem.java | 2 +- .../twilightforest/item/FieryArmorItem.java | 5 +- .../item/KeepsakeCasketItem.java | 12 +- .../twilightforest/item/PhantomArmorItem.java | 31 +-- .../item/TransformPowderItem.java | 31 +-- .../twilightforest/item/YetiArmorItem.java | 31 +-- .../item/recipe/CasketRepairRecipe.java | 7 +- .../item/recipe/EssenceRepairRecipe.java | 7 +- .../recipe/MoonwormQueenRepairRecipe.java | 7 +- .../java/twilightforest/util/DisplayUtil.java | 5 +- .../util/entities/EntityUtil.java | 14 +- .../util/landmarks/LandmarkUtil.java | 2 +- .../feature/trees/CanopyMushroomFeature.java | 6 +- .../lichtowerrevamp/LichPerimeterFence.java | 2 +- .../LichTowerMagicGallery.java | 5 +- .../lichtowerrevamp/LichTowerWingRoom.java | 12 +- .../StructureTemplateDefinitions.java | 2 +- .../util/CodecResourceReloadListener.java | 14 +- 75 files changed, 489 insertions(+), 660 deletions(-) rename src/main/{java/twilightforest => disabled}/compat/jei/extension/NoTemplateSmithingExtension.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/extension/ScepterRepairExtension.java (100%) rename src/main/{java/twilightforest => disabled}/compat/jei/subtype/CasketSubtypeInterpreter.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/filter/HideItemFilterRule.java (100%) rename src/main/{java/twilightforest => disabled}/compat/rei/filter/HideItemFilterType.java (100%) create mode 100644 src/main/java/twilightforest/client/state/RisingZombieRenderState.java diff --git a/build.gradle b/build.gradle index b094e42b59..6146be1735 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } } dependencies { - classpath "tamaized:beanification:${minecraft_version}-${beanification_version}:gradle" + classpath "tamaized:beanification:${beanification_version}:gradle" } } @@ -186,7 +186,7 @@ repositories { dependencies { jarJar implementation(project(":tf-asm")) - def beanification = "tamaized:beanification:${project.minecraft_version}-${project.beanification_version}" + def beanification = "tamaized:beanification:${project.beanification_version}" implementation beanification shade beanification testImplementation "${beanification}:tests" diff --git a/gradle.properties b/gradle.properties index 389e464ecc..cfdda1db9b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ neo_version=21.4.50-beta mdg_version=2.0.76 # Deps -beanification_version=1.4.87 +beanification_version=1.21.1-1.4.87 jei_version=19.8.2.99 rei_version=18.0.796 emi_version=1.1.11 diff --git a/src/main/java/twilightforest/compat/jei/extension/NoTemplateSmithingExtension.java b/src/main/disabled/compat/jei/extension/NoTemplateSmithingExtension.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/extension/NoTemplateSmithingExtension.java rename to src/main/disabled/compat/jei/extension/NoTemplateSmithingExtension.java diff --git a/src/main/java/twilightforest/compat/jei/extension/ScepterRepairExtension.java b/src/main/disabled/compat/jei/extension/ScepterRepairExtension.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/extension/ScepterRepairExtension.java rename to src/main/disabled/compat/jei/extension/ScepterRepairExtension.java diff --git a/src/main/java/twilightforest/compat/jei/subtype/CasketSubtypeInterpreter.java b/src/main/disabled/compat/jei/subtype/CasketSubtypeInterpreter.java similarity index 100% rename from src/main/java/twilightforest/compat/jei/subtype/CasketSubtypeInterpreter.java rename to src/main/disabled/compat/jei/subtype/CasketSubtypeInterpreter.java diff --git a/src/main/java/twilightforest/compat/rei/filter/HideItemFilterRule.java b/src/main/disabled/compat/rei/filter/HideItemFilterRule.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/filter/HideItemFilterRule.java rename to src/main/disabled/compat/rei/filter/HideItemFilterRule.java diff --git a/src/main/java/twilightforest/compat/rei/filter/HideItemFilterType.java b/src/main/disabled/compat/rei/filter/HideItemFilterType.java similarity index 100% rename from src/main/java/twilightforest/compat/rei/filter/HideItemFilterType.java rename to src/main/disabled/compat/rei/filter/HideItemFilterType.java diff --git a/src/main/java/twilightforest/block/AbstractTrophyBlock.java b/src/main/java/twilightforest/block/AbstractTrophyBlock.java index 72074a20c8..bebd11fca6 100644 --- a/src/main/java/twilightforest/block/AbstractTrophyBlock.java +++ b/src/main/java/twilightforest/block/AbstractTrophyBlock.java @@ -164,7 +164,7 @@ public void createParticle(Level level, BlockPos pos) { break; case LICH: for (int a = 0; a < 5; a++) { - particlePacket.queueParticle(TFParticleType.ANGRY_LICH.get(), false, + particlePacket.queueParticle(TFParticleType.ANGRY_LICH.get(), (double) pos.getX() + rand.nextFloat() * 0.5D * 2.0F + rand.nextGaussian() * 0.02D, (double) pos.getY() + 0.5D + rand.nextFloat() * 0.25 + rand.nextGaussian() * 0.02D, (double) pos.getZ() + rand.nextFloat() * 0.5D * 2.0F + rand.nextGaussian() * 0.02D, @@ -220,7 +220,7 @@ public void createParticle(Level level, BlockPos pos) { break; case QUEST_RAM: for (int p = 0; p < 10; p++) { - particlePacket.queueParticle(ColorParticleOption.create(TFParticleType.MAGIC_EFFECT.get(), rand.nextFloat(), rand.nextFloat(), rand.nextFloat()), false, + particlePacket.queueParticle(ColorParticleOption.create(TFParticleType.MAGIC_EFFECT.get(), rand.nextFloat(), rand.nextFloat(), rand.nextFloat()), (double) pos.getX() + 0.5 + (rand.nextDouble() - 0.5), (double) pos.getY() + (rand.nextDouble() - 0.5), (double) pos.getZ() + 0.5 + (rand.nextDouble() - 0.5), diff --git a/src/main/java/twilightforest/block/CandelabraBlock.java b/src/main/java/twilightforest/block/CandelabraBlock.java index 9bd998c464..2c4489b349 100644 --- a/src/main/java/twilightforest/block/CandelabraBlock.java +++ b/src/main/java/twilightforest/block/CandelabraBlock.java @@ -186,7 +186,7 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l return InteractionResult.SUCCESS; } } - return ItemInteractionResult.CONSUME; + return InteractionResult.CONSUME; } } else if (stack.is(Tags.Items.DUSTS_REDSTONE) && state.getValue(LIGHTING) == Lighting.NORMAL) { level.setBlockAndUpdate(pos, state.setValue(LIGHTING, Lighting.DIM)); diff --git a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java index 6f0f285c0b..998e4c5e2c 100644 --- a/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java +++ b/src/main/java/twilightforest/block/ChiseledCanopyShelfBlock.java @@ -73,12 +73,12 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l if (level.getBlockEntity(pos) instanceof ChiseledCanopyShelfBlockEntity shelf && stack.getItem() instanceof SpawnEggItem) { //dont swing our hand if the shelf is empty if (shelf.isEmpty()) { - return ItemInteractionResult.CONSUME; + return InteractionResult.CONSUME; } level.playSound(null, pos, TFSounds.BOOKSHELF_CONVERTS.get(), SoundSource.BLOCKS, 0.35F, 0.6F + level.getRandom().nextFloat() * 0.4F); - return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; + return InteractionResult.SUCCESS; } - if (state.getValue(SPAWNER)) return ItemInteractionResult.FAIL; + if (state.getValue(SPAWNER)) return InteractionResult.FAIL; return super.useItemOn(stack, state, level, pos, player, hand, result); } diff --git a/src/main/java/twilightforest/block/ForceFieldBlock.java b/src/main/java/twilightforest/block/ForceFieldBlock.java index bee2004e25..a5c85f4370 100644 --- a/src/main/java/twilightforest/block/ForceFieldBlock.java +++ b/src/main/java/twilightforest/block/ForceFieldBlock.java @@ -6,12 +6,8 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.PipeBlock; -import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -171,7 +167,7 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos facingPos, BlockState facingState, RandomSource random) { + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos neighborPos, BlockState neighborState, RandomSource random) { if (state.getValue(WATERLOGGED)) access.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(reader)); return this.canConnectTo(state, reader, pos, direction) ? state.setValue(PipeBlock.PROPERTY_BY_DIRECTION.get(direction), true) : state; } diff --git a/src/main/java/twilightforest/block/OminousCandleBlock.java b/src/main/java/twilightforest/block/OminousCandleBlock.java index d1c440a5a8..91756a9ad0 100644 --- a/src/main/java/twilightforest/block/OminousCandleBlock.java +++ b/src/main/java/twilightforest/block/OminousCandleBlock.java @@ -17,7 +17,7 @@ import net.minecraft.stats.Stats; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; @@ -153,13 +153,13 @@ protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, } @Override - protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (player.getAbilities().mayBuild) { if (stack.isEmpty()) { BlockState newState = this.candle.defaultBlockState().setValue(CANDLES, state.getValue(CANDLES)); level.setBlock(pos, newState, Block.UPDATE_ALL); AbstractCandleBlock.extinguish(player, newState, level, pos); - return ItemInteractionResult.sidedSuccess(level.isClientSide); + return InteractionResult.SUCCESS; } else if (stack.getItem() instanceof BlockItem blockItem && blockItem.getBlock() instanceof CandleBlock candleBlock && state.getValue(CANDLES) < 4 && this.candle == candleBlock) { level.setBlock(pos, state.setValue(CANDLES, state.getValue(CANDLES) + 1), Block.UPDATE_ALL); @@ -181,7 +181,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev level.gameEvent(GameEvent.BLOCK_PLACE, pos, GameEvent.Context.of(player, newState)); stack.consume(1, player); - return ItemInteractionResult.SUCCESS; + return InteractionResult.SUCCESS; } } return super.useItemOn(stack, state, level, pos, player, hand, hitResult); @@ -202,7 +202,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder CODEC = simpleCodec(OminousFireBlock::new); @@ -41,8 +30,8 @@ public OminousFireBlock(BlockBehaviour.Properties properties) { } @Override - protected BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor level, BlockPos currentPos, BlockPos facingPos) { - return this.canSurvive(state, level, currentPos) ? this.defaultBlockState() : Blocks.AIR.defaultBlockState(); + protected BlockState updateShape(BlockState state, LevelReader reader, ScheduledTickAccess access, BlockPos pos, Direction direction, BlockPos neighborPos, BlockState neighborState, RandomSource random) { + return this.canSurvive(state, reader, pos) ? this.defaultBlockState() : Blocks.AIR.defaultBlockState(); } @Override @@ -56,14 +45,14 @@ protected boolean canBurn(BlockState state) { } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, Player player) { - return new ItemStack(TFItems.EXANIMATE_ESSENCE.value()); + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state, boolean includeData, Player player) { + return new ItemStack(TFItems.EXANIMATE_ESSENCE.get()); } @Override protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - if (!entity.getType().is(EntityTypeTags.UNDEAD)) { - entity.hurt(TFDamageTypes.getDamageSource(level, TFDamageTypes.OMINOUS_FIRE), 1.0F); + if (!entity.getType().is(EntityTypeTags.UNDEAD) && level instanceof ServerLevel serverLevel) { + entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.OMINOUS_FIRE), 1.0F); } } } diff --git a/src/main/java/twilightforest/block/SkullChestBlock.java b/src/main/java/twilightforest/block/SkullChestBlock.java index bb100a1bca..39b30c2841 100644 --- a/src/main/java/twilightforest/block/SkullChestBlock.java +++ b/src/main/java/twilightforest/block/SkullChestBlock.java @@ -30,6 +30,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.SkullChestBlockEntity; import twilightforest.enums.BlockLoggingEnum; import twilightforest.init.TFBlockEntities; diff --git a/src/main/java/twilightforest/block/ThornsBlock.java b/src/main/java/twilightforest/block/ThornsBlock.java index 4faff1be54..f44ab31db0 100644 --- a/src/main/java/twilightforest/block/ThornsBlock.java +++ b/src/main/java/twilightforest/block/ThornsBlock.java @@ -81,7 +81,7 @@ public PathType getBlockPathType(BlockState state, BlockGetter getter, BlockPos @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - if (level instanceof ServerLevel serverLevel && !(entity instanceof ItemEntity item) || !item.getItem().is(ItemTagGenerator.IMMUNE_TO_THORNS)) { + if (level instanceof ServerLevel serverLevel && (!(entity instanceof ItemEntity item) || !item.getItem().is(ItemTagGenerator.IMMUNE_TO_THORNS))) { entity.hurtServer(serverLevel, serverLevel.damageSources().source(TFDamageTypes.THORNS), THORN_DAMAGE); } } diff --git a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java index 94400b8575..2584fe87ea 100644 --- a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java +++ b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java @@ -4,105 +4,112 @@ import com.mojang.blaze3d.platform.TextureUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.AbstractTexture; +import net.minecraft.client.renderer.texture.ReloadableTexture; +import net.minecraft.client.renderer.texture.TextureContents; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; import net.minecraft.world.entity.vehicle.Boat; +import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import java.io.IOException; import java.io.InputStream; import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicReference; public class TextureGeneratorReloadListener implements ResourceManagerReloadListener { public static final TextureGeneratorReloadListener INSTANCE = new TextureGeneratorReloadListener(); - private static final EnumMap BOAT_CACHE = new EnumMap<>(Boat.Type.class); + private static final Map BOAT_CACHE = new HashMap<>(); private static final AtomicReference ref = new AtomicReference<>(); + private static final List TF_BOATS = List.of("twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", "sorting"); @Override public void onResourceManagerReload(ResourceManager manager) { // Get a default boat chest texture - ResourceLocation oak = getTextureLocation(Boat.Type.OAK); + ResourceLocation oak = getTextureLocation(ResourceLocation.withDefaultNamespace("oak")); manager.getResource(oak).ifPresent(vanillaResource -> { try (InputStream vanillaStream = vanillaResource.open()) { try (NativeImage vanillaImage = NativeImage.read(vanillaStream)) { int defaultScale = 128; int vanillaScale = vanillaImage.getWidth() / defaultScale; - for (Boat.Type type : Boat.Type.values()) { - ResourceLocation location = getTextureLocation(type); - if (location.getNamespace().equals(TwilightForestMod.ID)) { // We only want to do this to our boats - manager.getResource(location).ifPresent(tfResource -> { - try (InputStream tfStream = tfResource.open()) { - try (NativeImage tfImage = NativeImage.read(tfStream)) { - int tfScale = tfImage.getWidth() / defaultScale; + for (String type : TF_BOATS) { + ResourceLocation location = getTextureLocation(TwilightForestMod.prefix(type)); + manager.getResource(location).ifPresent(tfResource -> { + try (InputStream tfStream = tfResource.open()) { + try (NativeImage tfImage = NativeImage.read(tfStream)) { + int tfScale = tfImage.getWidth() / defaultScale; - for (int x = 0; x < 48 * tfScale; x++) { - for (int y = 58 * tfScale; y < 96 * tfScale; y++) { - // If the loaded tf boat chest texture has non-transparent pixels below the boat section of the texture, return - if (tfImage.getPixelRGBA(x, y) != 0x00000000) return; - } + for (int x = 0; x < 48 * tfScale; x++) { + for (int y = 58 * tfScale; y < 96 * tfScale; y++) { + // If the loaded tf boat chest texture has non-transparent pixels below the boat section of the texture, return + if (tfImage.getPixel(x, y) != 0x00000000) return; } + } - if (vanillaScale > tfScale) { - try (NativeImage newImage = new NativeImage(defaultScale * vanillaScale, defaultScale * vanillaScale, false)) { - newImage.copyFrom(vanillaImage); - for (int x = 0; x < 102 * vanillaScale; x++) { - for (int y = 0; y < 52 * vanillaScale; y++) { - newImage.setPixelRGBA(x, y, tfImage.getPixelRGBA(x / (vanillaScale / tfScale), y / (vanillaScale / tfScale))); - } - } - - ref.set(newImage); - - if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).load(manager); - } else { - AbstractTexture texture = new AbstractTexture() { - @Override - public void load(ResourceManager resourceManager) { - if (ref.get() == null) - return; - TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), false, false, false, true); - } - }; - Minecraft.getInstance().getTextureManager().register(location, texture); - BOAT_CACHE.put(type, texture); - } - } - } else { - for (int x = 0; x < 48 * tfScale; x++) { - for (int y = 58 * tfScale; y < 96 * tfScale; y++) { - tfImage.setPixelRGBA(x, y, vanillaImage.getPixelRGBA(x / (tfScale / vanillaScale), y / (tfScale / vanillaScale))); + if (vanillaScale > tfScale) { + try (NativeImage newImage = new NativeImage(defaultScale * vanillaScale, defaultScale * vanillaScale, false)) { + newImage.copyFrom(vanillaImage); + for (int x = 0; x < 102 * vanillaScale; x++) { + for (int y = 0; y < 52 * vanillaScale; y++) { + newImage.setPixel(x, y, tfImage.getPixel(x / (vanillaScale / tfScale), y / (vanillaScale / tfScale))); } } - ref.set(tfImage); + ref.set(newImage); if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).load(manager); + BOAT_CACHE.get(type).loadContents(manager); } else { - AbstractTexture texture = new AbstractTexture() { + ReloadableTexture texture = new ReloadableTexture(location) { @Override - public void load(ResourceManager resourceManager) { + public TextureContents loadContents(ResourceManager resourceManager) { if (ref.get() == null) - return; + return TextureContents.createMissing(); TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), false, false, false, true); + ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); + return new TextureContents(ref.get(), null); } }; Minecraft.getInstance().getTextureManager().register(location, texture); BOAT_CACHE.put(type, texture); } } + } else { + for (int x = 0; x < 48 * tfScale; x++) { + for (int y = 58 * tfScale; y < 96 * tfScale; y++) { + tfImage.setPixel(x, y, vanillaImage.getPixel(x / (tfScale / vanillaScale), y / (tfScale / vanillaScale))); + } + } + + ref.set(tfImage); + + if (BOAT_CACHE.containsKey(type)) { + BOAT_CACHE.get(type).loadContents(manager); + } else { + ReloadableTexture texture = new ReloadableTexture(location) { + @Override + public TextureContents loadContents(ResourceManager resourceManager) { + if (ref.get() == null) + return TextureContents.createMissing(); + TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); + ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); + return new TextureContents(ref.get(), null); + } + }; + Minecraft.getInstance().getTextureManager().register(location, texture); + BOAT_CACHE.put(type, texture); + } } - } catch (IOException e) { - // Fail silently, no boat texture bullshit here } - }); - } + } catch (IOException e) { + // Fail silently, no boat texture bullshit here + } + }); } } } catch (IOException e) { @@ -112,7 +119,7 @@ public void load(ResourceManager resourceManager) { ref.set(null); } - private static ResourceLocation getTextureLocation(Boat.Type type) { - return ResourceLocation.parse(type.getName()).withPrefix("textures/entity/chest_boat/").withSuffix(".png"); + private static ResourceLocation getTextureLocation(ResourceLocation type) { + return type.withPrefix("textures/entity/chest_boat/").withSuffix(".png"); } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index f223613407..e9ff423f59 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -655,15 +655,15 @@ public boolean addDestroyEffects(BlockState state, Level level, BlockPos pos, Pa TFItems.FIERY_CHESTPLATE.get(), TFItems.FIERY_LEGGINGS.get(), TFItems.FIERY_BOOTS.get() ); event.registerItem( - new TFSimpleArmorRenderer(TFArmorModel::new, TFModelLayers.KNIGHTMETAL_ARMOR_INNER, TFModelLayers.KNIGHTMETAL_ARMOR_OUTER), + new TFSimpleArmorRenderer(HumanoidArmorModel::new, TFModelLayers.KNIGHTMETAL_ARMOR_INNER, TFModelLayers.KNIGHTMETAL_ARMOR_OUTER), TFItems.KNIGHTMETAL_HELMET.get(), TFItems.KNIGHTMETAL_CHESTPLATE.get(), TFItems.KNIGHTMETAL_LEGGINGS.get(), TFItems.KNIGHTMETAL_BOOTS.get() ); event.registerItem( - new TFSimpleArmorRenderer(TFArmorModel::new, TFModelLayers.PHANTOM_ARMOR_INNER, TFModelLayers.PHANTOM_ARMOR_OUTER), + new TFSimpleArmorRenderer(HumanoidArmorModel::new, TFModelLayers.PHANTOM_ARMOR_INNER, TFModelLayers.PHANTOM_ARMOR_OUTER), TFItems.PHANTOM_HELMET.get(), TFItems.PHANTOM_CHESTPLATE.get() ); event.registerItem( - new TFSimpleArmorRenderer(YetiArmorModel::new, TFModelLayers.YETI_ARMOR_INNER, TFModelLayers.YETI_ARMOR_OUTER), + new TFSimpleArmorRenderer(HumanoidArmorModel::new, TFModelLayers.YETI_ARMOR_INNER, TFModelLayers.YETI_ARMOR_OUTER), TFItems.YETI_HELMET.get(), TFItems.YETI_CHESTPLATE.get(), TFItems.YETI_LEGGINGS.get(), TFItems.YETI_BOOTS.get() ); } diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index dcd4fcfa25..4ef661cb89 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -1,27 +1,22 @@ package twilightforest.client.model.entity; -import com.google.common.collect.Iterables; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.util.FastColor; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.item.ItemDisplayContext; import twilightforest.client.renderer.entity.LichRenderer; +import twilightforest.client.state.LichRenderState; import twilightforest.entity.boss.Lich; -import java.util.Arrays; +public class LichModel extends HumanoidModel implements TrophyBlockModel { -public class LichModel extends HumanoidModel implements TrophyBlockModel { - - private boolean shadowClone; private final ModelPart collar; private final ModelPart cloak; @@ -79,78 +74,45 @@ public static LayerDefinition create() { } @Override - public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, int overlay, int color) { - if (!this.shadowClone) { - super.renderToBuffer(stack, builder, light, overlay, color); - } else { - super.renderToBuffer(stack, builder, light, overlay, FastColor.ARGB32.color((int) (FastColor.ARGB32.alpha(color) * 0.5F), (int) (FastColor.ARGB32.red(color) * 0.333F), (int) (FastColor.ARGB32.green(color) * 0.333F), (int) (FastColor.ARGB32.blue(color) * 0.333F))); - } - } - - @Override - protected Iterable bodyParts() { - if (this.shadowClone) { - return super.bodyParts(); - } else { - return Iterables.concat(Arrays.asList(this.cloak, this.collar), super.bodyParts()); - } - } - - @Override - public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - if (entity.isDeadOrDying() && entity.deathTime < Lich.DEATH_ANIMATION_POINT_A) { - float partialTicks = Minecraft.getInstance().getTimer().getGameTimeDeltaTicks(); - limbSwingAmount = entity.walkAnimation.speed(partialTicks); - limbSwing = entity.walkAnimation.position(partialTicks); - limbSwingAmount *= 1.5F; - if (limbSwingAmount > 1.0F) limbSwingAmount = 1.0F; - } else limbSwingAmount *= 0.75F; - this.shadowClone = entity.isShadowClone(); - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - - if (entity.getPhase() != 3) { - float ogSin = Mth.sin(this.attackTime * Mth.PI); - float otherSin = Mth.sin((1.0F - (1.0F - this.attackTime) * (1.0F - this.attackTime)) * Mth.PI); - if (entity.tickCount > 0 && !entity.isDeadOrDying()) { + public void setupAnim(LichRenderState state) { + super.setupAnim(state); + this.cloak.skipDraw = state.isShadowClone; + this.collar.skipDraw = state.isShadowClone; + + if (state.phase != 3) { + float ogSin = Mth.sin(state.attackTime * Mth.PI); + float otherSin = Mth.sin((1.0F - (1.0F - state.attackTime) * (1.0F - state.attackTime)) * Mth.PI); + if (state.ageInTicks > 0 && state.deathTime <= 0) { this.leftArm.zRot = 0.5F; this.leftArm.yRot = 0.1F - ogSin * 0.6F; this.leftArm.xRot = -3.141593F; this.leftArm.xRot -= ogSin * 1.2F - otherSin * 0.4F; - this.leftArm.zRot -= Mth.cos(ageInTicks * 0.26F) * 0.15F + 0.05F; - this.leftArm.xRot -= Mth.sin(ageInTicks * 0.167F) * 0.15F; + this.leftArm.zRot -= Mth.cos(state.ageInTicks * 0.26F) * 0.15F + 0.05F; + this.leftArm.xRot -= Mth.sin(state.ageInTicks * 0.167F) * 0.15F; } else { this.leftArm.xRot = 0.0F; this.leftArm.yRot = 0.0F; } - if (!entity.getMainHandItem().isEmpty()) { + if (!state.getMainHandItem().isEmpty()) { this.rightArm.zRot = 0.0F; this.rightArm.yRot = -(0.1F - ogSin * 0.6F); this.rightArm.xRot = -Mth.HALF_PI; this.rightArm.xRot -= ogSin * 1.2F - otherSin * 0.4F; - this.rightArm.zRot += Mth.cos(ageInTicks * 0.26F) * 0.15F + 0.05F; - this.rightArm.xRot += Mth.sin(ageInTicks * 0.167F) * 0.15F; + this.rightArm.zRot += Mth.cos(state.ageInTicks * 0.26F) * 0.15F + 0.05F; + this.rightArm.xRot += Mth.sin(state.ageInTicks * 0.167F) * 0.15F; } else { this.rightArm.xRot = 0.0F; this.rightArm.yRot = 0.0F; } } else { - float f = 1.0F; - if (entity.getFallFlyingTicks() > 4) { - f = (float)entity.getDeltaMovement().lengthSqr(); - f /= 0.2F; - f *= f * f; - } - - if (f < 1.0F) f = 1.0F; - this.leftArm.xRot += -Mth.HALF_PI * 0.25F; - this.rightArm.xRot -= (Mth.cos(limbSwing * 0.6662F + 3.1415927F) * 2.0F * limbSwingAmount * 0.5F / f) * 0.75F; + this.rightArm.xRot -= (Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F) * 0.75F; this.rightArm.xRot += -Mth.HALF_PI * 0.75F; } - boolean flag = entity.deathTime > Lich.DEATH_ANIMATION_POINT_A; + boolean flag = state.deathTime > Lich.DEATH_ANIMATION_POINT_A; this.body.skipDraw = flag; this.leftArm.skipDraw = flag; this.rightArm.skipDraw = flag; diff --git a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java index 3a9631210a..16177403b0 100644 --- a/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java +++ b/src/main/java/twilightforest/client/model/entity/RisingZombieModel.java @@ -1,23 +1,18 @@ package twilightforest.client.model.entity; -import net.minecraft.client.model.AbstractZombieModel; +import net.minecraft.client.model.ZombieModel; import net.minecraft.client.model.geom.ModelPart; -import twilightforest.entity.monster.RisingZombie; +import twilightforest.client.state.RisingZombieRenderState; -public class RisingZombieModel extends AbstractZombieModel { +public class RisingZombieModel extends ZombieModel { public RisingZombieModel(ModelPart part) { super(part); } @Override - public boolean isAggressive(RisingZombie entity) { - return entity.isAggressive(); - } - - @Override - public void setupAnim(RisingZombie entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - this.leftLeg.visible = this.rightLeg.visible = entity.getRisingTicks() > 40; + public void setupAnim(RisingZombieRenderState state) { + super.setupAnim(state); + this.leftLeg.visible = this.rightLeg.visible = state.risingTicks > 40; } } diff --git a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java index e9fb475d17..a8dc4a1979 100644 --- a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java +++ b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java @@ -114,11 +114,11 @@ private void drawPotionBar(int x, int y, Font font, GuiGraphics graphics) { } int widthProg = segmentSplit; for (int i = 1; i < this.maxDoses; i++) { - graphics.blitSprite(DOSE_SPRITE, x + widthProg, y, 1, 13); + graphics.blitSprite(RenderType::guiTextured, DOSE_SPRITE, x + widthProg, y, 1, 13); widthProg += segmentSplit; } - graphics.blitSprite(BORDER_SPRITE, x, y, WIDTH, 13); + graphics.blitSprite(RenderType::guiTextured, BORDER_SPRITE, x, y, WIDTH, 13); } private void renderPotion(PoseStack stack, int xPosition, int yPosition, int desiredWidth, int desiredHeight, int color) { diff --git a/src/main/java/twilightforest/client/renderer/TFSimpleArmorRenderer.java b/src/main/java/twilightforest/client/renderer/TFSimpleArmorRenderer.java index 13b6f59064..5188d3c287 100644 --- a/src/main/java/twilightforest/client/renderer/TFSimpleArmorRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFSimpleArmorRenderer.java @@ -1,18 +1,17 @@ package twilightforest.client.renderer; import net.minecraft.client.Minecraft; +import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import net.neoforged.neoforge.common.util.Lazy; -import org.jetbrains.annotations.NotNull; -import twilightforest.client.model.armor.TFArmorModel; import java.util.ArrayList; import java.util.List; @@ -23,7 +22,7 @@ public class TFSimpleArmorRenderer implements IClientItemExtensions { protected final Lazy> INNER_ARMOR_MODEL; protected final Lazy> OUTER_ARMOR_MODEL; - public TFSimpleArmorRenderer(Function createModelInstance, ModelLayerLocation innerLayerLocation, ModelLayerLocation outerLayerLocation) { + public TFSimpleArmorRenderer(Function> createModelInstance, ModelLayerLocation innerLayerLocation, ModelLayerLocation outerLayerLocation) { INSTANCES.add(this); this.INNER_ARMOR_MODEL = Lazy.of(() -> { ModelPart baked = Minecraft.getInstance().getEntityModels().bakeLayer(innerLayerLocation); @@ -46,8 +45,8 @@ public static void resetAllModelCache() { } @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { - return slot == EquipmentSlot.LEGS ? INNER_ARMOR_MODEL.get() : OUTER_ARMOR_MODEL.get(); + public Model getHumanoidArmorModel(ItemStack stack, EquipmentClientInfo.LayerType type, Model original) { + return type == EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS ? INNER_ARMOR_MODEL.get() : OUTER_ARMOR_MODEL.get(); } public static final class ResourceReloadListener implements ResourceManagerReloadListener { diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index b5b835b2c9..2fe3e28534 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -5,17 +5,17 @@ import com.mojang.datafixers.util.Pair; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; -import net.minecraft.client.ParticleStatus; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.LevelRenderer; -import net.minecraft.client.renderer.LightTexture; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.SectionPos; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ParticleStatus; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; @@ -35,8 +35,8 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.init.custom.Enforcements; +import twilightforest.network.EnforceProgressionStatusPacket; import twilightforest.util.IntervalUtils; -import twilightforest.util.landmarks.LandmarkUtil; import twilightforest.util.Restriction; import java.util.*; @@ -78,25 +78,23 @@ public class TFWeatherRenderer { } } - public static boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTicks, LightTexture lightmap, Vec3 camera) { + public static boolean renderSnowAndRain(ClientLevel level, int ticks, float partialTicks, Vec3 camera) { Minecraft mc = Minecraft.getInstance(); - if (LandmarkUtil.isProgressionEnforced(level) && mc.player != null && !mc.player.isCreative() && !mc.player.isSpectator()) { + if (EnforceProgressionStatusPacket.enforcedProgression && mc.player != null && !mc.player.isCreative() && !mc.player.isSpectator()) { // locked biome weather effects - renderLockedBiome(ticks, partialTicks, level, lightmap, mc.player, camera); + renderLockedBiome(ticks, partialTicks, level, mc.player, camera); // locked structures - renderLockedStructure(ticks, partialTicks, lightmap, camera); + renderLockedStructure(ticks, partialTicks, camera); } //render normal weather anyway return false; } - private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel level, LightTexture lightmap, LocalPlayer player, Vec3 camera) { + private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel level, LocalPlayer player, Vec3 camera) { // check nearby for locked biome if (isNearLockedBiome(level, player)) { - lightmap.turnOnLightLayer(); - int px = Mth.floor(camera.x()); int py = Mth.floor(camera.y()); int pz = Mth.floor(camera.z()); @@ -118,7 +116,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel RenderType currentType = null; float combinedTicks = ticks + partialTicks; - RenderSystem.setShader(GameRenderer::getParticleShader); + RenderSystem.setShader(CoreShaders.PARTICLE); BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(); for (int dz = pz - range; dz <= pz + range; ++dz) { @@ -132,7 +130,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel Optional restriction = Restriction.getRestrictionForBiome(biome, player); if (restriction.isPresent()) { - int groundY = level.getMinBuildHeight(); + int groundY = level.getMinY(); int minY = py - range; int maxY = py + range; @@ -217,12 +215,11 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel RenderSystem.enableCull(); RenderSystem.disableBlend(); - lightmap.turnOffLightLayer(); } } @SuppressWarnings("ConstantConditions") - private static void renderLockedStructure(int ticks, float partialTicks, LightTexture lightmap, Vec3 camera) { + private static void renderLockedStructure(int ticks, float partialTicks, Vec3 camera) { int range = Minecraft.useFancyGraphics() ? 10 : 5; int px = Mth.floor(camera.x()); int py = Mth.floor(camera.y()); @@ -241,7 +238,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, LightTe pBoxOld = pBox; } - lightmap.turnOnLightLayer(); Tesselator tessellator = Tesselator.getInstance(); BufferBuilder bufferbuilder = null; @@ -265,7 +261,7 @@ private static void renderLockedStructure(int ticks, float partialTicks, LightTe random.setSeed((long) x * x * 3121 + x * 45238971L ^ (long) z * z * 418711 + z * 13761L); if (drawFlag != 0) { drawFlag = 0; - RenderSystem.setShader(GameRenderer::getParticleShader); + RenderSystem.setShader(CoreShaders.PARTICLE); RenderSystem.setShaderTexture(0, SPARKLES_TEXTURE); bufferbuilder = tessellator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); } @@ -298,7 +294,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, LightTe RenderSystem.enableCull(); RenderSystem.disableBlend(); - lightmap.turnOffLightLayer(); } private static void updateRainIntervals(BoundingBox pBox) { @@ -424,7 +419,7 @@ public ResourceLocation getTextureLocation() { /** * [VanillaCopy]:
- * {@link net.minecraft.client.renderer.LevelRenderer#tickRain(Camera)}
+ * {@link net.minecraft.client.renderer.WeatherEffectRenderer#tickRainParticles(ClientLevel, Camera, int, ParticleStatus)}
*/ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blockpos) { //TF - render rain if the Ur-Ghast is alive as well @@ -444,8 +439,7 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo int k = randomsource.nextInt(21) - 10; int l = randomsource.nextInt(21) - 10; BlockPos blockpos2 = level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, blockpos.offset(k, 0, l)); - Biome biome = level.getBiome(blockpos2).value(); - if (blockpos2.getY() > level.getMinBuildHeight() && blockpos2.getY() <= blockpos.getY() + 10 && blockpos2.getY() >= blockpos.getY() - 10 && biome.hasPrecipitation() && biome.warmEnoughToRain(blockpos2)) { + if (blockpos2.getY() > level.getMinY() && blockpos2.getY() <= blockpos.getY() + 10 && blockpos2.getY() >= blockpos.getY() - 10 && getPrecipitationAt(level, blockpos2) == Biome.Precipitation.RAIN) { blockpos1 = blockpos2.below(); if (Minecraft.getInstance().options.particles().get() == ParticleStatus.MINIMAL) { break; @@ -464,8 +458,8 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo } } - if (blockpos1 != null && randomsource.nextInt(4) < Minecraft.getInstance().levelRenderer.rainSoundTime++) { - Minecraft.getInstance().levelRenderer.rainSoundTime = 0; + if (blockpos1 != null && randomsource.nextInt(4) < Minecraft.getInstance().levelRenderer.weatherEffectRenderer.rainSoundTime++) { + Minecraft.getInstance().levelRenderer.weatherEffectRenderer.rainSoundTime = 0; if (blockpos1.getY() > blockpos.getY() + 1 && level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, blockpos).getY() > Mth.floor((float) blockpos.getY())) { level.playLocalSound(blockpos1, SoundEvents.WEATHER_RAIN_ABOVE, SoundSource.WEATHER, 0.1F, 0.5F, false); } else { @@ -476,4 +470,13 @@ public static boolean tickRain(ClientLevel level, int partialTicks, BlockPos blo } return true; } + + public static Biome.Precipitation getPrecipitationAt(Level level, BlockPos pos) { + if (!level.getChunkSource().hasChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ()))) { + return Biome.Precipitation.NONE; + } else { + Biome biome = level.getBiome(pos).value(); + return biome.getPrecipitationAt(pos, level.getSeaLevel()); + } + } } diff --git a/src/main/java/twilightforest/client/renderer/block/OminousCandleRenderer.java b/src/main/java/twilightforest/client/renderer/block/OminousCandleRenderer.java index 7908790ce5..53ba7bc786 100644 --- a/src/main/java/twilightforest/client/renderer/block/OminousCandleRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/OminousCandleRenderer.java @@ -73,7 +73,7 @@ public void render(T blockEntity, float partialTick, PoseStack stack, MultiBuffe this.blockRenderer.getModelRenderer() .renderModel( stack.last(), - buffer.getBuffer(RenderTypeHelper.getEntityRenderType(rt, false)), + buffer.getBuffer(RenderTypeHelper.getEntityRenderType(rt)), state, bakedModel, r, @@ -98,6 +98,6 @@ public void render(T blockEntity, float partialTick, PoseStack stack, MultiBuffe * @return A value towards targetValue in respect to decayFactor */ private double exponentialDecay(double prevValue, double targetValue, double decayFactor) { - return targetValue + (prevValue - targetValue) * Math.exp(-decayFactor * this.minecraft.getTimer().getGameTimeDeltaTicks()); + return targetValue + (prevValue - targetValue) * Math.exp(-decayFactor * this.minecraft.getDeltaTracker().getGameTimeDeltaTicks()); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java index 51e6cb63e8..9705b590bc 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BlockChainGoblinRenderer.java @@ -1,8 +1,8 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.Model; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.culling.Frustum; @@ -16,11 +16,13 @@ import net.minecraft.world.phys.Vec3; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.BlockChainGoblinModel; import twilightforest.client.model.entity.ChainModel; import twilightforest.client.model.entity.SpikeBlockModel; +import twilightforest.client.state.BlockChainGoblinRenderState; import twilightforest.entity.monster.BlockChainGoblin; -public class BlockChainGoblinRenderer> extends HumanoidMobRenderer { +public class BlockChainGoblinRenderer extends HumanoidMobRenderer { private static final ResourceLocation GOBLIN_TEXTURE = TwilightForestMod.getModelTexture("blockgoblin.png"); private static final ResourceLocation BLOCK_AND_CHAIN_TEXTURE = TwilightForestMod.getModelTexture("block_and_chain.png"); @@ -28,47 +30,59 @@ public class BlockChainGoblinRenderer { +public class BlockChainRenderer extends EntityRenderer { private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("block_and_chain.png"); private final Model model; @@ -33,43 +34,35 @@ public BlockChainRenderer(EntityRendererProvider.Context context) { } @Override - public void render(ChainBlock entity, float yaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { - super.render(entity, yaw, partialTicks, stack, buffer, light); + public void render(ChainBlockRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + super.render(state, stack, buffer, light); stack.pushPose(); - VertexConsumer consumer = ItemRenderer.getFoilBufferDirect(buffer, this.model.renderType(TEXTURE), false, entity.isFoil()); + VertexConsumer consumer = ItemRenderer.getFoilBuffer(buffer, this.model.renderType(TEXTURE), false, state.isFoil); - stack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entity.yRotO, entity.getYRot()) - 90.0F)); - stack.mulPose(Axis.ZP.rotationDegrees(Mth.lerp(partialTicks, entity.xRotO, entity.getXRot()))); + stack.mulPose(Axis.YP.rotationDegrees(state.yRot - 90.0F)); + stack.mulPose(Axis.ZP.rotationDegrees(state.xRot)); stack.scale(-1.0F, -1.0F, 1.0F); this.model.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); stack.popPose(); - - Entity owner = entity.getOwner(); - if (owner != null) { + if (state.chainStartPos != null) { stack.pushPose(); - stack.translate(0.0D, entity.getBbHeight() * 0.5D, 0.0D); - Vec3 xyz = owner.getEyePosition(partialTicks).subtract(entity.getPosition(partialTicks).add(0.0D, owner.getBbHeight() * 0.5D, 0.0D)); + stack.translate(0.0D, state.blockHeight * 0.5D, 0.0D); + Vec3 xyz = state.chainStartPos; double linksPerMeter = 1.5F; // Defines how many chain links per meter. 2.0F there will be two per meter, 0.5F will be one per two meters, etc. double links = xyz.length() / linksPerMeter; Vec3 offset = xyz.normalize().scale(-linksPerMeter); - int ownerLight = Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(owner, partialTicks); for (int i = 1; i < links; i++) { - renderChain(entity, xyz.add(offset.scale(links - i)), stack, buffer, Math.max(light, ownerLight), this.chainModel); + renderChain(state.isFoil, xyz.add(offset.scale(links - i)), stack, buffer, Math.max(light, state.ownerLight), this.chainModel); } stack.popPose(); } } - public static void renderChain(Entity entity, Vec3 offset, PoseStack stack, MultiBufferSource buffer, int light, Model chainModel) { + public static void renderChain(boolean renderFoil, Vec3 offset, PoseStack stack, MultiBufferSource buffer, int light, Model chainModel) { stack.pushPose(); - VertexConsumer vertexConsumer; - if (entity instanceof ChainBlock block) { - vertexConsumer = ItemRenderer.getFoilBufferDirect(buffer, chainModel.renderType(TEXTURE), false, block.isFoil()); - } else { - vertexConsumer = buffer.getBuffer(chainModel.renderType(TEXTURE)); - } + VertexConsumer vertexConsumer = ItemRenderer.getFoilBuffer(buffer, chainModel.renderType(TEXTURE), false, renderFoil); stack.translate(offset.x(), offset.y(), offset.z()); @@ -79,7 +72,18 @@ public static void renderChain(Entity entity, Vec3 offset, PoseStack stack, Mult } @Override - public ResourceLocation getTextureLocation(ChainBlock entity) { - return TEXTURE; + public ChainBlockRenderState createRenderState() { + return new ChainBlockRenderState(); + } + + @Override + public void extractRenderState(ChainBlock entity, ChainBlockRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + state.yRot = entity.getYRot(partialTick); + state.xRot = entity.getXRot(partialTick); + state.isFoil = entity.isFoil(); + state.chainStartPos = entity.getOwner() != null ? entity.getOwner().getEyePosition(partialTick).subtract(entity.getEyePosition(partialTick)).add(0.0D, entity.getOwner().getBbHeight() * 0.5D, 0.0D) : null; + state.ownerLight = entity.getOwner() != null ? Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(entity.getOwner(), partialTick) : 0; + state.blockHeight = entity.getBbHeight(); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java b/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java index bf69e18341..7791e6435e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/CustomProjectileTextureRenderer.java @@ -43,11 +43,10 @@ protected int getBlockLightLevel(TFThrowable entity, BlockPos pos) { } @Override - public void render(TFThrowable entity, float entityYaw, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { if (this.flashing) { stack.pushPose(); - float age = entity.tickCount + partialTicks; - float f = (Mth.sin(age) + 1.0F) * 0.5F; + float f = (Mth.sin(state.ageInTicks) + 1.0F) * 0.5F; float f1 = 1.0F + Mth.sin(f * 100.0F) * f * 0.01F; f = Mth.clamp(f, 0.0F, 1.0F); f *= f; @@ -55,16 +54,15 @@ public void render(TFThrowable entity, float entityYaw, float partialTicks, Pose float f2 = (1.0F + f * 0.4F) * f1; float f3 = (1.0F + f * 0.1F) / f1; stack.scale(f2, f3, f2); - this.render(entity, entityYaw, partialTicks, stack, buffer, light, OverlayTexture.pack(OverlayTexture.u(f), OverlayTexture.v(false))); + this.render(state, stack, buffer, light, OverlayTexture.pack(OverlayTexture.u(f), OverlayTexture.v(false))); stack.popPose(); } else { - this.render(entity, entityYaw, partialTicks, stack, buffer, light, OverlayTexture.NO_OVERLAY); + this.render(state, stack, buffer, light, OverlayTexture.NO_OVERLAY); } } //[VanillaCopy] of DragonFireballRender.render, we just input our own texture stuff instead - @Override - public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { stack.pushPose(); stack.scale(0.5F * this.scale, 0.5F * this.scale, 0.5F * this.scale); @@ -73,16 +71,16 @@ public void render(EntityRenderState state, PoseStack stack, MultiBufferSource b PoseStack.Pose pose = stack.last(); VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(this.texture)); - vertex(consumer, pose, light, 0.0F, 0.0F, 0.0F, 1.0F, overlayTexture); - vertex(consumer, pose, light, 1.0F, 0.0F, 1.0F, 1.0F, overlayTexture); - vertex(consumer, pose, light, 1.0F, 1.0F, 1.0F, 0.0F, overlayTexture); - vertex(consumer, pose, light, 0.0F, 1.0F, 0.0F, 0.0F, overlayTexture); + vertex(consumer, pose, light, 0.0F, 0.0F, 0.0F, 1.0F, overlay); + vertex(consumer, pose, light, 1.0F, 0.0F, 1.0F, 1.0F, overlay); + vertex(consumer, pose, light, 1.0F, 1.0F, 1.0F, 0.0F, overlay); + vertex(consumer, pose, light, 0.0F, 1.0F, 0.0F, 0.0F, overlay); stack.popPose(); super.render(state, stack, buffer, light); } private static void vertex(VertexConsumer consumer, PoseStack.Pose pose, int light, float xOffset, float zOffset, float u, float v, int overlay) { - consumer.addVertex(pose, xOffset - 0.5F, zOffset - 0.25F, 0.0F).setColor(255, 255, 255, 255).setUv(u, v).setOverlay(overlay).setLight(light).setNormal(pose, 0.0F, 1.0F, 0.0F); + consumer.addVertex(pose, xOffset - 0.5F, zOffset - 0.25F, 0.0F).setColor(-1).setUv(u, v).setOverlay(overlay).setLight(light).setNormal(pose, 0.0F, 1.0F, 0.0F); } @Override diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index 5e3c25a908..003bbd5d7a 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -27,9 +27,9 @@ public LichRenderer(EntityRendererProvider.Context context) { this.addLayer(new EyesLayer<>(this) { private static final RenderType EYES = RenderType.eyes(TwilightForestMod.getModelTexture("twilightlich64_eyes.png")); - @Override - public void render(PoseStack poseStack, MultiBufferSource buffer, int packedLight, T t, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - if (t.isShadowClone() && !t.isInvisible()) super.render(poseStack, buffer, packedLight, t, limbSwing, limbSwingAmount, partialTicks, ageInTicks, netHeadYaw, headPitch); + @Override + public void render(PoseStack stack, MultiBufferSource buffer, int light, LichRenderState state, float netHeadYaw, float headPitch) { + if (state.isShadowClone && !state.isInvisible) super.render(stack, buffer, light, state, netHeadYaw, headPitch); } @Override @@ -97,7 +97,7 @@ public ResourceLocation getTextureLocation(LichRenderState state) { } @Override - protected float getShadowRadius(T entity) { - return entity.isShadowClone() || entity.deathTime > Lich.DEATH_ANIMATION_POINT_A ? 0.0F : super.getShadowRadius(entity); + protected float getShadowRadius(LichRenderState state) { + return state.isShadowClone || state.deathTime > Lich.DEATH_ANIMATION_POINT_A ? 0.0F : super.getShadowRadius(state); } } diff --git a/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java b/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java index 35366a1c2a..14ba3fd1d7 100644 --- a/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/ProtectionBoxRenderer.java @@ -36,7 +36,7 @@ public void render(ProtectionBoxRenderState state, PoseStack stack, MultiBufferS if (state.life < 20) alpha = state.life / 20.0F; VertexConsumer vertexconsumer = buffer.getBuffer(TFRenderTypes.PROTECTION_BOX); - this.boxModel.setupAnim(entity, 0.0F, 0.0F, 0, 0.0F, 0.0F); + this.boxModel.setupAnim(state); this.boxModel.renderToBuffer(stack, vertexconsumer, light, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); } diff --git a/src/main/java/twilightforest/client/renderer/entity/RisingZombieRenderer.java b/src/main/java/twilightforest/client/renderer/entity/RisingZombieRenderer.java index a1e3365659..01c5cce63c 100644 --- a/src/main/java/twilightforest/client/renderer/entity/RisingZombieRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/RisingZombieRenderer.java @@ -5,32 +5,52 @@ import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; +import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.Nullable; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.RisingZombieModel; +import twilightforest.client.state.RisingZombieRenderState; import twilightforest.entity.monster.RisingZombie; -public class RisingZombieRenderer extends TFBipedRenderer { +public class RisingZombieRenderer extends HumanoidMobRenderer { + + private static final ResourceLocation ZOMBIE_LOCATION = ResourceLocation.withDefaultNamespace("textures/entity/zombie/zombie.png"); + public RisingZombieRenderer(EntityRendererProvider.Context context) { - super(context, new RisingZombieModel(context.bakeLayer(TFModelLayers.RISING_ZOMBIE)), new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), 0.5F, "textures/entity/zombie/zombie.png"); + super(context, new RisingZombieModel(context.bakeLayer(TFModelLayers.RISING_ZOMBIE)), 0.5F); + this.addLayer(new HumanoidArmorLayer<>(this, new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_INNER_ARMOR)), new RisingZombieModel(context.bakeLayer(ModelLayers.ZOMBIE_OUTER_ARMOR)), context.getEquipmentRenderer())); + } + + @Override + protected float getShadowRadius(RisingZombieRenderState entity) { + return 0.5F * (entity.risingTicks / 130.0F); } @Override - protected float getShadowRadius(RisingZombie entity) { - return 0.5F * (entity.getRisingTicks() / 130.0F); + public RisingZombieRenderState createRenderState() { + return new RisingZombieRenderState(); } @Override - protected @Nullable RenderType getRenderType(RisingZombie entity, boolean bodyVisible, boolean translucent, boolean glowing) { + public void extractRenderState(RisingZombie entity, RisingZombieRenderState state, float partialTicks) { + super.extractRenderState(entity, state, partialTicks); + state.isAggressive = entity.isAggressive(); + state.risingTicks = entity.getRisingTicks(); + } + + @Override + protected @Nullable RenderType getRenderType(RisingZombieRenderState state, boolean bodyVisible, boolean translucent, boolean glowing) { // Render normally for spectators instead of very translucent - if (translucent) return this.model.renderType(this.getTextureLocation(entity)); - return super.getRenderType(entity, bodyVisible, translucent, glowing); + if (translucent) return this.model.renderType(this.getTextureLocation(state)); + return super.getRenderType(state, bodyVisible, translucent, glowing); } @Override - protected void setupRotations(RisingZombie entity, PoseStack stack, float bob, float yBodyRot, float partialTick, float scale) { - super.setupRotations(entity, stack, bob, yBodyRot, partialTick, scale); - var tick = entity.getRisingTicks(); + protected void setupRotations(RisingZombieRenderState state, PoseStack stack, float bodyRot, float scale) { + super.setupRotations(state, stack, bodyRot, scale); + var tick = state.risingTicks; stack.translate(0.0F, -(80.0F - Math.min(80.0F, tick)) / 80.0F, 0.0F); stack.translate(0.0F, -(40.0F - Math.min(40.0F, Math.max(0.0F, tick - 80.0F))) / 40.0F, 0.0F); final float yOff = 1.0F; @@ -42,7 +62,12 @@ protected void setupRotations(RisingZombie entity, PoseStack stack, float bob, f } @Override - protected float getFlipDegrees(RisingZombie livingEntity) { + protected float getFlipDegrees() { return 0.0F; } + + @Override + public ResourceLocation getTextureLocation(RisingZombieRenderState state) { + return ZOMBIE_LOCATION; + } } diff --git a/src/main/java/twilightforest/client/state/ChainBlockRenderState.java b/src/main/java/twilightforest/client/state/ChainBlockRenderState.java index e3cab15708..e167f89998 100644 --- a/src/main/java/twilightforest/client/state/ChainBlockRenderState.java +++ b/src/main/java/twilightforest/client/state/ChainBlockRenderState.java @@ -11,4 +11,5 @@ public class ChainBlockRenderState extends EntityRenderState { @Nullable public Vec3 chainStartPos; public int ownerLight; + public float blockHeight; } diff --git a/src/main/java/twilightforest/client/state/LichRenderState.java b/src/main/java/twilightforest/client/state/LichRenderState.java index bb866331cc..eb11993222 100644 --- a/src/main/java/twilightforest/client/state/LichRenderState.java +++ b/src/main/java/twilightforest/client/state/LichRenderState.java @@ -4,4 +4,5 @@ public class LichRenderState extends HumanoidRenderState { public boolean isShadowClone; + public int phase; } diff --git a/src/main/java/twilightforest/client/state/RisingZombieRenderState.java b/src/main/java/twilightforest/client/state/RisingZombieRenderState.java new file mode 100644 index 0000000000..2ddfd6396a --- /dev/null +++ b/src/main/java/twilightforest/client/state/RisingZombieRenderState.java @@ -0,0 +1,7 @@ +package twilightforest.client.state; + +import net.minecraft.client.renderer.entity.state.ZombieRenderState; + +public class RisingZombieRenderState extends ZombieRenderState { + public int risingTicks; +} diff --git a/src/main/java/twilightforest/command/CountLootCommand.java b/src/main/java/twilightforest/command/CountLootCommand.java index 1b3210d528..e57540dd7b 100644 --- a/src/main/java/twilightforest/command/CountLootCommand.java +++ b/src/main/java/twilightforest/command/CountLootCommand.java @@ -91,7 +91,7 @@ private int countLoot(CommandContext context, boolean showCo var rarityColor = new ItemStack(lootItem).getRarity().getStyleModifier(); - context.getSource().sendSystemMessage(lootItem.getDescription().copy().withStyle(rarityColor).append(suffixCount)); + context.getSource().sendSystemMessage(lootItem.getName().copy().withStyle(rarityColor).append(suffixCount)); } return lootCounts.values().intStream().sum(); diff --git a/src/main/java/twilightforest/components/entity/FortificationShieldAttachment.java b/src/main/java/twilightforest/components/entity/FortificationShieldAttachment.java index 7889c7cdc1..a5f5bf7130 100644 --- a/src/main/java/twilightforest/components/entity/FortificationShieldAttachment.java +++ b/src/main/java/twilightforest/components/entity/FortificationShieldAttachment.java @@ -104,7 +104,7 @@ public static void addShieldBreakParticles(DamageSource src, LivingEntity entity double x = sizeRange * offset.z * horizontal; double y = sizeRange * (entity.getRandom().nextDouble() - 0.5D); double z = sizeRange * offset.x * -horizontal; - particlePacket.queueParticle(TFParticleType.SHIELD_BREAK.get(), false, pos.x + x, pos.y + y, pos.z + z, x * 0.5D, y * 0.5D, z * 0.5D); + particlePacket.queueParticle(TFParticleType.SHIELD_BREAK.get(), pos.x + x, pos.y + y, pos.z + z, x * 0.5D, y * 0.5D, z * 0.5D); } } else { pos = entity.position().add(0.0D, entity.getBbHeight() * 0.65D, 0.0D); @@ -112,7 +112,7 @@ public static void addShieldBreakParticles(DamageSource src, LivingEntity entity double x = (entity.getRandom().nextDouble() - 0.5D); double y = (entity.getRandom().nextDouble() - 0.5D) * 0.25D; double z = (entity.getRandom().nextDouble() - 0.5D); - particlePacket.queueParticle(TFParticleType.SHIELD_BREAK.get(), false, pos.x + x, pos.y + y, pos.z + z, x * 0.33D, y * 0.33D, z * 0.33D); + particlePacket.queueParticle(TFParticleType.SHIELD_BREAK.get(), pos.x + x, pos.y + y, pos.z + z, x * 0.33D, y * 0.33D, z * 0.33D); } } diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java index 89ac4fc4fd..11e569d4cc 100644 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ b/src/main/java/twilightforest/data/DataGenerators.java @@ -67,7 +67,7 @@ public static void gatherData(GatherDataEvent.Client event) { generator.addProvider(true, new CraftingGeneratorRunner(output, lookupProvider)); generator.addProvider(true, new LootModifierGenerator(output, lookupProvider)); - generator.addProvider(event.includeServer(), new StructureTemplateDefinitionGenerator(output, lookupProvider, helper)); + generator.addProvider(true, new StructureTemplateDefinitionGenerator(output, lookupProvider)); //these have to go last due to magic paintings //when magic paintings are registered their atlas and lang content is too diff --git a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java b/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java index f5b91e45a7..5343a4d6d2 100644 --- a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java +++ b/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java @@ -2,7 +2,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import twilightforest.TwilightForestMod; import twilightforest.world.components.structures.finalcastle.FinalCastleBellTower21Component; import twilightforest.world.components.structures.finalcastle.FinalCastleBossGazeboComponent; @@ -12,8 +11,8 @@ import java.util.concurrent.CompletableFuture; public class StructureTemplateDefinitionGenerator extends StructureTemplateDefinitionProvider { - public StructureTemplateDefinitionGenerator(PackOutput output, CompletableFuture lookupProvider, ExistingFileHelper existingFileHelper) { - super(output, lookupProvider, TwilightForestMod.ID, existingFileHelper); + public StructureTemplateDefinitionGenerator(PackOutput output, CompletableFuture lookupProvider) { + super(output, lookupProvider, TwilightForestMod.ID); } @Override diff --git a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java b/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java index 69ad8f57b9..2240629a9f 100644 --- a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java +++ b/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java @@ -3,8 +3,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.PackType; -import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.JsonCodecProvider; import twilightforest.TwilightForestMod; import twilightforest.world.components.structures.lichtowerrevamp.StructureTemplateDefinition; @@ -17,8 +15,8 @@ public abstract class StructureTemplateDefinitionProvider extends JsonCodecProvider { private final Map> poolsForTemplateWeights = new HashMap<>(); - public StructureTemplateDefinitionProvider(PackOutput output, CompletableFuture lookupProvider, String modId, ExistingFileHelper existingFileHelper) { - super(output, PackOutput.Target.DATA_PACK, StructureTemplateDefinitions.DIRECTORY, PackType.SERVER_DATA, StructureTemplateDefinition.CODEC, lookupProvider, modId, existingFileHelper); + public StructureTemplateDefinitionProvider(PackOutput output, CompletableFuture lookupProvider, String modId) { + super(output, PackOutput.Target.DATA_PACK, StructureTemplateDefinitions.DIRECTORY, StructureTemplateDefinition.CODEC, lookupProvider, modId); } protected abstract void generatePools(); diff --git a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java b/src/main/java/twilightforest/data/custom/UncraftingGenerator.java index 4bd89d0683..a3388d8363 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java +++ b/src/main/java/twilightforest/data/custom/UncraftingGenerator.java @@ -1,7 +1,9 @@ package twilightforest.data.custom; import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; @@ -21,8 +23,8 @@ public static void buildRecipes(HolderGetter items, RecipeOutput output) { .pattern("B") .define('B', Items.BOOK).save(output); - UncraftingRecipeBuilder.uncrafting(TFBlocks.KEEPSAKE_CASKET.value()).setCost(0) + UncraftingRecipeBuilder.uncrafting(items, TFBlocks.KEEPSAKE_CASKET.get()).setCost(0) .pattern("C") - .define('C', TFBlocks.SKULL_CHEST.value()).save(output, TwilightForestMod.prefix("relinquish_keepsakes")); + .define('C', TFBlocks.SKULL_CHEST.value()).save(output, ResourceKey.create(Registries.RECIPE, TwilightForestMod.prefix("relinquish_keepsakes"))); } } diff --git a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java b/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java index 4c0fa5ad22..f7af49e8c6 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java @@ -91,12 +91,12 @@ public UncraftingRecipeBuilder pattern(String pattern) { } @Override - public RecipeBuilder unlockedBy(String name, Criterion trigger) { + public UncraftingRecipeBuilder unlockedBy(String name, Criterion trigger) { return this; } @Override - public RecipeBuilder group(@Nullable String group) { + public UncraftingRecipeBuilder group(@Nullable String group) { return this; } diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java index 3092ee621e..61e9668ab9 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java +++ b/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java @@ -26,7 +26,7 @@ public class StalactiteReloadListener extends CodecResourceReloadListener> STALAGMITES_PER_HILL = new HashMap<>(); public StalactiteReloadListener() { - super(STALACTITE_DIRECTORY, SpeleothemVarietyConfig.CODEC); + super(SpeleothemVarietyConfig.CODEC, STALACTITE_DIRECTORY); } @Override diff --git a/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java b/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java index 727bc785c6..c75fc2c666 100644 --- a/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java +++ b/src/main/java/twilightforest/enchantment/RechargeScepterEffect.java @@ -31,7 +31,7 @@ public static void applyRecharge(ServerLevel level, ItemStack item, Entity entit List slotsToConsume = new ArrayList<>(); for (var recipe : recipes) { if (item.is(recipe.getScepter())) { - var ingredientCopy = new ArrayList<>(recipe.getIngredients()); + var ingredientCopy = new ArrayList<>(recipe.placementInfo().ingredients()); scepterItemsCheck: for (int i = 0; i < player.getInventory().items.size(); i++) { var stack = player.getInventory().items.get(i); diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index b919b1701f..57d008f107 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -118,8 +118,8 @@ public Lich(Level level, Lich otherLich) { @Nullable @Override @SuppressWarnings({"deprecation"}) - public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable SpawnGroupData spawnGroupData) { - SpawnGroupData data = super.finalizeSpawn(level, difficulty, spawnType, spawnGroupData); + public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnGroupData) { + SpawnGroupData data = super.finalizeSpawn(level, difficulty, reason, spawnGroupData); if (!this.isShadowClone()) { this.setItemInHand(InteractionHand.MAIN_HAND, TFItems.FORTIFICATION_SCEPTER.toStack()); this.playSound(TFSounds.SHIELD_ADD.get(), 1.5F, this.getVoicePitch()); @@ -470,7 +470,7 @@ public void despawnClones() { double x = clone.getX((this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)) * 1.5D); double y = clone.getY(this.random.nextDouble() * this.random.nextDouble() * 1.25D); double z = clone.getZ((this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)) * 1.5D); - particlePacket.queueParticle(ParticleTypes.SMOKE, false, x, y, z, 0.0D, 0.0D, 0.0D); + particlePacket.queueParticle(ParticleTypes.SMOKE, x, y, z, 0.0D, 0.0D, 0.0D); } PacketDistributor.sendToPlayersTrackingEntity(this, particlePacket); @@ -675,14 +675,14 @@ public void lichTeleportParticles(boolean appear) { double x = this.getX(this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)); double y = this.getY(this.random.nextDouble()); double z = this.getZ(this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)); - particlePacket.queueParticle(options, false, x, y, z, (x - pos.x) * 0.0625D, (y - pos.y) * 0.0625D, (z - pos.z) * 0.0625D); + particlePacket.queueParticle(options, x, y, z, (x - pos.x) * 0.0625D, (y - pos.y) * 0.0625D, (z - pos.z) * 0.0625D); } } else { for(int j = 0; j < (!this.isShadowClone() ? 128 : 64); ++j) { double x = this.getX((this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)) * 2.0D); double y = this.getY(this.random.nextDouble() * 1.125D); double z = this.getZ((this.random.nextDouble() * this.random.nextDouble() * (this.random.nextBoolean() ? 1.0D : -1.0D)) * 2.0D); - particlePacket.queueParticle(ParticleTypes.SMOKE, false, x, y, z, 0.0D, 0.0D, 0.0D); + particlePacket.queueParticle(ParticleTypes.SMOKE, x, y, z, 0.0D, 0.0D, 0.0D); } } @@ -702,7 +702,7 @@ public void makeMagicTrail(Vec3 source, Vec3 target, float red, float green, flo double tx = source.x() + (target.x() - source.x()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; double ty = source.y() + 0.2D + (target.y() - source.y()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; double tz = source.z() + (target.z() - source.z()) * trailFactor + this.getRandom().nextGaussian() * 0.005D; - packet.queueParticle(ColorParticleOption.create(TFParticleType.MAGIC_EFFECT.get(), red, green, blue), false, tx, ty, tz, 0.0D, 0.0D, 0.0D); + packet.queueParticle(ColorParticleOption.create(TFParticleType.MAGIC_EFFECT.get(), red, green, blue), tx, ty, tz, 0.0D, 0.0D, 0.0D); } PacketDistributor.sendToPlayersTrackingEntity(this, packet); @@ -1006,7 +1006,7 @@ public void tickDeathAnimation() { for (double i = 0.0D; i < 1.0D; i += 0.2D) { double x = Math.sin((powFactor + i) * Math.PI * 2.0D) * expandFactor * 1.75D; double z = Math.cos((powFactor + i) * Math.PI * 2.0D) * expandFactor * 1.75D; - this.level().addParticle(TFParticleType.OMINOUS_FLAME.get(), false, particlePos.x() + x, particlePos.y() - 0.25D, particlePos.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(TFParticleType.OMINOUS_FLAME.get(), particlePos.x() + x, particlePos.y() - 0.25D, particlePos.z() + z, 0.0D, 0.0D, 0.0D); } } @@ -1015,7 +1015,7 @@ public void tickDeathAnimation() { double x = (this.getRandom().nextDouble() - 0.5D) * 0.25D; double y = this.getRandom().nextDouble() * this.getBbHeight() * 0.1D; double z = (this.getRandom().nextDouble() - 0.5D) * 0.25D; - this.level().addParticle(ParticleTypes.SMOKE, false, start.x() + x, start.y() + y, start.z() + z, 0.0D, 0.0D, 0.0D); + this.level().addParticle(ParticleTypes.SMOKE, start.x() + x, start.y() + y, start.z() + z, 0.0D, 0.0D, 0.0D); } } diff --git a/src/main/java/twilightforest/entity/monster/LichMinion.java b/src/main/java/twilightforest/entity/monster/LichMinion.java index 03212f05a8..0be62d5c89 100644 --- a/src/main/java/twilightforest/entity/monster/LichMinion.java +++ b/src/main/java/twilightforest/entity/monster/LichMinion.java @@ -7,9 +7,9 @@ import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; import net.minecraft.world.entity.ai.goal.ZombieAttackGoal; @@ -126,7 +126,7 @@ private void findNewMaster() { } @Override - public @Nullable SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable SpawnGroupData spawnGroupData) { + public @Nullable SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnGroupData) { boolean baby = false; if (this.master != null && difficulty.getDifficulty() == Difficulty.HARD) { @@ -138,6 +138,6 @@ private void findNewMaster() { } spawnGroupData = new ZombieGroupData(baby, true); - return super.finalizeSpawn(level, difficulty, spawnType, spawnGroupData); + return super.finalizeSpawn(level, difficulty, reason, spawnGroupData); } } diff --git a/src/main/java/twilightforest/entity/monster/RisingZombie.java b/src/main/java/twilightforest/entity/monster/RisingZombie.java index 64e63167a5..e9dc80e41a 100644 --- a/src/main/java/twilightforest/entity/monster/RisingZombie.java +++ b/src/main/java/twilightforest/entity/monster/RisingZombie.java @@ -6,6 +6,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -14,12 +15,9 @@ import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.HitResult; -import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.event.EventHooks; import net.neoforged.neoforge.fluids.FluidType; public class RisingZombie extends Monster { @@ -82,20 +80,23 @@ public void aiStep() { } } else if (this.tickCount % 10 == 0) { var player = this.level().getNearestPlayer(this, this.getAttributeValue(Attributes.FOLLOW_RANGE) / 2); - if (player != null && this.isLookingInMyDirection(player, 0.5D, false, true, this.getEyeY(), this.getY() + 0.5D * (double)this.getScale(), (this.getEyeY() + this.getY()) / 2.0D)) { + if (player != null && this.isLookingAtMe(player, 0.5D, false, true, this.getEyeY(), this.getY() + 0.5D * (double)this.getScale(), (this.getEyeY() + this.getY()) / 2.0D)) { this.getEntityData().set(RISING_TICKS, 1); } } if (!this.level().isClientSide() && this.getRisingTicks() >= 130) { - var zombie = this.convertTo(EntityType.ZOMBIE, true); - zombie.setHealth(this.getHealth()); - zombie.setYRot(this.yRotO = this.getYRot()); + this.convertTo(EntityType.ZOMBIE, ConversionParams.single(this, true, true), mob -> { + EventHooks.onLivingConvert(this, mob); + mob.setHealth(this.getHealth()); + mob.setYRot(this.yRotO = this.getYRot()); + }); + } } @Override - public boolean isInvulnerableTo(DamageSource source) { + public boolean isInvulnerableTo(ServerLevel level, DamageSource source) { return source.is(DamageTypes.IN_WALL); } @@ -109,33 +110,6 @@ protected SoundEvent getDeathSound() { return SoundEvents.ZOMBIE_DEATH; } - //TODO replace with LivingEntity.isLookingAtMe in 1.21.4+ - public boolean isLookingInMyDirection(Player player, double width, boolean useLength, boolean checkAir, double... offsets) { - Vec3 vec3 = player.getViewVector(1.0F).normalize(); - - for (double yOffs : offsets) { - Vec3 vec31 = new Vec3(this.getX() - player.getX(), yOffs - player.getEyeY(), this.getZ() - player.getZ()); - double d1 = vec31.length(); - vec31 = vec31.normalize(); - double d2 = vec3.dot(vec31); - if (d2 > 1.0 - width / (useLength ? d1 : 1.0D) && this.hasLineOfSight(player, checkAir ? ClipContext.Block.VISUAL : ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, yOffs)) { - return true; - } - } - - return false; - } - - public boolean hasLineOfSight(Player player, ClipContext.Block blockClip, ClipContext.Fluid fluidClip, double yOffs) { - if (player.level() != this.level()) { - return false; - } else { - Vec3 vec3 = new Vec3(this.getX(), this.getEyeY(), this.getZ()); - Vec3 vec31 = new Vec3(player.getX(), yOffs, player.getZ()); - return !(vec31.distanceTo(vec3) > 128.0) && this.level().clip(new ClipContext(vec3, vec31, blockClip, fluidClip, this)).getType() == HitResult.Type.MISS; - } - } - public int getRisingTicks() { return this.getEntityData().get(RISING_TICKS); } diff --git a/src/main/java/twilightforest/entity/monster/SwarmSpider.java b/src/main/java/twilightforest/entity/monster/SwarmSpider.java index 36b7394779..e58b9705fe 100644 --- a/src/main/java/twilightforest/entity/monster/SwarmSpider.java +++ b/src/main/java/twilightforest/entity/monster/SwarmSpider.java @@ -9,8 +9,8 @@ import net.minecraft.world.DifficultyInstance; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -79,15 +79,11 @@ protected void playStepSound(BlockPos pos, BlockState state) { } @Override - public boolean doHurtTarget(Entity entity) { - return this.getRandom().nextInt(4) == 0 && super.doHurtTarget(entity); + public boolean doHurtTarget(ServerLevel level, Entity entity) { + return this.getRandom().nextInt(4) == 0 && super.doHurtTarget(level, entity); } - public EntityType getReinforcementType() { - return TFEntities.SWARM_SPIDER.get(); - } - - public static boolean getCanSpawnHere(EntityType entity, ServerLevelAccessor accessor, MobSpawnType reason, BlockPos pos, RandomSource random) { + public static boolean checkSwarmSpawnRules(EntityType entity, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource random) { return accessor.getDifficulty() != Difficulty.PEACEFUL && isValidLightLevel(accessor, pos, random) && checkMobSpawnRules(entity, accessor, reason, pos, random); } @@ -110,7 +106,7 @@ public int getMaxSpawnClusterSize() { @Nullable @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData data) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData data) { data = super.finalizeSpawn(accessor, difficulty, reason, data); this.summonJockey(accessor, difficulty); return data; @@ -118,11 +114,11 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst public void summonJockey(ServerLevelAccessor accessor, DifficultyInstance difficulty) { if (this.getFirstPassenger() != null || accessor.getRandom().nextInt(200) == 0) { - SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level()); + SkeletonDruid druid = TFEntities.SKELETON_DRUID.get().create(this.level(), EntitySpawnReason.JOCKEY); if (druid != null) { druid.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F); druid.setBaby(true); - EventHooks.finalizeMobSpawn(druid, accessor, difficulty, MobSpawnType.JOCKEY, null); + EventHooks.finalizeMobSpawn(druid, accessor, difficulty, EntitySpawnReason.JOCKEY, null); if (this.hasPassenger(e -> true)) this.ejectPassengers(); druid.startRiding(this); diff --git a/src/main/java/twilightforest/entity/monster/TowerBroodling.java b/src/main/java/twilightforest/entity/monster/TowerBroodling.java index 1892cfad39..3abbdfb713 100644 --- a/src/main/java/twilightforest/entity/monster/TowerBroodling.java +++ b/src/main/java/twilightforest/entity/monster/TowerBroodling.java @@ -46,11 +46,6 @@ protected void playStepSound(BlockPos pos, BlockState state) { this.playSound(TFSounds.CARMINITE_BROODLING_STEP.get(), 0.15F, 1.0F); } - @Override - public EntityType getReinforcementType() { - return TFEntities.CARMINITE_BROODLING.get(); - } - //no skeleton druid jockeys for us @Override public void summonJockey(ServerLevelAccessor accessor, DifficultyInstance difficulty) { diff --git a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java index 2bd20e8933..331ee28bce 100644 --- a/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java +++ b/src/main/java/twilightforest/entity/passive/quest/QuestReloadListener.java @@ -1,10 +1,6 @@ package twilightforest.entity.passive.quest; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; -import com.mojang.serialization.JsonOps; +import net.minecraft.resources.FileToIdConverter; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; @@ -16,23 +12,21 @@ import java.util.Map; -public class QuestReloadListener extends SimpleJsonResourceReloadListener { +public class QuestReloadListener extends SimpleJsonResourceReloadListener { @Autowired private static QuestingRamCurrentContext questingRamCurrentContext; - private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); - public QuestReloadListener() { - super(GSON, "twilight/quests"); + super(QuestingRamContext.CODEC, FileToIdConverter.json("twilight/quests")); } @Override - protected void apply(Map object, ResourceManager resourceManager, ProfilerFiller profiler) { + protected void apply(Map object, ResourceManager resourceManager, ProfilerFiller profiler) { boolean found = false; for (var entry : object.entrySet()) { if (entry.getKey().getPath().equals("questing_ram")) { - questingRamCurrentContext.setContext(QuestingRamContext.CODEC.parse(JsonOps.INSTANCE, entry.getValue()).getOrThrow(JsonParseException::new)); + questingRamCurrentContext.setContext(entry.getValue()); TwilightForestMod.LOGGER.debug("Questing Ram quest set by mod {}", entry.getKey().getNamespace()); found = true; } diff --git a/src/main/java/twilightforest/entity/projectile/ChainBlock.java b/src/main/java/twilightforest/entity/projectile/ChainBlock.java index c4b9edf6ea..c7b6a1a64b 100644 --- a/src/main/java/twilightforest/entity/projectile/ChainBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ChainBlock.java @@ -23,7 +23,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.pattern.BlockInWorld; import net.minecraft.world.level.gameevent.GameEvent; -import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.EntityHitResult; import net.minecraft.world.phys.Vec3; @@ -58,24 +57,23 @@ public ChainBlock(EntityType type, Level level) { } public ChainBlock(EntityType type, Level level, LivingEntity thrower, InteractionHand hand, ItemStack stack) { - super(type, thrower, level); + super(type, level); this.setOwner(thrower); - this.isReturning = false; this.stack = stack; this.setHand(hand); this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0.0F, 1.5F, 1.0F); this.getEntityData().set(IS_FOIL, stack.hasFoil()); } - @Override - public AABB getBoundingBoxForCulling() { - if (this.getOwner() != null) { - AABB dis = super.getBoundingBoxForCulling(); - AABB owner = this.getOwner().getBoundingBoxForCulling(); - return dis.minmax(owner); - } - return super.getBoundingBoxForCulling(); - } +// @Override +// public AABB getBoundingBoxForCulling() { +// if (this.getOwner() != null) { +// AABB dis = super.getBoundingBoxForCulling(); +// AABB owner = this.getOwner().getBoundingBoxForCulling(); +// return dis.minmax(owner); +// } +// return super.getBoundingBoxForCulling(); +// } private void setHand(InteractionHand hand) { this.getEntityData().set(HAND, hand == InteractionHand.MAIN_HAND); diff --git a/src/main/java/twilightforest/events/CapabilityEvents.java b/src/main/java/twilightforest/events/CapabilityEvents.java index 627a979d5b..d88d2ffc96 100644 --- a/src/main/java/twilightforest/events/CapabilityEvents.java +++ b/src/main/java/twilightforest/events/CapabilityEvents.java @@ -118,7 +118,7 @@ private static void newSpawnInTwilightForest(ServerPlayer player) { BlockPos newDefaultSpawn = level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, player.blockPosition()); - player.changeDimension(TFConfig.portalForNewPlayerSpawn ? + player.teleport(TFConfig.portalForNewPlayerSpawn ? TFTeleporter.createTransition(player, level, newDefaultSpawn, true) : NoReturnTeleporter.createNoPortalTransition(level, player, newDefaultSpawn)); player.setRespawnPosition(TFDimension.DIMENSION_KEY, newDefaultSpawn, player.getYRot(), true, false); diff --git a/src/main/java/twilightforest/events/EntityEvents.java b/src/main/java/twilightforest/events/EntityEvents.java index 2104fa4561..f96141d615 100644 --- a/src/main/java/twilightforest/events/EntityEvents.java +++ b/src/main/java/twilightforest/events/EntityEvents.java @@ -105,12 +105,12 @@ public static void ominousFireConversion(LivingDeathEvent event) { EntityTransformation dataMap = event.getEntity().getType().builtInRegistryHolder().getData(TFDataMaps.OMINOUS_FIRE); if (event.getEntity() instanceof ServerPlayer player) { - var zombie = EntityType.ZOMBIE.create(player.level()); + var zombie = EntityType.ZOMBIE.create(player.level(), EntitySpawnReason.CONVERSION); zombie.setData(TFDataAttachments.ZOMBIFIED_PLAYER, player.getGameProfile()); zombie.copyPosition(player); zombie.setCanPickUpLoot(true); zombie.setBaby(false); - EventHooks.finalizeMobSpawn(zombie, player.serverLevel(), player.level().getCurrentDifficultyAt(player.blockPosition()), MobSpawnType.CONVERSION, null); + EventHooks.finalizeMobSpawn(zombie, player.serverLevel(), player.level().getCurrentDifficultyAt(player.blockPosition()), EntitySpawnReason.CONVERSION, null); player.level().addFreshEntity(zombie); } else if (dataMap != null && event.getEntity().level() instanceof ServerLevel) { EntityUtil.convertEntity(event.getEntity(), dataMap.result()); @@ -120,10 +120,10 @@ public static void ominousFireConversion(LivingDeathEvent event) { @SubscribeEvent public static void zombifiedPlayerAttacks(LivingIncomingDamageEvent event) { - if (!(event.getSource() instanceof OminousFireDamageSource) && event.getSource().getEntity() instanceof Zombie zombie && zombie.hasData(TFDataAttachments.ZOMBIFIED_PLAYER)) { + if (!(event.getSource() instanceof OminousFireDamageSource) && event.getSource().getEntity() instanceof Zombie zombie && zombie.hasData(TFDataAttachments.ZOMBIFIED_PLAYER) && event.getEntity().level() instanceof ServerLevel level) { float amount = event.getAmount(); event.setCanceled(true); - event.getEntity().hurt(new OminousFireDamageSource(event.getSource()), amount); + event.getEntity().hurtServer(level, new OminousFireDamageSource(event.getSource()), amount); } } diff --git a/src/main/java/twilightforest/events/TFTickHandler.java b/src/main/java/twilightforest/events/TFTickHandler.java index c7a009dd24..e35c858978 100644 --- a/src/main/java/twilightforest/events/TFTickHandler.java +++ b/src/main/java/twilightforest/events/TFTickHandler.java @@ -109,17 +109,17 @@ private static boolean isProtected(StructurePiece piece) { return !(piece instanceof ProgressionPiece progressionPiece) || progressionPiece.isComponentProtected(); } - private static void checkForPortalCreation(ServerPlayer player, Level world, float rangeToCheck) { - if (world.dimension().location().equals(ResourceLocation.parse(TFConfig.originDimension)) - || TFDimension.isTwilightPortalDestination(world) + private static void checkForPortalCreation(ServerPlayer player, ServerLevel level, float rangeToCheck) { + if (level.dimension().location().equals(ResourceLocation.parse(TFConfig.originDimension)) + || TFDimension.isTwilightPortalDestination(level) || TFConfig.allowPortalsInOtherDimensions) { - List itemList = world.getEntitiesOfClass(ItemEntity.class, player.getBoundingBox().inflate(rangeToCheck)); + List itemList = level.getEntitiesOfClass(ItemEntity.class, player.getBoundingBox().inflate(rangeToCheck)); ItemEntity qualified = null; for (ItemEntity entityItem : itemList) { if (entityItem.getItem().is(ItemTagGenerator.PORTAL_ACTIVATOR) && - TFBlocks.TWILIGHT_PORTAL.get().canFormPortal(world.getBlockState(entityItem.blockPosition())) && + TFBlocks.TWILIGHT_PORTAL.get().canFormPortal(level.getBlockState(entityItem.blockPosition())) && Objects.equals(entityItem.getOwner(), player)) { qualified = entityItem; @@ -146,16 +146,15 @@ private static void checkForPortalCreation(ServerPlayer player, Level world, flo } } - Random rand = new Random(); for (int i = 0; i < 2; i++) { - double vx = rand.nextGaussian() * 0.02D; - double vy = rand.nextGaussian() * 0.02D; - double vz = rand.nextGaussian() * 0.02D; + double vx = level.getRandom().nextGaussian() * 0.02D; + double vy = level.getRandom().nextGaussian() * 0.02D; + double vz = level.getRandom().nextGaussian() * 0.02D; - world.addParticle(ParticleTypes.EFFECT, qualified.getX(), qualified.getY() + 0.2, qualified.getZ(), vx, vy, vz); + level.addParticle(ParticleTypes.EFFECT, qualified.getX(), qualified.getY() + 0.2, qualified.getZ(), vx, vy, vz); } - if (TFBlocks.TWILIGHT_PORTAL.get().tryToCreatePortal(world, qualified.blockPosition(), qualified, player)) + if (TFBlocks.TWILIGHT_PORTAL.get().tryToCreatePortal(level, qualified.blockPosition(), qualified, player)) TFAdvancements.MADE_TF_PORTAL.get().trigger(player); } diff --git a/src/main/java/twilightforest/init/TFBlockEntities.java b/src/main/java/twilightforest/init/TFBlockEntities.java index 80ffcb2d35..0fb75d6ec7 100644 --- a/src/main/java/twilightforest/init/TFBlockEntities.java +++ b/src/main/java/twilightforest/init/TFBlockEntities.java @@ -9,123 +9,74 @@ import twilightforest.block.entity.bookshelf.ChiseledCanopyShelfBlockEntity; import twilightforest.block.entity.spawner.*; -@SuppressWarnings("DataFlowIssue") public class TFBlockEntities { public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, TwilightForestMod.ID); - public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> - BlockEntityType.Builder.of(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> - BlockEntityType.Builder.of(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get()).build(null)); - public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> - BlockEntityType.Builder.of(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get()).build(null)); - public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> - BlockEntityType.Builder.of(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> - BlockEntityType.Builder.of(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get()).build(null)); - public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> - BlockEntityType.Builder.of(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> - BlockEntityType.Builder.of(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> - BlockEntityType.Builder.of(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> - BlockEntityType.Builder.of(TrophyBlockEntity::new, TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), - TFBlocks.HYDRA_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.ALPHA_YETI_TROPHY.get(), - TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), - TFBlocks.MINOSHROOM_WALL_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), - TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> - BlockEntityType.Builder.of(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> - BlockEntityType.Builder.of(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> - BlockEntityType.Builder.of(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> - BlockEntityType.Builder.of(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> - BlockEntityType.Builder.of(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> - BlockEntityType.Builder.of(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> - BlockEntityType.Builder.of(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> - BlockEntityType.Builder.of(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()).build(null)); - public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> - BlockEntityType.Builder.of(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> - BlockEntityType.Builder.of(CicadaBlockEntity::new, TFBlocks.CICADA.get()).build(null)); - public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> - BlockEntityType.Builder.of(FireflyBlockEntity::new, TFBlocks.FIREFLY.get()).build(null)); - public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> - BlockEntityType.Builder.of(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SKULL_CHEST = BLOCK_ENTITIES.register("skull_chest", () -> - BlockEntityType.Builder.of(SkullChestBlockEntity::new, TFBlocks.SKULL_CHEST.get()).build(null)); - public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> - BlockEntityType.Builder.of(KeepsakeCasketBlockEntity::new, TFBlocks.KEEPSAKE_CASKET.get()).build(null)); - public static final DeferredHolder, BlockEntityType> BRAZIER = BLOCK_ENTITIES.register("brazier", () -> - BlockEntityType.Builder.of(BrazierBlockEntity::new, TFBlocks.BRAZIER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> - BlockEntityType.Builder.of(TFChestBlockEntity::new, - TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.MANGROVE_CHEST.get(), - TFBlocks.DARK_CHEST.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TRANSFORMATION_CHEST.get(), - TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> - BlockEntityType.Builder.of(TFTrappedChestBlockEntity::new, - TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), - TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), - TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> - BlockEntityType.Builder.of(SkullCandleBlockEntity::new, - TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), - TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), - TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), - TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), - TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), - TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> - BlockEntityType.Builder.of(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> - BlockEntityType.Builder.of(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> - BlockEntityType.Builder.of(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> - BlockEntityType.Builder.of(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> - BlockEntityType.Builder.of(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> - BlockEntityType.Builder.of(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> SINISTER_SPAWNER = BLOCK_ENTITIES.register("sinister_spawner", () -> - BlockEntityType.Builder.of(SinisterSpawnerBlockEntity::new, TFBlocks.SINISTER_SPAWNER.get()).build(null)); - - public static final DeferredHolder, BlockEntityType> OMINOUS_CANDLE = BLOCK_ENTITIES.register("ominous_candle", () -> - BlockEntityType.Builder.of(OminousCandleBlockEntity::new, TFBlocks.OMINOUS_CANDLE.get(), TFBlocks.OMINOUS_WHITE_CANDLE.get(), - TFBlocks.OMINOUS_ORANGE_CANDLE.get(), - TFBlocks.OMINOUS_MAGENTA_CANDLE.get(), - TFBlocks.OMINOUS_LIGHT_BLUE_CANDLE.get(), - TFBlocks.OMINOUS_YELLOW_CANDLE.get(), - TFBlocks.OMINOUS_LIME_CANDLE.get(), - TFBlocks.OMINOUS_PINK_CANDLE.get(), - TFBlocks.OMINOUS_GRAY_CANDLE.get(), - TFBlocks.OMINOUS_LIGHT_GRAY_CANDLE.get(), - TFBlocks.OMINOUS_CYAN_CANDLE.get(), - TFBlocks.OMINOUS_PURPLE_CANDLE.get(), - TFBlocks.OMINOUS_BLUE_CANDLE.get(), - TFBlocks.OMINOUS_BROWN_CANDLE.get(), - TFBlocks.OMINOUS_GREEN_CANDLE.get(), - TFBlocks.OMINOUS_RED_CANDLE.get(), - TFBlocks.OMINOUS_BLACK_CANDLE.get()).build(null)); + public static final DeferredHolder, BlockEntityType> ANTIBUILDER = BLOCK_ENTITIES.register("antibuilder", () -> new BlockEntityType<>(AntibuilderBlockEntity::new, TFBlocks.ANTIBUILDER.get())); + public static final DeferredHolder, BlockEntityType> CINDER_FURNACE = BLOCK_ENTITIES.register("cinder_furnace", () -> new BlockEntityType<>(CinderFurnaceBlockEntity::new, TFBlocks.CINDER_FURNACE.get())); + public static final DeferredHolder, BlockEntityType> CARMINITE_REACTOR = BLOCK_ENTITIES.register("carminite_reactor", () -> new BlockEntityType<>(CarminiteReactorBlockEntity::new, TFBlocks.CARMINITE_REACTOR.get())); + public static final DeferredHolder, BlockEntityType> REACTOR_DEBRIS = BLOCK_ENTITIES.register("reactor_debris", () -> new BlockEntityType<>(ReactorDebrisBlockEntity::new, TFBlocks.REACTOR_DEBRIS.get())); + public static final DeferredHolder, BlockEntityType> FLAME_JET = BLOCK_ENTITIES.register("flame_jet", () -> new BlockEntityType<>(FireJetBlockEntity::new, TFBlocks.FIRE_JET.get(), TFBlocks.ENCASED_FIRE_JET.get())); + public static final DeferredHolder, BlockEntityType> GHAST_TRAP = BLOCK_ENTITIES.register("ghast_trap", () -> new BlockEntityType<>(GhastTrapBlockEntity::new, TFBlocks.GHAST_TRAP.get())); + public static final DeferredHolder, BlockEntityType> SMOKER = BLOCK_ENTITIES.register("smoker", () -> new BlockEntityType<>(TFSmokerBlockEntity::new, TFBlocks.SMOKER.get(), TFBlocks.ENCASED_SMOKER.get())); + public static final DeferredHolder, BlockEntityType> TOWER_BUILDER = BLOCK_ENTITIES.register("tower_builder", () -> new BlockEntityType<>(CarminiteBuilderBlockEntity::new, TFBlocks.CARMINITE_BUILDER.get())); + public static final DeferredHolder, BlockEntityType> ALPHA_YETI_SPAWNER = BLOCK_ENTITIES.register("alpha_yeti_spawner", () -> new BlockEntityType<>(AlphaYetiSpawnerBlockEntity::new, TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> FINAL_BOSS_SPAWNER = BLOCK_ENTITIES.register("final_boss_spawner", () -> new BlockEntityType<>(FinalBossSpawnerBlockEntity::new, TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> HYDRA_SPAWNER = BLOCK_ENTITIES.register("hydra_boss_spawner", () -> new BlockEntityType<>(HydraSpawnerBlockEntity::new, TFBlocks.HYDRA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> KNIGHT_PHANTOM_SPAWNER = BLOCK_ENTITIES.register("knight_phantom_spawner", () -> new BlockEntityType<>(KnightPhantomSpawnerBlockEntity::new, TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> LICH_SPAWNER = BLOCK_ENTITIES.register("lich_spawner", () -> new BlockEntityType<>(LichSpawnerBlockEntity::new, TFBlocks.LICH_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> MINOSHROOM_SPAWNER = BLOCK_ENTITIES.register("minoshroom_spawner", () -> new BlockEntityType<>(MinoshroomSpawnerBlockEntity::new, TFBlocks.MINOSHROOM_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> NAGA_SPAWNER = BLOCK_ENTITIES.register("naga_spawner", () -> new BlockEntityType<>(NagaSpawnerBlockEntity::new, TFBlocks.NAGA_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> SNOW_QUEEN_SPAWNER = BLOCK_ENTITIES.register("snow_queen_spawner", () -> new BlockEntityType<>(SnowQueenSpawnerBlockEntity::new, TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> UR_GHAST_SPAWNER = BLOCK_ENTITIES.register("tower_boss_spawner", () -> new BlockEntityType<>(UrGhastSpawnerBlockEntity::new, TFBlocks.UR_GHAST_BOSS_SPAWNER.get())); + public static final DeferredHolder, BlockEntityType> CICADA = BLOCK_ENTITIES.register("cicada", () -> new BlockEntityType<>(CicadaBlockEntity::new, TFBlocks.CICADA.get())); + public static final DeferredHolder, BlockEntityType> FIREFLY = BLOCK_ENTITIES.register("firefly", () -> new BlockEntityType<>(FireflyBlockEntity::new, TFBlocks.FIREFLY.get())); + public static final DeferredHolder, BlockEntityType> MOONWORM = BLOCK_ENTITIES.register("moonworm", () -> new BlockEntityType<>(MoonwormBlockEntity::new, TFBlocks.MOONWORM.get())); + public static final DeferredHolder, BlockEntityType> SKULL_CHEST = BLOCK_ENTITIES.register("skull_chest", () -> new BlockEntityType<>(SkullChestBlockEntity::new, TFBlocks.SKULL_CHEST.get())); + public static final DeferredHolder, BlockEntityType> KEEPSAKE_CASKET = BLOCK_ENTITIES.register("keepsake_casket", () -> new BlockEntityType<>(KeepsakeCasketBlockEntity::new, TFBlocks.KEEPSAKE_CASKET.get())); + public static final DeferredHolder, BlockEntityType> BRAZIER = BLOCK_ENTITIES.register("brazier", () -> new BlockEntityType<>(BrazierBlockEntity::new, TFBlocks.BRAZIER.get())); + public static final DeferredHolder, BlockEntityType> CHISELED_CANOPY_BOOKSHELF = BLOCK_ENTITIES.register("chiseled_canopy_bookshelf", () -> new BlockEntityType<>(ChiseledCanopyShelfBlockEntity::new, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get())); + public static final DeferredHolder, BlockEntityType> BEANSTALK_GROWER = BLOCK_ENTITIES.register("beanstalk_grower", () -> new BlockEntityType<>(GrowingBeanstalkBlockEntity::new, TFBlocks.BEANSTALK_GROWER.get())); + public static final DeferredHolder, BlockEntityType> RED_THREAD = BLOCK_ENTITIES.register("red_thread", () -> new BlockEntityType<>(RedThreadBlockEntity::new, TFBlocks.RED_THREAD.get())); + public static final DeferredHolder, BlockEntityType> CANDELABRA = BLOCK_ENTITIES.register("candelabra", () -> new BlockEntityType<>(CandelabraBlockEntity::new, TFBlocks.CANDELABRA.get())); + public static final DeferredHolder, BlockEntityType> JAR = BLOCK_ENTITIES.register("jar", () -> new BlockEntityType<>(JarBlockEntity::new, TFBlocks.FIREFLY_JAR.get(), TFBlocks.CICADA_JAR.get())); + public static final DeferredHolder, BlockEntityType> MASON_JAR = BLOCK_ENTITIES.register("mason_jar", () -> new BlockEntityType<>(MasonJarBlockEntity::new, TFBlocks.MASON_JAR.get())); + public static final DeferredHolder, BlockEntityType> SINISTER_SPAWNER = BLOCK_ENTITIES.register("sinister_spawner", () -> new BlockEntityType<>(SinisterSpawnerBlockEntity::new, TFBlocks.SINISTER_SPAWNER.get())); + + public static final DeferredHolder, BlockEntityType> TROPHY = BLOCK_ENTITIES.register("trophy", () -> new BlockEntityType<>(TrophyBlockEntity::new, + TFBlocks.NAGA_TROPHY.get(), TFBlocks.LICH_TROPHY.get(), TFBlocks.MINOSHROOM_TROPHY.get(), + TFBlocks.HYDRA_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.ALPHA_YETI_TROPHY.get(), + TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), + TFBlocks.MINOSHROOM_WALL_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), + TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get())); + + public static final DeferredHolder, BlockEntityType> TF_CHEST = BLOCK_ENTITIES.register("tf_chest", () -> new BlockEntityType<>(TFChestBlockEntity::new, + TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.CANOPY_CHEST.get(), TFBlocks.MANGROVE_CHEST.get(), + TFBlocks.DARK_CHEST.get(), TFBlocks.TIME_CHEST.get(), TFBlocks.TRANSFORMATION_CHEST.get(), + TFBlocks.MINING_CHEST.get(), TFBlocks.SORTING_CHEST.get())); + + public static final DeferredHolder, BlockEntityType> TF_TRAPPED_CHEST = BLOCK_ENTITIES.register("tf_trapped_chest", () -> new BlockEntityType<>(TFTrappedChestBlockEntity::new, + TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_TRAPPED_CHEST.get(), + TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), + TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.SORTING_TRAPPED_CHEST.get())); + + public static final DeferredHolder, BlockEntityType> SKULL_CANDLE = BLOCK_ENTITIES.register("skull_candle", () -> new BlockEntityType<>(SkullCandleBlockEntity::new, + TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), + TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), + TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), + TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), + TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), + TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get())); + + public static final DeferredHolder, BlockEntityType> OMINOUS_CANDLE = BLOCK_ENTITIES.register("ominous_candle", () -> new BlockEntityType<>(OminousCandleBlockEntity::new, + TFBlocks.OMINOUS_CANDLE.get(), TFBlocks.OMINOUS_WHITE_CANDLE.get(), + TFBlocks.OMINOUS_ORANGE_CANDLE.get(), TFBlocks.OMINOUS_MAGENTA_CANDLE.get(), + TFBlocks.OMINOUS_LIGHT_BLUE_CANDLE.get(), TFBlocks.OMINOUS_YELLOW_CANDLE.get(), + TFBlocks.OMINOUS_LIME_CANDLE.get(), TFBlocks.OMINOUS_PINK_CANDLE.get(), + TFBlocks.OMINOUS_GRAY_CANDLE.get(), TFBlocks.OMINOUS_LIGHT_GRAY_CANDLE.get(), + TFBlocks.OMINOUS_CYAN_CANDLE.get(), TFBlocks.OMINOUS_PURPLE_CANDLE.get(), + TFBlocks.OMINOUS_BLUE_CANDLE.get(), TFBlocks.OMINOUS_BROWN_CANDLE.get(), + TFBlocks.OMINOUS_GREEN_CANDLE.get(), TFBlocks.OMINOUS_RED_CANDLE.get(), + TFBlocks.OMINOUS_BLACK_CANDLE.get())); } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 5693c71ce7..8ddebbb5b5 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -142,7 +142,7 @@ public class TFBlocks { public static final DeferredBlock MAZESTONE_MOSAIC = registerWithItem("mazestone_mosaic", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); public static final DeferredBlock MAZESTONE_BORDER = registerWithItem("mazestone_border", Block::new, () -> BlockBehaviour.Properties.ofFullCopy(MAZESTONE.get())); public static final DeferredBlock RED_THREAD = registerWithItem("red_thread", RedThreadBlock::new, () -> BlockBehaviour.Properties.of().instabreak().mapColor(MapColor.FIRE).isValidSpawn(TFBlocks::noSpawning).noCollission().noOcclusion().noTerrainParticles().pushReaction(PushReaction.DESTROY)); - public static final DeferredBlock MAZE_SLIME_BLOCK = register("maze_slime_block", () -> new MazeSlimeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SLIME_BLOCK).mapColor(MapColor.STONE))); + public static final DeferredBlock MAZE_SLIME_BLOCK = registerWithItem("maze_slime_block", MazeSlimeBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SLIME_BLOCK).mapColor(MapColor.STONE)); //stronghold public static final DeferredBlock STRONGHOLD_SHIELD = registerWithItem("stronghold_shield", StrongholdShieldBlock::new, () -> BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.STONE).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.METAL).strength(-1.0F, 6000000.0F)); diff --git a/src/main/java/twilightforest/init/TFDamageTypes.java b/src/main/java/twilightforest/init/TFDamageTypes.java index 6255dd8c21..fe4688c310 100644 --- a/src/main/java/twilightforest/init/TFDamageTypes.java +++ b/src/main/java/twilightforest/init/TFDamageTypes.java @@ -69,7 +69,7 @@ public static DamageSource getEntityDamageSource(Level level, ResourceKey type, @Nullable Entity attacker, @Nullable Entity indirectAttacker, EntityType... toIgnore) { - return toIgnore.length > 0 ? new EntityExcludedDamageSource(level.registryAccess().holderOrThrow(type), attacker, indirectAttacker, toIgnore) : new DamageSource(level.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(type), attacker, indirectAttacker); + return toIgnore.length > 0 ? new EntityExcludedDamageSource(level.registryAccess().holderOrThrow(type), attacker, indirectAttacker, toIgnore) : new DamageSource(level.registryAccess().holderOrThrow(type), attacker, indirectAttacker); } public static void bootstrap(BootstrapContext context) { diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index a5514a8adc..6f5f3ddefb 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -7,6 +7,7 @@ import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.monster.Zombie; import net.minecraft.world.entity.vehicle.Boat; import net.minecraft.world.entity.vehicle.ChestBoat; import net.minecraft.world.item.Item; @@ -88,7 +89,7 @@ public class TFEntities { public static final DeferredHolder, EntityType> RAVEN = registerWithEgg("raven", EntityType.Builder.of(Raven::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(10), 0x000011, 0x222233, Raven::registerAttributes, Animal::checkAnimalSpawnRules); public static final DeferredHolder, EntityType> REDCAP = registerWithEgg("redcap", EntityType.Builder.of(Redcap::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x3B3A6C, 0xAB1E14, Redcap::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> REDCAP_SAPPER = registerWithEgg("redcap_sapper", EntityType.Builder.of(RedcapSapper::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x575D21, 0xAB1E14, RedcapSapper::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> RISING_ZOMBIE = registerWithAttributes("rising_zombie", EntityType.Builder.of(RisingZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(16).noSummon(), RisingZombie::createAttributes); + public static final DeferredHolder, EntityType> RISING_ZOMBIE = registerWithAttributes("rising_zombie", EntityType.Builder.of(RisingZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(16).noSummon(), Zombie::createAttributes); public static final DeferredHolder, EntityType> ROVING_CUBE = registerWithAttributes("roving_cube", EntityType.Builder.of(RovingCube::new, MobCategory.MONSTER).sized(1.2F, 2.1F).noLootTable().noSummon().clientTrackingRange(8).fireImmune(), RovingCube::registerAttributes); public static final DeferredHolder, EntityType> SEEKER_ARROW = registerMisc("seeker_arrow", EntityType.Builder.of(SeekerArrow::new, MobCategory.MISC).sized(0.5F, 0.5F).clientTrackingRange(4).updateInterval(20)); public static final DeferredHolder, EntityType> SKELETON_DRUID = registerWithEgg("skeleton_druid", EntityType.Builder.of(SkeletonDruid::new, MobCategory.MONSTER).sized(0.6F, 1.99F).ridingOffset(-0.7F).clientTrackingRange(10), 0xA3A3A3, 0x2A3B17, SkeletonDruid::createAttributes, SkeletonDruid::checkDruidSpawnRules); diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index 79e71af1f6..a27ed97742 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -119,10 +119,10 @@ public class TFItems { public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, Item.Properties::new); public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, Item.Properties::new); public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, Item.Properties::new); - public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), Item.Properties::new); - public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), Item.Properties::new); - public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), Item.Properties::new); - public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new KnightmetalArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_HELMET = register("knightmetal_helmet", properties -> new ArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.HELMET, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_CHESTPLATE = register("knightmetal_chestplate", properties -> new ArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.CHESTPLATE, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_LEGGINGS = register("knightmetal_leggings", properties -> new ArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.LEGGINGS, properties), Item.Properties::new); + public static final DeferredItem KNIGHTMETAL_BOOTS = register("knightmetal_boots", properties -> new ArmorItem(TFArmorMaterials.KNIGHTMETAL, ArmorType.BOOTS, properties), Item.Properties::new); public static final DeferredItem KNIGHTMETAL_SWORD = register("knightmetal_sword", properties -> new KnightmetalSwordItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); public static final DeferredItem KNIGHTMETAL_PICKAXE = register("knightmetal_pickaxe", properties -> new KnightmetalPickItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); public static final DeferredItem KNIGHTMETAL_AXE = register("knightmetal_axe", properties -> new KnightmetalAxeItem(TFToolMaterials.KNIGHTMETAL, properties), Item.Properties::new); @@ -161,6 +161,7 @@ public class TFItems { public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); + public static final DeferredItem KEEPSAKE_CASKET = register("keepsake_casket", KeepsakeCasketItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), Item.Properties::new); public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), Item.Properties::new); public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), Item.Properties::new); diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index ac773f6d18..00c5c7da00 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -1,16 +1,16 @@ package twilightforest.item; import net.minecraft.ChatFormatting; -import net.minecraft.core.Holder; +import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.TFArmorModel; import twilightforest.client.renderer.TFSimpleArmorRenderer; import twilightforest.init.TFItems; @@ -20,8 +20,8 @@ public class ArcticArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.arctic_armor.desc").withStyle(ChatFormatting.GRAY); public static final int DEFAULT_COLOR = 0xFFBDCFD9; - public ArcticArmorItem(Holder armorMaterial, Type type, Properties properties) { - super(armorMaterial, type, properties); + public ArcticArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { + super(material, type, properties); } @Override @@ -37,7 +37,7 @@ public boolean canWalkOnPowderedSnow(ItemStack stack, LivingEntity wearer) { public static final class ArmorRender extends TFSimpleArmorRenderer { public ArmorRender() { - super(TFArmorModel::new, TFModelLayers.ARCTIC_ARMOR_INNER, TFModelLayers.ARCTIC_ARMOR_OUTER); + super(HumanoidArmorModel::new, TFModelLayers.ARCTIC_ARMOR_INNER, TFModelLayers.ARCTIC_ARMOR_OUTER); } @Override diff --git a/src/main/java/twilightforest/item/ExanimateEssenceItem.java b/src/main/java/twilightforest/item/ExanimateEssenceItem.java index edffd2a8d2..b497710b49 100644 --- a/src/main/java/twilightforest/item/ExanimateEssenceItem.java +++ b/src/main/java/twilightforest/item/ExanimateEssenceItem.java @@ -45,7 +45,7 @@ public InteractionResult useOn(UseOnContext context) { if (flag) { context.getItemInHand().shrink(1); - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } else { return InteractionResult.FAIL; } diff --git a/src/main/java/twilightforest/item/FieryArmorItem.java b/src/main/java/twilightforest/item/FieryArmorItem.java index e661b7e7eb..24bf8f9968 100644 --- a/src/main/java/twilightforest/item/FieryArmorItem.java +++ b/src/main/java/twilightforest/item/FieryArmorItem.java @@ -6,16 +6,17 @@ import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; import java.util.List; public class FieryArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.fiery_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public FieryArmorItem(Holder material, Type type, Properties properties) { + public FieryArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } diff --git a/src/main/java/twilightforest/item/KeepsakeCasketItem.java b/src/main/java/twilightforest/item/KeepsakeCasketItem.java index 8e7e3fff77..f7ef62c707 100644 --- a/src/main/java/twilightforest/item/KeepsakeCasketItem.java +++ b/src/main/java/twilightforest/item/KeepsakeCasketItem.java @@ -1,21 +1,23 @@ package twilightforest.item; +import net.minecraft.network.chat.Component; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; +import twilightforest.init.TFBlocks; import twilightforest.init.TFDataComponents; public class KeepsakeCasketItem extends BlockItem { - public KeepsakeCasketItem(Block block, Properties properties) { - super(block, properties); + public KeepsakeCasketItem(Properties properties) { + super(TFBlocks.KEEPSAKE_CASKET.get(), properties); } @Override - public String getDescriptionId(ItemStack stack) { + public Component getName(ItemStack stack) { if (stack.getOrDefault(TFDataComponents.CASKET_DAMAGE, 0) > 0) { String damage = stack.get(TFDataComponents.CASKET_DAMAGE) == 1 ? "chipped_" : "damaged_"; - return "block.twilightforest." + damage + "keepsake_casket"; + return Component.translatable("block.twilightforest." + damage + "keepsake_casket"); } - return super.getDescriptionId(stack); + return super.getName(stack); } } diff --git a/src/main/java/twilightforest/item/PhantomArmorItem.java b/src/main/java/twilightforest/item/PhantomArmorItem.java index 5f3f6d8753..fa678dfbc3 100644 --- a/src/main/java/twilightforest/item/PhantomArmorItem.java +++ b/src/main/java/twilightforest/item/PhantomArmorItem.java @@ -1,30 +1,21 @@ package twilightforest.item; import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import net.neoforged.neoforge.common.util.Lazy; -import org.jetbrains.annotations.NotNull; -import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.TFArmorModel; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; import java.util.List; public class PhantomArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.phantom_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public PhantomArmorItem(Holder material, Type type, Properties properties) { + public PhantomArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -32,20 +23,4 @@ public PhantomArmorItem(Holder material, Type type, Properties pr public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { tooltip.add(TOOLTIP); } - - public static final class ArmorRender implements IClientItemExtensions { - public static final ArmorRender INSTANCE = new ArmorRender(); - private static final Lazy> INNER_ARMOR_MODEL = Lazy.of(() -> - new TFArmorModel(Minecraft.getInstance().getEntityModels().bakeLayer(TFModelLayers.PHANTOM_ARMOR_INNER)) - ); - private static final Lazy> OUTER_ARMOR_MODEL = Lazy.of(() -> - new TFArmorModel(Minecraft.getInstance().getEntityModels().bakeLayer(TFModelLayers.PHANTOM_ARMOR_OUTER)) - ); - - @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { - return slot == EquipmentSlot.LEGS ? INNER_ARMOR_MODEL.get() : OUTER_ARMOR_MODEL.get(); - } - } - } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/TransformPowderItem.java b/src/main/java/twilightforest/item/TransformPowderItem.java index 1efe6e36a3..626ee7b6c0 100644 --- a/src/main/java/twilightforest/item/TransformPowderItem.java +++ b/src/main/java/twilightforest/item/TransformPowderItem.java @@ -58,35 +58,8 @@ public static boolean transformEntityIfPossible(LivingEntity target, ItemStack p var datamap = target.getType().builtInRegistryHolder().getData(TFDataMaps.TRANSFORMATION_POWDER); if (datamap != null) { - Entity newEntity = datamap.result().create(level, EntitySpawnReason.CONVERSION); - if (newEntity == null) { - return false; - } - - newEntity.moveTo(target.getX(), target.getY(), target.getZ(), target.getYRot(), target.getXRot()); - if (newEntity instanceof Mob mob && target.level() instanceof ServerLevel world) { - EventHooks.finalizeMobSpawn(mob, world, target.level().getCurrentDifficultyAt(target.blockPosition()), EntitySpawnReason.CONVERSION, null); - - if (target instanceof Saddleable saddleable && saddleable.isSaddled() && !(newEntity instanceof Saddleable)) { - newEntity.spawnAtLocation(world, Items.SADDLE); - } - } - - try { // try copying what can be copied - UUID uuid = newEntity.getUUID(); - newEntity.load(target.saveWithoutId(newEntity.saveWithoutId(new CompoundTag()))); - newEntity.setUUID(uuid); - if (newEntity instanceof LivingEntity living) { - living.setHealth(living.getMaxHealth()); - } - } catch (Exception e) { - TwilightForestMod.LOGGER.warn("Couldn't transform entity NBT data", e); - } - - target.level().addFreshEntity(newEntity); - target.discard(); - - if (shrinkStack) { + boolean flag = EntityUtil.convertEntity(target, datamap.result()); + if (flag && shrinkStack) { powder.shrink(1); } return flag; diff --git a/src/main/java/twilightforest/item/YetiArmorItem.java b/src/main/java/twilightforest/item/YetiArmorItem.java index cf4ea7367b..e93373f40a 100644 --- a/src/main/java/twilightforest/item/YetiArmorItem.java +++ b/src/main/java/twilightforest/item/YetiArmorItem.java @@ -1,24 +1,16 @@ package twilightforest.item; import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.Style; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; -import net.neoforged.neoforge.common.util.Lazy; -import org.jetbrains.annotations.NotNull; +import net.minecraft.world.item.equipment.ArmorMaterial; +import net.minecraft.world.item.equipment.ArmorType; import org.jetbrains.annotations.Nullable; -import twilightforest.client.model.TFModelLayers; -import twilightforest.client.model.armor.YetiArmorModel; import twilightforest.init.TFItems; import java.util.List; @@ -26,7 +18,7 @@ public class YetiArmorItem extends ArmorItem { private static final MutableComponent TOOLTIP = Component.translatable("item.twilightforest.yeti_armor.desc").setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY)); - public YetiArmorItem(Holder material, Type type, Properties properties) { + public YetiArmorItem(ArmorMaterial material, ArmorType type, Properties properties) { super(material, type, properties); } @@ -40,21 +32,4 @@ public void appendHoverText(ItemStack stack, @Nullable TooltipContext context, L public boolean canWalkOnPowderedSnow(ItemStack stack, LivingEntity wearer) { return stack.is(TFItems.YETI_BOOTS.get()); } - - public static final class ArmorRender implements IClientItemExtensions { - public static final ArmorRender INSTANCE = new ArmorRender(); - - private static final Lazy> INNER_ARMOR_MODEL = Lazy.of(() -> - new YetiArmorModel(Minecraft.getInstance().getEntityModels().bakeLayer(TFModelLayers.YETI_ARMOR_INNER)) - ); - private static final Lazy> OUTER_ARMOR_MODEL = Lazy.of(() -> - new YetiArmorModel(Minecraft.getInstance().getEntityModels().bakeLayer(TFModelLayers.YETI_ARMOR_OUTER)) - ); - - @Override - public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel model) { - return slot == EquipmentSlot.LEGS ? INNER_ARMOR_MODEL.get() : OUTER_ARMOR_MODEL.get(); - } - } - } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/recipe/CasketRepairRecipe.java b/src/main/java/twilightforest/item/recipe/CasketRepairRecipe.java index 12a305b824..1c6b30d506 100644 --- a/src/main/java/twilightforest/item/recipe/CasketRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/CasketRepairRecipe.java @@ -66,12 +66,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height >= 2; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.CASKET_REPAIR_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java b/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java index bccf000b72..7e688a6d4b 100644 --- a/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java @@ -67,12 +67,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height >= 2; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.ESSENCE_REPAIR_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java index fd6f687be0..b09b43d9ba 100644 --- a/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/MoonwormQueenRepairRecipe.java @@ -76,12 +76,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height >= 2; - } - - @Override - public RecipeSerializer getSerializer() { + public RecipeSerializer getSerializer() { return TFRecipes.MOONWORM_QUEEN_REPAIR_RECIPE.get(); } } diff --git a/src/main/java/twilightforest/util/DisplayUtil.java b/src/main/java/twilightforest/util/DisplayUtil.java index b2d629289e..a8d3aaf60e 100644 --- a/src/main/java/twilightforest/util/DisplayUtil.java +++ b/src/main/java/twilightforest/util/DisplayUtil.java @@ -6,6 +6,7 @@ import net.minecraft.nbt.*; import net.minecraft.world.entity.Display; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; @@ -43,7 +44,7 @@ public boolean spawnBlockDisplay(Level level, BoundingBox box, BlockState displa entityNBT.putString("id", BuiltInRegistries.ENTITY_TYPE.getKey(EntityType.BLOCK_DISPLAY).toString()); - Optional spawned = EntityType.create(entityNBT, level); + Optional spawned = EntityType.create(entityNBT, level, EntitySpawnReason.MOB_SUMMONED); if (spawned.isEmpty()) return false; Entity entity = spawned.get(); @@ -83,7 +84,7 @@ public void setTextEntity(Level level, double x, double y, double z, Display.Bil entityNBT.putString("id", BuiltInRegistries.ENTITY_TYPE.getKey(EntityType.TEXT_DISPLAY).toString()); - Optional spawned = EntityType.create(entityNBT, level); + Optional spawned = EntityType.create(entityNBT, level, EntitySpawnReason.MOB_SUMMONED); if (spawned.isEmpty()) return; Entity entity = spawned.get(); diff --git a/src/main/java/twilightforest/util/entities/EntityUtil.java b/src/main/java/twilightforest/util/entities/EntityUtil.java index 954cc3482a..8d1e0620c5 100644 --- a/src/main/java/twilightforest/util/entities/EntityUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityUtil.java @@ -286,12 +286,14 @@ public static List getEntitiesInAABB(WorldGenLevel world, AABB boundingB @SuppressWarnings("unchecked") public static boolean convertEntity(LivingEntity oldEntity, EntityType newType) { if (!(oldEntity.level() instanceof ServerLevel level)) return false; - var newEntity = newType.create(level); + var newEntity = newType.create(level, EntitySpawnReason.CONVERSION); if (newEntity == null) return false; if (!(newEntity instanceof LivingEntity living) || EventHooks.canLivingConvert(oldEntity, (EntityType) living.getType(), timer -> {})) { var passengerSave = oldEntity.getPassengers(); if (oldEntity instanceof Mob mob && newEntity instanceof Mob newMob) { - newEntity = mob.convertTo((EntityType) newMob.getType(), true); + newEntity = mob.convertTo((EntityType) newMob.getType(), ConversionParams.single(mob, true, true), mob1 -> { + EventHooks.onLivingConvert(oldEntity, mob1); + }); } else { newEntity.copyPosition(oldEntity); @@ -306,7 +308,7 @@ public static boolean convertEntity(LivingEntity oldEntity, EntityType newTyp } } - EventHooks.finalizeMobSpawn(mob, level, level.getCurrentDifficultyAt(oldEntity.blockPosition()), MobSpawnType.CONVERSION, null); + EventHooks.finalizeMobSpawn(mob, level, level.getCurrentDifficultyAt(oldEntity.blockPosition()), EntitySpawnReason.CONVERSION, null); } oldEntity.level().addFreshEntity(newEntity); @@ -324,7 +326,7 @@ public static boolean convertEntity(LivingEntity oldEntity, EntityType newTyp } if (oldEntity instanceof Saddleable saddleable && saddleable.isSaddled() && !(newEntity instanceof Saddleable)) { - newEntity.spawnAtLocation(Items.SADDLE); + newEntity.spawnAtLocation(level, Items.SADDLE); } if (newEntity instanceof Mob mob) { @@ -333,7 +335,7 @@ public static boolean convertEntity(LivingEntity oldEntity, EntityType newTyp for (EquipmentSlot equipmentslot : EquipmentSlot.values()) { ItemStack itemstack = mob.getItemBySlot(equipmentslot).copyAndClear(); - mob.spawnAtLocation(itemstack); + mob.spawnAtLocation(level, itemstack); } } @@ -353,7 +355,7 @@ public static boolean convertEntity(LivingEntity oldEntity, EntityType newTyp @Nullable public static T createEntityIgnoreException(ServerLevelAccessor level, EntityType type) { try { - return type.create(level.getLevel()); + return type.create(level.getLevel(), EntitySpawnReason.MOB_SUMMONED); } catch (Exception exception) { return null; } diff --git a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java index 4713b06860..c6170542cc 100644 --- a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java +++ b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java @@ -125,7 +125,7 @@ public static Optional locateNearestLandmarkStart(LevelAccessor } public static boolean isProgressionEnforced(ServerLevel level) { - return level.getGameRules().getBoolean(TwilightForestMod.ENFORCED_PROGRESSION_RULE); + return level.getGameRules().getBoolean(TwilightForestMod.ENFORCED_PROGRESSION_RULE.get()); } private LandmarkUtil() { diff --git a/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java b/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java index 3c41ac8188..9821c628b5 100644 --- a/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java +++ b/src/main/java/twilightforest/world/components/feature/trees/CanopyMushroomFeature.java @@ -38,7 +38,7 @@ protected void placeTrunk(LevelAccessor levelAccessor, RandomSource random, Bloc for (int i = 0; i < height; ++i) { mutableBlockPos.set(pos).move(Direction.UP, i); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { this.setBlock(levelAccessor, mutableBlockPos, featureConfiguration.stemProvider.getState(random, pos)); if (bugsLeft > 0 && i > height / 2 && random.nextInt(10) == 9) @@ -70,7 +70,7 @@ protected boolean addFirefly(LevelAccessor levelAccessor, BlockPos pos, RandomSo BlockPos.MutableBlockPos bugPos = new BlockPos.MutableBlockPos(); bugPos.set(pos).move(direction); - if (levelAccessor.getBlockState(bugPos).isSolidRender(levelAccessor, bugPos)) { + if (levelAccessor.getBlockState(bugPos).isSolidRender()) { return false; } @@ -133,7 +133,7 @@ protected void makeCap(LevelAccessor levelAccessor, RandomSource random, BlockPo for (int z = -foliageRadius; z <= foliageRadius; ++z) { if (!FeatureLogic.isCornerInSquare(x, z, foliageRadius)) { mutableBlockPos.setWithOffset(pos, x, height, z); - if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender(levelAccessor, mutableBlockPos)) { + if (!levelAccessor.getBlockState(mutableBlockPos).isSolidRender()) { BlockState blockState = featureConfiguration.capProvider.getState(random, pos); blockState = FeatureLogic.getHorizontalMushroomBlockState(blockState, x, z, foliageRadius); this.setBlock(levelAccessor, mutableBlockPos, blockState); diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java index 555ec2622f..77e0e99909 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichPerimeterFence.java @@ -252,7 +252,7 @@ private static LichPerimeterFence generateUntilNearDest(StructureTemplateManager BlockPos directionOffset = destPos.subtract(checkPos); // Rotate to test for orthogonality via dot product (to check if dot() == 0) - var targetDirecton = turn.rotate(first.orientation().top()).getNormal(); + var targetDirecton = turn.rotate(first.orientation().top()).getUnitVec3i(); // 0 from (horizontal) dot product means orthogonal, can approach from a right-angle turn now if (directionOffset.getX() * targetDirecton.getX() + directionOffset.getZ() * targetDirecton.getZ() == 0) diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java index 16822a1e38..aa952266fb 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java @@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.StructureManager; @@ -123,7 +124,7 @@ protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, Direction direction = this.placeSettings.getRotation().rotate(Direction.SOUTH); Optional> variantHolderOpt = variantForGallery(level, this.templateName); - MagicPainting galleryPainting = TFEntities.MAGIC_PAINTING.value().create(level.getLevel()); + MagicPainting galleryPainting = TFEntities.MAGIC_PAINTING.value().create(level.getLevel(), EntitySpawnReason.STRUCTURE); if (variantHolderOpt.isPresent() && galleryPainting != null) { galleryPainting.setDirection(direction); galleryPainting.setVariant(variantHolderOpt.get()); @@ -151,7 +152,7 @@ private static Optional> variantForGaller if (variantId == null) return Optional.empty(); - return level.registryAccess().registryOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).getHolder(variantId); + return level.registryAccess().holder(variantId); } public static void tryPlaceGallery(RandomSource random, StructurePieceAccessor pieceAccessor, @Nullable ResourceLocation roomId, JigsawRecord connection, TwilightJigsawPiece parent, int newDepth, StructureTemplateManager structureManager, String jigsawLabel) { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java index 4f93133e77..1ad2286dfa 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingRoom.java @@ -19,8 +19,8 @@ import net.minecraft.util.RandomSource; import net.minecraft.util.Unit; import net.minecraft.world.RandomizableContainer; +import net.minecraft.world.entity.EntitySpawnReason; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -583,7 +583,7 @@ private void putMasonJar(BlockPos pos, WorldGenLevel level, RandomSource random, }; if (!jarEntity.fillFromLootTable(lootTableId, random.nextLong(), level.getLevel())) { ResourceLocation itemId = ResourceLocation.bySeparator(label, '.'); - jarEntity.getItemHandler().setItem(new ItemStack(level.registryAccess().registry(Registries.ITEM).>map(reg -> reg::get).orElse($ -> Items.AIR).apply(itemId))); + jarEntity.getItemHandler().setItem(new ItemStack(level.registryAccess().lookup(Registries.ITEM).>map(reg -> reg::getValue).orElse($ -> Items.AIR).apply(itemId))); } int itemRotation = this.placeSettings.getRotation().ordinal() * 4 + (parameters.length == 3 ? this.getHeadRotation(parameters[2], random) : 0); jarEntity.setItemRotation(Math.floorMod(itemRotation, 16)); @@ -752,9 +752,9 @@ private void putZombieTrap(RandomSource random, WorldGenLevel level, BlockPos po private BlockState blockFromLabel(String label) { if (label.contains(".")) { - return BuiltInRegistries.BLOCK.get(ResourceLocation.bySeparator(label, '.')).defaultBlockState(); + return BuiltInRegistries.BLOCK.getValue(ResourceLocation.bySeparator(label, '.')).defaultBlockState(); } else { - return BuiltInRegistries.BLOCK.get(ResourceLocation.parse(label)).defaultBlockState(); + return BuiltInRegistries.BLOCK.getValue(ResourceLocation.parse(label)).defaultBlockState(); } } @@ -868,12 +868,12 @@ private void putTrappableLectern(BlockPos pos, WorldGenLevel level, Rotation dat level.setBlock(pos, lectern, Block.UPDATE_CLIENTS); if (putMimic) { - DeathTome tomeMimic = TFEntities.DEATH_TOME.value().create(level.getLevel()); + DeathTome tomeMimic = TFEntities.DEATH_TOME.get().create(level.getLevel(), EntitySpawnReason.STRUCTURE); if (tomeMimic != null) { tomeMimic.setPersistenceRequired(); tomeMimic.moveTo(pos, lectern.getValue(HorizontalDirectionalBlock.FACING).toYRot(), 0); tomeMimic.setOnLectern(true); - tomeMimic.finalizeSpawn(level, level.getCurrentDifficultyAt(tomeMimic.blockPosition()), MobSpawnType.STRUCTURE, null); + tomeMimic.finalizeSpawn(level, level.getCurrentDifficultyAt(tomeMimic.blockPosition()), EntitySpawnReason.STRUCTURE, null); level.addFreshEntityWithPassengers(tomeMimic); } } else if (level.getBlockEntity(pos) instanceof LecternBlockEntity lecternBlockEntity) { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java index 5621047f78..7e3b32f750 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java @@ -22,7 +22,7 @@ public class StructureTemplateDefinitions extends CodecResourceReloadListener extends SimpleJsonResourceReloadListener { +//TODO this class may be redundant now that SimpleJsonResourceReloadListener uses codecs. Look into it +@Deprecated +public abstract class CodecResourceReloadListener extends SimpleJsonResourceReloadListener { protected final Gson gson; private final Codec codec; - public CodecResourceReloadListener(String directory, Codec codec) { - this(new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(), directory, codec); + public CodecResourceReloadListener(Codec codec, String directory) { + this(new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(), codec, directory); } - public CodecResourceReloadListener(Gson gson, String directory, Codec codec) { - super(gson, directory); + public CodecResourceReloadListener(Gson gson, Codec codec, String directory) { + super(ExtraCodecs.JSON, FileToIdConverter.json(directory)); this.gson = gson; this.codec = codec; From d8751972a04e957b28b819e41cab3b5fd45cf455 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:27:23 -0600 Subject: [PATCH 052/239] game now runs, run and fix some datagen --- build.gradle | 7 +- gradle.properties | 4 +- .../0f202e000d40347127b33b6edbbb29689b8cbf86 | 2 - .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 74 +- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 9 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 41 +- .../6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 | 864 +++---- .../735031f3addf80804addae5e3f53249900116f1e | 2 +- .../798c5895537920d3e944cadfc678868c6deaf5cb | 10 +- .../a3b661b9d1602c79ab58dae8db9f53b60de85edc | 2 +- .../b2a952377faaaa835756f3c56b4ae643eb293c77 | 2 + .../b5294eda5c650593108e068003e23d389cc35af6 | 2 +- .../c8cd847b7fd34763d45d37011b05a30c2dfeb774 | 6 +- .../d54fd8e9cae1e749d9d0842965090e18ed3af4f3 | 2 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 10 +- .../e0d3d0b8d9c807675613821fa865a35f707cd83f | 4 +- .../e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 | 6 +- .../blockstates/blue_force_field.json | 7 + .../blockstates/bold_castle_brick_pillar.json | 16 + .../blockstates/bold_castle_brick_tile.json | 7 + .../blockstates/maze_slime_block.json | 7 - .../blockstates/ominous_black_candle.json | 7 - .../blockstates/ominous_blue_candle.json | 7 - .../blockstates/ominous_brown_candle.json | 7 - .../blockstates/ominous_candle.json | 7 - .../blockstates/ominous_cyan_candle.json | 7 - .../blockstates/ominous_fire.json | 90 - .../blockstates/ominous_gray_candle.json | 7 - .../blockstates/ominous_green_candle.json | 7 - .../ominous_light_blue_candle.json | 7 - .../ominous_light_gray_candle.json | 7 - .../blockstates/ominous_lime_candle.json | 7 - .../blockstates/ominous_magenta_candle.json | 7 - .../blockstates/ominous_orange_candle.json | 7 - .../blockstates/ominous_pink_candle.json | 7 - .../blockstates/ominous_purple_candle.json | 7 - .../blockstates/ominous_red_candle.json | 7 - .../blockstates/ominous_white_candle.json | 7 - .../blockstates/ominous_yellow_candle.json | 7 - .../models/block/blue_force_field.json | 1992 +++++++++++++++++ .../block/bold_castle_brick_pillar.json | 7 + .../bold_castle_brick_pillar_horizontal.json | 7 + .../models/block/bold_castle_brick_tile.json | 6 + .../models/block/maze_slime_block.json | 8 - .../models/block/ominous_black_candle.json | 6 - .../models/block/ominous_blue_candle.json | 6 - .../models/block/ominous_brown_candle.json | 6 - .../models/block/ominous_candle.json | 6 - .../models/block/ominous_cyan_candle.json | 6 - .../models/block/ominous_fire_floor0.json | 7 - .../models/block/ominous_fire_floor1.json | 7 - .../models/block/ominous_fire_side0.json | 7 - .../models/block/ominous_fire_side1.json | 7 - .../models/block/ominous_fire_side_alt0.json | 7 - .../models/block/ominous_fire_side_alt1.json | 7 - .../models/block/ominous_gray_candle.json | 6 - .../models/block/ominous_green_candle.json | 6 - .../block/ominous_light_blue_candle.json | 6 - .../block/ominous_light_gray_candle.json | 6 - .../models/block/ominous_lime_candle.json | 6 - .../models/block/ominous_magenta_candle.json | 6 - .../models/block/ominous_orange_candle.json | 6 - .../models/block/ominous_pink_candle.json | 6 - .../models/block/ominous_purple_candle.json | 6 - .../models/block/ominous_red_candle.json | 6 - .../models/block/ominous_white_candle.json | 6 - .../models/block/ominous_yellow_candle.json | 6 - .../models/item/maze_slime_block.json | 3 - .../chiseled_canopy_bookshelf.json | 32 + .../twilightforest/recipe/candelabra.json | 4 +- .../twilightforest/recipe/canopy_window.json | 8 +- .../recipe/canopy_window_pane.json | 4 +- .../recipe/chiseled_canopy_bookshelf.json | 17 + .../twilightforest/recipe/mystic_crown.json | 4 +- .../recipe/relinquish_keepsakes.json | 8 +- .../stonecutting/stone/terrorcotta_arcs.json | 4 +- .../stone/terrorcotta_curves.json | 4 +- .../stonecutting/stone/terrorcotta_lines.json | 4 +- .../terrorcotta_arcs/terrorcotta_curves.json | 4 +- .../terrorcotta_arcs/terrorcotta_lines.json | 4 +- .../terrorcotta_curves/terrorcotta_arcs.json | 4 +- .../terrorcotta_curves/terrorcotta_lines.json | 4 +- .../terrorcotta_lines/terrorcotta_arcs.json | 4 +- .../terrorcotta_lines/terrorcotta_curves.json | 4 +- .../recipe/tf_moss_to_vanilla.json | 17 - .../recipe/tf_to_vanilla_lilypad.json | 12 - .../recipe/wood/canopy_chest.json | 7 +- .../recipe/wood/canopy_trapped_chest.json | 15 +- .../recipe/wood/dark_chest.json | 7 +- .../recipe/wood/dark_trapped_chest.json | 15 +- .../recipe/wood/mangrove_chest.json | 7 +- .../recipe/wood/mangrove_trapped_chest.json | 15 +- .../recipe/wood/mining_chest.json | 7 +- .../recipe/wood/mining_trapped_chest.json | 15 +- .../recipe/wood/sorting_chest.json | 7 +- .../recipe/wood/sorting_trapped_chest.json | 15 +- .../recipe/wood/time_chest.json | 7 +- .../recipe/wood/time_trapped_chest.json | 15 +- .../recipe/wood/transformation_chest.json | 7 +- .../wood/transformation_trapped_chest.json | 15 +- .../recipe/wood/twilight_oak_chest.json | 7 +- .../wood/twilight_oak_trapped_chest.json | 15 +- .../recipe/wrought_iron_fence.json | 4 +- .../twilightforest/recipe_priorities.json | 21 + src/generated/resources/pack.mcmeta | 10 - .../twilightforest/TwilightForestMod.java | 20 +- .../client/event/RegistrationEvents.java | 13 +- .../twilightforest/data/DataGenerators.java | 8 +- .../data/custom/ScepterRecipeBuilder.java | 8 +- .../custom/stalactites/entry/Stalactite.java | 2 - .../data/helpers/BlockModelBuilders.java | 270 +-- .../data/helpers/CraftingDataHelper.java | 226 +- .../data/models/BlockModelGenerator.java | 4 +- .../data/recipes/CraftingGenerator.java | 460 ++-- .../data/recipes/RecipePriorityGenerator.java | 38 + .../data/recipes/StonecuttingGenerator.java | 254 ++- .../passive/quest/ram/QuestingRamContext.java | 11 + .../java/twilightforest/init/TFBlocks.java | 10 +- .../network/SyncQuestsPacket.java | 2 +- .../util/CodecResourceReloadListener.java | 7 +- 120 files changed, 3388 insertions(+), 1758 deletions(-) delete mode 100644 src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 create mode 100644 src/generated/resources/.cache/b2a952377faaaa835756f3c56b4ae643eb293c77 create mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json delete mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_slime_block.json create mode 100644 src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/chiseled_canopy_bookshelf.json create mode 100644 src/generated/resources/data/twilightforest/recipe/chiseled_canopy_bookshelf.json delete mode 100644 src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json delete mode 100644 src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json create mode 100644 src/generated/resources/data/twilightforest/recipe_priorities.json delete mode 100644 src/generated/resources/pack.mcmeta create mode 100644 src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java diff --git a/build.gradle b/build.gradle index 6146be1735..602b7dfdee 100644 --- a/build.gradle +++ b/build.gradle @@ -201,9 +201,8 @@ dependencies { // implementation "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.base_minecraft_version}" //curse maven - implementation "curse.maven:jade-324717:6011327" + implementation "curse.maven:jade-324717:6170888" implementation "curse.maven:cosmetic-armor-reworked-237307:5961480" - runtimeOnly "curse.maven:worldedit-225608:5830452" // runtimeOnly "curse.maven:jeed-532286:5483315" // runtimeOnly "curse.maven:museum-curator-859070:4629894" if (project.enable_tips_mod == 'true') { @@ -211,13 +210,13 @@ dependencies { runtimeOnly "curse.maven:bookshelf-228525:6098975" runtimeOnly "curse.maven:prickle-1023259:5836410" } - runtimeOnly "curse.maven:suggestion-provider-fix-469647:5598604" +// runtimeOnly "curse.maven:suggestion-provider-fix-469647:5598604" // compileOnly "mcjty.theoneprobe:theoneprobe:${project.top_version}" //mods we dont have compat with but are nice to have runtimeOnly "com.telepathicgrunt:CommandStructures-Neoforge:4.4.3+1.21.4" - runtimeOnly "curse.maven:world-edit-225608:6013137" +// runtimeOnly "curse.maven:world-edit-225608:6013137" testImplementation group: 'net.neoforged', name: 'testframework', version: project.neo_version testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.10.3' diff --git a/gradle.properties b/gradle.properties index cfdda1db9b..bfd0d721dc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.configuration-cache=true # Versions can be found at https://parchmentmc.org/docs/getting-started neoForge.parchment.minecraftVersion=1.21.4 -neoForge.parchment.mappingsVersion=2025.01.05 +neoForge.parchment.mappingsVersion=2025.03.23 # Mod Info mod_version=4.7 @@ -16,7 +16,7 @@ base_minecraft_version=1.21 minecraft_version=1.21.4 # NeoForge: https://projects.neoforged.net/neoforged/neoforge -neo_version=21.4.50-beta +neo_version=21.4.123 mdg_version=2.0.76 # Deps diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 deleted file mode 100644 index 8500f2f090..0000000000 --- a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 +++ /dev/null @@ -1,2 +0,0 @@ -// 1.21.4 2025-01-18T14:13:37.9560563 Pack Metadata -4a1573b0176f98cbe8b67eb3e8da3728f28336a3 pack.mcmeta diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 8113613566..ba69cefb3c 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.21.1 2025-03-26T23:27:03.974685332 Registries +// 1.21.4 2025-03-31T09:20:45.8024919 Registries 9089ada9ce06fd30adf8b10e50f02233c7d5a76e data/minecraft/twilight/wood_palettes/acacia.json dca1ef01d0df4e956fd414782de57c25dfddd290 data/minecraft/twilight/wood_palettes/birch.json 01becb45438b7f2bfdc77baba72bc986341510c8 data/minecraft/twilight/wood_palettes/crimson.json @@ -60,9 +60,9 @@ e0bcaf826b9a325b3f9a246f9ed4bf223ac73028 data/twilightforest/damage_type/thrown_ c4304ad6f22195ea9ddeff9a926a0bea41dd5b0d data/twilightforest/damage_type/yeeted.json d4c99e67de057db06a30a6ca4746f46801f15971 data/twilightforest/dimension/twilight_forest.json 52c2f166a51fd5f9ac3180ec6c3bfc1bff80e44b data/twilightforest/dimension_type/twilight_forest_type.json -af6c238a39a9b034ea47dfcfbf664a09cac37fd3 data/twilightforest/enchantment/chill_aura.json +a0108fd874130f4e03b44c46547a003d2c1c3531 data/twilightforest/enchantment/chill_aura.json 13fb18e0e1572713b6f0f3904c59e8a0e5333023 data/twilightforest/enchantment/destruction.json -2fdeb1be69f6b2140c4b001dca85e6febd620857 data/twilightforest/enchantment/fire_react.json +3fd23d50c20dbd51b1ef93bc86dfac73b4d750cb data/twilightforest/enchantment/fire_react.json 4272d53452c08df022ada2a8e4fa66c96cd1a072 data/twilightforest/enchantment/renewal.json 4c26e28cc85b90ae734826dc760d85a953f3bd85 data/twilightforest/jukebox_song/findings.json 1f1a35d51684372544efa0cae6886d32fe951981 data/twilightforest/jukebox_song/home.json @@ -73,12 +73,12 @@ b828efa9585f267f76bd39620be1528affd156e0 data/twilightforest/jukebox_song/steps. be01c68138d12e5e27afc8f8363ced916c9f6cc8 data/twilightforest/jukebox_song/superstitious.json cbcbac7abfa17db3b23fde6041cedb6edf91341c data/twilightforest/jukebox_song/thread.json d8b8f32d27d5f69b961f27a2472f5f6ddbdca6d5 data/twilightforest/jukebox_song/warfarer.json -472a3244322eed24d16afed7dc082a665350bc7c data/twilightforest/trim_material/carminite.json -b7e49fe11d5d1d3062c413e11b27ff1d9c819d57 data/twilightforest/trim_material/fiery.json -62b79e4b2422686cfa49f061ee511f7b6e69fb97 data/twilightforest/trim_material/ironwood.json -6780c98a3f03a50e5f426773d76593a62c44ea40 data/twilightforest/trim_material/knightmetal.json -478058a258f9bdf36f094719554c8ec36eb216c5 data/twilightforest/trim_material/naga_scale.json -de49903e456db111c78f2f0934ac3369f94953f3 data/twilightforest/trim_material/steeleaf.json +3100af95e6931dd862293029c343ea71bbfd4508 data/twilightforest/trim_material/carminite.json +66a48d4e326bcbb8e4193c9fa6505be087eff169 data/twilightforest/trim_material/fiery.json +3196526a8052058c992ebfbc5c1b705cd23929bf data/twilightforest/trim_material/ironwood.json +e7347e6a484884192f15cfebd52f26bdc1a7daf2 data/twilightforest/trim_material/knightmetal.json +53c3425edbe15474fe3d38be793ae255a47535c2 data/twilightforest/trim_material/naga_scale.json +f38b2f488ceaa17f1e578f59ab9dc32da6b0aa56 data/twilightforest/trim_material/steeleaf.json c01efe2b06b832718931f88ed9645b44b58409dd data/twilightforest/twilight/biome_layer_stack/biomes_along_streams.json 87d0487a38fb84d85efb0cb0044f50fe8053d60e data/twilightforest/twilight/biome_layer_stack/random_forest_biomes.json 15751bcd2e2c7eae3120d28c7139392e7fcff64d data/twilightforest/twilight/biome_terrain_data/biome_grid.json @@ -119,28 +119,28 @@ e7c4f0010ae7c35e0abe75d4ba2e26eabf838936 data/twilightforest/twilight/wood_palet b6d4a8629c11a3cac9b91801973bb0fa7ff9bcea data/twilightforest/twilight/wood_palettes/timewood.json 465031afbf54df48a316262698e547fc7ebd29f0 data/twilightforest/twilight/wood_palettes/transwood.json c5e1e96fa69452349f77ba366f9b2d54315d6726 data/twilightforest/twilight/wood_palettes/twilight_oak.json -ffe0bbcd108a982aaa4e4140d3e8708e9263edb8 data/twilightforest/worldgen/biome/clearing.json -61831c747c8b69160eab11a44469d737282527ec data/twilightforest/worldgen/biome/dark_forest.json -17c5d64992834cfb5edd94617a56698fbd5328d7 data/twilightforest/worldgen/biome/dark_forest_center.json -bba2d448021ce93adc96f17cc8d3208dbb98709c data/twilightforest/worldgen/biome/dense_forest.json -91928df7a8a7fb9c6807513e7b33108cf102783c data/twilightforest/worldgen/biome/dense_mushroom_forest.json -455c74918cb6c93ac993806592dee6381a17f0d7 data/twilightforest/worldgen/biome/enchanted_forest.json -0f7add8c82f0867894000c6f3a5db4bc48b9027f data/twilightforest/worldgen/biome/final_plateau.json -7dcc3dabce68cc0ea46fd14a2539b519dc99b653 data/twilightforest/worldgen/biome/fire_swamp.json -6b4a803774e4eeb1ac3f83439d65eab247730ab2 data/twilightforest/worldgen/biome/firefly_forest.json -94909ed56d6a5086110c45891057654298fb0f97 data/twilightforest/worldgen/biome/forest.json -4cb70b3bcfd262cf0e66726e10aa405420c89209 data/twilightforest/worldgen/biome/glacier.json -3481fcab025045e7bae0e36bf9ef0639d278f5a1 data/twilightforest/worldgen/biome/highlands.json -5702ba364fddb9e5f327a8e42e07b7aacda8044f data/twilightforest/worldgen/biome/highlands_underground.json -d557eab5f83fc955061de7da3b4a2a0b85bf984c data/twilightforest/worldgen/biome/lake.json -95fdc4d281e1f4c1c7a825dac937b4320a06fa06 data/twilightforest/worldgen/biome/mushroom_forest.json -6f1720eb849c545ac8eb80fee6c9d986d16a30d1 data/twilightforest/worldgen/biome/oak_savannah.json -6569ae132d2ac62df26250925ffdb61c164c505f data/twilightforest/worldgen/biome/snowy_forest.json -603ce73657a3ae095570fda2c7d35baad81b52ba data/twilightforest/worldgen/biome/spooky_forest.json -073541a909cbf4c0f1a49ae1c1551b30b3b205d8 data/twilightforest/worldgen/biome/stream.json -f2b3185419025fba0e337ea806ccd730a4764862 data/twilightforest/worldgen/biome/swamp.json -d301ff8b947d21c124d380886a3dde1e41304ec8 data/twilightforest/worldgen/biome/thornlands.json -aabe862d0b31639a2165bb74c7efbd9fe7d194b6 data/twilightforest/worldgen/biome/underground.json +74d8ac84c5d7e65b4ddb0555b56270944269c7ef data/twilightforest/worldgen/biome/clearing.json +f0ccf1ac7a7a9a56d6b84b97a8ab7b7d9276558f data/twilightforest/worldgen/biome/dark_forest.json +ba3d263cb0cf769b2f1a9448d86e6fac42221879 data/twilightforest/worldgen/biome/dark_forest_center.json +bae0b6d9a50f0f59550e0ae25619e98a27e8872e data/twilightforest/worldgen/biome/dense_forest.json +3e9d923c029f3af71ee97efb6514f135815261f4 data/twilightforest/worldgen/biome/dense_mushroom_forest.json +7605efd9423958c3261e925913be301f148751ae data/twilightforest/worldgen/biome/enchanted_forest.json +92cf4a9ad580cef9e0cb1845da400bac08b7a954 data/twilightforest/worldgen/biome/final_plateau.json +d9e119f44e1d62f396d9b5b817ff1edc8a28a4d7 data/twilightforest/worldgen/biome/firefly_forest.json +33fbac03b1211009d85d5abc0a7da5ab4fc5a3bf data/twilightforest/worldgen/biome/fire_swamp.json +86fcb7f073ae8286c493c812a211711d35caa877 data/twilightforest/worldgen/biome/forest.json +c8ce0523b63e81a64c0d45903e08fa00a0cfcf6d data/twilightforest/worldgen/biome/glacier.json +8b28de3439ab6d668c32a0baeb6d305dd7f545a0 data/twilightforest/worldgen/biome/highlands.json +0af7f03c0c89f951b616c094855d5c2a66939a4a data/twilightforest/worldgen/biome/highlands_underground.json +56a0adec18dab91248ddfd75a6cfc68f0962a02d data/twilightforest/worldgen/biome/lake.json +52a314643d5efe24a05ee4ea108b1500883c25d3 data/twilightforest/worldgen/biome/mushroom_forest.json +3b183880911316d11c0cd11daf9f300b466e07dc data/twilightforest/worldgen/biome/oak_savannah.json +1461ca9be23ba707d09db68eb0c73165c314f807 data/twilightforest/worldgen/biome/snowy_forest.json +1220afaaf47155e92bf12e5e696316bbe00ae441 data/twilightforest/worldgen/biome/spooky_forest.json +84775db1ee212bb5b7986fa8e6dead64556bf1df data/twilightforest/worldgen/biome/stream.json +76bc87ca73b959ef1341e18253569b0cc0bcfabd data/twilightforest/worldgen/biome/swamp.json +9c89480640c13bec8f288dcb41674d81534c7d33 data/twilightforest/worldgen/biome/thornlands.json +6dede4fd4147d6cabb51099701efb5d39008b15d data/twilightforest/worldgen/biome/underground.json 5ff2a42f87d6825be3fed0036b8104950b6c99f6 data/twilightforest/worldgen/configured_carver/highland_caves.json 336615693b25154f37fc7a90597827740da29a86 data/twilightforest/worldgen/configured_carver/tf_caves.json aaabd69f1e630172252fd3e6bd0e5845ef2f8cd0 data/twilightforest/worldgen/configured_feature/birch_fallen_log.json @@ -161,8 +161,8 @@ ab76c025e8ae4ec52230793dd2609a34cfec97dc data/twilightforest/worldgen/configured 3afb7351561a98f14065cff830300735f3985625 data/twilightforest/worldgen/configured_feature/fallen_leaves.json 8cec51f8c8ef53061114075cca36e703dd7a0617 data/twilightforest/worldgen/configured_feature/fancy_well.json 244b31e5e86c79c1637e2d89902eddf50c2cb4d8 data/twilightforest/worldgen/configured_feature/fiddlehead.json -9a8b7912e3b4dadc6b50b827676498e72a4fe2da data/twilightforest/worldgen/configured_feature/fire_jet.json 21a8619af190cd1643fdb6b337aa3f06af671181 data/twilightforest/worldgen/configured_feature/firefly_lamppost.json +9a8b7912e3b4dadc6b50b827676498e72a4fe2da data/twilightforest/worldgen/configured_feature/fire_jet.json aacdb0d5124df3d216f9513b1c614786c90cb66e data/twilightforest/worldgen/configured_feature/flower_placer.json 015c3851c7dc146f279d9da4d6b9eeef98957cf9 data/twilightforest/worldgen/configured_feature/flower_placer_alt.json c64f9da10e9c58e50479510b54b4e794f0d885f5 data/twilightforest/worldgen/configured_feature/foundation.json @@ -212,11 +212,11 @@ bed2ac0078798f3e44858a48a619e6cdaa715493 data/twilightforest/worldgen/configured 58314130200614dca385486085b965364b61e2b8 data/twilightforest/worldgen/configured_feature/thorns.json a6ebebfc0e249c985caeb4cb92efdbefa08fc5b0 data/twilightforest/worldgen/configured_feature/torch_berries.json 0a25ac835015d4795d1fde9d714b421e34d0e5a1 data/twilightforest/worldgen/configured_feature/tree/canopy_tree.json +10ca87d8e641b9fce425b28a4db29b9e4168717d data/twilightforest/worldgen/configured_feature/tree/darkwood_lantern_tree.json +9134ae27a3f86f7eb9001aa476735f91548d86b9 data/twilightforest/worldgen/configured_feature/tree/darkwood_tree.json 0587198b9292197f6804ee891cad22ee318b5141 data/twilightforest/worldgen/configured_feature/tree/dark_forest_birch_tree.json 61ed61389b68efed2c636c323ee8c54a5499fb3d data/twilightforest/worldgen/configured_feature/tree/dark_forest_oak_tree.json 86d9ba5af19b38424253867a8bab704edf7afc81 data/twilightforest/worldgen/configured_feature/tree/dark_oak_bush.json -10ca87d8e641b9fce425b28a4db29b9e4168717d data/twilightforest/worldgen/configured_feature/tree/darkwood_lantern_tree.json -9134ae27a3f86f7eb9001aa476735f91548d86b9 data/twilightforest/worldgen/configured_feature/tree/darkwood_tree.json 5ca8b61a83ec737b626d08c2ad793e4e445dc016 data/twilightforest/worldgen/configured_feature/tree/dead_canopy_tree.json cbc01407f81c547e1384753574d83f4983bc738b data/twilightforest/worldgen/configured_feature/tree/dummy.json 0ad866298546ce4e591fde2d2860d424314a52f5 data/twilightforest/worldgen/configured_feature/tree/firefly_canopy_tree.json @@ -345,15 +345,15 @@ d4b16668d221727443d34486ceb204ab4e05a217 data/twilightforest/worldgen/placed_fea ac5970e01446400da9ec1b1849ada5bccc3b297e data/twilightforest/worldgen/placed_feature/tree/savannah_mega_oak_tree.json 78007e2a000d579681989a4a315b5660842f54ee data/twilightforest/worldgen/placed_feature/tree/savannah_oak_tree.json 31a2e8597c30b0c032eb76039a6ebdb0d40537c4 data/twilightforest/worldgen/placed_feature/tree/selector/canopy_trees.json -7f72206fa2b20e2c8160cd2c6a5f827217b3d7e9 data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_tree_mix.json eae55c473ceaae23c99abbc920041e1c691be5df data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_trees.json +7f72206fa2b20e2c8160cd2c6a5f827217b3d7e9 data/twilightforest/worldgen/placed_feature/tree/selector/dark_forest_tree_mix.json 2a05882dd9a4d281fe343e5d2ceade011e90e321 data/twilightforest/worldgen/placed_feature/tree/selector/dense_canopy_trees.json fb37e8e02c450948fc4525a35257c469607d427d data/twilightforest/worldgen/placed_feature/tree/selector/enchanted_forest_trees.json 58f22d2c7fe51c9cff62f49662c4982bbfc717a8 data/twilightforest/worldgen/placed_feature/tree/selector/firefly_forest_trees.json 358af8dfd36487bef3904ee1b4e3d799a08ecfa4 data/twilightforest/worldgen/placed_feature/tree/selector/highlands_trees.json bca7957aac5ba3534a8f2a4c8f842ea1bd266478 data/twilightforest/worldgen/placed_feature/tree/selector/snowy_forest_trees.json 4eb5c640f35d915eadd83b303c47816191251d1e data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_mushrooms.json -9ecf6939d7612abee5342154ba8c989f228f897c data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json +6765352a53e3e7b7e9aac8ffaffff9ef36663e5d data/twilightforest/worldgen/placed_feature/tree/selector/vanilla_trees.json 52a540baec5ed45c4f48a01b5b795de773a59e63 data/twilightforest/worldgen/placed_feature/tree/swampy_oak_tree.json 78007e2a000d579681989a4a315b5660842f54ee data/twilightforest/worldgen/placed_feature/tree/twilight_oak_tree.json 145ac05ff7c473d38fadff3a0392cebc981677ae data/twilightforest/worldgen/placed_feature/troll_mushglooms.json @@ -371,7 +371,7 @@ f3dd6746ddee506d0e5ce66db99546a6d2b1bc48 data/twilightforest/worldgen/structure/ 96718e6c4d0937959a03e8c993417389ee21bc0f data/twilightforest/worldgen/structure/hedge_maze.json 5bb4e2e8a35238af61bb068d00c814db1a246921 data/twilightforest/worldgen/structure/hollow_tree.json 8b984ac036f5a7d29cbb522d24785f87a085c572 data/twilightforest/worldgen/structure/hydra_lair.json -12f1dd565ef18b5c7f1a23486791db6c9f2d2524 data/twilightforest/worldgen/structure/knight_stronghold.json +b3e3877005ddfcdf009312fd0df0f0b60f450d39 data/twilightforest/worldgen/structure/knight_stronghold.json b144587f63f08ae87eeefd48fa70fdca6da7b57a data/twilightforest/worldgen/structure/labyrinth.json aa10576faf6be61c9278fbb735d6d409bcfc47ee data/twilightforest/worldgen/structure/large_hollow_hill.json 83fa959cb339a5375ae58fef9a119dfb05431e5f data/twilightforest/worldgen/structure/lich_tower.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 276eecc55e..2cc64e23d6 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,10 +1,13 @@ -// 1.21.4 2025-01-19T12:22:29.3272377 Model Definitions - twilightforest +// 1.21.4 2025-03-31T09:20:45.80649 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json 235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json +bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_force_field.json +8d271d7a5aa135f9f6f57083a1aaa726f18515ce assets/twilightforest/blockstates/bold_castle_brick_pillar.json +837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json cfe988b1223e7a93d2cc92548cbc81f1c989edf3 assets/twilightforest/blockstates/canopy_fence.json @@ -164,6 +167,10 @@ ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arct 12615ed50b0962fdc76ec4559fdbeac89080b452 assets/twilightforest/models/block/beanstalk_leaves.json d25fb494fa6197210ebbaa4f6ab0b7cc74bc0ea9 assets/twilightforest/models/block/blue_castle_door.json d7bcc2833e84435726085b91edca86c5a7e3730f assets/twilightforest/models/block/blue_castle_door_vanished.json +894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json +9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json +64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json +a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json 74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json 83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 70962db7b8..29d6b75626 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,9 +1,8 @@ -// 1.21.1 2025-03-25T13:55:53.8399452 Loot Tables +// 1.21.4 2025-03-31T09:20:45.7909489 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json d29388fb46e8211e8d3624b744d195b3a6f4c6ff data/twilightforest/loot_table/blocks/alpha_yeti_trophy.json -3f04f0369241cf99202c72b4d56bc5368396e367 data/twilightforest/loot_table/blocks/alpha_yeti_wall_trophy.json 99eaaec1b6ce06aaecac75ea99dfb4c7a87ab44e data/twilightforest/loot_table/blocks/arctic_fur_block.json 3807dcd33667ebcfecdf1c8a3afb85a94f0d6c21 data/twilightforest/loot_table/blocks/auroralized_glass.json a5dec570bc6e4842edbfdcd9bbbb8d860c42a9a2 data/twilightforest/loot_table/blocks/aurora_block.json @@ -38,8 +37,6 @@ a1ccdd30cf66304dd3a4e5619a83155624516c4c data/twilightforest/loot_table/blocks/c 29656e076bf6c241ad3e9e44e309932d620ca95f data/twilightforest/loot_table/blocks/canopy_stairs.json 185bcf7a3f12e7d86b148c19e47e535c0b4ab846 data/twilightforest/loot_table/blocks/canopy_trapdoor.json 9412c9aa320f515843e178434d5418c26acecc89 data/twilightforest/loot_table/blocks/canopy_trapped_chest.json -d413e05b04f21561298fe2580cc06d7f7654efdf data/twilightforest/loot_table/blocks/canopy_wall_hanging_sign.json -d497557999869c0603bc3083a041efa93db51a3b data/twilightforest/loot_table/blocks/canopy_wall_sign.json d2506d536a6ba414f393b7265aaf75e7786530ff data/twilightforest/loot_table/blocks/canopy_window.json 377b6176989c94e2e2303f79b6a0fffaa93f8bab data/twilightforest/loot_table/blocks/canopy_window_pane.json 31944a27f3a7919ab4747a80c2bd60c9f037422b data/twilightforest/loot_table/blocks/canopy_wood.json @@ -70,7 +67,6 @@ bbac81289302a674adfb92be054b0403d0923a30 data/twilightforest/loot_table/blocks/c 8ab83cefa42da1bf07fd5bdc82657a8d1146532e data/twilightforest/loot_table/blocks/cracked_towerwood.json 8ef570e01a6dc0a10766a81044a894d786a8a5c1 data/twilightforest/loot_table/blocks/cracked_underbrick.json d61e676029ca489545f8d2c516adc3033e630a6e data/twilightforest/loot_table/blocks/creeper_skull_candle.json -b4c24bf2e905cf396d71f8fa42fcc527c4a95a90 data/twilightforest/loot_table/blocks/creeper_wall_skull_candle.json 00a7c254a70ec84780a716bb978676eb66e50265 data/twilightforest/loot_table/blocks/crimson_banister.json a2994608546050b0a26a1f2d08a4bc830b3087d7 data/twilightforest/loot_table/blocks/cut_mazestone.json 80287ef8bf615931d53a5d2671ecaf878246e835 data/twilightforest/loot_table/blocks/darkwood_sapling.json @@ -91,8 +87,6 @@ c8a9a50d6e7c03b354b5da00bb675017877a1ee6 data/twilightforest/loot_table/blocks/d 4166bab52eb795a5a0f035cef1642ba7039bcee9 data/twilightforest/loot_table/blocks/dark_stairs.json 851e1c9caa67bb93cf49cedc044e6b5e5fa08d9e data/twilightforest/loot_table/blocks/dark_trapdoor.json 2d25ca8522019a996bd37fabba8aa6052946be8e data/twilightforest/loot_table/blocks/dark_trapped_chest.json -c18f4cf533e235f523da6f494749d0a95790d1e8 data/twilightforest/loot_table/blocks/dark_wall_hanging_sign.json -4aaf8c751075b5c5fbac4efbcd1eae673bb4efdd data/twilightforest/loot_table/blocks/dark_wall_sign.json f82982d1e0d2cec002d1429694a4dfbcd3dad4d4 data/twilightforest/loot_table/blocks/dark_wood.json 6d9b22ca2a61df16e6de623b4ddf0a538e00e000 data/twilightforest/loot_table/blocks/deadrock.json 42637cc4c19e5486657c50a9c8371322d9734203 data/twilightforest/loot_table/blocks/decorative_mazestone.json @@ -180,17 +174,14 @@ d22656bff92f84d8d90e7ba69c01fc781d0bbcc4 data/twilightforest/loot_table/blocks/h 6a14e85f85ba3282da724b8137d64714e7c5e110 data/twilightforest/loot_table/blocks/huge_stalk.json bd7f9dfbd62683edbfa523354ecefa1fd8adaa48 data/twilightforest/loot_table/blocks/huge_water_lily.json bfac878f3f3337cae9b12477f82d0004dc489bb3 data/twilightforest/loot_table/blocks/hydra_trophy.json -0205105158226ac9a0d568bbe0bcf2ec051d9c32 data/twilightforest/loot_table/blocks/hydra_wall_trophy.json 66caeca7e64506c4ebf595c81d40ebb03d68e07c data/twilightforest/loot_table/blocks/ironwood_block.json 3f7e92cbac43eeb9b9677d7e0047128ffab1c5c4 data/twilightforest/loot_table/blocks/iron_ladder.json c615f3316b9deb500c021b5665729ca49639ba13 data/twilightforest/loot_table/blocks/jungle_banister.json cd7cbebd276c4a3119c54f6da92aa512c05e1422 data/twilightforest/loot_table/blocks/keepsake_casket.json 8b178ab9d6562c428e911e9fd51d63623780be56 data/twilightforest/loot_table/blocks/knightmetal_block.json 987a3f9e2b2a1417c6281e6750f8db1115c2ca1d data/twilightforest/loot_table/blocks/knight_phantom_trophy.json -793762d982dc1d7e2755c924339b7dafd059272f data/twilightforest/loot_table/blocks/knight_phantom_wall_trophy.json 48c340fc13fbd8cae6f8bd034a86c0b6de02a9ef data/twilightforest/loot_table/blocks/lich_tower_miniature_structure.json 7045787f475d232b2e26ec20854969e965f2e244 data/twilightforest/loot_table/blocks/lich_trophy.json -208f460e09f8815027f17b33304afaf712229eeb data/twilightforest/loot_table/blocks/lich_wall_trophy.json 2547eaa7781f45faa74e0aa748ee17007b88c534 data/twilightforest/loot_table/blocks/liveroot_block.json c970644b2a1dd779858be31b101d4257dc3fcd87 data/twilightforest/loot_table/blocks/locked_vanishing_block.json 184395e74c549475f1a07b28bbb99ab6065eb3ae data/twilightforest/loot_table/blocks/mangrove_banister.json @@ -211,8 +202,6 @@ c34dc1aefce1651afabc2e97ef14b193a8aa1730 data/twilightforest/loot_table/blocks/m 49ee182855bdd54254935f6bc8c638ffee673acc data/twilightforest/loot_table/blocks/mangrove_stairs.json fa2dea13306940985312b5236b4aeaf04a56e875 data/twilightforest/loot_table/blocks/mangrove_trapdoor.json 714d323fb9d8f3dd82d87fe9a551c5428f99eb0c data/twilightforest/loot_table/blocks/mangrove_trapped_chest.json -16c0cc385d47c02a71da1dbe69f8544b972d16f5 data/twilightforest/loot_table/blocks/mangrove_wall_hanging_sign.json -7f37fbd2807cc80e20cdb329b7e47b33956981a5 data/twilightforest/loot_table/blocks/mangrove_wall_sign.json 8e7d5159e1cfae13c772089a84812e34233e80d6 data/twilightforest/loot_table/blocks/mangrove_wood.json ff144923520870205a5f98605b33ff8c39b9430d data/twilightforest/loot_table/blocks/mason_jar.json a7d361b37fcd65499cfba4692d9144b5094bc57d data/twilightforest/loot_table/blocks/mayapple.json @@ -239,11 +228,8 @@ acb3bd9b22c24711bbdd8f829361d0ed899ff421 data/twilightforest/loot_table/blocks/m a86cbc4871c0ebf5604d4bc3e5471f50df7d1fe8 data/twilightforest/loot_table/blocks/mining_stairs.json a5d05a7a148f8a08b332ef12c66e94cca13b28c9 data/twilightforest/loot_table/blocks/mining_trapdoor.json 83b9da3101c9a5bb7513b20b539bb1f7441468e4 data/twilightforest/loot_table/blocks/mining_trapped_chest.json -7b4d35da8bea596c409313db3ae668d612b99706 data/twilightforest/loot_table/blocks/mining_wall_hanging_sign.json -e6c740b43f202b58c6d558162b800b3d09f4fb15 data/twilightforest/loot_table/blocks/mining_wall_sign.json dc7b881eaacf704e632a74ce9b5a074e6deadaaa data/twilightforest/loot_table/blocks/mining_wood.json 3aef535d7c935cb886f3e9fa9126246a7d4fda30 data/twilightforest/loot_table/blocks/minoshroom_trophy.json -70a7f91ceb28f93e51f2f91ddd38add7d61b3a7b data/twilightforest/loot_table/blocks/minoshroom_wall_trophy.json d0d4666b40bcae766f1b1b75ae17cc118e27dab0 data/twilightforest/loot_table/blocks/moonworm.json 1068831eee22daf8b30e3362e6c0d6774038cf11 data/twilightforest/loot_table/blocks/moonworm_squish.json 0c4e9f7e12a568f9a56a17525d2484ac3148f3a9 data/twilightforest/loot_table/blocks/mossy_castle_brick.json @@ -264,7 +250,6 @@ eac2254ff1c9b3be29d9f4ae192f8d97c5d3729b data/twilightforest/loot_table/blocks/m 88125a74968af1e3ac1710a966b9d488374c57c1 data/twilightforest/loot_table/blocks/nagastone_stairs_right.json 0f80fec031abfa4b94bdc01b01f09f2d0eea91c5 data/twilightforest/loot_table/blocks/naga_courtyard_miniature_structure.json 8362b90696511f90e4b7127ea00e33a259b75e6f data/twilightforest/loot_table/blocks/naga_trophy.json -7e07479ec8e56d4890b58292026eb94ae71ff0cb data/twilightforest/loot_table/blocks/naga_wall_trophy.json f03df1f2f8dde9a71d77995e80a79b35d9b0ff8f data/twilightforest/loot_table/blocks/oak_banister.json 144616fc35b32b653fcfb1aa5072f7fc3fb7e397 data/twilightforest/loot_table/blocks/ominous_black_candle.json e7a4a1a56b4b33971240f4425b2fb0b8e352fa3f data/twilightforest/loot_table/blocks/ominous_blue_candle.json @@ -286,11 +271,9 @@ f6d097e0494b098b1f08765ed2a694434dbf7a29 data/twilightforest/loot_table/blocks/o 4dbb7c27085acd8c1925cf2a931b75e782d50e99 data/twilightforest/loot_table/blocks/ominous_white_candle.json 2ada90d3c47ad7207b01e6940e138bdcf5172645 data/twilightforest/loot_table/blocks/ominous_yellow_candle.json e7c5f522400048e5ef3e08884e818fbfd041fd8d data/twilightforest/loot_table/blocks/piglin_skull_candle.json -0c424a5c5b78d7c00155f6ab58bfa561cb1312e5 data/twilightforest/loot_table/blocks/piglin_wall_skull_candle.json f83e9022837ea67abc55968736d3a89cdccdf9af data/twilightforest/loot_table/blocks/pink_castle_door.json 36eb4496763fbcff4286f2ffd93f5a58044d42c8 data/twilightforest/loot_table/blocks/pink_castle_rune_brick.json a41224c6a0ce879331da4a8a321e1f9b6bdcd60b data/twilightforest/loot_table/blocks/player_skull_candle.json -239f073e1f009d0c55e2a163f6f2f6fe6912556d data/twilightforest/loot_table/blocks/player_wall_skull_candle.json ae086900b46541a8bf0d43c996a969cfc5b71100 data/twilightforest/loot_table/blocks/potted_canopy_sapling.json 56a32501fc0b33664ce48496d083fd08f31b1bc9 data/twilightforest/loot_table/blocks/potted_darkwood_sapling.json efbedd258685b779150610fa92b9f27c92ab6b2b data/twilightforest/loot_table/blocks/potted_dead_thorn.json @@ -308,7 +291,6 @@ f0bddbe42a20d13d0678a0868e00f153a1eb8334 data/twilightforest/loot_table/blocks/p 68a230519a73ef6091ff14a2fb4ef35459dcaeb8 data/twilightforest/loot_table/blocks/potted_transformation_sapling.json b7e318ae6927478087018b960f224cad8145efb6 data/twilightforest/loot_table/blocks/potted_twilight_oak_sapling.json 939e5a661d69b674d38daca6cc425b79fbb0771e data/twilightforest/loot_table/blocks/quest_ram_trophy.json -188ce825162aa7f13d716fbf2c14e7521c83c6ba data/twilightforest/loot_table/blocks/quest_ram_wall_trophy.json 4ae9bf6f794122aab09811117ba651bb947de02d data/twilightforest/loot_table/blocks/rainbow_oak_leaves.json d4cf2ba1c9d5ad6b35a2ef1b173496f27a7c789f data/twilightforest/loot_table/blocks/rainbow_oak_sapling.json 775f8f7ca2f7f51f67f229bae271f569d16a081b data/twilightforest/loot_table/blocks/rainy_cloud.json @@ -318,12 +300,10 @@ fff8c14cea64f079189a2e6eeb2bc54526fe0a3c data/twilightforest/loot_table/blocks/r ab8d5987d12f7961a1f8bc2669c889ef58eb3aff data/twilightforest/loot_table/blocks/root_strand.json fb7868a21fc15bb2227693e0604831ce049a0772 data/twilightforest/loot_table/blocks/rope.json ef904a158987dbd9963909ef8fb80667071025b7 data/twilightforest/loot_table/blocks/skeleton_skull_candle.json -ae6d7a73102bfb46c3fe678debd0a35187e9125f data/twilightforest/loot_table/blocks/skeleton_wall_skull_candle.json -c120a004605df50dbf12daaa9adbae2f6e670063 data/twilightforest/loot_table/blocks/skull_chest.json +fa1bacdc1bec1dd168958c51a377d9a0609f44dc data/twilightforest/loot_table/blocks/skull_chest.json b7336d3399cc73483a2b33de9185b17f64d19c1d data/twilightforest/loot_table/blocks/smoker.json 358ed83d512f26a1dda0ab29047792e465020783 data/twilightforest/loot_table/blocks/snowy_cloud.json b1e3901cfaa3a38522179ac1f7338841754f13f9 data/twilightforest/loot_table/blocks/snow_queen_trophy.json -29b8308cd96cd2f1c97ff485debf988e3defd32a data/twilightforest/loot_table/blocks/snow_queen_wall_trophy.json 7b140db526bb684f477ea3c0ec2cea971d547a74 data/twilightforest/loot_table/blocks/sorting_banister.json 692b74005bd416363d52447f9bbe322fcfc4682a data/twilightforest/loot_table/blocks/sorting_button.json 9caf7962ba5063468edd9d2e5b719483e443559a data/twilightforest/loot_table/blocks/sorting_chest.json @@ -342,8 +322,6 @@ c308616d1d5bdc9a3dc89363e2aae91cf05654fe data/twilightforest/loot_table/blocks/s e9216fcf29b8f1bec1a2daa7b71a3f2317f7d9f6 data/twilightforest/loot_table/blocks/sorting_stairs.json 658c93d6f65a395f54dd82a0cd6a73865af9a9a4 data/twilightforest/loot_table/blocks/sorting_trapdoor.json a671c96da4369e48f516ec8b539f74b0ec99a920 data/twilightforest/loot_table/blocks/sorting_trapped_chest.json -8688863ff211147c85ab332ba2df709b7e793b94 data/twilightforest/loot_table/blocks/sorting_wall_hanging_sign.json -c6a8c428884ef903652b1846a05bb6e9c40c68a4 data/twilightforest/loot_table/blocks/sorting_wall_sign.json 279ac0626be45dd278729eaa97ed26b5b0f239b9 data/twilightforest/loot_table/blocks/sorting_wood.json 00968180c91a6c3b30146e53fffb3d09390539bb data/twilightforest/loot_table/blocks/spiral_bricks.json cd3bbae7632b8ec188de87623514e55238a25120 data/twilightforest/loot_table/blocks/spruce_banister.json @@ -388,8 +366,6 @@ cc89413a5cc8f2b68132f71db16fd133c1db2502 data/twilightforest/loot_table/blocks/t 46428b0c4e96ce1977e0853e815d2e4e3f62fc91 data/twilightforest/loot_table/blocks/time_stairs.json d442e7ba6f58ee63e6640eb65a4ba98a430f7ba8 data/twilightforest/loot_table/blocks/time_trapdoor.json b516c0089e48e04b1922cbde1755fd95290dd999 data/twilightforest/loot_table/blocks/time_trapped_chest.json -12e950550429ad3669bdb15d4d2ec6c0b6f220f6 data/twilightforest/loot_table/blocks/time_wall_hanging_sign.json -4096ae04fd8e3f49938dd4c31cd137b1e2df9fd3 data/twilightforest/loot_table/blocks/time_wall_sign.json 864672ea541741b3be3370040ada280174b95aa1 data/twilightforest/loot_table/blocks/time_wood.json 5a89890d2925dbe28b9e73ee1217ff73ccfe0363 data/twilightforest/loot_table/blocks/torchberry_plant.json 31ec47db3132ff4cd4cdb820325c8879a31ae34b data/twilightforest/loot_table/blocks/towerwood.json @@ -411,8 +387,6 @@ e80811a6760850312608f0f142df1a7fe089004a data/twilightforest/loot_table/blocks/t fad0a9aa19b26734a620ac0edaeb2466bc77007a data/twilightforest/loot_table/blocks/transformation_stairs.json 96063be74c82b2b583e21f8264939ed96a7c6cf2 data/twilightforest/loot_table/blocks/transformation_trapdoor.json fc91a8ec60fe94fc343219a07a44f3973a1b5f08 data/twilightforest/loot_table/blocks/transformation_trapped_chest.json -c7320b04dfdf3f198c259966db7842326ea0c767 data/twilightforest/loot_table/blocks/transformation_wall_hanging_sign.json -60267eaf238ffd637767de11fabc849f7550e0b1 data/twilightforest/loot_table/blocks/transformation_wall_sign.json e4df64bb29059e0404503e7a94016abef68191c1 data/twilightforest/loot_table/blocks/transformation_wood.json cc275d9b2b99f3727c23afcbca8f07601d5bd445 data/twilightforest/loot_table/blocks/trollber.json 7184c6f3cc755dc7639f7bfa5e3cc3ed030473c6 data/twilightforest/loot_table/blocks/trollsteinn.json @@ -435,10 +409,8 @@ a5dfdae3714d28bc9fd8d900866a80c91397cc52 data/twilightforest/loot_table/blocks/t 2034817a60ef7554b05ef5a190162e3470051e6f data/twilightforest/loot_table/blocks/twilight_oak_stairs.json abd803fcc2d621d58db78352243ebd9eada88e83 data/twilightforest/loot_table/blocks/twilight_oak_trapdoor.json dd136477c304f0fc25b6a2fab8fcc813527fc3e3 data/twilightforest/loot_table/blocks/twilight_oak_trapped_chest.json -5b08654a251644a51a225b742cd65891932437eb data/twilightforest/loot_table/blocks/twilight_oak_wall_hanging_sign.json 5dd4d3caffacc7f9cfac0ff16117ffb83e279cb8 data/twilightforest/loot_table/blocks/twilight_oak_wood.json f4119b96972fb42dc6eae9b2055110e10ec7094f data/twilightforest/loot_table/blocks/twilight_portal_miniature_structure.json -46ec9a9f5b6df6b3950ab6189f8449e655dea120 data/twilightforest/loot_table/blocks/twilight_wall_sign.json 3c433a6832d558276b24ab221e3d80f90cbac9d4 data/twilightforest/loot_table/blocks/twisted_stone.json b38ab6639f0482db89eaa2eb7d0e0cc1831f9aee data/twilightforest/loot_table/blocks/twisted_stone_pillar.json c5c88d8ecdc3eb3a249a94c0bacb447b7af7351c data/twilightforest/loot_table/blocks/uberous_soil.json @@ -447,7 +419,6 @@ ec81f16821d0d34d157e06082767807529d6c0ff data/twilightforest/loot_table/blocks/u c37b450ad4c1d6cff44b3d1e74b07adf493a549e data/twilightforest/loot_table/blocks/underbrick_floor.json 43745d8d5a75e09bb6923b41883ce84092f9b047 data/twilightforest/loot_table/blocks/unripe_trollber.json 05edc2e04653054c7fe51be486edd371a1b3215e data/twilightforest/loot_table/blocks/ur_ghast_trophy.json -69e846020d1ebb077ecf7f76071a34e8f97e3d72 data/twilightforest/loot_table/blocks/ur_ghast_wall_trophy.json eb70ee3903fdfbeda48a10cb517ecd70f3b1d26d data/twilightforest/loot_table/blocks/vangrove_banister.json 6aeb78b6e833682151735a7c098410974f9d6c66 data/twilightforest/loot_table/blocks/vanishing_block.json 1546a1b4e91b8c9423e0c06917cf6c0e4f607619 data/twilightforest/loot_table/blocks/violet_castle_door.json @@ -456,14 +427,12 @@ b7fb33484e86adc8afbc8622f5aca551a60be9f7 data/twilightforest/loot_table/blocks/w a495497210599a26ae1408709eb6cb20afe1ea59 data/twilightforest/loot_table/blocks/weathered_deadrock.json fd5605bf10fa2e709dcc9d12dcc077bfb6d2ca06 data/twilightforest/loot_table/blocks/wispy_cloud.json 55c8cbee4df9178f36912aa55fab214e1e34f4e4 data/twilightforest/loot_table/blocks/wither_skeleton_skull_candle.json -39056bc37d8b022f30c65a3050164c013db6338d data/twilightforest/loot_table/blocks/wither_skeleton_wall_skull_candle.json df0aea94b36896095e88152eedb6fd01ee8c1fe3 data/twilightforest/loot_table/blocks/worn_castle_brick.json ed2fd0767031e9cc8ec81ff6c8671180848cd0f5 data/twilightforest/loot_table/blocks/worn_castle_brick_stairs.json 190b3aa04d3cbd5888e58417d1ad612b7c23c45a data/twilightforest/loot_table/blocks/wrought_iron_fence.json b3507ca92af17635402d16ecbab1ac502deafc3e data/twilightforest/loot_table/blocks/yellow_castle_door.json 9a9fef9ac1eee0cfd653a6157e7e8bfe329bb420 data/twilightforest/loot_table/blocks/yellow_castle_rune_brick.json f6f955a9b6eab3108071104319701e84fc4ce5d5 data/twilightforest/loot_table/blocks/zombie_skull_candle.json -a49d1d64b70fc90cec5f3c947fe2467a6dc60016 data/twilightforest/loot_table/blocks/zombie_wall_skull_candle.json 53072cea763e790a9ef2465367e3d75b60630af6 data/twilightforest/loot_table/chests/basement.json 28eb3bab3e238426a093275a3bffb3fa8cc0d63e data/twilightforest/loot_table/chests/casket_loot.json 0bef516a1e2af8997605a7aba43f809f96650ae7 data/twilightforest/loot_table/chests/hut_junk.json @@ -500,7 +469,7 @@ bd2d6a4ae57ebdbf5c16666764813559b6eb9f55 data/twilightforest/loot_table/entities f6a9e1b6d1f594364c94c9788b378809bd6e4862 data/twilightforest/loot_table/entities/bighorn_sheep/red.json 4fc3f19a01738ba3caeba8e4058a9171dd68611b data/twilightforest/loot_table/entities/bighorn_sheep/white.json ede4709517b8c9f9e51a0d1af2f0dd47995ca752 data/twilightforest/loot_table/entities/bighorn_sheep/yellow.json -c0b9ce169e4d8a3667413a8e8895d38207b9b7ec data/twilightforest/loot_table/entities/blockchain_goblin.json +ee0d3394aba8b86e13b70a12a9d701f5fe9bd93e data/twilightforest/loot_table/entities/block_and_chain_goblin.json 22222a75f0d746c00e13f187e6442c3a4d25d5f3 data/twilightforest/loot_table/entities/boar.json 53a00683bd0a4a64c9021236d7cb08a7326b9850 data/twilightforest/loot_table/entities/carminite_broodling.json d870ef32700caf2fb8047fd8cebb7a15ca741e94 data/twilightforest/loot_table/entities/carminite_ghastguard.json @@ -508,7 +477,7 @@ d870ef32700caf2fb8047fd8cebb7a15ca741e94 data/twilightforest/loot_table/entities 044337984dc35793d6d4d98a09ddf3a39f8db8bd data/twilightforest/loot_table/entities/carminite_golem.json 2bc356b38d536e9be3210502d2bf77c83dd899e5 data/twilightforest/loot_table/entities/death_tome.json a2b2843532b1cb2832cd1f29c98ef0bd0e71dd99 data/twilightforest/loot_table/entities/death_tome_books.json -a55d5505e4edba8194e2cc6a07583748d24b4e17 data/twilightforest/loot_table/entities/death_tome_hurt.json +6f205f34a9d2035f11c147bea2365e2fe1012dd6 data/twilightforest/loot_table/entities/death_tome_hurt.json 04bb73a707746b3545507388fcdc73ae59b5739b data/twilightforest/loot_table/entities/deer.json 3bc0e2265cfe30e7080b490aefb4d32a6e2a7b60 data/twilightforest/loot_table/entities/dwarf_rabbit.json 85308e363af630f188b21b27ac48f38fe144a6ab data/twilightforest/loot_table/entities/fire_beetle.json @@ -535,7 +504,6 @@ f57e98e67180169e4748c51bec4f27a84b70cd54 data/twilightforest/loot_table/entities 6e831180e51e331ed6b8d69495e9d8c3ead1255e data/twilightforest/loot_table/entities/naga.json 46b13163a89470d5f123426d2767e60bd9d50b10 data/twilightforest/loot_table/entities/penguin.json 0b9f9dcfca3fc432141f29e80be79055bc0f7e3f data/twilightforest/loot_table/entities/pinch_beetle.json -c5d09d0f732a3c1cf3d94cb29842a5d1880a493d data/twilightforest/loot_table/entities/plateau_boss.json 2674d485b9de5fb55de709b116e4f0eebd51f275 data/twilightforest/loot_table/entities/questing_ram_rewards.json e16027ed9e992e218c855d24a00b3bf1c3f4a71d data/twilightforest/loot_table/entities/questing_ram_reward_blocks.json cbbb1da3d431d2dd15acffd5ff9ea496f2193886 data/twilightforest/loot_table/entities/quest_ram.json @@ -543,7 +511,6 @@ bb6e2104e8ba24e4f56bd35a2416fbec3d05bd0a data/twilightforest/loot_table/entities de733b0047730edb62048c70a31cd8b61c26a501 data/twilightforest/loot_table/entities/redcap.json 4cd46649535de269310e4bf100668f812877a628 data/twilightforest/loot_table/entities/redcap_sapper.json 18b6bbcacd60d26611f913dcf1e4960b3621b54b data/twilightforest/loot_table/entities/rising_zombie.json -3b7df9cd4dabd337b56d8a8e4628d17c70267389 data/twilightforest/loot_table/entities/roving_cube.json c5b6b53601c8e2bde625d4ae55c5f7974411fe69 data/twilightforest/loot_table/entities/skeleton_druid.json f85f4514fa32693c7d603b321d056b87592ed471 data/twilightforest/loot_table/entities/slime_beetle.json 96f2c357143490acf4b45ce438cc91f19642b1d9 data/twilightforest/loot_table/entities/snow_guardian.json diff --git a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 index 461b96f515..2677755f3d 100644 --- a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 +++ b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 @@ -1,4 +1,4 @@ -// 1.21.1 2025-03-27T13:05:00.5198395 Recipes +// 1.21.4 2025-03-31T09:55:25.3047203 Twilight Forest Recipes c2df534e70a4871d9e50ee3a1c6242e5e0fe6eaa data/twilightforest/advancement/recipes/building_blocks/aurora_pillar.json 07904494c5d60d52e5f79f8f6487d08016013692 data/twilightforest/advancement/recipes/building_blocks/canopy_bookshelf.json 195eaa6599cda74857d6163a2d207b797e492275 data/twilightforest/advancement/recipes/building_blocks/castleblock/bold_castle_brick_pillar.json @@ -14,6 +14,7 @@ f76bbe7b461d293033ca384a9e2df0b40b63a6b6 data/twilightforest/advancement/recipes f050565718f6c15d316cd0aae135a5acd27f34c1 data/twilightforest/advancement/recipes/building_blocks/castleblock/smelted_cracked_castle_brick.json b5b5652a7644dfcf0fd1f3595baad684af07ac19 data/twilightforest/advancement/recipes/building_blocks/castleblock/thick_castle_brick.json 5c3425f4393f684782275415355d8ae6d2446add data/twilightforest/advancement/recipes/building_blocks/castleblock/worn_castle_brick_stairs.json +d7242552f237bcbac608361ae83fa54e3a69c3d1 data/twilightforest/advancement/recipes/building_blocks/chiseled_canopy_bookshelf.json 78d4ac316e3549c2a86685310c2110a3ea3ebbc2 data/twilightforest/advancement/recipes/building_blocks/compressed_blocks/arctic_block.json a1b60d2f39255bb854e841edb40ff0d61d595d15 data/twilightforest/advancement/recipes/building_blocks/compressed_blocks/carminite_block.json 4c60633dbc16e53cce4573111272002a9af4818b data/twilightforest/advancement/recipes/building_blocks/compressed_blocks/fiery_block.json @@ -422,439 +423,440 @@ ec33cf644efd4394cb469020c7417d37ffcfe5c9 data/twilightforest/advancement/recipes b28a3a3f5546bd2776c729d3807408f2b7d11638 data/twilightforest/advancement/recipes/transportation/transformation_chest_boat.json 2811335f6662f897c1bc0eb1b76c288c3d085ae7 data/twilightforest/advancement/recipes/transportation/twilight_oak_boat.json e307c2c1ed20789380d7bfdeedbafb29bae01a35 data/twilightforest/advancement/recipes/transportation/twilight_oak_chest_boat.json -75a8b67c056c0e55684b3c4f2045cb95741fff3f data/twilightforest/recipe/alpha_yeti_banner_pattern.json -3fde38f212c95e7bb153c4489cf4f63ddc8ec12e data/twilightforest/recipe/aurora_pillar.json -6fbe20fd5dfd2a89092edfa37a8d19eafcc8c89e data/twilightforest/recipe/berry_torch.json -850393314f7a913a8f9bb2f9ac014b04abbaca83 data/twilightforest/recipe/candelabra.json -3c0afce335c95b2cc2489f7b1347637dc6a00387 data/twilightforest/recipe/canopy_boat.json -18a7642a82b3af3633e1a5d1c15ed308b0f24d5d data/twilightforest/recipe/canopy_bookshelf.json -2baa72117b46eb98674d9066783e200e856a9367 data/twilightforest/recipe/canopy_chest_boat.json -33804055343b733ec44ebe2f7b20fbf48585c00d data/twilightforest/recipe/canopy_window.json -b01fa63fb6edf4710cefc5391fa0fe5de5ad6864 data/twilightforest/recipe/canopy_window_pane.json -ba82fd7c067f9017c1ac7ee3d37de08b56ea6d6a data/twilightforest/recipe/carminite_builder.json -9549e3823d39c938705ebb0d5d4323eda4d69005 data/twilightforest/recipe/carminite_reactor.json +5eaad90f29f97eb0296636c49cc51242c5a22cf5 data/twilightforest/recipe/alpha_yeti_banner_pattern.json +52ee02057a1340a4a2479086b5f9a1e5f61b43de data/twilightforest/recipe/aurora_pillar.json +49f46becfc4a0333519e7a4bcc56a6308dc1339d data/twilightforest/recipe/berry_torch.json +3a4dd01749c47ab41d4c8460fb3ac8f2396f3853 data/twilightforest/recipe/candelabra.json +0cc256e4094e42d6677cbab7f8e0bb96607f5412 data/twilightforest/recipe/canopy_boat.json +91857819dd993cb4fd9cf1f84a5c7309ed25aeaa data/twilightforest/recipe/canopy_bookshelf.json +50e1fdd36cf18f18cce1a2459016f51afa4851ab data/twilightforest/recipe/canopy_chest_boat.json +52b607db7d42f590342ebabda91f3c4dbfe48458 data/twilightforest/recipe/canopy_window.json +784c99e57300b666737f5d384e6cc849f64ed25c data/twilightforest/recipe/canopy_window_pane.json +20dc3b34956551fb2c8ffdd4f781f3d701c95598 data/twilightforest/recipe/carminite_builder.json +79aa4b4357983a3bca109fe9f8b1c14a897063b2 data/twilightforest/recipe/carminite_reactor.json f15b7d2da75820201c2b367ff722d5ef4403d7b7 data/twilightforest/recipe/casket_repair_recipe.json -e6d01f13d974995c20afd7f9028fc21d3819e4be data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json -0de9d1047a7bf20b0531dd4ea0fa8a7e9b1d76d0 data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json -bdcf560e48ef68c903001becd79358e636643eda data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json -d0929b7ac87f624b33b4ae6e8bb6fda58a44c31c data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json -69a3e1295294176f0853a78a428eed2f56026c8d data/twilightforest/recipe/castleblock/castle_brick_stairs.json -9ea375a0236b5b33d34e84d54bd9e38dbaccf503 data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json -4d9692c8c9253e4563c896572d6bcac1a957fc60 data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json -ae4a4cca08962b331ded5f191e63b6c82681fc04 data/twilightforest/recipe/castleblock/encased_castle_pillar.json -217a3f5e0fa777cef41e7d4e543b86858ffd3baa data/twilightforest/recipe/castleblock/mossy_castle_brick.json -4bacbf25704cbd501f8a6ee785af5ed1d57f35ee data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json -f76ec07c53405522aaaa0437564b3f73177ac094 data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json -624b35857fc91a7f479afa86a25e8b9d5a569a3d data/twilightforest/recipe/castleblock/thick_castle_brick.json -aa0e62417179c18a0c36dd8d4399a3399cb76a24 data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json -5015a30b247990c3804bced0b8f6aa6d7b8c8c3c data/twilightforest/recipe/charm_of_keeping_2.json -96065ef25505ba3a08c3af8e2c699fdb73ce165f data/twilightforest/recipe/charm_of_keeping_3.json -ee121a3426197afda36fad3467c7233af72da0e6 data/twilightforest/recipe/charm_of_life_2.json -c0a165fc100c3cfefd2360d3541b9e4de29e1568 data/twilightforest/recipe/cicada_jar.json -df4469d208e7d839f7b657bdfecca5b1633c706b data/twilightforest/recipe/compressed_blocks/arctic_block.json -dacfe94dc8624fb709f2375f152c5c2782f3c7ca data/twilightforest/recipe/compressed_blocks/carminite_block.json -4715900f0b9ff9a7bf1d60c25bd830d6b11a4692 data/twilightforest/recipe/compressed_blocks/fiery_block.json -bacca80b07e3b4e8ace597db9e7f9dafba6a8ebc data/twilightforest/recipe/compressed_blocks/ironwood_block.json -d8ac5be9809612d376d972784ff4806b0bfe5aab data/twilightforest/recipe/compressed_blocks/knightmetal_block.json -57020b0319ee729ad84b429b268b2de86e3534b4 data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json -739506cefd34b8754b91894845e5fa61e00274dd data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json -59b82676e5dd084017f713f13f0ce648015ea087 data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json -a1437d29460a78c58f1b902c879883d0d0919603 data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json -eb5976ca367a710344f4f4e838773a74e273b5dc data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json -37815d7924b5b62608be138c3d7269053ff9e640 data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json -c60787f60623236d5ca5a113c5184c600a47b90d data/twilightforest/recipe/compressed_blocks/steeleaf_block.json -4ecdf3c1a4ea8b8220c2835785dc11591983b2e7 data/twilightforest/recipe/dark_boat.json -d0356ed3835229e4f93efe17819879fd539e4bed data/twilightforest/recipe/dark_chest_boat.json +afcca7f7b85d73ab64bcbca59d95fd28c69fff7e data/twilightforest/recipe/castleblock/bold_castle_brick_pillar.json +260a8e48011701ef46eaa98d325c9fa31e80274b data/twilightforest/recipe/castleblock/bold_castle_brick_stairs.json +a4f2b518c7c9c6ab29e3558e58b4f3a7047db704 data/twilightforest/recipe/castleblock/bold_castle_brick_tile.json +f90beed3ed36ca2c0474473f8d5059a68bc02838 data/twilightforest/recipe/castleblock/bold_castle_pillar_from_tile.json +d0a2bbf30ed1a79adc8cd3732c9658501d4fca44 data/twilightforest/recipe/castleblock/castle_brick_stairs.json +dbe27dd9fbd881f9733bb68046d016bc2af3c698 data/twilightforest/recipe/castleblock/cracked_castle_brick_stairs.json +05338cdeb77c601cda3843ed12da8ba9d56e678e data/twilightforest/recipe/castleblock/encased_castle_brick_stairs.json +856453b9110789974b4671a695698c6c1adc4745 data/twilightforest/recipe/castleblock/encased_castle_pillar.json +aa0895a9573a8d91017012395979002415e0a8df data/twilightforest/recipe/castleblock/mossy_castle_brick.json +5496736638437cbcf06321776d64986dbe3f4e45 data/twilightforest/recipe/castleblock/mossy_castle_brick_stairs.json +df53152b17e911e1bb50ddef9fd4706269ce0183 data/twilightforest/recipe/castleblock/smelted_cracked_castle_brick.json +b34da9d6634e7d66150293a94bddd762eb8168cd data/twilightforest/recipe/castleblock/thick_castle_brick.json +7aab3f567c754875f05315f6c9bdb1ae4663a168 data/twilightforest/recipe/castleblock/worn_castle_brick_stairs.json +cdecb61ad0bca43360a7917bd58450548d515a7d data/twilightforest/recipe/charm_of_keeping_2.json +9173a6e7b954569965d11b20fbda0aec943197f1 data/twilightforest/recipe/charm_of_keeping_3.json +64b1dbeed1f9f00d107ee04949ee6778e6c4a6a0 data/twilightforest/recipe/charm_of_life_2.json +877b90526a2defe487c10376964b04dfafe00259 data/twilightforest/recipe/chiseled_canopy_bookshelf.json +9caac1b4d102725f7277c32d46f5f106894f80bf data/twilightforest/recipe/cicada_jar.json +8991df4461543dcb9267671039d356b3ff489fd8 data/twilightforest/recipe/compressed_blocks/arctic_block.json +6c00d3ab33b4c668f76b2a032492c6500be938fe data/twilightforest/recipe/compressed_blocks/carminite_block.json +e16011d066daeb70ffb96ed5ab317b15760236b7 data/twilightforest/recipe/compressed_blocks/fiery_block.json +96a0f9dcc9fa34156ea457e715649e231b6c6acf data/twilightforest/recipe/compressed_blocks/ironwood_block.json +5420fd6e59790ed3c9746a7da2a733bfcbb0db12 data/twilightforest/recipe/compressed_blocks/knightmetal_block.json +17b6cbf12acaf2bbe490d321da0f74e23452ad37 data/twilightforest/recipe/compressed_blocks/reversed/arctic_block_to_item.json +14a80cebb9574dc82ccd52884c06dc9e1e4bce0b data/twilightforest/recipe/compressed_blocks/reversed/carminite_block_to_item.json +cb7662ae3b70f7e7e023619d0d39417b9fdbf0d4 data/twilightforest/recipe/compressed_blocks/reversed/fiery_block_to_ingot.json +00dc8b03efae42f4837c059fd101aa53f6871608 data/twilightforest/recipe/compressed_blocks/reversed/ironwood_block_ingot.json +0bcc12802fd01a5116e48582ef4f76071684b0a4 data/twilightforest/recipe/compressed_blocks/reversed/knightmetal_block_ingot.json +5ac14536aa313864a2bffca53a87cc0ccbef1d79 data/twilightforest/recipe/compressed_blocks/reversed/steeleaf_block_ingot.json +42fa6ea5b4723a5dcf55c054629b2d511e8a7c0b data/twilightforest/recipe/compressed_blocks/steeleaf_block.json +80ef3ec8c3f9637a84280813c3456bf9f72708c4 data/twilightforest/recipe/dark_boat.json +b1e0a4d76c782885e1cee7a221aa82b03f65ac3e data/twilightforest/recipe/dark_chest_boat.json 7bf9bbbe2166371930230a54043b2d4c98dad628 data/twilightforest/recipe/emperors_cloth_recipe.json -150d424be62d5ef21bb3019910d1d05d4f40726e data/twilightforest/recipe/emperors_cloth_smithing.json -683d84b70bb6978aa67ddfa367bfef4080198152 data/twilightforest/recipe/encased_fire_jet.json -69f34a575d206e48094e07b68b2cc4873c55f3f6 data/twilightforest/recipe/encased_smoker.json -ecaa98af8e4958bee6c29722542fa64f698d9408 data/twilightforest/recipe/equipment/arctic_boots.json -9b755cfff046fa84dd300b6a49ab0676989d4bef data/twilightforest/recipe/equipment/arctic_chestplate.json -a0a55d94dcbc168e292cc7bc77435f9fd427d8c9 data/twilightforest/recipe/equipment/arctic_helmet.json -13d31fe3d750bc4fa508a14ddd0766b113c82f99 data/twilightforest/recipe/equipment/arctic_leggings.json -782f653420fba8a5174a85eda0265f4de04b0564 data/twilightforest/recipe/equipment/block_and_chain.json -b951fb182886f105a8d794085b01213a10a74a0b data/twilightforest/recipe/equipment/fiery_boots.json -980756af707f35ee07fd475909bccc73dc431739 data/twilightforest/recipe/equipment/fiery_chestplate.json -d11fab64e5a75186f29c0a5c13546f8cadc1cdbf data/twilightforest/recipe/equipment/fiery_helmet.json -7b578df80b8246fbd3cfef9e4600158061229e13 data/twilightforest/recipe/equipment/fiery_ingot_crafting.json -d7e20c5d64d3f9ce6043990adecc303c6945fe5d data/twilightforest/recipe/equipment/fiery_iron_boots.json -0ba276b85898567e65a66d6f151537dac8cc65e0 data/twilightforest/recipe/equipment/fiery_iron_chestplate.json -acd93b5baf7f99add5355b56815219b5f4b20228 data/twilightforest/recipe/equipment/fiery_iron_helmet.json -35a3df9d19607768f64ab45aacc5c3020600036c data/twilightforest/recipe/equipment/fiery_iron_leggings.json -b6c10ed51365d5b11e2b81b90e9a84f1d510866a data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json -c795cfbd57ff603826e490912160636ad8d742e5 data/twilightforest/recipe/equipment/fiery_iron_sword.json -b915b96bf840990bec5025638c33228c50fed6e9 data/twilightforest/recipe/equipment/fiery_leggings.json -c590cd09c55432b41a3d83f3300ff90491938bec data/twilightforest/recipe/equipment/fiery_pickaxe.json -f80cc75fef24fa2dac8e3f6323092fcfc0127d57 data/twilightforest/recipe/equipment/fiery_sword.json -2ea99204628180dffcf222f0a2e43d6b6e83a167 data/twilightforest/recipe/equipment/fortification_scepter.json -9bb85bd822f29a5cee5dc5d7dcba906f74ad46e8 data/twilightforest/recipe/equipment/giant_pickaxe.json -e78a9fdefdb64d34ad7f0d5f4fac8f0b0581c1c5 data/twilightforest/recipe/equipment/giant_sword.json -8e1dacfebf037ea034b560b65fcca577ee6c9ca5 data/twilightforest/recipe/equipment/ironwood_axe.json -abb4220fac5aa2caa1f60c5c15062bc464a501ce data/twilightforest/recipe/equipment/ironwood_boots.json -3608183ac78be781fb821eb598867cd860c0f18a data/twilightforest/recipe/equipment/ironwood_chestplate.json -abc66cdcd03fd3a7f5c884a40d7b0adcad2699dc data/twilightforest/recipe/equipment/ironwood_helmet.json -78fd1d8f3da0ecd88614f731426c901fbb35ef66 data/twilightforest/recipe/equipment/ironwood_hoe.json -899eef7d29ddfc93cec3f44fb9bc89648536fa8d data/twilightforest/recipe/equipment/ironwood_leggings.json -f4d945ec912de534e5c3f46bc76e174e1f4a8f52 data/twilightforest/recipe/equipment/ironwood_pickaxe.json -6b26c65f70e52c47e706700832f4f5f712ebe76b data/twilightforest/recipe/equipment/ironwood_shovel.json -954f8619484548293657e52805860037054e32cc data/twilightforest/recipe/equipment/ironwood_sword.json -dee1d9d05ad8f2669baeba18c7da0b246086e09c data/twilightforest/recipe/equipment/knightmetal_axe.json -bb200f2b4eb37d1cbf40b6650e142b17632a4a48 data/twilightforest/recipe/equipment/knightmetal_boots.json -ff4cbe41d00047d0553f91d99b73fb09118b513b data/twilightforest/recipe/equipment/knightmetal_chestplate.json -336652d8cc5ba0df9eb54db73d203e3842dd7dcf data/twilightforest/recipe/equipment/knightmetal_helmet.json -278171b82cf7fbc51b16faa65f87c4c467223c83 data/twilightforest/recipe/equipment/knightmetal_leggings.json -884ba302451c787c1b5d95c09e435f09c4debb1e data/twilightforest/recipe/equipment/knightmetal_pickaxe.json -3e8fa22a40d5fef87051c7fa5a67a416fa5f3406 data/twilightforest/recipe/equipment/knightmetal_ring.json -f478fa47ad1179de6355f9d7996c02bafc57f7a0 data/twilightforest/recipe/equipment/knightmetal_shield.json -88b83e7ac4667c0388a187ae963c4412470eeca4 data/twilightforest/recipe/equipment/knightmetal_sword.json -e0826ca4b742e55b367cf550b3059f19eb0eb53c data/twilightforest/recipe/equipment/lifedrain_scepter.json -3906060abf640952851059e235d5cceb2e3b20b0 data/twilightforest/recipe/equipment/naga_chestplate.json -a86fbd7c7d00b774bb7f1f264b4f603e5fa4690e data/twilightforest/recipe/equipment/naga_leggings.json -9144dde27230b3e9095efc726128978b715f0dee data/twilightforest/recipe/equipment/steeleaf_axe.json -c2cca12e606f5bc37e2a86f057d4c9db66921439 data/twilightforest/recipe/equipment/steeleaf_boots.json -9caa971b3df99b86f5b5e381ba03dc262f0a4294 data/twilightforest/recipe/equipment/steeleaf_chestplate.json -499c331ad6413c5b5db83e2a0f2c130eb60d2de2 data/twilightforest/recipe/equipment/steeleaf_helmet.json -e02387c46f0bee5f96a19fe04f07ab06b5a7c78f data/twilightforest/recipe/equipment/steeleaf_hoe.json -01c7c59dcf582b9dcc5c78d8cb01f6e415616caf data/twilightforest/recipe/equipment/steeleaf_leggings.json -d23af2fb80e4ddcfceff729fc61b85512148c9cd data/twilightforest/recipe/equipment/steeleaf_pickaxe.json -4962499d89a740ca2351b202f271dd315a580c23 data/twilightforest/recipe/equipment/steeleaf_shovel.json -f3afc948a189eb022256708e4a98f40cfe3ab84f data/twilightforest/recipe/equipment/steeleaf_sword.json -365550055d351d29af766a8fca4c303db91e7cb6 data/twilightforest/recipe/equipment/twilight_scepter.json -aa29bef2aeb955dd56b8b2621854ee52b06a1cc6 data/twilightforest/recipe/equipment/yeti_boots.json -41b0f0ced5cfc9b4a4db00ffa4f570a5b5c76662 data/twilightforest/recipe/equipment/yeti_chestplate.json -33da12f99adedda4db15d399a9062114c5d1d8e7 data/twilightforest/recipe/equipment/yeti_helmet.json -563f93e44227b0e2f669b439c8377ec367faa222 data/twilightforest/recipe/equipment/yeti_leggings.json -635b7e8b654b387a00de23c808655f44068a0f8f data/twilightforest/recipe/equipment/zombie_scepter.json +46d36a198705036bc19718feba5d1b3d9a08aa28 data/twilightforest/recipe/emperors_cloth_smithing.json +6c0e05b51a359f2c81f8e5c6f5c1194e7e3cc161 data/twilightforest/recipe/encased_fire_jet.json +d948e03ca8fb392c921015e61add043c0166af53 data/twilightforest/recipe/encased_smoker.json +6fc1f32e05d66613364c6ba590c045aeeefbb1d4 data/twilightforest/recipe/equipment/arctic_boots.json +229c3c66ebbdae954c5aea877c48d59ce01deeae data/twilightforest/recipe/equipment/arctic_chestplate.json +f92061cd8c24b5e9433e4898eb6269c7fb022337 data/twilightforest/recipe/equipment/arctic_helmet.json +1566877b10c4d212ee56b1bb25665f81b3117bf1 data/twilightforest/recipe/equipment/arctic_leggings.json +d47f97faf959982e3b4e7582f6fdb222f59a0a06 data/twilightforest/recipe/equipment/block_and_chain.json +691900086ba5b12444c8a313762c249d6ab47e24 data/twilightforest/recipe/equipment/fiery_boots.json +5ddf26d819586969bd52da9583f1bcb0a1f37078 data/twilightforest/recipe/equipment/fiery_chestplate.json +6fa5b1cf8eb069ae5b6194825b4dd05b11eac607 data/twilightforest/recipe/equipment/fiery_helmet.json +91967163f0894d3fc1cdf4fd4eee13490deebff1 data/twilightforest/recipe/equipment/fiery_ingot_crafting.json +3486af5070acf3b9af86d3a73816d01c2bce724b data/twilightforest/recipe/equipment/fiery_iron_boots.json +953d94e23d8d9a5ac60f2b593cc6607929f298d0 data/twilightforest/recipe/equipment/fiery_iron_chestplate.json +d0498e9d845a08a23e8312fb3e1f9c3567613f66 data/twilightforest/recipe/equipment/fiery_iron_helmet.json +400b6775ab3293eb9bc9b1f5071337e1823e23b5 data/twilightforest/recipe/equipment/fiery_iron_leggings.json +1297e80e5e3288a925d96e4149e1d3de7e8d1d8b data/twilightforest/recipe/equipment/fiery_iron_pickaxe.json +6279221a3cef90ad16913d5125ccacae36834e9f data/twilightforest/recipe/equipment/fiery_iron_sword.json +c82666aa28e0982f39987693d70d5fecac7983a4 data/twilightforest/recipe/equipment/fiery_leggings.json +35b3e7a65ba284f47db0382c9fb3cd5e9b138ed6 data/twilightforest/recipe/equipment/fiery_pickaxe.json +ff7a4bab710c5489daa9a6ce157161077c46d998 data/twilightforest/recipe/equipment/fiery_sword.json +1c4140f679ed0f79277bba37baffa8cbb4adb68a data/twilightforest/recipe/equipment/fortification_scepter.json +2b737c1f84dd9726eb309f088f738d8ce7645252 data/twilightforest/recipe/equipment/giant_pickaxe.json +3d3a76788980b9838e3314546644cec73af89110 data/twilightforest/recipe/equipment/giant_sword.json +3a99fd9509465727be5416d12a84fe7650274d2e data/twilightforest/recipe/equipment/ironwood_axe.json +057dd3e7863abd0a2f0cab703f4850610e450b66 data/twilightforest/recipe/equipment/ironwood_boots.json +ecc7bcc06e97bfcdbde1baa7f3376b987d92531d data/twilightforest/recipe/equipment/ironwood_chestplate.json +17b3e4df82099375996690debfec7df4b68cfbcf data/twilightforest/recipe/equipment/ironwood_helmet.json +bdd90b774c5bd7161e5f441dad9d431c0795aa07 data/twilightforest/recipe/equipment/ironwood_hoe.json +86ce246f226bac0a5d7c1d9c70c3114bb893752b data/twilightforest/recipe/equipment/ironwood_leggings.json +f0d631c6bd48e01270081d248ed301e6b5aae09d data/twilightforest/recipe/equipment/ironwood_pickaxe.json +a5a456e30664272dbcd474f8cf2e4113b278a303 data/twilightforest/recipe/equipment/ironwood_shovel.json +2f6024efd5fcb1149df4538ab295fb7284a1230c data/twilightforest/recipe/equipment/ironwood_sword.json +30ad1d57313f63ec2acdae7bb24864e66bc424bb data/twilightforest/recipe/equipment/knightmetal_axe.json +03a8e451546ea15eaf949f7f55d51eabfd10e419 data/twilightforest/recipe/equipment/knightmetal_boots.json +f84f599f477fd91e16ca36acfc052e4003f4f428 data/twilightforest/recipe/equipment/knightmetal_chestplate.json +41616c5c5283c6e4465dcd9612e28b0d5325d127 data/twilightforest/recipe/equipment/knightmetal_helmet.json +c77386507c7b3801ab8c4190c50b8049d6eaa8d9 data/twilightforest/recipe/equipment/knightmetal_leggings.json +afc44ada828ca4edc7228fa38b064b5c7cea4e2c data/twilightforest/recipe/equipment/knightmetal_pickaxe.json +43369055801fd4d96e47c2928ad385b456d7bb14 data/twilightforest/recipe/equipment/knightmetal_ring.json +f6bb5cec3d32b9a762c64a90c4550fadf58a5956 data/twilightforest/recipe/equipment/knightmetal_shield.json +3d3dabe0b4a90546b8c0e8ddabaaf28ec842859d data/twilightforest/recipe/equipment/knightmetal_sword.json +d5b71c97f1c263c1e44f7201f64b63e484dba39a data/twilightforest/recipe/equipment/lifedrain_scepter.json +b1ac70452ae8c622b4e5414c8cbc2ac44d0c6676 data/twilightforest/recipe/equipment/naga_chestplate.json +b9b47f531fbf3232d403beb07faaf917ee410cf8 data/twilightforest/recipe/equipment/naga_leggings.json +bc34c57fd3c9b28d4d35b0049d14e380c8e9a0c6 data/twilightforest/recipe/equipment/steeleaf_axe.json +f8b299598f09f4a29954b14eabb3eeeca1c9489b data/twilightforest/recipe/equipment/steeleaf_boots.json +75abcd2a66d0396b3ffe25585fc46d80b187e7de data/twilightforest/recipe/equipment/steeleaf_chestplate.json +e1e3856413cee0cea86ae6385ae748b222785107 data/twilightforest/recipe/equipment/steeleaf_helmet.json +6dd790c5829c2c7fe597d570c3d4cb50d98eb418 data/twilightforest/recipe/equipment/steeleaf_hoe.json +88967fe1208465d542a6a81e36e07c194572c051 data/twilightforest/recipe/equipment/steeleaf_leggings.json +6c30adc482312592dcef8aebf4da846669570d57 data/twilightforest/recipe/equipment/steeleaf_pickaxe.json +0897405e972db8fc4b1008f1a6d086e5743a2bcf data/twilightforest/recipe/equipment/steeleaf_shovel.json +56d65a31cc70d70450c0b09d6bf379884888aca2 data/twilightforest/recipe/equipment/steeleaf_sword.json +aee39da6b27628ae84b6c49e1ee1209aa7fb6878 data/twilightforest/recipe/equipment/twilight_scepter.json +3fb26bbeb893dd75d3adbed8e7cc104bb871305b data/twilightforest/recipe/equipment/yeti_boots.json +d54c6f1b8a7ac6dab6da1d4519c3a9a81f7ffbcb data/twilightforest/recipe/equipment/yeti_chestplate.json +a409333f4a2e8b4e4f1b51c235b68e19ca9e2014 data/twilightforest/recipe/equipment/yeti_helmet.json +e483fac88b18db7951b64fcfed4fcdf6ea2fd632 data/twilightforest/recipe/equipment/yeti_leggings.json +693da8d63ac764d7ca992c6fc3fd4dadde8ffeb0 data/twilightforest/recipe/equipment/zombie_scepter.json ce5f137c0661a29781227328878d28d4bcd37445 data/twilightforest/recipe/essence_repair_recipe.json -1ea63b5abfdb82169b227545dc9c37da4f1271e9 data/twilightforest/recipe/firefly_jar.json -c60da106a8697581edfb06659654e0396b4ebff6 data/twilightforest/recipe/firefly_particle_spawner.json -476c6b1140de7f667fea8b7d3b48b374085f3013 data/twilightforest/recipe/food/campfired_meef.json -50ccb2545f9fc2c6e62a5b29e29823d5795f3619 data/twilightforest/recipe/food/campfired_venison.json -a644b16b4bf3e85757abe34196daa31e7821c414 data/twilightforest/recipe/food/smelted_meef.json -623a9b67ed926f9a9bcf122f4c9ff5eef9213198 data/twilightforest/recipe/food/smelted_venison.json -dbffee237a53ea81402060b136763f448bdbf5fe data/twilightforest/recipe/food/smoked_meef.json -9c8d0b325881e4943419a965c557fec32b6f708d data/twilightforest/recipe/food/smoked_venison.json -db8a33bbcd8369250f533a8bbdbb01187a25c542 data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json -ce613dd44c02cd86715fec5bdcf329d5e7e2dc0c data/twilightforest/recipe/giant_leaves_to_oak_leaves.json -91dc6497b542ee0c574523dcd0d4f4680f3c308d data/twilightforest/recipe/giant_log_to_oak_planks.json -440e9aed26396cd608d0b5a9cef178ed86234110 data/twilightforest/recipe/giant_obsidian_to_obsidian.json -3b6d178cdacda004e6ffd36094e7297752edbc39 data/twilightforest/recipe/hydra_banner_pattern.json -942ae1fada5f623702f7ca6ccca3c99279db3331 data/twilightforest/recipe/iron_ladder.json -67919b021e2fae7c48425f47c8969717254673f6 data/twilightforest/recipe/knight_phantom_banner_pattern.json -ff936b2f5c110ea4a13b77d77e40feae00f59408 data/twilightforest/recipe/lich_banner_pattern.json -2d82cc7147689bfd830dcde6dcc78d006d62fb29 data/twilightforest/recipe/magic_map.json +05c8e314cd061d92f437158e9b83526e027816ff data/twilightforest/recipe/firefly_jar.json +99b48bdb79a8ebda38914c7df118962c8f1a957e data/twilightforest/recipe/firefly_particle_spawner.json +710dadc9664f670101c6b212c6588580682ff2db data/twilightforest/recipe/food/campfired_meef.json +c2b3d5d5960194a0d26fb46a7fb8b6de7b9d58d7 data/twilightforest/recipe/food/campfired_venison.json +e2207197e3428d47f7862066dbc9c5974c783cd5 data/twilightforest/recipe/food/smelted_meef.json +6b878b94c879a5753e0fc67870969ecb5f06f134 data/twilightforest/recipe/food/smelted_venison.json +10111ddfb557e736b7a4d59dfec32cbed4c41f36 data/twilightforest/recipe/food/smoked_meef.json +2b8be54140250680ec11abb009205164455faadb data/twilightforest/recipe/food/smoked_venison.json +27c82b6d3a286e758c7d6003bede367b430fa5da data/twilightforest/recipe/giant_cobblestone_to_cobblestone.json +deeae42e22abd217c254314aba9b446f2344c220 data/twilightforest/recipe/giant_leaves_to_oak_leaves.json +2976785c469fbc890101364742c9f49604615cfb data/twilightforest/recipe/giant_log_to_oak_planks.json +080edd6a137ca133bade667803dcfd97dd3b5b82 data/twilightforest/recipe/giant_obsidian_to_obsidian.json +57d3d68d5fa19d5b9ca5f7a4bc67336733cb9336 data/twilightforest/recipe/hydra_banner_pattern.json +dbcabf45471da000206bf577d1247d2821c5ab55 data/twilightforest/recipe/iron_ladder.json +01acc48d1dd4d535bfcaaa3c9828224f7fa02c5a data/twilightforest/recipe/knight_phantom_banner_pattern.json +e77fdd9ba78660f03a92b466bd3d01d371e107a7 data/twilightforest/recipe/lich_banner_pattern.json +58632ea313ec581fab13d4b737b88e87a954292a data/twilightforest/recipe/magic_map.json ee87bbfacdcba0dc0556a64d5b235cf30a1bdb1d data/twilightforest/recipe/magic_map_cloning_recipe.json -7e1f5518787006d3155f13138bda4c9971a21bc1 data/twilightforest/recipe/magic_map_focus.json -5a0f46f7642143746696fa18673f13fef79917dc data/twilightforest/recipe/mangrove_boat.json -d881d00ba3eff2866c6e07de28419fbfed7a9b85 data/twilightforest/recipe/mangrove_chest_boat.json -2070853edf3135b72298289e4993acc258c0003b data/twilightforest/recipe/mason_jar.json -afe548761f43491c41060003fbf4ba93990b7e20 data/twilightforest/recipe/material/armor_shard_cluster.json -ab44425ce8b49093bb984fc5a18bab8acd945646 data/twilightforest/recipe/material/blasted_ironwood_ingot.json -36550aeaea479f424de66c30735883407b532f4d data/twilightforest/recipe/material/blasted_knightmetal_ingot.json -a4aa1c675c37d5e16cb645fc0268d867e25e73ac data/twilightforest/recipe/material/carminite.json -008a3afa46d3b6fd1edad16de363486a2978dbc0 data/twilightforest/recipe/material/raw_ironwood.json -09829c3f6176080ea26aa583733f766998232bc5 data/twilightforest/recipe/material/smelted_ironwood_ingot.json -8d0ad094ecf132b77e0ffbb943c6ac29f4cf95c0 data/twilightforest/recipe/material/smelted_knightmetal_ingot.json -2f834e9258a0e5c98872453e102c78a1713a0d1d data/twilightforest/recipe/maze_map.json +78f06795d1b91d83f4731cc6b60675b605d76dd7 data/twilightforest/recipe/magic_map_focus.json +5148e0801190dc44fb7fa40ed071c06f6d605ec6 data/twilightforest/recipe/mangrove_boat.json +932ae91a291eb80e10ae61761e5d04d00d5435d1 data/twilightforest/recipe/mangrove_chest_boat.json +8e2b01c62193819daca0c9b6035ffd841aec05f3 data/twilightforest/recipe/mason_jar.json +f24104269a13d495a960694c8421ea13bb886cce data/twilightforest/recipe/material/armor_shard_cluster.json +9862ce5ec256da5d87055e795617c46c7d856710 data/twilightforest/recipe/material/blasted_ironwood_ingot.json +2ffe7c83cac42ea04d746ef4bf78d873e06d3fb0 data/twilightforest/recipe/material/blasted_knightmetal_ingot.json +90d3c10b065689a69bd7eb9eb855ecaa5e64dbfa data/twilightforest/recipe/material/carminite.json +2ae96b6d176f6c784f942af0b1156790784b7ebc data/twilightforest/recipe/material/raw_ironwood.json +07b0a12d355b8df577ecf4be6800c16273c02b5f data/twilightforest/recipe/material/smelted_ironwood_ingot.json +2d22350685555a862bf02f8e7110cdd300af933f data/twilightforest/recipe/material/smelted_knightmetal_ingot.json +647267e6cffdf443c6119120e7f75525bef7cc29 data/twilightforest/recipe/maze_map.json a5c9d4901758df641cbd9b646298e3246f6ef77d data/twilightforest/recipe/maze_map_cloning_recipe.json -5dbc95e15699d5fbdd4ae99a62eeb5ca12283128 data/twilightforest/recipe/maze_stone/mossy_mazestone.json -2f9e355fc73c2e7baa862c21031500b83c18ff2a data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json -11d40a432d63aeb93ff3a42f61f325aa531e4707 data/twilightforest/recipe/mining_boat.json -46cea263a855599db165f9ffdf8d7948fcca51fa data/twilightforest/recipe/mining_chest_boat.json -dc5a577ea7670cd6f2bf8e8264dcad9da852f7fc data/twilightforest/recipe/minoshroom_banner_pattern.json +1c0f11a7b10587104236b45a3be391f67ab2ebf9 data/twilightforest/recipe/maze_stone/mossy_mazestone.json +d2df96c12dc53d88028353925d92c5b7c11093f6 data/twilightforest/recipe/maze_stone/smelted_maze_stone_cracked.json +62bfb927f6b1243aeaa76be2a065b82cba266686 data/twilightforest/recipe/mining_boat.json +3db2482755f34505665fffaa2126afaee74276cf data/twilightforest/recipe/mining_chest_boat.json +e7e067fd7fc3a00e27b0936dc583f47a63b47ef1 data/twilightforest/recipe/minoshroom_banner_pattern.json 24e0885053bb5389bf69bed02a45cc598c0b4a8b data/twilightforest/recipe/moonworm_queen_repair_recipe.json -b0a223e9bea0a881d9af4658f7fcea39f63ce01c data/twilightforest/recipe/mossy_underbrick.json -1c661e56d1e598a52052105f890f3ae540800358 data/twilightforest/recipe/mystic_crown.json -3ab132b4a5926dd69fcb9646819d59ddc4b62470 data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json -f390f17b32436558ad99fde487d2dc188582f8ad data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json -b703fc4e922e9f2354415d71d2214e31616122f0 data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json -e8225bb2bce88d2b203837f36dc964444da09e3e data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json -046de457c15f1a7141a1ae3b919a47af8a9b1a0f data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json -3c24a46f0f6f6f3ee20db6b901cbbaf25fbd80b5 data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json -db669863fa86c7ccdcdc5830259ad2396b5ba3ce data/twilightforest/recipe/nagastone/nagastone_spiral.json -b66d689b07237ba87f45fde5294191671c8a7806 data/twilightforest/recipe/nagastone/nagastone_stairs_left.json -a3a1d68d6e2d1e0d42cb3f4100c70fec7365f13b data/twilightforest/recipe/nagastone/nagastone_stairs_right.json -1af0d7532ee098c104e92a7e1c96054e2a0ab23a data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json -0fe7a908d7550f29c17a4ebaeed11294984be91a data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json -4fed8b16e85a0495d910b582505afc407f9cc35e data/twilightforest/recipe/naga_banner_pattern.json -e276618bcf104da1cbdd2720a1cca7960ebe8ed8 data/twilightforest/recipe/ore_map.json -1dbe5d13d780b98f0e2e807b6fba322b31ceb981 data/twilightforest/recipe/rainy_cloud.json -cf0d688c1a3a99f1b27f151c6c6e64ca71626ebf data/twilightforest/recipe/reappearing_block.json -5b078925b68a9da1c2077d4ac0ef46ec7abc00a5 data/twilightforest/recipe/relinquish_keepsakes.json -94c1b911cde6f51937e849a4229e3ae021c1ed1b data/twilightforest/recipe/root_stick.json -84c5e87f54aa77cefd643f82482a68a1a564cf6f data/twilightforest/recipe/rope.json -938aafb32dce9b86688daa80b9c4f1083a30881a data/twilightforest/recipe/smelted_cracked_underbrick.json -c0de62c657a98b9c17ccf19ec1dfd394db519ea9 data/twilightforest/recipe/snowy_cloud.json -570e6ffdeba474011bf59a9701319958663b8ec1 data/twilightforest/recipe/snow_queen_banner_pattern.json -19072e4c716e79cef7637b7db678ff8bcf37d65f data/twilightforest/recipe/sorting_boat.json -cbd70048931d37f66b2edcaf1f4dada7fa96a7d4 data/twilightforest/recipe/sorting_chest_boat.json -04ece3b610e37787a6726847afa6e1b6deb98052 data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json -94da0e6657d852a3e60812eee28a77cb02f59946 data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json -66422124f1c6ee656ec9fb79ce28ce8fe3883256 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json -2a3399c74922e9032c20748374a5c2e9a9df8d87 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json -e4a7c8c37ebe2da72e406bc409b78a6551562935 data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json -805c4a2ecae229610eac01df9c79328070d3e8ea data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json -93eac00377394e62ad785f19f98fcdc8a0b964ae data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json -97afeadd3d861cef9ed79ff94393fd5e07c2d6bf data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json -9cc0be11c93962f2ef6c44fb6218c742b31d45d9 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json -dff1e2f51da86da065f7f4db916e850257ac8181 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json -7d97d915718ae21a205dcca814b3953b66956be2 data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json -acf4e6b5b01a4a6ce66d00efdc1112385ece3b09 data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json -9f813e7a0c01abe589b8b52375aa1e55395e8443 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json -5a17f793d30e2e9e45a44ec7ddaf1a1e9d1dcd67 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json -33b1aa63855cb3459b85b465c4f77fc7ec8ca6de data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json -cde12c1a6614fc91dd5d1d850384388a9e3085c4 data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json -189d4e4f7a4d62edd51cb462103d17dbafdc02e4 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json -a5ce5b5d9bd7f7a9fc296865f167f5b217a254f5 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json -3be48e73f77c39605c89dd58a9844f969ac9322c data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json -8596cd864318e1bb721c713b5c7b34729e480ed0 data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json -5d1c872bb9453607b72e3a7cc2e76553c13061de data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json -b05d4dcf8d1f75d57067c8d16545a3d2235a08bc data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json -289fa3ab0d3ab2cd24f889afc558c11e181a9e76 data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json -d6547764954cb2f388832fe11fbffb893e0693e0 data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json -4fc47d28a18e279638b14b295548fb13591b2235 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json -52b858f5099c7259c6fba8edb74b4ad9a7a3adba data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json -5e3371b2574a64eafb173974aa80ebc16b6a33c2 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json -ad46d25aedfb64adcb457ba77780e335fda92263 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json -64374926fd5278895fab56c8b2a1e9c4f2cf6fd4 data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json -a5c339d947ac3025ade3341ffdb4ec46804a76f0 data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json -074d756f958f3c2c81abd6420db500236c5d7d50 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json -a2f79a22e3e3c33414efff1539fb047302eb96dd data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json -cc47c3d33e3cf0de3d4e4dfbe8b1400e7f075320 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json -5af43fc8fb20970db58ee6071e1f56642a65460c data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json -2606c3ea35e70a923066a68fa94d674202c96895 data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json -5796f02534d0ee7f0e673ed8710e3f5f154817a2 data/twilightforest/recipe/stonecutting/dark_log/towerwood.json -1434261966ea782397340d56afc156e7522197ab data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json -1567c62264bd61a9a6955bbffc109f8d08700314 data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json -c96abd3985f89cec977bf1b9dadf10e48e569bfd data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json -fdc8e55466ae895833c40aaeb63c10507d552b28 data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json -34b5b0cf27ff1d698c6ec95ad941705c3daade8e data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json -1d80ee5bbf63c8bf4fa62535d7e6b6dba6c6db33 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json -964092cf51157037f16c5ed9fe91ee409fffdb7c data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json -a6cd612f0cd5519c010786d194b884ef34f1b4d3 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json -d9ec7259a355103db8bb04e74247b3bf567c9c41 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json -4a855b014123dca1a912970ccc1d3271d463c793 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json -7b7fb1a2ee4714c22a3ebf98be661c457e32d28e data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json -00472d7d8cc6630cef0d86f09b44475d6d68ad1f data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json -c3dabd7dc03c49112fa977791b1e0023bb390d9e data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json -7b380855fa3757afd1353681225acbeb60f359c4 data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json -5abb84145a082fae6f1e23dbb8ca37329ac7d9dd data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json -8946eaa1d3c275eee9ba18d7508631acb2a1c320 data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json -704c93727be628c60cbe41716e4dd99fdc75901d data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json -8226929e6d6d6bced05d3f072f7a90f5656f4a54 data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json -7b984fa4cedcaa584c48bf26a6e97baba3eeba56 data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json -16bd684cc128056fffb18cc325746bf3b3662d98 data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json -177019b6ba70568b56f78594eed7168f7f84fe83 data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json -84383589ab5f10225a34967bab80b606aeadf943 data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json -0029d9ee470f54765240f4c4851ab6934152a816 data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json -d17921f209db26a93f1a081d1a7e48777bf43d1f data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json -5de5235d5e4f66a385a4dba2fc0a683f5d455bcd data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json -4460c7d99a1a926f21d2a172555758b7ee6d3e88 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json -ab7b35ea4a8a87db29e850ee5488acf70034ba3d data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json -a3e5488f06ecefaafdad688a53f72da49b1834bb data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json -5ad517516f19823f41ba043bceb714ea62e51517 data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json -e2024bab1b571a1b8793caa9b9218f0c40399a95 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json -768ab48b6c657e75125a37eaca42c38734adb2ad data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json -e92df19ef3141d965c851ed9c1c7accf1fbb9b82 data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json -d7bb774795f6da0ab9772b75cc3f80a60f4563a2 data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json -60b4b3bb49c23c03f57ea11031d5dbe52282d408 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json -347e767d60cdb11ea22745548405d7ae8768ee59 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json -81593ee3d231345f23c74123edb7a2de2e42deec data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json -5b0fdd2d9d0dbdd617b61c5388c738f06732cc87 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json -bbc16f681a0b1ccf298d9d0b27d4120318f00748 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json -0aa5009b50224541fe6b3b3ca7d0ce0899f6e028 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json -338ac6b572dfd608d205c18206b9e1ff94eaba49 data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json -9c6fc9fcc2105eeeef8f4c79a83b44de43eb1391 data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json -87c13ab968a5d8994b3926fd4c8f18d7d3d057e0 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json -a97aa7ec8f0a4e1f450fc3e1d6a5069251e764b8 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json -42e5d522d405290af79ed1535c17f2afc30aea9d data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json -e4a51d72ee3a964637f7f9c007b7bff33ced8782 data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json -ac33afd35768677c80566cdb9e87a8d67cca3d50 data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json -5abec9e467ae381a39c7d4c8aab2eadfc3b62431 data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json -0612b68e029f862e09015b5e452c0249e85ea281 data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json -a66d355cc6c5538408d2c3da599c19deec322352 data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json -2456f7e79274326fba9ffdc08f667a801793069d data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json -4b6c4953b46b189768097eaa7239236abab77bb3 data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json -721fb66475e7028db8c2b50e95c65abd3a2b91a6 data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json -89293231368c1a7e20a87b1322e403b16f10b0d3 data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json -44fa01fcfb785c911fa6b0045fee7d1b20993983 data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json -299ca4ea8866cee0bb591dc57257c47fe548e548 data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json -7dcf6fc7cb0209a902316675f2ec3ff554ac29fc data/twilightforest/recipe/stonecutting/stone/twisted_stone.json -1b824e5b5fee6c647e09446f9d2b187886a9217f data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json -9fde592b10cbc781681602c0414154a686fe9756 data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json -6033a81f4dea3a224ca0cefdb3f7b6d9265e2f78 data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json -45de4d04ee59e56b6c294b94c0536523b73410db data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json -9938e62abf6f5146a4a44be0a0f2e22430beba89 data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json -6776717f29f2c1921bcb18a71f18e8b5b2594291 data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json -1bd1e42c4b5962499870c027685b0a139972fc99 data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json -93951bb457dd5a5c1693e3da9aac7a1509411645 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json -1032bb8564fa53a2f6d435e8903c770ce0017ff2 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json -026c93490882a845fe34a4abe1190ef9436880b2 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json -fa7863295f9d5cd2ef624a7f2118db270ec79e97 data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json -e31859dfdea901259513b9b2a0b9a5881ff23a2d data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json -6af318754556268634bea8d64ad132fe5cadfcdd data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json -6273a1b7af3967a459272f2decc0ec1c4508da40 data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json -7beb708e117d9a2c4cecd710f562c5028b2e9b41 data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json -14ec83be70fb1d02a160944e945c0e69f6fd72b2 data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json -835ef6ba9222897bd7d184c5b8d3328a1a914c60 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json -6d998b6287bff2e93dae213fc281fdde61129229 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json -a5a0b65ac7ada3139260897b46df21ee5f856336 data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json -59f00fe0f444afb73a0a86066df5e4f7e9fd41ef data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json -9a540c4018b4ee55f24433ecf0f2d97d24bd3ca9 data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json -7566dbbb74cbebecd372b34342f7f53eb5f8df2d data/twilightforest/recipe/thorn_rose_to_red.json -3aac40ad9fa1e124b5460d43a83cc5cd3d1b8e68 data/twilightforest/recipe/time_boat.json -3153984436d024e52f46a546029ed1c2c52e3360 data/twilightforest/recipe/time_chest_boat.json -a77354d1a6a38f9723172bbeaf294cd61279e59d data/twilightforest/recipe/transformation_boat.json -8d3ee2c74eb594ebe5e982c3383f5b18f40b19f1 data/twilightforest/recipe/transformation_chest_boat.json -564b7903c55b9e84c234330457b3b79349bbaa7c data/twilightforest/recipe/twilight_oak_boat.json -16c53d991882b5d643995ebdafdb1474b54f6181 data/twilightforest/recipe/twilight_oak_chest_boat.json -f89821e2ab5495d65dea496535ef26ee8d474a7c data/twilightforest/recipe/uncrafting/tipped_arrow.json -53a0506d267467c82127d69255947c09301f4dcb data/twilightforest/recipe/uncrafting/written_book.json -3169f19a5a2c3c17b2d6a3aefdcd20527b4c3c64 data/twilightforest/recipe/uncrafting_table.json -94a932a68213f3131b5f8a120ee80970e5d68ea3 data/twilightforest/recipe/ur_ghast_banner_pattern.json -e4eb274cfaf367b53e12c3bdc2b26f12e2a5d300 data/twilightforest/recipe/vanishing_block.json -a7c102fbb07aa6516feb7b20deaf6f5e496e12c0 data/twilightforest/recipe/waterlily_to_magenta.json -265b505d43f3e39f7a526b0bf84b6a8781bf4f43 data/twilightforest/recipe/wood/acacia_banister.json -b0633cbe346a5ebbc36f79005dd54ad8a4c13bf0 data/twilightforest/recipe/wood/aurora_slab_slab.json -2b6b6cd6e067b28ae7226afe3d5a83970d40d3fc data/twilightforest/recipe/wood/bamboo_banister.json -497a8a3877a0a18fd816d4f85b0295c10bdd2b25 data/twilightforest/recipe/wood/birch_banister.json -f418243cae7a9eb048ee675abab20c1883f80f89 data/twilightforest/recipe/wood/canopy_banister.json -cdeb26f839b1888947b4426abf4bba68ba99a22b data/twilightforest/recipe/wood/canopy_button.json -33dad3263d0ffdc4a2f02169dd2d53fcc0daf275 data/twilightforest/recipe/wood/canopy_chest.json -ab3f9fa367a50033991b8e51f7acac07564681f8 data/twilightforest/recipe/wood/canopy_door.json -a942d6b53030b3ec7b17b2cae4c77db475f99294 data/twilightforest/recipe/wood/canopy_fence.json -edd4243321b0c22c0ff4d69655c194dccee9f410 data/twilightforest/recipe/wood/canopy_gate.json -7beb039dbd77c5a19f8e96578a1e023e652a1c6f data/twilightforest/recipe/wood/canopy_hanging_sign.json -fd5532d3048f5e420e1a6157fcc58c9239410eb4 data/twilightforest/recipe/wood/canopy_planks.json -ef7b20029c1b02353c10f620118cdc1dfa9916f9 data/twilightforest/recipe/wood/canopy_plate.json -511b6fae4ecf48e93e18dabc92fe9e19af70c91a data/twilightforest/recipe/wood/canopy_sign.json -d78da352f1edbfcb113a510a8251c3050afa0a8c data/twilightforest/recipe/wood/canopy_slab.json -fc43df83a555700ebe72c6a7f463a53eb53c4b49 data/twilightforest/recipe/wood/canopy_stairs.json -715bacd55d30b5b065935f09a68694d4f6e61476 data/twilightforest/recipe/wood/canopy_stripped_wood.json -71881712df618c0c316a235856b6c69fa2f312a7 data/twilightforest/recipe/wood/canopy_trapdoor.json -7c877bacab64d5c99da86c45be7ac23f6fcf3125 data/twilightforest/recipe/wood/canopy_trapped_chest.json -1a4b98d0ad343104b0631203d3cbb8498605b2ac data/twilightforest/recipe/wood/canopy_wood.json -c003097059ba11f310e0a478db80ceea175d37fd data/twilightforest/recipe/wood/cherry_banister.json -758726bbb8cadfd69bd22a06b0c5cabb392fd522 data/twilightforest/recipe/wood/crimson_banister.json -f9fe3d49ba49977641a7ec7b06df32620f5e5fda data/twilightforest/recipe/wood/dark_banister.json -d171f5446903ebd696fe135e716509943d07f6e8 data/twilightforest/recipe/wood/dark_button.json -aef76e0655aca28f672935e5ef2ea78280f1c4b3 data/twilightforest/recipe/wood/dark_chest.json -fa97d265167c78cf6435436cca9210819d27ca9f data/twilightforest/recipe/wood/dark_door.json -7b52f1582183115c6bb407b18df117ed90dbe2b5 data/twilightforest/recipe/wood/dark_fence.json -da31864c19acfae8988852a25d775fc1a8d44ca1 data/twilightforest/recipe/wood/dark_gate.json -6766f036c6a80390fe08648353ef582b3166c83f data/twilightforest/recipe/wood/dark_hanging_sign.json -bf9a68dbaf92ed9eabb3cf080709c697a5fc1193 data/twilightforest/recipe/wood/dark_oak_banister.json -c7a0df495f6f33a63d07b9d199ddf2cf2c53475c data/twilightforest/recipe/wood/dark_planks.json -b31071d624a2a88711bde4f773c9b9ff91072e3f data/twilightforest/recipe/wood/dark_plate.json -092df33a169854a19031268733baf42a078a4a2c data/twilightforest/recipe/wood/dark_sign.json -c9cb745e327c4101b2c63671588d7c71e1c42f02 data/twilightforest/recipe/wood/dark_slab.json -0905fcbe3fbf34544c9f54b01bef7ea009f2f1b9 data/twilightforest/recipe/wood/dark_stairs.json -05e333dc037d7fe7325ee30c3c7794791ac37e9e data/twilightforest/recipe/wood/dark_stripped_wood.json -edb0d930d039ae68114749f1da26bc7fc2dbfc69 data/twilightforest/recipe/wood/dark_trapdoor.json -beb25cde9de930d0e04080e3cfc4d2c3902d64df data/twilightforest/recipe/wood/dark_trapped_chest.json -059efdddc6f2c8110f1004b197d71c7b1815d445 data/twilightforest/recipe/wood/dark_wood.json -0810ae9fe7d8353b213fd57a89cd2947a8e0c6bf data/twilightforest/recipe/wood/jungle_banister.json -a3bdab87713954333a3ebc5e5ba64c8f1ccc69bd data/twilightforest/recipe/wood/mangrove_banister.json -7f1bc70e7defbcab1b8f8d2e45cdfa71103ed9da data/twilightforest/recipe/wood/mangrove_button.json -330ad21d3484f60ee893e1fc23730a16de69fd42 data/twilightforest/recipe/wood/mangrove_chest.json -7a21103e5550bc018dedf3ada6eb2f0490b93e11 data/twilightforest/recipe/wood/mangrove_door.json -a7e9b90c1e8182dcf86983a620242d731fe45d35 data/twilightforest/recipe/wood/mangrove_fence.json -1dfc68e4b298d50b414ec449948934f70f366763 data/twilightforest/recipe/wood/mangrove_gate.json -84d8773e23e1f8639464310b6d25cd5cf7050c5c data/twilightforest/recipe/wood/mangrove_hanging_sign.json -93ac128ff7a2113819385decdd82b5a8bcc43f0c data/twilightforest/recipe/wood/mangrove_planks.json -dbbfbe31a8d182cada0a27f9b2b5d3aad595ab4f data/twilightforest/recipe/wood/mangrove_plate.json -898d62248e540ab5ba904163b9c56df537c2c8f9 data/twilightforest/recipe/wood/mangrove_sign.json -3a037b1c03effaa58ba1a77686eb2d18ce68e753 data/twilightforest/recipe/wood/mangrove_slab.json -d870489beff94af1b65cef76b64783223272ad04 data/twilightforest/recipe/wood/mangrove_stairs.json -994f29b7ad5e155886ea5e5afa99b5811639eaf9 data/twilightforest/recipe/wood/mangrove_stripped_wood.json -e8ae6f97337ea746f2bb024db3eac6d843d07850 data/twilightforest/recipe/wood/mangrove_trapdoor.json -f0c3139a6ad9912eda8e03ec9b5d537c57de2e45 data/twilightforest/recipe/wood/mangrove_trapped_chest.json -5ccce8613c4357105e06134ed9168b3a028bb94e data/twilightforest/recipe/wood/mangrove_wood.json -588d309891bee483354c1191dc2619c260a09021 data/twilightforest/recipe/wood/mining_banister.json -77e5b57b2c87f9a975b56d8a4245bbcfe2d5703b data/twilightforest/recipe/wood/mining_button.json -8ece444b92033bacf229338cdef8b47369c39652 data/twilightforest/recipe/wood/mining_chest.json -9c3cba3a8c8888ca76b6128dddbd2f4a8d5d2766 data/twilightforest/recipe/wood/mining_door.json -c952f6768537ff5b29d75154fa37031911b6d9f4 data/twilightforest/recipe/wood/mining_fence.json -26e39ab1204c35b81f04d0c9c6f03c1ce3d710dc data/twilightforest/recipe/wood/mining_gate.json -6bd96c83bc8d497bcfca0c769818b040baf19fbf data/twilightforest/recipe/wood/mining_hanging_sign.json -170be5e1f3d79505d15be5f790650e3d571df1c0 data/twilightforest/recipe/wood/mining_planks.json -54208e4c8392d5dbef5ccb66ca35f79be437a0ff data/twilightforest/recipe/wood/mining_plate.json -4ff5c24c594e8c2cf9f8e6c2dc2a6e0df5c584b3 data/twilightforest/recipe/wood/mining_sign.json -790aa5c7c45fbeb2efc23c3f13e023fd0a5d025c data/twilightforest/recipe/wood/mining_slab.json -9102c44d5a3a6830d62ce0fbfff258421a4ae862 data/twilightforest/recipe/wood/mining_stairs.json -3bc8a78b808a852558db3d51bb9e9842afb6c206 data/twilightforest/recipe/wood/mining_stripped_wood.json -b13045318fcf92a8832097d285c72dd862650158 data/twilightforest/recipe/wood/mining_trapdoor.json -8bb7292aac3cf30fa845a115ecf99d8513092e22 data/twilightforest/recipe/wood/mining_trapped_chest.json -6479fb872c0ad2beeeb4ef566e3ce82532cc349a data/twilightforest/recipe/wood/mining_wood.json -4ba3c2d6a369547ce372fb567a96203f5ea7cef2 data/twilightforest/recipe/wood/mossy_towerwood.json -eb1e2a9843c61cf5122efe0f3876a4536429cead data/twilightforest/recipe/wood/oak_banister.json -2561cdde3f54c6999233edc5eb47eec7c75a5f22 data/twilightforest/recipe/wood/smoked_cracked_towerwood.json -09e3306665830182f8b447d605c856a30a9073ea data/twilightforest/recipe/wood/sorting_banister.json -40b3dfe86fd1d97fb74c577cd40c3107e8a5384a data/twilightforest/recipe/wood/sorting_button.json -09b9dd41270f74fe2dfc3f619033e82db22ac5b9 data/twilightforest/recipe/wood/sorting_chest.json -3ca197f64c10336ee7f0fc842736030cfa563fad data/twilightforest/recipe/wood/sorting_door.json -037a8f35dc3f3a116a2868ca2fce5050fe84747c data/twilightforest/recipe/wood/sorting_fence.json -f692c4009176c0a83a202e466641246983056077 data/twilightforest/recipe/wood/sorting_gate.json -66532e000e66e6e7fdedf7f27bed2f16f740095c data/twilightforest/recipe/wood/sorting_hanging_sign.json -4d4a92b2256ed523c745e7442fb167df704ee091 data/twilightforest/recipe/wood/sorting_planks.json -e658e9c830314285855713b7b7a4617724da0f2d data/twilightforest/recipe/wood/sorting_plate.json -7cb0abd974ba6c4bbcfd710884f5f435ce99885c data/twilightforest/recipe/wood/sorting_sign.json -647495164ff1da901af560b6ea9b98a34c4afaa6 data/twilightforest/recipe/wood/sorting_slab.json -692a3b0b15a049882b9742ad02145ecf0d3e8969 data/twilightforest/recipe/wood/sorting_stairs.json -944229a1daa0346a0ebcd71a6a7de26ce25873dd data/twilightforest/recipe/wood/sorting_stripped_wood.json -e254ff353e5b6340b0e95ddb3b6f3f773d472481 data/twilightforest/recipe/wood/sorting_trapdoor.json -a19a2d76f3535331a32bb77bc32f82924f5fc05d data/twilightforest/recipe/wood/sorting_trapped_chest.json -60210d6a7daf356b75ffacdac49f95d3171f11be data/twilightforest/recipe/wood/sorting_wood.json -18fd8e119c060ee22b5d2424ded709f4c98b251c data/twilightforest/recipe/wood/spruce_banister.json -003ca5cf5e49421bde4683ffc6d29ebbb0ec943a data/twilightforest/recipe/wood/time_banister.json -a70ed0379de6f7fe080a9b373629f1526801effe data/twilightforest/recipe/wood/time_button.json -54c1c25db31d7ec18b272fad50072addf547c249 data/twilightforest/recipe/wood/time_chest.json -1e6d9ebcc277a6b4535bd56744a539b0de4b7683 data/twilightforest/recipe/wood/time_door.json -06044c75f4caa0936c0b12339e3bd72a3114279a data/twilightforest/recipe/wood/time_fence.json -3ab97cc1fdc79e07a1d392889c2a412560c67029 data/twilightforest/recipe/wood/time_gate.json -03317632b2b081e6de1065eddc54939070320913 data/twilightforest/recipe/wood/time_hanging_sign.json -6b477ef8a57a1de0eff69560b14067c41f1a5ac7 data/twilightforest/recipe/wood/time_planks.json -aeb07d8388185b5b29f8155f84a3787feece023f data/twilightforest/recipe/wood/time_plate.json -ad3b2065bd285700688be37b2523b0a0b06b3633 data/twilightforest/recipe/wood/time_sign.json -d8986f58ebe58c8fd1cb9a7d0ea21f25b0de974f data/twilightforest/recipe/wood/time_slab.json -51482942c53fce6dcc2fd62b16b4bb2bc3283f7c data/twilightforest/recipe/wood/time_stairs.json -afe142a07ece23400347c5836580c6c1267d5562 data/twilightforest/recipe/wood/time_stripped_wood.json -4c43a97373bc502f238f0d5cfa7c6cc59a28c00c data/twilightforest/recipe/wood/time_trapdoor.json -68d05e3833e3ceb60843efdff73e761487103f73 data/twilightforest/recipe/wood/time_trapped_chest.json -486db2f5f45f1f799cea23423be74af3882a9386 data/twilightforest/recipe/wood/time_wood.json -7fae837dbaf32e0856c4aaf2eb56ad245793d53e data/twilightforest/recipe/wood/transformation_banister.json -2d01c01784941260aea108b61735fc365a5a0ddb data/twilightforest/recipe/wood/transformation_button.json -e7450158c2c75af131912d6967c18c87c134d1a6 data/twilightforest/recipe/wood/transformation_chest.json -250cdb706f5d8dd7cf9c1ef6e65c31cd8ad3bf96 data/twilightforest/recipe/wood/transformation_door.json -a54ce38b0c775388c2357d54224ae8ec01bf8fc2 data/twilightforest/recipe/wood/transformation_fence.json -53fe9b82a363c9a60844851d387e833d5f69e768 data/twilightforest/recipe/wood/transformation_gate.json -987ae375732bad6294d12a0bdca8a76ef1c288b4 data/twilightforest/recipe/wood/transformation_hanging_sign.json -2b8819283a3010f17f569f4b65f8f3edb0e5dbb0 data/twilightforest/recipe/wood/transformation_planks.json -d7780ad72116db2a76cbb28c7fc8500bb9370d8e data/twilightforest/recipe/wood/transformation_plate.json -2436dd4589069a3b2422f623dd0851799ca31bdc data/twilightforest/recipe/wood/transformation_sign.json -bcd38e452d6fad8d1736137e36def98f8599689f data/twilightforest/recipe/wood/transformation_slab.json -8e144b8bea7c27d2f4721e431837116a1afdd5a4 data/twilightforest/recipe/wood/transformation_stairs.json -4c2f853f5efe68cb4b98463387347a5f5df781d1 data/twilightforest/recipe/wood/transformation_stripped_wood.json -0d83954f9caa71e187e9a62e419cbfcd3790c9e7 data/twilightforest/recipe/wood/transformation_trapdoor.json -97b8ce6af8f956bc87190e6088d179d8bac3bb13 data/twilightforest/recipe/wood/transformation_trapped_chest.json -c2cf990b0d57069dfe817bc26636e6c96e0d801d data/twilightforest/recipe/wood/transformation_wood.json -5bc853ef61afc91620c18a5d4349b933e06705bd data/twilightforest/recipe/wood/twilight_oak_banister.json -f77dd7b224867415c37ee65e2470f2fa58452dc4 data/twilightforest/recipe/wood/twilight_oak_button.json -af17b12c11ac974bb99f5de22f80f96b385e127a data/twilightforest/recipe/wood/twilight_oak_chest.json -ba37ca7b68c82881a4daa8685c3baa2700931268 data/twilightforest/recipe/wood/twilight_oak_door.json -41debcd5bd94e791db6d44a33906c62ac17ee7d3 data/twilightforest/recipe/wood/twilight_oak_fence.json -4fdcd5cdf8a8a7ca7236a12d2f8549245eefbffd data/twilightforest/recipe/wood/twilight_oak_gate.json -5de624f5dc425c3c879760c31653ac7dc352fc83 data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json -93184a9920377ccffb2fe60930365c32eb1395b7 data/twilightforest/recipe/wood/twilight_oak_planks.json -22f5f917574cd8189bb8808e43e6dbc5ea8fa0c5 data/twilightforest/recipe/wood/twilight_oak_plate.json -3e53dc6a3922d7f1d599f930aa051cf5a83a8065 data/twilightforest/recipe/wood/twilight_oak_sign.json -556658bc7435e69229e83a2f4901be1abcfd235d data/twilightforest/recipe/wood/twilight_oak_slab.json -0f2aaaedf022d347dd9ba2d9b7334f6c34fd81cf data/twilightforest/recipe/wood/twilight_oak_stairs.json -b55956153bbc9806c7b6c328fb666c846b14738b data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json -21d6dca99c3071fb8148f452cc21e0896ccc24fd data/twilightforest/recipe/wood/twilight_oak_trapdoor.json -df4f481597f1ee40f7a7693d8bcee38662f149fd data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json -d5d4dce5a65dc04b6b88a40e9a98fe28fe492ee9 data/twilightforest/recipe/wood/twilight_oak_wood.json -50abc8486f472632b79720d7f07e14673820958f data/twilightforest/recipe/wood/vangrove_banister.json -55b0b64b28a7b4d054c664250c24ea73d4dbe415 data/twilightforest/recipe/wood/warped_banister.json -272cbc00cb7d309befa0cac839a0e324c0b808a5 data/twilightforest/recipe/wrought_iron_fence.json +afde7a589e90fe71c57507c4ea67d286820bfc4e data/twilightforest/recipe/mossy_underbrick.json +5b486401d37ba1d0c2387bcd436568d9a026c586 data/twilightforest/recipe/mystic_crown.json +c2bf4bef1802d3b12fab5ccf5faca45928b807ca data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_left.json +a09880f3733a8c7ffaa26c13dab06d7478a1ae73 data/twilightforest/recipe/nagastone/cracked_nagastone_stairs_right.json +a1604fb271f558f5b13af045f38ffde748038541 data/twilightforest/recipe/nagastone/mossy_etched_nagastone.json +1b53cfea76494c8854844fa9f6134347c7826bf0 data/twilightforest/recipe/nagastone/mossy_nagastone_pillar.json +40173a7d85635ac76fe0345e559666e009213d90 data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_left.json +67e22921a153adf3427b01deb2cd8e169fa0a4ee data/twilightforest/recipe/nagastone/mossy_nagastone_stairs_right.json +22ecac07affada0506c323f0fc78ad98732317ac data/twilightforest/recipe/nagastone/nagastone_spiral.json +6fd1bf3176f34f6dcaf8f521c59620f215edbd14 data/twilightforest/recipe/nagastone/nagastone_stairs_left.json +633726318be974844df68c6ada7fa1b960dc9b1e data/twilightforest/recipe/nagastone/nagastone_stairs_right.json +8ddda7d2e1e764ebddbc05dbdb9cd6ff3f295d34 data/twilightforest/recipe/nagastone/smelted_cracked_etched_nagastone.json +3d11fab9ed9186e5cdfe856c5f7e49a9d5e09347 data/twilightforest/recipe/nagastone/smelted_cracked_nagastone_pillar.json +32c0e8e83b20bf3bfbefc9365df832bdcb5e1d96 data/twilightforest/recipe/naga_banner_pattern.json +b3be26124c411cb9a0273022b51fd71c5b608588 data/twilightforest/recipe/ore_map.json +4b10faa0bc9f52bb3dfca65de869b11451c44446 data/twilightforest/recipe/rainy_cloud.json +f74b0861fd5f9f2d164ac5eaaec1462ba6bad2c3 data/twilightforest/recipe/reappearing_block.json +79c92ff5329a5f0039fd85de8dfd37618b93fc6d data/twilightforest/recipe/relinquish_keepsakes.json +ff880c3e625202b6a1c4abc725116adad8080d45 data/twilightforest/recipe/root_stick.json +b31860464e3650839e430575b12e6c4115330052 data/twilightforest/recipe/rope.json +00e9484f830dfba4aa013877f1bc5a6b27bf2250 data/twilightforest/recipe/smelted_cracked_underbrick.json +d569be87578a0f59f61322c42bfa1148e4da1883 data/twilightforest/recipe/snowy_cloud.json +8a6ca8c52695b38c93544162a79652c7eb8e9982 data/twilightforest/recipe/snow_queen_banner_pattern.json +c24be06a0f3818ca1b69a7dd1e0ec60628c6ca38 data/twilightforest/recipe/sorting_boat.json +66512d3e8306414573e709cb0870fb7443ea5545 data/twilightforest/recipe/sorting_chest_boat.json +7e4a924875b59571c1e79e82a4fbd0da418c7617 data/twilightforest/recipe/stonecutting/acacia_log/hollow_acacia_log.json +384bde03fca101600214b250ed779e96ef9544e7 data/twilightforest/recipe/stonecutting/birch_log/hollow_birch_log.json +9151ff68542a7e8a329fdf995c990e8049978228 data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_stairs.json +7312007b0519b4d494f10d6a69897333c29b415a data/twilightforest/recipe/stonecutting/bold_castle_brick_pillar/bold_castle_brick_tile.json +14f9436e82d69ad568afae67364449344f88e8cd data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_pillar.json +f6d3f6ce1c935d74f2f5f23d3284676e9a5f1ad4 data/twilightforest/recipe/stonecutting/bold_castle_brick_tile/bold_castle_brick_stairs.json +afb2f23d255f619d25737d0b098a2b9c17269d80 data/twilightforest/recipe/stonecutting/canopy_log/hollow_canopy_log.json +1c8a9bff245ce8a46d6818cfb4382f109fef83b6 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_pillar.json +aa196f86cc99cbcdb548160a01bc8f58eb2badc0 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_stairs.json +95c7101f72743dbc42292fb4a4266fee5743b8b0 data/twilightforest/recipe/stonecutting/castle_brick/bold_castle_brick_tile.json +0af9e1297e06aa63896162b1a5bcd011ec09b739 data/twilightforest/recipe/stonecutting/castle_brick/castle_brick_stairs.json +6328ef7dfc1b947d59975f42b6bae7d84503819e data/twilightforest/recipe/stonecutting/castle_brick/castle_roof_tile.json +c7cced9d96dbbbde9e5ebb7aa67b276830e29db2 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_pillar.json +ac01e8edcd495bf7393fdb0df1e35bb23b67ff95 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_stairs.json +258965316026d5251dc9d84bee8146c235cb1e54 data/twilightforest/recipe/stonecutting/castle_brick/encased_castle_brick_tile.json +a9565039ff2899aaeb07aca8ddf234de17de23ba data/twilightforest/recipe/stonecutting/castle_brick/thick_castle_brick.json +56b0f9a411909be87f22d5fbc412dfcd57826472 data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick.json +cb6e200324c6c58130679994d4d532207b26b1ea data/twilightforest/recipe/stonecutting/castle_brick/worn_castle_brick_stairs.json +305a9829572c868a28a54d257f891b7c005e0735 data/twilightforest/recipe/stonecutting/cherry_log/hollow_cherry_log.json +fbb023178637912294a1f8a2d3e1fc980ad19b0d data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_pillar.json +45eff946b3f40d151724b334f7af8a593103bf3c data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_stairs.json +46172ed3b00ff979871d0bc7b150a2faadd40f5b data/twilightforest/recipe/stonecutting/cracked_castle_brick/bold_castle_brick_tile.json +68e5181a6372ca81d50f7d0fdff1aca77b6e2da4 data/twilightforest/recipe/stonecutting/cracked_castle_brick/cracked_castle_brick_stairs.json +9eacdb5fd0fc098e2344b0804b70662075b853cb data/twilightforest/recipe/stonecutting/cracked_castle_brick/thick_castle_brick.json +22d40a3eb244cfced085d0a59d4f14ff5c368f83 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_left.json +e644a05db1c22b1686cae26607bc77645f1e3395 data/twilightforest/recipe/stonecutting/cracked_etched_nagastone/cracked_nagastone_stairs_right.json +dba72e016f77a3fef733c631fad67d80ff533b49 data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_left/cracked_nagastone_stairs_right.json +360b48b322ec9a771f93508c936ac67d69ea7a5f data/twilightforest/recipe/stonecutting/cracked_nagastone_stairs_right/cracked_nagastone_stairs_left.json +b550d9bfd0f898fe3c6fdd202c887dc3e7a95013 data/twilightforest/recipe/stonecutting/crimson_stem/hollow_crimson_stem.json +a30b03e9a3ae9b41b1829444c0cab0af7a32c1b1 data/twilightforest/recipe/stonecutting/cut_mazestone/decorative_mazestone.json +0898d5d61405f03db332459b4db5502c16b28867 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_border.json +62bb86bf0d0860b1c1501603c82cb6d7a03931f3 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_brick.json +2ec39cf71885c049e5f69f6694627bd90bb58d17 data/twilightforest/recipe/stonecutting/cut_mazestone/mazestone_mosaic.json +666b8b3dfc76ed9138248e8098e68147a04787e9 data/twilightforest/recipe/stonecutting/dark_log/encased_towerwood.json +11285a7ccbe4baac22aa1f4b09b92f68f8dba7cb data/twilightforest/recipe/stonecutting/dark_log/hollow_dark_log.json +5f8b28849916c72a1ddad530ce72a30808db2757 data/twilightforest/recipe/stonecutting/dark_log/towerwood.json +7b1a4d8e74a8d65e57bb2ab47195630fae6d6084 data/twilightforest/recipe/stonecutting/dark_oak_log/hollow_dark_oak_log.json +fef80a0363c7b1f1e887c0d54ac820f2f3bd2b20 data/twilightforest/recipe/stonecutting/dark_wood/encased_towerwood.json +afd5f7d298acb029412e10e1ffa8018f95467dde data/twilightforest/recipe/stonecutting/dark_wood/towerwood.json +181d356162ea4cac7a6282c27937a98e0cde6745 data/twilightforest/recipe/stonecutting/decorative_mazestone/cut_mazestone.json +461d372959155a74863024ae6c525199f4b14cb1 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_border.json +157a459d3afc0dac1d7f095409e21f3703913e1e data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_brick.json +49c6122ed8cea50f6b3268008d99bb9f608dce51 data/twilightforest/recipe/stonecutting/decorative_mazestone/mazestone_mosaic.json +e749cf2efe1cb0bb7edb77e596491ececc0ee189 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/castle_roof_tile.json +ebd471cacec820fe017e80a2da7403bdea2bbab1 data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_stairs.json +2a083da84c1d5e1ff217b1553ded48b1b217c61e data/twilightforest/recipe/stonecutting/encased_castle_brick_pillar/encased_castle_brick_tile.json +c23069525f154041f21caf8b0a324798bc7974cc data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/castle_roof_tile.json +4a11c264307d3dc33d7d4f926f41e434af48a459 data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_pillar.json +2de8074a848a20f324903a65d54ee3b987ab9df9 data/twilightforest/recipe/stonecutting/encased_castle_brick_tile/encased_castle_brick_stairs.json +f5db4a85243ee66dcc1fb577e72ded094388054d data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_left.json +47482984583d1a7273124ed4f83dede8b61c0c96 data/twilightforest/recipe/stonecutting/etched_nagastone/nagastone_stairs_right.json +069575fd37995a0d11e7b659b71e006f1870a66f data/twilightforest/recipe/stonecutting/jungle_log/hollow_jungle_log.json +712060ce1117e3f647d08c2d25e453a983fa237d data/twilightforest/recipe/stonecutting/mangrove_log/hollow_mangrove_log.json +bdd1be6d4c4dacc0ced6799b0be6d7b3db417765 data/twilightforest/recipe/stonecutting/mangrove_log/hollow_vangrove_log.json +f093cecaf5e2be5406b83570203f503ee55522cc data/twilightforest/recipe/stonecutting/mazestone/cut_mazestone.json +d724eba690190ebcd1de844a92f4b1cde09c7736 data/twilightforest/recipe/stonecutting/mazestone/decorative_mazestone.json +162d09d27b34d0564d152fd8981fa714a617ae3d data/twilightforest/recipe/stonecutting/mazestone/mazestone_border.json +303dcac556e27acc8c63275d2cc0cb4cc8a96b99 data/twilightforest/recipe/stonecutting/mazestone/mazestone_brick.json +11338de0daf3e5421c390ae3e389558fc84779aa data/twilightforest/recipe/stonecutting/mazestone/mazestone_mosaic.json +4c5bde3568b222d73cf53376162081492d80b649 data/twilightforest/recipe/stonecutting/mazestone_border/cut_mazestone.json +d306e1271e28d48fe36802a27b119cb83e8a0707 data/twilightforest/recipe/stonecutting/mazestone_border/decorative_mazestone.json +a1c4e22f431862df22a23a61544801713cec7355 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_brick.json +fe0d28929166c3c35b0539053bbf5248ec03ad31 data/twilightforest/recipe/stonecutting/mazestone_border/mazestone_mosaic.json +3ae48e560e99ff9272055573dc7f65251960f22a data/twilightforest/recipe/stonecutting/mazestone_brick/cut_mazestone.json +84b8e0526ab791043fb407a05e53adbb256e3739 data/twilightforest/recipe/stonecutting/mazestone_brick/decorative_mazestone.json +4fda09a7e00e933264ade5a760fbb677c959c545 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_border.json +5ad2ef40436697649dd4d01b1d5cde04b4e014a4 data/twilightforest/recipe/stonecutting/mazestone_brick/mazestone_mosaic.json +d9de1766cf829abb14deb5564612f6efdc9a6feb data/twilightforest/recipe/stonecutting/mazestone_mosaic/cut_mazestone.json +e78385e669902aa956554e10429a78db2127e140 data/twilightforest/recipe/stonecutting/mazestone_mosaic/decorative_mazestone.json +13953462e7b71b852c8b534a8c6de5d11d648401 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_border.json +290daf636f779c131a902cac80ad54ecf14e2de8 data/twilightforest/recipe/stonecutting/mazestone_mosaic/mazestone_brick.json +e97f2c7e8138eb46cdec5ae7fc9d3d17ba131519 data/twilightforest/recipe/stonecutting/mining_log/hollow_mining_log.json +15565c374ae9d47a670bdb4ca8ea167535d81fe5 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_pillar.json +30f6825267438ca6daedf4d47507f5bb2eba6ca0 data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_stairs.json +1bf40cb925c3bc5ca90f5a7e0298ee35b5cfe4cf data/twilightforest/recipe/stonecutting/mossy_castle_brick/bold_castle_brick_tile.json +6915729c2773794cc1c999e0973f9c1865b3142d data/twilightforest/recipe/stonecutting/mossy_castle_brick/mossy_castle_brick_stairs.json +308597dc00e381b9138f35a8c06c15a9fac78cb8 data/twilightforest/recipe/stonecutting/mossy_castle_brick/thick_castle_brick.json +53a382afc6a985ccbf2a295b952febc17b22d760 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_left.json +3884373c6040ea38cf360c2c632a8afce07b60e3 data/twilightforest/recipe/stonecutting/mossy_etched_nagastone/mossy_nagastone_stairs_right.json +a812ead30316e4fb2385a6403cdaabbdc882541a data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_left/mossy_nagastone_stairs_right.json +a1e5dc5ea18c7d193a5ac8e57d1f9857e99483cd data/twilightforest/recipe/stonecutting/mossy_nagastone_stairs_right/mossy_nagastone_stairs_left.json +d1f53a4ed1938a6007eb7422c4c3f7a97afc3370 data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json +40de78aee5b086997d2db3d20a54e212126e2380 data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json +2046da8daec179d397091eda683eb831a2b35c86 data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json +5438c340bd1b4d9424b89e7082c7042efc221db3 data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json +cc6e3e75152eb60f1875256469e7e7d57b8363e2 data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json +b6bcc09ffede8a22f19bf332933be6c79a0ba61c data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json +75ed921a8692413f490684940b22d001882c7adc data/twilightforest/recipe/stonecutting/stone/spiral_bricks.json +22b201c806c529488bda29a9803d3e81554f7199 data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json +d4b9f09f95d7cbc85e13ea27639016e1317f2177 data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json +6a985d628556cd020113801e8f4dc05876eb8a4a data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json +325fadc7e39cc854b4deb856930c8385ccbd5a7c data/twilightforest/recipe/stonecutting/stone/twisted_stone.json +a2428d813c3dfffeb8a02e49dcb53f57b45a3f9b data/twilightforest/recipe/stonecutting/stone/twisted_stone_pillar.json +6936b8ecdab581c0793d74e069f5ba881263e687 data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json +06ebb5c4e910065aa80ac96e2e1b16411fd3602f data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json +5ed2ed5181bd4366e134577fa35a6897b1f24fe9 data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json +b08727427328a1c66c6c4d02065d412f5426ab61 data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json +3cb470072c6966292dd63ed70e8492aa725698a9 data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json +f7a7a694585ca7b2e898a48c37e35bb7f52beb57 data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json +e66d7b23d55232758d89990c8761b89b8bde16a4 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_pillar.json +8f4ef475196a1015625b338f852c1a0f7e2bcae8 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_stairs.json +af65543ad761c79db29c7f905e1c9e1c30993de9 data/twilightforest/recipe/stonecutting/thick_castle_brick/bold_castle_brick_tile.json +62f1c3a593f8faadef6fef605ca5699733c4f523 data/twilightforest/recipe/stonecutting/time_log/hollow_time_log.json +1cd0d7caa6b29478af58d861c39d68b2bf3d1b62 data/twilightforest/recipe/stonecutting/transformation_log/hollow_transformation_log.json +0673a15aa158ce2780a1353f3dd362e5232d9d2e data/twilightforest/recipe/stonecutting/twilight_oak_log/hollow_twilight_oak_log.json +089f3731d569fd1bdadf500de9e1fbbf865f4d8f data/twilightforest/recipe/stonecutting/twisted_stone/twisted_stone_pillar.json +e2d9dc7c8989193f736713fbef3c6cde4b16253e data/twilightforest/recipe/stonecutting/underbrick/underbrick_floor.json +87fd9fe7a543e52bd034d5533030d091bba90f27 data/twilightforest/recipe/stonecutting/warped_stem/hollow_warped_stem.json +aca285806c6fe30448edb43bb2e24584e117c06d data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_pillar.json +cf5122b70e4db824c2e0940cbd9d304b524f4ebe data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_stairs.json +e59005f6faa6f7e78cd87e9903fd8fa60f3d6fae data/twilightforest/recipe/stonecutting/worn_castle_brick/bold_castle_brick_tile.json +c1eac5c5bec796831ceea24b575769db3c35f369 data/twilightforest/recipe/stonecutting/worn_castle_brick/thick_castle_brick.json +7060b2db8dd6c9cd7c5bf623f97cc1bf8ea73b1d data/twilightforest/recipe/stonecutting/worn_castle_brick/worn_castle_brick_stairs.json +302537ccd50ec0b38223557394ca1522f460ec0d data/twilightforest/recipe/thorn_rose_to_red.json +2fc648ca51194ff74e21c80ecd69e55352c7ab3e data/twilightforest/recipe/time_boat.json +6c87449ae223a41083e4f2fdf0b8ef15f3cb3dc7 data/twilightforest/recipe/time_chest_boat.json +15216a6970c65ba7bd91c2196978173354962bc4 data/twilightforest/recipe/transformation_boat.json +dbad938b1cbae4f28cb02ecb600ddccbfa7771d4 data/twilightforest/recipe/transformation_chest_boat.json +bef509793da38f7bb34a451b300ba8c41a3c6a78 data/twilightforest/recipe/twilight_oak_boat.json +10f089dd8779f6d4213098d449bf45bbbe472163 data/twilightforest/recipe/twilight_oak_chest_boat.json +6d483bc6bc503c2dc1f5c8f638d6221dbc43ed0f data/twilightforest/recipe/uncrafting/tipped_arrow.json +bab93ce5a6003c3600bfd1e9be45e27fa132bb82 data/twilightforest/recipe/uncrafting/written_book.json +f0c99e543cad585c08004400b1732f8812d5f57a data/twilightforest/recipe/uncrafting_table.json +60e1a571824ae98e3eeaacff4966afbd4f0c5ed8 data/twilightforest/recipe/ur_ghast_banner_pattern.json +71e387222481cbd594aa83e7b73e89ebc6deb1bc data/twilightforest/recipe/vanishing_block.json +fa71ad42cb630ce83690813cd03e128eb0e1219f data/twilightforest/recipe/waterlily_to_magenta.json +eb8b19af30cb5895657b9aed9bd4668de9cee51c data/twilightforest/recipe/wood/acacia_banister.json +e9703cec20979dea3660d507630221fe53b6c4fe data/twilightforest/recipe/wood/aurora_slab_slab.json +c3be3a5eabf490b594c194c9063881ec6eb9b832 data/twilightforest/recipe/wood/bamboo_banister.json +922c623e820509d1e0df3e85b8558d413ed335a5 data/twilightforest/recipe/wood/birch_banister.json +56b9293cadc67adf40ed25c6ab6165dd9b47f158 data/twilightforest/recipe/wood/canopy_banister.json +15255070da7a2daf2c6b289cc6ee3c68cafd8946 data/twilightforest/recipe/wood/canopy_button.json +f8841be86d2accc860df4db462fa4e364d6fa2ef data/twilightforest/recipe/wood/canopy_chest.json +08427ccf047cef8426f58fab0f2f79534cba51fd data/twilightforest/recipe/wood/canopy_door.json +908738d9eadfdfee108458eb3a5233bfd2e2c64d data/twilightforest/recipe/wood/canopy_fence.json +f7d51ae069eafbf8e7cde0575477c4e6a23bfc61 data/twilightforest/recipe/wood/canopy_gate.json +6b52c7397364f6e0ece00fefb7634677b5fb589b data/twilightforest/recipe/wood/canopy_hanging_sign.json +9df887befc971af9b8fa2a8146c5ca519364a7a6 data/twilightforest/recipe/wood/canopy_planks.json +e181efe2d5b4bde3697d6daf37af74b4da6f900a data/twilightforest/recipe/wood/canopy_plate.json +b822165c49ca143507eba09cc4211206be30de92 data/twilightforest/recipe/wood/canopy_sign.json +e2165302019d3f6229ececb064759fb7da3910da data/twilightforest/recipe/wood/canopy_slab.json +c3909d7f1a1413d30db3ae39ac0bbfcc4ee588c9 data/twilightforest/recipe/wood/canopy_stairs.json +ef4db74e7811a45f147ad10169cec0775d166ffd data/twilightforest/recipe/wood/canopy_stripped_wood.json +ca2dd7c3e26c13cb9e052536e275cd38260d78bf data/twilightforest/recipe/wood/canopy_trapdoor.json +886ecfd7e339df501011a7c4063dd9ca9fc0c35c data/twilightforest/recipe/wood/canopy_trapped_chest.json +ceedbcd52552592c8a8cf93d3abe6c38b5593995 data/twilightforest/recipe/wood/canopy_wood.json +796bfa1955482a1cb922eb024ddf0a0711fc80c4 data/twilightforest/recipe/wood/cherry_banister.json +edc9c1ce8eb5d947cbe38692deb318905daa5308 data/twilightforest/recipe/wood/crimson_banister.json +843c2983543b4f1642fe6d2e107b87a572b101b1 data/twilightforest/recipe/wood/dark_banister.json +15693c132d7e34c16282d7926317b3779d1bd180 data/twilightforest/recipe/wood/dark_button.json +5519cffa5b944860df4c12bc64363bfa1ad77554 data/twilightforest/recipe/wood/dark_chest.json +82fb214891c558b4e24c67c2eb54d04f6a1889b9 data/twilightforest/recipe/wood/dark_door.json +93d21de3e38b25daf169b0637bd4d20427898005 data/twilightforest/recipe/wood/dark_fence.json +6653fc492e33fc3ac227e9cd9980ad75a08fc911 data/twilightforest/recipe/wood/dark_gate.json +c65ba9d28469933aa602df52e835a12398e0946e data/twilightforest/recipe/wood/dark_hanging_sign.json +2ce2d4eb48b4519d093d8691aaddae20a4d8467d data/twilightforest/recipe/wood/dark_oak_banister.json +844ae6d2dbc709af07b08990c9ccf791daa86c82 data/twilightforest/recipe/wood/dark_planks.json +eb49c61ff039d6acc8a17b92433bc6bbd1a11939 data/twilightforest/recipe/wood/dark_plate.json +b958ef65dd8b8c46bd5338d007db4650c7f3472b data/twilightforest/recipe/wood/dark_sign.json +49d4013c89b91f41f09a87fa741e3188bdd9632b data/twilightforest/recipe/wood/dark_slab.json +d5f00fabafa77d62fedf5e4d540c84af45950a20 data/twilightforest/recipe/wood/dark_stairs.json +b31201b5aaa2cb4569bd2395d70326d77532aa5b data/twilightforest/recipe/wood/dark_stripped_wood.json +29e5af9de48bbadd9762768b416b37d4e312a296 data/twilightforest/recipe/wood/dark_trapdoor.json +8e26f5d7f4fa52d02e6018ce828be9edf8a259b7 data/twilightforest/recipe/wood/dark_trapped_chest.json +638ac9eee6582c771f452365d5ddbb7b0e319b6e data/twilightforest/recipe/wood/dark_wood.json +f2625c39eac4901713429159353ea6e8d669029a data/twilightforest/recipe/wood/jungle_banister.json +de3796208171f3d43eef8aa06d1d73797c3f869a data/twilightforest/recipe/wood/mangrove_banister.json +bad4455c5488d3ae37c17bb664afa7ff9e131a8b data/twilightforest/recipe/wood/mangrove_button.json +9b8414a87937173efd40e3461db019b43a7e90e1 data/twilightforest/recipe/wood/mangrove_chest.json +af0cf5654cfef5889decc451f4ca6ffa3a29ecbf data/twilightforest/recipe/wood/mangrove_door.json +3f71c333200846ce20c8068a77a7657b5d5d6699 data/twilightforest/recipe/wood/mangrove_fence.json +f32f9b871b156ac7c6af7419ea4ffdfefa69f2d4 data/twilightforest/recipe/wood/mangrove_gate.json +5d4be87ea2b5eb62f57d21561f1a195e7a5efa8d data/twilightforest/recipe/wood/mangrove_hanging_sign.json +64da44a3ebdb3e956b86aaee319be8963abc66b9 data/twilightforest/recipe/wood/mangrove_planks.json +704a53b61234cb5364efa44f3c1a4948340bb1b5 data/twilightforest/recipe/wood/mangrove_plate.json +a4498da08ef98f97864e53ac5fbcb4c06814bcc2 data/twilightforest/recipe/wood/mangrove_sign.json +3a912f2db3bf61ce05a0bc452267a2846439907f data/twilightforest/recipe/wood/mangrove_slab.json +cf4e3150dc3f86e29d739fbf21d5769ddfb5f7ec data/twilightforest/recipe/wood/mangrove_stairs.json +5e04dd4f609a424af8b0ac62e3ee15f227c57062 data/twilightforest/recipe/wood/mangrove_stripped_wood.json +d6616acc68101b8d5f34de955687f750be52ddc7 data/twilightforest/recipe/wood/mangrove_trapdoor.json +3c4416f06329d28cd9eb653da67956585138d91d data/twilightforest/recipe/wood/mangrove_trapped_chest.json +5648a5537f33527ad87c109b5476a081cc1b7c7b data/twilightforest/recipe/wood/mangrove_wood.json +f77e07a9560e2cceac4ee07f576e9adc10e8e561 data/twilightforest/recipe/wood/mining_banister.json +aae1aac6675e1d5ce7f594fbd39ed7bae74fd10a data/twilightforest/recipe/wood/mining_button.json +c38f9ab076f291d9ea560d86b237c767c2477b8b data/twilightforest/recipe/wood/mining_chest.json +0fd7856aed0b93b95e4541306268299ad3bd3a4d data/twilightforest/recipe/wood/mining_door.json +f69e76c284388197feab7245165382ca6ac56cfd data/twilightforest/recipe/wood/mining_fence.json +d3d2a484500999abc0ca3ecd826a969cf4d5741e data/twilightforest/recipe/wood/mining_gate.json +925f061953125e04c479cab0b225da2da3128ac4 data/twilightforest/recipe/wood/mining_hanging_sign.json +42b20ea828ecfab6c98dc5f9b886131d18294f65 data/twilightforest/recipe/wood/mining_planks.json +3d51ac92f931cea37e33a9df35dcea4472682d01 data/twilightforest/recipe/wood/mining_plate.json +22b7995cd7a1ec050b83cf318e4f89d72c8edffa data/twilightforest/recipe/wood/mining_sign.json +8c1bf590e20012f53387654ce6d6ffc4fa282405 data/twilightforest/recipe/wood/mining_slab.json +aef59171525594dcc31ac2b5237a79ac271ddfc8 data/twilightforest/recipe/wood/mining_stairs.json +1690229d179214e777f93ef5ee0abfb94cb9821b data/twilightforest/recipe/wood/mining_stripped_wood.json +9a5ba62faeb6771394429865509f609f9d50678c data/twilightforest/recipe/wood/mining_trapdoor.json +bff1225c6b7f1706b545919562943873959b4b6e data/twilightforest/recipe/wood/mining_trapped_chest.json +ba4189d4984abb932e1b3054f7ae9a54af825abb data/twilightforest/recipe/wood/mining_wood.json +724be8232e8827418b034a27db6507e898689cc6 data/twilightforest/recipe/wood/mossy_towerwood.json +3ca4ab1603ea9dd1fd59e43854db1a9b6d1e3204 data/twilightforest/recipe/wood/oak_banister.json +c6d4a93d035db0895ebb3e63ef9148a7dccab4de data/twilightforest/recipe/wood/smoked_cracked_towerwood.json +f7e5a5767c5b2605a2c09d876ff9f5254ff1c295 data/twilightforest/recipe/wood/sorting_banister.json +fe59f0ec0050e1fbcadb7bf41694654eb6b7ef01 data/twilightforest/recipe/wood/sorting_button.json +3cc4147bbde5668f6a03e42dbe87467b9d0ba66b data/twilightforest/recipe/wood/sorting_chest.json +c56808e79bf29eb2857bd86de76041d7a789b8e0 data/twilightforest/recipe/wood/sorting_door.json +51b114ff0e7924da6bfe169f4e591ceb9d605ad0 data/twilightforest/recipe/wood/sorting_fence.json +710591cf48d86f55d3c58ceaa5557f0777ed9959 data/twilightforest/recipe/wood/sorting_gate.json +7606a02d4a5d783ccb2453e4bcf9708f1d172ab7 data/twilightforest/recipe/wood/sorting_hanging_sign.json +08f9d365377052c50a3faa774754a7439ca2a7a6 data/twilightforest/recipe/wood/sorting_planks.json +70954508f92cf4e1ca1eceb6e4c7eda1fdd85243 data/twilightforest/recipe/wood/sorting_plate.json +5812251f9f4acdd48a1f8701d948dd7260f1312a data/twilightforest/recipe/wood/sorting_sign.json +b943de5e38bce04c1c3c5e1ca9ee2d8d80ff6748 data/twilightforest/recipe/wood/sorting_slab.json +84f71995554fb14be30b186d2faa543b3af75d0f data/twilightforest/recipe/wood/sorting_stairs.json +94416ba5308d73ddd15c82248ac835734ce338ed data/twilightforest/recipe/wood/sorting_stripped_wood.json +1823f0381011000d0baa3e97ed14daecc3cbe682 data/twilightforest/recipe/wood/sorting_trapdoor.json +c81344d7f5e7f064dd9cf026846609698ebab418 data/twilightforest/recipe/wood/sorting_trapped_chest.json +1cc45e30099d35c2b08073189c100454f4970cbf data/twilightforest/recipe/wood/sorting_wood.json +9dc87266693cd35153dc919a2f2237f186f9cca5 data/twilightforest/recipe/wood/spruce_banister.json +28af6ca27c171899d00cf95c9b20163aa0178cbe data/twilightforest/recipe/wood/time_banister.json +603437ae088e60821549cce0bd263ff2f097743b data/twilightforest/recipe/wood/time_button.json +a7b3efc4d70eb9e14ddbd2de8d08ddce661d4a4c data/twilightforest/recipe/wood/time_chest.json +2073c185d1485405a202ea9e2129f5b365fa42a9 data/twilightforest/recipe/wood/time_door.json +82ec2418a137a67bfaf73c155ca328f79a5e501b data/twilightforest/recipe/wood/time_fence.json +c2efeb2efb398c6f457fd2092a33199f855ae649 data/twilightforest/recipe/wood/time_gate.json +6b6a672db88dc38307b899809b3e443611bc3a1e data/twilightforest/recipe/wood/time_hanging_sign.json +e6cbc38433528bf731aebba8969ab74d1284dad1 data/twilightforest/recipe/wood/time_planks.json +52b1ea245dd6daeaa3f2cc21b6176fd60a52f9f1 data/twilightforest/recipe/wood/time_plate.json +22776612fba85ac6b429cb3934f6b1062ba1b31f data/twilightforest/recipe/wood/time_sign.json +53c6e9f437942a3408971a9a8eb14116a600b83a data/twilightforest/recipe/wood/time_slab.json +abf834492833ff28b3b73398662c6c0e6452368c data/twilightforest/recipe/wood/time_stairs.json +f195f322c7f8332c8eb7a691ef84e1f8a36ef079 data/twilightforest/recipe/wood/time_stripped_wood.json +4ba7bf28206e7be1dbbaaa8c049f6b3bb15af993 data/twilightforest/recipe/wood/time_trapdoor.json +719b3a85e970e01657717354de48feec190a91a3 data/twilightforest/recipe/wood/time_trapped_chest.json +cb34f001592b40342d1d999c6bb4c0fafcc168eb data/twilightforest/recipe/wood/time_wood.json +bfb2010c8c3747ec6022c4f520f945c6e2a4be3c data/twilightforest/recipe/wood/transformation_banister.json +98544a060a6607e111852e759ba17b01bb984962 data/twilightforest/recipe/wood/transformation_button.json +5c26f4e5398e9b7a7a2c7dd732cbec83c85caa3e data/twilightforest/recipe/wood/transformation_chest.json +998575e4c809a7d142d9b1fc7565f99041c71f48 data/twilightforest/recipe/wood/transformation_door.json +bc8bebe9d60f9bd78eb6178d4cc0dfc77bdacfd9 data/twilightforest/recipe/wood/transformation_fence.json +cbd4ba8c3e8a51ab1ac4edff3e5914449bdd15c6 data/twilightforest/recipe/wood/transformation_gate.json +814531669fac5709907cb32d386e67b45281ae46 data/twilightforest/recipe/wood/transformation_hanging_sign.json +278e6471f9d647c67357604b0c05286141a315ad data/twilightforest/recipe/wood/transformation_planks.json +f590e14fc66937552189e2fa2744623bcb930307 data/twilightforest/recipe/wood/transformation_plate.json +77e6d5d606c5388fbc56789d0e103539660fcc13 data/twilightforest/recipe/wood/transformation_sign.json +46e5c2d14ea1f5031fd78d3d3a338ec957753613 data/twilightforest/recipe/wood/transformation_slab.json +e6cced8b8e92750f9b3097f78b7010910d58dea8 data/twilightforest/recipe/wood/transformation_stairs.json +99d0f904333d9231cae3853bd65858ad3163de76 data/twilightforest/recipe/wood/transformation_stripped_wood.json +6cf025ae1f7861cc725a6362e660b428a00838cd data/twilightforest/recipe/wood/transformation_trapdoor.json +0afbf6a771407bcac5fb259ee548cc1e40a142bc data/twilightforest/recipe/wood/transformation_trapped_chest.json +db3af8be4e9f08d98d30cb90ebec33f9c9202c7d data/twilightforest/recipe/wood/transformation_wood.json +4c494285b8ad553389d8fe123f9049b82c054790 data/twilightforest/recipe/wood/twilight_oak_banister.json +2e99133670916ac941703ca5aff4ef30332d1d63 data/twilightforest/recipe/wood/twilight_oak_button.json +b44aa4adc6c693295d941e4d03a2e2566ab75070 data/twilightforest/recipe/wood/twilight_oak_chest.json +dfe20631bc06832816bce22ea17e09eb1960f207 data/twilightforest/recipe/wood/twilight_oak_door.json +4c810beae9162ea032f02f59cfe19c74af970773 data/twilightforest/recipe/wood/twilight_oak_fence.json +ea4f0f2704d3f3a76e398b9e3bd3ac670f823f05 data/twilightforest/recipe/wood/twilight_oak_gate.json +32346e492cf45a9a069e82a4939c0feb6d9b6d39 data/twilightforest/recipe/wood/twilight_oak_hanging_sign.json +b5ffd457e09bf3253f5705f8b98b3b37db53744f data/twilightforest/recipe/wood/twilight_oak_planks.json +1fa2f4bfdf4e7047832882079518f2904ac51a77 data/twilightforest/recipe/wood/twilight_oak_plate.json +ca0dae8138c9239eb1727999281fba69d6815e4f data/twilightforest/recipe/wood/twilight_oak_sign.json +a5ba8d2fe65806c7c4efac7542f5d51e92aa3ba9 data/twilightforest/recipe/wood/twilight_oak_slab.json +ec9e3f9f2e23dadc273e7c77719bf28ef0dafffd data/twilightforest/recipe/wood/twilight_oak_stairs.json +dca6f453235cfff040e9feacbc3d103f3124d3d0 data/twilightforest/recipe/wood/twilight_oak_stripped_wood.json +64f8457e55525a7b59704b6858cd4c4bc63072f9 data/twilightforest/recipe/wood/twilight_oak_trapdoor.json +1be973e0bb60c64b286db239f6cca6fd35545197 data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json +e09d0d99c910f98022fe930aeaf4acc51870c865 data/twilightforest/recipe/wood/twilight_oak_wood.json +045a785de6aedd207119a5b88955bec5951f1135 data/twilightforest/recipe/wood/vangrove_banister.json +68d281c65d7eda36ff09dcbbcceedef9bec895e0 data/twilightforest/recipe/wood/warped_banister.json +ccfb7a9e141a23ed432741fba3549ffafd990b1c data/twilightforest/recipe/wrought_iron_fence.json diff --git a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e index 313bbf235a..0aa625e588 100644 --- a/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e +++ b/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e @@ -1,2 +1,2 @@ -// 1.21.1 2025-03-26T13:10:11.526857 Sound Definitions +// 1.21.4 2025-03-31T09:20:45.8265242 Sound Definitions dec97e7df3887e2088ce843e5513fcd83174694e assets/twilightforest/sounds.json diff --git a/src/generated/resources/.cache/798c5895537920d3e944cadfc678868c6deaf5cb b/src/generated/resources/.cache/798c5895537920d3e944cadfc678868c6deaf5cb index 301665b81f..18b4b9decf 100644 --- a/src/generated/resources/.cache/798c5895537920d3e944cadfc678868c6deaf5cb +++ b/src/generated/resources/.cache/798c5895537920d3e944cadfc678868c6deaf5cb @@ -1,4 +1,4 @@ -// 1.21.1 2025-03-28T21:09:33.808348 twilight/template_definition generator for twilightforest +// 1.21.4 2025-03-31T09:20:45.8120038 twilight/template_definition generator for twilightforest 1860c2bf129206449bfb3fd3d5046eaa7b824bfd data/twilightforest/twilight/template_definition/final_castle/temp/bell_tower.json 46ff2dec430eb0e38a6fb102c0f36e7dbac9ddb7 data/twilightforest/twilight/template_definition/final_castle/temp/gazebo.json 72a61954e8fae58d6c58295df38cb7454bfa9e5e data/twilightforest/twilight/template_definition/final_castle/temp/large_tower.json @@ -49,8 +49,8 @@ c147647c84bdb4568b1896a34a0a23ade42319e5 data/twilightforest/twilight/template_d c147647c84bdb4568b1896a34a0a23ade42319e5 data/twilightforest/twilight/template_definition/lich_tower/5x5/spawner_4.json c147647c84bdb4568b1896a34a0a23ade42319e5 data/twilightforest/twilight/template_definition/lich_tower/5x5/spawner_5.json e256f97bee376c398070cce4defdd7f5132cd4e8 data/twilightforest/twilight/template_definition/lich_tower/5x5/straight_junction.json -e256f97bee376c398070cce4defdd7f5132cd4e8 data/twilightforest/twilight/template_definition/lich_tower/5x5/t_junction.json e256f97bee376c398070cce4defdd7f5132cd4e8 data/twilightforest/twilight/template_definition/lich_tower/5x5/trinity.json +e256f97bee376c398070cce4defdd7f5132cd4e8 data/twilightforest/twilight/template_definition/lich_tower/5x5/t_junction.json c147647c84bdb4568b1896a34a0a23ade42319e5 data/twilightforest/twilight/template_definition/lich_tower/5x5/webbed_spawner.json c147647c84bdb4568b1896a34a0a23ade42319e5 data/twilightforest/twilight/template_definition/lich_tower/5x5/zombie_trap.json 56f834f554eb7fdcbceafd3570a2137082817dfd data/twilightforest/twilight/template_definition/lich_tower/7x7/altar.json @@ -91,9 +91,9 @@ a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_d a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/shelved_jars.json 97097d18742d35ff877165ab1b457e85a6136a98 data/twilightforest/twilight/template_definition/lich_tower/7x7/slabs_roof.json a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/straight_junction.json -a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/t_junction.json a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/tiered_library.json a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/tiered_study.json +a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/t_junction.json a282ac5b92aeb26cb623edbe4aadd0ad964db908 data/twilightforest/twilight/template_definition/lich_tower/7x7/walled_library.json d463a606c28dfdb7a934751230dd7923f8ec6046 data/twilightforest/twilight/template_definition/lich_tower/9x9/altar.json d463a606c28dfdb7a934751230dd7923f8ec6046 data/twilightforest/twilight/template_definition/lich_tower/9x9/archives.json @@ -104,8 +104,8 @@ d463a606c28dfdb7a934751230dd7923f8ec6046 data/twilightforest/twilight/template_d 14d0419b3776874b8e7be53943e2848743d196e7 data/twilightforest/twilight/template_definition/lich_tower/9x9/beard_staggered.json fb0569f12069b1ef462a4045ac8b15786590eeff data/twilightforest/twilight/template_definition/lich_tower/9x9/beard_trim.json 9690f3c3444cce2d1730e98dfd2b26b306656371 data/twilightforest/twilight/template_definition/lich_tower/9x9/cauldron_keep.json -53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/center_decor.json 622fb32df9a5e1d8dba670ada0eccdbc1f2aefcf data/twilightforest/twilight/template_definition/lich_tower/9x9/centerpiece.json +53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/center_decor.json 008169cf10572385370bcde8378c0d437dc0b218 data/twilightforest/twilight/template_definition/lich_tower/9x9/classic_library.json c8a08e14387b5e7fa5027f0af90d6019f709cff9 data/twilightforest/twilight/template_definition/lich_tower/9x9/curved_roof.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/elbow_junction.json @@ -127,10 +127,10 @@ f150480ac14fb872588775e43c824cf75f7ffe90 data/twilightforest/twilight/template_d c8a08e14387b5e7fa5027f0af90d6019f709cff9 data/twilightforest/twilight/template_definition/lich_tower/9x9/slabs_roof.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/straight_junction.json 4c4947208d19fe90f4acf844e6347bc7a02887b5 data/twilightforest/twilight/template_definition/lich_tower/9x9/study.json -53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/t_junction.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/tiered_library.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/tiered_spawner.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/tiered_study.json +53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/t_junction.json 53f54eabddcbbda6fbd593d94f2208d716a99d54 data/twilightforest/twilight/template_definition/lich_tower/9x9/winding_ways.json 6c60eb0ad12609bda107a304a24bed4e6b2312b0 data/twilightforest/twilight/template_definition/lich_tower/bridge_spawner.json 6c60eb0ad12609bda107a304a24bed4e6b2312b0 data/twilightforest/twilight/template_definition/lich_tower/bridge_spawner_bend.json diff --git a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc index 3a5bf7151f..c955981346 100644 --- a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc +++ b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc @@ -1,4 +1,4 @@ -// 1.21.1 2025-03-27T13:05:00.5163253 Twilight Forest Item Tags +// 1.21.4 2025-03-31T09:20:45.8245223 Twilight Forest Item Tags 3c5895c72cfffe09615ec2b28267a726fcbf52e8 data/alexscaves/tags/item/ferns.json 4c5df8d60b8f068b482a22fd807ddea22e1bfe00 data/alexscaves/tags/item/ferromagnetic_items.json 42afac82c004061587d5b1ae20c2e66c0d399c8c data/alexscaves/tags/item/raw_meats.json diff --git a/src/generated/resources/.cache/b2a952377faaaa835756f3c56b4ae643eb293c77 b/src/generated/resources/.cache/b2a952377faaaa835756f3c56b4ae643eb293c77 new file mode 100644 index 0000000000..28efb4da74 --- /dev/null +++ b/src/generated/resources/.cache/b2a952377faaaa835756f3c56b4ae643eb293c77 @@ -0,0 +1,2 @@ +// 1.21.4 2025-03-31T10:20:14.1366752 Recipe Priorities : twilightforest +f03a6edb2d1cf17f5c53b504808cde6bbad56c6e data/twilightforest/recipe_priorities.json diff --git a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 index d68ce05a93..11e39eff11 100644 --- a/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 +++ b/src/generated/resources/.cache/b5294eda5c650593108e068003e23d389cc35af6 @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-17T23:00:48.2689282 Particle Descriptions +// 1.21.4 2025-03-31T09:20:45.8255219 Particle Descriptions c12182d4cde474d99ce54a632c05e9799d305508 assets/twilightforest/particles/angry_lich.json ce403794cbcc5ec5f72b853a8c0a2f0608fadd0f assets/twilightforest/particles/annihilate.json 21cdc0ed30720178ebd7bd11d6d92e9063330b1c assets/twilightforest/particles/cloud_puff.json diff --git a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 index 7c066e80b8..8c21adcaa1 100644 --- a/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 +++ b/src/generated/resources/.cache/c8cd847b7fd34763d45d37011b05a30c2dfeb774 @@ -1,5 +1,5 @@ -// 1.21.1 2025-03-20T22:59:13.3750118 Twilight Forest Entity Tags -00b66b9a62a509d2c0bcfad259ff965c818a8f12 data/aether/tags/entity_type/deflectable_projectiles.json +// 1.21.4 2025-03-31T09:20:45.7979585 Twilight Forest Entity Tags +d208fff881b5ab7116f15e79ec1b5954653479cd data/aether/tags/entity_type/deflectable_projectiles.json 9e5f68b2faa6d767538d0f4264a7145d32a2bdda data/aether/tags/entity_type/fire_mob.json 3ddb086fa7ad80a4f7018142796566c22407e7e4 data/aether/tags/entity_type/pigs.json 986ee69ca972520c9ae4cf136e28d84e98d0f256 data/alexscaves/tags/entity_type/resists_acid.json @@ -17,7 +17,7 @@ f0201eef926830e5f1c0aaaf18c674c503d22c0b data/minecraft/tags/entity_type/freeze_ 4cc81785a3c2c7f11c11bac6cf2ad3c0d89c9ad5 data/minecraft/tags/entity_type/frog_food.json 6184dccab39df4437d8d887c05024f60bd5e788d data/minecraft/tags/entity_type/immune_to_infested.json 4cc81785a3c2c7f11c11bac6cf2ad3c0d89c9ad5 data/minecraft/tags/entity_type/immune_to_oozing.json -7e37d5f14228bd5903b7d4c85c407f06d291ad53 data/minecraft/tags/entity_type/impact_projectiles.json +dcf1397e690453cbfefff253d9ae85d6eaeb4b03 data/minecraft/tags/entity_type/impact_projectiles.json e1ec2146a12c67e6333cd9738c81291aded74036 data/minecraft/tags/entity_type/powder_snow_walkable_mobs.json 016d3165a6f228f7416cec2923bf9b8bed8979fa data/minecraft/tags/entity_type/redirectable_projectile.json 05818cb02398f00d3d7129f8fa26858a295e069f data/minecraft/tags/entity_type/skeletons.json diff --git a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 index 7ddaf271f0..d8468c4515 100644 --- a/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 +++ b/src/generated/resources/.cache/d54fd8e9cae1e749d9d0842965090e18ed3af4f3 @@ -1,4 +1,4 @@ -// 1.21.1 2024-12-12T23:02:04.5083537 Tags for minecraft:damage_type mod id twilightforest +// 1.21.4 2025-03-31T09:20:45.8110027 Tags for minecraft:damage_type mod id twilightforest e871224cfaf3f71ec4cef5455688114b0d13ee16 data/minecraft/tags/damage_type/always_most_significant_fall.json addc08f14bbae216b52a4e7f153141d2a3ba1788 data/minecraft/tags/damage_type/avoids_guardian_thorns.json 95a58f3ed1b4a2272574f48d6e6901ca31e234c2 data/minecraft/tags/damage_type/bypasses_armor.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 96991acc8c..6ba6819c68 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.1 2025-03-29T09:53:53.676838 Languages: en_us for mod: twilightforest -e7a092fbf135654e351c8672cf1e2e97526a365f assets/twilightforest/lang/en_ud.json -0efa7e32553b0cc83155434584798db6142ebb39 assets/twilightforest/lang/en_us.json +// 1.21.4 2025-03-31T09:20:45.8225208 Languages: en_us for mod: twilightforest +5ea84de13e9c51eb4fcd05996402d9f5418c95d7 assets/twilightforest/lang/en_ud.json +6886bfbeaa487be26c4577198fafe06b367c3c90 assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json @@ -37,8 +37,8 @@ da325be7fd26516ba3124e887bb89e5825d5c650 assets/twilightforest/tips/labyrinth_va 0f9755ab2e0e083481322efd3379bac0a2dfe82f assets/twilightforest/tips/magic_saplings.json df16f3766193b17fe1dad801be7c6eec3a7e05b5 assets/twilightforest/tips/mazebreaker.json 1e4f27cbc2de52f5f02ce20d1a6d76ec12759659 assets/twilightforest/tips/mining_tree.json -8b42d9bbb1babbb2bb589048b3ff2eb5dcf96e8a assets/twilightforest/tips/moon_dial.json 290d92478e01b33bcaa8da66553918f007e698df assets/twilightforest/tips/moonworm_queen.json +8b42d9bbb1babbb2bb589048b3ff2eb5dcf96e8a assets/twilightforest/tips/moon_dial.json 4b98ecb2ca0e86246efe725bbec5a6c92337435d assets/twilightforest/tips/mushglooms.json ff65dcc2db3921976d87f7e387aad31161e924e2 assets/twilightforest/tips/music_disc.json 51d1ceca0c113f3be9d9242bb93e24b923a4f6dc assets/twilightforest/tips/naga.json @@ -47,8 +47,8 @@ b8b1b4889bb1b4124234f0d7434a9644629e7096 assets/twilightforest/tips/ore_magnet.j eda8c00f5ac6ae073958437ab4dc41e78b0b2e78 assets/twilightforest/tips/peacock_feather_fan.json 4f5daf5e1ed3db102f181620c196f54f487127c3 assets/twilightforest/tips/phantom_armor.json 6ac1c21793fc264b4c0b33b898c798fea764777e assets/twilightforest/tips/quest_ram.json -f49ab75316735dcf245463a9c0f80fe337c490bb assets/twilightforest/tips/red_thread.json d6d73bfc5b2463609d6a8571f7a1c2a9a3865f92 assets/twilightforest/tips/redcap.json +f49ab75316735dcf245463a9c0f80fe337c490bb assets/twilightforest/tips/red_thread.json ddd2be0accafe70fee6ebeb3a994dee7a9cce23d assets/twilightforest/tips/skull_candle.json 6a654cd4f1ffd4224bba788121d6fd1625b77e32 assets/twilightforest/tips/sorting_tree.json 6527e440a786b85ba28c54e4302ff96f9c8dbae1 assets/twilightforest/tips/spooky_forest.json diff --git a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f index b4c1a68000..34db725063 100644 --- a/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f +++ b/src/generated/resources/.cache/e0d3d0b8d9c807675613821fa865a35f707cd83f @@ -1,5 +1,5 @@ -// 1.21.1 2024-11-24T22:39:14.0436261 Data Maps -9d605f77607fab46af7ad213ed8d31788a2321c9 data/neoforge/data_maps/entity_type/parrot_imitations.json +// 1.21.4 2025-03-31T09:20:45.8235229 Data Maps +aaf736767d7e0660bb90e3835d0f1de41f25d955 data/neoforge/data_maps/entity_type/parrot_imitations.json afd96f81ddd677bc5552b0685df897a93f4d6445 data/neoforge/data_maps/item/compostables.json 1bda341a4fd3cfbd09ba74b7072ce0931799b473 data/neoforge/data_maps/item/furnace_fuels.json 8a5b0485a5ac296217fe1f69fc34d7126e5ca4c9 data/twilightforest/data_maps/block/crumble_horn.json diff --git a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 index c97618a130..8566dfaccb 100644 --- a/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 +++ b/src/generated/resources/.cache/e5c5eb35b4ba40351ecb7d9f04c3527f2f5779b0 @@ -1,4 +1,4 @@ -// 1.21.1 2025-03-07T17:56:24.2361514 Advancements +// 1.21.4 2025-03-31T09:20:45.8265242 Advancements 9adb1f798b625c7bd139a46ff7ef37c2f6ea16b2 data/twilightforest/advancement/arborist.json 982f2dff978fcb4491a5893b3102e205ee8d1abd data/twilightforest/advancement/arctic_armor_dyed.json ec103b35601a7e401bc11a022418a2510cbc25b7 data/twilightforest/advancement/beanstalk.json @@ -13,7 +13,7 @@ b904bfd629fc42a5c1ba1f6673dd707254e5957c data/twilightforest/advancement/giants. 213c45facf696ffc3e7023a13ab4b688f8fbfea7 data/twilightforest/advancement/hedge.json 2653c0a3d66b234c45680fb12382013eb554dfa8 data/twilightforest/advancement/hill1.json 6db79f1909c8af93480706fe47c575ae579f2838 data/twilightforest/advancement/hill2.json -7e5636cf7bc791b6999b0a0e3ecc8cf714f283d7 data/twilightforest/advancement/hill3.json +28ff614832271438ec09a5286a5d0df4a350f190 data/twilightforest/advancement/hill3.json 00a384e8e4de634ea53a7c66b248d4839b4c4f7d data/twilightforest/advancement/hydra_chop.json fde56bd8a873922a338e45b307a4c1b61678a68c data/twilightforest/advancement/kill_cicada.json 6d74b697f555c15161f08bdb8e0d7d8635b176d2 data/twilightforest/advancement/lich_scepters.json @@ -39,5 +39,5 @@ ea0d3ce5f43514050e63ea060282a5bc7dcf84ee data/twilightforest/advancement/progres f52ac6692d2bda73fa67ffa2b15dd62917d8cb8b data/twilightforest/advancement/root.json eaa36a108b925d52533ff312703a72880304e2f0 data/twilightforest/advancement/troll.json fd75da495af49b155a64e5ad7ed5d0d6a43a10f4 data/twilightforest/advancement/twilight_dinner.json -24491983e3aa794c4823bc003361c26e0ef4923f data/twilightforest/advancement/twilight_hunter.json +fbff3df9e681ad64300f2e8de427588fb37a539a data/twilightforest/advancement/twilight_hunter.json 59a6b01f74104ef0124bdd112e918ca94bded17b data/twilightforest/advancement/uncraft_uncrafting_table.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json new file mode 100644 index 0000000000..f6834f696d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/blue_force_field.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/blue_force_field" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json new file mode 100644 index 0000000000..663c8bf968 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/bold_castle_brick_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/bold_castle_brick_pillar" + }, + "axis=z": { + "model": "twilightforest:block/bold_castle_brick_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json new file mode 100644 index 0000000000..485f87d1ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_tile.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/bold_castle_brick_tile" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json b/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json deleted file mode 100644 index 985d20f9eb..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/maze_slime_block" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json deleted file mode 100644 index 795a43edff..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_black_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json deleted file mode 100644 index c3e4ce1555..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_blue_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json deleted file mode 100644 index 610f127c27..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_brown_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json deleted file mode 100644 index da954e8756..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json deleted file mode 100644 index 4c43b2c69a..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_cyan_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json deleted file mode 100644 index 088f4ad6d2..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "multipart": [ - { - "apply": [ - { - "model": "twilightforest:block/ominous_fire_floor0" - }, - { - "model": "twilightforest:block/ominous_fire_floor1" - } - ] - }, - { - "apply": [ - { - "model": "twilightforest:block/ominous_fire_side0" - }, - { - "model": "twilightforest:block/ominous_fire_side1" - }, - { - "model": "twilightforest:block/ominous_fire_side_alt0" - }, - { - "model": "twilightforest:block/ominous_fire_side_alt1" - } - ] - }, - { - "apply": [ - { - "model": "twilightforest:block/ominous_fire_side0", - "y": 90 - }, - { - "model": "twilightforest:block/ominous_fire_side1", - "y": 90 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt0", - "y": 90 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt1", - "y": 90 - } - ] - }, - { - "apply": [ - { - "model": "twilightforest:block/ominous_fire_side0", - "y": 180 - }, - { - "model": "twilightforest:block/ominous_fire_side1", - "y": 180 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt0", - "y": 180 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt1", - "y": 180 - } - ] - }, - { - "apply": [ - { - "model": "twilightforest:block/ominous_fire_side0", - "y": 270 - }, - { - "model": "twilightforest:block/ominous_fire_side1", - "y": 270 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt0", - "y": 270 - }, - { - "model": "twilightforest:block/ominous_fire_side_alt1", - "y": 270 - } - ] - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json deleted file mode 100644 index 39369c1ad8..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_gray_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json deleted file mode 100644 index b42558bdee..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_green_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json deleted file mode 100644 index 441d7b6735..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_light_blue_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json deleted file mode 100644 index 44584b8a90..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_light_gray_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json deleted file mode 100644 index 3a9744ec16..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_lime_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json deleted file mode 100644 index 66663a9793..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_magenta_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json deleted file mode 100644 index 04dc7ff343..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_orange_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json deleted file mode 100644 index 2e76fc7524..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_pink_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json deleted file mode 100644 index 7b5829033c..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_purple_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json deleted file mode 100644 index 821c106bf0..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_red_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json deleted file mode 100644 index c77d390081..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_white_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json deleted file mode 100644 index fa8688b060..0000000000 --- a/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "twilightforest:block/ominous_yellow_candle" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json new file mode 100644 index 0000000000..1d38149c12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json @@ -0,0 +1,1992 @@ +{ + "parent": "minecraft:block/cube_all", + "ambientocclusion": false, + "elements": [ + { + "condition": { + "direction": "west", + "if": true, + "parents": [] + }, + "faces": { + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "west", + "if": false, + "parents": [] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": true, + "parents": [] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": false, + "parents": [] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": true, + "parents": [] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": false, + "parents": [] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": true, + "parents": [] + }, + "faces": { + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": false, + "parents": [] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north", + "if": true, + "parents": [] + }, + "faces": { + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north", + "if": false, + "parents": [] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south", + "if": true, + "parents": [] + }, + "faces": { + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south", + "if": false, + "parents": [] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": true, + "parents": [ + "down", + "west" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 0, + 0, + 7 + ], + "shade": false, + "to": [ + 7, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": true, + "parents": [ + "down", + "east" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 9, + 0, + 7 + ], + "shade": false, + "to": [ + 16, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": true, + "parents": [ + "down", + "north" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 0 + ], + "shade": false, + "to": [ + 9, + 7, + 7 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "down_south", + "if": true, + "parents": [ + "down", + "south" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 9 + ], + "shade": false, + "to": [ + 9, + 7, + 16 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "up_west", + "if": true, + "parents": [ + "up", + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 0, + 9, + 7 + ], + "shade": false, + "to": [ + 7, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": true, + "parents": [ + "up", + "east" + ] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 9, + 7 + ], + "shade": false, + "to": [ + 16, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": true, + "parents": [ + "up", + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 0 + ], + "shade": false, + "to": [ + 9, + 16, + 7 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "up_south", + "if": true, + "parents": [ + "up", + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 9 + ], + "shade": false, + "to": [ + 9, + 16, + 16 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "north_west", + "if": true, + "parents": [ + "north", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 0 + ], + "shade": false, + "to": [ + 7, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north_east", + "if": true, + "parents": [ + "north", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 0 + ], + "shade": false, + "to": [ + 16, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_west", + "if": true, + "parents": [ + "south", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 9 + ], + "shade": false, + "to": [ + 7, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_east", + "if": true, + "parents": [ + "south", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 9 + ], + "shade": false, + "to": [ + 16, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + } + ], + "loader": "twilightforest:force_field", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/blue_force_field", + "particle": "twilightforest:block/blue_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json new file mode 100644 index 0000000000..bb1c8c6c48 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/bold_castle_brick_pillar_top", + "side": "twilightforest:block/bold_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json new file mode 100644 index 0000000000..b588f04e08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/bold_castle_brick_pillar_top", + "side": "twilightforest:block/bold_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json new file mode 100644 index 0000000000..6ff9a45057 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_tile.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json b/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json deleted file mode 100644 index 95cf5127e8..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slime_block", - "render_type": "minecraft:translucent", - "textures": { - "particle": "twilightforest:block/maze_slime_block", - "texture": "twilightforest:block/maze_slime_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json deleted file mode 100644 index d0d422522e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_floor", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json deleted file mode 100644 index 66eec3b47b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_floor", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json deleted file mode 100644 index 37df4c029f..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_side", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json deleted file mode 100644 index 62623aad47..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_side", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json deleted file mode 100644 index a0eba6c9c4..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_side_alt", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_0" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json deleted file mode 100644 index a75248c476..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_fire_side_alt", - "render_type": "minecraft:cutout", - "textures": { - "fire": "twilightforest:block/ominous_fire_1" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json deleted file mode 100644 index 20e1f50508..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "minecraft:block/candle_lit" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_slime_block.json b/src/generated/resources/assets/twilightforest/models/item/maze_slime_block.json deleted file mode 100644 index 748736a55c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/item/maze_slime_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "twilightforest:block/maze_slime_block" -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/chiseled_canopy_bookshelf.json b/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/chiseled_canopy_bookshelf.json new file mode 100644 index 0000000000..e4dd376309 --- /dev/null +++ b/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/chiseled_canopy_bookshelf.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "twilightforest:canopy_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "twilightforest:chiseled_canopy_bookshelf" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "twilightforest:chiseled_canopy_bookshelf" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/candelabra.json b/src/generated/resources/data/twilightforest/recipe/candelabra.json index 7e4ed3f581..b50755945e 100644 --- a/src/generated/resources/data/twilightforest/recipe/candelabra.json +++ b/src/generated/resources/data/twilightforest/recipe/candelabra.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "tag": "c:ingots/wrought_iron" - } + "#": "#c:ingots/wrought_iron" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe/canopy_window.json b/src/generated/resources/data/twilightforest/recipe/canopy_window.json index 80b43b7564..716b6e974b 100644 --- a/src/generated/resources/data/twilightforest/recipe/canopy_window.json +++ b/src/generated/resources/data/twilightforest/recipe/canopy_window.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "G": { - "tag": "c:glass_blocks" - }, - "P": { - "item": "twilightforest:canopy_planks" - } + "G": "#c:glass_blocks", + "P": "twilightforest:canopy_planks" }, "pattern": [ "GPG", diff --git a/src/generated/resources/data/twilightforest/recipe/canopy_window_pane.json b/src/generated/resources/data/twilightforest/recipe/canopy_window_pane.json index 928b2ccd9b..975a4b28b2 100644 --- a/src/generated/resources/data/twilightforest/recipe/canopy_window_pane.json +++ b/src/generated/resources/data/twilightforest/recipe/canopy_window_pane.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "G": { - "item": "twilightforest:canopy_window" - } + "G": "twilightforest:canopy_window" }, "pattern": [ "GGG", diff --git a/src/generated/resources/data/twilightforest/recipe/chiseled_canopy_bookshelf.json b/src/generated/resources/data/twilightforest/recipe/chiseled_canopy_bookshelf.json new file mode 100644 index 0000000000..4bfea96f3f --- /dev/null +++ b/src/generated/resources/data/twilightforest/recipe/chiseled_canopy_bookshelf.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "-": "twilightforest:canopy_planks", + "s": "twilightforest:canopy_slab" + }, + "pattern": [ + "---", + "sss", + "---" + ], + "result": { + "count": 1, + "id": "twilightforest:chiseled_canopy_bookshelf" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/mystic_crown.json b/src/generated/resources/data/twilightforest/recipe/mystic_crown.json index f5acad5fca..9cdd5cc0cf 100644 --- a/src/generated/resources/data/twilightforest/recipe/mystic_crown.json +++ b/src/generated/resources/data/twilightforest/recipe/mystic_crown.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "equipment", "key": { - "t": { - "item": "twilightforest:crown_splinter" - } + "t": "twilightforest:crown_splinter" }, "pattern": [ "ttt", diff --git a/src/generated/resources/data/twilightforest/recipe/relinquish_keepsakes.json b/src/generated/resources/data/twilightforest/recipe/relinquish_keepsakes.json index 7c841ac830..c65578a542 100644 --- a/src/generated/resources/data/twilightforest/recipe/relinquish_keepsakes.json +++ b/src/generated/resources/data/twilightforest/recipe/relinquish_keepsakes.json @@ -1,13 +1,9 @@ { "type": "twilightforest:uncrafting", "cost": 0, - "input": { - "item": "twilightforest:keepsake_casket" - }, + "input": "twilightforest:keepsake_casket", "key": { - "C": { - "item": "twilightforest:skull_chest" - } + "C": "twilightforest:skull_chest" }, "pattern": [ "C" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json index 28f39f5ae9..54de3b0e0c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_arcs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:terrorcotta_arcs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json index c275b62238..d691ca092c 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_curves.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:terrorcotta_curves" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json index 2a1d2f6b9a..f3e7e7a1f2 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/stone/terrorcotta_lines.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "minecraft:stone" - }, + "ingredient": "minecraft:stone", "result": { "count": 1, "id": "twilightforest:terrorcotta_lines" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json index 3898be9929..9908ab67ab 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_curves.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_arcs" - }, + "ingredient": "twilightforest:terrorcotta_arcs", "result": { "count": 1, "id": "twilightforest:terrorcotta_curves" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json index 040b185717..164de46346 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_arcs/terrorcotta_lines.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_arcs" - }, + "ingredient": "twilightforest:terrorcotta_arcs", "result": { "count": 1, "id": "twilightforest:terrorcotta_lines" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json index a3a4ede90a..77424e3beb 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_arcs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_curves" - }, + "ingredient": "twilightforest:terrorcotta_curves", "result": { "count": 1, "id": "twilightforest:terrorcotta_arcs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json index b7942cb1bd..e00db7320e 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_curves/terrorcotta_lines.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_curves" - }, + "ingredient": "twilightforest:terrorcotta_curves", "result": { "count": 1, "id": "twilightforest:terrorcotta_lines" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json index ec4ddebcb0..1369a898ea 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_arcs.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_lines" - }, + "ingredient": "twilightforest:terrorcotta_lines", "result": { "count": 1, "id": "twilightforest:terrorcotta_arcs" diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json index b1814915dd..3420238d56 100644 --- a/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/terrorcotta_lines/terrorcotta_curves.json @@ -1,8 +1,6 @@ { "type": "minecraft:stonecutting", - "ingredient": { - "item": "twilightforest:terrorcotta_lines" - }, + "ingredient": "twilightforest:terrorcotta_lines", "result": { "count": 1, "id": "twilightforest:terrorcotta_curves" diff --git a/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json b/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json deleted file mode 100644 index b3ec568479..0000000000 --- a/src/generated/resources/data/twilightforest/recipe/tf_moss_to_vanilla.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "m": "twilightforest:moss_patch", - "t": "twilightforest:transformation_powder" - }, - "pattern": [ - "mmm", - "mtm", - "mmm" - ], - "result": { - "count": 1, - "id": "minecraft:moss_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json b/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json deleted file mode 100644 index 2cbcfd508b..0000000000 --- a/src/generated/resources/data/twilightforest/recipe/tf_to_vanilla_lilypad.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - "twilightforest:huge_lily_pad", - "twilightforest:transformation_powder" - ], - "result": { - "count": 4, - "id": "minecraft:lily_pad" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json index 708c15d6eb..4db5b7965d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:canopy_planks", - "C": "minecraft:chest" + "#": "twilightforest:canopy_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:canopy_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json index 7e47795ef3..f20b50b044 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/canopy_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:canopy_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:canopy_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:canopy_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json index e6b2449ec1..8534d5e756 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:dark_planks", - "C": "minecraft:chest" + "#": "twilightforest:dark_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:dark_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json index 8aea7639c1..923d6e23ba 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/dark_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:dark_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:dark_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:dark_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json index 39f332933f..640ad11db7 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:mangrove_planks", - "C": "minecraft:chest" + "#": "twilightforest:mangrove_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:mangrove_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json index 7a38c22175..d3b7702096 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mangrove_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:mangrove_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:mangrove_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:mangrove_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json index 5b8bd9bea3..26e170695f 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:mining_planks", - "C": "minecraft:chest" + "#": "twilightforest:mining_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:mining_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json index a1a48dacc7..c62dd2fd83 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/mining_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:mining_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:mining_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:mining_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json index bdeb36b34f..74818c6591 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:sorting_planks", - "C": "minecraft:chest" + "#": "twilightforest:sorting_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:sorting_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json index 7d704078c1..0027b11dd1 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/sorting_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:sorting_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:sorting_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:sorting_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json index b457286616..355f2993a5 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:time_planks", - "C": "minecraft:chest" + "#": "twilightforest:time_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:time_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json index 6d61f0b7b1..631f52e686 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/time_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:time_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:time_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:time_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json index 4737ed3cee..366e8f945d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:transformation_planks", - "C": "minecraft:chest" + "#": "twilightforest:transformation_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:transformation_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json index a218f51228..cb0d913eb6 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/transformation_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:transformation_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:transformation_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:transformation_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json index 0f07a2f797..8516a0d58b 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_chest.json @@ -3,16 +3,15 @@ "category": "misc", "group": "chest", "key": { - "#": "twilightforest:twilight_oak_planks", - "C": "minecraft:chest" + "#": "twilightforest:twilight_oak_planks" }, "pattern": [ "###", - "#C#", + "# #", "###" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:twilight_oak_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json index 51d26817a8..0428a4472d 100644 --- a/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json +++ b/src/generated/resources/data/twilightforest/recipe/wood/twilight_oak_trapped_chest.json @@ -1,18 +1,13 @@ { - "type": "minecraft:crafting_shaped", + "type": "minecraft:crafting_shapeless", "category": "redstone", "group": "trapped_chest", - "key": { - "#": "twilightforest:twilight_oak_planks", - "C": "minecraft:trapped_chest" - }, - "pattern": [ - "###", - "#C#", - "###" + "ingredients": [ + "twilightforest:twilight_oak_chest", + "minecraft:tripwire_hook" ], "result": { - "count": 2, + "count": 1, "id": "twilightforest:twilight_oak_trapped_chest" } } \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wrought_iron_fence.json b/src/generated/resources/data/twilightforest/recipe/wrought_iron_fence.json index 7c29aaa6f4..9bcc8bcc11 100644 --- a/src/generated/resources/data/twilightforest/recipe/wrought_iron_fence.json +++ b/src/generated/resources/data/twilightforest/recipe/wrought_iron_fence.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "tag": "c:ingots/wrought_iron" - } + "#": "#c:ingots/wrought_iron" }, "pattern": [ "###", diff --git a/src/generated/resources/data/twilightforest/recipe_priorities.json b/src/generated/resources/data/twilightforest/recipe_priorities.json new file mode 100644 index 0000000000..c1cb6c2a52 --- /dev/null +++ b/src/generated/resources/data/twilightforest/recipe_priorities.json @@ -0,0 +1,21 @@ +{ + "entries": { + "twilightforest:chiseled_canopy_bookshelf": 1, + "twilightforest:wood/canopy_chest": 1, + "twilightforest:wood/canopy_trapped_chest": 1, + "twilightforest:wood/dark_chest": 1, + "twilightforest:wood/dark_trapped_chest": 1, + "twilightforest:wood/mangrove_chest": 1, + "twilightforest:wood/mangrove_trapped_chest": 1, + "twilightforest:wood/mining_chest": 1, + "twilightforest:wood/mining_trapped_chest": 1, + "twilightforest:wood/sorting_chest": 1, + "twilightforest:wood/sorting_trapped_chest": 1, + "twilightforest:wood/time_chest": 1, + "twilightforest:wood/time_trapped_chest": 1, + "twilightforest:wood/transformation_chest": 1, + "twilightforest:wood/transformation_trapped_chest": 1, + "twilightforest:wood/twilight_oak_chest": 1, + "twilightforest:wood/twilight_oak_trapped_chest": 1 + } +} \ No newline at end of file diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta deleted file mode 100644 index d37504b921..0000000000 --- a/src/generated/resources/pack.mcmeta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pack": { - "description": "Resources for Twilight Forest", - "pack_format": 61, - "supported_formats": [ - 0, - 2147483647 - ] - } -} \ No newline at end of file diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index 74a39c328d..a1f5b3a31b 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -31,7 +31,7 @@ import net.neoforged.neoforge.client.gui.ConfigurationScreen; import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.AddReloadListenerEvent; +import net.neoforged.neoforge.event.AddServerReloadListenersEvent; import net.neoforged.neoforge.event.BlockEntityTypeAddBlocksEvent; import net.neoforged.neoforge.event.RegisterCommandsEvent; import net.neoforged.neoforge.items.IItemHandler; @@ -99,9 +99,6 @@ public final class TwilightForestMod { public static final Logger LOGGER = LogManager.getLogger(ID); - @Nullable - private static QuestReloadListener QUEST_INSTANCE; - static { BeanContext.init(); } @@ -122,8 +119,8 @@ public TwilightForestMod(IEventBus bus, Dist dist) { ClientEvents.initGameEvents(); } NeoForge.EVENT_BUS.addListener(this::registerCommands); - NeoForge.EVENT_BUS.addListener(StalactiteReloadListener.INSTANCE::registerListener); - NeoForge.EVENT_BUS.addListener(StructureTemplateDefinitions.INSTANCE::registerListener); + NeoForge.EVENT_BUS.addListener(AddServerReloadListenersEvent.class, event -> StalactiteReloadListener.INSTANCE.registerListener(prefix("stalactites"), event)); + NeoForge.EVENT_BUS.addListener(AddServerReloadListenersEvent.class, event -> StructureTemplateDefinitions.INSTANCE.registerListener(prefix("structure_templates"), event)); TFItems.ITEMS.register(bus); TFStats.STATS.register(bus); @@ -615,14 +612,7 @@ public static ResourceLocation getEnvTexture(String name) { return ResourceLocation.fromNamespaceAndPath(ID, ENVIRO_DIR + name); } - private void reloadQuests(AddReloadListenerEvent event) { - QUEST_INSTANCE = new QuestReloadListener(); - event.addListener(QUEST_INSTANCE); - } - - public static QuestReloadListener getQuests() { - if (QUEST_INSTANCE == null) - throw new IllegalStateException("Can't retrieve QuestReloadListener until resources have loaded once"); - return QUEST_INSTANCE; + private void reloadQuests(AddServerReloadListenersEvent event) { + event.addListener(TwilightForestMod.prefix("quests"), new QuestReloadListener()); } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index e9ff423f59..fd1b8a8081 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -46,6 +46,7 @@ import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import net.neoforged.neoforge.client.gui.map.RegisterMapDecorationRenderersEvent; import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; +import net.neoforged.neoforge.client.resources.VanillaClientListeners; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.client.*; @@ -311,12 +312,14 @@ private static void clientSetup(FMLClientSetupEvent evt) { }); } - private static void registerClientReloadListeners(RegisterClientReloadListenersEvent event) { - ((ReloadableResourceManager)Minecraft.getInstance().getResourceManager()).listeners.addFirst(JappaPackReloadListener.INSTANCE); + private static void registerClientReloadListeners(AddClientReloadListenersEvent event) { + event.addListener(TwilightForestMod.prefix("jappa_pack"), JappaPackReloadListener.INSTANCE); + event.addDependency(VanillaClientListeners.FIRST, TwilightForestMod.prefix("jappa_pack")); + MagicPaintingTextureManager.instance = new MagicPaintingTextureManager(Minecraft.getInstance().getTextureManager()); - event.registerReloadListener(MagicPaintingTextureManager.instance); - event.registerReloadListener(TextureGeneratorReloadListener.INSTANCE); - event.registerReloadListener(new TFSimpleArmorRenderer.ResourceReloadListener()); + event.addListener(TwilightForestMod.prefix("magic_paintings"), MagicPaintingTextureManager.instance); + event.addListener(TwilightForestMod.prefix("texture_generators"), TextureGeneratorReloadListener.INSTANCE); + event.addListener(TwilightForestMod.prefix("armor_models"), new TFSimpleArmorRenderer.ResourceReloadListener()); } private static void registerScreens(RegisterMenuScreensEvent event) { diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java index 11e569d4cc..fde3ba3edf 100644 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ b/src/main/java/twilightforest/data/DataGenerators.java @@ -20,6 +20,7 @@ import twilightforest.data.models.BlockModelGenerator; import twilightforest.data.models.ModelGenerator; import twilightforest.data.recipes.CraftingGeneratorRunner; +import twilightforest.data.recipes.RecipePriorityGenerator; import twilightforest.data.tags.*; import java.util.Optional; @@ -65,6 +66,7 @@ public static void gatherData(GatherDataEvent.Client event) { generator.addProvider(true, new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter())); generator.addProvider(true, new EntityTagGenerator(output, lookupProvider)); generator.addProvider(true, new CraftingGeneratorRunner(output, lookupProvider)); + generator.addProvider(true, new RecipePriorityGenerator(output, lookupProvider)); generator.addProvider(true, new LootModifierGenerator(output, lookupProvider)); generator.addProvider(true, new StructureTemplateDefinitionGenerator(output, lookupProvider)); @@ -75,11 +77,5 @@ public static void gatherData(GatherDataEvent.Client event) { generator.addProvider(true, new LangGenerator(output)); generator.addProvider(true, new QuestGenerator(output)); - - //pack.mcmeta - generator.addProvider(true, new PackMetadataGenerator(output).add(PackMetadataSection.TYPE, new PackMetadataSection( - Component.literal("Resources for Twilight Forest"), - DetectedVersion.BUILT_IN.getPackVersion(PackType.SERVER_DATA), - Optional.of(new InclusiveRange<>(0, Integer.MAX_VALUE))))); } } diff --git a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java index 60b5a2ada6..2197c1a4c7 100644 --- a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java +++ b/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java @@ -19,17 +19,17 @@ public class ScepterRecipeBuilder { private final HolderGetter getter; - private final Item scepter; + private final ItemLike scepter; private final int durability; private final List repairItems = new ArrayList<>(); - private ScepterRecipeBuilder(HolderGetter getter, Item scepter, int durability) { + private ScepterRecipeBuilder(HolderGetter getter, ItemLike scepter, int durability) { this.getter = getter; this.scepter = scepter; this.durability = durability; } - public static ScepterRecipeBuilder repairFor(HolderGetter getter, Item scepter, int durability) { + public static ScepterRecipeBuilder repairFor(HolderGetter getter, ItemLike scepter, int durability) { return new ScepterRecipeBuilder(getter, scepter, durability); } @@ -49,7 +49,7 @@ public ScepterRecipeBuilder addRepairIngredient(ItemLike item) { } public void save(RecipeOutput output, ResourceKey> id) { - ScepterRepairRecipe recipe = new ScepterRepairRecipe(this.scepter, this.repairItems, this.durability, CraftingBookCategory.MISC); + ScepterRepairRecipe recipe = new ScepterRepairRecipe(this.scepter.asItem(), this.repairItems, this.durability, CraftingBookCategory.MISC); output.accept(id, recipe, null); } } diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java b/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java index 6c0c48a950..b08281aa26 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java +++ b/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java @@ -6,8 +6,6 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.event.AddReloadListenerEvent; -import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Objects; diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java index b7e31fd647..1949324027 100644 --- a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java +++ b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java @@ -4,11 +4,14 @@ import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; +import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; +import twilightforest.client.model.block.forcefield.ForceFieldModel; +import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; import twilightforest.data.models.TFBlockModelTemplates; import twilightforest.data.models.TFTextureMapping; import twilightforest.init.TFBlocks; @@ -57,140 +60,139 @@ public void blockWithRenderType(Block block, String type, ModelTemplate template this.blockStateOutput.accept(createSimpleBlock(block, template.extend().renderType(type).build().create(block, mapping.apply(block), this.modelOutput))); } - //TODO this makes my compiler overflow, figure out a fix later public void forcefield(Block block) { -// this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { -// //WEST -// builder.forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).shade(false).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //EAST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).shade(false).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //DOWN -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).shade(false).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //UP -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).shade(false).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //NORTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).shade(false).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //SOUTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).shade(false).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() -// .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //DOWN WEST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9).shade(false) -// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(0, 7, 7, 9).end() -// .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 0, 9, 7).end() -// .face(Direction.NORTH).uvs(0, 0, 7, 7).end() -// .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //DOWN EAST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9).shade(false) -// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(9, 7, 16, 9).end() -// .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 0, 9, 7).end() -// .face(Direction.NORTH).uvs(9, 0, 16, 7).end() -// .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //DOWN NORTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH).shade(false) -// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 0, 9, 7).end() -// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 0, 9, 7).end() -// .face(Direction.WEST).uvs(0, 0, 7, 7).end() -// .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() -// -// //DOWN SOUTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH).shade(false) -// .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 9, 9, 16).end() -// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 0, 9, 7).end() -// .face(Direction.WEST).uvs(9, 0, 16, 7).end() -// .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() -// -// //UP WEST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST).shade(false) -// .face(Direction.UP).cullface(Direction.UP).uvs(0, 7, 7, 9).end() -// .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 9, 9, 16).end() -// .face(Direction.NORTH).uvs(0, 9, 7, 16).end() -// .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //UP EAST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST).shade(false) -// .face(Direction.UP).cullface(Direction.UP).uvs(9, 7, 16, 9).end() -// .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 9, 9, 16).end() -// .face(Direction.NORTH).uvs(9, 9, 16, 16).end() -// .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //UP NORTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH).shade(false) -// .face(Direction.UP).cullface(Direction.UP).uvs(7, 0, 9, 7).end() -// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 9, 9, 16).end() -// .face(Direction.WEST).uvs(0, 9, 7, 16).end() -// .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() -// -// //UP SOUTH -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH).shade(false) -// .face(Direction.UP).cullface(Direction.UP).uvs(7, 9, 9, 16).end() -// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 9, 9, 16).end() -// .face(Direction.WEST).uvs(9, 9, 16, 16).end() -// .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() -// -// //NORTH WEST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST).shade(false) -// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(0, 7, 7, 9).end() -// .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() -// .face(Direction.DOWN).uvs(0, 9, 7, 16).end() -// .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //NORTH EAST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST).shade(false) -// .face(Direction.NORTH).cullface(Direction.NORTH).uvs(9, 7, 16, 9).end() -// .face(Direction.EAST).cullface(Direction.EAST).uvs(0, 7, 7, 9).end() -// .face(Direction.DOWN).uvs(9, 9, 16, 16).end() -// .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //SOUTH WEST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST).shade(false) -// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() -// .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() -// .face(Direction.DOWN).uvs(0, 9, 7, 16).end() -// .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() -// -// //SOUTH EAST -// .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST).shade(false) -// .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() -// .face(Direction.EAST).cullface(Direction.EAST).uvs(9, 7, 16, 9).end() -// .face(Direction.DOWN).uvs(9, 9, 16, 16).end() -// .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) -// .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() -// .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end(); -// }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); + this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { + //WEST + builder.forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).shade(false).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //EAST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).shade(false).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //DOWN + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).shade(false).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //UP + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).shade(false).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //NORTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).shade(false).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //SOUTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).shade(false).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + + //DOWN WEST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9).shade(false) + .face(Direction.DOWN).cullface(Direction.DOWN).uvs(0, 7, 7, 9).end() + .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 0, 9, 7).end() + .face(Direction.NORTH).uvs(0, 0, 7, 7).end() + .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + + //DOWN EAST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9).shade(false) + .face(Direction.DOWN).cullface(Direction.DOWN).uvs(9, 7, 16, 9).end() + .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 0, 9, 7).end() + .face(Direction.NORTH).uvs(9, 0, 16, 7).end() + .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + + //DOWN NORTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH).shade(false) + .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 0, 9, 7).end() + .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 0, 9, 7).end() + .face(Direction.WEST).uvs(0, 0, 7, 7).end() + .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() + + //DOWN SOUTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH).shade(false) + .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 9, 9, 16).end() + .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 0, 9, 7).end() + .face(Direction.WEST).uvs(9, 0, 16, 7).end() + .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() + + //UP WEST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST).shade(false) + .face(Direction.UP).cullface(Direction.UP).uvs(0, 7, 7, 9).end() + .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 9, 9, 16).end() + .face(Direction.NORTH).uvs(0, 9, 7, 16).end() + .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + + //UP EAST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST).shade(false) + .face(Direction.UP).cullface(Direction.UP).uvs(9, 7, 16, 9).end() + .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 9, 9, 16).end() + .face(Direction.NORTH).uvs(9, 9, 16, 16).end() + .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + + //UP NORTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH).shade(false) + .face(Direction.UP).cullface(Direction.UP).uvs(7, 0, 9, 7).end() + .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 9, 9, 16).end() + .face(Direction.WEST).uvs(0, 9, 7, 16).end() + .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() + + //UP SOUTH + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH).shade(false) + .face(Direction.UP).cullface(Direction.UP).uvs(7, 9, 9, 16).end() + .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 9, 9, 16).end() + .face(Direction.WEST).uvs(9, 9, 16, 16).end() + .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() + + //NORTH WEST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST).shade(false) + .face(Direction.NORTH).cullface(Direction.NORTH).uvs(0, 7, 7, 9).end() + .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() + .face(Direction.DOWN).uvs(0, 9, 7, 16).end() + .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + + //NORTH EAST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST).shade(false) + .face(Direction.NORTH).cullface(Direction.NORTH).uvs(9, 7, 16, 9).end() + .face(Direction.EAST).cullface(Direction.EAST).uvs(0, 7, 7, 9).end() + .face(Direction.DOWN).uvs(9, 9, 16, 16).end() + .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + + //SOUTH WEST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST).shade(false) + .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() + .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() + .face(Direction.DOWN).uvs(0, 9, 7, 16).end() + .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + + //SOUTH EAST + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST).shade(false) + .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() + .face(Direction.EAST).cullface(Direction.EAST).uvs(9, 7, 16, 9).end() + .face(Direction.DOWN).uvs(9, 9, 16, 16).end() + .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end(); + }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); } } diff --git a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java b/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java index e2f9ca2489..303fc76c65 100644 --- a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java +++ b/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java @@ -23,7 +23,9 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.ChestBlock; import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredItem; import twilightforest.TwilightForestMod; import twilightforest.block.TFTrappedChestBlock; import twilightforest.data.tags.ItemTagGenerator; @@ -34,55 +36,55 @@ public CraftingDataHelper(RecipeOutput output, HolderLookup.Provider provider) { super(provider, output); } - protected final void charmRecipe(HolderGetter getter, String name, DeferredHolder result, DeferredHolder item) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, result.get()) - .requires(item.get(), 4) - .unlockedBy("has_item", has(item.get())) + protected final void charmRecipe(HolderGetter getter, String name, DeferredItem result, DeferredItem item) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, result) + .requires(item, 4) + .unlockedBy("has_item", has(item)) .save(this.output, this.createKey(name)); } - protected final void castleBlock(HolderGetter getter, DeferredHolder result, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 4) + protected final void castleBlock(HolderGetter getter, DeferredBlock result, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 4) .pattern("##") .pattern("##") .define('#', Ingredient.of(ingredients)) - .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) - .save(this.output, locCastle(BuiltInRegistries.BLOCK.getKey(result.get()).getPath())); + .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK)) + .save(this.output, locCastle(result.getId().getPath())); } - protected final void woodenStairsBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void woodenStairsBlock(HolderGetter getter, ResourceKey> loc, DeferredBlock result, DeferredBlock criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 8) .pattern("# ") .pattern("## ") .pattern("###") .define('#', Ingredient.of(ingredients)) - .unlockedBy("has_item", has(criteria.get())) + .unlockedBy("has_item", has(criteria)) .group("wooden_stairs") .save(this.output, loc); } - protected final void stairsBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void stairsBlock(HolderGetter getter, ResourceKey> loc, DeferredBlock result, DeferredBlock criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 8) .pattern("# ") .pattern("## ") .pattern("###") .define('#', Ingredient.of(ingredients)) - .unlockedBy("has_item", has(criteria.get())) + .unlockedBy("has_item", has(criteria)) .save(this.output, loc); } - protected final void stairsRightBlock(HolderGetter getter, ResourceKey> loc, DeferredHolder result, DeferredHolder criteria, ItemLike... ingredients) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 8) + protected final void stairsRightBlock(HolderGetter getter, ResourceKey> loc, DeferredBlock result, DeferredBlock criteria, ItemLike... ingredients) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 8) .pattern("###") .pattern(" ##") .pattern(" #") .define('#', Ingredient.of(ingredients)) - .unlockedBy("has_item", has(criteria.get())) + .unlockedBy("has_item", has(criteria)) .save(this.output, loc); } - protected final void compressedBlock(HolderGetter getter, String name, DeferredHolder result, TagKey ingredient) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get()) + protected final void compressedBlock(HolderGetter getter, String name, DeferredBlock result, TagKey ingredient) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result) .pattern("###") .pattern("###") .pattern("###") @@ -91,18 +93,18 @@ protected final void compressedBlock(HolderGetter getter, String name, Def .save(this.output, this.createKey("compressed_blocks/" + name)); } - protected final void reverseCompressBlock(HolderGetter getter, String name, DeferredHolder result, TagKey ingredient) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result.get(), 9) + protected final void reverseCompressBlock(HolderGetter getter, String name, DeferredItem result, TagKey ingredient) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result, 9) .requires(ingredient) .unlockedBy("has_item", has(ingredient)) .save(this.output, this.createKey("compressed_blocks/reversed/" + name)); } - protected final void helmetItem(HolderGetter getter, DeferredHolder result, TagKey material) { + protected final void helmetItem(HolderGetter getter, DeferredItem result, TagKey material) { this.helmetItem(getter, result, material, DataComponentPatch.builder()); } - protected final void helmetItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + protected final void helmetItem(HolderGetter getter, DeferredItem result, TagKey material, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("###") .pattern("# #") @@ -111,11 +113,11 @@ protected final void helmetItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material) { + protected final void chestplateItem(HolderGetter getter, DeferredItem result, TagKey material) { this.chestplateItem(getter, result, material, DataComponentPatch.builder()); } - protected final void chestplateItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + protected final void chestplateItem(HolderGetter getter, DeferredItem result, TagKey material, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("# #") .pattern("###") @@ -125,11 +127,11 @@ protected final void chestplateItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material) { + protected final void leggingsItem(HolderGetter getter, DeferredItem result, TagKey material) { this.leggingsItem(getter, result, material, DataComponentPatch.builder()); } - protected final void leggingsItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + protected final void leggingsItem(HolderGetter getter, DeferredItem result, TagKey material, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("###") .pattern("# #") @@ -139,11 +141,11 @@ protected final void leggingsItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material) { + protected final void bootsItem(HolderGetter getter, DeferredItem result, TagKey material) { this.bootsItem(getter, result, material, DataComponentPatch.builder()); } - protected final void bootsItem(HolderGetter getter, DeferredHolder result, TagKey material, DataComponentPatch.Builder component) { + protected final void bootsItem(HolderGetter getter, DeferredItem result, TagKey material, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("# #") .pattern("# #") @@ -152,11 +154,11 @@ protected final void bootsItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material, TagKey handle) { + protected final void pickaxeItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle) { this.pickaxeItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void pickaxeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + protected final void pickaxeItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("###") .pattern(" X ") @@ -167,11 +169,11 @@ protected final void pickaxeItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material, TagKey handle) { + protected final void swordItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle) { this.swordItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void swordItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + protected final void swordItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, new ItemStack(result, 1, component.build())) .pattern("#") .pattern("#") @@ -182,11 +184,11 @@ protected final void swordItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material, TagKey handle) { + protected final void axeItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle) { this.axeItem(getter, result, material, handle, DataComponentPatch.builder()); } - protected final void axeItem(HolderGetter getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + protected final void axeItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("##") .pattern("#X") @@ -197,7 +199,7 @@ protected final void axeItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + protected final void shovelItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("#") .pattern("X") @@ -208,7 +210,7 @@ protected final void shovelItem(HolderGetter getter, DeferredHolder getter, DeferredHolder result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { + protected final void hoeItem(HolderGetter getter, DeferredItem result, TagKey material, TagKey handle, DataComponentPatch.Builder component) { ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, new ItemStack(result, 1, component.build())) .pattern("##") .pattern(" X") @@ -229,148 +231,148 @@ protected final DataComponentPatch.Builder buildEnchants(HolderLookup.Provider p return DataComponentPatch.builder().set(DataComponents.ENCHANTMENTS, itemEnchants.toImmutable()); } - protected final void buttonBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.REDSTONE, result.get()) - .requires(material.get()) - .unlockedBy("has_item", has(material.get())) + protected final void buttonBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.REDSTONE, result) + .requires(material) + .unlockedBy("has_item", has(material)) .group("wooden_button") .save(this.output, locWood(name + "_button")); } - protected final void doorBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get(), 3) + protected final void doorBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result, 3) .pattern("##") .pattern("##") .pattern("##") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("wooden_door") .save(this.output, locWood(name + "_door")); } - protected final void fenceBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) + protected final void fenceBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result, 3) .pattern("#S#") .pattern("#S#") - .define('#', material.get()) + .define('#', material) .define('S', Tags.Items.RODS_WOODEN) - .unlockedBy("has_item", has(material.get())) + .unlockedBy("has_item", has(material)) .group("wooden_fence") .save(this.output, locWood(name + "_fence")); } - protected final void gateBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get()) + protected final void gateBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result) .pattern("S#S") .pattern("S#S") - .define('#', material.get()) + .define('#', material) .define('S', Tags.Items.RODS_WOODEN) - .unlockedBy("has_item", has(material.get())) + .unlockedBy("has_item", has(material)) .group("wooden_fence_gate") .save(this.output, locWood(name + "_gate")); } - protected final void planksBlock(HolderGetter getter, String name, DeferredHolder result, TagKey material) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 4) + protected final void planksBlock(HolderGetter getter, String name, DeferredBlock result, TagKey material) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, result, 4) .requires(material) .unlockedBy("has_item", has(material)) .group("planks") .save(this.output, locWood(name + "_planks")); } - protected final void plateBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get()) + protected final void plateBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result) .pattern("##") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("wooden_pressure_plate") .save(this.output, locWood(name + "_plate")); } - protected final void woodenSlabBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 6) + protected final void woodenSlabBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 6) .pattern("###") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("wooden_slab") .save(this.output, locWood(name + "_slab")); } - protected final void slabBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 6) + protected final void slabBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 6) .pattern("###") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .save(this.output, locWood(name + "_slab")); } - protected final void bannerPattern(HolderGetter getter, String name, DeferredHolder trophy, DeferredHolder result) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result.get()) + protected final void bannerPattern(HolderGetter getter, String name, DeferredBlock trophy, DeferredItem result) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.PAPER))) - .requires(Ingredient.of(trophy.get().asItem())) - .unlockedBy("has_trophy", has(trophy.get())) + .requires(Ingredient.of(trophy.asItem())) + .unlockedBy("has_trophy", has(trophy)) .save(this.output); } - protected final void trapdoorBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result.get(), 2) + protected final void trapdoorBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, result, 2) .pattern("###") .pattern("###") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("wooden_trapdoor") .save(this.output, locWood(name + "_trapdoor")); } - protected final void woodBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 3) + protected final void woodBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 3) .pattern("##") .pattern("##") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("bark") .save(this.output, locWood(name + "_wood")); } - protected final void strippedWoodBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result.get(), 3) + protected final void strippedWoodBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, result, 3) .pattern("##") .pattern("##") - .define('#', material.get()) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .save(this.output, locWood(name + "_stripped_wood")); } - protected final void signBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) + protected final void signBlock(HolderGetter getter, String name, DeferredItem result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result, 3) .pattern("###") .pattern("###") .pattern(" - ") - .define('#', material.get()) + .define('#', material) .define('-', Tags.Items.RODS_WOODEN) - .unlockedBy("has_item", has(material.get())) + .unlockedBy("has_item", has(material)) .group("wooden_sign") .save(this.output, locWood(name + "_sign")); } - protected final void hangingSignBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 6) + protected final void hangingSignBlock(HolderGetter getter, String name, DeferredItem result, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result, 6) .pattern("| |") .pattern("###") .pattern("###") - .define('#', material.get()) + .define('#', material) .define('|', Items.CHAIN) - .unlockedBy("has_item", has(material.get())) + .unlockedBy("has_item", has(material)) .group("hanging_sign") .save(this.output, locWood(name + "_hanging_sign")); } - protected final void banisterBlock(HolderGetter getter, String name, DeferredHolder result, DeferredHolder material) { + protected final void banisterBlock(HolderGetter getter, String name, DeferredBlock result, DeferredBlock material) { this.banisterBlock(getter, name, result, material.get()); } - protected final void banisterBlock(HolderGetter getter, String name, DeferredHolder result, Block material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result.get(), 3) + protected final void banisterBlock(HolderGetter getter, String name, DeferredBlock result, Block material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, result, 3) .pattern("---") .pattern("| |") .define('-', material) @@ -380,30 +382,26 @@ protected final void banisterBlock(HolderGetter getter, String name, Defer .save(this.output, locWood(name + "_banister")); } - protected final void chestBlock(HolderGetter getter, String name, DeferredHolder chest, DeferredHolder trapped, DeferredHolder material) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, chest.get(), 2) + protected final void chestBlock(HolderGetter getter, String name, DeferredBlock chest, DeferredBlock trapped, DeferredBlock material) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, chest) .pattern("###") - .pattern("#C#") + .pattern("# #") .pattern("###") - .define('#', material.get()) - .define('C', Items.CHEST) - .unlockedBy("has_item", has(material.get())) + .define('#', material) + .unlockedBy("has_item", has(material)) .group("chest") .save(this.output, locWood(name + "_chest")); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, trapped.get(), 2) - .pattern("###") - .pattern("#C#") - .pattern("###") - .define('#', material.get()) - .define('C', Items.TRAPPED_CHEST) - .unlockedBy("has_item", has(material.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.REDSTONE, trapped) + .requires(chest) + .requires(Items.TRIPWIRE_HOOK) + .unlockedBy("has_item", has(material)) .group("trapped_chest") .save(this.output, locWood(name + "_trapped_chest")); } - protected final void fieryConversion(HolderGetter getter, DeferredHolder result, Item armor, int vials) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, result.get()) + protected final void fieryConversion(HolderGetter getter, DeferredItem result, Item armor, int vials) { + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, result) .requires(armor) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), vials) .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) @@ -411,17 +409,17 @@ protected final void fieryConversion(HolderGetter getter, DeferredHolder getter, DeferredHolder boat, DeferredHolder chestBoat, DeferredHolder planks) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.TRANSPORTATION, boat.get()) + protected final void buildBoats(HolderGetter getter, DeferredItem boat, DeferredItem chestBoat, DeferredBlock planks) { + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TRANSPORTATION, boat) .pattern("P P") .pattern("PPP") - .define('P', planks.get()) + .define('P', planks) .group("boat") .unlockedBy("in_water", insideOf(Blocks.WATER)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TRANSPORTATION, chestBoat.get()) - .requires(boat.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TRANSPORTATION, chestBoat) + .requires(boat) .requires(Tags.Items.CHESTS_WOODEN) .group("chest_boat") .unlockedBy("has_boat", has(ItemTags.BOATS)) diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/main/java/twilightforest/data/models/BlockModelGenerator.java index b2928d7e35..e97182b77b 100644 --- a/src/main/java/twilightforest/data/models/BlockModelGenerator.java +++ b/src/main/java/twilightforest/data/models/BlockModelGenerator.java @@ -3,8 +3,10 @@ import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.BlockStateGenerator; import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.client.data.models.model.TexturedModel; import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Blocks; import twilightforest.data.TFBlockFamilies; import twilightforest.data.helpers.BlockModelBuilders; import twilightforest.init.TFBlocks; @@ -38,7 +40,7 @@ public void run() { this.simpleBlockWithRenderType(TFBlocks.BEANSTALK_LEAVES.get(), "cutout_mipped"); this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); - this.createRotatableColumn(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + this.createRotatedPillarWithHorizontalVariant(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT); this.createTrivialCube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); } } diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java index 1c5dcb3e64..97b99530ef 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java +++ b/src/main/java/twilightforest/data/recipes/CraftingGenerator.java @@ -61,42 +61,15 @@ protected void buildRecipes() { bannerPattern(getter, "snow_queen_banner_pattern", TFBlocks.SNOW_QUEEN_TROPHY, TFItems.SNOW_QUEEN_BANNER_PATTERN); // bannerPattern(getter, "questing_ram_banner_pattern", TFBlocks.QUEST_RAM_TROPHY, TFItems.QUEST_RAM_BANNER_PATTERN); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.MOSS_BLOCK) - .pattern("mmm") - .pattern("mtm") - .pattern("mmm") - .define('m', Ingredient.of(TFBlocks.MOSS_PATCH.get())) - .define('t', Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(this.output, this.createKey("tf_moss_to_vanilla")); - - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.MOSS_PATCH.get(), 8) - .requires(Ingredient.of(Items.MOSS_BLOCK)) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(this.output, this.createKey("vanilla_to_tf_moss")); - - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.HUGE_LILY_PAD.get()) - .requires(Ingredient.of(Blocks.LILY_PAD), 4) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(this.output, this.createKey("vanilla_to_tf_lilypad")); - - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, Blocks.LILY_PAD, 4) - .requires(Ingredient.of(TFBlocks.HUGE_LILY_PAD.get())) - .requires(Ingredient.of(TFItems.TRANSFORMATION_POWDER.get())) - .unlockedBy("has_item", has(TFItems.TRANSFORMATION_POWDER.get())) - .save(this.output, this.createKey("tf_to_vanilla_lilypad")); - slabBlock(getter, "aurora_slab", TFBlocks.AURORA_SLAB, TFBlocks.AURORA_BLOCK); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.AURORA_PILLAR.get(), 2) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.AURORA_PILLAR, 2) .pattern("#") .pattern("#") - .define('#', Ingredient.of(TFBlocks.AURORA_BLOCK.get())) - .unlockedBy("has_slab", has(TFBlocks.AURORA_SLAB.get())) + .define('#', Ingredient.of(TFBlocks.AURORA_BLOCK)) + .unlockedBy("has_slab", has(TFBlocks.AURORA_SLAB)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.IRON_LADDER.get(), 3) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.IRON_LADDER, 3) .pattern("-#-") .pattern("-#-") .define('#', Ingredient.of(Blocks.IRON_BARS)) @@ -104,89 +77,103 @@ protected void buildRecipes() { .unlockedBy("has_iron_bars", has(Blocks.IRON_BARS)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.ROPE.get(), 8) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.WROUGHT_IRON_FENCE, 3) + .pattern("###") + .pattern("###") + .define('#', ItemTagGenerator.WROUGHT_IRON_INGOTS) + .unlockedBy("has_wrought_iron", has(ItemTagGenerator.WROUGHT_IRON_INGOTS)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA, 2) + .pattern("###") + .pattern(" # ") + .define('#', ItemTagGenerator.WROUGHT_IRON_INGOTS) + .unlockedBy("has_wrought_iron", has(ItemTagGenerator.WROUGHT_IRON_INGOTS)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.ROPE, 8) .pattern("#") .pattern("#") .pattern("#") - .define('#', Ingredient.of(TFBlocks.ROOT_STRAND.get())) - .unlockedBy("has_root_strand", has(TFBlocks.ROOT_STRAND.get())) + .define('#', Ingredient.of(TFBlocks.ROOT_STRAND)) + .unlockedBy("has_root_strand", has(TFBlocks.ROOT_STRAND)) .save(this.output); -// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW.value(), 4) -// .pattern("GPG") -// .pattern("PPP") -// .pattern("GPG") -// .define('G', Ingredient.of(Tags.Items.GLASS_BLOCKS)) -// .define('P', Ingredient.of(TFBlocks.CANOPY_PLANKS.value())) -// .unlockedBy("has_planks", has(TFBlocks.CANOPY_PLANKS.value())) -// .save(this.output); -// -// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW_PANE.value(), 16) -// .pattern("GGG") -// .pattern("GGG") -// .define('G', Ingredient.of(TFBlocks.CANOPY_WINDOW.value())) -// .unlockedBy("has_windows", has(TFBlocks.CANOPY_WINDOW.value())) -// .save(this.output); + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW, 4) + .pattern("GPG") + .pattern("PPP") + .pattern("GPG") + .define('G', Ingredient.of(getter.getOrThrow(Tags.Items.GLASS_BLOCKS))) + .define('P', Ingredient.of(TFBlocks.CANOPY_PLANKS)) + .unlockedBy("has_planks", has(TFBlocks.CANOPY_PLANKS)) + .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFItems.MASON_JAR.get(), 4) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANOPY_WINDOW_PANE, 16) + .pattern("GGG") + .pattern("GGG") + .define('G', Ingredient.of(TFBlocks.CANOPY_WINDOW)) + .unlockedBy("has_windows", has(TFBlocks.CANOPY_WINDOW)) + .save(this.output); + + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFItems.MASON_JAR, 4) .pattern("GLG") .pattern("G G") .pattern("GGG") .define('G', Ingredient.of(Items.GLASS)) - .define('L', Ingredient.of(TFBlocks.TWILIGHT_OAK_LOG.get())) + .define('L', Ingredient.of(TFBlocks.TWILIGHT_OAK_LOG)) .unlockedBy("has_tf_oak", has(TFBlocks.TWILIGHT_OAK_LOG.value())) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_JAR.get()) - .requires(Ingredient.of(TFBlocks.FIREFLY.get())) - .requires(Ingredient.of(TFItems.MASON_JAR.get())) - .unlockedBy("has_item", has(TFBlocks.FIREFLY.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_JAR) + .requires(Ingredient.of(TFBlocks.FIREFLY)) + .requires(Ingredient.of(TFItems.MASON_JAR)) + .unlockedBy("has_item", has(TFBlocks.FIREFLY)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_SPAWNER.get()) - .requires(Ingredient.of(TFBlocks.FIREFLY_JAR.get())) - .requires(Ingredient.of(TFBlocks.FIREFLY.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.FIREFLY_SPAWNER) + .requires(Ingredient.of(TFBlocks.FIREFLY_JAR)) + .requires(Ingredient.of(TFBlocks.FIREFLY)) .requires(Ingredient.of(Blocks.POPPY)) - .unlockedBy("has_jar", has(TFBlocks.FIREFLY_JAR.get())) + .unlockedBy("has_jar", has(TFBlocks.FIREFLY_JAR)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.CICADA_JAR.get()) - .requires(Ingredient.of(TFBlocks.CICADA.get())) - .requires(Ingredient.of(TFItems.MASON_JAR.get())) - .unlockedBy("has_item", has(TFBlocks.CICADA.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.DECORATIONS, TFBlocks.CICADA_JAR) + .requires(Ingredient.of(TFBlocks.CICADA)) + .requires(Ingredient.of(TFItems.MASON_JAR)) + .unlockedBy("has_item", has(TFBlocks.CICADA)) .save(this.output); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.MAGENTA_DYE) - .requires(Ingredient.of(TFBlocks.HUGE_WATER_LILY.get())) - .unlockedBy("has_item", has(TFBlocks.HUGE_WATER_LILY.get())) + .requires(Ingredient.of(TFBlocks.HUGE_WATER_LILY)) + .unlockedBy("has_item", has(TFBlocks.HUGE_WATER_LILY)) .save(this.output, this.createKey("waterlily_to_magenta")); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.RED_DYE) - .requires(Ingredient.of(TFBlocks.THORN_ROSE.get())) - .unlockedBy("has_item", has(TFBlocks.THORN_ROSE.get())) + .requires(Ingredient.of(TFBlocks.THORN_ROSE)) + .unlockedBy("has_item", has(TFBlocks.THORN_ROSE)) .save(this.output, this.createKey("thorn_rose_to_red")); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, Items.STICK) - .requires(Ingredient.of(TFBlocks.ROOT_STRAND.get())) - .unlockedBy("has_item", has(TFBlocks.ROOT_STRAND.get())) + .requires(Ingredient.of(TFBlocks.ROOT_STRAND)) + .unlockedBy("has_item", has(TFBlocks.ROOT_STRAND)) .group("sticks") .save(this.output, this.createKey("root_stick")); ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, Blocks.TORCH, 5) .pattern("∓") .pattern("|") - .define('∓', Ingredient.of(TFItems.TORCHBERRIES.get())) + .define('∓', Ingredient.of(TFItems.TORCHBERRIES)) .define('|', Tags.Items.RODS_WOODEN) - .unlockedBy("has_item", has(TFItems.TORCHBERRIES.get())) + .unlockedBy("has_item", has(TFItems.TORCHBERRIES)) .save(this.output, this.createKey("berry_torch")); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.UNCRAFTING_TABLE.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.UNCRAFTING_TABLE) .pattern("###") .pattern("#X#") .pattern("###") .define('#', Blocks.CRAFTING_TABLE) - .define('X', TFItems.MAZE_MAP_FOCUS.get()) - .unlockedBy("has_uncrafting_table", has(TFBlocks.UNCRAFTING_TABLE.get())) + .define('X', TFItems.MAZE_MAP_FOCUS) + .unlockedBy("has_uncrafting_table", has(TFBlocks.UNCRAFTING_TABLE)) .save(this.output.withConditions(UncraftingTableCondition.INSTANCE), this.createKey("uncrafting_table")); cookingRecipes("smelted", RecipeSerializer.SMELTING_RECIPE, SmeltingRecipe::new, 200); @@ -199,161 +186,162 @@ protected void buildRecipes() { crackedWoodRecipes(); crackedStoneRecipes(); -// ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()) -// .pattern("---") -// .pattern(" ") -// .pattern("---") -// .define('-', TFBlocks.CANOPY_SLAB.get()) -// .unlockedBy("has_item", has(TFBlocks.CANOPY_SLAB.get())) -// .save(this.output); + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CHISELED_CANOPY_BOOKSHELF) + .pattern("---") + .pattern("sss") + .pattern("---") + .define('-', TFBlocks.CANOPY_PLANKS) + .define('s', TFBlocks.CANOPY_SLAB) + .unlockedBy("has_item", has(TFBlocks.CANOPY_SLAB)) + .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CANOPY_BOOKSHELF.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.CANOPY_BOOKSHELF) .pattern("---") .pattern("B B") .pattern("---") - .define('-', TFBlocks.CANOPY_PLANKS.get()) + .define('-', TFBlocks.CANOPY_PLANKS) .define('B', Items.BOOK) - .unlockedBy("has_item", has(TFBlocks.CANOPY_PLANKS.get())) + .unlockedBy("has_item", has(TFBlocks.CANOPY_PLANKS)) .save(this.output); -// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA.get()) +// ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA) // .pattern("III") // .pattern(" W ") -// .define('W', TFBlocks.WROUGHT_IRON_FENCE.get()) +// .define('W', TFBlocks.WROUGHT_IRON_FENCE) // .define('I', Tags.Items.INGOTS_IRON) -// .unlockedBy("has_item", has(TFBlocks.WROUGHT_IRON_FENCE.get())) +// .unlockedBy("has_item", has(TFBlocks.WROUGHT_IRON_FENCE)) // .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ARMOR_SHARD_CLUSTER.get()) - .requires(Ingredient.of(TFItems.ARMOR_SHARD.get()), 9) - .unlockedBy("has_item", has(TFItems.ARMOR_SHARD.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ARMOR_SHARD_CLUSTER) + .requires(Ingredient.of(TFItems.ARMOR_SHARD), 9) + .unlockedBy("has_item", has(TFItems.ARMOR_SHARD)) .save(this.output, this.createKey("material/" + TFItems.ARMOR_SHARD_CLUSTER.getId().getPath())); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_UNDERBRICK.get(), 1) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_UNDERBRICK, 1) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.UNDERBRICK.get())) - .unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())) + .requires(Ingredient.of(TFBlocks.UNDERBRICK)) + .unlockedBy("has_item", has(TFBlocks.UNDERBRICK)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_MAZESTONE.get(), 1) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_MAZESTONE, 1) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get())) - .unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())) + .requires(Ingredient.of(TFBlocks.MAZESTONE_BRICK)) + .unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK)) .save(this.output, this.createKey("maze_stone/mossy_mazestone")); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.CARMINITE.get()) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.CARMINITE) + .requires(Ingredient.of(TFItems.BORER_ESSENCE)) .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .requires(Ingredient.of(TFItems.BORER_ESSENCE)) .requires(Tags.Items.DUSTS_REDSTONE) .requires(Ingredient.of(Items.GHAST_TEAR)) .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) + .requires(Ingredient.of(TFItems.BORER_ESSENCE)) .requires(Tags.Items.DUSTS_REDSTONE) - .requires(Ingredient.of(TFItems.BORER_ESSENCE.get())) - .unlockedBy("has_item", has(TFItems.BORER_ESSENCE.get())) + .requires(Ingredient.of(TFItems.BORER_ESSENCE)) + .unlockedBy("has_item", has(TFItems.BORER_ESSENCE)) .save(this.output, this.createKey("material/" + TFItems.CARMINITE.getId().getPath())); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.RAW_IRONWOOD.get(), 2) - .requires(Ingredient.of(TFItems.LIVEROOT.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.RAW_IRONWOOD, 2) + .requires(Ingredient.of(TFItems.LIVEROOT)) .requires(Ingredient.of(Items.RAW_IRON)) .requires(Tags.Items.NUGGETS_GOLD) - .unlockedBy("has_item", has(TFItems.LIVEROOT.get())) + .unlockedBy("has_item", has(TFItems.LIVEROOT)) .save(this.output, this.createKey("material/" + TFItems.RAW_IRONWOOD.getId().getPath())); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.RAINY_CLOUD.get(), 8) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.RAINY_CLOUD, 8) .pattern("ccc") .pattern("cbc") .pattern("ccc") - .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) + .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD)) .define('b', Ingredient.of(Items.WATER_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) + .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD)) .save(this.output, this.createKey("rainy_cloud")); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SNOWY_CLOUD.get(), 8) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SNOWY_CLOUD, 8) .pattern("ccc") .pattern("cbc") .pattern("ccc") - .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD.get())) + .define('c', Ingredient.of(TFBlocks.FLUFFY_CLOUD)) .define('b', Ingredient.of(Items.POWDER_SNOW_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD.get())) + .unlockedBy("has_item", has(TFBlocks.FLUFFY_CLOUD)) .save(this.output, this.createKey("snowy_cloud")); -// ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.LICH_CROWN, 1) -// .pattern("ttt") -// .pattern("t t") -// .pattern("ttt") -// .define('t', Ingredient.of(TFItems.CROWN_SPLINTER)) -// .unlockedBy("has_item", has(TFItems.CROWN_SPLINTER)) -// .save(this.output); + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.MYSTIC_CROWN) + .pattern("ttt") + .pattern("t t") + .pattern("ttt") + .define('t', Ingredient.of(TFItems.CROWN_SPLINTER)) + .unlockedBy("has_item", has(TFItems.CROWN_SPLINTER)) + .save(this.output); } private void darkTowerRecipes(HolderGetter getter) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_FIRE_JET.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_FIRE_JET) .pattern("#∓#") .pattern("∓^∓") .pattern("uuu") .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('^', Ingredient.of(TFBlocks.FIRE_JET.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) + .define('^', Ingredient.of(TFBlocks.FIRE_JET)) .define('u', Ingredient.of(Items.LAVA_BUCKET)) - .unlockedBy("has_item", has(TFBlocks.FIRE_JET.get())) + .unlockedBy("has_item", has(TFBlocks.FIRE_JET)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_SMOKER.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.ENCASED_SMOKER) .pattern("#∓#") .pattern("∓^∓") .pattern("#∓#") .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) - .define('^', Ingredient.of(TFBlocks.SMOKER.get())) - .unlockedBy("has_item", has(TFBlocks.SMOKER.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) + .define('^', Ingredient.of(TFBlocks.SMOKER)) + .unlockedBy("has_item", has(TFBlocks.SMOKER)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_BUILDER.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_BUILDER) .pattern("#6#") .pattern("6o6") .pattern("#6#") .define('6', ItemTagGenerator.CARMINITE_GEMS) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('o', Ingredient.of(Blocks.DISPENSER)) .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_REACTOR.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_REACTOR) .pattern("#6#") .pattern("6%6") .pattern("#6#") .define('6', ItemTagGenerator.CARMINITE_GEMS) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('%', Tags.Items.ORES_REDSTONE) .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.REAPPEARING_BLOCK.get(), 2) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.REAPPEARING_BLOCK, 2) .pattern("#∓#") .pattern("∓6∓") .pattern("#∓#") .define('∓', Tags.Items.DUSTS_REDSTONE) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('6', ItemTagGenerator.CARMINITE_GEMS) - .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) + .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.VANISHING_BLOCK.get(), 8) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.VANISHING_BLOCK, 8) .pattern("#w#") .pattern("w6w") .pattern("#w#") .define('w', ItemTagGenerator.TOWERWOOD) - .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD.get())) + .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('6', ItemTagGenerator.CARMINITE_GEMS) - .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK.get())) + .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_TOWERWOOD.get()) - .requires(Ingredient.of(TFBlocks.TOWERWOOD.get())) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_TOWERWOOD) + .requires(Ingredient.of(TFBlocks.TOWERWOOD)) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())) + .unlockedBy("has_item", has(TFBlocks.TOWERWOOD)) .save(this.output, this.createKey("wood/" + TFBlocks.MOSSY_TOWERWOOD.getId().getPath())); } @@ -492,22 +480,22 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .unlockedBy("has_item", has(TFItems.ALPHA_YETI_FUR)) .save(this.output, locEquip(TFItems.YETI_BOOTS.getId().getPath())); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_PICKAXE.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_PICKAXE) .pattern("###") .pattern(" X ") .pattern(" X ") - .define('#', TFBlocks.GIANT_COBBLESTONE.get()) - .define('X', TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .define('#', TFBlocks.GIANT_COBBLESTONE) + .define('X', TFBlocks.GIANT_LOG) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE)) .save(this.output, locEquip(TFItems.GIANT_PICKAXE.getId().getPath())); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_SWORD.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.TOOLS, TFItems.GIANT_SWORD) .pattern("#") .pattern("#") .pattern("X") - .define('#', TFBlocks.GIANT_COBBLESTONE.get()) - .define('X', TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .define('#', TFBlocks.GIANT_COBBLESTONE) + .define('X', TFBlocks.GIANT_LOG) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE)) .save(this.output, locEquip(TFItems.GIANT_SWORD.getId().getPath())); charmRecipe(getter, "charm_of_keeping_2", TFItems.CHARM_OF_KEEPING_2, TFItems.CHARM_OF_KEEPING_1); @@ -518,43 +506,45 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p SpecialRecipeBuilder.special(MagicMapCloningRecipe::new).save(this.output, this.createKey("magic_map_cloning_recipe")); SpecialRecipeBuilder.special(MazeMapCloningRecipe::new).save(this.output, this.createKey("maze_map_cloning_recipe")); SpecialRecipeBuilder.special(EmperorsClothRecipe::new).save(this.output, this.createKey("emperors_cloth_recipe")); + SpecialRecipeBuilder.special(CasketRepairRecipe::new).save(this.output, this.createKey("casket_repair_recipe")); + SpecialRecipeBuilder.special(EssenceRepairRecipe::new).save(this.output, this.createKey("essence_repair_recipe")); NoSmithingTemplateRecipeBuilder - .noTemplate(Ingredient.of(getter.getOrThrow(Tags.Items.ARMORS)), Ingredient.of(TFItems.EMPERORS_CLOTH.get()), RecipeCategory.MISC) + .noTemplate(Ingredient.of(getter.getOrThrow(Tags.Items.ARMORS)), Ingredient.of(TFItems.EMPERORS_CLOTH), RecipeCategory.MISC) .attachData(TFDataComponents.EMPERORS_CLOTH::value, Unit.INSTANCE) .unlocks("has_cloth", has(TFItems.EMPERORS_CLOTH)) .save(this.output, this.createKey("emperors_cloth_smithing")); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.COBBLESTONE, 64) - .requires(TFBlocks.GIANT_COBBLESTONE.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE.get())) + .requires(TFBlocks.GIANT_COBBLESTONE) + .unlockedBy("has_item", has(TFBlocks.GIANT_COBBLESTONE)) .save(this.output, this.createKey(TFBlocks.GIANT_COBBLESTONE.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.COBBLESTONE).getPath())); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_PLANKS, 64) - .requires(TFBlocks.GIANT_LOG.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_LOG.get())) + .requires(TFBlocks.GIANT_LOG) + .unlockedBy("has_item", has(TFBlocks.GIANT_LOG)) .save(this.output, this.createKey(TFBlocks.GIANT_LOG.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_PLANKS).getPath())); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OAK_LEAVES, 64) - .requires(TFBlocks.GIANT_LEAVES.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_LEAVES.get())) + .requires(TFBlocks.GIANT_LEAVES) + .unlockedBy("has_item", has(TFBlocks.GIANT_LEAVES)) .save(this.output, this.createKey(TFBlocks.GIANT_LEAVES.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OAK_LEAVES).getPath())); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, Blocks.OBSIDIAN, 64) - .requires(TFBlocks.GIANT_OBSIDIAN.get()) - .unlockedBy("has_item", has(TFBlocks.GIANT_OBSIDIAN.get())) + .requires(TFBlocks.GIANT_OBSIDIAN) + .unlockedBy("has_item", has(TFBlocks.GIANT_OBSIDIAN)) .save(this.output, this.createKey(TFBlocks.GIANT_OBSIDIAN.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OBSIDIAN).getPath())); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.BLOCK_AND_CHAIN.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.BLOCK_AND_CHAIN) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL))) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.KNIGHTMETAL_INGOTS)), 3) - .requires(Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) + .requires(Ingredient.of(TFItems.KNIGHTMETAL_RING)) .unlockedBy("has_block", has(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL)) .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) - .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) + .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING)) .save(this.output, locEquip(TFItems.BLOCK_AND_CHAIN.getId().getPath())); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.KNIGHTMETAL_RING.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.KNIGHTMETAL_RING) .pattern(" - ") .pattern("- -") .pattern(" - ") @@ -562,30 +552,30 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .unlockedBy("has_item", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) .save(this.output, locEquip(TFItems.KNIGHTMETAL_RING.getId().getPath())); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.KNIGHTMETAL_SHIELD.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.KNIGHTMETAL_SHIELD) .pattern("-#") .pattern("-o") .pattern("-#") .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) .define('#', ItemTagGenerator.TOWERWOOD) - .define('o', Ingredient.of(TFItems.KNIGHTMETAL_RING.get())) + .define('o', Ingredient.of(TFItems.KNIGHTMETAL_RING)) .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) - .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING.get())) + .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING)) .save(this.output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.LIFEDRAIN_SCEPTER.get(), 9) + ScepterRecipeBuilder.repairFor(getter, TFItems.LIFEDRAIN_SCEPTER, 9) .addRepairIngredient(Items.FERMENTED_SPIDER_EYE) .save(this.output, locEquip(TFItems.LIFEDRAIN_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.FORTIFICATION_SCEPTER.get(), 9) + ScepterRecipeBuilder.repairFor(getter, TFItems.FORTIFICATION_SCEPTER, 9) .addRepairIngredient(Ingredient.of(Items.GOLDEN_APPLE)) .save(this.output, locEquip(TFItems.FORTIFICATION_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.TWILIGHT_SCEPTER.get(), 9) + ScepterRecipeBuilder.repairFor(getter, TFItems.TWILIGHT_SCEPTER, 9) .addRepairIngredient(Tags.Items.ENDER_PEARLS) .save(this.output, locEquip(TFItems.TWILIGHT_SCEPTER.getId().getPath())); - ScepterRecipeBuilder.repairFor(getter, TFItems.ZOMBIE_SCEPTER.get(), 9) + ScepterRecipeBuilder.repairFor(getter, TFItems.ZOMBIE_SCEPTER, 9) .addRepairIngredient(CompoundIngredient.of( DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.STRENGTH), Items.POTION), DataComponentIngredient.of(false, DataComponents.POTION_CONTENTS, new PotionContents(Potions.LONG_STRENGTH), Items.POTION), @@ -617,38 +607,38 @@ private void blockCompressionRecipes(HolderGetter getter) { } private void emptyMapRecipes(HolderGetter getter) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP_FOCUS.get()) - .requires(TFItems.RAVEN_FEATHER.get()) - .requires(TFItems.TORCHBERRIES.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP_FOCUS) + .requires(TFItems.RAVEN_FEATHER) + .requires(TFItems.TORCHBERRIES) .requires(Tags.Items.DUSTS_GLOWSTONE) - .unlockedBy("has_berries", has(TFItems.TORCHBERRIES.get())) - .unlockedBy("has_feather", has(TFItems.RAVEN_FEATHER.get())) + .unlockedBy("has_berries", has(TFItems.TORCHBERRIES)) + .unlockedBy("has_feather", has(TFItems.RAVEN_FEATHER)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAGIC_MAP) .pattern("###") .pattern("#•#") .pattern("###") .define('#', ItemTagGenerator.PAPER) - .define('•', Ingredient.of(TFItems.MAGIC_MAP_FOCUS.get())) - .unlockedBy("has_item", has(TFItems.MAGIC_MAP_FOCUS.get())) + .define('•', Ingredient.of(TFItems.MAGIC_MAP_FOCUS)) + .unlockedBy("has_item", has(TFItems.MAGIC_MAP_FOCUS)) .save(this.output); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAZE_MAP.get()) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.MISC, TFItems.MAZE_MAP) .pattern("###") .pattern("#•#") .pattern("###") .define('#', ItemTagGenerator.PAPER) - .define('•', Ingredient.of(TFItems.MAZE_MAP_FOCUS.get())) - .unlockedBy("has_item", has(TFItems.MAZE_MAP_FOCUS.get())) + .define('•', Ingredient.of(TFItems.MAZE_MAP_FOCUS)) + .unlockedBy("has_item", has(TFItems.MAZE_MAP_FOCUS)) .save(this.output); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ORE_MAP.get()) - .requires(TFItems.MAZE_MAP.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.ORE_MAP) + .requires(TFItems.MAZE_MAP) .requires(Tags.Items.STORAGE_BLOCKS_DIAMOND) .requires(Tags.Items.STORAGE_BLOCKS_GOLD) .requires(Tags.Items.STORAGE_BLOCKS_IRON) - .unlockedBy("has_item", has(TFItems.MAZE_MAP.get())) + .unlockedBy("has_item", has(TFItems.MAZE_MAP)) .save(this.output); } @@ -734,14 +724,14 @@ private void woodRecipes(HolderGetter getter) { woodenSlabBlock(getter, "transformation", TFBlocks.TRANSFORMATION_SLAB, TFBlocks.TRANSFORMATION_PLANKS); woodenSlabBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_SLAB, TFBlocks.TWILIGHT_OAK_PLANKS); - woodenStairsBlock(getter, locWood("canopy_stairs"), TFBlocks.CANOPY_STAIRS, TFBlocks.CANOPY_PLANKS, TFBlocks.CANOPY_PLANKS.get()); - woodenStairsBlock(getter, locWood("dark_stairs"), TFBlocks.DARK_STAIRS, TFBlocks.DARK_PLANKS, TFBlocks.DARK_PLANKS.get()); - woodenStairsBlock(getter, locWood("mangrove_stairs"), TFBlocks.MANGROVE_STAIRS, TFBlocks.MANGROVE_PLANKS, TFBlocks.MANGROVE_PLANKS.get()); - woodenStairsBlock(getter, locWood("mining_stairs"), TFBlocks.MINING_STAIRS, TFBlocks.MINING_PLANKS, TFBlocks.MINING_PLANKS.get()); - woodenStairsBlock(getter, locWood("sorting_stairs"), TFBlocks.SORTING_STAIRS, TFBlocks.SORTING_PLANKS, TFBlocks.SORTING_PLANKS.get()); - woodenStairsBlock(getter, locWood("time_stairs"), TFBlocks.TIME_STAIRS, TFBlocks.TIME_PLANKS, TFBlocks.TIME_PLANKS.get()); - woodenStairsBlock(getter, locWood("transformation_stairs"), TFBlocks.TRANSFORMATION_STAIRS, TFBlocks.TRANSFORMATION_PLANKS, TFBlocks.TRANSFORMATION_PLANKS.get()); - woodenStairsBlock(getter, locWood("twilight_oak_stairs"), TFBlocks.TWILIGHT_OAK_STAIRS, TFBlocks.TWILIGHT_OAK_PLANKS, TFBlocks.TWILIGHT_OAK_PLANKS.get()); + woodenStairsBlock(getter, locWood("canopy_stairs"), TFBlocks.CANOPY_STAIRS, TFBlocks.CANOPY_PLANKS, TFBlocks.CANOPY_PLANKS); + woodenStairsBlock(getter, locWood("dark_stairs"), TFBlocks.DARK_STAIRS, TFBlocks.DARK_PLANKS, TFBlocks.DARK_PLANKS); + woodenStairsBlock(getter, locWood("mangrove_stairs"), TFBlocks.MANGROVE_STAIRS, TFBlocks.MANGROVE_PLANKS, TFBlocks.MANGROVE_PLANKS); + woodenStairsBlock(getter, locWood("mining_stairs"), TFBlocks.MINING_STAIRS, TFBlocks.MINING_PLANKS, TFBlocks.MINING_PLANKS); + woodenStairsBlock(getter, locWood("sorting_stairs"), TFBlocks.SORTING_STAIRS, TFBlocks.SORTING_PLANKS, TFBlocks.SORTING_PLANKS); + woodenStairsBlock(getter, locWood("time_stairs"), TFBlocks.TIME_STAIRS, TFBlocks.TIME_PLANKS, TFBlocks.TIME_PLANKS); + woodenStairsBlock(getter, locWood("transformation_stairs"), TFBlocks.TRANSFORMATION_STAIRS, TFBlocks.TRANSFORMATION_PLANKS, TFBlocks.TRANSFORMATION_PLANKS); + woodenStairsBlock(getter, locWood("twilight_oak_stairs"), TFBlocks.TWILIGHT_OAK_STAIRS, TFBlocks.TWILIGHT_OAK_PLANKS, TFBlocks.TWILIGHT_OAK_PLANKS); trapdoorBlock(getter, "canopy", TFBlocks.CANOPY_TRAPDOOR, TFBlocks.CANOPY_PLANKS); trapdoorBlock(getter, "dark", TFBlocks.DARK_TRAPDOOR, TFBlocks.DARK_PLANKS); @@ -811,73 +801,73 @@ private void woodRecipes(HolderGetter getter) { } private void nagastoneRecipes(HolderGetter getter) { - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SPIRAL_BRICKS.get(), 8) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.SPIRAL_BRICKS, 8) .pattern("BSS") .pattern("BSS") .pattern("BBB") .define('B', Ingredient.of(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS))//Ingredient.merge(ImmutableList.of(Ingredient.fromTag(Tags.Items.STONE), Ingredient.fromItems(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS)))) .define('S', Ingredient.of(Blocks.STONE_SLAB, Blocks.STONE_BRICK_SLAB)) - .unlockedBy("has_item", has(TFBlocks.SPIRAL_BRICKS.get())) + .unlockedBy("has_item", has(TFBlocks.SPIRAL_BRICKS)) .save(this.output, locNaga("nagastone_spiral")); - stairsBlock(getter, locNaga("nagastone_stairs_left"), TFBlocks.NAGASTONE_STAIRS_LEFT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); - stairsRightBlock(getter, locNaga("nagastone_stairs_right"), TFBlocks.NAGASTONE_STAIRS_RIGHT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE.get()); + stairsBlock(getter, locNaga("nagastone_stairs_left"), TFBlocks.NAGASTONE_STAIRS_LEFT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE); + stairsRightBlock(getter, locNaga("nagastone_stairs_right"), TFBlocks.NAGASTONE_STAIRS_RIGHT, TFBlocks.ETCHED_NAGASTONE, TFBlocks.ETCHED_NAGASTONE); - stairsBlock(getter, locNaga("mossy_nagastone_stairs_left"), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); - stairsRightBlock(getter, locNaga("mossy_nagastone_stairs_right"), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE.get()); + stairsBlock(getter, locNaga("mossy_nagastone_stairs_left"), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE); + stairsRightBlock(getter, locNaga("mossy_nagastone_stairs_right"), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_ETCHED_NAGASTONE); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), 1) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_ETCHED_NAGASTONE, 1) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get())) - .unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())) + .requires(Ingredient.of(TFBlocks.ETCHED_NAGASTONE)) + .unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE)) .save(this.output, locNaga("mossy_etched_nagastone")); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_NAGASTONE_PILLAR.get(), 1) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_NAGASTONE_PILLAR, 1) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get())) - .unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())) + .requires(Ingredient.of(TFBlocks.NAGASTONE_PILLAR)) + .unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR)) .save(this.output, locNaga("mossy_nagastone_pillar")); - stairsBlock(getter, locNaga("cracked_nagastone_stairs_left"), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); - stairsRightBlock(getter, locNaga("cracked_nagastone_stairs_right"), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE.get()); + stairsBlock(getter, locNaga("cracked_nagastone_stairs_left"), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE); + stairsRightBlock(getter, locNaga("cracked_nagastone_stairs_right"), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_ETCHED_NAGASTONE); } private void castleRecipes(HolderGetter getter) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_CASTLE_BRICK.get(), 1) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.MOSSY_CASTLE_BRICK, 1) .requires(Ingredient.of(Blocks.VINE, Blocks.MOSS_BLOCK)) - .requires(Ingredient.of(TFBlocks.CASTLE_BRICK.get())) - .unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())) + .requires(Ingredient.of(TFBlocks.CASTLE_BRICK)) + .unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK)) .save(this.output, locCastle("mossy_castle_brick")); - castleBlock(getter, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get()); - castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.THICK_CASTLE_BRICK.get()); - castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); + castleBlock(getter, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK); + castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.THICK_CASTLE_BRICK); + castleBlock(getter, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), 4) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, 4) .pattern("##") .pattern("##") - .define('#', Ingredient.of(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) - .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) + .define('#', Ingredient.of(TFBlocks.BOLD_CASTLE_BRICK_TILE)) + .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK)) .save(this.output, locCastle("bold_castle_pillar_from_tile")); - ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), 6) + ShapedRecipeBuilder.shaped(getter, RecipeCategory.BUILDING_BLOCKS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, 6) .pattern("#H#") .pattern("#H#") - .define('#', Ingredient.of(TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get())) - .define('H', Ingredient.of(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get())) - .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK.get())) + .define('#', Ingredient.of(TFBlocks.CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.THICK_CASTLE_BRICK)) + .define('H', Ingredient.of(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_TILE)) + .unlockedBy("has_castle_brick", has(TFBlocks.CASTLE_BRICK)) .save(this.output, locCastle("encased_castle_pillar")); - stairsBlock(getter, locCastle("bold_castle_brick_stairs"), TFBlocks.BOLD_CASTLE_BRICK_STAIRS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stairsBlock(getter, locCastle("castle_brick_stairs"), TFBlocks.CASTLE_BRICK_STAIRS, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_BRICK.get()); - stairsBlock(getter, locCastle("cracked_castle_brick_stairs"), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK.get()); - stairsBlock(getter, locCastle("encased_castle_brick_stairs"), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stairsBlock(getter, locCastle("mossy_castle_brick_stairs"), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK.get()); - stairsBlock(getter, locCastle("worn_castle_brick_stairs"), TFBlocks.WORN_CASTLE_BRICK_STAIRS, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK.get()); + stairsBlock(getter, locCastle("bold_castle_brick_stairs"), TFBlocks.BOLD_CASTLE_BRICK_STAIRS, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stairsBlock(getter, locCastle("castle_brick_stairs"), TFBlocks.CASTLE_BRICK_STAIRS, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_BRICK); + stairsBlock(getter, locCastle("cracked_castle_brick_stairs"), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK); + stairsBlock(getter, locCastle("encased_castle_brick_stairs"), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_TILE); + stairsBlock(getter, locCastle("mossy_castle_brick_stairs"), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK); + stairsBlock(getter, locCastle("worn_castle_brick_stairs"), TFBlocks.WORN_CASTLE_BRICK_STAIRS, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK); } private void fieryConversions(HolderGetter getter) { - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL))) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.INGOTS_IRON))) .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) @@ -889,7 +879,7 @@ private void fieryConversions(HolderGetter getter) { fieryConversion(getter, TFItems.FIERY_LEGGINGS, Items.IRON_LEGGINGS, 7); fieryConversion(getter, TFItems.FIERY_BOOTS, Items.IRON_BOOTS, 4); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.FIERY_SWORD.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.FIERY_SWORD) .requires(Items.IRON_SWORD) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 2) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE))) @@ -897,7 +887,7 @@ private void fieryConversions(HolderGetter getter) { .group("fiery_sword") .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_SWORD).getPath())); - ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE.get()) + ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE) .requires(Items.IRON_PICKAXE) .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 3) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE)), 2) @@ -907,24 +897,24 @@ private void fieryConversions(HolderGetter getter) { } private void cookingRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF.get()), RecipeCategory.FOOD, TFItems.COOKED_MEEF.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF.get())).save(this.output, this.createKey("food/" + processName + "_meef")); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON.get()), RecipeCategory.FOOD, TFItems.COOKED_VENISON.get(), 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON.get())).save(this.output, this.createKey("food/" + processName + "_venison")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_MEEF), RecipeCategory.FOOD, TFItems.COOKED_MEEF, 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_MEEF)).save(this.output, this.createKey("food/" + processName + "_meef")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_VENISON), RecipeCategory.FOOD, TFItems.COOKED_VENISON, 0.35F, smeltingTime, process, factory).unlockedBy("has_food", has(TFItems.RAW_VENISON)).save(this.output, this.createKey("food/" + processName + "_venison")); } private void ingotRecipes(String processName, RecipeSerializer process, AbstractCookingRecipe.Factory factory, int smeltingTime) { - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER.get()), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER.get())).group("knightmetal_ingot").save(this.output, this.createKey("material/" + processName + "_knightmetal_ingot")); - SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD.get()), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT.get(), 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD.get())).group("ironwood_ingot").save(this.output, this.createKey("material/" + processName + "_ironwood_ingot")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.ARMOR_SHARD_CLUSTER), RecipeCategory.MISC, TFItems.KNIGHTMETAL_INGOT, 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.ARMOR_SHARD_CLUSTER)).group("knightmetal_ingot").save(this.output, this.createKey("material/" + processName + "_knightmetal_ingot")); + SimpleCookingRecipeBuilder.generic(Ingredient.of(TFItems.RAW_IRONWOOD), RecipeCategory.MISC, TFItems.IRONWOOD_INGOT, 1.0F, smeltingTime, process, factory).unlockedBy("has_item", has(TFItems.RAW_IRONWOOD)).group("ironwood_ingot").save(this.output, this.createKey("material/" + processName + "_ironwood_ingot")); } private void crackedWoodRecipes() { - SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD.get(), 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD.get())).save(this.output, this.createKey("wood/" + "smoked" + "_cracked_towerwood")); + SimpleCookingRecipeBuilder.smoking(Ingredient.of(TFBlocks.TOWERWOOD), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_TOWERWOOD, 0.1F, 100).unlockedBy("has_item", has(TFBlocks.TOWERWOOD)).save(this.output, this.createKey("wood/" + "smoked" + "_cracked_towerwood")); } private void crackedStoneRecipes() { - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_nagastone_pillar")); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE.get())).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_etched_nagastone")); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK.get())).save(this.output, this.createKey("maze_stone/" + "smelted" + "_maze_stone_cracked")); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK.get())).save(this.output, this.createKey("castleblock/" + "smelted" + "_cracked_castle_brick")); - SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK.get()), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK.get(), 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK.get())).save(this.output, this.createKey("smelted" + "_cracked_underbrick")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.NAGASTONE_PILLAR), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_NAGASTONE_PILLAR, 0.1F, 200).unlockedBy("has_item", has(TFBlocks.NAGASTONE_PILLAR)).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_nagastone_pillar")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.ETCHED_NAGASTONE), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_ETCHED_NAGASTONE, 0.1F, 200).unlockedBy("has_item", has(TFBlocks.ETCHED_NAGASTONE)).save(this.output, this.createKey("nagastone/" + "smelted" + "_cracked_etched_nagastone")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.MAZESTONE_BRICK), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_MAZESTONE, 0.1F, 200).unlockedBy("has_item", has(TFBlocks.MAZESTONE_BRICK)).save(this.output, this.createKey("maze_stone/" + "smelted" + "_maze_stone_cracked")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.CASTLE_BRICK), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_CASTLE_BRICK, 0.1F, 200).unlockedBy("has_item", has(TFBlocks.CASTLE_BRICK)).save(this.output, this.createKey("castleblock/" + "smelted" + "_cracked_castle_brick")); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(TFBlocks.UNDERBRICK), RecipeCategory.BUILDING_BLOCKS, TFBlocks.CRACKED_UNDERBRICK, 0.1F, 200).unlockedBy("has_item", has(TFBlocks.UNDERBRICK)).save(this.output, this.createKey("smelted" + "_cracked_underbrick")); } } diff --git a/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java b/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java new file mode 100644 index 0000000000..761ea0819d --- /dev/null +++ b/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java @@ -0,0 +1,38 @@ +package twilightforest.data.recipes; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.neoforged.neoforge.common.data.RecipePrioritiesProvider; +import twilightforest.TwilightForestMod; + +import java.util.concurrent.CompletableFuture; + +public class RecipePriorityGenerator extends RecipePrioritiesProvider { + + public RecipePriorityGenerator(PackOutput output, CompletableFuture registries) { + super(output, registries, TwilightForestMod.ID); + } + + @Override + protected void start() { + this.add("chiseled_canopy_bookshelf", 1); + + this.add("wood/twilight_oak_chest", 1); + this.add("wood/canopy_chest", 1); + this.add("wood/mangrove_chest", 1); + this.add("wood/dark_chest", 1); + this.add("wood/time_chest", 1); + this.add("wood/transformation_chest", 1); + this.add("wood/mining_chest", 1); + this.add("wood/sorting_chest", 1); + + this.add("wood/twilight_oak_trapped_chest", 1); + this.add("wood/canopy_trapped_chest", 1); + this.add("wood/mangrove_trapped_chest", 1); + this.add("wood/dark_trapped_chest", 1); + this.add("wood/time_trapped_chest", 1); + this.add("wood/transformation_trapped_chest", 1); + this.add("wood/mining_trapped_chest", 1); + this.add("wood/sorting_trapped_chest", 1); + } +} diff --git a/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java b/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java index 84a45ece53..d2235f1a0c 100644 --- a/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java +++ b/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java @@ -27,129 +27,137 @@ public class StonecuttingGenerator { protected static void buildRecipes(HolderGetter getter, RecipeOutput output) { - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.CASTLE_BRICK.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.CRACKED_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.WORN_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.THICK_CASTLE_BRICK.get()); - stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.MOSSY_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.ENCASED_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get()); - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), TFBlocks.CASTLE_ROOF_TILE.get()); - - stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get()); - stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); - stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK.get(), TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); - - stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); - - stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_LEFT.get(), TFBlocks.NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get()); - stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get()); - stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get(), TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get()); - - stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFBlocks.TOWERWOOD.get()); - stonecutting(getter, output, TFBlocks.DARK_WOOD.get(), TFBlocks.TOWERWOOD.get()); - stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFBlocks.ENCASED_TOWERWOOD.get()); - stonecutting(getter, output, TFBlocks.DARK_WOOD.get(), TFBlocks.ENCASED_TOWERWOOD.get()); - - stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.CUT_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_BRICK.get()); - stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE.get(), TFBlocks.MAZESTONE_MOSAIC.get()); - - stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BORDER.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.CUT_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.DECORATIVE_MAZESTONE.get()); - stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC.get(), TFBlocks.MAZESTONE_BRICK.get()); - - stonecutting(getter, output, TFBlocks.TWILIGHT_OAK_LOG.get(), TFItems.HOLLOW_TWILIGHT_OAK_LOG.get()); - stonecutting(getter, output, TFBlocks.CANOPY_LOG.get(), TFItems.HOLLOW_CANOPY_LOG.get()); - stonecutting(getter, output, TFBlocks.MANGROVE_LOG.get(), TFItems.HOLLOW_MANGROVE_LOG.get()); - stonecutting(getter, output, TFBlocks.DARK_LOG.get(), TFItems.HOLLOW_DARK_LOG.get()); - stonecutting(getter, output, TFBlocks.TIME_LOG.get(), TFItems.HOLLOW_TIME_LOG.get()); - stonecutting(getter, output, TFBlocks.TRANSFORMATION_LOG.get(), TFItems.HOLLOW_TRANSFORMATION_LOG.get()); - stonecutting(getter, output, TFBlocks.MINING_LOG.get(), TFItems.HOLLOW_MINING_LOG.get()); - stonecutting(getter, output, TFBlocks.SORTING_LOG.get(), TFItems.HOLLOW_SORTING_LOG.get()); - - stonecutting(getter, output, Blocks.OAK_LOG, TFItems.HOLLOW_OAK_LOG.get()); - stonecutting(getter, output, Blocks.SPRUCE_LOG, TFItems.HOLLOW_SPRUCE_LOG.get()); - stonecutting(getter, output, Blocks.BIRCH_LOG, TFItems.HOLLOW_BIRCH_LOG.get()); - stonecutting(getter, output, Blocks.JUNGLE_LOG, TFItems.HOLLOW_JUNGLE_LOG.get()); - stonecutting(getter, output, Blocks.ACACIA_LOG, TFItems.HOLLOW_ACACIA_LOG.get()); - stonecutting(getter, output, Blocks.DARK_OAK_LOG, TFItems.HOLLOW_DARK_OAK_LOG.get()); - stonecutting(getter, output, Blocks.CRIMSON_STEM, TFItems.HOLLOW_CRIMSON_STEM.get()); - stonecutting(getter, output, Blocks.WARPED_STEM, TFItems.HOLLOW_WARPED_STEM.get()); - stonecutting(getter, output, Blocks.MANGROVE_LOG, TFItems.HOLLOW_VANGROVE_LOG.get()); - stonecutting(getter, output, Blocks.CHERRY_LOG, TFItems.HOLLOW_CHERRY_LOG.get()); - stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE.get()); - stonecutting(getter, output, Blocks.STONE, TFBlocks.BOLD_STONE_PILLAR.get()); - stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE_PILLAR.get()); - stonecutting(getter, output, Blocks.STONE, TFBlocks.SPIRAL_BRICKS.get()); - stonecutting(getter, output, TFBlocks.TWISTED_STONE.get(), TFBlocks.TWISTED_STONE_PILLAR.get()); - - stonecutting(getter, output, TFBlocks.UNDERBRICK.get(), TFBlocks.UNDERBRICK_FLOOR.get()); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.THICK_CASTLE_BRICK); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.ENCASED_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.ENCASED_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.CASTLE_BRICK, TFBlocks.CASTLE_ROOF_TILE); + + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.THICK_CASTLE_BRICK); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.CRACKED_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.CRACKED_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.THICK_CASTLE_BRICK); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.WORN_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.WORN_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.THICK_CASTLE_BRICK); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.MOSSY_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.MOSSY_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_PILLAR, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.BOLD_CASTLE_BRICK_TILE, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.ENCASED_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR, TFBlocks.CASTLE_ROOF_TILE); + + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE, TFBlocks.ENCASED_CASTLE_BRICK_STAIRS); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE, TFBlocks.ENCASED_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.ENCASED_CASTLE_BRICK_TILE, TFBlocks.CASTLE_ROOF_TILE); + + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_PILLAR); + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_TILE); + stonecutting(getter, output, TFBlocks.THICK_CASTLE_BRICK, TFBlocks.BOLD_CASTLE_BRICK_STAIRS); + + stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE, TFBlocks.NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.ETCHED_NAGASTONE, TFBlocks.NAGASTONE_STAIRS_RIGHT); + stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.MOSSY_ETCHED_NAGASTONE, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT); + stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.CRACKED_ETCHED_NAGASTONE, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT); + + stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_RIGHT, TFBlocks.NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.NAGASTONE_STAIRS_LEFT, TFBlocks.NAGASTONE_STAIRS_RIGHT); + stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT, TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT); + stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT); + stonecutting(getter, output, TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT, TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT); + + stonecutting(getter, output, TFBlocks.DARK_LOG, TFBlocks.TOWERWOOD); + stonecutting(getter, output, TFBlocks.DARK_WOOD, TFBlocks.TOWERWOOD); + stonecutting(getter, output, TFBlocks.DARK_LOG, TFBlocks.ENCASED_TOWERWOOD); + stonecutting(getter, output, TFBlocks.DARK_WOOD, TFBlocks.ENCASED_TOWERWOOD); + + stonecutting(getter, output, TFBlocks.MAZESTONE, TFBlocks.MAZESTONE_BORDER); + stonecutting(getter, output, TFBlocks.MAZESTONE, TFBlocks.MAZESTONE_BRICK); + stonecutting(getter, output, TFBlocks.MAZESTONE, TFBlocks.CUT_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE, TFBlocks.DECORATIVE_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE, TFBlocks.MAZESTONE_MOSAIC); + + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK, TFBlocks.MAZESTONE_BORDER); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK, TFBlocks.CUT_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK, TFBlocks.DECORATIVE_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_BRICK, TFBlocks.MAZESTONE_MOSAIC); + + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER, TFBlocks.MAZESTONE_BRICK); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER, TFBlocks.CUT_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER, TFBlocks.DECORATIVE_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_BORDER, TFBlocks.MAZESTONE_MOSAIC); + + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE, TFBlocks.MAZESTONE_BORDER); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE, TFBlocks.MAZESTONE_BRICK); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE, TFBlocks.DECORATIVE_MAZESTONE); + stonecutting(getter, output, TFBlocks.CUT_MAZESTONE, TFBlocks.MAZESTONE_MOSAIC); + + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE, TFBlocks.MAZESTONE_BORDER); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE, TFBlocks.CUT_MAZESTONE); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE, TFBlocks.MAZESTONE_BRICK); + stonecutting(getter, output, TFBlocks.DECORATIVE_MAZESTONE, TFBlocks.MAZESTONE_MOSAIC); + + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC, TFBlocks.MAZESTONE_BORDER); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC, TFBlocks.CUT_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC, TFBlocks.DECORATIVE_MAZESTONE); + stonecutting(getter, output, TFBlocks.MAZESTONE_MOSAIC, TFBlocks.MAZESTONE_BRICK); + + stonecutting(getter, output, TFBlocks.TWILIGHT_OAK_LOG, TFItems.HOLLOW_TWILIGHT_OAK_LOG); + stonecutting(getter, output, TFBlocks.CANOPY_LOG, TFItems.HOLLOW_CANOPY_LOG); + stonecutting(getter, output, TFBlocks.MANGROVE_LOG, TFItems.HOLLOW_MANGROVE_LOG); + stonecutting(getter, output, TFBlocks.DARK_LOG, TFItems.HOLLOW_DARK_LOG); + stonecutting(getter, output, TFBlocks.TIME_LOG, TFItems.HOLLOW_TIME_LOG); + stonecutting(getter, output, TFBlocks.TRANSFORMATION_LOG, TFItems.HOLLOW_TRANSFORMATION_LOG); + stonecutting(getter, output, TFBlocks.MINING_LOG, TFItems.HOLLOW_MINING_LOG); + stonecutting(getter, output, TFBlocks.SORTING_LOG, TFItems.HOLLOW_SORTING_LOG); + + stonecutting(getter, output, Blocks.OAK_LOG, TFItems.HOLLOW_OAK_LOG); + stonecutting(getter, output, Blocks.SPRUCE_LOG, TFItems.HOLLOW_SPRUCE_LOG); + stonecutting(getter, output, Blocks.BIRCH_LOG, TFItems.HOLLOW_BIRCH_LOG); + stonecutting(getter, output, Blocks.JUNGLE_LOG, TFItems.HOLLOW_JUNGLE_LOG); + stonecutting(getter, output, Blocks.ACACIA_LOG, TFItems.HOLLOW_ACACIA_LOG); + stonecutting(getter, output, Blocks.DARK_OAK_LOG, TFItems.HOLLOW_DARK_OAK_LOG); + stonecutting(getter, output, Blocks.CRIMSON_STEM, TFItems.HOLLOW_CRIMSON_STEM); + stonecutting(getter, output, Blocks.WARPED_STEM, TFItems.HOLLOW_WARPED_STEM); + stonecutting(getter, output, Blocks.MANGROVE_LOG, TFItems.HOLLOW_VANGROVE_LOG); + stonecutting(getter, output, Blocks.CHERRY_LOG, TFItems.HOLLOW_CHERRY_LOG); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE); + stonecutting(getter, output, Blocks.STONE, TFBlocks.BOLD_STONE_PILLAR); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE_PILLAR); + stonecutting(getter, output, Blocks.STONE, TFBlocks.SPIRAL_BRICKS); + stonecutting(getter, output, TFBlocks.TWISTED_STONE, TFBlocks.TWISTED_STONE_PILLAR); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TERRORCOTTA_ARCS); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TERRORCOTTA_CURVES); + stonecutting(getter, output, Blocks.STONE, TFBlocks.TERRORCOTTA_LINES); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_ARCS, TFBlocks.TERRORCOTTA_CURVES); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_ARCS, TFBlocks.TERRORCOTTA_LINES); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_CURVES, TFBlocks.TERRORCOTTA_ARCS); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_CURVES, TFBlocks.TERRORCOTTA_LINES); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_LINES, TFBlocks.TERRORCOTTA_ARCS); + stonecutting(getter, output, TFBlocks.TERRORCOTTA_LINES, TFBlocks.TERRORCOTTA_CURVES); + stonecutting(getter, output, TFBlocks.UNDERBRICK, TFBlocks.UNDERBRICK_FLOOR); } private static void stonecutting(HolderGetter getter, RecipeOutput recipe, ItemLike input, ItemLike output) { diff --git a/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java b/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java index 9a886bfa19..a807b9d454 100644 --- a/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java +++ b/src/main/java/twilightforest/entity/passive/quest/ram/QuestingRamContext.java @@ -4,7 +4,11 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Items; @@ -12,6 +16,7 @@ import net.minecraft.world.level.storage.loot.LootTable; import twilightforest.loot.TFLootTables; +import java.util.HashMap; import java.util.Map; public record QuestingRamContext(Map questItems, ResourceKey lootTable) { @@ -40,6 +45,12 @@ public record QuestingRamContext(Map questItems, ResourceK ResourceKey.codec(Registries.LOOT_TABLE).fieldOf("reward").forGetter(QuestingRamContext::lootTable) ).apply(instance, QuestingRamContext::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.map(HashMap::new, DyeColor.STREAM_CODEC, Ingredient.CONTENTS_STREAM_CODEC), QuestingRamContext::questItems, + ResourceKey.streamCodec(Registries.LOOT_TABLE), QuestingRamContext::lootTable, + QuestingRamContext::new + ); + private static DataResult> validate(Map map) { int colorFlags = 0; for (var color : map.keySet()) { diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 8ddebbb5b5..f7842e0f05 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -90,7 +90,7 @@ public class TFBlocks { public static final DeferredBlock TWISTED_STONE = registerWithItem("twisted_stone", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock TWISTED_STONE_PILLAR = registerWithItem("twisted_stone_pillar", properties -> new WallPillarBlock(12, 16, properties), () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock SKULL_CHEST = registerWithItem("skull_chest", SkullChestBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_LIGHT_GRAY).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(3.0F, 100.0F)); - public static final DeferredBlock KEEPSAKE_CASKET = registerWithItem("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 1200.0F)); + public static final DeferredBlock KEEPSAKE_CASKET = register("keepsake_casket", KeepsakeCasketBlock::new, () -> BlockBehaviour.Properties.of().lightLevel(state -> state.getValue(BlockLoggingEnum.MULTILOGGED) == BlockLoggingEnum.LAVA ? 15 : 0).mapColor(MapColor.COLOR_BLACK).noOcclusion().pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 1200.0F)); public static final DeferredBlock BOLD_STONE_PILLAR = registerWithItem("bold_stone_pillar", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE).strength(1.5F, 6.0F)); public static final DeferredBlock CHISELED_CANOPY_BOOKSHELF = registerWithItem("chiseled_canopy_bookshelf", ChiseledCanopyShelfBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_BROWN).sound(SoundType.CHISELED_BOOKSHELF).strength(2.5F)); public static final DeferredBlock CANDELABRA = registerWithItem("candelabra", CandelabraBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(1.5F)); @@ -113,7 +113,7 @@ public class TFBlocks { public static final DeferredBlock CORONATION_CARPET = registerWithItem("coronation_carpet", properties -> new WoolCarpetBlock(DyeColor.RED, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.RED_CARPET).isValidSpawn(Blocks::always)); //ominous - public static final DeferredBlock OMINOUS_FIRE = BLOCKS.register("ominous_fire", () -> new OminousFireBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_PURPLE).replaceable().noCollission().instabreak().lightLevel((state) -> 15).sound(SoundType.WOOL).pushReaction(PushReaction.DESTROY))); + public static final DeferredBlock OMINOUS_FIRE = register("ominous_fire", OminousFireBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_PURPLE).replaceable().noCollission().instabreak().lightLevel((state) -> 15).sound(SoundType.WOOL).pushReaction(PushReaction.DESTROY)); public static final DeferredBlock OMINOUS_CANDLE = ominousCandle("ominous_candle", MapColor.SAND, Blocks.CANDLE); public static final DeferredBlock OMINOUS_WHITE_CANDLE = ominousCandle("ominous_white_candle", MapColor.WOOL, Blocks.WHITE_CANDLE); public static final DeferredBlock OMINOUS_ORANGE_CANDLE = ominousCandle("ominous_orange_candle", MapColor.COLOR_ORANGE, Blocks.ORANGE_CANDLE); @@ -652,15 +652,13 @@ public static DeferredBlock registerWroughtFence(String nam } public static DeferredBlock ominousCandle(String name, MapColor mapColor, Block candle) { - return BLOCKS.register(name, () -> new OminousCandleBlock(candle, - BlockBehaviour.Properties.of() + return register(name, properties -> new OminousCandleBlock(candle, properties), () -> BlockBehaviour.Properties.of() .mapColor(mapColor) .noOcclusion() .strength(0.1F) .sound(SoundType.CANDLE) .lightLevel(state -> 2 * state.getValue(OminousCandleBlock.CANDLES)) - .pushReaction(PushReaction.DESTROY) - )); + .pushReaction(PushReaction.DESTROY)); } private static BlockBehaviour.Properties logProperties(MapColor color) { diff --git a/src/main/java/twilightforest/network/SyncQuestsPacket.java b/src/main/java/twilightforest/network/SyncQuestsPacket.java index 82d26870f8..01e2249a07 100644 --- a/src/main/java/twilightforest/network/SyncQuestsPacket.java +++ b/src/main/java/twilightforest/network/SyncQuestsPacket.java @@ -17,7 +17,7 @@ public record SyncQuestsPacket(QuestingRamContext ram) implements CustomPacketPa public static final Type TYPE = new Type<>(TwilightForestMod.prefix("sync_quests")); public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.fromCodec(QuestingRamContext.CODEC), SyncQuestsPacket::ram, + QuestingRamContext.STREAM_CODEC, SyncQuestsPacket::ram, SyncQuestsPacket::new ); diff --git a/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java b/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java index 1a020943c8..deb350380a 100644 --- a/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java +++ b/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java @@ -11,7 +11,8 @@ import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; import net.minecraft.util.ExtraCodecs; import net.minecraft.util.profiling.ProfilerFiller; -import net.neoforged.neoforge.event.AddReloadListenerEvent; +import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent; +import net.neoforged.neoforge.event.AddServerReloadListenersEvent; import twilightforest.TwilightForestMod; import java.util.ArrayList; @@ -79,7 +80,7 @@ protected void deserialize(ResourceManager manager, ResourceLocation location, J /** * Intentionally not subscribed, it is on the subclasses to opt into subscription */ - public void registerListener(AddReloadListenerEvent event) { - event.addListener(this); + public void registerListener(ResourceLocation name, AddServerReloadListenersEvent event) { + event.addListener(name, this); } } From 1a08ad9df74723ba30c70235dfe9c4696cac43ae Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 31 Mar 2025 13:00:24 -0600 Subject: [PATCH 053/239] some block work --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 47 ++++++++++++------ .../items/alpha_yeti_boss_spawner.json | 6 +++ .../twilightforest/items/antibuilder.json | 6 +++ .../items/arctic_fur_block.json | 6 +++ .../items/beanstalk_leaves.json | 6 +++ .../items/blue_castle_door.json | 6 +++ .../items/blue_force_field.json | 6 +++ .../items/bold_castle_brick_pillar.json | 6 +++ .../items/bold_castle_brick_tile.json | 6 +++ .../items/final_boss_boss_spawner.json | 6 +++ .../items/hydra_boss_spawner.json | 6 +++ .../items/knight_phantom_boss_spawner.json | 6 +++ .../items/lich_boss_spawner.json | 6 +++ .../items/minoshroom_boss_spawner.json | 6 +++ .../items/naga_boss_spawner.json | 6 +++ .../items/snow_queen_boss_spawner.json | 6 +++ .../items/ur_ghast_boss_spawner.json | 6 +++ .../models/block/alpha_yeti_boss_spawner.json | 3 +- .../models/block/antibuilder.json | 38 ++++++++++++++ .../models/block/antibuilt_block.json | 38 ++++++++++++++ .../models/block/beanstalk_leaves.json | 2 +- .../models/block/blue_castle_door.json | 4 +- .../block/blue_castle_door_vanished.json | 4 +- .../models/block/final_boss_boss_spawner.json | 3 +- .../models/block/hydra_boss_spawner.json | 3 +- .../block/knight_phantom_boss_spawner.json | 3 +- .../models/block/lich_boss_spawner.json | 3 +- .../models/block/minoshroom_boss_spawner.json | 3 +- .../models/block/naga_boss_spawner.json | 3 +- .../models/block/snow_queen_boss_spawner.json | 3 +- .../models/block/ur_ghast_boss_spawner.json | 3 +- .../models/item/blue_force_field.json | 6 +++ .../data/helpers/BlockModelBuilders.java | 47 ++++++++++++++++-- .../data/models/BlockModelGenerator.java | 11 ++-- .../data/models/TFBlockModelTemplates.java | 13 +++++ .../data/models/TFTextureSlot.java | 3 ++ .../data/recipes/RecipePriorityGenerator.java | 4 ++ ...ayer_2.png => antibuilt_block_layer_1.png} | Bin ..._side.png => bold_castle_brick_pillar.png} | Bin ...d.png => bold_castle_brick_pillar_top.png} | Bin 40 files changed, 304 insertions(+), 36 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/items/alpha_yeti_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/antibuilder.json create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_fur_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/beanstalk_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/blue_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/blue_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/items/bold_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/bold_castle_brick_tile.json create mode 100644 src/generated/resources/assets/twilightforest/items/final_boss_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/hydra_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/knight_phantom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/lich_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/minoshroom_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/snow_queen_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/ur_ghast_boss_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/blue_force_field.json rename src/main/resources/assets/twilightforest/textures/block/{antibuilt_block_layer_2.png => antibuilt_block_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{bold_castle_brick_pillar_side.png => bold_castle_brick_pillar.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{bold_castle_brick_pillar_end.png => bold_castle_brick_pillar_top.png} (100%) diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 2cc64e23d6..aacbf53c19 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T09:20:45.80649 Model Definitions - twilightforest +// 1.21.4 2025-03-31T12:01:44.0506762 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json @@ -104,6 +104,14 @@ f532e1fbce487d08e488af25b67f3026e8201d4a assets/twilightforest/blockstates/twili da289dbfb7e9f17190a07936eefe0305ae8aa974 assets/twilightforest/blockstates/twilight_oak_trapdoor.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json +b7780075e20499c3fd06f7afc881eb8e472a7609 assets/twilightforest/items/alpha_yeti_boss_spawner.json +92d0a73026c975799bf3a2e86562acb5d2af854e assets/twilightforest/items/antibuilder.json +a964f4cddd0c2aa08817c8bcbeb75ec4eca41234 assets/twilightforest/items/arctic_fur_block.json +f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json +fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json +2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json +c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle_brick_pillar.json +331a56341dafff69c9721952e7616aca780204e3 assets/twilightforest/items/bold_castle_brick_tile.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json @@ -118,6 +126,10 @@ a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.j cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.json a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json 339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json +8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json +c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json +eeb54f9a457cbeeb747c58b34e05717097c79a84 assets/twilightforest/items/knight_phantom_boss_spawner.json +7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_door.json 5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json @@ -132,6 +144,9 @@ e8a66df2bf3e1f6a9e84bac4c1c09e4fc56c2848 assets/twilightforest/items/mining_sign e889009d9681774dbc370b0c630366d49abe95fe assets/twilightforest/items/mining_slab.json 2d32082ac1f2517b6c3ea3731adcb5e099b4fe3b assets/twilightforest/items/mining_stairs.json 6703b965683fbf38794397a4ce743647a05e7451 assets/twilightforest/items/mining_trapdoor.json +adae1e7d2c2941d7ecf3f7969fc91e74819e0a66 assets/twilightforest/items/minoshroom_boss_spawner.json +94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json +238107c9dd762703912b51c1523c7b5da2b90375 assets/twilightforest/items/snow_queen_boss_spawner.json 7c8e8ecfeacf342741493c5db39fed961fd0e90f assets/twilightforest/items/sorting_button.json efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_door.json a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json @@ -160,13 +175,14 @@ a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oa 78daec2b3c6b1ec90b1eec30869e1634c7b23335 assets/twilightforest/items/twilight_oak_slab.json fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json -db392965d48bf345d90b3177922214fc07e3bc0a assets/twilightforest/models/block/antibuilder.json -5667eb8cb1a006b5cb880477eed84756d48207a0 assets/twilightforest/models/block/antibuilt_block.json +d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json +1c9b118da8b3090df8d92e90d01bc3dbd790c65c assets/twilightforest/models/block/antibuilder.json +67b8a168a06362405dddac226d485ca66b721ade assets/twilightforest/models/block/antibuilt_block.json ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json -12615ed50b0962fdc76ec4559fdbeac89080b452 assets/twilightforest/models/block/beanstalk_leaves.json -d25fb494fa6197210ebbaa4f6ab0b7cc74bc0ea9 assets/twilightforest/models/block/blue_castle_door.json -d7bcc2833e84435726085b91edca86c5a7e3730f assets/twilightforest/models/block/blue_castle_door_vanished.json +c4202e9aeccc99a778c4f0af099cdeff1153c190 assets/twilightforest/models/block/beanstalk_leaves.json +755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/blue_castle_door.json +f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue_castle_door_vanished.json 894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json @@ -231,10 +247,10 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 1dde0cc9bf4f2ae54778c077ea5100fbbb11bbb1 assets/twilightforest/models/block/dark_trapdoor_bottom.json 55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json 3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/final_boss_boss_spawner.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/hydra_boss_spawner.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/knight_phantom_boss_spawner.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/lich_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json 6301c0d8258d64039633c9a4884d4244e7e8488b assets/twilightforest/models/block/mangrove_button.json 0f626ec10c5cc7333636c4ba6b5a7360dd18a38b assets/twilightforest/models/block/mangrove_button_inventory.json 195109b61531e9fb2868134873bc0f0132689824 assets/twilightforest/models/block/mangrove_button_pressed.json @@ -295,9 +311,9 @@ fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mini 24acf462935ca7b521a5cb5cd807f8cb92d9b9c1 assets/twilightforest/models/block/mining_trapdoor_bottom.json cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mining_trapdoor_open.json 2b9daccb27b2a0100871cc8048cbb44580776f53 assets/twilightforest/models/block/mining_trapdoor_top.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/minoshroom_boss_spawner.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/naga_boss_spawner.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/snow_queen_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/naga_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sorting_button.json 192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json @@ -418,7 +434,8 @@ fdc5ce124af7f7eb3500288862d1375090721fc8 assets/twilightforest/models/block/twil b4662a4c6dca19b04b9d443bd54f099da5ac903e assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twilight_oak_trapdoor_open.json 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json -a8f7fc8c30cb77143ddb96038fd1d89e200e01c5 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json diff --git a/src/generated/resources/assets/twilightforest/items/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/alpha_yeti_boss_spawner.json new file mode 100644 index 0000000000..a6d7e9202b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/alpha_yeti_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/alpha_yeti_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/antibuilder.json b/src/generated/resources/assets/twilightforest/items/antibuilder.json new file mode 100644 index 0000000000..a4ec5b1eaa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/antibuilder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/antibuilder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/arctic_fur_block.json b/src/generated/resources/assets/twilightforest/items/arctic_fur_block.json new file mode 100644 index 0000000000..af4a541863 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_fur_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/arctic_fur_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/items/beanstalk_leaves.json new file mode 100644 index 0000000000..f7b13e0116 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/beanstalk_leaves.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/beanstalk_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/blue_castle_door.json b/src/generated/resources/assets/twilightforest/items/blue_castle_door.json new file mode 100644 index 0000000000..c754fa6705 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/blue_castle_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/blue_castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/blue_force_field.json b/src/generated/resources/assets/twilightforest/items/blue_force_field.json new file mode 100644 index 0000000000..af2ced76b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/blue_force_field.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/blue_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/bold_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_pillar.json new file mode 100644 index 0000000000..c7aa9257f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/bold_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/bold_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_tile.json new file mode 100644 index 0000000000..6441be26d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_tile.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/final_boss_boss_spawner.json new file mode 100644 index 0000000000..a18f938167 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/final_boss_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/final_boss_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/hydra_boss_spawner.json new file mode 100644 index 0000000000..f062e21f68 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hydra_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hydra_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/knight_phantom_boss_spawner.json new file mode 100644 index 0000000000..eb14db0629 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knight_phantom_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/knight_phantom_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/lich_boss_spawner.json new file mode 100644 index 0000000000..cba6c84394 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/lich_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/lich_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/minoshroom_boss_spawner.json new file mode 100644 index 0000000000..f7dbe9a7fd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/minoshroom_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/minoshroom_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/naga_boss_spawner.json new file mode 100644 index 0000000000..f88024e958 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/naga_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/snow_queen_boss_spawner.json new file mode 100644 index 0000000000..e1a7f747cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/snow_queen_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/snow_queen_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/items/ur_ghast_boss_spawner.json new file mode 100644 index 0000000000..948d9a5fae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ur_ghast_boss_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/ur_ghast_boss_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/alpha_yeti_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json index b0166d9349..27221e5ed2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json @@ -1,6 +1,44 @@ { "parent": "minecraft:block/cube_all", "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#all" + }, + "east": { + "cullface": "east", + "texture": "#all" + }, + "north": { + "cullface": "north", + "texture": "#all" + }, + "south": { + "cullface": "south", + "texture": "#all" + }, + "up": { + "cullface": "up", + "texture": "#all" + }, + "west": { + "cullface": "west", + "texture": "#all" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + }, { "faces": { "down": { diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json index 58f341e0dc..c249e4c520 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json @@ -1,6 +1,44 @@ { "parent": "minecraft:block/cube_all", "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#all" + }, + "east": { + "cullface": "east", + "texture": "#all" + }, + "north": { + "cullface": "north", + "texture": "#all" + }, + "south": { + "cullface": "south", + "texture": "#all" + }, + "up": { + "cullface": "up", + "texture": "#all" + }, + "west": { + "cullface": "west", + "texture": "#all" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + }, { "faces": { "down": { diff --git a/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json b/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json index 73c321bcf2..0a0ccc0020 100644 --- a/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/beanstalk_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_all", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "twilightforest:block/beanstalk_leaves" + "all": "minecraft:block/azalea_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json index b33954e150..a50ecb6d33 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json @@ -15,8 +15,8 @@ "render_type": "minecraft:cutout", "textures": { "base_texture": "twilightforest:block/castle_door", - "overlay_connected": "twilightforest:castle_door_runes_ctm", - "overlay_texture": "twilightforest:castle_door_runes", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", "particle": "twilightforest:block/castle_door" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json index 459dfc1f7e..e32ac6158b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json @@ -15,8 +15,8 @@ "render_type": "minecraft:cutout", "textures": { "base_texture": "twilightforest:block/castle_door_vanished", - "overlay_connected": "twilightforest:castle_door_runes_ctm", - "overlay_texture": "twilightforest:castle_door_runes", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", "particle": "twilightforest:block/castle_door_vanished" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/final_boss_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/hydra_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/knight_phantom_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/lich_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/minoshroom_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/naga_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/snow_queen_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json b/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json index fd2568da8f..877fc4e883 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json +++ b/src/generated/resources/assets/twilightforest/models/block/ur_ghast_boss_spawner.json @@ -1,6 +1,7 @@ { "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:boss_spawner" + "all": "twilightforest:block/boss_spawner" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json new file mode 100644 index 0000000000..b0c8349e94 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/blue_force_field" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java index 1949324027..2022814ba9 100644 --- a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java +++ b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java @@ -5,15 +5,19 @@ import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.PipeBlock; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; +import twilightforest.block.ThornsBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; import twilightforest.data.models.TFBlockModelTemplates; import twilightforest.data.models.TFTextureMapping; +import twilightforest.data.models.TFTextureSlot; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; @@ -29,18 +33,30 @@ public BlockModelBuilders(Consumer stateOutput, ItemModelOu @Override public abstract void run(); + public void wrapBlockItem(Block block, Consumer blockRegistry) { + blockRegistry.accept(block); + this.createBlockItem(block); + } + + public void createBlockItem(Block block) { + this.registerSimpleItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/")); + } + public void bossSpawner(Block block) { - TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix("boss_spawner")); - this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL_INNER_FACES.create(block, texturemapping, this.modelOutput))); + TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix("block/boss_spawner")); + this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL_INNER_FACES.extend().renderType("cutout").build().create(block, texturemapping, this.modelOutput))); + this.createBlockItem(block); } public void basicCtmBlock(Block block) { this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput))); + this.createBlockItem(block); } public void castleDoor(Block block) { - Function door = bool -> TFBlockModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("castle_door_runes")), this.modelOutput); + Function door = bool -> TFBlockModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("block/castle_door_runes")), this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(CastleDoorBlock.VANISHED).select(true, Variant.variant().with(VariantProperties.MODEL, door.apply(true))).select(false, Variant.variant().with(VariantProperties.MODEL, door.apply(false))))); + this.createBlockItem(block); } public void stairsBlock(Block block) { @@ -52,6 +68,15 @@ public void stairsBlock(Block block) { this.registerSimpleItemModel(block, straight); } + public void coolerStairsBlock(Block block, ResourceLocation middle) { + var mapping = TextureMapping.cube(block).put(TFTextureSlot.MIDDLE, middle); + ResourceLocation inner = TFBlockModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); + ResourceLocation straight = TFBlockModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); + ResourceLocation outer = TFBlockModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); + this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); + this.registerSimpleItemModel(block, straight); + } + public void simpleBlockWithRenderType(Block block, String type) { this.blockWithRenderType(block, type, ModelTemplates.CUBE_ALL, TextureMapping::cube); } @@ -60,6 +85,21 @@ public void blockWithRenderType(Block block, String type, ModelTemplate template this.blockStateOutput.accept(createSimpleBlock(block, template.extend().renderType(type).build().create(block, mapping.apply(block), this.modelOutput))); } + public void thorns(Block block) { + var mapping = TextureMapping.column(block); + ResourceLocation main = TFBlockModelTemplates.THORNS_MAIN.createWithSuffix(block, "_inner", mapping, this.modelOutput); + ResourceLocation bottom = TFBlockModelTemplates.THORNS_BOTTOM.create(block, mapping, this.modelOutput); + ResourceLocation top = TFBlockModelTemplates.THORNS_TOP.createWithSuffix(block, "_outer", mapping, this.modelOutput); + ResourceLocation side = TFBlockModelTemplates.THORNS_SIDE.createWithSuffix(block, "_outer", mapping, this.modelOutput); + ResourceLocation sideAlt = TFBlockModelTemplates.THORNS_SIDE_ALT.createWithSuffix(block, "_outer", mapping, this.modelOutput); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, main)) + .with(PropertyDispatch.property(ThornsBlock.AXIS) + .select(Direction.Axis.X, Variant.variant().with(VariantProperties.MODEL, main).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.Axis.Z, Variant.variant().with(VariantProperties.MODEL, main).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90))) + .with(PropertyDispatch.properties(PipeBlock.UP, ThornsBlock.AXIS) + .generate((up, axis) -> Variant.variant().with(VariantProperties.MODEL, up ? top : sideAlt).with(VariantProperties.X_ROT, up ? VariantProperties.Rotation.R90 : VariantProperties.Rotation.R270)))); + } + public void forcefield(Block block) { this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { //WEST @@ -194,5 +234,6 @@ public void forcefield(Block block) { .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end(); }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); + this.registerSimpleFlatItemModel(block); } } diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/main/java/twilightforest/data/models/BlockModelGenerator.java index e97182b77b..1857d692ad 100644 --- a/src/main/java/twilightforest/data/models/BlockModelGenerator.java +++ b/src/main/java/twilightforest/data/models/BlockModelGenerator.java @@ -3,6 +3,8 @@ import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.BlockStateGenerator; import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.client.data.models.model.ModelTemplates; +import net.minecraft.client.data.models.model.TextureMapping; import net.minecraft.client.data.models.model.TexturedModel; import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; @@ -33,14 +35,15 @@ public void run() { this.bossSpawner(TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()); this.bossSpawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()); - this.blockWithRenderType(TFBlocks.ANTIBUILDER.get(), "cutout", TFBlockModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFBlockModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFBlockModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); //TODO aurora blocks - this.simpleBlockWithRenderType(TFBlocks.BEANSTALK_LEAVES.get(), "cutout_mipped"); + this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); - this.createRotatedPillarWithHorizontalVariant(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT); - this.createTrivialCube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get()); + this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.stairsBlock(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), this::createTrivialCube); } } diff --git a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java index f5bf9d6812..1f5d792720 100644 --- a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java +++ b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java @@ -4,19 +4,32 @@ import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; public class TFBlockModelTemplates extends ModelTemplates { public static final ModelTemplate ANTIBUILDER = create("antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(15, 15).texture(TFTextureSlot.ALL_2).cullface(direction))) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_3).cullface(direction))).build(); public static final ModelTemplate ANTIBUILT_BLOCK = create("antibuilt_block", TextureSlot.ALL, TFTextureSlot.ALL_2).extend() .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); + public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_INNER = create("bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_OUTER = create("bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate FORCEFIELD = create("forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); public static final ModelTemplate CTM_NO_BASE = create("ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate CTM = create("ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + public static final ModelTemplate THORNS_MAIN = create("thorns_main", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_main")).renderType("cutout").build(); + public static final ModelTemplate THORNS_TOP = create("thorns_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_top")).renderType("cutout").build(); + public static final ModelTemplate THORNS_BOTTOM = create("thorns_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_bottom")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SIDE = create("thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SIDE_ALT = create("thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + } diff --git a/src/main/java/twilightforest/data/models/TFTextureSlot.java b/src/main/java/twilightforest/data/models/TFTextureSlot.java index 5cc63c88e1..0ad6878349 100644 --- a/src/main/java/twilightforest/data/models/TFTextureSlot.java +++ b/src/main/java/twilightforest/data/models/TFTextureSlot.java @@ -7,6 +7,9 @@ public class TFTextureSlot { public static final TextureSlot ALL_2 = TextureSlot.create("all_2"); public static final TextureSlot ALL_3 = TextureSlot.create("all_3"); + public static final TextureSlot MIDDLE = TextureSlot.create("middle"); + + public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); public static final TextureSlot CTM_OVERLAY_CONNECTED = TextureSlot.create("overlay_connected"); diff --git a/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java b/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java index 761ea0819d..858bbf543e 100644 --- a/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java +++ b/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java @@ -1,10 +1,14 @@ package twilightforest.data.recipes; +import com.google.gson.JsonObject; import net.minecraft.core.HolderLookup; +import net.minecraft.data.CachedOutput; +import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.neoforged.neoforge.common.data.RecipePrioritiesProvider; import twilightforest.TwilightForestMod; +import java.nio.file.Path; import java.util.concurrent.CompletableFuture; public class RecipePriorityGenerator extends RecipePrioritiesProvider { diff --git a/src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_2.png b/src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_2.png rename to src/main/resources/assets/twilightforest/textures/block/antibuilt_block_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_side.png b/src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_side.png rename to src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar.png diff --git a/src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_end.png b/src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_end.png rename to src/main/resources/assets/twilightforest/textures/block/bold_castle_brick_pillar_top.png From 0f01ca0d35caedde5e56316a3865d85e74a6277a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Tue, 1 Apr 2025 00:46:35 +0200 Subject: [PATCH 054/239] Port thorn block model generation --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 31 +- .../blockstates/bold_castle_brick_stairs.json | 209 +++++++++++++ .../blockstates/brown_thorns.json | 275 ++++++++++++++++++ .../blockstates/burnt_thorns.json | 275 ++++++++++++++++++ .../blockstates/green_thorns.json | 275 ++++++++++++++++++ .../items/bold_castle_brick_stairs.json | 6 + .../twilightforest/items/brown_thorns.json | 6 + .../twilightforest/items/burnt_thorns.json | 6 + .../twilightforest/items/green_thorns.json | 6 + .../block/bold_castle_brick_stairs.json | 8 + .../bold_castle_brick_stairs_inner_inner.json | 8 + .../bold_castle_brick_stairs_outer_outer.json | 8 + .../models/block/brown_thorns_bottom.json | 8 + .../models/block/brown_thorns_main.json | 8 + .../models/block/brown_thorns_no_section.json | 8 + .../block/brown_thorns_no_section_alt.json | 8 + .../models/block/brown_thorns_thorns.json | 8 + .../models/block/brown_thorns_top.json | 8 + .../models/block/burnt_thorns_bottom.json | 8 + .../models/block/burnt_thorns_main.json | 8 + .../models/block/burnt_thorns_no_section.json | 8 + .../block/burnt_thorns_no_section_alt.json | 8 + .../models/block/burnt_thorns_thorns.json | 8 + .../models/block/burnt_thorns_top.json | 8 + .../models/block/green_thorns_bottom.json | 8 + .../models/block/green_thorns_main.json | 8 + .../models/block/green_thorns_no_section.json | 8 + .../block/green_thorns_no_section_alt.json | 8 + .../models/block/green_thorns_thorns.json | 8 + .../models/block/green_thorns_top.json | 8 + .../data/helpers/BlockModelBuilders.java | 124 +++++++- .../data/models/BlockModelGenerator.java | 4 + .../data/models/TFBlockModelTemplates.java | 9 +- 33 files changed, 1376 insertions(+), 18 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/green_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/items/bold_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/brown_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/items/burnt_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/items/green_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_main.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_main.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_main.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index aacbf53c19..3900626be3 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T12:01:44.0506762 Model Definitions - twilightforest +// 1.21.4 2025-04-01T00:42:17.1952715 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json @@ -7,7 +7,10 @@ ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arcti 235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_force_field.json 8d271d7a5aa135f9f6f57083a1aaa726f18515ce assets/twilightforest/blockstates/bold_castle_brick_pillar.json +d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_castle_brick_stairs.json 837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json +54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json +8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json cfe988b1223e7a93d2cc92548cbc81f1c989edf3 assets/twilightforest/blockstates/canopy_fence.json @@ -31,6 +34,7 @@ aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_ 6f132b9ec72b4a4c18947540e9493eeddfe08f52 assets/twilightforest/blockstates/dark_trapdoor.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json +99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 4ce6459423e55eb6ee68205584fc72fdf2ff325b assets/twilightforest/blockstates/knight_phantom_boss_spawner.json 2c26b31ae37dff2a5430d8717b074dab52ad0b74 assets/twilightforest/blockstates/lich_boss_spawner.json @@ -111,7 +115,10 @@ f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_l fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json 2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle_brick_pillar.json +ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle_brick_stairs.json 331a56341dafff69c9721952e7616aca780204e3 assets/twilightforest/items/bold_castle_brick_tile.json +c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorns.json +7fcee9a21dc23e5a2947d6bc3a7dd8ab95377639 assets/twilightforest/items/burnt_thorns.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json @@ -127,6 +134,7 @@ cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.j a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json 339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json +d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json eeb54f9a457cbeeb747c58b34e05717097c79a84 assets/twilightforest/items/knight_phantom_boss_spawner.json 7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json @@ -186,7 +194,22 @@ f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue 894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json +b0c7eda2b12e6542f8853f37b9911186d4fde316 assets/twilightforest/models/block/bold_castle_brick_stairs.json +c935e32f0890f62b1b21093df948648c54609a2b assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json +991bcec9affa1e1d34c80011f7227f575ffe0ada assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json +45f0e7513a99924387702ce251ec64a6fabc1d8c assets/twilightforest/models/block/brown_thorns_bottom.json +0e9f345aea9692c2b708dd7e2cd5e96cb6abee63 assets/twilightforest/models/block/brown_thorns_main.json +3cc128ae4c9e151a6c9cb2efb615da18b1b4b6b0 assets/twilightforest/models/block/brown_thorns_no_section.json +8e52a7f96e67b981796584af76ebd22ab2a28e92 assets/twilightforest/models/block/brown_thorns_no_section_alt.json +52b0fb15b80228b9297770997df8724f771133b1 assets/twilightforest/models/block/brown_thorns_thorns.json +5a8afd3fdb70f78be26ee033766a3a2ac643f027 assets/twilightforest/models/block/brown_thorns_top.json +1b533d9d66efaa6f21b7f84bfa6c742b15f6a09d assets/twilightforest/models/block/burnt_thorns_bottom.json +935643a433f3ad29eefb164a8d03fd67f7a823b8 assets/twilightforest/models/block/burnt_thorns_main.json +2ce68a0b10b6070ed346988f3a4b443b1893b1f2 assets/twilightforest/models/block/burnt_thorns_no_section.json +c68f5d771564b2d313b3b29c1e16638807db599d assets/twilightforest/models/block/burnt_thorns_no_section_alt.json +95a413f0d0f15f7f9b643cde288f41581a8a9417 assets/twilightforest/models/block/burnt_thorns_thorns.json +50f07dcee536e9077ed2626596950ae3a9aa3068 assets/twilightforest/models/block/burnt_thorns_top.json d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json 74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json 83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json @@ -248,6 +271,12 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json 3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json +d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json +7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json +b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json +d33e39d98f049f1f984a172f6d4586aeecfc251b assets/twilightforest/models/block/green_thorns_no_section_alt.json +27ceb320e50eb4125595271065810ad48265f66b assets/twilightforest/models/block/green_thorns_thorns.json +e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json new file mode 100644 index 0000000000..19be0734ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/bold_castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/bold_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/bold_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json new file mode 100644 index 0000000000..4ea7f654a3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/brown_thorns.json @@ -0,0 +1,275 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/brown_thorns_thorns" + }, + "when": { + "axis": "y" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_thorns", + "x": 90 + }, + "when": { + "axis": "z" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_thorns", + "x": 90, + "y": 90 + }, + "when": { + "axis": "x" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_top", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "x": 270 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "x": 270, + "y": 90 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_bottom", + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "x": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_top", + "y": 270 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section_alt", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_bottom", + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section_alt", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_top" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section_alt", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_bottom" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/brown_thorns_no_section_alt" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "x" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json new file mode 100644 index 0000000000..c3a19f75a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/burnt_thorns.json @@ -0,0 +1,275 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/burnt_thorns_thorns" + }, + "when": { + "axis": "y" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_thorns", + "x": 90 + }, + "when": { + "axis": "z" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_thorns", + "x": 90, + "y": 90 + }, + "when": { + "axis": "x" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_top", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "x": 270 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "x": 270, + "y": 90 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_bottom", + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "x": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_top", + "y": 270 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section_alt", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_bottom", + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section_alt", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_top" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section_alt", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_bottom" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/burnt_thorns_no_section_alt" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "x" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json b/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json new file mode 100644 index 0000000000..f9dba82f47 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/green_thorns.json @@ -0,0 +1,275 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/green_thorns_thorns" + }, + "when": { + "axis": "y" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_thorns", + "x": 90 + }, + "when": { + "axis": "z" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_thorns", + "x": 90, + "y": 90 + }, + "when": { + "axis": "x" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_top", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "x": 270 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "x": 270, + "y": 90 + }, + "when": { + "AND": [ + { + "up": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_bottom", + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "x": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "z|y" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "down": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_top", + "y": 270 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section_alt", + "y": 90 + }, + "when": { + "AND": [ + { + "east": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_bottom", + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "y|x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section_alt", + "y": 270 + }, + "when": { + "AND": [ + { + "west": "false" + }, + { + "axis": "z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_top" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section_alt", + "y": 180 + }, + "when": { + "AND": [ + { + "south": "false" + }, + { + "axis": "x" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_bottom" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "y|z" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/green_thorns_no_section_alt" + }, + "when": { + "AND": [ + { + "north": "false" + }, + { + "axis": "x" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_stairs.json new file mode 100644 index 0000000000..8a31d519be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/bold_castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/bold_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/brown_thorns.json b/src/generated/resources/assets/twilightforest/items/brown_thorns.json new file mode 100644 index 0000000000..c6d1fc850a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/brown_thorns.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/brown_thorns_main" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/burnt_thorns.json b/src/generated/resources/assets/twilightforest/items/burnt_thorns.json new file mode 100644 index 0000000000..38e3002a5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/burnt_thorns.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/burnt_thorns_main" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/green_thorns.json b/src/generated/resources/assets/twilightforest/items/green_thorns.json new file mode 100644 index 0000000000..c6af33340f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/green_thorns.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/green_thorns_main" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json new file mode 100644 index 0000000000..fcb7d32236 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_stairs", + "side": "twilightforest:block/bold_castle_brick_stairs", + "top": "twilightforest:block/bold_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..20a9eb2ff2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_stairs", + "side": "twilightforest:block/bold_castle_brick_stairs", + "top": "twilightforest:block/bold_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..7698120d66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_stairs", + "side": "twilightforest:block/bold_castle_brick_stairs", + "top": "twilightforest:block/bold_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json new file mode 100644 index 0000000000..95eb3f5a65 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_bottom", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_main.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_main.json new file mode 100644 index 0000000000..f1d233108c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_main.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_main", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json new file mode 100644 index 0000000000..9a4184a902 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json new file mode 100644 index 0000000000..379f62bf73 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_no_section_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section_alt", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json new file mode 100644 index 0000000000..bad55ab275 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_thorns.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json new file mode 100644 index 0000000000..2eeeec976b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brown_thorns_top.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_top", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json new file mode 100644 index 0000000000..dfb94c281a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_bottom", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_main.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_main.json new file mode 100644 index 0000000000..e07dabe882 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_main.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_main", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json new file mode 100644 index 0000000000..f1c71584cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json new file mode 100644 index 0000000000..eb5ca667d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_no_section_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section_alt", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json new file mode 100644 index 0000000000..cdf2347f98 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_thorns.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json new file mode 100644 index 0000000000..993dacf0c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/burnt_thorns_top.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_top", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json new file mode 100644 index 0000000000..cd9c1a17a0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_bottom", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_main.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_main.json new file mode 100644 index 0000000000..f2783d4a3a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_main.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_main", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json new file mode 100644 index 0000000000..063ae2ce06 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json new file mode 100644 index 0000000000..38e74d5584 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_no_section_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_no_section_alt", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json new file mode 100644 index 0000000000..01904ec29b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_thorns.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json b/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json new file mode 100644 index 0000000000..4a657394c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_thorns_top.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/thorns_section_top", + "render_type": "minecraft:cutout", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java index 2022814ba9..86ad0efbd6 100644 --- a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java +++ b/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java @@ -9,9 +9,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.RotatedPillarBlock; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; -import twilightforest.block.ThornsBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -86,18 +86,116 @@ public void blockWithRenderType(Block block, String type, ModelTemplate template } public void thorns(Block block) { - var mapping = TextureMapping.column(block); - ResourceLocation main = TFBlockModelTemplates.THORNS_MAIN.createWithSuffix(block, "_inner", mapping, this.modelOutput); - ResourceLocation bottom = TFBlockModelTemplates.THORNS_BOTTOM.create(block, mapping, this.modelOutput); - ResourceLocation top = TFBlockModelTemplates.THORNS_TOP.createWithSuffix(block, "_outer", mapping, this.modelOutput); - ResourceLocation side = TFBlockModelTemplates.THORNS_SIDE.createWithSuffix(block, "_outer", mapping, this.modelOutput); - ResourceLocation sideAlt = TFBlockModelTemplates.THORNS_SIDE_ALT.createWithSuffix(block, "_outer", mapping, this.modelOutput); - this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, main)) - .with(PropertyDispatch.property(ThornsBlock.AXIS) - .select(Direction.Axis.X, Variant.variant().with(VariantProperties.MODEL, main).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) - .select(Direction.Axis.Z, Variant.variant().with(VariantProperties.MODEL, main).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90))) - .with(PropertyDispatch.properties(PipeBlock.UP, ThornsBlock.AXIS) - .generate((up, axis) -> Variant.variant().with(VariantProperties.MODEL, up ? top : sideAlt).with(VariantProperties.X_ROT, up ? VariantProperties.Rotation.R90 : VariantProperties.Rotation.R270)))); + TextureMapping mapping = TextureMapping.column(block); + ResourceLocation main = TFBlockModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); + ResourceLocation thorns = TFBlockModelTemplates.THORNS.createWithSuffix(block, "_thorns", mapping, this.modelOutput); + ResourceLocation top = TFBlockModelTemplates.THORNS_SECTION_TOP.createWithSuffix(block, "_top", mapping, this.modelOutput); + ResourceLocation bottom = TFBlockModelTemplates.THORNS_SECTION_BOTTOM.createWithSuffix(block, "_bottom", mapping, this.modelOutput); + ResourceLocation noSection = TFBlockModelTemplates.THORNS_NO_SECTION.createWithSuffix(block, "_no_section", mapping, this.modelOutput); + ResourceLocation noSectionAlt = TFBlockModelTemplates.THORNS_NO_SECTION_ALT.createWithSuffix(block, "_no_section_alt", mapping, this.modelOutput); + + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(main)); + + this.blockStateOutput.accept( + MultiPartGenerator.multiPart(block) + // MAIN + .with( + Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Y), + Variant.variant().with(VariantProperties.MODEL, thorns) + ) + .with( + Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Z), + Variant.variant().with(VariantProperties.MODEL, thorns).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.X), + Variant.variant().with(VariantProperties.MODEL, thorns).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + + // UP + .with( + Condition.condition().term(PipeBlock.UP, true), + Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.UP, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Z, Direction.Axis.Y)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.UP, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + + // DOWN + .with( + Condition.condition().term(PipeBlock.DOWN, true), + Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.DOWN, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Z, Direction.Axis.Y)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.DOWN, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + + // EAST + .with( + Condition.condition().term(PipeBlock.EAST, true), + Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.EAST, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.EAST, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Z)), + Variant.variant().with(VariantProperties.MODEL, noSectionAlt).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + + // WEST + .with( + Condition.condition().term(PipeBlock.WEST, true), + Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.WEST, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.WEST, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Z)), + Variant.variant().with(VariantProperties.MODEL, noSectionAlt).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + ) + + // SOUTH + .with( + Condition.condition().term(PipeBlock.SOUTH, true), + Variant.variant().with(VariantProperties.MODEL, top) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.SOUTH, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.Z)), + Variant.variant().with(VariantProperties.MODEL, noSection).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.SOUTH, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSectionAlt).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180) + ) + + // NORTH + .with( + Condition.condition().term(PipeBlock.NORTH, true), + Variant.variant().with(VariantProperties.MODEL, bottom) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.NORTH, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.Z)), + Variant.variant().with(VariantProperties.MODEL, noSection) + ) + .with( + Condition.and(Condition.condition().term(PipeBlock.NORTH, false), Condition.condition().term(RotatedPillarBlock.AXIS, Direction.Axis.X)), + Variant.variant().with(VariantProperties.MODEL, noSectionAlt) + ) + ); } public void forcefield(Block block) { diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/main/java/twilightforest/data/models/BlockModelGenerator.java index 1857d692ad..ef0342fcb1 100644 --- a/src/main/java/twilightforest/data/models/BlockModelGenerator.java +++ b/src/main/java/twilightforest/data/models/BlockModelGenerator.java @@ -35,6 +35,10 @@ public void run() { this.bossSpawner(TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()); this.bossSpawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()); + this.thorns(TFBlocks.BROWN_THORNS.get()); + this.thorns(TFBlocks.GREEN_THORNS.get()); + this.thorns(TFBlocks.BURNT_THORNS.get()); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFBlockModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFBlockModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); diff --git a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java index 1f5d792720..812d436c4d 100644 --- a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java +++ b/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java @@ -27,9 +27,10 @@ public class TFBlockModelTemplates extends ModelTemplates { public static final ModelTemplate CTM = create("ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate THORNS_MAIN = create("thorns_main", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_main")).renderType("cutout").build(); - public static final ModelTemplate THORNS_TOP = create("thorns_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_top")).renderType("cutout").build(); - public static final ModelTemplate THORNS_BOTTOM = create("thorns_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_bottom")).renderType("cutout").build(); - public static final ModelTemplate THORNS_SIDE = create("thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); - public static final ModelTemplate THORNS_SIDE_ALT = create("thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + public static final ModelTemplate THORNS = create("thorns", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SECTION_TOP = create("thorns_section_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_top")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SECTION_BOTTOM = create("thorns_section_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_bottom")).renderType("cutout").build(); + public static final ModelTemplate THORNS_NO_SECTION = create("thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); + public static final ModelTemplate THORNS_NO_SECTION_ALT = create("thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); } From ab872f3faaf6570c7f3ba38b80772bef5a48dfb6 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:52:55 -0400 Subject: [PATCH 055/239] Update Beanification --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index bfd0d721dc..5dc4013bb7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ neo_version=21.4.123 mdg_version=2.0.76 # Deps -beanification_version=1.21.1-1.4.87 +beanification_version=1.4.92 jei_version=19.8.2.99 rei_version=18.0.796 emi_version=1.1.11 From 3f2e0616c5c58c381af041eece19e0428199bfad Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Mon, 31 Mar 2025 23:02:29 -0400 Subject: [PATCH 056/239] Fix tests --- .../java/twilightforest/block/HollowLogVerticalTests.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/twilightforest/block/HollowLogVerticalTests.java b/src/test/java/twilightforest/block/HollowLogVerticalTests.java index 44516c82c3..218bd371e3 100644 --- a/src/test/java/twilightforest/block/HollowLogVerticalTests.java +++ b/src/test/java/twilightforest/block/HollowLogVerticalTests.java @@ -98,7 +98,7 @@ public void useItemOnVine() { InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(InteractionResult.CONSUME, result); + assertSame(InteractionResult.SUCCESS, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); ArgumentCaptor climbable = ArgumentCaptor.captor(); @@ -131,7 +131,7 @@ public void useItemOnLadder() { InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(InteractionResult.CONSUME, result); + assertSame(InteractionResult.SUCCESS, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); verify(stack, times(1)).is(Blocks.LADDER.asItem()); @@ -163,7 +163,7 @@ public void useItemOnLadderWaterlogged() { InteractionResult result = instance.useItemOn(stack, state, level, BlockPos.ZERO, player, InteractionHand.MAIN_HAND, hitResult); - assertSame(InteractionResult.CONSUME, result); + assertSame(InteractionResult.SUCCESS, result); verify(stack, times(1)).is(Blocks.VINE.asItem()); verify(stack, times(1)).is(Blocks.LADDER.asItem()); From 80ebe992c05a392c92f537df991161a3c02e6ca6 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Mon, 31 Mar 2025 23:38:29 -0400 Subject: [PATCH 057/239] Split datagen source set, and a bunch of clinit classloading errors, have fun. I fixed 3 of them. --- azure-pipelines.yml | 8 +-- build.gradle | 64 +++++++++++++++++-- .../java/twilightforest/DataGenerators.java | 44 +++++++++++++ .../java/twilightforest/RegistryProvider.java | 60 +++++++++++++++++ .../twilightforest/bootstrap/IBootstrap.java | 9 +++ .../generator/AssetsGenerator.java | 13 ++++ .../generator/DataGenerator.java | 13 ++++ .../generator/package-info.java | 6 ++ .../java/twilightforest/package-info.java | 7 ++ .../twilightforest/entity/MagicPainting.java | 11 ++-- .../entity/passive/DwarfRabbit.java | 9 +-- .../entity/passive/TinyBird.java | 9 +-- 12 files changed, 231 insertions(+), 22 deletions(-) create mode 100644 src/data/java/twilightforest/DataGenerators.java create mode 100644 src/data/java/twilightforest/RegistryProvider.java create mode 100644 src/data/java/twilightforest/bootstrap/IBootstrap.java create mode 100644 src/data/java/twilightforest/generator/AssetsGenerator.java create mode 100644 src/data/java/twilightforest/generator/DataGenerator.java create mode 100644 src/data/java/twilightforest/generator/package-info.java create mode 100644 src/data/java/twilightforest/package-info.java diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1ce943cf5a..6d5ede78cf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -70,7 +70,7 @@ steps: displayName: Create Azure DevOps variables from gradle properties file condition: eq(variables.SKIP_BUILD, 'false') - - task: Gradle@2 + - task: Gradle@3 displayName: Create Release Build inputs: workingDirectory: '' @@ -167,7 +167,7 @@ steps: displayName: Allow Maven Publish tasks condition: and(and(succeeded(), eq(variables['CreateArtifacts'], 'True')), eq(variables.SKIP_BUILD, 'false')) - - task: Gradle@2 + - task: Gradle@3 displayName: Publish to Maven inputs: workingDirectory: '' @@ -182,8 +182,8 @@ steps: tasks: 'publish' condition: and(and(succeeded(), eq(variables['RunMavenPublishTask'], 'True')), eq(variables.SKIP_BUILD, 'false')) env: - ARTIFACTORY_USER: $(Artifactory.User) - ARTIFACTORY_PASS: $(Artifactory.Password) + MAVEN_USER: $(Artifactory.User) + MAVEN_PASS: $(Artifactory.Password) - task: ado-discord-webhook@1 displayName: Announce Failed Maven Publish to discord diff --git a/build.gradle b/build.gradle index 602b7dfdee..7b1526ddae 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,9 @@ buildscript { maven { name 'Beanification' url 'https://maven.tamaized.com/releases/' + content { + includeGroup("tamaized") + } } } dependencies { @@ -81,6 +84,30 @@ subprojects { version = project(":").version } +sourceSets { + data { + compileClasspath += main.compileClasspath + main.output + + java { + srcDirs = ['src/main/java', 'src/data/java'] + } + resources { + srcDirs = ['src/main/resources'] + } + } + dataForPublishing { + compileClasspath += data.compileClasspath + + java { + srcDirs = ['src/data/java'] + } + } +} + +configurations { + dataImplementation.extendsFrom implementation +} + neoForge { // we need the subprojects to evaluate first so that the sourceSets are properly constructed evaluationDependsOnChildren() @@ -90,6 +117,8 @@ neoForge { validateAccessTransformers = true + addModdingDependenciesTo sourceSets.data + mods { "${mod_id}" { it.sourceSet this.sourceSets.main @@ -98,9 +127,16 @@ neoForge { 'tf-asm' { it.sourceSet project(":tf-asm").sourceSets.main } + + "${mod_id}-data" { + it.sourceSet this.sourceSets.main + it.sourceSet this.sourceSets.data + } } def mainMod = mods."${project.mod_id}" + def asmMod = mods."tf-asm" + def dataMod = mods."${project.mod_id}-data" unitTest { enable() @@ -112,6 +148,7 @@ neoForge { gameDirectory = project.file('run') systemProperty 'forge.logging.console.level', 'debug' logLevel = org.slf4j.event.Level.DEBUG + loadedMods = [mainMod, asmMod] } client { @@ -130,6 +167,8 @@ neoForge { clientData() gameDirectory = project.file('run-data') programArguments.addAll '--mod', mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + sourceSet = this.sourceSets.data + loadedMods = [dataMod, asmMod] } } } @@ -151,6 +190,9 @@ repositories { maven { name 'Tama\'s Maven' // Beanification url 'https://maven.tamaized.com/releases/' + content { + includeGroup("tamaized") + } } maven { name 'Jared\'s Maven' // JEI @@ -268,10 +310,8 @@ jar { } } -def mavenUser = hasProperty("ARTIFACTORY_USER") ? ARTIFACTORY_USER : secrets.getProperty("maven_username") -def mavenToken = hasProperty("ARTIFACTORY_PASS") ? ARTIFACTORY_PASS : secrets.getProperty("maven_password") -logger.lifecycle(hasProperty("ARTIFACTORY_USER").toString()) -logger.lifecycle(mavenUser) +def mavenUser = System.getenv("MAVEN_USER")?: secrets.getProperty("maven_username") +def mavenToken = System.getenv("MAVEN_PASS")?: secrets.getProperty("maven_password") publishing { publications { @@ -279,8 +319,10 @@ publishing { afterEvaluate { artifact this.project.jar artifact this.project.sourceJar + artifact this.project.dataJar + artifact this.project.dataSourceJar } - groupId mavenUser + groupId 'team-twilight' artifactId this.project.mod_id } } @@ -301,6 +343,18 @@ tasks.register('sourceJar', Jar) { archiveClassifier = 'sources' } +tasks.register('dataJar', Jar) { + dependsOn 'classes' + from sourceSets.dataForPublishing.output + archiveClassifier = 'data' +} + +tasks.register('dataSourceJar', Jar) { + dependsOn 'classes' + from sourceSets.dataForPublishing.allSource + archiveClassifier = 'data-sources' +} + tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' } diff --git a/src/data/java/twilightforest/DataGenerators.java b/src/data/java/twilightforest/DataGenerators.java new file mode 100644 index 0000000000..c95bf69b26 --- /dev/null +++ b/src/data/java/twilightforest/DataGenerators.java @@ -0,0 +1,44 @@ +package twilightforest; + +import net.minecraft.DetectedVersion; +import net.minecraft.data.metadata.PackMetadataGenerator; +import net.minecraft.server.packs.PackType; +import net.minecraft.server.packs.metadata.pack.PackMetadataSection; +import net.minecraft.util.InclusiveRange; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import tamaized.beanification.Autowired; +import tamaized.beanification.Component; +import tamaized.beanification.PostConstruct; +import twilightforest.generator.AssetsGenerator; +import twilightforest.generator.DataGenerator; + +import java.util.Optional; + +@Component +public class DataGenerators { + + @Autowired + private AssetsGenerator assetsGenerator; + + @Autowired + private DataGenerator dataGenerator; + + @PostConstruct + private void register(IEventBus bus) { + bus.addListener(GatherDataEvent.class, event -> { + assetsGenerator.generate(event); + dataGenerator.generate(event); + + event.getGenerator().addProvider(true, new PackMetadataGenerator(event.getGenerator().getPackOutput()) + .add(PackMetadataSection.TYPE, new PackMetadataSection( + net.minecraft.network.chat.Component.literal("Resources for Twilight Forest"), + DetectedVersion.BUILT_IN.getPackVersion(PackType.SERVER_DATA), + Optional.of(new InclusiveRange<>(0, Integer.MAX_VALUE)) + ) + ) + ); + }); + } + +} diff --git a/src/data/java/twilightforest/RegistryProvider.java b/src/data/java/twilightforest/RegistryProvider.java new file mode 100644 index 0000000000..bb37d2ad18 --- /dev/null +++ b/src/data/java/twilightforest/RegistryProvider.java @@ -0,0 +1,60 @@ +package twilightforest; + +import net.minecraft.core.HolderLookup; +import net.minecraft.core.Registry; +import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.resources.ResourceKey; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import org.jetbrains.annotations.Nullable; +import tamaized.beanification.Component; +import tamaized.beanification.Directory; +import tamaized.beanification.PostConstruct; +import twilightforest.bootstrap.IBootstrap; + +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +@Component +public class RegistryProvider { + + @Directory(IBootstrap.class) + private List bootstraps; + + private RegistrySetBuilder builder = new RegistrySetBuilder(); + + @Nullable + private DatapackBuiltinEntriesProvider value; + + @PostConstruct + private void setup() { + bootstraps.forEach(bootstrap -> builder = bootstrap.bootstrap(builder)); + } + + public CompletableFuture retrieve(GatherDataEvent event) { + if (value == null) { + value = new DatapackBuiltinEntriesProvider(event.getGenerator().getPackOutput(), event.getLookupProvider(), builder, Set.of("minecraft", TwilightForestMod.ID)); + event.getGenerator().addProvider(true, value); + } + return value.getRegistryProvider(); + } + + public HolderLookup.Provider join() { + return Objects.requireNonNull(value).getRegistryProvider().join(); + } + + public Optional> findKey(ResourceKey> registry, T t) { + return findKeyFrom(join(), registry, t); + } + + public Optional> findKeyFrom(HolderLookup.Provider provider, ResourceKey> registry, T t) { + return provider.lookupOrThrow(registry).listElements() + .filter(b -> b.value() == t) + .findAny().orElseThrow() + .unwrapKey(); + } + +} diff --git a/src/data/java/twilightforest/bootstrap/IBootstrap.java b/src/data/java/twilightforest/bootstrap/IBootstrap.java new file mode 100644 index 0000000000..d870f36df1 --- /dev/null +++ b/src/data/java/twilightforest/bootstrap/IBootstrap.java @@ -0,0 +1,9 @@ +package twilightforest.bootstrap; + +import net.minecraft.core.RegistrySetBuilder; + +public interface IBootstrap { + + RegistrySetBuilder bootstrap(RegistrySetBuilder builder); + +} diff --git a/src/data/java/twilightforest/generator/AssetsGenerator.java b/src/data/java/twilightforest/generator/AssetsGenerator.java new file mode 100644 index 0000000000..e63da18633 --- /dev/null +++ b/src/data/java/twilightforest/generator/AssetsGenerator.java @@ -0,0 +1,13 @@ +package twilightforest.generator; + +import net.neoforged.neoforge.data.event.GatherDataEvent; +import tamaized.beanification.Component; + +@Component +public class AssetsGenerator { + + public void generate(GatherDataEvent event) { + + } + +} diff --git a/src/data/java/twilightforest/generator/DataGenerator.java b/src/data/java/twilightforest/generator/DataGenerator.java new file mode 100644 index 0000000000..a519f1720e --- /dev/null +++ b/src/data/java/twilightforest/generator/DataGenerator.java @@ -0,0 +1,13 @@ +package twilightforest.generator; + +import net.neoforged.neoforge.data.event.GatherDataEvent; +import tamaized.beanification.Component; + +@Component +public class DataGenerator { + + public void generate(GatherDataEvent event) { + + } + +} diff --git a/src/data/java/twilightforest/generator/package-info.java b/src/data/java/twilightforest/generator/package-info.java new file mode 100644 index 0000000000..0b316abf24 --- /dev/null +++ b/src/data/java/twilightforest/generator/package-info.java @@ -0,0 +1,6 @@ +@MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault +package twilightforest.generator; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/data/java/twilightforest/package-info.java b/src/data/java/twilightforest/package-info.java new file mode 100644 index 0000000000..09bf099674 --- /dev/null +++ b/src/data/java/twilightforest/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/entity/MagicPainting.java b/src/main/java/twilightforest/entity/MagicPainting.java index a3e2462e5a..237ae23b19 100644 --- a/src/main/java/twilightforest/entity/MagicPainting.java +++ b/src/main/java/twilightforest/entity/MagicPainting.java @@ -24,6 +24,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.NotNull; import twilightforest.TFRegistries; import twilightforest.init.TFDataComponents; @@ -38,7 +39,7 @@ import java.util.Optional; public class MagicPainting extends HangingEntity { - private static final EntityDataAccessor> MAGIC_PAINTING_VARIANT = SynchedEntityData.defineId(MagicPainting.class, TFDataSerializers.MAGIC_PAINTING_VARIANT.value()); + private static final Lazy>> MAGIC_PAINTING_VARIANT = Lazy.of(() -> SynchedEntityData.defineId(MagicPainting.class, TFDataSerializers.MAGIC_PAINTING_VARIANT.value())); public MagicPainting(EntityType entityType, Level level) { super(entityType, level); @@ -50,22 +51,22 @@ private MagicPainting(Level level, BlockPos pos) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { - builder.define(MAGIC_PAINTING_VARIANT, this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT)); + builder.define(MAGIC_PAINTING_VARIANT.get(), this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT)); } @Override public void onSyncedDataUpdated(EntityDataAccessor pKey) { - if (MAGIC_PAINTING_VARIANT.equals(pKey)) { + if (MAGIC_PAINTING_VARIANT.get().equals(pKey)) { this.recalculateBoundingBox(); } } public void setVariant(Holder variant) { - this.getEntityData().set(MAGIC_PAINTING_VARIANT, variant); + this.getEntityData().set(MAGIC_PAINTING_VARIANT.get(), variant); } public Holder getVariant() { - return this.getEntityData().get(MAGIC_PAINTING_VARIANT); + return this.getEntityData().get(MAGIC_PAINTING_VARIANT.get()); } public static Optional create(Level level, BlockPos pos, Direction direction) { diff --git a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java index c0d234940d..bf76ef5eea 100644 --- a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java +++ b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java @@ -23,6 +23,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.data.tags.ItemTagGenerator; @@ -35,7 +36,7 @@ public class DwarfRabbit extends Animal implements VariantHolder> { - private static final EntityDataAccessor> VARIANT = SynchedEntityData.defineId(DwarfRabbit.class, TFDataSerializers.DWARF_RABBIT_VARIANT.get()); + private static final Lazy>> VARIANT = Lazy.of(() -> SynchedEntityData.defineId(DwarfRabbit.class, TFDataSerializers.DWARF_RABBIT_VARIANT.get())); public DwarfRabbit(EntityType type, Level world) { super(type, world); @@ -87,7 +88,7 @@ public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob mob) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getOrThrow(DwarfRabbitVariants.BROWN)); + builder.define(VARIANT.get(), this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getOrThrow(DwarfRabbitVariants.BROWN)); } @Override @@ -114,12 +115,12 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst @Override public Holder getVariant() { - return this.getEntityData().get(VARIANT); + return this.getEntityData().get(VARIANT.get()); } @Override public void setVariant(Holder variant) { - this.getEntityData().set(VARIANT, variant); + this.getEntityData().set(VARIANT.get(), variant); } @Override diff --git a/src/main/java/twilightforest/entity/passive/TinyBird.java b/src/main/java/twilightforest/entity/passive/TinyBird.java index 816102dff7..0b949fc2dd 100644 --- a/src/main/java/twilightforest/entity/passive/TinyBird.java +++ b/src/main/java/twilightforest/entity/passive/TinyBird.java @@ -23,6 +23,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; +import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.data.tags.ItemTagGenerator; @@ -34,7 +35,7 @@ public class TinyBird extends FlyingBird implements VariantHolder> { - private static final EntityDataAccessor> VARIANT = SynchedEntityData.defineId(TinyBird.class, TFDataSerializers.TINY_BIRD_VARIANT.get()); + private static final Lazy>> VARIANT = Lazy.of(() -> SynchedEntityData.defineId(TinyBird.class, TFDataSerializers.TINY_BIRD_VARIANT.get())); public TinyBird(EntityType type, Level level) { super(type, level); @@ -50,7 +51,7 @@ protected void registerGoals() { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getOrThrow(TinyBirdVariants.RED)); + builder.define(VARIANT.get(), this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getOrThrow(TinyBirdVariants.RED)); } public static AttributeSupplier.Builder registerAttributes() { @@ -84,12 +85,12 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst @Override public Holder getVariant() { - return this.getEntityData().get(VARIANT); + return this.getEntityData().get(VARIANT.get()); } @Override public void setVariant(Holder variant) { - this.getEntityData().set(VARIANT, variant); + this.getEntityData().set(VARIANT.get(), variant); } @Override From 94b89a4b9233c2f19f49bfde3547a9ad6b5bb9e7 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Mon, 31 Mar 2025 23:52:26 -0400 Subject: [PATCH 058/239] Oh we had the package wrong, everything works now --- .../twilightforest/{ => datagen}/DataGenerators.java | 8 ++++---- .../twilightforest/{ => datagen}/RegistryProvider.java | 5 +++-- .../{ => datagen}/bootstrap/IBootstrap.java | 2 +- .../{ => datagen}/generator/AssetsGenerator.java | 2 +- .../{ => datagen}/generator/DataGenerator.java | 2 +- .../{ => datagen}/generator/package-info.java | 2 +- .../twilightforest/{ => datagen}/package-info.java | 2 +- .../.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 | 2 ++ src/generated/resources/pack.mcmeta | 10 ++++++++++ 9 files changed, 24 insertions(+), 11 deletions(-) rename src/data/java/twilightforest/{ => datagen}/DataGenerators.java (85%) rename src/data/java/twilightforest/{ => datagen}/RegistryProvider.java (93%) rename src/data/java/twilightforest/{ => datagen}/bootstrap/IBootstrap.java (77%) rename src/data/java/twilightforest/{ => datagen}/generator/AssetsGenerator.java (82%) rename src/data/java/twilightforest/{ => datagen}/generator/DataGenerator.java (82%) rename src/data/java/twilightforest/{ => datagen}/generator/package-info.java (80%) rename src/data/java/twilightforest/{ => datagen}/package-info.java (84%) create mode 100644 src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 create mode 100644 src/generated/resources/pack.mcmeta diff --git a/src/data/java/twilightforest/DataGenerators.java b/src/data/java/twilightforest/datagen/DataGenerators.java similarity index 85% rename from src/data/java/twilightforest/DataGenerators.java rename to src/data/java/twilightforest/datagen/DataGenerators.java index c95bf69b26..82f0821f66 100644 --- a/src/data/java/twilightforest/DataGenerators.java +++ b/src/data/java/twilightforest/datagen/DataGenerators.java @@ -1,4 +1,4 @@ -package twilightforest; +package twilightforest.datagen; import net.minecraft.DetectedVersion; import net.minecraft.data.metadata.PackMetadataGenerator; @@ -10,8 +10,8 @@ import tamaized.beanification.Autowired; import tamaized.beanification.Component; import tamaized.beanification.PostConstruct; -import twilightforest.generator.AssetsGenerator; -import twilightforest.generator.DataGenerator; +import twilightforest.datagen.generator.AssetsGenerator; +import twilightforest.datagen.generator.DataGenerator; import java.util.Optional; @@ -26,7 +26,7 @@ public class DataGenerators { @PostConstruct private void register(IEventBus bus) { - bus.addListener(GatherDataEvent.class, event -> { + bus.addListener(GatherDataEvent.Client.class, event -> { assetsGenerator.generate(event); dataGenerator.generate(event); diff --git a/src/data/java/twilightforest/RegistryProvider.java b/src/data/java/twilightforest/datagen/RegistryProvider.java similarity index 93% rename from src/data/java/twilightforest/RegistryProvider.java rename to src/data/java/twilightforest/datagen/RegistryProvider.java index bb37d2ad18..a11dff0735 100644 --- a/src/data/java/twilightforest/RegistryProvider.java +++ b/src/data/java/twilightforest/datagen/RegistryProvider.java @@ -1,4 +1,4 @@ -package twilightforest; +package twilightforest.datagen; import net.minecraft.core.HolderLookup; import net.minecraft.core.Registry; @@ -10,7 +10,8 @@ import tamaized.beanification.Component; import tamaized.beanification.Directory; import tamaized.beanification.PostConstruct; -import twilightforest.bootstrap.IBootstrap; +import twilightforest.TwilightForestMod; +import twilightforest.datagen.bootstrap.IBootstrap; import java.util.List; import java.util.Objects; diff --git a/src/data/java/twilightforest/bootstrap/IBootstrap.java b/src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java similarity index 77% rename from src/data/java/twilightforest/bootstrap/IBootstrap.java rename to src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java index d870f36df1..0afc5f0e5c 100644 --- a/src/data/java/twilightforest/bootstrap/IBootstrap.java +++ b/src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java @@ -1,4 +1,4 @@ -package twilightforest.bootstrap; +package twilightforest.datagen.bootstrap; import net.minecraft.core.RegistrySetBuilder; diff --git a/src/data/java/twilightforest/generator/AssetsGenerator.java b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java similarity index 82% rename from src/data/java/twilightforest/generator/AssetsGenerator.java rename to src/data/java/twilightforest/datagen/generator/AssetsGenerator.java index e63da18633..6727933c54 100644 --- a/src/data/java/twilightforest/generator/AssetsGenerator.java +++ b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.generator; +package twilightforest.datagen.generator; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Component; diff --git a/src/data/java/twilightforest/generator/DataGenerator.java b/src/data/java/twilightforest/datagen/generator/DataGenerator.java similarity index 82% rename from src/data/java/twilightforest/generator/DataGenerator.java rename to src/data/java/twilightforest/datagen/generator/DataGenerator.java index a519f1720e..0bf9aa35d2 100644 --- a/src/data/java/twilightforest/generator/DataGenerator.java +++ b/src/data/java/twilightforest/datagen/generator/DataGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.generator; +package twilightforest.datagen.generator; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Component; diff --git a/src/data/java/twilightforest/generator/package-info.java b/src/data/java/twilightforest/datagen/generator/package-info.java similarity index 80% rename from src/data/java/twilightforest/generator/package-info.java rename to src/data/java/twilightforest/datagen/generator/package-info.java index 0b316abf24..db452c197a 100644 --- a/src/data/java/twilightforest/generator/package-info.java +++ b/src/data/java/twilightforest/datagen/generator/package-info.java @@ -1,5 +1,5 @@ @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.generator; +package twilightforest.datagen.generator; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/data/java/twilightforest/package-info.java b/src/data/java/twilightforest/datagen/package-info.java similarity index 84% rename from src/data/java/twilightforest/package-info.java rename to src/data/java/twilightforest/datagen/package-info.java index 09bf099674..68c9e41525 100644 --- a/src/data/java/twilightforest/package-info.java +++ b/src/data/java/twilightforest/datagen/package-info.java @@ -1,6 +1,6 @@ @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest; +package twilightforest.datagen; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 new file mode 100644 index 0000000000..d1134b4171 --- /dev/null +++ b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 @@ -0,0 +1,2 @@ +// 1.21.4 2025-03-31T23:51:32.013126706 Pack Metadata +4a1573b0176f98cbe8b67eb3e8da3728f28336a3 pack.mcmeta diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta new file mode 100644 index 0000000000..d37504b921 --- /dev/null +++ b/src/generated/resources/pack.mcmeta @@ -0,0 +1,10 @@ +{ + "pack": { + "description": "Resources for Twilight Forest", + "pack_format": 61, + "supported_formats": [ + 0, + 2147483647 + ] + } +} \ No newline at end of file From aca47dc6fac29e457e52133781ceae249d8cdce1 Mon Sep 17 00:00:00 2001 From: drullkus Date: Mon, 31 Mar 2025 21:39:46 -0700 Subject: [PATCH 059/239] Fix Jigsaw crash --- src/main/java/twilightforest/util/jigsaw/JigsawUtil.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java b/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java index 8252fa40f9..a7f410e205 100644 --- a/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java +++ b/src/main/java/twilightforest/util/jigsaw/JigsawUtil.java @@ -14,7 +14,9 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; public class JigsawUtil { public static Direction getAbsoluteHorizontal(FrontAndTop orientation) { @@ -67,6 +69,6 @@ public static List readConnectableJigsaws( SinglePoolElement.sortBySelectionPriority(returnables); } - return returnables.stream().map(StructureTemplate.JigsawBlockInfo::info).toList(); + return returnables.stream().map(StructureTemplate.JigsawBlockInfo::info).collect(Collectors.toCollection(ArrayList::new)); } } From 586fcf1038a97f537045af39dba6e625b0deaffb Mon Sep 17 00:00:00 2001 From: drullkus Date: Mon, 31 Mar 2025 21:40:31 -0700 Subject: [PATCH 060/239] Convergent Evolution strikes again --- .../structures/util/CodecResourceReloadListener.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java b/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java index deb350380a..268d8b78ae 100644 --- a/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java +++ b/src/main/java/twilightforest/world/components/structures/util/CodecResourceReloadListener.java @@ -44,6 +44,8 @@ protected void apply(Map map, ResourceManager man for (Map.Entry entry : map.entrySet()) { ResourceLocation location = entry.getKey(); + // FIXME separate Stalactite entry from structure-specific stalactite jsons + // The StalactiteReloadListener requires this. When that is fixed, then this class can be deleted. if (location.getPath().contains("entries")) continue; @@ -76,11 +78,4 @@ protected void deserialize(ResourceManager manager, ResourceLocation location, J } protected abstract void forLocation(ResourceManager manager, ResourceLocation location, T element); - - /** - * Intentionally not subscribed, it is on the subclasses to opt into subscription - */ - public void registerListener(ResourceLocation name, AddServerReloadListenersEvent event) { - event.addListener(name, this); - } } From c59b6f070a5d442f16e2f8397756c233515bd940 Mon Sep 17 00:00:00 2001 From: drullkus Date: Mon, 31 Mar 2025 21:41:08 -0700 Subject: [PATCH 061/239] +2 other changes for the last commit --- .../twilightforest/TwilightForestMod.java | 6 ++- .../StructureTemplateDefinitions.java | 46 ++++++++----------- 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index a1f5b3a31b..f9961ae0f6 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -119,8 +119,10 @@ public TwilightForestMod(IEventBus bus, Dist dist) { ClientEvents.initGameEvents(); } NeoForge.EVENT_BUS.addListener(this::registerCommands); - NeoForge.EVENT_BUS.addListener(AddServerReloadListenersEvent.class, event -> StalactiteReloadListener.INSTANCE.registerListener(prefix("stalactites"), event)); - NeoForge.EVENT_BUS.addListener(AddServerReloadListenersEvent.class, event -> StructureTemplateDefinitions.INSTANCE.registerListener(prefix("structure_templates"), event)); + NeoForge.EVENT_BUS.addListener(AddServerReloadListenersEvent.class, event -> { + event.addListener(prefix("stalactites"), StalactiteReloadListener.INSTANCE); + event.addListener(prefix("structure_templates"), StructureTemplateDefinitions.INSTANCE); + }); TFItems.ITEMS.register(bus); TFStats.STATS.register(bus); diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java index 7e3b32f750..a04359fc6d 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java @@ -1,63 +1,55 @@ package twilightforest.world.components.structures.lichtowerrevamp; -import com.google.gson.JsonElement; +import net.minecraft.resources.FileToIdConverter; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; import net.minecraft.util.RandomSource; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.util.random.SimpleWeightedRandomList; import net.minecraft.util.random.WeightedEntry; import org.jetbrains.annotations.Nullable; -import twilightforest.world.components.structures.util.CodecResourceReloadListener; import java.util.*; import java.util.stream.Collectors; -public class StructureTemplateDefinitions extends CodecResourceReloadListener { +public class StructureTemplateDefinitions extends SimpleJsonResourceReloadListener { public static final StructureTemplateDefinitions INSTANCE = new StructureTemplateDefinitions(); // TODO Autowired - private final Map> rawTemplatePools = new HashMap<>(); private final Map> templatePools = new HashMap<>(); public static final String DIRECTORY = "twilight/template_definition"; private StructureTemplateDefinitions() { - super(StructureTemplateDefinition.CODEC, DIRECTORY); + super(StructureTemplateDefinition.CODEC, FileToIdConverter.json(DIRECTORY)); } @Override - protected void forLocation(ResourceManager manager, ResourceLocation templateName, StructureTemplateDefinition templateDefinition) { - for(Map.Entry poolToRegisterWeight : templateDefinition.poolWeights().entrySet()) { - ResourceLocation templatePoolId = poolToRegisterWeight.getKey(); - Integer templateWeight = poolToRegisterWeight.getValue(); + protected void apply(Map map, ResourceManager manager, ProfilerFiller profiler) { + this.templatePools.clear(); - Map pool = this.rawTemplatePools.computeIfAbsent(templatePoolId, k -> new HashMap<>()); + final Map> rawTemplatePools = new HashMap<>(); - pool.put(templateName, templateWeight); - } - } + for(Map.Entry mapEntry : map.entrySet()) { - @Override - protected void apply(Map map, ResourceManager manager, ProfilerFiller profiler) { - this.rawTemplatePools.clear(); - this.templatePools.clear(); + // Ensures that the order of elements stays deterministic between sessions, as Map/Set sorting are undefined behavior + List> sorted = mapEntry.getValue().poolWeights().entrySet().stream().sorted(Map.Entry.comparingByKey()).toList(); - super.apply(map, manager, profiler); + for(Map.Entry poolToRegisterWeight : sorted) { + ResourceLocation templatePoolId = poolToRegisterWeight.getKey(); + Integer templateWeight = poolToRegisterWeight.getValue(); - for(Map.Entry> rawTemplatePool : this.rawTemplatePools.entrySet()) { - SimpleWeightedRandomList.Builder poolBuilder = SimpleWeightedRandomList.builder(); + SimpleWeightedRandomList.Builder pool = rawTemplatePools.computeIfAbsent(templatePoolId, k -> SimpleWeightedRandomList.builder()); - // Ensures that the order of elements stays deterministic between sessions, as Sets are not implicitly ordered - List> sortedTemplateWeights = rawTemplatePool.getValue().entrySet().stream().sorted(Map.Entry.comparingByKey()).toList(); - for (Map.Entry templateIdWeight : sortedTemplateWeights) { - poolBuilder.add(templateIdWeight.getKey(), templateIdWeight.getValue()); + pool.add(mapEntry.getKey(), templateWeight); } + } - ResourceLocation templatePoolId = rawTemplatePool.getKey(); - this.templatePools.put(templatePoolId, poolBuilder.build()); + for(Map.Entry> rawTemplatePool : rawTemplatePools.entrySet()) { + this.templatePools.put(rawTemplatePool.getKey(), rawTemplatePool.getValue().build()); } - this.rawTemplatePools.clear(); + rawTemplatePools.clear(); } @Nullable From dbca7d9d9908f2e703717f3fddeda79ca6bed1d1 Mon Sep 17 00:00:00 2001 From: drullkus Date: Mon, 31 Mar 2025 22:21:12 -0700 Subject: [PATCH 062/239] Remove static accessors from StructureTemplateDefinitions --- .../structures/TwilightJigsawPiece.java | 2 +- .../lichtowerrevamp/LichTowerUtil.java | 40 +++++++++---------- .../StructureTemplateDefinitions.java | 14 +------ 3 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/main/java/twilightforest/world/components/structures/TwilightJigsawPiece.java b/src/main/java/twilightforest/world/components/structures/TwilightJigsawPiece.java index 763e306c91..73666dd4a2 100644 --- a/src/main/java/twilightforest/world/components/structures/TwilightJigsawPiece.java +++ b/src/main/java/twilightforest/world/components/structures/TwilightJigsawPiece.java @@ -47,7 +47,7 @@ public static TwilightJigsawPiece defaultDeserialize(StructurePieceSerialization @Nullable public static TwilightJigsawPiece initializeTemplateFromPool(ResourceLocation templatePool, BlockPos.MutableBlockPos parentJunctionPos, FrontAndTop parentOrientation, String selectName, RandomSource rand, int genDepth, StructureTemplateManager structureManager) { - ResourceLocation templateId = StructureTemplateDefinitions.getRandomTemplate(rand, templatePool); + ResourceLocation templateId = StructureTemplateDefinitions.INSTANCE.rollTemplatePool(rand, templatePool); JigsawPlaceContext placeContext = JigsawPlaceContext.pickPlaceableJunction(parentJunctionPos, BlockPos.ZERO, parentOrientation, structureManager, templateId, selectName, rand); if (templateId == null || placeContext == null) diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerUtil.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerUtil.java index 6ac14f52e8..cade9bb577 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerUtil.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerUtil.java @@ -101,45 +101,45 @@ public ResourceLocation rollRandomRoom(RandomSource randomSource, int size) { if (pool == null) return null; - return StructureTemplateDefinitions.getRandomTemplate(randomSource, pool); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, pool); } @Nullable public ResourceLocation rollTowerGallery(RandomSource randomSource) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, LichTowerPieces.GALLERY); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, LichTowerPieces.GALLERY); } @Nullable public ResourceLocation rollGalleryRoof(RandomSource randomSource, BoundingBox box) { boolean odd = (Math.min(box.getXSpan(), box.getZSpan()) & 1) == 1; - return StructureTemplateDefinitions.getRandomTemplate(randomSource, odd ? LichTowerPieces.GALLERY_ROOF_ODD : LichTowerPieces.GALLERY_ROOF_EVEN); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, odd ? LichTowerPieces.GALLERY_ROOF_ODD : LichTowerPieces.GALLERY_ROOF_EVEN); } @Nullable public ResourceLocation rollRandomMobBridge(RandomSource randomSource) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, LichTowerPieces.MOB_BRIDGE); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, LichTowerPieces.MOB_BRIDGE); } @Nullable public ResourceLocation rollRandomCover(RandomSource randomSource) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, LichTowerPieces.DOOR_STOPPER); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, LichTowerPieces.DOOR_STOPPER); } @Nullable public ResourceLocation rollRandomDecor(RandomSource randomSource, boolean inCentralTower) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, inCentralTower ? LichTowerPieces.CENTER_DECOR : LichTowerPieces.ROOM_DECOR); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, inCentralTower ? LichTowerPieces.CENTER_DECOR : LichTowerPieces.ROOM_DECOR); } public Iterable shuffledCenterBridges(RandomSource randomSource) { - return StructureTemplateDefinitions.getShuffledSequence(randomSource, LichTowerPieces.BRIDGE_FROM_CENTRAL); + return StructureTemplateDefinitions.INSTANCE.shuffledTemplatePool(randomSource, LichTowerPieces.BRIDGE_FROM_CENTRAL); } public Iterable shuffledRoomBridges(RandomSource randomSource) { - return StructureTemplateDefinitions.getShuffledSequence(randomSource, LichTowerPieces.ROOM_BRIDGE); + return StructureTemplateDefinitions.INSTANCE.shuffledTemplatePool(randomSource, LichTowerPieces.ROOM_BRIDGE); } public Iterable shuffledEndBridges(RandomSource randomSource) { - return StructureTemplateDefinitions.getShuffledSequence(randomSource, LichTowerPieces.END_BRIDGE); + return StructureTemplateDefinitions.INSTANCE.shuffledTemplatePool(randomSource, LichTowerPieces.END_BRIDGE); } public Iterable shuffledRoofs(RandomSource randomSource, int size, boolean sideRoof) { @@ -153,7 +153,7 @@ public Iterable shuffledRoofs(RandomSource randomSource, int s if (pool == null) return List.of(); - return StructureTemplateDefinitions.getShuffledSequence(randomSource, pool); + return StructureTemplateDefinitions.INSTANCE.shuffledTemplatePool(randomSource, pool); } public Iterable shuffledBeards(RandomSource randomSource, int size) { @@ -166,7 +166,7 @@ public Iterable shuffledBeards(RandomSource randomSource, int if (pool == null) return List.of(); - return StructureTemplateDefinitions.getShuffledSequence(randomSource, pool); + return StructureTemplateDefinitions.INSTANCE.shuffledTemplatePool(randomSource, pool); } @Nullable @@ -180,7 +180,7 @@ public ResourceLocation getTrim(RandomSource randomSource, int size) { if (pool == null) return null; - return StructureTemplateDefinitions.getRandomTemplate(randomSource, pool); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, pool); } public Set getLadderPlacementsForSize(int size) { @@ -197,7 +197,7 @@ public ResourceLocation getRoomUpwards(RandomSource random, int size, int ladder if (size > 0 && size <= 3) { Int2ObjectMap roomsForSize = this.lichRoomPieces.ladderRooms.get(size - 1); ResourceLocation roomsForLadderPlacement = roomsForSize.get(ladderOffset); - return roomsForLadderPlacement == null ? null : StructureTemplateDefinitions.getRandomTemplate(random, roomsForLadderPlacement); + return roomsForLadderPlacement == null ? null : StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, roomsForLadderPlacement); } return null; @@ -215,7 +215,7 @@ public ResourceLocation getFallbackRoof(RandomSource random, int size, boolean s if (pool == null) return null; - return StructureTemplateDefinitions.getRandomTemplate(random, pool); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, pool); } @Nullable @@ -229,7 +229,7 @@ public ResourceLocation getFallbackBeard(RandomSource random, int size) { if (pool == null) return null; - return StructureTemplateDefinitions.getRandomTemplate(random, pool); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, pool); } public static void addDefaultProcessors(StructurePlaceSettings settings) { @@ -243,26 +243,26 @@ public static void addDefaultProcessors(StructurePlaceSettings settings) { @Nullable public ResourceLocation getKeepsakeCasketRoom(RandomSource random) { - return StructureTemplateDefinitions.getRandomTemplate(random, LichTowerPieces.ROOM_9_SPECIAL); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, LichTowerPieces.ROOM_9_SPECIAL); } @Nullable public ResourceLocation getEnclosedCentralBridge(RandomSource random) { - return StructureTemplateDefinitions.getRandomTemplate(random, LichTowerPieces.BRIDGE_FROM_CENTRAL_FALLBACK); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, LichTowerPieces.BRIDGE_FROM_CENTRAL_FALLBACK); } @Nullable public ResourceLocation getDirectRoomAttachment(RandomSource random) { - return StructureTemplateDefinitions.getRandomTemplate(random, LichTowerPieces.ROOM_BRIDGE_FALLBACK); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(random, LichTowerPieces.ROOM_BRIDGE_FALLBACK); } @Nullable public ResourceLocation getDefaultBridgeStopper(RandomSource randomSource) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, LichTowerPieces.DOOR_STOPPER_FALLBACK); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, LichTowerPieces.DOOR_STOPPER_FALLBACK); } @Nullable public ResourceLocation rollGrave(RandomSource randomSource) { - return StructureTemplateDefinitions.getRandomTemplate(randomSource, LichTowerPieces.YARD_GRAVE); + return StructureTemplateDefinitions.INSTANCE.rollTemplatePool(randomSource, LichTowerPieces.YARD_GRAVE); } } diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java index a04359fc6d..f6f88e70d1 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java @@ -53,13 +53,13 @@ protected void apply(Map map, Res } @Nullable - private ResourceLocation rollTemplatePool(RandomSource random, ResourceLocation templatePoolId) { + public ResourceLocation rollTemplatePool(RandomSource random, ResourceLocation templatePoolId) { SimpleWeightedRandomList templatePool = this.templatePools.get(templatePoolId); return templatePool == null ? null : templatePool.getRandomValue(random).orElse(null); } // https://en.wikipedia.org/wiki/Reservoir_sampling - private Iterable shuffledTemplatePool(RandomSource random, ResourceLocation templatePoolId) { + public Iterable shuffledTemplatePool(RandomSource random, ResourceLocation templatePoolId) { SimpleWeightedRandomList templatePool = this.templatePools.get(templatePoolId); if (templatePool == null) @@ -73,14 +73,4 @@ private Iterable shuffledTemplatePool(RandomSource random, Res return reservoirSampled.entrySet().stream().sorted(Map.Entry.comparingByValue()).map(Map.Entry::getKey).collect(Collectors.toList()); } - - @Nullable // TODO Autowired - public static ResourceLocation getRandomTemplate(RandomSource random, ResourceLocation poolId) { - return INSTANCE.rollTemplatePool(random, poolId); - } - - // TODO Autowired - public static Iterable getShuffledSequence(RandomSource random, ResourceLocation poolId) { - return INSTANCE.shuffledTemplatePool(random, poolId); - } } From fdbfe1e97fe45cab998e33c4467631e39e2e7597 Mon Sep 17 00:00:00 2001 From: drullkus Date: Mon, 31 Mar 2025 22:27:58 -0700 Subject: [PATCH 063/239] StructureTemplateDefinitionsTest --- .../StructureTemplateDefinitions.java | 2 +- .../StructureTemplateDefinitionsTest.java | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/test/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitionsTest.java diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java index f6f88e70d1..92c3b76430 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitions.java @@ -20,7 +20,7 @@ public class StructureTemplateDefinitions extends SimpleJsonResourceReloadListen public static final String DIRECTORY = "twilight/template_definition"; - private StructureTemplateDefinitions() { + StructureTemplateDefinitions() { super(StructureTemplateDefinition.CODEC, FileToIdConverter.json(DIRECTORY)); } diff --git a/src/test/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitionsTest.java b/src/test/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitionsTest.java new file mode 100644 index 0000000000..9eb9235600 --- /dev/null +++ b/src/test/java/twilightforest/world/components/structures/lichtowerrevamp/StructureTemplateDefinitionsTest.java @@ -0,0 +1,39 @@ +package twilightforest.world.components.structures.lichtowerrevamp; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.util.RandomSource; +import net.minecraft.util.profiling.ProfilerFiller; +import org.junit.jupiter.api.Test; +import twilightforest.TwilightForestMod; + +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; + +public class StructureTemplateDefinitionsTest { + + public StructureTemplateDefinitions structureTemplateDefinitions = new StructureTemplateDefinitions(); + + @Test + public void afterDeserialize() { + ResourceLocation alcovePool = TwilightForestMod.prefix("pools/alcovePool"); + ResourceLocation balconyPool = TwilightForestMod.prefix("pools/balcony"); + ResourceLocation chamber = TwilightForestMod.prefix("pools/chamber"); + + ResourceLocation architectureTemplate = TwilightForestMod.prefix("template/architecture"); + StructureTemplateDefinition templateDefinition = new StructureTemplateDefinition(Map.of( + alcovePool, 1, + balconyPool, 10, + chamber, 0 + )); + this.structureTemplateDefinitions.apply(Map.of(architectureTemplate, templateDefinition), mock(ResourceManager.class), mock(ProfilerFiller.class)); + + RandomSource random = RandomSource.create(42L); + + assertEquals(architectureTemplate, this.structureTemplateDefinitions.rollTemplatePool(random, alcovePool)); + assertEquals(architectureTemplate, this.structureTemplateDefinitions.rollTemplatePool(random, balconyPool)); + assertNull(this.structureTemplateDefinitions.rollTemplatePool(random, chamber)); // Has zero weight + } +} \ No newline at end of file From 8f42ed541ffeb9055a83bcfb0129fff057696482 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:41:16 -0400 Subject: [PATCH 064/239] Fix tests --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7b1526ddae..4245dd8f90 100644 --- a/build.gradle +++ b/build.gradle @@ -140,7 +140,8 @@ neoForge { unitTest { enable() - testedMod = mainMod + // For whatever reason, tests break if we dont combine all source sets, which the data source set does + testedMod = dataMod } runs { From 3a87cc3d110861099685cf8d22e25268cf7c0596 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 1 Apr 2025 09:35:28 -0600 Subject: [PATCH 065/239] finish splitting datagen --- .../datagen/DataGenerators.java | 20 +- .../datagen/assets}/AtlasGenerator.java | 6 +- .../datagen/assets}/LangGenerator.java | 110 ++++--- .../datagen/assets}/ParticleGenerator.java | 2 +- .../datagen/assets}/SoundGenerator.java | 4 +- .../assets}/models/BlockModelGenerator.java | 15 +- .../assets}/models/ItemModelGenerator.java | 7 +- .../assets}/models/ModelGenerator.java | 2 +- .../assets}/models/TFBlockModelTemplates.java | 5 +- .../assets}/models/TFTextureMapping.java | 2 +- .../datagen/assets}/models/TFTextureSlot.java | 2 +- .../datagen/assets/models}/package-info.java | 4 +- .../datagen/assets/package-info.java | 7 + .../datagen/bootstrap/package-info.java | 7 + .../datagen}/data/DataMapGenerator.java | 6 +- .../datagen}/data/LootModifierGenerator.java | 2 +- .../datagen}/data/RegistryDataGenerator.java | 2 +- .../datagen}/data/TFAdvancementGenerator.java | 4 +- .../datagen}/data/TFAdvancementProvider.java | 2 +- .../datagen}/data/TFStructureUpdater.java | 4 +- .../NoSmithingTemplateRecipeBuilder.java | 3 +- .../datagen}/data/custom/QuestGenerator.java | 2 +- .../data/custom/ScepterRecipeBuilder.java | 4 +- .../StructureTemplateDefinitionGenerator.java | 2 +- .../StructureTemplateDefinitionProvider.java | 2 +- .../data/custom/UncraftingGenerator.java | 2 +- .../data/custom/UncraftingRecipeBuilder.java | 3 +- .../datagen/data/custom}/package-info.java | 2 +- .../stalactites/StalactiteGenerator.java | 2 +- .../stalactites/StalactiteProvider.java | 8 +- .../custom/stalactites}/package-info.java | 2 +- .../datagen/data/loot}/BlockLootTables.java | 2 +- .../datagen/data/loot}/ChestLootTables.java | 2 +- .../datagen/data/loot}/EntityLootTables.java | 2 +- .../datagen/data/loot}/LootGenerator.java | 2 +- .../datagen/data/loot}/SpecialLootTables.java | 2 +- .../datagen/data/loot/package-info.java | 7 + .../datagen/data/package-info.java | 7 + .../data/recipes/CraftingGenerator.java | 198 ++++++------ .../data/recipes/CraftingGeneratorRunner.java | 2 +- .../data/recipes/RecipePriorityGenerator.java | 6 +- .../data/recipes/StonecuttingGenerator.java | 2 +- .../datagen/data/recipes/package-info.java | 7 + .../data/tags/BannerPatternTagGenerator.java | 38 +++ .../datagen}/data/tags/BiomeTagGenerator.java | 64 ++-- .../tags/BlockEntityTypeTagGenerator.java | 53 ++++ .../datagen}/data/tags/BlockTagGenerator.java | 283 ++++++------------ .../data/tags/DamageTypeTagGenerator.java | 19 +- .../data/tags/DimensionTypeTagGenerator.java | 29 ++ .../data/tags/EntityTypeTagGenerator.java} | 46 +-- .../datagen}/data/tags/ItemTagGenerator.java | 224 +++++--------- .../tags/PaintingVariantTagGenerator.java | 127 ++++++++ .../data/tags/StructureTagGenerator.java | 9 +- .../data/tags/WoodPaletteTagGenerator.java | 35 +++ .../tags/compat/ModdedBlockTagGenerator.java | 31 ++ .../compat/ModdedEntityTypeTagGenerator.java | 39 +++ .../tags/compat/ModdedItemTagGenerator.java | 49 +-- .../data/tags/compat}/package-info.java | 2 +- .../datagen/data/tags}/package-info.java | 2 +- .../datagen/generator/AssetsGenerator.java | 18 +- .../datagen/generator/DataGenerator.java | 49 ++- .../datagen}/helpers/BlockModelBuilders.java | 8 +- .../datagen}/helpers/CraftingDataHelper.java | 11 +- .../datagen}/helpers/ItemModelBuilders.java | 2 +- .../helpers/LangConversionHelper.java | 2 +- .../datagen}/helpers/LangFormatSplitter.java | 2 +- .../datagen}/helpers/TFLangProvider.java | 2 +- .../datagen}/helpers/TFSoundProvider.java | 4 +- .../datagen/helpers}/package-info.java | 2 +- ... 09fb64d253ab6cdd894e0893cd5ed4309045f68c} | 2 +- .../0f202e000d40347127b33b6edbbb29689b8cbf86 | 2 - .../2c3573acb35dd4967c455c5601717e4d0d6eb706 | 2 +- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 5 +- .../50ac03844dfa7ff852b210032d967410a7179d62 | 2 - ... b9c2dd4ec360de1803d4a5be10944a1f8047efef} | 2 +- .../bd3c258a938cc6036d1d3d8417c4b7d38da2a57c | 4 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 +- .../blockstates/built_block.json | 10 + .../assets/twilightforest/lang/en_ud.json | 1 - .../assets/twilightforest/lang/en_us.json | 1 - .../models/block/built_block.json | 70 +++++ .../models/block/built_block_active.json | 70 +++++ .../{quest_ram.json => questing_ram.json} | 0 .../tags/fluid/fire_jet_fuel.json | 5 - src/generated/resources/pack.mcmeta | 10 - .../compat/RecipeViewerConstants.java | 4 +- .../emi/recipes/EmiUncraftingRecipe.java | 4 +- .../jei/categories/JEIUncraftingCategory.java | 4 +- .../compat/rei/TFREIClientPlugin.java | 4 +- .../rei/categories/REIUncraftingCategory.java | 4 +- .../java/twilightforest/TFRegistries.java | 2 +- .../twilightforest/TwilightForestMod.java | 4 +- .../twilightforest/block/BanisterBlock.java | 4 +- .../twilightforest/block/CandelabraBlock.java | 5 +- .../twilightforest/block/CritterBlock.java | 4 +- .../twilightforest/block/FireJetBlock.java | 14 +- .../block/SortLogCoreBlock.java | 6 +- .../twilightforest/block/TFPlantBlock.java | 4 +- .../twilightforest/block/TFPortalBlock.java | 8 +- .../twilightforest/block/ThornsBlock.java | 4 +- .../block/TimeLogCoreBlock.java | 4 +- .../block/TrophyPedestalBlock.java | 4 +- .../block/entity/AntibuilderBlockEntity.java | 4 +- .../entity/CarminiteReactorBlockEntity.java | 8 +- .../client/UncraftingScreen.java | 4 +- .../client/event/ClientEvents.java | 9 +- .../twilightforest/data/DataGenerators.java | 81 ----- .../data/tags/CustomTagGenerator.java | 279 ----------------- .../data/tags/FluidTagGenerator.java | 30 -- .../tags/compat/ModdedBlockTagGenerator.java | 47 --- .../tags/compat/ModdedEntityTagGenerator.java | 61 ---- .../entity/ai/goal/FlockToSameKindGoal.java | 4 +- .../entity/ai/goal/LichPopMobsGoal.java | 6 +- .../entity/ai/goal/ThrowRiderGoal.java | 4 +- .../entity/boss/HydraMortar.java | 4 +- .../java/twilightforest/entity/boss/Lich.java | 9 +- .../entity/monster/GiantMiner.java | 4 +- .../twilightforest/entity/monster/Kobold.java | 13 +- .../entity/monster/PinchBeetle.java | 6 +- .../twilightforest/entity/passive/Boar.java | 6 +- .../twilightforest/entity/passive/Deer.java | 7 +- .../entity/passive/DwarfRabbit.java | 7 +- .../entity/passive/Penguin.java | 10 +- .../twilightforest/entity/passive/Raven.java | 4 +- .../entity/passive/Squirrel.java | 5 +- .../entity/passive/TinyBird.java | 4 +- .../entity/projectile/ChainBlock.java | 4 +- .../entity/projectile/CubeOfAnnihilation.java | 4 +- .../entity/projectile/IceBomb.java | 4 +- .../entity/projectile/NatureBolt.java | 4 +- .../twilightforest/events/CharmEvents.java | 13 +- .../twilightforest/events/EntityEvents.java | 6 +- .../events/ProgressionEvents.java | 12 +- .../twilightforest/events/TFTickHandler.java | 6 +- .../twilightforest/events/ToolEvents.java | 4 +- .../twilightforest/init/TFArmorMaterials.java | 18 +- .../twilightforest/init/TFCaveCarvers.java | 6 +- .../init/TFConfiguredFeatures.java | 8 +- .../twilightforest/init/TFEnchantments.java | 18 +- .../java/twilightforest/init/TFItems.java | 20 +- .../twilightforest/init/TFStructures.java | 6 +- .../init/custom/MagicPaintingVariants.java | 11 +- .../custom/StructureSpeleothemConfigs.java | 2 +- .../inventory/UncraftingMenu.java | 8 +- .../twilightforest/item/ChainBlockItem.java | 4 +- .../item/EmptyMagicMapItem.java | 4 +- .../item/LifedrainScepterItem.java | 4 +- .../twilightforest/item/MagicMapItem.java | 4 +- .../item/MazebreakerPickItem.java | 4 +- .../twilightforest/item/OreMagnetItem.java | 12 +- .../twilightforest/item/OreMeterItem.java | 4 +- .../item/recipe/EssenceRepairRecipe.java | 7 +- .../tags/TFBannerPatternTags.java | 23 ++ .../java/twilightforest/tags/TFBiomeTags.java | 34 +++ .../tags/TFBlockEntityTypeTags.java | 16 + .../java/twilightforest/tags/TFBlockTags.java | 115 +++++++ .../twilightforest/tags/TFDamageTypeTags.java | 15 + .../tags/TFDimensionTypeTags.java | 15 + .../twilightforest/tags/TFEntityTypeTags.java | 41 +++ .../java/twilightforest/tags/TFItemTags.java | 112 +++++++ .../tags/TFPaintingVariantTags.java | 16 + .../twilightforest/tags/TFStructureTags.java | 16 + .../tags/TFWoodPaletteTags.java | 20 ++ .../{data => tags}/package-info.java | 2 +- .../AdvancementDataMultiRequirements.java | 2 +- .../{data => util}/TFBlockFamilies.java | 3 +- .../twilightforest/util/TFToolMaterials.java | 18 +- .../util/features/FeatureLogic.java | 8 +- .../util/landmarks/LandmarkUtil.java | 4 +- .../twilightforest/world/TFTeleporter.java | 5 +- .../components/feature/BlockSpikeFeature.java | 6 +- .../feature/TFSmallLakeFeature.java | 6 +- .../config/RuinedFoundationConfig.java | 2 +- .../feature/config/SwizzleConfig.java | 10 +- .../processors/SoftReplaceProcessor.java | 4 +- .../spelothem}/SpeleothemVarietyConfig.java | 2 +- .../components/spelothem}/Stalactite.java | 2 +- .../spelothem}/StalactiteReloadListener.java | 2 +- .../StructureSpeleothemConfig.java | 5 +- .../structures/HollowHillComponent.java | 1 + .../structures/HydraLairComponent.java | 1 + .../structures/YetiCaveComponent.java | 1 + .../darktower/DarkTowerMainComponent.java | 4 +- .../lichtower/TowerWingComponent.java | 5 +- .../lichtowerrevamp/LichBossRoom.java | 4 +- .../LichTowerMagicGallery.java | 10 +- .../lichtowerrevamp/LichTowerSegment.java | 4 +- .../lichtowerrevamp/LichTowerWingBridge.java | 4 +- .../trollcave/TrollCaveConnectComponent.java | 2 +- .../trollcave/TrollCaveGardenComponent.java | 2 +- .../trollcave/TrollCaveMainComponent.java | 6 +- .../type/AuroraPalaceStructure.java | 4 +- .../structures/type/DarkTowerStructure.java | 4 +- .../structures/type/FinalCastleStructure.java | 4 +- .../structures/type/GiantHouseStructure.java | 5 +- .../structures/type/HedgeMazeStructure.java | 4 +- .../structures/type/HollowHillStructure.java | 10 +- .../structures/type/HydraLairStructure.java | 6 +- .../type/KnightStrongholdStructure.java | 4 +- .../structures/type/LabyrinthStructure.java | 4 +- .../structures/type/LichTowerStructure.java | 4 +- .../type/MushroomTowerStructure.java | 4 +- .../type/NagaCourtyardStructure.java | 4 +- .../structures/type/QuestGroveStructure.java | 4 +- .../structures/type/TrollCaveStructure.java | 6 +- .../structures/type/YetiCaveStructure.java | 6 +- ...AdvancementDataMultiRequirementsTests.java | 1 + 207 files changed, 1772 insertions(+), 1572 deletions(-) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/AtlasGenerator.java (87%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/LangGenerator.java (94%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/ParticleGenerator.java (98%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/SoundGenerator.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/BlockModelGenerator.java (75%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/ItemModelGenerator.java (65%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/ModelGenerator.java (97%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/TFBlockModelTemplates.java (91%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/TFTextureMapping.java (97%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/assets}/models/TFTextureSlot.java (92%) rename src/{main/java/twilightforest/data/tags => data/java/twilightforest/datagen/assets/models}/package-info.java (60%) create mode 100644 src/data/java/twilightforest/datagen/assets/package-info.java create mode 100644 src/data/java/twilightforest/datagen/bootstrap/package-info.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/DataMapGenerator.java (99%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/LootModifierGenerator.java (97%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/RegistryDataGenerator.java (98%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/TFAdvancementGenerator.java (99%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/TFAdvancementProvider.java (92%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/TFStructureUpdater.java (96%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/NoSmithingTemplateRecipeBuilder.java (97%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/QuestGenerator.java (96%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/ScepterRecipeBuilder.java (93%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/StructureTemplateDefinitionGenerator.java (99%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/StructureTemplateDefinitionProvider.java (98%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/UncraftingGenerator.java (96%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/UncraftingRecipeBuilder.java (97%) rename src/{main/java/twilightforest/data/tags/compat => data/java/twilightforest/datagen/data/custom}/package-info.java (84%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/stalactites/StalactiteGenerator.java (98%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/custom/stalactites/StalactiteProvider.java (95%) rename src/{main/java/twilightforest/data/custom/stalactites/entry => data/java/twilightforest/datagen/data/custom/stalactites}/package-info.java (81%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/data/loot}/BlockLootTables.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/data/loot}/ChestLootTables.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/data/loot}/EntityLootTables.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/data/loot}/LootGenerator.java (96%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen/data/loot}/SpecialLootTables.java (98%) create mode 100644 src/data/java/twilightforest/datagen/data/loot/package-info.java create mode 100644 src/data/java/twilightforest/datagen/data/package-info.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/recipes/CraftingGenerator.java (86%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/recipes/CraftingGeneratorRunner.java (93%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/recipes/RecipePriorityGenerator.java (87%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/recipes/StonecuttingGenerator.java (99%) create mode 100644 src/data/java/twilightforest/datagen/data/recipes/package-info.java create mode 100644 src/data/java/twilightforest/datagen/data/tags/BannerPatternTagGenerator.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/BiomeTagGenerator.java (58%) create mode 100644 src/data/java/twilightforest/datagen/data/tags/BlockEntityTypeTagGenerator.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/BlockTagGenerator.java (66%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/DamageTypeTagGenerator.java (90%) create mode 100644 src/data/java/twilightforest/datagen/data/tags/DimensionTypeTagGenerator.java rename src/{main/java/twilightforest/data/tags/EntityTagGenerator.java => data/java/twilightforest/datagen/data/tags/EntityTypeTagGenerator.java} (70%) rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/ItemTagGenerator.java (51%) create mode 100644 src/data/java/twilightforest/datagen/data/tags/PaintingVariantTagGenerator.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/StructureTagGenerator.java (75%) create mode 100644 src/data/java/twilightforest/datagen/data/tags/WoodPaletteTagGenerator.java create mode 100644 src/data/java/twilightforest/datagen/data/tags/compat/ModdedBlockTagGenerator.java create mode 100644 src/data/java/twilightforest/datagen/data/tags/compat/ModdedEntityTypeTagGenerator.java rename src/{main/java/twilightforest => data/java/twilightforest/datagen}/data/tags/compat/ModdedItemTagGenerator.java (70%) rename src/{main/java/twilightforest/data/custom/stalactites => data/java/twilightforest/datagen/data/tags/compat}/package-info.java (83%) rename src/{main/java/twilightforest/data/helpers => data/java/twilightforest/datagen/data/tags}/package-info.java (85%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/BlockModelBuilders.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/CraftingDataHelper.java (98%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/ItemModelBuilders.java (92%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/LangConversionHelper.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/LangFormatSplitter.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/TFLangProvider.java (99%) rename src/{main/java/twilightforest/data => data/java/twilightforest/datagen}/helpers/TFSoundProvider.java (98%) rename src/{main/java/twilightforest/data/custom => data/java/twilightforest/datagen/helpers}/package-info.java (85%) rename src/generated/resources/.cache/{8f54cb9d7394372ab0a284943bd07e24ce9d122c => 09fb64d253ab6cdd894e0893cd5ed4309045f68c} (65%) delete mode 100644 src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 delete mode 100644 src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 rename src/generated/resources/.cache/{809949f48f1aa945262c3f08c80c2f11b889a7de => b9c2dd4ec360de1803d4a5be10944a1f8047efef} (73%) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/built_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block_active.json rename src/generated/resources/data/twilightforest/tags/banner_pattern/pattern_item/{quest_ram.json => questing_ram.json} (100%) delete mode 100644 src/generated/resources/data/twilightforest/tags/fluid/fire_jet_fuel.json delete mode 100644 src/generated/resources/pack.mcmeta delete mode 100644 src/main/java/twilightforest/data/DataGenerators.java delete mode 100644 src/main/java/twilightforest/data/tags/CustomTagGenerator.java delete mode 100644 src/main/java/twilightforest/data/tags/FluidTagGenerator.java delete mode 100644 src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java delete mode 100644 src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java create mode 100644 src/main/java/twilightforest/tags/TFBannerPatternTags.java create mode 100644 src/main/java/twilightforest/tags/TFBiomeTags.java create mode 100644 src/main/java/twilightforest/tags/TFBlockEntityTypeTags.java create mode 100644 src/main/java/twilightforest/tags/TFBlockTags.java create mode 100644 src/main/java/twilightforest/tags/TFDamageTypeTags.java create mode 100644 src/main/java/twilightforest/tags/TFDimensionTypeTags.java create mode 100644 src/main/java/twilightforest/tags/TFEntityTypeTags.java create mode 100644 src/main/java/twilightforest/tags/TFItemTags.java create mode 100644 src/main/java/twilightforest/tags/TFPaintingVariantTags.java create mode 100644 src/main/java/twilightforest/tags/TFStructureTags.java create mode 100644 src/main/java/twilightforest/tags/TFWoodPaletteTags.java rename src/main/java/twilightforest/{data => tags}/package-info.java (89%) rename src/main/java/twilightforest/{data/helpers => util}/AdvancementDataMultiRequirements.java (97%) rename src/main/java/twilightforest/{data => util}/TFBlockFamilies.java (98%) rename src/main/java/twilightforest/{data/custom/stalactites/entry => world/components/spelothem}/SpeleothemVarietyConfig.java (98%) rename src/main/java/twilightforest/{data/custom/stalactites/entry => world/components/spelothem}/Stalactite.java (96%) rename src/main/java/twilightforest/{data/custom/stalactites/entry => world/components/spelothem}/StalactiteReloadListener.java (98%) rename src/main/java/twilightforest/world/components/{structures => spelothem}/StructureSpeleothemConfig.java (97%) diff --git a/src/data/java/twilightforest/datagen/DataGenerators.java b/src/data/java/twilightforest/datagen/DataGenerators.java index 82f0821f66..3f4f12d307 100644 --- a/src/data/java/twilightforest/datagen/DataGenerators.java +++ b/src/data/java/twilightforest/datagen/DataGenerators.java @@ -1,10 +1,5 @@ package twilightforest.datagen; -import net.minecraft.DetectedVersion; -import net.minecraft.data.metadata.PackMetadataGenerator; -import net.minecraft.server.packs.PackType; -import net.minecraft.server.packs.metadata.pack.PackMetadataSection; -import net.minecraft.util.InclusiveRange; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Autowired; @@ -13,8 +8,6 @@ import twilightforest.datagen.generator.AssetsGenerator; import twilightforest.datagen.generator.DataGenerator; -import java.util.Optional; - @Component public class DataGenerators { @@ -27,17 +20,8 @@ public class DataGenerators { @PostConstruct private void register(IEventBus bus) { bus.addListener(GatherDataEvent.Client.class, event -> { - assetsGenerator.generate(event); - dataGenerator.generate(event); - - event.getGenerator().addProvider(true, new PackMetadataGenerator(event.getGenerator().getPackOutput()) - .add(PackMetadataSection.TYPE, new PackMetadataSection( - net.minecraft.network.chat.Component.literal("Resources for Twilight Forest"), - DetectedVersion.BUILT_IN.getPackVersion(PackType.SERVER_DATA), - Optional.of(new InclusiveRange<>(0, Integer.MAX_VALUE)) - ) - ) - ); + this.dataGenerator.generate(event); + this.assetsGenerator.generate(event); }); } diff --git a/src/main/java/twilightforest/data/AtlasGenerator.java b/src/data/java/twilightforest/datagen/assets/AtlasGenerator.java similarity index 87% rename from src/main/java/twilightforest/data/AtlasGenerator.java rename to src/data/java/twilightforest/datagen/assets/AtlasGenerator.java index 589a5d493a..0eb232ddbe 100644 --- a/src/main/java/twilightforest/data/AtlasGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/AtlasGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.assets; import net.minecraft.client.renderer.texture.atlas.sources.SingleFile; import net.minecraft.core.HolderLookup; @@ -8,6 +8,7 @@ import twilightforest.TwilightForestMod; import twilightforest.client.MagicPaintingTextureManager; import twilightforest.entity.MagicPaintingVariant; +import twilightforest.init.custom.MagicPaintingVariants; import java.util.HashMap; import java.util.Map; @@ -15,7 +16,6 @@ import java.util.concurrent.CompletableFuture; public class AtlasGenerator extends SpriteSourceProvider { - public static final Map MAGIC_PAINTING_HELPER = new HashMap<>(); public AtlasGenerator(PackOutput output, CompletableFuture provider) { super(output, provider, TwilightForestMod.ID); @@ -26,7 +26,7 @@ protected void gather() { this.atlas(SHIELD_PATTERNS_ATLAS).addSource(new SingleFile(TwilightForestMod.prefix("entity/knightmetal_shield"), Optional.empty())); this.atlas(MagicPaintingTextureManager.ATLAS_INFO_LOCATION).addSource(new SingleFile(MagicPaintingTextureManager.BACK_SPRITE_LOCATION, Optional.empty())); - MAGIC_PAINTING_HELPER.forEach((location, parallaxVariant) -> { + MagicPaintingVariants.MAGIC_PAINTING_ATLAS_HELPER.forEach((location, parallaxVariant) -> { location = location.withPrefix(MagicPaintingTextureManager.MAGIC_PAINTING_PATH + "/"); for (MagicPaintingVariant.Layer layer : parallaxVariant.layers()) { this.atlas(MagicPaintingTextureManager.ATLAS_INFO_LOCATION).addSource(new SingleFile(location.withSuffix("/" + layer.path()), Optional.empty())); diff --git a/src/main/java/twilightforest/data/LangGenerator.java b/src/data/java/twilightforest/datagen/assets/LangGenerator.java similarity index 94% rename from src/main/java/twilightforest/data/LangGenerator.java rename to src/data/java/twilightforest/datagen/assets/LangGenerator.java index 5e08d28529..66ff597004 100644 --- a/src/main/java/twilightforest/data/LangGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/LangGenerator.java @@ -1,19 +1,16 @@ -package twilightforest.data; +package twilightforest.datagen.assets; -import com.mojang.datafixers.util.Pair; import net.minecraft.data.PackOutput; -import net.minecraft.resources.ResourceLocation; import twilightforest.config.ConfigComments; -import twilightforest.data.helpers.TFLangProvider; -import twilightforest.data.tags.FluidTagGenerator; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.datagen.helpers.TFLangProvider; +import twilightforest.init.custom.MagicPaintingVariants; +import twilightforest.tags.TFItemTags; import twilightforest.init.*; import java.util.HashMap; import java.util.Map; public class LangGenerator extends TFLangProvider { - public static final Map> MAGIC_PAINTING_HELPER = new HashMap<>(); public static final Map SUBTITLE_GENERATOR = new HashMap<>(); public LangGenerator(PackOutput output) { @@ -920,7 +917,7 @@ protected void addTranslations() { this.add("museumcurator.metallurgy.twilightforest.ironwood", "Ironwood"); this.add("museumcurator.metallurgy.twilightforest.knightmetal", "Knightmetal"); - MAGIC_PAINTING_HELPER.forEach((location, stringStringPair) -> { + MagicPaintingVariants.MAGIC_PAINTING_LANG_HELPER.forEach((location, stringStringPair) -> { this.add(location.toLanguageKey("magic_painting", "title"), stringStringPair.getFirst()); this.add(location.toLanguageKey("magic_painting", "author"), stringStringPair.getSecond()); }); @@ -990,55 +987,54 @@ protected void addTranslations() { this.createTip("yeti", "Yetis love throwing things."); this.createTip("zombie_healing", "Zombies summoned with a Zombie Scepter can be healed with Rotten Flesh."); - this.translateTag(ItemTagGenerator.CARMINITE_GEMS, "Carminite Gems"); - this.translateTag(ItemTagGenerator.FIERY_INGOTS, "Fiery Ingots"); - this.translateTag(ItemTagGenerator.IRONWOOD_INGOTS, "Ironwood Ingots"); - this.translateTag(ItemTagGenerator.KNIGHTMETAL_INGOTS, "Knightmetal Ingots"); - this.translateTag(ItemTagGenerator.STEELEAF_INGOTS, "Steeleaf Ingots"); - this.translateTag(ItemTagGenerator.PAPER, "Papers"); - this.translateTag(ItemTagGenerator.RAW_MATERIALS_IRONWOOD, "Raw Ironwood"); - this.translateTag(ItemTagGenerator.RAW_MATERIALS_KNIGHTMETAL, "Raw Knightmetal"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_ARCTIC_FUR, "Arctic Fur Storage Blocks"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_CARMINITE, "Carminite Storage Blocks"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_FIERY, "Fiery Storage Blocks"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_IRONWOOD, "Ironwood Storage Blocks"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL, "Knightmetal Storage Blocks"); - this.translateTag(ItemTagGenerator.STORAGE_BLOCKS_STEELEAF, "Steeleaf Storage Blocks"); - this.translateTag(ItemTagGenerator.ARCTIC_FUR, "Arctic Fur"); - this.translateTag(ItemTagGenerator.BANNED_UNCRAFTABLES, "Can't be Uncrafted"); - this.translateTag(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS, "Banned Uncrafting Ingredients"); - this.translateTag(ItemTagGenerator.BANISTERS, "Banisters"); - this.translateTag(ItemTagGenerator.CANOPY_LOGS, "Canopy Logs"); - this.translateTag(ItemTagGenerator.DARKWOOD_LOGS, "Darkwood Logs"); - this.translateTag(ItemTagGenerator.FIERY_VIAL, "Fiery Vials"); - this.translateTag(ItemTagGenerator.KEPT_ON_DEATH, "Kept on Death"); - this.translateTag(ItemTagGenerator.BLOCK_AND_CHAIN_ENCHANTABLE, "Block and Chain Enchantable"); - this.translateTag(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS, "Kobold Pacification Items"); - this.translateTag(ItemTagGenerator.BOAR_TEMPT_ITEMS, "Boar Temptables"); - this.translateTag(ItemTagGenerator.DEER_TEMPT_ITEMS, "Deer Temptables"); - this.translateTag(ItemTagGenerator.DWARF_RABBIT_TEMPT_ITEMS, "Dwarf Rabbit Temptables"); - this.translateTag(ItemTagGenerator.PENGUIN_TEMPT_ITEMS, "Penguin Temptables"); - this.translateTag(ItemTagGenerator.RAVEN_TEMPT_ITEMS, "Raven Temptables"); - this.translateTag(ItemTagGenerator.SQUIRREL_TEMPT_ITEMS, "Squirrel Temptables"); - this.translateTag(ItemTagGenerator.TINY_BIRD_TEMPT_ITEMS, "Tiny Bird Temptables"); - this.translateTag(ItemTagGenerator.TWILIGHT_LOGS, "Twilight Forest Logs"); - this.translateTag(ItemTagGenerator.MANGROVE_LOGS, "Mangrove Logs"); - this.translateTag(ItemTagGenerator.MINING_LOGS, "Miningwood Logs"); - this.translateTag(ItemTagGenerator.PORTAL_ACTIVATOR, "Twilight Forest Portal Activators"); - this.translateTag(ItemTagGenerator.REPAIRS_FIERY_TOOLS, "Repairs Fiery Tools"); - this.translateTag(ItemTagGenerator.REPAIRS_GIANT_TOOLS, "Repairs Giant Tools"); - this.translateTag(ItemTagGenerator.REPAIRS_ICE_TOOLS, "Repairs Ice Tools"); - this.translateTag(ItemTagGenerator.REPAIRS_IRONWOOD_TOOLS, "Repairs Ironwood Tools"); - this.translateTag(ItemTagGenerator.REPAIRS_KNIGHTMETAL_TOOLS, "Repairs Knightmetal Tools"); - this.translateTag(ItemTagGenerator.REPAIRS_STEELEAF_TOOLS, "Repairs Steeleaf Tools"); - this.translateTag(ItemTagGenerator.SORTING_LOGS, "Sortingwood Logs"); - this.translateTag(ItemTagGenerator.TIME_LOGS, "Timewood Logs"); - this.translateTag(ItemTagGenerator.TOWERWOOD, "Towerwood Blocks"); - this.translateTag(ItemTagGenerator.TRANSFORMATION_LOGS, "Transformation Logs"); - this.translateTag(ItemTagGenerator.TWILIGHT_OAK_LOGS, "Twilight Oak Logs"); - this.translateTag(ItemTagGenerator.UNCRAFTING_IGNORES_COST, "Uncrafting Table Ignores Cost"); - this.translateTag(ItemTagGenerator.WIP, "Work In Progress Items"); - this.translateTag(FluidTagGenerator.FIRE_JET_FUEL, "Fire Jet Fuel"); + this.translateTag(TFItemTags.CARMINITE_GEMS, "Carminite Gems"); + this.translateTag(TFItemTags.FIERY_INGOTS, "Fiery Ingots"); + this.translateTag(TFItemTags.IRONWOOD_INGOTS, "Ironwood Ingots"); + this.translateTag(TFItemTags.KNIGHTMETAL_INGOTS, "Knightmetal Ingots"); + this.translateTag(TFItemTags.STEELEAF_INGOTS, "Steeleaf Ingots"); + this.translateTag(TFItemTags.PAPER, "Papers"); + this.translateTag(TFItemTags.RAW_MATERIALS_IRONWOOD, "Raw Ironwood"); + this.translateTag(TFItemTags.RAW_MATERIALS_KNIGHTMETAL, "Raw Knightmetal"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_ARCTIC_FUR, "Arctic Fur Storage Blocks"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_CARMINITE, "Carminite Storage Blocks"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_FIERY, "Fiery Storage Blocks"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_IRONWOOD, "Ironwood Storage Blocks"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_KNIGHTMETAL, "Knightmetal Storage Blocks"); + this.translateTag(TFItemTags.STORAGE_BLOCKS_STEELEAF, "Steeleaf Storage Blocks"); + this.translateTag(TFItemTags.ARCTIC_FUR, "Arctic Fur"); + this.translateTag(TFItemTags.BANNED_UNCRAFTABLES, "Can't be Uncrafted"); + this.translateTag(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS, "Banned Uncrafting Ingredients"); + this.translateTag(TFItemTags.BANISTERS, "Banisters"); + this.translateTag(TFItemTags.CANOPY_LOGS, "Canopy Logs"); + this.translateTag(TFItemTags.DARKWOOD_LOGS, "Darkwood Logs"); + this.translateTag(TFItemTags.FIERY_VIAL, "Fiery Vials"); + this.translateTag(TFItemTags.KEPT_ON_DEATH, "Kept on Death"); + this.translateTag(TFItemTags.BLOCK_AND_CHAIN_ENCHANTABLE, "Block and Chain Enchantable"); + this.translateTag(TFItemTags.KOBOLD_PACIFICATION_BREADS, "Kobold Pacification Items"); + this.translateTag(TFItemTags.BOAR_TEMPT_ITEMS, "Boar Temptables"); + this.translateTag(TFItemTags.DEER_TEMPT_ITEMS, "Deer Temptables"); + this.translateTag(TFItemTags.DWARF_RABBIT_TEMPT_ITEMS, "Dwarf Rabbit Temptables"); + this.translateTag(TFItemTags.PENGUIN_TEMPT_ITEMS, "Penguin Temptables"); + this.translateTag(TFItemTags.RAVEN_TEMPT_ITEMS, "Raven Temptables"); + this.translateTag(TFItemTags.SQUIRREL_TEMPT_ITEMS, "Squirrel Temptables"); + this.translateTag(TFItemTags.TINY_BIRD_TEMPT_ITEMS, "Tiny Bird Temptables"); + this.translateTag(TFItemTags.TWILIGHT_LOGS, "Twilight Forest Logs"); + this.translateTag(TFItemTags.MANGROVE_LOGS, "Mangrove Logs"); + this.translateTag(TFItemTags.MINING_LOGS, "Miningwood Logs"); + this.translateTag(TFItemTags.PORTAL_ACTIVATOR, "Twilight Forest Portal Activators"); + this.translateTag(TFItemTags.REPAIRS_FIERY_TOOLS, "Repairs Fiery Tools"); + this.translateTag(TFItemTags.REPAIRS_GIANT_TOOLS, "Repairs Giant Tools"); + this.translateTag(TFItemTags.REPAIRS_ICE_TOOLS, "Repairs Ice Tools"); + this.translateTag(TFItemTags.REPAIRS_IRONWOOD_TOOLS, "Repairs Ironwood Tools"); + this.translateTag(TFItemTags.REPAIRS_KNIGHTMETAL_TOOLS, "Repairs Knightmetal Tools"); + this.translateTag(TFItemTags.REPAIRS_STEELEAF_TOOLS, "Repairs Steeleaf Tools"); + this.translateTag(TFItemTags.SORTING_LOGS, "Sortingwood Logs"); + this.translateTag(TFItemTags.TIME_LOGS, "Timewood Logs"); + this.translateTag(TFItemTags.TOWERWOOD, "Towerwood Blocks"); + this.translateTag(TFItemTags.TRANSFORMATION_LOGS, "Transformation Logs"); + this.translateTag(TFItemTags.TWILIGHT_OAK_LOGS, "Twilight Oak Logs"); + this.translateTag(TFItemTags.UNCRAFTING_IGNORES_COST, "Uncrafting Table Ignores Cost"); + this.translateTag(TFItemTags.WIP, "Work In Progress Items"); //config this.add("twilightforest.configuration.title", "Twilight Forest Config"); diff --git a/src/main/java/twilightforest/data/ParticleGenerator.java b/src/data/java/twilightforest/datagen/assets/ParticleGenerator.java similarity index 98% rename from src/main/java/twilightforest/data/ParticleGenerator.java rename to src/data/java/twilightforest/datagen/assets/ParticleGenerator.java index 633715165d..01c679b982 100644 --- a/src/main/java/twilightforest/data/ParticleGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/ParticleGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.assets; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/twilightforest/data/SoundGenerator.java b/src/data/java/twilightforest/datagen/assets/SoundGenerator.java similarity index 99% rename from src/main/java/twilightforest/data/SoundGenerator.java rename to src/data/java/twilightforest/datagen/assets/SoundGenerator.java index 7ca150a32f..387d47f436 100644 --- a/src/main/java/twilightforest/data/SoundGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/SoundGenerator.java @@ -1,10 +1,10 @@ -package twilightforest.data; +package twilightforest.datagen.assets; import net.minecraft.data.PackOutput; import net.minecraft.sounds.SoundEvents; import net.neoforged.neoforge.common.data.SoundDefinition; import twilightforest.TwilightForestMod; -import twilightforest.data.helpers.TFSoundProvider; +import twilightforest.datagen.helpers.TFSoundProvider; import twilightforest.init.TFSounds; public class SoundGenerator extends TFSoundProvider { diff --git a/src/main/java/twilightforest/data/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java similarity index 75% rename from src/main/java/twilightforest/data/models/BlockModelGenerator.java rename to src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index ef0342fcb1..f90d1e3038 100644 --- a/src/main/java/twilightforest/data/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -1,7 +1,7 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.ItemModelOutput; -import net.minecraft.client.data.models.blockstates.BlockStateGenerator; +import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.ModelInstance; import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureMapping; @@ -9,8 +9,9 @@ import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; -import twilightforest.data.TFBlockFamilies; -import twilightforest.data.helpers.BlockModelBuilders; +import twilightforest.block.TranslucentBuiltBlock; +import twilightforest.util.TFBlockFamilies; +import twilightforest.datagen.helpers.BlockModelBuilders; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; @@ -49,5 +50,11 @@ public void run() { this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.stairsBlock(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), this::createTrivialCube); + + var builtMapping = TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()); + ResourceLocation builtOff = TFBlockModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), builtMapping, this.modelOutput); + ResourceLocation builtOn = TFBlockModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_active", builtMapping, this.modelOutput); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.BUILT_BLOCK.get()) + .with(PropertyDispatch.property(TranslucentBuiltBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? builtOn : builtOff)))); } } diff --git a/src/main/java/twilightforest/data/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java similarity index 65% rename from src/main/java/twilightforest/data/models/ItemModelGenerator.java rename to src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index a6853783eb..60f88b2199 100644 --- a/src/main/java/twilightforest/data/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -1,12 +1,9 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; -import net.minecraft.client.data.models.ItemModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.model.ModelInstance; -import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; -import twilightforest.data.TFBlockFamilies; -import twilightforest.data.helpers.ItemModelBuilders; +import twilightforest.datagen.helpers.ItemModelBuilders; import java.util.function.BiConsumer; diff --git a/src/main/java/twilightforest/data/models/ModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ModelGenerator.java similarity index 97% rename from src/main/java/twilightforest/data/models/ModelGenerator.java rename to src/data/java/twilightforest/datagen/assets/models/ModelGenerator.java index 36ddf304dc..a8bac949a5 100644 --- a/src/main/java/twilightforest/data/models/ModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ModelGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.ModelProvider; import net.minecraft.core.Holder; diff --git a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java similarity index 91% rename from src/main/java/twilightforest/data/models/TFBlockModelTemplates.java rename to src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java index 812d436c4d..7f0d98966d 100644 --- a/src/main/java/twilightforest/data/models/TFBlockModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java @@ -1,4 +1,4 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.model.ModelTemplate; import net.minecraft.client.data.models.model.ModelTemplates; @@ -22,6 +22,9 @@ public class TFBlockModelTemplates extends ModelTemplates { public static final ModelTemplate BISECTED_STAIRS_OUTER = create("bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate FORCEFIELD = create("forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); + public static final ModelTemplate FULLBRIGHT_BLOCK = create("fullbright_block", TextureSlot.ALL).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).emissivity(15, 15).cullface(direction))).build(); public static final ModelTemplate CTM_NO_BASE = create("ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate CTM = create("ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); diff --git a/src/main/java/twilightforest/data/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java similarity index 97% rename from src/main/java/twilightforest/data/models/TFTextureMapping.java rename to src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index b7404c1824..8ece6c5db4 100644 --- a/src/main/java/twilightforest/data/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -1,4 +1,4 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.model.TextureMapping; import net.minecraft.client.data.models.model.TextureSlot; diff --git a/src/main/java/twilightforest/data/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java similarity index 92% rename from src/main/java/twilightforest/data/models/TFTextureSlot.java rename to src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index 0ad6878349..a1104df35b 100644 --- a/src/main/java/twilightforest/data/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -1,4 +1,4 @@ -package twilightforest.data.models; +package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.model.TextureSlot; diff --git a/src/main/java/twilightforest/data/tags/package-info.java b/src/data/java/twilightforest/datagen/assets/models/package-info.java similarity index 60% rename from src/main/java/twilightforest/data/tags/package-info.java rename to src/data/java/twilightforest/datagen/assets/models/package-info.java index db91a49803..d574e3e472 100644 --- a/src/main/java/twilightforest/data/tags/package-info.java +++ b/src/data/java/twilightforest/datagen/assets/models/package-info.java @@ -1,9 +1,7 @@ -@FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.tags; +package twilightforest.datagen.assets.models; -import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/data/java/twilightforest/datagen/assets/package-info.java b/src/data/java/twilightforest/datagen/assets/package-info.java new file mode 100644 index 0000000000..59f15c73d7 --- /dev/null +++ b/src/data/java/twilightforest/datagen/assets/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.assets; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/data/java/twilightforest/datagen/bootstrap/package-info.java b/src/data/java/twilightforest/datagen/bootstrap/package-info.java new file mode 100644 index 0000000000..fa620ac557 --- /dev/null +++ b/src/data/java/twilightforest/datagen/bootstrap/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.bootstrap; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/data/DataMapGenerator.java b/src/data/java/twilightforest/datagen/data/DataMapGenerator.java similarity index 99% rename from src/main/java/twilightforest/data/DataMapGenerator.java rename to src/data/java/twilightforest/datagen/data/DataMapGenerator.java index 76cdf9b757..403f5c1e7b 100644 --- a/src/main/java/twilightforest/data/DataMapGenerator.java +++ b/src/data/java/twilightforest/datagen/data/DataMapGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; @@ -14,7 +14,7 @@ import net.neoforged.neoforge.registries.datamaps.builtin.FurnaceFuel; import net.neoforged.neoforge.registries.datamaps.builtin.NeoForgeDataMaps; import net.neoforged.neoforge.registries.datamaps.builtin.ParrotImitation; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.*; import twilightforest.util.datamaps.CrumbledBlock; import twilightforest.util.datamaps.EntityTransformation; @@ -81,7 +81,7 @@ protected void gather(HolderLookup.Provider provider) { compostables.add(TFItems.MAGIC_BEANS, new Compostable(0.85F), false); var fuels = this.builder(NeoForgeDataMaps.FURNACE_FUELS); - fuels.add(ItemTagGenerator.BANISTERS, new FurnaceFuel(300), false); + fuels.add(TFItemTags.BANISTERS, new FurnaceFuel(300), false); var parrot = this.builder(NeoForgeDataMaps.PARROT_IMITATIONS); parrot.add(TFEntities.ALPHA_YETI, new ParrotImitation(TFSounds.ALPHA_YETI_PARROT.get()), false); diff --git a/src/main/java/twilightforest/data/LootModifierGenerator.java b/src/data/java/twilightforest/datagen/data/LootModifierGenerator.java similarity index 97% rename from src/main/java/twilightforest/data/LootModifierGenerator.java rename to src/data/java/twilightforest/datagen/data/LootModifierGenerator.java index e850b57c27..4c5bc06f21 100644 --- a/src/main/java/twilightforest/data/LootModifierGenerator.java +++ b/src/data/java/twilightforest/datagen/data/LootModifierGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import net.minecraft.advancements.critereon.ItemPredicate; import net.minecraft.core.HolderLookup; diff --git a/src/main/java/twilightforest/data/RegistryDataGenerator.java b/src/data/java/twilightforest/datagen/data/RegistryDataGenerator.java similarity index 98% rename from src/main/java/twilightforest/data/RegistryDataGenerator.java rename to src/data/java/twilightforest/datagen/data/RegistryDataGenerator.java index f64ba1f2c2..8934033e0d 100644 --- a/src/main/java/twilightforest/data/RegistryDataGenerator.java +++ b/src/data/java/twilightforest/datagen/data/RegistryDataGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import net.minecraft.core.HolderLookup; import net.minecraft.core.RegistrySetBuilder; diff --git a/src/main/java/twilightforest/data/TFAdvancementGenerator.java b/src/data/java/twilightforest/datagen/data/TFAdvancementGenerator.java similarity index 99% rename from src/main/java/twilightforest/data/TFAdvancementGenerator.java rename to src/data/java/twilightforest/datagen/data/TFAdvancementGenerator.java index bcd1fe4022..6e749ef243 100644 --- a/src/main/java/twilightforest/data/TFAdvancementGenerator.java +++ b/src/data/java/twilightforest/datagen/data/TFAdvancementGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import net.minecraft.advancements.*; import net.minecraft.advancements.critereon.*; @@ -25,7 +25,7 @@ import tamaized.beanification.Autowired; import twilightforest.block.Experiment115Block; import twilightforest.components.item.PotionFlaskComponent; -import twilightforest.data.helpers.AdvancementDataMultiRequirements; +import twilightforest.util.AdvancementDataMultiRequirements; import twilightforest.init.*; import java.util.Optional; diff --git a/src/main/java/twilightforest/data/TFAdvancementProvider.java b/src/data/java/twilightforest/datagen/data/TFAdvancementProvider.java similarity index 92% rename from src/main/java/twilightforest/data/TFAdvancementProvider.java rename to src/data/java/twilightforest/datagen/data/TFAdvancementProvider.java index 9cf5813299..7ce77d0c3e 100644 --- a/src/main/java/twilightforest/data/TFAdvancementProvider.java +++ b/src/data/java/twilightforest/datagen/data/TFAdvancementProvider.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; diff --git a/src/main/java/twilightforest/data/TFStructureUpdater.java b/src/data/java/twilightforest/datagen/data/TFStructureUpdater.java similarity index 96% rename from src/main/java/twilightforest/data/TFStructureUpdater.java rename to src/data/java/twilightforest/datagen/data/TFStructureUpdater.java index 559c36eb81..8053b1576b 100644 --- a/src/main/java/twilightforest/data/TFStructureUpdater.java +++ b/src/data/java/twilightforest/datagen/data/TFStructureUpdater.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data; import com.google.common.hash.Hashing; import com.mojang.datafixers.DataFixer; @@ -11,7 +11,6 @@ import net.minecraft.nbt.NbtAccounter; import net.minecraft.nbt.NbtIo; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.resources.MultiPackResourceManager; import net.minecraft.server.packs.resources.Resource; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.util.datafix.DataFixTypes; @@ -22,7 +21,6 @@ import javax.annotation.Nonnull; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.lang.reflect.Field; import java.nio.file.Path; import java.util.concurrent.CompletableFuture; diff --git a/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java b/src/data/java/twilightforest/datagen/data/custom/NoSmithingTemplateRecipeBuilder.java similarity index 97% rename from src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java rename to src/data/java/twilightforest/datagen/data/custom/NoSmithingTemplateRecipeBuilder.java index f4ac3f38d4..814e5d800d 100644 --- a/src/main/java/twilightforest/data/custom/NoSmithingTemplateRecipeBuilder.java +++ b/src/data/java/twilightforest/datagen/data/custom/NoSmithingTemplateRecipeBuilder.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementRequirements; @@ -10,7 +10,6 @@ import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; import twilightforest.item.recipe.NoTemplateSmithingRecipe; diff --git a/src/main/java/twilightforest/data/custom/QuestGenerator.java b/src/data/java/twilightforest/datagen/data/custom/QuestGenerator.java similarity index 96% rename from src/main/java/twilightforest/data/custom/QuestGenerator.java rename to src/data/java/twilightforest/datagen/data/custom/QuestGenerator.java index 21392e9015..406b6f7f89 100644 --- a/src/main/java/twilightforest/data/custom/QuestGenerator.java +++ b/src/data/java/twilightforest/datagen/data/custom/QuestGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import com.google.common.collect.ImmutableList; import com.mojang.serialization.JsonOps; diff --git a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java b/src/data/java/twilightforest/datagen/data/custom/ScepterRecipeBuilder.java similarity index 93% rename from src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java rename to src/data/java/twilightforest/datagen/data/custom/ScepterRecipeBuilder.java index 2197c1a4c7..642e336252 100644 --- a/src/main/java/twilightforest/data/custom/ScepterRecipeBuilder.java +++ b/src/data/java/twilightforest/datagen/data/custom/ScepterRecipeBuilder.java @@ -1,12 +1,10 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.core.HolderGetter; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; diff --git a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java b/src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionGenerator.java similarity index 99% rename from src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java rename to src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionGenerator.java index 5343a4d6d2..957dcb0239 100644 --- a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionGenerator.java +++ b/src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; diff --git a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java b/src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionProvider.java similarity index 98% rename from src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java rename to src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionProvider.java index 2240629a9f..3a5f28ae60 100644 --- a/src/main/java/twilightforest/data/custom/StructureTemplateDefinitionProvider.java +++ b/src/data/java/twilightforest/datagen/data/custom/StructureTemplateDefinitionProvider.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; diff --git a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java b/src/data/java/twilightforest/datagen/data/custom/UncraftingGenerator.java similarity index 96% rename from src/main/java/twilightforest/data/custom/UncraftingGenerator.java rename to src/data/java/twilightforest/datagen/data/custom/UncraftingGenerator.java index a3388d8363..8d51453104 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingGenerator.java +++ b/src/data/java/twilightforest/datagen/data/custom/UncraftingGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; diff --git a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java b/src/data/java/twilightforest/datagen/data/custom/UncraftingRecipeBuilder.java similarity index 97% rename from src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java rename to src/data/java/twilightforest/datagen/data/custom/UncraftingRecipeBuilder.java index f7af49e8c6..343c0e8543 100644 --- a/src/main/java/twilightforest/data/custom/UncraftingRecipeBuilder.java +++ b/src/data/java/twilightforest/datagen/data/custom/UncraftingRecipeBuilder.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom; +package twilightforest.datagen.data.custom; import net.minecraft.advancements.Criterion; import net.minecraft.core.HolderGetter; @@ -6,7 +6,6 @@ import net.minecraft.data.recipes.RecipeBuilder; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.crafting.Ingredient; diff --git a/src/main/java/twilightforest/data/tags/compat/package-info.java b/src/data/java/twilightforest/datagen/data/custom/package-info.java similarity index 84% rename from src/main/java/twilightforest/data/tags/compat/package-info.java rename to src/data/java/twilightforest/datagen/data/custom/package-info.java index a63ed4586d..54d08b17d5 100644 --- a/src/main/java/twilightforest/data/tags/compat/package-info.java +++ b/src/data/java/twilightforest/datagen/data/custom/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.tags.compat; +package twilightforest.datagen.data.custom; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/twilightforest/data/custom/stalactites/StalactiteGenerator.java b/src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteGenerator.java similarity index 98% rename from src/main/java/twilightforest/data/custom/stalactites/StalactiteGenerator.java rename to src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteGenerator.java index 98a4d08b4a..a08a89a6b1 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/StalactiteGenerator.java +++ b/src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom.stalactites; +package twilightforest.datagen.data.custom.stalactites; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Blocks; diff --git a/src/main/java/twilightforest/data/custom/stalactites/StalactiteProvider.java b/src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteProvider.java similarity index 95% rename from src/main/java/twilightforest/data/custom/stalactites/StalactiteProvider.java rename to src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteProvider.java index 91c4866836..82a722326a 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/StalactiteProvider.java +++ b/src/data/java/twilightforest/datagen/data/custom/stalactites/StalactiteProvider.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom.stalactites; +package twilightforest.datagen.data.custom.stalactites; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; @@ -11,9 +11,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import twilightforest.TwilightForestMod; -import twilightforest.data.custom.stalactites.entry.SpeleothemVarietyConfig; -import twilightforest.data.custom.stalactites.entry.Stalactite; -import twilightforest.data.custom.stalactites.entry.StalactiteReloadListener; +import twilightforest.world.components.spelothem.SpeleothemVarietyConfig; +import twilightforest.world.components.spelothem.Stalactite; +import twilightforest.world.components.spelothem.StalactiteReloadListener; import java.nio.file.Path; import java.util.ArrayList; diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/package-info.java b/src/data/java/twilightforest/datagen/data/custom/stalactites/package-info.java similarity index 81% rename from src/main/java/twilightforest/data/custom/stalactites/entry/package-info.java rename to src/data/java/twilightforest/datagen/data/custom/stalactites/package-info.java index 527d3156ed..0508eee667 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/package-info.java +++ b/src/data/java/twilightforest/datagen/data/custom/stalactites/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.custom.stalactites.entry; +package twilightforest.datagen.data.custom.stalactites; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/twilightforest/data/BlockLootTables.java b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java similarity index 99% rename from src/main/java/twilightforest/data/BlockLootTables.java rename to src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java index 1a8df82b3b..cb9d0c130e 100644 --- a/src/main/java/twilightforest/data/BlockLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data.loot; import net.minecraft.advancements.critereon.StatePropertiesPredicate; import net.minecraft.core.HolderLookup; diff --git a/src/main/java/twilightforest/data/ChestLootTables.java b/src/data/java/twilightforest/datagen/data/loot/ChestLootTables.java similarity index 99% rename from src/main/java/twilightforest/data/ChestLootTables.java rename to src/data/java/twilightforest/datagen/data/loot/ChestLootTables.java index 3e9db97e7b..86a9196a9c 100644 --- a/src/main/java/twilightforest/data/ChestLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/ChestLootTables.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data.loot; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; diff --git a/src/main/java/twilightforest/data/EntityLootTables.java b/src/data/java/twilightforest/datagen/data/loot/EntityLootTables.java similarity index 99% rename from src/main/java/twilightforest/data/EntityLootTables.java rename to src/data/java/twilightforest/datagen/data/loot/EntityLootTables.java index 160b3d4efb..fbe5186320 100644 --- a/src/main/java/twilightforest/data/EntityLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/EntityLootTables.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data.loot; import net.minecraft.core.HolderLookup; import net.minecraft.data.loot.EntityLootSubProvider; diff --git a/src/main/java/twilightforest/data/LootGenerator.java b/src/data/java/twilightforest/datagen/data/loot/LootGenerator.java similarity index 96% rename from src/main/java/twilightforest/data/LootGenerator.java rename to src/data/java/twilightforest/datagen/data/loot/LootGenerator.java index af519c1b97..ca7daa76b2 100644 --- a/src/main/java/twilightforest/data/LootGenerator.java +++ b/src/data/java/twilightforest/datagen/data/loot/LootGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data.loot; import net.minecraft.core.HolderLookup; import net.minecraft.core.WritableRegistry; diff --git a/src/main/java/twilightforest/data/SpecialLootTables.java b/src/data/java/twilightforest/datagen/data/loot/SpecialLootTables.java similarity index 98% rename from src/main/java/twilightforest/data/SpecialLootTables.java rename to src/data/java/twilightforest/datagen/data/loot/SpecialLootTables.java index 606c7e822d..bbd0907d96 100644 --- a/src/main/java/twilightforest/data/SpecialLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/SpecialLootTables.java @@ -1,4 +1,4 @@ -package twilightforest.data; +package twilightforest.datagen.data.loot; import net.minecraft.core.HolderLookup; import net.minecraft.data.loot.LootTableSubProvider; diff --git a/src/data/java/twilightforest/datagen/data/loot/package-info.java b/src/data/java/twilightforest/datagen/data/loot/package-info.java new file mode 100644 index 0000000000..5d34c0da42 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/loot/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.data.loot; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/data/java/twilightforest/datagen/data/package-info.java b/src/data/java/twilightforest/datagen/data/package-info.java new file mode 100644 index 0000000000..afed41ab96 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.data; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java b/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java similarity index 86% rename from src/main/java/twilightforest/data/recipes/CraftingGenerator.java rename to src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java index 97b99530ef..82bd9f3a39 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGenerator.java +++ b/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.recipes; +package twilightforest.datagen.data.recipes; import com.mojang.datafixers.util.Pair; import net.minecraft.core.HolderGetter; @@ -19,11 +19,11 @@ import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.common.crafting.CompoundIngredient; import net.neoforged.neoforge.common.crafting.DataComponentIngredient; -import twilightforest.data.custom.NoSmithingTemplateRecipeBuilder; -import twilightforest.data.custom.ScepterRecipeBuilder; -import twilightforest.data.custom.UncraftingGenerator; -import twilightforest.data.helpers.CraftingDataHelper; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.datagen.data.custom.NoSmithingTemplateRecipeBuilder; +import twilightforest.datagen.data.custom.ScepterRecipeBuilder; +import twilightforest.datagen.data.custom.UncraftingGenerator; +import twilightforest.datagen.helpers.CraftingDataHelper; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFDataComponents; import twilightforest.init.TFItems; @@ -80,15 +80,15 @@ protected void buildRecipes() { ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.WROUGHT_IRON_FENCE, 3) .pattern("###") .pattern("###") - .define('#', ItemTagGenerator.WROUGHT_IRON_INGOTS) - .unlockedBy("has_wrought_iron", has(ItemTagGenerator.WROUGHT_IRON_INGOTS)) + .define('#', TFItemTags.WROUGHT_IRON_INGOTS) + .unlockedBy("has_wrought_iron", has(TFItemTags.WROUGHT_IRON_INGOTS)) .save(this.output); ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.CANDELABRA, 2) .pattern("###") .pattern(" # ") - .define('#', ItemTagGenerator.WROUGHT_IRON_INGOTS) - .unlockedBy("has_wrought_iron", has(ItemTagGenerator.WROUGHT_IRON_INGOTS)) + .define('#', TFItemTags.WROUGHT_IRON_INGOTS) + .unlockedBy("has_wrought_iron", has(TFItemTags.WROUGHT_IRON_INGOTS)) .save(this.output); ShapedRecipeBuilder.shaped(getter, RecipeCategory.DECORATIONS, TFBlocks.ROPE, 8) @@ -302,20 +302,20 @@ private void darkTowerRecipes(HolderGetter getter) { .pattern("#6#") .pattern("6o6") .pattern("#6#") - .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('6', TFItemTags.CARMINITE_GEMS) .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('o', Ingredient.of(Blocks.DISPENSER)) - .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) + .unlockedBy("has_item", has(TFItemTags.CARMINITE_GEMS)) .save(this.output); ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.CARMINITE_REACTOR) .pattern("#6#") .pattern("6%6") .pattern("#6#") - .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('6', TFItemTags.CARMINITE_GEMS) .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) .define('%', Tags.Items.ORES_REDSTONE) - .unlockedBy("has_item", has(ItemTagGenerator.CARMINITE_GEMS)) + .unlockedBy("has_item", has(TFItemTags.CARMINITE_GEMS)) .save(this.output); ShapedRecipeBuilder.shaped(getter, RecipeCategory.REDSTONE, TFBlocks.REAPPEARING_BLOCK, 2) @@ -324,7 +324,7 @@ private void darkTowerRecipes(HolderGetter getter) { .pattern("#∓#") .define('∓', Tags.Items.DUSTS_REDSTONE) .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) - .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('6', TFItemTags.CARMINITE_GEMS) .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK)) .save(this.output); @@ -332,9 +332,9 @@ private void darkTowerRecipes(HolderGetter getter) { .pattern("#w#") .pattern("w6w") .pattern("#w#") - .define('w', ItemTagGenerator.TOWERWOOD) + .define('w', TFItemTags.TOWERWOOD) .define('#', Ingredient.of(TFBlocks.ENCASED_TOWERWOOD)) - .define('6', ItemTagGenerator.CARMINITE_GEMS) + .define('6', TFItemTags.CARMINITE_GEMS) .unlockedBy("has_item", has(TFBlocks.REAPPEARING_BLOCK)) .save(this.output); @@ -347,44 +347,44 @@ private void darkTowerRecipes(HolderGetter getter) { } private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider provider) { - bootsItem(getter, TFItems.IRONWOOD_BOOTS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 1))); - leggingsItem(getter, TFItems.IRONWOOD_LEGGINGS, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); - chestplateItem(getter, TFItems.IRONWOOD_CHESTPLATE, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); - helmetItem(getter, TFItems.IRONWOOD_HELMET, ItemTagGenerator.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.AQUA_AFFINITY, 1))); - swordItem(getter, TFItems.IRONWOOD_SWORD, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.KNOCKBACK, 1))); - pickaxeItem(getter, TFItems.IRONWOOD_PICKAXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); - axeItem(getter, TFItems.IRONWOOD_AXE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 1))); - shovelItem(getter, TFItems.IRONWOOD_SHOVEL, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.UNBREAKING, 1))); - hoeItem(getter, TFItems.IRONWOOD_HOE, ItemTagGenerator.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); - - bootsItem(getter, TFItems.STEELEAF_BOOTS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 2))); - leggingsItem(getter, TFItems.STEELEAF_LEGGINGS, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 2))); - chestplateItem(getter, TFItems.STEELEAF_CHESTPLATE, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.BLAST_PROTECTION, 2))); - helmetItem(getter, TFItems.STEELEAF_HELMET, ItemTagGenerator.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROJECTILE_PROTECTION, 2))); - swordItem(getter, TFItems.STEELEAF_SWORD, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.LOOTING, 2))); - pickaxeItem(getter, TFItems.STEELEAF_PICKAXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); - axeItem(getter, TFItems.STEELEAF_AXE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); - shovelItem(getter, TFItems.STEELEAF_SHOVEL, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); - hoeItem(getter, TFItems.STEELEAF_HOE, ItemTagGenerator.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); - - bootsItem(getter, TFItems.ARCTIC_BOOTS, ItemTagGenerator.ARCTIC_FUR); - chestplateItem(getter, TFItems.ARCTIC_CHESTPLATE, ItemTagGenerator.ARCTIC_FUR); - helmetItem(getter, TFItems.ARCTIC_HELMET, ItemTagGenerator.ARCTIC_FUR); - leggingsItem(getter, TFItems.ARCTIC_LEGGINGS, ItemTagGenerator.ARCTIC_FUR); - - bootsItem(getter, TFItems.KNIGHTMETAL_BOOTS, ItemTagGenerator.KNIGHTMETAL_INGOTS); - chestplateItem(getter, TFItems.KNIGHTMETAL_CHESTPLATE, ItemTagGenerator.KNIGHTMETAL_INGOTS); - helmetItem(getter, TFItems.KNIGHTMETAL_HELMET, ItemTagGenerator.KNIGHTMETAL_INGOTS); - leggingsItem(getter, TFItems.KNIGHTMETAL_LEGGINGS, ItemTagGenerator.KNIGHTMETAL_INGOTS); - pickaxeItem(getter, TFItems.KNIGHTMETAL_PICKAXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); - swordItem(getter, TFItems.KNIGHTMETAL_SWORD, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); - axeItem(getter, TFItems.KNIGHTMETAL_AXE, ItemTagGenerator.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + bootsItem(getter, TFItems.IRONWOOD_BOOTS, TFItemTags.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 1))); + leggingsItem(getter, TFItems.IRONWOOD_LEGGINGS, TFItemTags.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); + chestplateItem(getter, TFItems.IRONWOOD_CHESTPLATE, TFItemTags.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROTECTION, 1))); + helmetItem(getter, TFItems.IRONWOOD_HELMET, TFItemTags.IRONWOOD_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.AQUA_AFFINITY, 1))); + swordItem(getter, TFItems.IRONWOOD_SWORD, TFItemTags.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.KNOCKBACK, 1))); + pickaxeItem(getter, TFItems.IRONWOOD_PICKAXE, TFItemTags.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); + axeItem(getter, TFItems.IRONWOOD_AXE, TFItemTags.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 1))); + shovelItem(getter, TFItems.IRONWOOD_SHOVEL, TFItemTags.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.UNBREAKING, 1))); + hoeItem(getter, TFItems.IRONWOOD_HOE, TFItemTags.IRONWOOD_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 1))); + + bootsItem(getter, TFItems.STEELEAF_BOOTS, TFItemTags.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FEATHER_FALLING, 2))); + leggingsItem(getter, TFItems.STEELEAF_LEGGINGS, TFItemTags.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.FIRE_PROTECTION, 2))); + chestplateItem(getter, TFItems.STEELEAF_CHESTPLATE, TFItemTags.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.BLAST_PROTECTION, 2))); + helmetItem(getter, TFItems.STEELEAF_HELMET, TFItemTags.STEELEAF_INGOTS, this.buildEnchants(provider, Pair.of(Enchantments.PROJECTILE_PROTECTION, 2))); + swordItem(getter, TFItems.STEELEAF_SWORD, TFItemTags.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.LOOTING, 2))); + pickaxeItem(getter, TFItems.STEELEAF_PICKAXE, TFItemTags.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); + axeItem(getter, TFItems.STEELEAF_AXE, TFItemTags.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); + shovelItem(getter, TFItems.STEELEAF_SHOVEL, TFItemTags.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.EFFICIENCY, 2))); + hoeItem(getter, TFItems.STEELEAF_HOE, TFItemTags.STEELEAF_INGOTS, Tags.Items.RODS_WOODEN, this.buildEnchants(provider, Pair.of(Enchantments.FORTUNE, 2))); + + bootsItem(getter, TFItems.ARCTIC_BOOTS, TFItemTags.ARCTIC_FUR); + chestplateItem(getter, TFItems.ARCTIC_CHESTPLATE, TFItemTags.ARCTIC_FUR); + helmetItem(getter, TFItems.ARCTIC_HELMET, TFItemTags.ARCTIC_FUR); + leggingsItem(getter, TFItems.ARCTIC_LEGGINGS, TFItemTags.ARCTIC_FUR); + + bootsItem(getter, TFItems.KNIGHTMETAL_BOOTS, TFItemTags.KNIGHTMETAL_INGOTS); + chestplateItem(getter, TFItems.KNIGHTMETAL_CHESTPLATE, TFItemTags.KNIGHTMETAL_INGOTS); + helmetItem(getter, TFItems.KNIGHTMETAL_HELMET, TFItemTags.KNIGHTMETAL_INGOTS); + leggingsItem(getter, TFItems.KNIGHTMETAL_LEGGINGS, TFItemTags.KNIGHTMETAL_INGOTS); + pickaxeItem(getter, TFItems.KNIGHTMETAL_PICKAXE, TFItemTags.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + swordItem(getter, TFItems.KNIGHTMETAL_SWORD, TFItemTags.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); + axeItem(getter, TFItems.KNIGHTMETAL_AXE, TFItemTags.KNIGHTMETAL_INGOTS, Tags.Items.RODS_WOODEN); ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_BOOTS) .pattern("# #") .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .define('#', TFItemTags.FIERY_INGOTS) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_boots") .save(this.output, locEquip(TFItems.FIERY_BOOTS.getId().getPath())); @@ -392,8 +392,8 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .pattern("###") .pattern("# #") .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .define('#', TFItemTags.FIERY_INGOTS) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_leggings") .save(this.output, locEquip(TFItems.FIERY_LEGGINGS.getId().getPath())); @@ -401,16 +401,16 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .pattern("# #") .pattern("###") .pattern("###") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .define('#', TFItemTags.FIERY_INGOTS) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_chestplate") .save(this.output, locEquip(TFItems.FIERY_CHESTPLATE.getId().getPath())); ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.FIERY_HELMET) .pattern("###") .pattern("# #") - .define('#', ItemTagGenerator.FIERY_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .define('#', TFItemTags.FIERY_INGOTS) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_helmet") .save(this.output, locEquip(TFItems.FIERY_HELMET.getId().getPath())); @@ -418,9 +418,9 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .pattern("###") .pattern(" X ") .pattern(" X ") - .define('#', ItemTagGenerator.FIERY_INGOTS) + .define('#', TFItemTags.FIERY_INGOTS) .define('X', Tags.Items.RODS_BLAZE) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_pickaxe") .save(this.output, locEquip(TFItems.FIERY_PICKAXE.getId().getPath())); @@ -428,9 +428,9 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .pattern("#") .pattern("#") .pattern("X") - .define('#', ItemTagGenerator.FIERY_INGOTS) + .define('#', TFItemTags.FIERY_INGOTS) .define('X', Tags.Items.RODS_BLAZE) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_INGOTS)) + .unlockedBy("has_item", has(TFItemTags.FIERY_INGOTS)) .group("fiery_sword") .save(this.output, locEquip(TFItems.FIERY_SWORD.getId().getPath())); @@ -536,11 +536,11 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .save(this.output, this.createKey(TFBlocks.GIANT_OBSIDIAN.getId().getPath() + "_to_" + BuiltInRegistries.ITEM.getKey(Items.OBSIDIAN).getPath())); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.BLOCK_AND_CHAIN) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL))) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.KNIGHTMETAL_INGOTS)), 3) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.STORAGE_BLOCKS_KNIGHTMETAL))) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.KNIGHTMETAL_INGOTS)), 3) .requires(Ingredient.of(TFItems.KNIGHTMETAL_RING)) - .unlockedBy("has_block", has(ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL)) - .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .unlockedBy("has_block", has(TFItemTags.STORAGE_BLOCKS_KNIGHTMETAL)) + .unlockedBy("has_ingot", has(TFItemTags.KNIGHTMETAL_INGOTS)) .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING)) .save(this.output, locEquip(TFItems.BLOCK_AND_CHAIN.getId().getPath())); @@ -548,18 +548,18 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p .pattern(" - ") .pattern("- -") .pattern(" - ") - .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) - .unlockedBy("has_item", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .define('-', TFItemTags.KNIGHTMETAL_INGOTS) + .unlockedBy("has_item", has(TFItemTags.KNIGHTMETAL_INGOTS)) .save(this.output, locEquip(TFItems.KNIGHTMETAL_RING.getId().getPath())); ShapedRecipeBuilder.shaped(getter, RecipeCategory.COMBAT, TFItems.KNIGHTMETAL_SHIELD) .pattern("-#") .pattern("-o") .pattern("-#") - .define('-', ItemTagGenerator.KNIGHTMETAL_INGOTS) - .define('#', ItemTagGenerator.TOWERWOOD) + .define('-', TFItemTags.KNIGHTMETAL_INGOTS) + .define('#', TFItemTags.TOWERWOOD) .define('o', Ingredient.of(TFItems.KNIGHTMETAL_RING)) - .unlockedBy("has_ingot", has(ItemTagGenerator.KNIGHTMETAL_INGOTS)) + .unlockedBy("has_ingot", has(TFItemTags.KNIGHTMETAL_INGOTS)) .unlockedBy("has_ring", has(TFItems.KNIGHTMETAL_RING)) .save(this.output, locEquip(TFItems.KNIGHTMETAL_SHIELD.getId().getPath())); @@ -586,24 +586,24 @@ private void equipmentRecipes(HolderGetter getter, HolderLookup.Provider p } private void blockCompressionRecipes(HolderGetter getter) { - reverseCompressBlock(getter, "arctic_block_to_item", TFItems.ARCTIC_FUR, ItemTagGenerator.STORAGE_BLOCKS_ARCTIC_FUR); - reverseCompressBlock(getter, "carminite_block_to_item", TFItems.CARMINITE, ItemTagGenerator.STORAGE_BLOCKS_CARMINITE); - reverseCompressBlock(getter, "ironwood_block_ingot", TFItems.IRONWOOD_INGOT, ItemTagGenerator.STORAGE_BLOCKS_IRONWOOD); - reverseCompressBlock(getter, "knightmetal_block_ingot", TFItems.KNIGHTMETAL_INGOT, ItemTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL); - reverseCompressBlock(getter, "steeleaf_block_ingot", TFItems.STEELEAF_INGOT, ItemTagGenerator.STORAGE_BLOCKS_STEELEAF); + reverseCompressBlock(getter, "arctic_block_to_item", TFItems.ARCTIC_FUR, TFItemTags.STORAGE_BLOCKS_ARCTIC_FUR); + reverseCompressBlock(getter, "carminite_block_to_item", TFItems.CARMINITE, TFItemTags.STORAGE_BLOCKS_CARMINITE); + reverseCompressBlock(getter, "ironwood_block_ingot", TFItems.IRONWOOD_INGOT, TFItemTags.STORAGE_BLOCKS_IRONWOOD); + reverseCompressBlock(getter, "knightmetal_block_ingot", TFItems.KNIGHTMETAL_INGOT, TFItemTags.STORAGE_BLOCKS_KNIGHTMETAL); + reverseCompressBlock(getter, "steeleaf_block_ingot", TFItems.STEELEAF_INGOT, TFItemTags.STORAGE_BLOCKS_STEELEAF); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT, 9) - .requires(ItemTagGenerator.STORAGE_BLOCKS_FIERY) - .unlockedBy("has_item", has(ItemTagGenerator.STORAGE_BLOCKS_FIERY)) + .requires(TFItemTags.STORAGE_BLOCKS_FIERY) + .unlockedBy("has_item", has(TFItemTags.STORAGE_BLOCKS_FIERY)) .group("fiery_ingot") .save(this.output, this.createKey("compressed_blocks/reversed/fiery_block_to_ingot")); - compressedBlock(getter, "arctic_block", TFBlocks.ARCTIC_FUR_BLOCK, ItemTagGenerator.ARCTIC_FUR); - compressedBlock(getter, "carminite_block", TFBlocks.CARMINITE_BLOCK, ItemTagGenerator.CARMINITE_GEMS); - compressedBlock(getter, "fiery_block", TFBlocks.FIERY_BLOCK, ItemTagGenerator.FIERY_INGOTS); - compressedBlock(getter, "ironwood_block", TFBlocks.IRONWOOD_BLOCK, ItemTagGenerator.IRONWOOD_INGOTS); - compressedBlock(getter, "knightmetal_block", TFBlocks.KNIGHTMETAL_BLOCK, ItemTagGenerator.KNIGHTMETAL_INGOTS); - compressedBlock(getter, "steeleaf_block", TFBlocks.STEELEAF_BLOCK, ItemTagGenerator.STEELEAF_INGOTS); + compressedBlock(getter, "arctic_block", TFBlocks.ARCTIC_FUR_BLOCK, TFItemTags.ARCTIC_FUR); + compressedBlock(getter, "carminite_block", TFBlocks.CARMINITE_BLOCK, TFItemTags.CARMINITE_GEMS); + compressedBlock(getter, "fiery_block", TFBlocks.FIERY_BLOCK, TFItemTags.FIERY_INGOTS); + compressedBlock(getter, "ironwood_block", TFBlocks.IRONWOOD_BLOCK, TFItemTags.IRONWOOD_INGOTS); + compressedBlock(getter, "knightmetal_block", TFBlocks.KNIGHTMETAL_BLOCK, TFItemTags.KNIGHTMETAL_INGOTS); + compressedBlock(getter, "steeleaf_block", TFBlocks.STEELEAF_BLOCK, TFItemTags.STEELEAF_INGOTS); } private void emptyMapRecipes(HolderGetter getter) { @@ -619,7 +619,7 @@ private void emptyMapRecipes(HolderGetter getter) { .pattern("###") .pattern("#•#") .pattern("###") - .define('#', ItemTagGenerator.PAPER) + .define('#', TFItemTags.PAPER) .define('•', Ingredient.of(TFItems.MAGIC_MAP_FOCUS)) .unlockedBy("has_item", has(TFItems.MAGIC_MAP_FOCUS)) .save(this.output); @@ -628,7 +628,7 @@ private void emptyMapRecipes(HolderGetter getter) { .pattern("###") .pattern("#•#") .pattern("###") - .define('#', ItemTagGenerator.PAPER) + .define('#', TFItemTags.PAPER) .define('•', Ingredient.of(TFItems.MAZE_MAP_FOCUS)) .unlockedBy("has_item", has(TFItems.MAZE_MAP_FOCUS)) .save(this.output); @@ -679,14 +679,14 @@ private void woodRecipes(HolderGetter getter) { gateBlock(getter, "transformation", TFBlocks.TRANSFORMATION_GATE, TFBlocks.TRANSFORMATION_PLANKS); gateBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_GATE, TFBlocks.TWILIGHT_OAK_PLANKS); - planksBlock(getter, "canopy", TFBlocks.CANOPY_PLANKS, ItemTagGenerator.CANOPY_LOGS); - planksBlock(getter, "dark", TFBlocks.DARK_PLANKS, ItemTagGenerator.DARKWOOD_LOGS); - planksBlock(getter, "mangrove", TFBlocks.MANGROVE_PLANKS, ItemTagGenerator.MANGROVE_LOGS); - planksBlock(getter, "mining", TFBlocks.MINING_PLANKS, ItemTagGenerator.MINING_LOGS); - planksBlock(getter, "sorting", TFBlocks.SORTING_PLANKS, ItemTagGenerator.SORTING_LOGS); - planksBlock(getter, "time", TFBlocks.TIME_PLANKS, ItemTagGenerator.TIME_LOGS); - planksBlock(getter, "transformation", TFBlocks.TRANSFORMATION_PLANKS, ItemTagGenerator.TRANSFORMATION_LOGS); - planksBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLANKS, ItemTagGenerator.TWILIGHT_OAK_LOGS); + planksBlock(getter, "canopy", TFBlocks.CANOPY_PLANKS, TFItemTags.CANOPY_LOGS); + planksBlock(getter, "dark", TFBlocks.DARK_PLANKS, TFItemTags.DARKWOOD_LOGS); + planksBlock(getter, "mangrove", TFBlocks.MANGROVE_PLANKS, TFItemTags.MANGROVE_LOGS); + planksBlock(getter, "mining", TFBlocks.MINING_PLANKS, TFItemTags.MINING_LOGS); + planksBlock(getter, "sorting", TFBlocks.SORTING_PLANKS, TFItemTags.SORTING_LOGS); + planksBlock(getter, "time", TFBlocks.TIME_PLANKS, TFItemTags.TIME_LOGS); + planksBlock(getter, "transformation", TFBlocks.TRANSFORMATION_PLANKS, TFItemTags.TRANSFORMATION_LOGS); + planksBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_PLANKS, TFItemTags.TWILIGHT_OAK_LOGS); woodBlock(getter, "canopy", TFBlocks.CANOPY_WOOD, TFBlocks.CANOPY_LOG); woodBlock(getter, "dark", TFBlocks.DARK_WOOD, TFBlocks.DARK_LOG); @@ -868,9 +868,9 @@ private void castleRecipes(HolderGetter getter) { private void fieryConversions(HolderGetter getter) { ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, TFItems.FIERY_INGOT) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL))) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.FIERY_VIAL))) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.INGOTS_IRON))) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .unlockedBy("has_item", has(TFItemTags.FIERY_VIAL)) .group("fiery_ingot") .save(this.output, locEquip("fiery_ingot_crafting")); @@ -881,17 +881,17 @@ private void fieryConversions(HolderGetter getter) { ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, TFItems.FIERY_SWORD) .requires(Items.IRON_SWORD) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 2) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.FIERY_VIAL)), 2) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE))) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .unlockedBy("has_item", has(TFItemTags.FIERY_VIAL)) .group("fiery_sword") .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_SWORD).getPath())); ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.TOOLS, TFItems.FIERY_PICKAXE) .requires(Items.IRON_PICKAXE) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), 3) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.FIERY_VIAL)), 3) .requires(Ingredient.of(getter.getOrThrow(Tags.Items.RODS_BLAZE)), 2) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .unlockedBy("has_item", has(TFItemTags.FIERY_VIAL)) .group("fiery_pickaxe") .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(Items.IRON_PICKAXE).getPath())); } diff --git a/src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java b/src/data/java/twilightforest/datagen/data/recipes/CraftingGeneratorRunner.java similarity index 93% rename from src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java rename to src/data/java/twilightforest/datagen/data/recipes/CraftingGeneratorRunner.java index 7862d94b72..22cade62eb 100644 --- a/src/main/java/twilightforest/data/recipes/CraftingGeneratorRunner.java +++ b/src/data/java/twilightforest/datagen/data/recipes/CraftingGeneratorRunner.java @@ -1,4 +1,4 @@ -package twilightforest.data.recipes; +package twilightforest.datagen.data.recipes; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; diff --git a/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java b/src/data/java/twilightforest/datagen/data/recipes/RecipePriorityGenerator.java similarity index 87% rename from src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java rename to src/data/java/twilightforest/datagen/data/recipes/RecipePriorityGenerator.java index 858bbf543e..b27d3c7706 100644 --- a/src/main/java/twilightforest/data/recipes/RecipePriorityGenerator.java +++ b/src/data/java/twilightforest/datagen/data/recipes/RecipePriorityGenerator.java @@ -1,14 +1,10 @@ -package twilightforest.data.recipes; +package twilightforest.datagen.data.recipes; -import com.google.gson.JsonObject; import net.minecraft.core.HolderLookup; -import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.neoforged.neoforge.common.data.RecipePrioritiesProvider; import twilightforest.TwilightForestMod; -import java.nio.file.Path; import java.util.concurrent.CompletableFuture; public class RecipePriorityGenerator extends RecipePrioritiesProvider { diff --git a/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java b/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java similarity index 99% rename from src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java rename to src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java index d2235f1a0c..f36049411c 100644 --- a/src/main/java/twilightforest/data/recipes/StonecuttingGenerator.java +++ b/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.recipes; +package twilightforest.datagen.data.recipes; import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.advancements.Criterion; diff --git a/src/data/java/twilightforest/datagen/data/recipes/package-info.java b/src/data/java/twilightforest/datagen/data/recipes/package-info.java new file mode 100644 index 0000000000..fdc76848e6 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/recipes/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.data.recipes; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/data/java/twilightforest/datagen/data/tags/BannerPatternTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/BannerPatternTagGenerator.java new file mode 100644 index 0000000000..af22bd4947 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/BannerPatternTagGenerator.java @@ -0,0 +1,38 @@ +package twilightforest.datagen.data.tags; + +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.TagsProvider; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.entity.BannerPattern; +import twilightforest.TwilightForestMod; +import twilightforest.init.TFBannerPatterns; +import twilightforest.tags.TFBannerPatternTags; + +import java.util.concurrent.CompletableFuture; + +public class BannerPatternTagGenerator extends TagsProvider { + + public BannerPatternTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.BANNER_PATTERN, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFBannerPatternTags.NAGA_BANNER_PATTERN).add(TFBannerPatterns.NAGA); + this.tag(TFBannerPatternTags.LICH_BANNER_PATTERN).add(TFBannerPatterns.LICH); + this.tag(TFBannerPatternTags.MINOSHROOM_BANNER_PATTERN).add(TFBannerPatterns.MINOSHROOM); + this.tag(TFBannerPatternTags.HYDRA_BANNER_PATTERN).add(TFBannerPatterns.HYDRA); + this.tag(TFBannerPatternTags.KNIGHT_PHANTOM_BANNER_PATTERN).add(TFBannerPatterns.KNIGHT_PHANTOM); + this.tag(TFBannerPatternTags.UR_GHAST_BANNER_PATTERN).add(TFBannerPatterns.UR_GHAST); + this.tag(TFBannerPatternTags.ALPHA_YETI_BANNER_PATTERN).add(TFBannerPatterns.ALPHA_YETI); + this.tag(TFBannerPatternTags.SNOW_QUEEN_BANNER_PATTERN).add(TFBannerPatterns.SNOW_QUEEN); + this.tag(TFBannerPatternTags.QUESTING_RAM_BANNER_PATTERN).add(TFBannerPatterns.QUESTING_RAM); + } + + @Override + public String getName() { + return "Twilight Forest Banner Pattern Tags"; + } +} diff --git a/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/BiomeTagGenerator.java similarity index 58% rename from src/main/java/twilightforest/data/tags/BiomeTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/BiomeTagGenerator.java index 03d1352487..6f83ddcd2f 100644 --- a/src/main/java/twilightforest/data/tags/BiomeTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/BiomeTagGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; @@ -9,32 +9,12 @@ import net.minecraft.world.level.biome.Biome; import twilightforest.TwilightForestMod; import twilightforest.init.TFBiomes; +import twilightforest.tags.TFBiomeTags; import java.util.concurrent.CompletableFuture; public class BiomeTagGenerator extends BiomeTagsProvider { - public static final TagKey IS_TWILIGHT = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("in_twilight_forest")); - - public static final TagKey VALID_QUEST_GROVE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_quest_grove_biomes")); - - public static final TagKey VALID_HOLLOW_TREE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_hollow_tree_biomes")); - public static final TagKey VALID_HEDGE_MAZE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_hedge_maze_biomes")); - public static final TagKey VALID_HOLLOW_HILL_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_hollow_hill_biomes")); - public static final TagKey VALID_MUSHROOM_TOWER_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_mushroom_tower_biomes")); - - public static final TagKey VALID_NAGA_COURTYARD_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_naga_courtyard_biomes")); - public static final TagKey VALID_LICH_TOWER_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_lich_tower_biomes")); - public static final TagKey VALID_LABYRINTH_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_labyrinth_biomes")); - public static final TagKey VALID_HYDRA_LAIR_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_hydra_lair_biomes")); - public static final TagKey VALID_KNIGHT_STRONGHOLD_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_knight_stronghold_biomes")); - public static final TagKey VALID_DARK_TOWER_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_dark_tower_biomes")); - public static final TagKey VALID_YETI_CAVE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_yeti_cave_biomes")); - public static final TagKey VALID_AURORA_PALACE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_aurora_palace_biomes")); - public static final TagKey VALID_TROLL_CAVE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_troll_cave_biomes")); - public static final TagKey VALID_GIANT_HOUSE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_giant_house_biomes")); - public static final TagKey VALID_FINAL_CASTLE_BIOMES = TagKey.create(Registries.BIOME, TwilightForestMod.prefix("valid_final_castle_biomes")); - public BiomeTagGenerator(PackOutput output, CompletableFuture provider) { super(output, provider, TwilightForestMod.ID); } @@ -42,7 +22,7 @@ public BiomeTagGenerator(PackOutput output, CompletableFuture> { + + public BlockEntityTypeTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.BLOCK_ENTITY_TYPE, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFBlockEntityTypeTags.RELOCATION_NOT_SUPPORTED).add( + TFBlockEntities.ANTIBUILDER.getKey(), + TFBlockEntities.BEANSTALK_GROWER.getKey(), + TFBlockEntities.NAGA_SPAWNER.getKey(), + TFBlockEntities.LICH_SPAWNER.getKey(), + TFBlockEntities.MINOSHROOM_SPAWNER.getKey(), + TFBlockEntities.HYDRA_SPAWNER.getKey(), + TFBlockEntities.KNIGHT_PHANTOM_SPAWNER.getKey(), + TFBlockEntities.UR_GHAST_SPAWNER.getKey(), + TFBlockEntities.ALPHA_YETI_SPAWNER.getKey(), + TFBlockEntities.SNOW_QUEEN_SPAWNER.getKey(), + TFBlockEntities.FINAL_BOSS_SPAWNER.getKey()); + + this.tag(TFBlockEntityTypeTags.IMMOVABLE).add( + TFBlockEntities.ANTIBUILDER.getKey(), + TFBlockEntities.BEANSTALK_GROWER.getKey(), + TFBlockEntities.NAGA_SPAWNER.getKey(), + TFBlockEntities.LICH_SPAWNER.getKey(), + TFBlockEntities.MINOSHROOM_SPAWNER.getKey(), + TFBlockEntities.HYDRA_SPAWNER.getKey(), + TFBlockEntities.KNIGHT_PHANTOM_SPAWNER.getKey(), + TFBlockEntities.UR_GHAST_SPAWNER.getKey(), + TFBlockEntities.ALPHA_YETI_SPAWNER.getKey(), + TFBlockEntities.SNOW_QUEEN_SPAWNER.getKey(), + TFBlockEntities.FINAL_BOSS_SPAWNER.getKey()); + } + + @Override + public String getName() { + return "Twilight Forest Block Entity Tags"; + } +} diff --git a/src/main/java/twilightforest/data/tags/BlockTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java similarity index 66% rename from src/main/java/twilightforest/data/tags/BlockTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java index 9ce17ad42c..fb66ee6668 100644 --- a/src/main/java/twilightforest/data/tags/BlockTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java @@ -1,103 +1,18 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.common.Tags; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.compat.ModdedBlockTagGenerator; +import twilightforest.datagen.data.tags.compat.ModdedBlockTagGenerator; import twilightforest.init.TFBlocks; +import twilightforest.tags.TFBlockTags; import java.util.concurrent.CompletableFuture; public class BlockTagGenerator extends ModdedBlockTagGenerator { - public static final TagKey MAZESTONE = create("mazestone"); - public static final TagKey TOWERWOOD = create("towerwood"); - public static final TagKey CLOUDS = create("clouds"); - public static final TagKey DEADROCK = create("deadrock"); - public static final TagKey CASTLE_BLOCKS = create("castle_blocks"); - - public static final TagKey TF_LOGS = create("logs"); - public static final TagKey TWILIGHT_OAK_LOGS = create("twilight_oak_logs"); - public static final TagKey CANOPY_LOGS = create("canopy_logs"); - public static final TagKey MANGROVE_LOGS = create("mangrove_logs"); - public static final TagKey DARKWOOD_LOGS = create("darkwood_logs"); - public static final TagKey TIME_LOGS = create("timewood_logs"); - public static final TagKey TRANSFORMATION_LOGS = create("transwood_logs"); - public static final TagKey MINING_LOGS = create("mining_logs"); - public static final TagKey SORTING_LOGS = create("sortwood_logs"); - - public static final TagKey HOLLOW_LOGS = create("hollow_logs"); - public static final TagKey HOLLOW_LOGS_HORIZONTAL = create("hollow_logs_horizontal"); - public static final TagKey HOLLOW_LOGS_VERTICAL = create("hollow_logs_vertical"); - public static final TagKey HOLLOW_LOGS_CLIMBABLE = create("hollow_logs_climbable"); - - public static final TagKey BANISTERS = create("banisters"); - public static final TagKey TF_CHESTS = create("chests"); - - public static final TagKey PORTAL_EDGE = create("portal/edge"); - public static final TagKey PORTAL_POOL = create("portal/fluid"); - public static final TagKey PORTAL_DECO = create("portal/decoration"); - public static final TagKey GENERATED_PORTAL_DECO = create("portal/generated_decoration"); - - public static final TagKey DARK_TOWER_ALLOWED_POTS = create("dark_tower_allowed_pots"); - public static final TagKey TROPHIES = create("trophies"); - public static final TagKey FIRE_JET_FUEL = create("fire_jet_fuel"); - public static final TagKey ICE_BOMB_REPLACEABLES = create("ice_bomb_replaceables"); - public static final TagKey MAZEBREAKER_ACCELERATED = create("mazebreaker_accelerated_mining"); - - public static final TagKey COMMON_PROTECTIONS = create("common_protections"); - public static final TagKey ANNIHILATION_INCLUSIONS = create("annihilation_inclusions"); - public static final TagKey ANTIBUILDER_IGNORES = create("antibuilder_ignores"); - public static final TagKey CARMINITE_REACTOR_IMMUNE = create("carminite_reactor_immune"); - public static final TagKey CARMINITE_REACTOR_ORES = create("carminite_reactor_ores"); - public static final TagKey STRUCTURE_BANNED_INTERACTIONS = create("structure_banned_interactions"); - public static final TagKey PROGRESSION_ALLOW_BREAKING = create("progression_allow_breaking"); - public static final TagKey CANNOT_TROLL_CAVE_HOLLOW = create("cannot_troll_cave_hollow"); - - public static final TagKey WORLDGEN_REPLACEABLES = create("worldgen_replaceables"); - public static final TagKey ROOT_TRACE_SKIP = create("tree_roots_skip"); - public static final TagKey SUPPORTS_STALAGMITES = create("supports_stalagmites"); - public static final TagKey CARVER_REPLACEABLES = create("carver_replaceables"); - public static final TagKey PLANTS_HANG_ON = create("plants_hang_on"); - - public static final TagKey ORE_MAGNET_SAFE_REPLACE_BLOCK = create("ore_magnet/ore_safe_replace_block"); - public static final TagKey ORE_MAGNET_IGNORE = create("ore_magnet/ignored_ores"); - - public static final TagKey ROOT_GROUND = makeCommonTag("ore_bearing_ground/root"); - public static final TagKey ROOT_ORES = makeCommonTag("ores_in_ground/root"); - - public static final TagKey TIME_CORE_EXCLUDED = create("time_core_excluded"); - public static final TagKey MINING_CORE_EXCLUDED = create("mining_tree_excluded"); - public static final TagKey ORE_METER_TARGETABLE = create("ore_meter_targetable"); - - public static final TagKey PENGUINS_SPAWNABLE_ON = create("penguins_spawnable_on"); - public static final TagKey GIANTS_SPAWNABLE_ON = create("giants_spawnable_on"); - public static final TagKey DRUID_PROJECTILE_REPLACEABLE = create("druid_projectile_replaceable"); - - public static final TagKey STORAGE_BLOCKS_ARCTIC_FUR = makeCommonTag("storage_blocks/arctic_fur"); - public static final TagKey STORAGE_BLOCKS_CARMINITE = makeCommonTag("storage_blocks/carminite"); - public static final TagKey STORAGE_BLOCKS_FIERY = makeCommonTag("storage_blocks/fiery"); - public static final TagKey STORAGE_BLOCKS_IRONWOOD = makeCommonTag("storage_blocks/ironwood"); - public static final TagKey STORAGE_BLOCKS_KNIGHTMETAL = makeCommonTag("storage_blocks/knightmetal"); - public static final TagKey STORAGE_BLOCKS_STEELEAF = makeCommonTag("storage_blocks/steeleaf"); - - public static final TagKey INCORRECT_FOR_IRONWOOD_TOOL = create("incorrect_for_ironwood_tool"); - public static final TagKey INCORRECT_FOR_FIERY_TOOL = create("incorrect_for_fiery_tool"); - public static final TagKey INCORRECT_FOR_STEELEAF_TOOL = create("incorrect_for_steeleaf_tool"); - public static final TagKey INCORRECT_FOR_KNIGHTMETAL_TOOL = create("incorrect_for_knightmetal_tool"); - public static final TagKey INCORRECT_FOR_GIANT_TOOL = create("incorrect_for_giant_tool"); - public static final TagKey INCORRECT_FOR_ICE_TOOL = create("incorrect_for_ice_tool"); - public static final TagKey INCORRECT_FOR_GLASS_TOOL = create("incorrect_for_glass_tool"); - - public static final TagKey MINEABLE_WITH_BLOCK_AND_CHAIN = create("mineable_with_block_and_chain"); - public static final TagKey BLOCK_AND_CHAIN_NEVER_BREAKS = create("block_and_chain_never_breaks"); - - public static final TagKey SMALL_LAKES_DONT_REPLACE = create("small_lakes_dont_replace"); public BlockTagGenerator(PackOutput output, CompletableFuture future) { super(output, future); @@ -107,22 +22,22 @@ public BlockTagGenerator(PackOutput output, CompletableFuture create(String tagName) { - return BlockTags.create(TwilightForestMod.prefix(tagName)); - } - - public static TagKey makeCommonTag(String tagName) { - return BlockTags.create(ResourceLocation.fromNamespaceAndPath("c", tagName)); - } - @Override public String getName() { return "Twilight Forest Block Tags"; diff --git a/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/DamageTypeTagGenerator.java similarity index 90% rename from src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/DamageTypeTagGenerator.java index 33496076b3..4f2c606408 100644 --- a/src/main/java/twilightforest/data/tags/DamageTypeTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/DamageTypeTagGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; @@ -12,13 +12,12 @@ import net.neoforged.neoforge.common.Tags; import twilightforest.TwilightForestMod; import twilightforest.init.TFDamageTypes; +import twilightforest.tags.TFDamageTypeTags; import java.util.concurrent.CompletableFuture; public class DamageTypeTagGenerator extends TagsProvider { - public static final TagKey BREAKS_LICH_SHIELDS = create("breaks_lich_shields"); - public DamageTypeTagGenerator(PackOutput output, CompletableFuture future) { super(output, Registries.DAMAGE_TYPE, future, TwilightForestMod.ID); } @@ -29,7 +28,7 @@ protected void addTags(HolderLookup.Provider provider) { this.tag(TFDamageTypes.HYDRA_BITE, Tags.DamageTypes.IS_PHYSICAL); this.tag(TFDamageTypes.HYDRA_FIRE, DamageTypeTags.IS_FIRE, DamageTypeTags.IGNITES_ARMOR_STANDS, DamageTypeTags.AVOIDS_GUARDIAN_THORNS); this.tag(TFDamageTypes.HYDRA_MORTAR, DamageTypeTags.IS_FIRE, DamageTypeTags.IGNITES_ARMOR_STANDS, DamageTypeTags.AVOIDS_GUARDIAN_THORNS); - this.tag(TFDamageTypes.LICH_BOLT, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, DamageTypeTags.WITCH_RESISTANT_TO, BREAKS_LICH_SHIELDS, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); + this.tag(TFDamageTypes.LICH_BOLT, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, DamageTypeTags.WITCH_RESISTANT_TO, TFDamageTypeTags.BREAKS_LICH_SHIELDS, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.LICH_BOMB, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, DamageTypeTags.WITCH_RESISTANT_TO, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR, DamageTypeTags.IS_EXPLOSION); this.tag(TFDamageTypes.CHILLING_BREATH, Tags.DamageTypes.IS_MAGIC); this.tag(TFDamageTypes.SQUISH, Tags.DamageTypes.IS_PHYSICAL); @@ -55,7 +54,7 @@ protected void addTags(HolderLookup.Provider provider) { this.tag(TFDamageTypes.LOST_WORDS, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, DamageTypeTags.WITCH_RESISTANT_TO, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.SCHOOLED, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, DamageTypeTags.WITCH_RESISTANT_TO, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.SNOWBALL_FIGHT, DamageTypeTags.IS_PROJECTILE, Tags.DamageTypes.IS_MAGIC); - this.tag(TFDamageTypes.TWILIGHT_SCEPTER, DamageTypeTags.IS_PROJECTILE, BREAKS_LICH_SHIELDS, Tags.DamageTypes.IS_MAGIC); + this.tag(TFDamageTypes.TWILIGHT_SCEPTER, DamageTypeTags.IS_PROJECTILE, TFDamageTypeTags.BREAKS_LICH_SHIELDS, Tags.DamageTypes.IS_MAGIC); this.tag(TFDamageTypes.LIFEDRAIN, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.IS_PROJECTILE, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.EXPIRED, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.BYPASSES_RESISTANCE, DamageTypeTags.ALWAYS_MOST_SIGNIFICANT_FALL, DamageTypeTags.BYPASSES_INVULNERABILITY, Tags.DamageTypes.IS_TECHNICAL, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.FALLING_ICE, DamageTypeTags.BYPASSES_ENCHANTMENTS, Tags.DamageTypes.IS_ENVIRONMENT, Tags.DamageTypes.IS_PHYSICAL); @@ -63,9 +62,9 @@ protected void addTags(HolderLookup.Provider provider) { this.tag(TFDamageTypes.ACID_RAIN, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.WITCH_RESISTANT_TO, Tags.DamageTypes.IS_ENVIRONMENT, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_WOLF_ARMOR); this.tag(TFDamageTypes.OMINOUS_FIRE, Tags.DamageTypes.IS_MAGIC, DamageTypeTags.BYPASSES_ARMOR, DamageTypeTags.WITHER_IMMUNE_TO, DamageTypeTags.NO_KNOCKBACK, DamageTypeTags.PANIC_ENVIRONMENTAL_CAUSES); - this.tag(DamageTypes.MAGIC, BREAKS_LICH_SHIELDS); - this.tag(DamageTypes.INDIRECT_MAGIC, BREAKS_LICH_SHIELDS); - this.tag(DamageTypes.SONIC_BOOM, BREAKS_LICH_SHIELDS); + this.tag(DamageTypes.MAGIC, TFDamageTypeTags.BREAKS_LICH_SHIELDS); + this.tag(DamageTypes.INDIRECT_MAGIC, TFDamageTypeTags.BREAKS_LICH_SHIELDS); + this.tag(DamageTypes.SONIC_BOOM, TFDamageTypeTags.BREAKS_LICH_SHIELDS); } @SafeVarargs @@ -74,8 +73,4 @@ private void tag(ResourceKey type, TagKey... tags) { tag(key).add(type); } } - - private static TagKey create(String name) { - return TagKey.create(Registries.DAMAGE_TYPE, TwilightForestMod.prefix(name)); - } } diff --git a/src/data/java/twilightforest/datagen/data/tags/DimensionTypeTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/DimensionTypeTagGenerator.java new file mode 100644 index 0000000000..dde8410c6b --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/DimensionTypeTagGenerator.java @@ -0,0 +1,29 @@ +package twilightforest.datagen.data.tags; + +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.TagsProvider; +import net.minecraft.world.level.dimension.DimensionType; +import twilightforest.TwilightForestMod; +import twilightforest.init.TFDimensionData; +import twilightforest.tags.TFDimensionTypeTags; + +import java.util.concurrent.CompletableFuture; + +public class DimensionTypeTagGenerator extends TagsProvider { + + public DimensionTypeTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.DIMENSION_TYPE, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFDimensionTypeTags.ALLOWS_MAGIC_MAP_CHARTING).add(TFDimensionData.TWILIGHT_DIM_TYPE); + } + + @Override + public String getName() { + return "Twilight Forest Dimension Type Tags"; + } +} diff --git a/src/main/java/twilightforest/data/tags/EntityTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/EntityTypeTagGenerator.java similarity index 70% rename from src/main/java/twilightforest/data/tags/EntityTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/EntityTypeTagGenerator.java index fb7c989881..057152ea8a 100644 --- a/src/main/java/twilightforest/data/tags/EntityTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/EntityTypeTagGenerator.java @@ -1,30 +1,19 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; -import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; -import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.EntityTypeTags; -import net.minecraft.tags.TagKey; import net.minecraft.world.entity.EntityType; import net.neoforged.neoforge.common.Tags; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.compat.ModdedEntityTagGenerator; +import twilightforest.datagen.data.tags.compat.ModdedEntityTypeTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.init.TFEntities; import java.util.concurrent.CompletableFuture; -public class EntityTagGenerator extends ModdedEntityTagGenerator { - public static final TagKey> BOSSES = create(TwilightForestMod.prefix("bosses")); - public static final TagKey> LICH_POPPABLES = create(TwilightForestMod.prefix("lich_poppables")); - public static final TagKey> LIFEDRAIN_DROPS_NO_FLESH = create(TwilightForestMod.prefix("lifedrain_drops_no_flesh")); - public static final TagKey> RIDES_OBSTRUCT_SNATCHING = create(TwilightForestMod.prefix("rides_obstruct_snatching")); - public static final TagKey> DONT_KILL_BUGS = create(TwilightForestMod.prefix("dont_kill_bugs")); - public static final TagKey> SORTABLE_ENTITIES = create(TwilightForestMod.prefix("sortable_entities")); - public static final TagKey> MULTIPLAYER_INCLUSIVE_ENTITIES = create(TwilightForestMod.prefix("multiplayer_inclusive_entities")); - public static final TagKey> LICH_DEFLECTS_PHASE_2 = create(TwilightForestMod.prefix("lich_deflects_phase_2")); - - public EntityTagGenerator(PackOutput output, CompletableFuture provider) { +public class EntityTypeTagGenerator extends ModdedEntityTypeTagGenerator { + + public EntityTypeTagGenerator(PackOutput output, CompletableFuture provider) { super(output, provider); } @@ -37,7 +26,7 @@ protected void addTags(HolderLookup.Provider provider) { this.tag(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES).add(TFEntities.FIRE_BEETLE.get()); this.tag(EntityTypeTags.FROG_FOOD).add(TFEntities.MAZE_SLIME.get()); - this.tag(BOSSES).add( + this.tag(TFEntityTypeTags.BOSSES).add( TFEntities.NAGA.get(), TFEntities.LICH.get(), TFEntities.MINOSHROOM.get(), @@ -91,7 +80,7 @@ protected void addTags(HolderLookup.Provider provider) { TFEntities.KNIGHT_PHANTOM.get(), TFEntities.WINTER_WOLF.get(), TFEntities.YETI.get() - ).addTag(BOSSES); + ).addTag(TFEntityTypeTags.BOSSES); this.tag(EntityTypeTags.FALL_DAMAGE_IMMUNE).add( TFEntities.NAGA.get(), @@ -113,12 +102,12 @@ protected void addTags(HolderLookup.Provider provider) { TFEntities.CARMINITE_GHASTGUARD.get(), TFEntities.TINY_BIRD.get()); - this.tag(LICH_POPPABLES) + this.tag(TFEntityTypeTags.LICH_POPPABLES) .addTag(EntityTypeTags.SKELETONS) .add(EntityType.ZOMBIE, EntityType.ENDERMAN, EntityType.SPIDER, EntityType.CREEPER, TFEntities.SWARM_SPIDER.get()) .remove(Tags.EntityTypes.BOSSES); - this.tag(LIFEDRAIN_DROPS_NO_FLESH).addTag(EntityTypeTags.SKELETONS).addTag(EntityTypeTags.FROG_FOOD).add( + this.tag(TFEntityTypeTags.LIFEDRAIN_DROPS_NO_FLESH).addTag(EntityTypeTags.SKELETONS).addTag(EntityTypeTags.FROG_FOOD).add( EntityType.BLAZE, EntityType.BREEZE, EntityType.IRON_GOLEM, @@ -140,11 +129,11 @@ protected void addTags(HolderLookup.Provider provider) { TFEntities.WRAITH.get()); // These entities forcefully take players from the entity they're riding - this.tag(RIDES_OBSTRUCT_SNATCHING).add(TFEntities.PINCH_BEETLE.get(), TFEntities.YETI.get(), TFEntities.ALPHA_YETI.get()); + this.tag(TFEntityTypeTags.RIDES_OBSTRUCT_SNATCHING).add(TFEntities.PINCH_BEETLE.get(), TFEntities.YETI.get(), TFEntities.ALPHA_YETI.get()); - this.tag(DONT_KILL_BUGS).add(TFEntities.MOONWORM_SHOT.get()); + this.tag(TFEntityTypeTags.DONT_KILL_BUGS).add(TFEntities.MOONWORM_SHOT.get()); - this.tag(SORTABLE_ENTITIES).add( + this.tag(TFEntityTypeTags.SORTABLE_ENTITIES).add( EntityType.CHEST_MINECART, EntityType.HOPPER_MINECART, EntityType.LLAMA, @@ -152,7 +141,7 @@ protected void addTags(HolderLookup.Provider provider) { EntityType.DONKEY, EntityType.MULE); - this.tag(MULTIPLAYER_INCLUSIVE_ENTITIES).add( + this.tag(TFEntityTypeTags.MULTIPLAYER_INCLUSIVE_ENTITIES).add( TFEntities.NAGA.get(), TFEntities.LICH.get(), TFEntities.MINOSHROOM.get(), @@ -163,7 +152,7 @@ protected void addTags(HolderLookup.Provider provider) { TFEntities.PLATEAU_BOSS.get() ); - this.tag(Tags.EntityTypes.BOSSES).addTag(BOSSES); + this.tag(Tags.EntityTypes.BOSSES).addTag(TFEntityTypeTags.BOSSES); this.tag(EntityTypeTags.ARTHROPOD).add( TFEntities.CARMINITE_BROODLING.get(), TFEntities.FIRE_BEETLE.get(), @@ -178,12 +167,9 @@ protected void addTags(HolderLookup.Provider provider) { this.tag(EntityTypeTags.IMMUNE_TO_OOZING).add(TFEntities.MAZE_SLIME.get()); this.tag(EntityTypeTags.IMMUNE_TO_INFESTED).add(TFEntities.TOWERWOOD_BORER.get()); this.tag(EntityTypeTags.REDIRECTABLE_PROJECTILE).add(TFEntities.HYDRA_MORTAR.get(), TFEntities.LICH_BOLT.get()); - this.tag(LICH_DEFLECTS_PHASE_2).add(TFEntities.WAND_BOLT.get(), TFEntities.LICH_BOLT.get(), TFEntities.LICH_BOMB.get()); + this.tag(TFEntityTypeTags.LICH_DEFLECTS_PHASE_2).add(TFEntities.WAND_BOLT.get(), TFEntities.LICH_BOLT.get(), TFEntities.LICH_BOMB.get()); } - private static TagKey> create(ResourceLocation rl) { - return TagKey.create(Registries.ENTITY_TYPE, rl); - } @Override public String getName() { diff --git a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/ItemTagGenerator.java similarity index 51% rename from src/main/java/twilightforest/data/tags/ItemTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/ItemTagGenerator.java index 8312b2cbb4..8b02506fc4 100644 --- a/src/main/java/twilightforest/data/tags/ItemTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/ItemTagGenerator.java @@ -1,101 +1,25 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.data.tags.TagsProvider; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.common.Tags; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.compat.ModdedItemTagGenerator; +import twilightforest.datagen.data.tags.compat.ModdedItemTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; +import twilightforest.tags.TFItemTags; import java.util.concurrent.CompletableFuture; public class ItemTagGenerator extends ModdedItemTagGenerator { - public static final TagKey TWILIGHT_OAK_LOGS = create("twilight_oak_logs"); - public static final TagKey CANOPY_LOGS = create("canopy_logs"); - public static final TagKey MANGROVE_LOGS = create("mangrove_logs"); - public static final TagKey DARKWOOD_LOGS = create("darkwood_logs"); - public static final TagKey TIME_LOGS = create("timewood_logs"); - public static final TagKey TRANSFORMATION_LOGS = create("transwood_logs"); - public static final TagKey MINING_LOGS = create("mining_logs"); - public static final TagKey SORTING_LOGS = create("sortwood_logs"); - public static final TagKey TWILIGHT_LOGS = create("logs"); - - public static final TagKey BANISTERS = create("banisters"); - - public static final TagKey PAPER = makeCommonTag("paper"); - - public static final TagKey TOWERWOOD = create("towerwood"); - - public static final TagKey FIERY_VIAL = create("fiery_vial"); - - public static final TagKey ARCTIC_FUR = create("arctic_fur"); - public static final TagKey CARMINITE_GEMS = makeCommonTag("gems/carminite"); - public static final TagKey FIERY_INGOTS = makeCommonTag("ingots/fiery"); - public static final TagKey IRONWOOD_INGOTS = makeCommonTag("ingots/ironwood"); - public static final TagKey KNIGHTMETAL_INGOTS = makeCommonTag("ingots/knightmetal"); - public static final TagKey STEELEAF_INGOTS = makeCommonTag("ingots/steeleaf"); - public static final TagKey WROUGHT_IRON_INGOTS = makeCommonTag("ingots/wrought_iron"); - - public static final TagKey STORAGE_BLOCKS_ARCTIC_FUR = makeCommonTag("storage_blocks/arctic_fur"); - public static final TagKey STORAGE_BLOCKS_CARMINITE = makeCommonTag("storage_blocks/carminite"); - public static final TagKey STORAGE_BLOCKS_FIERY = makeCommonTag("storage_blocks/fiery"); - public static final TagKey STORAGE_BLOCKS_IRONWOOD = makeCommonTag("storage_blocks/ironwood"); - public static final TagKey STORAGE_BLOCKS_KNIGHTMETAL = makeCommonTag("storage_blocks/knightmetal"); - public static final TagKey STORAGE_BLOCKS_STEELEAF = makeCommonTag("storage_blocks/steeleaf"); - - public static final TagKey RAW_MATERIALS_IRONWOOD = makeCommonTag("raw_materials/ironwood"); - public static final TagKey RAW_MATERIALS_KNIGHTMETAL = makeCommonTag("raw_materials/knightmetal"); - - public static final TagKey PORTAL_ACTIVATOR = create("portal/activator"); - - public static final TagKey WIP = create("wip"); - - public static final TagKey KOBOLD_PACIFICATION_BREADS = create("kobold_pacification_breads"); - public static final TagKey BOAR_TEMPT_ITEMS = create("boar_tempt_items"); - public static final TagKey DEER_TEMPT_ITEMS = create("deer_tempt_items"); - public static final TagKey DWARF_RABBIT_TEMPT_ITEMS = create("dwarf_rabbit_tempt_items"); - public static final TagKey PENGUIN_TEMPT_ITEMS = create("penguin_tempt_items"); - public static final TagKey RAVEN_TEMPT_ITEMS = create("raven_tempt_items"); - public static final TagKey SQUIRREL_TEMPT_ITEMS = create("squirrel_tempt_items"); - public static final TagKey TINY_BIRD_TEMPT_ITEMS = create("tiny_bird_tempt_items"); - - public static final TagKey BANNED_UNCRAFTING_INGREDIENTS = create("banned_uncrafting_ingredients"); - public static final TagKey BANNED_UNCRAFTABLES = create("banned_uncraftables"); - public static final TagKey UNCRAFTING_IGNORES_COST = create("uncrafting_ignores_cost"); - - public static final TagKey KEPT_ON_DEATH = create("kept_on_death"); - public static final TagKey BLOCK_AND_CHAIN_ENCHANTABLE = create("enchantable/block_and_chain"); - - public static final TagKey REPAIRS_IRONWOOD_TOOLS = create("repairs_ironwood_tools"); - public static final TagKey REPAIRS_STEELEAF_TOOLS = create("repairs_steeleaf_tools"); - public static final TagKey REPAIRS_KNIGHTMETAL_TOOLS = create("repairs_knightmetal_tools"); - public static final TagKey REPAIRS_FIERY_TOOLS = create("repairs_fiery_tools"); - public static final TagKey REPAIRS_GIANT_TOOLS = create("repairs_giant_tools"); - public static final TagKey REPAIRS_ICE_TOOLS = create("repairs_ice_tools"); - public static final TagKey REPAIRS_GLASS_TOOLS = create("repairs_glass_tools"); - - public static final TagKey REPAIRS_IRONWOOD_ARMOR = create("repairs_ironwood_armor"); - public static final TagKey REPAIRS_STEELEAF_ARMOR = create("repairs_steeleaf_armor"); - public static final TagKey REPAIRS_NAGA_ARMOR = create("repairs_naga_armor"); - public static final TagKey REPAIRS_FIERY_ARMOR = create("repairs_fiery_armor"); - public static final TagKey REPAIRS_KNIGHTMETAL_ARMOR = create("repairs_knightmetal_armor"); - public static final TagKey REPAIRS_PHANTOM_ARMOR = create("repairs_phantom_armor"); - public static final TagKey REPAIRS_ARCTIC_ARMOR = create("repairs_arctic_armor"); - public static final TagKey REPAIRS_YETI_ARMOR = create("repairs_yeti_armor"); - - public static final TagKey SCEPTERS = create("scepters"); - public static final TagKey IMMUNE_TO_THORNS = create("immune_to_thorns"); - - public ItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider) { + + public ItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider) { super(output, future, provider); } @@ -103,20 +27,20 @@ public ItemTagGenerator(PackOutput output, CompletableFuture create(String tagName) { - return ItemTags.create(TwilightForestMod.prefix(tagName)); - } - - public static TagKey makeCommonTag(String tagName) { - return ItemTags.create(ResourceLocation.fromNamespaceAndPath("c", tagName)); - } - @Override public String getName() { return "Twilight Forest Item Tags"; diff --git a/src/data/java/twilightforest/datagen/data/tags/PaintingVariantTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/PaintingVariantTagGenerator.java new file mode 100644 index 0000000000..c0cdc9e947 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/PaintingVariantTagGenerator.java @@ -0,0 +1,127 @@ +package twilightforest.datagen.data.tags; + +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.TagsProvider; +import net.minecraft.world.entity.decoration.PaintingVariant; +import net.minecraft.world.entity.decoration.PaintingVariants; +import twilightforest.TwilightForestMod; +import twilightforest.tags.TFPaintingVariantTags; + +import java.util.concurrent.CompletableFuture; + +public class PaintingVariantTagGenerator extends TagsProvider { + + public PaintingVariantTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, Registries.PAINTING_VARIANT, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + // Every single painting except for Humble + tag(TFPaintingVariantTags.LICH_TOWER_PAINTINGS).add( + PaintingVariants.KEBAB, + PaintingVariants.AZTEC, + PaintingVariants.ALBAN, + PaintingVariants.AZTEC2, + PaintingVariants.BOMB, + PaintingVariants.PLANT, + PaintingVariants.WASTELAND, + PaintingVariants.POOL, + PaintingVariants.COURBET, + PaintingVariants.SEA, + PaintingVariants.SUNSET, + PaintingVariants.CREEBET, + PaintingVariants.WANDERER, + PaintingVariants.GRAHAM, + PaintingVariants.MATCH, + PaintingVariants.BUST, + PaintingVariants.STAGE, + PaintingVariants.VOID, + PaintingVariants.SKULL_AND_ROSES, + PaintingVariants.WITHER, + PaintingVariants.FIGHTERS, + PaintingVariants.POINTER, + PaintingVariants.PIGSCENE, + PaintingVariants.BURNING_SKULL, + PaintingVariants.SKELETON, + PaintingVariants.DONKEY_KONG, + PaintingVariants.EARTH, + PaintingVariants.WIND, + PaintingVariants.WATER, + PaintingVariants.FIRE, + PaintingVariants.BAROQUE, + PaintingVariants.MEDITATIVE, + PaintingVariants.PRAIRIE_RIDE, + PaintingVariants.UNPACKED, + PaintingVariants.BACKYARD, + PaintingVariants.BOUQUET, + PaintingVariants.CAVEBIRD, + PaintingVariants.CHANGING, + PaintingVariants.COTAN, + PaintingVariants.ENDBOSS, + PaintingVariants.FERN, + PaintingVariants.FINDING, + PaintingVariants.LOWMIST, + PaintingVariants.ORB, + PaintingVariants.OWLEMONS, + PaintingVariants.PASSAGE, + PaintingVariants.POND, + PaintingVariants.SUNFLOWERS, + PaintingVariants.TIDES + ); + // Every single painting except for Humble, Unpacked, and the 4 elements + tag(TFPaintingVariantTags.LICH_BOSS_PAINTINGS).add( + PaintingVariants.KEBAB, + PaintingVariants.AZTEC, + PaintingVariants.ALBAN, + PaintingVariants.AZTEC2, + PaintingVariants.BOMB, + PaintingVariants.PLANT, + PaintingVariants.WASTELAND, + PaintingVariants.POOL, + PaintingVariants.COURBET, + PaintingVariants.SEA, + PaintingVariants.SUNSET, + PaintingVariants.CREEBET, + PaintingVariants.WANDERER, + PaintingVariants.GRAHAM, + PaintingVariants.MATCH, + PaintingVariants.BUST, + PaintingVariants.STAGE, + PaintingVariants.VOID, + PaintingVariants.SKULL_AND_ROSES, + PaintingVariants.WITHER, + PaintingVariants.FIGHTERS, + PaintingVariants.POINTER, + PaintingVariants.PIGSCENE, + PaintingVariants.BURNING_SKULL, + PaintingVariants.SKELETON, + PaintingVariants.DONKEY_KONG, + PaintingVariants.BAROQUE, + PaintingVariants.MEDITATIVE, + PaintingVariants.PRAIRIE_RIDE, + PaintingVariants.BACKYARD, + PaintingVariants.BOUQUET, + PaintingVariants.CAVEBIRD, + PaintingVariants.CHANGING, + PaintingVariants.COTAN, + PaintingVariants.ENDBOSS, + PaintingVariants.FERN, + PaintingVariants.FINDING, + PaintingVariants.LOWMIST, + PaintingVariants.ORB, + PaintingVariants.OWLEMONS, + PaintingVariants.PASSAGE, + PaintingVariants.POND, + PaintingVariants.SUNFLOWERS, + PaintingVariants.TIDES + ); + } + + @Override + public String getName() { + return "Twilight Forest Painting Variant Tags"; + } +} diff --git a/src/main/java/twilightforest/data/tags/StructureTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/StructureTagGenerator.java similarity index 75% rename from src/main/java/twilightforest/data/tags/StructureTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/StructureTagGenerator.java index 748aa26b20..b41ac53d81 100644 --- a/src/main/java/twilightforest/data/tags/StructureTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/StructureTagGenerator.java @@ -1,4 +1,4 @@ -package twilightforest.data.tags; +package twilightforest.datagen.data.tags; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; @@ -8,20 +8,19 @@ import net.minecraft.world.level.levelgen.structure.Structure; import twilightforest.TwilightForestMod; import twilightforest.init.TFStructures; +import twilightforest.tags.TFStructureTags; import java.util.concurrent.CompletableFuture; public class StructureTagGenerator extends StructureTagsProvider { - // Add structures to this tag to show on the Magic Map, detected by worldgen features avoiding landmarks and progression lock behavior - public static final TagKey LANDMARK = TagKey.create(Registries.STRUCTURE, TwilightForestMod.prefix("landmark")); public StructureTagGenerator(PackOutput output, CompletableFuture provider) { super(output, provider, TwilightForestMod.ID); } @Override - protected void addTags(HolderLookup.Provider p_256087_) { - this.tag(LANDMARK).add( + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFStructureTags.LANDMARK).add( TFStructures.HEDGE_MAZE, TFStructures.QUEST_GROVE, TFStructures.MUSHROOM_TOWER, diff --git a/src/data/java/twilightforest/datagen/data/tags/WoodPaletteTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/WoodPaletteTagGenerator.java new file mode 100644 index 0000000000..97bfbccfa1 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/WoodPaletteTagGenerator.java @@ -0,0 +1,35 @@ +package twilightforest.datagen.data.tags; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.TagsProvider; +import twilightforest.TFRegistries; +import twilightforest.TwilightForestMod; +import twilightforest.init.custom.WoodPalettes; +import twilightforest.tags.TFWoodPaletteTags; +import twilightforest.util.woods.WoodPalette; + +import java.util.concurrent.CompletableFuture; + +public class WoodPaletteTagGenerator extends TagsProvider { + + public WoodPaletteTagGenerator(PackOutput output, CompletableFuture< HolderLookup.Provider> provider) { + super(output, TFRegistries.Keys.WOOD_PALETTES, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + tag(TFWoodPaletteTags.WELL_SWIZZLE_MASK).add(WoodPalettes.OAK); + tag(TFWoodPaletteTags.DRUID_HUT_SWIZZLE_MASK).add(WoodPalettes.OAK, WoodPalettes.SPRUCE, WoodPalettes.BIRCH); + + tag(TFWoodPaletteTags.COMMON_PALETTES).add(WoodPalettes.SPRUCE, WoodPalettes.CANOPY); + tag(TFWoodPaletteTags.UNCOMMON_PALETTES).add(WoodPalettes.OAK, WoodPalettes.DARKWOOD, WoodPalettes.TWILIGHT_OAK); + tag(TFWoodPaletteTags.RARE_PALETTES).add(WoodPalettes.BIRCH, WoodPalettes.JUNGLE, WoodPalettes.MANGROVE); + tag(TFWoodPaletteTags.TREASURE_PALETTES).add(WoodPalettes.TIMEWOOD, WoodPalettes.TRANSWOOD, WoodPalettes.MINEWOOD, WoodPalettes.SORTWOOD); + } + + @Override + public String getName() { + return "Twilight Forest Wood Palette Tags"; + } +} diff --git a/src/data/java/twilightforest/datagen/data/tags/compat/ModdedBlockTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedBlockTagGenerator.java new file mode 100644 index 0000000000..83c6abe2a1 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedBlockTagGenerator.java @@ -0,0 +1,31 @@ +package twilightforest.datagen.data.tags.compat; + +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.IntrinsicHolderTagsProvider; +import net.minecraft.world.level.block.Block; +import twilightforest.TwilightForestMod; +import twilightforest.init.TFBlocks; +import twilightforest.tags.TFBlockTags; + +import java.util.concurrent.CompletableFuture; + +public class ModdedBlockTagGenerator extends IntrinsicHolderTagsProvider { + + public ModdedBlockTagGenerator(PackOutput output, CompletableFuture future) { + super(output, Registries.BLOCK, future, block -> block.builtInRegistryHolder().key(), TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFBlockTags.AC_FERROMAGNETIC_BLOCKS).addTag(TFBlockTags.STORAGE_BLOCKS_IRONWOOD).addTag(TFBlockTags.STORAGE_BLOCKS_STEELEAF).addTag(TFBlockTags.STORAGE_BLOCKS_KNIGHTMETAL).add(TFBlocks.CANDELABRA.get()).add(TFBlocks.WROUGHT_IRON_FENCE.get()); + this.tag(TFBlockTags.AC_GLOOMOTH_LIGHT_SOURCES).add(TFBlocks.FIREFLY_SPAWNER.get(), TFBlocks.FIREFLY_JAR.get()); + this.tag(TFBlockTags.AC_UNDERZEALOT_LIGHT_SOURCES).add(TFBlocks.FIREFLY.get(), TFBlocks.MOONWORM.get()); + + this.tag(TFBlockTags.ARTIFACTS_CAMPSITE_CHESTS).addTag(TFBlockTags.TF_CHESTS); + + this.tag(TFBlockTags.FD_COMPOST_ACTIVATORS).add(TFBlocks.UBEROUS_SOIL.get(), TFBlocks.MUSHGLOOM.get()); + this.tag(TFBlockTags.FD_HEAT_SOURCES).addTag(TFBlockTags.STORAGE_BLOCKS_FIERY); + } +} diff --git a/src/data/java/twilightforest/datagen/data/tags/compat/ModdedEntityTypeTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedEntityTypeTagGenerator.java new file mode 100644 index 0000000000..b42b0c6d97 --- /dev/null +++ b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedEntityTypeTagGenerator.java @@ -0,0 +1,39 @@ +package twilightforest.datagen.data.tags.compat; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.EntityTypeTagsProvider; +import twilightforest.TwilightForestMod; +import twilightforest.init.TFEntities; +import twilightforest.tags.TFEntityTypeTags; + +import java.util.concurrent.CompletableFuture; + +public class ModdedEntityTypeTagGenerator extends EntityTypeTagsProvider { + + public ModdedEntityTypeTagGenerator(PackOutput output, CompletableFuture provider) { + super(output, provider, TwilightForestMod.ID); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + this.tag(TFEntityTypeTags.AC_RESISTS_ACID).add(TFEntities.HYDRA.get(), TFEntities.NAGA.get()); + this.tag(TFEntityTypeTags.AC_RESISTS_MAGNETS).addTag(TFEntityTypeTags.BOSSES); + this.tag(TFEntityTypeTags.AC_RESISTS_TREMORSAURUS_ROAR).add(TFEntities.HYDRA.get(), TFEntities.UR_GHAST.get()); + + this.tag(TFEntityTypeTags.AETHER_DEFLECTABLE_PROJECTILES).add( + TFEntities.NATURE_BOLT.get(), + TFEntities.LICH_BOLT.get(), + TFEntities.WAND_BOLT.get(), + TFEntities.SLIME_BLOB.get(), + TFEntities.ICE_SNOWBALL.get()); + + this.tag(TFEntityTypeTags.AETHER_FIRE_MOB).add(TFEntities.FIRE_BEETLE.get()); + this.tag(TFEntityTypeTags.AETHER_PIGS).add(TFEntities.BOAR.get()); + + this.tag(TFEntityTypeTags.AN_JAR_BLACKLIST).addTag(TFEntityTypeTags.BOSSES); + this.tag(TFEntityTypeTags.AN_JAR_RELEASE_BLACKLIST).addTag(TFEntityTypeTags.BOSSES); + + this.tag(TFEntityTypeTags.IE_SHADER_BLACKLIST).addTag(TFEntityTypeTags.BOSSES); + } +} diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedItemTagGenerator.java similarity index 70% rename from src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java rename to src/data/java/twilightforest/datagen/data/tags/compat/ModdedItemTagGenerator.java index a076fe1cc8..d71eddd7b6 100644 --- a/src/main/java/twilightforest/data/tags/compat/ModdedItemTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/compat/ModdedItemTagGenerator.java @@ -1,34 +1,17 @@ -package twilightforest.data.tags.compat; +package twilightforest.datagen.data.tags.compat; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.tags.ItemTagsProvider; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.ItemTagGenerator; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; +import twilightforest.tags.TFItemTags; import java.util.concurrent.CompletableFuture; public class ModdedItemTagGenerator extends ItemTagsProvider { - public static final TagKey AC_FERNS = createTagFor("alexscaves", "ferns"); - public static final TagKey AC_FERROMAGNETIC_ITEMS = createTagFor("alexscaves", "ferromagnetic_items"); - public static final TagKey AC_RAW_MEATS = createTagFor("alexscaves", "raw_meats"); - - public static final TagKey CURIOS_CHARM = createTagFor("curios", "charm"); - public static final TagKey CURIOS_HEAD = createTagFor("curios", "head"); - - public static final TagKey CA_PLANTS = createTagFor("createaddition", "plants"); - public static final TagKey CA_PLANT_FOODS = createTagFor("createaddition", "plant_foods"); - - public static final TagKey FD_CABBAGE_ROLL_INGREDIENTS = createTagFor("farmersdelight", "cabbage_roll_ingredients"); - - public static final TagKey RANDOMIUM_BLACKLIST = createTagFor("randomium", "blacklist"); public ModdedItemTagGenerator(PackOutput output, CompletableFuture future, CompletableFuture> provider) { super(output, future, provider, TwilightForestMod.ID); @@ -36,11 +19,11 @@ public ModdedItemTagGenerator(PackOutput output, CompletableFuture createTagFor(String modid, String tagName) { - return ItemTags.create(ResourceLocation.fromNamespaceAndPath(modid, tagName)); - } } diff --git a/src/main/java/twilightforest/data/custom/stalactites/package-info.java b/src/data/java/twilightforest/datagen/data/tags/compat/package-info.java similarity index 83% rename from src/main/java/twilightforest/data/custom/stalactites/package-info.java rename to src/data/java/twilightforest/datagen/data/tags/compat/package-info.java index 9cff63ec88..dfc1ca2060 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/package-info.java +++ b/src/data/java/twilightforest/datagen/data/tags/compat/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.custom.stalactites; +package twilightforest.datagen.data.tags.compat; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/twilightforest/data/helpers/package-info.java b/src/data/java/twilightforest/datagen/data/tags/package-info.java similarity index 85% rename from src/main/java/twilightforest/data/helpers/package-info.java rename to src/data/java/twilightforest/datagen/data/tags/package-info.java index 208207dfcd..a383dfa3cc 100644 --- a/src/main/java/twilightforest/data/helpers/package-info.java +++ b/src/data/java/twilightforest/datagen/data/tags/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.helpers; +package twilightforest.datagen.data.tags; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java index 6727933c54..1044d09a39 100644 --- a/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java +++ b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java @@ -1,13 +1,27 @@ package twilightforest.datagen.generator; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Component; +import twilightforest.datagen.assets.AtlasGenerator; +import twilightforest.datagen.assets.LangGenerator; +import twilightforest.datagen.assets.ParticleGenerator; +import twilightforest.datagen.assets.SoundGenerator; +import twilightforest.datagen.assets.models.ModelGenerator; @Component public class AssetsGenerator { - public void generate(GatherDataEvent event) { + public void generate(GatherDataEvent.Client event) { + DataGenerator generator = event.getGenerator(); + PackOutput output = generator.getPackOutput(); + generator.addProvider(true, new AtlasGenerator(output, event.getLookupProvider())); + generator.addProvider(true, new ModelGenerator(output)); + generator.addProvider(true, new ParticleGenerator(output)); + generator.addProvider(true, new SoundGenerator(output)); + //run last because of subtitles + generator.addProvider(true, new LangGenerator(output)); } - } diff --git a/src/data/java/twilightforest/datagen/generator/DataGenerator.java b/src/data/java/twilightforest/datagen/generator/DataGenerator.java index 0bf9aa35d2..08ea3c8f8e 100644 --- a/src/data/java/twilightforest/datagen/generator/DataGenerator.java +++ b/src/data/java/twilightforest/datagen/generator/DataGenerator.java @@ -1,13 +1,58 @@ package twilightforest.datagen.generator; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.server.packs.PackType; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Component; +import twilightforest.datagen.data.*; +import twilightforest.datagen.data.custom.QuestGenerator; +import twilightforest.datagen.data.custom.StructureTemplateDefinitionGenerator; +import twilightforest.datagen.data.custom.stalactites.StalactiteGenerator; +import twilightforest.datagen.data.loot.LootGenerator; +import twilightforest.datagen.data.recipes.CraftingGeneratorRunner; +import twilightforest.datagen.data.recipes.RecipePriorityGenerator; +import twilightforest.datagen.data.tags.*; + +import java.util.concurrent.CompletableFuture; @Component public class DataGenerator { - public void generate(GatherDataEvent event) { + public void generate(GatherDataEvent.Client event) { + net.minecraft.data.DataGenerator generator = event.getGenerator(); + PackOutput output = event.getGenerator().getPackOutput(); - } + //datapack registry things + DatapackBuiltinEntriesProvider datapackProvider = new RegistryDataGenerator(output, event.getLookupProvider()); + CompletableFuture lookupProvider = datapackProvider.getRegistryProvider(); + generator.addProvider(true, datapackProvider); + //tags + generator.addProvider(true, new BannerPatternTagGenerator(output, lookupProvider)); + generator.addProvider(true, new BiomeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new BlockEntityTypeTagGenerator(output, lookupProvider)); + BlockTagGenerator blocktags = new BlockTagGenerator(output, lookupProvider); + generator.addProvider(true, blocktags); + generator.addProvider(true, new DamageTypeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new DimensionTypeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new EntityTypeTagGenerator(output, lookupProvider)); + generator.addProvider(true, new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter())); + generator.addProvider(true, new PaintingVariantTagGenerator(output, lookupProvider)); + generator.addProvider(true, new StructureTagGenerator(output, lookupProvider)); + generator.addProvider(true, new WoodPaletteTagGenerator(output, lookupProvider)); + + //the other stuff + generator.addProvider(true, new CraftingGeneratorRunner(output, lookupProvider)); + generator.addProvider(true, new DataMapGenerator(output, lookupProvider)); + generator.addProvider(true, new LootGenerator(output, lookupProvider)); + generator.addProvider(true, new LootModifierGenerator(output, lookupProvider)); + generator.addProvider(true, new QuestGenerator(output)); + generator.addProvider(true, new RecipePriorityGenerator(output, lookupProvider)); + generator.addProvider(true, new StalactiteGenerator(output)); + generator.addProvider(true, new StructureTemplateDefinitionGenerator(output, lookupProvider)); + generator.addProvider(true, new TFAdvancementProvider(output, lookupProvider)); + generator.addProvider(true, new TFStructureUpdater("structures", output, event.getResourceManager(PackType.SERVER_DATA))); + } } diff --git a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java similarity index 99% rename from src/main/java/twilightforest/data/helpers/BlockModelBuilders.java rename to src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 86ad0efbd6..fdbd62b15f 100644 --- a/src/main/java/twilightforest/data/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; @@ -15,9 +15,9 @@ import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; -import twilightforest.data.models.TFBlockModelTemplates; -import twilightforest.data.models.TFTextureMapping; -import twilightforest.data.models.TFTextureSlot; +import twilightforest.datagen.assets.models.TFBlockModelTemplates; +import twilightforest.datagen.assets.models.TFTextureMapping; +import twilightforest.datagen.assets.models.TFTextureSlot; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; diff --git a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java b/src/data/java/twilightforest/datagen/helpers/CraftingDataHelper.java similarity index 98% rename from src/main/java/twilightforest/data/helpers/CraftingDataHelper.java rename to src/data/java/twilightforest/datagen/helpers/CraftingDataHelper.java index 303fc76c65..c1d1023cbd 100644 --- a/src/main/java/twilightforest/data/helpers/CraftingDataHelper.java +++ b/src/data/java/twilightforest/datagen/helpers/CraftingDataHelper.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import com.mojang.datafixers.util.Pair; import net.minecraft.core.HolderGetter; @@ -24,11 +24,10 @@ import net.minecraft.world.level.block.ChestBlock; import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.registries.DeferredBlock; -import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredItem; import twilightforest.TwilightForestMod; import twilightforest.block.TFTrappedChestBlock; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; public abstract class CraftingDataHelper extends RecipeProvider { @@ -308,7 +307,7 @@ protected final void slabBlock(HolderGetter getter, String name, DeferredB protected final void bannerPattern(HolderGetter getter, String name, DeferredBlock trophy, DeferredItem result) { ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.MISC, result) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.PAPER))) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.PAPER))) .requires(Ingredient.of(trophy.asItem())) .unlockedBy("has_trophy", has(trophy)) .save(this.output); @@ -403,8 +402,8 @@ protected final void chestBlock(HolderGetter getter, String name, Deferred protected final void fieryConversion(HolderGetter getter, DeferredItem result, Item armor, int vials) { ShapelessRecipeBuilder.shapeless(getter, RecipeCategory.COMBAT, result) .requires(armor) - .requires(Ingredient.of(getter.getOrThrow(ItemTagGenerator.FIERY_VIAL)), vials) - .unlockedBy("has_item", has(ItemTagGenerator.FIERY_VIAL)) + .requires(Ingredient.of(getter.getOrThrow(TFItemTags.FIERY_VIAL)), vials) + .unlockedBy("has_item", has(TFItemTags.FIERY_VIAL)) .group(result.getId().getPath()) .save(this.output, locEquip("fiery_" + BuiltInRegistries.ITEM.getKey(armor).getPath())); } diff --git a/src/main/java/twilightforest/data/helpers/ItemModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/ItemModelBuilders.java similarity index 92% rename from src/main/java/twilightforest/data/helpers/ItemModelBuilders.java rename to src/data/java/twilightforest/datagen/helpers/ItemModelBuilders.java index 4ce8e10c76..525b812ef2 100644 --- a/src/main/java/twilightforest/data/helpers/ItemModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/ItemModelBuilders.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import net.minecraft.client.data.models.ItemModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; diff --git a/src/main/java/twilightforest/data/helpers/LangConversionHelper.java b/src/data/java/twilightforest/datagen/helpers/LangConversionHelper.java similarity index 99% rename from src/main/java/twilightforest/data/helpers/LangConversionHelper.java rename to src/data/java/twilightforest/datagen/helpers/LangConversionHelper.java index 37d6c023e5..6c3ccd5b0a 100644 --- a/src/main/java/twilightforest/data/helpers/LangConversionHelper.java +++ b/src/data/java/twilightforest/datagen/helpers/LangConversionHelper.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import twilightforest.TwilightForestMod; diff --git a/src/main/java/twilightforest/data/helpers/LangFormatSplitter.java b/src/data/java/twilightforest/datagen/helpers/LangFormatSplitter.java similarity index 99% rename from src/main/java/twilightforest/data/helpers/LangFormatSplitter.java rename to src/data/java/twilightforest/datagen/helpers/LangFormatSplitter.java index df6893f8f9..b5221e18de 100644 --- a/src/main/java/twilightforest/data/helpers/LangFormatSplitter.java +++ b/src/data/java/twilightforest/datagen/helpers/LangFormatSplitter.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import com.google.common.collect.ImmutableList; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/twilightforest/data/helpers/TFLangProvider.java b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java similarity index 99% rename from src/main/java/twilightforest/data/helpers/TFLangProvider.java rename to src/data/java/twilightforest/datagen/helpers/TFLangProvider.java index 491f6bbe24..9eab61eb65 100644 --- a/src/main/java/twilightforest/data/helpers/TFLangProvider.java +++ b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import com.google.common.collect.ImmutableList; import com.google.gson.Gson; diff --git a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java b/src/data/java/twilightforest/datagen/helpers/TFSoundProvider.java similarity index 98% rename from src/main/java/twilightforest/data/helpers/TFSoundProvider.java rename to src/data/java/twilightforest/datagen/helpers/TFSoundProvider.java index 2ffa41e33a..6523f33092 100644 --- a/src/main/java/twilightforest/data/helpers/TFSoundProvider.java +++ b/src/data/java/twilightforest/datagen/helpers/TFSoundProvider.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.datagen.helpers; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; @@ -8,7 +8,7 @@ import net.neoforged.neoforge.registries.DeferredHolder; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.LangGenerator; +import twilightforest.datagen.assets.LangGenerator; public abstract class TFSoundProvider extends SoundDefinitionsProvider { diff --git a/src/main/java/twilightforest/data/custom/package-info.java b/src/data/java/twilightforest/datagen/helpers/package-info.java similarity index 85% rename from src/main/java/twilightforest/data/custom/package-info.java rename to src/data/java/twilightforest/datagen/helpers/package-info.java index ecdc22aea1..88d805c1d4 100644 --- a/src/main/java/twilightforest/data/custom/package-info.java +++ b/src/data/java/twilightforest/datagen/helpers/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data.custom; +package twilightforest.datagen.helpers; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c b/src/generated/resources/.cache/09fb64d253ab6cdd894e0893cd5ed4309045f68c similarity index 65% rename from src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c rename to src/generated/resources/.cache/09fb64d253ab6cdd894e0893cd5ed4309045f68c index 42d1abfba7..8630279e19 100644 --- a/src/generated/resources/.cache/8f54cb9d7394372ab0a284943bd07e24ce9d122c +++ b/src/generated/resources/.cache/09fb64d253ab6cdd894e0893cd5ed4309045f68c @@ -1,2 +1,2 @@ -// 1.21.4 2025-01-18T14:13:37.9287644 Twilight Forest DimensionType Tags +// 1.21.4 2025-04-01T09:28:00.865957 Twilight Forest Dimension Type Tags 00d9459d5231a90514badb0eaf58f279722af296 data/twilightforest/tags/dimension_type/allows_magic_map_charting.json diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 deleted file mode 100644 index d1134b4171..0000000000 --- a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 +++ /dev/null @@ -1,2 +0,0 @@ -// 1.21.4 2025-03-31T23:51:32.013126706 Pack Metadata -4a1573b0176f98cbe8b67eb3e8da3728f28336a3 pack.mcmeta diff --git a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 index cb84b0b9e9..47c1c24d17 100644 --- a/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 +++ b/src/generated/resources/.cache/2c3573acb35dd4967c455c5601717e4d0d6eb706 @@ -1,3 +1,3 @@ -// 1.21.4 2025-01-18T14:13:37.9678272 atlases generator for twilightforest +// 1.21.4 2025-04-01T09:29:08.9769695 atlases generator for twilightforest 96e2042509c2eaf9f49d31eab7d9a8f81d383e6e assets/minecraft/atlases/magic_paintings.json 12d940f0ad9e725c31f186f1c14a637e20ab47da assets/minecraft/atlases/shield_patterns.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 3900626be3..b3d1572601 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-01T00:42:17.1952715 Model Definitions - twilightforest +// 1.21.4 2025-04-01T09:28:00.8709692 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json @@ -10,6 +10,7 @@ bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_ d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_castle_brick_stairs.json 837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json 54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json +d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json @@ -204,6 +205,8 @@ a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold 8e52a7f96e67b981796584af76ebd22ab2a28e92 assets/twilightforest/models/block/brown_thorns_no_section_alt.json 52b0fb15b80228b9297770997df8724f771133b1 assets/twilightforest/models/block/brown_thorns_thorns.json 5a8afd3fdb70f78be26ee033766a3a2ac643f027 assets/twilightforest/models/block/brown_thorns_top.json +ead02af15ec17ebfc803345f6844dc29b418b20a assets/twilightforest/models/block/built_block.json +ead02af15ec17ebfc803345f6844dc29b418b20a assets/twilightforest/models/block/built_block_active.json 1b533d9d66efaa6f21b7f84bfa6c742b15f6a09d assets/twilightforest/models/block/burnt_thorns_bottom.json 935643a433f3ad29eefb164a8d03fd67f7a823b8 assets/twilightforest/models/block/burnt_thorns_main.json 2ce68a0b10b6070ed346988f3a4b443b1893b1f2 assets/twilightforest/models/block/burnt_thorns_no_section.json diff --git a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 b/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 deleted file mode 100644 index 92b5741b27..0000000000 --- a/src/generated/resources/.cache/50ac03844dfa7ff852b210032d967410a7179d62 +++ /dev/null @@ -1,2 +0,0 @@ -// 1.21.4 2025-01-18T14:13:37.9434165 Twilight Forest Fluid Tags -9fa2db0c3bb4bf9ed90554cacefc9aa8a502b765 data/twilightforest/tags/fluid/fire_jet_fuel.json diff --git a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de b/src/generated/resources/.cache/b9c2dd4ec360de1803d4a5be10944a1f8047efef similarity index 73% rename from src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de rename to src/generated/resources/.cache/b9c2dd4ec360de1803d4a5be10944a1f8047efef index 5f6b1bdd9a..bcabd72741 100644 --- a/src/generated/resources/.cache/809949f48f1aa945262c3f08c80c2f11b889a7de +++ b/src/generated/resources/.cache/b9c2dd4ec360de1803d4a5be10944a1f8047efef @@ -1,3 +1,3 @@ -// 1.21.4 2025-01-18T14:13:37.9287644 Twilight Forest PaintingVariant Tags +// 1.21.4 2025-04-01T09:28:00.8679637 Twilight Forest Painting Variant Tags 7a9a4c42bf2c29d2ec812ecd9a99e1c4c3d752f0 data/twilightforest/tags/painting_variant/tower_boss_paintings.json cbb5f066f2a743f1edbbc8649ea2cb0ae4f7e5d1 data/twilightforest/tags/painting_variant/tower_paintings.json diff --git a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c index d6822106c2..deaed13919 100644 --- a/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c +++ b/src/generated/resources/.cache/bd3c258a938cc6036d1d3d8417c4b7d38da2a57c @@ -1,10 +1,10 @@ -// 1.21.4 2025-01-18T14:13:37.9709964 Twilight Forest Banner Pattern Tags +// 1.21.4 2025-04-01T09:28:00.8798768 Twilight Forest Banner Pattern Tags 9e25f367347054bfeb2795c2817298a5ea2476f1 data/twilightforest/tags/banner_pattern/pattern_item/alpha_yeti.json 3201a363347edfd87df1964f045b967bb03bb554 data/twilightforest/tags/banner_pattern/pattern_item/hydra.json 682b1fc8cf54182a6882ecbb4c5766a96a936caf data/twilightforest/tags/banner_pattern/pattern_item/knight_phantom.json c9d830e3bb988898b90b3cee348f327dcad628c4 data/twilightforest/tags/banner_pattern/pattern_item/lich.json 16bbcf004c02ab4da34c072c07435f7e729a20a5 data/twilightforest/tags/banner_pattern/pattern_item/minoshroom.json b31b643f0b4c93c4dfa247efe16772d8e5f9a5e0 data/twilightforest/tags/banner_pattern/pattern_item/naga.json -3e12f2a925c91df960632a648f34c72293646016 data/twilightforest/tags/banner_pattern/pattern_item/quest_ram.json +3e12f2a925c91df960632a648f34c72293646016 data/twilightforest/tags/banner_pattern/pattern_item/questing_ram.json 76825b44618cc5a7135d485c1957e12f4431179c data/twilightforest/tags/banner_pattern/pattern_item/snow_queen.json 745289af8c3557834938bef75eb7226955c81a22 data/twilightforest/tags/banner_pattern/pattern_item/ur_ghast.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 6ba6819c68..ebd53e644c 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.4 2025-03-31T09:20:45.8225208 Languages: en_us for mod: twilightforest -5ea84de13e9c51eb4fcd05996402d9f5418c95d7 assets/twilightforest/lang/en_ud.json -6886bfbeaa487be26c4577198fafe06b367c3c90 assets/twilightforest/lang/en_us.json +// 1.21.4 2025-04-01T09:30:12.3010153 Languages: en_us for mod: twilightforest +88e55d1eae1efef413cfbf2e01b8854a6167f6a0 assets/twilightforest/lang/en_ud.json +2302d91a93a03fd9ac92b5e11db4a01ab2deb6dd assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/built_block.json b/src/generated/resources/assets/twilightforest/blockstates/built_block.json new file mode 100644 index 0000000000..f522189a91 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/built_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/built_block" + }, + "active=true": { + "model": "twilightforest:block/built_block_active" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index cca9161207..2c905b449b 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -1641,7 +1641,6 @@ "subtitles.twilightforest.item.twilight_scepter.pearl_hit": "qoÉÆ sʇᓉɄ źžÉ¹ÉĒŌ€ Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "subtitles.twilightforest.item.twilight_scepter.use": "źžÉ¹ÉĒd sŹoɹɄʇ É¹ĒŹ‡dĒÉ”S Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "subtitles.twilightforest.item.zombie_scepter.use": "pĒuoÉÆÉÆns Ēį“‰qÉÆoZ źžÉŹŽoźž€", - "tag.fluid.twilightforest.fire_jet_fuel": "źžĒnℲ Ź‡ĒÕ ĒÉ¹į“‰ā„²", "tag.item.c.gems.carminite": "sÉÆĒā… ĒŹ‡į“‰uᓉɯɹɐƆ", "tag.item.c.ingots.fiery": "sʇoįµ·uI ŹŽÉ¹Ēį“‰ā„²", "tag.item.c.ingots.ironwood": "sʇoįµ·uI pooŹuoɹI", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index aa8da900e6..3dcb88a414 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -1641,7 +1641,6 @@ "subtitles.twilightforest.item.twilight_scepter.pearl_hit": "Twilight Pearl hits mob", "subtitles.twilightforest.item.twilight_scepter.use": "Twilight Scepter throws pearl", "subtitles.twilightforest.item.zombie_scepter.use": "Loyal Zombie summoned", - "tag.fluid.twilightforest.fire_jet_fuel": "Fire Jet Fuel", "tag.item.c.gems.carminite": "Carminite Gems", "tag.item.c.ingots.fiery": "Fiery Ingots", "tag.item.c.ingots.ironwood": "Ironwood Ingots", diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block.json b/src/generated/resources/assets/twilightforest/models/block/built_block.json new file mode 100644 index 0000000000..844c7c3c30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/built_block.json @@ -0,0 +1,70 @@ +{ + "parent": "minecraft:block/cube", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/built_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block_active.json b/src/generated/resources/assets/twilightforest/models/block/built_block_active.json new file mode 100644 index 0000000000..844c7c3c30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/built_block_active.json @@ -0,0 +1,70 @@ +{ + "parent": "minecraft:block/cube", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#all" + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/built_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/tags/banner_pattern/pattern_item/quest_ram.json b/src/generated/resources/data/twilightforest/tags/banner_pattern/pattern_item/questing_ram.json similarity index 100% rename from src/generated/resources/data/twilightforest/tags/banner_pattern/pattern_item/quest_ram.json rename to src/generated/resources/data/twilightforest/tags/banner_pattern/pattern_item/questing_ram.json diff --git a/src/generated/resources/data/twilightforest/tags/fluid/fire_jet_fuel.json b/src/generated/resources/data/twilightforest/tags/fluid/fire_jet_fuel.json deleted file mode 100644 index 535a26e5df..0000000000 --- a/src/generated/resources/data/twilightforest/tags/fluid/fire_jet_fuel.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "#minecraft:lava" - ] -} \ No newline at end of file diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta deleted file mode 100644 index d37504b921..0000000000 --- a/src/generated/resources/pack.mcmeta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pack": { - "description": "Resources for Twilight Forest", - "pack_format": 61, - "supported_formats": [ - 0, - 2147483647 - ] - } -} \ No newline at end of file diff --git a/src/main/disabled/compat/RecipeViewerConstants.java b/src/main/disabled/compat/RecipeViewerConstants.java index 347847b1dc..cf33799da9 100644 --- a/src/main/disabled/compat/RecipeViewerConstants.java +++ b/src/main/disabled/compat/RecipeViewerConstants.java @@ -11,7 +11,7 @@ import net.minecraft.world.item.crafting.*; import net.minecraft.world.level.block.Block; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFDataMaps; import twilightforest.init.TFItems; import twilightforest.init.TFRecipes; @@ -43,7 +43,7 @@ public static List> getAllUncraftingRecip List> recipes = new ArrayList<>(manager.getAllRecipesFor(RecipeType.CRAFTING)); recipes = recipes.stream().filter(recipe -> !recipe.value().getResultItem(Minecraft.getInstance().level.registryAccess()).isEmpty() && //get rid of empty items - !recipe.value().getResultItem(Minecraft.getInstance().level.registryAccess()).is(ItemTagGenerator.BANNED_UNCRAFTABLES) && //Prevents things that are tagged as banned from showing up + !recipe.value().getResultItem(Minecraft.getInstance().level.registryAccess()).is(TFItemTags.BANNED_UNCRAFTABLES) && //Prevents things that are tagged as banned from showing up TFConfig.reverseRecipeBlacklist == TFConfig.disableUncraftingRecipes.contains(recipe.id().toString()) && //remove disabled recipes TFConfig.flipUncraftingModIdList == TFConfig.blacklistedUncraftingModIds.contains(recipe.id().getNamespace())) //remove blacklisted mod ids .collect(Collectors.toList()); diff --git a/src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java b/src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java index ba0bff0431..411618d4c4 100644 --- a/src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java +++ b/src/main/disabled/compat/emi/recipes/EmiUncraftingRecipe.java @@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; import twilightforest.compat.RecipeViewerConstants; import twilightforest.compat.emi.TFEmiCompat; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.item.recipe.UncraftingRecipe; import java.util.ArrayList; @@ -46,7 +46,7 @@ protected void addOutputs(List finalOutput) { this.displayedOutputs = new ArrayList<>(); List outputs = new ArrayList<>(this.getRecipe().value().getIngredients()); //Collect each ingredient outputs.replaceAll(ingredient -> Ingredient.of(Arrays.stream(ingredient.getItems()) - .filter(o -> !o.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)) + .filter(o -> !o.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)) .filter(o -> o.getCraftingRemainingItem().isEmpty()))); for (int index = 0, offset = 0; index - offset < outputs.size() && index < 9; index++) { diff --git a/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java b/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java index 88407ada07..233ca69d4d 100644 --- a/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java +++ b/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java @@ -19,7 +19,7 @@ import net.minecraft.world.item.crafting.ShapelessRecipe; import twilightforest.TwilightForestMod; import twilightforest.compat.RecipeViewerConstants; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.item.recipe.UncraftingRecipe; @@ -64,7 +64,7 @@ public IDrawable getIcon() { public void setRecipe(IRecipeLayoutBuilder builder, CraftingRecipe recipe, IFocusGroup focuses) { List outputs = new ArrayList<>(recipe.getIngredients()); //Collect each ingredient outputs.replaceAll(ingredient -> Ingredient.of(Arrays.stream(ingredient.getItems()) - .filter(o -> !(o.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS))) + .filter(o -> !(o.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS))) .filter(o -> !(o.getItem().hasCraftingRemainingItem(o))))//Remove any banned items ); diff --git a/src/main/disabled/compat/rei/TFREIClientPlugin.java b/src/main/disabled/compat/rei/TFREIClientPlugin.java index 7693764633..04a82caead 100644 --- a/src/main/disabled/compat/rei/TFREIClientPlugin.java +++ b/src/main/disabled/compat/rei/TFREIClientPlugin.java @@ -39,7 +39,7 @@ import twilightforest.compat.rei.displays.REITransformationPowderDisplay; import twilightforest.compat.rei.displays.REIUncraftingDisplay; import twilightforest.compat.rei.entries.EntityEntryDefinition; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; import twilightforest.init.TFRecipes; @@ -89,7 +89,7 @@ public void registerDisplays(DisplayRegistry registry) { if (!TFConfig.disableUncraftingOnly) { registry.registerRecipeFiller(CraftingRecipe.class, RecipeType.CRAFTING, recipe -> { if (recipe.value().getResultItem(registryAccess).isEmpty() || - recipe.value().getResultItem(registryAccess).is(ItemTagGenerator.BANNED_UNCRAFTABLES) || + recipe.value().getResultItem(registryAccess).is(TFItemTags.BANNED_UNCRAFTABLES) || TFConfig.disableUncraftingRecipes.contains(recipe.id().toString()) || TFConfig.flipUncraftingModIdList != TFConfig.blacklistedUncraftingModIds.contains(recipe.id().getNamespace())) { return null; diff --git a/src/main/disabled/compat/rei/categories/REIUncraftingCategory.java b/src/main/disabled/compat/rei/categories/REIUncraftingCategory.java index cea5596f46..de341a5438 100644 --- a/src/main/disabled/compat/rei/categories/REIUncraftingCategory.java +++ b/src/main/disabled/compat/rei/categories/REIUncraftingCategory.java @@ -20,7 +20,7 @@ import twilightforest.compat.RecipeViewerConstants; import twilightforest.compat.rei.TFREIServerPlugin; import twilightforest.compat.rei.displays.REIUncraftingDisplay; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.item.recipe.UncraftingRecipe; @@ -75,7 +75,7 @@ public List setupDisplay(REIUncraftingDisplay display, Rectangle origin) widgets.add(Widgets.createTexturedWidget(TEXTURE.apply(REIRuntime.getInstance().isDarkThemeEnabled()), bounds)); List outputs = new ArrayList<>(display.getRecipe().getIngredients()); //Collect each ingredient outputs.replaceAll(ingredient -> Ingredient.of(Arrays.stream(ingredient.getItems()) - .filter(o -> !o.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)) + .filter(o -> !o.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)) .filter(o -> !o.hasCraftingRemainingItem()))); CraftingRecipe recipe = display.getRecipe(); diff --git a/src/main/java/twilightforest/TFRegistries.java b/src/main/java/twilightforest/TFRegistries.java index 408c8a9637..d2ed73e448 100644 --- a/src/main/java/twilightforest/TFRegistries.java +++ b/src/main/java/twilightforest/TFRegistries.java @@ -15,7 +15,7 @@ import twilightforest.world.components.layer.vanillalegacy.BiomeLayerFactory; import twilightforest.world.components.layer.vanillalegacy.BiomeLayerType; import twilightforest.world.components.layer.BiomeDensitySource; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import java.util.Locale; diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index f9961ae0f6..fc94508ba3 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -54,7 +54,6 @@ import twilightforest.client.event.RegistrationEvents; import twilightforest.command.TFCommand; import twilightforest.config.ConfigSetup; -import twilightforest.data.custom.stalactites.entry.StalactiteReloadListener; import twilightforest.dispenser.TFDispenserBehaviors; import twilightforest.entity.MagicPaintingVariant; import twilightforest.entity.passive.DwarfRabbitVariant; @@ -73,7 +72,8 @@ import twilightforest.util.woods.WoodPalette; import twilightforest.world.components.biomesources.TFBiomeProvider; import twilightforest.world.components.layer.BiomeDensitySource; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StalactiteReloadListener; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.lichtowerrevamp.StructureTemplateDefinitions; import java.util.Locale; diff --git a/src/main/java/twilightforest/block/BanisterBlock.java b/src/main/java/twilightforest/block/BanisterBlock.java index 4e4976ac85..2f6ca977bc 100644 --- a/src/main/java/twilightforest/block/BanisterBlock.java +++ b/src/main/java/twilightforest/block/BanisterBlock.java @@ -34,8 +34,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.neoforged.neoforge.common.ItemAbilities; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; import twilightforest.enums.BanisterShape; +import twilightforest.tags.TFBlockTags; import java.util.List; @@ -132,7 +132,7 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { return this.defaultBlockState() .setValue(FACING, context.getHorizontalDirection()) - .setValue(SHAPE, context.getLevel().getBlockState(pos.above()).is(BlockTagGenerator.BANISTERS) ? BanisterShape.CONNECTED : BanisterShape.TALL) + .setValue(SHAPE, context.getLevel().getBlockState(pos.above()).is(TFBlockTags.BANISTERS) ? BanisterShape.CONNECTED : BanisterShape.TALL) .setValue(WATERLOGGED, context.getLevel().getFluidState(pos).getType() == Fluids.WATER); } diff --git a/src/main/java/twilightforest/block/CandelabraBlock.java b/src/main/java/twilightforest/block/CandelabraBlock.java index 2c4489b349..98f2d9d485 100644 --- a/src/main/java/twilightforest/block/CandelabraBlock.java +++ b/src/main/java/twilightforest/block/CandelabraBlock.java @@ -40,7 +40,6 @@ import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; @@ -51,7 +50,7 @@ import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.CandelabraBlockEntity; import twilightforest.components.item.CandelabraData; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFItems; import twilightforest.init.TFParticleType; import twilightforest.init.TFSounds; @@ -196,7 +195,7 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l this.eruptFlameParticles(TFParticleType.DIM_FLAME.get(), level, pos, state); } return InteractionResult.SUCCESS; - } else if ((stack.is(ItemTagGenerator.SCEPTERS) || stack.is(TFItems.EXANIMATE_ESSENCE)) && state.getValue(LIGHTING) == Lighting.NORMAL) { + } else if ((stack.is(TFItemTags.SCEPTERS) || stack.is(TFItems.EXANIMATE_ESSENCE)) && state.getValue(LIGHTING) == Lighting.NORMAL) { level.setBlockAndUpdate(pos, state.setValue(LIGHTING, Lighting.OMINOUS)); level.playSound(null, pos, TFSounds.CANDELABRA_OMINOUS.get(), SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.1F + 0.9F); if (level.isClientSide()) { diff --git a/src/main/java/twilightforest/block/CritterBlock.java b/src/main/java/twilightforest/block/CritterBlock.java index beb72bfa23..b698c2f6c7 100644 --- a/src/main/java/twilightforest/block/CritterBlock.java +++ b/src/main/java/twilightforest/block/CritterBlock.java @@ -43,7 +43,7 @@ import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.init.*; public abstract class CritterBlock extends BaseEntityBlock implements SimpleWaterloggedBlock { @@ -153,7 +153,7 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - if ((entity instanceof Projectile && !entity.getType().is(EntityTagGenerator.DONT_KILL_BUGS)) || entity instanceof FallingBlockEntity) { + if ((entity instanceof Projectile && !entity.getType().is(TFEntityTypeTags.DONT_KILL_BUGS)) || entity instanceof FallingBlockEntity) { level.setBlockAndUpdate(pos, state.getValue(WATERLOGGED) ? Blocks.WATER.defaultBlockState() : Blocks.AIR.defaultBlockState()); if (level.isClientSide()) Minecraft.getInstance().getSoundManager().stop(TFSounds.CICADA.get().location(), SoundSource.NEUTRAL); diff --git a/src/main/java/twilightforest/block/FireJetBlock.java b/src/main/java/twilightforest/block/FireJetBlock.java index 5c03288939..bdc691b534 100644 --- a/src/main/java/twilightforest/block/FireJetBlock.java +++ b/src/main/java/twilightforest/block/FireJetBlock.java @@ -20,8 +20,7 @@ import net.minecraft.world.level.pathfinder.PathType; import org.jetbrains.annotations.Nullable; import twilightforest.block.entity.FireJetBlockEntity; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.FluidTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.enums.FireJetVariant; import twilightforest.init.TFBlockEntities; @@ -61,7 +60,7 @@ public void randomTick(BlockState state, ServerLevel level, BlockPos pos, Random if (!level.isClientSide() && state.getValue(STATE) == FireJetVariant.IDLE) { BlockPos lavaPos = findLavaAround(level, pos.below()); - if (this.isLava(level, lavaPos)) { + if (this.isFuel(level, lavaPos)) { level.setBlockAndUpdate(lavaPos, Blocks.AIR.defaultBlockState()); level.setBlockAndUpdate(pos, state.setValue(STATE, FireJetVariant.POPPING)); } @@ -72,13 +71,13 @@ public void randomTick(BlockState state, ServerLevel level, BlockPos pos, Random * Find a full block of lava near the designated block. This is intentionally not really that reliable. */ private BlockPos findLavaAround(Level level, BlockPos pos) { - if (this.isLava(level, pos)) { + if (this.isFuel(level, pos)) { return pos; } for (int i = 0; i < 3; i++) { BlockPos randPos = pos.offset(level.getRandom().nextInt(3) - 1, 0, level.getRandom().nextInt(3) - 1); - if (this.isLava(level, randPos)) { + if (this.isFuel(level, randPos)) { return randPos; } } @@ -86,9 +85,8 @@ private BlockPos findLavaAround(Level level, BlockPos pos) { return pos; } - private boolean isLava(Level level, BlockPos pos) { - BlockState state = level.getBlockState(pos); - return state.is(BlockTagGenerator.FIRE_JET_FUEL) || state.getFluidState().is(FluidTagGenerator.FIRE_JET_FUEL); + private boolean isFuel(Level level, BlockPos pos) { + return level.getBlockState(pos).is(TFBlockTags.FIRE_JET_FUEL); } @Override diff --git a/src/main/java/twilightforest/block/SortLogCoreBlock.java b/src/main/java/twilightforest/block/SortLogCoreBlock.java index 13a23ec502..7e51487640 100644 --- a/src/main/java/twilightforest/block/SortLogCoreBlock.java +++ b/src/main/java/twilightforest/block/SortLogCoreBlock.java @@ -13,7 +13,7 @@ import net.neoforged.neoforge.items.IItemHandler; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.config.TFConfig; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.init.TFParticleType; import twilightforest.network.ParticlePacket; import twilightforest.util.BlockCapabilityDirectionalCache; @@ -65,7 +65,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { List alreadyUsedForInput = new ArrayList<>(); // Keep track of entities we already have for inputs, so we can skip over them when looking for outputs - level.getEntities((Entity) null, new AABB(pos).inflate(2), entity -> entity.isAlive() && entity.getType().is(EntityTagGenerator.SORTABLE_ENTITIES)).forEach(entity -> { + level.getEntities((Entity) null, new AABB(pos).inflate(2), entity -> entity.isAlive() && entity.getType().is(TFEntityTypeTags.SORTABLE_ENTITIES)).forEach(entity -> { List handlers = new ArrayList<>(); for (Direction side : Direction.values()) { IItemHandler handler = entity.getCapability(Capabilities.ItemHandler.ENTITY_AUTOMATION, side); @@ -79,7 +79,7 @@ void performTreeEffect(ServerLevel level, BlockPos pos, RandomSource rand) { if (inputMap.isEmpty()) return; // No input - level.getEntities((Entity) null, new AABB(pos).inflate(16), entity -> entity.isAlive() && !alreadyUsedForInput.contains(entity) && entity.getType().is(EntityTagGenerator.SORTABLE_ENTITIES)).forEach(entity -> { + level.getEntities((Entity) null, new AABB(pos).inflate(16), entity -> entity.isAlive() && !alreadyUsedForInput.contains(entity) && entity.getType().is(TFEntityTypeTags.SORTABLE_ENTITIES)).forEach(entity -> { for (Direction side : Direction.values()) { IItemHandler handler = entity.getCapability(Capabilities.ItemHandler.ENTITY_AUTOMATION, side); if (handler != null) outputMap.put(handler, entity.position().add(0D, entity.getBbHeight() + 0.9D, 0D)); diff --git a/src/main/java/twilightforest/block/TFPlantBlock.java b/src/main/java/twilightforest/block/TFPlantBlock.java index fe463423b3..c4289fdf5a 100644 --- a/src/main/java/twilightforest/block/TFPlantBlock.java +++ b/src/main/java/twilightforest/block/TFPlantBlock.java @@ -4,7 +4,7 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.BushBlock; import net.minecraft.world.level.block.state.BlockBehaviour; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; public abstract class TFPlantBlock extends BushBlock { @@ -13,6 +13,6 @@ protected TFPlantBlock(BlockBehaviour.Properties properties) { } public static boolean canPlaceRootAt(BlockGetter reader, BlockPos pos) { - return reader.getBlockState(pos.above()).is(BlockTagGenerator.PLANTS_HANG_ON); + return reader.getBlockState(pos.above()).is(TFBlockTags.PLANTS_HANG_ON); } } diff --git a/src/main/java/twilightforest/block/TFPortalBlock.java b/src/main/java/twilightforest/block/TFPortalBlock.java index 35d52ec154..3088351ddd 100644 --- a/src/main/java/twilightforest/block/TFPortalBlock.java +++ b/src/main/java/twilightforest/block/TFPortalBlock.java @@ -43,7 +43,7 @@ import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.Nullable; import twilightforest.config.TFConfig; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFDataAttachments; import twilightforest.init.TFDimension; @@ -117,11 +117,11 @@ public static boolean recursivelyValidatePortal(Level level, BlockPos pos, Map optional = BuiltInRegistries.BLOCK - .get(BlockTagGenerator.CARMINITE_REACTOR_ORES) + .get(TFBlockTags.CARMINITE_REACTOR_ORES) .flatMap(tag -> tag.getRandomElement(this.getLevel().getRandom())) .map(Holder::value); this.getLevel().setBlock(pos, (this.getLevel().getRandom().nextInt(8) == 0 && optional.isPresent() ? optional.get().defaultBlockState() : Blocks.NETHERRACK.defaultBlockState()), Block.UPDATE_ALL); @@ -230,7 +230,7 @@ private void createFakeBlock(BlockPos pos, BlockState state) { BlockState stateThere = this.getLevel().getBlockState(pos); // don't destroy unbreakable stuff - if (!(stateThere.is(BlockTagGenerator.CARMINITE_REACTOR_IMMUNE) || + if (!(stateThere.is(TFBlockTags.CARMINITE_REACTOR_IMMUNE) || (stateThere.getDestroySpeed(this.getLevel(), pos) == -1))) { this.getLevel().setBlock(pos, state, Block.UPDATE_CLIENTS); } diff --git a/src/main/java/twilightforest/client/UncraftingScreen.java b/src/main/java/twilightforest/client/UncraftingScreen.java index 59229ef218..5d6a51fe22 100644 --- a/src/main/java/twilightforest/client/UncraftingScreen.java +++ b/src/main/java/twilightforest/client/UncraftingScreen.java @@ -19,7 +19,7 @@ import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.TwilightForestMod; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.inventory.UncraftingMenu; import twilightforest.network.UncraftingGuiPacket; @@ -207,7 +207,7 @@ protected void renderTooltip(GuiGraphics graphics, int pX, int pY) { } //check if we're hovering over a banned uncraftable item - if (container.slots.getFirst().hasItem() && container.slots.getFirst().getItem().is(ItemTagGenerator.BANNED_UNCRAFTABLES) && container.slots.getFirst().equals(this.hoveredSlot)) { + if (container.slots.getFirst().hasItem() && container.slots.getFirst().getItem().is(TFItemTags.BANNED_UNCRAFTABLES) && container.slots.getFirst().equals(this.hoveredSlot)) { graphics.renderTooltip(this.font, Component.translatable("container.twilightforest.uncrafting_table.disabled_item").withStyle(ChatFormatting.RED), pX, pY); } else { super.renderTooltip(graphics, pX, pY); diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index cc0cf1272f..c467ecf92e 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -13,11 +13,7 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.CompiledShaderProgram; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.entity.state.PlayerRenderState; -import net.minecraft.client.renderer.LevelRenderer; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.sounds.MusicInfo; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; @@ -25,7 +21,6 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.util.Mth; @@ -59,7 +54,7 @@ import twilightforest.client.OptifineWarningScreen; import twilightforest.client.TFShaders; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.entity.boss.bar.ClientTFBossBar; import twilightforest.events.HostileMountEvents; import twilightforest.init.TFDataComponents; @@ -301,7 +296,7 @@ private static void addCustomTooltips(ItemTooltipEvent event) { event.getToolTip().add(1, EMPERORS_CLOTH_TOOLTIP); } - if (item.is(ItemTagGenerator.WIP)) { + if (item.is(TFItemTags.WIP)) { event.getToolTip().add(WIP_TEXT); } } diff --git a/src/main/java/twilightforest/data/DataGenerators.java b/src/main/java/twilightforest/data/DataGenerators.java deleted file mode 100644 index fde3ba3edf..0000000000 --- a/src/main/java/twilightforest/data/DataGenerators.java +++ /dev/null @@ -1,81 +0,0 @@ -package twilightforest.data; - -import net.minecraft.DetectedVersion; -import net.minecraft.core.HolderLookup; -import net.minecraft.data.DataGenerator; -import net.minecraft.data.PackOutput; -import net.minecraft.data.metadata.PackMetadataGenerator; -import net.minecraft.network.chat.Component; -import net.minecraft.server.packs.PackType; -import net.minecraft.server.packs.metadata.pack.PackMetadataSection; -import net.minecraft.util.InclusiveRange; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; -import net.neoforged.neoforge.data.event.GatherDataEvent; -import twilightforest.TwilightForestMod; -import twilightforest.data.custom.QuestGenerator; -import twilightforest.data.custom.StructureTemplateDefinitionGenerator; -import twilightforest.data.custom.stalactites.StalactiteGenerator; -import twilightforest.data.models.BlockModelGenerator; -import twilightforest.data.models.ModelGenerator; -import twilightforest.data.recipes.CraftingGeneratorRunner; -import twilightforest.data.recipes.RecipePriorityGenerator; -import twilightforest.data.tags.*; - -import java.util.Optional; -import java.util.concurrent.CompletableFuture; - -@EventBusSubscriber(modid = TwilightForestMod.ID, bus = EventBusSubscriber.Bus.MOD) -public class DataGenerators { - - @SubscribeEvent - public static void gatherData(GatherDataEvent.Client event) { - DataGenerator generator = event.getGenerator(); - PackOutput output = event.getGenerator().getPackOutput(); - - //client generators - generator.addProvider(true, new ModelGenerator(output)); - generator.addProvider(true, new ParticleGenerator(output)); - generator.addProvider(true, new SoundGenerator(output)); - - //registry-based stuff - DatapackBuiltinEntriesProvider datapackProvider = new RegistryDataGenerator(output, event.getLookupProvider()); - CompletableFuture lookupProvider = datapackProvider.getRegistryProvider(); - generator.addProvider(true, datapackProvider); - generator.addProvider(true, new BiomeTagGenerator(output, lookupProvider)); - generator.addProvider(true, new CustomTagGenerator.BannerPatternTagGenerator(output, lookupProvider)); - generator.addProvider(true, new CustomTagGenerator.DimensionTypeTagGenerator(output, lookupProvider)); - generator.addProvider(true, new CustomTagGenerator.WoodPaletteTagGenerator(output, lookupProvider)); - generator.addProvider(true, new CustomTagGenerator.PaintingVariantTagGenerator(output, lookupProvider)); - generator.addProvider(true, new DamageTypeTagGenerator(output, lookupProvider)); - generator.addProvider(true, new StructureTagGenerator(output, lookupProvider)); - generator.addProvider(true, new TFAdvancementProvider(output, lookupProvider)); - generator.addProvider(true, new LootGenerator(output, lookupProvider)); - - //server generators - generator.addProvider(true, new DataMapGenerator(output, lookupProvider)); - generator.addProvider(true, new StalactiteGenerator(output)); - generator.addProvider(true, new TFStructureUpdater("structures", output, event.getResourceManager(PackType.SERVER_DATA))); - - //normal tags - BlockTagGenerator blocktags = new BlockTagGenerator(output, lookupProvider); - generator.addProvider(true, blocktags); - generator.addProvider(true, new CustomTagGenerator.BlockEntityTagGenerator(output, lookupProvider)); - generator.addProvider(true, new FluidTagGenerator(output, lookupProvider)); - generator.addProvider(true, new ItemTagGenerator(output, lookupProvider, blocktags.contentsGetter())); - generator.addProvider(true, new EntityTagGenerator(output, lookupProvider)); - generator.addProvider(true, new CraftingGeneratorRunner(output, lookupProvider)); - generator.addProvider(true, new RecipePriorityGenerator(output, lookupProvider)); - generator.addProvider(true, new LootModifierGenerator(output, lookupProvider)); - - generator.addProvider(true, new StructureTemplateDefinitionGenerator(output, lookupProvider)); - - //these have to go last due to magic paintings - //when magic paintings are registered their atlas and lang content is too - generator.addProvider(true, new AtlasGenerator(output, lookupProvider)); - generator.addProvider(true, new LangGenerator(output)); - - generator.addProvider(true, new QuestGenerator(output)); - } -} diff --git a/src/main/java/twilightforest/data/tags/CustomTagGenerator.java b/src/main/java/twilightforest/data/tags/CustomTagGenerator.java deleted file mode 100644 index c44318a434..0000000000 --- a/src/main/java/twilightforest/data/tags/CustomTagGenerator.java +++ /dev/null @@ -1,279 +0,0 @@ -package twilightforest.data.tags; - -import net.minecraft.core.HolderLookup; -import net.minecraft.core.registries.Registries; -import net.minecraft.data.PackOutput; -import net.minecraft.data.tags.TagsProvider; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; -import net.minecraft.world.entity.decoration.PaintingVariant; -import net.minecraft.world.entity.decoration.PaintingVariants; -import net.minecraft.world.level.block.entity.BannerPattern; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.dimension.DimensionType; -import org.jetbrains.annotations.Nullable; -import twilightforest.TFRegistries; -import twilightforest.TwilightForestMod; -import twilightforest.init.TFBannerPatterns; -import twilightforest.init.TFBlockEntities; -import twilightforest.init.TFDimensionData; -import twilightforest.init.custom.WoodPalettes; -import twilightforest.util.woods.WoodPalette; - -import java.util.concurrent.CompletableFuture; - -//a place to hold all custom tags, since I imagine we wont have a lot of them -public class CustomTagGenerator { - - public static class BlockEntityTagGenerator extends TagsProvider> { - - public static final TagKey> RELOCATION_NOT_SUPPORTED = TagKey.create(Registries.BLOCK_ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath("c", "relocation_not_supported")); - public static final TagKey> IMMOVABLE = TagKey.create(Registries.BLOCK_ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath("c", "immovable")); - - public BlockEntityTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, Registries.BLOCK_ENTITY_TYPE, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - this.tag(RELOCATION_NOT_SUPPORTED).add( - TFBlockEntities.ANTIBUILDER.getKey(), - TFBlockEntities.BEANSTALK_GROWER.getKey(), - TFBlockEntities.NAGA_SPAWNER.getKey(), - TFBlockEntities.LICH_SPAWNER.getKey(), - TFBlockEntities.MINOSHROOM_SPAWNER.getKey(), - TFBlockEntities.HYDRA_SPAWNER.getKey(), - TFBlockEntities.KNIGHT_PHANTOM_SPAWNER.getKey(), - TFBlockEntities.UR_GHAST_SPAWNER.getKey(), - TFBlockEntities.ALPHA_YETI_SPAWNER.getKey(), - TFBlockEntities.SNOW_QUEEN_SPAWNER.getKey(), - TFBlockEntities.FINAL_BOSS_SPAWNER.getKey()); - - this.tag(IMMOVABLE).add( - TFBlockEntities.ANTIBUILDER.getKey(), - TFBlockEntities.BEANSTALK_GROWER.getKey(), - TFBlockEntities.NAGA_SPAWNER.getKey(), - TFBlockEntities.LICH_SPAWNER.getKey(), - TFBlockEntities.MINOSHROOM_SPAWNER.getKey(), - TFBlockEntities.HYDRA_SPAWNER.getKey(), - TFBlockEntities.KNIGHT_PHANTOM_SPAWNER.getKey(), - TFBlockEntities.UR_GHAST_SPAWNER.getKey(), - TFBlockEntities.ALPHA_YETI_SPAWNER.getKey(), - TFBlockEntities.SNOW_QUEEN_SPAWNER.getKey(), - TFBlockEntities.FINAL_BOSS_SPAWNER.getKey()); - } - - @Override - public String getName() { - return "Twilight Forest Block Entity Tags"; - } - } - - public static class BannerPatternTagGenerator extends TagsProvider { - - public static final TagKey NAGA_BANNER_PATTERN = create("pattern_item/naga"); - public static final TagKey LICH_BANNER_PATTERN = create("pattern_item/lich"); - public static final TagKey MINOSHROOM_BANNER_PATTERN = create("pattern_item/minoshroom"); - public static final TagKey HYDRA_BANNER_PATTERN = create("pattern_item/hydra"); - public static final TagKey KNIGHT_PHANTOM_BANNER_PATTERN = create("pattern_item/knight_phantom"); - public static final TagKey UR_GHAST_BANNER_PATTERN = create("pattern_item/ur_ghast"); - public static final TagKey ALPHA_YETI_BANNER_PATTERN = create("pattern_item/alpha_yeti"); - public static final TagKey SNOW_QUEEN_BANNER_PATTERN = create("pattern_item/snow_queen"); - public static final TagKey QUEST_RAM_BANNER_PATTERN = create("pattern_item/quest_ram"); - - public BannerPatternTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, Registries.BANNER_PATTERN, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - this.tag(NAGA_BANNER_PATTERN).add(TFBannerPatterns.NAGA); - this.tag(LICH_BANNER_PATTERN).add(TFBannerPatterns.LICH); - this.tag(MINOSHROOM_BANNER_PATTERN).add(TFBannerPatterns.MINOSHROOM); - this.tag(HYDRA_BANNER_PATTERN).add(TFBannerPatterns.HYDRA); - this.tag(KNIGHT_PHANTOM_BANNER_PATTERN).add(TFBannerPatterns.KNIGHT_PHANTOM); - this.tag(UR_GHAST_BANNER_PATTERN).add(TFBannerPatterns.UR_GHAST); - this.tag(ALPHA_YETI_BANNER_PATTERN).add(TFBannerPatterns.ALPHA_YETI); - this.tag(SNOW_QUEEN_BANNER_PATTERN).add(TFBannerPatterns.SNOW_QUEEN); - this.tag(QUEST_RAM_BANNER_PATTERN).add(TFBannerPatterns.QUESTING_RAM); - } - - private static TagKey create(String name) { - return TagKey.create(Registries.BANNER_PATTERN, TwilightForestMod.prefix(name)); - } - - @Override - public String getName() { - return "Twilight Forest Banner Pattern Tags"; - } - } - - public static class WoodPaletteTagGenerator extends TagsProvider { - public static final TagKey WELL_SWIZZLE_MASK = create("well_swizzle_mask"); - public static final TagKey DRUID_HUT_SWIZZLE_MASK = create("druid_hut_swizzle_mask"); - public static final TagKey COMMON_PALETTES = create("common"); - public static final TagKey UNCOMMON_PALETTES = create("uncommon"); - public static final TagKey RARE_PALETTES = create("rare"); - public static final TagKey TREASURE_PALETTES = create("treasure"); - - public WoodPaletteTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, TFRegistries.Keys.WOOD_PALETTES, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - tag(WELL_SWIZZLE_MASK).add(WoodPalettes.OAK); - tag(DRUID_HUT_SWIZZLE_MASK).add(WoodPalettes.OAK, WoodPalettes.SPRUCE, WoodPalettes.BIRCH); - - tag(COMMON_PALETTES).add(WoodPalettes.SPRUCE, WoodPalettes.CANOPY); - tag(UNCOMMON_PALETTES).add(WoodPalettes.OAK, WoodPalettes.DARKWOOD, WoodPalettes.TWILIGHT_OAK); - tag(RARE_PALETTES).add(WoodPalettes.BIRCH, WoodPalettes.JUNGLE, WoodPalettes.MANGROVE); - tag(TREASURE_PALETTES).add(WoodPalettes.TIMEWOOD, WoodPalettes.TRANSWOOD, WoodPalettes.MINEWOOD, WoodPalettes.SORTWOOD); - } - - private static TagKey create(String name) { - return TagKey.create(TFRegistries.Keys.WOOD_PALETTES, TwilightForestMod.prefix(name)); - } - - @Override - public String getName() { - return "Twilight Forest Wood Palette Tags"; - } - } - - public static class DimensionTypeTagGenerator extends TagsProvider { - - public static final TagKey ALLOWS_MAGIC_MAP_CHARTING = TagKey.create(Registries.DIMENSION_TYPE, TwilightForestMod.prefix("allows_magic_map_charting")); - - public DimensionTypeTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, Registries.DIMENSION_TYPE, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - tag(ALLOWS_MAGIC_MAP_CHARTING).add(TFDimensionData.TWILIGHT_DIM_TYPE); - } - - @Override - public String getName() { - return "Twilight Forest DimensionType Tags"; - } - } - - public static class PaintingVariantTagGenerator extends TagsProvider { - public static final TagKey LICH_TOWER_PAINTINGS = TagKey.create(Registries.PAINTING_VARIANT, TwilightForestMod.prefix("tower_paintings")); - public static final TagKey LICH_BOSS_PAINTINGS = TagKey.create(Registries.PAINTING_VARIANT, TwilightForestMod.prefix("tower_boss_paintings")); - - public PaintingVariantTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, Registries.PAINTING_VARIANT, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - // Every single painting except for Humble - tag(LICH_TOWER_PAINTINGS).add( - PaintingVariants.KEBAB, - PaintingVariants.AZTEC, - PaintingVariants.ALBAN, - PaintingVariants.AZTEC2, - PaintingVariants.BOMB, - PaintingVariants.PLANT, - PaintingVariants.WASTELAND, - PaintingVariants.POOL, - PaintingVariants.COURBET, - PaintingVariants.SEA, - PaintingVariants.SUNSET, - PaintingVariants.CREEBET, - PaintingVariants.WANDERER, - PaintingVariants.GRAHAM, - PaintingVariants.MATCH, - PaintingVariants.BUST, - PaintingVariants.STAGE, - PaintingVariants.VOID, - PaintingVariants.SKULL_AND_ROSES, - PaintingVariants.WITHER, - PaintingVariants.FIGHTERS, - PaintingVariants.POINTER, - PaintingVariants.PIGSCENE, - PaintingVariants.BURNING_SKULL, - PaintingVariants.SKELETON, - PaintingVariants.DONKEY_KONG, - PaintingVariants.EARTH, - PaintingVariants.WIND, - PaintingVariants.WATER, - PaintingVariants.FIRE, - PaintingVariants.BAROQUE, - PaintingVariants.MEDITATIVE, - PaintingVariants.PRAIRIE_RIDE, - PaintingVariants.UNPACKED, - PaintingVariants.BACKYARD, - PaintingVariants.BOUQUET, - PaintingVariants.CAVEBIRD, - PaintingVariants.CHANGING, - PaintingVariants.COTAN, - PaintingVariants.ENDBOSS, - PaintingVariants.FERN, - PaintingVariants.FINDING, - PaintingVariants.LOWMIST, - PaintingVariants.ORB, - PaintingVariants.OWLEMONS, - PaintingVariants.PASSAGE, - PaintingVariants.POND, - PaintingVariants.SUNFLOWERS, - PaintingVariants.TIDES - ); - // Every single painting except for Humble, Unpacked, and the 4 elements - tag(LICH_BOSS_PAINTINGS).add( - PaintingVariants.KEBAB, - PaintingVariants.AZTEC, - PaintingVariants.ALBAN, - PaintingVariants.AZTEC2, - PaintingVariants.BOMB, - PaintingVariants.PLANT, - PaintingVariants.WASTELAND, - PaintingVariants.POOL, - PaintingVariants.COURBET, - PaintingVariants.SEA, - PaintingVariants.SUNSET, - PaintingVariants.CREEBET, - PaintingVariants.WANDERER, - PaintingVariants.GRAHAM, - PaintingVariants.MATCH, - PaintingVariants.BUST, - PaintingVariants.STAGE, - PaintingVariants.VOID, - PaintingVariants.SKULL_AND_ROSES, - PaintingVariants.WITHER, - PaintingVariants.FIGHTERS, - PaintingVariants.POINTER, - PaintingVariants.PIGSCENE, - PaintingVariants.BURNING_SKULL, - PaintingVariants.SKELETON, - PaintingVariants.DONKEY_KONG, - PaintingVariants.BAROQUE, - PaintingVariants.MEDITATIVE, - PaintingVariants.PRAIRIE_RIDE, - PaintingVariants.BACKYARD, - PaintingVariants.BOUQUET, - PaintingVariants.CAVEBIRD, - PaintingVariants.CHANGING, - PaintingVariants.COTAN, - PaintingVariants.ENDBOSS, - PaintingVariants.FERN, - PaintingVariants.FINDING, - PaintingVariants.LOWMIST, - PaintingVariants.ORB, - PaintingVariants.OWLEMONS, - PaintingVariants.PASSAGE, - PaintingVariants.POND, - PaintingVariants.SUNFLOWERS, - PaintingVariants.TIDES - ); - } - - @Override - public String getName() { - return "Twilight Forest PaintingVariant Tags"; - } - } -} diff --git a/src/main/java/twilightforest/data/tags/FluidTagGenerator.java b/src/main/java/twilightforest/data/tags/FluidTagGenerator.java deleted file mode 100644 index a748490bce..0000000000 --- a/src/main/java/twilightforest/data/tags/FluidTagGenerator.java +++ /dev/null @@ -1,30 +0,0 @@ -package twilightforest.data.tags; - -import net.minecraft.core.HolderLookup; -import net.minecraft.data.PackOutput; -import net.minecraft.data.tags.FluidTagsProvider; -import net.minecraft.tags.FluidTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.material.Fluid; -import twilightforest.TwilightForestMod; - -import java.util.concurrent.CompletableFuture; - -public class FluidTagGenerator extends FluidTagsProvider { - - public static final TagKey FIRE_JET_FUEL = FluidTags.create(TwilightForestMod.prefix("fire_jet_fuel")); - - public FluidTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - tag(FIRE_JET_FUEL).addTag(FluidTags.LAVA); - } - - @Override - public String getName() { - return "Twilight Forest Fluid Tags"; - } -} diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java b/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java deleted file mode 100644 index 05d421bd03..0000000000 --- a/src/main/java/twilightforest/data/tags/compat/ModdedBlockTagGenerator.java +++ /dev/null @@ -1,47 +0,0 @@ -package twilightforest.data.tags.compat; - -import net.minecraft.core.HolderLookup; -import net.minecraft.core.registries.Registries; -import net.minecraft.data.PackOutput; -import net.minecraft.data.tags.IntrinsicHolderTagsProvider; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.init.TFBlocks; - -import java.util.concurrent.CompletableFuture; - -public class ModdedBlockTagGenerator extends IntrinsicHolderTagsProvider { - - public static final TagKey AC_FERROMAGNETIC_BLOCKS = createTagFor("alexscaves", "ferromagnetic_blocks"); - public static final TagKey AC_GLOOMOTH_LIGHT_SOURCES = createTagFor("alexscaves", "gloomoth_light_sources"); - public static final TagKey AC_UNDERZEALOT_LIGHT_SOURCES = createTagFor("alexscaves", "underzealot_light_sources"); - - public static final TagKey ARTIFACTS_CAMPSITE_CHESTS = createTagFor("artifacts", "campsite_chests"); - - public static final TagKey FD_COMPOST_ACTIVATORS = createTagFor("farmersdelight", "compost_activators"); - public static final TagKey FD_HEAT_SOURCES = createTagFor("farmersdelight", "heat_sources"); - - public ModdedBlockTagGenerator(PackOutput output, CompletableFuture future) { - super(output, Registries.BLOCK, future, block -> block.builtInRegistryHolder().key(), TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - tag(AC_FERROMAGNETIC_BLOCKS).addTag(BlockTagGenerator.STORAGE_BLOCKS_IRONWOOD).addTag(BlockTagGenerator.STORAGE_BLOCKS_STEELEAF).addTag(BlockTagGenerator.STORAGE_BLOCKS_KNIGHTMETAL).add(TFBlocks.CANDELABRA.get()).add(TFBlocks.WROUGHT_IRON_FENCE.get()); - tag(AC_GLOOMOTH_LIGHT_SOURCES).add(TFBlocks.FIREFLY_SPAWNER.get(), TFBlocks.FIREFLY_JAR.get()); - tag(AC_UNDERZEALOT_LIGHT_SOURCES).add(TFBlocks.FIREFLY.get(), TFBlocks.MOONWORM.get()); - - tag(ARTIFACTS_CAMPSITE_CHESTS).addTag(BlockTagGenerator.TF_CHESTS); - - tag(FD_COMPOST_ACTIVATORS).add(TFBlocks.UBEROUS_SOIL.get(), TFBlocks.MUSHGLOOM.get()); - tag(FD_HEAT_SOURCES).addTag(BlockTagGenerator.STORAGE_BLOCKS_FIERY); - } - - private static TagKey createTagFor(String modid, String tagName) { - return BlockTags.create(ResourceLocation.fromNamespaceAndPath(modid, tagName)); - } -} diff --git a/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java b/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java deleted file mode 100644 index 194674726b..0000000000 --- a/src/main/java/twilightforest/data/tags/compat/ModdedEntityTagGenerator.java +++ /dev/null @@ -1,61 +0,0 @@ -package twilightforest.data.tags.compat; - -import net.minecraft.core.HolderLookup; -import net.minecraft.core.registries.Registries; -import net.minecraft.data.PackOutput; -import net.minecraft.data.tags.EntityTypeTagsProvider; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; -import net.minecraft.world.entity.EntityType; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.EntityTagGenerator; -import twilightforest.init.TFEntities; - -import java.util.concurrent.CompletableFuture; - -public class ModdedEntityTagGenerator extends EntityTypeTagsProvider { - - public static final TagKey> AC_RESISTS_ACID = createTagFor("alexscaves", "resists_acid"); - public static final TagKey> AC_RESISTS_MAGNETS = createTagFor("alexscaves", "resists_magnets"); - public static final TagKey> AC_RESISTS_TREMORSAURUS_ROAR = createTagFor("alexscaves", "resists_tremorsaurus_roar"); - - public static final TagKey> AETHER_DEFLECTABLE_PROJECTILES = createTagFor("aether", "deflectable_projectiles"); - public static final TagKey> AETHER_FIRE_MOB = createTagFor("aether", "fire_mob"); - public static final TagKey> AETHER_PIGS = createTagFor("aether", "pigs"); - - public static final TagKey> AN_JAR_BLACKLIST = createTagFor("ars_nouveau", "jar_blacklist"); - public static final TagKey> AN_JAR_RELEASE_BLACKLIST = createTagFor("ars_nouveau", "jar_release_blacklist"); - - public static final TagKey> IE_SHADER_BLACKLIST = createTagFor("immersiveengineering", "shaderbag/blacklist"); - - public ModdedEntityTagGenerator(PackOutput output, CompletableFuture provider) { - super(output, provider, TwilightForestMod.ID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) { - tag(AC_RESISTS_ACID).add(TFEntities.HYDRA.get(), TFEntities.NAGA.get()); - tag(AC_RESISTS_MAGNETS).addTag(EntityTagGenerator.BOSSES); - tag(AC_RESISTS_TREMORSAURUS_ROAR).add(TFEntities.HYDRA.get(), TFEntities.UR_GHAST.get()); - - tag(AETHER_DEFLECTABLE_PROJECTILES).add( - TFEntities.NATURE_BOLT.get(), - TFEntities.LICH_BOLT.get(), - TFEntities.WAND_BOLT.get(), - TFEntities.SLIME_BLOB.get(), - TFEntities.ICE_SNOWBALL.get()); - - tag(AETHER_FIRE_MOB).add(TFEntities.FIRE_BEETLE.get()); - tag(AETHER_PIGS).add(TFEntities.BOAR.get()); - - tag(AN_JAR_BLACKLIST).addTag(EntityTagGenerator.BOSSES); - tag(AN_JAR_RELEASE_BLACKLIST).addTag(EntityTagGenerator.BOSSES); - - tag(IE_SHADER_BLACKLIST).addTag(EntityTagGenerator.BOSSES); - } - - private static TagKey> createTagFor(String modid, String tagName) { - return TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath(modid, tagName)); - } - -} diff --git a/src/main/java/twilightforest/entity/ai/goal/FlockToSameKindGoal.java b/src/main/java/twilightforest/entity/ai/goal/FlockToSameKindGoal.java index 5bf0a42d40..6186ec84dc 100644 --- a/src/main/java/twilightforest/entity/ai/goal/FlockToSameKindGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/FlockToSameKindGoal.java @@ -5,7 +5,7 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.phys.Vec3; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.entity.monster.Kobold; import java.util.List; @@ -32,7 +32,7 @@ public FlockToSameKindGoal(Mob living, double speed) { @Override public boolean canUse() { - if (this.flockCreature instanceof Kobold kobold && kobold.getItemBySlot(EquipmentSlot.MAINHAND).is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS)) { + if (this.flockCreature instanceof Kobold kobold && kobold.getItemBySlot(EquipmentSlot.MAINHAND).is(TFItemTags.KOBOLD_PACIFICATION_BREADS)) { return false; } diff --git a/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java b/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java index 3b1bb2600b..799d3d685b 100644 --- a/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/LichPopMobsGoal.java @@ -7,7 +7,7 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.level.gameevent.GameEvent; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.entity.boss.Lich; import twilightforest.init.TFSounds; import twilightforest.item.LifedrainScepterItem; @@ -48,7 +48,7 @@ public boolean canUse() { this.lich.getPopCooldown() == 0 && !this.lich.level().getEntitiesOfClass(Mob.class, this.lich.getBoundingBox().inflate(32.0D, 16.0D, 32.0D), - e -> e.getType().is(EntityTagGenerator.LICH_POPPABLES) && this.lich.hasLineOfSight(e)).isEmpty(); + e -> e.getType().is(TFEntityTypeTags.LICH_POPPABLES) && this.lich.hasLineOfSight(e)).isEmpty(); } @Override @@ -56,7 +56,7 @@ public void tick() { if (this.lich.getTeleportInvisibility() > 0) return; super.tick(); if (this.lich.getScepterTimeLeft() > 0 || this.lich.level().isClientSide()) return; - for (Mob mob : this.lich.level().getEntitiesOfClass(Mob.class, this.lich.getBoundingBox().inflate(32.0D, 16.0D, 32.0D), e -> e.getType().is(EntityTagGenerator.LICH_POPPABLES) && e != this.lich)) { + for (Mob mob : this.lich.level().getEntitiesOfClass(Mob.class, this.lich.getBoundingBox().inflate(32.0D, 16.0D, 32.0D), e -> e.getType().is(TFEntityTypeTags.LICH_POPPABLES) && e != this.lich)) { if (this.lich.getSensing().hasLineOfSight(mob)) { mob.discard(); //rain particles diff --git a/src/main/java/twilightforest/entity/ai/goal/ThrowRiderGoal.java b/src/main/java/twilightforest/entity/ai/goal/ThrowRiderGoal.java index 9b02ceac34..aaf23338c8 100644 --- a/src/main/java/twilightforest/entity/ai/goal/ThrowRiderGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/ThrowRiderGoal.java @@ -11,7 +11,7 @@ import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.components.entity.YetiThrowAttachment; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.events.HostileMountEvents; import twilightforest.init.TFDataAttachments; import twilightforest.network.MovePlayerPacket; @@ -61,7 +61,7 @@ protected void checkAndPerformAttack(LivingEntity victim) { if (this.mob.getPassengers().isEmpty()) { var v = victim.getVehicle(); - if (v == null || !v.getType().is(EntityTagGenerator.RIDES_OBSTRUCT_SNATCHING)) { + if (v == null || !v.getType().is(TFEntityTypeTags.RIDES_OBSTRUCT_SNATCHING)) { // Pluck them from the boat, minecart, donkey, or whatever victim.stopRiding(); diff --git a/src/main/java/twilightforest/entity/boss/HydraMortar.java b/src/main/java/twilightforest/entity/boss/HydraMortar.java index e8739a5a72..b98adff88a 100644 --- a/src/main/java/twilightforest/entity/boss/HydraMortar.java +++ b/src/main/java/twilightforest/entity/boss/HydraMortar.java @@ -19,7 +19,7 @@ import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.event.EventHooks; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFEntities; @@ -122,7 +122,7 @@ private boolean isPartOfHydra(Entity entity) { public float getBlockExplosionResistance(Explosion explosion, BlockGetter getter, BlockPos pos, BlockState state, FluidState fluid, float idk) { float resistance = super.getBlockExplosionResistance(explosion, getter, pos, state, fluid, idk); - if (this.megaBlast && !state.is(BlockTagGenerator.COMMON_PROTECTIONS)) { + if (this.megaBlast && !state.is(TFBlockTags.COMMON_PROTECTIONS)) { resistance = Math.min(0.8F, resistance); } diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index 57d008f107..269a16e059 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -49,7 +49,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.levelgen.structure.Structure; -import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.network.PacketDistributor; @@ -57,8 +56,8 @@ import twilightforest.block.LightableBlock; import twilightforest.block.OminousCandleBlock; import twilightforest.components.entity.FortificationShieldAttachment; -import twilightforest.data.tags.DamageTypeTagGenerator; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFDamageTypeTags; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.entity.ai.goal.*; import twilightforest.entity.monster.LichMinion; import twilightforest.entity.projectile.LichBomb; @@ -369,7 +368,7 @@ public boolean hurtServer(ServerLevel level, DamageSource src, float damage) { // if our shield is up, ignore any damage that can be blocked. if (!src.is(DamageTypeTags.BYPASSES_INVULNERABILITY) && this.getShieldStrength() > 0) { - if (src.is(DamageTypeTagGenerator.BREAKS_LICH_SHIELDS) && damage > 2) { + if (src.is(TFDamageTypeTags.BREAKS_LICH_SHIELDS) && damage > 2) { // reduce shield for magic damage greater than 1 heart if (this.getShieldStrength() > 0) { int newShieldStrength = this.getShieldStrength() - 1; @@ -1071,7 +1070,7 @@ public int getBossBarColor() { @Override public ProjectileDeflection deflection(Projectile projectile) { - if (projectile.getType().is(EntityTagGenerator.LICH_DEFLECTS_PHASE_2) && (projectile.getOwner() instanceof Player || projectile.getOwner() instanceof Lich || projectile.getOwner() == null) && this.getPhase() > 1) { + if (projectile.getType().is(TFEntityTypeTags.LICH_DEFLECTS_PHASE_2) && (projectile.getOwner() instanceof Player || projectile.getOwner() instanceof Lich || projectile.getOwner() == null) && this.getPhase() > 1) { return (proj, entity, random) -> { proj.setDeltaMovement(this.getDeltaMovement().add(0.5D - this.getRandom().nextDouble(), 0.75D, 0.5D - this.getRandom().nextDouble()).multiply(0.75D, 1.5D, 0.75D)); proj.setOwner(this); diff --git a/src/main/java/twilightforest/entity/monster/GiantMiner.java b/src/main/java/twilightforest/entity/monster/GiantMiner.java index 97919521aa..42ea32a386 100644 --- a/src/main/java/twilightforest/entity/monster/GiantMiner.java +++ b/src/main/java/twilightforest/entity/monster/GiantMiner.java @@ -17,7 +17,7 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.ServerLevelAccessor; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFItems; import twilightforest.util.entities.EntityUtil; @@ -95,7 +95,7 @@ public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason reason) } public static boolean checkGiantSpawnRules(EntityType type, ServerLevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { - return accessor.getBlockState(pos.below()).is(BlockTagGenerator.GIANTS_SPAWNABLE_ON); + return accessor.getBlockState(pos.below()).is(TFBlockTags.GIANTS_SPAWNABLE_ON); } @Override diff --git a/src/main/java/twilightforest/entity/monster/Kobold.java b/src/main/java/twilightforest/entity/monster/Kobold.java index da21e92ea4..a62c3ddf3a 100644 --- a/src/main/java/twilightforest/entity/monster/Kobold.java +++ b/src/main/java/twilightforest/entity/monster/Kobold.java @@ -15,7 +15,6 @@ import net.minecraft.world.entity.EntityEvent; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.*; @@ -29,7 +28,7 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.network.PacketDistributor; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.entity.ai.goal.FlockToSameKindGoal; import twilightforest.entity.ai.goal.PanicOnFlockDeathGoal; import twilightforest.init.TFSounds; @@ -114,7 +113,7 @@ public void aiStep() { } //bread munching - if (!this.level().isClientSide() && this.isAlive() && this.getItemBySlot(EquipmentSlot.MAINHAND).is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS)) { + if (!this.level().isClientSide() && this.isAlive() && this.getItemBySlot(EquipmentSlot.MAINHAND).is(TFItemTags.KOBOLD_PACIFICATION_BREADS)) { ++this.lastEatenBreadTicks; if (this.eatingTime > 0) this.eatingTime--; ItemStack itemstack = this.getItemBySlot(EquipmentSlot.MAINHAND); @@ -195,7 +194,7 @@ protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) { @Override public boolean canHoldItem(ItemStack stack) { - return this.getItemBySlot(EquipmentSlot.MAINHAND).isEmpty() && stack.is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS) && !this.isPanicked(); + return this.getItemBySlot(EquipmentSlot.MAINHAND).isEmpty() && stack.is(TFItemTags.KOBOLD_PACIFICATION_BREADS) && !this.isPanicked(); } @Override @@ -268,7 +267,7 @@ public KoboldAttackPlayerTarget(Kobold mob) { @Override public boolean canUse() { - if (this.mob.getItemBySlot(EquipmentSlot.MAINHAND).is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS)) { + if (this.mob.getItemBySlot(EquipmentSlot.MAINHAND).is(TFItemTags.KOBOLD_PACIFICATION_BREADS)) { return false; } return super.canUse(); @@ -280,7 +279,7 @@ public boolean canUse() { private static class SeekBreadGoal extends Goal { private static final Predicate ALLOWED_ITEMS = (item) -> - item.getItem().is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS); + item.getItem().is(TFItemTags.KOBOLD_PACIFICATION_BREADS); private final Kobold mob; @@ -333,7 +332,7 @@ public RunAwayWhileHoldingBreadGoal(Kobold mob) { @Override public boolean canUse() { - if (this.mob.getItemBySlot(EquipmentSlot.MAINHAND).is(ItemTagGenerator.KOBOLD_PACIFICATION_BREADS)) { + if (this.mob.getItemBySlot(EquipmentSlot.MAINHAND).is(TFItemTags.KOBOLD_PACIFICATION_BREADS)) { return super.canUse(); } return false; diff --git a/src/main/java/twilightforest/entity/monster/PinchBeetle.java b/src/main/java/twilightforest/entity/monster/PinchBeetle.java index 320f317d3d..345d767cd1 100644 --- a/src/main/java/twilightforest/entity/monster/PinchBeetle.java +++ b/src/main/java/twilightforest/entity/monster/PinchBeetle.java @@ -14,13 +14,11 @@ import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.vehicle.Boat; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.entity.IHostileMount; import twilightforest.entity.ai.goal.ChargeAttackGoal; import twilightforest.init.TFDamageTypes; @@ -122,7 +120,7 @@ public boolean doHurtTarget(ServerLevel level, Entity entity) { if (this.getPassengers().isEmpty()) { var v = entity.getVehicle(); - if (v == null || !v.getType().is(EntityTagGenerator.RIDES_OBSTRUCT_SNATCHING)) { + if (v == null || !v.getType().is(TFEntityTypeTags.RIDES_OBSTRUCT_SNATCHING)) { // Pluck them from the boat, minecart, donkey, or whatever entity.stopRiding(); diff --git a/src/main/java/twilightforest/entity/passive/Boar.java b/src/main/java/twilightforest/entity/passive/Boar.java index 2f58281c96..7fc86c9189 100644 --- a/src/main/java/twilightforest/entity/passive/Boar.java +++ b/src/main/java/twilightforest/entity/passive/Boar.java @@ -19,7 +19,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; @@ -35,7 +35,7 @@ protected void registerGoals() { this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); this.goalSelector.addGoal(3, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, Ingredient.of(Items.CARROT_ON_A_STICK), false)); - this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, stack -> stack.is(ItemTagGenerator.BOAR_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, stack -> stack.is(TFItemTags.BOAR_TEMPT_ITEMS), false)); this.goalSelector.addGoal(5, new FollowParentGoal(this, 1.1D)); this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F)); @@ -73,7 +73,7 @@ protected void playStepSound(BlockPos pos, BlockState state) { @Override public boolean isFood(ItemStack stack) { - return stack.is(ItemTagGenerator.BOAR_TEMPT_ITEMS); + return stack.is(TFItemTags.BOAR_TEMPT_ITEMS); } @Override diff --git a/src/main/java/twilightforest/entity/passive/Deer.java b/src/main/java/twilightforest/entity/passive/Deer.java index f410747368..f39fe17c4d 100644 --- a/src/main/java/twilightforest/entity/passive/Deer.java +++ b/src/main/java/twilightforest/entity/passive/Deer.java @@ -14,10 +14,9 @@ import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; @@ -32,7 +31,7 @@ protected void registerGoals() { goalSelector.addGoal(0, new FloatGoal(this)); goalSelector.addGoal(1, new PanicGoal(this, 2.0D)); goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); - goalSelector.addGoal(3, new TemptGoal(this, 1.25D, stack -> stack.is(ItemTagGenerator.DEER_TEMPT_ITEMS), false)); + goalSelector.addGoal(3, new TemptGoal(this, 1.25D, stack -> stack.is(TFItemTags.DEER_TEMPT_ITEMS), false)); goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Player.class, 16.0F, 1.5D, 1.8D)); goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); @@ -72,6 +71,6 @@ public Deer getBreedOffspring(ServerLevel level, AgeableMob mate) { @Override public boolean isFood(ItemStack stack) { - return stack.is(ItemTagGenerator.DEER_TEMPT_ITEMS); + return stack.is(TFItemTags.DEER_TEMPT_ITEMS); } } diff --git a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java index bf76ef5eea..fc228a4e66 100644 --- a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java +++ b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java @@ -19,14 +19,13 @@ import net.minecraft.world.entity.animal.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFDataSerializers; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; @@ -47,7 +46,7 @@ protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 2.0F)); this.goalSelector.addGoal(2, new BreedGoal(this, 0.8D)); - this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(ItemTagGenerator.DWARF_RABBIT_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(TFItemTags.DWARF_RABBIT_TEMPT_ITEMS), false)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Player.class, 2.0F, 0.8F, 1.33F)); this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Ocelot.class, 8.0F, 0.8F, 1.1F)); this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Cat.class, 8.0F, 0.8F, 1.1F)); @@ -144,7 +143,7 @@ public float getWalkTargetValue(BlockPos pos) { @Override public boolean isFood(ItemStack stack) { - return stack.is(ItemTagGenerator.DWARF_RABBIT_TEMPT_ITEMS); + return stack.is(TFItemTags.DWARF_RABBIT_TEMPT_ITEMS); } @Nullable diff --git a/src/main/java/twilightforest/entity/passive/Penguin.java b/src/main/java/twilightforest/entity/passive/Penguin.java index fbdf7925d0..bc36701e93 100644 --- a/src/main/java/twilightforest/entity/passive/Penguin.java +++ b/src/main/java/twilightforest/entity/passive/Penguin.java @@ -18,8 +18,8 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFBlockTags; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; @@ -33,7 +33,7 @@ protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 1.75F)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0F)); - this.goalSelector.addGoal(3, new TemptGoal(this, 0.75F, stack -> stack.is(ItemTagGenerator.PENGUIN_TEMPT_ITEMS), false)); + this.goalSelector.addGoal(3, new TemptGoal(this, 0.75F, stack -> stack.is(TFItemTags.PENGUIN_TEMPT_ITEMS), false)); this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.15F)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6F)); @@ -48,7 +48,7 @@ public Animal getBreedOffspring(ServerLevel level, AgeableMob ageableMob) { @Override public boolean isFood(ItemStack stack) { - return stack.is(ItemTagGenerator.PENGUIN_TEMPT_ITEMS); + return stack.is(TFItemTags.PENGUIN_TEMPT_ITEMS); } @Nullable @@ -79,6 +79,6 @@ public boolean checkSpawnRules(LevelAccessor accessor, EntitySpawnReason type) { } public static boolean checkPenguinSpawnRules(EntityType type, LevelAccessor accessor, EntitySpawnReason reason, BlockPos pos, RandomSource rand) { - return accessor.getBlockState(pos.below()).is(BlockTagGenerator.PENGUINS_SPAWNABLE_ON); + return accessor.getBlockState(pos.below()).is(TFBlockTags.PENGUINS_SPAWNABLE_ON); } } diff --git a/src/main/java/twilightforest/entity/passive/Raven.java b/src/main/java/twilightforest/entity/passive/Raven.java index d09dcfc0ca..c46e1606bd 100644 --- a/src/main/java/twilightforest/entity/passive/Raven.java +++ b/src/main/java/twilightforest/entity/passive/Raven.java @@ -8,7 +8,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFSounds; public class Raven extends FlyingBird { @@ -46,6 +46,6 @@ public boolean isSpooked() { @Override public TagKey getTemptItems() { - return ItemTagGenerator.RAVEN_TEMPT_ITEMS; + return TFItemTags.RAVEN_TEMPT_ITEMS; } } diff --git a/src/main/java/twilightforest/entity/passive/Squirrel.java b/src/main/java/twilightforest/entity/passive/Squirrel.java index 4d2e219be5..ad191f1941 100644 --- a/src/main/java/twilightforest/entity/passive/Squirrel.java +++ b/src/main/java/twilightforest/entity/passive/Squirrel.java @@ -14,11 +14,10 @@ import net.minecraft.world.entity.animal.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFSounds; public class Squirrel extends Animal { @@ -31,7 +30,7 @@ public Squirrel(EntityType type, Level world) { protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new PanicGoal(this, 1.38F)); - this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(ItemTagGenerator.SQUIRREL_TEMPT_ITEMS), true)); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.0F, stack -> stack.is(TFItemTags.SQUIRREL_TEMPT_ITEMS), true)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Player.class, 2.0F, 0.8F, 1.4F)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Wolf.class, 8.0F, 0.8F, 1.4F)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Cat.class, 8.0F, 0.8F, 1.4F)); diff --git a/src/main/java/twilightforest/entity/passive/TinyBird.java b/src/main/java/twilightforest/entity/passive/TinyBird.java index 0b949fc2dd..1cd9c42872 100644 --- a/src/main/java/twilightforest/entity/passive/TinyBird.java +++ b/src/main/java/twilightforest/entity/passive/TinyBird.java @@ -26,7 +26,7 @@ import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFDataSerializers; import twilightforest.init.TFSounds; import twilightforest.init.custom.TinyBirdVariants; @@ -117,6 +117,6 @@ public boolean isSpooked() { @Override public TagKey getTemptItems() { - return ItemTagGenerator.TINY_BIRD_TEMPT_ITEMS; + return TFItemTags.TINY_BIRD_TEMPT_ITEMS; } } diff --git a/src/main/java/twilightforest/entity/projectile/ChainBlock.java b/src/main/java/twilightforest/entity/projectile/ChainBlock.java index c7b6a1a64b..c77a9d99e5 100644 --- a/src/main/java/twilightforest/entity/projectile/ChainBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ChainBlock.java @@ -30,7 +30,7 @@ import net.neoforged.neoforge.entity.IEntityWithComplexSpawn; import net.neoforged.neoforge.entity.PartEntity; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFDataAttachments; import twilightforest.init.TFItems; @@ -241,7 +241,7 @@ public void bounce(Direction direction) { } public static boolean canBreakBlockAt(Level level, BlockPos pos, BlockState state, ItemStack stack, boolean restrictedPlaceMode) { - return level.getWorldBorder().isWithinBounds(pos) && stack.isCorrectToolForDrops(state) && !state.is(BlockTagGenerator.BLOCK_AND_CHAIN_NEVER_BREAKS) + return level.getWorldBorder().isWithinBounds(pos) && stack.isCorrectToolForDrops(state) && !state.is(TFBlockTags.BLOCK_AND_CHAIN_NEVER_BREAKS) && (!restrictedPlaceMode || stack.canBreakBlockInAdventureMode(new BlockInWorld(level, pos, false))); } diff --git a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java index 8215348604..b7d9612e92 100644 --- a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java +++ b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java @@ -22,7 +22,7 @@ import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.level.BlockEvent; import net.neoforged.neoforge.network.PacketDistributor; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFItems; import twilightforest.init.TFParticleType; import twilightforest.init.TFSounds; @@ -120,7 +120,7 @@ private void affectBlocksInAABB(AABB box) { private boolean canAnnihilate(BlockPos pos, BlockState state, boolean restrictedPlaceMode) { // whitelist many castle blocks Block block = state.getBlock(); - return (state.is(BlockTagGenerator.ANNIHILATION_INCLUSIONS) || block.getExplosionResistance() < 8F && state.getDestroySpeed(this.level(), pos) >= 0) + return (state.is(TFBlockTags.ANNIHILATION_INCLUSIONS) || block.getExplosionResistance() < 8F && state.getDestroySpeed(this.level(), pos) >= 0) && (!restrictedPlaceMode || this.stack.canBreakBlockInAdventureMode(new BlockInWorld(this.level(), pos, false))); } diff --git a/src/main/java/twilightforest/entity/projectile/IceBomb.java b/src/main/java/twilightforest/entity/projectile/IceBomb.java index 417f2e138c..fd3a8f31ed 100644 --- a/src/main/java/twilightforest/entity/projectile/IceBomb.java +++ b/src/main/java/twilightforest/entity/projectile/IceBomb.java @@ -17,7 +17,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.EntityHitResult; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.enchantment.ApplyFrostedEffect; import twilightforest.entity.boss.AlphaYeti; import twilightforest.entity.monster.Yeti; @@ -86,7 +86,7 @@ private void doTerrainEffect(BlockPos pos) { if (this.level().isEmptyBlock(pos) && Blocks.SNOW.defaultBlockState().canSurvive(this.level(), pos)) { this.level().setBlockAndUpdate(pos, Blocks.SNOW.defaultBlockState()); } - if (state.is(BlockTagGenerator.ICE_BOMB_REPLACEABLES)) { + if (state.is(TFBlockTags.ICE_BOMB_REPLACEABLES)) { this.level().setBlock(pos, Blocks.SNOW.defaultBlockState().canSurvive(this.level(), pos) ? Blocks.SNOW.defaultBlockState() : Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL); } if (state.is(Blocks.SNOW) && state.getValue(SnowLayerBlock.LAYERS) < 8) { diff --git a/src/main/java/twilightforest/entity/projectile/NatureBolt.java b/src/main/java/twilightforest/entity/projectile/NatureBolt.java index 55aa9075b2..3061a8c6cc 100644 --- a/src/main/java/twilightforest/entity/projectile/NatureBolt.java +++ b/src/main/java/twilightforest/entity/projectile/NatureBolt.java @@ -23,7 +23,7 @@ import net.minecraft.world.phys.EntityHitResult; import net.minecraft.world.phys.HitResult; import net.neoforged.neoforge.event.EventHooks; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFEntities; import twilightforest.util.entities.EntityUtil; @@ -99,7 +99,7 @@ protected void onHit(HitResult result) { } private boolean canReplaceBlock(Level level, BlockPos pos) { - return !level.getBlockState(pos).hasBlockEntity() && level.getBlockState(pos).isSolidRender() && level.getBlockState(pos).is(BlockTagGenerator.DRUID_PROJECTILE_REPLACEABLE) && EntityUtil.canDestroyBlock(level, pos, this); + return !level.getBlockState(pos).hasBlockEntity() && level.getBlockState(pos).isSolidRender() && level.getBlockState(pos).is(TFBlockTags.DRUID_PROJECTILE_REPLACEABLE) && EntityUtil.canDestroyBlock(level, pos, this); } @Override diff --git a/src/main/java/twilightforest/events/CharmEvents.java b/src/main/java/twilightforest/events/CharmEvents.java index fa0feb4630..2b578d849c 100644 --- a/src/main/java/twilightforest/events/CharmEvents.java +++ b/src/main/java/twilightforest/events/CharmEvents.java @@ -1,9 +1,7 @@ package twilightforest.events; -import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -24,7 +22,6 @@ import net.minecraft.world.level.material.FluidState; import net.neoforged.bus.api.EventPriority; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.ModList; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.util.FakePlayer; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent; @@ -33,10 +30,9 @@ import net.neoforged.neoforge.registries.DeferredItem; import twilightforest.TwilightForestMod; import twilightforest.block.KeepsakeCasketBlock; -import twilightforest.block.entity.KeepsakeCasketBlockEntity; import twilightforest.block.entity.SkullChestBlockEntity; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.enums.BlockLoggingEnum; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; @@ -46,7 +42,6 @@ import twilightforest.util.TFItemStackUtils; import java.util.ArrayList; -import java.util.Collections; import java.util.List; @EventBusSubscriber(modid = TwilightForestMod.ID) @@ -140,7 +135,7 @@ private static void charmOfKeeping(Player player) { //keep all items in the kept_on_death tag. This allows modpacks to support other items to keep on death for (int i = 0; i < player.getInventory().items.size(); i++) { ItemStack stack = player.getInventory().items.get(i); - if (stack.is(ItemTagGenerator.KEPT_ON_DEATH)) { + if (stack.is(TFItemTags.KEPT_ON_DEATH)) { keepInventory.items.set(i, stack.copy()); player.getInventory().items.set(i, ItemStack.EMPTY); } @@ -148,13 +143,13 @@ private static void charmOfKeeping(Player player) { for (int i = 0; i < player.getInventory().armor.size(); i++) { ItemStack armor = player.getInventory().armor.get(i); - if (armor.is(ItemTagGenerator.KEPT_ON_DEATH)) { + if (armor.is(TFItemTags.KEPT_ON_DEATH)) { keepInventory.armor.set(i, armor.copy()); player.getInventory().armor.set(i, ItemStack.EMPTY); } } - if (player.getInventory().offhand.getFirst().is(ItemTagGenerator.KEPT_ON_DEATH)) { + if (player.getInventory().offhand.getFirst().is(TFItemTags.KEPT_ON_DEATH)) { keepInventory.offhand.set(0, player.getInventory().offhand.getFirst().copy()); player.getInventory().offhand.set(0, ItemStack.EMPTY); } diff --git a/src/main/java/twilightforest/events/EntityEvents.java b/src/main/java/twilightforest/events/EntityEvents.java index f96141d615..87e2963bd3 100644 --- a/src/main/java/twilightforest/events/EntityEvents.java +++ b/src/main/java/twilightforest/events/EntityEvents.java @@ -68,7 +68,7 @@ import twilightforest.block.entity.SkullChestBlockEntity; import twilightforest.block.entity.SkullCandleBlockEntity; import twilightforest.config.TFConfig; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.enchantment.ApplyFrostedEffect; import twilightforest.entity.passive.quest.ram.QuestingRamCurrentContext; import twilightforest.entity.projectile.ITFProjectile; @@ -442,7 +442,7 @@ public static void onAttackEvent(AttackEntityEvent event) { @SubscribeEvent public static void adjustEntityHealthInMultiplayerFights(FinalizeSpawnEvent event) { - if (event.getEntity().getType().is(EntityTagGenerator.MULTIPLAYER_INCLUSIVE_ENTITIES)) { + if (event.getEntity().getType().is(TFEntityTypeTags.MULTIPLAYER_INCLUSIVE_ENTITIES)) { if (TFConfig.multiplayerFightAdjuster.adjustsHealth()) { List nearbyPlayers = event.getLevel().getEntitiesOfClass(ServerPlayer.class, event.getEntity().getBoundingBox().inflate(32, 10, 32), player -> EntitySelector.NO_CREATIVE_OR_SPECTATOR.and(EntitySelector.ENTITY_STILL_ALIVE).test(player)); if (nearbyPlayers.size() > 1 && event.getEntity().getAttribute(Attributes.MAX_HEALTH) != null) { @@ -463,7 +463,7 @@ private static double getHealthBasedOnDifficulty(Difficulty difficulty) { @SubscribeEvent public static void addQualifiedPlayerIfNeeded(LivingDamageEvent.Post event) { - if (event.getEntity().getType().is(EntityTagGenerator.MULTIPLAYER_INCLUSIVE_ENTITIES)) { + if (event.getEntity().getType().is(TFEntityTypeTags.MULTIPLAYER_INCLUSIVE_ENTITIES)) { var data = event.getEntity().getData(TFDataAttachments.MULTIPLAYER_FIGHT); if (event.getSource().getEntity() != null) { data.maybeAddQualifiedPlayer(event.getSource().getEntity()); diff --git a/src/main/java/twilightforest/events/ProgressionEvents.java b/src/main/java/twilightforest/events/ProgressionEvents.java index b27c6582a9..cec7c082b8 100644 --- a/src/main/java/twilightforest/events/ProgressionEvents.java +++ b/src/main/java/twilightforest/events/ProgressionEvents.java @@ -2,7 +2,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.SectionPos; -import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; @@ -11,7 +10,6 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.levelgen.structure.BoundingBox; -import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructureStart; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; @@ -23,14 +21,10 @@ import net.neoforged.neoforge.event.level.BlockEvent; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.entity.boss.Hydra; +import twilightforest.tags.TFBlockTags; import twilightforest.entity.monster.Kobold; -import twilightforest.init.TFStructures; import twilightforest.network.AreaProtectionPacket; import twilightforest.util.landmarks.LandmarkUtil; -import twilightforest.util.landmarks.LegacyLandmarkPlacements; -import twilightforest.util.WorldUtil; import twilightforest.world.components.structures.TFStructureComponent; import twilightforest.world.components.structures.util.ProgressionStructure; @@ -112,11 +106,11 @@ public static void onPlayerRightClick(PlayerInteractEvent.RightClickBlock event) } private static boolean isBlockProtectedFromInteraction(BlockGetter level, BlockPos pos) { - return level.getBlockState(pos).is(BlockTagGenerator.STRUCTURE_BANNED_INTERACTIONS); + return level.getBlockState(pos).is(TFBlockTags.STRUCTURE_BANNED_INTERACTIONS); } private static boolean isBlockProtectedFromBreaking(BlockGetter level, BlockPos pos) { - return !level.getBlockState(pos).is(BlockTagGenerator.PROGRESSION_ALLOW_BREAKING); + return !level.getBlockState(pos).is(TFBlockTags.PROGRESSION_ALLOW_BREAKING); } /** diff --git a/src/main/java/twilightforest/events/TFTickHandler.java b/src/main/java/twilightforest/events/TFTickHandler.java index e35c858978..6e5e8c4d47 100644 --- a/src/main/java/twilightforest/events/TFTickHandler.java +++ b/src/main/java/twilightforest/events/TFTickHandler.java @@ -13,7 +13,6 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ChunkPos; -import net.minecraft.world.level.Level; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructurePiece; import net.neoforged.bus.api.SubscribeEvent; @@ -23,7 +22,7 @@ import twilightforest.TwilightForestMod; import twilightforest.block.TFPortalBlock; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFAdvancements; import twilightforest.init.TFBlocks; import twilightforest.init.TFDimension; @@ -38,7 +37,6 @@ import java.util.List; import java.util.Objects; import java.util.Optional; -import java.util.Random; @EventBusSubscriber(modid = TwilightForestMod.ID) public class TFTickHandler { @@ -118,7 +116,7 @@ private static void checkForPortalCreation(ServerPlayer player, ServerLevel leve ItemEntity qualified = null; for (ItemEntity entityItem : itemList) { - if (entityItem.getItem().is(ItemTagGenerator.PORTAL_ACTIVATOR) && + if (entityItem.getItem().is(TFItemTags.PORTAL_ACTIVATOR) && TFBlocks.TWILIGHT_PORTAL.get().canFormPortal(level.getBlockState(entityItem.blockPosition())) && Objects.equals(entityItem.getOwner(), player)) { diff --git a/src/main/java/twilightforest/events/ToolEvents.java b/src/main/java/twilightforest/events/ToolEvents.java index 4fc0aaf29f..9b4ac555f9 100644 --- a/src/main/java/twilightforest/events/ToolEvents.java +++ b/src/main/java/twilightforest/events/ToolEvents.java @@ -22,7 +22,7 @@ import net.neoforged.neoforge.event.level.BlockEvent; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFItems; import twilightforest.item.EnderBowItem; import twilightforest.item.MazebreakerPickItem; @@ -123,7 +123,7 @@ public static void onMinotaurAxeCharge(LivingDamageEvent.Pre event) { @SubscribeEvent public static void damageToolsExtra(BlockEvent.BreakEvent event) { ItemStack stack = event.getPlayer().getMainHandItem(); - if (event.getState().is(BlockTagGenerator.MAZESTONE) || event.getState().is(BlockTagGenerator.CASTLE_BLOCKS)) { + if (event.getState().is(TFBlockTags.MAZESTONE) || event.getState().is(TFBlockTags.CASTLE_BLOCKS)) { if (stack.isDamageableItem() && !(stack.getItem() instanceof MazebreakerPickItem)) { stack.hurtAndBreak(16, event.getPlayer(), EquipmentSlot.MAINHAND); } diff --git a/src/main/java/twilightforest/init/TFArmorMaterials.java b/src/main/java/twilightforest/init/TFArmorMaterials.java index 049356c6d1..5eb42dbacb 100644 --- a/src/main/java/twilightforest/init/TFArmorMaterials.java +++ b/src/main/java/twilightforest/init/TFArmorMaterials.java @@ -4,7 +4,7 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.equipment.ArmorType; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import java.util.EnumMap; @@ -16,7 +16,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 8); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.5F, 0.0F, ItemTagGenerator.REPAIRS_NAGA_ARMOR, TFEquipmentModels.NAGA); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.5F, 0.0F, TFItemTags.REPAIRS_NAGA_ARMOR, TFEquipmentModels.NAGA); public static final ArmorMaterial IRONWOOD = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 2); @@ -24,7 +24,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 5); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, ItemTagGenerator.REPAIRS_IRONWOOD_ARMOR, TFEquipmentModels.IRONWOOD); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_IRONWOOD_ARMOR, TFEquipmentModels.IRONWOOD); public static final ArmorMaterial FIERY = new ArmorMaterial(25, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 4); @@ -32,7 +32,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 9); map.put(ArmorType.HELMET, 4); map.put(ArmorType.BODY, 13); - }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, 1.5F, 0.0F, ItemTagGenerator.REPAIRS_FIERY_ARMOR, TFEquipmentModels.FIERY); + }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, 1.5F, 0.0F, TFItemTags.REPAIRS_FIERY_ARMOR, TFEquipmentModels.FIERY); public static final ArmorMaterial STEELEAF = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -40,7 +40,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 11); - }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, ItemTagGenerator.REPAIRS_STEELEAF_ARMOR, TFEquipmentModels.STEELEAF); + }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_STEELEAF_ARMOR, TFEquipmentModels.STEELEAF); public static final ArmorMaterial KNIGHTMETAL = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -48,7 +48,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 11); - }), 8, TFSounds.KNIGHTMETAL_EQUIP, 1.0F, 0.0F, ItemTagGenerator.REPAIRS_KNIGHTMETAL_ARMOR, TFEquipmentModels.KNIGHTMETAL); + }), 8, TFSounds.KNIGHTMETAL_EQUIP, 1.0F, 0.0F, TFItemTags.REPAIRS_KNIGHTMETAL_ARMOR, TFEquipmentModels.KNIGHTMETAL); public static final ArmorMaterial PHANTOM = new ArmorMaterial(30, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -56,7 +56,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 10); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.5F, 0.0F, ItemTagGenerator.REPAIRS_PHANTOM_ARMOR, TFEquipmentModels.PHANTOM); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.5F, 0.0F, TFItemTags.REPAIRS_PHANTOM_ARMOR, TFEquipmentModels.PHANTOM); public static final ArmorMaterial YETI = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -64,7 +64,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 4); map.put(ArmorType.BODY, 11); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 3.0F, 0.0F, ItemTagGenerator.REPAIRS_YETI_ARMOR, TFEquipmentModels.YETI); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 3.0F, 0.0F, TFItemTags.REPAIRS_YETI_ARMOR, TFEquipmentModels.YETI); public static final ArmorMaterial ARCTIC = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 2); @@ -72,5 +72,5 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 7); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.0F, 0.0F, ItemTagGenerator.REPAIRS_ARCTIC_ARMOR, TFEquipmentModels.ARCTIC); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.0F, 0.0F, TFItemTags.REPAIRS_ARCTIC_ARMOR, TFEquipmentModels.ARCTIC); } diff --git a/src/main/java/twilightforest/init/TFCaveCarvers.java b/src/main/java/twilightforest/init/TFCaveCarvers.java index 7296e1bd79..99c660d5f5 100644 --- a/src/main/java/twilightforest/init/TFCaveCarvers.java +++ b/src/main/java/twilightforest/init/TFCaveCarvers.java @@ -22,7 +22,7 @@ import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.world.components.TFCavesCarver; import java.util.List; @@ -74,7 +74,7 @@ public static void bootstrap(BootstrapContext> context) UniformHeight.of(VerticalAnchor.aboveBottom(16), VerticalAnchor.absolute(-8)), ConstantFloat.of(0.6F), VerticalAnchor.bottom(), - blocks.getOrThrow(BlockTagGenerator.CARVER_REPLACEABLES), + blocks.getOrThrow(TFBlockTags.CARVER_REPLACEABLES), ConstantFloat.of(1.05F), ConstantFloat.of(1.05F), ConstantFloat.of(-0.7F) @@ -85,7 +85,7 @@ public static void bootstrap(BootstrapContext> context) BiasedToBottomHeight.of(VerticalAnchor.absolute(8), VerticalAnchor.absolute(32), 16), ConstantFloat.of(0.6f), VerticalAnchor.bottom(), - blocks.getOrThrow(BlockTagGenerator.CARVER_REPLACEABLES), + blocks.getOrThrow(TFBlockTags.CARVER_REPLACEABLES), UniformFloat.of(1.1f, 1.3f), ConstantFloat.of(1.1f), UniformFloat.of(-0.9F, -0.65F) diff --git a/src/main/java/twilightforest/init/TFConfiguredFeatures.java b/src/main/java/twilightforest/init/TFConfiguredFeatures.java index 71d1b6d921..0acd4babb3 100644 --- a/src/main/java/twilightforest/init/TFConfiguredFeatures.java +++ b/src/main/java/twilightforest/init/TFConfiguredFeatures.java @@ -36,7 +36,7 @@ import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; import twilightforest.block.TorchberryPlantBlock; -import twilightforest.data.tags.CustomTagGenerator; +import twilightforest.tags.TFWoodPaletteTags; import twilightforest.util.woods.WoodPalette; import twilightforest.world.components.feature.TFSmallLakeFeature; import twilightforest.world.components.feature.config.*; @@ -391,13 +391,13 @@ private static void registerTemplateFeatures(BootstrapContext(TFFeatures.SIMPLE_WELL.get(), simpleWellConfig)); - SwizzleConfig fancyWellConfig = SwizzleConfig.generate(paletteHolders, CustomTagGenerator.WoodPaletteTagGenerator.WELL_SWIZZLE_MASK, paletteChoices, processorCobbleBlock, processorCobbleStair, processorCobbleSlab, processorCobbleWall, processorStoneBrickBlock, processorStoneBrickStair, processorStoneBrickSlab, processorStoneBrickWall); + SwizzleConfig fancyWellConfig = SwizzleConfig.generate(paletteHolders, TFWoodPaletteTags.WELL_SWIZZLE_MASK, paletteChoices, processorCobbleBlock, processorCobbleStair, processorCobbleSlab, processorCobbleWall, processorStoneBrickBlock, processorStoneBrickStair, processorStoneBrickSlab, processorStoneBrickWall); context.register(FANCY_WELL, new ConfiguredFeature<>(TFFeatures.FANCY_WELL.get(), fancyWellConfig)); - SwizzleConfig hutConfig = SwizzleConfig.generate(paletteHolders, CustomTagGenerator.WoodPaletteTagGenerator.DRUID_HUT_SWIZZLE_MASK, paletteChoices, processorCobbleBlock, processorCobbleStair, processorCobbleSlab, processorCobbleWall, processorStoneBrickBlock, processorStoneBrickStair, processorStoneBrickSlab, processorStoneBrickWall); + SwizzleConfig hutConfig = SwizzleConfig.generate(paletteHolders, TFWoodPaletteTags.DRUID_HUT_SWIZZLE_MASK, paletteChoices, processorCobbleBlock, processorCobbleStair, processorCobbleSlab, processorCobbleWall, processorStoneBrickBlock, processorStoneBrickStair, processorStoneBrickSlab, processorStoneBrickWall); context.register(DRUID_HUT, new ConfiguredFeature<>(TFFeatures.DRUID_HUT.get(), hutConfig)); context.register(GRAVEYARD, new ConfiguredFeature<>(TFFeatures.GRAVEYARD.get(), FeatureConfiguration.NONE)); diff --git a/src/main/java/twilightforest/init/TFEnchantments.java b/src/main/java/twilightforest/init/TFEnchantments.java index 4f7f650cd0..ea8c25ab56 100644 --- a/src/main/java/twilightforest/init/TFEnchantments.java +++ b/src/main/java/twilightforest/init/TFEnchantments.java @@ -5,28 +5,20 @@ import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; -import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; -import net.minecraft.world.damagesource.DamageType; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.EquipmentSlotGroup; import net.minecraft.world.item.Item; -import net.minecraft.world.item.JukeboxSong; import net.minecraft.world.item.enchantment.*; import net.minecraft.world.item.enchantment.effects.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; import net.minecraft.world.level.storage.loot.providers.number.EnchantmentLevelProvider; -import net.neoforged.neoforge.registries.DeferredHolder; -import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFBlockTags; +import twilightforest.tags.TFItemTags; import twilightforest.enchantment.*; -import java.util.List; import java.util.Optional; -import java.util.function.Function; public class TFEnchantments { public static final ResourceKey FIRE_REACT = registerKey("fire_react"); @@ -80,7 +72,7 @@ public static void bootstrap(BootstrapContext context) { LootItemRandomChanceCondition.randomChance(EnchantmentLevelProvider.forEnchantmentLevel(LevelBasedValue.perLevel(0.15F))))); register(context, DESTRUCTION, new Enchantment.Builder(Enchantment.definition( - items.getOrThrow(ItemTagGenerator.BLOCK_AND_CHAIN_ENCHANTABLE), + items.getOrThrow(TFItemTags.BLOCK_AND_CHAIN_ENCHANTABLE), 1, 3, Enchantment.dynamicCost(5, 9), @@ -91,12 +83,12 @@ public static void bootstrap(BootstrapContext context) { .withEffect(EnchantmentEffectComponents.HIT_BLOCK, new SmashBlocksEffect( LevelBasedValue.constant(12.0F), LevelBasedValue.constant(1.0F), - Optional.of(blocks.get(BlockTagGenerator.BLOCK_AND_CHAIN_NEVER_BREAKS).orElseThrow()), + Optional.of(blocks.get(TFBlockTags.BLOCK_AND_CHAIN_NEVER_BREAKS).orElseThrow()), Optional.empty(), Optional.empty()))); register(context, RENEWAL, new Enchantment.Builder(Enchantment.definition( - items.getOrThrow(ItemTagGenerator.SCEPTERS), + items.getOrThrow(TFItemTags.SCEPTERS), 1, 1, Enchantment.dynamicCost(5, 9), Enchantment.dynamicCost(20, 9), diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index a27ed97742..b1c48c96bb 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -16,11 +16,11 @@ import twilightforest.TwilightForestMod; import tamaized.beanification.Autowired; import twilightforest.components.item.PotionFlaskComponent; -import twilightforest.data.tags.CustomTagGenerator; import twilightforest.enums.extensions.TFRarityEnumExtension; import twilightforest.item.*; import twilightforest.item.food.TFConsumables; import twilightforest.item.food.TFFoods; +import twilightforest.tags.TFBannerPatternTags; import twilightforest.util.TFToolMaterials; import java.util.function.Function; @@ -247,15 +247,15 @@ public class TFItems { public static final DeferredItem MUSIC_DISC_THREAD = register("music_disc_thread", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.THREAD)); public static final DeferredItem MUSIC_DISC_MOTION = register("music_disc_motion", Item::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(TFJukeboxSongs.MOTION)); - public static final DeferredItem NAGA_BANNER_PATTERN = register("naga_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.NAGA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem LICH_BANNER_PATTERN = register("lich_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.LICH_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem MINOSHROOM_BANNER_PATTERN = register("minoshroom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.MINOSHROOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem HYDRA_BANNER_PATTERN = register("hydra_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.HYDRA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = register("knight_phantom_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.KNIGHT_PHANTOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem UR_GHAST_BANNER_PATTERN = register("ur_ghast_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.UR_GHAST_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = register("alpha_yeti_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.ALPHA_YETI_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = register("snow_queen_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.SNOW_QUEEN_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); - public static final DeferredItem QUEST_RAM_BANNER_PATTERN = register("quest_ram_banner_pattern", properties -> new BannerPatternItem(CustomTagGenerator.BannerPatternTagGenerator.QUEST_RAM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem NAGA_BANNER_PATTERN = register("naga_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.NAGA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem LICH_BANNER_PATTERN = register("lich_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.LICH_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem MINOSHROOM_BANNER_PATTERN = register("minoshroom_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.MINOSHROOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem HYDRA_BANNER_PATTERN = register("hydra_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.HYDRA_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem KNIGHT_PHANTOM_BANNER_PATTERN = register("knight_phantom_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.KNIGHT_PHANTOM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem UR_GHAST_BANNER_PATTERN = register("ur_ghast_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.UR_GHAST_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem ALPHA_YETI_BANNER_PATTERN = register("alpha_yeti_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.ALPHA_YETI_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem SNOW_QUEEN_BANNER_PATTERN = register("snow_queen_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.SNOW_QUEEN_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); + public static final DeferredItem QUEST_RAM_BANNER_PATTERN = register("quest_ram_banner_pattern", properties -> new BannerPatternItem(TFBannerPatternTags.QUESTING_RAM_BANNER_PATTERN, properties), () -> new Item.Properties().stacksTo(1).rarity(tfRarityEnumExtension.TWILIGHT)); public static DeferredItem register(String name, Function item, Supplier properties) { return ITEMS.register(name, () -> item.apply(properties.get().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name))))); diff --git a/src/main/java/twilightforest/init/TFStructures.java b/src/main/java/twilightforest/init/TFStructures.java index d6d0f34a6d..35f87ba307 100644 --- a/src/main/java/twilightforest/init/TFStructures.java +++ b/src/main/java/twilightforest/init/TFStructures.java @@ -6,7 +6,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.structure.Structure; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.world.components.structures.type.*; public class TFStructures { @@ -42,8 +42,8 @@ public static ResourceKey registerKey(String name) { } public static void bootstrap(BootstrapContext context) { - context.register(FALLEN_TRUNK, FallenTrunkStructure.buildStructureConfig(context.lookup(Registries.BIOME).getOrThrow(BiomeTagGenerator.VALID_HOLLOW_TREE_BIOMES))); - context.register(HOLLOW_TREE, HollowTreeStructure.buildStructureConfig(false, context.lookup(Registries.BIOME).getOrThrow(BiomeTagGenerator.VALID_HOLLOW_TREE_BIOMES))); + context.register(FALLEN_TRUNK, FallenTrunkStructure.buildStructureConfig(context.lookup(Registries.BIOME).getOrThrow(TFBiomeTags.VALID_HOLLOW_TREE_BIOMES))); + context.register(HOLLOW_TREE, HollowTreeStructure.buildStructureConfig(false, context.lookup(Registries.BIOME).getOrThrow(TFBiomeTags.VALID_HOLLOW_TREE_BIOMES))); context.register(SWAMP_HOLLOW_TREE, HollowTreeStructure.buildStructureConfig(true, HolderSet.direct(context.lookup(Registries.BIOME).getOrThrow(TFBiomes.SWAMP)))); context.register(HEDGE_MAZE, HedgeMazeStructure.buildStructureConfig(context)); context.register(QUEST_GROVE, QuestGroveStructure.buildStructureConfig(context)); diff --git a/src/main/java/twilightforest/init/custom/MagicPaintingVariants.java b/src/main/java/twilightforest/init/custom/MagicPaintingVariants.java index 79c92456c0..7f2300b4d0 100644 --- a/src/main/java/twilightforest/init/custom/MagicPaintingVariants.java +++ b/src/main/java/twilightforest/init/custom/MagicPaintingVariants.java @@ -17,17 +17,20 @@ import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; import twilightforest.client.MagicPaintingTextureManager; -import twilightforest.data.AtlasGenerator; -import twilightforest.data.LangGenerator; import twilightforest.entity.MagicPaintingVariant; import twilightforest.entity.MagicPaintingVariant.Layer; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static twilightforest.entity.MagicPaintingVariant.Layer.OpacityModifier; import static twilightforest.entity.MagicPaintingVariant.Layer.Parallax; public class MagicPaintingVariants { + public static final Map> MAGIC_PAINTING_LANG_HELPER = new HashMap<>(); + public static final Map MAGIC_PAINTING_ATLAS_HELPER = new HashMap<>(); + public static final Codec> CODEC = RegistryFileCodec.create(TFRegistries.Keys.MAGIC_PAINTINGS, MagicPaintingVariant.CODEC, false); public static final StreamCodec> STREAM_CODEC = ByteBufCodecs.holderRegistry(TFRegistries.Keys.MAGIC_PAINTINGS); @@ -115,8 +118,8 @@ public static void bootstrap(BootstrapContext context) { private static void register(BootstrapContext context, ResourceKey key, String title, String author, int width, int height, ResourceLocation backSprite, List layers) { Component authorComponent = Component.translatable(key.location().toLanguageKey("magic_painting", "author")); MagicPaintingVariant variant = new MagicPaintingVariant(width * 16, height * 16, layers, authorComponent, backSprite); - AtlasGenerator.MAGIC_PAINTING_HELPER.put(key.location(), variant); - LangGenerator.MAGIC_PAINTING_HELPER.put(key.location(), Pair.of(title, author)); + MAGIC_PAINTING_ATLAS_HELPER.put(key.location(), variant); + MAGIC_PAINTING_LANG_HELPER.put(key.location(), Pair.of(title, author)); context.register(key, variant); } } diff --git a/src/main/java/twilightforest/init/custom/StructureSpeleothemConfigs.java b/src/main/java/twilightforest/init/custom/StructureSpeleothemConfigs.java index 58dbe0bd23..2c9bd4a551 100644 --- a/src/main/java/twilightforest/init/custom/StructureSpeleothemConfigs.java +++ b/src/main/java/twilightforest/init/custom/StructureSpeleothemConfigs.java @@ -10,7 +10,7 @@ import twilightforest.TFRegistries; import twilightforest.init.TFStructures; import twilightforest.util.iterators.RectangleLatticeIterator; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; public class StructureSpeleothemConfigs { public static final RegistryFileCodec CODEC = RegistryFileCodec.create(TFRegistries.Keys.STRUCTURE_SPELEOTHEM_SETTINGS, StructureSpeleothemConfig.CODEC, false); diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index 685d615db9..f0252405e8 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.config.TFConfig; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFMenuTypes; import twilightforest.inventory.slot.AssemblySlot; @@ -135,7 +135,7 @@ public void slotsChanged(Container inventory) { int size = recipes.length; - if (size > 0 && !inputStack.is(ItemTagGenerator.BANNED_UNCRAFTABLES)) { + if (size > 0 && !inputStack.is(TFItemTags.BANNED_UNCRAFTABLES)) { CraftingRecipe recipe = recipes[Math.floorMod(this.unrecipeInCycle, size)]; this.storedGhostRecipe = recipe; @@ -516,7 +516,7 @@ private Container getSlotContainer(int slotNum) { * Should the specified item count for taking damage? */ public static boolean isDamageableComponent(ItemStack stack) { - return !stack.isEmpty() && !stack.is(ItemTagGenerator.UNCRAFTING_IGNORES_COST); + return !stack.isEmpty() && !stack.is(TFItemTags.UNCRAFTING_IGNORES_COST); } /** @@ -608,7 +608,7 @@ private ItemStack[] getIngredients(CraftingRecipe recipe) { ItemStack[] stacks = new ItemStack[recipe.display().size()]; for (int i = 0; i < recipe.display().size(); i++) { - ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).getValues().stream().filter(s -> !s.is(ItemTagGenerator.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); + ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).getValues().stream().filter(s -> !s.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); stacks[i] = matchingStacks.length > 0 ? matchingStacks[Math.floorMod(this.ingredientsInCycle, matchingStacks.length)] : ItemStack.EMPTY; } diff --git a/src/main/java/twilightforest/item/ChainBlockItem.java b/src/main/java/twilightforest/item/ChainBlockItem.java index 551a37451f..eb39fa710a 100644 --- a/src/main/java/twilightforest/item/ChainBlockItem.java +++ b/src/main/java/twilightforest/item/ChainBlockItem.java @@ -12,7 +12,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.server.ServerLifecycleHooks; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.entity.projectile.ChainBlock; import twilightforest.init.TFDataComponents; import twilightforest.init.TFEnchantments; @@ -81,7 +81,7 @@ public ItemUseAnimation getUseAnimation(ItemStack stack) { @Override public boolean isCorrectToolForDrops(ItemStack stack, BlockState state) { //dont try to check harvest level if we arent thrown - if (stack.get(TFDataComponents.THROWN_PROJECTILE) == null || !state.is(BlockTagGenerator.MINEABLE_WITH_BLOCK_AND_CHAIN)) return false; + if (stack.get(TFDataComponents.THROWN_PROJECTILE) == null || !state.is(TFBlockTags.MINEABLE_WITH_BLOCK_AND_CHAIN)) return false; MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); if (server != null) { int destruction = stack.getEnchantmentLevel(server.registryAccess().holderOrThrow(TFEnchantments.DESTRUCTION)); diff --git a/src/main/java/twilightforest/item/EmptyMagicMapItem.java b/src/main/java/twilightforest/item/EmptyMagicMapItem.java index 4cf67f5de3..313975b962 100644 --- a/src/main/java/twilightforest/item/EmptyMagicMapItem.java +++ b/src/main/java/twilightforest/item/EmptyMagicMapItem.java @@ -10,7 +10,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import twilightforest.data.tags.CustomTagGenerator; +import twilightforest.tags.TFDimensionTypeTags; public class EmptyMagicMapItem extends Item { public EmptyMagicMapItem(Properties properties) { @@ -25,7 +25,7 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { return InteractionResult.SUCCESS; //TF - only allow magic maps to be created in allowed dimensions (controlled via tag) - if (!level.dimensionTypeRegistration().is(CustomTagGenerator.DimensionTypeTagGenerator.ALLOWS_MAGIC_MAP_CHARTING)) { + if (!level.dimensionTypeRegistration().is(TFDimensionTypeTags.ALLOWS_MAGIC_MAP_CHARTING)) { player.displayClientMessage(Component.translatable("misc.twilightforest.magic_map_fail"), true); return InteractionResult.FAIL; } diff --git a/src/main/java/twilightforest/item/LifedrainScepterItem.java b/src/main/java/twilightforest/item/LifedrainScepterItem.java index 6c03d6e87b..d4deb7982b 100644 --- a/src/main/java/twilightforest/item/LifedrainScepterItem.java +++ b/src/main/java/twilightforest/item/LifedrainScepterItem.java @@ -30,7 +30,7 @@ import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.network.PacketDistributor; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.EntityTagGenerator; +import twilightforest.tags.TFEntityTypeTags; import twilightforest.enchantment.RechargeScepterEffect; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFEnchantments; @@ -162,7 +162,7 @@ public void onUseTick(Level level, LivingEntity living, ItemStack stack, int cou if (level instanceof ServerLevel serverLevel && target.hurtServer(serverLevel, damageSource, 1)) { // make it explode if (target.getHealth() <= 1 && !target.getType().is(Tags.EntityTypes.BOSSES)) { - if (!target.getType().is(EntityTagGenerator.LIFEDRAIN_DROPS_NO_FLESH) && living instanceof Player player) { + if (!target.getType().is(TFEntityTypeTags.LIFEDRAIN_DROPS_NO_FLESH) && living instanceof Player player) { LootParams ctx = new LootParams.Builder(serverLevel) .withParameter(LootContextParams.THIS_ENTITY, target) .withParameter(LootContextParams.ORIGIN, target.getEyePosition()) diff --git a/src/main/java/twilightforest/item/MagicMapItem.java b/src/main/java/twilightforest/item/MagicMapItem.java index 74a30de357..d513cf712a 100644 --- a/src/main/java/twilightforest/item/MagicMapItem.java +++ b/src/main/java/twilightforest/item/MagicMapItem.java @@ -22,7 +22,7 @@ import net.minecraft.world.level.material.MapColor; import net.minecraft.world.level.saveddata.maps.*; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.StructureTagGenerator; +import twilightforest.tags.TFStructureTags; import twilightforest.init.TFBiomes; import twilightforest.init.TFDataMaps; import twilightforest.init.TFItems; @@ -161,7 +161,7 @@ public void update(Level level, Entity viewer, MapItemSavedData data) { if (LegacyLandmarkPlacements.blockIsInLandmarkCenter(worldX, worldZ)) { ResourceKey structureKey = LegacyLandmarkPlacements.pickLandmarkAtBlock(worldX, worldZ, level); // Filters by structures we want to give icons for - if (structureRegistry.get(structureKey).map(structureRef -> structureRef.is(StructureTagGenerator.LANDMARK)).orElse(false)) { + if (structureRegistry.get(structureKey).map(structureRef -> structureRef.is(TFStructureTags.LANDMARK)).orElse(false)) { TFMagicMapData tfData = (TFMagicMapData) data; if (structureRegistry.getValueOrThrow(structureKey) instanceof LandmarkStructure landmark) { landmark.getMapIcon().ifPresent(icon -> tfData.addTFDecoration(icon, level, makeName(icon, worldX, worldZ), worldX, worldZ, 180.0F, LandmarkUtil.isConquered(level, worldX, worldZ))); diff --git a/src/main/java/twilightforest/item/MazebreakerPickItem.java b/src/main/java/twilightforest/item/MazebreakerPickItem.java index d15e2a4a31..94d0c2522d 100644 --- a/src/main/java/twilightforest/item/MazebreakerPickItem.java +++ b/src/main/java/twilightforest/item/MazebreakerPickItem.java @@ -4,7 +4,7 @@ import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.level.block.state.BlockState; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import javax.annotation.Nonnull; @@ -16,6 +16,6 @@ public MazebreakerPickItem(ToolMaterial material, Properties properties) { @Override public float getDestroySpeed(@Nonnull ItemStack stack, BlockState state) { float destroySpeed = super.getDestroySpeed(stack, state); - return state.is(BlockTagGenerator.MAZEBREAKER_ACCELERATED) ? destroySpeed * 16.0F : destroySpeed; + return state.is(TFBlockTags.MAZEBREAKER_ACCELERATED) ? destroySpeed * 16.0F : destroySpeed; } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/OreMagnetItem.java b/src/main/java/twilightforest/item/OreMagnetItem.java index a607449f4b..c89cf073b2 100644 --- a/src/main/java/twilightforest/item/OreMagnetItem.java +++ b/src/main/java/twilightforest/item/OreMagnetItem.java @@ -28,7 +28,7 @@ import net.neoforged.neoforge.event.TagsUpdatedEvent; import net.neoforged.neoforge.network.PacketDistributor; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFParticleType; import twilightforest.init.TFSounds; import twilightforest.network.ParticlePacket; @@ -214,7 +214,7 @@ private Vec3 getOffsetLook(LivingEntity living, float yawOffset, float pitchOffs @Deprecated private static boolean isReplaceable(BlockState state) { - return state.is(BlockTagGenerator.ORE_MAGNET_SAFE_REPLACE_BLOCK); + return state.is(TFBlockTags.ORE_MAGNET_SAFE_REPLACE_BLOCK); } private static boolean findVein(Level level, BlockPos here, BlockState oreState, Set veinBlocks) { @@ -268,10 +268,10 @@ public static void onTagsUpdatedEvent(TagsUpdatedEvent event) { BuiltInRegistries.BLOCK.get(TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath("c", "ore_bearing_ground/" + oreground))).get().forEach(ground -> tag.forEach(ore -> { //exclude ignored ores - if (!ore.value().defaultBlockState().is(BlockTagGenerator.ORE_MAGNET_IGNORE)) { + if (!ore.value().defaultBlockState().is(TFBlockTags.ORE_MAGNET_IGNORE)) { MAGNET_ORE_TO_BLOCK_REPLACEMENTS.put(ore.value(), ground.value()); } - if (!ore.value().defaultBlockState().is(BlockTagGenerator.MINING_CORE_EXCLUDED)) { + if (!ore.value().defaultBlockState().is(TFBlockTags.MINING_CORE_EXCLUDED)) { TREE_ORE_TO_BLOCK_REPLACEMENTS.put(ore.value(), ground.value()); } })); @@ -281,11 +281,11 @@ public static void onTagsUpdatedEvent(TagsUpdatedEvent event) { //Gonna need to special case this one as it isn't covered by tags. //Ancient debris isn't exactly an ore, so it makes sense that the tag doesn't include it - if (!Blocks.ANCIENT_DEBRIS.defaultBlockState().is(BlockTagGenerator.ORE_MAGNET_IGNORE) && !MAGNET_ORE_TO_BLOCK_REPLACEMENTS.containsKey(Blocks.ANCIENT_DEBRIS)) { + if (!Blocks.ANCIENT_DEBRIS.defaultBlockState().is(TFBlockTags.ORE_MAGNET_IGNORE) && !MAGNET_ORE_TO_BLOCK_REPLACEMENTS.containsKey(Blocks.ANCIENT_DEBRIS)) { MAGNET_ORE_TO_BLOCK_REPLACEMENTS.put(Blocks.ANCIENT_DEBRIS, Blocks.NETHERRACK); } - if (!Blocks.ANCIENT_DEBRIS.defaultBlockState().is(BlockTagGenerator.MINING_CORE_EXCLUDED) && !TREE_ORE_TO_BLOCK_REPLACEMENTS.containsKey(Blocks.ANCIENT_DEBRIS)) { + if (!Blocks.ANCIENT_DEBRIS.defaultBlockState().is(TFBlockTags.MINING_CORE_EXCLUDED) && !TREE_ORE_TO_BLOCK_REPLACEMENTS.containsKey(Blocks.ANCIENT_DEBRIS)) { TREE_ORE_TO_BLOCK_REPLACEMENTS.put(Blocks.ANCIENT_DEBRIS, Blocks.NETHERRACK); } } diff --git a/src/main/java/twilightforest/item/OreMeterItem.java b/src/main/java/twilightforest/item/OreMeterItem.java index e575cc5bed..52c0a59b5e 100644 --- a/src/main/java/twilightforest/item/OreMeterItem.java +++ b/src/main/java/twilightforest/item/OreMeterItem.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; import twilightforest.components.item.OreScannerComponent; import twilightforest.components.item.OreScannerData; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFDataComponents; import twilightforest.init.TFSounds; @@ -124,7 +124,7 @@ public InteractionResult useOn(UseOnContext context) { //if we're crouching and targeting a block, attempt to save the block as the focused block if (context.isSecondaryUseActive()) { BlockState state = context.getLevel().getBlockState(context.getClickedPos()); - if (state.is(BlockTagGenerator.ORE_METER_TARGETABLE)) { + if (state.is(TFBlockTags.ORE_METER_TARGETABLE)) { stack.set(TFDataComponents.ORE_FILTER, state.getBlock()); context.getPlayer().displayClientMessage(Component.translatable("misc.twilightforest.ore_meter_set_block", Component.translatable(state.getBlock().getDescriptionId())), true); context.getLevel().playSound(context.getPlayer(), context.getPlayer().blockPosition(), TFSounds.ORE_METER_TARGET_BLOCK.get(), SoundSource.PLAYERS, 0.5F, context.getLevel().getRandom().nextFloat() * 0.1F + 0.9F); diff --git a/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java b/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java index 7e688a6d4b..a6b333ec6d 100644 --- a/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java +++ b/src/main/java/twilightforest/item/recipe/EssenceRepairRecipe.java @@ -7,8 +7,7 @@ import net.minecraft.world.item.crafting.CustomRecipe; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.Level; -import twilightforest.data.tags.ItemTagGenerator; -import twilightforest.init.TFDataComponents; +import twilightforest.tags.TFItemTags; import twilightforest.init.TFItems; import twilightforest.init.TFRecipes; @@ -26,7 +25,7 @@ public boolean matches(CraftingInput input, Level level) { for (int i = 0; i < input.size(); ++i) { ItemStack stackInQuestion = input.getItem(i); if (!stackInQuestion.isEmpty()) { - if (stackInQuestion.is(ItemTagGenerator.SCEPTERS) && stackInQuestion.isDamaged()) { + if (stackInQuestion.is(TFItemTags.SCEPTERS) && stackInQuestion.isDamaged()) { if (scepter) return false; scepter = true; } else if (stackInQuestion.is(TFItems.EXANIMATE_ESSENCE.get())) { @@ -46,7 +45,7 @@ public ItemStack assemble(CraftingInput input, HolderLookup.Provider access) { for (int i = 0; i < input.size(); ++i) { ItemStack itemstack = input.getItem(i); if (!itemstack.isEmpty()) { - if (itemstack.is(ItemTagGenerator.SCEPTERS)) { + if (itemstack.is(TFItemTags.SCEPTERS)) { if (scepter == null) { scepter = itemstack; } else { diff --git a/src/main/java/twilightforest/tags/TFBannerPatternTags.java b/src/main/java/twilightforest/tags/TFBannerPatternTags.java new file mode 100644 index 0000000000..b53f6ed345 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFBannerPatternTags.java @@ -0,0 +1,23 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.entity.BannerPattern; +import twilightforest.TwilightForestMod; + +public class TFBannerPatternTags { + + public static final TagKey NAGA_BANNER_PATTERN = create("pattern_item/naga"); + public static final TagKey LICH_BANNER_PATTERN = create("pattern_item/lich"); + public static final TagKey MINOSHROOM_BANNER_PATTERN = create("pattern_item/minoshroom"); + public static final TagKey HYDRA_BANNER_PATTERN = create("pattern_item/hydra"); + public static final TagKey KNIGHT_PHANTOM_BANNER_PATTERN = create("pattern_item/knight_phantom"); + public static final TagKey UR_GHAST_BANNER_PATTERN = create("pattern_item/ur_ghast"); + public static final TagKey ALPHA_YETI_BANNER_PATTERN = create("pattern_item/alpha_yeti"); + public static final TagKey SNOW_QUEEN_BANNER_PATTERN = create("pattern_item/snow_queen"); + public static final TagKey QUESTING_RAM_BANNER_PATTERN = create("pattern_item/questing_ram"); + + private static TagKey create(String name) { + return TagKey.create(Registries.BANNER_PATTERN, TwilightForestMod.prefix(name)); + } +} diff --git a/src/main/java/twilightforest/tags/TFBiomeTags.java b/src/main/java/twilightforest/tags/TFBiomeTags.java new file mode 100644 index 0000000000..4a1f87fb89 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFBiomeTags.java @@ -0,0 +1,34 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.biome.Biome; +import twilightforest.TwilightForestMod; + +public class TFBiomeTags { + + public static final TagKey IS_TWILIGHT = create("in_twilight_forest"); + + public static final TagKey VALID_QUEST_GROVE_BIOMES = create("valid_quest_grove_biomes"); + + public static final TagKey VALID_HOLLOW_TREE_BIOMES = create("valid_hollow_tree_biomes"); + public static final TagKey VALID_HEDGE_MAZE_BIOMES = create("valid_hedge_maze_biomes"); + public static final TagKey VALID_HOLLOW_HILL_BIOMES = create("valid_hollow_hill_biomes"); + public static final TagKey VALID_MUSHROOM_TOWER_BIOMES = create("valid_mushroom_tower_biomes"); + + public static final TagKey VALID_NAGA_COURTYARD_BIOMES = create("valid_naga_courtyard_biomes"); + public static final TagKey VALID_LICH_TOWER_BIOMES = create("valid_lich_tower_biomes"); + public static final TagKey VALID_LABYRINTH_BIOMES = create("valid_labyrinth_biomes"); + public static final TagKey VALID_HYDRA_LAIR_BIOMES = create("valid_hydra_lair_biomes"); + public static final TagKey VALID_KNIGHT_STRONGHOLD_BIOMES = create("valid_knight_stronghold_biomes"); + public static final TagKey VALID_DARK_TOWER_BIOMES = create("valid_dark_tower_biomes"); + public static final TagKey VALID_YETI_CAVE_BIOMES = create("valid_yeti_cave_biomes"); + public static final TagKey VALID_AURORA_PALACE_BIOMES = create("valid_aurora_palace_biomes"); + public static final TagKey VALID_TROLL_CAVE_BIOMES = create("valid_troll_cave_biomes"); + public static final TagKey VALID_GIANT_HOUSE_BIOMES = create("valid_giant_house_biomes"); + public static final TagKey VALID_FINAL_CASTLE_BIOMES = create("valid_final_castle_biomes"); + + private static TagKey create(String tagName) { + return TagKey.create(Registries.BIOME, TwilightForestMod.prefix(tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFBlockEntityTypeTags.java b/src/main/java/twilightforest/tags/TFBlockEntityTypeTags.java new file mode 100644 index 0000000000..8eaaf9b45a --- /dev/null +++ b/src/main/java/twilightforest/tags/TFBlockEntityTypeTags.java @@ -0,0 +1,16 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.entity.BlockEntityType; + +public class TFBlockEntityTypeTags { + + public static final TagKey> RELOCATION_NOT_SUPPORTED = create("c", "relocation_not_supported"); + public static final TagKey> IMMOVABLE = create("c", "immovable"); + + private static TagKey> create(String modid, String tagName) { + return TagKey.create(Registries.BLOCK_ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath(modid, tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFBlockTags.java b/src/main/java/twilightforest/tags/TFBlockTags.java new file mode 100644 index 0000000000..c0949f568c --- /dev/null +++ b/src/main/java/twilightforest/tags/TFBlockTags.java @@ -0,0 +1,115 @@ +package twilightforest.tags; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import twilightforest.TwilightForestMod; + +public class TFBlockTags { + + public static final TagKey MAZESTONE = create("mazestone"); + public static final TagKey TOWERWOOD = create("towerwood"); + public static final TagKey CLOUDS = create("clouds"); + public static final TagKey DEADROCK = create("deadrock"); + public static final TagKey CASTLE_BLOCKS = create("castle_blocks"); + + public static final TagKey TF_LOGS = create("logs"); + public static final TagKey TWILIGHT_OAK_LOGS = create("twilight_oak_logs"); + public static final TagKey CANOPY_LOGS = create("canopy_logs"); + public static final TagKey MANGROVE_LOGS = create("mangrove_logs"); + public static final TagKey DARKWOOD_LOGS = create("darkwood_logs"); + public static final TagKey TIME_LOGS = create("timewood_logs"); + public static final TagKey TRANSFORMATION_LOGS = create("transwood_logs"); + public static final TagKey MINING_LOGS = create("mining_logs"); + public static final TagKey SORTING_LOGS = create("sortwood_logs"); + + public static final TagKey HOLLOW_LOGS = create("hollow_logs"); + public static final TagKey HOLLOW_LOGS_HORIZONTAL = create("hollow_logs_horizontal"); + public static final TagKey HOLLOW_LOGS_VERTICAL = create("hollow_logs_vertical"); + public static final TagKey HOLLOW_LOGS_CLIMBABLE = create("hollow_logs_climbable"); + + public static final TagKey BANISTERS = create("banisters"); + public static final TagKey TF_CHESTS = create("chests"); + + public static final TagKey PORTAL_EDGE = create("portal/edge"); + public static final TagKey PORTAL_POOL = create("portal/fluid"); + public static final TagKey PORTAL_DECO = create("portal/decoration"); + public static final TagKey GENERATED_PORTAL_DECO = create("portal/generated_decoration"); + + public static final TagKey DARK_TOWER_ALLOWED_POTS = create("dark_tower_allowed_pots"); + public static final TagKey TROPHIES = create("trophies"); + public static final TagKey FIRE_JET_FUEL = create("fire_jet_fuel"); + public static final TagKey ICE_BOMB_REPLACEABLES = create("ice_bomb_replaceables"); + public static final TagKey MAZEBREAKER_ACCELERATED = create("mazebreaker_accelerated_mining"); + + public static final TagKey COMMON_PROTECTIONS = create("common_protections"); + public static final TagKey ANNIHILATION_INCLUSIONS = create("annihilation_inclusions"); + public static final TagKey ANTIBUILDER_IGNORES = create("antibuilder_ignores"); + public static final TagKey CARMINITE_REACTOR_IMMUNE = create("carminite_reactor_immune"); + public static final TagKey CARMINITE_REACTOR_ORES = create("carminite_reactor_ores"); + public static final TagKey STRUCTURE_BANNED_INTERACTIONS = create("structure_banned_interactions"); + public static final TagKey PROGRESSION_ALLOW_BREAKING = create("progression_allow_breaking"); + public static final TagKey CANNOT_TROLL_CAVE_HOLLOW = create("cannot_troll_cave_hollow"); + + public static final TagKey WORLDGEN_REPLACEABLES = create("worldgen_replaceables"); + public static final TagKey ROOT_TRACE_SKIP = create("tree_roots_skip"); + public static final TagKey SUPPORTS_STALAGMITES = create("supports_stalagmites"); + public static final TagKey CARVER_REPLACEABLES = create("carver_replaceables"); + public static final TagKey PLANTS_HANG_ON = create("plants_hang_on"); + + public static final TagKey ORE_MAGNET_SAFE_REPLACE_BLOCK = create("ore_magnet/ore_safe_replace_block"); + public static final TagKey ORE_MAGNET_IGNORE = create("ore_magnet/ignored_ores"); + + public static final TagKey ROOT_GROUND = makeCommonTag("ore_bearing_ground/root"); + public static final TagKey ROOT_ORES = makeCommonTag("ores_in_ground/root"); + + public static final TagKey TIME_CORE_EXCLUDED = create("time_core_excluded"); + public static final TagKey MINING_CORE_EXCLUDED = create("mining_tree_excluded"); + public static final TagKey ORE_METER_TARGETABLE = create("ore_meter_targetable"); + + public static final TagKey PENGUINS_SPAWNABLE_ON = create("penguins_spawnable_on"); + public static final TagKey GIANTS_SPAWNABLE_ON = create("giants_spawnable_on"); + public static final TagKey DRUID_PROJECTILE_REPLACEABLE = create("druid_projectile_replaceable"); + + public static final TagKey STORAGE_BLOCKS_ARCTIC_FUR = makeCommonTag("storage_blocks/arctic_fur"); + public static final TagKey STORAGE_BLOCKS_CARMINITE = makeCommonTag("storage_blocks/carminite"); + public static final TagKey STORAGE_BLOCKS_FIERY = makeCommonTag("storage_blocks/fiery"); + public static final TagKey STORAGE_BLOCKS_IRONWOOD = makeCommonTag("storage_blocks/ironwood"); + public static final TagKey STORAGE_BLOCKS_KNIGHTMETAL = makeCommonTag("storage_blocks/knightmetal"); + public static final TagKey STORAGE_BLOCKS_STEELEAF = makeCommonTag("storage_blocks/steeleaf"); + + public static final TagKey INCORRECT_FOR_IRONWOOD_TOOL = create("incorrect_for_ironwood_tool"); + public static final TagKey INCORRECT_FOR_FIERY_TOOL = create("incorrect_for_fiery_tool"); + public static final TagKey INCORRECT_FOR_STEELEAF_TOOL = create("incorrect_for_steeleaf_tool"); + public static final TagKey INCORRECT_FOR_KNIGHTMETAL_TOOL = create("incorrect_for_knightmetal_tool"); + public static final TagKey INCORRECT_FOR_GIANT_TOOL = create("incorrect_for_giant_tool"); + public static final TagKey INCORRECT_FOR_ICE_TOOL = create("incorrect_for_ice_tool"); + public static final TagKey INCORRECT_FOR_GLASS_TOOL = create("incorrect_for_glass_tool"); + + public static final TagKey MINEABLE_WITH_BLOCK_AND_CHAIN = create("mineable_with_block_and_chain"); + public static final TagKey BLOCK_AND_CHAIN_NEVER_BREAKS = create("block_and_chain_never_breaks"); + + public static final TagKey SMALL_LAKES_DONT_REPLACE = create("small_lakes_dont_replace"); + + public static final TagKey AC_FERROMAGNETIC_BLOCKS = create("alexscaves", "ferromagnetic_blocks"); + public static final TagKey AC_GLOOMOTH_LIGHT_SOURCES = create("alexscaves", "gloomoth_light_sources"); + public static final TagKey AC_UNDERZEALOT_LIGHT_SOURCES = create("alexscaves", "underzealot_light_sources"); + + public static final TagKey ARTIFACTS_CAMPSITE_CHESTS = create("artifacts", "campsite_chests"); + + public static final TagKey FD_COMPOST_ACTIVATORS = create("farmersdelight", "compost_activators"); + public static final TagKey FD_HEAT_SOURCES = create("farmersdelight", "heat_sources"); + + private static TagKey create(String tagName) { + return BlockTags.create(TwilightForestMod.prefix(tagName)); + } + + public static TagKey makeCommonTag(String tagName) { + return create("c", tagName); + } + + private static TagKey create(String modid, String tagName) { + return BlockTags.create(ResourceLocation.fromNamespaceAndPath(modid, tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFDamageTypeTags.java b/src/main/java/twilightforest/tags/TFDamageTypeTags.java new file mode 100644 index 0000000000..421432d740 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFDamageTypeTags.java @@ -0,0 +1,15 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.damagesource.DamageType; +import twilightforest.TwilightForestMod; + +public class TFDamageTypeTags { + + public static final TagKey BREAKS_LICH_SHIELDS = create("breaks_lich_shields"); + + private static TagKey create(String name) { + return TagKey.create(Registries.DAMAGE_TYPE, TwilightForestMod.prefix(name)); + } +} diff --git a/src/main/java/twilightforest/tags/TFDimensionTypeTags.java b/src/main/java/twilightforest/tags/TFDimensionTypeTags.java new file mode 100644 index 0000000000..d87f8b2a86 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFDimensionTypeTags.java @@ -0,0 +1,15 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.dimension.DimensionType; +import twilightforest.TwilightForestMod; + +public class TFDimensionTypeTags { + + public static final TagKey ALLOWS_MAGIC_MAP_CHARTING = create("allows_magic_map_charting"); + + private static TagKey create(String tagName) { + return TagKey.create(Registries.DIMENSION_TYPE, TwilightForestMod.prefix(tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFEntityTypeTags.java b/src/main/java/twilightforest/tags/TFEntityTypeTags.java new file mode 100644 index 0000000000..a291d3ffb2 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFEntityTypeTags.java @@ -0,0 +1,41 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.EntityType; +import twilightforest.TwilightForestMod; + +public class TFEntityTypeTags { + + public static final TagKey> BOSSES = create("bosses"); + public static final TagKey> LICH_POPPABLES = create("lich_poppables"); + public static final TagKey> LIFEDRAIN_DROPS_NO_FLESH = create("lifedrain_drops_no_flesh"); + public static final TagKey> RIDES_OBSTRUCT_SNATCHING = create("rides_obstruct_snatching"); + public static final TagKey> DONT_KILL_BUGS = create("dont_kill_bugs"); + public static final TagKey> SORTABLE_ENTITIES = create("sortable_entities"); + public static final TagKey> MULTIPLAYER_INCLUSIVE_ENTITIES = create("multiplayer_inclusive_entities"); + public static final TagKey> LICH_DEFLECTS_PHASE_2 = create("lich_deflects_phase_2"); + + public static final TagKey> AC_RESISTS_ACID = create("alexscaves", "resists_acid"); + public static final TagKey> AC_RESISTS_MAGNETS = create("alexscaves", "resists_magnets"); + public static final TagKey> AC_RESISTS_TREMORSAURUS_ROAR = create("alexscaves", "resists_tremorsaurus_roar"); + + public static final TagKey> AETHER_DEFLECTABLE_PROJECTILES = create("aether", "deflectable_projectiles"); + public static final TagKey> AETHER_FIRE_MOB = create("aether", "fire_mob"); + public static final TagKey> AETHER_PIGS = create("aether", "pigs"); + + public static final TagKey> AN_JAR_BLACKLIST = create("ars_nouveau", "jar_blacklist"); + public static final TagKey> AN_JAR_RELEASE_BLACKLIST = create("ars_nouveau", "jar_release_blacklist"); + + public static final TagKey> IE_SHADER_BLACKLIST = create("immersiveengineering", "shaderbag/blacklist"); + + private static TagKey> create(String tagName) { + return TagKey.create(Registries.ENTITY_TYPE, TwilightForestMod.prefix(tagName)); + } + + + private static TagKey> create(String modid, String tagName) { + return TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath(modid, tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFItemTags.java b/src/main/java/twilightforest/tags/TFItemTags.java new file mode 100644 index 0000000000..9eecf100bb --- /dev/null +++ b/src/main/java/twilightforest/tags/TFItemTags.java @@ -0,0 +1,112 @@ +package twilightforest.tags; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import twilightforest.TwilightForestMod; + +public class TFItemTags { + + public static final TagKey TWILIGHT_OAK_LOGS = create("twilight_oak_logs"); + public static final TagKey CANOPY_LOGS = create("canopy_logs"); + public static final TagKey MANGROVE_LOGS = create("mangrove_logs"); + public static final TagKey DARKWOOD_LOGS = create("darkwood_logs"); + public static final TagKey TIME_LOGS = create("timewood_logs"); + public static final TagKey TRANSFORMATION_LOGS = create("transwood_logs"); + public static final TagKey MINING_LOGS = create("mining_logs"); + public static final TagKey SORTING_LOGS = create("sortwood_logs"); + public static final TagKey TWILIGHT_LOGS = create("logs"); + + public static final TagKey BANISTERS = create("banisters"); + + public static final TagKey PAPER = makeCommonTag("paper"); + + public static final TagKey TOWERWOOD = create("towerwood"); + + public static final TagKey FIERY_VIAL = create("fiery_vial"); + + public static final TagKey ARCTIC_FUR = create("arctic_fur"); + public static final TagKey CARMINITE_GEMS = makeCommonTag("gems/carminite"); + public static final TagKey FIERY_INGOTS = makeCommonTag("ingots/fiery"); + public static final TagKey IRONWOOD_INGOTS = makeCommonTag("ingots/ironwood"); + public static final TagKey KNIGHTMETAL_INGOTS = makeCommonTag("ingots/knightmetal"); + public static final TagKey STEELEAF_INGOTS = makeCommonTag("ingots/steeleaf"); + public static final TagKey WROUGHT_IRON_INGOTS = makeCommonTag("ingots/wrought_iron"); + + public static final TagKey STORAGE_BLOCKS_ARCTIC_FUR = makeCommonTag("storage_blocks/arctic_fur"); + public static final TagKey STORAGE_BLOCKS_CARMINITE = makeCommonTag("storage_blocks/carminite"); + public static final TagKey STORAGE_BLOCKS_FIERY = makeCommonTag("storage_blocks/fiery"); + public static final TagKey STORAGE_BLOCKS_IRONWOOD = makeCommonTag("storage_blocks/ironwood"); + public static final TagKey STORAGE_BLOCKS_KNIGHTMETAL = makeCommonTag("storage_blocks/knightmetal"); + public static final TagKey STORAGE_BLOCKS_STEELEAF = makeCommonTag("storage_blocks/steeleaf"); + + public static final TagKey RAW_MATERIALS_IRONWOOD = makeCommonTag("raw_materials/ironwood"); + public static final TagKey RAW_MATERIALS_KNIGHTMETAL = makeCommonTag("raw_materials/knightmetal"); + + public static final TagKey PORTAL_ACTIVATOR = create("portal/activator"); + + public static final TagKey WIP = create("wip"); + + public static final TagKey KOBOLD_PACIFICATION_BREADS = create("kobold_pacification_breads"); + public static final TagKey BOAR_TEMPT_ITEMS = create("boar_tempt_items"); + public static final TagKey DEER_TEMPT_ITEMS = create("deer_tempt_items"); + public static final TagKey DWARF_RABBIT_TEMPT_ITEMS = create("dwarf_rabbit_tempt_items"); + public static final TagKey PENGUIN_TEMPT_ITEMS = create("penguin_tempt_items"); + public static final TagKey RAVEN_TEMPT_ITEMS = create("raven_tempt_items"); + public static final TagKey SQUIRREL_TEMPT_ITEMS = create("squirrel_tempt_items"); + public static final TagKey TINY_BIRD_TEMPT_ITEMS = create("tiny_bird_tempt_items"); + + public static final TagKey BANNED_UNCRAFTING_INGREDIENTS = create("banned_uncrafting_ingredients"); + public static final TagKey BANNED_UNCRAFTABLES = create("banned_uncraftables"); + public static final TagKey UNCRAFTING_IGNORES_COST = create("uncrafting_ignores_cost"); + + public static final TagKey KEPT_ON_DEATH = create("kept_on_death"); + public static final TagKey BLOCK_AND_CHAIN_ENCHANTABLE = create("enchantable/block_and_chain"); + + public static final TagKey REPAIRS_IRONWOOD_TOOLS = create("repairs_ironwood_tools"); + public static final TagKey REPAIRS_STEELEAF_TOOLS = create("repairs_steeleaf_tools"); + public static final TagKey REPAIRS_KNIGHTMETAL_TOOLS = create("repairs_knightmetal_tools"); + public static final TagKey REPAIRS_FIERY_TOOLS = create("repairs_fiery_tools"); + public static final TagKey REPAIRS_GIANT_TOOLS = create("repairs_giant_tools"); + public static final TagKey REPAIRS_ICE_TOOLS = create("repairs_ice_tools"); + public static final TagKey REPAIRS_GLASS_TOOLS = create("repairs_glass_tools"); + + public static final TagKey REPAIRS_IRONWOOD_ARMOR = create("repairs_ironwood_armor"); + public static final TagKey REPAIRS_STEELEAF_ARMOR = create("repairs_steeleaf_armor"); + public static final TagKey REPAIRS_NAGA_ARMOR = create("repairs_naga_armor"); + public static final TagKey REPAIRS_FIERY_ARMOR = create("repairs_fiery_armor"); + public static final TagKey REPAIRS_KNIGHTMETAL_ARMOR = create("repairs_knightmetal_armor"); + public static final TagKey REPAIRS_PHANTOM_ARMOR = create("repairs_phantom_armor"); + public static final TagKey REPAIRS_ARCTIC_ARMOR = create("repairs_arctic_armor"); + public static final TagKey REPAIRS_YETI_ARMOR = create("repairs_yeti_armor"); + + public static final TagKey SCEPTERS = create("scepters"); + public static final TagKey IMMUNE_TO_THORNS = create("immune_to_thorns"); + + public static final TagKey AC_FERNS = create("alexscaves", "ferns"); + public static final TagKey AC_FERROMAGNETIC_ITEMS = create("alexscaves", "ferromagnetic_items"); + public static final TagKey AC_RAW_MEATS = create("alexscaves", "raw_meats"); + + public static final TagKey CURIOS_CHARM = create("curios", "charm"); + public static final TagKey CURIOS_HEAD = create("curios", "head"); + + public static final TagKey CA_PLANTS = create("createaddition", "plants"); + public static final TagKey CA_PLANT_FOODS = create("createaddition", "plant_foods"); + + public static final TagKey FD_CABBAGE_ROLL_INGREDIENTS = create("farmersdelight", "cabbage_roll_ingredients"); + + public static final TagKey RANDOMIUM_BLACKLIST = create("randomium", "blacklist"); + + private static TagKey create(String tagName) { + return ItemTags.create(TwilightForestMod.prefix(tagName)); + } + + public static TagKey makeCommonTag(String tagName) { + return create("c", tagName); + } + + private static TagKey create(String modid, String tagName) { + return ItemTags.create(ResourceLocation.fromNamespaceAndPath(modid, tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFPaintingVariantTags.java b/src/main/java/twilightforest/tags/TFPaintingVariantTags.java new file mode 100644 index 0000000000..5d0e866610 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFPaintingVariantTags.java @@ -0,0 +1,16 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.decoration.PaintingVariant; +import twilightforest.TwilightForestMod; + +public class TFPaintingVariantTags { + + public static final TagKey LICH_TOWER_PAINTINGS = create("tower_paintings"); + public static final TagKey LICH_BOSS_PAINTINGS = create("tower_boss_paintings"); + + private static TagKey create(String tagName) { + return TagKey.create(Registries.PAINTING_VARIANT, TwilightForestMod.prefix(tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFStructureTags.java b/src/main/java/twilightforest/tags/TFStructureTags.java new file mode 100644 index 0000000000..66b34a19b8 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFStructureTags.java @@ -0,0 +1,16 @@ +package twilightforest.tags; + +import net.minecraft.core.registries.Registries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.levelgen.structure.Structure; +import twilightforest.TwilightForestMod; + +public class TFStructureTags { + + // Add structures to this tag to show on the Magic Map, detected by worldgen features avoiding landmarks and progression lock behavior + public static final TagKey LANDMARK = create("landmark"); + + private static TagKey create(String tagName) { + return TagKey.create(Registries.STRUCTURE, TwilightForestMod.prefix(tagName)); + } +} diff --git a/src/main/java/twilightforest/tags/TFWoodPaletteTags.java b/src/main/java/twilightforest/tags/TFWoodPaletteTags.java new file mode 100644 index 0000000000..c86ec4a076 --- /dev/null +++ b/src/main/java/twilightforest/tags/TFWoodPaletteTags.java @@ -0,0 +1,20 @@ +package twilightforest.tags; + +import net.minecraft.tags.TagKey; +import twilightforest.TFRegistries; +import twilightforest.TwilightForestMod; +import twilightforest.util.woods.WoodPalette; + +public class TFWoodPaletteTags { + + public static final TagKey WELL_SWIZZLE_MASK = create("well_swizzle_mask"); + public static final TagKey DRUID_HUT_SWIZZLE_MASK = create("druid_hut_swizzle_mask"); + public static final TagKey COMMON_PALETTES = create("common"); + public static final TagKey UNCOMMON_PALETTES = create("uncommon"); + public static final TagKey RARE_PALETTES = create("rare"); + public static final TagKey TREASURE_PALETTES = create("treasure"); + + private static TagKey create(String name) { + return TagKey.create(TFRegistries.Keys.WOOD_PALETTES, TwilightForestMod.prefix(name)); + } +} diff --git a/src/main/java/twilightforest/data/package-info.java b/src/main/java/twilightforest/tags/package-info.java similarity index 89% rename from src/main/java/twilightforest/data/package-info.java rename to src/main/java/twilightforest/tags/package-info.java index 16c943b731..cc9752169a 100644 --- a/src/main/java/twilightforest/data/package-info.java +++ b/src/main/java/twilightforest/tags/package-info.java @@ -1,7 +1,7 @@ @FieldsAreNonnullByDefault @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -package twilightforest.data; +package twilightforest.tags; import net.minecraft.FieldsAreNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/twilightforest/data/helpers/AdvancementDataMultiRequirements.java b/src/main/java/twilightforest/util/AdvancementDataMultiRequirements.java similarity index 97% rename from src/main/java/twilightforest/data/helpers/AdvancementDataMultiRequirements.java rename to src/main/java/twilightforest/util/AdvancementDataMultiRequirements.java index abd32d8e62..79dbf0f239 100644 --- a/src/main/java/twilightforest/data/helpers/AdvancementDataMultiRequirements.java +++ b/src/main/java/twilightforest/util/AdvancementDataMultiRequirements.java @@ -1,4 +1,4 @@ -package twilightforest.data.helpers; +package twilightforest.util; import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementRequirements; diff --git a/src/main/java/twilightforest/data/TFBlockFamilies.java b/src/main/java/twilightforest/util/TFBlockFamilies.java similarity index 98% rename from src/main/java/twilightforest/data/TFBlockFamilies.java rename to src/main/java/twilightforest/util/TFBlockFamilies.java index 6b50025984..a17fd3a769 100644 --- a/src/main/java/twilightforest/data/TFBlockFamilies.java +++ b/src/main/java/twilightforest/util/TFBlockFamilies.java @@ -1,10 +1,9 @@ -package twilightforest.data; +package twilightforest.util; import com.google.common.collect.Maps; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.BlockFamily; import net.minecraft.world.level.block.Block; -import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; import twilightforest.init.TFBlocks; diff --git a/src/main/java/twilightforest/util/TFToolMaterials.java b/src/main/java/twilightforest/util/TFToolMaterials.java index 71e6d18c58..637d6db036 100644 --- a/src/main/java/twilightforest/util/TFToolMaterials.java +++ b/src/main/java/twilightforest/util/TFToolMaterials.java @@ -1,15 +1,15 @@ package twilightforest.util; import net.minecraft.world.item.ToolMaterial; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.ItemTagGenerator; +import twilightforest.tags.TFBlockTags; +import twilightforest.tags.TFItemTags; public class TFToolMaterials { - public static final ToolMaterial IRONWOOD = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_IRONWOOD_TOOL, 512, 6.5F, 2, 25, ItemTagGenerator.REPAIRS_IRONWOOD_TOOLS); - public static final ToolMaterial FIERY = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_FIERY_TOOL, 1024, 9.0F, 4, 10, ItemTagGenerator.REPAIRS_FIERY_TOOLS); - public static final ToolMaterial STEELEAF = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_STEELEAF_TOOL, 131, 8.0F, 3, 9, ItemTagGenerator.REPAIRS_STEELEAF_TOOLS); - public static final ToolMaterial KNIGHTMETAL = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_KNIGHTMETAL_TOOL, 512, 8.0F, 3, 8, ItemTagGenerator.REPAIRS_KNIGHTMETAL_TOOLS); - public static final ToolMaterial GIANT = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_GIANT_TOOL, 1024, 4.0F, 1.0F, 5, ItemTagGenerator.REPAIRS_GIANT_TOOLS); - public static final ToolMaterial ICE = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_ICE_TOOL, 32, 1.0F, 3.5F, 5, ItemTagGenerator.REPAIRS_ICE_TOOLS); - public static final ToolMaterial GLASS = new ToolMaterial(BlockTagGenerator.INCORRECT_FOR_GLASS_TOOL, 1, 1.0F, 36.0F, 30, ItemTagGenerator.REPAIRS_GLASS_TOOLS); + public static final ToolMaterial IRONWOOD = new ToolMaterial(TFBlockTags.INCORRECT_FOR_IRONWOOD_TOOL, 512, 6.5F, 2, 25, TFItemTags.REPAIRS_IRONWOOD_TOOLS); + public static final ToolMaterial FIERY = new ToolMaterial(TFBlockTags.INCORRECT_FOR_FIERY_TOOL, 1024, 9.0F, 4, 10, TFItemTags.REPAIRS_FIERY_TOOLS); + public static final ToolMaterial STEELEAF = new ToolMaterial(TFBlockTags.INCORRECT_FOR_STEELEAF_TOOL, 131, 8.0F, 3, 9, TFItemTags.REPAIRS_STEELEAF_TOOLS); + public static final ToolMaterial KNIGHTMETAL = new ToolMaterial(TFBlockTags.INCORRECT_FOR_KNIGHTMETAL_TOOL, 512, 8.0F, 3, 8, TFItemTags.REPAIRS_KNIGHTMETAL_TOOLS); + public static final ToolMaterial GIANT = new ToolMaterial(TFBlockTags.INCORRECT_FOR_GIANT_TOOL, 1024, 4.0F, 1.0F, 5, TFItemTags.REPAIRS_GIANT_TOOLS); + public static final ToolMaterial ICE = new ToolMaterial(TFBlockTags.INCORRECT_FOR_ICE_TOOL, 32, 1.0F, 3.5F, 5, TFItemTags.REPAIRS_ICE_TOOLS); + public static final ToolMaterial GLASS = new ToolMaterial(TFBlockTags.INCORRECT_FOR_GLASS_TOOL, 1, 1.0F, 36.0F, 30, TFItemTags.REPAIRS_GLASS_TOOLS); } diff --git a/src/main/java/twilightforest/util/features/FeatureLogic.java b/src/main/java/twilightforest/util/features/FeatureLogic.java index aab8929a75..65357b7378 100644 --- a/src/main/java/twilightforest/util/features/FeatureLogic.java +++ b/src/main/java/twilightforest/util/features/FeatureLogic.java @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import twilightforest.block.GiantBlock; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFBlocks; import java.util.ArrayList; @@ -25,7 +25,7 @@ */ public final class FeatureLogic { public static final Predicate IS_REPLACEABLE_AIR = state -> state.canBeReplaced() || state.isAir(); - public static final Predicate ROOT_SHOULD_SKIP = state -> state.is(BlockTagGenerator.ROOT_TRACE_SKIP); + public static final Predicate ROOT_SHOULD_SKIP = state -> state.is(TFBlockTags.ROOT_TRACE_SKIP); public static boolean hasEmptyNeighborExceptBelow(LevelSimulatedReader worldReader, BlockPos pos) { return worldReader.isStateAtPosition(pos.above(), IS_REPLACEABLE_AIR) @@ -56,7 +56,7 @@ public static boolean canRootGrowIn(LevelSimulatedReader worldReader, BlockPos p } public static boolean isReplaceable(BlockState state, boolean includeFlowers) { - return (state.canBeReplaced() || state.is(BlockTagGenerator.WORLDGEN_REPLACEABLES) || (includeFlowers && state.is(BlockTags.FLOWERS))) + return (state.canBeReplaced() || state.is(TFBlockTags.WORLDGEN_REPLACEABLES) || (includeFlowers && state.is(BlockTags.FLOWERS))) && !state.is(BlockTags.FEATURES_CANNOT_REPLACE); } @@ -104,7 +104,7 @@ public static boolean isBlockOk(BlockState state) { } public static boolean isBlockNotOk(BlockState state) { - return state.liquid() || state.is(Blocks.BEDROCK) || state.getBlock() instanceof GiantBlock || state.is(BlockTagGenerator.CLOUDS) || state.is(TFBlocks.HARDENED_DARK_LEAVES); + return state.liquid() || state.is(Blocks.BEDROCK) || state.getBlock() instanceof GiantBlock || state.is(TFBlockTags.CLOUDS) || state.is(TFBlocks.HARDENED_DARK_LEAVES); } // North is treated for default rotation and null means you're not on the wall diff --git a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java index c6170542cc..581526c28e 100644 --- a/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java +++ b/src/main/java/twilightforest/util/landmarks/LandmarkUtil.java @@ -17,7 +17,7 @@ import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.StructureTagGenerator; +import twilightforest.tags.TFStructureTags; import twilightforest.entity.EnforcedHomePoint; import twilightforest.init.TFAdvancements; import twilightforest.world.components.structures.start.TFStructureStart; @@ -32,7 +32,7 @@ @SuppressWarnings("OptionalIsPresent") public final class LandmarkUtil { public static Optional locateNearestLandmarkStart(LevelAccessor level, int chunkX, int chunkZ) { - return locateNearestMatchingLandmark(level, StructureTagGenerator.LANDMARK, chunkX, chunkZ); + return locateNearestMatchingLandmark(level, TFStructureTags.LANDMARK, chunkX, chunkZ); } public static Optional locateNearestMatchingLandmark(LevelAccessor level, TagKey matching, int chunkX, int chunkZ) { diff --git a/src/main/java/twilightforest/world/TFTeleporter.java b/src/main/java/twilightforest/world/TFTeleporter.java index 9d39b79b16..d197b57f33 100644 --- a/src/main/java/twilightforest/world/TFTeleporter.java +++ b/src/main/java/twilightforest/world/TFTeleporter.java @@ -21,14 +21,13 @@ import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.levelgen.structure.StructureStart; import net.minecraft.world.level.portal.TeleportTransition; -import net.minecraft.world.level.portal.TeleportTransition; import net.minecraft.world.phys.Vec3; import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.block.TFPortalBlock; import twilightforest.config.TFConfig; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFDimension; import twilightforest.item.MagicMapItem; @@ -560,7 +559,7 @@ protected static BlockPos makePortalAt(Level world, BlockPos pos, boolean locked private static BlockState randNatureBlock(RandomSource random) { Optional optional = BuiltInRegistries.BLOCK - .get(BlockTagGenerator.GENERATED_PORTAL_DECO) + .get(TFBlockTags.GENERATED_PORTAL_DECO) .flatMap(tag -> tag.getRandomElement(random)) .map(Holder::value); return optional.map(Block::defaultBlockState).orElseGet(Blocks.SHORT_GRASS::defaultBlockState); diff --git a/src/main/java/twilightforest/world/components/feature/BlockSpikeFeature.java b/src/main/java/twilightforest/world/components/feature/BlockSpikeFeature.java index 6a70a7f3da..1ba27ead26 100644 --- a/src/main/java/twilightforest/world/components/feature/BlockSpikeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/BlockSpikeFeature.java @@ -17,9 +17,9 @@ import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import twilightforest.data.custom.stalactites.entry.Stalactite; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.util.features.FeatureLogic; +import twilightforest.world.components.spelothem.Stalactite; import java.util.List; @@ -96,7 +96,7 @@ private static boolean makeSpike(WorldGenLevel level, BlockPos startPos, Either< if (!hang) { BlockPos below = startPos.below(2); BlockState belowState = level.getBlockState(below); - if (!belowState.is(BlockTagGenerator.SUPPORTS_STALAGMITES) && + if (!belowState.is(TFBlockTags.SUPPORTS_STALAGMITES) && (!FeatureLogic.worldGenReplaceable(belowState) || !belowState.isFaceSturdy(level, below, Direction.UP) || FeatureLogic.isBlockNotOk(belowState))) return false; } diff --git a/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java b/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java index 7f123830d7..0576613634 100644 --- a/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java +++ b/src/main/java/twilightforest/world/components/feature/TFSmallLakeFeature.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import java.util.Optional; @@ -98,8 +98,8 @@ public boolean place(FeaturePlaceContext conte for (int y = 0; y < 8; y++) { if (booleans[(x * 16 + z) * 8 + y]) { BlockPos offset = blockpos.offset(x, y, z); - if (!(worldgenlevel.getBlockState(offset).is(BlockTagGenerator.SMALL_LAKES_DONT_REPLACE) || - worldgenlevel.getBlockState(offset.above()).is(BlockTagGenerator.SMALL_LAKES_DONT_REPLACE))) { + if (!(worldgenlevel.getBlockState(offset).is(TFBlockTags.SMALL_LAKES_DONT_REPLACE) || + worldgenlevel.getBlockState(offset.above()).is(TFBlockTags.SMALL_LAKES_DONT_REPLACE))) { if (y >= 4) { worldgenlevel.setBlock(offset, AIR, Block.UPDATE_CLIENTS); worldgenlevel.scheduleTick(offset, AIR.getBlock(), 0); diff --git a/src/main/java/twilightforest/world/components/feature/config/RuinedFoundationConfig.java b/src/main/java/twilightforest/world/components/feature/config/RuinedFoundationConfig.java index 2b3cb02866..792985fa3e 100644 --- a/src/main/java/twilightforest/world/components/feature/config/RuinedFoundationConfig.java +++ b/src/main/java/twilightforest/world/components/feature/config/RuinedFoundationConfig.java @@ -17,7 +17,7 @@ import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; import net.minecraft.world.level.levelgen.feature.stateproviders.WeightedStateProvider; import net.minecraft.world.level.storage.loot.LootTable; -import twilightforest.data.TFBlockFamilies; +import twilightforest.util.TFBlockFamilies; import twilightforest.loot.TFLootTables; @SuppressWarnings("ConstantValue") diff --git a/src/main/java/twilightforest/world/components/feature/config/SwizzleConfig.java b/src/main/java/twilightforest/world/components/feature/config/SwizzleConfig.java index 86a1e71c58..91c4ba8e04 100644 --- a/src/main/java/twilightforest/world/components/feature/config/SwizzleConfig.java +++ b/src/main/java/twilightforest/world/components/feature/config/SwizzleConfig.java @@ -15,7 +15,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import org.jetbrains.annotations.NotNull; import twilightforest.TFRegistries; -import twilightforest.data.tags.CustomTagGenerator; +import twilightforest.tags.TFWoodPaletteTags; import twilightforest.util.woods.WoodPalette; import twilightforest.world.components.processors.StateTransfiguringProcessor; import twilightforest.world.components.processors.WoodPaletteSwizzle; @@ -42,13 +42,13 @@ public static WeightedRandomList>> // } WeightedEntry.Wrapper> common = // 50% chance - WeightedEntry.wrap(paletteHolders.get(CustomTagGenerator.WoodPaletteTagGenerator.COMMON_PALETTES).get(), 8); + WeightedEntry.wrap(paletteHolders.get(TFWoodPaletteTags.COMMON_PALETTES).get(), 8); WeightedEntry.Wrapper> uncommon = // 25% chance - WeightedEntry.wrap(paletteHolders.get(CustomTagGenerator.WoodPaletteTagGenerator.UNCOMMON_PALETTES).get(), 4); + WeightedEntry.wrap(paletteHolders.get(TFWoodPaletteTags.UNCOMMON_PALETTES).get(), 4); WeightedEntry.Wrapper> rare = // 18.75% chance - WeightedEntry.wrap(paletteHolders.get(CustomTagGenerator.WoodPaletteTagGenerator.RARE_PALETTES).get(), 3); + WeightedEntry.wrap(paletteHolders.get(TFWoodPaletteTags.RARE_PALETTES).get(), 3); WeightedEntry.Wrapper> treasure = // 6.25% chance - WeightedEntry.wrap(paletteHolders.get(CustomTagGenerator.WoodPaletteTagGenerator.TREASURE_PALETTES).get(), 1); + WeightedEntry.wrap(paletteHolders.get(TFWoodPaletteTags.TREASURE_PALETTES).get(), 1); return WeightedRandomList.create(common, uncommon, rare, treasure); } diff --git a/src/main/java/twilightforest/world/components/processors/SoftReplaceProcessor.java b/src/main/java/twilightforest/world/components/processors/SoftReplaceProcessor.java index 97b672bbfa..fa9bfb2453 100644 --- a/src/main/java/twilightforest/world/components/processors/SoftReplaceProcessor.java +++ b/src/main/java/twilightforest/world/components/processors/SoftReplaceProcessor.java @@ -10,7 +10,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFStructureProcessors; public final class SoftReplaceProcessor extends StructureProcessor { @@ -25,7 +25,7 @@ private SoftReplaceProcessor() { public StructureTemplate.StructureBlockInfo process(LevelReader level, BlockPos offset, BlockPos piecePos, StructureTemplate.StructureBlockInfo originalInfo, StructureTemplate.StructureBlockInfo modifiedInfo, StructurePlaceSettings placeSettings, @Nullable StructureTemplate template) { BlockState blockAt = level.getBlockState(modifiedInfo.pos()); - boolean isReplaceableAt = blockAt.canBeReplaced() || blockAt.is(BlockTagGenerator.WORLDGEN_REPLACEABLES); + boolean isReplaceableAt = blockAt.canBeReplaced() || blockAt.is(TFBlockTags.WORLDGEN_REPLACEABLES); if (isReplaceableAt) { return modifiedInfo; diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/SpeleothemVarietyConfig.java b/src/main/java/twilightforest/world/components/spelothem/SpeleothemVarietyConfig.java similarity index 98% rename from src/main/java/twilightforest/data/custom/stalactites/entry/SpeleothemVarietyConfig.java rename to src/main/java/twilightforest/world/components/spelothem/SpeleothemVarietyConfig.java index da2284a477..879e9357a8 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/SpeleothemVarietyConfig.java +++ b/src/main/java/twilightforest/world/components/spelothem/SpeleothemVarietyConfig.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom.stalactites.entry; +package twilightforest.world.components.spelothem; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java b/src/main/java/twilightforest/world/components/spelothem/Stalactite.java similarity index 96% rename from src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java rename to src/main/java/twilightforest/world/components/spelothem/Stalactite.java index b08281aa26..6d8e5e7bee 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/Stalactite.java +++ b/src/main/java/twilightforest/world/components/spelothem/Stalactite.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom.stalactites.entry; +package twilightforest.world.components.spelothem; import com.mojang.datafixers.util.Either; import com.mojang.datafixers.util.Pair; diff --git a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java b/src/main/java/twilightforest/world/components/spelothem/StalactiteReloadListener.java similarity index 98% rename from src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java rename to src/main/java/twilightforest/world/components/spelothem/StalactiteReloadListener.java index 61e9668ab9..86dcabc8bc 100644 --- a/src/main/java/twilightforest/data/custom/stalactites/entry/StalactiteReloadListener.java +++ b/src/main/java/twilightforest/world/components/spelothem/StalactiteReloadListener.java @@ -1,4 +1,4 @@ -package twilightforest.data.custom.stalactites.entry; +package twilightforest.world.components.spelothem; import com.google.gson.JsonElement; import com.google.gson.JsonObject; diff --git a/src/main/java/twilightforest/world/components/structures/StructureSpeleothemConfig.java b/src/main/java/twilightforest/world/components/spelothem/StructureSpeleothemConfig.java similarity index 97% rename from src/main/java/twilightforest/world/components/structures/StructureSpeleothemConfig.java rename to src/main/java/twilightforest/world/components/spelothem/StructureSpeleothemConfig.java index 9c9ba31994..5798a14bc6 100644 --- a/src/main/java/twilightforest/world/components/structures/StructureSpeleothemConfig.java +++ b/src/main/java/twilightforest/world/components/spelothem/StructureSpeleothemConfig.java @@ -1,4 +1,4 @@ -package twilightforest.world.components.structures; +package twilightforest.world.components.spelothem; import com.google.common.base.Suppliers; import com.mojang.serialization.Codec; @@ -11,9 +11,6 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; -import twilightforest.data.custom.stalactites.entry.SpeleothemVarietyConfig; -import twilightforest.data.custom.stalactites.entry.Stalactite; -import twilightforest.data.custom.stalactites.entry.StalactiteReloadListener; import twilightforest.util.iterators.RectangleLatticeIterator; import twilightforest.world.components.feature.BlockSpikeFeature; diff --git a/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java b/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java index 073b87f781..2c653403ad 100644 --- a/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java +++ b/src/main/java/twilightforest/world/components/structures/HollowHillComponent.java @@ -30,6 +30,7 @@ import twilightforest.loot.TFLootTables; import twilightforest.util.BoundingBoxUtils; import twilightforest.world.components.feature.BlockSpikeFeature; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; public class HollowHillComponent extends TFStructureComponentOld { private static final float CHEST_SPAWN_CHANCE = 0.025f; diff --git a/src/main/java/twilightforest/world/components/structures/HydraLairComponent.java b/src/main/java/twilightforest/world/components/structures/HydraLairComponent.java index 6237daf090..42f9e8e344 100644 --- a/src/main/java/twilightforest/world/components/structures/HydraLairComponent.java +++ b/src/main/java/twilightforest/world/components/structures/HydraLairComponent.java @@ -18,6 +18,7 @@ import twilightforest.init.TFBlocks; import twilightforest.init.TFStructurePieceTypes; import twilightforest.util.features.FeaturePlacers; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; public class HydraLairComponent extends HollowHillComponent { diff --git a/src/main/java/twilightforest/world/components/structures/YetiCaveComponent.java b/src/main/java/twilightforest/world/components/structures/YetiCaveComponent.java index efb9e32d9c..95e0e15690 100644 --- a/src/main/java/twilightforest/world/components/structures/YetiCaveComponent.java +++ b/src/main/java/twilightforest/world/components/structures/YetiCaveComponent.java @@ -20,6 +20,7 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; import twilightforest.init.TFBlocks; import twilightforest.init.TFStructurePieceTypes; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; // FIXME Get rid of the HollowHillComponent inheritance public class YetiCaveComponent extends HollowHillComponent { diff --git a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java index 5567c7c7f0..303cf302a1 100644 --- a/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java +++ b/src/main/java/twilightforest/world/components/structures/darktower/DarkTowerMainComponent.java @@ -29,7 +29,7 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.*; import twilightforest.loot.TFLootTables; import twilightforest.util.RotationUtil; @@ -1103,7 +1103,7 @@ private void placeTreePlanter(WorldGenLevel world, ChunkGenerator generator, int private void placeRandomPlant(WorldGenLevel world, RandomSource decoRNG, int x, int y, int z, Rotation rotation, BoundingBox sbb) { Optional optional = BuiltInRegistries.BLOCK - .get(BlockTagGenerator.DARK_TOWER_ALLOWED_POTS) + .get(TFBlockTags.DARK_TOWER_ALLOWED_POTS) .flatMap(tag -> tag.getRandomElement(decoRNG)) .map(Holder::value); setBlockStateRotated(world, decoRNG.nextInt(10) != 0 && optional.isPresent() ? optional.get().defaultBlockState() : Blocks.FLOWER_POT.defaultBlockState(), x, y, z, rotation, sbb); diff --git a/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java b/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java index b40329b960..401450c9bb 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java +++ b/src/main/java/twilightforest/world/components/structures/lichtower/TowerWingComponent.java @@ -19,8 +19,7 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType; import org.jetbrains.annotations.Nullable; -import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFEntities; import twilightforest.init.TFStructurePieceTypes; import twilightforest.loot.TFLootTables; @@ -1844,7 +1843,7 @@ protected void makeGlyphBranches(WorldGenLevel world, RandomSource rand, BlockSt if (sbb.isInside(new BlockPos(dx, this.boundingBox.minY() + 1, dz))) { for (int dy = this.getWorldY(startHeight); dy > 0; dy--) { final BlockPos pos = new BlockPos(dx, dy, dz); - if (world.getBlockState(pos).is(BlockTagGenerator.CASTLE_BLOCKS) && world.getBlockState(pos).isRedstoneConductor(world, pos)) { + if (world.getBlockState(pos).is(TFBlockTags.CASTLE_BLOCKS) && world.getBlockState(pos).isRedstoneConductor(world, pos)) { world.setBlock(pos, colour, Block.UPDATE_CLIENTS); } else { break; diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichBossRoom.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichBossRoom.java index c895f0b0ea..c3c34664a3 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichBossRoom.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichBossRoom.java @@ -29,8 +29,8 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.CustomTagGenerator; import twilightforest.init.TFStructurePieceTypes; +import twilightforest.tags.TFPaintingVariantTags; import twilightforest.util.DirectionUtil; import twilightforest.util.entities.EntityUtil; import twilightforest.util.jigsaw.JigsawPlaceContext; @@ -78,7 +78,7 @@ public void postProcess(WorldGenLevel level, StructureManager structureManager, @Override protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, RandomSource random, BoundingBox chunkBounds, ChunkGenerator chunkGen) { - placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 3, 3, CustomTagGenerator.PaintingVariantTagGenerator.LICH_BOSS_PAINTINGS); + placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 3, 3, TFPaintingVariantTags.LICH_BOSS_PAINTINGS); } public static void placePainting(String label, BlockPos pos, ServerLevelAccessor level, RandomSource random, BoundingBox chunkBounds, Rotation rotation, int limitTries, int rarityFactor, TagKey lichTowerPaintings) { diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java index aa952266fb..a96f836d10 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerMagicGallery.java @@ -13,7 +13,6 @@ import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructurePiece; @@ -23,15 +22,14 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager; import net.neoforged.neoforge.common.world.PieceBeardifierModifier; import org.jetbrains.annotations.Nullable; -import twilightforest.TFRegistries; import tamaized.beanification.Autowired; -import twilightforest.data.tags.BlockTagGenerator; -import twilightforest.data.tags.CustomTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.entity.MagicPainting; import twilightforest.entity.MagicPaintingVariant; import twilightforest.init.TFEntities; import twilightforest.init.TFStructurePieceTypes; import twilightforest.init.custom.MagicPaintingVariants; +import twilightforest.tags.TFPaintingVariantTags; import twilightforest.util.BoundingBoxUtils; import twilightforest.util.jigsaw.JigsawPlaceContext; import twilightforest.util.jigsaw.JigsawRecord; @@ -101,7 +99,7 @@ private void removeBanisters(WorldGenLevel level, BoundingBox chunkBounds) { private static void removeIfBanister(WorldGenLevel level, BlockPos pos, BoundingBox chunkBounds) { if (chunkBounds.isInside(pos)) { - if (level.getBlockState(pos).is(BlockTagGenerator.BANISTERS)) { + if (level.getBlockState(pos).is(TFBlockTags.BANISTERS)) { level.removeBlock(pos, false); } } @@ -136,7 +134,7 @@ protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, level.addFreshEntityWithPassengers(galleryPainting); } } else { - LichBossRoom.placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 2, 1, CustomTagGenerator.PaintingVariantTagGenerator.LICH_TOWER_PAINTINGS); + LichBossRoom.placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 2, 1, TFPaintingVariantTags.LICH_TOWER_PAINTINGS); } } diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSegment.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSegment.java index 48b222d1ea..743a68f960 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSegment.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerSegment.java @@ -19,8 +19,8 @@ import net.neoforged.neoforge.common.world.PieceBeardifierModifier; import twilightforest.TwilightForestMod; import tamaized.beanification.Autowired; -import twilightforest.data.tags.CustomTagGenerator; import twilightforest.init.TFStructurePieceTypes; +import twilightforest.tags.TFPaintingVariantTags; import twilightforest.util.jigsaw.JigsawPlaceContext; import twilightforest.util.jigsaw.JigsawRecord; import twilightforest.world.components.structures.SpawnIndexProvider; @@ -172,7 +172,7 @@ protected void processJigsaw(StructurePiece parent, StructurePieceAccessor piece @Override protected void handleDataMarker(String label, BlockPos pos, WorldGenLevel level, RandomSource random, BoundingBox chunkBounds, ChunkGenerator chunkGen) { - LichBossRoom.placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 2, 10, CustomTagGenerator.PaintingVariantTagGenerator.LICH_TOWER_PAINTINGS); + LichBossRoom.placePainting(label, pos, level, random, chunkBounds, this.placeSettings.getRotation(), 2, 10, TFPaintingVariantTags.LICH_TOWER_PAINTINGS); } @Override diff --git a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingBridge.java b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingBridge.java index 6ed091a2b7..81656ee620 100644 --- a/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingBridge.java +++ b/src/main/java/twilightforest/world/components/structures/lichtowerrevamp/LichTowerWingBridge.java @@ -20,7 +20,7 @@ import net.neoforged.neoforge.common.world.PieceBeardifierModifier; import org.jetbrains.annotations.Nullable; import tamaized.beanification.Autowired; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFStructurePieceTypes; import twilightforest.util.BoundingBoxUtils; import twilightforest.util.jigsaw.JigsawPlaceContext; @@ -80,7 +80,7 @@ public void postProcess(WorldGenLevel level, StructureManager structureManager, private static void removeIfBanister(WorldGenLevel level, BlockPos pos, BoundingBox chunkBounds) { if (chunkBounds.isInside(pos)) { - if (level.getBlockState(pos).is(BlockTagGenerator.BANISTERS)) { + if (level.getBlockState(pos).is(TFBlockTags.BANISTERS)) { level.removeBlock(pos, false); } } diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java index b430d63306..418646dfaa 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveConnectComponent.java @@ -24,7 +24,7 @@ import twilightforest.util.BoundingBoxUtils; import twilightforest.util.HugeMushroomUtil; import twilightforest.util.RotationUtil; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; public class TrollCaveConnectComponent extends TrollCaveMainComponent { protected final boolean[] openingTowards = {false, false, true, false}; diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java index dadd29b88d..200c7de6c6 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveGardenComponent.java @@ -23,7 +23,7 @@ import twilightforest.init.TFConfiguredFeatures; import twilightforest.init.TFStructurePieceTypes; import twilightforest.util.BoundingBoxUtils; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import java.util.function.Predicate; diff --git a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java index ebc409a868..4a0d8e330f 100644 --- a/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java +++ b/src/main/java/twilightforest/world/components/structures/trollcave/TrollCaveMainComponent.java @@ -22,7 +22,7 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType; import org.jetbrains.annotations.Nullable; -import twilightforest.data.tags.BlockTagGenerator; +import twilightforest.tags.TFBlockTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFConfiguredFeatures; import twilightforest.init.TFStructurePieceTypes; @@ -31,7 +31,7 @@ import twilightforest.util.BoundingBoxUtils; import twilightforest.util.RotationUtil; import twilightforest.world.components.feature.BlockSpikeFeature; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.TFStructureComponentOld; public class TrollCaveMainComponent extends TFStructureComponentOld { @@ -160,7 +160,7 @@ protected void hollowCaveMiddle(WorldGenLevel world, BoundingBox boundingBox, Ra double dist = Math.sqrt(ex * ey * ez); - if (this.getBlock(world, x, y, z, boundingBox).is(BlockTagGenerator.CANNOT_TROLL_CAVE_HOLLOW)) + if (this.getBlock(world, x, y, z, boundingBox).is(TFBlockTags.CANNOT_TROLL_CAVE_HOLLOW)) continue; if (dist > threshold) { diff --git a/src/main/java/twilightforest/world/components/structures/type/AuroraPalaceStructure.java b/src/main/java/twilightforest/world/components/structures/type/AuroraPalaceStructure.java index 3312309fe0..6af42688a0 100644 --- a/src/main/java/twilightforest/world/components/structures/type/AuroraPalaceStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/AuroraPalaceStructure.java @@ -15,7 +15,7 @@ import net.minecraft.world.level.saveddata.maps.MapDecorationType; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -58,7 +58,7 @@ public static AuroraPalaceStructure buildAuroraPalaceConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE diff --git a/src/main/java/twilightforest/world/components/structures/type/DarkTowerStructure.java b/src/main/java/twilightforest/world/components/structures/type/DarkTowerStructure.java index 3c4a203fe3..7cbdd9909d 100644 --- a/src/main/java/twilightforest/world/components/structures/type/DarkTowerStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/DarkTowerStructure.java @@ -16,7 +16,7 @@ import net.minecraft.world.level.saveddata.maps.MapDecorationType; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -70,7 +70,7 @@ public static DarkTowerStructure buildDarkTowerConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_THIN diff --git a/src/main/java/twilightforest/world/components/structures/type/FinalCastleStructure.java b/src/main/java/twilightforest/world/components/structures/type/FinalCastleStructure.java index 5c51341fc3..50042e4b74 100644 --- a/src/main/java/twilightforest/world/components/structures/type/FinalCastleStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/FinalCastleStructure.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.saveddata.maps.MapDecorationType; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -72,7 +72,7 @@ public static FinalCastleStructure buildFinalCastleConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_BOX diff --git a/src/main/java/twilightforest/world/components/structures/type/GiantHouseStructure.java b/src/main/java/twilightforest/world/components/structures/type/GiantHouseStructure.java index 6f64777dfe..fd3b66b9e0 100644 --- a/src/main/java/twilightforest/world/components/structures/type/GiantHouseStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/GiantHouseStructure.java @@ -14,9 +14,8 @@ import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; -import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.world.components.structures.trollcave.CloudCastleComponent; import twilightforest.world.components.structures.util.ConfigurableSpawns; @@ -65,7 +64,7 @@ public static GiantHouseStructure buildGiantHouseConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.TOP_LAYER_MODIFICATION, TerrainAdjustment.NONE diff --git a/src/main/java/twilightforest/world/components/structures/type/HedgeMazeStructure.java b/src/main/java/twilightforest/world/components/structures/type/HedgeMazeStructure.java index 9ce938a956..cb8324df12 100644 --- a/src/main/java/twilightforest/world/components/structures/type/HedgeMazeStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/HedgeMazeStructure.java @@ -13,7 +13,7 @@ import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.util.WorldUtil; @@ -48,7 +48,7 @@ public static HedgeMazeStructure buildStructureConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_BOX diff --git a/src/main/java/twilightforest/world/components/structures/type/HollowHillStructure.java b/src/main/java/twilightforest/world/components/structures/type/HollowHillStructure.java index 90e9bd60f8..b4fe4be415 100644 --- a/src/main/java/twilightforest/world/components/structures/type/HollowHillStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/HollowHillStructure.java @@ -20,17 +20,17 @@ import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; import twilightforest.TFRegistries; -import twilightforest.data.tags.BiomeTagGenerator; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructurePieceTypes; import twilightforest.init.TFStructureTypes; import twilightforest.init.custom.StructureSpeleothemConfigs; +import twilightforest.tags.TFBiomeTags; import twilightforest.world.components.chunkgenerators.FocusedDensityFunction; import twilightforest.world.components.chunkgenerators.HollowHillFunction; import twilightforest.world.components.structures.CustomDensitySource; import twilightforest.world.components.structures.HollowHillComponent; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.util.ConfigurableSpawns; import twilightforest.world.components.structures.util.LandmarkStructure; @@ -104,7 +104,7 @@ public static HollowHillStructure buildSmallHillConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE @@ -131,7 +131,7 @@ public static HollowHillStructure buildMediumHillConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE @@ -159,7 +159,7 @@ public static HollowHillStructure buildLargeHillConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE diff --git a/src/main/java/twilightforest/world/components/structures/type/HydraLairStructure.java b/src/main/java/twilightforest/world/components/structures/type/HydraLairStructure.java index 9d0e66c522..cee47a27f6 100644 --- a/src/main/java/twilightforest/world/components/structures/type/HydraLairStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/HydraLairStructure.java @@ -19,16 +19,16 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.init.custom.StructureSpeleothemConfigs; +import twilightforest.tags.TFBiomeTags; import twilightforest.world.components.chunkgenerators.FocusedDensityFunction; import twilightforest.world.components.chunkgenerators.HollowHillFunction; import twilightforest.world.components.structures.CustomDensitySource; import twilightforest.world.components.structures.HydraLairComponent; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.util.ProgressionStructure; import java.util.Arrays; @@ -68,7 +68,7 @@ public static HydraLairStructure buildHydraLairConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE diff --git a/src/main/java/twilightforest/world/components/structures/type/KnightStrongholdStructure.java b/src/main/java/twilightforest/world/components/structures/type/KnightStrongholdStructure.java index daa6d9b9fb..d023bc0eff 100644 --- a/src/main/java/twilightforest/world/components/structures/type/KnightStrongholdStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/KnightStrongholdStructure.java @@ -19,7 +19,7 @@ import net.minecraft.world.level.saveddata.maps.MapDecorationType; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -68,7 +68,7 @@ public static KnightStrongholdStructure buildKnightStrongholdConfig(BootstrapCon new DecorationConfig(3, true, false, false), true, Optional.of(TFMapDecorations.KNIGHT_STRONGHOLD), new StructureSettings( - context.lookup(Registries.BIOME).getOrThrow(BiomeTagGenerator.VALID_KNIGHT_STRONGHOLD_BIOMES), + context.lookup(Registries.BIOME).getOrThrow(TFBiomeTags.VALID_KNIGHT_STRONGHOLD_BIOMES), Arrays.stream(MobCategory.values()).collect(Collectors.toMap(category -> category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.UNDERGROUND_STRUCTURES, TerrainAdjustment.BURY diff --git a/src/main/java/twilightforest/world/components/structures/type/LabyrinthStructure.java b/src/main/java/twilightforest/world/components/structures/type/LabyrinthStructure.java index 2757081505..81dca666a4 100644 --- a/src/main/java/twilightforest/world/components/structures/type/LabyrinthStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/LabyrinthStructure.java @@ -19,7 +19,7 @@ import net.minecraft.world.level.saveddata.maps.MapDecorationType; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -77,7 +77,7 @@ public static LabyrinthStructure buildLabyrinthConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.UNDERGROUND_STRUCTURES, TerrainAdjustment.BURY diff --git a/src/main/java/twilightforest/world/components/structures/type/LichTowerStructure.java b/src/main/java/twilightforest/world/components/structures/type/LichTowerStructure.java index 11885a6990..e321b41b23 100644 --- a/src/main/java/twilightforest/world/components/structures/type/LichTowerStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/LichTowerStructure.java @@ -22,7 +22,7 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; import net.minecraft.world.level.saveddata.maps.MapDecorationType; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; @@ -100,7 +100,7 @@ public static LichTowerStructure buildLichTowerConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_THIN diff --git a/src/main/java/twilightforest/world/components/structures/type/MushroomTowerStructure.java b/src/main/java/twilightforest/world/components/structures/type/MushroomTowerStructure.java index e6550af603..d09170cc4a 100644 --- a/src/main/java/twilightforest/world/components/structures/type/MushroomTowerStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/MushroomTowerStructure.java @@ -12,7 +12,7 @@ import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFStructureTypes; import twilightforest.world.components.structures.mushroomtower.MushroomTowerMainComponent; import twilightforest.world.components.structures.util.LandmarkStructure; @@ -43,7 +43,7 @@ public static MushroomTowerStructure buildStructureConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE diff --git a/src/main/java/twilightforest/world/components/structures/type/NagaCourtyardStructure.java b/src/main/java/twilightforest/world/components/structures/type/NagaCourtyardStructure.java index 958d0d932a..908d561c19 100644 --- a/src/main/java/twilightforest/world/components/structures/type/NagaCourtyardStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/NagaCourtyardStructure.java @@ -13,7 +13,7 @@ import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.util.WorldUtil; @@ -47,7 +47,7 @@ public static NagaCourtyardStructure buildStructureConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_THIN diff --git a/src/main/java/twilightforest/world/components/structures/type/QuestGroveStructure.java b/src/main/java/twilightforest/world/components/structures/type/QuestGroveStructure.java index 07d3d0382a..6bc2b0d730 100644 --- a/src/main/java/twilightforest/world/components/structures/type/QuestGroveStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/QuestGroveStructure.java @@ -13,7 +13,7 @@ import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.structure.*; import net.minecraft.world.level.saveddata.maps.MapDecorationType; -import twilightforest.data.tags.BiomeTagGenerator; +import twilightforest.tags.TFBiomeTags; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.world.components.structures.QuestGrove; @@ -46,7 +46,7 @@ public static QuestGroveStructure buildStructureConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.BEARD_THIN diff --git a/src/main/java/twilightforest/world/components/structures/type/TrollCaveStructure.java b/src/main/java/twilightforest/world/components/structures/type/TrollCaveStructure.java index 3a1b9b9ccf..4240c15504 100644 --- a/src/main/java/twilightforest/world/components/structures/type/TrollCaveStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/TrollCaveStructure.java @@ -17,13 +17,13 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructurePieceTypes; import twilightforest.init.TFStructureTypes; import twilightforest.init.custom.StructureSpeleothemConfigs; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.tags.TFBiomeTags; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.trollcave.TrollCaveMainComponent; import twilightforest.world.components.structures.util.ConfigurableSpawns; import twilightforest.world.components.structures.util.ControlledSpawns; @@ -87,7 +87,7 @@ public static TrollCaveStructure buildTrollCaveConfig(BootstrapContext category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.UNDERGROUND_STRUCTURES, TerrainAdjustment.BURY diff --git a/src/main/java/twilightforest/world/components/structures/type/YetiCaveStructure.java b/src/main/java/twilightforest/world/components/structures/type/YetiCaveStructure.java index bf889a599a..f70b141b31 100644 --- a/src/main/java/twilightforest/world/components/structures/type/YetiCaveStructure.java +++ b/src/main/java/twilightforest/world/components/structures/type/YetiCaveStructure.java @@ -19,14 +19,14 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; -import twilightforest.data.tags.BiomeTagGenerator; import twilightforest.init.TFEntities; import twilightforest.init.TFMapDecorations; import twilightforest.init.TFStructureTypes; import twilightforest.init.custom.StructureSpeleothemConfigs; +import twilightforest.tags.TFBiomeTags; import twilightforest.world.components.chunkgenerators.AbsoluteDifferenceFunction; import twilightforest.world.components.structures.CustomDensitySource; -import twilightforest.world.components.structures.StructureSpeleothemConfig; +import twilightforest.world.components.spelothem.StructureSpeleothemConfig; import twilightforest.world.components.structures.YetiCaveComponent; import twilightforest.world.components.structures.util.ControlledSpawningStructure; @@ -68,7 +68,7 @@ public static YetiCaveStructure buildYetiCaveConfig(BootstrapContext new DecorationConfig(2, true, false, false), false, Optional.of(TFMapDecorations.YETI_LAIR), new StructureSettings( - context.lookup(Registries.BIOME).getOrThrow(BiomeTagGenerator.VALID_YETI_CAVE_BIOMES), + context.lookup(Registries.BIOME).getOrThrow(TFBiomeTags.VALID_YETI_CAVE_BIOMES), Arrays.stream(MobCategory.values()).collect(Collectors.toMap(category -> category, category -> new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, WeightedRandomList.create()))), // Landmarks have Controlled Mob spawning GenerationStep.Decoration.SURFACE_STRUCTURES, TerrainAdjustment.NONE diff --git a/src/test/java/twilightforest/data/helpers/AdvancementDataMultiRequirementsTests.java b/src/test/java/twilightforest/data/helpers/AdvancementDataMultiRequirementsTests.java index 02bfbf9a0f..7ee08b5a6f 100644 --- a/src/test/java/twilightforest/data/helpers/AdvancementDataMultiRequirementsTests.java +++ b/src/test/java/twilightforest/data/helpers/AdvancementDataMultiRequirementsTests.java @@ -8,6 +8,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import tamaized.beanification.junit.MockitoFixer; +import twilightforest.util.AdvancementDataMultiRequirements; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; From 5076be2e1098cbe92cc50c3e69e7c1df70719b38 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 1 Apr 2025 09:36:43 -0600 Subject: [PATCH 066/239] disable build announcements for now --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6d5ede78cf..c8fc77e123 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,7 +10,7 @@ variables: artifactName: 'Release' GRADLE_USER_HOME: $(Pipeline.Workspace)/.gradle SKIP_BUILD: $[contains(variables['Build.SourceBranch'], 'refs/heads/no-build/')] - SKIP_DISCORD: 'false' + SKIP_DISCORD: 'true' ${{ if not(contains(variables['Build.SourceBranch'], 'refs/heads/no-build/')) }}: revision: $[counter('release-number', 0)] From 55cc5f01e700e2b0a9d25689f3ed816b8b8a8013 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 3 Apr 2025 22:58:10 -0600 Subject: [PATCH 067/239] special renderers and eggs done --- gradle.properties | 2 +- .../assets/models/BlockModelGenerator.java | 97 +++++++++- .../assets/models/ItemModelGenerator.java | 84 +++++++- .../assets/models/TFBlockModelTemplates.java | 5 + .../datagen/assets/models/TFTextureSlot.java | 1 + .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 183 +++++++++++++++++- .../b2a952377faaaa835756f3c56b4ae643eb293c77 | 4 +- .../blockstates/alpha_yeti_trophy.json | 7 + .../blockstates/alpha_yeti_wall_trophy.json | 7 + .../blockstates/candelabra.json | 34 ++++ .../blockstates/canopy_chest.json | 7 + .../blockstates/canopy_trapped_chest.json | 7 + .../twilightforest/blockstates/cicada.json | 7 + .../blockstates/creeper_skull_candle.json | 7 + .../creeper_wall_skull_candle.json | 7 + .../blockstates/dark_chest.json | 7 + .../blockstates/dark_trapped_chest.json | 7 + .../twilightforest/blockstates/firefly.json | 7 + .../blockstates/hydra_trophy.json | 7 + .../blockstates/hydra_wall_trophy.json | 7 + .../blockstates/keepsake_casket.json | 7 + .../blockstates/knight_phantom_trophy.json | 7 + .../knight_phantom_wall_trophy.json | 7 + .../blockstates/lich_trophy.json | 7 + .../blockstates/lich_wall_trophy.json | 7 + .../blockstates/mangrove_chest.json | 7 + .../blockstates/mangrove_trapped_chest.json | 7 + .../blockstates/mining_chest.json | 7 + .../blockstates/mining_trapped_chest.json | 7 + .../blockstates/minoshroom_trophy.json | 7 + .../blockstates/minoshroom_wall_trophy.json | 7 + .../twilightforest/blockstates/moonworm.json | 7 + .../blockstates/naga_trophy.json | 7 + .../blockstates/naga_wall_trophy.json | 7 + .../blockstates/piglin_skull_candle.json | 7 + .../blockstates/piglin_wall_skull_candle.json | 7 + .../blockstates/player_skull_candle.json | 7 + .../blockstates/player_wall_skull_candle.json | 7 + .../blockstates/quest_ram_trophy.json | 7 + .../blockstates/quest_ram_wall_trophy.json | 7 + .../blockstates/skeleton_skull_candle.json | 7 + .../skeleton_wall_skull_candle.json | 7 + .../blockstates/skull_chest.json | 7 + .../blockstates/snow_queen_trophy.json | 7 + .../blockstates/snow_queen_wall_trophy.json | 7 + .../blockstates/sorting_chest.json | 7 + .../blockstates/sorting_trapped_chest.json | 7 + .../blockstates/time_chest.json | 7 + .../blockstates/time_trapped_chest.json | 7 + .../blockstates/transformation_chest.json | 7 + .../transformation_trapped_chest.json | 7 + .../blockstates/twilight_oak_chest.json | 7 + .../twilight_oak_trapped_chest.json | 7 + .../blockstates/ur_ghast_trophy.json | 7 + .../blockstates/ur_ghast_wall_trophy.json | 7 + .../wither_skeleton_skull_candle.json | 7 + .../wither_skeleton_wall_skull_candle.json | 7 + .../blockstates/zombie_skull_candle.json | 7 + .../blockstates/zombie_wall_skull_candle.json | 7 + .../items/alpha_yeti_spawn_egg.json | 16 ++ .../items/alpha_yeti_trophy.json | 36 ++++ .../items/armored_giant_spawn_egg.json | 16 ++ .../items/bighorn_sheep_spawn_egg.json | 16 ++ .../block_and_chain_goblin_spawn_egg.json | 16 ++ .../twilightforest/items/boar_spawn_egg.json | 16 ++ .../twilightforest/items/candelabra.json | 18 ++ .../twilightforest/items/canopy_chest.json | 10 + .../items/canopy_trapped_chest.json | 10 + .../items/carminite_broodling_spawn_egg.json | 16 ++ .../items/carminite_ghastguard_spawn_egg.json | 16 ++ .../items/carminite_ghastling_spawn_egg.json | 16 ++ .../items/carminite_golem_spawn_egg.json | 16 ++ .../assets/twilightforest/items/cicada.json | 9 + .../items/creeper_skull_candle.json | 10 + .../twilightforest/items/dark_chest.json | 10 + .../items/dark_trapped_chest.json | 10 + .../items/death_tome_spawn_egg.json | 16 ++ .../twilightforest/items/deer_spawn_egg.json | 16 ++ .../items/dwarf_rabbit_spawn_egg.json | 16 ++ .../items/fire_beetle_spawn_egg.json | 16 ++ .../assets/twilightforest/items/firefly.json | 9 + .../items/giant_miner_spawn_egg.json | 16 ++ .../items/hedge_spider_spawn_egg.json | 16 ++ .../items/helmet_crab_spawn_egg.json | 16 ++ .../items/hostile_wolf_spawn_egg.json | 16 ++ .../twilightforest/items/hydra_spawn_egg.json | 16 ++ .../twilightforest/items/hydra_trophy.json | 36 ++++ .../items/ice_crystal_spawn_egg.json | 16 ++ .../twilightforest/items/keepsake_casket.json | 9 + .../items/king_spider_spawn_egg.json | 16 ++ .../items/knight_phantom_spawn_egg.json | 16 ++ .../items/knight_phantom_trophy.json | 36 ++++ .../items/knightmetal_shield.json | 20 ++ .../items/kobold_spawn_egg.json | 16 ++ .../twilightforest/items/lich_spawn_egg.json | 16 ++ .../twilightforest/items/lich_trophy.json | 36 ++++ .../items/lower_goblin_knight_spawn_egg.json | 16 ++ .../twilightforest/items/mangrove_chest.json | 10 + .../items/mangrove_trapped_chest.json | 10 + .../items/maze_slime_spawn_egg.json | 16 ++ .../twilightforest/items/mining_chest.json | 10 + .../items/mining_trapped_chest.json | 10 + .../items/minoshroom_spawn_egg.json | 16 ++ .../items/minoshroom_trophy.json | 36 ++++ .../items/minotaur_spawn_egg.json | 16 ++ .../items/mist_wolf_spawn_egg.json | 16 ++ .../assets/twilightforest/items/moonworm.json | 9 + .../items/mosquito_swarm_spawn_egg.json | 16 ++ .../twilightforest/items/naga_spawn_egg.json | 16 ++ .../twilightforest/items/naga_trophy.json | 36 ++++ .../items/penguin_spawn_egg.json | 16 ++ .../items/piglin_skull_candle.json | 10 + .../items/pinch_beetle_spawn_egg.json | 16 ++ .../items/player_skull_candle.json | 10 + .../items/quest_ram_spawn_egg.json | 16 ++ .../items/quest_ram_trophy.json | 36 ++++ .../twilightforest/items/raven_spawn_egg.json | 16 ++ .../items/redcap_sapper_spawn_egg.json | 16 ++ .../items/redcap_spawn_egg.json | 16 ++ .../items/skeleton_druid_spawn_egg.json | 16 ++ .../items/skeleton_skull_candle.json | 10 + .../twilightforest/items/skull_chest.json | 9 + .../items/slime_beetle_spawn_egg.json | 16 ++ .../items/snow_guardian_spawn_egg.json | 16 ++ .../items/snow_queen_spawn_egg.json | 16 ++ .../items/snow_queen_trophy.json | 36 ++++ .../twilightforest/items/sorting_chest.json | 10 + .../items/sorting_trapped_chest.json | 10 + .../items/squirrel_spawn_egg.json | 16 ++ .../items/stable_ice_core_spawn_egg.json | 16 ++ .../items/swarm_spider_spawn_egg.json | 16 ++ .../twilightforest/items/time_chest.json | 10 + .../items/time_trapped_chest.json | 10 + .../items/tiny_bird_spawn_egg.json | 16 ++ .../items/towerwood_borer_spawn_egg.json | 16 ++ .../items/transformation_chest.json | 10 + .../items/transformation_trapped_chest.json | 10 + .../twilightforest/items/troll_spawn_egg.json | 16 ++ .../items/twilight_oak_chest.json | 10 + .../items/twilight_oak_trapped_chest.json | 10 + .../items/unstable_ice_core_spawn_egg.json | 16 ++ .../items/ur_ghast_spawn_egg.json | 16 ++ .../twilightforest/items/ur_ghast_trophy.json | 36 ++++ .../items/winter_wolf_spawn_egg.json | 16 ++ .../items/wither_skeleton_skull_candle.json | 10 + .../items/wraith_spawn_egg.json | 16 ++ .../twilightforest/items/yeti_spawn_egg.json | 16 ++ .../items/zombie_skull_candle.json | 10 + .../models/block/canopy_chest.json | 5 + .../models/block/canopy_trapped_chest.json | 5 + .../twilightforest/models/block/cicada.json | 5 + .../models/block/dark_chest.json | 5 + .../models/block/dark_trapped_chest.json | 5 + .../twilightforest/models/block/firefly.json | 5 + .../models/block/keepsake_casket.json | 5 + .../models/block/mangrove_chest.json | 5 + .../models/block/mangrove_trapped_chest.json | 5 + .../models/block/mining_chest.json | 5 + .../models/block/mining_trapped_chest.json | 5 + .../twilightforest/models/block/moonworm.json | 5 + .../models/block/skull_chest.json | 5 + .../models/block/sorting_chest.json | 5 + .../models/block/sorting_trapped_chest.json | 5 + .../models/block/time_chest.json | 5 + .../models/block/time_trapped_chest.json | 5 + .../models/block/transformation_chest.json | 5 + .../block/transformation_trapped_chest.json | 5 + .../models/block/twilight_oak_chest.json | 5 + .../block/twilight_oak_trapped_chest.json | 5 + .../models/item/canopy_chest.json | 6 + .../models/item/canopy_trapped_chest.json | 6 + .../models/item/dark_chest.json | 6 + .../models/item/dark_trapped_chest.json | 6 + .../models/item/major_boss_trophy.json | 6 + .../models/item/mangrove_chest.json | 6 + .../models/item/mangrove_trapped_chest.json | 6 + .../models/item/mining_chest.json | 6 + .../models/item/mining_trapped_chest.json | 6 + .../models/item/minor_boss_trophy.json | 6 + .../models/item/quest_trophy.json | 6 + .../models/item/sorting_chest.json | 6 + .../models/item/sorting_trapped_chest.json | 6 + .../models/item/time_chest.json | 6 + .../models/item/time_trapped_chest.json | 6 + .../models/item/transformation_chest.json | 6 + .../item/transformation_trapped_chest.json | 6 + .../models/item/twilight_oak_chest.json | 6 + .../item/twilight_oak_trapped_chest.json | 6 + .../recipe_priorities.json | 0 .../client/event/RegistrationEvents.java | 85 +++++++- .../client/model/entity/FireflyModel.java | 9 +- .../model/entity/KeepsakeCasketModel.java | 59 ++++++ .../client/model/entity/LichModel.java | 5 +- .../client/model/entity/MoonwormModel.java | 22 +-- .../client/model/entity/SnowQueenModel.java | 1 - .../renderer/block/CandelabraRenderer.java | 11 +- .../client/renderer/block/CicadaRenderer.java | 17 +- .../renderer/block/FireflyRenderer.java | 24 +-- .../block/KeepsakeCasketRenderer.java | 11 +- .../renderer/block/MoonwormRenderer.java | 20 +- .../renderer/block/SkullChestRenderer.java | 76 ++------ .../client/renderer/block/TrophyRenderer.java | 44 +++-- .../special/CandelabraSpecialRenderer.java | 62 ++++++ .../special/CicadaSpecialRenderer.java | 43 ++++ .../special/FireflySpecialRenderer.java | 39 ++++ .../KeepsakeCasketSpecialRenderer.java | 50 +++++ .../KnightmetalShieldSpecialRenderer.java | 59 ++++++ .../special/MoonwormSpecialRenderer.java | 39 ++++ .../special/SkullCandleSpecialRenderer.java | 76 ++++++++ .../special/SkullChestSpecialRenderer.java | 47 +++++ .../special/TrophySpecialRenderer.java | 63 ++++++ .../client/renderer/special/package-info.java | 9 + .../java/twilightforest/init/TFEntities.java | 104 +++++----- .../resources/META-INF/neoforge.mods.toml | 2 +- .../models/block/candelabra.json | 106 ++++++++++ .../models/block/wall_candelabra.json | 74 +++++++ .../models/item/alpha_yeti_trophy.json | 42 ++++ .../twilightforest/models/item/brazier.json | 1 - .../models/item/candelabra.json | 38 ---- .../twilightforest/models/item/cicada.json | 1 - .../twilightforest/models/item/firefly.json | 1 - .../models/item/hydra_trophy.json | 42 ++++ .../models/item/keepsake_casket.json | 1 - .../models/item/knightmetal_shield.json | 1 - .../item/knightmetal_shield_blocking.json | 1 - .../twilightforest/models/item/mason_jar.json | 1 - .../twilightforest/models/item/moonworm.json | 1 - .../models/item/skull_chest.json | 1 - .../models/item/smaller_gui_trophy.json | 42 ++++ .../models/item/template_skull_candle.json | 1 - .../models/item/template_trophy.json | 10 +- .../models/item/ur_ghast_trophy.json | 43 ++++ .../chest/canopy/{single.png => normal.png} | Bin .../canopy/{left.png => normal_left.png} | Bin .../canopy/{right.png => normal_right.png} | Bin .../chest/darkwood/{single.png => normal.png} | Bin .../darkwood/{left.png => normal_left.png} | Bin .../darkwood/{right.png => normal_right.png} | Bin .../chest/mangrove/{single.png => normal.png} | Bin .../mangrove/{left.png => normal_left.png} | Bin .../mangrove/{right.png => normal_right.png} | Bin .../chest/mining/{single.png => normal.png} | Bin .../mining/{left.png => normal_left.png} | Bin .../mining/{right.png => normal_right.png} | Bin .../chest/sorting/{single.png => normal.png} | Bin .../sorting/{left.png => normal_left.png} | Bin .../sorting/{right.png => normal_right.png} | Bin .../chest/time/{single.png => normal.png} | Bin .../chest/time/{left.png => normal_left.png} | Bin .../time/{right.png => normal_right.png} | Bin .../transformation/{single.png => normal.png} | Bin .../{left.png => normal_left.png} | Bin .../{right.png => normal_right.png} | Bin .../single.png => twilight_oak/normal.png} | Bin .../left.png => twilight_oak/normal_left.png} | Bin .../normal_right.png} | Bin .../{twilight => twilight_oak}/trapped.png | Bin .../trapped_left.png | Bin .../trapped_right.png | Bin 259 files changed, 3540 insertions(+), 273 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/candelabra.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cicada.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/creeper_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/creeper_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hydra_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/keepsake_casket.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/knight_phantom_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/minoshroom_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/moonworm.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/piglin_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/piglin_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/player_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/player_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/quest_ram_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/quest_ram_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/skeleton_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/skeleton_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/skull_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/snow_queen_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ur_ghast_wall_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/zombie_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/zombie_wall_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/alpha_yeti_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/alpha_yeti_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/armored_giant_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/bighorn_sheep_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/boar_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/candelabra.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_broodling_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_ghastguard_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_ghastling_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_golem_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/cicada.json create mode 100644 src/generated/resources/assets/twilightforest/items/creeper_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/death_tome_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/deer_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/dwarf_rabbit_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/fire_beetle_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/firefly.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_miner_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/hedge_spider_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/helmet_crab_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/hostile_wolf_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/hydra_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/hydra_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/ice_crystal_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/keepsake_casket.json create mode 100644 src/generated/resources/assets/twilightforest/items/king_spider_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/knight_phantom_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/knight_phantom_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_shield.json create mode 100644 src/generated/resources/assets/twilightforest/items/kobold_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/lich_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/lich_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/lower_goblin_knight_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/maze_slime_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/minoshroom_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/minoshroom_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/minotaur_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/mist_wolf_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/moonworm.json create mode 100644 src/generated/resources/assets/twilightforest/items/mosquito_swarm_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/penguin_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/piglin_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/pinch_beetle_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/player_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/quest_ram_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/quest_ram_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/raven_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/redcap_sapper_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/redcap_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/skeleton_druid_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/skeleton_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/skull_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/slime_beetle_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/snow_guardian_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/snow_queen_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/snow_queen_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/squirrel_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/stable_ice_core_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/swarm_spider_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/tiny_bird_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/towerwood_borer_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/troll_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/items/unstable_ice_core_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/ur_ghast_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/ur_ghast_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/items/winter_wolf_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/wither_skeleton_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/items/wraith_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/yeti_spawn_egg.json create mode 100644 src/generated/resources/assets/twilightforest/items/zombie_skull_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cicada.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/firefly.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/keepsake_casket.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/moonworm.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/skull_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/major_boss_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/minor_boss_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/quest_trophy.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_trapped_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_trapped_chest.json rename src/generated/resources/data/{twilightforest => neoforge}/recipe_priorities.json (100%) create mode 100644 src/main/java/twilightforest/client/model/entity/KeepsakeCasketModel.java create mode 100644 src/main/java/twilightforest/client/renderer/special/CandelabraSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/CicadaSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/FireflySpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/KeepsakeCasketSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/KnightmetalShieldSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/MoonwormSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/SkullCandleSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/SkullChestSpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java create mode 100644 src/main/java/twilightforest/client/renderer/special/package-info.java create mode 100644 src/main/resources/assets/twilightforest/models/block/candelabra.json create mode 100644 src/main/resources/assets/twilightforest/models/block/wall_candelabra.json create mode 100644 src/main/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json delete mode 100644 src/main/resources/assets/twilightforest/models/item/candelabra.json create mode 100644 src/main/resources/assets/twilightforest/models/item/hydra_trophy.json create mode 100644 src/main/resources/assets/twilightforest/models/item/smaller_gui_trophy.json create mode 100644 src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json rename src/main/resources/assets/twilightforest/textures/entity/chest/canopy/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/canopy/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/canopy/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mining/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mining/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/mining/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/sorting/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/sorting/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/sorting/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/time/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/time/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/time/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/transformation/{single.png => normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/transformation/{left.png => normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/transformation/{right.png => normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight/single.png => twilight_oak/normal.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight/left.png => twilight_oak/normal_left.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight/right.png => twilight_oak/normal_right.png} (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight => twilight_oak}/trapped.png (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight => twilight_oak}/trapped_left.png (100%) rename src/main/resources/assets/twilightforest/textures/entity/chest/{twilight => twilight_oak}/trapped_right.png (100%) diff --git a/gradle.properties b/gradle.properties index 5dc4013bb7..5ae3d93add 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ base_minecraft_version=1.21 minecraft_version=1.21.4 # NeoForge: https://projects.neoforged.net/neoforged/neoforge -neo_version=21.4.123 +neo_version=21.4.124 mdg_version=2.0.76 # Deps diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index f90d1e3038..e97a4a0766 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -2,20 +2,26 @@ import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; -import net.minecraft.client.data.models.model.ModelInstance; -import net.minecraft.client.data.models.model.ModelTemplates; -import net.minecraft.client.data.models.model.TextureMapping; -import net.minecraft.client.data.models.model.TexturedModel; +import net.minecraft.client.data.models.model.*; +import net.minecraft.client.renderer.item.ItemModel; +import net.minecraft.client.renderer.item.properties.select.DisplayContext; +import net.minecraft.core.Direction; import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import twilightforest.block.TranslucentBuiltBlock; +import twilightforest.TwilightForestMod; +import twilightforest.block.*; +import twilightforest.client.renderer.special.*; +import twilightforest.enums.BossVariant; import twilightforest.util.TFBlockFamilies; import twilightforest.datagen.helpers.BlockModelBuilders; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; import java.util.function.Consumer; +import java.util.function.Function; public class BlockModelGenerator extends BlockModelBuilders { public BlockModelGenerator(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { @@ -56,5 +62,86 @@ public void run() { ResourceLocation builtOn = TFBlockModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_active", builtMapping, this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.BUILT_BLOCK.get()) .with(PropertyDispatch.property(TranslucentBuiltBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? builtOn : builtOff)))); + + this.generateSpecialModel(TFBlocks.KEEPSAKE_CASKET.get(), Blocks.NETHERITE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/keepsake_casket"), new KeepsakeCasketSpecialRenderer.Unbaked())); + this.generateSpecialModel(TFBlocks.SKULL_CHEST.get(), Blocks.BONE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/skull_chest"), new SkullChestSpecialRenderer.Unbaked())); + this.generateSpecialModel(TFBlocks.CICADA.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/cicada"), new CicadaSpecialRenderer.Unbaked())); + this.generateSpecialModel(TFBlocks.FIREFLY.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/firefly"), new FireflySpecialRenderer.Unbaked())); + this.generateSpecialModel(TFBlocks.MOONWORM.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/moonworm"), new MoonwormSpecialRenderer.Unbaked())); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.CANDELABRA.get()) + .with(PropertyDispatch.property(CandelabraBlock.ON_WALL) + .select(true, Variant.variant().with(VariantProperties.MODEL, TwilightForestMod.prefix("block/wall_candelabra"))) + .select(false, Variant.variant().with(VariantProperties.MODEL, TwilightForestMod.prefix("block/candelabra")))) + .with(PropertyDispatch.property(CandelabraBlock.FACING) + .select(Direction.NORTH, Variant.variant()) + .select(Direction.EAST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)))); + this.itemModelOutput.accept(TFBlocks.CANDELABRA.asItem(), ItemModelUtils.composite(ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFBlocks.CANDELABRA.get())), ItemModelUtils.specialModel(TwilightForestMod.prefix("block/candelabra"), new CandelabraSpecialRenderer.Unbaked()))); + + this.generateSkullCandle(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get()); + this.generateSkullCandle(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get()); + this.generateSkullCandle(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get()); + this.generateSkullCandle(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get()); + this.generateSkullCandle(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get()); + this.generateSkullCandle(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get()); + + var major = ItemModelUtils.plainModel(ModelTemplates.FLAT_ITEM.create(TwilightForestMod.prefix("item/major_boss_trophy"), TextureMapping.layer0(TwilightForestMod.prefix("item/trophy")), this.modelOutput)); + var minor = ItemModelUtils.plainModel(ModelTemplates.FLAT_ITEM.create(TwilightForestMod.prefix("item/minor_boss_trophy"), TextureMapping.layer0(TwilightForestMod.prefix("item/trophy_minor")), this.modelOutput)); + var quest = ItemModelUtils.plainModel(ModelTemplates.FLAT_ITEM.create(TwilightForestMod.prefix("item/quest_trophy"), TextureMapping.layer0(TwilightForestMod.prefix("item/trophy_quest")), this.modelOutput)); + + this.generateTrophy(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), major); + this.generateTrophy(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), major); + this.generateTrophy(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), minor, "smaller_gui_trophy"); + this.generateTrophy(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), major, "hydra_trophy"); + this.generateTrophy(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), minor, "smaller_gui_trophy"); + this.generateTrophy(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), major, "ur_ghast_trophy"); + this.generateTrophy(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), minor, "alpha_yeti_trophy"); + this.generateTrophy(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), major); + this.generateTrophy(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), quest, "smaller_gui_trophy"); + + this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); + this.createChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal"), false); + this.createChest(TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/normal"), false); + this.createChest(TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/normal"), false); + this.createChest(TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/normal"), false); + this.createChest(TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/normal"), false); + this.createChest(TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/normal"), false); + this.createChest(TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/normal"), false); + + this.createChest(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/trapped"), false); + this.createChest(TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/trapped"), false); + this.createChest(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/trapped"), false); + this.createChest(TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/trapped"), false); + this.createChest(TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/trapped"), false); + this.createChest(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/trapped"), false); + this.createChest(TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/trapped"), false); + this.createChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped"), false); + } + + public void generateSpecialModel(B block, Block particleBlock, Function itemModel) { + this.createParticleOnlyBlock(block, particleBlock); + this.itemModelOutput.accept(block.asItem(), itemModel.apply(block)); + } + + public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate) { + this.generateTrophy(floor, wall, backplate, "template_trophy"); + } + + public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate, String existingTrophy) { + ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); + this.blockStateOutput.accept(createSimpleBlock(floor, template)); + this.blockStateOutput.accept(createSimpleBlock(wall, template)); + var itemTrophy = ItemModelUtils.specialModel(ModelLocationUtils.decorateItemModelLocation("twilightforest:" + existingTrophy), new TrophySpecialRenderer.Unbaked(floor.getVariant())); + this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.select(new DisplayContext(), itemTrophy, + ItemModelUtils.when(ItemDisplayContext.GUI, ItemModelUtils.composite(backplate, itemTrophy)))); + } + + public void generateSkullCandle(AbstractSkullCandleBlock floor, AbstractSkullCandleBlock wall) { + ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); + this.blockStateOutput.accept(createSimpleBlock(floor, template)); + this.blockStateOutput.accept(createSimpleBlock(wall, template)); + this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.specialModel(TwilightForestMod.prefix("item/template_skull_candle"), new SkullCandleSpecialRenderer.Unbaked(floor.getType()))); } } diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index 60f88b2199..e22971ce69 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -1,11 +1,31 @@ package twilightforest.datagen.assets.models; import net.minecraft.client.data.models.ItemModelOutput; -import net.minecraft.client.data.models.model.ModelInstance; +import net.minecraft.client.data.models.model.*; +import net.minecraft.client.renderer.item.ItemModel; +import net.minecraft.client.renderer.item.properties.select.DisplayContext; +import net.minecraft.client.renderer.special.ChestSpecialRenderer; +import net.minecraft.client.renderer.special.ShieldSpecialRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SkullBlock; +import net.neoforged.neoforge.capabilities.IBlockCapabilityProvider; +import org.w3c.dom.Text; +import twilightforest.TwilightForestMod; +import twilightforest.client.renderer.special.*; import twilightforest.datagen.helpers.ItemModelBuilders; +import twilightforest.enums.BossVariant; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFItems; +import java.util.List; import java.util.function.BiConsumer; +import java.util.function.Function; public class ItemModelGenerator extends ItemModelBuilders { public ItemModelGenerator(ItemModelOutput output, BiConsumer modelOutput) { @@ -14,6 +34,68 @@ public ItemModelGenerator(ItemModelOutput output, BiConsumer SkullChestRenderer.create(true)); - event.registerLayerDefinition(TFModelLayers.SKULL_CHEST, () -> SkullChestRenderer.create(false)); + event.registerLayerDefinition(TFModelLayers.KEEPSAKE_CASKET, () -> KeepsakeCasketModel.create(true)); + event.registerLayerDefinition(TFModelLayers.SKULL_CHEST, () -> KeepsakeCasketModel.create(false)); event.registerLayerDefinition(TFModelLayers.MOONWORM, MoonwormModel::create); event.registerLayerDefinition(TFModelLayers.BRAZIER, BrazierModel::create); @@ -535,6 +540,76 @@ private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerD event.registerLayerDefinition(TFModelLayers.KNIGHTMETAL_SHIELD, KnightmetalShieldModel::create); } + private static void registerSpecialModelTypes(RegisterSpecialModelRendererEvent event) { + event.register(TwilightForestMod.prefix("skull_candle"), SkullCandleSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("keepsake_casket"), KeepsakeCasketSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("skull_chest"), SkullChestSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("candelabra"), CandelabraSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("boss_trophy"), TrophySpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("cicada"), CicadaSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("firefly"), FireflySpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("moonworm"), MoonwormSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("knightmetal_shield"), KnightmetalShieldSpecialRenderer.Unbaked.MAP_CODEC); + } + + private static void registerSpecialModels(RegisterSpecialBlockModelRendererEvent event) { + event.register(TFBlocks.TWILIGHT_OAK_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/normal"))); + event.register(TFBlocks.CANOPY_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/normal"))); + event.register(TFBlocks.MANGROVE_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/normal"))); + event.register(TFBlocks.DARK_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/normal"))); + event.register(TFBlocks.TIME_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/normal"))); + event.register(TFBlocks.TRANSFORMATION_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/normal"))); + event.register(TFBlocks.MINING_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/normal"))); + event.register(TFBlocks.SORTING_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/normal"))); + event.register(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/trapped"))); + event.register(TFBlocks.CANOPY_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/trapped"))); + event.register(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/trapped"))); + event.register(TFBlocks.DARK_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/trapped"))); + event.register(TFBlocks.TIME_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/trapped"))); + event.register(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/trapped"))); + event.register(TFBlocks.MINING_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/trapped"))); + event.register(TFBlocks.SORTING_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/trapped"))); + + event.register(TFBlocks.SKULL_CHEST.get(), new SkullChestSpecialRenderer.Unbaked()); + event.register(TFBlocks.KEEPSAKE_CASKET.get(), new KeepsakeCasketSpecialRenderer.Unbaked()); + event.register(TFBlocks.CANDELABRA.get(), new CandelabraSpecialRenderer.Unbaked()); + event.register(TFBlocks.CICADA.get(), new CicadaSpecialRenderer.Unbaked()); + event.register(TFBlocks.FIREFLY.get(), new FireflySpecialRenderer.Unbaked()); + event.register(TFBlocks.MOONWORM.get(), new MoonwormSpecialRenderer.Unbaked()); + + event.register(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.ZOMBIE)); + event.register(TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.ZOMBIE)); + event.register(TFBlocks.SKELETON_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.SKELETON)); + event.register(TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.SKELETON)); + event.register(TFBlocks.CREEPER_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.CREEPER)); + event.register(TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.CREEPER)); + event.register(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.WITHER_SKELETON)); + event.register(TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.WITHER_SKELETON)); + event.register(TFBlocks.PLAYER_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.PLAYER)); + event.register(TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.PLAYER)); + event.register(TFBlocks.PIGLIN_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.PIGLIN)); + event.register(TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.PIGLIN)); + + event.register(TFBlocks.NAGA_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.NAGA)); + event.register(TFBlocks.NAGA_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.NAGA)); + event.register(TFBlocks.LICH_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.LICH)); + event.register(TFBlocks.LICH_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.LICH)); + event.register(TFBlocks.MINOSHROOM_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.MINOSHROOM)); + event.register(TFBlocks.MINOSHROOM_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.MINOSHROOM)); + event.register(TFBlocks.HYDRA_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.HYDRA)); + event.register(TFBlocks.HYDRA_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.HYDRA)); + event.register(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.KNIGHT_PHANTOM)); + event.register(TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.KNIGHT_PHANTOM)); + event.register(TFBlocks.UR_GHAST_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.UR_GHAST)); + event.register(TFBlocks.UR_GHAST_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.UR_GHAST)); + event.register(TFBlocks.ALPHA_YETI_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.ALPHA_YETI)); + event.register(TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.ALPHA_YETI)); + event.register(TFBlocks.SNOW_QUEEN_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.SNOW_QUEEN)); + event.register(TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.SNOW_QUEEN)); + event.register(TFBlocks.QUEST_RAM_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.QUEST_RAM)); + event.register(TFBlocks.QUEST_RAM_WALL_TROPHY.get(), new TrophySpecialRenderer.Unbaked(BossVariant.QUEST_RAM)); + } + private static void registerParticleFactories(RegisterParticleProvidersEvent event) { event.registerSpriteSet(TFParticleType.LARGE_FLAME.get(), LargeFlameParticle.Factory::new); event.registerSpriteSet(TFParticleType.LEAF_RUNE.get(), LeafRuneParticle.Factory::new); diff --git a/src/main/java/twilightforest/client/model/entity/FireflyModel.java b/src/main/java/twilightforest/client/model/entity/FireflyModel.java index 076dd83968..0d7b1f68a1 100644 --- a/src/main/java/twilightforest/client/model/entity/FireflyModel.java +++ b/src/main/java/twilightforest/client/model/entity/FireflyModel.java @@ -49,7 +49,12 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - public void renderGlow(PoseStack stack, VertexConsumer consumer, float alpha) { - this.glow.render(stack, consumer, 0xF000F0, OverlayTexture.NO_OVERLAY, ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); + public void setupGlow() { + this.glow.skipDraw = true; + } + + public void renderGlow(PoseStack stack, VertexConsumer consumer, int overlay, float alpha) { + this.glow.skipDraw = false; + this.glow.render(stack, consumer, 0xF000F0, overlay, ARGB.colorFromFloat(alpha, 1.0F, 1.0F, 1.0F)); } } diff --git a/src/main/java/twilightforest/client/model/entity/KeepsakeCasketModel.java b/src/main/java/twilightforest/client/model/entity/KeepsakeCasketModel.java new file mode 100644 index 0000000000..b43d2d762b --- /dev/null +++ b/src/main/java/twilightforest/client/model/entity/KeepsakeCasketModel.java @@ -0,0 +1,59 @@ +package twilightforest.client.model.entity; + +import net.minecraft.client.model.Model; +import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.model.geom.PartPose; +import net.minecraft.client.model.geom.builders.CubeListBuilder; +import net.minecraft.client.model.geom.builders.LayerDefinition; +import net.minecraft.client.model.geom.builders.MeshDefinition; +import net.minecraft.client.model.geom.builders.PartDefinition; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.util.Mth; + +public class KeepsakeCasketModel extends Model { + + private final ModelPart lid; + + public KeepsakeCasketModel(ModelPart root) { + super(root, RenderType::entityCutoutNoCull); + this.lid = root.getChild("lid"); + } + + public static LayerDefinition create(boolean addSpikes) { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + var lid = partdefinition.addOrReplaceChild("lid", + CubeListBuilder.create() + .texOffs(0, 0) + .addBox(-8.0F, -8.0F, -13.0F, 16.0F, 10.0F, 14.0F), + PartPose.offset(0.0F, -6.0F, 6.0F)); + + if (addSpikes) { + lid.addOrReplaceChild("spikes", + CubeListBuilder.create().texOffs(0, 46) + .addBox(-8.0F, -10.0F, -13.0F, 16.0F, 2.0F, 0.0F) + .texOffs(2, 34) + .addBox(-7.99F, -10.0F, -12.0F, 0.0F, 2.0F, 14.0F) + .texOffs(2, 36) + .addBox(7.99F, -10.0F, -12.0F, 0.0F, 2.0F, 14.0F), + PartPose.ZERO); + } + + partdefinition.addOrReplaceChild("base", + CubeListBuilder.create() + .texOffs(1, 28) + .addBox(-7.0F, -10.0F, -2.0F, 14.0F, 10.0F, 8.0F) + .texOffs(0, 26) + .addBox(-7.0F, -10.0F, -6.0F, 1.0F, 6.0F, 4.0F) + .texOffs(40, 26) + .addBox(6.0F, -10.0F, -6.0F, 1.0F, 6.0F, 4.0F) + .texOffs(0, 56) + .addBox(-7.0F, -4.0F, -6.0F, 14.0F, 4.0F, 4.0F), + PartPose.offset(0.0F, -0.01F, 0.0F)); + return LayerDefinition.create(meshdefinition, 64, 64); + } + + public void setupAnim(float rotation) { + this.lid.xRot = rotation * -Mth.HALF_PI; + } +} diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index 4ef661cb89..e1d861efe1 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -30,7 +30,7 @@ public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create() + partdefinition.getChild("head").addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-4.0F, -12.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.5F)), PartPose.ZERO); @@ -136,14 +136,11 @@ public void translateToHand(HumanoidArm arm, PoseStack stack) { public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) { this.head.yRot = y * Mth.DEG_TO_RAD; this.head.xRot = z * Mth.DEG_TO_RAD; - this.hat.yRot = this.head.yRot; - this.hat.xRot = this.head.xRot; } @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(LichRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); - this.hat.render(stack, consumer, light, overlay, color); } } diff --git a/src/main/java/twilightforest/client/model/entity/MoonwormModel.java b/src/main/java/twilightforest/client/model/entity/MoonwormModel.java index 8c47daddba..4e452bbff3 100644 --- a/src/main/java/twilightforest/client/model/entity/MoonwormModel.java +++ b/src/main/java/twilightforest/client/model/entity/MoonwormModel.java @@ -62,28 +62,18 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - public void setRotationAngles(@Nullable MoonwormBlockEntity moonworm, float partialTime) { + public void setupAnim(float rotation, int delay) { this.head.y = 7.0F; this.shape1.y = 7.0F; this.shape2.y = 7.0F; this.shape3.y = 7.0F; - if (moonworm != null && moonworm.yawDelay == 0) { - float time = (moonworm.desiredYaw - moonworm.currentYaw) - partialTime; - - // moving - this.head.y += Math.min(0.0F, Mth.sin(time / 2.0F)); - this.shape1.y += Math.min(0.0F, Mth.sin(time / 2.0F + 1.0F)); - this.shape2.y += Math.min(0.0F, Mth.sin(time / 2.0F + 2.0F)); - this.shape3.y += Math.min(0.0F, Mth.sin(time / 2.0F + 3.0F)); - } else if (moonworm == null && BugModelAnimationHelper.yawWriggleDelay == 0) { - float time = (BugModelAnimationHelper.desiredRotation - BugModelAnimationHelper.currentRotation) - partialTime; - + if (delay == 0) { // moving - this.head.y += Math.min(0.0F, Mth.sin(time / 2.0F)); - this.shape1.y += Math.min(0.0F, Mth.sin(time / 2.0F + 1.0F)); - this.shape2.y += Math.min(0.0F, Mth.sin(time / 2.0F + 2.0F)); - this.shape3.y += Math.min(0.0F, Mth.sin(time / 2.0F + 3.0F)); + this.head.y += Math.min(0.0F, Mth.sin(rotation / 2.0F)); + this.shape1.y += Math.min(0.0F, Mth.sin(rotation / 2.0F + 1.0F)); + this.shape2.y += Math.min(0.0F, Mth.sin(rotation / 2.0F + 2.0F)); + this.shape3.y += Math.min(0.0F, Mth.sin(rotation / 2.0F + 3.0F)); } } } diff --git a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java index d07107f73f..c0cf47b6ac 100644 --- a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java +++ b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java @@ -211,7 +211,6 @@ public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, i } VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(SnowQueenRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); - this.hat.render(stack, consumer, light, overlay, color); } @Override diff --git a/src/main/java/twilightforest/client/renderer/block/CandelabraRenderer.java b/src/main/java/twilightforest/client/renderer/block/CandelabraRenderer.java index 874ba0b3ec..271c39d9f1 100644 --- a/src/main/java/twilightforest/client/renderer/block/CandelabraRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/CandelabraRenderer.java @@ -6,11 +6,13 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CandleBlock; import net.minecraft.world.level.block.state.BlockState; import twilightforest.block.CandelabraBlock; import twilightforest.block.LightableBlock; import twilightforest.block.entity.CandelabraBlockEntity; +import twilightforest.components.item.CandelabraData; public class CandelabraRenderer implements BlockEntityRenderer { @@ -20,10 +22,13 @@ public CandelabraRenderer(BlockEntityRendererProvider.Context context) { @Override public void render(T entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { - BlockState state = entity.getBlockState(); + renderCandles(entity.getBlockState(), entity.getCandles(), stack, buffer, light, overlay); + } + + public static void renderCandles(BlockState state, CandelabraData data, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { Direction direction = state.getValue(CandelabraBlock.FACING); - for (int i = 0; i < entity.getCandles().ordered().size(); i++) { + for (int i = 0; i < data.ordered().size(); i++) { stack.pushPose(); float offset = (0.315F - 0.315F * i); if (state.getValue(CandelabraBlock.ON_WALL)) { @@ -31,7 +36,7 @@ public void render(T entity, float partialTicks, PoseStack stack, MultiBufferSou } else { stack.translate(-Math.abs(direction.getStepZ()) * offset, 0.44F, -Math.abs(direction.getStepX()) * offset); } - BlockState candle = entity.getCandle(i).defaultBlockState(); + BlockState candle = CandelabraData.getItem(data.ordered(), i).orElse(Blocks.AIR).defaultBlockState(); if (candle.hasProperty(CandleBlock.LIT)) candle = candle.setValue(CandleBlock.LIT, state.getValue(CandelabraBlock.LIGHTING) == LightableBlock.Lighting.NORMAL); if (!candle.isAir()) { diff --git a/src/main/java/twilightforest/client/renderer/block/CicadaRenderer.java b/src/main/java/twilightforest/client/renderer/block/CicadaRenderer.java index 937fb2c368..dc3913cfe7 100644 --- a/src/main/java/twilightforest/client/renderer/block/CicadaRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/CicadaRenderer.java @@ -19,28 +19,27 @@ public class CicadaRenderer implements BlockEntityRenderer { private final CicadaModel cicadaModel; - private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("cicada-model.png"); + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("cicada-model.png"); public CicadaRenderer(BlockEntityRendererProvider.Context context) { this.cicadaModel = new CicadaModel(context.bakeLayer(TFModelLayers.CICADA)); } @Override - public void render(@Nullable CicadaBlockEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { - int yaw = entity != null ? entity.currentYaw : BugModelAnimationHelper.currentYaw; + public void render(CicadaBlockEntity entity, float partialTick, PoseStack stack, MultiBufferSource source, int light, int overlay) { + renderCicada(this.cicadaModel, entity.currentYaw, entity.randRot, entity.getBlockState().getValue(DirectionalBlock.FACING), stack, source, light, overlay); + } + public static void renderCicada(CicadaModel model, float yaw, float rotation, Direction facing, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { stack.pushPose(); - Direction facing = entity != null ? entity.getBlockState().getValue(DirectionalBlock.FACING) : Direction.NORTH; - float randRot = entity != null ? entity.randRot : 0.0F; - stack.translate(0.5F, 0.5F, 0.5F); stack.mulPose(facing.getRotation()); stack.mulPose(Axis.ZP.rotationDegrees(180.0F)); - stack.mulPose(Axis.YP.rotationDegrees(180.0F + randRot)); + stack.mulPose(Axis.YP.rotationDegrees(180.0F + rotation)); stack.mulPose(Axis.YN.rotationDegrees(yaw)); - VertexConsumer consumer = buffer.getBuffer(this.cicadaModel.renderType(TEXTURE)); - this.cicadaModel.renderToBuffer(stack, consumer, light, overlay); + VertexConsumer consumer = buffer.getBuffer(model.renderType(TEXTURE)); + model.renderToBuffer(stack, consumer, light, overlay); stack.popPose(); } } diff --git a/src/main/java/twilightforest/client/renderer/block/FireflyRenderer.java b/src/main/java/twilightforest/client/renderer/block/FireflyRenderer.java index cd520fe180..4fd3c1f702 100644 --- a/src/main/java/twilightforest/client/renderer/block/FireflyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/FireflyRenderer.java @@ -21,36 +21,32 @@ public class FireflyRenderer implements BlockEntityRenderer { private final FireflyModel fireflyModel; - private static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("firefly-tiny.png"); + public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("firefly-tiny.png"); public FireflyRenderer(BlockEntityRendererProvider.Context context) { this.fireflyModel = new FireflyModel(context.bakeLayer(TFModelLayers.FIREFLY)); } @Override - public void render(@Nullable FireflyBlockEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { - int yaw = entity != null ? entity.currentYaw : BugModelAnimationHelper.currentYaw; - float glow = entity != null ? entity.glowIntensity : BugModelAnimationHelper.glowIntensity; - float randRot = entity != null ? entity.randRot : 0.0F; + public void render(FireflyBlockEntity entity, float partialTick, PoseStack stack, MultiBufferSource source, int light, int overlay) { + renderFirefly(this.fireflyModel, entity.currentYaw, entity.glowIntensity, entity.randRot, entity.getBlockState().getValue(DirectionalBlock.FACING), stack, source, light, overlay); + } + public static void renderFirefly(FireflyModel model, int yaw, float glow, float rotation, Direction facing, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { stack.pushPose(); - Direction facing = entity != null ? entity.getBlockState().getValue(DirectionalBlock.FACING) : Direction.NORTH; - stack.translate(0.5F, 0.5F, 0.5F); stack.mulPose(facing.getRotation()); stack.mulPose(Axis.ZP.rotationDegrees(180.0F)); - stack.mulPose(Axis.YP.rotationDegrees(180.0F + randRot)); + stack.mulPose(Axis.YP.rotationDegrees(180.0F + rotation)); stack.mulPose(Axis.YN.rotationDegrees(yaw)); - stack.pushPose(); - VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutout(TEXTURE)); - this.fireflyModel.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); + model.setupGlow(); + model.renderToBuffer(stack, consumer, light, overlay); - consumer = buffer.getBuffer(RenderType.entityTranslucent(TEXTURE)); - this.fireflyModel.renderGlow(stack, consumer, glow); + consumer = buffer.getBuffer(RenderType.entityTranslucentEmissive(TEXTURE)); + model.renderGlow(stack, consumer, overlay, glow); stack.popPose(); - stack.popPose(); } } diff --git a/src/main/java/twilightforest/client/renderer/block/KeepsakeCasketRenderer.java b/src/main/java/twilightforest/client/renderer/block/KeepsakeCasketRenderer.java index bc6a51d5bf..9bc5befa44 100644 --- a/src/main/java/twilightforest/client/renderer/block/KeepsakeCasketRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/KeepsakeCasketRenderer.java @@ -15,7 +15,7 @@ import java.util.List; public class KeepsakeCasketRenderer extends SkullChestRenderer { - private static final List CASKET_TEXTURES = List.of( + public static final List CASKET_TEXTURES = List.of( TwilightForestMod.getModelTexture("casket/keepsake_casket_0.png"), TwilightForestMod.getModelTexture("casket/keepsake_casket_1.png"), TwilightForestMod.getModelTexture("casket/keepsake_casket_2.png") @@ -25,15 +25,12 @@ public KeepsakeCasketRenderer(BlockEntityRendererProvider.Context context) { super(context, TFModelLayers.KEEPSAKE_CASKET); } - @NotNull @Override - protected ResourceLocation getTextureLocation(BlockState blockstate) { - return this.getTextureLocation(blockstate.getValue(KeepsakeCasketBlock.BREAKAGE)); + protected ResourceLocation getTextureLocation(BlockState state) { + return getTextureLocation(state.getValue(KeepsakeCasketBlock.BREAKAGE)); } - @NotNull - @Override - public ResourceLocation getTextureLocation(int damage) { + public static ResourceLocation getTextureLocation(int damage) { return CASKET_TEXTURES.get(Mth.clamp(damage, 0, CASKET_TEXTURES.size() - 1)); } } diff --git a/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java b/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java index dbbcae0952..75c817acfd 100644 --- a/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/MoonwormRenderer.java @@ -13,9 +13,11 @@ import net.minecraft.world.level.block.DirectionalBlock; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; +import twilightforest.block.entity.CicadaBlockEntity; import twilightforest.block.entity.MoonwormBlockEntity; import twilightforest.client.BugModelAnimationHelper; import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.CicadaModel; import twilightforest.client.model.entity.MoonwormModel; public class MoonwormRenderer implements BlockEntityRenderer { @@ -28,23 +30,21 @@ public MoonwormRenderer(BlockEntityRendererProvider.Context context) { } @Override - public void render(@Nullable MoonwormBlockEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { - int yaw = entity != null ? entity.currentYaw : BugModelAnimationHelper.currentRotation; - if (entity == null) partialTicks = Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(); - float randRot = entity != null ? entity.randRot : 0.0F; + public void render(MoonwormBlockEntity entity, float partialTick, PoseStack stack, MultiBufferSource source, int light, int overlay) { + renderMoonworm(this.moonwormModel, entity.currentYaw, entity.randRot, (entity.desiredYaw - entity.currentYaw) - partialTick, entity.yawDelay, entity.getBlockState().getValue(DirectionalBlock.FACING), stack, source, light, overlay); + } + public static void renderMoonworm(MoonwormModel model, float yaw, float rotation, float wiggleRotation, int delay, Direction facing, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { stack.pushPose(); - Direction facing = entity != null ? entity.getBlockState().getValue(DirectionalBlock.FACING) : Direction.NORTH; - stack.translate(0.5F, 0.5F, 0.5F); stack.mulPose(facing.getRotation()); stack.mulPose(Axis.ZP.rotationDegrees(180.0F)); - stack.mulPose(Axis.YP.rotationDegrees(180.0F + randRot)); + stack.mulPose(Axis.YP.rotationDegrees(180.0F + rotation)); stack.mulPose(Axis.YN.rotationDegrees(yaw)); - VertexConsumer consumer = buffer.getBuffer(this.moonwormModel.renderType(TEXTURE)); - this.moonwormModel.setRotationAngles(entity, partialTicks); - this.moonwormModel.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); + VertexConsumer consumer = buffer.getBuffer(model.renderType(TEXTURE)); + model.setupAnim(wiggleRotation, delay); + model.renderToBuffer(stack, consumer, light, OverlayTexture.NO_OVERLAY); stack.popPose(); } diff --git a/src/main/java/twilightforest/client/renderer/block/SkullChestRenderer.java b/src/main/java/twilightforest/client/renderer/block/SkullChestRenderer.java index 1b736abb6a..0dcc1d0e4f 100644 --- a/src/main/java/twilightforest/client/renderer/block/SkullChestRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/SkullChestRenderer.java @@ -3,6 +3,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; +import net.minecraft.client.model.Model; import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.model.geom.ModelPart; @@ -25,62 +26,20 @@ import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.KeepsakeCasketModel; import twilightforest.init.TFBlocks; -/** - * Keepsake Casket Model - MCVinnyq - * Created using Tabula 8.0.0 - */ -//Most of the other stuff is derived from ChestRenderer public class SkullChestRenderer implements BlockEntityRenderer { - private static final ResourceLocation SKULL_CHEST_TEXTURE = TwilightForestMod.getModelTexture("casket/skull_chest.png"); + public static final ResourceLocation SKULL_CHEST_TEXTURE = TwilightForestMod.getModelTexture("casket/skull_chest.png"); - private final ModelPart base; - private final ModelPart lid; + private final KeepsakeCasketModel model; public SkullChestRenderer(BlockEntityRendererProvider.Context context) { this(context, TFModelLayers.SKULL_CHEST); } public SkullChestRenderer(BlockEntityRendererProvider.Context context, ModelLayerLocation layer) { - var root = context.bakeLayer(layer); - - this.base = root.getChild("base"); - this.lid = root.getChild("lid"); - } - - public static LayerDefinition create(boolean addSpikes) { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - var lid = partdefinition.addOrReplaceChild("lid", - CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-8.0F, -8.0F, -13.0F, 16.0F, 10.0F, 14.0F), - PartPose.offset(0.0F, -6.0F, 6.0F)); - - if (addSpikes) { - lid.addOrReplaceChild("spikes", - CubeListBuilder.create().texOffs(0, 46) - .addBox(-8.0F, -10.0F, -13.0F, 16.0F, 2.0F, 0.0F) - .texOffs(2, 34) - .addBox(-7.99F, -10.0F, -12.0F, 0.0F, 2.0F, 14.0F) - .texOffs(2, 36) - .addBox(7.99F, -10.0F, -12.0F, 0.0F, 2.0F, 14.0F), - PartPose.ZERO); - } - - partdefinition.addOrReplaceChild("base", - CubeListBuilder.create() - .texOffs(1, 28) - .addBox(-7.0F, -10.0F, -2.0F, 14.0F, 10.0F, 8.0F) - .texOffs(0, 26) - .addBox(-7.0F, -10.0F, -6.0F, 1.0F, 6.0F, 4.0F) - .texOffs(40, 26) - .addBox(6.0F, -10.0F, -6.0F, 1.0F, 6.0F, 4.0F) - .texOffs(0, 56) - .addBox(-7.0F, -4.0F, -6.0F, 14.0F, 4.0F, 4.0F), - PartPose.offset(0.0F, -0.01F, 0.0F)); - return LayerDefinition.create(meshdefinition, 64, 64); + this.model = new KeepsakeCasketModel(context.bakeLayer(layer)); } @Override @@ -90,35 +49,24 @@ public void render(T entity, float partialTicks, PoseStack stack, MultiBufferSou ResourceLocation textureLocation = this.getTextureLocation(blockstate); Direction facing = blockstate.getValue(HorizontalDirectionalBlock.FACING); - this.renderCasket(entity.getOpenNess(partialTicks), stack, buffer, light, overlay, textureLocation, facing); + renderCasket(entity.getOpenNess(partialTicks), stack, buffer, light, overlay, textureLocation, facing, this.model); } - public void renderCasket(float lidRotation, PoseStack stack, MultiBufferSource buffer, int light, int overlay, ResourceLocation texture, Direction facing) { + public static void renderCasket(float lidRotation, PoseStack stack, MultiBufferSource buffer, int light, int overlay, ResourceLocation texture, Direction facing, KeepsakeCasketModel model) { stack.pushPose(); stack.translate(0.5F, 0.0F, 0.5F); - stack.mulPose(facing.getRotation()); - stack.mulPose(Axis.XP.rotationDegrees(90.0F)); + stack.mulPose(Axis.YP.rotationDegrees(-facing.toYRot())); + stack.scale(1.0F, -1.0F, -1.0F); lidRotation = 1.0F - lidRotation; lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; - this.renderModels(stack, buffer.getBuffer(RenderType.entityCutoutNoCull(texture)), this.lid, this.base, lidRotation, light, overlay); + model.setupAnim(lidRotation); + model.renderToBuffer(stack, buffer.getBuffer(model.renderType(texture)), light, overlay); stack.popPose(); } - private void renderModels(PoseStack stack, VertexConsumer buffer, ModelPart lid, ModelPart base, float lidAngle, int light, int overlay) { - lid.xRot = lidAngle * -Mth.HALF_PI; - lid.render(stack, buffer, light, overlay); - base.render(stack, buffer, light, overlay); - } - - @NotNull - protected ResourceLocation getTextureLocation(BlockState blockstate) { - return SKULL_CHEST_TEXTURE; - } - - @NotNull - public ResourceLocation getTextureLocation(int damage) { + protected ResourceLocation getTextureLocation(BlockState state) { return SKULL_CHEST_TEXTURE; } } diff --git a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java index 1cc6ca80bc..7cfb9ac687 100644 --- a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java @@ -1,7 +1,7 @@ package twilightforest.client.renderer.block; -import com.google.common.collect.ImmutableMap; import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.Util; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; @@ -21,28 +21,30 @@ import twilightforest.enums.BossVariant; import twilightforest.init.TFBlocks; -import java.util.Map; +import java.util.function.Function; public class TrophyRenderer implements BlockEntityRenderer { - private final Map trophies; + private final Function modelByType; public TrophyRenderer(BlockEntityRendererProvider.Context context) { - this.trophies = createTrophyRenderers(context.getModelSet()); + this.modelByType = Util.memoize(variant -> createTrophyModel(context.getModelSet(), variant)); } - public static Map createTrophyRenderers(EntityModelSet set) { - ImmutableMap.Builder trophyList = ImmutableMap.builder(); - trophyList.put(BossVariant.NAGA, new NagaModel<>(set.bakeLayer(TFModelLayers.NAGA_TROPHY))); - trophyList.put(BossVariant.LICH, new LichModel(set.bakeLayer(TFModelLayers.LICH_TROPHY))); - trophyList.put(BossVariant.MINOSHROOM, new MinoshroomModel(set.bakeLayer(TFModelLayers.MINOSHROOM_TROPHY))); - trophyList.put(BossVariant.HYDRA, new HydraHeadModel(set.bakeLayer(TFModelLayers.HYDRA_TROPHY))); - trophyList.put(BossVariant.KNIGHT_PHANTOM, new KnightPhantomModel(set.bakeLayer(TFModelLayers.KNIGHT_PHANTOM_TROPHY))); - trophyList.put(BossVariant.UR_GHAST, new UrGhastModel(set.bakeLayer(TFModelLayers.UR_GHAST_TROPHY))); - trophyList.put(BossVariant.ALPHA_YETI, new AlphaYetiModel(set.bakeLayer(TFModelLayers.ALPHA_YETI_TROPHY))); - trophyList.put(BossVariant.SNOW_QUEEN, new SnowQueenModel(set.bakeLayer(TFModelLayers.SNOW_QUEEN_TROPHY))); - trophyList.put(BossVariant.QUEST_RAM, new QuestRamModel(set.bakeLayer(TFModelLayers.QUEST_RAM_TROPHY))); - return trophyList.build(); + @Nullable + public static TrophyBlockModel createTrophyModel(EntityModelSet set, BossVariant variant) { + return switch (variant) { + case NAGA -> new NagaModel<>(set.bakeLayer(TFModelLayers.NAGA_TROPHY)); + case LICH -> new LichModel(set.bakeLayer(TFModelLayers.LICH_TROPHY)); + case MINOSHROOM -> new MinoshroomModel(set.bakeLayer(TFModelLayers.MINOSHROOM_TROPHY)); + case HYDRA -> new HydraHeadModel(set.bakeLayer(TFModelLayers.HYDRA_TROPHY)); + case KNIGHT_PHANTOM -> new KnightPhantomModel(set.bakeLayer(TFModelLayers.KNIGHT_PHANTOM_TROPHY)); + case UR_GHAST -> new UrGhastModel(set.bakeLayer(TFModelLayers.UR_GHAST_TROPHY)); + case ALPHA_YETI -> new AlphaYetiModel(set.bakeLayer(TFModelLayers.ALPHA_YETI_TROPHY)); + case SNOW_QUEEN -> new SnowQueenModel(set.bakeLayer(TFModelLayers.SNOW_QUEEN_TROPHY)); + case QUEST_RAM -> new QuestRamModel(set.bakeLayer(TFModelLayers.QUEST_RAM_TROPHY)); + case FINAL_BOSS -> null; //lol + }; } public static final ItemStack stack = new ItemStack(TFBlocks.NAGA_TROPHY.get()); @@ -55,20 +57,20 @@ public void render(TrophyBlockEntity entity, float partialTicks, PoseStack stack Direction direction = flag ? blockstate.getValue(TrophyWallBlock.FACING) : null; float f1 = 22.5F * (flag ? (2 + direction.get2DDataValue()) * 4 : blockstate.getValue(TrophyBlock.ROTATION)); BossVariant variant = ((AbstractTrophyBlock) blockstate.getBlock()).getVariant(); - TrophyBlockModel model = this.trophies.get(variant); - render(direction, f1, model, variant, f, stack, buffer, light, ItemDisplayContext.NONE); + TrophyBlockModel model = this.modelByType.apply(variant); + render(direction, f1, model, variant != BossVariant.UR_GHAST, f, stack, buffer, light, overlay, ItemDisplayContext.NONE); } - public static void render(@Nullable Direction direction, float y, TrophyBlockModel model, BossVariant variant, float animationProgress, PoseStack stack, MultiBufferSource buffer, int light, ItemDisplayContext context) { + public static void render(@Nullable Direction direction, float y, TrophyBlockModel model, boolean snapToWalls, float animationProgress, PoseStack stack, MultiBufferSource buffer, int light, int overlay, ItemDisplayContext context) { stack.pushPose(); - if (direction == null || variant == BossVariant.UR_GHAST) { + if (direction == null || !snapToWalls) { stack.translate(0.5D, 0.0D, 0.5D); } else { stack.translate(0.5F - direction.getStepX() * 0.249F, 0.25D, 0.5F - direction.getStepZ() * 0.249F); } stack.scale(-1.0F, -1.0F, 1.0F); model.setupRotationsForTrophy(animationProgress * 4.5F, y, 0.0F, context == ItemDisplayContext.GUI ? 0.35F : direction != null ? 0.5F : 0.0F); - model.renderTrophy(stack, buffer, light, OverlayTexture.NO_OVERLAY, -1, context); + model.renderTrophy(stack, buffer, light, overlay, -1, context); stack.popPose(); } } diff --git a/src/main/java/twilightforest/client/renderer/special/CandelabraSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/CandelabraSpecialRenderer.java new file mode 100644 index 0000000000..adb84dc9ec --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/CandelabraSpecialRenderer.java @@ -0,0 +1,62 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.datafixers.util.Pair; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.SkullModelBase; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.SkullBlockRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponents; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ResolvableProfile; +import net.minecraft.world.level.block.CandleBlock; +import net.minecraft.world.level.block.SkullBlock; +import net.neoforged.neoforge.client.model.data.ModelData; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import twilightforest.block.AbstractSkullCandleBlock; +import twilightforest.block.entity.CandelabraBlockEntity; +import twilightforest.client.renderer.block.CandelabraRenderer; +import twilightforest.components.item.CandelabraData; +import twilightforest.components.item.SkullCandles; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFDataComponents; + +import java.util.Optional; + +public record CandelabraSpecialRenderer() implements SpecialModelRenderer { + + @Nullable + @Override + public CandelabraData extractArgument(ItemStack stack) { + return stack.get(TFDataComponents.CANDELABRA_DATA); + } + + @Override + public void render(@Nullable CandelabraData data, ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + if (data != null) { + CandelabraRenderer.renderCandles(TFBlocks.CANDELABRA.get().defaultBlockState(), data, stack, source, light, overlay); + } + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(CandelabraSpecialRenderer.Unbaked::new); + + public MapCodec type() { + return MAP_CODEC; + } + + public SpecialModelRenderer bake(EntityModelSet set) { + return new CandelabraSpecialRenderer(); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/CicadaSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/CicadaSpecialRenderer.java new file mode 100644 index 0000000000..cf9e3bcb28 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/CicadaSpecialRenderer.java @@ -0,0 +1,43 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.model.Model; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import twilightforest.client.BugModelAnimationHelper; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.CicadaModel; +import twilightforest.client.model.entity.KeepsakeCasketModel; +import twilightforest.client.renderer.block.CicadaRenderer; +import twilightforest.client.renderer.block.SkullChestRenderer; + +import java.util.function.Function; + +public record CicadaSpecialRenderer(CicadaModel model) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + CicadaRenderer.renderCicada(this.model(), BugModelAnimationHelper.currentYaw, 0.0F, Direction.NORTH, stack, source, light, overlay); + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(CicadaSpecialRenderer.Unbaked::new); + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new CicadaSpecialRenderer(new CicadaModel(set.bakeLayer(TFModelLayers.CICADA))); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/FireflySpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/FireflySpecialRenderer.java new file mode 100644 index 0000000000..e3b2d7bbad --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/FireflySpecialRenderer.java @@ -0,0 +1,39 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.serialization.MapCodec; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import twilightforest.client.BugModelAnimationHelper; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.CicadaModel; +import twilightforest.client.model.entity.FireflyModel; +import twilightforest.client.renderer.block.CicadaRenderer; +import twilightforest.client.renderer.block.FireflyRenderer; + +public record FireflySpecialRenderer(FireflyModel model) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + FireflyRenderer.renderFirefly(this.model(), BugModelAnimationHelper.currentYaw, BugModelAnimationHelper.glowIntensity, 0.0F, Direction.NORTH, stack, source, light, overlay); + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(FireflySpecialRenderer.Unbaked::new); + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new FireflySpecialRenderer(new FireflyModel(set.bakeLayer(TFModelLayers.FIREFLY))); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/KeepsakeCasketSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/KeepsakeCasketSpecialRenderer.java new file mode 100644 index 0000000000..ef718266c9 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/KeepsakeCasketSpecialRenderer.java @@ -0,0 +1,50 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.KeepsakeCasketModel; +import twilightforest.client.renderer.block.KeepsakeCasketRenderer; +import twilightforest.init.TFDataComponents; + +public record KeepsakeCasketSpecialRenderer(KeepsakeCasketModel model, float openness) implements SpecialModelRenderer { + + @Override + public Integer extractArgument(ItemStack stack) { + return stack.getOrDefault(TFDataComponents.CASKET_DAMAGE, 0); + } + + @Override + public void render(Integer damage, ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + KeepsakeCasketRenderer.renderCasket(this.openness, stack, source, light, overlay, KeepsakeCasketRenderer.getTextureLocation(damage), Direction.NORTH, this.model); + } + + public record Unbaked(float openness) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.FLOAT.optionalFieldOf("openness", 0.0F).forGetter(KeepsakeCasketSpecialRenderer.Unbaked::openness)) + .apply(instance, KeepsakeCasketSpecialRenderer.Unbaked::new)); + + public Unbaked() { + this(0.0F); + } + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + KeepsakeCasketModel model = new KeepsakeCasketModel(set.bakeLayer(TFModelLayers.KEEPSAKE_CASKET)); + return new KeepsakeCasketSpecialRenderer(model, this.openness); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/KnightmetalShieldSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/KnightmetalShieldSpecialRenderer.java new file mode 100644 index 0000000000..b1fe59169f --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/KnightmetalShieldSpecialRenderer.java @@ -0,0 +1,59 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.serialization.MapCodec; +import net.minecraft.client.model.ShieldModel; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.model.geom.ModelLayers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.blockentity.BannerRenderer; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.client.resources.model.Material; +import net.minecraft.client.resources.model.ModelBakery; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BannerPatternLayers; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import twilightforest.TwilightForestMod; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.KnightmetalShieldModel; + +import javax.annotation.Nullable; +import java.util.Objects; + +public record KnightmetalShieldSpecialRenderer(KnightmetalShieldModel model) implements NoDataSpecialModelRenderer { + + private static final Material SHIELD_BASE = new Material(Sheets.SHIELD_SHEET, TwilightForestMod.prefix("entity/knightmetal_shield")); + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + stack.pushPose(); + stack.scale(1.0F, -1.0F, -1.0F); + VertexConsumer vertexconsumer = SHIELD_BASE.sprite().wrap(ItemRenderer.getFoilBuffer(source, this.model().renderType(SHIELD_BASE.atlasLocation()), context == ItemDisplayContext.GUI, foil)); + this.model().renderToBuffer(stack, vertexconsumer, light, overlay); + stack.popPose(); + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(KnightmetalShieldSpecialRenderer.Unbaked::new); + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new KnightmetalShieldSpecialRenderer(new KnightmetalShieldModel(set.bakeLayer(TFModelLayers.KNIGHTMETAL_SHIELD))); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/MoonwormSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/MoonwormSpecialRenderer.java new file mode 100644 index 0000000000..c7d82f4d49 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/MoonwormSpecialRenderer.java @@ -0,0 +1,39 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.serialization.MapCodec; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import twilightforest.client.BugModelAnimationHelper; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.CicadaModel; +import twilightforest.client.model.entity.MoonwormModel; +import twilightforest.client.renderer.block.CicadaRenderer; +import twilightforest.client.renderer.block.MoonwormRenderer; + +public record MoonwormSpecialRenderer(MoonwormModel model) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + MoonwormRenderer.renderMoonworm(this.model(), BugModelAnimationHelper.currentRotation, 0.0F, (BugModelAnimationHelper.desiredRotation - BugModelAnimationHelper.currentRotation) - Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks(), BugModelAnimationHelper.yawWriggleDelay, Direction.NORTH, stack, source, light, overlay); + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(MoonwormSpecialRenderer.Unbaked::new); + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new MoonwormSpecialRenderer(new MoonwormModel(set.bakeLayer(TFModelLayers.MOONWORM))); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/SkullCandleSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/SkullCandleSpecialRenderer.java new file mode 100644 index 0000000000..f24d1eb283 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/SkullCandleSpecialRenderer.java @@ -0,0 +1,76 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.datafixers.util.Pair; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.SkullModelBase; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.SkullBlockRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.component.DataComponents; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ResolvableProfile; +import net.minecraft.world.level.block.CandleBlock; +import net.minecraft.world.level.block.SkullBlock; +import net.neoforged.neoforge.client.model.data.ModelData; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import twilightforest.block.AbstractSkullCandleBlock; +import twilightforest.components.item.SkullCandles; +import twilightforest.init.TFDataComponents; + +import java.util.Optional; + +public record SkullCandleSpecialRenderer(SkullBlock.Type skullType, SkullModelBase model, @Nullable ResourceLocation textureOverride, float animation) implements SpecialModelRenderer> { + + @NotNull + @Override + public Pair extractArgument(ItemStack stack) { + return Pair.of(stack.get(DataComponents.PROFILE), stack.get(TFDataComponents.SKULL_CANDLES)); + } + + @Override + public void render(@NotNull Pair candles, ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + RenderType rendertype = SkullBlockRenderer.getRenderType(this.skullType(), candles.getFirst(), this.textureOverride()); + SkullBlockRenderer.renderSkull(null, 180.0F, this.animation(), stack, source, light, this.model(), rendertype); + + SkullCandles skullCandles = candles.getSecond(); + + if (skullCandles != null) { + stack.translate(0.0F, 0.5F, 0.0F); + Minecraft.getInstance().getBlockRenderer().renderSingleBlock( + AbstractSkullCandleBlock.candleColorToCandle(AbstractSkullCandleBlock.CandleColors.colorFromInt(skullCandles.color())) + .defaultBlockState().setValue(CandleBlock.CANDLES, skullCandles.count()), stack, source, light, overlay); + } + } + + public record Unbaked(SkullBlock.Type kind, Optional textureOverride, float animation) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + SkullBlock.Type.CODEC.fieldOf("kind").forGetter(SkullCandleSpecialRenderer.Unbaked::kind), + ResourceLocation.CODEC.optionalFieldOf("texture").forGetter(SkullCandleSpecialRenderer.Unbaked::textureOverride), + Codec.FLOAT.optionalFieldOf("animation", 0.0F).forGetter(SkullCandleSpecialRenderer.Unbaked::animation)) + .apply(instance, SkullCandleSpecialRenderer.Unbaked::new)); + + public Unbaked(SkullBlock.Type kind) { + this(kind, Optional.empty(), 0.0F); + } + + public MapCodec type() { + return MAP_CODEC; + } + + @Nullable + public SpecialModelRenderer bake(EntityModelSet set) { + SkullModelBase skullmodelbase = SkullBlockRenderer.createModel(set, this.kind()); + ResourceLocation resourcelocation = this.textureOverride().map(location -> location.withPath(path -> "textures/entity/" + path + ".png")).orElse(null); + return skullmodelbase != null ? new SkullCandleSpecialRenderer(this.kind(), skullmodelbase, resourcelocation, this.animation()) : null; + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/SkullChestSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/SkullChestSpecialRenderer.java new file mode 100644 index 0000000000..36e302ea55 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/SkullChestSpecialRenderer.java @@ -0,0 +1,47 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.KeepsakeCasketModel; +import twilightforest.client.renderer.block.KeepsakeCasketRenderer; +import twilightforest.client.renderer.block.SkullChestRenderer; +import twilightforest.init.TFDataComponents; + +public record SkullChestSpecialRenderer(KeepsakeCasketModel model, float openness) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + SkullChestRenderer.renderCasket(this.openness(), stack, source, light, overlay, SkullChestRenderer.SKULL_CHEST_TEXTURE, Direction.NORTH, this.model()); + } + + public record Unbaked(float openness) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.FLOAT.optionalFieldOf("openness", 0.0F).forGetter(SkullChestSpecialRenderer.Unbaked::openness)) + .apply(instance, SkullChestSpecialRenderer.Unbaked::new)); + + public Unbaked() { + this(0.0F); + } + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + KeepsakeCasketModel model = new KeepsakeCasketModel(set.bakeLayer(TFModelLayers.SKULL_CHEST)); + return new SkullChestSpecialRenderer(model, this.openness()); + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java new file mode 100644 index 0000000000..24602ae4cd --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java @@ -0,0 +1,63 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.Util; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.world.item.ItemDisplayContext; +import twilightforest.client.model.entity.TrophyBlockModel; +import twilightforest.client.renderer.block.TrophyRenderer; +import twilightforest.config.TFConfig; +import twilightforest.enums.BossVariant; + +import javax.annotation.Nullable; +import java.util.Optional; + +public record TrophySpecialRenderer(TrophyBlockModel trophy, Optional fixedRotation) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + float rotation = this.fixedRotation.orElse(TFConfig.rotateTrophyHeadsGui && !Minecraft.getInstance().isPaused() ? (int) (Util.getMillis() / 35) : 0); + float animation = !Minecraft.getInstance().isPaused() ? (int) (Util.getMillis() / 30) + Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks() : 0; + if (context == ItemDisplayContext.GUI) { + stack.pushPose(); + stack.translate(0.5F, 0.5F, 0.5F); + stack.mulPose(Axis.YN.rotationDegrees(rotation)); + stack.translate(-0.5F, -0.5F, -0.5F); + TrophyRenderer.render(null, 180.0F, this.trophy, false, animation, stack, source, light, overlay, context); + stack.popPose(); + } else { + TrophyRenderer.render(null, 180.0F, this.trophy, false, animation, stack, source, light, overlay, context); + } + } + + public record Unbaked(BossVariant variant, Optional fixedRotation) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + BossVariant.CODEC.fieldOf("kind").forGetter(TrophySpecialRenderer.Unbaked::variant), + Codec.INT.optionalFieldOf("fixed_rotation").forGetter(TrophySpecialRenderer.Unbaked::fixedRotation)) + .apply(instance, TrophySpecialRenderer.Unbaked::new)); + + public Unbaked(BossVariant variant) { + this(variant, Optional.empty()); + } + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Nullable + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + TrophyBlockModel model = TrophyRenderer.createTrophyModel(set, this.variant()); + return model != null ? new TrophySpecialRenderer(model, this.fixedRotation()) : null; + } + } +} diff --git a/src/main/java/twilightforest/client/renderer/special/package-info.java b/src/main/java/twilightforest/client/renderer/special/package-info.java new file mode 100644 index 0000000000..c33e7e54cb --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/package-info.java @@ -0,0 +1,9 @@ +@FieldsAreNonnullByDefault +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.client.renderer.special; + +import net.minecraft.FieldsAreNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index 6f5f3ddefb..04ee66c3c6 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -34,86 +34,86 @@ public class TFEntities { public static final Map>, SpawnPlacements.SpawnPredicate> SPAWN_PREDICATES = new HashMap<>(); public static final DeferredHolder, EntityType> ADHERENT = registerWithAttributes("adherent", EntityType.Builder.of(Adherent::new, MobCategory.MONSTER).sized(0.8F, 2.2F).clientTrackingRange(8), Adherent::registerAttributes); - public static final DeferredHolder, EntityType> ALPHA_YETI = registerWithEgg("alpha_yeti", EntityType.Builder.of(AlphaYeti::new, MobCategory.MONSTER).sized(3.8F, 5.0F).clientTrackingRange(16), 0xCDCDCD, 0x29486E, AlphaYeti::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> ARMORED_GIANT = registerWithEgg("armored_giant", EntityType.Builder.of(ArmoredGiant::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), 0x239391, 0x9A9A9A, ArmoredGiant::registerAttributes, ArmoredGiant::checkGiantSpawnRules); - public static final DeferredHolder, EntityType> BIGHORN_SHEEP = registerWithEgg("bighorn_sheep", EntityType.Builder.of(Bighorn::new, MobCategory.CREATURE).sized(0.9F, 1.3F).clientTrackingRange(8), 0xDBCEAF, 0xD7C771, Bighorn::createAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> BLOCKCHAIN_GOBLIN = registerWithEgg("block_and_chain_goblin", EntityType.Builder.of(BlockChainGoblin::new, MobCategory.MONSTER).sized(0.9F, 1.4F).clientTrackingRange(8), 0xD3E7BC, 0x1F3FFF, BlockChainGoblin::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> BOAR = registerWithEgg("boar", EntityType.Builder.of(Boar::new, MobCategory.CREATURE).sized(0.9F, 0.9F).clientTrackingRange(8), 0x83653B, 0xFFEFCA, Boar::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> ALPHA_YETI = registerWithEgg("alpha_yeti", EntityType.Builder.of(AlphaYeti::new, MobCategory.MONSTER).sized(3.8F, 5.0F).clientTrackingRange(16), AlphaYeti::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> ARMORED_GIANT = registerWithEgg("armored_giant", EntityType.Builder.of(ArmoredGiant::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), ArmoredGiant::registerAttributes, ArmoredGiant::checkGiantSpawnRules); + public static final DeferredHolder, EntityType> BIGHORN_SHEEP = registerWithEgg("bighorn_sheep", EntityType.Builder.of(Bighorn::new, MobCategory.CREATURE).sized(0.9F, 1.3F).clientTrackingRange(8), Bighorn::createAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> BLOCKCHAIN_GOBLIN = registerWithEgg("block_and_chain_goblin", EntityType.Builder.of(BlockChainGoblin::new, MobCategory.MONSTER).sized(0.9F, 1.4F).clientTrackingRange(8), BlockChainGoblin::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> BOAR = registerWithEgg("boar", EntityType.Builder.of(Boar::new, MobCategory.CREATURE).sized(0.9F, 0.9F).clientTrackingRange(8), Boar::registerAttributes, Animal::checkAnimalSpawnRules); //public static final DeferredHolder, EntityType> BOGGARD = registerWithAttributes("boggard", EntityType.Builder.of(Boggard::new, MobCategory.MONSTER).sized(0.8F, 1.1F), Boggard::registerAttributes); - public static final DeferredHolder, EntityType> CARMINITE_BROODLING = registerWithEgg("carminite_broodling", EntityType.Builder.of(TowerBroodling::new, MobCategory.MONSTER).sized(0.7F, 0.5F).clientTrackingRange(8), 0x343C14, 0xBAEE02, TowerBroodling::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> CARMINITE_GHASTGUARD = registerWithEgg("carminite_ghastguard", EntityType.Builder.of(CarminiteGhastguard::new, MobCategory.MONSTER).sized(4.0F, 6.0F).clientTrackingRange(20).fireImmune(), 0xBCBCBC, 0xB77878, CarminiteGhastguard::registerAttributes, CarminiteGhastguard::checkGhastguardSpawnRules); - public static final DeferredHolder, EntityType> CARMINITE_GHASTLING = registerWithEgg("carminite_ghastling", EntityType.Builder.of(CarminiteGhastling::new, MobCategory.MONSTER).sized(1.1F, 1.5F).eyeHeight(0.5F).clientTrackingRange(10).fireImmune(), 0xBCBCBC, 0xA74343, CarminiteGhastling::registerAttributes, CarminiteGhastling::checkGhastlingSpawnRules); - public static final DeferredHolder, EntityType> CARMINITE_GOLEM = registerWithEgg("carminite_golem", EntityType.Builder.of(CarminiteGolem::new, MobCategory.MONSTER).sized(1.4F, 2.9F).clientTrackingRange(8), 0x6B3D20, 0xE2DDDA, CarminiteGolem::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_BROODLING = registerWithEgg("carminite_broodling", EntityType.Builder.of(TowerBroodling::new, MobCategory.MONSTER).sized(0.7F, 0.5F).clientTrackingRange(8), TowerBroodling::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GHASTGUARD = registerWithEgg("carminite_ghastguard", EntityType.Builder.of(CarminiteGhastguard::new, MobCategory.MONSTER).sized(4.0F, 6.0F).clientTrackingRange(20).fireImmune(), CarminiteGhastguard::registerAttributes, CarminiteGhastguard::checkGhastguardSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GHASTLING = registerWithEgg("carminite_ghastling", EntityType.Builder.of(CarminiteGhastling::new, MobCategory.MONSTER).sized(1.1F, 1.5F).eyeHeight(0.5F).clientTrackingRange(10).fireImmune(), CarminiteGhastling::registerAttributes, CarminiteGhastling::checkGhastlingSpawnRules); + public static final DeferredHolder, EntityType> CARMINITE_GOLEM = registerWithEgg("carminite_golem", EntityType.Builder.of(CarminiteGolem::new, MobCategory.MONSTER).sized(1.4F, 2.9F).clientTrackingRange(8), CarminiteGolem::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> CHAIN_BLOCK = registerMisc("chain_block", EntityType.Builder.of(ChainBlock::new, MobCategory.MISC).sized(0.6F, 0.6F).noSummon().clientTrackingRange(8).setUpdateInterval(1).fireImmune()); public static final DeferredHolder, EntityType> CHARM_EFFECT = registerMisc("charm_effect", EntityType.Builder.of(CharmEffect::new, MobCategory.MISC).sized(0.0F, 0.0F).clientTrackingRange(4).updateInterval(Integer.MAX_VALUE).noSave().noSummon().fireImmune()); public static final DeferredHolder, EntityType> CUBE_OF_ANNIHILATION = registerMisc("cube_of_annihilation", EntityType.Builder.of(CubeOfAnnihilation::new, MobCategory.MISC).sized(1.0F, 1.0F).noSummon().clientTrackingRange(4).setUpdateInterval(20).fireImmune()); - public static final DeferredHolder, EntityType> DEATH_TOME = registerWithEgg("death_tome", EntityType.Builder.of(DeathTome::new, MobCategory.MONSTER).sized(0.75F, 1.5F).clientTrackingRange(8), 0x774E22, 0xDBCDBE, DeathTome::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> DEER = registerWithEgg("deer", EntityType.Builder.of(Deer::new, MobCategory.CREATURE).sized(0.7F, 1.8F).clientTrackingRange(8), 0x7B4D2E, 0x4B241D, Deer::registerAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> DWARF_RABBIT = registerWithEgg("dwarf_rabbit", EntityType.Builder.of(DwarfRabbit::new, MobCategory.CREATURE).sized(0.4F, 0.4F).clientTrackingRange(8), 0xFEFEEE, 0xCCAA99, DwarfRabbit::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> DEATH_TOME = registerWithEgg("death_tome", EntityType.Builder.of(DeathTome::new, MobCategory.MONSTER).sized(0.75F, 1.5F).clientTrackingRange(8), DeathTome::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> DEER = registerWithEgg("deer", EntityType.Builder.of(Deer::new, MobCategory.CREATURE).sized(0.7F, 1.8F).clientTrackingRange(8), Deer::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> DWARF_RABBIT = registerWithEgg("dwarf_rabbit", EntityType.Builder.of(DwarfRabbit::new, MobCategory.CREATURE).sized(0.4F, 0.4F).clientTrackingRange(8), DwarfRabbit::registerAttributes, Animal::checkAnimalSpawnRules); public static final DeferredHolder, EntityType> FALLING_ICE = registerMisc("falling_ice", EntityType.Builder.of(FallingIce::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); - public static final DeferredHolder, EntityType> FIRE_BEETLE = registerWithEgg("fire_beetle", EntityType.Builder.of(FireBeetle::new, MobCategory.MONSTER).sized(1.1F, 0.5F).clientTrackingRange(8).fireImmune(), 0x1D0B00, 0xCB6F25, FireBeetle::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> GIANT_MINER = registerWithEgg("giant_miner", EntityType.Builder.of(GiantMiner::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), 0x211B52, 0x9A9A9A, GiantMiner::registerAttributes, GiantMiner::checkGiantSpawnRules); + public static final DeferredHolder, EntityType> FIRE_BEETLE = registerWithEgg("fire_beetle", EntityType.Builder.of(FireBeetle::new, MobCategory.MONSTER).sized(1.1F, 0.5F).clientTrackingRange(8).fireImmune(), FireBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> GIANT_MINER = registerWithEgg("giant_miner", EntityType.Builder.of(GiantMiner::new, MobCategory.MONSTER).sized(2.4F, 7.2F).clientTrackingRange(16), GiantMiner::registerAttributes, GiantMiner::checkGiantSpawnRules); public static final DeferredHolder, EntityType> HARBINGER_CUBE = registerWithAttributes("harbinger_cube", EntityType.Builder.of(HarbingerCube::new, MobCategory.MONSTER).sized(1.9F, 2.4F).clientTrackingRange(8).fireImmune(), HarbingerCube::registerAttributes); - public static final DeferredHolder, EntityType> HEDGE_SPIDER = registerWithEgg("hedge_spider", EntityType.Builder.of(HedgeSpider::new, MobCategory.MONSTER).sized(1.4F, 0.9F), 0x235F13, 0x562653, HedgeSpider::createAttributes, HedgeSpider::checkSpiderSpawnRules); - public static final DeferredHolder, EntityType> HELMET_CRAB = registerWithEgg("helmet_crab", EntityType.Builder.of(HelmetCrab::new, MobCategory.MONSTER).sized(0.8F, 1.1F).eyeHeight(0.45F).clientTrackingRange(8).fireImmune(), 0xFB904B, 0xD3E7BC, HelmetCrab::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> HOSTILE_WOLF = registerWithEgg("hostile_wolf", EntityType.Builder.of(HostileWolf::new, MobCategory.MONSTER).sized(0.6F, 0.85F).clientTrackingRange(8), 0xD7D3D3, 0xAB1E14, HostileWolf::registerAttributes, HostileWolf::checkWolfSpawnRules); - public static final DeferredHolder, EntityType> HYDRA = registerWithEgg("hydra", EntityType.Builder.of(Hydra::new, MobCategory.MONSTER).sized(16.0F, 12.0F).clientTrackingRange(20).fireImmune(), 0x142940, 0x29806B, Hydra::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> HEDGE_SPIDER = registerWithEgg("hedge_spider", EntityType.Builder.of(HedgeSpider::new, MobCategory.MONSTER).sized(1.4F, 0.9F), HedgeSpider::createAttributes, HedgeSpider::checkSpiderSpawnRules); + public static final DeferredHolder, EntityType> HELMET_CRAB = registerWithEgg("helmet_crab", EntityType.Builder.of(HelmetCrab::new, MobCategory.MONSTER).sized(0.8F, 1.1F).eyeHeight(0.45F).clientTrackingRange(8).fireImmune(), HelmetCrab::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> HOSTILE_WOLF = registerWithEgg("hostile_wolf", EntityType.Builder.of(HostileWolf::new, MobCategory.MONSTER).sized(0.6F, 0.85F).clientTrackingRange(8), HostileWolf::registerAttributes, HostileWolf::checkWolfSpawnRules); + public static final DeferredHolder, EntityType> HYDRA = registerWithEgg("hydra", EntityType.Builder.of(Hydra::new, MobCategory.MONSTER).sized(16.0F, 12.0F).clientTrackingRange(20).fireImmune(), Hydra::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> HYDRA_MORTAR = registerMisc("hydra_mortar", EntityType.Builder.of(HydraMortar::new, MobCategory.MISC).sized(0.75F, 0.75F).clientTrackingRange(8).updateInterval(10).fireImmune()); public static final DeferredHolder, EntityType> ICE_ARROW = registerMisc("ice_arrow", EntityType.Builder.of(IceArrow::new, MobCategory.MISC).sized(0.5F, 0.5F).eyeHeight(0.13F).clientTrackingRange(4).updateInterval(20)); public static final DeferredHolder, EntityType> THROWN_ICE = registerMisc("ice_bomb", EntityType.Builder.of(IceBomb::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(8).updateInterval(10).fireImmune()); - public static final DeferredHolder, EntityType> ICE_CRYSTAL = registerWithEgg("ice_crystal", EntityType.Builder.of(IceCrystal::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), 0xDCE9FE, 0xADCAFB, IceCrystal::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> ICE_CRYSTAL = registerWithEgg("ice_crystal", EntityType.Builder.of(IceCrystal::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), IceCrystal::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> ICE_SNOWBALL = registerMisc("ice_snowball", EntityType.Builder.of(IceSnowball::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> KING_SPIDER = registerWithEgg("king_spider", EntityType.Builder.of(KingSpider::new, MobCategory.MONSTER).sized(1.6F, 1.6F).clientTrackingRange(8), 0x2C1A0E, 0xFFC017, KingSpider::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = registerWithEgg("knight_phantom", EntityType.Builder.of(KnightPhantom::new, MobCategory.MONSTER).sized(1.25F, 2.5F).clientTrackingRange(10), 0xA6673B, 0xD3E7BC, KnightPhantom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> KOBOLD = registerWithEgg("kobold", EntityType.Builder.of(Kobold::new, MobCategory.MONSTER).sized(0.8F, 1.1F).clientTrackingRange(8), 0x372096, 0x895D1B, Kobold::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> LICH = registerWithEgg("lich", EntityType.Builder.of(Lich::new, MobCategory.MONSTER).sized(1.1F, 2.1F), 0xACA489, 0x360472, Lich::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> KING_SPIDER = registerWithEgg("king_spider", EntityType.Builder.of(KingSpider::new, MobCategory.MONSTER).sized(1.6F, 1.6F).clientTrackingRange(8), KingSpider::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = registerWithEgg("knight_phantom", EntityType.Builder.of(KnightPhantom::new, MobCategory.MONSTER).sized(1.25F, 2.5F).clientTrackingRange(10), KnightPhantom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> KOBOLD = registerWithEgg("kobold", EntityType.Builder.of(Kobold::new, MobCategory.MONSTER).sized(0.8F, 1.1F).clientTrackingRange(8), Kobold::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> LICH = registerWithEgg("lich", EntityType.Builder.of(Lich::new, MobCategory.MONSTER).sized(1.1F, 2.1F), Lich::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> LICH_BOLT = registerMisc("lich_bolt", EntityType.Builder.of(LichBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); public static final DeferredHolder, EntityType> LICH_BOMB = registerMisc("lich_bomb", EntityType.Builder.of(LichBomb::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); public static final DeferredHolder, EntityType> LICH_MINION = registerWithAttributes("lich_minion", EntityType.Builder.of(LichMinion::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(8), LichMinion::createAttributes); - public static final DeferredHolder, EntityType> LOWER_GOBLIN_KNIGHT = registerWithEgg("lower_goblin_knight", EntityType.Builder.of(LowerGoblinKnight::new, MobCategory.MONSTER).sized(0.7F, 1.1F).clientTrackingRange(10), 0x566055, 0xD3E7BC, LowerGoblinKnight::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> LOWER_GOBLIN_KNIGHT = registerWithEgg("lower_goblin_knight", EntityType.Builder.of(LowerGoblinKnight::new, MobCategory.MONSTER).sized(0.7F, 1.1F).clientTrackingRange(10), LowerGoblinKnight::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> LOYAL_ZOMBIE = registerWithAttributes("loyal_zombie", EntityType.Builder.of(LoyalZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F), LoyalZombie::registerAttributes); - public static final DeferredHolder, EntityType> MAZE_SLIME = registerWithEgg("maze_slime", EntityType.Builder.of(MazeSlime::new, MobCategory.MONSTER).sized(0.52F, 0.52F).eyeHeight(0.325F).spawnDimensionsScale(4.0F).clientTrackingRange(10), 0xA3A3A3, 0x2A3B17, MazeSlime::registerAttributes, MazeSlime::checkSlimeSpawnRules); - public static final DeferredHolder, EntityType> MINOSHROOM = registerWithEgg("minoshroom", EntityType.Builder.of(Minoshroom::new, MobCategory.MONSTER).sized(1.49F, 2.5F).clientTrackingRange(10), 0xA81012, 0xAA7D66, Minoshroom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> MINOTAUR = registerWithEgg("minotaur", EntityType.Builder.of(Minotaur::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8), 0x3F3024, 0xAA7D66, Minotaur::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> MIST_WOLF = registerWithEgg("mist_wolf", EntityType.Builder.of(MistWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).clientTrackingRange(8), 0x3A1411, 0xE2C88A, MistWolf::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> MAZE_SLIME = registerWithEgg("maze_slime", EntityType.Builder.of(MazeSlime::new, MobCategory.MONSTER).sized(0.52F, 0.52F).eyeHeight(0.325F).spawnDimensionsScale(4.0F).clientTrackingRange(10), MazeSlime::registerAttributes, MazeSlime::checkSlimeSpawnRules); + public static final DeferredHolder, EntityType> MINOSHROOM = registerWithEgg("minoshroom", EntityType.Builder.of(Minoshroom::new, MobCategory.MONSTER).sized(1.49F, 2.5F).clientTrackingRange(10), Minoshroom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> MINOTAUR = registerWithEgg("minotaur", EntityType.Builder.of(Minotaur::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8), Minotaur::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> MIST_WOLF = registerWithEgg("mist_wolf", EntityType.Builder.of(MistWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).clientTrackingRange(8), MistWolf::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> MOONWORM_SHOT = registerMisc("moonworm_shot", EntityType.Builder.of(MoonwormShot::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> MOSQUITO_SWARM = registerWithEgg("mosquito_swarm", EntityType.Builder.of(MosquitoSwarm::new, MobCategory.MONSTER).sized(0.7F, 1.9F).clientTrackingRange(10), 0x080904, 0x2D2F21, MosquitoSwarm::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> NAGA = registerWithEgg("naga", EntityType.Builder.of(Naga::new, MobCategory.MONSTER).sized(2.0F, 3.0F).eyeHeight(2.0F).clientTrackingRange(10), 0xa4d316, 0x1b380b, Naga::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> MOSQUITO_SWARM = registerWithEgg("mosquito_swarm", EntityType.Builder.of(MosquitoSwarm::new, MobCategory.MONSTER).sized(0.7F, 1.9F).clientTrackingRange(10), MosquitoSwarm::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> NAGA = registerWithEgg("naga", EntityType.Builder.of(Naga::new, MobCategory.MONSTER).sized(2.0F, 3.0F).eyeHeight(2.0F).clientTrackingRange(10), Naga::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> NATURE_BOLT = registerMisc("nature_bolt", EntityType.Builder.of(NatureBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); public static final DeferredHolder, EntityType> MAGIC_PAINTING = registerMisc("magic_painting", EntityType.Builder.of(MagicPainting::new, MobCategory.MISC).noSummon().sized(0.5F, 0.5F).clientTrackingRange(10).updateInterval(Integer.MAX_VALUE)); - public static final DeferredHolder, EntityType> PENGUIN = registerWithEgg("penguin", EntityType.Builder.of(Penguin::new, MobCategory.CREATURE).sized(0.5F, 0.9F).clientTrackingRange(8), 0x12151b, 0xf9edd2, Penguin::registerAttributes, Penguin::checkPenguinSpawnRules); - public static final DeferredHolder, EntityType> PINCH_BEETLE = registerWithEgg("pinch_beetle", EntityType.Builder.of(PinchBeetle::new, MobCategory.MONSTER).sized(1.2F, 0.5F).clientTrackingRange(8), 0xbc9327, 0x241609, PinchBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> PENGUIN = registerWithEgg("penguin", EntityType.Builder.of(Penguin::new, MobCategory.CREATURE).sized(0.5F, 0.9F).clientTrackingRange(8), Penguin::registerAttributes, Penguin::checkPenguinSpawnRules); + public static final DeferredHolder, EntityType> PINCH_BEETLE = registerWithEgg("pinch_beetle", EntityType.Builder.of(PinchBeetle::new, MobCategory.MONSTER).sized(1.2F, 0.5F).clientTrackingRange(8), PinchBeetle::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> PLATEAU_BOSS = registerWithAttributes("plateau_boss", EntityType.Builder.of(PlateauBoss::new, MobCategory.MONSTER).noLootTable().noSave().noSummon().sized(1.0F, 1.0F).fireImmune().clientTrackingRange(10), PlateauBoss::registerAttributes); public static final DeferredHolder, EntityType> PROTECTION_BOX = registerMisc("protection_box", EntityType.Builder.of(ProtectionBox::new, MobCategory.MISC).noSave().noSummon().sized(0.0F, 0.0F).clientTrackingRange(16).fireImmune()); - public static final DeferredHolder, EntityType> QUEST_RAM = registerWithEgg("quest_ram", EntityType.Builder.of(QuestRam::new, MobCategory.CREATURE).sized(1.25F, 2.9F).clientTrackingRange(10), 0xFEFEEE, 0x33AADD, QuestRam::registerAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> RAVEN = registerWithEgg("raven", EntityType.Builder.of(Raven::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(10), 0x000011, 0x222233, Raven::registerAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> REDCAP = registerWithEgg("redcap", EntityType.Builder.of(Redcap::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x3B3A6C, 0xAB1E14, Redcap::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> REDCAP_SAPPER = registerWithEgg("redcap_sapper", EntityType.Builder.of(RedcapSapper::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), 0x575D21, 0xAB1E14, RedcapSapper::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> QUEST_RAM = registerWithEgg("quest_ram", EntityType.Builder.of(QuestRam::new, MobCategory.CREATURE).sized(1.25F, 2.9F).clientTrackingRange(10), QuestRam::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> RAVEN = registerWithEgg("raven", EntityType.Builder.of(Raven::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(10), Raven::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> REDCAP = registerWithEgg("redcap", EntityType.Builder.of(Redcap::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), Redcap::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> REDCAP_SAPPER = registerWithEgg("redcap_sapper", EntityType.Builder.of(RedcapSapper::new, MobCategory.MONSTER).sized(0.9F, 1.4F).ridingOffset(-0.4F).clientTrackingRange(8), RedcapSapper::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> RISING_ZOMBIE = registerWithAttributes("rising_zombie", EntityType.Builder.of(RisingZombie::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(16).noSummon(), Zombie::createAttributes); public static final DeferredHolder, EntityType> ROVING_CUBE = registerWithAttributes("roving_cube", EntityType.Builder.of(RovingCube::new, MobCategory.MONSTER).sized(1.2F, 2.1F).noLootTable().noSummon().clientTrackingRange(8).fireImmune(), RovingCube::registerAttributes); public static final DeferredHolder, EntityType> SEEKER_ARROW = registerMisc("seeker_arrow", EntityType.Builder.of(SeekerArrow::new, MobCategory.MISC).sized(0.5F, 0.5F).clientTrackingRange(4).updateInterval(20)); - public static final DeferredHolder, EntityType> SKELETON_DRUID = registerWithEgg("skeleton_druid", EntityType.Builder.of(SkeletonDruid::new, MobCategory.MONSTER).sized(0.6F, 1.99F).ridingOffset(-0.7F).clientTrackingRange(10), 0xA3A3A3, 0x2A3B17, SkeletonDruid::createAttributes, SkeletonDruid::checkDruidSpawnRules); + public static final DeferredHolder, EntityType> SKELETON_DRUID = registerWithEgg("skeleton_druid", EntityType.Builder.of(SkeletonDruid::new, MobCategory.MONSTER).sized(0.6F, 1.99F).ridingOffset(-0.7F).clientTrackingRange(10), SkeletonDruid::createAttributes, SkeletonDruid::checkDruidSpawnRules); public static final DeferredHolder, EntityType> SLIDER = registerMisc("slider", EntityType.Builder.of(SlideBlock::new, MobCategory.MISC).sized(0.98F, 0.98F).noSummon().clientTrackingRange(8)); - public static final DeferredHolder, EntityType> SLIME_BEETLE = registerWithEgg("slime_beetle", EntityType.Builder.of(SlimeBeetle::new, MobCategory.MONSTER).sized(0.9F, 0.5F).clientTrackingRange(8), 0x0C1606, 0x60A74C, SlimeBeetle::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SLIME_BEETLE = registerWithEgg("slime_beetle", EntityType.Builder.of(SlimeBeetle::new, MobCategory.MONSTER).sized(0.9F, 0.5F).clientTrackingRange(8), SlimeBeetle::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> SLIME_BLOB = registerMisc("slime_projectile", EntityType.Builder.of(SlimeProjectile::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> SNOW_GUARDIAN = registerWithEgg("snow_guardian", EntityType.Builder.of(SnowGuardian::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), 0xD3E7BC, 0xFEFEFE, SnowGuardian::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> SNOW_QUEEN = registerWithEgg("snow_queen", EntityType.Builder.of(SnowQueen::new, MobCategory.MONSTER).sized(0.7F, 2.5F).clientTrackingRange(10), 0xB1B2D4, 0x87006E, SnowGuardian::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> SQUIRREL = registerWithEgg("squirrel", EntityType.Builder.of(Squirrel::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(8), 0x904f12, 0xeeeeee, Squirrel::registerAttributes, Animal::checkAnimalSpawnRules); - public static final DeferredHolder, EntityType> STABLE_ICE_CORE = registerWithEgg("stable_ice_core", EntityType.Builder.of(StableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), 0xa1bff3, 0x7000f8, StableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> SWARM_SPIDER = registerWithEgg("swarm_spider", EntityType.Builder.of(SwarmSpider::new, MobCategory.MONSTER).sized(0.8F, 0.4F).clientTrackingRange(8), 0x32022e, 0x17251e, SwarmSpider::registerAttributes, SwarmSpider::checkSwarmSpawnRules); + public static final DeferredHolder, EntityType> SNOW_GUARDIAN = registerWithEgg("snow_guardian", EntityType.Builder.of(SnowGuardian::new, MobCategory.MONSTER).sized(0.6F, 1.8F).clientTrackingRange(8), SnowGuardian::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SNOW_QUEEN = registerWithEgg("snow_queen", EntityType.Builder.of(SnowQueen::new, MobCategory.MONSTER).sized(0.7F, 2.5F).clientTrackingRange(10), SnowQueen::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> SQUIRREL = registerWithEgg("squirrel", EntityType.Builder.of(Squirrel::new, MobCategory.CREATURE).sized(0.3F, 0.5F).clientTrackingRange(8), Squirrel::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> STABLE_ICE_CORE = registerWithEgg("stable_ice_core", EntityType.Builder.of(StableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), StableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> SWARM_SPIDER = registerWithEgg("swarm_spider", EntityType.Builder.of(SwarmSpider::new, MobCategory.MONSTER).sized(0.8F, 0.4F).clientTrackingRange(8), SwarmSpider::registerAttributes, SwarmSpider::checkSwarmSpawnRules); public static final DeferredHolder, EntityType> THROWN_BLOCK = registerMisc("thrown_block", EntityType.Builder.of(ThrownBlock::new, MobCategory.MISC).sized(1.0F, 1.0F).clientTrackingRange(4).updateInterval(10).fireImmune()); public static final DeferredHolder, EntityType> THROWN_WEP = registerMisc("thrown_weapon", EntityType.Builder.of(ThrownWep::new, MobCategory.MISC).sized(0.5F, 0.5F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> TINY_BIRD = registerWithEgg("tiny_bird", EntityType.Builder.of(TinyBird::new, MobCategory.CREATURE).sized(0.3F, 0.3F).clientTrackingRange(8), 0x33aadd, 0x1188ee, TinyBird::registerAttributes, Animal::checkAnimalSpawnRules); + public static final DeferredHolder, EntityType> TINY_BIRD = registerWithEgg("tiny_bird", EntityType.Builder.of(TinyBird::new, MobCategory.CREATURE).sized(0.3F, 0.3F).clientTrackingRange(8), TinyBird::registerAttributes, Animal::checkAnimalSpawnRules); public static final DeferredHolder, EntityType> TOME_BOLT = registerMisc("tome_bolt", EntityType.Builder.of(TomeBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> TOWERWOOD_BORER = registerWithEgg("towerwood_borer", EntityType.Builder.of(TowerwoodBorer::new, MobCategory.MONSTER).sized(0.4F, 0.3F).eyeHeight(0.13F).clientTrackingRange(8), 0x5d2b21, 0xaca03a, TowerwoodBorer::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> TROLL = registerWithEgg("troll", EntityType.Builder.of(Troll::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), 0x9ea98f, 0xb0948e, Troll::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> TOWERWOOD_BORER = registerWithEgg("towerwood_borer", EntityType.Builder.of(TowerwoodBorer::new, MobCategory.MONSTER).sized(0.4F, 0.3F).eyeHeight(0.13F).clientTrackingRange(8), TowerwoodBorer::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> TROLL = registerWithEgg("troll", EntityType.Builder.of(Troll::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), Troll::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> WAND_BOLT = registerMisc("wand_bolt", EntityType.Builder.of(TwilightWandBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10)); - public static final DeferredHolder, EntityType> UNSTABLE_ICE_CORE = registerWithEgg("unstable_ice_core", EntityType.Builder.of(UnstableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), 0x9aacf5, 0x9b0fa5, UnstableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> UNSTABLE_ICE_CORE = registerWithEgg("unstable_ice_core", EntityType.Builder.of(UnstableIceCore::new, MobCategory.MONSTER).sized(0.8F, 1.8F).eyeHeight(1.35F).clientTrackingRange(8), UnstableIceCore::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> UPPER_GOBLIN_KNIGHT = registerWithPlacement("upper_goblin_knight", EntityType.Builder.of(UpperGoblinKnight::new, MobCategory.MONSTER).sized(1.1F, 1.3F).clientTrackingRange(8), UpperGoblinKnight::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> UR_GHAST = registerWithEgg("ur_ghast", EntityType.Builder.of(UrGhast::new, MobCategory.MONSTER).sized(14.0F, 18.0F).clientTrackingRange(24).fireImmune(), 0xbcbcbc, 0xb77878, UrGhast::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); - public static final DeferredHolder, EntityType> WINTER_WOLF = registerWithEgg("winter_wolf", EntityType.Builder.of(WinterWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).eyeHeight(1.45F).clientTrackingRange(8), 0xdfe3e5, 0xb2bcca, WinterWolf::registerAttributes, WinterWolf::checkWinterSpawnRules); - public static final DeferredHolder, EntityType> WRAITH = registerWithEgg("wraith", EntityType.Builder.of(Wraith::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8).fireImmune(), 0x505050, 0x838383, Wraith::registerAttributes, Wraith::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> YETI = registerWithEgg("yeti", EntityType.Builder.of(Yeti::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), 0xdedede, 0x4675bb, Yeti::registerAttributes, Yeti::checkYetiSpawnRules); + public static final DeferredHolder, EntityType> UR_GHAST = registerWithEgg("ur_ghast", EntityType.Builder.of(UrGhast::new, MobCategory.MONSTER).sized(14.0F, 18.0F).clientTrackingRange(24).fireImmune(), UrGhast::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> WINTER_WOLF = registerWithEgg("winter_wolf", EntityType.Builder.of(WinterWolf::new, MobCategory.MONSTER).sized(1.4F, 1.9F).eyeHeight(1.45F).clientTrackingRange(8), WinterWolf::registerAttributes, WinterWolf::checkWinterSpawnRules); + public static final DeferredHolder, EntityType> WRAITH = registerWithEgg("wraith", EntityType.Builder.of(Wraith::new, MobCategory.MONSTER).sized(0.6F, 2.1F).clientTrackingRange(8).fireImmune(), Wraith::registerAttributes, Wraith::checkMonsterSpawnRules); + public static final DeferredHolder, EntityType> YETI = registerWithEgg("yeti", EntityType.Builder.of(Yeti::new, MobCategory.MONSTER).sized(1.4F, 2.4F).clientTrackingRange(8), Yeti::registerAttributes, Yeti::checkYetiSpawnRules); public static final DeferredHolder, EntityType> TWILIGHT_OAK_BOAT = registerMisc("twilight_oak_boat", EntityType.Builder.of((type, level) -> new Boat(type, level, TFItems.TWILIGHT_OAK_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); public static final DeferredHolder, EntityType> TWILIGHT_OAK_CHEST_BOAT = registerMisc("twilight_oak_chest_boat", EntityType.Builder.of((type, level) -> new ChestBoat(type, level, TFItems.TWILIGHT_OAK_CHEST_BOAT), MobCategory.MISC).sized(1.375F, 0.5625F).eyeHeight(0.5625F).clientTrackingRange(10)); @@ -151,7 +151,7 @@ public static DeferredHolder, EntityType< return ret; } - public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, int primaryColor, int secondaryColor, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { + public static DeferredHolder, EntityType> registerWithEgg(String name, EntityType.Builder builder, Supplier attributes, @Nullable SpawnPlacements.SpawnPredicate predicate) { DeferredHolder, EntityType> ret = ENTITY_TYPES.register(name, () -> builder.build(createIDFor(name))); SPAWN_EGGS.register(name + "_spawn_egg", () -> new SpawnEggItem(ret.get(), new Item.Properties().setId(ResourceKey.create(Registries.ITEM, TwilightForestMod.prefix(name + "_spawn_egg"))))); ATTRIBUTES.put(ret, attributes); diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index 33e3f3404c..d07e8973ee 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -20,7 +20,7 @@ enumExtensions="META-INF/enumextensions.json" [[dependencies.twilightforest]] modId = "neoforge" type = "required" -versionRange = "[21.4.50-beta,)" +versionRange = "[21.4.124,)" ordering = "NONE" side = "BOTH" diff --git a/src/main/resources/assets/twilightforest/models/block/candelabra.json b/src/main/resources/assets/twilightforest/models/block/candelabra.json new file mode 100644 index 0000000000..7369d83c4b --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/candelabra.json @@ -0,0 +1,106 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "candelabra": "twilightforest:block/candelabra", + "particle": "#candelabra" + }, + "elements": [ + { + "from": [0, 1, 8], + "to": [16, 7, 8], + "faces": { + "north": {"texture": "#candelabra", "uv": [0.0, 0.0, 16.0, 6.0]}, + "south": {"texture": "#candelabra", "uv": [16.0, 0.0, 0.0, 6.0]} + } + }, + { + "from": [8, 1, 5], + "to": [8, 7, 11], + "faces": { + "east": {"texture": "#candelabra", "uv": [0.0, 6.0, 6.0, 12.0]}, + "west": {"texture": "#candelabra", "uv": [6.0, 6.0, 0.0, 12.0]} + } + }, + { + "from": [1, 7, 6], + "to": [5, 8, 10], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [6, 7, 6], + "to": [10, 8, 10], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [11, 7, 6], + "to": [15, 8, 10], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [6, 0, 6], + "to": [10, 1, 10], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + } + ], + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.9, 0.9, 0.9 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "head": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 14.5, 0 ], + "scale": [ 1, 1, 1 ] + }, + "fixed": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.75, 0.75, 0.75 ] + }, + "thirdperson_righthand": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 4, 1 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 135, 0 ], + "translation": [ 0.5, 3.5, 1 ], + "scale": [ 0.40, 0.40, 0.40 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/wall_candelabra.json b/src/main/resources/assets/twilightforest/models/block/wall_candelabra.json new file mode 100644 index 0000000000..a18121c965 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/wall_candelabra.json @@ -0,0 +1,74 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "candelabra": "twilightforest:block/candelabra", + "particle": "#candelabra" + }, + "elements": [ + { + "from": [0, 1, 12], + "to": [16, 7, 12], + "faces": { + "north": {"texture": "#candelabra", "uv": [0.0, 0.0, 16.0, 6.0]}, + "south": {"texture": "#candelabra", "uv": [16.0, 0.0, 0.0, 6.0]} + } + }, + { + "from": [8, 1, 9], + "to": [8, 7, 15], + "faces": { + "east": {"texture": "#candelabra", "uv": [0.0, 6.0, 6.0, 12.0]}, + "west": {"texture": "#candelabra", "uv": [6.0, 6.0, 0.0, 12.0]} + } + }, + { + "from": [1, 7, 10], + "to": [5, 8, 14], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [6, 7, 10], + "to": [10, 8, 14], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [11, 7, 10], + "to": [15, 8, 14], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "east": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "west": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]} + } + }, + { + "from": [6, 2, 15], + "to": [10, 6, 16], + "faces": { + "down": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "east": {"texture": "#candelabra", "uv": [3.0, 12.0, 4.0, 16.0]}, + "north": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "south": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 16.0]}, + "up": {"texture": "#candelabra", "uv": [0.0, 12.0, 4.0, 13.0]}, + "west": {"texture": "#candelabra", "uv": [3.0, 12.0, 4.0, 16.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json b/src/main/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json new file mode 100644 index 0000000000..7717fd0f8f --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/alpha_yeti_trophy.json @@ -0,0 +1,42 @@ +{ + "textures": { + "particle": "block/soul_sand" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 2, 12 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "head": { + "rotation": [ 180, 0, 180 ], + "translation": [ 0, 2, 0 ], + "scale": [ 1.7, 1.7, 1.7 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 4, -2 ], + "scale": [ 1, 1, 1 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 45, 135, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 2, 0 ], + "scale": [ 1, 1, 1 ] + }, + "twilightforest:jarred": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/brazier.json b/src/main/resources/assets/twilightforest/models/item/brazier.json index 29b614b8c8..fb6787506b 100644 --- a/src/main/resources/assets/twilightforest/models/item/brazier.json +++ b/src/main/resources/assets/twilightforest/models/item/brazier.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "twilightforest:block/wood/planks_canopy_0" }, diff --git a/src/main/resources/assets/twilightforest/models/item/candelabra.json b/src/main/resources/assets/twilightforest/models/item/candelabra.json deleted file mode 100644 index 798c3b7372..0000000000 --- a/src/main/resources/assets/twilightforest/models/item/candelabra.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "parent": "minecraft:builtin/entity", - "textures": { - "particle": "twilightforest:block/candelabra" - }, - "display": { - "gui": { - "rotation": [ 30, 225, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 0.9, 0.9, 0.9 ] - }, - "ground": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 3, 0 ], - "scale": [ 0.25, 0.25, 0.25 ] - }, - "head": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 14.5, 0 ], - "scale": [ 1, 1, 1 ] - }, - "fixed": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 0.75, 0.75, 0.75 ] - }, - "thirdperson_righthand": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 4, 1 ], - "scale": [ 0.5, 0.5, 0.5 ] - }, - "firstperson_righthand": { - "rotation": [ 0, 135, 0 ], - "translation": [ 0.5, 3.5, 1 ], - "scale": [ 0.40, 0.40, 0.40 ] - } - } -} diff --git a/src/main/resources/assets/twilightforest/models/item/cicada.json b/src/main/resources/assets/twilightforest/models/item/cicada.json index 05a506428b..d01ccfa4de 100644 --- a/src/main/resources/assets/twilightforest/models/item/cicada.json +++ b/src/main/resources/assets/twilightforest/models/item/cicada.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "minecraft:block/slime_block" }, diff --git a/src/main/resources/assets/twilightforest/models/item/firefly.json b/src/main/resources/assets/twilightforest/models/item/firefly.json index 3d7d177264..a5080b3422 100644 --- a/src/main/resources/assets/twilightforest/models/item/firefly.json +++ b/src/main/resources/assets/twilightforest/models/item/firefly.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "minecraft:block/slime_block" }, diff --git a/src/main/resources/assets/twilightforest/models/item/hydra_trophy.json b/src/main/resources/assets/twilightforest/models/item/hydra_trophy.json new file mode 100644 index 0000000000..21243fff88 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/hydra_trophy.json @@ -0,0 +1,42 @@ +{ + "textures": { + "particle": "block/soul_sand" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 3, 12 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "head": { + "rotation": [ 180, 0, 180 ], + "translation": [ 0, 6, -6 ], + "scale": [ 1.6, 1.6, 1.6 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 4, -2 ], + "scale": [ 1, 1, 1 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 45, 135, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 2, 0 ], + "scale": [ 1, 1, 1 ] + }, + "twilightforest:jarred": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/keepsake_casket.json b/src/main/resources/assets/twilightforest/models/item/keepsake_casket.json index 02e0261046..021dd67b25 100644 --- a/src/main/resources/assets/twilightforest/models/item/keepsake_casket.json +++ b/src/main/resources/assets/twilightforest/models/item/keepsake_casket.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "block/netherite_block" }, diff --git a/src/main/resources/assets/twilightforest/models/item/knightmetal_shield.json b/src/main/resources/assets/twilightforest/models/item/knightmetal_shield.json index f63431c83b..5f6c6b3dcb 100644 --- a/src/main/resources/assets/twilightforest/models/item/knightmetal_shield.json +++ b/src/main/resources/assets/twilightforest/models/item/knightmetal_shield.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "gui_light": "front", "textures": { "particle": "twilightforest:block/towerwood" diff --git a/src/main/resources/assets/twilightforest/models/item/knightmetal_shield_blocking.json b/src/main/resources/assets/twilightforest/models/item/knightmetal_shield_blocking.json index b8e5e8f1b0..c34f0432d3 100644 --- a/src/main/resources/assets/twilightforest/models/item/knightmetal_shield_blocking.json +++ b/src/main/resources/assets/twilightforest/models/item/knightmetal_shield_blocking.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "gui_light": "front", "textures": { "particle": "twilightforest:block/towerwood" diff --git a/src/main/resources/assets/twilightforest/models/item/mason_jar.json b/src/main/resources/assets/twilightforest/models/item/mason_jar.json index dd61f2d644..cd0554ebc4 100644 --- a/src/main/resources/assets/twilightforest/models/item/mason_jar.json +++ b/src/main/resources/assets/twilightforest/models/item/mason_jar.json @@ -1,5 +1,4 @@ { - "parent": "minecraft:builtin/entity", "textures": { "particle": "twilightforest:block/jar_side" }, diff --git a/src/main/resources/assets/twilightforest/models/item/moonworm.json b/src/main/resources/assets/twilightforest/models/item/moonworm.json index 9f0d373cc3..be13709a2f 100644 --- a/src/main/resources/assets/twilightforest/models/item/moonworm.json +++ b/src/main/resources/assets/twilightforest/models/item/moonworm.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "minecraft:block/slime_block" }, diff --git a/src/main/resources/assets/twilightforest/models/item/skull_chest.json b/src/main/resources/assets/twilightforest/models/item/skull_chest.json index 02e0261046..021dd67b25 100644 --- a/src/main/resources/assets/twilightforest/models/item/skull_chest.json +++ b/src/main/resources/assets/twilightforest/models/item/skull_chest.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "block/netherite_block" }, diff --git a/src/main/resources/assets/twilightforest/models/item/smaller_gui_trophy.json b/src/main/resources/assets/twilightforest/models/item/smaller_gui_trophy.json new file mode 100644 index 0000000000..ee248f5b42 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/smaller_gui_trophy.json @@ -0,0 +1,42 @@ +{ + "textures": { + "particle": "block/soul_sand" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 3, 12 ], + "scale": [ 0.9, 0.9, 0.9 ] + }, + "head": { + "rotation": [ 180, 0, 180 ], + "translation": [ 0, 6, 0 ], + "scale": [ 1.6, 1.6, 1.6 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 4, -2 ], + "scale": [ 1, 1, 1 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 45, 135, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 2, 0 ], + "scale": [ 1, 1, 1 ] + }, + "twilightforest:jarred": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/template_skull_candle.json b/src/main/resources/assets/twilightforest/models/item/template_skull_candle.json index 61457d3e9b..cbbd58f88f 100644 --- a/src/main/resources/assets/twilightforest/models/item/template_skull_candle.json +++ b/src/main/resources/assets/twilightforest/models/item/template_skull_candle.json @@ -1,5 +1,4 @@ { - "parent": "builtin/entity", "textures": { "particle": "block/soul_sand" }, diff --git a/src/main/resources/assets/twilightforest/models/item/template_trophy.json b/src/main/resources/assets/twilightforest/models/item/template_trophy.json index 49165313a4..f5785c142d 100644 --- a/src/main/resources/assets/twilightforest/models/item/template_trophy.json +++ b/src/main/resources/assets/twilightforest/models/item/template_trophy.json @@ -1,9 +1,12 @@ { - "parent": "builtin/entity", "textures": { "particle": "block/soul_sand" }, "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 3, 12 ] + }, "head": { "rotation": [ 180, 0, 180 ], "translation": [ 0, 6, 0 ], @@ -33,11 +36,6 @@ "rotation": [ 0, 180, 0 ], "translation": [ 0, 0, 0 ], "scale": [ 1, 1, 1 ] - }, - "whatever:whatever": { - "rotation": [ 0, 180, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json b/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json new file mode 100644 index 0000000000..d16d641dc2 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json @@ -0,0 +1,43 @@ +{ + "parent": "twilightforest:template_trophy", + "textures": { + "particle": "block/soul_sand" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 10, 20 ], + "scale": [ 0.85, 0.85, 0.85 ] + }, + "head": { + "rotation": [ 180, 0, 180 ], + "translation": [ 0, 20, 0 ], + "scale": [ 1.75, 1.75, 1.75 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 16, -2 ], + "scale": [ 1, 1, 1 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 9, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 45, 135, 0 ], + "translation": [ 0, 3, 2 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 8, 0 ], + "scale": [ 1, 1, 1 ] + }, + "twilightforest:jarred": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/canopy/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/canopy/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/canopy/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/canopy/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/darkwood/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mangrove/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mining/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mining/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mining/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mining/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/mining/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/mining/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/mining/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/sorting/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/sorting/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/sorting/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/sorting/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/time/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/time/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/time/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/time/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/time/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/time/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/time/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/time/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/time/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/time/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/time/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/time/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/transformation/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/transformation/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/transformation/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/transformation/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/single.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/single.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/normal_right.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped_left.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped_left.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped_left.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped_left.png diff --git a/src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped_right.png b/src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped_right.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/entity/chest/twilight/trapped_right.png rename to src/main/resources/assets/twilightforest/textures/entity/chest/twilight_oak/trapped_right.png From 0d4cb0efba78eef0061447bd4c9e26dede406933 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Fri, 4 Apr 2025 11:40:04 -0400 Subject: [PATCH 068/239] Pull gradle changes from 1.21.1 --- build.gradle | 11 +++++++++-- gradle.properties | 2 +- src/main/java/twilightforest/TwilightForestMod.java | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 4245dd8f90..cb7e8e1a41 100644 --- a/build.gradle +++ b/build.gradle @@ -34,10 +34,18 @@ configurations { shadowJar { archiveClassifier.set('universal') + dependsOn(tasks.named("jar")) + afterEvaluate { + from({ tasks.named("jar").get().outputs }) + } configurations = [project.configurations.shade] relocate 'tamaized.beanification', "${project.mod_id}.beanification" } +jar { + archiveClassifier = "slim" +} + def secrets = new Properties() def secretsFile = file('secrets.properties') if (secretsFile.exists()) { @@ -298,7 +306,6 @@ processResources { jar { manifest { - archiveClassifier = 'universal' attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : "TeamTwilight", @@ -318,7 +325,7 @@ publishing { publications { create('mavenJava', MavenPublication) { afterEvaluate { - artifact this.project.jar + artifact this.project.shadowJar artifact this.project.sourceJar artifact this.project.dataJar artifact this.project.dataSourceJar diff --git a/gradle.properties b/gradle.properties index 5ae3d93add..8623ea7681 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ neo_version=21.4.124 mdg_version=2.0.76 # Deps -beanification_version=1.4.92 +beanification_version=1.5.93 jei_version=19.8.2.99 rei_version=18.0.796 emi_version=1.1.11 diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index fc94508ba3..3a359679ee 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -100,7 +100,7 @@ public final class TwilightForestMod { public static final Logger LOGGER = LogManager.getLogger(ID); static { - BeanContext.init(); + BeanContext.init(ID); } @Autowired From 68cfd601515b45ed7460ba9302dd2767432ad772 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 11:19:32 -0600 Subject: [PATCH 069/239] fix animal crashes and variant issues --- src/main/java/twilightforest/entity/passive/Boar.java | 2 +- src/main/java/twilightforest/entity/passive/Deer.java | 2 +- .../twilightforest/entity/passive/DwarfRabbit.java | 10 +++++----- .../java/twilightforest/entity/passive/Penguin.java | 2 +- .../java/twilightforest/entity/passive/QuestRam.java | 2 +- .../java/twilightforest/entity/passive/Raven.java | 3 ++- .../java/twilightforest/entity/passive/Squirrel.java | 2 +- .../java/twilightforest/entity/passive/TinyBird.java | 11 ++++++----- 8 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/main/java/twilightforest/entity/passive/Boar.java b/src/main/java/twilightforest/entity/passive/Boar.java index 7fc86c9189..2d4259660c 100644 --- a/src/main/java/twilightforest/entity/passive/Boar.java +++ b/src/main/java/twilightforest/entity/passive/Boar.java @@ -43,7 +43,7 @@ protected void registerGoals() { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 10.0D).add(Attributes.MOVEMENT_SPEED, 0.25D); + return Animal.createAnimalAttributes().add(Attributes.MAX_HEALTH, 10.0D).add(Attributes.MOVEMENT_SPEED, 0.25D); } @Override diff --git a/src/main/java/twilightforest/entity/passive/Deer.java b/src/main/java/twilightforest/entity/passive/Deer.java index f39fe17c4d..a3cc312843 100644 --- a/src/main/java/twilightforest/entity/passive/Deer.java +++ b/src/main/java/twilightforest/entity/passive/Deer.java @@ -40,7 +40,7 @@ protected void registerGoals() { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 10.0) .add(Attributes.MOVEMENT_SPEED, 0.2); } diff --git a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java index fc228a4e66..bfa2f7ba19 100644 --- a/src/main/java/twilightforest/entity/passive/DwarfRabbit.java +++ b/src/main/java/twilightforest/entity/passive/DwarfRabbit.java @@ -35,7 +35,7 @@ public class DwarfRabbit extends Animal implements VariantHolder> { - private static final Lazy>> VARIANT = Lazy.of(() -> SynchedEntityData.defineId(DwarfRabbit.class, TFDataSerializers.DWARF_RABBIT_VARIANT.get())); + private static final EntityDataAccessor> VARIANT = SynchedEntityData.defineId(DwarfRabbit.class, TFDataSerializers.DWARF_RABBIT_VARIANT.get()); public DwarfRabbit(EntityType type, Level world) { super(type, world); @@ -59,7 +59,7 @@ protected void registerGoals() { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 3.0D) .add(Attributes.MOVEMENT_SPEED, 0.3D) .add(Attributes.STEP_HEIGHT, 1.0D); @@ -87,7 +87,7 @@ public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob mob) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT.get(), this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getOrThrow(DwarfRabbitVariants.BROWN)); + builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.DWARF_RABBIT_VARIANT).getOrThrow(DwarfRabbitVariants.BROWN)); } @Override @@ -114,12 +114,12 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst @Override public Holder getVariant() { - return this.getEntityData().get(VARIANT.get()); + return this.getEntityData().get(VARIANT); } @Override public void setVariant(Holder variant) { - this.getEntityData().set(VARIANT.get(), variant); + this.getEntityData().set(VARIANT, variant); } @Override diff --git a/src/main/java/twilightforest/entity/passive/Penguin.java b/src/main/java/twilightforest/entity/passive/Penguin.java index bc36701e93..002164ae2e 100644 --- a/src/main/java/twilightforest/entity/passive/Penguin.java +++ b/src/main/java/twilightforest/entity/passive/Penguin.java @@ -68,7 +68,7 @@ protected SoundEvent getDeathSound() { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 10.0D) .add(Attributes.MOVEMENT_SPEED, 0.2D); } diff --git a/src/main/java/twilightforest/entity/passive/QuestRam.java b/src/main/java/twilightforest/entity/passive/QuestRam.java index 5f65fb88bd..5df77965f8 100644 --- a/src/main/java/twilightforest/entity/passive/QuestRam.java +++ b/src/main/java/twilightforest/entity/passive/QuestRam.java @@ -97,7 +97,7 @@ public Animal getBreedOffspring(ServerLevel level, AgeableMob mate) { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 70.0D) .add(Attributes.MOVEMENT_SPEED, 0.23D); } diff --git a/src/main/java/twilightforest/entity/passive/Raven.java b/src/main/java/twilightforest/entity/passive/Raven.java index c46e1606bd..f80937a861 100644 --- a/src/main/java/twilightforest/entity/passive/Raven.java +++ b/src/main/java/twilightforest/entity/passive/Raven.java @@ -6,6 +6,7 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; import twilightforest.tags.TFItemTags; @@ -18,7 +19,7 @@ public Raven(EntityType type, Level world) { } public static AttributeSupplier.Builder registerAttributes() { - return FlyingBird.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 10.0D) .add(Attributes.MOVEMENT_SPEED, 0.2D) .add(Attributes.STEP_HEIGHT, 1.0D); diff --git a/src/main/java/twilightforest/entity/passive/Squirrel.java b/src/main/java/twilightforest/entity/passive/Squirrel.java index ad191f1941..4cda9fc39d 100644 --- a/src/main/java/twilightforest/entity/passive/Squirrel.java +++ b/src/main/java/twilightforest/entity/passive/Squirrel.java @@ -43,7 +43,7 @@ protected void registerGoals() { } public static AttributeSupplier.Builder registerAttributes() { - return Mob.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 6.0D) .add(Attributes.MOVEMENT_SPEED, 0.3D) .add(Attributes.STEP_HEIGHT, 1.0D); diff --git a/src/main/java/twilightforest/entity/passive/TinyBird.java b/src/main/java/twilightforest/entity/passive/TinyBird.java index 1cd9c42872..3ed1a6ac84 100644 --- a/src/main/java/twilightforest/entity/passive/TinyBird.java +++ b/src/main/java/twilightforest/entity/passive/TinyBird.java @@ -17,6 +17,7 @@ import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.AvoidEntityGoal; +import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.animal.Cat; import net.minecraft.world.entity.animal.Ocelot; import net.minecraft.world.entity.player.Player; @@ -35,7 +36,7 @@ public class TinyBird extends FlyingBird implements VariantHolder> { - private static final Lazy>> VARIANT = Lazy.of(() -> SynchedEntityData.defineId(TinyBird.class, TFDataSerializers.TINY_BIRD_VARIANT.get())); + private static final EntityDataAccessor> VARIANT = SynchedEntityData.defineId(TinyBird.class, TFDataSerializers.TINY_BIRD_VARIANT.get()); public TinyBird(EntityType type, Level level) { super(type, level); @@ -51,11 +52,11 @@ protected void registerGoals() { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(VARIANT.get(), this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getOrThrow(TinyBirdVariants.RED)); + builder.define(VARIANT, this.registryAccess().lookupOrThrow(TFRegistries.Keys.TINY_BIRD_VARIANT).getOrThrow(TinyBirdVariants.RED)); } public static AttributeSupplier.Builder registerAttributes() { - return FlyingBird.createMobAttributes() + return Animal.createAnimalAttributes() .add(Attributes.MAX_HEALTH, 4.0D) .add(Attributes.MOVEMENT_SPEED, 0.2D) .add(Attributes.STEP_HEIGHT, 1.0D); @@ -85,12 +86,12 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst @Override public Holder getVariant() { - return this.getEntityData().get(VARIANT.get()); + return this.getEntityData().get(VARIANT); } @Override public void setVariant(Holder variant) { - this.getEntityData().set(VARIANT.get(), variant); + this.getEntityData().set(VARIANT, variant); } @Override From 9ea01b6ec11ddcd4e5dd2dd6c64b34d23a2150c1 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 11:25:42 -0600 Subject: [PATCH 070/239] quick push of all item models ive done so far --- .../assets/models/BlockModelGenerator.java | 9 +- .../assets/models/ItemModelGenerator.java | 221 +++++- .../assets/models/TFBlockModelTemplates.java | 44 -- .../assets/models/TFModelTemplates.java | 47 ++ .../datagen/helpers/BlockModelBuilders.java | 26 +- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 634 +++++++++++++++++- .../twilightforest/items/arctic_boots.json | 239 +++++++ .../items/arctic_chestplate.json | 239 +++++++ .../twilightforest/items/arctic_helmet.json | 239 +++++++ .../twilightforest/items/arctic_leggings.json | 239 +++++++ .../twilightforest/items/block_and_chain.json | 6 + .../twilightforest/items/crumble_horn.json | 6 + .../items/diamond_minotaur_axe.json | 6 + .../twilightforest/items/emperors_cloth.json | 6 + .../twilightforest/items/ender_bow.json | 35 + .../twilightforest/items/fiery_boots.json | 131 ++++ .../items/fiery_chestplate.json | 131 ++++ .../twilightforest/items/fiery_helmet.json | 131 ++++ .../twilightforest/items/fiery_leggings.json | 131 ++++ .../twilightforest/items/fiery_pickaxe.json | 6 + .../twilightforest/items/fiery_sword.json | 6 + .../items/fortification_scepter.json | 6 + .../twilightforest/items/giant_pickaxe.json | 19 + .../twilightforest/items/giant_sword.json | 19 + .../twilightforest/items/glass_sword.json | 6 + .../items/gold_minotaur_axe.json | 6 + .../assets/twilightforest/items/ice_bomb.json | 6 + .../assets/twilightforest/items/ice_bow.json | 35 + .../twilightforest/items/ice_sword.json | 6 + .../twilightforest/items/ironwood_axe.json | 6 + .../twilightforest/items/ironwood_boots.json | 131 ++++ .../items/ironwood_chestplate.json | 131 ++++ .../twilightforest/items/ironwood_helmet.json | 131 ++++ .../twilightforest/items/ironwood_hoe.json | 6 + .../items/ironwood_leggings.json | 131 ++++ .../items/ironwood_pickaxe.json | 6 + .../twilightforest/items/ironwood_shovel.json | 6 + .../twilightforest/items/ironwood_sword.json | 6 + .../twilightforest/items/knightmetal_axe.json | 6 + .../items/knightmetal_boots.json | 131 ++++ .../items/knightmetal_chestplate.json | 131 ++++ .../items/knightmetal_helmet.json | 131 ++++ .../items/knightmetal_leggings.json | 131 ++++ .../items/knightmetal_pickaxe.json | 6 + .../items/knightmetal_sword.json | 6 + .../items/lifedrain_scepter.json | 6 + .../items/mazebreaker_pickaxe.json | 6 + .../twilightforest/items/moon_dial.json | 148 ++++ .../twilightforest/items/moonworm_queen.json | 14 + .../twilightforest/items/naga_chestplate.json | 131 ++++ .../twilightforest/items/naga_leggings.json | 131 ++++ .../twilightforest/items/ore_magnet.json | 6 + .../twilightforest/items/ore_meter.json | 6 + .../items/peacock_feather_fan.json | 6 + .../items/phantom_chestplate.json | 131 ++++ .../twilightforest/items/phantom_helmet.json | 131 ++++ .../twilightforest/items/pocket_watch.json | 6 + .../twilightforest/items/seeker_bow.json | 35 + .../twilightforest/items/steeleaf_axe.json | 6 + .../twilightforest/items/steeleaf_boots.json | 131 ++++ .../items/steeleaf_chestplate.json | 131 ++++ .../twilightforest/items/steeleaf_helmet.json | 131 ++++ .../twilightforest/items/steeleaf_hoe.json | 6 + .../items/steeleaf_leggings.json | 131 ++++ .../items/steeleaf_pickaxe.json | 6 + .../twilightforest/items/steeleaf_shovel.json | 6 + .../twilightforest/items/steeleaf_sword.json | 6 + .../twilightforest/items/triple_bow.json | 35 + .../items/twilight_scepter.json | 6 + .../twilightforest/items/yeti_boots.json | 131 ++++ .../twilightforest/items/yeti_chestplate.json | 131 ++++ .../twilightforest/items/yeti_helmet.json | 131 ++++ .../twilightforest/items/yeti_leggings.json | 131 ++++ .../twilightforest/items/zombie_scepter.json | 6 + .../models/item/arctic_boots.json | 7 + .../item/arctic_boots_amethyst_trim.json | 8 + .../item/arctic_boots_carminite_trim.json | 8 + .../models/item/arctic_boots_copper_trim.json | 8 + .../item/arctic_boots_diamond_trim.json | 8 + .../item/arctic_boots_emerald_trim.json | 8 + .../models/item/arctic_boots_fiery_trim.json | 8 + .../models/item/arctic_boots_gold_trim.json | 8 + .../models/item/arctic_boots_iron_trim.json | 8 + .../item/arctic_boots_ironwood_trim.json | 8 + .../item/arctic_boots_knightmetal_trim.json | 8 + .../models/item/arctic_boots_lapis_trim.json | 8 + .../item/arctic_boots_naga_scale_trim.json | 8 + .../item/arctic_boots_netherite_trim.json | 8 + .../models/item/arctic_boots_quartz_trim.json | 8 + .../item/arctic_boots_redstone_trim.json | 8 + .../models/item/arctic_boots_resin_trim.json | 8 + .../item/arctic_boots_steeleaf_trim.json | 8 + .../models/item/arctic_chestplate.json | 7 + .../item/arctic_chestplate_amethyst_trim.json | 8 + .../arctic_chestplate_carminite_trim.json | 8 + .../item/arctic_chestplate_copper_trim.json | 8 + .../item/arctic_chestplate_diamond_trim.json | 8 + .../item/arctic_chestplate_emerald_trim.json | 8 + .../item/arctic_chestplate_fiery_trim.json | 8 + .../item/arctic_chestplate_gold_trim.json | 8 + .../item/arctic_chestplate_iron_trim.json | 8 + .../item/arctic_chestplate_ironwood_trim.json | 8 + .../arctic_chestplate_knightmetal_trim.json | 8 + .../item/arctic_chestplate_lapis_trim.json | 8 + .../arctic_chestplate_naga_scale_trim.json | 8 + .../arctic_chestplate_netherite_trim.json | 8 + .../item/arctic_chestplate_quartz_trim.json | 8 + .../item/arctic_chestplate_redstone_trim.json | 8 + .../item/arctic_chestplate_resin_trim.json | 8 + .../item/arctic_chestplate_steeleaf_trim.json | 8 + .../models/item/arctic_helmet.json | 7 + .../item/arctic_helmet_amethyst_trim.json | 8 + .../item/arctic_helmet_carminite_trim.json | 8 + .../item/arctic_helmet_copper_trim.json | 8 + .../item/arctic_helmet_diamond_trim.json | 8 + .../item/arctic_helmet_emerald_trim.json | 8 + .../models/item/arctic_helmet_fiery_trim.json | 8 + .../models/item/arctic_helmet_gold_trim.json | 8 + .../models/item/arctic_helmet_iron_trim.json | 8 + .../item/arctic_helmet_ironwood_trim.json | 8 + .../item/arctic_helmet_knightmetal_trim.json | 8 + .../models/item/arctic_helmet_lapis_trim.json | 8 + .../item/arctic_helmet_naga_scale_trim.json | 8 + .../item/arctic_helmet_netherite_trim.json | 8 + .../item/arctic_helmet_quartz_trim.json | 8 + .../item/arctic_helmet_redstone_trim.json | 8 + .../models/item/arctic_helmet_resin_trim.json | 8 + .../item/arctic_helmet_steeleaf_trim.json | 8 + .../models/item/arctic_leggings.json | 7 + .../item/arctic_leggings_amethyst_trim.json | 8 + .../item/arctic_leggings_carminite_trim.json | 8 + .../item/arctic_leggings_copper_trim.json | 8 + .../item/arctic_leggings_diamond_trim.json | 8 + .../item/arctic_leggings_emerald_trim.json | 8 + .../item/arctic_leggings_fiery_trim.json | 8 + .../item/arctic_leggings_gold_trim.json | 8 + .../item/arctic_leggings_iron_trim.json | 8 + .../item/arctic_leggings_ironwood_trim.json | 8 + .../arctic_leggings_knightmetal_trim.json | 8 + .../item/arctic_leggings_lapis_trim.json | 8 + .../item/arctic_leggings_naga_scale_trim.json | 8 + .../item/arctic_leggings_netherite_trim.json | 8 + .../item/arctic_leggings_quartz_trim.json | 8 + .../item/arctic_leggings_redstone_trim.json | 8 + .../item/arctic_leggings_resin_trim.json | 8 + .../item/arctic_leggings_steeleaf_trim.json | 8 + .../models/item/block_and_chain.json | 6 + .../models/item/crumble_horn.json | 6 + .../models/item/diamond_minotaur_axe.json | 6 + .../models/item/emperors_cloth.json | 6 + .../twilightforest/models/item/ender_bow.json | 6 + .../models/item/ender_bow_pulling_0.json | 6 + .../models/item/ender_bow_pulling_1.json | 6 + .../models/item/ender_bow_pulling_2.json | 6 + .../models/item/fiery_boots.json | 6 + .../item/fiery_boots_amethyst_trim.json | 7 + .../item/fiery_boots_carminite_trim.json | 7 + .../models/item/fiery_boots_copper_trim.json | 7 + .../models/item/fiery_boots_diamond_trim.json | 7 + .../models/item/fiery_boots_emerald_trim.json | 7 + .../models/item/fiery_boots_fiery_trim.json | 7 + .../models/item/fiery_boots_gold_trim.json | 7 + .../models/item/fiery_boots_iron_trim.json | 7 + .../item/fiery_boots_ironwood_trim.json | 7 + .../item/fiery_boots_knightmetal_trim.json | 7 + .../models/item/fiery_boots_lapis_trim.json | 7 + .../item/fiery_boots_naga_scale_trim.json | 7 + .../item/fiery_boots_netherite_trim.json | 7 + .../models/item/fiery_boots_quartz_trim.json | 7 + .../item/fiery_boots_redstone_trim.json | 7 + .../models/item/fiery_boots_resin_trim.json | 7 + .../item/fiery_boots_steeleaf_trim.json | 7 + .../models/item/fiery_chestplate.json | 6 + .../item/fiery_chestplate_amethyst_trim.json | 7 + .../item/fiery_chestplate_carminite_trim.json | 7 + .../item/fiery_chestplate_copper_trim.json | 7 + .../item/fiery_chestplate_diamond_trim.json | 7 + .../item/fiery_chestplate_emerald_trim.json | 7 + .../item/fiery_chestplate_fiery_trim.json | 7 + .../item/fiery_chestplate_gold_trim.json | 7 + .../item/fiery_chestplate_iron_trim.json | 7 + .../item/fiery_chestplate_ironwood_trim.json | 7 + .../fiery_chestplate_knightmetal_trim.json | 7 + .../item/fiery_chestplate_lapis_trim.json | 7 + .../fiery_chestplate_naga_scale_trim.json | 7 + .../item/fiery_chestplate_netherite_trim.json | 7 + .../item/fiery_chestplate_quartz_trim.json | 7 + .../item/fiery_chestplate_redstone_trim.json | 7 + .../item/fiery_chestplate_resin_trim.json | 7 + .../item/fiery_chestplate_steeleaf_trim.json | 7 + .../models/item/fiery_helmet.json | 6 + .../item/fiery_helmet_amethyst_trim.json | 7 + .../item/fiery_helmet_carminite_trim.json | 7 + .../models/item/fiery_helmet_copper_trim.json | 7 + .../item/fiery_helmet_diamond_trim.json | 7 + .../item/fiery_helmet_emerald_trim.json | 7 + .../models/item/fiery_helmet_fiery_trim.json | 7 + .../models/item/fiery_helmet_gold_trim.json | 7 + .../models/item/fiery_helmet_iron_trim.json | 7 + .../item/fiery_helmet_ironwood_trim.json | 7 + .../item/fiery_helmet_knightmetal_trim.json | 7 + .../models/item/fiery_helmet_lapis_trim.json | 7 + .../item/fiery_helmet_naga_scale_trim.json | 7 + .../item/fiery_helmet_netherite_trim.json | 7 + .../models/item/fiery_helmet_quartz_trim.json | 7 + .../item/fiery_helmet_redstone_trim.json | 7 + .../models/item/fiery_helmet_resin_trim.json | 7 + .../item/fiery_helmet_steeleaf_trim.json | 7 + .../models/item/fiery_leggings.json | 6 + .../item/fiery_leggings_amethyst_trim.json | 7 + .../item/fiery_leggings_carminite_trim.json | 7 + .../item/fiery_leggings_copper_trim.json | 7 + .../item/fiery_leggings_diamond_trim.json | 7 + .../item/fiery_leggings_emerald_trim.json | 7 + .../item/fiery_leggings_fiery_trim.json | 7 + .../models/item/fiery_leggings_gold_trim.json | 7 + .../models/item/fiery_leggings_iron_trim.json | 7 + .../item/fiery_leggings_ironwood_trim.json | 7 + .../item/fiery_leggings_knightmetal_trim.json | 7 + .../item/fiery_leggings_lapis_trim.json | 7 + .../item/fiery_leggings_naga_scale_trim.json | 7 + .../item/fiery_leggings_netherite_trim.json | 7 + .../item/fiery_leggings_quartz_trim.json | 7 + .../item/fiery_leggings_redstone_trim.json | 7 + .../item/fiery_leggings_resin_trim.json | 7 + .../item/fiery_leggings_steeleaf_trim.json | 7 + .../models/item/fiery_pickaxe.json | 6 + .../models/item/fiery_sword.json | 6 + .../models/item/fortification_scepter.json | 6 + .../models/item/giant_pickaxe.json | 6 + .../models/item/giant_sword.json | 6 + .../models/item/glass_sword.json | 7 + .../models/item/gold_minotaur_axe.json | 6 + .../twilightforest/models/item/ice_bomb.json | 6 + .../twilightforest/models/item/ice_bow.json | 7 + .../models/item/ice_bow_pulling_0.json | 7 + .../models/item/ice_bow_pulling_1.json | 7 + .../models/item/ice_bow_pulling_2.json | 7 + .../twilightforest/models/item/ice_sword.json | 7 + .../models/item/ironwood_axe.json | 6 + .../models/item/ironwood_boots.json | 6 + .../item/ironwood_boots_amethyst_trim.json | 7 + .../item/ironwood_boots_carminite_trim.json | 7 + .../item/ironwood_boots_copper_trim.json | 7 + .../item/ironwood_boots_diamond_trim.json | 7 + .../item/ironwood_boots_emerald_trim.json | 7 + .../item/ironwood_boots_fiery_trim.json | 7 + .../models/item/ironwood_boots_gold_trim.json | 7 + .../models/item/ironwood_boots_iron_trim.json | 7 + .../item/ironwood_boots_ironwood_trim.json | 7 + .../item/ironwood_boots_knightmetal_trim.json | 7 + .../item/ironwood_boots_lapis_trim.json | 7 + .../item/ironwood_boots_naga_scale_trim.json | 7 + .../item/ironwood_boots_netherite_trim.json | 7 + .../item/ironwood_boots_quartz_trim.json | 7 + .../item/ironwood_boots_redstone_trim.json | 7 + .../item/ironwood_boots_resin_trim.json | 7 + .../item/ironwood_boots_steeleaf_trim.json | 7 + .../models/item/ironwood_chestplate.json | 6 + .../ironwood_chestplate_amethyst_trim.json | 7 + .../ironwood_chestplate_carminite_trim.json | 7 + .../item/ironwood_chestplate_copper_trim.json | 7 + .../ironwood_chestplate_diamond_trim.json | 7 + .../ironwood_chestplate_emerald_trim.json | 7 + .../item/ironwood_chestplate_fiery_trim.json | 7 + .../item/ironwood_chestplate_gold_trim.json | 7 + .../item/ironwood_chestplate_iron_trim.json | 7 + .../ironwood_chestplate_ironwood_trim.json | 7 + .../ironwood_chestplate_knightmetal_trim.json | 7 + .../item/ironwood_chestplate_lapis_trim.json | 7 + .../ironwood_chestplate_naga_scale_trim.json | 7 + .../ironwood_chestplate_netherite_trim.json | 7 + .../item/ironwood_chestplate_quartz_trim.json | 7 + .../ironwood_chestplate_redstone_trim.json | 7 + .../item/ironwood_chestplate_resin_trim.json | 7 + .../ironwood_chestplate_steeleaf_trim.json | 7 + .../models/item/ironwood_helmet.json | 6 + .../item/ironwood_helmet_amethyst_trim.json | 7 + .../item/ironwood_helmet_carminite_trim.json | 7 + .../item/ironwood_helmet_copper_trim.json | 7 + .../item/ironwood_helmet_diamond_trim.json | 7 + .../item/ironwood_helmet_emerald_trim.json | 7 + .../item/ironwood_helmet_fiery_trim.json | 7 + .../item/ironwood_helmet_gold_trim.json | 7 + .../item/ironwood_helmet_iron_trim.json | 7 + .../item/ironwood_helmet_ironwood_trim.json | 7 + .../ironwood_helmet_knightmetal_trim.json | 7 + .../item/ironwood_helmet_lapis_trim.json | 7 + .../item/ironwood_helmet_naga_scale_trim.json | 7 + .../item/ironwood_helmet_netherite_trim.json | 7 + .../item/ironwood_helmet_quartz_trim.json | 7 + .../item/ironwood_helmet_redstone_trim.json | 7 + .../item/ironwood_helmet_resin_trim.json | 7 + .../item/ironwood_helmet_steeleaf_trim.json | 7 + .../models/item/ironwood_hoe.json | 6 + .../models/item/ironwood_leggings.json | 6 + .../item/ironwood_leggings_amethyst_trim.json | 7 + .../ironwood_leggings_carminite_trim.json | 7 + .../item/ironwood_leggings_copper_trim.json | 7 + .../item/ironwood_leggings_diamond_trim.json | 7 + .../item/ironwood_leggings_emerald_trim.json | 7 + .../item/ironwood_leggings_fiery_trim.json | 7 + .../item/ironwood_leggings_gold_trim.json | 7 + .../item/ironwood_leggings_iron_trim.json | 7 + .../item/ironwood_leggings_ironwood_trim.json | 7 + .../ironwood_leggings_knightmetal_trim.json | 7 + .../item/ironwood_leggings_lapis_trim.json | 7 + .../ironwood_leggings_naga_scale_trim.json | 7 + .../ironwood_leggings_netherite_trim.json | 7 + .../item/ironwood_leggings_quartz_trim.json | 7 + .../item/ironwood_leggings_redstone_trim.json | 7 + .../item/ironwood_leggings_resin_trim.json | 7 + .../item/ironwood_leggings_steeleaf_trim.json | 7 + .../models/item/ironwood_pickaxe.json | 6 + .../models/item/ironwood_shovel.json | 6 + .../models/item/ironwood_sword.json | 6 + .../models/item/knightmetal_axe.json | 6 + .../models/item/knightmetal_boots.json | 6 + .../item/knightmetal_boots_amethyst_trim.json | 7 + .../knightmetal_boots_carminite_trim.json | 7 + .../item/knightmetal_boots_copper_trim.json | 7 + .../item/knightmetal_boots_diamond_trim.json | 7 + .../item/knightmetal_boots_emerald_trim.json | 7 + .../item/knightmetal_boots_fiery_trim.json | 7 + .../item/knightmetal_boots_gold_trim.json | 7 + .../item/knightmetal_boots_iron_trim.json | 7 + .../item/knightmetal_boots_ironwood_trim.json | 7 + .../knightmetal_boots_knightmetal_trim.json | 7 + .../item/knightmetal_boots_lapis_trim.json | 7 + .../knightmetal_boots_naga_scale_trim.json | 7 + .../knightmetal_boots_netherite_trim.json | 7 + .../item/knightmetal_boots_quartz_trim.json | 7 + .../item/knightmetal_boots_redstone_trim.json | 7 + .../item/knightmetal_boots_resin_trim.json | 7 + .../item/knightmetal_boots_steeleaf_trim.json | 7 + .../models/item/knightmetal_chestplate.json | 6 + .../knightmetal_chestplate_amethyst_trim.json | 7 + ...knightmetal_chestplate_carminite_trim.json | 7 + .../knightmetal_chestplate_copper_trim.json | 7 + .../knightmetal_chestplate_diamond_trim.json | 7 + .../knightmetal_chestplate_emerald_trim.json | 7 + .../knightmetal_chestplate_fiery_trim.json | 7 + .../knightmetal_chestplate_gold_trim.json | 7 + .../knightmetal_chestplate_iron_trim.json | 7 + .../knightmetal_chestplate_ironwood_trim.json | 7 + ...ightmetal_chestplate_knightmetal_trim.json | 7 + .../knightmetal_chestplate_lapis_trim.json | 7 + ...nightmetal_chestplate_naga_scale_trim.json | 7 + ...knightmetal_chestplate_netherite_trim.json | 7 + .../knightmetal_chestplate_quartz_trim.json | 7 + .../knightmetal_chestplate_redstone_trim.json | 7 + .../knightmetal_chestplate_resin_trim.json | 7 + .../knightmetal_chestplate_steeleaf_trim.json | 7 + .../models/item/knightmetal_helmet.json | 6 + .../knightmetal_helmet_amethyst_trim.json | 7 + .../knightmetal_helmet_carminite_trim.json | 7 + .../item/knightmetal_helmet_copper_trim.json | 7 + .../item/knightmetal_helmet_diamond_trim.json | 7 + .../item/knightmetal_helmet_emerald_trim.json | 7 + .../item/knightmetal_helmet_fiery_trim.json | 7 + .../item/knightmetal_helmet_gold_trim.json | 7 + .../item/knightmetal_helmet_iron_trim.json | 7 + .../knightmetal_helmet_ironwood_trim.json | 7 + .../knightmetal_helmet_knightmetal_trim.json | 7 + .../item/knightmetal_helmet_lapis_trim.json | 7 + .../knightmetal_helmet_naga_scale_trim.json | 7 + .../knightmetal_helmet_netherite_trim.json | 7 + .../item/knightmetal_helmet_quartz_trim.json | 7 + .../knightmetal_helmet_redstone_trim.json | 7 + .../item/knightmetal_helmet_resin_trim.json | 7 + .../knightmetal_helmet_steeleaf_trim.json | 7 + .../models/item/knightmetal_leggings.json | 6 + .../knightmetal_leggings_amethyst_trim.json | 7 + .../knightmetal_leggings_carminite_trim.json | 7 + .../knightmetal_leggings_copper_trim.json | 7 + .../knightmetal_leggings_diamond_trim.json | 7 + .../knightmetal_leggings_emerald_trim.json | 7 + .../item/knightmetal_leggings_fiery_trim.json | 7 + .../item/knightmetal_leggings_gold_trim.json | 7 + .../item/knightmetal_leggings_iron_trim.json | 7 + .../knightmetal_leggings_ironwood_trim.json | 7 + ...knightmetal_leggings_knightmetal_trim.json | 7 + .../item/knightmetal_leggings_lapis_trim.json | 7 + .../knightmetal_leggings_naga_scale_trim.json | 7 + .../knightmetal_leggings_netherite_trim.json | 7 + .../knightmetal_leggings_quartz_trim.json | 7 + .../knightmetal_leggings_redstone_trim.json | 7 + .../item/knightmetal_leggings_resin_trim.json | 7 + .../knightmetal_leggings_steeleaf_trim.json | 7 + .../models/item/knightmetal_pickaxe.json | 6 + .../models/item/knightmetal_sword.json | 6 + .../models/item/lifedrain_scepter.json | 6 + .../models/item/mazebreaker_pickaxe.json | 6 + .../twilightforest/models/item/moon_dial.json | 6 + .../models/item/moon_dial_1.json | 6 + .../models/item/moon_dial_2.json | 6 + .../models/item/moon_dial_3.json | 6 + .../models/item/moon_dial_4.json | 6 + .../models/item/moon_dial_5.json | 6 + .../models/item/moon_dial_6.json | 6 + .../models/item/moon_dial_7.json | 6 + .../models/item/moonworm_queen.json | 6 + .../models/item/moonworm_queen_alt.json | 6 + .../models/item/naga_chestplate.json | 6 + .../item/naga_chestplate_amethyst_trim.json | 7 + .../item/naga_chestplate_carminite_trim.json | 7 + .../item/naga_chestplate_copper_trim.json | 7 + .../item/naga_chestplate_diamond_trim.json | 7 + .../item/naga_chestplate_emerald_trim.json | 7 + .../item/naga_chestplate_fiery_trim.json | 7 + .../item/naga_chestplate_gold_trim.json | 7 + .../item/naga_chestplate_iron_trim.json | 7 + .../item/naga_chestplate_ironwood_trim.json | 7 + .../naga_chestplate_knightmetal_trim.json | 7 + .../item/naga_chestplate_lapis_trim.json | 7 + .../item/naga_chestplate_naga_scale_trim.json | 7 + .../item/naga_chestplate_netherite_trim.json | 7 + .../item/naga_chestplate_quartz_trim.json | 7 + .../item/naga_chestplate_redstone_trim.json | 7 + .../item/naga_chestplate_resin_trim.json | 7 + .../item/naga_chestplate_steeleaf_trim.json | 7 + .../models/item/naga_leggings.json | 6 + .../item/naga_leggings_amethyst_trim.json | 7 + .../item/naga_leggings_carminite_trim.json | 7 + .../item/naga_leggings_copper_trim.json | 7 + .../item/naga_leggings_diamond_trim.json | 7 + .../item/naga_leggings_emerald_trim.json | 7 + .../models/item/naga_leggings_fiery_trim.json | 7 + .../models/item/naga_leggings_gold_trim.json | 7 + .../models/item/naga_leggings_iron_trim.json | 7 + .../item/naga_leggings_ironwood_trim.json | 7 + .../item/naga_leggings_knightmetal_trim.json | 7 + .../models/item/naga_leggings_lapis_trim.json | 7 + .../item/naga_leggings_naga_scale_trim.json | 7 + .../item/naga_leggings_netherite_trim.json | 7 + .../item/naga_leggings_quartz_trim.json | 7 + .../item/naga_leggings_redstone_trim.json | 7 + .../models/item/naga_leggings_resin_trim.json | 7 + .../item/naga_leggings_steeleaf_trim.json | 7 + .../models/item/ore_magnet.json | 6 + .../twilightforest/models/item/ore_meter.json | 6 + .../models/item/peacock_feather_fan.json | 6 + .../models/item/phantom_chestplate.json | 6 + .../phantom_chestplate_amethyst_trim.json | 7 + .../phantom_chestplate_carminite_trim.json | 7 + .../item/phantom_chestplate_copper_trim.json | 7 + .../item/phantom_chestplate_diamond_trim.json | 7 + .../item/phantom_chestplate_emerald_trim.json | 7 + .../item/phantom_chestplate_fiery_trim.json | 7 + .../item/phantom_chestplate_gold_trim.json | 7 + .../item/phantom_chestplate_iron_trim.json | 7 + .../phantom_chestplate_ironwood_trim.json | 7 + .../phantom_chestplate_knightmetal_trim.json | 7 + .../item/phantom_chestplate_lapis_trim.json | 7 + .../phantom_chestplate_naga_scale_trim.json | 7 + .../phantom_chestplate_netherite_trim.json | 7 + .../item/phantom_chestplate_quartz_trim.json | 7 + .../phantom_chestplate_redstone_trim.json | 7 + .../item/phantom_chestplate_resin_trim.json | 7 + .../phantom_chestplate_steeleaf_trim.json | 7 + .../models/item/phantom_helmet.json | 6 + .../item/phantom_helmet_amethyst_trim.json | 7 + .../item/phantom_helmet_carminite_trim.json | 7 + .../item/phantom_helmet_copper_trim.json | 7 + .../item/phantom_helmet_diamond_trim.json | 7 + .../item/phantom_helmet_emerald_trim.json | 7 + .../item/phantom_helmet_fiery_trim.json | 7 + .../models/item/phantom_helmet_gold_trim.json | 7 + .../models/item/phantom_helmet_iron_trim.json | 7 + .../item/phantom_helmet_ironwood_trim.json | 7 + .../item/phantom_helmet_knightmetal_trim.json | 7 + .../item/phantom_helmet_lapis_trim.json | 7 + .../item/phantom_helmet_naga_scale_trim.json | 7 + .../item/phantom_helmet_netherite_trim.json | 7 + .../item/phantom_helmet_quartz_trim.json | 7 + .../item/phantom_helmet_redstone_trim.json | 7 + .../item/phantom_helmet_resin_trim.json | 7 + .../item/phantom_helmet_steeleaf_trim.json | 7 + .../models/item/pocket_watch.json | 6 + .../models/item/seeker_bow.json | 6 + .../models/item/seeker_bow_pulling_0.json | 6 + .../models/item/seeker_bow_pulling_1.json | 6 + .../models/item/seeker_bow_pulling_2.json | 6 + .../models/item/steeleaf_axe.json | 6 + .../models/item/steeleaf_boots.json | 6 + .../item/steeleaf_boots_amethyst_trim.json | 7 + .../item/steeleaf_boots_carminite_trim.json | 7 + .../item/steeleaf_boots_copper_trim.json | 7 + .../item/steeleaf_boots_diamond_trim.json | 7 + .../item/steeleaf_boots_emerald_trim.json | 7 + .../item/steeleaf_boots_fiery_trim.json | 7 + .../models/item/steeleaf_boots_gold_trim.json | 7 + .../models/item/steeleaf_boots_iron_trim.json | 7 + .../item/steeleaf_boots_ironwood_trim.json | 7 + .../item/steeleaf_boots_knightmetal_trim.json | 7 + .../item/steeleaf_boots_lapis_trim.json | 7 + .../item/steeleaf_boots_naga_scale_trim.json | 7 + .../item/steeleaf_boots_netherite_trim.json | 7 + .../item/steeleaf_boots_quartz_trim.json | 7 + .../item/steeleaf_boots_redstone_trim.json | 7 + .../item/steeleaf_boots_resin_trim.json | 7 + .../item/steeleaf_boots_steeleaf_trim.json | 7 + .../models/item/steeleaf_chestplate.json | 6 + .../steeleaf_chestplate_amethyst_trim.json | 7 + .../steeleaf_chestplate_carminite_trim.json | 7 + .../item/steeleaf_chestplate_copper_trim.json | 7 + .../steeleaf_chestplate_diamond_trim.json | 7 + .../steeleaf_chestplate_emerald_trim.json | 7 + .../item/steeleaf_chestplate_fiery_trim.json | 7 + .../item/steeleaf_chestplate_gold_trim.json | 7 + .../item/steeleaf_chestplate_iron_trim.json | 7 + .../steeleaf_chestplate_ironwood_trim.json | 7 + .../steeleaf_chestplate_knightmetal_trim.json | 7 + .../item/steeleaf_chestplate_lapis_trim.json | 7 + .../steeleaf_chestplate_naga_scale_trim.json | 7 + .../steeleaf_chestplate_netherite_trim.json | 7 + .../item/steeleaf_chestplate_quartz_trim.json | 7 + .../steeleaf_chestplate_redstone_trim.json | 7 + .../item/steeleaf_chestplate_resin_trim.json | 7 + .../steeleaf_chestplate_steeleaf_trim.json | 7 + .../models/item/steeleaf_helmet.json | 6 + .../item/steeleaf_helmet_amethyst_trim.json | 7 + .../item/steeleaf_helmet_carminite_trim.json | 7 + .../item/steeleaf_helmet_copper_trim.json | 7 + .../item/steeleaf_helmet_diamond_trim.json | 7 + .../item/steeleaf_helmet_emerald_trim.json | 7 + .../item/steeleaf_helmet_fiery_trim.json | 7 + .../item/steeleaf_helmet_gold_trim.json | 7 + .../item/steeleaf_helmet_iron_trim.json | 7 + .../item/steeleaf_helmet_ironwood_trim.json | 7 + .../steeleaf_helmet_knightmetal_trim.json | 7 + .../item/steeleaf_helmet_lapis_trim.json | 7 + .../item/steeleaf_helmet_naga_scale_trim.json | 7 + .../item/steeleaf_helmet_netherite_trim.json | 7 + .../item/steeleaf_helmet_quartz_trim.json | 7 + .../item/steeleaf_helmet_redstone_trim.json | 7 + .../item/steeleaf_helmet_resin_trim.json | 7 + .../item/steeleaf_helmet_steeleaf_trim.json | 7 + .../models/item/steeleaf_hoe.json | 6 + .../models/item/steeleaf_leggings.json | 6 + .../item/steeleaf_leggings_amethyst_trim.json | 7 + .../steeleaf_leggings_carminite_trim.json | 7 + .../item/steeleaf_leggings_copper_trim.json | 7 + .../item/steeleaf_leggings_diamond_trim.json | 7 + .../item/steeleaf_leggings_emerald_trim.json | 7 + .../item/steeleaf_leggings_fiery_trim.json | 7 + .../item/steeleaf_leggings_gold_trim.json | 7 + .../item/steeleaf_leggings_iron_trim.json | 7 + .../item/steeleaf_leggings_ironwood_trim.json | 7 + .../steeleaf_leggings_knightmetal_trim.json | 7 + .../item/steeleaf_leggings_lapis_trim.json | 7 + .../steeleaf_leggings_naga_scale_trim.json | 7 + .../steeleaf_leggings_netherite_trim.json | 7 + .../item/steeleaf_leggings_quartz_trim.json | 7 + .../item/steeleaf_leggings_redstone_trim.json | 7 + .../item/steeleaf_leggings_resin_trim.json | 7 + .../item/steeleaf_leggings_steeleaf_trim.json | 7 + .../models/item/steeleaf_pickaxe.json | 6 + .../models/item/steeleaf_shovel.json | 6 + .../models/item/steeleaf_sword.json | 6 + .../models/item/triple_bow.json | 6 + .../models/item/triple_bow_pulling_0.json | 6 + .../models/item/triple_bow_pulling_1.json | 6 + .../models/item/triple_bow_pulling_2.json | 6 + .../models/item/twilight_scepter.json | 6 + .../models/item/yeti_boots.json | 6 + .../models/item/yeti_boots_amethyst_trim.json | 7 + .../item/yeti_boots_carminite_trim.json | 7 + .../models/item/yeti_boots_copper_trim.json | 7 + .../models/item/yeti_boots_diamond_trim.json | 7 + .../models/item/yeti_boots_emerald_trim.json | 7 + .../models/item/yeti_boots_fiery_trim.json | 7 + .../models/item/yeti_boots_gold_trim.json | 7 + .../models/item/yeti_boots_iron_trim.json | 7 + .../models/item/yeti_boots_ironwood_trim.json | 7 + .../item/yeti_boots_knightmetal_trim.json | 7 + .../models/item/yeti_boots_lapis_trim.json | 7 + .../item/yeti_boots_naga_scale_trim.json | 7 + .../item/yeti_boots_netherite_trim.json | 7 + .../models/item/yeti_boots_quartz_trim.json | 7 + .../models/item/yeti_boots_redstone_trim.json | 7 + .../models/item/yeti_boots_resin_trim.json | 7 + .../models/item/yeti_boots_steeleaf_trim.json | 7 + .../models/item/yeti_chestplate.json | 6 + .../item/yeti_chestplate_amethyst_trim.json | 7 + .../item/yeti_chestplate_carminite_trim.json | 7 + .../item/yeti_chestplate_copper_trim.json | 7 + .../item/yeti_chestplate_diamond_trim.json | 7 + .../item/yeti_chestplate_emerald_trim.json | 7 + .../item/yeti_chestplate_fiery_trim.json | 7 + .../item/yeti_chestplate_gold_trim.json | 7 + .../item/yeti_chestplate_iron_trim.json | 7 + .../item/yeti_chestplate_ironwood_trim.json | 7 + .../yeti_chestplate_knightmetal_trim.json | 7 + .../item/yeti_chestplate_lapis_trim.json | 7 + .../item/yeti_chestplate_naga_scale_trim.json | 7 + .../item/yeti_chestplate_netherite_trim.json | 7 + .../item/yeti_chestplate_quartz_trim.json | 7 + .../item/yeti_chestplate_redstone_trim.json | 7 + .../item/yeti_chestplate_resin_trim.json | 7 + .../item/yeti_chestplate_steeleaf_trim.json | 7 + .../models/item/yeti_helmet.json | 6 + .../item/yeti_helmet_amethyst_trim.json | 7 + .../item/yeti_helmet_carminite_trim.json | 7 + .../models/item/yeti_helmet_copper_trim.json | 7 + .../models/item/yeti_helmet_diamond_trim.json | 7 + .../models/item/yeti_helmet_emerald_trim.json | 7 + .../models/item/yeti_helmet_fiery_trim.json | 7 + .../models/item/yeti_helmet_gold_trim.json | 7 + .../models/item/yeti_helmet_iron_trim.json | 7 + .../item/yeti_helmet_ironwood_trim.json | 7 + .../item/yeti_helmet_knightmetal_trim.json | 7 + .../models/item/yeti_helmet_lapis_trim.json | 7 + .../item/yeti_helmet_naga_scale_trim.json | 7 + .../item/yeti_helmet_netherite_trim.json | 7 + .../models/item/yeti_helmet_quartz_trim.json | 7 + .../item/yeti_helmet_redstone_trim.json | 7 + .../models/item/yeti_helmet_resin_trim.json | 7 + .../item/yeti_helmet_steeleaf_trim.json | 7 + .../models/item/yeti_leggings.json | 6 + .../item/yeti_leggings_amethyst_trim.json | 7 + .../item/yeti_leggings_carminite_trim.json | 7 + .../item/yeti_leggings_copper_trim.json | 7 + .../item/yeti_leggings_diamond_trim.json | 7 + .../item/yeti_leggings_emerald_trim.json | 7 + .../models/item/yeti_leggings_fiery_trim.json | 7 + .../models/item/yeti_leggings_gold_trim.json | 7 + .../models/item/yeti_leggings_iron_trim.json | 7 + .../item/yeti_leggings_ironwood_trim.json | 7 + .../item/yeti_leggings_knightmetal_trim.json | 7 + .../models/item/yeti_leggings_lapis_trim.json | 7 + .../item/yeti_leggings_naga_scale_trim.json | 7 + .../item/yeti_leggings_netherite_trim.json | 7 + .../item/yeti_leggings_quartz_trim.json | 7 + .../item/yeti_leggings_redstone_trim.json | 7 + .../models/item/yeti_leggings_resin_trim.json | 7 + .../item/yeti_leggings_steeleaf_trim.json | 7 + .../models/item/zombie_scepter.json | 6 + .../client/event/ClientEvents.java | 6 +- .../client/event/RegistrationEvents.java | 56 +- .../client/properties/MoonwormQueenPulse.java | 29 + .../client/properties/NaturalDimension.java | 24 + .../client/properties/OreMeterFlash.java | 30 + .../assets/minecraft/atlases/armor_trims.json | 68 +- .../assets/minecraft/atlases/blocks.json | 22 + .../models/item/giant_pickaxe_gui.json | 16 + .../models/item/giant_sword_gui.json | 16 + .../models/item/giant_tool_base.json | 41 ++ .../models/item/ur_ghast_trophy.json | 2 +- .../textures/item/arctic_boots.png | Bin 183 -> 457 bytes .../textures/item/arctic_boots_0.png | Bin 159 -> 0 bytes .../textures/item/arctic_boots_overlay.png | Bin 0 -> 413 bytes .../textures/item/arctic_chestplate.png | Bin 235 -> 485 bytes .../textures/item/arctic_chestplate_0.png | Bin 200 -> 0 bytes .../item/arctic_chestplate_overlay.png | Bin 0 -> 465 bytes .../textures/item/arctic_helmet.png | Bin 184 -> 181 bytes .../textures/item/arctic_helmet_0.png | Bin 181 -> 0 bytes .../textures/item/arctic_helmet_overlay.png | Bin 0 -> 454 bytes .../textures/item/arctic_leggings.png | Bin 206 -> 456 bytes .../textures/item/arctic_leggings_0.png | Bin 150 -> 0 bytes .../textures/item/arctic_leggings_overlay.png | Bin 0 -> 436 bytes 661 files changed, 9705 insertions(+), 156 deletions(-) delete mode 100644 src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java create mode 100644 src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/block_and_chain.json create mode 100644 src/generated/resources/assets/twilightforest/items/crumble_horn.json create mode 100644 src/generated/resources/assets/twilightforest/items/diamond_minotaur_axe.json create mode 100644 src/generated/resources/assets/twilightforest/items/emperors_cloth.json create mode 100644 src/generated/resources/assets/twilightforest/items/ender_bow.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/fortification_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/glass_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/gold_minotaur_axe.json create mode 100644 src/generated/resources/assets/twilightforest/items/ice_bomb.json create mode 100644 src/generated/resources/assets/twilightforest/items/ice_bow.json create mode 100644 src/generated/resources/assets/twilightforest/items/ice_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_axe.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_hoe.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_shovel.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_axe.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/lifedrain_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/items/mazebreaker_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/moon_dial.json create mode 100644 src/generated/resources/assets/twilightforest/items/moonworm_queen.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/ore_magnet.json create mode 100644 src/generated/resources/assets/twilightforest/items/ore_meter.json create mode 100644 src/generated/resources/assets/twilightforest/items/peacock_feather_fan.json create mode 100644 src/generated/resources/assets/twilightforest/items/phantom_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/phantom_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/pocket_watch.json create mode 100644 src/generated/resources/assets/twilightforest/items/seeker_bow.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_axe.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_hoe.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_shovel.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_sword.json create mode 100644 src/generated/resources/assets/twilightforest/items/triple_bow.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/items/yeti_boots.json create mode 100644 src/generated/resources/assets/twilightforest/items/yeti_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/items/yeti_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/items/yeti_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/items/zombie_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/block_and_chain.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/crumble_horn.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/giant_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/glass_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bomb.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ice_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moon_dial_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_meter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/pocket_watch.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_boots_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_helmet_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_carminite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_fiery_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_ironwood_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_knightmetal_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_naga_scale_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_resin_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json create mode 100644 src/main/java/twilightforest/client/properties/MoonwormQueenPulse.java create mode 100644 src/main/java/twilightforest/client/properties/NaturalDimension.java create mode 100644 src/main/java/twilightforest/client/properties/OreMeterFlash.java create mode 100644 src/main/resources/assets/minecraft/atlases/blocks.json create mode 100644 src/main/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json create mode 100644 src/main/resources/assets/twilightforest/models/item/giant_sword_gui.json create mode 100644 src/main/resources/assets/twilightforest/models/item/giant_tool_base.json delete mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_boots_0.png create mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_boots_overlay.png delete mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_chestplate_0.png create mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_chestplate_overlay.png delete mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_helmet_0.png create mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_helmet_overlay.png delete mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_leggings_0.png create mode 100644 src/main/resources/assets/twilightforest/textures/item/arctic_leggings_overlay.png diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index e97a4a0766..63c71355e5 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -14,7 +14,6 @@ import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.renderer.special.*; -import twilightforest.enums.BossVariant; import twilightforest.util.TFBlockFamilies; import twilightforest.datagen.helpers.BlockModelBuilders; import twilightforest.init.TFBlocks; @@ -46,8 +45,8 @@ public void run() { this.thorns(TFBlocks.GREEN_THORNS.get()); this.thorns(TFBlocks.BURNT_THORNS.get()); - this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFBlockModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); - this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFBlockModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); + this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); //TODO aurora blocks this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); @@ -58,8 +57,8 @@ public void run() { this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), this::createTrivialCube); var builtMapping = TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()); - ResourceLocation builtOff = TFBlockModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), builtMapping, this.modelOutput); - ResourceLocation builtOn = TFBlockModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_active", builtMapping, this.modelOutput); + ResourceLocation builtOff = TFModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), builtMapping, this.modelOutput); + ResourceLocation builtOn = TFModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_active", builtMapping, this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.BUILT_BLOCK.get()) .with(PropertyDispatch.property(TranslucentBuiltBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? builtOn : builtOff)))); diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index e22971ce69..e495d1846b 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -1,41 +1,154 @@ package twilightforest.datagen.assets.models; +import net.minecraft.client.color.item.Dye; +import net.minecraft.client.data.models.ItemModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.model.*; import net.minecraft.client.renderer.item.ItemModel; +import net.minecraft.client.renderer.item.RangeSelectItemModel; +import net.minecraft.client.renderer.item.SelectItemModel; +import net.minecraft.client.renderer.item.properties.numeric.Time; +import net.minecraft.client.renderer.item.properties.numeric.UseDuration; import net.minecraft.client.renderer.item.properties.select.DisplayContext; -import net.minecraft.client.renderer.special.ChestSpecialRenderer; -import net.minecraft.client.renderer.special.ShieldSpecialRenderer; -import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.client.renderer.item.properties.select.TrimMaterialProperty; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.SkullBlock; -import net.neoforged.neoforge.capabilities.IBlockCapabilityProvider; -import org.w3c.dom.Text; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.equipment.EquipmentAsset; +import net.minecraft.world.item.equipment.EquipmentAssets; +import net.minecraft.world.item.equipment.trim.TrimMaterial; +import net.minecraft.world.item.equipment.trim.TrimMaterials; import twilightforest.TwilightForestMod; +import twilightforest.client.properties.MoonwormQueenPulse; +import twilightforest.client.properties.NaturalDimension; import twilightforest.client.renderer.special.*; import twilightforest.datagen.helpers.ItemModelBuilders; -import twilightforest.enums.BossVariant; -import twilightforest.init.TFBlocks; +import twilightforest.init.TFEquipmentModels; import twilightforest.init.TFItems; +import twilightforest.init.TFTrimMaterials; +import twilightforest.item.ArcticArmorItem; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.function.BiConsumer; -import java.util.function.Function; public class ItemModelGenerator extends ItemModelBuilders { + + private static final List EX_TRIM_MATERIAL_MODELS = List.of( + new ItemModelGenerators.TrimMaterialData("quartz", TrimMaterials.QUARTZ, Map.of()), + new ItemModelGenerators.TrimMaterialData("iron", TrimMaterials.IRON, Map.of(EquipmentAssets.IRON, "iron_darker")), + new ItemModelGenerators.TrimMaterialData("netherite", TrimMaterials.NETHERITE, Map.of(EquipmentAssets.NETHERITE, "netherite_darker")), + new ItemModelGenerators.TrimMaterialData("redstone", TrimMaterials.REDSTONE, Map.of()), + new ItemModelGenerators.TrimMaterialData("copper", TrimMaterials.COPPER, Map.of()), + new ItemModelGenerators.TrimMaterialData("gold", TrimMaterials.GOLD, Map.of(EquipmentAssets.GOLD, "gold_darker")), + new ItemModelGenerators.TrimMaterialData("emerald", TrimMaterials.EMERALD, Map.of()), + new ItemModelGenerators.TrimMaterialData("diamond", TrimMaterials.DIAMOND, Map.of(EquipmentAssets.DIAMOND, "diamond_darker")), + new ItemModelGenerators.TrimMaterialData("lapis", TrimMaterials.LAPIS, Map.of()), + new ItemModelGenerators.TrimMaterialData("amethyst", TrimMaterials.AMETHYST, Map.of()), + new ItemModelGenerators.TrimMaterialData("resin", TrimMaterials.RESIN, Map.of()), + new ItemModelGenerators.TrimMaterialData("ironwood", TFTrimMaterials.IRONWOOD, Map.of()), + new ItemModelGenerators.TrimMaterialData("steeleaf", TFTrimMaterials.STEELEAF, Map.of()), + new ItemModelGenerators.TrimMaterialData("fiery", TFTrimMaterials.FIERY, Map.of()), + new ItemModelGenerators.TrimMaterialData("knightmetal", TFTrimMaterials.KNIGHTMETAL, Map.of()), + new ItemModelGenerators.TrimMaterialData("carminite", TFTrimMaterials.CARMINITE, Map.of()), + new ItemModelGenerators.TrimMaterialData("naga_scale", TFTrimMaterials.NAGA_SCALE, Map.of())); + public ItemModelGenerator(ItemModelOutput output, BiConsumer modelOutput) { super(output, modelOutput); } @Override public void run() { + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_HELMET.get(), TFEquipmentModels.IRONWOOD, "helmet"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_CHESTPLATE.get(), TFEquipmentModels.IRONWOOD, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_LEGGINGS.get(), TFEquipmentModels.IRONWOOD, "leggings"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_BOOTS.get(), TFEquipmentModels.IRONWOOD, "boots"); + this.generateFlatItem(TFItems.IRONWOOD_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.IRONWOOD_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.IRONWOOD_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.IRONWOOD_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.IRONWOOD_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + + this.generateExpandedTrimmableItem(TFItems.STEELEAF_HELMET.get(), TFEquipmentModels.STEELEAF, "helmet"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_CHESTPLATE.get(), TFEquipmentModels.STEELEAF, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_LEGGINGS.get(), TFEquipmentModels.STEELEAF, "leggings"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_BOOTS.get(), TFEquipmentModels.STEELEAF, "boots"); + this.generateFlatItem(TFItems.STEELEAF_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.STEELEAF_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.STEELEAF_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.STEELEAF_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.STEELEAF_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_HELMET.get(), TFEquipmentModels.KNIGHTMETAL, "helmet"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_CHESTPLATE.get(), TFEquipmentModels.KNIGHTMETAL, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_LEGGINGS.get(), TFEquipmentModels.KNIGHTMETAL, "leggings"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_BOOTS.get(), TFEquipmentModels.KNIGHTMETAL, "boots"); + this.generateFlatItem(TFItems.KNIGHTMETAL_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.KNIGHTMETAL_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.KNIGHTMETAL_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.BLOCK_AND_CHAIN.get(), ModelTemplates.FLAT_ITEM); this.generateKnightmetalShield(TFItems.KNIGHTMETAL_SHIELD.get()); + this.generateExpandedTrimmableItem(TFItems.FIERY_HELMET.get(), TFEquipmentModels.FIERY, "helmet"); + this.generateExpandedTrimmableItem(TFItems.FIERY_CHESTPLATE.get(), TFEquipmentModels.FIERY, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.FIERY_LEGGINGS.get(), TFEquipmentModels.FIERY, "leggings"); + this.generateExpandedTrimmableItem(TFItems.FIERY_BOOTS.get(), TFEquipmentModels.FIERY, "boots"); + this.generateFlatItem(TFItems.FIERY_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.FIERY_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + + this.generateExpandedTrimmableItem(TFItems.ARCTIC_HELMET.get(), TFEquipmentModels.ARCTIC, "helmet", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_CHESTPLATE.get(), TFEquipmentModels.ARCTIC, "chestplate", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_LEGGINGS.get(), TFEquipmentModels.ARCTIC, "leggings", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_BOOTS.get(), TFEquipmentModels.ARCTIC, "boots", ArcticArmorItem.DEFAULT_COLOR); + + this.generateExpandedTrimmableItem(TFItems.YETI_HELMET.get(), TFEquipmentModels.YETI, "helmet"); + this.generateExpandedTrimmableItem(TFItems.YETI_CHESTPLATE.get(), TFEquipmentModels.YETI, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.YETI_LEGGINGS.get(), TFEquipmentModels.YETI, "leggings"); + this.generateExpandedTrimmableItem(TFItems.YETI_BOOTS.get(), TFEquipmentModels.YETI, "boots"); + + this.generateExpandedTrimmableItem(TFItems.PHANTOM_HELMET.get(), TFEquipmentModels.PHANTOM, "helmet"); + this.generateExpandedTrimmableItem(TFItems.PHANTOM_CHESTPLATE.get(), TFEquipmentModels.PHANTOM, "chestplate"); + + this.generateExpandedTrimmableItem(TFItems.NAGA_CHESTPLATE.get(), TFEquipmentModels.NAGA, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.NAGA_LEGGINGS.get(), TFEquipmentModels.NAGA, "leggings"); + + //TODO mystic crown + + this.generateFlatItem(TFItems.MAZEBREAKER_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.DIAMOND_MINOTAUR_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.GOLDEN_MINOTAUR_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateTwoLayerItem(TFItems.ICE_SWORD.get(), TFModelTemplates.TWO_LAYERED_HANDHELD); + this.generateTwoLayerItem(TFItems.GLASS_SWORD.get(), TFModelTemplates.TWO_LAYERED_HANDHELD); + + this.generateBow(TFItems.TRIPLE_BOW.get(), false); + this.generateBow(TFItems.SEEKER_BOW.get(), false); + this.generateBow(TFItems.ICE_BOW.get(), true); + this.generateBow(TFItems.ENDER_BOW.get(), false); + + this.generateGiantTool(TFItems.GIANT_SWORD.get(), Items.STONE_SWORD); + this.generateGiantTool(TFItems.GIANT_PICKAXE.get(), Items.STONE_PICKAXE); + + this.generateFlatItem(TFItems.ICE_BOMB.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.TWILIGHT_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.LIFEDRAIN_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.ZOMBIE_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.FORTIFICATION_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + //TODO lamp + this.generateFlatItem(TFItems.EMPERORS_CLOTH.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.ORE_MAGNET.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.ORE_METER.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.POCKET_WATCH.get(), ModelTemplates.FLAT_ITEM); + this.generateMoonDial(TFItems.MOON_DIAL.get()); + this.generateFlatItem(TFItems.CRUMBLE_HORN.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateFlatItem(TFItems.PEACOCK_FEATHER_FAN.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.itemModelOutput.accept(TFItems.MOONWORM_QUEEN.get(), ItemModelUtils.conditional(new MoonwormQueenPulse(), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.MOONWORM_QUEEN.get(), "_alt", ModelTemplates.FLAT_HANDHELD_ITEM)), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.MOONWORM_QUEEN.get(), ModelTemplates.FLAT_HANDHELD_ITEM)))); + this.generateSpawnEgg("alpha_yeti", 0xCDCDCD, 0x29486E); this.generateSpawnEgg("armored_giant", 0x239391, 0x9A9A9A); this.generateSpawnEgg("bighorn_sheep", 0xDBCEAF, 0xD7C771); @@ -93,9 +206,95 @@ private void generateSpawnEgg(String entityName, int primary, int secondary) { this.generateSpawnEgg(BuiltInRegistries.ITEM.getValue(TwilightForestMod.prefix(entityName + "_spawn_egg")), primary, secondary); } + public void generateGiantTool(Item tool, Item baseTool) { + ItemModel.Unbaked base = ItemModelUtils.plainModel(TFModelTemplates.GIANT_TOOL.create(tool, TextureMapping.layer0(baseTool), this.modelOutput)); + ItemModel.Unbaked gui = ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(tool).withSuffix("_gui")); + this.itemModelOutput.accept(tool, ItemModelUtils.select(new DisplayContext(), base, ItemModelUtils.when(ItemDisplayContext.GUI, gui))); + } + public void generateKnightmetalShield(Item shieldItem) { var normal = ItemModelUtils.specialModel(ModelLocationUtils.getModelLocation(shieldItem), new KnightmetalShieldSpecialRenderer.Unbaked()); var blocking = ItemModelUtils.specialModel(ModelLocationUtils.getModelLocation(shieldItem, "_blocking"), new KnightmetalShieldSpecialRenderer.Unbaked()); this.generateBooleanDispatch(shieldItem, ItemModelUtils.isUsingItem(), blocking, normal); } + + public void generateExpandedTrimmableItem(Item item, ResourceKey key, String name) { + this.generateExpandedTrimmableItem(item, key, name, -1); + } + + public void generateExpandedTrimmableItem(Item item, ResourceKey key, String name, int dyeColor) { + ResourceLocation model = ModelLocationUtils.getModelLocation(item); + ResourceLocation texture = TextureMapping.getItemTexture(item); + ResourceLocation overlayTexture = TextureMapping.getItemTexture(item, "_overlay"); + List>> trims = new ArrayList<>(TRIM_MATERIAL_MODELS.size()); + + for (ItemModelGenerators.TrimMaterialData data : EX_TRIM_MATERIAL_MODELS) { + ResourceLocation trimModel = model.withSuffix("_" + data.name() + "_trim"); + ResourceLocation trimTexture = ResourceLocation.withDefaultNamespace( + "trims/items/" + name + "_trim_" + data.textureName(key) + ); + ItemModel.Unbaked trimMaterialModel; + if (dyeColor != -1) { + this.generateLayeredItem(trimModel, texture, overlayTexture, trimTexture); + trimMaterialModel = ItemModelUtils.tintedModel(trimModel, new Dye(dyeColor)); + } else { + trimMaterialModel = ItemModelUtils.plainModel(this.generateLayeredItem(trimModel, texture, trimTexture)); + } + + trims.add(ItemModelUtils.when(data.materialKey(), trimMaterialModel)); + } + + ItemModel.Unbaked armorModel; + if (dyeColor != -1) { + armorModel = ItemModelUtils.tintedModel(ModelTemplates.TWO_LAYERED_ITEM.create(model, TextureMapping.layered(texture, overlayTexture), this.modelOutput), new Dye(dyeColor)); + } else { + armorModel = ItemModelUtils.plainModel(ModelTemplates.FLAT_ITEM.create(model, TextureMapping.layer0(texture), this.modelOutput)); + } + + this.itemModelOutput.accept(item, ItemModelUtils.select(new TrimMaterialProperty(), armorModel, trims)); + } + + public void generateBow(Item bowItem, boolean twoLayered) { + ItemModel.Unbaked base = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, ModelTemplates.BOW)); + ItemModel.Unbaked pull0 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_0", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_0", ModelTemplates.BOW)); + ItemModel.Unbaked pull1 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_1", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_1", ModelTemplates.BOW)); + ItemModel.Unbaked pull2 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_2", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_2", ModelTemplates.BOW)); + this.itemModelOutput.accept(bowItem, ItemModelUtils.conditional(ItemModelUtils.isUsingItem(), + ItemModelUtils.rangeSelect( + new UseDuration(false), + 0.05F, + pull0, + ItemModelUtils.override(pull1, 0.65F), + ItemModelUtils.override(pull2, 0.9F) + ), base)); + } + + public void generateMoonDial(Item dial) { + List list = new ArrayList<>(); + ItemModel.Unbaked itemmodel$unbaked = ItemModelUtils.plainModel(this.createFlatItemModel(dial, TFModelTemplates.MOON_DIAL)); + list.add(ItemModelUtils.override(itemmodel$unbaked, 0.0F)); + + for (int i = 1; i < 8; i++) { + ItemModel.Unbaked phase = ItemModelUtils.plainModel(this.createFlatItemModel(dial, "_" + i, TFModelTemplates.MOON_DIAL)); + list.add(ItemModelUtils.override(phase, (float) i - 0.5F)); + } + + list.add(ItemModelUtils.override(itemmodel$unbaked, 7.5F)); + this.itemModelOutput.accept(dial, ItemModelUtils.conditional(new NaturalDimension(), + ItemModelUtils.rangeSelect(new Time(true, Time.TimeSource.MOON_PHASE), 8.0F, list), + ItemModelUtils.rangeSelect(new Time(true, Time.TimeSource.RANDOM), 8.0F, list))); + } + + public void generateTwoLayerItem(Item item, ModelTemplate template) { + this.itemModelOutput.accept(item, ItemModelUtils.plainModel(this.twoLayerItem(item, template))); + } + + public ResourceLocation twoLayerItem(Item item, ModelTemplate template) { + return this.twoLayerItem(item, "", template); + } + + public ResourceLocation twoLayerItem(Item item, String suffix, ModelTemplate template) { + ResourceLocation baseTex = TextureMapping.getItemTexture(item); + return template.create(ModelLocationUtils.getModelLocation(item, suffix), TextureMapping.layered(baseTex.withSuffix("_solid"), baseTex.withSuffix("_clear")), this.modelOutput); + } } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java deleted file mode 100644 index a387386fbb..0000000000 --- a/src/data/java/twilightforest/datagen/assets/models/TFBlockModelTemplates.java +++ /dev/null @@ -1,44 +0,0 @@ -package twilightforest.datagen.assets.models; - -import net.minecraft.client.data.models.model.ModelTemplate; -import net.minecraft.client.data.models.model.ModelTemplates; -import net.minecraft.client.data.models.model.TextureSlot; -import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; -import org.w3c.dom.Text; -import twilightforest.TwilightForestMod; - -public class TFBlockModelTemplates extends ModelTemplates { - - public static final ModelTemplate ANTIBUILDER = create("antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(15, 15).texture(TFTextureSlot.ALL_2).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_3).cullface(direction))).build(); - public static final ModelTemplate ANTIBUILT_BLOCK = create("antibuilt_block", TextureSlot.ALL, TFTextureSlot.ALL_2).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); - public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); - public static final ModelTemplate BISECTED_STAIRS_INNER = create("bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); - public static final ModelTemplate BISECTED_STAIRS_OUTER = create("bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); - - public static final ModelTemplate CANDELABRA = create("candelabra"); - public static final ModelTemplate WALL_CANDELABRA = create("wall_candelabra"); - - public static final ModelTemplate FORCEFIELD = create("forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); - public static final ModelTemplate FULLBRIGHT_BLOCK = create("fullbright_block", TextureSlot.ALL).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).emissivity(15, 15).cullface(direction))).build(); - - public static final ModelTemplate CTM_NO_BASE = create("ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); - public static final ModelTemplate CTM = create("ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); - - public static final ModelTemplate THORNS_MAIN = create("thorns_main", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_main")).renderType("cutout").build(); - public static final ModelTemplate THORNS = create("thorns", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns")).renderType("cutout").build(); - public static final ModelTemplate THORNS_SECTION_TOP = create("thorns_section_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_top")).renderType("cutout").build(); - public static final ModelTemplate THORNS_SECTION_BOTTOM = create("thorns_section_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_bottom")).renderType("cutout").build(); - public static final ModelTemplate THORNS_NO_SECTION = create("thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); - public static final ModelTemplate THORNS_NO_SECTION_ALT = create("thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); - -} diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java new file mode 100644 index 0000000000..7eb92e2030 --- /dev/null +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -0,0 +1,47 @@ +package twilightforest.datagen.assets.models; + +import net.minecraft.client.data.models.model.ModelTemplate; +import net.minecraft.client.data.models.model.ModelTemplates; +import net.minecraft.client.data.models.model.TextureSlot; +import net.minecraft.resources.ResourceLocation; +import twilightforest.TwilightForestMod; + +public class TFModelTemplates extends ModelTemplates { + + public static final ModelTemplate ANTIBUILDER = create("twilightforest:antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(15, 15).texture(TFTextureSlot.ALL_2).cullface(direction))) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_3).cullface(direction))).build(); + public static final ModelTemplate ANTIBUILT_BLOCK = create("twilightforest:antibuilt_block", TextureSlot.ALL, TFTextureSlot.ALL_2).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); + public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_OUTER = create("twilightforest:bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + + public static final ModelTemplate CANDELABRA = create("twilightforest:candelabra"); + public static final ModelTemplate WALL_CANDELABRA = create("twilightforest:wall_candelabra"); + + public static final ModelTemplate FORCEFIELD = create("twilightforest:forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); + public static final ModelTemplate FULLBRIGHT_BLOCK = create("twilightforest:fullbright_block", TextureSlot.ALL).extend() + .parent(ResourceLocation.withDefaultNamespace("block/cube")) + .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).emissivity(15, 15).cullface(direction))).build(); + + public static final ModelTemplate CTM_NO_BASE = create("twilightforest:ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + public static final ModelTemplate CTM = create("twilightforest:ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + + public static final ModelTemplate THORNS_MAIN = create("twilightforest:thorns_main", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_main")).renderType("cutout").build(); + public static final ModelTemplate THORNS = create("twilightforest:thorns", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SECTION_TOP = create("twilightforest:thorns_section_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_top")).renderType("cutout").build(); + public static final ModelTemplate THORNS_SECTION_BOTTOM = create("twilightforest:thorns_section_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_bottom")).renderType("cutout").build(); + public static final ModelTemplate THORNS_NO_SECTION = create("twilightforest:thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); + public static final ModelTemplate THORNS_NO_SECTION_ALT = create("twilightforest:thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + + public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); + public static final ModelTemplate MOON_DIAL = createItem("twilightforest:moon_dial_template", TextureSlot.LAYER0); + public static final ModelTemplate TWO_LAYERED_HANDHELD = createItem("handheld", TextureSlot.LAYER0, TextureSlot.LAYER1); + public static final ModelTemplate TWO_LAYERED_BOW = createItem("bow", TextureSlot.LAYER0, TextureSlot.LAYER1); + +} diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index fdbd62b15f..72a239d5e0 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -15,7 +15,7 @@ import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; -import twilightforest.datagen.assets.models.TFBlockModelTemplates; +import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; import twilightforest.init.TFBlocks; @@ -49,12 +49,12 @@ public void bossSpawner(Block block) { } public void basicCtmBlock(Block block) { - this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput))); + this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput))); this.createBlockItem(block); } public void castleDoor(Block block) { - Function door = bool -> TFBlockModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("block/castle_door_runes")), this.modelOutput); + Function door = bool -> TFModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("block/castle_door_runes")), this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(CastleDoorBlock.VANISHED).select(true, Variant.variant().with(VariantProperties.MODEL, door.apply(true))).select(false, Variant.variant().with(VariantProperties.MODEL, door.apply(false))))); this.createBlockItem(block); } @@ -70,9 +70,9 @@ public void stairsBlock(Block block) { public void coolerStairsBlock(Block block, ResourceLocation middle) { var mapping = TextureMapping.cube(block).put(TFTextureSlot.MIDDLE, middle); - ResourceLocation inner = TFBlockModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); - ResourceLocation straight = TFBlockModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); - ResourceLocation outer = TFBlockModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); + ResourceLocation inner = TFModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); + ResourceLocation straight = TFModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); + ResourceLocation outer = TFModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); this.registerSimpleItemModel(block, straight); } @@ -87,12 +87,12 @@ public void blockWithRenderType(Block block, String type, ModelTemplate template public void thorns(Block block) { TextureMapping mapping = TextureMapping.column(block); - ResourceLocation main = TFBlockModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); - ResourceLocation thorns = TFBlockModelTemplates.THORNS.createWithSuffix(block, "_thorns", mapping, this.modelOutput); - ResourceLocation top = TFBlockModelTemplates.THORNS_SECTION_TOP.createWithSuffix(block, "_top", mapping, this.modelOutput); - ResourceLocation bottom = TFBlockModelTemplates.THORNS_SECTION_BOTTOM.createWithSuffix(block, "_bottom", mapping, this.modelOutput); - ResourceLocation noSection = TFBlockModelTemplates.THORNS_NO_SECTION.createWithSuffix(block, "_no_section", mapping, this.modelOutput); - ResourceLocation noSectionAlt = TFBlockModelTemplates.THORNS_NO_SECTION_ALT.createWithSuffix(block, "_no_section_alt", mapping, this.modelOutput); + ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); + ResourceLocation thorns = TFModelTemplates.THORNS.createWithSuffix(block, "_thorns", mapping, this.modelOutput); + ResourceLocation top = TFModelTemplates.THORNS_SECTION_TOP.createWithSuffix(block, "_top", mapping, this.modelOutput); + ResourceLocation bottom = TFModelTemplates.THORNS_SECTION_BOTTOM.createWithSuffix(block, "_bottom", mapping, this.modelOutput); + ResourceLocation noSection = TFModelTemplates.THORNS_NO_SECTION.createWithSuffix(block, "_no_section", mapping, this.modelOutput); + ResourceLocation noSectionAlt = TFModelTemplates.THORNS_NO_SECTION_ALT.createWithSuffix(block, "_no_section_alt", mapping, this.modelOutput); this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(main)); @@ -199,7 +199,7 @@ public void thorns(Block block) { } public void forcefield(Block block) { - this.blockStateOutput.accept(createSimpleBlock(block, TFBlockModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { + this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { //WEST builder.forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).shade(false).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index f615b04a97..2c67e20028 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-03T22:54:24.4745092 Model Definitions - twilightforest +// 1.21.4 2025-04-04T11:22:50.1273274 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -165,10 +165,15 @@ b7780075e20499c3fd06f7afc881eb8e472a7609 assets/twilightforest/items/alpha_yeti_ af59f4db3593e9cc0f3c96ef25e5aa6f1bdb1155 assets/twilightforest/items/alpha_yeti_spawn_egg.json 449407f4c779d6a9617e552e861dc9581001867b assets/twilightforest/items/alpha_yeti_trophy.json 92d0a73026c975799bf3a2e86562acb5d2af854e assets/twilightforest/items/antibuilder.json +dc533bc013f6c5b6ed7c410d14fc721128c0a9c2 assets/twilightforest/items/arctic_boots.json +b930d02421e3fd932917dd75854a47b3a8c3fca2 assets/twilightforest/items/arctic_chestplate.json a964f4cddd0c2aa08817c8bcbeb75ec4eca41234 assets/twilightforest/items/arctic_fur_block.json +f2a59ac53a4650eca48bc87ea5925dddfa448510 assets/twilightforest/items/arctic_helmet.json +7b7c5c3a80747cb10f1577cc80c645ed26d8137d assets/twilightforest/items/arctic_leggings.json e81f61d50559025a7d12ea4e684d061b53bff728 assets/twilightforest/items/armored_giant_spawn_egg.json f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_sheep_spawn_egg.json +49b4b810357e0743ccf39dc23b9360956691dac7 assets/twilightforest/items/block_and_chain.json 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json 2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json @@ -194,6 +199,7 @@ b65f46e982e991ee9baa05d34d46cd7f4a6daf1a assets/twilightforest/items/carminite_g 7709b3bedf4e16f0e1a39f2847aad02068a0913b assets/twilightforest/items/carminite_golem_spawn_egg.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json +075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json 7b7733be9f39aaf88531a6e5a0c97283f8aa1276 assets/twilightforest/items/dark_button.json f69cb43411d85270281d69db67358e8428c0b311 assets/twilightforest/items/dark_chest.json b17b10d6537efdf7119e1ae28ad426c15977c3da assets/twilightforest/items/dark_door.json @@ -205,11 +211,25 @@ a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs 98ce19719d17fecb09246d5a711e05127bcc546c assets/twilightforest/items/dark_trapped_chest.json ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_spawn_egg.json 94ebad61d7db66f5b5d78ceaef1090d6bbc19630 assets/twilightforest/items/deer_spawn_egg.json +07e5104e0a72e67b2c212c71eef2794d20c252a1 assets/twilightforest/items/diamond_minotaur_axe.json 570191864a35a929cb86cea7eecfe7b17a791f53 assets/twilightforest/items/dwarf_rabbit_spawn_egg.json +0b59b49ed7a33fab84dd81ad54c18cb88466234e assets/twilightforest/items/emperors_cloth.json +d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json +5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json +3f1881cdf29805aec5c954f48ef012288852b2c1 assets/twilightforest/items/fiery_chestplate.json +e6206ce872b9cb28f0428b845ba29d9de1b80833 assets/twilightforest/items/fiery_helmet.json +826a8ed33be1eb0c2988f837b95392ef0dca22b8 assets/twilightforest/items/fiery_leggings.json +1fc7d31a4c8c53ec1c52e6a35170362d185e2632 assets/twilightforest/items/fiery_pickaxe.json +ec64f43ef15c68543432ab55a98f1965aa8752fd assets/twilightforest/items/fiery_sword.json 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json +d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json 93c0c71fe6e8eda7667713484b4a8f8dc6a7143e assets/twilightforest/items/giant_miner_spawn_egg.json +e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_pickaxe.json +34fd62a9f35b6f108a2523b2536b6a98defa3345 assets/twilightforest/items/giant_sword.json +5915d8d3994af28a554c95015893aba9851ef982 assets/twilightforest/items/glass_sword.json +aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minotaur_axe.json d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json @@ -217,10 +237,29 @@ d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorn c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json afefb675e9bbced9bd53c66f20655891283a69f2 assets/twilightforest/items/hydra_spawn_egg.json 62f6f000e39e09a991c25af5a1b938dbcf05399f assets/twilightforest/items/hydra_trophy.json +ff07b15ba9afd5f2b1ff3e75da7dc6b8240d046b assets/twilightforest/items/ice_bomb.json +80841f4ea8f028b57fea72e030abe933e0de19e4 assets/twilightforest/items/ice_bow.json a65c2f1083bc3ee1d03148a13e6c4e63e9562765 assets/twilightforest/items/ice_crystal_spawn_egg.json +da038d6dd0064ee10cf5a4034ab1d0e8f18e38b9 assets/twilightforest/items/ice_sword.json +4afca1101023cf4035f197b3f46cbc06c2228270 assets/twilightforest/items/ironwood_axe.json +ab18463d2adeacfe78df2ee1845e156f3b4de9ce assets/twilightforest/items/ironwood_boots.json +586f1c8ed37825f8259e866f5f26133e6575a0b5 assets/twilightforest/items/ironwood_chestplate.json +f2a55657a9707855668b121d5f96cf4a6b2ff249 assets/twilightforest/items/ironwood_helmet.json +568c6d99e900fc5239b605cb26ecc65816098613 assets/twilightforest/items/ironwood_hoe.json +c62e20368ba3b20cef54a4398bc9da078bc65ab1 assets/twilightforest/items/ironwood_leggings.json +dc447f17993ed6305b89e74756fa0e3aa16d79ae assets/twilightforest/items/ironwood_pickaxe.json +962c4db843e066ca397125423387661d3f7d8d12 assets/twilightforest/items/ironwood_shovel.json +7148bc3823e70b47fbf2a61b6c45df9d5b98ba4e assets/twilightforest/items/ironwood_sword.json 215ee6062747a5e5b6a142aae307e86c61ef1fa8 assets/twilightforest/items/keepsake_casket.json 248ee88333cf8d32bc51c72c89f0de8a3fcf2d09 assets/twilightforest/items/king_spider_spawn_egg.json +e08340fac56bb2ee5092c938bebd806e70a9e70f assets/twilightforest/items/knightmetal_axe.json +611fa33a86b4865e6e291ca6d21b584009fb1798 assets/twilightforest/items/knightmetal_boots.json +76504795018be01a9ebe85d48303b0648b1abcf2 assets/twilightforest/items/knightmetal_chestplate.json +a28f45173660872abb5b9b89e0915e995565307e assets/twilightforest/items/knightmetal_helmet.json +97e9e49f0defe5a1c243c723d68bf3555fcbac6b assets/twilightforest/items/knightmetal_leggings.json +601eb33c359e5d53ae77fc886fc732232cc66c63 assets/twilightforest/items/knightmetal_pickaxe.json 56f395668734093d10d658ed11d6c9018cc977f8 assets/twilightforest/items/knightmetal_shield.json +d2bf28a281dfe4437e204945ffd0f47dfd104949 assets/twilightforest/items/knightmetal_sword.json eeb54f9a457cbeeb747c58b34e05717097c79a84 assets/twilightforest/items/knight_phantom_boss_spawner.json 59d9f157a82bf9b8a56193964c7836d0b51c9579 assets/twilightforest/items/knight_phantom_spawn_egg.json 00b7b42db2bb3fa6cfc276d3cc2b775ecb5c899d assets/twilightforest/items/knight_phantom_trophy.json @@ -228,6 +267,7 @@ faf0838cbfd609897d4aa0d294f1e65264f5897f assets/twilightforest/items/kobold_spaw 7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json b253e2726dc40da9667d77285f6194204bb43e03 assets/twilightforest/items/lich_spawn_egg.json d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy.json +a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_scepter.json 1a3b6e462423c661cba82eb1f4aec0717ad92fa3 assets/twilightforest/items/lower_goblin_knight_spawn_egg.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json 8c6e65ada3aec317a8b012b7331031f802b41a68 assets/twilightforest/items/mangrove_chest.json @@ -238,6 +278,7 @@ f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_do 0d08fd0a56f729914720921ffc5d286528021a82 assets/twilightforest/items/mangrove_stairs.json a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json +63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/maze_slime_spawn_egg.json fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_button.json 38bcfeea7ff67a428c694981e1ddbb388ded256b assets/twilightforest/items/mining_chest.json @@ -254,19 +295,30 @@ ada89dbf3cf944737aeef4c23a6da9d720965858 assets/twilightforest/items/minoshroom_ 28ee19d691a2b77193a24a2ffc8d7d367fc27395 assets/twilightforest/items/minotaur_spawn_egg.json fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_spawn_egg.json 8f5a9be1a5b80d866a94ff2146b755b6d8146ef3 assets/twilightforest/items/moonworm.json +9325cfe5fbe9be707e60e5705a7d24b7bdd219ce assets/twilightforest/items/moonworm_queen.json +cbe6095361a047ccb2fea8cb38d55da454890f30 assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json +38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json +272ae773763fd54d52adc5b4ba6bd8f3f61161ed assets/twilightforest/items/naga_leggings.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json +5d6bf139a2f9a7a659ea1d36bedab5fe7b73ad44 assets/twilightforest/items/ore_magnet.json +2cc87df47303ae3a2d0e8ff802893deb4019a2c1 assets/twilightforest/items/ore_meter.json +a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_feather_fan.json 2a0a14f57f18f9c7394596fe62851aab1b7cc173 assets/twilightforest/items/penguin_spawn_egg.json +9ace494c83bdbe18f6e5398d4f88a6a8b32113ea assets/twilightforest/items/phantom_chestplate.json +40ef3bd7b3ff77d48e393f1c6588b6d6ec8963ec assets/twilightforest/items/phantom_helmet.json b0b3135c120309d94aae084ca9c3bb51366ecfd3 assets/twilightforest/items/piglin_skull_candle.json c435748849792db1afe8503c17d266e52a20d7a4 assets/twilightforest/items/pinch_beetle_spawn_egg.json ba095c9b3a3ab5881246bb1ea93bd4ee0b61e18a assets/twilightforest/items/player_skull_candle.json +b0149b1000e8ea6417cd26f4c90f42e9280fd05f assets/twilightforest/items/pocket_watch.json 935291084d44e069679fe938f64d9d84abc6002f assets/twilightforest/items/quest_ram_spawn_egg.json 1bb04c85e1c23e6687e96a8d9e1c73bbad299ee2 assets/twilightforest/items/quest_ram_trophy.json 44839fbcbf7b5d1b7db67a14519633c138ca8066 assets/twilightforest/items/raven_spawn_egg.json d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json +e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/skeleton_druid_spawn_egg.json 28d3f09448ef594c02ddbf4fb32fec53cd8197b0 assets/twilightforest/items/skeleton_skull_candle.json ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json @@ -286,6 +338,15 @@ a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fen d84a3ce3786242b19151f49a3546ed3cba93ef57 assets/twilightforest/items/sorting_trapped_chest.json d0646c85a48e4eb018ee6c5c1dd27aa1c3080ef2 assets/twilightforest/items/squirrel_spawn_egg.json e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_core_spawn_egg.json +63a9456abb037acd89375ce3fb0be21d879ab394 assets/twilightforest/items/steeleaf_axe.json +3f97259ab600eea470f4bf268bdcc718c3035214 assets/twilightforest/items/steeleaf_boots.json +d171b572dcb3e29afa2c69ca678f53a028256345 assets/twilightforest/items/steeleaf_chestplate.json +bfcb0fb4a9a3b3c4b60e3c89a82d6f874149eb3b assets/twilightforest/items/steeleaf_helmet.json +18edb9efd77aada4de58eb2e84d72819774ee5fc assets/twilightforest/items/steeleaf_hoe.json +c24118034b160633ebbb7b9f135aa912172b9025 assets/twilightforest/items/steeleaf_leggings.json +b20ffb1154e72227b57df2c480b7bbc24e64cdf0 assets/twilightforest/items/steeleaf_pickaxe.json +547a4491e7a84ec55e67c2754edcccdec48be0c3 assets/twilightforest/items/steeleaf_shovel.json +90acba09626132f58266a37901a1c636093c400a assets/twilightforest/items/steeleaf_sword.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json 65b6f9e05612a8b1c2dd36f19befba666b044d8d assets/twilightforest/items/time_chest.json @@ -307,6 +368,7 @@ cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformat 3292e90a35a6a5e8a2987c5ff9ac5d0b91e75c32 assets/twilightforest/items/transformation_stairs.json aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformation_trapdoor.json 350b6827bdb83e3a70c6b41fdd0ad49c3c149988 assets/twilightforest/items/transformation_trapped_chest.json +d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json 09c880a29a70bf52f5b853baf5f8f6ca687af89c assets/twilightforest/items/troll_spawn_egg.json a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json 4dc8250199d640a471d6eb690ef3b0d2e2025960 assets/twilightforest/items/twilight_oak_chest.json @@ -317,6 +379,7 @@ a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oa fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json +1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json @@ -324,7 +387,12 @@ d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_tr ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json +bd33d6ac91ffa73751e13dcc873be5c944827516 assets/twilightforest/items/yeti_boots.json +4847da0e6925d4a6382016b99c2fd6e40bb47358 assets/twilightforest/items/yeti_chestplate.json +1b067dd65e955ab6f0421dc3fc29e7b340f483ce assets/twilightforest/items/yeti_helmet.json +e232152d263a87e9c8e534be667211c5798fca2d assets/twilightforest/items/yeti_leggings.json f87a58c73252cda87b764f2540eed234afad2e74 assets/twilightforest/items/yeti_spawn_egg.json +260c3600a2d7a4fb94e70d9933ac7dfe8337b304 assets/twilightforest/items/zombie_scepter.json b65dfc2052e4aae7aadfb6e57f514621676833d8 assets/twilightforest/items/zombie_skull_candle.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json 1c9b118da8b3090df8d92e90d01bc3dbd790c65c assets/twilightforest/models/block/antibuilder.json @@ -629,30 +697,516 @@ db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twil 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +c38f28cc96caa2803b776e82a25f825d6bcc8680 assets/twilightforest/models/item/arctic_boots.json +ad53be4ddd9d2537744f06500870cb4854814d00 assets/twilightforest/models/item/arctic_boots_amethyst_trim.json +b041f76f8bd71e9b064a18de4d26266c51284d9b assets/twilightforest/models/item/arctic_boots_carminite_trim.json +1f065e147c3751cb3c785670ae6398dfbf0cfcb6 assets/twilightforest/models/item/arctic_boots_copper_trim.json +e02c79aff88e056191d60b703345ec58166da274 assets/twilightforest/models/item/arctic_boots_diamond_trim.json +35af51f062dac4f250a3f66e701eb2ba700b6349 assets/twilightforest/models/item/arctic_boots_emerald_trim.json +144ecce27dc21e10563c6e6dd19f211b5950915a assets/twilightforest/models/item/arctic_boots_fiery_trim.json +1e94f528fb0cc8ec3a8c0b4eec15bf5e68463c90 assets/twilightforest/models/item/arctic_boots_gold_trim.json +05a11596c365e7fee183e164944f63c3760b5622 assets/twilightforest/models/item/arctic_boots_ironwood_trim.json +b4e4308a875857cf16195034e324754fc6cd19c3 assets/twilightforest/models/item/arctic_boots_iron_trim.json +8eea10bf7e7efa6c7eea174dd37567ae1d9776d1 assets/twilightforest/models/item/arctic_boots_knightmetal_trim.json +d4ced3f7863b46d4b7cc458fefe2845918c30d4a assets/twilightforest/models/item/arctic_boots_lapis_trim.json +c9257207152dde9043f558a3e6733f0645b0d3ba assets/twilightforest/models/item/arctic_boots_naga_scale_trim.json +8bdb7bfbc49086bb22d699c53382286ffa08f30d assets/twilightforest/models/item/arctic_boots_netherite_trim.json +7a6b1c110914b0a273652c02e6b31d6683a8accd assets/twilightforest/models/item/arctic_boots_quartz_trim.json +8ef60c8bddb99c600ea3866bd9ed10ede011310b assets/twilightforest/models/item/arctic_boots_redstone_trim.json +61184bc873c473cdb997eed32c60836729cdd5fb assets/twilightforest/models/item/arctic_boots_resin_trim.json +2850c22b4ec6e3432ac8941cbbf5f1f5725fabcc assets/twilightforest/models/item/arctic_boots_steeleaf_trim.json +f40ad41b08fdc3e0e5e47bcdcc6f3e24164672f4 assets/twilightforest/models/item/arctic_chestplate.json +3b41106d68908f40cf950fa404bbe05617c375c3 assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json +56c2ac1465a3b1b3dc2fa2587fcf563d9c7f904d assets/twilightforest/models/item/arctic_chestplate_carminite_trim.json +4c6e0e3a54cac753e627252ea4455e9b516ba88d assets/twilightforest/models/item/arctic_chestplate_copper_trim.json +67dd284f47beca4dd9a5285bb3d80c04dd0b4b3b assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json +19f3e884176efc91e41be377cba5c5cd2bcc423c assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json +4c5c1ae00cd10b9a593f3c5a5bf57cd8ea707560 assets/twilightforest/models/item/arctic_chestplate_fiery_trim.json +c99456ef14f5660b77e9a0079c0da149363e1173 assets/twilightforest/models/item/arctic_chestplate_gold_trim.json +01f6fd89695da94279bd549602f1a6c6fa8d29ae assets/twilightforest/models/item/arctic_chestplate_ironwood_trim.json +5786096babe70ad029a9ab7b05585544594b3b10 assets/twilightforest/models/item/arctic_chestplate_iron_trim.json +9b79f1ee30070a75b64dbfe8d717862f09d82c5e assets/twilightforest/models/item/arctic_chestplate_knightmetal_trim.json +db0cf4d19d038cef9b59dfa6eeb7930d940c6501 assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json +9d72a6227be9c2a119fdd41781df6a3179a15cfa assets/twilightforest/models/item/arctic_chestplate_naga_scale_trim.json +0dca31bfd352996a96005a1329c0ed2ecf76ebed assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json +645b6a8b98727a7a405a0523a0f4510ad87703a6 assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json +37b5c31730bba9013a19394b96d4cc83a9639687 assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json +77245ac53136c4ef7673f41a658021fc2bf45e30 assets/twilightforest/models/item/arctic_chestplate_resin_trim.json +85e5518dd1e05779e865472f4a62c6e6f1e34790 assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json +a882e6162e143504ef43180340619e394ff9b80f assets/twilightforest/models/item/arctic_helmet.json +e0761afa800e9b3ff6f5c840fbab381542bf84a9 assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json +19991bdcd69454d6bb1bd0d571141c1e94eb68c9 assets/twilightforest/models/item/arctic_helmet_carminite_trim.json +6d2b235fd5a8150fda7dd2eb568a1fc661504c15 assets/twilightforest/models/item/arctic_helmet_copper_trim.json +ad05344d8fc18aabc25585353d4d858a20022b7d assets/twilightforest/models/item/arctic_helmet_diamond_trim.json +12092a6a4ff2155109bc7e2c74bb94a997d78b64 assets/twilightforest/models/item/arctic_helmet_emerald_trim.json +ca49e8e9156731337404fe10911d10b55da9b980 assets/twilightforest/models/item/arctic_helmet_fiery_trim.json +751897fdb8a2dd26941dd46e67f3b6969a2a299f assets/twilightforest/models/item/arctic_helmet_gold_trim.json +bc764aaa6988f51f312f671734c9eebaade65771 assets/twilightforest/models/item/arctic_helmet_ironwood_trim.json +310bc3e24419e4b1473145c9cbc1719f773432c8 assets/twilightforest/models/item/arctic_helmet_iron_trim.json +55d02fbfa4d8403c07c7e8546c6072f05024f48c assets/twilightforest/models/item/arctic_helmet_knightmetal_trim.json +64b3bfc968bb66b6a7a33d420eb372e95f6c05e3 assets/twilightforest/models/item/arctic_helmet_lapis_trim.json +422c9bbb31ca295db95b1a7f6d53cd0379792da5 assets/twilightforest/models/item/arctic_helmet_naga_scale_trim.json +aa0134eb054985482f8365f2eb3e341246b4925e assets/twilightforest/models/item/arctic_helmet_netherite_trim.json +985476a2d4242fc3353c9d24f963e0eaf703e3a1 assets/twilightforest/models/item/arctic_helmet_quartz_trim.json +ec2ea91ba0e534f28c6aab9a07799fd15b5fe05e assets/twilightforest/models/item/arctic_helmet_redstone_trim.json +f85d34d233a7952009cf916ba7906b19ae3bc832 assets/twilightforest/models/item/arctic_helmet_resin_trim.json +a13dbb9592d868d63aa94079f52cac10a496d578 assets/twilightforest/models/item/arctic_helmet_steeleaf_trim.json +70b773751cc71585ef757c1b3f1e03de4b93c0a0 assets/twilightforest/models/item/arctic_leggings.json +1e8f76cedea226dcab6ad7464f5a46354e7f70e4 assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json +a83e34b8ce155489010b5204c9bcdecbd2fbab16 assets/twilightforest/models/item/arctic_leggings_carminite_trim.json +6a5031b889d28af752a2eda5cc16cdb2c08f9f0f assets/twilightforest/models/item/arctic_leggings_copper_trim.json +2c1e7fc6400771f8073ef0ae2d040c759495e8b0 assets/twilightforest/models/item/arctic_leggings_diamond_trim.json +c5101d0a9abafcbe958890c156dfea7ab9cd01d4 assets/twilightforest/models/item/arctic_leggings_emerald_trim.json +fefb084aa9892477c3983dee88b8ac53e95f66eb assets/twilightforest/models/item/arctic_leggings_fiery_trim.json +a81861b8c11a3a0eb052eee73a24af93963eba04 assets/twilightforest/models/item/arctic_leggings_gold_trim.json +82b95c79fe0f22dddd3c4272153e52e762afc466 assets/twilightforest/models/item/arctic_leggings_ironwood_trim.json +9bf92a8daaf8454be936833e88abba64354357c2 assets/twilightforest/models/item/arctic_leggings_iron_trim.json +d50a879aa68ae5c5c0bab0a06cc26c5f19ec68af assets/twilightforest/models/item/arctic_leggings_knightmetal_trim.json +51e3cae24145e244a5c980bfc5da7999f75d3e5b assets/twilightforest/models/item/arctic_leggings_lapis_trim.json +7f69a89c464a7b628eb7f3db80eb8ed2ab118d26 assets/twilightforest/models/item/arctic_leggings_naga_scale_trim.json +638fdd5a86a005d25eedc17125fcfe7655e7499f assets/twilightforest/models/item/arctic_leggings_netherite_trim.json +b0c6f8838b5dc1f8d85e43a9192ca9deff189e28 assets/twilightforest/models/item/arctic_leggings_quartz_trim.json +f3218bf08a13dab44f8e4c68febe25c4470ac835 assets/twilightforest/models/item/arctic_leggings_redstone_trim.json +d9b538a65a3195254d3d684fa591210d80fd5968 assets/twilightforest/models/item/arctic_leggings_resin_trim.json +6652e7504c9c271d00232265a3302944deb44794 assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json +bc99680855e9259d53c400116caea29bdb7151cd assets/twilightforest/models/item/block_and_chain.json afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_chest.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_trapped_chest.json +f49a7461b6de4822b4190d497c6db54a7c5d8721 assets/twilightforest/models/item/crumble_horn.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_chest.json 5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json eabcc78bb30aef9eb11d6f55ff944b8623f85eda assets/twilightforest/models/item/dark_sign.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_trapped_chest.json +6e739011bd20795270eab4e510d955e436d55d37 assets/twilightforest/models/item/diamond_minotaur_axe.json +6be7b80754543e6433b489b9ad2b9c923f991c69 assets/twilightforest/models/item/emperors_cloth.json +bb5f3969ff84f8af6a50b31138ba47c88a1d0f35 assets/twilightforest/models/item/ender_bow.json +2112c5b4eaa70e8cc5af2223ae96a0668af27ac7 assets/twilightforest/models/item/ender_bow_pulling_0.json +7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json +c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json +f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json +3753282055695770ddb4392f231da75edb9508d8 assets/twilightforest/models/item/fiery_boots_amethyst_trim.json +dffe8a7a26e30e2b4f5051751fe1b9579b61a098 assets/twilightforest/models/item/fiery_boots_carminite_trim.json +5d6978eaf3d38af267cb455b767d22e99fa20e93 assets/twilightforest/models/item/fiery_boots_copper_trim.json +c0b5458a6d1fc2905e027b83a4488232eac9a47e assets/twilightforest/models/item/fiery_boots_diamond_trim.json +f304690d186f11eff4a3041be705177e3026eec1 assets/twilightforest/models/item/fiery_boots_emerald_trim.json +e0843fef38f8f79da9bc44ccd9c14d8071d74efd assets/twilightforest/models/item/fiery_boots_fiery_trim.json +de09f6c8458c5798b684899ae802b1a76322ab9e assets/twilightforest/models/item/fiery_boots_gold_trim.json +c5eafecaa76718621c5a10017ef4c250e9595955 assets/twilightforest/models/item/fiery_boots_ironwood_trim.json +da421a6073a2ab076917d34e11f1cc7fb3f8ae0c assets/twilightforest/models/item/fiery_boots_iron_trim.json +8c58f95e60262bdae7c70e52d42ec377ce9342ba assets/twilightforest/models/item/fiery_boots_knightmetal_trim.json +b57f74996a4c91268bc5aa97d87c889e96292de4 assets/twilightforest/models/item/fiery_boots_lapis_trim.json +64e15e5b46792b194d1ae7252a77115f35e6a948 assets/twilightforest/models/item/fiery_boots_naga_scale_trim.json +f91f5893189ef1b2ab2109727ec07c807ea8b57a assets/twilightforest/models/item/fiery_boots_netherite_trim.json +67355aeb1ceb5e20f637a7c659bff400ab0dcada assets/twilightforest/models/item/fiery_boots_quartz_trim.json +bc76a061e9e20edc6f7ca8407e06c808d3ede70d assets/twilightforest/models/item/fiery_boots_redstone_trim.json +205ce7e5d1a58a06edb82ab5fc8ca463755ad940 assets/twilightforest/models/item/fiery_boots_resin_trim.json +7b829a5f01d578cfd4602a42a1ea121a44ac32a2 assets/twilightforest/models/item/fiery_boots_steeleaf_trim.json +e5cb424a9bf5e44587a66af356efe2baa3ef3298 assets/twilightforest/models/item/fiery_chestplate.json +b0bb8d0ecef8361e3f275deb9fd52ec5fd8be0cf assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json +677ad820673725d23bf4f9329acb86e91652b09d assets/twilightforest/models/item/fiery_chestplate_carminite_trim.json +2009ffeab38b8fca6ab094f31e9e54d3b2cfd5ff assets/twilightforest/models/item/fiery_chestplate_copper_trim.json +87f1ee2f46908d18d7cda756fb45ace12cdffb9c assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json +bba78dadde8a3bc92ae2498605229a078696bd73 assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json +0dd0d359b0cd2680fec7a2849be6f0da8f8fc9fa assets/twilightforest/models/item/fiery_chestplate_fiery_trim.json +825fc984084bbae3067bef89ab69de275e71ee35 assets/twilightforest/models/item/fiery_chestplate_gold_trim.json +42ac06aa30741b00cb17a06ee9c550eb0e351398 assets/twilightforest/models/item/fiery_chestplate_ironwood_trim.json +b1683bea3cdcebf482a78f1fc22683d3e91d1223 assets/twilightforest/models/item/fiery_chestplate_iron_trim.json +4204eedc3b3c66b961baa50d217567960a0e5933 assets/twilightforest/models/item/fiery_chestplate_knightmetal_trim.json +5376444f25f3a59b148b8e356bbdd02134e57899 assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json +bbf2a0cdce446015bbcad41d3c83b8f331f01b0e assets/twilightforest/models/item/fiery_chestplate_naga_scale_trim.json +659764b3b11de55ab60fbb491358cb3264355330 assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json +5675e4b9bdfaa5a4ae9531edd74327fbe9760945 assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json +7cb1a6b5b9721c9abc4e9e2de9e8640b0ecb2b2f assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json +ba365e61f524eefcc60887690246f54bb23e3480 assets/twilightforest/models/item/fiery_chestplate_resin_trim.json +70d1b0af52b781838454390cf083f39ddac4d380 assets/twilightforest/models/item/fiery_chestplate_steeleaf_trim.json +802ca595cedba2ff3c390f645e7c8ca8863f3d67 assets/twilightforest/models/item/fiery_helmet.json +ab2117e91a24c779a53526086e16f9243921f4aa assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json +80db09d55bb8b7835410a3c01b2a29e3d189e37c assets/twilightforest/models/item/fiery_helmet_carminite_trim.json +9e329332d4fd415bc75ab8e54d494ccc4da2a7a3 assets/twilightforest/models/item/fiery_helmet_copper_trim.json +fc2e98ebe1b3d2ff6af5c8ef6166871acd728127 assets/twilightforest/models/item/fiery_helmet_diamond_trim.json +3832d407ea0d0226b3949557947817b7b6c97ed5 assets/twilightforest/models/item/fiery_helmet_emerald_trim.json +b69afb7ea5bdf18d6f9a9347a20dd4cfc83f4e76 assets/twilightforest/models/item/fiery_helmet_fiery_trim.json +e42ed8b4fed12079a1c65230e789563ccf01f3c7 assets/twilightforest/models/item/fiery_helmet_gold_trim.json +4b23e240b712ed4a20ba74ae8207fc0246e46f3a assets/twilightforest/models/item/fiery_helmet_ironwood_trim.json +f7f7d76a7d66b37bc6796980a5d18134eb05d6ce assets/twilightforest/models/item/fiery_helmet_iron_trim.json +3c598442cfc7de69f13d92043a90d8444f016389 assets/twilightforest/models/item/fiery_helmet_knightmetal_trim.json +1c7a21a8ef92d75c26fc703608c63e2d55c7420f assets/twilightforest/models/item/fiery_helmet_lapis_trim.json +466d1e5ba44213d9a2c7c4789d3daa164a1b7978 assets/twilightforest/models/item/fiery_helmet_naga_scale_trim.json +695b664f856d3ed06006bc1b85420bb462590c5e assets/twilightforest/models/item/fiery_helmet_netherite_trim.json +55910a150934d5e78ff9f2649c8a274dcd69fa44 assets/twilightforest/models/item/fiery_helmet_quartz_trim.json +dd4bb85e7ad19471659383b284e7fde953a4c7a5 assets/twilightforest/models/item/fiery_helmet_redstone_trim.json +2364061672fe7674c3eadf3bdd81b86e74a56a30 assets/twilightforest/models/item/fiery_helmet_resin_trim.json +962c016907c13cd135e7ac6327399df6d082dcdb assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json +de42d10e78a1f1a44e0c2cf17db686a045c82d8a assets/twilightforest/models/item/fiery_leggings.json +5fbd131960ad9a0a56d706487b68230bc2475ce3 assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json +17a118d4b183275ca2dcae9355e1499a304166b9 assets/twilightforest/models/item/fiery_leggings_carminite_trim.json +372a420ef54ddc89de884565f67ed9db09492f7d assets/twilightforest/models/item/fiery_leggings_copper_trim.json +4dc72e19a5ede23bc2391914095c8a09de00bd2f assets/twilightforest/models/item/fiery_leggings_diamond_trim.json +b175054a2c403d299825f3215d7fa7738d416f59 assets/twilightforest/models/item/fiery_leggings_emerald_trim.json +6d669561fb10f734687ef45baf619a1c3be3bcb7 assets/twilightforest/models/item/fiery_leggings_fiery_trim.json +f076c20ad9fd867f9ab065751bd5da2d47977d4c assets/twilightforest/models/item/fiery_leggings_gold_trim.json +b3ba350ab88dc265e8f9605ccdaeb435e641b0df assets/twilightforest/models/item/fiery_leggings_ironwood_trim.json +db1786f8fc7ef50680456f2d590964b54dcd512b assets/twilightforest/models/item/fiery_leggings_iron_trim.json +fdaa1e516c0b91aa707eb09f65944f7c30e72ace assets/twilightforest/models/item/fiery_leggings_knightmetal_trim.json +816d30505dacc079bc8d3a6ff245ebc3fc20e3b5 assets/twilightforest/models/item/fiery_leggings_lapis_trim.json +6ed5c671006dd86a02e12228888bb75e8c2e7303 assets/twilightforest/models/item/fiery_leggings_naga_scale_trim.json +4b67cdea8e03a7612d7d981a15d77c80475444c1 assets/twilightforest/models/item/fiery_leggings_netherite_trim.json +24987fdf83b34154b2bf9d4974f006be21b752a6 assets/twilightforest/models/item/fiery_leggings_quartz_trim.json +92730b2729d7f5a15b899e8ba05935985a3abed4 assets/twilightforest/models/item/fiery_leggings_redstone_trim.json +be26230c2358b4491b82222bf554e772840e2d24 assets/twilightforest/models/item/fiery_leggings_resin_trim.json +cec6499b7351df7be3eefddbb3e276faab8fde0b assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json +a950fc3e879f22ec4bbc6ea73780f31fb49d0813 assets/twilightforest/models/item/fiery_pickaxe.json +5a511fe94d38150879285fe402ee1f4f4600689a assets/twilightforest/models/item/fiery_sword.json +d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/fortification_scepter.json +3143ff12e27e0c247d02db77b100b891542d5df3 assets/twilightforest/models/item/giant_pickaxe.json +f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword.json +9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json +e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json +6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json +6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow.json +6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_0.json +6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_1.json +6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_2.json +15e9bc03adbdcc917443791c9b8e02433a1b1072 assets/twilightforest/models/item/ice_sword.json +7f67e5c4fb773f4e6667073fd9b0723a242e9fe6 assets/twilightforest/models/item/ironwood_axe.json +6482ea17b1e18de5b88d81b5cd637a0707995665 assets/twilightforest/models/item/ironwood_boots.json +cd82b3ac5a2b7e8187ada481669a669aa4acc2a3 assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json +b037c894f5631292c9689d553162b489757cc042 assets/twilightforest/models/item/ironwood_boots_carminite_trim.json +5b52b5aca7e53923d0a9a53cb61bf5af39d33eed assets/twilightforest/models/item/ironwood_boots_copper_trim.json +8464b489d410d5075ddf82a43f517636a80d5714 assets/twilightforest/models/item/ironwood_boots_diamond_trim.json +a2f226d471797a35b73fc365aa57827f87dfb1c5 assets/twilightforest/models/item/ironwood_boots_emerald_trim.json +524ddbe975f590fd59636319781c2b1311b83228 assets/twilightforest/models/item/ironwood_boots_fiery_trim.json +45c091c267165cc40a6134136ca9529f888b4f87 assets/twilightforest/models/item/ironwood_boots_gold_trim.json +84cbcd1eb26a8ec4ddb2bb3d625793717ca840a2 assets/twilightforest/models/item/ironwood_boots_ironwood_trim.json +1e8275c61689e7e3e19fcac1433886362b1329f6 assets/twilightforest/models/item/ironwood_boots_iron_trim.json +849d3c459b2dbb321b82b6cae80c9477d2f44454 assets/twilightforest/models/item/ironwood_boots_knightmetal_trim.json +9fe1d686b1b46eff5c15b51878e905c75baa7e2d assets/twilightforest/models/item/ironwood_boots_lapis_trim.json +30b3048d78d99fd35c63ce5175e01b45c9ad948e assets/twilightforest/models/item/ironwood_boots_naga_scale_trim.json +7753c0c0a54e0f4eb69cd733907db4f2acf2bc2b assets/twilightforest/models/item/ironwood_boots_netherite_trim.json +fa70bbc5b2c5a202d0250dd406bb5fedffa44a79 assets/twilightforest/models/item/ironwood_boots_quartz_trim.json +410b860964708b382ec54132ba36aa624b92c0f3 assets/twilightforest/models/item/ironwood_boots_redstone_trim.json +423db5834b5edecdaae98becca71e53336295800 assets/twilightforest/models/item/ironwood_boots_resin_trim.json +6b3d83f66ac58aa5aa034f5b3194375dcb87228b assets/twilightforest/models/item/ironwood_boots_steeleaf_trim.json +04115485c203a6b1381af68713ac63264c8d381d assets/twilightforest/models/item/ironwood_chestplate.json +49cc3d4c1a7376fe4cf84f61b41eff09112bac3a assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json +e9c5a130952a5cea0ef53a21333f82e42778289b assets/twilightforest/models/item/ironwood_chestplate_carminite_trim.json +95b14cac74589f05905c223058465f8a595c88fc assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json +299da75200c742d1d5eb6db548c6a29c62a68671 assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json +9ae7a3a4c035784dfe36633a6da8024a21145cf6 assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json +44414d76c7b1726aa724e15ea6944fab1aebf64f assets/twilightforest/models/item/ironwood_chestplate_fiery_trim.json +19aea8f18a4d5a7618942444c1d7f98235c59aa2 assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json +72a0299123bb05fd9ea1484a473898d0234e1dbe assets/twilightforest/models/item/ironwood_chestplate_ironwood_trim.json +2a6d722fba702802ad8bf6b926a5e3873b396d5c assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json +1625bc3d4f5cd6f3aaca6d59cd02c17790e0876e assets/twilightforest/models/item/ironwood_chestplate_knightmetal_trim.json +28bee4559f573a8c9708d15490535d878c0090ed assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json +3d1fa2ec8a0da31b15c7487918d5b3c65b7a2f27 assets/twilightforest/models/item/ironwood_chestplate_naga_scale_trim.json +9a10fc5c8729443569b8c2d860f415a5ed23c42c assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json +e5c21eacc1eed8f40cbe7038a45acf05ac7469cc assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json +48bcfba90ffb6dc024bacea3bcf80e98540442d9 assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json +b3fac9aa97dc311495788291080385ce4cc39710 assets/twilightforest/models/item/ironwood_chestplate_resin_trim.json +cade03c8bf7d2f0b8171c9756341436eab289277 assets/twilightforest/models/item/ironwood_chestplate_steeleaf_trim.json +05b5f264f5be4ad219b93865cd1e24a4a2048476 assets/twilightforest/models/item/ironwood_helmet.json +41f7376fe596763fa8c75630d46827fd71550e12 assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json +6a0a0e28230dba9ff8c029c72f2805c694555fa1 assets/twilightforest/models/item/ironwood_helmet_carminite_trim.json +f75d2e17abf4da16c2e82c6c2b8b739453429789 assets/twilightforest/models/item/ironwood_helmet_copper_trim.json +67aab575b5d0bd9e910c6e7407fe9aed9d59bde0 assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json +4016fb858f4e1dae80b2c3d5e02874571c83c574 assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json +6ba358e46d4ea58465c01c803087ebb2eb43bb9d assets/twilightforest/models/item/ironwood_helmet_fiery_trim.json +bc7faf1e0c7ee6105b01630f4d7a017292017e37 assets/twilightforest/models/item/ironwood_helmet_gold_trim.json +f1ac5ab337cb5595bc85962899d9054a0600abc0 assets/twilightforest/models/item/ironwood_helmet_ironwood_trim.json +5e211f1617bd77d040b377e6aace68cf97439220 assets/twilightforest/models/item/ironwood_helmet_iron_trim.json +5dd41fc77c2a65181717dd6b550e5485b002b35d assets/twilightforest/models/item/ironwood_helmet_knightmetal_trim.json +781d40b7e830802dff2aba149dc8bdae6efb182f assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json +50370db2e525d90df183fd11157de51e96e8958c assets/twilightforest/models/item/ironwood_helmet_naga_scale_trim.json +5f0c8ed704a21231019a13b1fe6e75341ead84b1 assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json +18acc446408eefac6672c92361879be3980d102f assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json +0e82d0ace333b0c4eb07c52e99b11cf5eedb8a7c assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json +646e1dc71d108b5a25c89c88650aa6137ea1dc20 assets/twilightforest/models/item/ironwood_helmet_resin_trim.json +60d8de5afa266ec4f4c222b020d643aa0e2d2c79 assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json +b6969dbc99a2524a050e95aae64ab1709dbbb568 assets/twilightforest/models/item/ironwood_hoe.json +b0f951a4c5d16a7615e570a1ca1ffe39a8bc292c assets/twilightforest/models/item/ironwood_leggings.json +f62d7a52a58095d73a37c861a66556fd24585959 assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json +f5988eee90b8fff3cb9bd2209e7b858490efcdd7 assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json +b834a14e8db564cefd465ba11ec74f0d997c245f assets/twilightforest/models/item/ironwood_leggings_copper_trim.json +8b36f81fbf616ff61f3d8540ef43971e6251583a assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json +3b95bd10e34d5aea5ba9f9c2c58fb96c83987f9f assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json +e071652d155797ea236b9128539b7154e78cf97a assets/twilightforest/models/item/ironwood_leggings_fiery_trim.json +f8bc97a59b921af07f7178677f0d2f85f1e4fd78 assets/twilightforest/models/item/ironwood_leggings_gold_trim.json +692ec44a4f73e8716e4630b6ed051d367dfe7f03 assets/twilightforest/models/item/ironwood_leggings_ironwood_trim.json +0cd0e7e2ec660dc01d4e2243ac995871998f4552 assets/twilightforest/models/item/ironwood_leggings_iron_trim.json +27d3f350d28c472182b41abd67063637f29f4c42 assets/twilightforest/models/item/ironwood_leggings_knightmetal_trim.json +78f8579da11a925c6c695aa648edd8078232db3e assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json +6579ada83bb4849da8d1ae7dc8534752e0672db9 assets/twilightforest/models/item/ironwood_leggings_naga_scale_trim.json +87e7922d3dd98dc7278137734bc88bae91db15b1 assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json +6e28e5295aa5209de22a993e4c64c758b537abcb assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json +86570fced81d3d98183b1fba66c88b83132cd7eb assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json +86545783f1add23e3872b44f52317605e33a3fff assets/twilightforest/models/item/ironwood_leggings_resin_trim.json +862e7819d2d18be28f38217fb2ec5c416e4e3ad8 assets/twilightforest/models/item/ironwood_leggings_steeleaf_trim.json +26a9b9d145d110de4829faf25823619faa18808c assets/twilightforest/models/item/ironwood_pickaxe.json +7e20110d9c815d8c101e8a1af764ea6bab594005 assets/twilightforest/models/item/ironwood_shovel.json +c066ae6241e4ca251cd0bd28e17fe102e5aa0981 assets/twilightforest/models/item/ironwood_sword.json +a3e174da7e8f2a12e133b431dc29a96d945953e5 assets/twilightforest/models/item/knightmetal_axe.json +821a70c36ac5505d6d31fa3f4159bb3d9d8e6896 assets/twilightforest/models/item/knightmetal_boots.json +c2b014f7dd568e7916d530b608f37a84dcbb43de assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json +6861c8dc7b65f4c51d4afe68e6c5c14d1b54eb8f assets/twilightforest/models/item/knightmetal_boots_carminite_trim.json +ee3864abbb3afafe09006a249f08a77c4db03cf4 assets/twilightforest/models/item/knightmetal_boots_copper_trim.json +982f746bd3c4eb28bd26a1445099f5691dd54e2f assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json +078ab20544f6fcb04f5e89368dcdb4d0e3ff05ce assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json +baf6f6006e1b279d955058f6832280339d1c6706 assets/twilightforest/models/item/knightmetal_boots_fiery_trim.json +377ba3ab8f07c85de88bf7a615488e2e4bd51ea3 assets/twilightforest/models/item/knightmetal_boots_gold_trim.json +36f80590d7f9aceeb7f6014185e35dfbd5cc760b assets/twilightforest/models/item/knightmetal_boots_ironwood_trim.json +75c2bc2d15f0329ee351ac8eca9108ec2e0753e3 assets/twilightforest/models/item/knightmetal_boots_iron_trim.json +c53f6726b69cd0487059f79f8fa561b5bb33ab71 assets/twilightforest/models/item/knightmetal_boots_knightmetal_trim.json +4cf9345287b8bd7c0a1d69f3bc3735aa3b0042f1 assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json +f6f82c0a813587090a9d9dd43e97476457106251 assets/twilightforest/models/item/knightmetal_boots_naga_scale_trim.json +ba49d8d6039ef250e763e3fb37e0cb0a27af52d3 assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json +eee249fc55003e1536b63aa7837b3561f1aeaa36 assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json +333954b36b8a4c750be56208500512a1d159fbe5 assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json +0930e46ef1d48779d5a4313ed610ce442aa2d52f assets/twilightforest/models/item/knightmetal_boots_resin_trim.json +4f03025efd1118c36a05600474c89e4badd49145 assets/twilightforest/models/item/knightmetal_boots_steeleaf_trim.json +b73c2a8eeed7cd03de6e79f4243709d722638f96 assets/twilightforest/models/item/knightmetal_chestplate.json +eadb061cdd100554771e868acf5f9561ef14b366 assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json +2422bee9e2d697cd3fcc127eb76719228701b190 assets/twilightforest/models/item/knightmetal_chestplate_carminite_trim.json +131a950a16688b21561289979926fabb9c08258c assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json +7d4c257aaa12c5b6397757500f258fa5b9b5cf10 assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json +5652bf2caa003bed0bf2b7a08f5035e907d8788d assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json +73afbd1618320904d41867f3c42ecb14f7fcfc4f assets/twilightforest/models/item/knightmetal_chestplate_fiery_trim.json +882239ff95160a2d007fecce2730b768b2f44263 assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json +0a6f47ca4ba060e8edd67866dba297fbfe6be85c assets/twilightforest/models/item/knightmetal_chestplate_ironwood_trim.json +b033e0dafe0db320d65aee1c0805e8f9d9b59318 assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json +ecf5ab4f9fae3d54814e71f9e168f3ab94ec9aa2 assets/twilightforest/models/item/knightmetal_chestplate_knightmetal_trim.json +b441c8ec4a669968fa01b41a757aea32e8ec1d76 assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json +5b41552b7f98a644f2bb032c0574a2c9699beb16 assets/twilightforest/models/item/knightmetal_chestplate_naga_scale_trim.json +a1b724cddb5eeeccea06a33018f91f50e81a6cb4 assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json +6ec3e10618638e0063517daa27a993e816299e23 assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json +3cd4115ad9bfa2f0be8ac6c08847c75030817f69 assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json +d73f82398c9c3e026793390ee9b5e6f89147807b assets/twilightforest/models/item/knightmetal_chestplate_resin_trim.json +4eb5d2ad0bb44e8c7cad9ab48e80bd0bee07d4ba assets/twilightforest/models/item/knightmetal_chestplate_steeleaf_trim.json +45a9b8608a51972777d06563ca9637a23a6ec65c assets/twilightforest/models/item/knightmetal_helmet.json +860bdaae87f323b270a57ce387ea9248ba6d117e assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json +2b9c84a4926d47c4f710dd4bc7fb19ce92fc9cba assets/twilightforest/models/item/knightmetal_helmet_carminite_trim.json +cc172fb2840f31cca3eafd43c135c1aac2e351be assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json +77a5754f341264eb9afdad2022fd34a30a76eed5 assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json +609dee6803f83f1fd29337e7e62398ec5110d98d assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json +8bc55a7bbd8deb9c5faf6d30ec0dd12a1047322c assets/twilightforest/models/item/knightmetal_helmet_fiery_trim.json +08e61ac771d31e0ae40e533bdeb82c3419952579 assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json +13551e7bff2ea18529bc41a3d3317de4c12e6695 assets/twilightforest/models/item/knightmetal_helmet_ironwood_trim.json +696b484c07ae34fa3bc66d629856eea973456ce5 assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json +6c36b3810ab95b3ca97ad452e4fe8bd5821fb2f3 assets/twilightforest/models/item/knightmetal_helmet_knightmetal_trim.json +fb1acac754add9ccd9fc216b6d407cce546c1f9c assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json +58e73bd497666abb721e1a63ac6115baf2b709bc assets/twilightforest/models/item/knightmetal_helmet_naga_scale_trim.json +d191cb9ae41050df7546c49436f8d8f73856c6eb assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json +ae22b6a0f8af36ddbd17da1688816ae4d90d8c99 assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json +600e19b783167c906f961eb6ea5016f092797856 assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json +42cb66d8206f863246e5f2ea206eb1fa0ab58f86 assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json +9bdb3143cac261f3aee3d7db8bf61553fd03f242 assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json +b1a659c70a45f376b72cacd0b79587e9e68804db assets/twilightforest/models/item/knightmetal_leggings.json +63729652c2a31ae91bbeb9a3088289839b732f28 assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json +ff14df00d5818737a3904423bca816274f8bc7be assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json +840d8af303c36f6b711514b2b2c0257f175ff7b6 assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json +89fe5909f7348036924cf5eb5e802405fbfb93b7 assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json +393dad6108ff2840a22813172316e4992f2dde27 assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json +05905393828181647d2dcedfa3ceb6e3c066085a assets/twilightforest/models/item/knightmetal_leggings_fiery_trim.json +12bf7f2e174bd3fba9080b41310b3ffe13479c51 assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json +30034f0c457390015f9f8b28b8a36a2a2af2f3d9 assets/twilightforest/models/item/knightmetal_leggings_ironwood_trim.json +c224ffc2dadbd507bbd25df2b1ff3b59f64870c7 assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json +5161ff68682eb3911d40559d59f37d9c9d1b0397 assets/twilightforest/models/item/knightmetal_leggings_knightmetal_trim.json +a2fc4b38662d01070416048c22ae02d1de9a9704 assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json +bdee19f966be22f81f6d37fd9d467ef3ea561891 assets/twilightforest/models/item/knightmetal_leggings_naga_scale_trim.json +0cf0aee8c9b2613e877ba99f6851ed39348aef3d assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json +c6396a05170104840578db727a73ce3ed36928d7 assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json +dce79ff2f9ddf262a1a2d36528aa6eaae37d9c36 assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json +924336e74694fce0f7d4e9423f500c624cfd9e0b assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json +c774373a48dcc917608cf00ac361113ee07982ea assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json +d2c0d0336eb105811ec38717128c4f0f344d8523 assets/twilightforest/models/item/knightmetal_pickaxe.json +a7ec10a496b1b6935e8dc144efe701e3f5ec7f00 assets/twilightforest/models/item/knightmetal_sword.json +3a53f9f06ce5624775badac55c78c16a6fa216ff assets/twilightforest/models/item/lifedrain_scepter.json 44ba301b492f28d0b9bfd8cc87b39c994c056e5d assets/twilightforest/models/item/major_boss_trophy.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_chest.json 7ee73611b66cb89a75fd80cb1b662fcd2eec3c21 assets/twilightforest/models/item/mangrove_door.json 8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_trapped_chest.json +e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_chest.json d7a6eb4d66ed3e21ac7c3d19be1cf47cabe3d17c assets/twilightforest/models/item/mining_door.json d9be1b166a22071779c7207d4b61448790b3eb02 assets/twilightforest/models/item/mining_sign.json 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_trapped_chest.json 6bd39542a0254d0e686843560dbdd0cf3f365f54 assets/twilightforest/models/item/minor_boss_trophy.json +d40e3d8f69fffa382cbbcce3a1a0bab4b8ec4d02 assets/twilightforest/models/item/moonworm_queen.json +753c68c00312e9fb6878726aa141d11cfa41382d assets/twilightforest/models/item/moonworm_queen_alt.json +bc39aeaf2598b4b859946c2d510135c8f0afbaf2 assets/twilightforest/models/item/moon_dial.json +1355ab80d4e90c454fbd9fc15e902d01b34a6c42 assets/twilightforest/models/item/moon_dial_1.json +0d9074e8594ab67b78fb52143e8be3599e99cb3d assets/twilightforest/models/item/moon_dial_2.json +04c46056fffe564a85c27160fb0dbbea3c38106d assets/twilightforest/models/item/moon_dial_3.json +a43724058ad36703877dabc13bb9cae62e7cf3b4 assets/twilightforest/models/item/moon_dial_4.json +f50497eaf8b9b253e3df8ec37c8b6868aace7a25 assets/twilightforest/models/item/moon_dial_5.json +2c6786851c5da9148e7654aeeea99fb5bcfa9c4f assets/twilightforest/models/item/moon_dial_6.json +7b800f4ec0fb0930e2452ab1f8a991df09b9fb00 assets/twilightforest/models/item/moon_dial_7.json +ae78b5cfebca2c316fa03c445c85a9438998da65 assets/twilightforest/models/item/naga_chestplate.json +a8cce99869dd114bb91cee2866e5f7a447eeddbf assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json +993acb43af4855dd000417a4891a3a8a15a83c08 assets/twilightforest/models/item/naga_chestplate_carminite_trim.json +46b184aa399e5113c00b752bb4beb53fea40f02c assets/twilightforest/models/item/naga_chestplate_copper_trim.json +606c71f9580310d262b2de506eb969d716a76785 assets/twilightforest/models/item/naga_chestplate_diamond_trim.json +65e6b0a31ff1cafd7a6ea838ad6cb368685a2303 assets/twilightforest/models/item/naga_chestplate_emerald_trim.json +affa351862934801d91eb8977db809a7888f7e79 assets/twilightforest/models/item/naga_chestplate_fiery_trim.json +5c72b43a9b6fa97abc965c08d143768509c621db assets/twilightforest/models/item/naga_chestplate_gold_trim.json +5b94bc5075cf42766112957525935f8e38a7abdd assets/twilightforest/models/item/naga_chestplate_ironwood_trim.json +83a77a34e97018e8dfe5cee534422b580f6cc845 assets/twilightforest/models/item/naga_chestplate_iron_trim.json +1dcfff06914fa16f1366585e7840550e59f7cbfe assets/twilightforest/models/item/naga_chestplate_knightmetal_trim.json +55ceef1820169f93394438481ce61a4d14a40798 assets/twilightforest/models/item/naga_chestplate_lapis_trim.json +1d7b6c48741bda1b2d7b8ad53b4aa73a030dcb2f assets/twilightforest/models/item/naga_chestplate_naga_scale_trim.json +efa6243c3e9acd260d2cd6e2cb5773f5969f1145 assets/twilightforest/models/item/naga_chestplate_netherite_trim.json +6a824046ee743b8f0a88e7ca0f2f8081b426edc4 assets/twilightforest/models/item/naga_chestplate_quartz_trim.json +c3dee4c07c03fcd1c7715aed2c657ce0f60e3537 assets/twilightforest/models/item/naga_chestplate_redstone_trim.json +7ee4958b083eac609682572438bd66c0b6ae71ae assets/twilightforest/models/item/naga_chestplate_resin_trim.json +86d7a71aabfb6d2ef7e9ff13be27921e53dcd32c assets/twilightforest/models/item/naga_chestplate_steeleaf_trim.json +83c57251a8b8ff0cc1d155c8ab5517e28b6d28f2 assets/twilightforest/models/item/naga_leggings.json +ee58b2fe7cb2945a31df524480473fe6d57db92f assets/twilightforest/models/item/naga_leggings_amethyst_trim.json +7b654bef8b9b830e4218db541afc686107df7d38 assets/twilightforest/models/item/naga_leggings_carminite_trim.json +0b571952ef8bad86bdeeb754c8ddec2e06bef9da assets/twilightforest/models/item/naga_leggings_copper_trim.json +dd354b82f7ea15303ff76597c348e81d12ee482b assets/twilightforest/models/item/naga_leggings_diamond_trim.json +2053e1d8308779e36b1a411865a6eb76e726013f assets/twilightforest/models/item/naga_leggings_emerald_trim.json +e8390bfdc360f8cb02186a4fb334f51f36d31b3b assets/twilightforest/models/item/naga_leggings_fiery_trim.json +a13828d5c8cc4741b86d13cca1b34260630dd1b8 assets/twilightforest/models/item/naga_leggings_gold_trim.json +9a4e3b1d77e4aa5842b807a0b188b9da588ec0f2 assets/twilightforest/models/item/naga_leggings_ironwood_trim.json +b3b25a091226f0e51e8fcd6bc40b487a168b9e7c assets/twilightforest/models/item/naga_leggings_iron_trim.json +f06a70784877ee986a98ea32af9691b263e3fc34 assets/twilightforest/models/item/naga_leggings_knightmetal_trim.json +87a700f19dafa9f750aaf7fca7de9368ceb1b2ad assets/twilightforest/models/item/naga_leggings_lapis_trim.json +1b53cff3271c244a3f6eda302f68873aa6ddd542 assets/twilightforest/models/item/naga_leggings_naga_scale_trim.json +866759c8e52fc33db58592faa4b6c7a971eae494 assets/twilightforest/models/item/naga_leggings_netherite_trim.json +f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_leggings_quartz_trim.json +44ef986cbf18ded22e89f5de9b06c6497923f17a assets/twilightforest/models/item/naga_leggings_redstone_trim.json +6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json +0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json +6f779218905207e87e49032840e2cc353f101877 assets/twilightforest/models/item/ore_magnet.json +9e32f7687d91298eddf200a515772df2dfd03a6f assets/twilightforest/models/item/ore_meter.json +4e8f03fef77b6c1268f8728996f584808cff1161 assets/twilightforest/models/item/peacock_feather_fan.json +205ad65aa0e9e1d6006f3016e6d6c2cd9c66a186 assets/twilightforest/models/item/phantom_chestplate.json +59fcfc8dd35bb2135638f636b6f84a4ef729997d assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json +ab0af6b6e57950e7492cd523f8dc3b9d8e3b74c6 assets/twilightforest/models/item/phantom_chestplate_carminite_trim.json +a2d46281259151dfa87647b76b68834618e6ce6f assets/twilightforest/models/item/phantom_chestplate_copper_trim.json +897f10fbce1db2f8f4859c85daff82728eb73942 assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json +fe751a04f9c36a103ea3ab0ad58c3db63d001542 assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json +4174ab446bb97bbd5af0e0d092a866008d65329b assets/twilightforest/models/item/phantom_chestplate_fiery_trim.json +30bdf26361ece535f89c7e3959c38454da19460c assets/twilightforest/models/item/phantom_chestplate_gold_trim.json +361c4dc9bfeb851c5d3ab3b9b51ea89f98713a0d assets/twilightforest/models/item/phantom_chestplate_ironwood_trim.json +b095a0ef801efeaa452f7a5e0365a5c0d027f34e assets/twilightforest/models/item/phantom_chestplate_iron_trim.json +6b273bed443771a66645b9de9adff493f3de608f assets/twilightforest/models/item/phantom_chestplate_knightmetal_trim.json +006deaa5fecfed0ffefcb3525cd0d8c8b9c96e29 assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json +1dfd7f85ccc9c8b7804d7e2e292cca84caa32b4a assets/twilightforest/models/item/phantom_chestplate_naga_scale_trim.json +c758049fb2a79de92bd2e1fa22c4d02ee0f66433 assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json +c50bd6353efd503281eb4ecc212a66beae157082 assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json +8781881db54c6a3ddf9580c14d593bafb68d5abd assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json +11fe939569fce48a559d8b912349cb6fb06f5e4b assets/twilightforest/models/item/phantom_chestplate_resin_trim.json +d54a8deec69f471abf6f172d46312d791e3ee8ef assets/twilightforest/models/item/phantom_chestplate_steeleaf_trim.json +70a88a074822326142e4e0faeaa8a06f6e127278 assets/twilightforest/models/item/phantom_helmet.json +d2843c71225634e5f6a610d3b6af574cfc9d58c8 assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json +8c53269f57450312da5351e2d4c1014d02548cd3 assets/twilightforest/models/item/phantom_helmet_carminite_trim.json +e2b035e5c232d49b39910b7daed9abb1dcd681cc assets/twilightforest/models/item/phantom_helmet_copper_trim.json +f38961209b619cc91952899762b8c89cd31b311c assets/twilightforest/models/item/phantom_helmet_diamond_trim.json +49864cc67112c9e0efc66a161a22f1e9dfb300c8 assets/twilightforest/models/item/phantom_helmet_emerald_trim.json +ae1c8a829ace1a7cb5b327a4694936eb2ae3a0b6 assets/twilightforest/models/item/phantom_helmet_fiery_trim.json +e5fad84f3214cdf03aa3bc99b8e843112cbb1b41 assets/twilightforest/models/item/phantom_helmet_gold_trim.json +bcbd22f85d08511c7d84c5b3a8b1d7e445f0c149 assets/twilightforest/models/item/phantom_helmet_ironwood_trim.json +20a8fdbc589a0750bbfd6463807c036a2ce195e2 assets/twilightforest/models/item/phantom_helmet_iron_trim.json +512705aaafc8b53a810a85e9d0c2a5d47b50b527 assets/twilightforest/models/item/phantom_helmet_knightmetal_trim.json +b40819c5011d3c04a59e519e38e600ae6dd256c8 assets/twilightforest/models/item/phantom_helmet_lapis_trim.json +188afc7e6a67aef470424b90fbde6ffbf4ea453b assets/twilightforest/models/item/phantom_helmet_naga_scale_trim.json +54e2fbef54fae317fd3f044811985537e59f8078 assets/twilightforest/models/item/phantom_helmet_netherite_trim.json +eab5812709d6db628fb5b7b3470e817c8aa87b56 assets/twilightforest/models/item/phantom_helmet_quartz_trim.json +d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phantom_helmet_redstone_trim.json +4af9d9b9385d8befc3fa664ece7bba54680adf66 assets/twilightforest/models/item/phantom_helmet_resin_trim.json +4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json +29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json 1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/quest_trophy.json +37fa09cd8fb43aefdde6539b1d7a3744ed6b47e2 assets/twilightforest/models/item/seeker_bow.json +014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json +02dbf7d47b4be510da10aa9eeca37841abd09fae assets/twilightforest/models/item/seeker_bow_pulling_1.json +efd1f5c64c16dacd32b8b1320d9e713ddc58f339 assets/twilightforest/models/item/seeker_bow_pulling_2.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_chest.json 9d193534b14b488093ab0b1ffe7deb45798ae731 assets/twilightforest/models/item/sorting_door.json 66a4b8ef4d8017b25026d785e825695f12621090 assets/twilightforest/models/item/sorting_sign.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_trapped_chest.json +0528882d5d5ab12726109a66dba7b4ee98a5a655 assets/twilightforest/models/item/steeleaf_axe.json +6052ded3891d43b5aaccfe2f522b4bafd9490282 assets/twilightforest/models/item/steeleaf_boots.json +b35b49da984ef2df61ec8bb40ea11c2affd62c26 assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json +a81e6c9cedbdb8c5f41e075b6c8760f57f80dbd5 assets/twilightforest/models/item/steeleaf_boots_carminite_trim.json +112e06b4de70fbe506b87a1f61d784649cafd108 assets/twilightforest/models/item/steeleaf_boots_copper_trim.json +9cf006baeb62900ae90a70a2a14667981a6ceb8e assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json +7535412faf69be77ccc592b9424666b8e2406780 assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json +11b4ea045d3394d47ff0c890523498d56a298f1a assets/twilightforest/models/item/steeleaf_boots_fiery_trim.json +61bc2c2b97ac45bc4e38f69153817f6d7d69cbed assets/twilightforest/models/item/steeleaf_boots_gold_trim.json +f2c9c58c02ee0eeffcd3fbc312388505ba58be74 assets/twilightforest/models/item/steeleaf_boots_ironwood_trim.json +2f17287420434e79678c63e847371ac64542f6dc assets/twilightforest/models/item/steeleaf_boots_iron_trim.json +5236292abe4162ef7768f8c940df59087c2d4b8b assets/twilightforest/models/item/steeleaf_boots_knightmetal_trim.json +841bbbf41b6bf1b2257d7bf6adfc3cadd9596c00 assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json +2380fe29641dabdb0dbb1bffcf0bfea91472756b assets/twilightforest/models/item/steeleaf_boots_naga_scale_trim.json +6f53261f4efe44ab8f284f84d04fd6ed545f4b74 assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json +5f08e06a3b56c9ea5539c242af95da3fc567fcb3 assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json +a563a47ea174c9922f545f6840c1af1af8efe939 assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json +11fa7d08183686b2cb1ebc3cb8bb50b54d94d9f6 assets/twilightforest/models/item/steeleaf_boots_resin_trim.json +ae562ab605db983356e6008d9b4c78475f013c85 assets/twilightforest/models/item/steeleaf_boots_steeleaf_trim.json +2f7a963967b1c42e0dfe7e6ac5057072f1a995ba assets/twilightforest/models/item/steeleaf_chestplate.json +9e0f3a4711bcf89fe5a9f650a5b00d44a59d586a assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json +bae25a1fb1531938f703645d2b9a0d1982a4e376 assets/twilightforest/models/item/steeleaf_chestplate_carminite_trim.json +65c481e147bdef75cd6a37e91e51a423fcdd9c93 assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json +98cd07d904c7cb33931f6258f0ac8af9c4ea14cc assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json +e8539b8d0764ef7a2831d007e548fa0ab9448700 assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json +a9c0605f3b81aa15b99f3701d4787a90cb142df6 assets/twilightforest/models/item/steeleaf_chestplate_fiery_trim.json +de559bd2341c9171c46af79e8e7d350cd627109d assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json +73aa1c75b63e2431638115f510302da9128ca730 assets/twilightforest/models/item/steeleaf_chestplate_ironwood_trim.json +ce88b6c088f3ee12e7a34edc8b0148ff5fe59674 assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json +f0de0a832c12660fee7a003e2434cc492ed46c54 assets/twilightforest/models/item/steeleaf_chestplate_knightmetal_trim.json +84e0cf7dece468921b6fc903c5394a50510378f7 assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json +eaf46ecc8246c634d9508e68cfee01c1d966ca82 assets/twilightforest/models/item/steeleaf_chestplate_naga_scale_trim.json +fbefaab99c937819191f6a67e148756a8ccaf15d assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json +247bf1de96b15a9d24ca76574648331a4d60487e assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json +a83ae0587f90851030ba1829192ffb21efe90615 assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json +c8e2a81769167388d742aa88ba8e3dc5ef82604d assets/twilightforest/models/item/steeleaf_chestplate_resin_trim.json +0e38c26c6eb3c891a3279d0615484688a549e1a6 assets/twilightforest/models/item/steeleaf_chestplate_steeleaf_trim.json +51d3636e48d5276f0e16cec759f6bcd8899d390e assets/twilightforest/models/item/steeleaf_helmet.json +59897134819dd2ca6efd488d1475a03e8b93ef9b assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json +404d959d1b6be2febe7c0279c9a363d5da8191c5 assets/twilightforest/models/item/steeleaf_helmet_carminite_trim.json +8e038a85b96c29ffc3fc27b7eed3112431493fe0 assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json +94bd5352055715079327a2b041fc22216882eaf3 assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json +8e93b8d361e98cb6e7f154b97f3e846596153823 assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json +5ef6d577bd397ba597fe23900de6c7ba1fa1bc13 assets/twilightforest/models/item/steeleaf_helmet_fiery_trim.json +fedb8eb334da1e81c79bc556a5f7fd6ed2a752ef assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json +68c101e6ae3499ca321ca2ed75978bd0e55b9984 assets/twilightforest/models/item/steeleaf_helmet_ironwood_trim.json +2ba7e8c66222a963586878e9939d0c76d6a5c273 assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json +8136c5a2cc258c0721be5ebf01119236eec33eab assets/twilightforest/models/item/steeleaf_helmet_knightmetal_trim.json +a8642107523c8cac8db0950a44c8691903e08ef1 assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json +c82106f9676fd0a65c54fa39a4a7b9fa0f45e42f assets/twilightforest/models/item/steeleaf_helmet_naga_scale_trim.json +50feacb23ac790b800c107b150b15a43ccca172c assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json +b814167ce8a056f1384236eb06359de152f43483 assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json +c6ed75d81581efef0b10048a79d8d89b3840c3e4 assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json +d1428e7cc3400dbaff20352f6b495863157d0b22 assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json +7b9373c303e0133d7b479089caed23e6e043aaf0 assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json +4609f69a56738e2f31946d80ae0f5a79f83d4405 assets/twilightforest/models/item/steeleaf_hoe.json +63cecfaf2970cdee4821c7e5547c80d64b6e8ff1 assets/twilightforest/models/item/steeleaf_leggings.json +f32e34ce658982d3a3314fe51557aa6546d640a1 assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json +6d2e4e280cc859504dca94d45061ca73d84b48b3 assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json +6d58c87999b3c9536a496b4d6dbf9616df409924 assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json +0d46bb4df17e1f35599261148046a23dc930fa74 assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json +11e6cc9b330eebf8b935e00c30313e6946ac544e assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json +4e319f9a7d98745d1a656c2ea04e8cd8d59f7a7c assets/twilightforest/models/item/steeleaf_leggings_fiery_trim.json +e339ff9fe3dcd966b944202b4916858377374a4c assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json +f4bbc3b70224bc0b379f6bdfad93b6d96a115b66 assets/twilightforest/models/item/steeleaf_leggings_ironwood_trim.json +d3a3492ceb8e8856eec790252523fb104ff5cfde assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json +f38b10599436fbc1f97eb537bf6179e026993040 assets/twilightforest/models/item/steeleaf_leggings_knightmetal_trim.json +e0db935b8745ed1f00b12dc41b4ac26b5877f436 assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json +3cd6677493e9351607b6ee3c408992cb236da32b assets/twilightforest/models/item/steeleaf_leggings_naga_scale_trim.json +fceeae48646db095e9b9493c52fdd561d36242ec assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json +c36ec283ddca93b1873538d3460b209a4fed87fc assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json +5285e3ff056acc1b6a2be333057ca99af0b43ae9 assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json +b63ff17362d9b0bca5120b0fc39a0c1cdaeb83a5 assets/twilightforest/models/item/steeleaf_leggings_resin_trim.json +af730ef3320675a3c5db80f628d904b5c269b4a2 assets/twilightforest/models/item/steeleaf_leggings_steeleaf_trim.json +323add4d7b4a44d0b2bb6e9500ea6b449cd8fbaa assets/twilightforest/models/item/steeleaf_pickaxe.json +cc69788d326fa77606a26c669f54cebe419e3bc1 assets/twilightforest/models/item/steeleaf_shovel.json +207815171673e6652c902cbcca7a2fd42fc821e2 assets/twilightforest/models/item/steeleaf_sword.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_chest.json d18e3e48cd0ee23767355e2cb7a25c8b13abe95c assets/twilightforest/models/item/time_door.json 4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json @@ -661,7 +1215,85 @@ a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/trans 8207cd235ffd9dfcd41ce8baa38f1150f322ee25 assets/twilightforest/models/item/transformation_door.json 19c8bbc9a51cba2ab8e2d978b2a7271297e4a9a6 assets/twilightforest/models/item/transformation_sign.json a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_trapped_chest.json +02d8613dc7c502596c83d1bbc2099038e6a68787 assets/twilightforest/models/item/triple_bow.json +a01e709e7b119f1c1c6c1f19c37a45adce96fe23 assets/twilightforest/models/item/triple_bow_pulling_0.json +da8ccbaaf7197d8de6f5a670061779d6c9bd69b8 assets/twilightforest/models/item/triple_bow_pulling_1.json +1e9c9118a16e3aae53792c02900e73a27d2e8855 assets/twilightforest/models/item/triple_bow_pulling_2.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_chest.json 15ce1289e73311e1fe88fe8d113cc0529c85c95a assets/twilightforest/models/item/twilight_oak_door.json 42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_trapped_chest.json +8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json +0229fa1d67eea7895e2c8330a25b4f20cdc643f8 assets/twilightforest/models/item/yeti_boots.json +5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json +17dda45e7343e56ddf72f7dcf8734603dbae650b assets/twilightforest/models/item/yeti_boots_carminite_trim.json +09c8384ff74c47aa02cfc654357383f028e41fb3 assets/twilightforest/models/item/yeti_boots_copper_trim.json +776718d505d48d4a6f2ed32e46fbef3d40c46245 assets/twilightforest/models/item/yeti_boots_diamond_trim.json +86bf8040ff6d5a4e5a8ed5e880166e8615c7f6a3 assets/twilightforest/models/item/yeti_boots_emerald_trim.json +888d901778b6f25bccfe9d728d0eb644af809f2e assets/twilightforest/models/item/yeti_boots_fiery_trim.json +68e5d38a9fc8d49d76e0914e7b45659d4616c9a3 assets/twilightforest/models/item/yeti_boots_gold_trim.json +24209bc750a9df167f297b09bd7f842f6284d080 assets/twilightforest/models/item/yeti_boots_ironwood_trim.json +d5deba3be3957ed65a68fec313bd8251bec31424 assets/twilightforest/models/item/yeti_boots_iron_trim.json +72aa233c574e9cde563ce62f180c4958dd984fcd assets/twilightforest/models/item/yeti_boots_knightmetal_trim.json +586f4b6c5825571eecd675708b2532c5156b1c77 assets/twilightforest/models/item/yeti_boots_lapis_trim.json +0a8b25ed267813d38debdd1cc1e6a28d67bdb7c4 assets/twilightforest/models/item/yeti_boots_naga_scale_trim.json +b149ff91d459a2553cb4c33246c1a64f276547fd assets/twilightforest/models/item/yeti_boots_netherite_trim.json +999d706600701ea9440c04d1b1be2bb318dbb9fa assets/twilightforest/models/item/yeti_boots_quartz_trim.json +8a042d8aaf178a1a303fd3965ecb41715149327c assets/twilightforest/models/item/yeti_boots_redstone_trim.json +1686ab1a3c555c648207bd8506a27129d0590f7f assets/twilightforest/models/item/yeti_boots_resin_trim.json +82839f1329cbd6f40b3d1cfc508486c36726a25c assets/twilightforest/models/item/yeti_boots_steeleaf_trim.json +9951ccbf3f389ed936a081b53a96d8736f2a814b assets/twilightforest/models/item/yeti_chestplate.json +eccc22120800827b6520b0982e77c45a43c91648 assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json +c8744f236799ce453c93998af39c1ae9cbbfb499 assets/twilightforest/models/item/yeti_chestplate_carminite_trim.json +636ca7ecafcf76e1f00b8439ab3b747e94f6b498 assets/twilightforest/models/item/yeti_chestplate_copper_trim.json +79cc0be73dd168be03fac071af72a41d15746974 assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json +3fa70c13f9d5e46017496252f146fccc89653fdf assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json +766e76fee8914e638a3cff73f7c650e58dd45ac1 assets/twilightforest/models/item/yeti_chestplate_fiery_trim.json +77643a062cd22d1c9a9129ea83b476042c089fac assets/twilightforest/models/item/yeti_chestplate_gold_trim.json +dbd4ac6d61beda0158be3f0ee37d0fceafce4a56 assets/twilightforest/models/item/yeti_chestplate_ironwood_trim.json +1da476739f0697630cfb51a585a697129ef66eea assets/twilightforest/models/item/yeti_chestplate_iron_trim.json +1c611d889d5f9f3df248ab56a0874668e2dcc68f assets/twilightforest/models/item/yeti_chestplate_knightmetal_trim.json +abda4cce825aa74e20582b6930c60426ac995b7c assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json +1d4734eddd133741b574d2125142ce1d43c679bb assets/twilightforest/models/item/yeti_chestplate_naga_scale_trim.json +3e43f5babe311c2665d05d28f803b0efb1238263 assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json +8b6bf806082d0aba87060877ea1c78d8dffbcfe0 assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json +dc471213d4a31a58dde6b71648125bb882d34032 assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json +ac317cabd3715b264a8207dd5ee7b9f067c6a1c8 assets/twilightforest/models/item/yeti_chestplate_resin_trim.json +ac711a5dd23aedd32b06a391b07c27c4d133cd34 assets/twilightforest/models/item/yeti_chestplate_steeleaf_trim.json +aed3aee86c1b146b9d1da909e24a6bca1cef4a1e assets/twilightforest/models/item/yeti_helmet.json +4f64850aa1bb2117b361d961a7baae45cd304df4 assets/twilightforest/models/item/yeti_helmet_amethyst_trim.json +211b797076ddbcaada21debf88538758741b1616 assets/twilightforest/models/item/yeti_helmet_carminite_trim.json +1446c4add62cc6bfa33d3e7e0ba38b05d1f5cac4 assets/twilightforest/models/item/yeti_helmet_copper_trim.json +0c9f99451fda4674a88b2f8708f79b7d9b4fbb8d assets/twilightforest/models/item/yeti_helmet_diamond_trim.json +2bbb80e0e48a0e965dab5f400d6c8fc788b24577 assets/twilightforest/models/item/yeti_helmet_emerald_trim.json +087876b3e958fc2452f4cff3ac9caf62d69cef32 assets/twilightforest/models/item/yeti_helmet_fiery_trim.json +31467ed7fea903d61d2431c35675fe6fe2612819 assets/twilightforest/models/item/yeti_helmet_gold_trim.json +df089410860ec619a8f9ba776dd84454de8dd317 assets/twilightforest/models/item/yeti_helmet_ironwood_trim.json +9548541b5364b244be6453ab27d07942e4a979b0 assets/twilightforest/models/item/yeti_helmet_iron_trim.json +1a6dcdba9e42b2dd4efafc90d7717addbf8b5939 assets/twilightforest/models/item/yeti_helmet_knightmetal_trim.json +480a7608bc4b6434b51f6f32c3e5f8731fad719b assets/twilightforest/models/item/yeti_helmet_lapis_trim.json +3d60ce21486e8c204fc67033f9cdbd250a4d9552 assets/twilightforest/models/item/yeti_helmet_naga_scale_trim.json +50bc82e535dc1221a7fbfec684675b2bdbdfc13d assets/twilightforest/models/item/yeti_helmet_netherite_trim.json +35f2c882e3e4866b1d8b08d72226ac753f9a3e61 assets/twilightforest/models/item/yeti_helmet_quartz_trim.json +0c179e788337bbd0d6563d67605cf609ac486cb6 assets/twilightforest/models/item/yeti_helmet_redstone_trim.json +8178bf6dbf1eb9a96d503e4a8c5881eda5743607 assets/twilightforest/models/item/yeti_helmet_resin_trim.json +5b6bc179c20c1111f0ba8d08a0075d0f1ba3a4a5 assets/twilightforest/models/item/yeti_helmet_steeleaf_trim.json +c6c020c42807f56fff0147b869720987066be378 assets/twilightforest/models/item/yeti_leggings.json +a7a60597129c18ac7d60b87a01ae692b62463088 assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json +58245724735b2008a43ad6efe717d994f7409ed2 assets/twilightforest/models/item/yeti_leggings_carminite_trim.json +8a9ce556305c0f166c0573b09e05ac1d52a3835b assets/twilightforest/models/item/yeti_leggings_copper_trim.json +499502d076259165a1870ad6d6ab56415f931155 assets/twilightforest/models/item/yeti_leggings_diamond_trim.json +25f0a286e3e810b46e0c82d0b365d7425003a2c6 assets/twilightforest/models/item/yeti_leggings_emerald_trim.json +1fda8a75aae17d5e95457c15ad464eba56c9ba11 assets/twilightforest/models/item/yeti_leggings_fiery_trim.json +1938fba8d1e0136888af62aca7efadc369840b43 assets/twilightforest/models/item/yeti_leggings_gold_trim.json +211144d832ff8d371e9f9abd03ac2dbae69256ca assets/twilightforest/models/item/yeti_leggings_ironwood_trim.json +4d3af66128505f16e427ef93a20b49ace868dcca assets/twilightforest/models/item/yeti_leggings_iron_trim.json +e9be5b927088ccfe26c3fde8d0d3e948035f06cd assets/twilightforest/models/item/yeti_leggings_knightmetal_trim.json +4444a307bcfc99b5f18b8a032097e072ff1b89de assets/twilightforest/models/item/yeti_leggings_lapis_trim.json +9e2ab38cccbe63094d001f4aec1cf9fa9b00f999 assets/twilightforest/models/item/yeti_leggings_naga_scale_trim.json +0c21cdff82883e218570266a13c58bb2cb66243d assets/twilightforest/models/item/yeti_leggings_netherite_trim.json +2f16d1cb901c2ff64cf39d4173d1d2af4b57a029 assets/twilightforest/models/item/yeti_leggings_quartz_trim.json +f11a88461d365ac273c876c6fe6f25087590af6f assets/twilightforest/models/item/yeti_leggings_redstone_trim.json +710794ab9a702d0dbdca73586197b3bd868aa7c0 assets/twilightforest/models/item/yeti_leggings_resin_trim.json +f005b6b9553e9dfd7772f3132e262647c5ddd648 assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json +5c5358f8dadee7998b214b7105b8927dd6d6fcd3 assets/twilightforest/models/item/zombie_scepter.json diff --git a/src/generated/resources/assets/twilightforest/items/arctic_boots.json b/src/generated/resources/assets/twilightforest/items/arctic_boots.json new file mode 100644 index 0000000000..619acf1585 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_boots.json @@ -0,0 +1,239 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_quartz_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_iron_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_netherite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_redstone_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_copper_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_gold_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_emerald_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_diamond_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_lapis_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_amethyst_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_resin_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_ironwood_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_steeleaf_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_fiery_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_knightmetal_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_carminite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots_naga_scale_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_boots", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/arctic_chestplate.json b/src/generated/resources/assets/twilightforest/items/arctic_chestplate.json new file mode 100644 index 0000000000..ed23a49ac0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_chestplate.json @@ -0,0 +1,239 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_quartz_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_iron_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_netherite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_redstone_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_copper_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_gold_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_emerald_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_diamond_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_lapis_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_amethyst_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_resin_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_ironwood_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_steeleaf_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_fiery_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_knightmetal_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_carminite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate_naga_scale_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_chestplate", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/arctic_helmet.json b/src/generated/resources/assets/twilightforest/items/arctic_helmet.json new file mode 100644 index 0000000000..80ffd77170 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_helmet.json @@ -0,0 +1,239 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_quartz_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_iron_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_netherite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_redstone_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_copper_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_gold_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_emerald_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_diamond_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_lapis_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_amethyst_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_resin_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_ironwood_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_steeleaf_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_fiery_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_knightmetal_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_carminite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet_naga_scale_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_helmet", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/arctic_leggings.json b/src/generated/resources/assets/twilightforest/items/arctic_leggings.json new file mode 100644 index 0000000000..0375bfaf27 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_leggings.json @@ -0,0 +1,239 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_quartz_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_iron_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_netherite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_redstone_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_copper_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_gold_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_emerald_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_diamond_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_lapis_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_amethyst_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_resin_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_ironwood_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_steeleaf_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_fiery_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_knightmetal_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_carminite_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings_naga_scale_trim", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_leggings", + "tints": [ + { + "type": "minecraft:dye", + "default": -4337703 + } + ] + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/block_and_chain.json b/src/generated/resources/assets/twilightforest/items/block_and_chain.json new file mode 100644 index 0000000000..13b356889b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/block_and_chain.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/block_and_chain" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/crumble_horn.json b/src/generated/resources/assets/twilightforest/items/crumble_horn.json new file mode 100644 index 0000000000..175b472a88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/crumble_horn.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/crumble_horn" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/diamond_minotaur_axe.json b/src/generated/resources/assets/twilightforest/items/diamond_minotaur_axe.json new file mode 100644 index 0000000000..30df594e04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/diamond_minotaur_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/diamond_minotaur_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/emperors_cloth.json b/src/generated/resources/assets/twilightforest/items/emperors_cloth.json new file mode 100644 index 0000000000..e860cd948d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/emperors_cloth.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/emperors_cloth" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ender_bow.json b/src/generated/resources/assets/twilightforest/items/ender_bow.json new file mode 100644 index 0000000000..2150d73f08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ender_bow.json @@ -0,0 +1,35 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/ender_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ender_bow_pulling_1" + }, + "threshold": 0.65 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ender_bow_pulling_2" + }, + "threshold": 0.9 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ender_bow_pulling_0" + }, + "property": "minecraft:use_duration", + "scale": 0.05 + }, + "property": "minecraft:using_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_boots.json b/src/generated/resources/assets/twilightforest/items/fiery_boots.json new file mode 100644 index 0000000000..52b9df505e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_boots.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_boots" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_chestplate.json b/src/generated/resources/assets/twilightforest/items/fiery_chestplate.json new file mode 100644 index 0000000000..f3755ee4c9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_helmet.json b/src/generated/resources/assets/twilightforest/items/fiery_helmet.json new file mode 100644 index 0000000000..4bf5c31cb6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_leggings.json b/src/generated/resources/assets/twilightforest/items/fiery_leggings.json new file mode 100644 index 0000000000..4f041b009f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_pickaxe.json b/src/generated/resources/assets/twilightforest/items/fiery_pickaxe.json new file mode 100644 index 0000000000..e38d53c9fa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_sword.json b/src/generated/resources/assets/twilightforest/items/fiery_sword.json new file mode 100644 index 0000000000..144746917f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fortification_scepter.json b/src/generated/resources/assets/twilightforest/items/fortification_scepter.json new file mode 100644 index 0000000000..e832ecd527 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fortification_scepter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fortification_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_pickaxe.json b/src/generated/resources/assets/twilightforest/items/giant_pickaxe.json new file mode 100644 index 0000000000..995be90603 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_pickaxe.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/giant_pickaxe_gui" + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/giant_pickaxe" + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_sword.json b/src/generated/resources/assets/twilightforest/items/giant_sword.json new file mode 100644 index 0000000000..bcd55e095a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_sword.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/giant_sword_gui" + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/giant_sword" + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/glass_sword.json b/src/generated/resources/assets/twilightforest/items/glass_sword.json new file mode 100644 index 0000000000..bf135f86cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/glass_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/glass_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/gold_minotaur_axe.json b/src/generated/resources/assets/twilightforest/items/gold_minotaur_axe.json new file mode 100644 index 0000000000..247c7bda17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/gold_minotaur_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/gold_minotaur_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ice_bomb.json b/src/generated/resources/assets/twilightforest/items/ice_bomb.json new file mode 100644 index 0000000000..0eb97d6a4d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ice_bomb.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ice_bow.json b/src/generated/resources/assets/twilightforest/items/ice_bow.json new file mode 100644 index 0000000000..16360c22ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ice_bow.json @@ -0,0 +1,35 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_bow_pulling_1" + }, + "threshold": 0.65 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_bow_pulling_2" + }, + "threshold": 0.9 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_bow_pulling_0" + }, + "property": "minecraft:use_duration", + "scale": 0.05 + }, + "property": "minecraft:using_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ice_sword.json b/src/generated/resources/assets/twilightforest/items/ice_sword.json new file mode 100644 index 0000000000..ac33398cca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ice_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ice_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_axe.json b/src/generated/resources/assets/twilightforest/items/ironwood_axe.json new file mode 100644 index 0000000000..2e6b69cf50 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_boots.json b/src/generated/resources/assets/twilightforest/items/ironwood_boots.json new file mode 100644 index 0000000000..ac49310f54 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_boots.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_boots" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_chestplate.json b/src/generated/resources/assets/twilightforest/items/ironwood_chestplate.json new file mode 100644 index 0000000000..68c60d23ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_helmet.json b/src/generated/resources/assets/twilightforest/items/ironwood_helmet.json new file mode 100644 index 0000000000..c75264eb77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_hoe.json b/src/generated/resources/assets/twilightforest/items/ironwood_hoe.json new file mode 100644 index 0000000000..5104f7aedc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_hoe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_leggings.json b/src/generated/resources/assets/twilightforest/items/ironwood_leggings.json new file mode 100644 index 0000000000..bd9c882537 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_pickaxe.json b/src/generated/resources/assets/twilightforest/items/ironwood_pickaxe.json new file mode 100644 index 0000000000..4969b7cadd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_shovel.json b/src/generated/resources/assets/twilightforest/items/ironwood_shovel.json new file mode 100644 index 0000000000..ffff2c0548 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_shovel.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_sword.json b/src/generated/resources/assets/twilightforest/items/ironwood_sword.json new file mode 100644 index 0000000000..59402fef55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_axe.json b/src/generated/resources/assets/twilightforest/items/knightmetal_axe.json new file mode 100644 index 0000000000..c452d64678 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_boots.json b/src/generated/resources/assets/twilightforest/items/knightmetal_boots.json new file mode 100644 index 0000000000..7e63659273 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_boots.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_boots" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_chestplate.json b/src/generated/resources/assets/twilightforest/items/knightmetal_chestplate.json new file mode 100644 index 0000000000..48bcf79d40 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_helmet.json b/src/generated/resources/assets/twilightforest/items/knightmetal_helmet.json new file mode 100644 index 0000000000..ec5ed2dc3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_leggings.json b/src/generated/resources/assets/twilightforest/items/knightmetal_leggings.json new file mode 100644 index 0000000000..7113f866c9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_pickaxe.json b/src/generated/resources/assets/twilightforest/items/knightmetal_pickaxe.json new file mode 100644 index 0000000000..a3aa7817d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_sword.json b/src/generated/resources/assets/twilightforest/items/knightmetal_sword.json new file mode 100644 index 0000000000..620591cf18 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/lifedrain_scepter.json b/src/generated/resources/assets/twilightforest/items/lifedrain_scepter.json new file mode 100644 index 0000000000..bc992bfcc9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/lifedrain_scepter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/lifedrain_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mazebreaker_pickaxe.json b/src/generated/resources/assets/twilightforest/items/mazebreaker_pickaxe.json new file mode 100644 index 0000000000..515781b139 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mazebreaker_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mazebreaker_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/moon_dial.json b/src/generated/resources/assets/twilightforest/items/moon_dial.json new file mode 100644 index 0000000000..303b4e94c9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/moon_dial.json @@ -0,0 +1,148 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial" + }, + "threshold": 0.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_1" + }, + "threshold": 0.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_2" + }, + "threshold": 1.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_3" + }, + "threshold": 2.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_4" + }, + "threshold": 3.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_5" + }, + "threshold": 4.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_6" + }, + "threshold": 5.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_7" + }, + "threshold": 6.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial" + }, + "threshold": 7.5 + } + ], + "property": "minecraft:time", + "scale": 8.0, + "source": "random" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial" + }, + "threshold": 0.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_1" + }, + "threshold": 0.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_2" + }, + "threshold": 1.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_3" + }, + "threshold": 2.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_4" + }, + "threshold": 3.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_5" + }, + "threshold": 4.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_6" + }, + "threshold": 5.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial_7" + }, + "threshold": 6.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moon_dial" + }, + "threshold": 7.5 + } + ], + "property": "minecraft:time", + "scale": 8.0, + "source": "moon_phase" + }, + "property": "twilightforest:natural_dimension" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/moonworm_queen.json b/src/generated/resources/assets/twilightforest/items/moonworm_queen.json new file mode 100644 index 0000000000..54ab6cb737 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/moonworm_queen.json @@ -0,0 +1,14 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/moonworm_queen" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:item/moonworm_queen_alt" + }, + "property": "twilightforest:moonworm_queen_pulse" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_chestplate.json b/src/generated/resources/assets/twilightforest/items/naga_chestplate.json new file mode 100644 index 0000000000..2fa0f25c88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_leggings.json b/src/generated/resources/assets/twilightforest/items/naga_leggings.json new file mode 100644 index 0000000000..115d9db6e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ore_magnet.json b/src/generated/resources/assets/twilightforest/items/ore_magnet.json new file mode 100644 index 0000000000..318d0b8a56 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ore_magnet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_magnet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ore_meter.json b/src/generated/resources/assets/twilightforest/items/ore_meter.json new file mode 100644 index 0000000000..e2c24f7ccf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ore_meter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_meter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/peacock_feather_fan.json b/src/generated/resources/assets/twilightforest/items/peacock_feather_fan.json new file mode 100644 index 0000000000..e34cc47bc7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/peacock_feather_fan.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/peacock_feather_fan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/phantom_chestplate.json b/src/generated/resources/assets/twilightforest/items/phantom_chestplate.json new file mode 100644 index 0000000000..e08bcefd1e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/phantom_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/phantom_helmet.json b/src/generated/resources/assets/twilightforest/items/phantom_helmet.json new file mode 100644 index 0000000000..310a757483 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/phantom_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/phantom_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pocket_watch.json b/src/generated/resources/assets/twilightforest/items/pocket_watch.json new file mode 100644 index 0000000000..01f2f7143c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/pocket_watch.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/pocket_watch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/seeker_bow.json b/src/generated/resources/assets/twilightforest/items/seeker_bow.json new file mode 100644 index 0000000000..e2b48c68f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/seeker_bow.json @@ -0,0 +1,35 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/seeker_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/seeker_bow_pulling_1" + }, + "threshold": 0.65 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/seeker_bow_pulling_2" + }, + "threshold": 0.9 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/seeker_bow_pulling_0" + }, + "property": "minecraft:use_duration", + "scale": 0.05 + }, + "property": "minecraft:using_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_axe.json b/src/generated/resources/assets/twilightforest/items/steeleaf_axe.json new file mode 100644 index 0000000000..d201253023 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_boots.json b/src/generated/resources/assets/twilightforest/items/steeleaf_boots.json new file mode 100644 index 0000000000..614bd03ebc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_boots.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_boots" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_chestplate.json b/src/generated/resources/assets/twilightforest/items/steeleaf_chestplate.json new file mode 100644 index 0000000000..ade486b00a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_helmet.json b/src/generated/resources/assets/twilightforest/items/steeleaf_helmet.json new file mode 100644 index 0000000000..286f80a96f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_hoe.json b/src/generated/resources/assets/twilightforest/items/steeleaf_hoe.json new file mode 100644 index 0000000000..f23f2312f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_hoe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_leggings.json b/src/generated/resources/assets/twilightforest/items/steeleaf_leggings.json new file mode 100644 index 0000000000..856c01c625 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_pickaxe.json b/src/generated/resources/assets/twilightforest/items/steeleaf_pickaxe.json new file mode 100644 index 0000000000..41b1552da4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_shovel.json b/src/generated/resources/assets/twilightforest/items/steeleaf_shovel.json new file mode 100644 index 0000000000..be954f7180 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_shovel.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_sword.json b/src/generated/resources/assets/twilightforest/items/steeleaf_sword.json new file mode 100644 index 0000000000..7149115156 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/triple_bow.json b/src/generated/resources/assets/twilightforest/items/triple_bow.json new file mode 100644 index 0000000000..281f6b5521 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/triple_bow.json @@ -0,0 +1,35 @@ +{ + "model": { + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/triple_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/triple_bow_pulling_1" + }, + "threshold": 0.65 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/triple_bow_pulling_2" + }, + "threshold": 0.9 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/triple_bow_pulling_0" + }, + "property": "minecraft:use_duration", + "scale": 0.05 + }, + "property": "minecraft:using_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_scepter.json b/src/generated/resources/assets/twilightforest/items/twilight_scepter.json new file mode 100644 index 0000000000..e72c0eeee1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_scepter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yeti_boots.json b/src/generated/resources/assets/twilightforest/items/yeti_boots.json new file mode 100644 index 0000000000..51f950661b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yeti_boots.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_boots" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yeti_chestplate.json b/src/generated/resources/assets/twilightforest/items/yeti_chestplate.json new file mode 100644 index 0000000000..4a440e4241 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yeti_chestplate.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_chestplate" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yeti_helmet.json b/src/generated/resources/assets/twilightforest/items/yeti_helmet.json new file mode 100644 index 0000000000..157af153dd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yeti_helmet.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_helmet" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yeti_leggings.json b/src/generated/resources/assets/twilightforest/items/yeti_leggings.json new file mode 100644 index 0000000000..872ee72de0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yeti_leggings.json @@ -0,0 +1,131 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_quartz_trim" + }, + "when": "minecraft:quartz" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_iron_trim" + }, + "when": "minecraft:iron" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_netherite_trim" + }, + "when": "minecraft:netherite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_redstone_trim" + }, + "when": "minecraft:redstone" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_copper_trim" + }, + "when": "minecraft:copper" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_gold_trim" + }, + "when": "minecraft:gold" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_emerald_trim" + }, + "when": "minecraft:emerald" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_diamond_trim" + }, + "when": "minecraft:diamond" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_lapis_trim" + }, + "when": "minecraft:lapis" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_amethyst_trim" + }, + "when": "minecraft:amethyst" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_resin_trim" + }, + "when": "minecraft:resin" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_ironwood_trim" + }, + "when": "twilightforest:ironwood" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_steeleaf_trim" + }, + "when": "twilightforest:steeleaf" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_fiery_trim" + }, + "when": "twilightforest:fiery" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_knightmetal_trim" + }, + "when": "twilightforest:knightmetal" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_carminite_trim" + }, + "when": "twilightforest:carminite" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings_naga_scale_trim" + }, + "when": "twilightforest:naga_scale" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/yeti_leggings" + }, + "property": "minecraft:trim_material" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/zombie_scepter.json b/src/generated/resources/assets/twilightforest/items/zombie_scepter.json new file mode 100644 index 0000000000..e255a4d7cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/zombie_scepter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/zombie_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json new file mode 100644 index 0000000000..938aa56d48 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json new file mode 100644 index 0000000000..0486acd227 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_amethyst_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_carminite_trim.json new file mode 100644 index 0000000000..fc24d5b6b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_carminite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json new file mode 100644 index 0000000000..1f7b861b5d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_copper_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json new file mode 100644 index 0000000000..d1441d5b4f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_diamond_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json new file mode 100644 index 0000000000..4655aa7cba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_emerald_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_fiery_trim.json new file mode 100644 index 0000000000..e484be393b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_fiery_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json new file mode 100644 index 0000000000..e03f740adf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_gold_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json new file mode 100644 index 0000000000..5552bb7cbc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_iron_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_ironwood_trim.json new file mode 100644 index 0000000000..08a78b4a85 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_ironwood_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_knightmetal_trim.json new file mode 100644 index 0000000000..c5a07c36ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_knightmetal_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json new file mode 100644 index 0000000000..753aa68926 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_lapis_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_naga_scale_trim.json new file mode 100644 index 0000000000..2cbae2ec80 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_naga_scale_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json new file mode 100644 index 0000000000..b6db2061c8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_netherite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json new file mode 100644 index 0000000000..49f6d8b512 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_quartz_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json new file mode 100644 index 0000000000..21d9d5f120 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_redstone_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_resin_trim.json new file mode 100644 index 0000000000..1d96c26079 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_resin_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_steeleaf_trim.json new file mode 100644 index 0000000000..ac6d324f6a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_boots_steeleaf_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_boots", + "layer1": "twilightforest:item/arctic_boots_overlay", + "layer2": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json new file mode 100644 index 0000000000..8024ef2e12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..37cdb2c527 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_amethyst_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_carminite_trim.json new file mode 100644 index 0000000000..0b3221961b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_carminite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json new file mode 100644 index 0000000000..2856ba12ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_copper_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json new file mode 100644 index 0000000000..2c91e2e73e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_diamond_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json new file mode 100644 index 0000000000..15f7bb64a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_emerald_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_fiery_trim.json new file mode 100644 index 0000000000..dd7042b7ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_fiery_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json new file mode 100644 index 0000000000..017566ab5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_gold_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json new file mode 100644 index 0000000000..9c49c12e05 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_iron_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..83d568ab01 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_ironwood_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..81035fc582 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_knightmetal_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json new file mode 100644 index 0000000000..7c526bc262 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_lapis_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..4129b2cd17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_naga_scale_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json new file mode 100644 index 0000000000..5a586c8d50 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_netherite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json new file mode 100644 index 0000000000..295eb20551 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_quartz_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json new file mode 100644 index 0000000000..cc2fb4c02d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_resin_trim.json new file mode 100644 index 0000000000..a88daface5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_resin_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..3b84d7da5f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_chestplate", + "layer1": "twilightforest:item/arctic_chestplate_overlay", + "layer2": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json new file mode 100644 index 0000000000..19f4a3ba39 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json new file mode 100644 index 0000000000..8ea41c1eb1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_carminite_trim.json new file mode 100644 index 0000000000..10f39ec488 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_carminite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json new file mode 100644 index 0000000000..5c247f43be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_copper_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json new file mode 100644 index 0000000000..c9f1cf0eb8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_diamond_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json new file mode 100644 index 0000000000..40b0bf76da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_emerald_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_fiery_trim.json new file mode 100644 index 0000000000..a6a5a0b677 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_fiery_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json new file mode 100644 index 0000000000..5958d745f9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_gold_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json new file mode 100644 index 0000000000..d691f2185b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_iron_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_ironwood_trim.json new file mode 100644 index 0000000000..52bc17bf31 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_ironwood_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..d55372e5b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_knightmetal_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json new file mode 100644 index 0000000000..df67e690f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_lapis_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..c1bbd9b967 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_naga_scale_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json new file mode 100644 index 0000000000..99099d1d2b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_netherite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json new file mode 100644 index 0000000000..a26fa8d401 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_quartz_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json new file mode 100644 index 0000000000..9bdfaa8d17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_redstone_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_resin_trim.json new file mode 100644 index 0000000000..5adcd480f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_resin_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..bdf89e96fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_helmet_steeleaf_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_helmet", + "layer1": "twilightforest:item/arctic_helmet_overlay", + "layer2": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json new file mode 100644 index 0000000000..ac6526825a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json new file mode 100644 index 0000000000..205587248e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_amethyst_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_carminite_trim.json new file mode 100644 index 0000000000..dfd3bdb4c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_carminite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json new file mode 100644 index 0000000000..a0f896a454 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_copper_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json new file mode 100644 index 0000000000..cfa97cc97a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_diamond_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json new file mode 100644 index 0000000000..d5661dc13c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_emerald_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_fiery_trim.json new file mode 100644 index 0000000000..acb83ea8f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_fiery_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json new file mode 100644 index 0000000000..3b12c29261 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_gold_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json new file mode 100644 index 0000000000..cf56a9a50a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_iron_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_ironwood_trim.json new file mode 100644 index 0000000000..73ff6a2dd9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_ironwood_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..6bd504e3d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_knightmetal_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json new file mode 100644 index 0000000000..343f7289b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_lapis_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..cc276fd6bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_naga_scale_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json new file mode 100644 index 0000000000..6242f6e367 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_netherite_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json new file mode 100644 index 0000000000..88b85c2b50 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_quartz_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json new file mode 100644 index 0000000000..7a7bd976f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_redstone_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_resin_trim.json new file mode 100644 index 0000000000..a6136a525a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_resin_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..9954d388a3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_leggings", + "layer1": "twilightforest:item/arctic_leggings_overlay", + "layer2": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json new file mode 100644 index 0000000000..45e252827b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/block_and_chain" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json b/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json new file mode 100644 index 0000000000..4ba8ff0f16 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/crumble_horn" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json b/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json new file mode 100644 index 0000000000..b754381b6c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/diamond_minotaur_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/diamond_minotaur_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json b/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json new file mode 100644 index 0000000000..7b378bf6c4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/emperors_cloth.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/emperors_cloth" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow.json new file mode 100644 index 0000000000..1c6a370af6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ender_bow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ender_bow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json new file mode 100644 index 0000000000..69140d3a11 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ender_bow_pulling_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json new file mode 100644 index 0000000000..4b1722f7c4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ender_bow_pulling_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json new file mode 100644 index 0000000000..678c85407d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ender_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ender_bow_pulling_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json new file mode 100644 index 0000000000..4dfc0d5c70 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json new file mode 100644 index 0000000000..b92b9c8115 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_carminite_trim.json new file mode 100644 index 0000000000..c22a4f8ecf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json new file mode 100644 index 0000000000..9c821fcffc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json new file mode 100644 index 0000000000..d97eed0d23 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json new file mode 100644 index 0000000000..e5954b3699 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_fiery_trim.json new file mode 100644 index 0000000000..a5c30915b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json new file mode 100644 index 0000000000..403be32f30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json new file mode 100644 index 0000000000..eb2d07f6ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_ironwood_trim.json new file mode 100644 index 0000000000..93a23fae60 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_knightmetal_trim.json new file mode 100644 index 0000000000..8ff9b77783 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json new file mode 100644 index 0000000000..81eb533cd7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_naga_scale_trim.json new file mode 100644 index 0000000000..7b5ab5355b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json new file mode 100644 index 0000000000..0e2fbf3012 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json new file mode 100644 index 0000000000..86e88fe702 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json new file mode 100644 index 0000000000..d3101123b5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_resin_trim.json new file mode 100644 index 0000000000..fb3c6ffbab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_steeleaf_trim.json new file mode 100644 index 0000000000..7b96d0a681 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_boots_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_boots", + "layer1": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json new file mode 100644 index 0000000000..b591a5bc77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..be1a96915f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_carminite_trim.json new file mode 100644 index 0000000000..6733a5e86c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json new file mode 100644 index 0000000000..23db461001 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json new file mode 100644 index 0000000000..9984b0039e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json new file mode 100644 index 0000000000..8a7848c2f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_fiery_trim.json new file mode 100644 index 0000000000..d341b38a3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json new file mode 100644 index 0000000000..b2f355f390 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json new file mode 100644 index 0000000000..385b273d52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..e3ca2c1825 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..f2f9d577c8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json new file mode 100644 index 0000000000..09ba341d71 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..a3984cb2a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json new file mode 100644 index 0000000000..63ffcf28c8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json new file mode 100644 index 0000000000..55f025b68b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json new file mode 100644 index 0000000000..bcc020083b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_resin_trim.json new file mode 100644 index 0000000000..bf992cc1ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..26ac3daeb0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json new file mode 100644 index 0000000000..b5a744be21 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json new file mode 100644 index 0000000000..9502383b5d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_carminite_trim.json new file mode 100644 index 0000000000..882993eaa2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json new file mode 100644 index 0000000000..ad0a29db37 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json new file mode 100644 index 0000000000..acc9535c6b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json new file mode 100644 index 0000000000..a8771c449f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_fiery_trim.json new file mode 100644 index 0000000000..fec4fbd889 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json new file mode 100644 index 0000000000..a20577e522 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json new file mode 100644 index 0000000000..0a33fb3175 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_ironwood_trim.json new file mode 100644 index 0000000000..0d81c2cce0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..3a9eec8d5f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json new file mode 100644 index 0000000000..93c1cd3697 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..7a57417534 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json new file mode 100644 index 0000000000..77612570a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json new file mode 100644 index 0000000000..fd2ad84bfa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json new file mode 100644 index 0000000000..553a26dcd0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_resin_trim.json new file mode 100644 index 0000000000..eb92261d82 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..9e1d238400 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json new file mode 100644 index 0000000000..9da52d9b3b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json new file mode 100644 index 0000000000..a26e7917ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_carminite_trim.json new file mode 100644 index 0000000000..05b81c6b9f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json new file mode 100644 index 0000000000..2372d1b399 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json new file mode 100644 index 0000000000..52b31e1356 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json new file mode 100644 index 0000000000..99b2295256 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_fiery_trim.json new file mode 100644 index 0000000000..775b8eb18b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json new file mode 100644 index 0000000000..d57c4d9cde --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json new file mode 100644 index 0000000000..fe58a6b6b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_ironwood_trim.json new file mode 100644 index 0000000000..5fcae64c4d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..b4eeac7b68 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json new file mode 100644 index 0000000000..d43d75f0fa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..a07a2e04f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json new file mode 100644 index 0000000000..ab2cc72a13 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json new file mode 100644 index 0000000000..ddccbf29c3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json new file mode 100644 index 0000000000..e5686df118 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_resin_trim.json new file mode 100644 index 0000000000..92c7f44dd3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..8ffbec9020 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json new file mode 100644 index 0000000000..a9845be9f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/fiery_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json b/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json new file mode 100644 index 0000000000..666805616d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/fiery_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json b/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json new file mode 100644 index 0000000000..6840716034 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fortification_scepter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/fortification_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json new file mode 100644 index 0000000000..e79e76f5df --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/giant_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/giant_tool_base", + "textures": { + "layer0": "minecraft:item/stone_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/giant_sword.json b/src/generated/resources/assets/twilightforest/models/item/giant_sword.json new file mode 100644 index 0000000000..c6b119f454 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/giant_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/giant_tool_base", + "textures": { + "layer0": "minecraft:item/stone_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/glass_sword.json b/src/generated/resources/assets/twilightforest/models/item/glass_sword.json new file mode 100644 index 0000000000..c1676fbbe7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/glass_sword.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/glass_sword_solid", + "layer1": "twilightforest:item/glass_sword_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json b/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json new file mode 100644 index 0000000000..398d9eab7c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/gold_minotaur_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/gold_minotaur_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json b/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json new file mode 100644 index 0000000000..63ccea02f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bomb.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ice_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow.json new file mode 100644 index 0000000000..58be024505 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ice_bow_solid", + "layer1": "twilightforest:item/ice_bow_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json new file mode 100644 index 0000000000..58be024505 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ice_bow_solid", + "layer1": "twilightforest:item/ice_bow_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json new file mode 100644 index 0000000000..58be024505 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ice_bow_solid", + "layer1": "twilightforest:item/ice_bow_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json new file mode 100644 index 0000000000..58be024505 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/ice_bow_solid", + "layer1": "twilightforest:item/ice_bow_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_sword.json b/src/generated/resources/assets/twilightforest/models/item/ice_sword.json new file mode 100644 index 0000000000..77713e7af3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ice_sword.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ice_sword_solid", + "layer1": "twilightforest:item/ice_sword_clear" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json new file mode 100644 index 0000000000..518207c3ca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ironwood_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json new file mode 100644 index 0000000000..f1fbecbc03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json new file mode 100644 index 0000000000..a3cb53e831 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_carminite_trim.json new file mode 100644 index 0000000000..878d2c31cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json new file mode 100644 index 0000000000..9f19fcb7c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json new file mode 100644 index 0000000000..a3422524ec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json new file mode 100644 index 0000000000..286c06cac3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_fiery_trim.json new file mode 100644 index 0000000000..bccd4c4669 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json new file mode 100644 index 0000000000..74c3e1f871 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json new file mode 100644 index 0000000000..b1566fc4a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_ironwood_trim.json new file mode 100644 index 0000000000..3ed11f0304 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_knightmetal_trim.json new file mode 100644 index 0000000000..e024eccc59 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json new file mode 100644 index 0000000000..a856d0fef5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_naga_scale_trim.json new file mode 100644 index 0000000000..ab81bb63ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json new file mode 100644 index 0000000000..12efd2eef1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json new file mode 100644 index 0000000000..0b1f91c323 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json new file mode 100644 index 0000000000..8de3a6f38f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_resin_trim.json new file mode 100644 index 0000000000..9dab1fb839 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_steeleaf_trim.json new file mode 100644 index 0000000000..75d08edfc2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_boots_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_boots", + "layer1": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json new file mode 100644 index 0000000000..911ee165cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..9cf5b429f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_carminite_trim.json new file mode 100644 index 0000000000..95110487f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json new file mode 100644 index 0000000000..4b11a7ac6f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json new file mode 100644 index 0000000000..1a41cefc23 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json new file mode 100644 index 0000000000..a55e4e4d80 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_fiery_trim.json new file mode 100644 index 0000000000..16b9fb9b37 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json new file mode 100644 index 0000000000..0810631987 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json new file mode 100644 index 0000000000..d75e81dac1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..a44effdd87 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..bc458873f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json new file mode 100644 index 0000000000..a0512dffb1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..d02c284258 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json new file mode 100644 index 0000000000..118acd0c04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json new file mode 100644 index 0000000000..ba896cdf21 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json new file mode 100644 index 0000000000..7d9fbeec55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_resin_trim.json new file mode 100644 index 0000000000..5e5ed7fcbf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..031aa4aef4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json new file mode 100644 index 0000000000..1e9ab12177 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json new file mode 100644 index 0000000000..e55f3d089d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_carminite_trim.json new file mode 100644 index 0000000000..3eb4077666 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json new file mode 100644 index 0000000000..05bf9a96e0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json new file mode 100644 index 0000000000..5010c25973 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json new file mode 100644 index 0000000000..53b1fd3ebf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_fiery_trim.json new file mode 100644 index 0000000000..26fa7e6ea1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json new file mode 100644 index 0000000000..021b8245b7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json new file mode 100644 index 0000000000..caa19cfea8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_ironwood_trim.json new file mode 100644 index 0000000000..d2afd479f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..a67396e851 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json new file mode 100644 index 0000000000..2812015ced --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..8624ddfcb1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json new file mode 100644 index 0000000000..154ec6a9c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json new file mode 100644 index 0000000000..0af405c45a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json new file mode 100644 index 0000000000..01072ffbdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_resin_trim.json new file mode 100644 index 0000000000..b96a61d4f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..e5ffe89c7f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json new file mode 100644 index 0000000000..9dc869efa4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ironwood_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json new file mode 100644 index 0000000000..79bf9da4cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json new file mode 100644 index 0000000000..705165f97f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json new file mode 100644 index 0000000000..d9023ee3d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json new file mode 100644 index 0000000000..1cc31ce88c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json new file mode 100644 index 0000000000..3744435037 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json new file mode 100644 index 0000000000..11f71b4320 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_fiery_trim.json new file mode 100644 index 0000000000..10feb2b160 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json new file mode 100644 index 0000000000..959ca97559 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json new file mode 100644 index 0000000000..dae8d92060 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_ironwood_trim.json new file mode 100644 index 0000000000..a75cc0cfea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..93988fed9c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json new file mode 100644 index 0000000000..840ee5fb36 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..5edab79949 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json new file mode 100644 index 0000000000..ff71c12bf2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json new file mode 100644 index 0000000000..b16f57b6d2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json new file mode 100644 index 0000000000..3944dc13ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_resin_trim.json new file mode 100644 index 0000000000..0e1096a3b7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..0320bfad0d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json new file mode 100644 index 0000000000..2dae6dafa0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ironwood_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json new file mode 100644 index 0000000000..b8cb8ae9ca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ironwood_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json new file mode 100644 index 0000000000..8b7aa4351d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ironwood_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json new file mode 100644 index 0000000000..90ba49cf41 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/knightmetal_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json new file mode 100644 index 0000000000..138688dc88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json new file mode 100644 index 0000000000..067dadbcde --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_carminite_trim.json new file mode 100644 index 0000000000..4e9cb18c6c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json new file mode 100644 index 0000000000..a36b5a370c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json new file mode 100644 index 0000000000..947ed7b5d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json new file mode 100644 index 0000000000..66d27e15f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_fiery_trim.json new file mode 100644 index 0000000000..0c43083b5d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json new file mode 100644 index 0000000000..350adb97d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json new file mode 100644 index 0000000000..3373f488bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_ironwood_trim.json new file mode 100644 index 0000000000..d881a671ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_knightmetal_trim.json new file mode 100644 index 0000000000..b32a031164 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json new file mode 100644 index 0000000000..58b9f0f72f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_naga_scale_trim.json new file mode 100644 index 0000000000..c815f0bd67 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json new file mode 100644 index 0000000000..19fb4c9f2a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json new file mode 100644 index 0000000000..0fad5a2ac4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json new file mode 100644 index 0000000000..d27c6a1fef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_resin_trim.json new file mode 100644 index 0000000000..89f58822fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_steeleaf_trim.json new file mode 100644 index 0000000000..3e564435c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_boots_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_boots", + "layer1": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json new file mode 100644 index 0000000000..5cd25f0fac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..4dbbc24cda --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_carminite_trim.json new file mode 100644 index 0000000000..47e4b69749 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json new file mode 100644 index 0000000000..5588afb94a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json new file mode 100644 index 0000000000..61f864ef34 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json new file mode 100644 index 0000000000..c60a7ca364 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_fiery_trim.json new file mode 100644 index 0000000000..ede23fff30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json new file mode 100644 index 0000000000..49a2e34800 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json new file mode 100644 index 0000000000..a9ceebd289 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..ff9249a320 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..66e8c865c6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json new file mode 100644 index 0000000000..0d1d5832cb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..adea8b2994 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json new file mode 100644 index 0000000000..79e6b65d1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json new file mode 100644 index 0000000000..a832c7b304 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json new file mode 100644 index 0000000000..e337777ef2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_resin_trim.json new file mode 100644 index 0000000000..93b78db533 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..c49b1d8bb2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json new file mode 100644 index 0000000000..110687d977 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json new file mode 100644 index 0000000000..786364fbc2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_carminite_trim.json new file mode 100644 index 0000000000..b656e04d62 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json new file mode 100644 index 0000000000..982739b32a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json new file mode 100644 index 0000000000..b865494b2c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json new file mode 100644 index 0000000000..1e0fe9aa59 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_fiery_trim.json new file mode 100644 index 0000000000..e1ea722eb8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json new file mode 100644 index 0000000000..8332a932ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json new file mode 100644 index 0000000000..42131e2267 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_ironwood_trim.json new file mode 100644 index 0000000000..5e84a899c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..c4b0246d8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json new file mode 100644 index 0000000000..2a9973110c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..e073d02c51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json new file mode 100644 index 0000000000..dc71b4cb2b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json new file mode 100644 index 0000000000..7665af359e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json new file mode 100644 index 0000000000..31897f33d9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json new file mode 100644 index 0000000000..2f6da22d3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..542e9d03aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json new file mode 100644 index 0000000000..0075a2ec83 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json new file mode 100644 index 0000000000..5f89cb1482 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json new file mode 100644 index 0000000000..7d90b11b31 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json new file mode 100644 index 0000000000..3e9526260b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json new file mode 100644 index 0000000000..3ac541fe49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json new file mode 100644 index 0000000000..a60dac7f71 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_fiery_trim.json new file mode 100644 index 0000000000..788fab0af0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json new file mode 100644 index 0000000000..da00d5921b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json new file mode 100644 index 0000000000..d215d225bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_ironwood_trim.json new file mode 100644 index 0000000000..9e44002e15 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..e41547d774 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json new file mode 100644 index 0000000000..279949a90d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..928c89b864 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json new file mode 100644 index 0000000000..1524d2c74b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json new file mode 100644 index 0000000000..bd4ff2b388 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json new file mode 100644 index 0000000000..22b7e3798d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json new file mode 100644 index 0000000000..bd7fb13e49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..8e450f487b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json new file mode 100644 index 0000000000..23929bc4dd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/knightmetal_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json new file mode 100644 index 0000000000..f59104c8db --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/knightmetal_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json b/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json new file mode 100644 index 0000000000..08a8b5ff9b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/lifedrain_scepter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/lifedrain_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json new file mode 100644 index 0000000000..8976a5a1a0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mazebreaker_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/mazebreaker_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial.json new file mode 100644 index 0000000000..2ce59c65c0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_1.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_1.json new file mode 100644 index 0000000000..bfe4d879fd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_1.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_2.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_2.json new file mode 100644 index 0000000000..78ab2dfa44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_2.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_3.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_3.json new file mode 100644 index 0000000000..bb97e280f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_3.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_4.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_4.json new file mode 100644 index 0000000000..30243ffd7d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_4.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_5.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_5.json new file mode 100644 index 0000000000..e826730533 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_5.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_6.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_6.json new file mode 100644 index 0000000000..3e38c081a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_6.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moon_dial_7.json b/src/generated/resources/assets/twilightforest/models/item/moon_dial_7.json new file mode 100644 index 0000000000..c481842be1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moon_dial_7.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/moon_dial_template", + "textures": { + "layer0": "twilightforest:item/moon_dial_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json new file mode 100644 index 0000000000..a8e23e699c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/moonworm_queen" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json new file mode 100644 index 0000000000..cfb1d0daaa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moonworm_queen_alt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/moonworm_queen_alt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json new file mode 100644 index 0000000000..c94482aaa9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..f89eb959ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_carminite_trim.json new file mode 100644 index 0000000000..4e1621448b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_copper_trim.json new file mode 100644 index 0000000000..e8a3dba0f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_diamond_trim.json new file mode 100644 index 0000000000..5940719aaf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_emerald_trim.json new file mode 100644 index 0000000000..0713f8c970 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_fiery_trim.json new file mode 100644 index 0000000000..71fa3d2727 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_gold_trim.json new file mode 100644 index 0000000000..b1ae8e3afd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_iron_trim.json new file mode 100644 index 0000000000..ad949c91b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..e2681c1f59 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..ca9dcc5403 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_lapis_trim.json new file mode 100644 index 0000000000..7a4d6dca6b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..a68897f9f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_netherite_trim.json new file mode 100644 index 0000000000..8e2dc03817 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_quartz_trim.json new file mode 100644 index 0000000000..d8c0781c2c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_redstone_trim.json new file mode 100644 index 0000000000..493c6fbbb6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_resin_trim.json new file mode 100644 index 0000000000..2920820158 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..e4d24a0dac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json new file mode 100644 index 0000000000..30014e2e78 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_amethyst_trim.json new file mode 100644 index 0000000000..7d33bdcb5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_carminite_trim.json new file mode 100644 index 0000000000..8efde013cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_copper_trim.json new file mode 100644 index 0000000000..858e1d7576 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_diamond_trim.json new file mode 100644 index 0000000000..d1cdfe4ba2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_emerald_trim.json new file mode 100644 index 0000000000..e9b6a7f73f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_fiery_trim.json new file mode 100644 index 0000000000..1bc56ecd0a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_gold_trim.json new file mode 100644 index 0000000000..02be91b8d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_iron_trim.json new file mode 100644 index 0000000000..86556ed060 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_ironwood_trim.json new file mode 100644 index 0000000000..1e3cca54bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..25dc9cc35c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_lapis_trim.json new file mode 100644 index 0000000000..e2a5ab14d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..9c9ec504c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_netherite_trim.json new file mode 100644 index 0000000000..675c990677 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_quartz_trim.json new file mode 100644 index 0000000000..e1d6c261aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_redstone_trim.json new file mode 100644 index 0000000000..69462e0951 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_resin_trim.json new file mode 100644 index 0000000000..ccd0991077 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..5829290ba5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json new file mode 100644 index 0000000000..afd5f03d95 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/ore_magnet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_meter.json b/src/generated/resources/assets/twilightforest/models/item/ore_meter.json new file mode 100644 index 0000000000..49717de4b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_meter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ore_meter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json b/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json new file mode 100644 index 0000000000..ce05d5def2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/peacock_feather_fan.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/peacock_feather_fan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json new file mode 100644 index 0000000000..e8617d1784 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..182741d427 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_carminite_trim.json new file mode 100644 index 0000000000..2a710f1079 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json new file mode 100644 index 0000000000..88ada7b313 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json new file mode 100644 index 0000000000..91d9f55c46 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json new file mode 100644 index 0000000000..4407247142 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_fiery_trim.json new file mode 100644 index 0000000000..a3f61aa709 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json new file mode 100644 index 0000000000..3b21017ca7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json new file mode 100644 index 0000000000..836a41b25f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..94f4db556c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..1d8ebdc48f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json new file mode 100644 index 0000000000..847bd68c8e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..16ac3f22be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json new file mode 100644 index 0000000000..469dc79011 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json new file mode 100644 index 0000000000..a09e4c98a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json new file mode 100644 index 0000000000..47c81231ac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_resin_trim.json new file mode 100644 index 0000000000..1ed48840f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..f345fb7f17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json new file mode 100644 index 0000000000..6a1d33a4d3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json new file mode 100644 index 0000000000..8a9ac05a04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_carminite_trim.json new file mode 100644 index 0000000000..a55367fca0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json new file mode 100644 index 0000000000..ca5581c3ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json new file mode 100644 index 0000000000..2172c269a1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json new file mode 100644 index 0000000000..d76c9c4448 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_fiery_trim.json new file mode 100644 index 0000000000..8523c42a51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json new file mode 100644 index 0000000000..1f5d10ddfc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json new file mode 100644 index 0000000000..49080fdfd0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_ironwood_trim.json new file mode 100644 index 0000000000..2afadb37eb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..bd7715ed9d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json new file mode 100644 index 0000000000..4eb918e879 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..69b97f51af --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json new file mode 100644 index 0000000000..4eb1c5bfdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json new file mode 100644 index 0000000000..78a00cc196 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json new file mode 100644 index 0000000000..1cb81b7dc5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_resin_trim.json new file mode 100644 index 0000000000..3a4b5fa278 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..828a528111 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/phantom_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json b/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json new file mode 100644 index 0000000000..2a34675bf5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/pocket_watch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/pocket_watch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json new file mode 100644 index 0000000000..1012d076a4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/seeker_bow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/seeker_bow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json new file mode 100644 index 0000000000..95d134e8a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/seeker_bow_pulling_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json new file mode 100644 index 0000000000..9419e40330 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/seeker_bow_pulling_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json new file mode 100644 index 0000000000..1b41b13dd6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/seeker_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/seeker_bow_pulling_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json new file mode 100644 index 0000000000..57f40a805b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/steeleaf_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json new file mode 100644 index 0000000000..12e9311712 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json new file mode 100644 index 0000000000..10bf8234ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_carminite_trim.json new file mode 100644 index 0000000000..7e0762dad8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json new file mode 100644 index 0000000000..112014adf3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json new file mode 100644 index 0000000000..88242d99ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json new file mode 100644 index 0000000000..211ed27f72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_fiery_trim.json new file mode 100644 index 0000000000..e89e5bb2a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json new file mode 100644 index 0000000000..a76781ee56 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json new file mode 100644 index 0000000000..5f205332f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_ironwood_trim.json new file mode 100644 index 0000000000..6457b70d27 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_knightmetal_trim.json new file mode 100644 index 0000000000..0617adb8df --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json new file mode 100644 index 0000000000..42b1674efa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_naga_scale_trim.json new file mode 100644 index 0000000000..0603f47b24 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json new file mode 100644 index 0000000000..19679e09df --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json new file mode 100644 index 0000000000..37281dffdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json new file mode 100644 index 0000000000..82492733a3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_resin_trim.json new file mode 100644 index 0000000000..decb9e6f23 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_steeleaf_trim.json new file mode 100644 index 0000000000..3cfd76db4c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_boots_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_boots", + "layer1": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json new file mode 100644 index 0000000000..98e2d2ebca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..e01e85bbb5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_carminite_trim.json new file mode 100644 index 0000000000..27e74804e4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json new file mode 100644 index 0000000000..1286075c8b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json new file mode 100644 index 0000000000..b14bc5fafd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json new file mode 100644 index 0000000000..00f0b8e1ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_fiery_trim.json new file mode 100644 index 0000000000..33bfcb9aa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json new file mode 100644 index 0000000000..27749e7449 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json new file mode 100644 index 0000000000..066b03a54b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..11ecccb534 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..59d0671f24 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json new file mode 100644 index 0000000000..4426e88e52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..3ec8453ac4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json new file mode 100644 index 0000000000..3063baa7d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json new file mode 100644 index 0000000000..f1f1409f99 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json new file mode 100644 index 0000000000..708e9e1a4e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_resin_trim.json new file mode 100644 index 0000000000..bf0b185872 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..618d962f2c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json new file mode 100644 index 0000000000..c1e1a8d745 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json new file mode 100644 index 0000000000..cc206bd1a0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_carminite_trim.json new file mode 100644 index 0000000000..3baffb471a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json new file mode 100644 index 0000000000..d2641ee9f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json new file mode 100644 index 0000000000..20f269e915 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json new file mode 100644 index 0000000000..4b2893a060 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_fiery_trim.json new file mode 100644 index 0000000000..e543198e82 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json new file mode 100644 index 0000000000..2eaa73115f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json new file mode 100644 index 0000000000..14a2ea24f1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_ironwood_trim.json new file mode 100644 index 0000000000..4e88619094 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..42692afd31 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json new file mode 100644 index 0000000000..b1d7e11e13 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..510120ff66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json new file mode 100644 index 0000000000..15f93e5752 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json new file mode 100644 index 0000000000..e977960103 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json new file mode 100644 index 0000000000..1e69a2ecb4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json new file mode 100644 index 0000000000..ac01cb1a86 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..ba5947ffb4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json new file mode 100644 index 0000000000..6ef48388a3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/steeleaf_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json new file mode 100644 index 0000000000..11f4fdda54 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json new file mode 100644 index 0000000000..0b26ad3d5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json new file mode 100644 index 0000000000..46fcb174af --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json new file mode 100644 index 0000000000..f37d950bb1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json new file mode 100644 index 0000000000..0da8028747 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json new file mode 100644 index 0000000000..4023b2eeb7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_fiery_trim.json new file mode 100644 index 0000000000..dabb8dcea4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json new file mode 100644 index 0000000000..e74f2cdce9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json new file mode 100644 index 0000000000..82e5d8d8c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_ironwood_trim.json new file mode 100644 index 0000000000..895620d98d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..aac727c532 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json new file mode 100644 index 0000000000..c14dd435eb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..e860c45468 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json new file mode 100644 index 0000000000..fc89f04be4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json new file mode 100644 index 0000000000..f2d170dcc1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json new file mode 100644 index 0000000000..759f762523 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_resin_trim.json new file mode 100644 index 0000000000..f17f820f81 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..d63d43e0ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json new file mode 100644 index 0000000000..3948d038d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/steeleaf_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json new file mode 100644 index 0000000000..0386f9464a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/steeleaf_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json new file mode 100644 index 0000000000..d48523092c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/steeleaf_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow.json new file mode 100644 index 0000000000..f1ba17049f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/triple_bow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/triple_bow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json new file mode 100644 index 0000000000..f55d9524a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/triple_bow_pulling_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json new file mode 100644 index 0000000000..71bf85898b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/triple_bow_pulling_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json new file mode 100644 index 0000000000..91abffa3eb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/triple_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/bow", + "textures": { + "layer0": "twilightforest:item/triple_bow_pulling_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json b/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json new file mode 100644 index 0000000000..f072865113 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/twilight_scepter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/twilight_scepter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json new file mode 100644 index 0000000000..74be518d1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json new file mode 100644 index 0000000000..4f5a7ce7ad --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_carminite_trim.json new file mode 100644 index 0000000000..51ff2fc99a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json new file mode 100644 index 0000000000..ba5fd3d6ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json new file mode 100644 index 0000000000..e32c572815 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json new file mode 100644 index 0000000000..6ba392fe44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_fiery_trim.json new file mode 100644 index 0000000000..8c4ea170fc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json new file mode 100644 index 0000000000..fd0b21f5d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json new file mode 100644 index 0000000000..c89b22db88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_ironwood_trim.json new file mode 100644 index 0000000000..a98cd1af8a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_knightmetal_trim.json new file mode 100644 index 0000000000..40e5accb4c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json new file mode 100644 index 0000000000..c1f05e9fe2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_naga_scale_trim.json new file mode 100644 index 0000000000..1a6c11071c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json new file mode 100644 index 0000000000..e0a6b14a8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json new file mode 100644 index 0000000000..431a97051a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json new file mode 100644 index 0000000000..af8b7e9567 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_resin_trim.json new file mode 100644 index 0000000000..e6f5d405ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_boots_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_steeleaf_trim.json new file mode 100644 index 0000000000..a281c22c54 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_boots_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_boots", + "layer1": "minecraft:trims/items/boots_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json new file mode 100644 index 0000000000..6197784750 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json new file mode 100644 index 0000000000..4c02beaa50 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_carminite_trim.json new file mode 100644 index 0000000000..72c68ddebb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json new file mode 100644 index 0000000000..83903424f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json new file mode 100644 index 0000000000..5040b7b545 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json new file mode 100644 index 0000000000..2450260eea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_fiery_trim.json new file mode 100644 index 0000000000..13faad470c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json new file mode 100644 index 0000000000..de3776e6d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json new file mode 100644 index 0000000000..195badde75 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_ironwood_trim.json new file mode 100644 index 0000000000..8b542b13a1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_knightmetal_trim.json new file mode 100644 index 0000000000..70915f86e7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json new file mode 100644 index 0000000000..717a2decc6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_naga_scale_trim.json new file mode 100644 index 0000000000..7f974a9036 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json new file mode 100644 index 0000000000..fcead17306 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json new file mode 100644 index 0000000000..f9d0e31e63 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json new file mode 100644 index 0000000000..6558a044b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_resin_trim.json new file mode 100644 index 0000000000..64a2530422 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_steeleaf_trim.json new file mode 100644 index 0000000000..00bded1542 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_chestplate_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_chestplate", + "layer1": "minecraft:trims/items/chestplate_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json new file mode 100644 index 0000000000..a1b7a3c4e9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_amethyst_trim.json new file mode 100644 index 0000000000..e35c06bf0e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_carminite_trim.json new file mode 100644 index 0000000000..b92be1a02c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_copper_trim.json new file mode 100644 index 0000000000..dbd23482f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_diamond_trim.json new file mode 100644 index 0000000000..ac252b5cbf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_emerald_trim.json new file mode 100644 index 0000000000..25ba0c0da7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_fiery_trim.json new file mode 100644 index 0000000000..28f3fa0096 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_gold_trim.json new file mode 100644 index 0000000000..a637b328af --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_iron_trim.json new file mode 100644 index 0000000000..9e885b5b09 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_ironwood_trim.json new file mode 100644 index 0000000000..d82c97cbe0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_knightmetal_trim.json new file mode 100644 index 0000000000..3c642003bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_lapis_trim.json new file mode 100644 index 0000000000..04c9e38204 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_naga_scale_trim.json new file mode 100644 index 0000000000..a20a58bf43 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_netherite_trim.json new file mode 100644 index 0000000000..54097b0be9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_quartz_trim.json new file mode 100644 index 0000000000..48e9c9e603 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_redstone_trim.json new file mode 100644 index 0000000000..d609f40494 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_resin_trim.json new file mode 100644 index 0000000000..8497547c87 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_steeleaf_trim.json new file mode 100644 index 0000000000..8cb59f98df --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_helmet_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_helmet", + "layer1": "minecraft:trims/items/helmet_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json new file mode 100644 index 0000000000..b78efdd8c6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json new file mode 100644 index 0000000000..f21504ebc6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_amethyst_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_carminite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_carminite_trim.json new file mode 100644 index 0000000000..9b9d832d28 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_carminite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json new file mode 100644 index 0000000000..7fe3b2162f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_copper_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_copper" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json new file mode 100644 index 0000000000..597b6ed85c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_diamond_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_diamond" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json new file mode 100644 index 0000000000..c6ccb584fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_emerald_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_emerald" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_fiery_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_fiery_trim.json new file mode 100644 index 0000000000..b2b9b50c8d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_fiery_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_fiery" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json new file mode 100644 index 0000000000..cc0784358a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_gold_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json new file mode 100644 index 0000000000..1e7569959c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_iron_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_ironwood_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_ironwood_trim.json new file mode 100644 index 0000000000..aaf2142403 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_ironwood_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_knightmetal_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_knightmetal_trim.json new file mode 100644 index 0000000000..678dd89ce7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_knightmetal_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_knightmetal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json new file mode 100644 index 0000000000..f9b7f17d8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_lapis_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_lapis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_naga_scale_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_naga_scale_trim.json new file mode 100644 index 0000000000..12dea4489d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_naga_scale_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json new file mode 100644 index 0000000000..ba45793d40 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_netherite_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json new file mode 100644 index 0000000000..26c5c66109 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_quartz_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_quartz" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json new file mode 100644 index 0000000000..095852012f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_redstone_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_redstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_resin_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_resin_trim.json new file mode 100644 index 0000000000..65a2537666 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_resin_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_resin" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json new file mode 100644 index 0000000000..8d1b508b19 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/yeti_leggings", + "layer1": "minecraft:trims/items/leggings_trim_steeleaf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json b/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json new file mode 100644 index 0000000000..a9d32593d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/zombie_scepter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/zombie_scepter" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/event/ClientEvents.java b/src/main/java/twilightforest/client/event/ClientEvents.java index c467ecf92e..e5e9f18845 100644 --- a/src/main/java/twilightforest/client/event/ClientEvents.java +++ b/src/main/java/twilightforest/client/event/ClientEvents.java @@ -317,12 +317,12 @@ private static void updateBowFOV(ComputeFovModifierEvent event) { } private static void unrenderHeadWithTrophies(RenderLivingEvent.Pre event) { - boolean visible = event.getRenderState().getRenderDataOrDefault(HEAD_KEY, false); + boolean visible = !event.getRenderState().getRenderDataOrDefault(HEAD_KEY, false); boolean isPlayer = event.getRenderState() instanceof PlayerRenderState; if (event.getRenderer().getModel() instanceof HeadedModel headedModel) { - headedModel.getHead().visible = visible && (!isPlayer || headedModel.getHead().visible); // some mods like Better Combat can move player's head and hide it in the first person view + headedModel.getHead().visible = visible && (isPlayer || headedModel.getHead().visible); // some mods like Better Combat can move player's head and hide it in the first person view if (event.getRenderer().getModel() instanceof HumanoidModel humanoidModel) { - humanoidModel.hat.visible = visible && (!isPlayer || humanoidModel.hat.visible); + humanoidModel.hat.visible = visible && (isPlayer || humanoidModel.hat.visible); } } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index e4d45d9807..a46ca32bac 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -6,26 +6,21 @@ import net.minecraft.client.model.geom.LayerDefinitions; import net.minecraft.client.model.geom.builders.CubeDeformation; import net.minecraft.client.model.geom.builders.LayerDefinition; -import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.client.renderer.DimensionSpecialEffects; import net.minecraft.client.renderer.Sheets; import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.NoopRenderer; import net.minecraft.client.renderer.entity.ThrownItemRenderer; -import net.minecraft.client.renderer.entity.ZombieRenderer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.renderer.special.ChestSpecialRenderer; -import net.minecraft.client.renderer.special.SpecialModelRenderer; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.util.Mth; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; @@ -33,7 +28,6 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.SkullBlock; @@ -50,7 +44,6 @@ import net.neoforged.neoforge.client.gui.map.RegisterMapDecorationRenderersEvent; import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; import net.neoforged.neoforge.client.resources.VanillaClientListeners; -import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.client.*; import twilightforest.client.model.TFModelLayers; @@ -66,10 +59,12 @@ import twilightforest.client.model.block.patch.PatchModelLoader; import twilightforest.client.model.entity.*; import twilightforest.client.particle.*; +import twilightforest.client.properties.MoonwormQueenPulse; +import twilightforest.client.properties.NaturalDimension; +import twilightforest.client.properties.OreMeterFlash; import twilightforest.client.renderer.PotionFlaskTooltipComponent; import twilightforest.client.renderer.TFSimpleArmorRenderer; import twilightforest.client.renderer.entity.RisingZombieRenderer; -import twilightforest.client.renderer.TFSkyRenderer; import twilightforest.client.renderer.block.*; import twilightforest.client.renderer.entity.*; import twilightforest.client.renderer.entity.layers.IceLayer; @@ -87,7 +82,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.function.Function; public class RegistrationEvents { @@ -111,6 +105,7 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegistrationEvents::registerCustomRenderData); bus.addListener(RegistrationEvents::registerSpecialModelTypes); bus.addListener(RegistrationEvents::registerSpecialModels); + bus.addListener(RegistrationEvents::registerConditionalProperties); bus.addListener(ColorHandler::registerBlockColors); @@ -183,43 +178,6 @@ private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { // } // return 0; // }); -// -// ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { -// if (entity == null) return 0.0F; -// else -// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; -// }); -// -// ItemProperties.register(TFItems.ENDER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// -// ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { -// if (entity == null) return 0.0F; -// else -// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; -// }); -// -// ItemProperties.register(TFItems.ICE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// -// ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { -// if (entity == null) return 0.0F; -// else -// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; -// }); -// -// ItemProperties.register(TFItems.SEEKER_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// -// ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { -// if (entity == null) return 0.0F; -// else -// return entity.getUseItem() != stack ? 0.0F : (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F; -// }); -// -// ItemProperties.register(TFItems.TRIPLE_BOW.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// // ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { // if (entity == null) return 0.0F; // else { @@ -436,6 +394,12 @@ private static void registerEntityRenderers(EntityRenderersEvent.RegisterRendere event.registerBlockEntityRenderer(TFBlockEntities.BRAZIER.get(), BrazierRenderer::new); } + private static void registerConditionalProperties(RegisterConditionalItemModelPropertyEvent event) { + event.register(TwilightForestMod.prefix("natural_dimension"), NaturalDimension.TYPE); + event.register(TwilightForestMod.prefix("moonworm_queen_pulse"), MoonwormQueenPulse.TYPE); + event.register(TwilightForestMod.prefix("ore_meter_flash"), OreMeterFlash.TYPE); + } + private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(TFModelLayers.ARCTIC_ARMOR_INNER, () -> LayerDefinition.create(ArcticArmorModel.addPieces(LayerDefinitions.INNER_ARMOR_DEFORMATION), 64, 32)); event.registerLayerDefinition(TFModelLayers.ARCTIC_ARMOR_OUTER, () -> LayerDefinition.create(ArcticArmorModel.addPieces(LayerDefinitions.OUTER_ARMOR_DEFORMATION), 64, 32)); diff --git a/src/main/java/twilightforest/client/properties/MoonwormQueenPulse.java b/src/main/java/twilightforest/client/properties/MoonwormQueenPulse.java new file mode 100644 index 0000000000..d2be58ae9f --- /dev/null +++ b/src/main/java/twilightforest/client/properties/MoonwormQueenPulse.java @@ -0,0 +1,29 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.MapCodec; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.conditional.ConditionalItemModelProperty; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; +import twilightforest.item.MoonwormQueenItem; + +public record MoonwormQueenPulse() implements ConditionalItemModelProperty { + + public static final MapCodec TYPE = MapCodec.unit(new MoonwormQueenPulse()); + + @Override + public boolean get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed, ItemDisplayContext context) { + if (entity != null && entity.getUseItem() == stack) { + int useTime = stack.getUseDuration(entity) - entity.getUseItemRemainingTicks(); + return useTime >= MoonwormQueenItem.FIRING_TIME && (useTime >>> 1) % 2 == 0; + } + return false; + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/properties/NaturalDimension.java b/src/main/java/twilightforest/client/properties/NaturalDimension.java new file mode 100644 index 0000000000..6aa57a9210 --- /dev/null +++ b/src/main/java/twilightforest/client/properties/NaturalDimension.java @@ -0,0 +1,24 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.MapCodec; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.conditional.ConditionalItemModelProperty; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; + +import javax.annotation.Nullable; + +public record NaturalDimension() implements ConditionalItemModelProperty { + + public static final MapCodec TYPE = MapCodec.unit(new NaturalDimension()); + + public boolean get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed, ItemDisplayContext context) { + return level != null && level.dimensionType().natural(); + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/properties/OreMeterFlash.java b/src/main/java/twilightforest/client/properties/OreMeterFlash.java new file mode 100644 index 0000000000..2d337470b4 --- /dev/null +++ b/src/main/java/twilightforest/client/properties/OreMeterFlash.java @@ -0,0 +1,30 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.MapCodec; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.conditional.ConditionalItemModelProperty; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; +import twilightforest.item.OreMeterItem; + +public record OreMeterFlash() implements ConditionalItemModelProperty { + + public static final MapCodec TYPE = MapCodec.unit(new OreMeterFlash()); + + @Override + public boolean get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed, ItemDisplayContext context) { + if (OreMeterItem.isLoading(stack)) { + int totalLoadTime = OreMeterItem.LOAD_TIME + OreMeterItem.getRange(stack) * 25; + int progress = OreMeterItem.getLoadProgress(stack); + return progress % 5 >= 2 + (int) (Math.random() * 2) && progress <= totalLoadTime - 15; + } + return false; + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/resources/assets/minecraft/atlases/armor_trims.json b/src/main/resources/assets/minecraft/atlases/armor_trims.json index c790bc361d..08a5fd1b7d 100644 --- a/src/main/resources/assets/minecraft/atlases/armor_trims.json +++ b/src/main/resources/assets/minecraft/atlases/armor_trims.json @@ -3,38 +3,42 @@ { "type": "paletted_permutations", "textures": [ - "trims/models/armor/coast", - "trims/models/armor/coast_leggings", - "trims/models/armor/sentry", - "trims/models/armor/sentry_leggings", - "trims/models/armor/dune", - "trims/models/armor/dune_leggings", - "trims/models/armor/wild", - "trims/models/armor/wild_leggings", - "trims/models/armor/ward", - "trims/models/armor/ward_leggings", - "trims/models/armor/eye", - "trims/models/armor/eye_leggings", - "trims/models/armor/vex", - "trims/models/armor/vex_leggings", - "trims/models/armor/tide", - "trims/models/armor/tide_leggings", - "trims/models/armor/snout", - "trims/models/armor/snout_leggings", - "trims/models/armor/rib", - "trims/models/armor/rib_leggings", - "trims/models/armor/spire", - "trims/models/armor/spire_leggings", - "trims/models/armor/wayfinder", - "trims/models/armor/wayfinder_leggings", - "trims/models/armor/shaper", - "trims/models/armor/shaper_leggings", - "trims/models/armor/silence", - "trims/models/armor/silence_leggings", - "trims/models/armor/raiser", - "trims/models/armor/raiser_leggings", - "trims/models/armor/host", - "trims/models/armor/host_leggings" + "trims/entity/humanoid/coast", + "trims/entity/humanoid_leggings/coast", + "trims/entity/humanoid/sentry", + "trims/entity/humanoid_leggings/sentry", + "trims/entity/humanoid/dune", + "trims/entity/humanoid_leggings/dune", + "trims/entity/humanoid/wild", + "trims/entity/humanoid_leggings/wild", + "trims/entity/humanoid/ward", + "trims/entity/humanoid_leggings/ward", + "trims/entity/humanoid/eye", + "trims/entity/humanoid_leggings/eye", + "trims/entity/humanoid/vex", + "trims/entity/humanoid_leggings/vex", + "trims/entity/humanoid/tide", + "trims/entity/humanoid_leggings/tide", + "trims/entity/humanoid/snout", + "trims/entity/humanoid_leggings/snout", + "trims/entity/humanoid/rib", + "trims/entity/humanoid_leggings/rib", + "trims/entity/humanoid/spire", + "trims/entity/humanoid_leggings/spire", + "trims/entity/humanoid/wayfinder", + "trims/entity/humanoid_leggings/wayfinder", + "trims/entity/humanoid/shaper", + "trims/entity/humanoid_leggings/shaper", + "trims/entity/humanoid/silence", + "trims/entity/humanoid_leggings/silence", + "trims/entity/humanoid/raiser", + "trims/entity/humanoid_leggings/raiser", + "trims/entity/humanoid/host", + "trims/entity/humanoid_leggings/host", + "trims/entity/humanoid/flow", + "trims/entity/humanoid_leggings/flow", + "trims/entity/humanoid/bolt", + "trims/entity/humanoid_leggings/bolt" ], "palette_key": "trims/color_palettes/trim_palette", "permutations": { diff --git a/src/main/resources/assets/minecraft/atlases/blocks.json b/src/main/resources/assets/minecraft/atlases/blocks.json new file mode 100644 index 0000000000..81167ba80e --- /dev/null +++ b/src/main/resources/assets/minecraft/atlases/blocks.json @@ -0,0 +1,22 @@ +{ + "sources": [ + { + "type": "paletted_permutations", + "textures": [ + "trims/items/leggings_trim", + "trims/items/chestplate_trim", + "trims/items/helmet_trim", + "trims/items/boots_trim" + ], + "palette_key": "trims/color_palettes/trim_palette", + "permutations": { + "ironwood": "twilightforest:trims/color_palettes/ironwood", + "steeleaf": "twilightforest:trims/color_palettes/steeleaf", + "fiery": "twilightforest:trims/color_palettes/fiery", + "knightmetal": "twilightforest:trims/color_palettes/knightmetal", + "naga_scale": "twilightforest:trims/color_palettes/naga_scale", + "carminite": "twilightforest:trims/color_palettes/carminite" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json b/src/main/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json new file mode 100644 index 0000000000..23f033d6e7 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/giant_pickaxe_gui.json @@ -0,0 +1,16 @@ +{ + "gui_light": "front", + "textures": { + "all": "minecraft:item/stone_pickaxe", + "particle": "#all" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 0], + "faces": { + "south": {"texture": "#all", "tintindex": 0, "uv": [ 7.0, 2.0, 15.0, 10.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/giant_sword_gui.json b/src/main/resources/assets/twilightforest/models/item/giant_sword_gui.json new file mode 100644 index 0000000000..e06b4afbec --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/giant_sword_gui.json @@ -0,0 +1,16 @@ +{ + "gui_light": "front", + "textures": { + "all": "minecraft:item/stone_sword", + "particle": "#all" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 0], + "faces": { + "south": {"texture": "#all", "tintindex": 0, "uv": [3.0, 5.0, 11.0, 13.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json b/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json new file mode 100644 index 0000000000..394dd78f6b --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json @@ -0,0 +1,41 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "particle": "minecraft:block/stone_block" + }, + "display": { + "firstperson_lefthand": { + "rotation": [0, 90, -25], + "scale": [1.7, 1.7, 1.7], + "translation": [1.13, 3.2, 1.13] + }, + "firstperson_righthand": { + "rotation": [0, -90, 25], + "scale": [1.7, 1.7, 1.7], + "translation": [1.13, 3.2, 1.13] + }, + "fixed": { + "rotation": [0, 180, 0], + "scale": [5, 5, 5] + }, + "ground": { + "scale": [2.5, 2.5, 2.5], + "translation": [0, 2, 0] + }, + "head": { + "rotation": [0, 180, 0], + "scale": [5, 5, 5], + "translation": [0, 13, 7] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -55], + "scale": [4.25, 4.25, 4.25], + "translation": [-0.1, 24, -3.5] + }, + "thirdperson_righthand": { + "rotation": [0, -90, 55], + "scale": [4.25, 4.25, 4.25], + "translation": [-0.1, 24, -5.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json b/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json index d16d641dc2..ec8aefbaac 100644 --- a/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json +++ b/src/main/resources/assets/twilightforest/models/item/ur_ghast_trophy.json @@ -1,5 +1,5 @@ { - "parent": "twilightforest:template_trophy", + "parent": "twilightforest:item/template_trophy", "textures": { "particle": "block/soul_sand" }, diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_boots.png b/src/main/resources/assets/twilightforest/textures/item/arctic_boots.png index 1bbb55bb54f69a494dc1e5ee985ca7eba2a928c2..1799caa64afd71864ccd23dea3ece073b5e88599 100644 GIT binary patch delta 380 zcmdnac#?TSSiMAvYeY$Kep*R+Vo@qXKw@TIiJqTph=Qq}p`Lm7weOY;3=G>+BRtbQ zJ+&A(fE-o^DMnTXMj*=zh^3+IARt?Vkr^z`1Y{dBGBF4M=_nx1Y-a(BX93wDkO0IW z{UEv?#6Yu^fti6}0y_f>P{zQ>*nn{X#8{9@)&&rwrU2O>zyvgi39K^6(gMhW>M}Gi z0LiMl&+A=mvh^sCS>fs87-Hf7w*MmM0R-au(mx#Mlqo&Z8GAtTi+}nC-wWHs z-qastFM4uLhJ`!FSMqs`YOmp^H+!G&`OT7gSAK!NB1@g+^Q^Udr|sLcS99^!Hp6AU z%A0dEEN)K>YMQdi(tL9d_pe?j4vnP&UJDB!%(Xoq@kizXgY`ZqAEmhrTR;x-boFyt I=akR{01gUbDF6Tf delta 104 zcmV-u0GI#C1GfQ?R$)v@L_t(IPh%JbqktNK(N|CUzYZ5KlnVh*zI|u7^W`hU@q2F= zL415_n4o;J0oVYLX~-BGz@>)KQc2`Ll#K#l&W8b9>V`aEU;qG&)-7xHaHGut0000< KMNUMnLSTa2@hdj~ diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_boots_0.png b/src/main/resources/assets/twilightforest/textures/item/arctic_boots_0.png deleted file mode 100644 index 08ea0cba40da359bdb6ddf1e796b7ed0850c5625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr_~fPIBa8P~>1>o`2Q( z*Y^Alzk98EdR%O)?|r+*R$Q2*wW8DGx6^JF28Lr2&QtE~7JUA$<{#Gz7nkOapan&m z8@`LhhJxs8lPs6#_B5WF+pxcX=G!H&*e+_C|81VnE_dYV_T{rK++PH=k-^i|&t;uc GLK6T*tUeb2 diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_boots_overlay.png b/src/main/resources/assets/twilightforest/textures/item/arctic_boots_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..7c485c0f8d94edbdd2df3539dc78cbc49646b8ed GIT binary patch literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enP@=>&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&%FEEcT1p}ZK)BSX`Y^13>-iXD}xjxD+42tpt($7 zl|hykKo(S&p@9KN)@kL+N4tKeegraoJY5_^Ec}xtSQj@)HCzn$|Fxe_Tz?8TqyN6z z^c|m{Y9IbsoiE{7QHC~_q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_chestplate.png b/src/main/resources/assets/twilightforest/textures/item/arctic_chestplate.png index 8f21d04ca84e4c83940dd3823f13ae2fb0ec4c61..f85daa3b6cd97cd87749700e5af964da53d4ea5a 100644 GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|-oh=_>Cj~|~obH>ij?%%(E-@bkO`0?Y{uV3%qzklb>ovT-`0u?q~ z6I%wPcuIo&g8w4`gV6nR=YZmz1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~ zVrE{6o}X)of~lUNo_Y7R@0LI{+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^+^G#Ht| z;!HrcAtMvmmr+1=W;+X5JPXJMfdn81>4(v1mNEdtWdb_`3s8lDk+A{e0*I*~9jpr= zCQSjdL4XNp4ii{qkfjBX1=VF}U;vU;b)VO}*ktQbAk)Xw#W6%9xcA&?z5@yzE`f4Q zTR;E*AAL)r`H1WLE=z5WrOY`ZlPm7UFLKfKe9YjfpdZ1+9dLE$B8mEc8gmccow55z h6ZhigLj4n>402q#oU0yr{xSmD;pyt@eBgmM4? delta 178 zcmaFL{F-rsW4&mAPl&6po^+*!My#H^rIJXsqhXtmEdv9CUSWwDkYXjyg`*j#kv`l-&)Z9_mJd53PJDYZauIX9%8@2~lvCr_h&-!q0t@@e2Z5_fU Xds&iJ_N>VO8qDD7>gTe~DWM4fF=s(+ diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_chestplate_0.png b/src/main/resources/assets/twilightforest/textures/item/arctic_chestplate_0.png deleted file mode 100644 index f2ed29073e68730aa6b7419b0907882aac542f49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!N`Oy@tDT+Q3{fI;Z~xpP2qcTX3`5Q)pZ z=RElu40xO`zUR@M@caIBSuaPAv*+>?+pA>bH^{9uC@t7G!2|8UMa@iguy&`1VPS3j3^P6NS%G}f0G|+7Up?tc3yoMkc}pdcYDdF1A6uY|USWwDkYXV-k>LfZmd{Ip1|NoO^4PHI^W~UF?c3j`b zka5zopr02N+>=s5NHFI#GR8Rjuz(33FCtq3gEbaR z3JcgXP>Dj~&<<3|BXL-uv-|m0z^01V%hdYv9sJ-gJmCOuyb{UR`YtN000000NkvXX Hu0mjfu=+)2 delta 156 zcmV;N0Av5P0k{E>B!7QNL_t(I%VS^|e!$4Y_dh;NQ1jBwyZ%pDu=4+=y@&sAKXd}j zN5;xZ#{Y>j;Kz?2VEpdgJ1|YO0U!;?7}+2YCTIXiF$f_08>ES71AhJb_5aPAH*k$G z3^SOZ0bjm+f!l!K-5*QBc6Kfg0M z$jQUtxrxy+i{Bd>IOX(}q8Xb_#eBH9Zx{!3Iz76;7jja$Fk->x-#^0+EbF>{`pU0Q gvVR`v+dO2*-*fW%FFma_KzA^By85}Sb4q9e0B3?oF8}}l diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_helmet_overlay.png b/src/main/resources/assets/twilightforest/textures/item/arctic_helmet_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5acc50e070dc26d334a334304adeee94d0d030b5 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-oA3uJ)d-v}D|Np;!{d)7}&6h7y)37&w3&Rt70XRt82O%L|C5p=^*3G#Ht|;!HrcAtMvmM^Qj_W;+X5 zJPXJMfdn81>4(v1mNEdtU;;Y>3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp4ii{qkfjBX z1=VF}U;vU;b)VO}*ktQbAk)#)#W6%9cnAmtPE0&tPG4mmKP99L)jqLXfQH^#hHL?Lq;aB>!N_{ z%yt&AcovWi0trA2(hsB2EM;J3V3@$pzyefZU}S8-xBy}*NC)czh)Gj`Y!F}qn!^NE z8DwbzWI=Tq8W@0NRo&jAx@HknWx}4+( Oa*n5~pUXO@geCyo^o4@N|)M~C<)r(HM&)K!_d#n71$OCNO_W#!9+ah=yXc2>_tDnm{r-UW|1++J( diff --git a/src/main/resources/assets/twilightforest/textures/item/arctic_leggings_overlay.png b/src/main/resources/assets/twilightforest/textures/item/arctic_leggings_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..e974a2752961fcf755b5d6418f26c7bc70ba46e4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|>0G|+7OC^z5J^4xt4WK|)pj{P6T}hB%@c;k+8631$egX113p^r=85sBu zfiR<}hF1enP@=>&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s&%FEEcT1p}ZK)BSX`Y^1 z3>-iXD}xjxD+42t`%T4|JrX6J}HFFA=d-%ZafW=XkSuvsv q+nDZM Date: Fri, 4 Apr 2025 12:25:35 -0600 Subject: [PATCH 071/239] god dammit --- .../twilightforest/components/item/OreScannerComponent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/components/item/OreScannerComponent.java b/src/main/java/twilightforest/components/item/OreScannerComponent.java index bd9ec7be07..bcd4485660 100644 --- a/src/main/java/twilightforest/components/item/OreScannerComponent.java +++ b/src/main/java/twilightforest/components/item/OreScannerComponent.java @@ -75,7 +75,7 @@ public OreScannerComponent(BlockPos origin, int xSpan, int zSpan, int scanDurati public OreScannerComponent tickScan(BlockGetter reader) { BlockPos originPos = this.origin.atY(reader.getMinY()); - int volume = this.area * reader.getMinY(); + int volume = this.area * reader.getMaxY(); int march = Mth.ceil((float) volume / Mth.abs(this.scanDurationTicks)); int totalProgress = this.ticksProgressed * march; Object2IntMap nextCounter = new Object2IntArrayMap<>(this.blockCounter); @@ -112,7 +112,7 @@ public Map getResults(@Nullable Block assignedBlock) { } public int getVolume(BlockGetter reader) { - return this.area * reader.getMinY(); + return this.area * reader.getMaxY(); } public int getTickProgress() { From bd2358840f1499068625f971a9d9115ca8d3e7d1 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:54:35 -0600 Subject: [PATCH 072/239] finish the equipment tab --- .../assets/models/ItemModelGenerator.java | 30 ++++++++++--- .../assets/models/TFModelTemplates.java | 1 + .../client/event/RegistrationEvents.java | 1 + .../client/properties/OreMeterFlash.java | 3 +- .../special/MysticCrownSpecialRenderer.java | 40 +++++++++++++++++ .../models/item/lamp_of_cinders.json | 18 ++++++++ .../models/item/mystic_crown.json | 14 ++++++ .../models/item/special_handheld.json | 44 +++++++++---------- 8 files changed, 122 insertions(+), 29 deletions(-) create mode 100644 src/main/java/twilightforest/client/renderer/special/MysticCrownSpecialRenderer.java create mode 100644 src/main/resources/assets/twilightforest/models/item/lamp_of_cinders.json create mode 100644 src/main/resources/assets/twilightforest/models/item/mystic_crown.json diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index e495d1846b..d6ffbe8fe0 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.item.ItemModel; import net.minecraft.client.renderer.item.RangeSelectItemModel; import net.minecraft.client.renderer.item.SelectItemModel; +import net.minecraft.client.renderer.item.properties.conditional.HasComponent; import net.minecraft.client.renderer.item.properties.numeric.Time; import net.minecraft.client.renderer.item.properties.numeric.UseDuration; import net.minecraft.client.renderer.item.properties.select.DisplayContext; @@ -24,8 +25,10 @@ import twilightforest.TwilightForestMod; import twilightforest.client.properties.MoonwormQueenPulse; import twilightforest.client.properties.NaturalDimension; +import twilightforest.client.properties.OreMeterFlash; import twilightforest.client.renderer.special.*; import twilightforest.datagen.helpers.ItemModelBuilders; +import twilightforest.init.TFDataComponents; import twilightforest.init.TFEquipmentModels; import twilightforest.init.TFItems; import twilightforest.init.TFTrimMaterials; @@ -90,7 +93,9 @@ public void run() { this.generateFlatItem(TFItems.KNIGHTMETAL_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.KNIGHTMETAL_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.KNIGHTMETAL_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateFlatItem(TFItems.BLOCK_AND_CHAIN.get(), ModelTemplates.FLAT_ITEM); + this.itemModelOutput.accept(TFItems.BLOCK_AND_CHAIN.get(), ItemModelUtils.conditional(new HasComponent(TFDataComponents.THROWN_PROJECTILE.get(), false), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.BLOCK_AND_CHAIN.get(), "_thrown", ModelTemplates.FLAT_HANDHELD_ITEM)), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.BLOCK_AND_CHAIN.get(), ModelTemplates.FLAT_HANDHELD_ITEM)))); this.generateKnightmetalShield(TFItems.KNIGHTMETAL_SHIELD.get()); this.generateExpandedTrimmableItem(TFItems.FIERY_HELMET.get(), TFEquipmentModels.FIERY, "helmet"); @@ -116,7 +121,7 @@ public void run() { this.generateExpandedTrimmableItem(TFItems.NAGA_CHESTPLATE.get(), TFEquipmentModels.NAGA, "chestplate"); this.generateExpandedTrimmableItem(TFItems.NAGA_LEGGINGS.get(), TFEquipmentModels.NAGA, "leggings"); - //TODO mystic crown + this.itemModelOutput.accept(TFItems.MYSTIC_CROWN.get(), ItemModelUtils.specialModel(ModelLocationUtils.getModelLocation(TFItems.MYSTIC_CROWN.get()), new MysticCrownSpecialRenderer.Unbaked())); this.generateFlatItem(TFItems.MAZEBREAKER_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.DIAMOND_MINOTAUR_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); @@ -137,10 +142,12 @@ public void run() { this.generateFlatItem(TFItems.LIFEDRAIN_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.ZOMBIE_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.FORTIFICATION_SCEPTER.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - //TODO lamp + this.itemModelOutput.accept(TFItems.LAMP_OF_CINDERS.get(), ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFItems.LAMP_OF_CINDERS.get()))); this.generateFlatItem(TFItems.EMPERORS_CLOTH.get(), ModelTemplates.FLAT_ITEM); - this.generateFlatItem(TFItems.ORE_MAGNET.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateFlatItem(TFItems.ORE_METER.get(), ModelTemplates.FLAT_ITEM); + this.generateOreMagnet(TFItems.ORE_MAGNET.get()); + this.itemModelOutput.accept(TFItems.ORE_METER.get(), ItemModelUtils.conditional(new OreMeterFlash(), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.ORE_METER.get(), "_active", ModelTemplates.FLAT_ITEM)), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.ORE_METER.get(), ModelTemplates.FLAT_ITEM)))); this.generateFlatItem(TFItems.POCKET_WATCH.get(), ModelTemplates.FLAT_ITEM); this.generateMoonDial(TFItems.MOON_DIAL.get()); this.generateFlatItem(TFItems.CRUMBLE_HORN.get(), ModelTemplates.FLAT_HANDHELD_ITEM); @@ -269,6 +276,17 @@ public void generateBow(Item bowItem, boolean twoLayered) { ), base)); } + public void generateOreMagnet(Item magnetItem) { + ItemModel.Unbaked base = ItemModelUtils.plainModel(this.createFlatItemModel(magnetItem, TFModelTemplates.SPECIAL_HANDHELD)); + ItemModel.Unbaked pulling1 = ItemModelUtils.plainModel(this.createFlatItemModel(magnetItem, "_pulling_1", TFModelTemplates.SPECIAL_HANDHELD)); + ItemModel.Unbaked pulling2 = ItemModelUtils.plainModel(this.createFlatItemModel(magnetItem, "_pulling_2", TFModelTemplates.SPECIAL_HANDHELD)); + this.itemModelOutput.accept(magnetItem, ItemModelUtils.conditional(ItemModelUtils.isUsingItem(), + ItemModelUtils.rangeSelect(new UseDuration(false), 0.05F, base, + ItemModelUtils.override(pulling1, 0.5F), + ItemModelUtils.override(pulling2, 1.0F)), + base)); + } + public void generateMoonDial(Item dial) { List list = new ArrayList<>(); ItemModel.Unbaked itemmodel$unbaked = ItemModelUtils.plainModel(this.createFlatItemModel(dial, TFModelTemplates.MOON_DIAL)); @@ -281,7 +299,7 @@ public void generateMoonDial(Item dial) { list.add(ItemModelUtils.override(itemmodel$unbaked, 7.5F)); this.itemModelOutput.accept(dial, ItemModelUtils.conditional(new NaturalDimension(), - ItemModelUtils.rangeSelect(new Time(true, Time.TimeSource.MOON_PHASE), 8.0F, list), + ItemModelUtils.rangeSelect(new Time(false, Time.TimeSource.MOON_PHASE), 8.0F, list), ItemModelUtils.rangeSelect(new Time(true, Time.TimeSource.RANDOM), 8.0F, list))); } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 7eb92e2030..1eec1369c2 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -41,6 +41,7 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); public static final ModelTemplate MOON_DIAL = createItem("twilightforest:moon_dial_template", TextureSlot.LAYER0); + public static final ModelTemplate SPECIAL_HANDHELD = createItem("twilightforest:special_handheld", TextureSlot.LAYER0); public static final ModelTemplate TWO_LAYERED_HANDHELD = createItem("handheld", TextureSlot.LAYER0, TextureSlot.LAYER1); public static final ModelTemplate TWO_LAYERED_BOW = createItem("bow", TextureSlot.LAYER0, TextureSlot.LAYER1); diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index a46ca32bac..01d1701088 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -514,6 +514,7 @@ private static void registerSpecialModelTypes(RegisterSpecialModelRendererEvent event.register(TwilightForestMod.prefix("firefly"), FireflySpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("moonworm"), MoonwormSpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("knightmetal_shield"), KnightmetalShieldSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("mystic_crown"), MysticCrownSpecialRenderer.Unbaked.MAP_CODEC); } private static void registerSpecialModels(RegisterSpecialBlockModelRendererEvent event) { diff --git a/src/main/java/twilightforest/client/properties/OreMeterFlash.java b/src/main/java/twilightforest/client/properties/OreMeterFlash.java index 2d337470b4..b3fc74b101 100644 --- a/src/main/java/twilightforest/client/properties/OreMeterFlash.java +++ b/src/main/java/twilightforest/client/properties/OreMeterFlash.java @@ -7,6 +7,7 @@ import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.Nullable; +import twilightforest.init.TFDataComponents; import twilightforest.item.OreMeterItem; public record OreMeterFlash() implements ConditionalItemModelProperty { @@ -20,7 +21,7 @@ public boolean get(ItemStack stack, @Nullable ClientLevel level, @Nullable Livin int progress = OreMeterItem.getLoadProgress(stack); return progress % 5 >= 2 + (int) (Math.random() * 2) && progress <= totalLoadTime - 15; } - return false; + return stack.has(TFDataComponents.ORE_DATA); } @Override diff --git a/src/main/java/twilightforest/client/renderer/special/MysticCrownSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/MysticCrownSpecialRenderer.java new file mode 100644 index 0000000000..4914a3d88f --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/MysticCrownSpecialRenderer.java @@ -0,0 +1,40 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.serialization.MapCodec; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.world.item.ItemDisplayContext; +import twilightforest.client.model.TFModelLayers; +import twilightforest.client.model.entity.LichModel; +import twilightforest.client.renderer.entity.LichRenderer; + +public record MysticCrownSpecialRenderer(LichModel model) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + stack.pushPose(); + stack.translate(0.5F, 0.0F, 0.5F); + stack.scale(1.0F, -1.0F, -1.0F); + VertexConsumer vertexconsumer = source.getBuffer(this.model.renderType(LichRenderer.TEXTURE)); + this.model().hat.render(stack, vertexconsumer, light, overlay); + stack.popPose(); + } + + public record Unbaked() implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = MapCodec.unit(MysticCrownSpecialRenderer.Unbaked::new); + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new MysticCrownSpecialRenderer(new LichModel(set.bakeLayer(TFModelLayers.LICH_TROPHY))); + } + } +} diff --git a/src/main/resources/assets/twilightforest/models/item/lamp_of_cinders.json b/src/main/resources/assets/twilightforest/models/item/lamp_of_cinders.json new file mode 100644 index 0000000000..999f83e70f --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/lamp_of_cinders.json @@ -0,0 +1,18 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/lamp_of_cinders" + }, + "display": { + "thirdperson_lefthand": { + "rotation": [0, 90, 0], + "scale": [0.65, 0.65, 0.65], + "translation": [0, -0.5, -3] + }, + "thirdperson_righthand": { + "rotation": [0, -90, 0], + "scale": [0.65, 0.65, 0.65], + "translation": [0, -0.5, -3] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/mystic_crown.json b/src/main/resources/assets/twilightforest/models/item/mystic_crown.json new file mode 100644 index 0000000000..b31e978685 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/mystic_crown.json @@ -0,0 +1,14 @@ +{ + "parent": "twilightforest:item/template_trophy", + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 0, 0 ] + }, + "head": { + "rotation": [ 180, 0, 180 ], + "translation": [ 0, 7, 0 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/special_handheld.json b/src/main/resources/assets/twilightforest/models/item/special_handheld.json index 5b5ec48912..628b548e2e 100644 --- a/src/main/resources/assets/twilightforest/models/item/special_handheld.json +++ b/src/main/resources/assets/twilightforest/models/item/special_handheld.json @@ -1,25 +1,25 @@ { - "parent": "item/generated", - "display": { - "thirdperson_righthand": { - "rotation": [ 0, -90, 55 ], - "translation": [ 0, -2.0, -2.5 ], - "scale": [ 0.65, 0.65, 0.65 ] - }, - "thirdperson_lefthand": { - "rotation": [ 0, 90, -55 ], - "translation": [ 0, -2.0, -2.5 ], - "scale": [ 0.65, 0.65, 0.65 ] - }, - "firstperson_righthand": { - "rotation": [ 0, -90, 25 ], - "translation": [ 1.13, 3.2, 1.13 ], - "scale": [ 0.68, 0.68, 0.68 ] - }, - "firstperson_lefthand": { - "rotation": [ 0, 90, -25 ], - "translation": [ 1.13, 3.2, 1.13 ], - "scale": [ 0.68, 0.68, 0.68 ] - } + "parent": "item/generated", + "display": { + "thirdperson_righthand": { + "rotation": [ 0, -90, 55 ], + "translation": [ 0, -2.0, -2.5 ], + "scale": [ 0.65, 0.65, 0.65 ] + }, + "thirdperson_lefthand": { + "rotation": [ 0, 90, -55 ], + "translation": [ 0, -2.0, -2.5 ], + "scale": [ 0.65, 0.65, 0.65 ] + }, + "firstperson_righthand": { + "rotation": [ 0, -90, 25 ], + "translation": [ 1.13, 3.2, 1.13 ], + "scale": [ 0.68, 0.68, 0.68 ] + }, + "firstperson_lefthand": { + "rotation": [ 0, 90, -25 ], + "translation": [ 1.13, 3.2, 1.13 ], + "scale": [ 0.68, 0.68, 0.68 ] } + } } From 639c82c94c9d23431d9aa92640f21b958413530a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:54:51 -0600 Subject: [PATCH 073/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 20 +++++++---- .../twilightforest/items/block_and_chain.json | 13 ++++++-- .../twilightforest/items/lamp_of_cinders.json | 6 ++++ .../twilightforest/items/moon_dial.json | 3 +- .../twilightforest/items/mystic_crown.json | 9 +++++ .../twilightforest/items/ore_magnet.json | 33 +++++++++++++++++-- .../twilightforest/items/ore_meter.json | 12 +++++-- .../models/item/block_and_chain.json | 2 +- .../models/item/block_and_chain_thrown.json | 6 ++++ .../models/item/ore_magnet.json | 2 +- .../models/item/ore_magnet_pulling_1.json | 6 ++++ .../models/item/ore_magnet_pulling_2.json | 6 ++++ .../models/item/ore_meter_active.json | 6 ++++ 13 files changed, 108 insertions(+), 16 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/items/lamp_of_cinders.json create mode 100644 src/generated/resources/assets/twilightforest/items/mystic_crown.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 2c67e20028..31a3b10a47 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-04T11:22:50.1273274 Model Definitions - twilightforest +// 1.21.4 2025-04-04T17:50:36.7005102 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -173,7 +173,7 @@ f2a59ac53a4650eca48bc87ea5925dddfa448510 assets/twilightforest/items/arctic_helm e81f61d50559025a7d12ea4e684d061b53bff728 assets/twilightforest/items/armored_giant_spawn_egg.json f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_sheep_spawn_egg.json -49b4b810357e0743ccf39dc23b9360956691dac7 assets/twilightforest/items/block_and_chain.json +7ebddc418373224ebd3f09bb32be57026aabedc9 assets/twilightforest/items/block_and_chain.json 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json 2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json @@ -264,6 +264,7 @@ eeb54f9a457cbeeb747c58b34e05717097c79a84 assets/twilightforest/items/knight_phan 59d9f157a82bf9b8a56193964c7836d0b51c9579 assets/twilightforest/items/knight_phantom_spawn_egg.json 00b7b42db2bb3fa6cfc276d3cc2b775ecb5c899d assets/twilightforest/items/knight_phantom_trophy.json faf0838cbfd609897d4aa0d294f1e65264f5897f assets/twilightforest/items/kobold_spawn_egg.json +ba05966543734a4abd1b38e07b7a732a56f05b16 assets/twilightforest/items/lamp_of_cinders.json 7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json b253e2726dc40da9667d77285f6194204bb43e03 assets/twilightforest/items/lich_spawn_egg.json d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy.json @@ -296,15 +297,16 @@ ada89dbf3cf944737aeef4c23a6da9d720965858 assets/twilightforest/items/minoshroom_ fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_spawn_egg.json 8f5a9be1a5b80d866a94ff2146b755b6d8146ef3 assets/twilightforest/items/moonworm.json 9325cfe5fbe9be707e60e5705a7d24b7bdd219ce assets/twilightforest/items/moonworm_queen.json -cbe6095361a047ccb2fea8cb38d55da454890f30 assets/twilightforest/items/moon_dial.json +ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json +ea9e8e2ab39b78ff0a7963cb8354fc4f52800fcd assets/twilightforest/items/mystic_crown.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json 272ae773763fd54d52adc5b4ba6bd8f3f61161ed assets/twilightforest/items/naga_leggings.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json -5d6bf139a2f9a7a659ea1d36bedab5fe7b73ad44 assets/twilightforest/items/ore_magnet.json -2cc87df47303ae3a2d0e8ff802893deb4019a2c1 assets/twilightforest/items/ore_meter.json +825d5e28fe55175fd3b92366bb7c9f457276f760 assets/twilightforest/items/ore_magnet.json +5fd1c9fe44bb415056e270ccf58d5c888fa5e9a8 assets/twilightforest/items/ore_meter.json a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_feather_fan.json 2a0a14f57f18f9c7394596fe62851aab1b7cc173 assets/twilightforest/items/penguin_spawn_egg.json 9ace494c83bdbe18f6e5398d4f88a6a8b32113ea assets/twilightforest/items/phantom_chestplate.json @@ -769,7 +771,8 @@ b0c6f8838b5dc1f8d85e43a9192ca9deff189e28 assets/twilightforest/models/item/arcti f3218bf08a13dab44f8e4c68febe25c4470ac835 assets/twilightforest/models/item/arctic_leggings_redstone_trim.json d9b538a65a3195254d3d684fa591210d80fd5968 assets/twilightforest/models/item/arctic_leggings_resin_trim.json 6652e7504c9c271d00232265a3302944deb44794 assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json -bc99680855e9259d53c400116caea29bdb7151cd assets/twilightforest/models/item/block_and_chain.json +cb7cc09776f8428aedf36ac18683f1c1a1ecc744 assets/twilightforest/models/item/block_and_chain.json +ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_chest.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json @@ -1081,8 +1084,11 @@ f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_ 44ef986cbf18ded22e89f5de9b06c6497923f17a assets/twilightforest/models/item/naga_leggings_redstone_trim.json 6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json 0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json -6f779218905207e87e49032840e2cc353f101877 assets/twilightforest/models/item/ore_magnet.json +e41febc342a31175c85b45f5394700eb7f9ac39e assets/twilightforest/models/item/ore_magnet.json +4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json +f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json 9e32f7687d91298eddf200a515772df2dfd03a6f assets/twilightforest/models/item/ore_meter.json +c60eaa6b8f6bd0edde6aa7f5ee63b2f51bbeb570 assets/twilightforest/models/item/ore_meter_active.json 4e8f03fef77b6c1268f8728996f584808cff1161 assets/twilightforest/models/item/peacock_feather_fan.json 205ad65aa0e9e1d6006f3016e6d6c2cd9c66a186 assets/twilightforest/models/item/phantom_chestplate.json 59fcfc8dd35bb2135638f636b6f84a4ef729997d assets/twilightforest/models/item/phantom_chestplate_amethyst_trim.json diff --git a/src/generated/resources/assets/twilightforest/items/block_and_chain.json b/src/generated/resources/assets/twilightforest/items/block_and_chain.json index 13b356889b..540c7a4767 100644 --- a/src/generated/resources/assets/twilightforest/items/block_and_chain.json +++ b/src/generated/resources/assets/twilightforest/items/block_and_chain.json @@ -1,6 +1,15 @@ { "model": { - "type": "minecraft:model", - "model": "twilightforest:item/block_and_chain" + "type": "minecraft:condition", + "component": "twilightforest:thrown_projectile", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/block_and_chain" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:item/block_and_chain_thrown" + }, + "property": "minecraft:has_component" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/lamp_of_cinders.json b/src/generated/resources/assets/twilightforest/items/lamp_of_cinders.json new file mode 100644 index 0000000000..0b07ff511f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/lamp_of_cinders.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/lamp_of_cinders" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/moon_dial.json b/src/generated/resources/assets/twilightforest/items/moon_dial.json index 303b4e94c9..dcd3fac247 100644 --- a/src/generated/resources/assets/twilightforest/items/moon_dial.json +++ b/src/generated/resources/assets/twilightforest/items/moon_dial.json @@ -141,7 +141,8 @@ ], "property": "minecraft:time", "scale": 8.0, - "source": "moon_phase" + "source": "moon_phase", + "wobble": false }, "property": "twilightforest:natural_dimension" } diff --git a/src/generated/resources/assets/twilightforest/items/mystic_crown.json b/src/generated/resources/assets/twilightforest/items/mystic_crown.json new file mode 100644 index 0000000000..b96a1c5fbb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mystic_crown.json @@ -0,0 +1,9 @@ +{ + "model": { + "type": "minecraft:special", + "base": "twilightforest:item/mystic_crown", + "model": { + "type": "twilightforest:mystic_crown" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ore_magnet.json b/src/generated/resources/assets/twilightforest/items/ore_magnet.json index 318d0b8a56..f59e7b57d0 100644 --- a/src/generated/resources/assets/twilightforest/items/ore_magnet.json +++ b/src/generated/resources/assets/twilightforest/items/ore_magnet.json @@ -1,6 +1,35 @@ { "model": { - "type": "minecraft:model", - "model": "twilightforest:item/ore_magnet" + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_magnet" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_magnet_pulling_1" + }, + "threshold": 0.5 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_magnet_pulling_2" + }, + "threshold": 1.0 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_magnet" + }, + "property": "minecraft:use_duration", + "scale": 0.05 + }, + "property": "minecraft:using_item" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ore_meter.json b/src/generated/resources/assets/twilightforest/items/ore_meter.json index e2c24f7ccf..fe8a65524d 100644 --- a/src/generated/resources/assets/twilightforest/items/ore_meter.json +++ b/src/generated/resources/assets/twilightforest/items/ore_meter.json @@ -1,6 +1,14 @@ { "model": { - "type": "minecraft:model", - "model": "twilightforest:item/ore_meter" + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_meter" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_meter_active" + }, + "property": "twilightforest:ore_meter_flash" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json index 45e252827b..79695363da 100644 --- a/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json +++ b/src/generated/resources/assets/twilightforest/models/item/block_and_chain.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/generated", + "parent": "minecraft:item/handheld", "textures": { "layer0": "twilightforest:item/block_and_chain" } diff --git a/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json b/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json new file mode 100644 index 0000000000..518564e9a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/block_and_chain_thrown.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/block_and_chain_thrown" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json index afd5f03d95..92bba08c25 100644 --- a/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json +++ b/src/generated/resources/assets/twilightforest/models/item/ore_magnet.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "twilightforest:item/special_handheld", "textures": { "layer0": "twilightforest:item/ore_magnet" } diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json new file mode 100644 index 0000000000..171be79b03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/special_handheld", + "textures": { + "layer0": "twilightforest:item/ore_magnet_pulling_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json new file mode 100644 index 0000000000..7151640f40 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_magnet_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/special_handheld", + "textures": { + "layer0": "twilightforest:item/ore_magnet_pulling_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json b/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json new file mode 100644 index 0000000000..b74492167b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_meter_active.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ore_meter_active" + } +} \ No newline at end of file From abe22dcd04d8ca147ab6833132a122204ad37175 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:36:47 -0600 Subject: [PATCH 074/239] items! (plus fix doors and darkwood) --- .../assets/models/ItemModelGenerator.java | 89 ++++++++++++++++++ ..._door_lower.png => canopy_door_bottom.png} | Bin ...opy_door_upper.png => canopy_door_top.png} | Bin ...od_door_lower.png => dark_door_bottom.png} | Bin ...kwood_door_upper.png => dark_door_top.png} | Bin .../{darkwood_leaves.png => dark_leaves.png} | Bin .../{darkwood_planks.png => dark_planks.png} | Bin ...arkwood_planks_1.png => dark_planks_1.png} | Bin ...arkwood_planks_2.png => dark_planks_2.png} | Bin ...arkwood_planks_3.png => dark_planks_3.png} | Bin ...arkwood_trapdoor.png => dark_trapdoor.png} | Bin ...oor_lower.png => mangrove_door_bottom.png} | Bin ...e_door_upper.png => mangrove_door_top.png} | Bin ..._door_lower.png => mining_door_bottom.png} | Bin ...ing_door_upper.png => mining_door_top.png} | Bin ...door_lower.png => sorting_door_bottom.png} | Bin ...ng_door_upper.png => sorting_door_top.png} | Bin ...me_door_lower.png => time_door_bottom.png} | Bin ...{time_door_upper.png => time_door_top.png} | Bin ...wer.png => transformation_door_bottom.png} | Bin ..._upper.png => transformation_door_top.png} | Bin ...lower.png => twilight_oak_door_bottom.png} | Bin ...or_upper.png => twilight_oak_door_top.png} | Bin .../textures/item/tf_banner_pattern.png | Bin 405 -> 625 bytes 24 files changed, 89 insertions(+) rename src/main/resources/assets/twilightforest/textures/block/{canopy_door_lower.png => canopy_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{canopy_door_upper.png => canopy_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_door_lower.png => dark_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_door_upper.png => dark_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_leaves.png => dark_leaves.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_planks.png => dark_planks.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_planks_1.png => dark_planks_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_planks_2.png => dark_planks_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_planks_3.png => dark_planks_3.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{darkwood_trapdoor.png => dark_trapdoor.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mangrove_door_lower.png => mangrove_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mangrove_door_upper.png => mangrove_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mining_door_lower.png => mining_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mining_door_upper.png => mining_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{sorting_door_lower.png => sorting_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{sorting_door_upper.png => sorting_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{time_door_lower.png => time_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{time_door_upper.png => time_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{transformation_door_lower.png => transformation_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{transformation_door_upper.png => transformation_door_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twilight_oak_door_lower.png => twilight_oak_door_bottom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twilight_oak_door_upper.png => twilight_oak_door_top.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index d6ffbe8fe0..eb3f89d076 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -66,6 +66,87 @@ public ItemModelGenerator(ItemModelOutput output, BiConsumerlwq>TKQvcQQ=>MYSmjHgXpYf*oIfr0M;W7f4!P6h@Bi4xa{lHmNblJdl&REB`W z%)AmkKi3ciQ$0gH^X_ZkErDvbrABzBd3tIwZ~!^13{s4&42(dQ7Z6KB*+D?I1|u_A zoC(M_WMpCx0Mb!FoY~F-7S95*fuNpYe;Fgg3uXp5jbat z%C;LF?s&)ka)tEo6S~KEHYph|_O(7E>=kHizj@AwsDB67zCZi8D~8qQ-q~n|3`xcf w<&qmFFW~*XoaJYmtg5|(#$L%&M}Dv_crS2v6aS@Uvq7%&boFyt=akR{0ANpu-2eap delta 247 zcmVy27Q!G5 z1S4P(72>68l~VKnU+D&D%>ySp%-N6#5uR;GXlD#r+cUo1elX;{?+D-!j!;$va5@J# zF)R71)5Krb8(B8lAdrHB4tdVlilt!4nU&(oMoF%znx xB$p=C(v)mjzD=k=B*wDLb?X4LE*oeg@&j8x6k)EG3s3+6002ovPDHLkV1f*8W7q%y From c2c566c4ffa3df247b057298df9cc18186f958dd Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:37:25 -0600 Subject: [PATCH 075/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 148 +++++++++++++++++- .../items/alpha_yeti_banner_pattern.json | 6 + .../twilightforest/items/alpha_yeti_fur.json | 6 + .../twilightforest/items/arctic_fur.json | 6 + .../twilightforest/items/armor_shard.json | 6 + .../items/armor_shard_cluster.json | 6 + .../twilightforest/items/canopy_boat.json | 6 + .../items/canopy_chest_boat.json | 6 + .../twilightforest/items/carminite.json | 6 + .../items/charm_of_keeping_1.json | 6 + .../items/charm_of_keeping_2.json | 6 + .../items/charm_of_keeping_3.json | 6 + .../twilightforest/items/charm_of_life_1.json | 6 + .../twilightforest/items/charm_of_life_2.json | 6 + .../twilightforest/items/cooked_meef.json | 6 + .../twilightforest/items/cooked_venison.json | 6 + .../twilightforest/items/crown_splinter.json | 6 + .../twilightforest/items/dark_boat.json | 6 + .../twilightforest/items/dark_chest_boat.json | 6 + .../twilightforest/items/fiery_blood.json | 6 + .../twilightforest/items/fiery_ingot.json | 6 + .../twilightforest/items/fiery_tears.json | 6 + .../items/hydra_banner_pattern.json | 6 + .../twilightforest/items/hydra_chop.json | 6 + .../twilightforest/items/ironwood_ingot.json | 6 + .../items/knight_phantom_banner_pattern.json | 6 + .../items/knightmetal_ingot.json | 6 + .../items/knightmetal_ring.json | 6 + .../items/lich_banner_pattern.json | 6 + .../assets/twilightforest/items/liveroot.json | 6 + .../twilightforest/items/magic_beans.json | 6 + .../twilightforest/items/magic_map.json | 6 + .../twilightforest/items/magic_map_focus.json | 6 + .../twilightforest/items/mangrove_boat.json | 6 + .../items/mangrove_chest_boat.json | 6 + .../assets/twilightforest/items/maze_map.json | 6 + .../twilightforest/items/maze_map_focus.json | 6 + .../twilightforest/items/maze_wafer.json | 6 + .../twilightforest/items/meef_stroganoff.json | 6 + .../twilightforest/items/mining_boat.json | 6 + .../items/mining_chest_boat.json | 6 + .../items/minoshroom_banner_pattern.json | 6 + .../items/music_disc_findings.json | 6 + .../twilightforest/items/music_disc_home.json | 6 + .../items/music_disc_maker.json | 6 + .../items/music_disc_motion.json | 6 + .../items/music_disc_radiance.json | 6 + .../items/music_disc_steps.json | 6 + .../items/music_disc_superstitious.json | 6 + .../items/music_disc_thread.json | 6 + .../items/music_disc_wayfarer.json | 6 + .../items/naga_banner_pattern.json | 6 + .../twilightforest/items/naga_scale.json | 6 + .../assets/twilightforest/items/ore_map.json | 6 + .../items/quest_ram_banner_pattern.json | 6 + .../twilightforest/items/raven_feather.json | 6 + .../twilightforest/items/raw_ironwood.json | 6 + .../assets/twilightforest/items/raw_meef.json | 6 + .../twilightforest/items/raw_venison.json | 6 + .../items/snow_queen_banner_pattern.json | 6 + .../twilightforest/items/sorting_boat.json | 6 + .../items/sorting_chest_boat.json | 6 + .../twilightforest/items/steeleaf_ingot.json | 6 + .../twilightforest/items/time_boat.json | 6 + .../twilightforest/items/time_chest_boat.json | 6 + .../twilightforest/items/torchberries.json | 6 + .../twilightforest/items/tower_key.json | 6 + .../items/transformation_boat.json | 6 + .../items/transformation_chest_boat.json | 6 + .../items/transformation_powder.json | 6 + .../items/twilight_oak_boat.json | 6 + .../items/twilight_oak_chest_boat.json | 6 + .../items/ur_ghast_banner_pattern.json | 6 + .../items/wrought_iron_bar.json | 6 + .../item/alpha_yeti_banner_pattern.json | 6 + .../models/item/alpha_yeti_fur.json | 6 + .../models/item/arctic_fur.json | 6 + .../models/item/armor_shard.json | 6 + .../models/item/armor_shard_cluster.json | 6 + .../models/item/canopy_boat.json | 6 + .../models/item/canopy_chest_boat.json | 7 + .../twilightforest/models/item/carminite.json | 6 + .../models/item/charm_of_keeping_1.json | 6 + .../models/item/charm_of_keeping_2.json | 6 + .../models/item/charm_of_keeping_3.json | 6 + .../models/item/charm_of_life_1.json | 6 + .../models/item/charm_of_life_2.json | 6 + .../models/item/cooked_meef.json | 6 + .../models/item/cooked_venison.json | 6 + .../models/item/crown_splinter.json | 6 + .../twilightforest/models/item/dark_boat.json | 6 + .../models/item/dark_chest_boat.json | 7 + .../models/item/fiery_blood.json | 6 + .../models/item/fiery_ingot.json | 6 + .../models/item/fiery_tears.json | 6 + .../models/item/hydra_banner_pattern.json | 6 + .../models/item/hydra_chop.json | 6 + .../models/item/ironwood_ingot.json | 6 + .../item/knight_phantom_banner_pattern.json | 6 + .../models/item/knightmetal_ingot.json | 6 + .../models/item/knightmetal_ring.json | 6 + .../models/item/lich_banner_pattern.json | 6 + .../twilightforest/models/item/liveroot.json | 6 + .../models/item/magic_beans.json | 6 + .../twilightforest/models/item/magic_map.json | 6 + .../models/item/magic_map_focus.json | 6 + .../models/item/mangrove_boat.json | 6 + .../models/item/mangrove_chest_boat.json | 7 + .../twilightforest/models/item/maze_map.json | 6 + .../models/item/maze_map_focus.json | 6 + .../models/item/maze_wafer.json | 6 + .../models/item/meef_stroganoff.json | 6 + .../models/item/mining_boat.json | 6 + .../models/item/mining_chest_boat.json | 7 + .../item/minoshroom_banner_pattern.json | 6 + .../models/item/music_disc_findings.json | 6 + .../models/item/music_disc_home.json | 6 + .../models/item/music_disc_maker.json | 6 + .../models/item/music_disc_motion.json | 6 + .../models/item/music_disc_radiance.json | 6 + .../models/item/music_disc_steps.json | 6 + .../models/item/music_disc_superstitious.json | 6 + .../models/item/music_disc_thread.json | 6 + .../models/item/music_disc_wayfarer.json | 6 + .../models/item/naga_banner_pattern.json | 6 + .../models/item/naga_scale.json | 6 + .../twilightforest/models/item/ore_map.json | 6 + .../models/item/quest_ram_banner_pattern.json | 6 + .../models/item/raven_feather.json | 6 + .../models/item/raw_ironwood.json | 6 + .../twilightforest/models/item/raw_meef.json | 6 + .../models/item/raw_venison.json | 6 + .../item/snow_queen_banner_pattern.json | 6 + .../models/item/sorting_boat.json | 6 + .../models/item/sorting_chest_boat.json | 7 + .../models/item/steeleaf_ingot.json | 6 + .../twilightforest/models/item/time_boat.json | 6 + .../models/item/time_chest_boat.json | 7 + .../models/item/torchberries.json | 6 + .../twilightforest/models/item/tower_key.json | 6 + .../models/item/transformation_boat.json | 6 + .../item/transformation_chest_boat.json | 7 + .../models/item/transformation_powder.json | 6 + .../models/item/twilight_oak_boat.json | 6 + .../models/item/twilight_oak_chest_boat.json | 7 + .../models/item/ur_ghast_banner_pattern.json | 6 + .../models/item/wrought_iron_bar.json | 6 + 147 files changed, 1031 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/items/alpha_yeti_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/alpha_yeti_fur.json create mode 100644 src/generated/resources/assets/twilightforest/items/arctic_fur.json create mode 100644 src/generated/resources/assets/twilightforest/items/armor_shard.json create mode 100644 src/generated/resources/assets/twilightforest/items/armor_shard_cluster.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite.json create mode 100644 src/generated/resources/assets/twilightforest/items/charm_of_keeping_1.json create mode 100644 src/generated/resources/assets/twilightforest/items/charm_of_keeping_2.json create mode 100644 src/generated/resources/assets/twilightforest/items/charm_of_keeping_3.json create mode 100644 src/generated/resources/assets/twilightforest/items/charm_of_life_1.json create mode 100644 src/generated/resources/assets/twilightforest/items/charm_of_life_2.json create mode 100644 src/generated/resources/assets/twilightforest/items/cooked_meef.json create mode 100644 src/generated/resources/assets/twilightforest/items/cooked_venison.json create mode 100644 src/generated/resources/assets/twilightforest/items/crown_splinter.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_blood.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_tears.json create mode 100644 src/generated/resources/assets/twilightforest/items/hydra_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/hydra_chop.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/items/knight_phantom_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_ring.json create mode 100644 src/generated/resources/assets/twilightforest/items/lich_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/liveroot.json create mode 100644 src/generated/resources/assets/twilightforest/items/magic_beans.json create mode 100644 src/generated/resources/assets/twilightforest/items/magic_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/magic_map_focus.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/maze_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/maze_map_focus.json create mode 100644 src/generated/resources/assets/twilightforest/items/maze_wafer.json create mode 100644 src/generated/resources/assets/twilightforest/items/meef_stroganoff.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/minoshroom_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_findings.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_home.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_maker.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_motion.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_radiance.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_steps.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_superstitious.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_thread.json create mode 100644 src/generated/resources/assets/twilightforest/items/music_disc_wayfarer.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_scale.json create mode 100644 src/generated/resources/assets/twilightforest/items/ore_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/quest_ram_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/raven_feather.json create mode 100644 src/generated/resources/assets/twilightforest/items/raw_ironwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/raw_meef.json create mode 100644 src/generated/resources/assets/twilightforest/items/raw_venison.json create mode 100644 src/generated/resources/assets/twilightforest/items/snow_queen_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/torchberries.json create mode 100644 src/generated/resources/assets/twilightforest/items/tower_key.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_powder.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/items/ur_ghast_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/items/wrought_iron_bar.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/arctic_fur.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/armor_shard.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/carminite.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/cooked_meef.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/cooked_venison.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/crown_splinter.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_blood.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiery_tears.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/hydra_chop.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/liveroot.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_beans.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/maze_wafer.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_home.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/naga_scale.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ore_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/raven_feather.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_meef.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/raw_venison.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/torchberries.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/tower_key.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_powder.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 31a3b10a47..3dd7e1c8ac 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-04T17:50:36.7005102 Model Definitions - twilightforest +// 1.21.4 2025-04-04T20:21:28.4687285 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -161,16 +161,21 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_wall_skull_candle.json +b76770f252018a0a33cfd6087130ae793b80c778 assets/twilightforest/items/alpha_yeti_banner_pattern.json b7780075e20499c3fd06f7afc881eb8e472a7609 assets/twilightforest/items/alpha_yeti_boss_spawner.json +07e7f90ce6ec6d18812fa21c73f9e0232d73275c assets/twilightforest/items/alpha_yeti_fur.json af59f4db3593e9cc0f3c96ef25e5aa6f1bdb1155 assets/twilightforest/items/alpha_yeti_spawn_egg.json 449407f4c779d6a9617e552e861dc9581001867b assets/twilightforest/items/alpha_yeti_trophy.json 92d0a73026c975799bf3a2e86562acb5d2af854e assets/twilightforest/items/antibuilder.json dc533bc013f6c5b6ed7c410d14fc721128c0a9c2 assets/twilightforest/items/arctic_boots.json b930d02421e3fd932917dd75854a47b3a8c3fca2 assets/twilightforest/items/arctic_chestplate.json +9ffc2d225474bf03d2690f423eaad0a5c9165ad8 assets/twilightforest/items/arctic_fur.json a964f4cddd0c2aa08817c8bcbeb75ec4eca41234 assets/twilightforest/items/arctic_fur_block.json f2a59ac53a4650eca48bc87ea5925dddfa448510 assets/twilightforest/items/arctic_helmet.json 7b7c5c3a80747cb10f1577cc80c645ed26d8137d assets/twilightforest/items/arctic_leggings.json e81f61d50559025a7d12ea4e684d061b53bff728 assets/twilightforest/items/armored_giant_spawn_egg.json +49913b0c0eeb57dd580b61e8f29d1f80e53a381d assets/twilightforest/items/armor_shard.json +795e07220a74e2680608e0ca10a19f7c8d194f6c assets/twilightforest/items/armor_shard_cluster.json f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_sheep_spawn_egg.json 7ebddc418373224ebd3f09bb32be57026aabedc9 assets/twilightforest/items/block_and_chain.json @@ -184,8 +189,10 @@ ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorns.json 7fcee9a21dc23e5a2947d6bc3a7dd8ab95377639 assets/twilightforest/items/burnt_thorns.json 94bcb56bc2cda362bb8af7792cd204abf879e9ec assets/twilightforest/items/candelabra.json +f638f4b325aee0e97537a12bcd4763e9d2a458a4 assets/twilightforest/items/canopy_boat.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json 292cd3e4cb30952e1be94a9f49d885ed81c9b2f5 assets/twilightforest/items/canopy_chest.json +3e3be9263ae59578af07d429e62cd29db30bca20 assets/twilightforest/items/canopy_chest_boat.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json e63d42e422dbaeae73f2a23366bae6b04cf4db32 assets/twilightforest/items/canopy_sign.json @@ -193,15 +200,26 @@ f6794ac9e3cacc031d5d3de1c1444da066bf7df2 assets/twilightforest/items/canopy_slab ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stairs.json 2476e0a8a188c8aa8c53c0fb89b2d4bd5a49a59a assets/twilightforest/items/canopy_trapdoor.json 34b8ed1fb062d06958f977bf6b4b231127d7f386 assets/twilightforest/items/canopy_trapped_chest.json +8357c3180197507bc520d84941553c1b036bea13 assets/twilightforest/items/carminite.json 5de6a2921cb6962beadbf3a658b05e2226125d04 assets/twilightforest/items/carminite_broodling_spawn_egg.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/carminite_ghastguard_spawn_egg.json b65f46e982e991ee9baa05d34d46cd7f4a6daf1a assets/twilightforest/items/carminite_ghastling_spawn_egg.json 7709b3bedf4e16f0e1a39f2847aad02068a0913b assets/twilightforest/items/carminite_golem_spawn_egg.json +6ebeffd6ca3e83284ff033a4e1eb24176b66fafe assets/twilightforest/items/charm_of_keeping_1.json +85adfcc638bf8aabcf87f177fb43686186c59647 assets/twilightforest/items/charm_of_keeping_2.json +f3090265d1ad74026a480ce7e7da412432c18072 assets/twilightforest/items/charm_of_keeping_3.json +b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_life_1.json +9d9add66835aa568375957104b83886b6438b293 assets/twilightforest/items/charm_of_life_2.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json +bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json +e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json +751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json +be1df433c582f223dbb853c9bcc94786de548b1e assets/twilightforest/items/dark_boat.json 7b7733be9f39aaf88531a6e5a0c97283f8aa1276 assets/twilightforest/items/dark_button.json f69cb43411d85270281d69db67358e8428c0b311 assets/twilightforest/items/dark_chest.json +35ae976d3f2d089bec4c40ba6ac88ba7893e6528 assets/twilightforest/items/dark_chest_boat.json b17b10d6537efdf7119e1ae28ad426c15977c3da assets/twilightforest/items/dark_door.json d03877282b2f1d824191e28ebd72c152b14589b7 assets/twilightforest/items/dark_fence.json a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.json @@ -215,12 +233,15 @@ ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_ 570191864a35a929cb86cea7eecfe7b17a791f53 assets/twilightforest/items/dwarf_rabbit_spawn_egg.json 0b59b49ed7a33fab84dd81ad54c18cb88466234e assets/twilightforest/items/emperors_cloth.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json +00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json 5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json 3f1881cdf29805aec5c954f48ef012288852b2c1 assets/twilightforest/items/fiery_chestplate.json e6206ce872b9cb28f0428b845ba29d9de1b80833 assets/twilightforest/items/fiery_helmet.json +18d94b09bf8a9938bfd7840505c8211bc6bafd35 assets/twilightforest/items/fiery_ingot.json 826a8ed33be1eb0c2988f837b95392ef0dca22b8 assets/twilightforest/items/fiery_leggings.json 1fc7d31a4c8c53ec1c52e6a35170362d185e2632 assets/twilightforest/items/fiery_pickaxe.json ec64f43ef15c68543432ab55a98f1965aa8752fd assets/twilightforest/items/fiery_sword.json +d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears.json 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json @@ -234,7 +255,9 @@ d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorn 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json 765ccf231d90da2cc5ad37f74ef37abb59eb03c2 assets/twilightforest/items/hostile_wolf_spawn_egg.json +2a5457ab1cb1129303f5e45499504213f5fb7b92 assets/twilightforest/items/hydra_banner_pattern.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json +37df4662aef8f239309c335b00434919d7ff5d13 assets/twilightforest/items/hydra_chop.json afefb675e9bbced9bd53c66f20655891283a69f2 assets/twilightforest/items/hydra_spawn_egg.json 62f6f000e39e09a991c25af5a1b938dbcf05399f assets/twilightforest/items/hydra_trophy.json ff07b15ba9afd5f2b1ff3e75da7dc6b8240d046b assets/twilightforest/items/ice_bomb.json @@ -246,6 +269,7 @@ ab18463d2adeacfe78df2ee1845e156f3b4de9ce assets/twilightforest/items/ironwood_bo 586f1c8ed37825f8259e866f5f26133e6575a0b5 assets/twilightforest/items/ironwood_chestplate.json f2a55657a9707855668b121d5f96cf4a6b2ff249 assets/twilightforest/items/ironwood_helmet.json 568c6d99e900fc5239b605cb26ecc65816098613 assets/twilightforest/items/ironwood_hoe.json +43dbf6ae9ddc6610dadf7ae440b78f553c3e0224 assets/twilightforest/items/ironwood_ingot.json c62e20368ba3b20cef54a4398bc9da078bc65ab1 assets/twilightforest/items/ironwood_leggings.json dc447f17993ed6305b89e74756fa0e3aa16d79ae assets/twilightforest/items/ironwood_pickaxe.json 962c4db843e066ca397125423387661d3f7d8d12 assets/twilightforest/items/ironwood_shovel.json @@ -256,22 +280,32 @@ e08340fac56bb2ee5092c938bebd806e70a9e70f assets/twilightforest/items/knightmetal 611fa33a86b4865e6e291ca6d21b584009fb1798 assets/twilightforest/items/knightmetal_boots.json 76504795018be01a9ebe85d48303b0648b1abcf2 assets/twilightforest/items/knightmetal_chestplate.json a28f45173660872abb5b9b89e0915e995565307e assets/twilightforest/items/knightmetal_helmet.json +8429eb1da152cedc17a7820c72a40aae5c44da7b assets/twilightforest/items/knightmetal_ingot.json 97e9e49f0defe5a1c243c723d68bf3555fcbac6b assets/twilightforest/items/knightmetal_leggings.json 601eb33c359e5d53ae77fc886fc732232cc66c63 assets/twilightforest/items/knightmetal_pickaxe.json +68258f69f74db60153827ce0599b66e9e201b7bd assets/twilightforest/items/knightmetal_ring.json 56f395668734093d10d658ed11d6c9018cc977f8 assets/twilightforest/items/knightmetal_shield.json d2bf28a281dfe4437e204945ffd0f47dfd104949 assets/twilightforest/items/knightmetal_sword.json +e6a2ed21d4db4f1451818cf0155328a1ad8ca457 assets/twilightforest/items/knight_phantom_banner_pattern.json eeb54f9a457cbeeb747c58b34e05717097c79a84 assets/twilightforest/items/knight_phantom_boss_spawner.json 59d9f157a82bf9b8a56193964c7836d0b51c9579 assets/twilightforest/items/knight_phantom_spawn_egg.json 00b7b42db2bb3fa6cfc276d3cc2b775ecb5c899d assets/twilightforest/items/knight_phantom_trophy.json faf0838cbfd609897d4aa0d294f1e65264f5897f assets/twilightforest/items/kobold_spawn_egg.json ba05966543734a4abd1b38e07b7a732a56f05b16 assets/twilightforest/items/lamp_of_cinders.json +80ae50ac2cbb6d3280918a8631af489f7e228c27 assets/twilightforest/items/lich_banner_pattern.json 7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json b253e2726dc40da9667d77285f6194204bb43e03 assets/twilightforest/items/lich_spawn_egg.json d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy.json a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_scepter.json +5e5cc29ff6d40efbb6da932d4f4b00b4b04e058a assets/twilightforest/items/liveroot.json 1a3b6e462423c661cba82eb1f4aec0717ad92fa3 assets/twilightforest/items/lower_goblin_knight_spawn_egg.json +9a55e1f732bd74619934d4e50d34d86fdbfc5b86 assets/twilightforest/items/magic_beans.json +c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.json +8fd4c876c03bb5702cb354d118ea9123ccfd557f assets/twilightforest/items/magic_map_focus.json +90fa384247127e230b028244c6b598086146a491 assets/twilightforest/items/mangrove_boat.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json 8c6e65ada3aec317a8b012b7331031f802b41a68 assets/twilightforest/items/mangrove_chest.json +f4ce9fd6b764294f5898ff6b2e486306b9d353af assets/twilightforest/items/mangrove_chest_boat.json f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_door.json 5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json 524b384be940b212c5a3ea9cdae2c6b08c98b800 assets/twilightforest/items/mangrove_sign.json @@ -280,9 +314,15 @@ f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_do a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json 63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json +99acc7324de28707234411b59e0eea3f89af9495 assets/twilightforest/items/maze_map.json +55b6fb716280fa0bd4452a4f7e2780a238c6ffc7 assets/twilightforest/items/maze_map_focus.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/maze_slime_spawn_egg.json +b428f9c4c51b53d40b48cf481fcc15f7907c5b5d assets/twilightforest/items/maze_wafer.json +3567ae0aaad2ba5707f541eaeac2254842938576 assets/twilightforest/items/meef_stroganoff.json +83a1762ea999d21d64d237b14c2763bfb718b6f1 assets/twilightforest/items/mining_boat.json fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_button.json 38bcfeea7ff67a428c694981e1ddbb388ded256b assets/twilightforest/items/mining_chest.json +1f756e440c80f74aa363bbd2e2c88f166d937ae5 assets/twilightforest/items/mining_chest_boat.json 327b57f3c1645a709e646ba7101152a521d5d76b assets/twilightforest/items/mining_door.json e72eef8781e605865ce6cd1f5311a0b3c767dbdc assets/twilightforest/items/mining_fence.json e8a66df2bf3e1f6a9e84bac4c1c09e4fc56c2848 assets/twilightforest/items/mining_sign.json @@ -290,6 +330,7 @@ e889009d9681774dbc370b0c630366d49abe95fe assets/twilightforest/items/mining_slab 2d32082ac1f2517b6c3ea3731adcb5e099b4fe3b assets/twilightforest/items/mining_stairs.json 6703b965683fbf38794397a4ce743647a05e7451 assets/twilightforest/items/mining_trapdoor.json 5e2b769a9d9a605adb2910316d14e2e4d1199735 assets/twilightforest/items/mining_trapped_chest.json +e32ac52b700d34937495b27479bf92f9e9a712cb assets/twilightforest/items/minoshroom_banner_pattern.json adae1e7d2c2941d7ecf3f7969fc91e74819e0a66 assets/twilightforest/items/minoshroom_boss_spawner.json ada89dbf3cf944737aeef4c23a6da9d720965858 assets/twilightforest/items/minoshroom_spawn_egg.json 2e94de99211def115d38d2a963cd41fcc360f947 assets/twilightforest/items/minoshroom_trophy.json @@ -299,13 +340,25 @@ fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_s 9325cfe5fbe9be707e60e5705a7d24b7bdd219ce assets/twilightforest/items/moonworm_queen.json ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json +dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json +b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json +81eecea93538d3fc3f423c7772d63a0785db8bc3 assets/twilightforest/items/music_disc_maker.json +36efb9a3255834619ed2f70eef7296687239a563 assets/twilightforest/items/music_disc_motion.json +09084d23d7dec662bd0a5c6a165002afa65237e9 assets/twilightforest/items/music_disc_radiance.json +f035a304d86bd5972da1837efcedf0dfe39d4004 assets/twilightforest/items/music_disc_steps.json +1644fbf0ca3a78dd8bd207c9d894a9d6f5e53175 assets/twilightforest/items/music_disc_superstitious.json +b9e27b15ac9a50ddaa84943f0d55138f3a1f3d9e assets/twilightforest/items/music_disc_thread.json +2bd751399010366f0dd89a7d7d128a108caba6c0 assets/twilightforest/items/music_disc_wayfarer.json ea9e8e2ab39b78ff0a7963cb8354fc4f52800fcd assets/twilightforest/items/mystic_crown.json +819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json 272ae773763fd54d52adc5b4ba6bd8f3f61161ed assets/twilightforest/items/naga_leggings.json +d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json 825d5e28fe55175fd3b92366bb7c9f457276f760 assets/twilightforest/items/ore_magnet.json +02d53639ab94a68e5a24566cb3f0bb2f6cdf4fe5 assets/twilightforest/items/ore_map.json 5fd1c9fe44bb415056e270ccf58d5c888fa5e9a8 assets/twilightforest/items/ore_meter.json a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_feather_fan.json 2a0a14f57f18f9c7394596fe62851aab1b7cc173 assets/twilightforest/items/penguin_spawn_egg.json @@ -315,9 +368,14 @@ b0b3135c120309d94aae084ca9c3bb51366ecfd3 assets/twilightforest/items/piglin_skul c435748849792db1afe8503c17d266e52a20d7a4 assets/twilightforest/items/pinch_beetle_spawn_egg.json ba095c9b3a3ab5881246bb1ea93bd4ee0b61e18a assets/twilightforest/items/player_skull_candle.json b0149b1000e8ea6417cd26f4c90f42e9280fd05f assets/twilightforest/items/pocket_watch.json +dcd51affeee0819cb80e3e30aaf02332d0856998 assets/twilightforest/items/quest_ram_banner_pattern.json 935291084d44e069679fe938f64d9d84abc6002f assets/twilightforest/items/quest_ram_spawn_egg.json 1bb04c85e1c23e6687e96a8d9e1c73bbad299ee2 assets/twilightforest/items/quest_ram_trophy.json +d0506f746bc4f2c5133dfffa619099cce63ce04e assets/twilightforest/items/raven_feather.json 44839fbcbf7b5d1b7db67a14519633c138ca8066 assets/twilightforest/items/raven_spawn_egg.json +771501bd164045744ea9ba04620d916b25c532ce assets/twilightforest/items/raw_ironwood.json +1538036cbfcc4bc73b85061e0c98ee74151c774d assets/twilightforest/items/raw_meef.json +f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison.json d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json @@ -326,11 +384,14 @@ e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow. ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json 6628bed4171446ef359c5f9549fc36c1398a7682 assets/twilightforest/items/slime_beetle_spawn_egg.json e8f74696a70e4c1c3173b933237b46298bf85183 assets/twilightforest/items/snow_guardian_spawn_egg.json +c38044967da9ee3cab599d117bddf8867d2fb671 assets/twilightforest/items/snow_queen_banner_pattern.json 238107c9dd762703912b51c1523c7b5da2b90375 assets/twilightforest/items/snow_queen_boss_spawner.json 329a463cab4596fc2915a3e77519c22d14d052dd assets/twilightforest/items/snow_queen_spawn_egg.json 8567a22163d18577732ae66117eeba78ac191465 assets/twilightforest/items/snow_queen_trophy.json +5d751c60ce4ae3023bb90aeff4498aab3b42ef69 assets/twilightforest/items/sorting_boat.json 7c8e8ecfeacf342741493c5db39fed961fd0e90f assets/twilightforest/items/sorting_button.json fa45a09f32b8c553c88ba5d3b197ac93fdbd6a9e assets/twilightforest/items/sorting_chest.json +d6cf732e9be383c54e14c264312694d8ddb33566 assets/twilightforest/items/sorting_chest_boat.json efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_door.json a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json 57bb37605c08be17ebf235e11151a88a94bb3a23 assets/twilightforest/items/sorting_sign.json @@ -345,13 +406,16 @@ e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_ d171b572dcb3e29afa2c69ca678f53a028256345 assets/twilightforest/items/steeleaf_chestplate.json bfcb0fb4a9a3b3c4b60e3c89a82d6f874149eb3b assets/twilightforest/items/steeleaf_helmet.json 18edb9efd77aada4de58eb2e84d72819774ee5fc assets/twilightforest/items/steeleaf_hoe.json +b867a06dd9b89f165567e68789a447402c7628c9 assets/twilightforest/items/steeleaf_ingot.json c24118034b160633ebbb7b9f135aa912172b9025 assets/twilightforest/items/steeleaf_leggings.json b20ffb1154e72227b57df2c480b7bbc24e64cdf0 assets/twilightforest/items/steeleaf_pickaxe.json 547a4491e7a84ec55e67c2754edcccdec48be0c3 assets/twilightforest/items/steeleaf_shovel.json 90acba09626132f58266a37901a1c636093c400a assets/twilightforest/items/steeleaf_sword.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json +05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json 65b6f9e05612a8b1c2dd36f19befba666b044d8d assets/twilightforest/items/time_chest.json +400c5593131656146d5317c838bba0108b3e8852 assets/twilightforest/items/time_chest_boat.json a8123fb380b321df3c65a4b4c7d2eddaa0f318e1 assets/twilightforest/items/time_door.json cfad4f919c9562b48a0dee337e2e50147c9d5ba3 assets/twilightforest/items/time_fence.json 6afd9ce266bcb06e865788a83ee43e0a4164c509 assets/twilightforest/items/time_sign.json @@ -360,11 +424,16 @@ e58a9d72ba3bf6e9964f8a1215cd2ed970d9466f assets/twilightforest/items/time_stairs 3e922a20d29b255e44396f3c53deca9651f0909a assets/twilightforest/items/time_trapdoor.json b267b296b49b21fed10796bf79413db2e36c462e assets/twilightforest/items/time_trapped_chest.json 3cf2a82932ac9fa5013df3776317ccd871cf5575 assets/twilightforest/items/tiny_bird_spawn_egg.json +d53d8b7413c628be178d083a8f64f4d3f9d17fc0 assets/twilightforest/items/torchberries.json 5e9cef6a1f45ed443fda7ad958b128bba5001e39 assets/twilightforest/items/towerwood_borer_spawn_egg.json +f8aa6d55806c1b8c0005089a8263fbaee6c79a5a assets/twilightforest/items/tower_key.json +9a273b66d311af26faf0c035c309c621d800dfd1 assets/twilightforest/items/transformation_boat.json 29c965cb7a2101eecc044fbf1835ad3b84c3a55b assets/twilightforest/items/transformation_button.json e9c8ab14d47cc6b34767ad0eb64cea8bd9c5a854 assets/twilightforest/items/transformation_chest.json +2ba7974e3f43c6cfd4a1472827cfd403ed9fa573 assets/twilightforest/items/transformation_chest_boat.json 7d2bedc90008402f4b941c7208c749326bb5595f assets/twilightforest/items/transformation_door.json cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformation_fence.json +7f43bf7615605c61e66f7648d38abb8a91993bbf assets/twilightforest/items/transformation_powder.json 4f9711c64ae4166d017a3aa88a7a17b366b150c7 assets/twilightforest/items/transformation_sign.json 1d58e633de954e23f44ab4028cfd901cf1583144 assets/twilightforest/items/transformation_slab.json 3292e90a35a6a5e8a2987c5ff9ac5d0b91e75c32 assets/twilightforest/items/transformation_stairs.json @@ -372,8 +441,10 @@ aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformat 350b6827bdb83e3a70c6b41fdd0ad49c3c149988 assets/twilightforest/items/transformation_trapped_chest.json d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json 09c880a29a70bf52f5b853baf5f8f6ca687af89c assets/twilightforest/items/troll_spawn_egg.json +f1513a74b266ffb650db5620a870f3517b1a8b9a assets/twilightforest/items/twilight_oak_boat.json a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json 4dc8250199d640a471d6eb690ef3b0d2e2025960 assets/twilightforest/items/twilight_oak_chest.json +0f15d4c36aaef690fb28fad9111a466983839bcd assets/twilightforest/items/twilight_oak_chest_boat.json 1848300974d7949375074ee120ca895c20958398 assets/twilightforest/items/twilight_oak_door.json 799ba91c5597ffc7c325ccfab2c5618dad5a3632 assets/twilightforest/items/twilight_oak_fence.json 3b49532aea4be5595f6112b0bd0954bf45ab65bd assets/twilightforest/items/twilight_oak_sign.json @@ -383,12 +454,14 @@ b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oa 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json +f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_banner_pattern.json d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json +b0128f391cf1f606c994e27bc22f33c412435a6c assets/twilightforest/items/wrought_iron_bar.json bd33d6ac91ffa73751e13dcc873be5c944827516 assets/twilightforest/items/yeti_boots.json 4847da0e6925d4a6382016b99c2fd6e40bb47358 assets/twilightforest/items/yeti_chestplate.json 1b067dd65e955ab6f0421dc3fc29e7b340f483ce assets/twilightforest/items/yeti_helmet.json @@ -699,6 +772,8 @@ db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twil 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json +274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json c38f28cc96caa2803b776e82a25f825d6bcc8680 assets/twilightforest/models/item/arctic_boots.json ad53be4ddd9d2537744f06500870cb4854814d00 assets/twilightforest/models/item/arctic_boots_amethyst_trim.json b041f76f8bd71e9b064a18de4d26266c51284d9b assets/twilightforest/models/item/arctic_boots_carminite_trim.json @@ -735,6 +810,7 @@ db0cf4d19d038cef9b59dfa6eeb7930d940c6501 assets/twilightforest/models/item/arcti 37b5c31730bba9013a19394b96d4cc83a9639687 assets/twilightforest/models/item/arctic_chestplate_redstone_trim.json 77245ac53136c4ef7673f41a658021fc2bf45e30 assets/twilightforest/models/item/arctic_chestplate_resin_trim.json 85e5518dd1e05779e865472f4a62c6e6f1e34790 assets/twilightforest/models/item/arctic_chestplate_steeleaf_trim.json +43aefce702a3d2f7e1d77cc74ebbe4b71b31edc7 assets/twilightforest/models/item/arctic_fur.json a882e6162e143504ef43180340619e394ff9b80f assets/twilightforest/models/item/arctic_helmet.json e0761afa800e9b3ff6f5c840fbab381542bf84a9 assets/twilightforest/models/item/arctic_helmet_amethyst_trim.json 19991bdcd69454d6bb1bd0d571141c1e94eb68c9 assets/twilightforest/models/item/arctic_helmet_carminite_trim.json @@ -771,15 +847,30 @@ b0c6f8838b5dc1f8d85e43a9192ca9deff189e28 assets/twilightforest/models/item/arcti f3218bf08a13dab44f8e4c68febe25c4470ac835 assets/twilightforest/models/item/arctic_leggings_redstone_trim.json d9b538a65a3195254d3d684fa591210d80fd5968 assets/twilightforest/models/item/arctic_leggings_resin_trim.json 6652e7504c9c271d00232265a3302944deb44794 assets/twilightforest/models/item/arctic_leggings_steeleaf_trim.json +0efc097cbb44aa1a043e535d92cefcdf2ccfce70 assets/twilightforest/models/item/armor_shard.json +cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor_shard_cluster.json cb7cc09776f8428aedf36ac18683f1c1a1ecc744 assets/twilightforest/models/item/block_and_chain.json ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json +f530b5269751cdcc82e3e8c32377525d10d714e7 assets/twilightforest/models/item/canopy_boat.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_chest.json +e1139510edd55c4d52f005d55dc60b8df95badd4 assets/twilightforest/models/item/canopy_chest_boat.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_trapped_chest.json +b64a0f7415d168bdff399cab1809a75e11190a14 assets/twilightforest/models/item/carminite.json +222ce8147a8764473227191fe2e2c05797ca0a43 assets/twilightforest/models/item/charm_of_keeping_1.json +763a6980808455c71b2ad6467f55f7c7e057715f assets/twilightforest/models/item/charm_of_keeping_2.json +c50f26fad82a552662a94f174591373b8f80e4a2 assets/twilightforest/models/item/charm_of_keeping_3.json +df0898c30d4de00dbea13cb826421b02d2fbb58d assets/twilightforest/models/item/charm_of_life_1.json +d3a3e3ad93428c961cd3665623af8d0f92c59b9b assets/twilightforest/models/item/charm_of_life_2.json +672edc91d696882be7a512bd4b0016095d10bd5b assets/twilightforest/models/item/cooked_meef.json +55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json +26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json f49a7461b6de4822b4190d497c6db54a7c5d8721 assets/twilightforest/models/item/crumble_horn.json +8b091e6bdefce5c8702babeb30bd1e889ba085f0 assets/twilightforest/models/item/dark_boat.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_chest.json +a82c0dbb4b3d5ef84c07c3b106c2f2eb5c7ea8ce assets/twilightforest/models/item/dark_chest_boat.json 5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json eabcc78bb30aef9eb11d6f55ff944b8623f85eda assets/twilightforest/models/item/dark_sign.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_trapped_chest.json @@ -789,6 +880,7 @@ bb5f3969ff84f8af6a50b31138ba47c88a1d0f35 assets/twilightforest/models/item/ender 2112c5b4eaa70e8cc5af2223ae96a0668af27ac7 assets/twilightforest/models/item/ender_bow_pulling_0.json 7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json +d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json 3753282055695770ddb4392f231da75edb9508d8 assets/twilightforest/models/item/fiery_boots_amethyst_trim.json dffe8a7a26e30e2b4f5051751fe1b9579b61a098 assets/twilightforest/models/item/fiery_boots_carminite_trim.json @@ -843,6 +935,7 @@ f7f7d76a7d66b37bc6796980a5d18134eb05d6ce assets/twilightforest/models/item/fiery dd4bb85e7ad19471659383b284e7fde953a4c7a5 assets/twilightforest/models/item/fiery_helmet_redstone_trim.json 2364061672fe7674c3eadf3bdd81b86e74a56a30 assets/twilightforest/models/item/fiery_helmet_resin_trim.json 962c016907c13cd135e7ac6327399df6d082dcdb assets/twilightforest/models/item/fiery_helmet_steeleaf_trim.json +014347b78f3680d29f2025ef8b988d8f6bce9f4a assets/twilightforest/models/item/fiery_ingot.json de42d10e78a1f1a44e0c2cf17db686a045c82d8a assets/twilightforest/models/item/fiery_leggings.json 5fbd131960ad9a0a56d706487b68230bc2475ce3 assets/twilightforest/models/item/fiery_leggings_amethyst_trim.json 17a118d4b183275ca2dcae9355e1499a304166b9 assets/twilightforest/models/item/fiery_leggings_carminite_trim.json @@ -863,11 +956,14 @@ be26230c2358b4491b82222bf554e772840e2d24 assets/twilightforest/models/item/fiery cec6499b7351df7be3eefddbb3e276faab8fde0b assets/twilightforest/models/item/fiery_leggings_steeleaf_trim.json a950fc3e879f22ec4bbc6ea73780f31fb49d0813 assets/twilightforest/models/item/fiery_pickaxe.json 5a511fe94d38150879285fe402ee1f4f4600689a assets/twilightforest/models/item/fiery_sword.json +d895c75381c7feefb45bb9b9554f3530b3ab90c6 assets/twilightforest/models/item/fiery_tears.json d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/fortification_scepter.json 3143ff12e27e0c247d02db77b100b891542d5df3 assets/twilightforest/models/item/giant_pickaxe.json f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword.json 9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json +7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json 6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json 6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow.json 6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_0.json @@ -930,6 +1026,7 @@ f1ac5ab337cb5595bc85962899d9054a0600abc0 assets/twilightforest/models/item/ironw 646e1dc71d108b5a25c89c88650aa6137ea1dc20 assets/twilightforest/models/item/ironwood_helmet_resin_trim.json 60d8de5afa266ec4f4c222b020d643aa0e2d2c79 assets/twilightforest/models/item/ironwood_helmet_steeleaf_trim.json b6969dbc99a2524a050e95aae64ab1709dbbb568 assets/twilightforest/models/item/ironwood_hoe.json +f5f097939c84d47532571d2d9b8828b7b64b1463 assets/twilightforest/models/item/ironwood_ingot.json b0f951a4c5d16a7615e570a1ca1ffe39a8bc292c assets/twilightforest/models/item/ironwood_leggings.json f62d7a52a58095d73a37c861a66556fd24585959 assets/twilightforest/models/item/ironwood_leggings_amethyst_trim.json f5988eee90b8fff3cb9bd2209e7b858490efcdd7 assets/twilightforest/models/item/ironwood_leggings_carminite_trim.json @@ -1006,6 +1103,7 @@ ae22b6a0f8af36ddbd17da1688816ae4d90d8c99 assets/twilightforest/models/item/knigh 600e19b783167c906f961eb6ea5016f092797856 assets/twilightforest/models/item/knightmetal_helmet_redstone_trim.json 42cb66d8206f863246e5f2ea206eb1fa0ab58f86 assets/twilightforest/models/item/knightmetal_helmet_resin_trim.json 9bdb3143cac261f3aee3d7db8bf61553fd03f242 assets/twilightforest/models/item/knightmetal_helmet_steeleaf_trim.json +06969ad82a4d9715df890afc384b96a3c3036dd4 assets/twilightforest/models/item/knightmetal_ingot.json b1a659c70a45f376b72cacd0b79587e9e68804db assets/twilightforest/models/item/knightmetal_leggings.json 63729652c2a31ae91bbeb9a3088289839b732f28 assets/twilightforest/models/item/knightmetal_leggings_amethyst_trim.json ff14df00d5818737a3904423bca816274f8bc7be assets/twilightforest/models/item/knightmetal_leggings_carminite_trim.json @@ -1025,19 +1123,35 @@ dce79ff2f9ddf262a1a2d36528aa6eaae37d9c36 assets/twilightforest/models/item/knigh 924336e74694fce0f7d4e9423f500c624cfd9e0b assets/twilightforest/models/item/knightmetal_leggings_resin_trim.json c774373a48dcc917608cf00ac361113ee07982ea assets/twilightforest/models/item/knightmetal_leggings_steeleaf_trim.json d2c0d0336eb105811ec38717128c4f0f344d8523 assets/twilightforest/models/item/knightmetal_pickaxe.json +221fbdcebc9e01c60279953e014254d16333f6ef assets/twilightforest/models/item/knightmetal_ring.json a7ec10a496b1b6935e8dc144efe701e3f5ec7f00 assets/twilightforest/models/item/knightmetal_sword.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/knight_phantom_banner_pattern.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/lich_banner_pattern.json 3a53f9f06ce5624775badac55c78c16a6fa216ff assets/twilightforest/models/item/lifedrain_scepter.json +c1428d0907051e585b83662a7414fcc9b8450fcc assets/twilightforest/models/item/liveroot.json +b488c0e68304fe38b56b843b215bb46abd69fbc3 assets/twilightforest/models/item/magic_beans.json +ff9e2e8376642cf0ae9452f73d2cdd2ae486022e assets/twilightforest/models/item/magic_map.json +3be27be382684a8a3955e7658c54d3d34a6a444c assets/twilightforest/models/item/magic_map_focus.json 44ba301b492f28d0b9bfd8cc87b39c994c056e5d assets/twilightforest/models/item/major_boss_trophy.json +40e9fe30b711daf2712fa6533799c9bbe0c2366e assets/twilightforest/models/item/mangrove_boat.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_chest.json +666035ac619468d481f3f8cd167bbb36d7525a37 assets/twilightforest/models/item/mangrove_chest_boat.json 7ee73611b66cb89a75fd80cb1b662fcd2eec3c21 assets/twilightforest/models/item/mangrove_door.json 8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_trapped_chest.json e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json +134e4c40ccf2bc5f12ce90bbeac261dd6e1398d4 assets/twilightforest/models/item/maze_map.json +3c228cd32f67cd640f1745626c6e775f14a689df assets/twilightforest/models/item/maze_map_focus.json +8038237d661376b29d9de794e043bbabd31925bb assets/twilightforest/models/item/maze_wafer.json +07e884313e400575a2300b39bb59a200b01eca42 assets/twilightforest/models/item/meef_stroganoff.json +aa55f42f900763f4e5681b42608dbb6f8b526fa2 assets/twilightforest/models/item/mining_boat.json 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_chest.json +68b99e7c9446bbe0c7cad1314164dd4d8abccfb9 assets/twilightforest/models/item/mining_chest_boat.json d7a6eb4d66ed3e21ac7c3d19be1cf47cabe3d17c assets/twilightforest/models/item/mining_door.json d9be1b166a22071779c7207d4b61448790b3eb02 assets/twilightforest/models/item/mining_sign.json 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_trapped_chest.json 6bd39542a0254d0e686843560dbdd0cf3f365f54 assets/twilightforest/models/item/minor_boss_trophy.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/minoshroom_banner_pattern.json d40e3d8f69fffa382cbbcce3a1a0bab4b8ec4d02 assets/twilightforest/models/item/moonworm_queen.json 753c68c00312e9fb6878726aa141d11cfa41382d assets/twilightforest/models/item/moonworm_queen_alt.json bc39aeaf2598b4b859946c2d510135c8f0afbaf2 assets/twilightforest/models/item/moon_dial.json @@ -1048,6 +1162,16 @@ a43724058ad36703877dabc13bb9cae62e7cf3b4 assets/twilightforest/models/item/moon_ f50497eaf8b9b253e3df8ec37c8b6868aace7a25 assets/twilightforest/models/item/moon_dial_5.json 2c6786851c5da9148e7654aeeea99fb5bcfa9c4f assets/twilightforest/models/item/moon_dial_6.json 7b800f4ec0fb0930e2452ab1f8a991df09b9fb00 assets/twilightforest/models/item/moon_dial_7.json +4667bfc93feef51b810a8f7de347bf5b441aac34 assets/twilightforest/models/item/music_disc_findings.json +355050bb64d0794b2ba3d005e6d6deac55e6db7c assets/twilightforest/models/item/music_disc_home.json +0c82fd71b5bd134196e9044fa8b91b63a2223d1f assets/twilightforest/models/item/music_disc_maker.json +9c71a5f00d3a638ff5a4583d9e7ee2ebe93c8e46 assets/twilightforest/models/item/music_disc_motion.json +5c667393eb51391e15b21c9e389b3268e66ac4f6 assets/twilightforest/models/item/music_disc_radiance.json +06970c1df8e1b2d0affe7eb1e387c30672d94dde assets/twilightforest/models/item/music_disc_steps.json +ad81b99f934ebe5193da29fc4842215d87e5a865 assets/twilightforest/models/item/music_disc_superstitious.json +2221c06b6db8a99a2e137597dc3db4f06b731887 assets/twilightforest/models/item/music_disc_thread.json +46df6265ada5a171af5295bd9a06db85f7576ca1 assets/twilightforest/models/item/music_disc_wayfarer.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/naga_banner_pattern.json ae78b5cfebca2c316fa03c445c85a9438998da65 assets/twilightforest/models/item/naga_chestplate.json a8cce99869dd114bb91cee2866e5f7a447eeddbf assets/twilightforest/models/item/naga_chestplate_amethyst_trim.json 993acb43af4855dd000417a4891a3a8a15a83c08 assets/twilightforest/models/item/naga_chestplate_carminite_trim.json @@ -1084,9 +1208,11 @@ f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_ 44ef986cbf18ded22e89f5de9b06c6497923f17a assets/twilightforest/models/item/naga_leggings_redstone_trim.json 6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json 0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json +e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json e41febc342a31175c85b45f5394700eb7f9ac39e assets/twilightforest/models/item/ore_magnet.json 4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json +87c22b18b60c3e3d7ac5c538c6e39460bd6d4766 assets/twilightforest/models/item/ore_map.json 9e32f7687d91298eddf200a515772df2dfd03a6f assets/twilightforest/models/item/ore_meter.json c60eaa6b8f6bd0edde6aa7f5ee63b2f51bbeb570 assets/twilightforest/models/item/ore_meter_active.json 4e8f03fef77b6c1268f8728996f584808cff1161 assets/twilightforest/models/item/peacock_feather_fan.json @@ -1127,12 +1253,20 @@ d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phant 4af9d9b9385d8befc3fa664ece7bba54680adf66 assets/twilightforest/models/item/phantom_helmet_resin_trim.json 4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json 1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/quest_trophy.json +5003500e023117b7b4dfb278ae8397d843dcb178 assets/twilightforest/models/item/raven_feather.json +1e4c3d381913d42fdb65677fd5a2e3e4eb1b8589 assets/twilightforest/models/item/raw_ironwood.json +6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json +1bbdd61f3f1d2b53812fbe21f1e53e42b55a7de7 assets/twilightforest/models/item/raw_venison.json 37fa09cd8fb43aefdde6539b1d7a3744ed6b47e2 assets/twilightforest/models/item/seeker_bow.json 014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json 02dbf7d47b4be510da10aa9eeca37841abd09fae assets/twilightforest/models/item/seeker_bow_pulling_1.json efd1f5c64c16dacd32b8b1320d9e713ddc58f339 assets/twilightforest/models/item/seeker_bow_pulling_2.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/snow_queen_banner_pattern.json +d4a5f01bd0560ede6d9756cee312a4fcd2c7747f assets/twilightforest/models/item/sorting_boat.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_chest.json +9dc9e2f3cb41e5ff802909506a3dc6eae9c0ef6e assets/twilightforest/models/item/sorting_chest_boat.json 9d193534b14b488093ab0b1ffe7deb45798ae731 assets/twilightforest/models/item/sorting_door.json 66a4b8ef4d8017b25026d785e825695f12621090 assets/twilightforest/models/item/sorting_sign.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_trapped_chest.json @@ -1192,6 +1326,7 @@ c6ed75d81581efef0b10048a79d8d89b3840c3e4 assets/twilightforest/models/item/steel d1428e7cc3400dbaff20352f6b495863157d0b22 assets/twilightforest/models/item/steeleaf_helmet_resin_trim.json 7b9373c303e0133d7b479089caed23e6e043aaf0 assets/twilightforest/models/item/steeleaf_helmet_steeleaf_trim.json 4609f69a56738e2f31946d80ae0f5a79f83d4405 assets/twilightforest/models/item/steeleaf_hoe.json +d8da3fc36b054cf749ead027ff4aba65a4cbffdc assets/twilightforest/models/item/steeleaf_ingot.json 63cecfaf2970cdee4821c7e5547c80d64b6e8ff1 assets/twilightforest/models/item/steeleaf_leggings.json f32e34ce658982d3a3314fe51557aa6546d640a1 assets/twilightforest/models/item/steeleaf_leggings_amethyst_trim.json 6d2e4e280cc859504dca94d45061ca73d84b48b3 assets/twilightforest/models/item/steeleaf_leggings_carminite_trim.json @@ -1213,23 +1348,34 @@ af730ef3320675a3c5db80f628d904b5c269b4a2 assets/twilightforest/models/item/steel 323add4d7b4a44d0b2bb6e9500ea6b449cd8fbaa assets/twilightforest/models/item/steeleaf_pickaxe.json cc69788d326fa77606a26c669f54cebe419e3bc1 assets/twilightforest/models/item/steeleaf_shovel.json 207815171673e6652c902cbcca7a2fd42fc821e2 assets/twilightforest/models/item/steeleaf_sword.json +ecaf3f57e02a00bccfe67d03fb6134a103da5e57 assets/twilightforest/models/item/time_boat.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_chest.json +4bacf59d465788f217fd8c07772973e33f4a9f35 assets/twilightforest/models/item/time_chest_boat.json d18e3e48cd0ee23767355e2cb7a25c8b13abe95c assets/twilightforest/models/item/time_door.json 4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_trapped_chest.json +0280159c3df7e4dcc3016802c6e5a0c03e7206d3 assets/twilightforest/models/item/torchberries.json +d49abbd4952c051a5eb366049854772f5548a5c4 assets/twilightforest/models/item/tower_key.json +d82c6c8c0ce2c8162b0fdd3a791d86bfa3a041fe assets/twilightforest/models/item/transformation_boat.json a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_chest.json +282cfcb3361d42bde181794291eb446d32eda85b assets/twilightforest/models/item/transformation_chest_boat.json 8207cd235ffd9dfcd41ce8baa38f1150f322ee25 assets/twilightforest/models/item/transformation_door.json +6055c86a78d31445d3502ae1313250965cfd1cf0 assets/twilightforest/models/item/transformation_powder.json 19c8bbc9a51cba2ab8e2d978b2a7271297e4a9a6 assets/twilightforest/models/item/transformation_sign.json a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_trapped_chest.json 02d8613dc7c502596c83d1bbc2099038e6a68787 assets/twilightforest/models/item/triple_bow.json a01e709e7b119f1c1c6c1f19c37a45adce96fe23 assets/twilightforest/models/item/triple_bow_pulling_0.json da8ccbaaf7197d8de6f5a670061779d6c9bd69b8 assets/twilightforest/models/item/triple_bow_pulling_1.json 1e9c9118a16e3aae53792c02900e73a27d2e8855 assets/twilightforest/models/item/triple_bow_pulling_2.json +ef21acc3297ac54d490d74b2a786ff5719d1ee37 assets/twilightforest/models/item/twilight_oak_boat.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_chest.json +968283106fca51d14ee95e0fb6985331505400be assets/twilightforest/models/item/twilight_oak_chest_boat.json 15ce1289e73311e1fe88fe8d113cc0529c85c95a assets/twilightforest/models/item/twilight_oak_door.json 42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_trapped_chest.json 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json +0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json +ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json 0229fa1d67eea7895e2c8330a25b4f20cdc643f8 assets/twilightforest/models/item/yeti_boots.json 5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json 17dda45e7343e56ddf72f7dcf8734603dbae650b assets/twilightforest/models/item/yeti_boots_carminite_trim.json diff --git a/src/generated/resources/assets/twilightforest/items/alpha_yeti_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/alpha_yeti_banner_pattern.json new file mode 100644 index 0000000000..b6699251d3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/alpha_yeti_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/alpha_yeti_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/alpha_yeti_fur.json b/src/generated/resources/assets/twilightforest/items/alpha_yeti_fur.json new file mode 100644 index 0000000000..614bf7448a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/alpha_yeti_fur.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/alpha_yeti_fur" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/arctic_fur.json b/src/generated/resources/assets/twilightforest/items/arctic_fur.json new file mode 100644 index 0000000000..b06dc94733 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/arctic_fur.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/arctic_fur" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/armor_shard.json b/src/generated/resources/assets/twilightforest/items/armor_shard.json new file mode 100644 index 0000000000..64fd63e264 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/armor_shard.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/armor_shard" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/armor_shard_cluster.json b/src/generated/resources/assets/twilightforest/items/armor_shard_cluster.json new file mode 100644 index 0000000000..f24eb62570 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/armor_shard_cluster.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/armor_shard_cluster" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_boat.json b/src/generated/resources/assets/twilightforest/items/canopy_boat.json new file mode 100644 index 0000000000..823ead1ecf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_chest_boat.json b/src/generated/resources/assets/twilightforest/items/canopy_chest_boat.json new file mode 100644 index 0000000000..e811ef1491 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/carminite.json b/src/generated/resources/assets/twilightforest/items/carminite.json new file mode 100644 index 0000000000..78952b16b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/carminite.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/charm_of_keeping_1.json b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_1.json new file mode 100644 index 0000000000..ecb954fdbb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_1.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/charm_of_keeping_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/charm_of_keeping_2.json b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_2.json new file mode 100644 index 0000000000..46ff55c958 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_2.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/charm_of_keeping_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/charm_of_keeping_3.json b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_3.json new file mode 100644 index 0000000000..69832e692f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/charm_of_keeping_3.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/charm_of_keeping_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/charm_of_life_1.json b/src/generated/resources/assets/twilightforest/items/charm_of_life_1.json new file mode 100644 index 0000000000..9f0b65f8a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/charm_of_life_1.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/charm_of_life_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/charm_of_life_2.json b/src/generated/resources/assets/twilightforest/items/charm_of_life_2.json new file mode 100644 index 0000000000..e7fb236ae0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/charm_of_life_2.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/charm_of_life_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cooked_meef.json b/src/generated/resources/assets/twilightforest/items/cooked_meef.json new file mode 100644 index 0000000000..480ede5a5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cooked_meef.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/cooked_meef" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cooked_venison.json b/src/generated/resources/assets/twilightforest/items/cooked_venison.json new file mode 100644 index 0000000000..16b6db689f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cooked_venison.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/cooked_venison" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/crown_splinter.json b/src/generated/resources/assets/twilightforest/items/crown_splinter.json new file mode 100644 index 0000000000..f6ba7cc415 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/crown_splinter.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/crown_splinter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_boat.json b/src/generated/resources/assets/twilightforest/items/dark_boat.json new file mode 100644 index 0000000000..68d08801b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/dark_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_chest_boat.json b/src/generated/resources/assets/twilightforest/items/dark_chest_boat.json new file mode 100644 index 0000000000..f12ec3532e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/dark_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_blood.json b/src/generated/resources/assets/twilightforest/items/fiery_blood.json new file mode 100644 index 0000000000..f378fa16e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_blood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_blood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_ingot.json b/src/generated/resources/assets/twilightforest/items/fiery_ingot.json new file mode 100644 index 0000000000..e22d8c2800 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_tears.json b/src/generated/resources/assets/twilightforest/items/fiery_tears.json new file mode 100644 index 0000000000..3471890047 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_tears.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiery_tears" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hydra_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/hydra_banner_pattern.json new file mode 100644 index 0000000000..5df3ca9eb0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hydra_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/hydra_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hydra_chop.json b/src/generated/resources/assets/twilightforest/items/hydra_chop.json new file mode 100644 index 0000000000..b2af4f5df5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hydra_chop.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/hydra_chop" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_ingot.json b/src/generated/resources/assets/twilightforest/items/ironwood_ingot.json new file mode 100644 index 0000000000..a411a10057 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ironwood_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knight_phantom_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/knight_phantom_banner_pattern.json new file mode 100644 index 0000000000..549ddb2daf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knight_phantom_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knight_phantom_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_ingot.json b/src/generated/resources/assets/twilightforest/items/knightmetal_ingot.json new file mode 100644 index 0000000000..c34f3b131c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_ring.json b/src/generated/resources/assets/twilightforest/items/knightmetal_ring.json new file mode 100644 index 0000000000..abc7c85616 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_ring.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/knightmetal_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/lich_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/lich_banner_pattern.json new file mode 100644 index 0000000000..540d4695f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/lich_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/lich_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/liveroot.json b/src/generated/resources/assets/twilightforest/items/liveroot.json new file mode 100644 index 0000000000..bc37f6576e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/liveroot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/liveroot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/magic_beans.json b/src/generated/resources/assets/twilightforest/items/magic_beans.json new file mode 100644 index 0000000000..f132623e2b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/magic_beans.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/magic_beans" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/magic_map.json b/src/generated/resources/assets/twilightforest/items/magic_map.json new file mode 100644 index 0000000000..f938d180a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/magic_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/magic_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/magic_map_focus.json b/src/generated/resources/assets/twilightforest/items/magic_map_focus.json new file mode 100644 index 0000000000..583a117b79 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/magic_map_focus.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/magic_map_focus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_boat.json b/src/generated/resources/assets/twilightforest/items/mangrove_boat.json new file mode 100644 index 0000000000..8b309c8d04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_chest_boat.json b/src/generated/resources/assets/twilightforest/items/mangrove_chest_boat.json new file mode 100644 index 0000000000..064acde182 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/maze_map.json b/src/generated/resources/assets/twilightforest/items/maze_map.json new file mode 100644 index 0000000000..65b275a03f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/maze_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/maze_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/maze_map_focus.json b/src/generated/resources/assets/twilightforest/items/maze_map_focus.json new file mode 100644 index 0000000000..64621a8884 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/maze_map_focus.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/maze_map_focus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/maze_wafer.json b/src/generated/resources/assets/twilightforest/items/maze_wafer.json new file mode 100644 index 0000000000..72f0305c66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/maze_wafer.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/maze_wafer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/meef_stroganoff.json b/src/generated/resources/assets/twilightforest/items/meef_stroganoff.json new file mode 100644 index 0000000000..41c79192a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/meef_stroganoff.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/meef_stroganoff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_boat.json b/src/generated/resources/assets/twilightforest/items/mining_boat.json new file mode 100644 index 0000000000..12f5af4c7a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_chest_boat.json b/src/generated/resources/assets/twilightforest/items/mining_chest_boat.json new file mode 100644 index 0000000000..27a8b53e07 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/minoshroom_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/minoshroom_banner_pattern.json new file mode 100644 index 0000000000..3b06521103 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/minoshroom_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/minoshroom_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_findings.json b/src/generated/resources/assets/twilightforest/items/music_disc_findings.json new file mode 100644 index 0000000000..e78bc98b26 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_findings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_findings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_home.json b/src/generated/resources/assets/twilightforest/items/music_disc_home.json new file mode 100644 index 0000000000..bf1916beaa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_home.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_home" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_maker.json b/src/generated/resources/assets/twilightforest/items/music_disc_maker.json new file mode 100644 index 0000000000..11f765aa16 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_maker.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_maker" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_motion.json b/src/generated/resources/assets/twilightforest/items/music_disc_motion.json new file mode 100644 index 0000000000..9074b0e203 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_motion.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_motion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_radiance.json b/src/generated/resources/assets/twilightforest/items/music_disc_radiance.json new file mode 100644 index 0000000000..02b607326a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_radiance.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_radiance" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_steps.json b/src/generated/resources/assets/twilightforest/items/music_disc_steps.json new file mode 100644 index 0000000000..3f9d9788ec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_steps.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_steps" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_superstitious.json b/src/generated/resources/assets/twilightforest/items/music_disc_superstitious.json new file mode 100644 index 0000000000..dde99c2024 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_superstitious.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_superstitious" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_thread.json b/src/generated/resources/assets/twilightforest/items/music_disc_thread.json new file mode 100644 index 0000000000..21e28c22f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_thread.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_thread" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/music_disc_wayfarer.json b/src/generated/resources/assets/twilightforest/items/music_disc_wayfarer.json new file mode 100644 index 0000000000..b259995c86 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/music_disc_wayfarer.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/music_disc_wayfarer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/naga_banner_pattern.json new file mode 100644 index 0000000000..d2c1fe7130 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_scale.json b/src/generated/resources/assets/twilightforest/items/naga_scale.json new file mode 100644 index 0000000000..0607cef201 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_scale.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ore_map.json b/src/generated/resources/assets/twilightforest/items/ore_map.json new file mode 100644 index 0000000000..e9651ec05b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ore_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ore_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/quest_ram_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/quest_ram_banner_pattern.json new file mode 100644 index 0000000000..417452352b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/quest_ram_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/quest_ram_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/raven_feather.json b/src/generated/resources/assets/twilightforest/items/raven_feather.json new file mode 100644 index 0000000000..a7fe0dc900 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/raven_feather.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/raven_feather" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/raw_ironwood.json b/src/generated/resources/assets/twilightforest/items/raw_ironwood.json new file mode 100644 index 0000000000..32f9ef5298 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/raw_ironwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/raw_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/raw_meef.json b/src/generated/resources/assets/twilightforest/items/raw_meef.json new file mode 100644 index 0000000000..5724aa0f68 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/raw_meef.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/raw_meef" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/raw_venison.json b/src/generated/resources/assets/twilightforest/items/raw_venison.json new file mode 100644 index 0000000000..1041c1df5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/raw_venison.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/raw_venison" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/snow_queen_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/snow_queen_banner_pattern.json new file mode 100644 index 0000000000..0c24a03c7e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/snow_queen_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/snow_queen_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_boat.json b/src/generated/resources/assets/twilightforest/items/sorting_boat.json new file mode 100644 index 0000000000..4df41acb12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_chest_boat.json b/src/generated/resources/assets/twilightforest/items/sorting_chest_boat.json new file mode 100644 index 0000000000..7af0c0cec9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_ingot.json b/src/generated/resources/assets/twilightforest/items/steeleaf_ingot.json new file mode 100644 index 0000000000..dd21b5a3ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/steeleaf_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_boat.json b/src/generated/resources/assets/twilightforest/items/time_boat.json new file mode 100644 index 0000000000..17333460e2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_chest_boat.json b/src/generated/resources/assets/twilightforest/items/time_chest_boat.json new file mode 100644 index 0000000000..dc0434fc9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/torchberries.json b/src/generated/resources/assets/twilightforest/items/torchberries.json new file mode 100644 index 0000000000..8109c43533 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/torchberries.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/torchberries" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/tower_key.json b/src/generated/resources/assets/twilightforest/items/tower_key.json new file mode 100644 index 0000000000..f1c0fd490c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/tower_key.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/tower_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_boat.json b/src/generated/resources/assets/twilightforest/items/transformation_boat.json new file mode 100644 index 0000000000..874e1b775c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_chest_boat.json b/src/generated/resources/assets/twilightforest/items/transformation_chest_boat.json new file mode 100644 index 0000000000..08416e1881 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_powder.json b/src/generated/resources/assets/twilightforest/items/transformation_powder.json new file mode 100644 index 0000000000..a7526ac9d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_powder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_boat.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_boat.json new file mode 100644 index 0000000000..46345ff07c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_chest_boat.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_chest_boat.json new file mode 100644 index 0000000000..b995aa1360 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_chest_boat.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ur_ghast_banner_pattern.json b/src/generated/resources/assets/twilightforest/items/ur_ghast_banner_pattern.json new file mode 100644 index 0000000000..0b897593cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ur_ghast_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/ur_ghast_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/wrought_iron_bar.json b/src/generated/resources/assets/twilightforest/items/wrought_iron_bar.json new file mode 100644 index 0000000000..6dea8489a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/wrought_iron_bar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/wrought_iron_bar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json new file mode 100644 index 0000000000..8e5c7652e6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/alpha_yeti_fur.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/alpha_yeti_fur" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json b/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json new file mode 100644 index 0000000000..4200460423 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/arctic_fur.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/arctic_fur" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/armor_shard.json b/src/generated/resources/assets/twilightforest/models/item/armor_shard.json new file mode 100644 index 0000000000..303fe8fd51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/armor_shard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/armor_shard" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json b/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json new file mode 100644 index 0000000000..c74eab4610 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/armor_shard_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/armor_shard_cluster" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json b/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json new file mode 100644 index 0000000000..ca45b0358f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/canopy_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/canopy_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json new file mode 100644 index 0000000000..699cc8728e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/canopy_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/canopy_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/carminite.json b/src/generated/resources/assets/twilightforest/models/item/carminite.json new file mode 100644 index 0000000000..aa687b629b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/carminite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/carminite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json new file mode 100644 index 0000000000..3c061c8277 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/charm_of_keeping_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json new file mode 100644 index 0000000000..c38ebe17e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/charm_of_keeping_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json new file mode 100644 index 0000000000..94304a88b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/charm_of_keeping_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/charm_of_keeping_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json new file mode 100644 index 0000000000..5fe40f9ec2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/charm_of_life_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json new file mode 100644 index 0000000000..f2a0c73b9a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/charm_of_life_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/charm_of_life_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json b/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json new file mode 100644 index 0000000000..66c327c41f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/cooked_meef.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/cooked_meef" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json b/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json new file mode 100644 index 0000000000..41097f7bc3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/cooked_venison.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/cooked_venison" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json b/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json new file mode 100644 index 0000000000..0a261b6180 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/crown_splinter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/crown_splinter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_boat.json b/src/generated/resources/assets/twilightforest/models/item/dark_boat.json new file mode 100644 index 0000000000..0f80b5d53c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/dark_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/dark_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json new file mode 100644 index 0000000000..c95df79118 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/dark_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/dark_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json b/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json new file mode 100644 index 0000000000..70fe84c17c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_blood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_blood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json b/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json new file mode 100644 index 0000000000..ca4fa754d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json b/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json new file mode 100644 index 0000000000..2ab0066949 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiery_tears.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/fiery_tears" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/hydra_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json b/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json new file mode 100644 index 0000000000..a5feb45244 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/hydra_chop.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/hydra_chop" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json b/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json new file mode 100644 index 0000000000..55a5374281 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ironwood_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ironwood_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knight_phantom_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json new file mode 100644 index 0000000000..a81cdfb939 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json new file mode 100644 index 0000000000..f690316e44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/knightmetal_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/knightmetal_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/lich_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/liveroot.json b/src/generated/resources/assets/twilightforest/models/item/liveroot.json new file mode 100644 index 0000000000..bd28e4fa52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/liveroot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/liveroot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_beans.json b/src/generated/resources/assets/twilightforest/models/item/magic_beans.json new file mode 100644 index 0000000000..b87fbcc6ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/magic_beans.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/magic_beans" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_map.json b/src/generated/resources/assets/twilightforest/models/item/magic_map.json new file mode 100644 index 0000000000..de39777f1e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/magic_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/magic_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json b/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json new file mode 100644 index 0000000000..62f5ac25a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/magic_map_focus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/magic_map_focus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json new file mode 100644 index 0000000000..44a66b28d9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mangrove_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/mangrove_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json new file mode 100644 index 0000000000..2dad62b444 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mangrove_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/mangrove_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_map.json b/src/generated/resources/assets/twilightforest/models/item/maze_map.json new file mode 100644 index 0000000000..91692f3d77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/maze_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/maze_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json b/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json new file mode 100644 index 0000000000..8bc4b8d344 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/maze_map_focus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/maze_map_focus" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json b/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json new file mode 100644 index 0000000000..3cf46fc101 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/maze_wafer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/maze_wafer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json b/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json new file mode 100644 index 0000000000..eff168e9bc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/meef_stroganoff.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/meef_stroganoff" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_boat.json b/src/generated/resources/assets/twilightforest/models/item/mining_boat.json new file mode 100644 index 0000000000..9b31cc33af --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mining_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/mining_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json new file mode 100644 index 0000000000..189c2e2762 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mining_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/mining_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/minoshroom_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json new file mode 100644 index 0000000000..b8c8d7d2bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_findings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_findings" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_home.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_home.json new file mode 100644 index 0000000000..ea51af9d62 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_home.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_home" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json new file mode 100644 index 0000000000..f87d17e3ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_maker.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_maker" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json new file mode 100644 index 0000000000..23030d7b53 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_motion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_motion" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json new file mode 100644 index 0000000000..42fbea294c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_radiance.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_radiance" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json new file mode 100644 index 0000000000..b4497ec300 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_steps.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_steps" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json new file mode 100644 index 0000000000..74360d622a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_superstitious.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_superstitious" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json new file mode 100644 index 0000000000..28630c5c49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_thread.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_thread" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json b/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json new file mode 100644 index 0000000000..abeb97b7a9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/music_disc_wayfarer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/template_music_disc", + "textures": { + "layer0": "twilightforest:item/music_disc_wayfarer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/naga_scale.json b/src/generated/resources/assets/twilightforest/models/item/naga_scale.json new file mode 100644 index 0000000000..64f5ecf187 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/naga_scale.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/naga_scale" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ore_map.json b/src/generated/resources/assets/twilightforest/models/item/ore_map.json new file mode 100644 index 0000000000..a1c17db094 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ore_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/ore_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/quest_ram_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raven_feather.json b/src/generated/resources/assets/twilightforest/models/item/raven_feather.json new file mode 100644 index 0000000000..e95f0de81a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/raven_feather.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/raven_feather" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json b/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json new file mode 100644 index 0000000000..e71f26b91c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/raw_ironwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/raw_ironwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_meef.json b/src/generated/resources/assets/twilightforest/models/item/raw_meef.json new file mode 100644 index 0000000000..08ebdbb881 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/raw_meef.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/raw_meef" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/raw_venison.json b/src/generated/resources/assets/twilightforest/models/item/raw_venison.json new file mode 100644 index 0000000000..44f850478b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/raw_venison.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/raw_venison" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/snow_queen_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json b/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json new file mode 100644 index 0000000000..6c74dec7c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/sorting_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/sorting_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json new file mode 100644 index 0000000000..f78db12865 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/sorting_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/sorting_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json b/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json new file mode 100644 index 0000000000..3911ced4c3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/steeleaf_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/steeleaf_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_boat.json b/src/generated/resources/assets/twilightforest/models/item/time_boat.json new file mode 100644 index 0000000000..224b4dcf4f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/time_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/time_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json new file mode 100644 index 0000000000..42f20190a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/time_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/time_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/torchberries.json b/src/generated/resources/assets/twilightforest/models/item/torchberries.json new file mode 100644 index 0000000000..28444a31b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/torchberries.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/torchberries" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/tower_key.json b/src/generated/resources/assets/twilightforest/models/item/tower_key.json new file mode 100644 index 0000000000..5cdc0aeab7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/tower_key.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tower_key" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json b/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json new file mode 100644 index 0000000000..7cead504de --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/transformation_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/transformation_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json new file mode 100644 index 0000000000..94f3a6723b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/transformation_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/transformation_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json b/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json new file mode 100644 index 0000000000..aa99cfdc3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/transformation_powder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/transformation_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json new file mode 100644 index 0000000000..e451f83d08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_boat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/twilight_oak_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json new file mode 100644 index 0000000000..f730abaffd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_chest_boat.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/oak_chest_boat", + "layer1": "twilightforest:item/twilight_oak_chest_boat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json new file mode 100644 index 0000000000..dd801b92f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/ur_ghast_banner_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/tf_banner_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json b/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json new file mode 100644 index 0000000000..d0c5d29bfa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/wrought_iron_bar.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/wrought_iron_bar" + } +} \ No newline at end of file From 5f6a3752fbd7ff9e3a755f52190c71922dcab9f1 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 14:45:27 +0200 Subject: [PATCH 076/239] Thorn rose port --- .../assets/models/BlockModelGenerator.java | 1 + .../datagen/helpers/BlockModelBuilders.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 63c71355e5..d8455b37eb 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -44,6 +44,7 @@ public void run() { this.thorns(TFBlocks.BROWN_THORNS.get()); this.thorns(TFBlocks.GREEN_THORNS.get()); this.thorns(TFBlocks.BURNT_THORNS.get()); + this.directionalCrossModel(TFBlocks.THORN_ROSE.get(), PlantType.NOT_TINTED); this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 72a239d5e0..c2f8b5ffbc 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -8,6 +8,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; import net.minecraft.world.level.block.PipeBlock; import net.minecraft.world.level.block.RotatedPillarBlock; import twilightforest.TwilightForestMod; @@ -198,6 +199,21 @@ public void thorns(Block block) { ); } + public void directionalCrossModel(Block block, PlantType type) { + ResourceLocation resourcelocation = type.getCross().extend().renderType("cutout").build().create(block, TextureMapping.cross(block), this.modelOutput); + + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(this.createFlatItemModelWithBlockTexture(block.asItem(), block))); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.property(DirectionalBlock.FACING) + .select(Direction.UP, Variant.variant().with(VariantProperties.MODEL, resourcelocation)) + .select(Direction.DOWN, Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.X_ROT, VariantProperties.Rotation.R180)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + )); + } + public void forcefield(Block block) { this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { //WEST From 1bdaa0cfb87f0d524420e9f7899f6db979ecbbaf Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 14:45:34 +0200 Subject: [PATCH 077/239] gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 6 +++- .../blockstates/thorn_rose.json | 29 +++++++++++++++++++ .../twilightforest/items/thorn_rose.json | 6 ++++ .../models/block/thorn_rose.json | 7 +++++ .../models/item/thorn_rose.json | 6 ++++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json create mode 100644 src/generated/resources/assets/twilightforest/items/thorn_rose.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/thorn_rose.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/thorn_rose.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 3dd7e1c8ac..6eebacefd6 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-04T20:21:28.4687285 Model Definitions - twilightforest +// 1.21.4 2025-04-05T14:42:17.2588018 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -115,6 +115,7 @@ a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorti 20314688b0ef3050080a134cf32c5ac2d9bf1aaf assets/twilightforest/blockstates/sorting_trapdoor.json 6c2d40b15b9dcc49feb02616470eb4ed4754a615 assets/twilightforest/blockstates/sorting_trapped_chest.json 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json +245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json 6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json 895cf7d2f621f164fe6bc9747d6139e32d138dd2 assets/twilightforest/blockstates/time_chest.json a76889cc929e0b858ab92d42e82b4775f2fbe0d4 assets/twilightforest/blockstates/time_door.json @@ -412,6 +413,7 @@ b20ffb1154e72227b57df2c480b7bbc24e64cdf0 assets/twilightforest/items/steeleaf_pi 547a4491e7a84ec55e67c2754edcccdec48be0c3 assets/twilightforest/items/steeleaf_shovel.json 90acba09626132f58266a37901a1c636093c400a assets/twilightforest/items/steeleaf_sword.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json +a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose.json 05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json 65b6f9e05612a8b1c2dd36f19befba666b044d8d assets/twilightforest/items/time_chest.json @@ -675,6 +677,7 @@ d84f233396a4384dc3c120502ead5e90cbe1db48 assets/twilightforest/models/block/sort e98fb0e5106e4867a21557075bee7f16cadc2de5 assets/twilightforest/models/block/sorting_trapdoor_open.json 03687fe84199b310e7d0ada32be7e6a31a4d0e4e assets/twilightforest/models/block/sorting_trapdoor_top.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_trapped_chest.json +07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json b2f846a8b967016ca8732279cbc0c11a10844379 assets/twilightforest/models/block/time_button.json b76dae4ac5da24304f10935fe34ad194b8860be3 assets/twilightforest/models/block/time_button_inventory.json 38574d1f4d5a6cab8ab39877f1b4b94a93bffdaf assets/twilightforest/models/block/time_button_pressed.json @@ -1348,6 +1351,7 @@ af730ef3320675a3c5db80f628d904b5c269b4a2 assets/twilightforest/models/item/steel 323add4d7b4a44d0b2bb6e9500ea6b449cd8fbaa assets/twilightforest/models/item/steeleaf_pickaxe.json cc69788d326fa77606a26c669f54cebe419e3bc1 assets/twilightforest/models/item/steeleaf_shovel.json 207815171673e6652c902cbcca7a2fd42fc821e2 assets/twilightforest/models/item/steeleaf_sword.json +aad4989349f5b4e6181e6b098ad2f70d5dd90310 assets/twilightforest/models/item/thorn_rose.json ecaf3f57e02a00bccfe67d03fb6134a103da5e57 assets/twilightforest/models/item/time_boat.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_chest.json 4bacf59d465788f217fd8c07772973e33f4a9f35 assets/twilightforest/models/item/time_chest_boat.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json b/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json new file mode 100644 index 0000000000..2c3bd04d1d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/thorn_rose.json @@ -0,0 +1,29 @@ +{ + "variants": { + "facing=down": { + "model": "twilightforest:block/thorn_rose", + "x": 180 + }, + "facing=east": { + "model": "twilightforest:block/thorn_rose", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "twilightforest:block/thorn_rose", + "x": 90 + }, + "facing=south": { + "model": "twilightforest:block/thorn_rose", + "x": 270 + }, + "facing=up": { + "model": "twilightforest:block/thorn_rose" + }, + "facing=west": { + "model": "twilightforest:block/thorn_rose", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/thorn_rose.json b/src/generated/resources/assets/twilightforest/items/thorn_rose.json new file mode 100644 index 0000000000..b8858d77d2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/thorn_rose.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/thorn_rose" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json b/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json new file mode 100644 index 0000000000..fee1a80b90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/thorn_rose.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/thorn_rose" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json b/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json new file mode 100644 index 0000000000..efb8e3676b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/thorn_rose.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/thorn_rose" + } +} \ No newline at end of file From 3783c43a7f4b15a0b4a637daaa5f7a894a012096 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 16:48:59 +0200 Subject: [PATCH 078/239] Naga stone wip --- .../assets/models/BlockModelGenerator.java | 24 ++++++---- .../datagen/helpers/BlockModelBuilders.java | 45 +++++++++++++++++-- 2 files changed, 56 insertions(+), 13 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index d8455b37eb..5e5b6b4e4b 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -31,20 +31,26 @@ public BlockModelGenerator(Consumer stateOutput, ItemModelO public void run() { TFBlockFamilies.getAllFamilies().filter(BlockFamily::shouldGenerateModel).forEach((family) -> this.family(family.getBaseBlock()).generateFor(family)); - this.bossSpawner(TFBlocks.NAGA_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.LICH_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.MINOSHROOM_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.HYDRA_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.UR_GHAST_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get()); - this.bossSpawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get()); + this.spawner(TFBlocks.NAGA_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.LICH_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.MINOSHROOM_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.HYDRA_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.KNIGHT_PHANTOM_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.UR_GHAST_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.ALPHA_YETI_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.SNOW_QUEEN_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get(), "block/boss_spawner"); + this.spawner(TFBlocks.SINISTER_SPAWNER.get(), "block/sinister_spawner"); this.thorns(TFBlocks.BROWN_THORNS.get()); this.thorns(TFBlocks.GREEN_THORNS.get()); this.thorns(TFBlocks.BURNT_THORNS.get()); this.directionalCrossModel(TFBlocks.THORN_ROSE.get(), PlantType.NOT_TINTED); + this.wrapBlockItem(TFBlocks.DEADROCK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CRACKED_DEADROCK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.WEATHERED_DEADROCK.get(), this::createTrivialCube); + + this.nagaStone(); this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index c2f8b5ffbc..1da0660df6 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -13,12 +13,14 @@ import net.minecraft.world.level.block.RotatedPillarBlock; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; +import twilightforest.block.NagastoneBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; +import twilightforest.enums.NagastoneVariant; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; @@ -43,8 +45,8 @@ public void createBlockItem(Block block) { this.registerSimpleItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/")); } - public void bossSpawner(Block block) { - TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix("block/boss_spawner")); + public void spawner(Block block, String texture) { + TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix(texture)); this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL_INNER_FACES.extend().renderType("cutout").build().create(block, texturemapping, this.modelOutput))); this.createBlockItem(block); } @@ -61,7 +63,7 @@ public void castleDoor(Block block) { } public void stairsBlock(Block block) { - var mapping = TextureMapping.cube(block); + TextureMapping mapping = TextureMapping.cube(block); ResourceLocation inner = ModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); ResourceLocation straight = ModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); ResourceLocation outer = ModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); @@ -70,7 +72,7 @@ public void stairsBlock(Block block) { } public void coolerStairsBlock(Block block, ResourceLocation middle) { - var mapping = TextureMapping.cube(block).put(TFTextureSlot.MIDDLE, middle); + TextureMapping mapping = TextureMapping.cube(block).put(TFTextureSlot.MIDDLE, middle); ResourceLocation inner = TFModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); ResourceLocation straight = TFModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); ResourceLocation outer = TFModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); @@ -86,6 +88,41 @@ public void blockWithRenderType(Block block, String type, ModelTemplate template this.blockStateOutput.accept(createSimpleBlock(block, template.extend().renderType(type).build().create(block, mapping.apply(block), this.modelOutput))); } + public void nagaStone() { + TextureMapping mapping = TextureMapping.cube(TFBlocks.NAGASTONE.get()); + + TextureMapping solidMapping = TextureMapping.cube(TFBlocks.NAGASTONE.get()) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/nagastone_long_side")) + .put(TextureSlot.BOTTOM, TwilightForestMod.prefix("block/nagastone_bottom_long")) + .put(TextureSlot.TOP, TwilightForestMod.prefix("block/nagastone_turn_top")); + + ResourceLocation solid = TFModelTemplates.CUBE_BOTTOM_TOP.createWithSuffix(TFBlocks.NAGASTONE.get(), "_solid", solidMapping, this.modelOutput); + // todo 1.21.x cleanup: generate these models as well instead of ModelTemplates.create-ing them + ResourceLocation down = ModelTemplates.create("twilightforest:naga_segment_down").extend().parent(TwilightForestMod.prefix("block/naga_segment/down")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_down", mapping, this.modelOutput); + ResourceLocation up = ModelTemplates.create("twilightforest:naga_segment_up").extend().parent(TwilightForestMod.prefix("block/naga_segment/up")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_up", mapping, this.modelOutput); + ResourceLocation horizontal = ModelTemplates.create("twilightforest:naga_segment_horizontal").extend().parent(TwilightForestMod.prefix("block/naga_segment/horizontal")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_horizontal", mapping, this.modelOutput); + ResourceLocation vertical = ModelTemplates.create("twilightforest:naga_segment_vertical").extend().parent(TwilightForestMod.prefix("block/naga_segment/vertical")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_vertical", mapping, this.modelOutput); + + this.itemModelOutput.accept(TFBlocks.NAGASTONE.asItem(), ItemModelUtils.plainModel(solid)); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.NAGASTONE.get()).with( + PropertyDispatch.property(NagastoneBlock.VARIANT) + .select(NagastoneVariant.NORTH_DOWN, Variant.variant().with(VariantProperties.MODEL, down).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(NagastoneVariant.SOUTH_DOWN, Variant.variant().with(VariantProperties.MODEL, down).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(NagastoneVariant.WEST_DOWN, Variant.variant().with(VariantProperties.MODEL, down).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(NagastoneVariant.EAST_DOWN, Variant.variant().with(VariantProperties.MODEL, down)) + + .select(NagastoneVariant.NORTH_UP, Variant.variant().with(VariantProperties.MODEL, up).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(NagastoneVariant.SOUTH_UP, Variant.variant().with(VariantProperties.MODEL, up).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(NagastoneVariant.WEST_UP, Variant.variant().with(VariantProperties.MODEL, up).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(NagastoneVariant.EAST_UP, Variant.variant().with(VariantProperties.MODEL, up)) + + .select(NagastoneVariant.AXIS_X, Variant.variant().with(VariantProperties.MODEL, horizontal)) + .select(NagastoneVariant.AXIS_Y, Variant.variant().with(VariantProperties.MODEL, vertical)) + .select(NagastoneVariant.AXIS_Z, Variant.variant().with(VariantProperties.MODEL, horizontal).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(NagastoneVariant.SOLID, Variant.variant().with(VariantProperties.MODEL, solid)) + )); + } + public void thorns(Block block) { TextureMapping mapping = TextureMapping.column(block); ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); From 76d8c5fc8c7e94bed740b43c13239f78ba1e7e1c Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 16:49:04 +0200 Subject: [PATCH 079/239] gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 21 ++++++++- .../blockstates/cracked_deadrock.json | 7 +++ .../twilightforest/blockstates/deadrock.json | 7 +++ .../twilightforest/blockstates/nagastone.json | 47 +++++++++++++++++++ .../blockstates/sinister_spawner.json | 7 +++ .../blockstates/weathered_deadrock.json | 7 +++ .../items/cracked_deadrock.json | 6 +++ .../assets/twilightforest/items/deadrock.json | 6 +++ .../twilightforest/items/nagastone.json | 6 +++ .../items/sinister_spawner.json | 6 +++ .../items/weathered_deadrock.json | 6 +++ .../models/block/cracked_deadrock.json | 6 +++ .../twilightforest/models/block/deadrock.json | 6 +++ .../models/block/nagastone_down.json | 3 ++ .../models/block/nagastone_horizontal.json | 3 ++ .../models/block/nagastone_solid.json | 8 ++++ .../models/block/nagastone_up.json | 3 ++ .../models/block/nagastone_vertical.json | 3 ++ .../models/block/sinister_spawner.json | 7 +++ .../models/block/weathered_deadrock.json | 6 +++ 20 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/items/deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/items/nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/items/sinister_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/weathered_deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/deadrock.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_down.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_solid.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_up.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 6eebacefd6..9852fbfff3 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-05T14:42:17.2588018 Model Definitions - twilightforest +// 1.21.4 2025-04-05T16:25:14.7143455 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -29,6 +29,7 @@ fe5010320f32823f66bd55c816297be37119f27c assets/twilightforest/blockstates/canop b4db06c28d8e7e90481fdb3b7e1cb257ff3d7cc2 assets/twilightforest/blockstates/canopy_trapped_chest.json c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_wall_sign.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json +c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json @@ -44,6 +45,7 @@ aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_ 6f132b9ec72b4a4c18947540e9493eeddfe08f52 assets/twilightforest/blockstates/dark_trapdoor.json 065447f2208186e42807cf74ad008215714bfa9f assets/twilightforest/blockstates/dark_trapped_chest.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json +7e307743ee6bdbc57a5f355b7a05ce3c0317cc23 assets/twilightforest/blockstates/deadrock.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json @@ -87,6 +89,7 @@ b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minos 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json +cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json 0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json @@ -96,6 +99,7 @@ c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonw 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json +67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json 72dedb525c34b636653a1067601d2d98446c3334 assets/twilightforest/blockstates/skull_chest.json @@ -158,6 +162,7 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json +8b416cbb656b8b6822a8c993cd2f7e12d87bec23 assets/twilightforest/blockstates/weathered_deadrock.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json @@ -214,6 +219,7 @@ b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_li 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json +545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json @@ -228,6 +234,7 @@ cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.j a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json 339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json 98ce19719d17fecb09246d5a711e05127bcc546c assets/twilightforest/items/dark_trapped_chest.json +9505e586ffa48dbbed26c6c324ed828b8b07ff88 assets/twilightforest/items/deadrock.json ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_spawn_egg.json 94ebad61d7db66f5b5d78ceaef1090d6bbc19630 assets/twilightforest/items/deer_spawn_egg.json 07e5104e0a72e67b2c212c71eef2794d20c252a1 assets/twilightforest/items/diamond_minotaur_axe.json @@ -351,6 +358,7 @@ f035a304d86bd5972da1837efcedf0dfe39d4004 assets/twilightforest/items/music_disc_ b9e27b15ac9a50ddaa84943f0d55138f3a1f3d9e assets/twilightforest/items/music_disc_thread.json 2bd751399010366f0dd89a7d7d128a108caba6c0 assets/twilightforest/items/music_disc_wayfarer.json ea9e8e2ab39b78ff0a7963cb8354fc4f52800fcd assets/twilightforest/items/mystic_crown.json +4278a0455f92ac2ae843a6192002f64075ca3048 assets/twilightforest/items/nagastone.json 819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json @@ -380,6 +388,7 @@ f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json +7f500dcd5571fff8dfee2efeb938b21a716eae8d assets/twilightforest/items/sinister_spawner.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/skeleton_druid_spawn_egg.json 28d3f09448ef594c02ddbf4fb32fec53cd8197b0 assets/twilightforest/items/skeleton_skull_candle.json ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json @@ -460,6 +469,7 @@ f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_ba d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json +f924ce78f6a45301dc17c59ca1846b7790380a3f assets/twilightforest/items/weathered_deadrock.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json @@ -532,6 +542,7 @@ f0f193b9b4b69dc0d9fc7574c999ecdf48b55919 assets/twilightforest/models/block/cano 1b620bb0373cd4076380b956f73bfe3e6cd786cd assets/twilightforest/models/block/canopy_trapdoor_top.json e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_trapped_chest.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json +1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json b1c019a1f248a8701667aa9f5493429d78d59698 assets/twilightforest/models/block/dark_button.json 6f091ed41f72be8c4bb23d5c9164a6226ff266c4 assets/twilightforest/models/block/dark_button_inventory.json 5efd32034f57a4b3bc129852273afda7aceae103 assets/twilightforest/models/block/dark_button_pressed.json @@ -564,6 +575,7 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json 3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_trapped_chest.json +3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json @@ -642,7 +654,13 @@ cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mini d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_trapped_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json +95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json +2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json +8274ec20d898476a327009ffb7221ac404511a9e assets/twilightforest/models/block/nagastone_solid.json +67ad8622746f0091ca682df01ba2b788886a2638 assets/twilightforest/models/block/nagastone_up.json +499953b8e2ee45b1fae43d9bdcdd4d7d351e00f0 assets/twilightforest/models/block/nagastone_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/naga_boss_spawner.json +476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sorting_button.json @@ -775,6 +793,7 @@ db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twil 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json 274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json c38f28cc96caa2803b776e82a25f825d6bcc8680 assets/twilightforest/models/item/arctic_boots.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json new file mode 100644 index 0000000000..89c6d3ac0c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_deadrock.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cracked_deadrock" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/deadrock.json new file mode 100644 index 0000000000..66c35aa662 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/deadrock.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/deadrock" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone.json new file mode 100644 index 0000000000..6862c56c4d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone.json @@ -0,0 +1,47 @@ +{ + "variants": { + "variant=axis_x": { + "model": "twilightforest:block/nagastone_horizontal" + }, + "variant=axis_y": { + "model": "twilightforest:block/nagastone_vertical" + }, + "variant=axis_z": { + "model": "twilightforest:block/nagastone_horizontal", + "y": 90 + }, + "variant=east_down": { + "model": "twilightforest:block/nagastone_down" + }, + "variant=east_up": { + "model": "twilightforest:block/nagastone_up" + }, + "variant=north_down": { + "model": "twilightforest:block/nagastone_down", + "y": 270 + }, + "variant=north_up": { + "model": "twilightforest:block/nagastone_up", + "y": 270 + }, + "variant=solid": { + "model": "twilightforest:block/nagastone_solid" + }, + "variant=south_down": { + "model": "twilightforest:block/nagastone_down", + "y": 90 + }, + "variant=south_up": { + "model": "twilightforest:block/nagastone_up", + "y": 90 + }, + "variant=west_down": { + "model": "twilightforest:block/nagastone_down", + "y": 180 + }, + "variant=west_up": { + "model": "twilightforest:block/nagastone_up", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json new file mode 100644 index 0000000000..a487f53d57 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sinister_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/sinister_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json new file mode 100644 index 0000000000..650866c9d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/weathered_deadrock.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/weathered_deadrock" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/items/cracked_deadrock.json new file mode 100644 index 0000000000..67a6ebbba7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_deadrock.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_deadrock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/deadrock.json b/src/generated/resources/assets/twilightforest/items/deadrock.json new file mode 100644 index 0000000000..7d5c728dc4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/deadrock.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/deadrock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/nagastone.json b/src/generated/resources/assets/twilightforest/items/nagastone.json new file mode 100644 index 0000000000..2e77bf264d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/nagastone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/nagastone_solid" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sinister_spawner.json b/src/generated/resources/assets/twilightforest/items/sinister_spawner.json new file mode 100644 index 0000000000..3a0914daf7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sinister_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sinister_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/items/weathered_deadrock.json new file mode 100644 index 0000000000..026bb38a75 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/weathered_deadrock.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/weathered_deadrock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json b/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json new file mode 100644 index 0000000000..041cda4860 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_deadrock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/cracked_deadrock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/deadrock.json b/src/generated/resources/assets/twilightforest/models/block/deadrock.json new file mode 100644 index 0000000000..67571829aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/deadrock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/deadrock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_down.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_down.json new file mode 100644 index 0000000000..5f5eb280dc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_down.json @@ -0,0 +1,3 @@ +{ + "parent": "twilightforest:block/naga_segment/down" +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_horizontal.json new file mode 100644 index 0000000000..507643538a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_horizontal.json @@ -0,0 +1,3 @@ +{ + "parent": "twilightforest:block/naga_segment/horizontal" +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_solid.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_solid.json new file mode 100644 index 0000000000..375f83cb72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_solid.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "twilightforest:block/nagastone_bottom_long", + "side": "twilightforest:block/nagastone_long_side", + "top": "twilightforest:block/nagastone_turn_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_up.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_up.json new file mode 100644 index 0000000000..2e6764e4c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_up.json @@ -0,0 +1,3 @@ +{ + "parent": "twilightforest:block/naga_segment/up" +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_vertical.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_vertical.json new file mode 100644 index 0000000000..b99bed3114 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_vertical.json @@ -0,0 +1,3 @@ +{ + "parent": "twilightforest:block/naga_segment/vertical" +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json b/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json new file mode 100644 index 0000000000..5cd10b6d2b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sinister_spawner.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all_inner_faces", + "render_type": "minecraft:cutout", + "textures": { + "all": "twilightforest:block/sinister_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json b/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json new file mode 100644 index 0000000000..a63cb1921d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/weathered_deadrock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/weathered_deadrock" + } +} \ No newline at end of file From 0a2a42fd875e0f24db12ec8d67ad32f23fab3ef1 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 19:12:43 +0200 Subject: [PATCH 080/239] Nagastone pillar and etched nagastone --- .../datagen/helpers/BlockModelBuilders.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 1da0660df6..1cef461957 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -13,6 +13,7 @@ import net.minecraft.world.level.block.RotatedPillarBlock; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; +import twilightforest.block.DirectionalRotatedPillarBlock; import twilightforest.block.NagastoneBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; @@ -121,6 +122,56 @@ public void nagaStone() { .select(NagastoneVariant.AXIS_Z, Variant.variant().with(VariantProperties.MODEL, horizontal).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) .select(NagastoneVariant.SOLID, Variant.variant().with(VariantProperties.MODEL, solid)) )); + + nagastonePillar(TFBlocks.NAGASTONE_PILLAR.get(), ""); + nagastonePillar(TFBlocks.MOSSY_NAGASTONE_PILLAR.get(), "_mossy"); + nagastonePillar(TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), "_weathered"); + etchedNagastone(TFBlocks.ETCHED_NAGASTONE.get(), ""); + etchedNagastone(TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), "_mossy"); + etchedNagastone(TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), "_weathered"); + } + + private void nagastonePillar(Block block, String suffix) { + TextureMapping mapping = TextureMapping.cube(TFBlocks.NAGASTONE.get()) + .put(TextureSlot.END, TwilightForestMod.prefix("block/nagastone_pillar_end" + suffix)) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/nagastone_pillar_side" + suffix)); + ResourceLocation model = TFModelTemplates.CUBE_COLUMN.create(block, mapping, this.modelOutput); + + TextureMapping altMapping = TextureMapping.cube(TFBlocks.NAGASTONE.get()) + .put(TextureSlot.END, TwilightForestMod.prefix("block/nagastone_pillar_end" + suffix)) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/nagastone_pillar_side" + suffix + "_alt")); + ResourceLocation reversed = TFModelTemplates.CUBE_COLUMN.createWithSuffix(block, "_alt", altMapping, this.modelOutput); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.properties(RotatedPillarBlock.AXIS, DirectionalRotatedPillarBlock.REVERSED) + .select(Direction.Axis.X, true, Variant.variant().with(VariantProperties.MODEL, reversed).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.Axis.Y, true, Variant.variant().with(VariantProperties.MODEL, reversed)) + .select(Direction.Axis.Z, true, Variant.variant().with(VariantProperties.MODEL, reversed).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + + .select(Direction.Axis.X, false, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.Axis.Y, false, Variant.variant().with(VariantProperties.MODEL, model)) + .select(Direction.Axis.Z, false, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + )); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(model)); + } + + private void etchedNagastone(Block block, String suffix) { + TextureMapping mapping = TextureMapping.cube(TFBlocks.NAGASTONE.get()) + .put(TextureSlot.END, TwilightForestMod.prefix("block/stone_tiles" + suffix)) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/etched_nagastone_up" + suffix)) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/stone_tiles" + suffix)); + ResourceLocation model = ModelTemplates.CUBE_COLUMN.create(block, mapping, this.modelOutput); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.property(DirectionalBlock.FACING) + .select(Direction.UP, Variant.variant().with(VariantProperties.MODEL, model)) + .select(Direction.DOWN, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.X_ROT, VariantProperties.Rotation.R180)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90).with(VariantProperties.X_ROT, VariantProperties.Rotation.R270)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + )); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(model)); } public void thorns(Block block) { From 1b8d8a06daccf2dfa38b4336277220771631297c Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 19:12:47 +0200 Subject: [PATCH 081/239] gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 23 ++++++++++++++- .../blockstates/cracked_etched_nagastone.json | 29 +++++++++++++++++++ .../blockstates/cracked_nagastone_pillar.json | 28 ++++++++++++++++++ .../blockstates/etched_nagastone.json | 29 +++++++++++++++++++ .../blockstates/mossy_etched_nagastone.json | 29 +++++++++++++++++++ .../blockstates/mossy_nagastone_pillar.json | 28 ++++++++++++++++++ .../blockstates/nagastone_pillar.json | 28 ++++++++++++++++++ .../items/cracked_etched_nagastone.json | 6 ++++ .../items/cracked_nagastone_pillar.json | 6 ++++ .../items/etched_nagastone.json | 6 ++++ .../items/mossy_etched_nagastone.json | 6 ++++ .../items/mossy_nagastone_pillar.json | 6 ++++ .../items/nagastone_pillar.json | 6 ++++ .../block/cracked_etched_nagastone.json | 7 +++++ .../block/cracked_nagastone_pillar.json | 7 +++++ .../block/cracked_nagastone_pillar_alt.json | 7 +++++ .../models/block/etched_nagastone.json | 7 +++++ .../models/block/mossy_etched_nagastone.json | 7 +++++ .../models/block/mossy_nagastone_pillar.json | 7 +++++ .../block/mossy_nagastone_pillar_alt.json | 7 +++++ .../models/block/nagastone_pillar.json | 7 +++++ .../models/block/nagastone_pillar_alt.json | 7 +++++ 22 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_alt.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 9852fbfff3..82a4b48969 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-05T16:25:14.7143455 Model Definitions - twilightforest +// 1.21.4 2025-04-05T19:09:32.1737634 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -30,6 +30,8 @@ b4db06c28d8e7e90481fdb3b7e1cb257ff3d7cc2 assets/twilightforest/blockstates/canop c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_wall_sign.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json +d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json +8ad74b6899b8c0e5918617e47587480edcafeb55 assets/twilightforest/blockstates/cracked_nagastone_pillar.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json @@ -46,6 +48,7 @@ aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_ 065447f2208186e42807cf74ad008215714bfa9f assets/twilightforest/blockstates/dark_trapped_chest.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json 7e307743ee6bdbc57a5f355b7a05ce3c0317cc23 assets/twilightforest/blockstates/deadrock.json +b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json @@ -89,7 +92,10 @@ b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minos 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json +ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy_etched_nagastone.json +6172f9532121bdd2e1151694e1516094c2fdaa35 assets/twilightforest/blockstates/mossy_nagastone_pillar.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json +8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json 0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json @@ -220,6 +226,8 @@ b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_li bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json 545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json +0e43c8b6517dbd4ba86a41d26308ed2499cf88e7 assets/twilightforest/items/cracked_etched_nagastone.json +d0d964719f31180f7986a96318b2927cbd9ae8c2 assets/twilightforest/items/cracked_nagastone_pillar.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json @@ -241,6 +249,7 @@ ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_ 570191864a35a929cb86cea7eecfe7b17a791f53 assets/twilightforest/items/dwarf_rabbit_spawn_egg.json 0b59b49ed7a33fab84dd81ad54c18cb88466234e assets/twilightforest/items/emperors_cloth.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json +49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json 5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json 3f1881cdf29805aec5c954f48ef012288852b2c1 assets/twilightforest/items/fiery_chestplate.json @@ -348,6 +357,8 @@ fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_s 9325cfe5fbe9be707e60e5705a7d24b7bdd219ce assets/twilightforest/items/moonworm_queen.json ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json +41b7867a7dd3613ec1d503ca641f976dc33afb63 assets/twilightforest/items/mossy_etched_nagastone.json +fe56517b8d02951cf83b53622249798d06eeeebd assets/twilightforest/items/mossy_nagastone_pillar.json dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json 81eecea93538d3fc3f423c7772d63a0785db8bc3 assets/twilightforest/items/music_disc_maker.json @@ -359,6 +370,7 @@ b9e27b15ac9a50ddaa84943f0d55138f3a1f3d9e assets/twilightforest/items/music_disc_ 2bd751399010366f0dd89a7d7d128a108caba6c0 assets/twilightforest/items/music_disc_wayfarer.json ea9e8e2ab39b78ff0a7963cb8354fc4f52800fcd assets/twilightforest/items/mystic_crown.json 4278a0455f92ac2ae843a6192002f64075ca3048 assets/twilightforest/items/nagastone.json +c0b5feab2f4a4ee817b237ce24abf72e3d4cb602 assets/twilightforest/items/nagastone_pillar.json 819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json @@ -543,6 +555,9 @@ f0f193b9b4b69dc0d9fc7574c999ecdf48b55919 assets/twilightforest/models/block/cano e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_trapped_chest.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json 1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json +64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json +ebdd9bdca720c9a8f7d4946f76776b364e6e8f4e assets/twilightforest/models/block/cracked_nagastone_pillar.json +e34dd40e37c328b7378ca6e7e6114e9fc4ba25b2 assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json b1c019a1f248a8701667aa9f5493429d78d59698 assets/twilightforest/models/block/dark_button.json 6f091ed41f72be8c4bb23d5c9164a6226ff266c4 assets/twilightforest/models/block/dark_button_inventory.json 5efd32034f57a4b3bc129852273afda7aceae103 assets/twilightforest/models/block/dark_button_pressed.json @@ -576,6 +591,7 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_trapped_chest.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json +6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json @@ -654,8 +670,13 @@ cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mini d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_trapped_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json +651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json +fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/mossy_nagastone_pillar.json +7616fbf68606060c362e6b7f4bc94e57460b1528 assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json +aa9c8d2a2bc8ae90a87934af98fe5687c9ca67a6 assets/twilightforest/models/block/nagastone_pillar.json +a5d262f5809673fc18032fb2eafe6aa67803a001 assets/twilightforest/models/block/nagastone_pillar_alt.json 8274ec20d898476a327009ffb7221ac404511a9e assets/twilightforest/models/block/nagastone_solid.json 67ad8622746f0091ca682df01ba2b788886a2638 assets/twilightforest/models/block/nagastone_up.json 499953b8e2ee45b1fae43d9bdcdd4d7d351e00f0 assets/twilightforest/models/block/nagastone_vertical.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json new file mode 100644 index 0000000000..1f243cb0fd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_etched_nagastone.json @@ -0,0 +1,29 @@ +{ + "variants": { + "facing=down": { + "model": "twilightforest:block/cracked_etched_nagastone", + "x": 180 + }, + "facing=east": { + "model": "twilightforest:block/cracked_etched_nagastone", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "twilightforest:block/cracked_etched_nagastone", + "x": 90 + }, + "facing=south": { + "model": "twilightforest:block/cracked_etched_nagastone", + "x": 270 + }, + "facing=up": { + "model": "twilightforest:block/cracked_etched_nagastone" + }, + "facing=west": { + "model": "twilightforest:block/cracked_etched_nagastone", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json new file mode 100644 index 0000000000..247f611177 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_pillar.json @@ -0,0 +1,28 @@ +{ + "variants": { + "axis=x,reversed=false": { + "model": "twilightforest:block/cracked_nagastone_pillar", + "x": 270, + "y": 270 + }, + "axis=x,reversed=true": { + "model": "twilightforest:block/cracked_nagastone_pillar_alt", + "x": 270, + "y": 270 + }, + "axis=y,reversed=false": { + "model": "twilightforest:block/cracked_nagastone_pillar" + }, + "axis=y,reversed=true": { + "model": "twilightforest:block/cracked_nagastone_pillar_alt" + }, + "axis=z,reversed=false": { + "model": "twilightforest:block/cracked_nagastone_pillar", + "x": 270 + }, + "axis=z,reversed=true": { + "model": "twilightforest:block/cracked_nagastone_pillar_alt", + "x": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json new file mode 100644 index 0000000000..fa21943f29 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/etched_nagastone.json @@ -0,0 +1,29 @@ +{ + "variants": { + "facing=down": { + "model": "twilightforest:block/etched_nagastone", + "x": 180 + }, + "facing=east": { + "model": "twilightforest:block/etched_nagastone", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "twilightforest:block/etched_nagastone", + "x": 90 + }, + "facing=south": { + "model": "twilightforest:block/etched_nagastone", + "x": 270 + }, + "facing=up": { + "model": "twilightforest:block/etched_nagastone" + }, + "facing=west": { + "model": "twilightforest:block/etched_nagastone", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json new file mode 100644 index 0000000000..f44ecb86b7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_etched_nagastone.json @@ -0,0 +1,29 @@ +{ + "variants": { + "facing=down": { + "model": "twilightforest:block/mossy_etched_nagastone", + "x": 180 + }, + "facing=east": { + "model": "twilightforest:block/mossy_etched_nagastone", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "twilightforest:block/mossy_etched_nagastone", + "x": 90 + }, + "facing=south": { + "model": "twilightforest:block/mossy_etched_nagastone", + "x": 270 + }, + "facing=up": { + "model": "twilightforest:block/mossy_etched_nagastone" + }, + "facing=west": { + "model": "twilightforest:block/mossy_etched_nagastone", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json new file mode 100644 index 0000000000..656cb82cd4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_pillar.json @@ -0,0 +1,28 @@ +{ + "variants": { + "axis=x,reversed=false": { + "model": "twilightforest:block/mossy_nagastone_pillar", + "x": 270, + "y": 270 + }, + "axis=x,reversed=true": { + "model": "twilightforest:block/mossy_nagastone_pillar_alt", + "x": 270, + "y": 270 + }, + "axis=y,reversed=false": { + "model": "twilightforest:block/mossy_nagastone_pillar" + }, + "axis=y,reversed=true": { + "model": "twilightforest:block/mossy_nagastone_pillar_alt" + }, + "axis=z,reversed=false": { + "model": "twilightforest:block/mossy_nagastone_pillar", + "x": 270 + }, + "axis=z,reversed=true": { + "model": "twilightforest:block/mossy_nagastone_pillar_alt", + "x": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json new file mode 100644 index 0000000000..94382db85d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_pillar.json @@ -0,0 +1,28 @@ +{ + "variants": { + "axis=x,reversed=false": { + "model": "twilightforest:block/nagastone_pillar", + "x": 270, + "y": 270 + }, + "axis=x,reversed=true": { + "model": "twilightforest:block/nagastone_pillar_alt", + "x": 270, + "y": 270 + }, + "axis=y,reversed=false": { + "model": "twilightforest:block/nagastone_pillar" + }, + "axis=y,reversed=true": { + "model": "twilightforest:block/nagastone_pillar_alt" + }, + "axis=z,reversed=false": { + "model": "twilightforest:block/nagastone_pillar", + "x": 270 + }, + "axis=z,reversed=true": { + "model": "twilightforest:block/nagastone_pillar_alt", + "x": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/items/cracked_etched_nagastone.json new file mode 100644 index 0000000000..51c14f5669 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_etched_nagastone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_etched_nagastone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_pillar.json new file mode 100644 index 0000000000..1e5adeb63f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_nagastone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/etched_nagastone.json b/src/generated/resources/assets/twilightforest/items/etched_nagastone.json new file mode 100644 index 0000000000..a462e6e3a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/etched_nagastone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/etched_nagastone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/items/mossy_etched_nagastone.json new file mode 100644 index 0000000000..3b2de5358e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_etched_nagastone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_etched_nagastone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_pillar.json new file mode 100644 index 0000000000..e211cd3baf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_nagastone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/items/nagastone_pillar.json new file mode 100644 index 0000000000..a13fd2393d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/nagastone_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/nagastone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json new file mode 100644 index 0000000000..3f7d1545a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_etched_nagastone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stone_tiles_weathered", + "side": "twilightforest:block/etched_nagastone_up_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json new file mode 100644 index 0000000000..ffa748c21e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end_weathered", + "side": "twilightforest:block/nagastone_pillar_side_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json new file mode 100644 index 0000000000..98f5a76a51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end_weathered", + "side": "twilightforest:block/nagastone_pillar_side_weathered_alt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json new file mode 100644 index 0000000000..9f11091019 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/etched_nagastone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stone_tiles", + "side": "twilightforest:block/etched_nagastone_up" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json new file mode 100644 index 0000000000..b72e5cb733 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_etched_nagastone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stone_tiles_mossy", + "side": "twilightforest:block/etched_nagastone_up_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json new file mode 100644 index 0000000000..1ba8c1fee0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end_mossy", + "side": "twilightforest:block/nagastone_pillar_side_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json new file mode 100644 index 0000000000..63bac76e66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end_mossy", + "side": "twilightforest:block/nagastone_pillar_side_mossy_alt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json new file mode 100644 index 0000000000..d930ffb46f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end", + "side": "twilightforest:block/nagastone_pillar_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_alt.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_alt.json new file mode 100644 index 0000000000..fd6b92fa6e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_pillar_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/nagastone_pillar_end", + "side": "twilightforest:block/nagastone_pillar_side_alt" + } +} \ No newline at end of file From 4e56d375bc6c8e877e862a4572d7101de2c3c824 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 21:09:47 +0200 Subject: [PATCH 082/239] End of nagastone --- .../assets/models/TFModelTemplates.java | 6 +-- .../datagen/helpers/BlockModelBuilders.java | 52 +++++++++++++++++-- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 1eec1369c2..bbd8603c20 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -17,9 +17,9 @@ public class TFModelTemplates extends ModelTemplates { .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); - public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); - public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); - public static final ModelTemplate BISECTED_STAIRS_OUTER = create("twilightforest:bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:util/bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:util/bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate BISECTED_STAIRS_OUTER = create("twilightforest:util/bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate CANDELABRA = create("twilightforest:candelabra"); public static final ModelTemplate WALL_CANDELABRA = create("twilightforest:wall_candelabra"); diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 1cef461957..037c15e8a0 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -7,10 +7,8 @@ import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DirectionalBlock; -import net.minecraft.world.level.block.PipeBlock; -import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; import twilightforest.block.DirectionalRotatedPillarBlock; @@ -68,6 +66,10 @@ public void stairsBlock(Block block) { ResourceLocation inner = ModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); ResourceLocation straight = ModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); ResourceLocation outer = ModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); + this.stairsBlock(block, straight, inner, outer); + } + + public void stairsBlock(Block block, ResourceLocation straight, ResourceLocation inner, ResourceLocation outer) { this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); this.registerSimpleItemModel(block, straight); } @@ -98,7 +100,7 @@ public void nagaStone() { .put(TextureSlot.TOP, TwilightForestMod.prefix("block/nagastone_turn_top")); ResourceLocation solid = TFModelTemplates.CUBE_BOTTOM_TOP.createWithSuffix(TFBlocks.NAGASTONE.get(), "_solid", solidMapping, this.modelOutput); - // todo 1.21.x cleanup: generate these models as well instead of ModelTemplates.create-ing them + // todo 1.21.x cleanup: generate these models as well instead of ModelTemplates.create().extend().parent-ing them ResourceLocation down = ModelTemplates.create("twilightforest:naga_segment_down").extend().parent(TwilightForestMod.prefix("block/naga_segment/down")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_down", mapping, this.modelOutput); ResourceLocation up = ModelTemplates.create("twilightforest:naga_segment_up").extend().parent(TwilightForestMod.prefix("block/naga_segment/up")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_up", mapping, this.modelOutput); ResourceLocation horizontal = ModelTemplates.create("twilightforest:naga_segment_horizontal").extend().parent(TwilightForestMod.prefix("block/naga_segment/horizontal")).build().createWithSuffix(TFBlocks.NAGASTONE.get(), "_horizontal", mapping, this.modelOutput); @@ -123,12 +125,38 @@ public void nagaStone() { .select(NagastoneVariant.SOLID, Variant.variant().with(VariantProperties.MODEL, solid)) )); + TextureMapping faceMapping = TextureMapping.cube(TFBlocks.NAGASTONE_HEAD.get()) + .put(TextureSlot.UP, TwilightForestMod.prefix("block/nagastone_top_tip")) + .put(TextureSlot.DOWN, TwilightForestMod.prefix("block/nagastone_bottom_tip")) + .put(TextureSlot.SOUTH, TwilightForestMod.prefix("block/nagastone_face_left")) + .put(TextureSlot.NORTH, TwilightForestMod.prefix("block/nagastone_face_right")) + .put(TextureSlot.WEST, TwilightForestMod.prefix("block/nagastone_face_front")) + .put(TextureSlot.EAST, TwilightForestMod.prefix("block/nagastone_cross_section")) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/nagastone_face_front")); + ResourceLocation model = TFModelTemplates.CUBE.create(TFBlocks.NAGASTONE_HEAD.get(), faceMapping, this.modelOutput); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.NAGASTONE_HEAD.get()).with( + PropertyDispatch.property(BlockStateProperties.HORIZONTAL_FACING) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + )); + this.itemModelOutput.accept(TFBlocks.NAGASTONE_HEAD.asItem(), ItemModelUtils.plainModel(model)); + nagastonePillar(TFBlocks.NAGASTONE_PILLAR.get(), ""); nagastonePillar(TFBlocks.MOSSY_NAGASTONE_PILLAR.get(), "_mossy"); nagastonePillar(TFBlocks.CRACKED_NAGASTONE_PILLAR.get(), "_weathered"); etchedNagastone(TFBlocks.ETCHED_NAGASTONE.get(), ""); etchedNagastone(TFBlocks.MOSSY_ETCHED_NAGASTONE.get(), "_mossy"); etchedNagastone(TFBlocks.CRACKED_ETCHED_NAGASTONE.get(), "_weathered"); + + bisectedStairsBlock(TFBlocks.NAGASTONE_STAIRS_LEFT.get(), TwilightForestMod.prefix("block/etched_nagastone_left"), TwilightForestMod.prefix("block/stone_tiles"), TwilightForestMod.prefix("block/nagastone_bare")); + bisectedStairsBlock(TFBlocks.NAGASTONE_STAIRS_RIGHT.get(), TwilightForestMod.prefix("block/etched_nagastone_right"), TwilightForestMod.prefix("block/stone_tiles"), TwilightForestMod.prefix("block/nagastone_bare")); + bisectedStairsBlock(TFBlocks.MOSSY_NAGASTONE_STAIRS_LEFT.get(), TwilightForestMod.prefix("block/etched_nagastone_left_mossy"), TwilightForestMod.prefix("block/stone_tiles_mossy"), TwilightForestMod.prefix("block/nagastone_bare_mossy")); + bisectedStairsBlock(TFBlocks.MOSSY_NAGASTONE_STAIRS_RIGHT.get(), TwilightForestMod.prefix("block/etched_nagastone_right_mossy"), TwilightForestMod.prefix("block/stone_tiles_mossy"), TwilightForestMod.prefix("block/nagastone_bare_mossy")); + bisectedStairsBlock(TFBlocks.CRACKED_NAGASTONE_STAIRS_LEFT.get(), TwilightForestMod.prefix("block/etched_nagastone_left_weathered"), TwilightForestMod.prefix("block/stone_tiles_weathered"), TwilightForestMod.prefix("block/nagastone_bare_weathered")); + bisectedStairsBlock(TFBlocks.CRACKED_NAGASTONE_STAIRS_RIGHT.get(), TwilightForestMod.prefix("block/etched_nagastone_right_weathered"), TwilightForestMod.prefix("block/stone_tiles_weathered"), TwilightForestMod.prefix("block/nagastone_bare_weathered")); } private void nagastonePillar(Block block, String suffix) { @@ -174,6 +202,20 @@ private void etchedNagastone(Block block, String suffix) { this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(model)); } + protected void bisectedStairsBlock(Block block, ResourceLocation side, ResourceLocation end, ResourceLocation middle) { + TextureMapping mapping = TextureMapping.cube(block) + .put(TextureSlot.BOTTOM, end) + .put(TextureSlot.TOP, end) + .put(TextureSlot.SIDE, side) + .put(TFTextureSlot.MIDDLE, middle) + .put(TextureSlot.PARTICLE, middle); + + ResourceLocation inner = TFModelTemplates.BISECTED_STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); + ResourceLocation straight = TFModelTemplates.BISECTED_STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); + ResourceLocation outer = TFModelTemplates.BISECTED_STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); + this.stairsBlock(block, straight, inner, outer); + } + public void thorns(Block block) { TextureMapping mapping = TextureMapping.column(block); ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); From 25836518b696a369853d82faf68c564bebe831ec Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 21:09:51 +0200 Subject: [PATCH 083/239] gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 35 ++- .../cracked_nagastone_stairs_left.json | 209 ++++++++++++++++++ .../cracked_nagastone_stairs_right.json | 209 ++++++++++++++++++ .../mossy_nagastone_stairs_left.json | 209 ++++++++++++++++++ .../mossy_nagastone_stairs_right.json | 209 ++++++++++++++++++ .../blockstates/nagastone_head.json | 20 ++ .../blockstates/nagastone_stairs_left.json | 209 ++++++++++++++++++ .../blockstates/nagastone_stairs_right.json | 209 ++++++++++++++++++ .../items/cracked_nagastone_stairs_left.json | 6 + .../items/cracked_nagastone_stairs_right.json | 6 + .../items/mossy_nagastone_stairs_left.json | 6 + .../items/mossy_nagastone_stairs_right.json | 6 + .../twilightforest/items/nagastone_head.json | 6 + .../items/nagastone_stairs_left.json | 6 + .../items/nagastone_stairs_right.json | 6 + .../block/cracked_nagastone_stairs_left.json | 9 + ...ked_nagastone_stairs_left_inner_inner.json | 9 + ...ked_nagastone_stairs_left_outer_outer.json | 9 + .../block/cracked_nagastone_stairs_right.json | 9 + ...ed_nagastone_stairs_right_inner_inner.json | 9 + ...ed_nagastone_stairs_right_outer_outer.json | 9 + .../block/mossy_nagastone_stairs_left.json | 9 + ...ssy_nagastone_stairs_left_inner_inner.json | 9 + ...ssy_nagastone_stairs_left_outer_outer.json | 9 + .../block/mossy_nagastone_stairs_right.json | 9 + ...sy_nagastone_stairs_right_inner_inner.json | 9 + ...sy_nagastone_stairs_right_outer_outer.json | 9 + .../models/block/nagastone_head.json | 12 + .../models/block/nagastone_stairs_left.json | 9 + .../nagastone_stairs_left_inner_inner.json | 9 + .../nagastone_stairs_left_outer_outer.json | 9 + .../models/block/nagastone_stairs_right.json | 9 + .../nagastone_stairs_right_inner_inner.json | 9 + .../nagastone_stairs_right_outer_outer.json | 9 + .../block/util/bisected_inner_stairs.json | 6 +- .../block/util/bisected_outer_stairs.json | 4 +- .../models/block/util/bisected_stairs.json | 4 +- 37 files changed, 1531 insertions(+), 8 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/items/nagastone_head.json create mode 100644 src/generated/resources/assets/twilightforest/items/nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/items/nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_head.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer_outer.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 82a4b48969..8b9a6ea7b4 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-05T19:09:32.1737634 Model Definitions - twilightforest +// 1.21.4 2025-04-05T21:03:41.7410506 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -32,6 +32,8 @@ c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canop c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json 8ad74b6899b8c0e5918617e47587480edcafeb55 assets/twilightforest/blockstates/cracked_nagastone_pillar.json +9fb90f7d04afc435739d193e468e69f084d87cbb assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json +e7199853ca29145ffb01743e9be73457bb867825 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json @@ -94,8 +96,13 @@ b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minos c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy_etched_nagastone.json 6172f9532121bdd2e1151694e1516094c2fdaa35 assets/twilightforest/blockstates/mossy_nagastone_pillar.json +7e17fa3a718f3698671c168f2eac9733cdf51b06 assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json +884a4d18955eb22c4d5afebff019d6bc5aa00b9c assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json +b609ca5161aa6cba127356dd7e6cf739b5ba90cc assets/twilightforest/blockstates/nagastone_head.json 8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json +beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagastone_stairs_left.json +344bc801ddf20afa798499ec3c80d49ba89be47c assets/twilightforest/blockstates/nagastone_stairs_right.json 0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json @@ -228,6 +235,8 @@ e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_veni 545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json 0e43c8b6517dbd4ba86a41d26308ed2499cf88e7 assets/twilightforest/items/cracked_etched_nagastone.json d0d964719f31180f7986a96318b2927cbd9ae8c2 assets/twilightforest/items/cracked_nagastone_pillar.json +e9aa2d0b0148a1618071bab3b7c864e7359b0ac3 assets/twilightforest/items/cracked_nagastone_stairs_left.json +06086a7ba7c3334e9fcb25c85ed35c16a4a76e50 assets/twilightforest/items/cracked_nagastone_stairs_right.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json @@ -359,6 +368,8 @@ ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.j 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json 41b7867a7dd3613ec1d503ca641f976dc33afb63 assets/twilightforest/items/mossy_etched_nagastone.json fe56517b8d02951cf83b53622249798d06eeeebd assets/twilightforest/items/mossy_nagastone_pillar.json +b0f2cd23bcb5477ea5e593d71f2db3487355c658 assets/twilightforest/items/mossy_nagastone_stairs_left.json +63fd50940aafa1cb2c41600d548891427e8b0d11 assets/twilightforest/items/mossy_nagastone_stairs_right.json dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json 81eecea93538d3fc3f423c7772d63a0785db8bc3 assets/twilightforest/items/music_disc_maker.json @@ -370,7 +381,10 @@ b9e27b15ac9a50ddaa84943f0d55138f3a1f3d9e assets/twilightforest/items/music_disc_ 2bd751399010366f0dd89a7d7d128a108caba6c0 assets/twilightforest/items/music_disc_wayfarer.json ea9e8e2ab39b78ff0a7963cb8354fc4f52800fcd assets/twilightforest/items/mystic_crown.json 4278a0455f92ac2ae843a6192002f64075ca3048 assets/twilightforest/items/nagastone.json +df5299aee478937a344b991feda6357c4bd345ec assets/twilightforest/items/nagastone_head.json c0b5feab2f4a4ee817b237ce24abf72e3d4cb602 assets/twilightforest/items/nagastone_pillar.json +1d0b656129eda43a77bd0f000f54979ef12ced23 assets/twilightforest/items/nagastone_stairs_left.json +d62b9ee4f91d48a12625e79332538f3857419ce2 assets/twilightforest/items/nagastone_stairs_right.json 819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json @@ -558,6 +572,12 @@ e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/cano 64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json ebdd9bdca720c9a8f7d4946f76776b364e6e8f4e assets/twilightforest/models/block/cracked_nagastone_pillar.json e34dd40e37c328b7378ca6e7e6114e9fc4ba25b2 assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json +783156d4fb79cd650269c0b2d4eb6491bff53e97 assets/twilightforest/models/block/cracked_nagastone_stairs_left.json +c06d8dc440d1339ef152921693c6d8655759ce4b assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner_inner.json +48cf93a1810dc5d41045e30e7d224a5abba66b15 assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer_outer.json +4ea797c12baf56ba00ea946b9a9d3ddcc1bc1079 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json +d0265cb851a40e415029a85d8fb087da4b43ef62 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json +6307d92705ed2d9548ef2a42a429aae107fa91cd assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json b1c019a1f248a8701667aa9f5493429d78d59698 assets/twilightforest/models/block/dark_button.json 6f091ed41f72be8c4bb23d5c9164a6226ff266c4 assets/twilightforest/models/block/dark_button_inventory.json 5efd32034f57a4b3bc129852273afda7aceae103 assets/twilightforest/models/block/dark_button_pressed.json @@ -673,11 +693,24 @@ b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/mino 651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/mossy_nagastone_pillar.json 7616fbf68606060c362e6b7f4bc94e57460b1528 assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json +9a9cc249072251efebbce39a21830d27df120e91 assets/twilightforest/models/block/mossy_nagastone_stairs_left.json +1e4e19fb6ea6a512c12d9c45cedbf54468f5ad5b assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner_inner.json +4886398e8e645f19f908f06762d24fd5c9fee392 assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer_outer.json +5be6f99a101c53bd0ac721021f507df961dc68cf assets/twilightforest/models/block/mossy_nagastone_stairs_right.json +0afcb830b1c831f1983975415ea0f3c96fefe653 assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json +4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json +79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json aa9c8d2a2bc8ae90a87934af98fe5687c9ca67a6 assets/twilightforest/models/block/nagastone_pillar.json a5d262f5809673fc18032fb2eafe6aa67803a001 assets/twilightforest/models/block/nagastone_pillar_alt.json 8274ec20d898476a327009ffb7221ac404511a9e assets/twilightforest/models/block/nagastone_solid.json +23530992796abb83a102af867b012bba36299f02 assets/twilightforest/models/block/nagastone_stairs_left.json +30072b9b3647c649ed20dc812ca1e613d8637afe assets/twilightforest/models/block/nagastone_stairs_left_inner_inner.json +8aca33d74660e8c87cbecb3d0a423a7518bb46c5 assets/twilightforest/models/block/nagastone_stairs_left_outer_outer.json +8a365c5bc9dd0cbe377104ca1d877c9fe06b8272 assets/twilightforest/models/block/nagastone_stairs_right.json +284ce7da9e5c1e3e8ec4f69f359dbe2213480ef3 assets/twilightforest/models/block/nagastone_stairs_right_inner_inner.json +f7db4426aca10e038da6811dff46648cfa61a3a9 assets/twilightforest/models/block/nagastone_stairs_right_outer_outer.json 67ad8622746f0091ca682df01ba2b788886a2638 assets/twilightforest/models/block/nagastone_up.json 499953b8e2ee45b1fae43d9bdcdd4d7d351e00f0 assets/twilightforest/models/block/nagastone_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/naga_boss_spawner.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json new file mode 100644 index 0000000000..2c71678579 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json new file mode 100644 index 0000000000..c108fb91b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/cracked_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json new file mode 100644 index 0000000000..e1e6501f64 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json new file mode 100644 index 0000000000..f3091acad9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/mossy_nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json new file mode 100644 index 0000000000..1044adb91a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=east": { + "model": "twilightforest:block/nagastone_head", + "y": 180 + }, + "facing=north": { + "model": "twilightforest:block/nagastone_head", + "y": 90 + }, + "facing=south": { + "model": "twilightforest:block/nagastone_head", + "y": 270 + }, + "facing=west": { + "model": "twilightforest:block/nagastone_head", + "y": 0 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json new file mode 100644 index 0000000000..b13ec1280d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_left.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_left_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_left_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_left", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json new file mode 100644 index 0000000000..f1c6d229b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_stairs_right.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/nagastone_stairs_right_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/nagastone_stairs_right_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/nagastone_stairs_right", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_left.json new file mode 100644 index 0000000000..40ced2ee9a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_left.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_nagastone_stairs_left" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_right.json new file mode 100644 index 0000000000..cf74cb83e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_nagastone_stairs_right.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_nagastone_stairs_right" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_left.json new file mode 100644 index 0000000000..138739b75f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_left.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_nagastone_stairs_left" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_right.json new file mode 100644 index 0000000000..e2fd0c313e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_nagastone_stairs_right.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_nagastone_stairs_right" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/nagastone_head.json b/src/generated/resources/assets/twilightforest/items/nagastone_head.json new file mode 100644 index 0000000000..5f24f7b5ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/nagastone_head.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/nagastone_head" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/items/nagastone_stairs_left.json new file mode 100644 index 0000000000..5f520d5821 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/nagastone_stairs_left.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/nagastone_stairs_left" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/items/nagastone_stairs_right.json new file mode 100644 index 0000000000..ae8e758da0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/nagastone_stairs_right.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/nagastone_stairs_right" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json new file mode 100644 index 0000000000..1af390aec8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_left_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner_inner.json new file mode 100644 index 0000000000..638a5a121e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_left_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer_outer.json new file mode 100644 index 0000000000..78839fc661 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_left_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_left_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json new file mode 100644 index 0000000000..33d6c19a54 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_right_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json new file mode 100644 index 0000000000..89d7e37aa4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_right_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json new file mode 100644 index 0000000000..c04d29f674 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_weathered", + "middle": "twilightforest:block/nagastone_bare_weathered", + "side": "twilightforest:block/etched_nagastone_right_weathered", + "top": "twilightforest:block/stone_tiles_weathered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json new file mode 100644 index 0000000000..f8ed6d87fc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_left_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner_inner.json new file mode 100644 index 0000000000..9a2f29f610 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_left_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer_outer.json new file mode 100644 index 0000000000..872ebc43c4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_left_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_left_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json new file mode 100644 index 0000000000..c0ef352ffb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_right_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json new file mode 100644 index 0000000000..4f682a278f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_right_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json new file mode 100644 index 0000000000..0cd0c853a0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles_mossy", + "middle": "twilightforest:block/nagastone_bare_mossy", + "side": "twilightforest:block/etched_nagastone_right_mossy", + "top": "twilightforest:block/stone_tiles_mossy" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json new file mode 100644 index 0000000000..8ae3e16429 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/nagastone_bottom_tip", + "east": "twilightforest:block/nagastone_cross_section", + "north": "twilightforest:block/nagastone_face_right", + "particle": "twilightforest:block/nagastone_face_front", + "south": "twilightforest:block/nagastone_face_left", + "up": "twilightforest:block/nagastone_top_tip", + "west": "twilightforest:block/nagastone_face_front" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json new file mode 100644 index 0000000000..fc04824f65 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_left", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner_inner.json new file mode 100644 index 0000000000..1895d594f1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_left", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer_outer.json new file mode 100644 index 0000000000..ee00d3a140 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_left_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_left", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json new file mode 100644 index 0000000000..77472e2d7a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_right", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner_inner.json new file mode 100644 index 0000000000..cac516156b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_right", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer_outer.json new file mode 100644 index 0000000000..a030e1120c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_stairs_right_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/stone_tiles", + "middle": "twilightforest:block/nagastone_bare", + "side": "twilightforest:block/etched_nagastone_right", + "top": "twilightforest:block/stone_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/bisected_inner_stairs.json b/src/main/resources/assets/twilightforest/models/block/util/bisected_inner_stairs.json index 18abf42b88..b6b5a24dda 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/bisected_inner_stairs.json +++ b/src/main/resources/assets/twilightforest/models/block/util/bisected_inner_stairs.json @@ -7,7 +7,7 @@ "from": [ 0, 0, 0 ], "to": [ 16, 8, 16 ], "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#end", "cullface": "down" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#middle" }, "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, @@ -18,7 +18,7 @@ "from": [ 8, 8, 0 ], "to": [ 16, 16, 16 ], "faces": { - "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#end", "cullface": "up" }, + "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "north" }, "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#side" }, @@ -28,7 +28,7 @@ "from": [ 0, 8, 8 ], "to": [ 8, 16, 16 ], "faces": { - "up": { "uv": [ 0, 8, 8, 16 ], "texture": "#end", "cullface": "up" }, + "up": { "uv": [ 0, 8, 8, 16 ], "texture": "#top", "cullface": "up" }, "north": { "uv": [ 8, 0, 16, 8 ], "texture": "#side" }, "south": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "south" }, "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "west" } diff --git a/src/main/resources/assets/twilightforest/models/block/util/bisected_outer_stairs.json b/src/main/resources/assets/twilightforest/models/block/util/bisected_outer_stairs.json index 4fd8093761..92646b09fd 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/bisected_outer_stairs.json +++ b/src/main/resources/assets/twilightforest/models/block/util/bisected_outer_stairs.json @@ -7,7 +7,7 @@ "from": [ 0, 0, 0 ], "to": [ 16, 8, 16 ], "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#end", "cullface": "down" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#middle" }, "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, @@ -18,7 +18,7 @@ "from": [ 8, 8, 8 ], "to": [ 16, 16, 16 ], "faces": { - "up": { "uv": [ 8, 8, 16, 16 ], "texture": "#end", "cullface": "up" }, + "up": { "uv": [ 8, 8, 16, 16 ], "texture": "#top", "cullface": "up" }, "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side" }, "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, "west": { "uv": [ 8, 0, 16, 8 ], "texture": "#side" }, diff --git a/src/main/resources/assets/twilightforest/models/block/util/bisected_stairs.json b/src/main/resources/assets/twilightforest/models/block/util/bisected_stairs.json index 36d6082a1b..421df3e855 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/bisected_stairs.json +++ b/src/main/resources/assets/twilightforest/models/block/util/bisected_stairs.json @@ -25,7 +25,7 @@ "from": [ 0, 0, 0 ], "to": [ 16, 8, 16 ], "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#end", "cullface": "down" }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" }, "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#middle" }, "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" }, "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" }, @@ -36,7 +36,7 @@ "from": [ 8, 8, 0 ], "to": [ 16, 16, 16 ], "faces": { - "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#end", "cullface": "up" }, + "up": { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#side", "cullface": "north" }, "south": { "uv": [ 8, 0, 16, 8 ], "texture": "#side", "cullface": "south" }, "west": { "uv": [ 0, 0, 16, 8 ], "texture": "#side" }, From 09b75d0d42cbb74a4f6c20d68c85f9dc6764ceeb Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 22:45:44 +0200 Subject: [PATCH 084/239] Spiral bricks, twisted stone, bold stone & pillar --- .../datagen/assets/models/BlockModelGenerator.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 5e5b6b4e4b..57e1c36922 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -52,6 +52,14 @@ public void run() { this.nagaStone(); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.SPIRAL_BRICKS.get()).with(PropertyDispatch.properties(SpiralBrickBlock.AXIS_FACING, SpiralBrickBlock.DIAGONAL).generate((axis, diagonals) -> + Variant.variant().with(VariantProperties.MODEL, TwilightForestMod.prefix("block/spiral_bricks/" + axis.getName() + "_spiral_" + diagonals.getSerializedName()))))); + this.itemModelOutput.accept(TFBlocks.SPIRAL_BRICKS.asItem(), ItemModelUtils.plainModel(TwilightForestMod.prefix("block/spiral_bricks/z_spiral_bottom_right"))); + + this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.stonePillar(); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); From 43520a1f51128b93b43c4528158b62ce743c3ed0 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 5 Apr 2025 22:45:47 +0200 Subject: [PATCH 085/239] gen --- .../datagen/helpers/BlockModelBuilders.java | 85 ++++++- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 14 +- .../blockstates/bold_stone_pillar.json | 16 ++ .../blockstates/spiral_bricks.json | 40 ++++ .../blockstates/twisted_stone.json | 16 ++ .../blockstates/twisted_stone_pillar.json | 223 ++++++++++++++++++ .../items/bold_stone_pillar.json | 6 + .../twilightforest/items/spiral_bricks.json | 6 + .../twilightforest/items/twisted_stone.json | 6 + .../items/twisted_stone_pillar.json | 6 + .../models/block/bold_stone_pillar.json | 7 + .../block/bold_stone_pillar_horizontal.json | 7 + .../models/block/twisted_stone.json | 7 + .../block/twisted_stone_horizontal.json | 7 + ..._pillar_side.png => bold_stone_pillar.png} | Bin ...llar_end.png => bold_stone_pillar_top.png} | Bin ...isted_stone_side.png => twisted_stone.png} | Bin ...ed_stone_end.png => twisted_stone_top.png} | Bin 18 files changed, 444 insertions(+), 2 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/bold_stone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/spiral_bricks.json create mode 100644 src/generated/resources/assets/twilightforest/items/twisted_stone.json create mode 100644 src/generated/resources/assets/twilightforest/items/twisted_stone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twisted_stone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json rename src/main/resources/assets/twilightforest/textures/block/{stone_pillar_side.png => bold_stone_pillar.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stone_pillar_end.png => bold_stone_pillar_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twisted_stone_side.png => twisted_stone.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twisted_stone_end.png => twisted_stone_top.png} (100%) diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 037c15e8a0..0ae0910bb0 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -7,12 +7,16 @@ import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import twilightforest.TwilightForestMod; import twilightforest.block.CastleDoorBlock; import twilightforest.block.DirectionalRotatedPillarBlock; import twilightforest.block.NagastoneBlock; +import twilightforest.block.WallPillarBlock; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -216,6 +220,85 @@ protected void bisectedStairsBlock(Block block, ResourceLocation side, ResourceL this.stairsBlock(block, straight, inner, outer); } + public void stonePillar() { + ResourceLocation base = TwilightForestMod.prefix("block/pillar/pillar_base"); + ResourceLocation up = TwilightForestMod.prefix("block/pillar/pillar_up"); + ResourceLocation down = TwilightForestMod.prefix("block/pillar/pillar_down"); + ResourceLocation top = TwilightForestMod.prefix("block/pillar/pillar_top"); + ResourceLocation bottom = TwilightForestMod.prefix("block/pillar/pillar_bottom"); + + this.itemModelOutput.accept(TFBlocks.TWISTED_STONE_PILLAR.asItem(), ItemModelUtils.plainModel(TwilightForestMod.prefix("block/pillar/pillar_inventory"))); + + this.blockStateOutput.accept( + MultiPartGenerator.multiPart(TFBlocks.TWISTED_STONE_PILLAR.get()) + // X + .with( + Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X), + Variant.variant().with(VariantProperties.MODEL, base).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X), Condition.condition().term(PipeBlock.EAST, false)), + Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X), Condition.condition().term(PipeBlock.WEST, false)), + Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.Z), Condition.condition().term(PipeBlock.EAST, true)), + Variant.variant().with(VariantProperties.MODEL, up).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Y, Direction.Axis.Z), Condition.condition().term(PipeBlock.WEST, true)), + Variant.variant().with(VariantProperties.MODEL, down).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + + // Y + .with( + Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Y), + Variant.variant().with(VariantProperties.MODEL, base) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Y), Condition.condition().term(PipeBlock.UP, false)), + Variant.variant().with(VariantProperties.MODEL, top) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Y), Condition.condition().term(PipeBlock.DOWN, false)), + Variant.variant().with(VariantProperties.MODEL, bottom) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X, Direction.Axis.Z), Condition.condition().term(PipeBlock.UP, true)), + Variant.variant().with(VariantProperties.MODEL, up) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X, Direction.Axis.Z), Condition.condition().term(PipeBlock.DOWN, true)), + Variant.variant().with(VariantProperties.MODEL, down) + ) + + // Z + .with( + Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Z), + Variant.variant().with(VariantProperties.MODEL, base).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Z), Condition.condition().term(PipeBlock.NORTH, false)), + Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.Z), Condition.condition().term(PipeBlock.SOUTH, false)), + Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X, Direction.Axis.Y), Condition.condition().term(PipeBlock.NORTH, true)), + Variant.variant().with(VariantProperties.MODEL, up).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.and(Condition.condition().term(WallPillarBlock.AXIS, Direction.Axis.X, Direction.Axis.Y), Condition.condition().term(PipeBlock.SOUTH, true)), + Variant.variant().with(VariantProperties.MODEL, down).with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + ) + ); + } + public void thorns(Block block) { TextureMapping mapping = TextureMapping.column(block); ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 8b9a6ea7b4..71a1c13c03 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-05T21:03:41.7410506 Model Definitions - twilightforest +// 1.21.4 2025-04-05T22:35:13.2239989 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -11,6 +11,7 @@ bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_ 8d271d7a5aa135f9f6f57083a1aaa726f18515ce assets/twilightforest/blockstates/bold_castle_brick_pillar.json d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_castle_brick_stairs.json 837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json +0fe35f334a5cf6d5868913b14ce8c0ea7badb41b assets/twilightforest/blockstates/bold_stone_pillar.json 54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json @@ -132,6 +133,7 @@ a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorti 20314688b0ef3050080a134cf32c5ac2d9bf1aaf assets/twilightforest/blockstates/sorting_trapdoor.json 6c2d40b15b9dcc49feb02616470eb4ed4754a615 assets/twilightforest/blockstates/sorting_trapped_chest.json 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json +fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json 245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json 6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json 895cf7d2f621f164fe6bc9747d6139e32d138dd2 assets/twilightforest/blockstates/time_chest.json @@ -172,6 +174,8 @@ f532e1fbce487d08e488af25b67f3026e8201d4a assets/twilightforest/blockstates/twili da289dbfb7e9f17190a07936eefe0305ae8aa974 assets/twilightforest/blockstates/twilight_oak_trapdoor.json c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twilight_oak_trapped_chest.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json +3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json +3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json @@ -205,6 +209,7 @@ fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle_brick_pillar.json ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle_brick_stairs.json 331a56341dafff69c9721952e7616aca780204e3 assets/twilightforest/items/bold_castle_brick_tile.json +51be9131d247425687001d44e9448fdf65d940d3 assets/twilightforest/items/bold_stone_pillar.json c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorns.json 7fcee9a21dc23e5a2947d6bc3a7dd8ab95377639 assets/twilightforest/items/burnt_thorns.json 94bcb56bc2cda362bb8af7792cd204abf879e9ec assets/twilightforest/items/candelabra.json @@ -435,6 +440,7 @@ a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fen 365eed3e0cbfd903de1fb157f5b2eafaaada64d6 assets/twilightforest/items/sorting_stairs.json 51fb4715f66926fb6642989523627c9d943ae620 assets/twilightforest/items/sorting_trapdoor.json d84a3ce3786242b19151f49a3546ed3cba93ef57 assets/twilightforest/items/sorting_trapped_chest.json +8c18c36efcafc7a0454b8eb82f1f40452e368b9b assets/twilightforest/items/spiral_bricks.json d0646c85a48e4eb018ee6c5c1dd27aa1c3080ef2 assets/twilightforest/items/squirrel_spawn_egg.json e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_core_spawn_egg.json 63a9456abb037acd89375ce3fb0be21d879ab394 assets/twilightforest/items/steeleaf_axe.json @@ -490,6 +496,8 @@ fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oa b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json +f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json +34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_banner_pattern.json d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json @@ -521,6 +529,8 @@ b0c7eda2b12e6542f8853f37b9911186d4fde316 assets/twilightforest/models/block/bold c935e32f0890f62b1b21093df948648c54609a2b assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json 991bcec9affa1e1d34c80011f7227f575ffe0ada assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json +dfae34f8d9174a2288a63b0e276daae43013c1b9 assets/twilightforest/models/block/bold_stone_pillar.json +5574ef22a8b9fc22c31fcefcb36afdac9f304412 assets/twilightforest/models/block/bold_stone_pillar_horizontal.json 45f0e7513a99924387702ce251ec64a6fabc1d8c assets/twilightforest/models/block/brown_thorns_bottom.json 0e9f345aea9692c2b708dd7e2cd5e96cb6abee63 assets/twilightforest/models/block/brown_thorns_main.json 3cc128ae4c9e151a6c9cb2efb615da18b1b4b6b0 assets/twilightforest/models/block/brown_thorns_no_section.json @@ -846,6 +856,8 @@ b4662a4c6dca19b04b9d443bd54f099da5ac903e assets/twilightforest/models/block/twil db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twilight_oak_trapdoor_open.json 582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json +899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json +6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json 4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json new file mode 100644 index 0000000000..580c818a43 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/bold_stone_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/bold_stone_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/bold_stone_pillar" + }, + "axis=z": { + "model": "twilightforest:block/bold_stone_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json b/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json new file mode 100644 index 0000000000..edc867630e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/spiral_bricks.json @@ -0,0 +1,40 @@ +{ + "variants": { + "axis=x,diagonal=bottom_left": { + "model": "twilightforest:block/spiral_bricks/x_spiral_bottom_left" + }, + "axis=x,diagonal=bottom_right": { + "model": "twilightforest:block/spiral_bricks/x_spiral_bottom_right" + }, + "axis=x,diagonal=top_left": { + "model": "twilightforest:block/spiral_bricks/x_spiral_top_left" + }, + "axis=x,diagonal=top_right": { + "model": "twilightforest:block/spiral_bricks/x_spiral_top_right" + }, + "axis=y,diagonal=bottom_left": { + "model": "twilightforest:block/spiral_bricks/y_spiral_bottom_left" + }, + "axis=y,diagonal=bottom_right": { + "model": "twilightforest:block/spiral_bricks/y_spiral_bottom_right" + }, + "axis=y,diagonal=top_left": { + "model": "twilightforest:block/spiral_bricks/y_spiral_top_left" + }, + "axis=y,diagonal=top_right": { + "model": "twilightforest:block/spiral_bricks/y_spiral_top_right" + }, + "axis=z,diagonal=bottom_left": { + "model": "twilightforest:block/spiral_bricks/z_spiral_bottom_left" + }, + "axis=z,diagonal=bottom_right": { + "model": "twilightforest:block/spiral_bricks/z_spiral_bottom_right" + }, + "axis=z,diagonal=top_left": { + "model": "twilightforest:block/spiral_bricks/z_spiral_top_left" + }, + "axis=z,diagonal=top_right": { + "model": "twilightforest:block/spiral_bricks/z_spiral_top_right" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json new file mode 100644 index 0000000000..0fa02cc1ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/twisted_stone_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/twisted_stone" + }, + "axis=z": { + "model": "twilightforest:block/twisted_stone_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json new file mode 100644 index 0000000000..398abe4ec3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twisted_stone_pillar.json @@ -0,0 +1,223 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/pillar/pillar_base", + "x": 90, + "y": 90 + }, + "when": { + "axis": "x" + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_top", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "axis": "x" + }, + { + "east": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_bottom", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "axis": "x" + }, + { + "west": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_up", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "axis": "y|z" + }, + { + "east": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_down", + "x": 90, + "y": 90 + }, + "when": { + "AND": [ + { + "axis": "y|z" + }, + { + "west": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_base" + }, + "when": { + "axis": "y" + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_top" + }, + "when": { + "AND": [ + { + "axis": "y" + }, + { + "up": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_bottom" + }, + "when": { + "AND": [ + { + "axis": "y" + }, + { + "down": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_up" + }, + "when": { + "AND": [ + { + "axis": "x|z" + }, + { + "up": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_down" + }, + "when": { + "AND": [ + { + "axis": "x|z" + }, + { + "down": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_base", + "x": 90 + }, + "when": { + "axis": "z" + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_top", + "x": 90 + }, + "when": { + "AND": [ + { + "axis": "z" + }, + { + "north": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_bottom", + "x": 90 + }, + "when": { + "AND": [ + { + "axis": "z" + }, + { + "south": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_up", + "x": 90 + }, + "when": { + "AND": [ + { + "axis": "x|y" + }, + { + "north": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/pillar/pillar_down", + "x": 90 + }, + "when": { + "AND": [ + { + "axis": "x|y" + }, + { + "south": "true" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/items/bold_stone_pillar.json new file mode 100644 index 0000000000..104d8498d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/bold_stone_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/bold_stone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/spiral_bricks.json b/src/generated/resources/assets/twilightforest/items/spiral_bricks.json new file mode 100644 index 0000000000..b091553367 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/spiral_bricks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/spiral_bricks/z_spiral_bottom_right" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twisted_stone.json b/src/generated/resources/assets/twilightforest/items/twisted_stone.json new file mode 100644 index 0000000000..af29d8e093 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twisted_stone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twisted_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twisted_stone_pillar.json b/src/generated/resources/assets/twilightforest/items/twisted_stone_pillar.json new file mode 100644 index 0000000000..0bb6579a71 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twisted_stone_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/pillar/pillar_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json new file mode 100644 index 0000000000..f84cf3cea6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/bold_stone_pillar_top", + "side": "twilightforest:block/bold_stone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json new file mode 100644 index 0000000000..c63dee9dc6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bold_stone_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/bold_stone_pillar_top", + "side": "twilightforest:block/bold_stone_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json b/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json new file mode 100644 index 0000000000..935ddc9aab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twisted_stone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/twisted_stone_top", + "side": "twilightforest:block/twisted_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json new file mode 100644 index 0000000000..6a37eb17b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twisted_stone_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/twisted_stone_top", + "side": "twilightforest:block/twisted_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/stone_pillar_side.png b/src/main/resources/assets/twilightforest/textures/block/bold_stone_pillar.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stone_pillar_side.png rename to src/main/resources/assets/twilightforest/textures/block/bold_stone_pillar.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stone_pillar_end.png b/src/main/resources/assets/twilightforest/textures/block/bold_stone_pillar_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stone_pillar_end.png rename to src/main/resources/assets/twilightforest/textures/block/bold_stone_pillar_top.png diff --git a/src/main/resources/assets/twilightforest/textures/block/twisted_stone_side.png b/src/main/resources/assets/twilightforest/textures/block/twisted_stone.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/twisted_stone_side.png rename to src/main/resources/assets/twilightforest/textures/block/twisted_stone.png diff --git a/src/main/resources/assets/twilightforest/textures/block/twisted_stone_end.png b/src/main/resources/assets/twilightforest/textures/block/twisted_stone_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/twisted_stone_end.png rename to src/main/resources/assets/twilightforest/textures/block/twisted_stone_top.png From 8ed5cf7addd1cdf8a41236cf575b8735d7073e18 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 5 Apr 2025 22:52:03 -0600 Subject: [PATCH 086/239] exclude cache and flatten jsons on build, fix tests the lang files are 1:1 copy of the es_es file, plus crowdin doesnt support them so away they go --- build.gradle | 10 +- gradle.properties | 1 - .../datagen/RegistryProvider.java | 61 - .../datagen/bootstrap/IBootstrap.java | 9 - .../datagen/bootstrap/package-info.java | 7 - .../assets/twilightforest/lang/es_ar.json | 1315 ----------------- .../assets/twilightforest/lang/es_cl.json | 1315 ----------------- .../assets/twilightforest/lang/es_ec.json | 1315 ----------------- .../assets/twilightforest/lang/es_mx.json | 1315 ----------------- 9 files changed, 9 insertions(+), 5339 deletions(-) delete mode 100644 src/data/java/twilightforest/datagen/RegistryProvider.java delete mode 100644 src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java delete mode 100644 src/data/java/twilightforest/datagen/bootstrap/package-info.java delete mode 100644 src/main/resources/assets/twilightforest/lang/es_ar.json delete mode 100644 src/main/resources/assets/twilightforest/lang/es_cl.json delete mode 100644 src/main/resources/assets/twilightforest/lang/es_ec.json delete mode 100644 src/main/resources/assets/twilightforest/lang/es_mx.json diff --git a/build.gradle b/build.gradle index cb7e8e1a41..ee40848d2d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,5 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper import net.neoforged.moddevgradle.internal.RunGameTask buildscript { @@ -297,11 +299,17 @@ processResources { def ver = project.version filesMatching("META-INF/neoforge.mods.toml") { expand([ - 'file' : [ + 'file': [ 'jarVersion': ver ] ]) } + exclude ".cache" + doLast { + fileTree(dir: getOutputs().getFiles().getAsPath(), includes: ["**/*.json", "**/*.mcmeta"]).each { + File file -> file.setText(JsonOutput.toJson(new JsonSlurper().parse(file))) + } + } } jar { diff --git a/gradle.properties b/gradle.properties index 8623ea7681..fc4ee856c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,5 @@ org.gradle.jvmargs=-Xmx4G org.gradle.daemon=false -org.gradle.configuration-cache=true # Versions can be found at https://parchmentmc.org/docs/getting-started neoForge.parchment.minecraftVersion=1.21.4 diff --git a/src/data/java/twilightforest/datagen/RegistryProvider.java b/src/data/java/twilightforest/datagen/RegistryProvider.java deleted file mode 100644 index a11dff0735..0000000000 --- a/src/data/java/twilightforest/datagen/RegistryProvider.java +++ /dev/null @@ -1,61 +0,0 @@ -package twilightforest.datagen; - -import net.minecraft.core.HolderLookup; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistrySetBuilder; -import net.minecraft.resources.ResourceKey; -import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; -import net.neoforged.neoforge.data.event.GatherDataEvent; -import org.jetbrains.annotations.Nullable; -import tamaized.beanification.Component; -import tamaized.beanification.Directory; -import tamaized.beanification.PostConstruct; -import twilightforest.TwilightForestMod; -import twilightforest.datagen.bootstrap.IBootstrap; - -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; - -@Component -public class RegistryProvider { - - @Directory(IBootstrap.class) - private List bootstraps; - - private RegistrySetBuilder builder = new RegistrySetBuilder(); - - @Nullable - private DatapackBuiltinEntriesProvider value; - - @PostConstruct - private void setup() { - bootstraps.forEach(bootstrap -> builder = bootstrap.bootstrap(builder)); - } - - public CompletableFuture retrieve(GatherDataEvent event) { - if (value == null) { - value = new DatapackBuiltinEntriesProvider(event.getGenerator().getPackOutput(), event.getLookupProvider(), builder, Set.of("minecraft", TwilightForestMod.ID)); - event.getGenerator().addProvider(true, value); - } - return value.getRegistryProvider(); - } - - public HolderLookup.Provider join() { - return Objects.requireNonNull(value).getRegistryProvider().join(); - } - - public Optional> findKey(ResourceKey> registry, T t) { - return findKeyFrom(join(), registry, t); - } - - public Optional> findKeyFrom(HolderLookup.Provider provider, ResourceKey> registry, T t) { - return provider.lookupOrThrow(registry).listElements() - .filter(b -> b.value() == t) - .findAny().orElseThrow() - .unwrapKey(); - } - -} diff --git a/src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java b/src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java deleted file mode 100644 index 0afc5f0e5c..0000000000 --- a/src/data/java/twilightforest/datagen/bootstrap/IBootstrap.java +++ /dev/null @@ -1,9 +0,0 @@ -package twilightforest.datagen.bootstrap; - -import net.minecraft.core.RegistrySetBuilder; - -public interface IBootstrap { - - RegistrySetBuilder bootstrap(RegistrySetBuilder builder); - -} diff --git a/src/data/java/twilightforest/datagen/bootstrap/package-info.java b/src/data/java/twilightforest/datagen/bootstrap/package-info.java deleted file mode 100644 index fa620ac557..0000000000 --- a/src/data/java/twilightforest/datagen/bootstrap/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@MethodsReturnNonnullByDefault -@ParametersAreNonnullByDefault -package twilightforest.datagen.bootstrap; - -import net.minecraft.MethodsReturnNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/lang/es_ar.json b/src/main/resources/assets/twilightforest/lang/es_ar.json deleted file mode 100644 index 66da7d7cb1..0000000000 --- a/src/main/resources/assets/twilightforest/lang/es_ar.json +++ /dev/null @@ -1,1315 +0,0 @@ -{ - "itemGroup.twilightforest": "Twilight Forest", - - // ADVANCEMENTS - "advancement.twilightforest.root.desc": "Entra en el misterioso bosque mÔgico: the Twilight Forest.", - - // General progression - "advancement.twilightforest.hedge": "Golpeador de Bichos", - "advancement.twilightforest.hedge.desc": "Derrota a una araña en un %s.", - - "advancement.twilightforest.hill1": "Las botas son mías!", - "advancement.twilightforest.hill1.desc": "Derrota a un %s en un pequeño %s.", - "advancement.twilightforest.hill2": "Qué fue ese ruido?", - "advancement.twilightforest.hill2.desc": "Derrota a un %s en un medio %s.", - "advancement.twilightforest.hill3": "Veo a través de ti", - "advancement.twilightforest.hill3.desc": "Derrota a un %s en un gran %s.", - - "advancement.twilightforest.quest_ram": "Consumación de Baaahs", - "advancement.twilightforest.quest_ram.desc": "Dale al %s lo que le falta.", - - // Map - "advancement.twilightforest.magic_map_focus": "Con El Fuego Se Escribe", - "advancement.twilightforest.magic_map_focus.desc": "Elabora el %s con un %s, %s, y %s.", - "advancement.twilightforest.magic_map": "Puedo Ver Para Siempre", - "advancement.twilightforest.magic_map.desc": "Haz los %s.", - "advancement.twilightforest.maze_map": "Y Ahora, a Encontrar la Salida", - "advancement.twilightforest.maze_map.desc": "Elabora los %s después de obtener el foco del laberinto.", - "advancement.twilightforest.ore_map": "Cómo puede merecer la pena?", - "advancement.twilightforest.ore_map.desc": "Haz los %s.", - - // Mainline beginning progression - "advancement.twilightforest.twilight_hunter": "El Silencio del Bosque", - "advancement.twilightforest.twilight_hunter.desc": "Cazar algo de la fauna local.", - - "advancement.twilightforest.kill_naga": "Es Hora de Igualar la Balanza", - "advancement.twilightforest.kill_naga.desc": "Mata al %s en su patio del bosque y obtén un %s para superar la barrera mÔgica que rodea la torre del Lich.", - "advancement.twilightforest.naga_armors": "Armero Naga", - "advancement.twilightforest.naga_armors.desc": "Crea la armadura de pecho y de piernas de %s.", - - "advancement.twilightforest.kill_lich": "Trae a tus muertos", - "advancement.twilightforest.kill_lich.desc": "Mata a los % en lo alto de su torre y recupera un cetro para eliminar los mosquitos venenosos del Pantano, ver a través de la oscuridad cegadora de la maldición del Bosque Oscuro y resistir el frío del Bosque Nevado.", - "advancement.twilightforest.lich_scepters": "Por Nuestros Poderes Combinados!", - "advancement.twilightforest.lich_scepters.desc": "Consigue los cuatro cetros de poder.", - - // Swamp Progression - "advancement.twilightforest.progress_labyrinth": "El Poderoso Stroganoff", - "advancement.twilightforest.progress_labyrinth.desc": "El guiso de carne y hongos te calienta agradablemente, lo suficiente como para que sientas que estÔs lo suficientemente aclimatado como para aventurarte en el Pantano del Fuego.", - "advancement.twilightforest.kill_hydra": "Cazador de Hidras", - "advancement.twilightforest.kill_hydra.desc": "Derrota a los poderosos %s y empodérate.", - "advancement.twilightforest.mazebreaker": "Rompiendo el Laberinto", - "advancement.twilightforest.mazebreaker.desc": "Encuentra el pico %s en la bóveda secreta del laberinto.", - "advancement.twilightforest.hydra_chop": "Chuleta de Hidra, Baby!", - "advancement.twilightforest.hydra_chop.desc": "Disminuye el consumo de carne de %s hydra cuando la barra de comida esté vacía.", - - // Dark Forest Progression - "advancement.twilightforest.progress_trophy_pedestal": "Trofeo de Campeón", - "advancement.twilightforest.progress_trophy_pedestal.desc": "Reclama tu título colocando un trofeo en el pedestal de las ruinas del bosque oscuro.", - "advancement.twilightforest.progress_knights": "Aclimatación de Carminita", - "advancement.twilightforest.progress_knights.desc": "Acomoda a los inquietos fantasmas en la Tumba del Caballero y los dispositivos de la torre de carminita te obedecerÔn.", - "advancement.twilightforest.ghast_trap": "Algo extraño en la Torre de Madera", - "advancement.twilightforest.ghast_trap.desc": "Mata a los %s alrededor de un %s y actívalo para arrancar el %s del cielo!", - "advancement.twilightforest.progress_ur_ghast": "LÔgrimas de Fuego", - "advancement.twilightforest.progress_ur_ghast.desc": "Toca las lÔgrimas rojas y ardientes de los %s.", - - "advancement.twilightforest.experiment_115": "Carne misteriosa?", - "advancement.twilightforest.experiment_115.desc": "Parece un pastel, aunque...", - "advancement.twilightforest.experiment_115_2": "Tomar nota: ”Un gran éxito!", - "advancement.twilightforest.experiment_115_2.desc": "Es tan delicioso y húmedo!", - - // Snow Forest Progression - "advancement.twilightforest.progress_yeti": "Pelaje Alfa", - "advancement.twilightforest.progress_yeti.desc": "Cubre tus prendas con el suave pelaje de los %s, manteniéndote a salvo del frío del Glaciar.", - "advancement.twilightforest.progress_glacier": "Cielos Despejados", - "advancement.twilightforest.progress_glacier.desc": "Derrota a los %s encima de los %s.", - "advancement.twilightforest.arctic_dyed": "Ponerse a la Moda", - "advancement.twilightforest.arctic_dyed.desc": "Tiñe las cuatro piezas de la Armadura Ártica.", - - // Mid-way Misc. Stuff - "advancement.twilightforest.glass_sword": "Una Maravilla De Un Solo Golpe", - "advancement.twilightforest.glass_sword.desc": "Espero que lo hayas aprovechado.", - - "advancement.twilightforest.fiery_set": "Galones de Sangre y LÔgrimas", - "advancement.twilightforest.fiery_set.desc": "Empuña una herramienta o arma mientras tienes al menos una pieza de armadura de ardiente en tu inventario.", - - // Highlands - "advancement.twilightforest.progress_merge": "Enfrentamiento Final", - "advancement.twilightforest.progress_merge.desc": "Mata a los %s, %s y %s para eliminar la lluvia Ôcida y envalentonarte para las Tierras Altas.", - "advancement.twilightforest.troll": "Trolleamos un Poco", - "advancement.twilightforest.troll.desc": "Encuentra y mata a un %s.", - "advancement.twilightforest.beanstalk": "Jack y las Habichuelas", - "advancement.twilightforest.beanstalk.desc": "Consigue algunos %s en las cuevas de los trolls y úsalos en el suelo brillante bajo las nubes.", - "advancement.twilightforest.giants": "Estoy en las Nubes", - "advancement.twilightforest.giants.desc": "Mata a un %s en las nubes, recupera un %s, y vuelve a las cuevas de los trolls.", - "advancement.twilightforest.progress_troll": "Deseo MÔs Quemaduras", - "advancement.twilightforest.progress_troll.desc": "Encuentra los %s en las cuevas de los trolls, y podrÔs quemar las barreras de espinas.", - "advancement.twilightforest.progress_thorns": "MÔs AllÔ De Las Espinas [NYI]", - "advancement.twilightforest.progress_thorns.desc": "Pasa por las Tierras Espinosas y desbloquea la puerta del castillo.", - "advancement.twilightforest.progress_castle": "Wow Que Super Castillo!!! [NYI]", - "advancement.twilightforest.progress_castle.desc": "Qué podría haber en ese castillo?!?", - - // Collections - "advancement.twilightforest.twilight_dining": "Cenamos en el Eterno Atardecer", - "advancement.twilightforest.twilight_dining.desc": "Come toda la comida exclusiva de Twilight Forest.", - "advancement.twilightforest.experiment_115_3": "Comer 115 cada día, 115 años, para siempre", - "advancement.twilightforest.experiment_115_3.desc": "comer experimento ciento quince durante todo el día, para siempre, ciento quince veces experimento ciento quince, experimento ciento quince punto com, doble-u doble-u punto experimento ciento quince punto com, ciento quince años, cada minuto experimento ciento quince punto com, doble-u doble-u punto ciento quince punto com", - "advancement.twilightforest.arborist": "Dendrologista Maníaco", - "advancement.twilightforest.arborist.desc": "Prepara tus hachas y tijeras. Busca en todos los rincones y consigue todo lo que provenga de los Ôrboles. Construye, saquea y obtén cada tabla... Ôrbol joven... hojas... mÔs... todo. ”TODO!", - - "twilightforest.twilight_portal.unsafe": "No parece seguro aquí...", - "twilightforest.trophy_pedestal.ineligible": "No eres digno.", - "twilightforest.ore_meter.range": "Radio: %s, Origen: [%s, %s]", - "twilightforest.ore_meter.exposed": "Expuesto: %s", - "twilightforest.scepter_charges": "Quedan %d cargas", - - // Commands - "commands.tffeature.usage": "/tffeature ", - "commands.tffeature.nearest": "The nearest feature is %s", - "commands.tffeature.center": "Center of feature: %s", - "commands.tffeature.chunk": "Are in feature chunk: %s", - "commands.tffeature.structure.inside": "You are in the structure for that feature", - "commands.tffeature.structure.outside": "You are not in the structure for that feature", - "commands.tffeature.structure.required": "You are not in a structure", - "commands.tffeature.structure.conquer.status": "Structure conquer flag: %s", - "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, changing to %s", - "commands.tffeature.locate.usage": "/tffeature locate ", - "commands.tfreload.reload": "Reloading Twilight Forest Shaders!", - - // Biomes - "biome.twilightforest.forest": "Bosque Crepuscular", - "biome.twilightforest.dense_forest": "Bosque Denso", - "biome.twilightforest.firefly_forest": "Bosque de las Luciérnagas", - "biome.twilightforest.clearing": "Despeje Crepuscular", - "biome.twilightforest.oak_savannah": "Sabana de Roble", - "biome.twilightforest.stream": "Corriente Crepuscular", - "biome.twilightforest.lake": "Lago Crepuscular", - "biome.twilightforest.mushroom_forest": "Bosque de Hongos", - "biome.twilightforest.dense_mushroom_forest": "Bosque Denso de Hongos", - "biome.twilightforest.enchanted_forest": "Bosque Encantado", - "biome.twilightforest.spooky_forest": "Bosque Espeluznante", - "biome.twilightforest.swamp": "TPantano Crepuscular", - "biome.twilightforest.fire_swamp": "Pantano de Fuego", - "biome.twilightforest.dark_forest": "Bosque Oscuro", - "biome.twilightforest.dark_forest_center": "Centro del Bosque Oscuro", - "biome.twilightforest.snowy_forest": "Bosque Nevado", - "biome.twilightforest.glacier": "Glaciar Crepuscular", - "biome.twilightforest.highlands": "Tierras Altas Crepusculares", - "biome.twilightforest.thornlands": "Tierras Espinosas", - "biome.twilightforest.final_plateau": "Meseta Final", - - // Gamerules - "gamerule.tfEnforcedProgression": "Progresión de Twilight Forest", - - // Enchantments - "enchantment.twilightforest.fire_react": "Reacción al Fuego", - "enchantment.twilightforest.chill_aura": "Aura fría", - - // Effects - "effect.twilightforest.frosted": "Escarchado", - - // Blocks - "block.twilightforest.twilight_oak_log": "Tronco de Roble Crepuscular", - "block.twilightforest.canopy_log": "Tronco de Dosel Arbóreo", - "block.twilightforest.mangrove_log": "Tronco de Manglar", - "block.twilightforest.dark_log": "Tronco de Madera Oscura", - "block.twilightforest.stripped_twilight_oak_log": "Tronco de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_log": "Tronco de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_log": "Tronco de Manglar Sin Corteza", - "block.twilightforest.stripped_dark_log": "Tronco de Madera Oscura Sin Corteza", - "block.twilightforest.twilight_oak_wood": "Madera de Roble Crepuscular", - "block.twilightforest.canopy_wood": "Madera de Dosel Arbóreo", - "block.twilightforest.mangrove_wood": "Madera de Manglar", - "block.twilightforest.dark_wood": "Madera Oscura", - "block.twilightforest.stripped_twilight_oak_wood": "Madera de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_wood": "Madera de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_wood": " Madera de Manglar Despojada", - "block.twilightforest.stripped_dark_wood": " Madera oscura despojada", - "block.twilightforest.twilight_oak_leaves": "Hojas de Roble Crepuscular", - "block.twilightforest.canopy_leaves": "Hojas de Dosel Arbóreo", - "block.twilightforest.mangrove_leaves": "Hojas de Manglar", - "block.twilightforest.rainboak_leaves": "Hojas de Roble Arco Iris", - "block.twilightforest.firefly": "Luciérnaga", - "block.twilightforest.cicada": "Cigarra", - "block.twilightforest.cicada.desc": "Y si esto se pudiera lanzar contra alguien con un cañón de riel...?", - "block.twilightforest.twilight_portal": "Portal de Twilight Forest", - "block.twilightforest.maze_stone": "Piedra de Laberinto", - "block.twilightforest.maze_stone_brick": "Ladrillos de Piedra de Laberinto", - "block.twilightforest.maze_stone_chiseled": "Piedra de Laberinto Grabados", - "block.twilightforest.maze_stone_decorative": "Ladrillos de Piedra de Laberinto Decorativo", - "block.twilightforest.maze_stone_cracked": "Piedra de Laberinto Agrietada", - "block.twilightforest.maze_stone_mossy": "Piedra de Laberinto Musgosa", - "block.twilightforest.maze_stone_mosaic": "Mosaicos de Piedra del Laberinto", - "block.twilightforest.maze_stone_border": "Borde de Piedra de Laberinto", - "block.twilightforest.maze_stone_ceiling": "Techo de Piedra de Laberinto", - "block.twilightforest.spiral_bricks": "Ladrillos en Espiral", - "block.twilightforest.hedge": "Cobertura", - "block.twilightforest.boss_spawner_naga": "Generador de Jefe Naga", - "block.twilightforest.boss_spawner_lich": "Generador de Jefe Lich", - "block.twilightforest.boss_spawner_minoshroom": "Generador de Jefe Minosetauro", - "block.twilightforest.boss_spawner_hydra": "Generador de Jefe Hidra", - "block.twilightforest.boss_spawner_knight_phantom": "Generador de Jefe Caballero Fantasma", - "block.twilightforest.boss_spawner_ur_ghast": "Genrador de Jefe Ur-Ghast", - "block.twilightforest.boss_spawner_alpha_yeti": "Generador de Jefe Yeti", - "block.twilightforest.boss_spawner_snow_queen": "Generador de Jefe Reina de las Nieves", - "block.twilightforest.boss_spawner_final_boss": "Generador de Jefe Final", - "block.twilightforest.firefly_jar": "Jarra con Luciérnaga", - "block.twilightforest.cicada_jar": "Jarra con Cigarra", - "block.twilightforest.moss_patch": "Parche de Musgo [WIP]", - "block.twilightforest.mayapple": "Mayapple", - "block.twilightforest.clover_patch": "Hoja de Trébol [NYI]", - "block.twilightforest.fiddlehead": "Brotes de Helecho", - "block.twilightforest.mushgloom": "Hongo Brillante", - "block.twilightforest.torchberry_plant": "Planta de Antorcha", - "block.twilightforest.root_strand": "Hilos de raíz", - "block.twilightforest.fallen_leaves": "Montón de hojas", - "block.twilightforest.root": "Raíces", - "block.twilightforest.liveroot_block": "Raíces vivas", - "block.twilightforest.uncrafting_table": "Mesa de Desfabricación", - "block.twilightforest.smoker": "Ahumador", - "block.twilightforest.encased_smoker": "Ahumador Encapsulado", - "block.twilightforest.fire_jet": "Chorro de Fuego", - "block.twilightforest.encased_fire_jet": "Chorro de Fuego Encapsulado", - "block.twilightforest.naga_stone_head": "Cabeza de Piedra de Naga", - "block.twilightforest.naga_stone": "Piedra de Naga", - "block.twilightforest.twilight_oak_sapling": "Retoño de Roble Crepuscular Enfermizo", - "block.twilightforest.canopy_sapling": "Retoño de Dosel Arbóreo", - "block.twilightforest.mangrove_sapling": "Retoño de Manglar Crepuscular", - "block.twilightforest.darkwood_sapling": "Retoño del Árbol de Madera Oscura", - "block.twilightforest.hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular", - "block.twilightforest.time_sapling": "Retoño del Árbol del Tiempo", - "block.twilightforest.transformation_sapling": "Retoño del Árbol de Transformación", - "block.twilightforest.mining_sapling": "Retoño del Árbol Minero", - "block.twilightforest.sorting_sapling": "Retoño del Árbol de Clasificación", - "block.twilightforest.rainboak_sapling": "Retoño de Roble Arcoíris", - "block.twilightforest.moonworm": "Gusano Lunar", - "block.twilightforest.time_log": "Tronco del Árbol del Tiempo", - "block.twilightforest.transformation_log": "Tronco del Árbol de Transformación", - "block.twilightforest.mining_log": "Tronco del Árbol Minero", - "block.twilightforest.sorting_log": "Tronco del Árbol de Clasificación", - "block.twilightforest.stripped_time_log": "Tronco Sin Corteza del Árbol del Tiempo", - "block.twilightforest.stripped_transformation_log": "Tronco Sin Corteza del Árbol de Transformación", - "block.twilightforest.stripped_mining_log": "Tronco Sin Corteza del Árbol Minero", - "block.twilightforest.stripped_sorting_log": "Tronco Sin Corteza del Árbol de Clasificación", - "block.twilightforest.sorting_wood": "Madera del Árbol de Clasificación", - "block.twilightforest.mining_wood": "Madera del Árbol Minero", - "block.twilightforest.transformation_wood": "Madera del Árbol de Transformación", - "block.twilightforest.time_wood": "Madera del Árbol del Tiempo", - "block.twilightforest.stripped_sorting_wood": "Madera Pelada del Árbol de Clasificación", - "block.twilightforest.stripped_mining_wood": "Madera Pelada del Árbol Minero", - "block.twilightforest.stripped_transformation_wood": "Madera Pelada del Árbol de Transformación", - "block.twilightforest.stripped_time_wood": "Madera Pelada del Árbol del Tiempo", - "block.twilightforest.time_log_core": "Reloj del Árbol del Tiempo", - "block.twilightforest.transformation_log_core": "Corazón del Árbol de Transformación", - "block.twilightforest.mining_log_core": "Núcleo del Árbol Minero", - "block.twilightforest.sorting_log_core": "Motor del Árbol de Clasificación", - "block.twilightforest.time_leaves": "Hojas del Árbol del Tiempo", - "block.twilightforest.transformation_leaves": "Hojas del Árbol de Transformación", - "block.twilightforest.mining_leaves": "Hojas del Árbol Minero", - "block.twilightforest.sorting_leaves": "Hojas del Árbol de Clasificación", - "block.twilightforest.tower_wood": "Tablones de la Torre de Madera", - "block.twilightforest.tower_wood_encased": "Madera Encapsulada de la Torre de Madera", - "block.twilightforest.tower_wood_cracked": "Madera Agrietada de la Torre de Madera", - "block.twilightforest.tower_wood_mossy": "Madera Musgosa de la Torre de Madera", - "block.twilightforest.tower_wood_infested": "Madera Infestada de la Torre de Madera", - "block.twilightforest.reappearing_block": "Bloque Reaparecedor", - "block.twilightforest.vanishing_block": "Bloque de Desaparición", - "block.twilightforest.locked_vanishing_block": "Bloque de Desaparición Bloqueado", - "block.twilightforest.carminite_builder": "Constructor de Carminita", - "block.twilightforest.antibuilder": "Anti-Construcción", - "block.twilightforest.ghast_trap": "Trampa de Ghast", - "block.twilightforest.carminite_reactor": "Reactor de Carminita", - "block.twilightforest.fake_gold": "Oro Falso", - "block.twilightforest.fake_diamond": "Diamante Falso", - "block.twilightforest.trophy": "Trofeo de Twilight Forest", - "block.twilightforest.stronghold_shield": "Escudo de la Fortaleza", - "block.twilightforest.trophy_pedestal": "Pedestal para Trofeos", - "block.twilightforest.aurora_block": "Bloque de Aurora", - "block.twilightforest.underbrick": "Subsuelo de Ladrillos", - "block.twilightforest.underbrick_mossy": "Subsuelo de Ladrillos Musgoso", - "block.twilightforest.underbrick_cracked": "Subsuelo de Ladrillos Agrietado", - "block.twilightforest.underbrick_floor": "Piso de Subsuelo de Ladrillos [NYI]", - "block.twilightforest.brown_thorns": "Espinas", - "block.twilightforest.green_thorns": "Espinas Verdes", - "block.twilightforest.burnt_thorns": "Espinas Quemadas", - "block.twilightforest.thorn_rose": "Rosa Espinosa", - "block.twilightforest.thorn_leaves": "Hojas de Espinas", - "block.twilightforest.beanstalk_leaves": "Hojas de Frijol", - "block.twilightforest.deadrock_weathered": "Roca Muerta Desgastada", - "block.twilightforest.deadrock_cracked": "Roca Muerta Agrietada", - "block.twilightforest.deadrock": "Roca Muerta", - "block.twilightforest.dark_leaves": "Hojas de Madera Oscura", - "block.twilightforest.auroralized_glass": "Vidrio Auroralizado [NYI]", - "block.twilightforest.aurora_pillar": "Pilar de Aurora", - "block.twilightforest.aurora_slab": "Losa de Aurora", - "block.twilightforest.trollsteinn": "Trollsteinn", - "block.twilightforest.wispy_cloud": "Nube de Agua", - "block.twilightforest.fluffy_cloud": "Nube Esponjosa", - "block.twilightforest.giant_cobblestone": "Piedra Labrada Gigante", - "block.twilightforest.giant_log": "Tronco Gigante", - "block.twilightforest.giant_leaves": "Hojas Gigantes", - "block.twilightforest.giant_obsidian": "Obsidiana Gigante", - "block.twilightforest.uberous_soil": "Tierra Uberous", - "block.twilightforest.huge_stalk": "Tallos Enormes", - "block.twilightforest.huge_mushgloom": "Enorme Hongo Brillante", - "block.twilightforest.huge_mushgloom_stem": "Enorme Tallo de Hongo Brillante", - "block.twilightforest.trollvidr": "Trollvidr", - "block.twilightforest.unripe_trollber": "Trollber Sin madurar", - "block.twilightforest.trollber": "Trollber", - "block.twilightforest.slider": "Trampa Deslizante [NYI]", - "block.twilightforest.knightmetal_block": "Bloque Hecho del Caballero de Metal", - "block.twilightforest.huge_lilypad": "Enorme Almohadilla de Lirio", - "block.twilightforest.huge_waterlily": "Enorme Lirio de Agua", - "block.twilightforest.castle_brick": "Ladrillos del Castillo", - "block.twilightforest.castle_brick_worn": "Ladrillos Desgastados del Castillo", - "block.twilightforest.castle_brick_cracked": "Ladrillos Agrietados del Castillo", - "block.twilightforest.castle_brick_roof": "Azulejo del Techo del Castillo", - "block.twilightforest.castle_brick_mossy": "Ladrillos Musgosos del Castillo", - "block.twilightforest.castle_brick_frame": "Ladrillos Gruesos del Castillo", - "block.twilightforest.castle_stairs_brick": "Escaleras de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_worn": "Escaleras Desgastadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_cracked": "Escaleras Agrietadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_mossy": "Escaleras Musgosas de Ladrillo del Castillo", - "block.twilightforest.castle_door_yellow": "Puerta Amarilla del Castillo", - "block.twilightforest.castle_door_purple": "Puerta Violeta del Castillo", - "block.twilightforest.castle_door_pink": "Puerta Rosada del Castillo", - "block.twilightforest.castle_door_blue": "Puerta Azul del Castillo", - "block.twilightforest.castle_rune_brick_pink": "Ladrillo Rúnico Rosa del Castillo ", - "block.twilightforest.castle_rune_brick_blue": "Ladrillo Rúnico Azul del Castillo", - "block.twilightforest.castle_rune_brick_yellow": "Ladrillo Rúnico Amarillo del Castillo", - "block.twilightforest.castle_rune_brick_purple": "Ladrillo Rúnico Morado del Castillo", - "block.twilightforest.castle_pillar_encased": "Pilar Encapsulado de Ladrillo del Castillo ", - "block.twilightforest.castle_pillar_encased_tile": "Azulejo Encapsulado de Ladrillos del Castillo ", - "block.twilightforest.castle_pillar_bold": "Pilar Audaz de Ladrillos del Castillo", - "block.twilightforest.castle_pillar_bold_tile": "Azulejo Audaz de Ladrillo del Castillo ", - "block.twilightforest.castle_stairs_encased": "Escaleras Encapsuladas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_bold": "Escaleras Audaces de Ladrillo del Castillo", - "block.twilightforest.force_field_purple": "Campo de Fuerza Violeta", - "block.twilightforest.force_field_pink": "Campo de Fuerza Rosa", - "block.twilightforest.force_field_orange": "Campo de Fuerza Naranja", - "block.twilightforest.force_field_green": "Campo de Fuerza Verde", - "block.twilightforest.force_field_blue": "Campo de Fuerza Azul", - "block.twilightforest.ironwood_block": "Bloque de Madera de Hierro", - "block.twilightforest.fiery_block": "Bloque de Metal Ardiente", - "block.twilightforest.steeleaf_block": "Bloque de Hoja de Acero", - "block.twilightforest.arctic_fur_block": "Bloque de Pelaje Ártico", - "block.twilightforest.carminite_block": "Bloque de Carminita", - "block.twilightforest.cinder_furnace": "Horno de Ceniza [NYI]", - "block.twilightforest.cinder_log": "Tronco de Ceniza [NYI]", - "block.twilightforest.cinder_wood": "Madera de Ceniza [NYI]", - "block.twilightforest.twilight_portal_miniature_structure": "Portal Miniatura de Twilight [NYI]", - "block.twilightforest.naga_courtyard_miniature_structure": "Patio Naga Miniatura [NYI]", - "block.twilightforest.lich_tower_miniature_structure": "Torre del Lich Miniatura [NYI]", - "block.twilightforest.stone_twist": "Piedra Torcida [NYI]", - "block.twilightforest.stone_twist_thin": "Pilar de Piedra [NYI]", - "block.twilightforest.lapis_block": "Bloque de LapislÔzuli [NYI]", - "block.twilightforest.etched_nagastone": "Piedra Naga Grabada", - "block.twilightforest.nagastone_pillar": "Pilar de Piedra Naga", - "block.twilightforest.nagastone_stairs_left": "Escaleras de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_right": "Escaleras de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_mossy": "Piedra Naga con Grabado Musgoso", - "block.twilightforest.nagastone_pillar_mossy": "Pilar de Piedra Naga Musgosa", - "block.twilightforest.nagastone_stairs_mossy_left": "Escaleras Musgosa de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_mossy_right": "Escaleras Musgosa de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_weathered": "Piedra Naga Grabada en Ruinas", - "block.twilightforest.nagastone_pillar_weathered": "Pilar de Piedra Naga en Ruinas", - "block.twilightforest.nagastone_stairs_weathered_left": "Escaleras de Piedra de Naga desgastadas (Izquierda)", - "block.twilightforest.nagastone_stairs_weathered_right": "Escaleras de Piedra de Naga desgastadas (Derecha)", - "block.twilightforest.iron_ladder": "Escalera de Hierro", - "block.twilightforest.terrorcotta_circle": "Terracota (Circular)", - "block.twilightforest.terrorcotta_diagonal": "Terracota (Diagonal)", - "block.twilightforest.experiment_115": "Experimento 115", - "block.twilightforest.hydra_trophy": "Trofeo de Hidra", - "block.twilightforest.naga_trophy": "Trofeo de Naga", - "block.twilightforest.minoshroom_trophy": "Trofeo de Minosetauro", - "block.twilightforest.knight_phantom_trophy": "Trofeo de Caballero Fantasma", - "block.twilightforest.lich_trophy": "Trofeo de Lich", - "block.twilightforest.ur_ghast_trophy": "Trofeo de Ur-Ghast", - "block.twilightforest.yeti_trophy": "Trofeo de Yeti Alfa", - "block.twilightforest.snow_queen_trophy": "Trofeo de Reina de las Nieves", - "block.twilightforest.quest_ram_trophy": "Trofeo del Carnero de la Búsqueda", - - "block.twilightforest.keepsake_casket": "Ataúd del recuerdo [WIP]", - "block.twilightforest.casket.broken": "Tu Ataúd estÔ demasiado dañado para contener mÔs objetos. Todos los artículos que se guardaron en tu ataúd se cayeron al suelo..", - "block.twilightforest.casket.locked": "”Este Ataúd sólo puede ser abierto por %s!", - - "block.twilightforest.potted_twilight_oak_sapling": "Retoño del Árbol de Roble Crepuscular en Maceta", - "block.twilightforest.potted_canopy_sapling": "Retoño de Dosel Arbóreo en Maceta", - "block.twilightforest.potted_mangrove_sapling": "Retoño de Manglar Crepuscular en Maceta", - "block.twilightforest.potted_darkwood_sapling": "Retoño del Árbol de Madera Oscura en Maceta", - "block.twilightforest.potted_hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular en Maceta", - "block.twilightforest.potted_rainboak_sapling": "Retoño del Árbol de Roble Arcoíris en Maceta", - "block.twilightforest.potted_time_sapling": "Retoño del Árbol del Tiempo en Maceta", - "block.twilightforest.potted_trans_sapling": "Retoño del Árbol de la Transformación en Maceta", - "block.twilightforest.potted_mine_sapling": "Retoño del Árbol Minero en Maceta", - "block.twilightforest.potted_sort_sapling": "Retoño del Árbol de la Clasificación en Maceta", - "block.twilightforest.potted_mayapple": "Mayapple en Maceta", - "block.twilightforest.potted_fiddlehead": "Brotes de Helecho en Maceta", - "block.twilightforest.potted_mushgloom": "Hongo Brillante en Maceta", - "block.twilightforest.potted_thorn": "Espinas en Maceta", - "block.twilightforest.potted_green_thorn": "Espinas Verdes en Maceta", - "block.twilightforest.potted_dead_thorn": "Espinas Quemadas en Maceta", - - "block.twilightforest.canopy_planks": "Tablones de Dosel Arbóreo", - "block.twilightforest.canopy_stairs": "Esquelaras de Dosel Arbóreo", - "block.twilightforest.canopy_slab": "Losa de Dosel Arbóreo", - "block.twilightforest.canopy_button": "Botón de Dosel Arbóreo", - "block.twilightforest.canopy_fence": "Valla de Dosel Arbóreo", - "block.twilightforest.canopy_gate": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_plate": "Placa de Presión de Dosel Arbóreo", - "block.twilightforest.canopy_trapdoor": "Trampilla de Dosel Arbóreo", - "block.twilightforest.canopy_door": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_sign": "Letrero de Dosel Arbóreo", - "block.twilightforest.canopy_wall_sign": "Cuadro de Dosel Arbóreo", - - "block.twilightforest.dark_planks": "Tablones de Madera Oscura", - "block.twilightforest.dark_stairs": "Esquelaras de Madera Oscura", - "block.twilightforest.dark_slab": "Losa de Madera Oscura", - "block.twilightforest.dark_button": "Botón de Madera Oscura", - "block.twilightforest.dark_fence": "Valla de Madera Oscura", - "block.twilightforest.dark_gate": "Puerta de Valla de Madera Oscura", - "block.twilightforest.dark_plate": "Placa de Presión de Madera Oscura", - "block.twilightforest.dark_trapdoor": "Trampilla de Madera Oscura", - "block.twilightforest.dark_door": "Puerta de Madera Oscura", - "block.twilightforest.darkwood_sign": "Letrero de Madera Oscura", - "block.twilightforest.darkwood_wall_sign": "Cuadro de Madera Oscura", - - "block.twilightforest.mangrove_planks": "Tablones de Manglar", - "block.twilightforest.mangrove_stairs": "Esquelaras de Manglar", - "block.twilightforest.mangrove_slab": "Losa de Manglar", - "block.twilightforest.mangrove_button": "Botón de Manglar", - "block.twilightforest.mangrove_fence": "Valla de Manglar", - "block.twilightforest.mangrove_gate": "Puerta de Valla de Manglar", - "block.twilightforest.mangrove_plate": "Placa de Presión de Manglar", - "block.twilightforest.mangrove_trapdoor": "Trampilla de Manglar", - "block.twilightforest.mangrove_door": "Puerta de Manglar", - "block.twilightforest.mangrove_sign": "Letrero de Manglar", - "block.twilightforest.mangrove_wall_sign": "Cuadro de Manglar", - - "block.twilightforest.twilight_oak_planks": "Tablones de Roble Crepuscular", - "block.twilightforest.twilight_oak_stairs": "Esquelaras de Roble Crepuscular", - "block.twilightforest.twilight_oak_slab": "Losa de Roble Crepuscular", - "block.twilightforest.twilight_oak_button": "Botón de Roble Crepuscular", - "block.twilightforest.twilight_oak_fence": "Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_gate": "Puerta de Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_plate": "Placa de Presión de Roble Crepuscular", - "block.twilightforest.twilight_oak_trapdoor": "Trampilla de Roble Crepuscular", - "block.twilightforest.twilight_oak_door": "Puerta de Roble Crepuscular", - "block.twilightforest.twilight_oak_sign": "Letrero de Roble Crepuscular", - "block.twilightforest.twilight_wall_sign": "Cuadro de Roble Crepuscular", - - "block.twilightforest.time_planks": "Tablones del Árbol del Tiempo", - "block.twilightforest.time_stairs": "Esquelaras del Árbol del Tiempo", - "block.twilightforest.time_slab": "Losa del Árbol del Tiempo", - "block.twilightforest.time_button": "Botón del Árbol del Tiempo", - "block.twilightforest.time_fence": "Valla del Árbol del Tiempo", - "block.twilightforest.time_gate": "Puerta de Valla del Árbol del Tiempo", - "block.twilightforest.time_plate": "Placa de Presión del Árbol del Tiempo", - "block.twilightforest.time_trapdoor": "Trampilla del Árbol del Tiempo", - "block.twilightforest.time_door": "Puerta del Árbol del Tiempo", - "block.twilightforest.time_sign": "Letrero del Árbol del Tiempo", - "block.twilightforest.time_wall_sign": "Cuadro del Árbol del Tiempo", - - "block.twilightforest.trans_planks": "Tablones del Árbol de Transformación", - "block.twilightforest.trans_stairs": "Esquelaras del Árbol de Transformación", - "block.twilightforest.trans_slab": "Losa del Árbol de Transformación", - "block.twilightforest.trans_button": "Botón del Árbol de Transformación", - "block.twilightforest.trans_fence": "Valla del Árbol de Transformación", - "block.twilightforest.trans_gate": "Puerta de Valla del Árbol de Transformación", - "block.twilightforest.trans_plate": "Placa de Presión del Árbol de Transformación", - "block.twilightforest.trans_trapdoor": "Trampilla del Árbol de Transformación", - "block.twilightforest.trans_door": "Puerta del Árbol de Transformación", - "block.twilightforest.trans_sign": "Letrero del Árbol de Transformación", - "block.twilightforest.trans_wall_sign": "Cuadro del Árbol de Transformación", - - "block.twilightforest.mine_planks": "Tablones del Árbol Minero", - "block.twilightforest.mine_stairs": "Esquelaras del Árbol Minero", - "block.twilightforest.mine_slab": "Losa del Árbol Minero", - "block.twilightforest.mine_button": "Botón del Árbol Minero", - "block.twilightforest.mine_fence": "Valla del Árbol Minero", - "block.twilightforest.mine_gate": "Puerta de Valla del Árbol Minero", - "block.twilightforest.mine_plate": "Placa de Presión del Árbol Minero", - "block.twilightforest.mine_trapdoor": "Trampilla del Árbol Minero", - "block.twilightforest.mine_door": "Puerta del Árbol Minero", - "block.twilightforest.mine_sign": "Letrero del Árbol Minero", - "block.twilightforest.mine_wall_sign": "Cuadro del Árbol Minero", - - "block.twilightforest.sort_planks": "Tablones del Árbol de Clasificación", - "block.twilightforest.sort_stairs": "Esquelaras del Árbol de Clasificación", - "block.twilightforest.sort_slab": "Losa del Árbol de Clasificación", - "block.twilightforest.sort_button": "Botón del Árbol de Clasificación", - "block.twilightforest.sort_fence": "Valla del Árbol de Clasificación", - "block.twilightforest.sort_gate": "Puerta de Valla del Árbol de Clasificación", - "block.twilightforest.sort_plate": "Placa de Presión del Árbol de Clasificación", - "block.twilightforest.sort_trapdoor": "Trampilla del Árbol de Clasificación", - "block.twilightforest.sort_door": "Puerta del Árbol de Clasificación", - "block.twilightforest.sort_sign": "Letrero del Árbol de Clasificación", - "block.twilightforest.sort_wall_sign": "Cuadro del Árbol de Clasificación", - - "block.steeleaf.tooltip": "Reduce el daño por caída en un 25%.", - "block.arctic.tooltip": "Reduce el daño por caída en un 90%", - "block.knightmetal.tooltip": "Funciona como un cactus mÔs fuerte", - - // Structures - "structure.twilight_portal": "Portal de Twilight", - "structure.hedge_maze": "Laberinto de Setos", - "structure.hollow_hill": "Colina Hueca", - "structure.quest_grove": "Búsqueda de la Arboleda", - "structure.mushroom_tower": "Castillo de los Hongos", - "structure.naga_courtyard": "Patio Naga", - "structure.lich_tower": "Torre del Lich", - "structure.minotaur_labyrinth": "Laberinto del Minotauro", - "structure.hydra_lair": "Guarida de la Hidra", - "structure.goblin_stronghold": "Fortaleza de los Goblins", - "structure.dark_tower": "La Torre Oscura", - "structure.yeti_cave": "Cueva del Yeti", - "structure.aurora_palace": "Palacio Aurora", - "structure.troll_cave_and_cloud_castle": "Cueva de los Trolls y Casa en las Nubes", - "structure.final_castle": "Castillo Final", - - // Items - "item.twilightforest.boarkchop": "Chuleta de Boark", - "item.twilightforest.naga_scale": "Escama Naga", - "item.twilightforest.naga_chestplate": "Tunica de Escama Naga", - "item.twilightforest.naga_leggings": "Mallas de Escama Naga", - "item.twilightforest.twilight_scepter": "Cetro Crepuscular", - "item.twilightforest.lifedrain_scepter": "Cetro de Robo de Vida", - "item.twilightforest.zombie_scepter": "Cetro Zombie", - "item.twilightforest.shield_scepter": "Cetro de Fortificación", - "item.twilightforest.ore_meter": "Medidor de Minerales [NYI]", - "item.twilightforest.magic_map": "Mapa MÔgico", - "item.twilightforest.maze_map": "Mapa del Laberinto", - "item.twilightforest.ore_map": "Mapa de Laberinto/Mineral", - "item.twilightforest.raven_feather": "Pluma de Cuervo", - "item.twilightforest.magic_map_focus": "Enfoque del Mapa MÔgico", - "item.twilightforest.maze_map_focus": "Enfoque del Mapa del Laberinto", - "item.twilightforest.liveroot": "Raíces Vivas", - "item.twilightforest.ironwood_raw": "Materiales de Madera de Hierro en Bruto", - "item.twilightforest.ironwood_ingot": "Lingote de Madera de Hierro", - "item.twilightforest.ironwood_helmet": "Casco de Madera de Hierro", - "item.twilightforest.ironwood_chestplate": "Pechera de Madera de Hierro", - "item.twilightforest.ironwood_leggings": "Pantalones de Madera de Hierro", - "item.twilightforest.ironwood_boots": "Botas de Madera de Hierro", - "item.twilightforest.ironwood_sword": "Espada de Madera de Hierro", - "item.twilightforest.ironwood_shovel": "Pala de Madera de Hierro", - "item.twilightforest.ironwood_pickaxe": "Pico de Madera de Hierro", - "item.twilightforest.ironwood_axe": "Hacha de Madera de Hierro", - "item.twilightforest.ironwood_hoe": "Azada de Madera de Hierro", - "item.twilightforest.torchberries": "Bayas de Antorcha", - "item.twilightforest.raw_venison": "Venado Crudo", - "item.twilightforest.cooked_venison": "Filete de Venado", - "item.twilightforest.hydra_chop": "Chuleta de Hidra", - "item.twilightforest.fiery_blood": "Sangre Ardiente", - "item.twilightforest.fiery_ingot": "Lingote Ardiente", - "item.twilightforest.fiery_helmet": "Casco Ardiente", - "item.twilightforest.fiery_chestplate": "Pechera Ardiente", - "item.twilightforest.fiery_leggings": "Pantalones Ardientes", - "item.twilightforest.fiery_boots": "Botas Ardientes", - "item.twilightforest.fiery_sword": "Espada Ardiente", - "item.twilightforest.fiery_pickaxe": "Pico Ardiente", - "item.twilightforest.steeleaf_ingot": "Hoja de Acero", - "item.twilightforest.steeleaf_helmet": "Casco de Hoja de Acero", - "item.twilightforest.steeleaf_chestplate": "Pechera de Hoja de Acero", - "item.twilightforest.steeleaf_leggings": "Pantalones de de Hoja de Acero", - "item.twilightforest.steeleaf_boots": "Botas de Hoja de Acero", - "item.twilightforest.steeleaf_sword": "Espeda de Hoja de Acero", - "item.twilightforest.steeleaf_shovel": "Pala de Hoja de Acero", - "item.twilightforest.steeleaf_pickaxe": "Pico de Hoja de Acero", - "item.twilightforest.steeleaf_axe": "Hacha de Hoja de Acero", - "item.twilightforest.steeleaf_hoe": "Azada de Hoja de Acero", - "item.twilightforest.minotaur_axe": "Hacha de Diamante del Minotauro", - "item.twilightforest.minotaur_axe_gold": "Hacha de Oro del Minotauro", - "item.twilightforest.mazebreaker_pickaxe": "Rompe Laberintos", - "item.twilightforest.transformation_powder": "Polvo de Transformación", - "item.twilightforest.raw_meef": "Carne Cruda", - "item.twilightforest.cooked_meef": "Bistec de Carne", - "item.twilightforest.meef_stroganoff": "Carne Stroganoff", - "item.twilightforest.maze_wafer": "Oblea de Laberinto", - "item.twilightforest.magic_map_empty": "Mapa MÔgico en Blanco", - "item.twilightforest.maze_map_empty": "Mapa del Laberinto en Blanco", - "item.twilightforest.ore_map_empty": "Mapa de Laberinto/Minerales en Blanco", - "item.twilightforest.ore_magnet": "ImÔn de Minerales", - "item.twilightforest.crumble_horn": "Cuerno Desmenuzado", - "item.twilightforest.peacock_fan": "Abanico de Plumas de Pavo Real", - "item.twilightforest.moonworm_queen": "Reina Gusano Lunar", - "item.twilightforest.charm_of_life_1": "Talisman de Vida I", - "item.twilightforest.charm_of_life_2": "Talisman de Vida II", - "item.twilightforest.charm_of_keeping_1": "Talisman de conservación I", - "item.twilightforest.charm_of_keeping_2": "Talisman de conservación II", - "item.twilightforest.charm_of_keeping_3": "Talisman de conservación III", - "item.twilightforest.tower_key": "Llave de la Torre", - "item.twilightforest.borer_essence": "Esencia de Barrenador", - "item.twilightforest.carminite": "Carminita", - "item.twilightforest.tf_trophy": "%s Trofeo", - "item.twilightforest.armor_shard": "Fragmento de Armadura", - "item.twilightforest.knightmetal_ingot": "Lingote Hecho del Caballero de Metal", - "item.twilightforest.armor_shard_cluster": "Grupo de Fragmentos de Armadura", - "item.twilightforest.knightmetal_helmet": "Yelmo del Caballero de Metal", - "item.twilightforest.knightmetal_chestplate": "Pechera del Caballero de Metal", - "item.twilightforest.knightmetal_leggings": "Grebas del Caballero de Metal", - "item.twilightforest.knightmetal_boots": "Botas del Caballero de Metal", - "item.twilightforest.knightmetal_sword": "Espada del Caballero de Metal", - "item.twilightforest.knightmetal_pickaxe": "Pico del Caballero de Metal", - "item.twilightforest.knightmetal_axe": "Hacha del Caballero de Metal", - "item.twilightforest.knightmetal_shield": "Escudo del Caballero de Metal", - "item.twilightforest.phantom_helmet": "Casco de Fantasma", - "item.twilightforest.phantom_chestplate": "Pechera de Fantasma", - "item.twilightforest.lamp_of_cinders": "LÔmpara de Cenizas", - "item.twilightforest.fiery_tears": "LÔgrimas de Fuego", - "item.twilightforest.ice_bomb": "Bomba de Hielo", - "item.twilightforest.yeti_helmet": "Casco con Cuernos del Yeti", - "item.twilightforest.yeti_chestplate": "Chaqueta del Yeti", - "item.twilightforest.yeti_leggings": "Pantalones del Yeti", - "item.twilightforest.yeti_boots": "Botas del Yeti", - "item.twilightforest.alpha_fur": "Pelaje de Yeti Alfa", - "item.twilightforest.arctic_fur": "Pelaje del Ártico", - "item.twilightforest.arctic_helmet": "Capucha del Ártico", - "item.twilightforest.arctic_chestplate": "Chaqueta Ártica", - "item.twilightforest.arctic_leggings": "Pantalones del Ártico", - "item.twilightforest.arctic_boots": "Botas del Ártico", - "item.twilightforest.magic_beans": "Frijoles MÔgicos", - "item.twilightforest.giant_pickaxe": "Pico del Gigante", - "item.twilightforest.giant_sword": "Espada del Gigante", - "item.twilightforest.triple_bow": "Arco triple", - "item.twilightforest.seeker_bow": "Arco Buscador", - "item.twilightforest.ice_bow": "Arco de hielo", - "item.twilightforest.ender_bow": "Arco de Ender", - "item.twilightforest.ice_sword": "Espada de Hielo", - "item.twilightforest.glass_sword": "Espada de Vidrio", - "item.twilightforest.knightmetal_ring": "Lazo de Caballero de Metal", - "item.twilightforest.block_and_chain": "Bloque y Cadena", - "item.twilightforest.cube_talisman": "TalismÔn del Cubo [NYI]", - "item.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación [WIP]", - "item.twilightforest.moon_dial": "Dial lunar", - - "item.twilightforest.wild_boar_spawn_egg": "Generar Jabalí", - "item.twilightforest.bighorn_sheep_spawn_egg": "Generar de Oveja Cimarrón", - "item.twilightforest.deer_spawn_egg": "Generar Ciervo Salvaje", - "item.twilightforest.redcap_spawn_egg": "Generar Goblin del Gorro Rojo", - "item.twilightforest.swarm_spider_spawn_egg": "Generar Araña de Enjambre", - "item.twilightforest.naga_spawn_egg": "Generar Naga", - "item.twilightforest.skeleton_druid_spawn_egg": "Generar Druida Esqueleto", - "item.twilightforest.hostile_wolf_spawn_egg": "Generar Lobo Hostil", - "item.twilightforest.wraith_spawn_egg": "Generar Espectro Crepuscular", - "item.twilightforest.hedge_spider_spawn_egg": "Generar Araña del Seto", - "item.twilightforest.hydra_spawn_egg": "Generar Hidra", - "item.twilightforest.lich_spawn_egg": "Generar Twilight Lich ", - "item.twilightforest.penguin_spawn_egg": "Generar Pingüino", - "item.twilightforest.tiny_bird_spawn_egg": "Generar PÔjaro Pequeño", - "item.twilightforest.squirrel_spawn_egg": "Generar Ardilla de Bosque", - "item.twilightforest.bunny_spawn_egg": "Generar Conejo del Bosque", - "item.twilightforest.raven_spawn_egg": "Generar Cuervo del Bosque", - "item.twilightforest.quest_ram_spawn_egg": "Generar Carnero de la Búsqueda", - "item.twilightforest.kobold_spawn_egg": "Generar Kobold", - "item.twilightforest.mosquito_swarm_spawn_egg": "Generar Enjambre de Mosquitos", - "item.twilightforest.death_tome_spawn_egg": "Generar Tomo de la Muerte", - "item.twilightforest.minotaur_spawn_egg": "Generar Minotauro", - "item.twilightforest.minoshroom_spawn_egg": "Generar Minosetauro", - "item.twilightforest.fire_beetle_spawn_egg": "Generar Escarabajo de Fuego", - "item.twilightforest.slime_beetle_spawn_egg": "Generar Escarabajo de Slime", - "item.twilightforest.pinch_beetle_spawn_egg": "Generar Escarabajo de Pinzas", - "item.twilightforest.maze_slime_spawn_egg": "Generar Slime de Laberinto", - "item.twilightforest.redcap_sapper_spawn_egg": "Generar Zapador de Gorro Rojo", - "item.twilightforest.mist_wolf_spawn_egg": "Generar Lobo de la Niebla", - "item.twilightforest.king_spider_spawn_egg": "Generar Rey Araña", - "item.twilightforest.mini_ghast_spawn_egg": "Generar Mini Ghast de Carminita", - "item.twilightforest.tower_ghast_spawn_egg": "Generar Guardia Ghast de Carminita", - "item.twilightforest.tower_golem_spawn_egg": "Generar Golem de Carminita", - "item.twilightforest.tower_termite_spawn_egg": "Generar Barrenador de la Torre de Madera", - "item.twilightforest.tower_broodling_spawn_egg": "Generar Araña Carminita", - "item.twilightforest.ur_ghast_spawn_egg": "Generar Ur-Ghast", - "item.twilightforest.blockchain_goblin_spawn_egg": "Generar Goblin de Bloques y Cadenas", - "item.twilightforest.goblin_knight_lower_spawn_egg": "Generar Caballero Goblin", - "item.twilightforest.helmet_crab_spawn_egg": "Generar Cangrejo con Casco", - "item.twilightforest.knight_phantom_spawn_egg": "Generar Caballero Fantasma", - "item.twilightforest.yeti_spawn_egg": "Generar Yeti", - "item.twilightforest.yeti_alpha_spawn_egg": "Generar Yeti Alfa", - "item.twilightforest.winter_wolf_spawn_egg": "Generar Lobo de Invierno", - "item.twilightforest.snow_guardian_spawn_egg": "Generar GuardiÔn de Nieve", - "item.twilightforest.stable_ice_core_spawn_egg": "Generar Núcleo de Hielo Estable", - "item.twilightforest.unstable_ice_core_spawn_egg": "Generar Núcleo de Hielo Inestable", - "item.twilightforest.snow_queen_spawn_egg": "Generar Reina de las Nieves", - "item.twilightforest.troll_spawn_egg": "Generar Troll de las Cavernas", - "item.twilightforest.giant_miner_spawn_egg": "Generar Minero Gigante", - "item.twilightforest.armored_giant_spawn_egg": "Generar Gigante Armado", - "item.twilightforest.ice_crystal_spawn_egg": "Generar Cristal de Hielo", - "item.twilightforest.harbinger_cube_spawn_egg": "Generar Cubo de los Presagios [NYI]", - "item.twilightforest.adherent_spawn_egg": "Generar Adepto [NYI]", - "item.twilightforest.roving_cube_spawn_egg": "Generar Cubo Giratorio [NYI]", - - "item.twilightforest.guide": "Cuaderno de BitÔcora del Viajero [WIP]", - - "item.twilightforest.minotaur_axe.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.minotaur_axe_gold.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.knightmetal_sword.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_pickaxe.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_axe.tooltip": "Daño Extra a Objetivos No Blindados", - "item.twilightforest.giant_pickaxe.tooltip": "Rompe bloques gigantes", - "item.twilightforest.fiery_pickaxe.tooltip": "Autofundición", - "item.twilightforest.fiery_sword.tooltip": "Quema al objetivo ", - "item.twilightforest.fiery_helmet.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_chestplate.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_leggings.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_boots.tooltip": "Quema a los atacante", - "item.twilightforest.phantom_helmet.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.phantom_chestplate.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.yeti_helmet.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_chestplate.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_leggings.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_boots.tooltip": "Enfría a los atacantes", - - "item.twilightforest.arctic_armor.tooltip": "Teñible como la armadura de cuero", - - // Entities - "entity.twilightforest.wild_boar": "Jabalí", - "entity.twilightforest.bighorn_sheep": "Oveja Cimarrón", - "entity.twilightforest.deer": "Ciervo salvaje", - "entity.twilightforest.redcap": "Goblin del Gorro Rojo", - "entity.twilightforest.swarm_spider": "Araña de Enjambre", - "entity.twilightforest.naga": "Naga", - "entity.twilightforest.naga_segment": "Segmento Naga", - "entity.twilightforest.skeleton_druid": "Druida Esqueleto", - "entity.twilightforest.hostile_wolf": "Lobo hostil", - "entity.twilightforest.wraith": "Espectro Crepuscular", - "entity.twilightforest.hedge_spider": "Araña del Seto", - "entity.twilightforest.hydra": "Hidra", - "entity.twilightforest.hydra_head": "Cabeza de Hidra", - "entity.twilightforest.lich": "Twilight Lich", - "entity.twilightforest.penguin": "Pingüino", - "entity.twilightforest.tiny_bird": "PÔjaro Pequeño", - "entity.twilightforest.squirrel": "Ardilla del Bosque", - "entity.twilightforest.bunny": "Conejo Enano", - "entity.twilightforest.raven": "Cuervo del Bosque", - "entity.twilightforest.quest_ram": "Carnero de la Búsqueda", - "entity.twilightforest.kobold": "Kobold", - "entity.twilightforest.boggard": "Boggard [NYI]", - "entity.twilightforest.lich_minion": "Lich Minion", - "entity.twilightforest.loyal_zombie": "Zombi Leal", - "entity.twilightforest.mosquito_swarm": "Enjambre de Mosquitos", - "entity.twilightforest.death_tome": "Tomo de la Muerte", - "entity.twilightforest.minotaur": "Minotauro", - "entity.twilightforest.minoshroom": "Minosetauro", - "entity.twilightforest.fire_beetle": "Escarabajo de Fuego", - "entity.twilightforest.slime_beetle": "Escarabajo de Slime", - "entity.twilightforest.pinch_beetle": "Escarabajo de Pinzas", - "entity.twilightforest.maze_slime": "Slime de Laberinto", - "entity.twilightforest.redcap_sapper": "Zapador de Gorro Rojo", - "entity.twilightforest.mist_wolf": "Lobo de la Niebla", - "entity.twilightforest.king_spider": "Rey Araña", - "entity.twilightforest.firefly": "Luciérnaga", - "entity.twilightforest.mini_ghast": "Mini Ghast de Carminita", - "entity.twilightforest.tower_ghast": "Guardia Ghast de Carminita", - "entity.twilightforest.tower_golem": "Golem de Carminita", - "entity.twilightforest.tower_termite": "Barrenador de la Madera de la Torre", - "entity.twilightforest.tower_broodling": "Araña Carminita", - "entity.twilightforest.ur_ghast": "Ur-Ghast", - "entity.twilightforest.blockchain_goblin": "Generar Goblin de Bloques y Cadenas", - "entity.twilightforest.goblin_knight_upper": "Caballero Goblin Superior", - "entity.twilightforest.goblin_knight_lower": "Caballero Goblin Inferior", - "entity.twilightforest.helmet_crab": "Cangrejo con Casco", - "entity.twilightforest.knight_phantom": "Caballero Fantasma", - "entity.twilightforest.yeti": "Yeti", - "entity.twilightforest.yeti_alpha": "Yeti Alfa", - "entity.twilightforest.winter_wolf": "Lobo de Invierno", - "entity.twilightforest.snow_guardian": "GuardiÔn de Nieve", - "entity.twilightforest.stable_ice_core": "Núcleo de Hielo Estable", - "entity.twilightforest.unstable_ice_core": "Núcleo de Hielo Inestable", - "entity.twilightforest.snow_queen": "Reina de las Nieves", - "entity.twilightforest.troll": "Troll de las Cavernas", - "entity.twilightforest.giant_miner": "Minero Gigante", - "entity.twilightforest.armored_giant": "Gigante Armado", - "entity.twilightforest.ice_crystal": "Cristal de Hielo", - "entity.twilightforest.rising_zombie": "Zombie", - "entity.twilightforest.harbinger_cube": "Cubo de los Presagios [NYI]", - "entity.twilightforest.adherent": "Adepto [NYI]", - "entity.twilightforest.castle_guardian": "GuardiÔn del Castillo [NYI]", - "entity.twilightforest.roving_cube": "Cubo Giratorio [NYI]", - - "entity.twilightforest.ice_snowball": "Bola de Nieve de Hielo", - "entity.twilightforest.ice_arrow": "Flecha de Hielo", - "entity.twilightforest.seeker_arrow": "Flecha Buscadora", - "entity.twilightforest.cicada_shot": "Cigarra", - "entity.twilightforest.moonworm_shot": "Gusano Lunar", - "entity.twilightforest.nature_bolt": "Perno de la Naturaleza", - "entity.twilightforest.slime_blob": "Gota de Slime", - "entity.twilightforest.tome_bolt": " Perno del Tomo de la Muerte", - "entity.twilightforest.wand_bolt": "Perno de Cetro Crepuscular", - "entity.twilightforest.lich_bolt": "Perno del Lich", - "entity.twilightforest.lich_bomb": "Perno Explosivo del Lich", - "entity.twilightforest.hydra_mortar": "Mortero Hidra", - "entity.twilightforest.falling_ice": "Caída de hielo", - "entity.twilightforest.chain_block": "Bloque y Cadena", - "entity.twilightforest.thrown_wep": "Arma Arrojadiza", - "entity.twilightforest.charm_effect": "Efecto de Talisman", - "entity.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación", - "entity.twilightforest.slider": "Trampa Deslizante en Movimiento", - "entity.twilightforest.protection_box": "Caja de Protección de la Progresión", - - // Subtitles - "subtitles.twilightforest.entity.alphayeti.alert": "Yeti Alfa se dirige al jugador", - "subtitles.twilightforest.entity.alphayeti.death": "Yeti Alfa muerto", - "subtitles.twilightforest.entity.alphayeti.grab": "Yeti Alfa agarra al jugador", - "subtitles.twilightforest.entity.alphayeti.growl": "Yeti Alfa gruñe", - "subtitles.twilightforest.entity.alphayeti.hurt": "Yeti Alfa herido", - "subtitles.twilightforest.entity.alphayeti.ice": "Yeti Alfa lanza hielo", - "subtitles.twilightforest.entity.alphayeti.pant": "Pantalones del Yeti Alfa ", - "subtitles.twilightforest.entity.alphayeti.roar": "Yeti Alfa ruge", - "subtitles.twilightforest.entity.alphayeti.throw": "Yeti Alfa tira con fuerza", - "subtitles.twilightforest.entity.bighorn.ambient": "Balido de Oveja Cimarrón", - "subtitles.twilightforest.entity.bighorn.death": "Oveja Cimarrón muerta", - "subtitles.twilightforest.entity.bighorn.hurt": "Oveja Cimarrón herida", - "subtitles.twilightforest.entity.blockchain.ambient": "Goblin de Bloques y Cadenas se ríe", - "subtitles.twilightforest.entity.blockchain.death": "Goblin de Bloques y Cadenas muerto", - "subtitles.twilightforest.entity.blockchain.hurt": "Goblin de Bloques y Cadenas grita", - "subtitles.twilightforest.entity.boar.ambient": "Gruñido de Jabalí", - "subtitles.twilightforest.entity.boar.death": "Jabalí muerto", - "subtitles.twilightforest.entity.boar.hurt": "Jabalí herido", - "subtitles.twilightforest.entity.broodling.ambient": "Siseo de Araña Carminita", - "subtitles.twilightforest.entity.broodling.death": "Araña Carminita muerta", - "subtitles.twilightforest.entity.broodling.hurt": "Araña Carminita herida", - "subtitles.twilightforest.entity.carminitegolem.attack": "Golem de Carminita ataca", - "subtitles.twilightforest.entity.carminitegolem.death": "Golem de Carminita muerto", - "subtitles.twilightforest.entity.carminitegolem.hurt": "Golem de Carminita herido", - "subtitles.twilightforest.entity.cicada": "Canto de Cigarra", - "subtitles.twilightforest.entity.deer.death": "Ciervo salvaje muerto", - "subtitles.twilightforest.entity.deer.hurt": "Ciervo salvaje herido", - "subtitles.twilightforest.entity.deer.idle": "Ciervo salvaje mugido", - "subtitles.twilightforest.entity.druid.ambient": "Cascabeles del Druida Esqueleto", - "subtitles.twilightforest.entity.druid.death": "Druida Esqueleto muerto", - "subtitles.twilightforest.entity.druid.hurt": "Druida Esqueleto herido", - "subtitles.twilightforest.entity.druid.shoot": "Druida Esqueleto dispara", - "subtitles.twilightforest.entity.firebeetle.ambient": "Siseo de Escarabajo de Fuego", - "subtitles.twilightforest.entity.firebeetle.death": "Escarabajo de Fuego muerto", - "subtitles.twilightforest.entity.firebeetle.hurt": "Escarabajo de Fuego herido", - "subtitles.twilightforest.entity.firebeetle.shoot": "Escarabajo de Fuego dispara", - "subtitles.twilightforest.entity.ghastguard.ambient": "Llanto de Guardia Ghast", - "subtitles.twilightforest.entity.ghastguard.death": "Guardia Ghast muerto", - "subtitles.twilightforest.entity.ghastguard.hurt": "Guardia Ghast herido", - "subtitles.twilightforest.entity.ghastling.ambient": "Llanto de Mini Ghast", - "subtitles.twilightforest.entity.ghastling.death": "Mini Ghast muerto", - "subtitles.twilightforest.entity.ghastling.hurt": "Mini Ghast herido", - "subtitles.twilightforest.entity.goblinknight.ambient": "Risas de Caballero Goblin", - "subtitles.twilightforest.entity.goblinknight.death": "Caballero Goblin gime de agonía", - "subtitles.twilightforest.entity.goblinknight.hurt": "Caballero Goblin chilla de dolor", - "subtitles.twilightforest.entity.goblinknight.muffled.ambient": "Caballero Goblin sofocada rie", - "subtitles.twilightforest.entity.goblinknight.muffled.death": "Caballero Goblin sofocado gime de agonía", - "subtitles.twilightforest.entity.goblinknight.muffled.hurt": "Caballero Goblin sofocado chilla de dolor", - "subtitles.twilightforest.entity.hedgespider.ambient": "Siseo de Araña del Seto", - "subtitles.twilightforest.entity.hedgespider.death": "Araña del Seto muerta", - "subtitles.twilightforest.entity.hedgespider.hurt": "Araña del Seto herida", - "subtitles.twilightforest.entity.helmetcrab.death": "Cangrejo con Casco muerto", - "subtitles.twilightforest.entity.helmetcrab.hurt": "Cangrejo con Casco herido", - "subtitles.twilightforest.entity.hostilewolf.death": "Lobo hostil muerto", - "subtitles.twilightforest.entity.hostilewolf.hurt": "Lobo hostil herido", - "subtitles.twilightforest.entity.hostilewolf.idle": "Lobo hostil gruñe", - "subtitles.twilightforest.entity.hostilewolf.target": "Lobo hostil apunta a la víctima", - "subtitles.twilightforest.entity.hydra.death": "Hidra muerto", - "subtitles.twilightforest.entity.hydra.growl": "Hidra gruñe", - "subtitles.twilightforest.entity.hydra.hurt": "Hidra herido", - "subtitles.twilightforest.entity.hydra.roar": "Hidra ruge", - "subtitles.twilightforest.entity.hydra.shoot": "Hidra lanza fuego", - "subtitles.twilightforest.entity.hydra.warn": "Hidra se prepara para morder", - "subtitles.twilightforest.entity.ice.death": "Núcleo de hielo muerto", - "subtitles.twilightforest.entity.ice.hurt": "Núcleo de hielo herido", - "subtitles.twilightforest.entity.ice.noise": "Crujidos del Núcleo de hielo", - "subtitles.twilightforest.entity.ice.shoot": "Núcleo de hielo dispara una bola de nieve", - "subtitles.twilightforest.entity.iceguardian.ambient": "Crujidos del GuardiÔn de la nieve", - "subtitles.twilightforest.entity.iceguardian.death": "GuardiÔn de la nieve muerto", - "subtitles.twilightforest.entity.iceguardian.hurt": "GuardiÔn de la nieve herido", - "subtitles.twilightforest.entity.kingspider.ambient": "Siseo de Rey Araña", - "subtitles.twilightforest.entity.kingspider.death": "Rey Araña muerto", - "subtitles.twilightforest.entity.kingspider.hurt": "Rey Araña herido", - "subtitles.twilightforest.entity.kobold.ambient": "Gruñidos de Kobold", - "subtitles.twilightforest.entity.kobold.death": "Kobold muerto", - "subtitles.twilightforest.entity.kobold.hurt": "Kobold herido", - "subtitles.twilightforest.entity.lich.ambient": "Lich respira", - "subtitles.twilightforest.entity.lich.death": "Lich muerto", - "subtitles.twilightforest.entity.lich.hurt": "Lich herido", - "subtitles.twilightforest.entity.lich.shoot": "Lich dispara", - "subtitles.twilightforest.entity.lich.teleport": "Lich se teletransporta", - "subtitles.twilightforest.entity.lichclone.hurt": "Clon Lich se evapora", - "subtitles.twilightforest.entity.loyalzombie.ambient": "Zombi leal gruñidos", - "subtitles.twilightforest.entity.loyalzombie.death": "Zombi leal muerto", - "subtitles.twilightforest.entity.loyalzombie.hurt": "Zombi leal herido", - "subtitles.twilightforest.entity.mazeslime.death": "Slime de Laberinto muerto", - "subtitles.twilightforest.entity.mazeslime.hurt": "Slime de Laberinto herido", - "subtitles.twilightforest.entity.mazeslime.squish": "Slime de Laberinto saltando", - "subtitles.twilightforest.entity.minion.ambient": "Lich Minion gruñidos", - "subtitles.twilightforest.entity.minion.death": "Lich Minion muerto", - "subtitles.twilightforest.entity.minion.hurt": "Lich Minion herido", - "subtitles.twilightforest.entity.minion.summon": "Lich invoca a un nuevo Minion", - "subtitles.twilightforest.entity.minoshroom.ambient": "Mugido de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.attack": "Carga de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.death": "Minosetauro muerto", - "subtitles.twilightforest.entity.minoshroom.hurt": "Minosetauro herido", - "subtitles.twilightforest.entity.minotaur.ambient": "Mugido de Minotauro", - "subtitles.twilightforest.entity.minotaur.attack": "Carga de Minotauro", - "subtitles.twilightforest.entity.minotaur.death": "Minotauro muerto", - "subtitles.twilightforest.entity.minotaur.hurt": "Minotauro herido", - "subtitles.twilightforest.entity.mistwolf.death": "Lobo de la Niebla muerto", - "subtitles.twilightforest.entity.mistwolf.hurt": "Lobo de la Niebla herido", - "subtitles.twilightforest.entity.mistwolf.idle": "Lobo de la Niebla gruñe", - "subtitles.twilightforest.entity.mistwolf.target": "Lobo de la Niebla apunta a la víctima", - "subtitles.twilightforest.entity.mosquito.ambient": "Zumbido de Mosquitos", - "subtitles.twilightforest.entity.naga.hiss": "Siseo de Naga", - "subtitles.twilightforest.entity.naga.hurt": "Naga herido", - "subtitles.twilightforest.entity.naga.rattle": "Naga cascabeles", - "subtitles.twilightforest.entity.kphantom.axe": "Caballero Fantasma lanza el hacha", - "subtitles.twilightforest.entity.kphantom.ambient": "Caballero Fantasma jadeos", - "subtitles.twilightforest.entity.kphantom.death": "Caballero Fantasma muerto", - "subtitles.twilightforest.entity.kphantom.hurt": "Caballero Fantasma herido", - "subtitles.twilightforest.entity.kphantom.pick": "Caballero Fantasma lanza el pico", - "subtitles.twilightforest.entity.pinchbeetle.death": "Escarabajo de pinzas muerto", - "subtitles.twilightforest.entity.pinchbeetle.hurt": "Escarabajo de pinzas herido", - "subtitles.twilightforest.entity.quest.ambient": "Balido del Carnero de la Búsqueda", - "subtitles.twilightforest.entity.quest.death": "Carnero de la Búsqueda muerto", - "subtitles.twilightforest.entity.quest.hurt": "Carnero de la Búsqueda herido", - "subtitles.twilightforest.entity.raven.caw": "Canto de Cuervo", - "subtitles.twilightforest.entity.raven.squawk": "Graznido de Cuervo", - "subtitles.twilightforest.entity.redcap.ambient": "Risas de Gorro rojo", - "subtitles.twilightforest.entity.redcap.death": "Gorro rojo gime en agonía", - "subtitles.twilightforest.entity.redcap.hurt": "Gorro rojo chilla de dolor", - "subtitles.twilightforest.entity.shield.add": "Aparece un nuevo escudo", - "subtitles.twilightforest.entity.shield.break": "Rotura del escudo", - "subtitles.twilightforest.entity.slimebeetle.death": "Escarabajo de Slime muerto", - "subtitles.twilightforest.entity.slimebeetle.hurt": "Escarabajo de Slime herido", - "subtitles.twilightforest.entity.slimebeetle.squish": "Escarabajo de Slime saltando", - "subtitles.twilightforest.entity.snowqueen.ambient": "Reina de las Nieves cruje", - "subtitles.twilightforest.entity.snowqueen.attack": "Reina de las Nieves ataca", - "subtitles.twilightforest.entity.snowqueen.break": "Reina de las Nieves el escudo desvía", - "subtitles.twilightforest.entity.snowqueen.death": "Reina de las Nieves muerto", - "subtitles.twilightforest.entity.snowqueen.hurt": "Reina de las Nieves herido", - "subtitles.twilightforest.entity.swarmspider.ambient": "Siseo de Araña de enjambre", - "subtitles.twilightforest.entity.swarmspider.death": "Araña de enjambre muerto", - "subtitles.twilightforest.entity.swarmspider.hurt": "Araña de enjambre herido", - "subtitles.twilightforest.entity.tear.break": "LÔgrimas de Ur-Ghast rompiéndose", - "subtitles.twilightforest.entity.termite.ambient": "Siseo de Barrenador de la Torre de Madera", - "subtitles.twilightforest.entity.termite.death": "Barrenador de la Torre de Madera muerto", - "subtitles.twilightforest.entity.termite.hurt": "Barrenador de la Torre de Madera herido", - "subtitles.twilightforest.entity.tinybird.chirp": "PÔjaro gorjea", - "subtitles.twilightforest.entity.tinybird.hurt": "PÔjaro herido", - "subtitles.twilightforest.entity.tinybird.song": "PÔjaro cantando", - "subtitles.twilightforest.entity.tome.death": "Tomo de la Muerte se desmorona", - "subtitles.twilightforest.entity.tome.hurt": "Pliegues del Tomo de la Muerte", - "subtitles.twilightforest.entity.tome.idle": "Tomo de la Muerte pasa las pÔginas", - "subtitles.twilightforest.entity.urghast.ambient": "Ur-Ghast llora", - "subtitles.twilightforest.entity.urghast.death": "Ur-Ghast muerto", - "subtitles.twilightforest.entity.urghast.hurt": "Ur-Ghast grita", - "subtitles.twilightforest.entity.urghast.trapactive": "Zumbidos de la trampa Trampa Ghast", - "subtitles.twilightforest.entity.urghast.trapon": "Trampa Ghast activa", - "subtitles.twilightforest.entity.urghast.trapspindown": "Trampa Ghast se apaga", - "subtitles.twilightforest.entity.urghast.trapwarmup": "Trampa de Ghast se calienta", - "subtitles.twilightforest.entity.winterwolf.death": "Lobo de invierno muerto", - "subtitles.twilightforest.entity.winterwolf.hurt": "Lobo de invierno herido", - "subtitles.twilightforest.entity.winterwolf.idle": "Lobo de invierno gruñe", - "subtitles.twilightforest.entity.winterwolf.shoot": "Lobo de invierno dispara", - "subtitles.twilightforest.entity.winterwolf.target": "Lobo de invierno apunta a la víctima", - "subtitles.twilightforest.entity.wraith.ambient": "Jadeos de Espectro", - "subtitles.twilightforest.entity.wraith.death": "Espectro muerto", - "subtitles.twilightforest.entity.wraith.hurt": "Espectro herido", - "subtitles.twilightforest.entity.yeti.death": "Yeti muerto", - "subtitles.twilightforest.entity.yeti.grab": "Yeti agarra al jugador", - "subtitles.twilightforest.entity.yeti.growl": "Yeti gruñe", - "subtitles.twilightforest.entity.yeti.hurt": "Yeti herido", - "subtitles.twilightforest.entity.yeti.throw": "Yeti tira con fuerza", - - "subtitles.twilightforest.entity.alphayeti.parrot": "Loro gruñe fríamente", - "subtitles.twilightforest.entity.carminitegolem.parrot": "Loro golpea", - "subtitles.twilightforest.entity.hostilewolf.parrot": "Gruñidos de Loro", - "subtitles.twilightforest.entity.hydra.parrot": "Rugidos de Loro", - "subtitles.twilightforest.entity.icecore.parrot": "Crujidos de Loro", - "subtitles.twilightforest.entity.kobold.parrot": "Loro refunfuña", - "subtitles.twilightforest.entity.minotaur.parrot": "Loro muge furiosamente", - "subtitles.twilightforest.entity.mosquito.parrot": "Zumbidos de Loro", - "subtitles.twilightforest.entity.naga.parrot": "Sonajeros de Loro", - "subtitles.twilightforest.entity.redcap.parrot": "Loro se ríe", - "subtitles.twilightforest.entity.tome.parrot": "Loro hace ruidos de libros", - "subtitles.twilightforest.entity.wraith.parrot": "Jadeos de Loro", - - "subtitles.twilightforest.block.bug.squish": "Se aplasta un bicho :(", - "subtitles.twilightforest.block.builder.on": "El constructor se activa", - "subtitles.twilightforest.block.builder.off": "El constructor se desactiva", - "subtitles.twilightforest.block.builder.replace": "El constructor sustituye el bloque", - "subtitles.twilightforest.block.door.activate": "La puerta del castillo no se desvanece", - "subtitles.twilightforest.block.door.reappear": "La puerta del castillo reaparece", - "subtitles.twilightforest.block.door.vanish": "La puerta del castillo se desvanece", - "subtitles.twilightforest.block.vanish.locked": "La puerta de la Torre de Madera no se desvanece", - "subtitles.twilightforest.block.vanish.unlock": "La puerta de la Torre de Madera se desbloquea", - "subtitles.twilightforest.block.reappear.reappear": "Reaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.reappear.vanish": "Desaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.vanish.vanish": "Bloque de desaparición se desvanece", - "subtitles.twilightforest.block.core.time": "El Ôrbol del tiempo hace tictac", - "subtitles.twilightforest.block.core.transformation": "Árbol de la transformación emite un sonido ", - "subtitles.twilightforest.block.portal.woosh": "Portal del Bosque Twilight llama ", - "subtitles.twilightforest.block.pedestal.activate": "El pedestal de trofeos acepta el trofeo", - "subtitles.twilightforest.block.casket.open": "Se abre el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.close": "Se se cierra el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.repair": "El jugador repara el ataúd", - "subtitles.twilightforest.block.casket.locked": "Clics en el ataúd de recuerdo", - - "subtitles.twilightforest.item.blockchain.collide": "Bloque y Cadena golpea un bloque", - "subtitles.twilightforest.item.blockchain.hit": "Bloque y Cadena golpea a la entidad", - "subtitles.twilightforest.item.blockchain.fire": "Bloque y Cadena lanzado", - "subtitles.twilightforest.item.glasssword.break": "Espada de vidrio se rompe", - "subtitles.twilightforest.item.icebomb.fired": "Bomba de hielo lanzada", - "subtitles.twilightforest.item.lamp.burn": "LÔmpara de Cenizas quema la zona", - "subtitles.twilightforest.item.moonworm.squish": "Gusano lunar disparos", - "subtitles.twilightforest.item.magnet.grab": "El imÔn extrae el mineral", - "subtitles.twilightforest.item.fan.woosh": "Abanico de pavo real utilizado", - "subtitles.twilightforest.item.scepter.drain": "Cetro Robó la vida del objetivo ", - "subtitles.twilightforest.item.scepter.use": "Cetro usado", - "subtitles.twilightforest.item.scepter.pearl": "Cetro Crepuscular lanza la perla", - "subtitles.twilightforest.item.powder.use": "Polvo de transformación utilizado", - "subtitles.twilightforest.item.charm.keep": "Talisman de conservación devuelve los objetos", - "subtitles.twilightforest.item.charm.life": "Talisman de Vida regenera al jugador", - - "subtitles.twilightforest.te.jet.start": "Comienza el chorro de fuego", - "subtitles.twilightforest.te.jet.active": "Llamaradas de Chorro de fuego", - "subtitles.twilightforest.te.jet.pop": "Chorro de fuego empieza a brotar", - "subtitles.twilightforest.te.smoker.start": "El ahumador comienza", - "subtitles.twilightforest.te.reactor.idle": "Reactor de Carminita hace ruido", - - "subtitles.random.slider": "Trampa Deslizante en Movimiento", - - // Death Messages - "death.attack.twilightforest.ghastTear": "%1$s fue escaldado por lÔgrimas de fuego", - "death.attack.twilightforest.ghastTear.player": "%1$s fue escaldado por lÔgrimas de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.hydraFire": "%1$s fue asado vivo por la Hidra", - "death.attack.twilightforest.hydraFire.player": "%1$s fue asado vivo por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.hydraBite": "La piel de %1$s fue arrancada por la Hidra", - "death.attack.twilightforest.hydraBite.player": "La piel de %1$s fue arrancada por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.lichBolt": "La puntería del Lich era mejor que %1$s", - "death.attack.twilightforest.lichBolt.player": "El Lich y %2$s tenían mejor puntería que %1$s", - "death.attack.twilightforest.lichBomb": "%1$s sucumbió a la magia explosiva del Lich", - "death.attack.twilightforest.lichBomb.player": "%1$s sucumbió a la magia explosiva del Lich mientras escapaba %2$s", - "death.attack.twilightforest.chillingBreath": "%1$s fue congelado hasta la muerte por la Reina de las Nieves", - "death.attack.twilightforest.chillingBreath.player": "%1$s murió congelado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.squish": "%1$s fue aplastado por la Reina de las Nieves", - "death.attack.twilightforest.squish.player": "%1$s fue triturado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.thrownAxe": "%1$s fue decapitado por un hacha lanzada", - "death.attack.twilightforest.thrownAxe.player": "%1$s fue decapitado por un hacha lanzada mientras escapaba de %2$s", - "death.attack.twilightforest.thrownPickaxe": "%1$s fue decapitado por un pico lanzado", - "death.attack.twilightforest.thrownPickaxe.player": "%1$s fue decapitado por un pico lanzado mientras escapaba de %2$s", - "death.attack.twilightforest.fireJet": "%1$s caminó accidentalmente hacia un chorro de fuego", - "death.attack.twilightforest.fireJet.player": "%1$s entró accidentalmente en un chorro de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.reactor": "%1$s estuvo demasiado cerca de un reactor de carminita", - "death.attack.twilightforest.reactor.player": "%1$s estuvo demasiado cerca de un reactor de carminita mientras escapaba %2$s", - "death.attack.twilightforest.slider": "%1$s fue cortado por una trampa deslizante", - "death.attack.twilightforest.slider.player": "%1$s fue cortado por una trampa deslizante mientras escapaba de %2$s", - "death.attack.twilightforest.thorns": "%1$s caminó hacia unas espinas", - "death.attack.twilightforest.thorns.player": "%1$s caminó hacia unas espinas mientras escapaba de %2$s", - "death.attack.twilightforest.knightmetal": "%1$s fue pinchado por un bloque hecho del Caballero de Metal", - "death.attack.twilightforest.knightmetal.player": "%1$s fue pinchado por un bloque hecho del Caballero de Metal mientras escapaba de %2$s", - "death.attack.twilightforest.fiery": "%1$s caminó hacia un bloque ardiente", - "death.attack.twilightforest.fiery.player": "%1$s caminó sobre un bloque ardiente mientras escapaba de %2$s", - - "death.attack.twilightforest.axing": "%1$s ha sido cortado por %2$s", - "death.attack.twilightforest.axing.item": "%1$s ha sido cortado por %2$s con %3$s", - "death.attack.twilightforest.cicada": "%1$s fue disparado por la Cigarra", - "death.attack.twilightforest.moonworm": "%1$s fue disparado por el Gusano lunar", - "death.attack.twilightforest.ant": "%1$s vivió la vida de una hormiga gracias a %2$s", - "death.attack.twilightforest.ant.item": "%1$s vivió la vida de una hormiga gracias a %2$s usando %3$s", - "death.attack.twilightforest.haunt": "%1$s entro a la guarida de %2$s", - "death.attack.twilightforest.haunt.item": "%1$s entro a la guarida de %2$s después de ser asesinado con %3$s", - "death.attack.twilightforest.clamped": "%1$s fue sujetado hasta la muerte por %2$s", - "death.attack.twilightforest.clamped.item": "%1$s fue sujetado hasta la muerte por %2$s usando %3$s", - "death.attack.twilightforest.scorched": "%1$s fue quemado por %2$s", - "death.attack.twilightforest.scorched.item": "%1$s fue quemado por %2$s usando %3$s", - "death.attack.twilightforest.frozen": "%1$s fue congelado por %2$s usando una bomba de hielo", - "death.attack.twilightforest.frozen.item": "%1$s fue congelado por %2$s usando %3$s", - "death.attack.twilightforest.spiked": "%1$s ha sido pinchado por %2$s", - "death.attack.twilightforest.spiked.item": "%1$s ha sido pinchado por %2$s utilizando %3$s", - "death.attack.twilightforest.leafBrain": "El cerebro de %1$s fue convertido en hojas por %2$s", - "death.attack.twilightforest.leafBrain.item": "El cerebro de %1$s fue convertido en hojas por %2$s usando %3$s", - "death.attack.twilightforest.lostWords": "%1$s se quedó sin palabras tras ser asesinado por %2$s", - "death.attack.twilightforest.lostWords.item": "%1$s se quedó sin palabras tras ser asesinado por %2$s con %3$s", - "death.attack.twilightforest.snowballFight": "%1$s perdió una pelea de bolas de nieve contra %2$s", - "death.attack.twilightforest.snowballFight.item": "%1$s perdió una pelea de bolas de nieve contra %2$s usando %3$s", - "death.attack.twilightforest.yeeted": "%1$s fue golpeado por última vez por %2$s", - "death.attack.twilightforest.yeeted.item": "%1$s ha sido golpeado por última vez por %2$s mientras sostenía %3$s", - - // Misc - "twilightforest.misc.wip0": "Este bloque es un trabajo en proceso y puede tener errores o efectos no deseados que pueden dañar tu mundo.", - "twilightforest.misc.wip1": "Utilizar con precaución.", - "twilightforest.misc.nyi": "Este bloque tiene efectos que aún no se han implementado.", - - "twilightforest.loading.title.enter": "LlevÔndote al Twilight Forest...", - "twilightforest.loading.title.leave": "SacÔndote de Twilight Forest...", - - // Config - "twilightforest.config.dimension": "Ajustes de Dimensión", - "twilightforest.config.dimension.tooltip": "No podrÔs cambiar estas configuraciones sin que se produzca un reinicio.", - "twilightforest.config.dimension_id": "Dimension ID", - "twilightforest.config.dimension_id.tooltip": "Qué número de identificación asignar a la dimensión de Twilight Forest. Cambia si tienes conflictos con otro mod.", - "twilightforest.config.dimension_seed": "Semilla de Dimensión", - "twilightforest.config.dimension_seed.tooltip": "Si se establece, esto anularÔ la semilla normal del mundo cuando se generen partes de Twilight Forest Dimension.", - "twilightforest.config.spawn_in_tf": "Los nuevos jugadores aparecen en el Twilight Forest", - "twilightforest.config.spawn_in_tf.tooltip": "Si es cierto, los jugadores que aparezcan por primera vez lo harÔn en el Twilight Forest.", - "twilightforest.config.skylight_forest": "Bosque de Tragaluces [WIP]", - "twilightforest.config.skylight_forest.tooltip": "If true, Twilight Forest will generate as a void except for Major Structures.", - "twilightforest.config.skylight_oaks": "Tragaluz de Roble [WIP]", - "twilightforest.config.skylight_oaks.tooltip": "Si es cierto, los gigantescos Robles Crepusculares también aparecerÔn en los mundos vacíos.", - - "twilightforest.config.world_gen_weights": "Pesos de la generación mundial", - "twilightforest.config.world_gen_weights.tooltip": "Pesos para varias características pequeñas", - "twilightforest.config.stone_circle_weight": "Peso del círculo de piedra", - "twilightforest.config.well_weight": "Peso del pozo", - "twilightforest.config.stalagmite_weight": "Peso de la estalagmita", - "twilightforest.config.foundation_weight": "Peso de la base", - "twilightforest.config.monolith_weight": "Peso del monolito", - "twilightforest.config.grove_ruins_weight": "Peso de las ruinas de la arboleda", - "twilightforest.config.hollow_stump_weight": "Peso del muñón hueco", - "twilightforest.config.fallen_hollow_log_weight": "Peso del tronco hueco caido", - "twilightforest.config.fallen_small_log_weight": "Peso del tronco pequeño caído", - "twilightforest.config.druid_hut_weight": "Peso de la cabaña del druida", - - "twilightforest.config.hollow_hill_stalactites": "Estalactitas de la Colina Hueca personalizadas", - "twilightforest.config.hollow_hill_stalactites.tooltip": "Define estalactitas personalizadas generadas en colinas huecas.\n_Format is \\\"modid:block<:meta> size max_Length min_Height weight\\\", donde las propiedades son:\n_Size - la longitud mÔxima de la estalactita en relación con el espacio entre el suelo y el techo de la colina,\n_Max length - la longitud mÔxima de una estalactita en bloques,\n_Min height - el espacio mínimo entre el suelo de la colina y la estalactita para que se genere,\n_Weight - la frecuencia con la que se genera.\n\n_For example: \\\"minecraft:iron_ore 0.7 8 1 24\\\" añadiría una estalactita igual a la estalactita de mineral de hierro por defecto.", - "twilightforest.config.large_hill": "Grandes Colinas", - "twilightforest.config.large_hill.tooltip": "Bloques que se generan como estalactitas sólo en las grandes colinas.", - "twilightforest.config.medium_hill": "Colinas medianas y grandes", - "twilightforest.config.medium_hill.tooltip": "Bloques que se generan como estalactitas en colinas medianas y grandes.", - "twilightforest.config.small_hill": "Todas las colinas", - "twilightforest.config.small_hill.tooltip": "Bloques que generan como estalactitas en todas las colinas.", - "twilightforest.config.stalactite_config_only": "Utilice sólo la configuración de estalactitas", - "twilightforest.config.stalactite_config_only.tooltip": "Si es cierto, no se utilizarÔn las estalactitas por defecto ni las definidas por otros mods.", - - "twilightforest.config.compat": "Compatibilidad", - "twilightforest.config.compat.tooltip": "¿Debe cargarse la Compatibilidad de TF? Desactivar si la Compatibilidad de TF estÔ causando caídas o si no se desea.", - - "twilightforest.config.performance": "Ajustes de rendimiento", - "twilightforest.config.performance.tooltip": "Te permite sacrificar varias cosas para mejorar el rendimiento del mundo.", - "twilightforest.config.canopy_coverage": "Cobertura del Dosel", - "twilightforest.config.canopy_coverage.tooltip": "Cantidad de cobertura del dosel. Los números mÔs bajos mejoran la velocidad de generación de trozos a costa de un bosque mÔs delgado.", - "twilightforest.config.twilight_oaks": "Roble Crepuscular Probabilidad", - "twilightforest.config.twilight_oaks.tooltip": "Probabilidad de que un trozo del Twilight Forest contenga un roble crepuscular. Los números mÔs altos reducen el número de Ôrboles, aumentando el rendimiento.", - "twilightforest.config.leaves_light_opacity": "Opacidad de las hojas crepusculares", - "twilightforest.config.leaves_light_opacity.tooltip": "Esto controla la opacidad de las hojas, cambiando la cantidad de luz bloqueada. Puede utilizarse para disminuir la complejidad en algunos controles de iluminación.", - "twilightforest.config.glacier_packed_ice": "Glaciares de hielo compacto en lugar de hielo", - "twilightforest.config.glacier_packed_ice.tooltip": "Si se establece como verdadero, los glaciares crepusculares se generarÔn con hielo compactado en lugar de hielo translúcido normal, lo que reducirÔ la cantidad de cÔlculos de comprobación de la luz.", - "twilightforest.config.enable_skylight": "Activar el Tragaluz", - "twilightforest.config.enable_skylight.tooltip": "Si la dimensión tiene valores de tragaluz por bloque. Desactivar esto mejorarÔ significativamente el rendimiento de la generación de mundos, a costa de una iluminación plana en todas partes.\n_WARNING: Una vez que los trozos se cargan sin tragaluz, esos datos se pierden y no pueden ser regenerados fÔcilmente. Tenga cuidado.", - - "twilightforest.config.silent_cicadas": "Cigarras silenciosas", - "twilightforest.config.silent_cicadas.tooltip": "Haz que las cigarras sean silenciosas para aquellos que tengan problemas con la biblioteca de sonido o que las encuentren molestas.", - - "twilightforest.config.first_person_effects": "Renderización de efectos en 1ª persona", - "twilightforest.config.first_person_effects.tooltip": "Controla si varios efectos del mod se renderizan en la vista en primera persona. Desactívelo si los encuentra molestos.", - - "twilightforest.config.origin_dimension": "Dimensión de origen", - "twilightforest.config.origin_dimension.tooltip": "La dimensión desde la que siempre puedes viajar al Twilight Forest, así como la dimensión a la que regresarÔs. El valor predeterminado es el mundo exterior.", - "twilightforest.config.portals_in_other_dimensions": "Portales en otras dimensiones", - "twilightforest.config.portals_in_other_dimensions.tooltip": "Permitir que los portales al Twilight Forest se hagan fuera de la dimensión 'origen'. Puede considerarse una hazaña.", - "twilightforest.config.admin_portals": "Portales Twilight sólo para administradores", - "twilightforest.config.admin_portals.tooltip": "Permitir portales sólo para administradores (Operadores). Esto reduce severamente el rango en el que el mod suele escanear en busca de condiciones de portales vÔlidos, y escanea cerca de los ops solamente.", - "twilightforest.config.portals": "Desactivar los portales Twilight", - "twilightforest.config.portals.tooltip": "Desactivar por completo la creación de portales en Twilight Forest. Proporcionado para los operadores de servidores que buscan restringir la acción a la dimensión.", - "twilightforest.config.portal_creator": "Objeto creador del portal", - "twilightforest.config.portal_creator.tooltip": "Cadena de registro IDs de elementos utilizados para crear el Portal de Twilight Forest. (domain:regname:meta) meta es opcional.", - "twilightforest.config.portal_lighting": "Fuego relÔmpago para la creación del portal", - "twilightforest.config.portal_lighting.tooltip": "Establece esta opción como verdadera si quieres que el rayo que enciende el portal no prenda fuego a las cosas. Para los que no les gusta la diversión.", - "twilightforest.config.portal_return": "Los portales deben generar como un portal de dos vías", - "twilightforest.config.portal_return.tooltip": "Si es falso, el portal de retorno requerirÔ el elemento de activación.", - "twilightforest.config.check_portal_destination": "Destino del Portal Pre-Check", - "twilightforest.config.check_portal_destination.tooltip": "Determina si los nuevos portales deben ser precomprobados por seguridad. Si se activa, los portales no se formarÔn en lugar de redirigirse a un destino alternativo seguro.\n_Note que al activar esto también se reduce la tasa de comprobación de la formación de portales.", - - "twilightforest.config.progression_default": "Regla de Progreso por Defecto", - "twilightforest.config.progression_default.tooltip": "Establece el valor por defecto de la regla de juego que controla la progresión forzada.", - - "twilightforest.config.uncrafting": "Desactivar la desfabricación en la mesa de desfabricación", - "twilightforest.config.uncrafting.tooltip": "Desactiva la función de desfabricación de la mesa de desfabricación. Se ofrece como opción cuando la interacción con otros mods produce recetas explotables.", - - "twilightforest.config.optifine": "Desactivar la pantalla de aviso cuando se instala Optifine.", - "twilightforest.config.optifine.tooltip": "Desactiva la pantalla de aviso que se muestra al inicio cuando se instala Optifine.", - - "twilightforest.config.antibuilder_blacklist": "Lista negra anti-construcción", - "twilightforest.config.antibuilder_blacklist.tooltip": "Lista negra anti-construcción. (domain:block:meta) meta es opcional.", - - "twilightforest.config.animate_trophyitem": "Girar las cabezas de los trofeos en el modelo de artículo", - "twilightforest.config.animate_trophyitem.tooltip": "Gira las cabezas de los trofeos en el modelo de artículo. No tiene ningún impacto en el rendimiento. Para aquellos que no les gusta la diversión.", - - "twilightforest.config.shield_parry": "Parada de Escudo", - "twilightforest.config.shield_parry.tooltip": "Recomendamos descargar el mod Shield Parry para realizar paradas, pero estos controles quedan para sin.", - "twilightforest.config.parry_non_twilight": "Parada de proyectiles no Twilight", - "twilightforest.config.parry_non_twilight.tooltip": "Poner en true para parar los proyectiles que no son de Twilight. Recomendamos descargar el mod Shield Parry en su lugar.", - "twilightforest.config.parry_window_arrow": "Temporización para las flechas", - "twilightforest.config.parry_window_arrow.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una flecha. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_fireball": "Temporización para las bolas de fuego", - "twilightforest.config.parry_window_fireball.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una bola de fuego. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_throwable": "Temporización de los lanzamientos", - "twilightforest.config.parry_window_throwable.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar un objeto lanzado. Hay 20 ticks en 1 segundo.", - "twilightforest.config.shield_Parry_Ticks_Beam": "Ventana de tiempo para las vigas???", - "twilightforest.config.shield_Parry_Ticks_Beam.tooltip": "???", - - "twilightforest.config.loading_screen": "Pantalla de Carga", - "twilightforest.config.loading_screen.tooltip": "Sólo para clientes: Controles de la pantalla de carga", - "twilightforest.config.loading_icon_enable": "Activar la animación del icono de carga", - "twilightforest.config.loading_icon_enable.tooltip": "Tambalea el icono de carga. No tiene ningún impacto en el rendimiento. Para los que no les gusta la diversión.", - "twilightforest.config.loading_screen_swap_frequency": "Cambio de pantalla de carga", - "twilightforest.config.loading_screen_swap_frequency.tooltip": "CuÔntos ticks entre cada cambio de pantalla de carga. Poner a 0 para que no haya ningún ciclo.", - "twilightforest.config.loading_icon_wobble_bounce_frequency": "Velocidad de Animación de los Iconos", - "twilightforest.config.loading_icon_wobble_bounce_frequency.tooltip": "Frecuencia de tambaleo y rebote.", - "twilightforest.config.loading_icon_scale": "Escala del Icono", - "twilightforest.config.loading_icon_scale.tooltip": "Escala de todo el icono de carga de rebote.", - "twilightforest.config.loading_icon_bounciness": "Icono Rebotante", - "twilightforest.config.loading_icon_bounciness.tooltip": "CuÔnto rebota el icono de carga.", - "twilightforest.config.loading_icon_tilting": "Icon Wobbliness", - "twilightforest.config.loading_icon_tilting.tooltip": "Hasta dónde se tambalea el icono de carga.", - "twilightforest.config.loading_icon_tilt_pushback": "Icono Desplazamiento de la inclinación", - "twilightforest.config.loading_icon_tilt_pushback.tooltip": "Valor de empuje para volver a centrar el bamboleo del icono de carga.", - "twilightforest.config.casket_uuid_locking": "Cierre del ataúd UUID", - "twilightforest.config.casket_uuid_locking.tooltip": "Si es cierto, los ataúdes de recuerdo que se generan cuando un jugador muere no serÔn accesibles para otros jugadores. Utiliza esta opción si no quieres que la gente coja de los ataúdes de muerte de otras personas. NOTA: los operadores del servidor seguirÔn pudiendo abrir los ataúdes cerrados.", - - // Books - "twilightforest.book.lichtower.1": "\u00A78[[Un cuaderno de explorador, roído por los monstruos]]\u00A70\n\n_He comenzado a examinar la extraña aura que rodea a esta torre. Los ladrillos de la torre estÔn protegidos por una maldición, mÔs fuerte que cualquiera que haya visto antes. La magia de la maldición", - "twilightforest.book.lichtower.2": "estÔ hirviendo en los alrededores.\n\n_En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. Tendré que investigar...", - "twilightforest.book.lichtower.3": "\u00A78[[Muchas entradas después]]\u00A70\n\n_Un avance! En mis viajes avisté un enorme monstruo con forma de serpiente en un patio decorado. Cerca, recogí una escama verde desgastada y desechada.\n\n_La magia de la escama parece tener las", - "twilightforest.book.lichtower.4": "propiedades para romper maldiciones que necesito, pero la magia es demasiado débil. Puede que necesite adquirir un espécimen mÔs fresco, directamente de la criatura.", - - "twilightforest.book.labyrinth.1": "\u00A78[[Cuaderno de un explorador, escrito en papel impermeable]]\u00A70\n\n_Los mosquitos de este pantano son molestos, pero extraños. La gran mayoría de ellos parece no tener una fuente natural, ni parece tener un papel en la ecología local. He comenzado a", - "twilightforest.book.labyrinth.2": "sospechar que son una especie de maldición mÔgica.\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_Ahora que he encontrado un hechizo de protección en el laberinto en ruinas aquí, considero que mis sospechas se confirman.Tanto el hechizo de protección", - "twilightforest.book.labyrinth.3": "como los mosquitos son una maldición. Esta maldición parece tener un origen diferente a las otras que he encontrado. Tendré que investigar mÔs...\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_La maldición parece", - "twilightforest.book.labyrinth.4": "ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.\n\n_Si uno de los magos dejara de contribuir, la maldición caería sobre todo el pantano. Extrañamente,", - "twilightforest.book.labyrinth.5": "mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.hydralair.1": "\u00A78[[Un cuaderno de explorador, escrito en papel ignífugo]]\u00A70\n\n_El fuego es un obstÔculo trivial para un maestro explorador como yo. He atravesado mares de fuego y nadado por océanos de lava. El aire ardiente aquí es una variación interesante,", - "twilightforest.book.hydralair.2": "pero, en definitiva, no es un obstÔculo.\n\n_Sin embargo, lo que me detiene es que me he encontrado con otro hechizo de protección, esta vez rodeando a una poderosa criatura que debe ser el rey de este pantano de fuego. Este no es el primer hechizo de protección que", - "twilightforest.book.hydralair.3": "encuentro, y estoy comenzando a desentrañar los misterios de cómo funcionan.\n\n_Si este hechizo es como los otros, serÔ sostenido por una poderosa criatura cercana. Alrededor del pantano de fuego hay varios pantanos húmedos, y bajo esos", - "twilightforest.book.hydralair.4": "pantanos hay laberintos llenos de minotauros. La elección lógica para atar tal hechizo sería algún tipo de minotauro poderoso, diferente de alguna manera de los otros que lo rodean...", - - "twilightforest.book.tfstronghold.1": "\u00A78[[Un cuaderno de explorador, escrito en un papel débilmente brillante]\u00A70\n\n_Los tallos de oscuridad que rodean esta zona no son mÔs que la manifestación de un hechizo protector sobre todo el bosque oscuro. El hechizo causa ceguera, lo cual es bastante molesto. He visto", - "twilightforest.book.tfstronghold.2": "varias cosas interesantes en la zona y me gustaría seguir explorando.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_He encontrado unas ruinas en el bosque oscuro. Pertenecen a una fortaleza, del tipo que suelen habitar los caballeros. Sin embargo", - "twilightforest.book.tfstronghold.3": "mÔs que de caballeros, esta fortaleza estÔ llena de goblins. Llevan armadura de caballero, pero su comportamiento es muy poco caballeroso.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_En lo profundo de las ruinas, he encontrado un pedestal. El pedestal parece ser del tipo en el que", - "twilightforest.book.tfstronghold.4": "los caballeros colocarían los trofeos para demostrar su fuerza.\n\\La obtención de un cetro poderoso parece debilitar la maldición del bosque oscuro, y la colocación de un trofeo asociado a una criatura poderosa en el pedestal probablemente concedería el acceso a la", - "twilightforest.book.tfstronghold.5": "parte principal de la fortaleza.", - - "twilightforest.book.darktower.1": "\u00A78[[Un cuaderno de explorador que parece haber sobrevivido a una explosión]]\u00A70\n\n_Esta torre tiene claramente mecanismos que no me responden. Su magia casi anhela reconocer mi toque, pero no puede. Es como si los dispositivos de la torre estuvieran siendo", - "twilightforest.book.darktower.2": "suprimida por un poderoso grupo de seres cercanos.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La magia parece emanar de lo mÔs profundo de las fortalezas cercanas. No puede venir de los goblins, ya que su magia es encantadora, pero desenfocada. Allí", - "twilightforest.book.darktower.3": "debe haber alguna fuerza aún activa en los bastiones.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Mi anÔlisis indica que proviene de varias fuentes, operando como un grupo. Volveré a la fortaleza después de reabastecerme...", - - "twilightforest.book.yeticave.1": "\u00A78[[Un cuaderno de explorador, cubierto de escarcha]]\u00A70\n\n_La ventisca que rodea estas tierras nevadas es incesante. No se trata de una nevada ordinaria: es un fenómeno mÔgico. Tendré que realizar experimentos para encontrar", - "twilightforest.book.yeticave.2": "lo que es capaz de causar tal efecto.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La maldición parece ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.", - "twilightforest.book.yeticave.3": "Si uno de los magos dejara de contribuir, la ventisca se calmaría. Extrañamente, mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.icetower.1": "\u00A78[[El cuaderno de un explorador, cubierto de hielo]]\u00A70\n\n_He superado una ventisca, sólo para encontrarme con esta terrible tormenta de hielo en la cima del glaciar. Mis exploraciones me han mostrado el esplendor de un palacio de hielo, que brilla con los colores de la aurora polar. Todo", - "twilightforest.book.icetower.2": "parece protegido por una especie de maldición.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_No soy un novato. Esta maldición es alimentada por el poder de una criatura cercana. La causa de la maldición que rodea el pantano de fuego se construyó a partir del poder del líder de los", - "twilightforest.book.icetower.3": "minotauros de las cercanías.\n\n_Alrededor de este glaciar, hay masas de yetis. QuizÔs los yetis tengan algún tipo de líder...", - - "twilightforest.book.trollcave.1": "\u00A78[[Un cuaderno de explorador, dañado por el Ôcido]]\u00A70\n\n_Parece que no hay forma de protegerme de la tormenta tóxica que rodea esta zona. En mis breves excursiones, también he encontrado otro hechizo de protección, similar a los", - "twilightforest.book.trollcave.2": "otros que he presenciado. El hechizo debe estar conectado a la tormenta tóxica de alguna manera. MÔs investigación para seguir...\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Tal magia climÔtica suprema debe ser el resultado de", - "twilightforest.book.trollcave.3": "múltiples e invictos grandes males en este mundo. Mis estudios contienen varias pistas que apuntan a un pantano abrasador, un bosque cubierto de profunda oscuridad y un reino cubierto de nieve.", - - "twilightforest.book.unknown.1": "\u00A78[[Este libro muestra signos de haber sido copiado muchas veces]]\u00A70\n\n_No puedo explicar el campo que rodea esta estructura, pero la magia es poderosa. Si esta maldición es como las otras, entonces la respuesta para desbloquearla estÔ en otra parte. Tal vez hay", - "twilightforest.book.unknown.2": "algo que he dejado sin hacer, o algún monstruo que aún no he vencido. Tendré que regresar. Volveré a este lugar mÔs tarde, para ver si algo ha cambiado.", - - // Fluid - - "fluid.fierymetal": "Fierro fundido", - "fluid.knightmetal": "Caballero de Metal Fundido", - "fluid.fiery_essence": "Esencia ardiente", - - // TCon - - "material.nagascale": "Escama Naga", - "material.steeleaf": "Hoja de Acero", - "material.fierymetal": "Ardiente", - "material.knightmetal": "Caballero", - "material.raven_feather": "Pluma de Cuervo", - - "modifier.twilit": "Twilit", - "modifier.twilit.desc": "§oLa bendición iluminadora del Twilight Forest§r.\nMÔs rÔpido en el Twilight Forest.\nMÔs daños fuera del Twilight Forest.", - "modifier.twilit.extra.speed": "Velocidad de extracción en Twilight Forest: +%s", - "modifier.twilit.extra.damage": "Daños fuera del Twilight Forest: +%s", - "modifier.precipitate": "Precipitate", - "modifier.precipitate.desc": "§oEl último plan de escape en pie.§r\nCuanto menos salud tenga, mÔs rÔpido serÔ.", - "modifier.synergy": "Sinergia", - "modifier.synergy.desc": "§oMira mamÔ, no hay musgo!§r\nSe repararÔ por sí mismo si tienes Hoja de Acero en tu barra de acceso.", - "modifier.stalwart": "Incondicional", - "modifier.stalwart.desc": "§o_Los valientes y audaces.§r\nGolpear a una entidad puede hacer que te sientas envalentonado.", - "modifier.veiled": "Velada", - "modifier.veiled.desc": "§oComo un espectro!§r\nEl proyectil serÔ invisible.", - - // Immersive Engineering - "desc.immersiveengineering.info.shader.rarity.twilight": "Twilight", - - "item.twilightforest.shader": "Twilit Shader: %s", - "item.twilightforest.shader_bag": "Twilit %s Shader Bag", - - "item.twilightforest.shader.name.twilight": "Twilight", - "item.twilightforest.shader.name.firefly": "Luciérnaga", - "item.twilightforest.shader.name.questing_ram": "Carnero de la Búsqueda", - "item.twilightforest.shader.name.ironwood": "Madera de Hierro", - "item.twilightforest.shader.name.steeleaf": "Hoja de Acero", - "item.twilightforest.shader.name.knightly": "Caballero de Metal", - "item.twilightforest.shader.name.fiery": "Ardiente", - "item.twilightforest.shader.name.snakestone": "Piedra de la Serpiente", - "item.twilightforest.shader.name.naga": "Naga", - "item.twilightforest.shader.name.lich": "Lich", - "item.twilightforest.shader.name.mazestone": "Piedra de Laberinto", - "item.twilightforest.shader.name.pinch_beetle": "Escarabajo de Pinzas", - "item.twilightforest.shader.name.minoshroom": "Minosetauro", - "item.twilightforest.shader.name.hydra": "Hidra", - "item.twilightforest.shader.name.underbrick": "Subsuelo de Ladrillos", - "item.twilightforest.shader.name.knight_phantom": "Caballero Fantasma", - "item.twilightforest.shader.name.towerwood": "Torre de Madera", - "item.twilightforest.shader.name.carminite": "Carminita", - "item.twilightforest.shader.name.ur-ghast": "Ur-Ghast", - "item.twilightforest.shader.name.alpha_yeti": "Yeti Alfa", - "item.twilightforest.shader.name.auroralized": "Auroralizado", - "item.twilightforest.shader.name.snow_queen": "Reina de las Nieves", - "item.twilightforest.shader.name.cube_of_annihilation": "Cubo de la Aniquilación", - "item.twilightforest.shader.name.final_castle": "Castillo Final", - - // Optifine - "twilightforest.gui.optifine.title": "AVISO: OPTIFINE DETECTADO", - "twilightforest.gui.optifine.message": "Antes de continuar, por favor, tenga en cuenta que Optifine es conocido por causar fallos, errores visuales de entidades multiparte y muchos otros problemas.\n\nAntes de informar de un error, por favor, elimine Optifine primero y compruebe de nuevo si el error sigue presente.\n\nLos problemas relacionados con Optifine no pueden ser resueltos por Twilight Forest!\n\nEsta pantalla puede ser desactivada en la configuración del cliente." -} diff --git a/src/main/resources/assets/twilightforest/lang/es_cl.json b/src/main/resources/assets/twilightforest/lang/es_cl.json deleted file mode 100644 index 66da7d7cb1..0000000000 --- a/src/main/resources/assets/twilightforest/lang/es_cl.json +++ /dev/null @@ -1,1315 +0,0 @@ -{ - "itemGroup.twilightforest": "Twilight Forest", - - // ADVANCEMENTS - "advancement.twilightforest.root.desc": "Entra en el misterioso bosque mÔgico: the Twilight Forest.", - - // General progression - "advancement.twilightforest.hedge": "Golpeador de Bichos", - "advancement.twilightforest.hedge.desc": "Derrota a una araña en un %s.", - - "advancement.twilightforest.hill1": "Las botas son mías!", - "advancement.twilightforest.hill1.desc": "Derrota a un %s en un pequeño %s.", - "advancement.twilightforest.hill2": "Qué fue ese ruido?", - "advancement.twilightforest.hill2.desc": "Derrota a un %s en un medio %s.", - "advancement.twilightforest.hill3": "Veo a través de ti", - "advancement.twilightforest.hill3.desc": "Derrota a un %s en un gran %s.", - - "advancement.twilightforest.quest_ram": "Consumación de Baaahs", - "advancement.twilightforest.quest_ram.desc": "Dale al %s lo que le falta.", - - // Map - "advancement.twilightforest.magic_map_focus": "Con El Fuego Se Escribe", - "advancement.twilightforest.magic_map_focus.desc": "Elabora el %s con un %s, %s, y %s.", - "advancement.twilightforest.magic_map": "Puedo Ver Para Siempre", - "advancement.twilightforest.magic_map.desc": "Haz los %s.", - "advancement.twilightforest.maze_map": "Y Ahora, a Encontrar la Salida", - "advancement.twilightforest.maze_map.desc": "Elabora los %s después de obtener el foco del laberinto.", - "advancement.twilightforest.ore_map": "Cómo puede merecer la pena?", - "advancement.twilightforest.ore_map.desc": "Haz los %s.", - - // Mainline beginning progression - "advancement.twilightforest.twilight_hunter": "El Silencio del Bosque", - "advancement.twilightforest.twilight_hunter.desc": "Cazar algo de la fauna local.", - - "advancement.twilightforest.kill_naga": "Es Hora de Igualar la Balanza", - "advancement.twilightforest.kill_naga.desc": "Mata al %s en su patio del bosque y obtén un %s para superar la barrera mÔgica que rodea la torre del Lich.", - "advancement.twilightforest.naga_armors": "Armero Naga", - "advancement.twilightforest.naga_armors.desc": "Crea la armadura de pecho y de piernas de %s.", - - "advancement.twilightforest.kill_lich": "Trae a tus muertos", - "advancement.twilightforest.kill_lich.desc": "Mata a los % en lo alto de su torre y recupera un cetro para eliminar los mosquitos venenosos del Pantano, ver a través de la oscuridad cegadora de la maldición del Bosque Oscuro y resistir el frío del Bosque Nevado.", - "advancement.twilightforest.lich_scepters": "Por Nuestros Poderes Combinados!", - "advancement.twilightforest.lich_scepters.desc": "Consigue los cuatro cetros de poder.", - - // Swamp Progression - "advancement.twilightforest.progress_labyrinth": "El Poderoso Stroganoff", - "advancement.twilightforest.progress_labyrinth.desc": "El guiso de carne y hongos te calienta agradablemente, lo suficiente como para que sientas que estÔs lo suficientemente aclimatado como para aventurarte en el Pantano del Fuego.", - "advancement.twilightforest.kill_hydra": "Cazador de Hidras", - "advancement.twilightforest.kill_hydra.desc": "Derrota a los poderosos %s y empodérate.", - "advancement.twilightforest.mazebreaker": "Rompiendo el Laberinto", - "advancement.twilightforest.mazebreaker.desc": "Encuentra el pico %s en la bóveda secreta del laberinto.", - "advancement.twilightforest.hydra_chop": "Chuleta de Hidra, Baby!", - "advancement.twilightforest.hydra_chop.desc": "Disminuye el consumo de carne de %s hydra cuando la barra de comida esté vacía.", - - // Dark Forest Progression - "advancement.twilightforest.progress_trophy_pedestal": "Trofeo de Campeón", - "advancement.twilightforest.progress_trophy_pedestal.desc": "Reclama tu título colocando un trofeo en el pedestal de las ruinas del bosque oscuro.", - "advancement.twilightforest.progress_knights": "Aclimatación de Carminita", - "advancement.twilightforest.progress_knights.desc": "Acomoda a los inquietos fantasmas en la Tumba del Caballero y los dispositivos de la torre de carminita te obedecerÔn.", - "advancement.twilightforest.ghast_trap": "Algo extraño en la Torre de Madera", - "advancement.twilightforest.ghast_trap.desc": "Mata a los %s alrededor de un %s y actívalo para arrancar el %s del cielo!", - "advancement.twilightforest.progress_ur_ghast": "LÔgrimas de Fuego", - "advancement.twilightforest.progress_ur_ghast.desc": "Toca las lÔgrimas rojas y ardientes de los %s.", - - "advancement.twilightforest.experiment_115": "Carne misteriosa?", - "advancement.twilightforest.experiment_115.desc": "Parece un pastel, aunque...", - "advancement.twilightforest.experiment_115_2": "Tomar nota: ”Un gran éxito!", - "advancement.twilightforest.experiment_115_2.desc": "Es tan delicioso y húmedo!", - - // Snow Forest Progression - "advancement.twilightforest.progress_yeti": "Pelaje Alfa", - "advancement.twilightforest.progress_yeti.desc": "Cubre tus prendas con el suave pelaje de los %s, manteniéndote a salvo del frío del Glaciar.", - "advancement.twilightforest.progress_glacier": "Cielos Despejados", - "advancement.twilightforest.progress_glacier.desc": "Derrota a los %s encima de los %s.", - "advancement.twilightforest.arctic_dyed": "Ponerse a la Moda", - "advancement.twilightforest.arctic_dyed.desc": "Tiñe las cuatro piezas de la Armadura Ártica.", - - // Mid-way Misc. Stuff - "advancement.twilightforest.glass_sword": "Una Maravilla De Un Solo Golpe", - "advancement.twilightforest.glass_sword.desc": "Espero que lo hayas aprovechado.", - - "advancement.twilightforest.fiery_set": "Galones de Sangre y LÔgrimas", - "advancement.twilightforest.fiery_set.desc": "Empuña una herramienta o arma mientras tienes al menos una pieza de armadura de ardiente en tu inventario.", - - // Highlands - "advancement.twilightforest.progress_merge": "Enfrentamiento Final", - "advancement.twilightforest.progress_merge.desc": "Mata a los %s, %s y %s para eliminar la lluvia Ôcida y envalentonarte para las Tierras Altas.", - "advancement.twilightforest.troll": "Trolleamos un Poco", - "advancement.twilightforest.troll.desc": "Encuentra y mata a un %s.", - "advancement.twilightforest.beanstalk": "Jack y las Habichuelas", - "advancement.twilightforest.beanstalk.desc": "Consigue algunos %s en las cuevas de los trolls y úsalos en el suelo brillante bajo las nubes.", - "advancement.twilightforest.giants": "Estoy en las Nubes", - "advancement.twilightforest.giants.desc": "Mata a un %s en las nubes, recupera un %s, y vuelve a las cuevas de los trolls.", - "advancement.twilightforest.progress_troll": "Deseo MÔs Quemaduras", - "advancement.twilightforest.progress_troll.desc": "Encuentra los %s en las cuevas de los trolls, y podrÔs quemar las barreras de espinas.", - "advancement.twilightforest.progress_thorns": "MÔs AllÔ De Las Espinas [NYI]", - "advancement.twilightforest.progress_thorns.desc": "Pasa por las Tierras Espinosas y desbloquea la puerta del castillo.", - "advancement.twilightforest.progress_castle": "Wow Que Super Castillo!!! [NYI]", - "advancement.twilightforest.progress_castle.desc": "Qué podría haber en ese castillo?!?", - - // Collections - "advancement.twilightforest.twilight_dining": "Cenamos en el Eterno Atardecer", - "advancement.twilightforest.twilight_dining.desc": "Come toda la comida exclusiva de Twilight Forest.", - "advancement.twilightforest.experiment_115_3": "Comer 115 cada día, 115 años, para siempre", - "advancement.twilightforest.experiment_115_3.desc": "comer experimento ciento quince durante todo el día, para siempre, ciento quince veces experimento ciento quince, experimento ciento quince punto com, doble-u doble-u punto experimento ciento quince punto com, ciento quince años, cada minuto experimento ciento quince punto com, doble-u doble-u punto ciento quince punto com", - "advancement.twilightforest.arborist": "Dendrologista Maníaco", - "advancement.twilightforest.arborist.desc": "Prepara tus hachas y tijeras. Busca en todos los rincones y consigue todo lo que provenga de los Ôrboles. Construye, saquea y obtén cada tabla... Ôrbol joven... hojas... mÔs... todo. ”TODO!", - - "twilightforest.twilight_portal.unsafe": "No parece seguro aquí...", - "twilightforest.trophy_pedestal.ineligible": "No eres digno.", - "twilightforest.ore_meter.range": "Radio: %s, Origen: [%s, %s]", - "twilightforest.ore_meter.exposed": "Expuesto: %s", - "twilightforest.scepter_charges": "Quedan %d cargas", - - // Commands - "commands.tffeature.usage": "/tffeature ", - "commands.tffeature.nearest": "The nearest feature is %s", - "commands.tffeature.center": "Center of feature: %s", - "commands.tffeature.chunk": "Are in feature chunk: %s", - "commands.tffeature.structure.inside": "You are in the structure for that feature", - "commands.tffeature.structure.outside": "You are not in the structure for that feature", - "commands.tffeature.structure.required": "You are not in a structure", - "commands.tffeature.structure.conquer.status": "Structure conquer flag: %s", - "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, changing to %s", - "commands.tffeature.locate.usage": "/tffeature locate ", - "commands.tfreload.reload": "Reloading Twilight Forest Shaders!", - - // Biomes - "biome.twilightforest.forest": "Bosque Crepuscular", - "biome.twilightforest.dense_forest": "Bosque Denso", - "biome.twilightforest.firefly_forest": "Bosque de las Luciérnagas", - "biome.twilightforest.clearing": "Despeje Crepuscular", - "biome.twilightforest.oak_savannah": "Sabana de Roble", - "biome.twilightforest.stream": "Corriente Crepuscular", - "biome.twilightforest.lake": "Lago Crepuscular", - "biome.twilightforest.mushroom_forest": "Bosque de Hongos", - "biome.twilightforest.dense_mushroom_forest": "Bosque Denso de Hongos", - "biome.twilightforest.enchanted_forest": "Bosque Encantado", - "biome.twilightforest.spooky_forest": "Bosque Espeluznante", - "biome.twilightforest.swamp": "TPantano Crepuscular", - "biome.twilightforest.fire_swamp": "Pantano de Fuego", - "biome.twilightforest.dark_forest": "Bosque Oscuro", - "biome.twilightforest.dark_forest_center": "Centro del Bosque Oscuro", - "biome.twilightforest.snowy_forest": "Bosque Nevado", - "biome.twilightforest.glacier": "Glaciar Crepuscular", - "biome.twilightforest.highlands": "Tierras Altas Crepusculares", - "biome.twilightforest.thornlands": "Tierras Espinosas", - "biome.twilightforest.final_plateau": "Meseta Final", - - // Gamerules - "gamerule.tfEnforcedProgression": "Progresión de Twilight Forest", - - // Enchantments - "enchantment.twilightforest.fire_react": "Reacción al Fuego", - "enchantment.twilightforest.chill_aura": "Aura fría", - - // Effects - "effect.twilightforest.frosted": "Escarchado", - - // Blocks - "block.twilightforest.twilight_oak_log": "Tronco de Roble Crepuscular", - "block.twilightforest.canopy_log": "Tronco de Dosel Arbóreo", - "block.twilightforest.mangrove_log": "Tronco de Manglar", - "block.twilightforest.dark_log": "Tronco de Madera Oscura", - "block.twilightforest.stripped_twilight_oak_log": "Tronco de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_log": "Tronco de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_log": "Tronco de Manglar Sin Corteza", - "block.twilightforest.stripped_dark_log": "Tronco de Madera Oscura Sin Corteza", - "block.twilightforest.twilight_oak_wood": "Madera de Roble Crepuscular", - "block.twilightforest.canopy_wood": "Madera de Dosel Arbóreo", - "block.twilightforest.mangrove_wood": "Madera de Manglar", - "block.twilightforest.dark_wood": "Madera Oscura", - "block.twilightforest.stripped_twilight_oak_wood": "Madera de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_wood": "Madera de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_wood": " Madera de Manglar Despojada", - "block.twilightforest.stripped_dark_wood": " Madera oscura despojada", - "block.twilightforest.twilight_oak_leaves": "Hojas de Roble Crepuscular", - "block.twilightforest.canopy_leaves": "Hojas de Dosel Arbóreo", - "block.twilightforest.mangrove_leaves": "Hojas de Manglar", - "block.twilightforest.rainboak_leaves": "Hojas de Roble Arco Iris", - "block.twilightforest.firefly": "Luciérnaga", - "block.twilightforest.cicada": "Cigarra", - "block.twilightforest.cicada.desc": "Y si esto se pudiera lanzar contra alguien con un cañón de riel...?", - "block.twilightforest.twilight_portal": "Portal de Twilight Forest", - "block.twilightforest.maze_stone": "Piedra de Laberinto", - "block.twilightforest.maze_stone_brick": "Ladrillos de Piedra de Laberinto", - "block.twilightforest.maze_stone_chiseled": "Piedra de Laberinto Grabados", - "block.twilightforest.maze_stone_decorative": "Ladrillos de Piedra de Laberinto Decorativo", - "block.twilightforest.maze_stone_cracked": "Piedra de Laberinto Agrietada", - "block.twilightforest.maze_stone_mossy": "Piedra de Laberinto Musgosa", - "block.twilightforest.maze_stone_mosaic": "Mosaicos de Piedra del Laberinto", - "block.twilightforest.maze_stone_border": "Borde de Piedra de Laberinto", - "block.twilightforest.maze_stone_ceiling": "Techo de Piedra de Laberinto", - "block.twilightforest.spiral_bricks": "Ladrillos en Espiral", - "block.twilightforest.hedge": "Cobertura", - "block.twilightforest.boss_spawner_naga": "Generador de Jefe Naga", - "block.twilightforest.boss_spawner_lich": "Generador de Jefe Lich", - "block.twilightforest.boss_spawner_minoshroom": "Generador de Jefe Minosetauro", - "block.twilightforest.boss_spawner_hydra": "Generador de Jefe Hidra", - "block.twilightforest.boss_spawner_knight_phantom": "Generador de Jefe Caballero Fantasma", - "block.twilightforest.boss_spawner_ur_ghast": "Genrador de Jefe Ur-Ghast", - "block.twilightforest.boss_spawner_alpha_yeti": "Generador de Jefe Yeti", - "block.twilightforest.boss_spawner_snow_queen": "Generador de Jefe Reina de las Nieves", - "block.twilightforest.boss_spawner_final_boss": "Generador de Jefe Final", - "block.twilightforest.firefly_jar": "Jarra con Luciérnaga", - "block.twilightforest.cicada_jar": "Jarra con Cigarra", - "block.twilightforest.moss_patch": "Parche de Musgo [WIP]", - "block.twilightforest.mayapple": "Mayapple", - "block.twilightforest.clover_patch": "Hoja de Trébol [NYI]", - "block.twilightforest.fiddlehead": "Brotes de Helecho", - "block.twilightforest.mushgloom": "Hongo Brillante", - "block.twilightforest.torchberry_plant": "Planta de Antorcha", - "block.twilightforest.root_strand": "Hilos de raíz", - "block.twilightforest.fallen_leaves": "Montón de hojas", - "block.twilightforest.root": "Raíces", - "block.twilightforest.liveroot_block": "Raíces vivas", - "block.twilightforest.uncrafting_table": "Mesa de Desfabricación", - "block.twilightforest.smoker": "Ahumador", - "block.twilightforest.encased_smoker": "Ahumador Encapsulado", - "block.twilightforest.fire_jet": "Chorro de Fuego", - "block.twilightforest.encased_fire_jet": "Chorro de Fuego Encapsulado", - "block.twilightforest.naga_stone_head": "Cabeza de Piedra de Naga", - "block.twilightforest.naga_stone": "Piedra de Naga", - "block.twilightforest.twilight_oak_sapling": "Retoño de Roble Crepuscular Enfermizo", - "block.twilightforest.canopy_sapling": "Retoño de Dosel Arbóreo", - "block.twilightforest.mangrove_sapling": "Retoño de Manglar Crepuscular", - "block.twilightforest.darkwood_sapling": "Retoño del Árbol de Madera Oscura", - "block.twilightforest.hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular", - "block.twilightforest.time_sapling": "Retoño del Árbol del Tiempo", - "block.twilightforest.transformation_sapling": "Retoño del Árbol de Transformación", - "block.twilightforest.mining_sapling": "Retoño del Árbol Minero", - "block.twilightforest.sorting_sapling": "Retoño del Árbol de Clasificación", - "block.twilightforest.rainboak_sapling": "Retoño de Roble Arcoíris", - "block.twilightforest.moonworm": "Gusano Lunar", - "block.twilightforest.time_log": "Tronco del Árbol del Tiempo", - "block.twilightforest.transformation_log": "Tronco del Árbol de Transformación", - "block.twilightforest.mining_log": "Tronco del Árbol Minero", - "block.twilightforest.sorting_log": "Tronco del Árbol de Clasificación", - "block.twilightforest.stripped_time_log": "Tronco Sin Corteza del Árbol del Tiempo", - "block.twilightforest.stripped_transformation_log": "Tronco Sin Corteza del Árbol de Transformación", - "block.twilightforest.stripped_mining_log": "Tronco Sin Corteza del Árbol Minero", - "block.twilightforest.stripped_sorting_log": "Tronco Sin Corteza del Árbol de Clasificación", - "block.twilightforest.sorting_wood": "Madera del Árbol de Clasificación", - "block.twilightforest.mining_wood": "Madera del Árbol Minero", - "block.twilightforest.transformation_wood": "Madera del Árbol de Transformación", - "block.twilightforest.time_wood": "Madera del Árbol del Tiempo", - "block.twilightforest.stripped_sorting_wood": "Madera Pelada del Árbol de Clasificación", - "block.twilightforest.stripped_mining_wood": "Madera Pelada del Árbol Minero", - "block.twilightforest.stripped_transformation_wood": "Madera Pelada del Árbol de Transformación", - "block.twilightforest.stripped_time_wood": "Madera Pelada del Árbol del Tiempo", - "block.twilightforest.time_log_core": "Reloj del Árbol del Tiempo", - "block.twilightforest.transformation_log_core": "Corazón del Árbol de Transformación", - "block.twilightforest.mining_log_core": "Núcleo del Árbol Minero", - "block.twilightforest.sorting_log_core": "Motor del Árbol de Clasificación", - "block.twilightforest.time_leaves": "Hojas del Árbol del Tiempo", - "block.twilightforest.transformation_leaves": "Hojas del Árbol de Transformación", - "block.twilightforest.mining_leaves": "Hojas del Árbol Minero", - "block.twilightforest.sorting_leaves": "Hojas del Árbol de Clasificación", - "block.twilightforest.tower_wood": "Tablones de la Torre de Madera", - "block.twilightforest.tower_wood_encased": "Madera Encapsulada de la Torre de Madera", - "block.twilightforest.tower_wood_cracked": "Madera Agrietada de la Torre de Madera", - "block.twilightforest.tower_wood_mossy": "Madera Musgosa de la Torre de Madera", - "block.twilightforest.tower_wood_infested": "Madera Infestada de la Torre de Madera", - "block.twilightforest.reappearing_block": "Bloque Reaparecedor", - "block.twilightforest.vanishing_block": "Bloque de Desaparición", - "block.twilightforest.locked_vanishing_block": "Bloque de Desaparición Bloqueado", - "block.twilightforest.carminite_builder": "Constructor de Carminita", - "block.twilightforest.antibuilder": "Anti-Construcción", - "block.twilightforest.ghast_trap": "Trampa de Ghast", - "block.twilightforest.carminite_reactor": "Reactor de Carminita", - "block.twilightforest.fake_gold": "Oro Falso", - "block.twilightforest.fake_diamond": "Diamante Falso", - "block.twilightforest.trophy": "Trofeo de Twilight Forest", - "block.twilightforest.stronghold_shield": "Escudo de la Fortaleza", - "block.twilightforest.trophy_pedestal": "Pedestal para Trofeos", - "block.twilightforest.aurora_block": "Bloque de Aurora", - "block.twilightforest.underbrick": "Subsuelo de Ladrillos", - "block.twilightforest.underbrick_mossy": "Subsuelo de Ladrillos Musgoso", - "block.twilightforest.underbrick_cracked": "Subsuelo de Ladrillos Agrietado", - "block.twilightforest.underbrick_floor": "Piso de Subsuelo de Ladrillos [NYI]", - "block.twilightforest.brown_thorns": "Espinas", - "block.twilightforest.green_thorns": "Espinas Verdes", - "block.twilightforest.burnt_thorns": "Espinas Quemadas", - "block.twilightforest.thorn_rose": "Rosa Espinosa", - "block.twilightforest.thorn_leaves": "Hojas de Espinas", - "block.twilightforest.beanstalk_leaves": "Hojas de Frijol", - "block.twilightforest.deadrock_weathered": "Roca Muerta Desgastada", - "block.twilightforest.deadrock_cracked": "Roca Muerta Agrietada", - "block.twilightforest.deadrock": "Roca Muerta", - "block.twilightforest.dark_leaves": "Hojas de Madera Oscura", - "block.twilightforest.auroralized_glass": "Vidrio Auroralizado [NYI]", - "block.twilightforest.aurora_pillar": "Pilar de Aurora", - "block.twilightforest.aurora_slab": "Losa de Aurora", - "block.twilightforest.trollsteinn": "Trollsteinn", - "block.twilightforest.wispy_cloud": "Nube de Agua", - "block.twilightforest.fluffy_cloud": "Nube Esponjosa", - "block.twilightforest.giant_cobblestone": "Piedra Labrada Gigante", - "block.twilightforest.giant_log": "Tronco Gigante", - "block.twilightforest.giant_leaves": "Hojas Gigantes", - "block.twilightforest.giant_obsidian": "Obsidiana Gigante", - "block.twilightforest.uberous_soil": "Tierra Uberous", - "block.twilightforest.huge_stalk": "Tallos Enormes", - "block.twilightforest.huge_mushgloom": "Enorme Hongo Brillante", - "block.twilightforest.huge_mushgloom_stem": "Enorme Tallo de Hongo Brillante", - "block.twilightforest.trollvidr": "Trollvidr", - "block.twilightforest.unripe_trollber": "Trollber Sin madurar", - "block.twilightforest.trollber": "Trollber", - "block.twilightforest.slider": "Trampa Deslizante [NYI]", - "block.twilightforest.knightmetal_block": "Bloque Hecho del Caballero de Metal", - "block.twilightforest.huge_lilypad": "Enorme Almohadilla de Lirio", - "block.twilightforest.huge_waterlily": "Enorme Lirio de Agua", - "block.twilightforest.castle_brick": "Ladrillos del Castillo", - "block.twilightforest.castle_brick_worn": "Ladrillos Desgastados del Castillo", - "block.twilightforest.castle_brick_cracked": "Ladrillos Agrietados del Castillo", - "block.twilightforest.castle_brick_roof": "Azulejo del Techo del Castillo", - "block.twilightforest.castle_brick_mossy": "Ladrillos Musgosos del Castillo", - "block.twilightforest.castle_brick_frame": "Ladrillos Gruesos del Castillo", - "block.twilightforest.castle_stairs_brick": "Escaleras de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_worn": "Escaleras Desgastadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_cracked": "Escaleras Agrietadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_mossy": "Escaleras Musgosas de Ladrillo del Castillo", - "block.twilightforest.castle_door_yellow": "Puerta Amarilla del Castillo", - "block.twilightforest.castle_door_purple": "Puerta Violeta del Castillo", - "block.twilightforest.castle_door_pink": "Puerta Rosada del Castillo", - "block.twilightforest.castle_door_blue": "Puerta Azul del Castillo", - "block.twilightforest.castle_rune_brick_pink": "Ladrillo Rúnico Rosa del Castillo ", - "block.twilightforest.castle_rune_brick_blue": "Ladrillo Rúnico Azul del Castillo", - "block.twilightforest.castle_rune_brick_yellow": "Ladrillo Rúnico Amarillo del Castillo", - "block.twilightforest.castle_rune_brick_purple": "Ladrillo Rúnico Morado del Castillo", - "block.twilightforest.castle_pillar_encased": "Pilar Encapsulado de Ladrillo del Castillo ", - "block.twilightforest.castle_pillar_encased_tile": "Azulejo Encapsulado de Ladrillos del Castillo ", - "block.twilightforest.castle_pillar_bold": "Pilar Audaz de Ladrillos del Castillo", - "block.twilightforest.castle_pillar_bold_tile": "Azulejo Audaz de Ladrillo del Castillo ", - "block.twilightforest.castle_stairs_encased": "Escaleras Encapsuladas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_bold": "Escaleras Audaces de Ladrillo del Castillo", - "block.twilightforest.force_field_purple": "Campo de Fuerza Violeta", - "block.twilightforest.force_field_pink": "Campo de Fuerza Rosa", - "block.twilightforest.force_field_orange": "Campo de Fuerza Naranja", - "block.twilightforest.force_field_green": "Campo de Fuerza Verde", - "block.twilightforest.force_field_blue": "Campo de Fuerza Azul", - "block.twilightforest.ironwood_block": "Bloque de Madera de Hierro", - "block.twilightforest.fiery_block": "Bloque de Metal Ardiente", - "block.twilightforest.steeleaf_block": "Bloque de Hoja de Acero", - "block.twilightforest.arctic_fur_block": "Bloque de Pelaje Ártico", - "block.twilightforest.carminite_block": "Bloque de Carminita", - "block.twilightforest.cinder_furnace": "Horno de Ceniza [NYI]", - "block.twilightforest.cinder_log": "Tronco de Ceniza [NYI]", - "block.twilightforest.cinder_wood": "Madera de Ceniza [NYI]", - "block.twilightforest.twilight_portal_miniature_structure": "Portal Miniatura de Twilight [NYI]", - "block.twilightforest.naga_courtyard_miniature_structure": "Patio Naga Miniatura [NYI]", - "block.twilightforest.lich_tower_miniature_structure": "Torre del Lich Miniatura [NYI]", - "block.twilightforest.stone_twist": "Piedra Torcida [NYI]", - "block.twilightforest.stone_twist_thin": "Pilar de Piedra [NYI]", - "block.twilightforest.lapis_block": "Bloque de LapislÔzuli [NYI]", - "block.twilightforest.etched_nagastone": "Piedra Naga Grabada", - "block.twilightforest.nagastone_pillar": "Pilar de Piedra Naga", - "block.twilightforest.nagastone_stairs_left": "Escaleras de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_right": "Escaleras de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_mossy": "Piedra Naga con Grabado Musgoso", - "block.twilightforest.nagastone_pillar_mossy": "Pilar de Piedra Naga Musgosa", - "block.twilightforest.nagastone_stairs_mossy_left": "Escaleras Musgosa de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_mossy_right": "Escaleras Musgosa de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_weathered": "Piedra Naga Grabada en Ruinas", - "block.twilightforest.nagastone_pillar_weathered": "Pilar de Piedra Naga en Ruinas", - "block.twilightforest.nagastone_stairs_weathered_left": "Escaleras de Piedra de Naga desgastadas (Izquierda)", - "block.twilightforest.nagastone_stairs_weathered_right": "Escaleras de Piedra de Naga desgastadas (Derecha)", - "block.twilightforest.iron_ladder": "Escalera de Hierro", - "block.twilightforest.terrorcotta_circle": "Terracota (Circular)", - "block.twilightforest.terrorcotta_diagonal": "Terracota (Diagonal)", - "block.twilightforest.experiment_115": "Experimento 115", - "block.twilightforest.hydra_trophy": "Trofeo de Hidra", - "block.twilightforest.naga_trophy": "Trofeo de Naga", - "block.twilightforest.minoshroom_trophy": "Trofeo de Minosetauro", - "block.twilightforest.knight_phantom_trophy": "Trofeo de Caballero Fantasma", - "block.twilightforest.lich_trophy": "Trofeo de Lich", - "block.twilightforest.ur_ghast_trophy": "Trofeo de Ur-Ghast", - "block.twilightforest.yeti_trophy": "Trofeo de Yeti Alfa", - "block.twilightforest.snow_queen_trophy": "Trofeo de Reina de las Nieves", - "block.twilightforest.quest_ram_trophy": "Trofeo del Carnero de la Búsqueda", - - "block.twilightforest.keepsake_casket": "Ataúd del recuerdo [WIP]", - "block.twilightforest.casket.broken": "Tu Ataúd estÔ demasiado dañado para contener mÔs objetos. Todos los artículos que se guardaron en tu ataúd se cayeron al suelo..", - "block.twilightforest.casket.locked": "”Este Ataúd sólo puede ser abierto por %s!", - - "block.twilightforest.potted_twilight_oak_sapling": "Retoño del Árbol de Roble Crepuscular en Maceta", - "block.twilightforest.potted_canopy_sapling": "Retoño de Dosel Arbóreo en Maceta", - "block.twilightforest.potted_mangrove_sapling": "Retoño de Manglar Crepuscular en Maceta", - "block.twilightforest.potted_darkwood_sapling": "Retoño del Árbol de Madera Oscura en Maceta", - "block.twilightforest.potted_hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular en Maceta", - "block.twilightforest.potted_rainboak_sapling": "Retoño del Árbol de Roble Arcoíris en Maceta", - "block.twilightforest.potted_time_sapling": "Retoño del Árbol del Tiempo en Maceta", - "block.twilightforest.potted_trans_sapling": "Retoño del Árbol de la Transformación en Maceta", - "block.twilightforest.potted_mine_sapling": "Retoño del Árbol Minero en Maceta", - "block.twilightforest.potted_sort_sapling": "Retoño del Árbol de la Clasificación en Maceta", - "block.twilightforest.potted_mayapple": "Mayapple en Maceta", - "block.twilightforest.potted_fiddlehead": "Brotes de Helecho en Maceta", - "block.twilightforest.potted_mushgloom": "Hongo Brillante en Maceta", - "block.twilightforest.potted_thorn": "Espinas en Maceta", - "block.twilightforest.potted_green_thorn": "Espinas Verdes en Maceta", - "block.twilightforest.potted_dead_thorn": "Espinas Quemadas en Maceta", - - "block.twilightforest.canopy_planks": "Tablones de Dosel Arbóreo", - "block.twilightforest.canopy_stairs": "Esquelaras de Dosel Arbóreo", - "block.twilightforest.canopy_slab": "Losa de Dosel Arbóreo", - "block.twilightforest.canopy_button": "Botón de Dosel Arbóreo", - "block.twilightforest.canopy_fence": "Valla de Dosel Arbóreo", - "block.twilightforest.canopy_gate": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_plate": "Placa de Presión de Dosel Arbóreo", - "block.twilightforest.canopy_trapdoor": "Trampilla de Dosel Arbóreo", - "block.twilightforest.canopy_door": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_sign": "Letrero de Dosel Arbóreo", - "block.twilightforest.canopy_wall_sign": "Cuadro de Dosel Arbóreo", - - "block.twilightforest.dark_planks": "Tablones de Madera Oscura", - "block.twilightforest.dark_stairs": "Esquelaras de Madera Oscura", - "block.twilightforest.dark_slab": "Losa de Madera Oscura", - "block.twilightforest.dark_button": "Botón de Madera Oscura", - "block.twilightforest.dark_fence": "Valla de Madera Oscura", - "block.twilightforest.dark_gate": "Puerta de Valla de Madera Oscura", - "block.twilightforest.dark_plate": "Placa de Presión de Madera Oscura", - "block.twilightforest.dark_trapdoor": "Trampilla de Madera Oscura", - "block.twilightforest.dark_door": "Puerta de Madera Oscura", - "block.twilightforest.darkwood_sign": "Letrero de Madera Oscura", - "block.twilightforest.darkwood_wall_sign": "Cuadro de Madera Oscura", - - "block.twilightforest.mangrove_planks": "Tablones de Manglar", - "block.twilightforest.mangrove_stairs": "Esquelaras de Manglar", - "block.twilightforest.mangrove_slab": "Losa de Manglar", - "block.twilightforest.mangrove_button": "Botón de Manglar", - "block.twilightforest.mangrove_fence": "Valla de Manglar", - "block.twilightforest.mangrove_gate": "Puerta de Valla de Manglar", - "block.twilightforest.mangrove_plate": "Placa de Presión de Manglar", - "block.twilightforest.mangrove_trapdoor": "Trampilla de Manglar", - "block.twilightforest.mangrove_door": "Puerta de Manglar", - "block.twilightforest.mangrove_sign": "Letrero de Manglar", - "block.twilightforest.mangrove_wall_sign": "Cuadro de Manglar", - - "block.twilightforest.twilight_oak_planks": "Tablones de Roble Crepuscular", - "block.twilightforest.twilight_oak_stairs": "Esquelaras de Roble Crepuscular", - "block.twilightforest.twilight_oak_slab": "Losa de Roble Crepuscular", - "block.twilightforest.twilight_oak_button": "Botón de Roble Crepuscular", - "block.twilightforest.twilight_oak_fence": "Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_gate": "Puerta de Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_plate": "Placa de Presión de Roble Crepuscular", - "block.twilightforest.twilight_oak_trapdoor": "Trampilla de Roble Crepuscular", - "block.twilightforest.twilight_oak_door": "Puerta de Roble Crepuscular", - "block.twilightforest.twilight_oak_sign": "Letrero de Roble Crepuscular", - "block.twilightforest.twilight_wall_sign": "Cuadro de Roble Crepuscular", - - "block.twilightforest.time_planks": "Tablones del Árbol del Tiempo", - "block.twilightforest.time_stairs": "Esquelaras del Árbol del Tiempo", - "block.twilightforest.time_slab": "Losa del Árbol del Tiempo", - "block.twilightforest.time_button": "Botón del Árbol del Tiempo", - "block.twilightforest.time_fence": "Valla del Árbol del Tiempo", - "block.twilightforest.time_gate": "Puerta de Valla del Árbol del Tiempo", - "block.twilightforest.time_plate": "Placa de Presión del Árbol del Tiempo", - "block.twilightforest.time_trapdoor": "Trampilla del Árbol del Tiempo", - "block.twilightforest.time_door": "Puerta del Árbol del Tiempo", - "block.twilightforest.time_sign": "Letrero del Árbol del Tiempo", - "block.twilightforest.time_wall_sign": "Cuadro del Árbol del Tiempo", - - "block.twilightforest.trans_planks": "Tablones del Árbol de Transformación", - "block.twilightforest.trans_stairs": "Esquelaras del Árbol de Transformación", - "block.twilightforest.trans_slab": "Losa del Árbol de Transformación", - "block.twilightforest.trans_button": "Botón del Árbol de Transformación", - "block.twilightforest.trans_fence": "Valla del Árbol de Transformación", - "block.twilightforest.trans_gate": "Puerta de Valla del Árbol de Transformación", - "block.twilightforest.trans_plate": "Placa de Presión del Árbol de Transformación", - "block.twilightforest.trans_trapdoor": "Trampilla del Árbol de Transformación", - "block.twilightforest.trans_door": "Puerta del Árbol de Transformación", - "block.twilightforest.trans_sign": "Letrero del Árbol de Transformación", - "block.twilightforest.trans_wall_sign": "Cuadro del Árbol de Transformación", - - "block.twilightforest.mine_planks": "Tablones del Árbol Minero", - "block.twilightforest.mine_stairs": "Esquelaras del Árbol Minero", - "block.twilightforest.mine_slab": "Losa del Árbol Minero", - "block.twilightforest.mine_button": "Botón del Árbol Minero", - "block.twilightforest.mine_fence": "Valla del Árbol Minero", - "block.twilightforest.mine_gate": "Puerta de Valla del Árbol Minero", - "block.twilightforest.mine_plate": "Placa de Presión del Árbol Minero", - "block.twilightforest.mine_trapdoor": "Trampilla del Árbol Minero", - "block.twilightforest.mine_door": "Puerta del Árbol Minero", - "block.twilightforest.mine_sign": "Letrero del Árbol Minero", - "block.twilightforest.mine_wall_sign": "Cuadro del Árbol Minero", - - "block.twilightforest.sort_planks": "Tablones del Árbol de Clasificación", - "block.twilightforest.sort_stairs": "Esquelaras del Árbol de Clasificación", - "block.twilightforest.sort_slab": "Losa del Árbol de Clasificación", - "block.twilightforest.sort_button": "Botón del Árbol de Clasificación", - "block.twilightforest.sort_fence": "Valla del Árbol de Clasificación", - "block.twilightforest.sort_gate": "Puerta de Valla del Árbol de Clasificación", - "block.twilightforest.sort_plate": "Placa de Presión del Árbol de Clasificación", - "block.twilightforest.sort_trapdoor": "Trampilla del Árbol de Clasificación", - "block.twilightforest.sort_door": "Puerta del Árbol de Clasificación", - "block.twilightforest.sort_sign": "Letrero del Árbol de Clasificación", - "block.twilightforest.sort_wall_sign": "Cuadro del Árbol de Clasificación", - - "block.steeleaf.tooltip": "Reduce el daño por caída en un 25%.", - "block.arctic.tooltip": "Reduce el daño por caída en un 90%", - "block.knightmetal.tooltip": "Funciona como un cactus mÔs fuerte", - - // Structures - "structure.twilight_portal": "Portal de Twilight", - "structure.hedge_maze": "Laberinto de Setos", - "structure.hollow_hill": "Colina Hueca", - "structure.quest_grove": "Búsqueda de la Arboleda", - "structure.mushroom_tower": "Castillo de los Hongos", - "structure.naga_courtyard": "Patio Naga", - "structure.lich_tower": "Torre del Lich", - "structure.minotaur_labyrinth": "Laberinto del Minotauro", - "structure.hydra_lair": "Guarida de la Hidra", - "structure.goblin_stronghold": "Fortaleza de los Goblins", - "structure.dark_tower": "La Torre Oscura", - "structure.yeti_cave": "Cueva del Yeti", - "structure.aurora_palace": "Palacio Aurora", - "structure.troll_cave_and_cloud_castle": "Cueva de los Trolls y Casa en las Nubes", - "structure.final_castle": "Castillo Final", - - // Items - "item.twilightforest.boarkchop": "Chuleta de Boark", - "item.twilightforest.naga_scale": "Escama Naga", - "item.twilightforest.naga_chestplate": "Tunica de Escama Naga", - "item.twilightforest.naga_leggings": "Mallas de Escama Naga", - "item.twilightforest.twilight_scepter": "Cetro Crepuscular", - "item.twilightforest.lifedrain_scepter": "Cetro de Robo de Vida", - "item.twilightforest.zombie_scepter": "Cetro Zombie", - "item.twilightforest.shield_scepter": "Cetro de Fortificación", - "item.twilightforest.ore_meter": "Medidor de Minerales [NYI]", - "item.twilightforest.magic_map": "Mapa MÔgico", - "item.twilightforest.maze_map": "Mapa del Laberinto", - "item.twilightforest.ore_map": "Mapa de Laberinto/Mineral", - "item.twilightforest.raven_feather": "Pluma de Cuervo", - "item.twilightforest.magic_map_focus": "Enfoque del Mapa MÔgico", - "item.twilightforest.maze_map_focus": "Enfoque del Mapa del Laberinto", - "item.twilightforest.liveroot": "Raíces Vivas", - "item.twilightforest.ironwood_raw": "Materiales de Madera de Hierro en Bruto", - "item.twilightforest.ironwood_ingot": "Lingote de Madera de Hierro", - "item.twilightforest.ironwood_helmet": "Casco de Madera de Hierro", - "item.twilightforest.ironwood_chestplate": "Pechera de Madera de Hierro", - "item.twilightforest.ironwood_leggings": "Pantalones de Madera de Hierro", - "item.twilightforest.ironwood_boots": "Botas de Madera de Hierro", - "item.twilightforest.ironwood_sword": "Espada de Madera de Hierro", - "item.twilightforest.ironwood_shovel": "Pala de Madera de Hierro", - "item.twilightforest.ironwood_pickaxe": "Pico de Madera de Hierro", - "item.twilightforest.ironwood_axe": "Hacha de Madera de Hierro", - "item.twilightforest.ironwood_hoe": "Azada de Madera de Hierro", - "item.twilightforest.torchberries": "Bayas de Antorcha", - "item.twilightforest.raw_venison": "Venado Crudo", - "item.twilightforest.cooked_venison": "Filete de Venado", - "item.twilightforest.hydra_chop": "Chuleta de Hidra", - "item.twilightforest.fiery_blood": "Sangre Ardiente", - "item.twilightforest.fiery_ingot": "Lingote Ardiente", - "item.twilightforest.fiery_helmet": "Casco Ardiente", - "item.twilightforest.fiery_chestplate": "Pechera Ardiente", - "item.twilightforest.fiery_leggings": "Pantalones Ardientes", - "item.twilightforest.fiery_boots": "Botas Ardientes", - "item.twilightforest.fiery_sword": "Espada Ardiente", - "item.twilightforest.fiery_pickaxe": "Pico Ardiente", - "item.twilightforest.steeleaf_ingot": "Hoja de Acero", - "item.twilightforest.steeleaf_helmet": "Casco de Hoja de Acero", - "item.twilightforest.steeleaf_chestplate": "Pechera de Hoja de Acero", - "item.twilightforest.steeleaf_leggings": "Pantalones de de Hoja de Acero", - "item.twilightforest.steeleaf_boots": "Botas de Hoja de Acero", - "item.twilightforest.steeleaf_sword": "Espeda de Hoja de Acero", - "item.twilightforest.steeleaf_shovel": "Pala de Hoja de Acero", - "item.twilightforest.steeleaf_pickaxe": "Pico de Hoja de Acero", - "item.twilightforest.steeleaf_axe": "Hacha de Hoja de Acero", - "item.twilightforest.steeleaf_hoe": "Azada de Hoja de Acero", - "item.twilightforest.minotaur_axe": "Hacha de Diamante del Minotauro", - "item.twilightforest.minotaur_axe_gold": "Hacha de Oro del Minotauro", - "item.twilightforest.mazebreaker_pickaxe": "Rompe Laberintos", - "item.twilightforest.transformation_powder": "Polvo de Transformación", - "item.twilightforest.raw_meef": "Carne Cruda", - "item.twilightforest.cooked_meef": "Bistec de Carne", - "item.twilightforest.meef_stroganoff": "Carne Stroganoff", - "item.twilightforest.maze_wafer": "Oblea de Laberinto", - "item.twilightforest.magic_map_empty": "Mapa MÔgico en Blanco", - "item.twilightforest.maze_map_empty": "Mapa del Laberinto en Blanco", - "item.twilightforest.ore_map_empty": "Mapa de Laberinto/Minerales en Blanco", - "item.twilightforest.ore_magnet": "ImÔn de Minerales", - "item.twilightforest.crumble_horn": "Cuerno Desmenuzado", - "item.twilightforest.peacock_fan": "Abanico de Plumas de Pavo Real", - "item.twilightforest.moonworm_queen": "Reina Gusano Lunar", - "item.twilightforest.charm_of_life_1": "Talisman de Vida I", - "item.twilightforest.charm_of_life_2": "Talisman de Vida II", - "item.twilightforest.charm_of_keeping_1": "Talisman de conservación I", - "item.twilightforest.charm_of_keeping_2": "Talisman de conservación II", - "item.twilightforest.charm_of_keeping_3": "Talisman de conservación III", - "item.twilightforest.tower_key": "Llave de la Torre", - "item.twilightforest.borer_essence": "Esencia de Barrenador", - "item.twilightforest.carminite": "Carminita", - "item.twilightforest.tf_trophy": "%s Trofeo", - "item.twilightforest.armor_shard": "Fragmento de Armadura", - "item.twilightforest.knightmetal_ingot": "Lingote Hecho del Caballero de Metal", - "item.twilightforest.armor_shard_cluster": "Grupo de Fragmentos de Armadura", - "item.twilightforest.knightmetal_helmet": "Yelmo del Caballero de Metal", - "item.twilightforest.knightmetal_chestplate": "Pechera del Caballero de Metal", - "item.twilightforest.knightmetal_leggings": "Grebas del Caballero de Metal", - "item.twilightforest.knightmetal_boots": "Botas del Caballero de Metal", - "item.twilightforest.knightmetal_sword": "Espada del Caballero de Metal", - "item.twilightforest.knightmetal_pickaxe": "Pico del Caballero de Metal", - "item.twilightforest.knightmetal_axe": "Hacha del Caballero de Metal", - "item.twilightforest.knightmetal_shield": "Escudo del Caballero de Metal", - "item.twilightforest.phantom_helmet": "Casco de Fantasma", - "item.twilightforest.phantom_chestplate": "Pechera de Fantasma", - "item.twilightforest.lamp_of_cinders": "LÔmpara de Cenizas", - "item.twilightforest.fiery_tears": "LÔgrimas de Fuego", - "item.twilightforest.ice_bomb": "Bomba de Hielo", - "item.twilightforest.yeti_helmet": "Casco con Cuernos del Yeti", - "item.twilightforest.yeti_chestplate": "Chaqueta del Yeti", - "item.twilightforest.yeti_leggings": "Pantalones del Yeti", - "item.twilightforest.yeti_boots": "Botas del Yeti", - "item.twilightforest.alpha_fur": "Pelaje de Yeti Alfa", - "item.twilightforest.arctic_fur": "Pelaje del Ártico", - "item.twilightforest.arctic_helmet": "Capucha del Ártico", - "item.twilightforest.arctic_chestplate": "Chaqueta Ártica", - "item.twilightforest.arctic_leggings": "Pantalones del Ártico", - "item.twilightforest.arctic_boots": "Botas del Ártico", - "item.twilightforest.magic_beans": "Frijoles MÔgicos", - "item.twilightforest.giant_pickaxe": "Pico del Gigante", - "item.twilightforest.giant_sword": "Espada del Gigante", - "item.twilightforest.triple_bow": "Arco triple", - "item.twilightforest.seeker_bow": "Arco Buscador", - "item.twilightforest.ice_bow": "Arco de hielo", - "item.twilightforest.ender_bow": "Arco de Ender", - "item.twilightforest.ice_sword": "Espada de Hielo", - "item.twilightforest.glass_sword": "Espada de Vidrio", - "item.twilightforest.knightmetal_ring": "Lazo de Caballero de Metal", - "item.twilightforest.block_and_chain": "Bloque y Cadena", - "item.twilightforest.cube_talisman": "TalismÔn del Cubo [NYI]", - "item.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación [WIP]", - "item.twilightforest.moon_dial": "Dial lunar", - - "item.twilightforest.wild_boar_spawn_egg": "Generar Jabalí", - "item.twilightforest.bighorn_sheep_spawn_egg": "Generar de Oveja Cimarrón", - "item.twilightforest.deer_spawn_egg": "Generar Ciervo Salvaje", - "item.twilightforest.redcap_spawn_egg": "Generar Goblin del Gorro Rojo", - "item.twilightforest.swarm_spider_spawn_egg": "Generar Araña de Enjambre", - "item.twilightforest.naga_spawn_egg": "Generar Naga", - "item.twilightforest.skeleton_druid_spawn_egg": "Generar Druida Esqueleto", - "item.twilightforest.hostile_wolf_spawn_egg": "Generar Lobo Hostil", - "item.twilightforest.wraith_spawn_egg": "Generar Espectro Crepuscular", - "item.twilightforest.hedge_spider_spawn_egg": "Generar Araña del Seto", - "item.twilightforest.hydra_spawn_egg": "Generar Hidra", - "item.twilightforest.lich_spawn_egg": "Generar Twilight Lich ", - "item.twilightforest.penguin_spawn_egg": "Generar Pingüino", - "item.twilightforest.tiny_bird_spawn_egg": "Generar PÔjaro Pequeño", - "item.twilightforest.squirrel_spawn_egg": "Generar Ardilla de Bosque", - "item.twilightforest.bunny_spawn_egg": "Generar Conejo del Bosque", - "item.twilightforest.raven_spawn_egg": "Generar Cuervo del Bosque", - "item.twilightforest.quest_ram_spawn_egg": "Generar Carnero de la Búsqueda", - "item.twilightforest.kobold_spawn_egg": "Generar Kobold", - "item.twilightforest.mosquito_swarm_spawn_egg": "Generar Enjambre de Mosquitos", - "item.twilightforest.death_tome_spawn_egg": "Generar Tomo de la Muerte", - "item.twilightforest.minotaur_spawn_egg": "Generar Minotauro", - "item.twilightforest.minoshroom_spawn_egg": "Generar Minosetauro", - "item.twilightforest.fire_beetle_spawn_egg": "Generar Escarabajo de Fuego", - "item.twilightforest.slime_beetle_spawn_egg": "Generar Escarabajo de Slime", - "item.twilightforest.pinch_beetle_spawn_egg": "Generar Escarabajo de Pinzas", - "item.twilightforest.maze_slime_spawn_egg": "Generar Slime de Laberinto", - "item.twilightforest.redcap_sapper_spawn_egg": "Generar Zapador de Gorro Rojo", - "item.twilightforest.mist_wolf_spawn_egg": "Generar Lobo de la Niebla", - "item.twilightforest.king_spider_spawn_egg": "Generar Rey Araña", - "item.twilightforest.mini_ghast_spawn_egg": "Generar Mini Ghast de Carminita", - "item.twilightforest.tower_ghast_spawn_egg": "Generar Guardia Ghast de Carminita", - "item.twilightforest.tower_golem_spawn_egg": "Generar Golem de Carminita", - "item.twilightforest.tower_termite_spawn_egg": "Generar Barrenador de la Torre de Madera", - "item.twilightforest.tower_broodling_spawn_egg": "Generar Araña Carminita", - "item.twilightforest.ur_ghast_spawn_egg": "Generar Ur-Ghast", - "item.twilightforest.blockchain_goblin_spawn_egg": "Generar Goblin de Bloques y Cadenas", - "item.twilightforest.goblin_knight_lower_spawn_egg": "Generar Caballero Goblin", - "item.twilightforest.helmet_crab_spawn_egg": "Generar Cangrejo con Casco", - "item.twilightforest.knight_phantom_spawn_egg": "Generar Caballero Fantasma", - "item.twilightforest.yeti_spawn_egg": "Generar Yeti", - "item.twilightforest.yeti_alpha_spawn_egg": "Generar Yeti Alfa", - "item.twilightforest.winter_wolf_spawn_egg": "Generar Lobo de Invierno", - "item.twilightforest.snow_guardian_spawn_egg": "Generar GuardiÔn de Nieve", - "item.twilightforest.stable_ice_core_spawn_egg": "Generar Núcleo de Hielo Estable", - "item.twilightforest.unstable_ice_core_spawn_egg": "Generar Núcleo de Hielo Inestable", - "item.twilightforest.snow_queen_spawn_egg": "Generar Reina de las Nieves", - "item.twilightforest.troll_spawn_egg": "Generar Troll de las Cavernas", - "item.twilightforest.giant_miner_spawn_egg": "Generar Minero Gigante", - "item.twilightforest.armored_giant_spawn_egg": "Generar Gigante Armado", - "item.twilightforest.ice_crystal_spawn_egg": "Generar Cristal de Hielo", - "item.twilightforest.harbinger_cube_spawn_egg": "Generar Cubo de los Presagios [NYI]", - "item.twilightforest.adherent_spawn_egg": "Generar Adepto [NYI]", - "item.twilightforest.roving_cube_spawn_egg": "Generar Cubo Giratorio [NYI]", - - "item.twilightforest.guide": "Cuaderno de BitÔcora del Viajero [WIP]", - - "item.twilightforest.minotaur_axe.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.minotaur_axe_gold.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.knightmetal_sword.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_pickaxe.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_axe.tooltip": "Daño Extra a Objetivos No Blindados", - "item.twilightforest.giant_pickaxe.tooltip": "Rompe bloques gigantes", - "item.twilightforest.fiery_pickaxe.tooltip": "Autofundición", - "item.twilightforest.fiery_sword.tooltip": "Quema al objetivo ", - "item.twilightforest.fiery_helmet.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_chestplate.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_leggings.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_boots.tooltip": "Quema a los atacante", - "item.twilightforest.phantom_helmet.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.phantom_chestplate.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.yeti_helmet.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_chestplate.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_leggings.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_boots.tooltip": "Enfría a los atacantes", - - "item.twilightforest.arctic_armor.tooltip": "Teñible como la armadura de cuero", - - // Entities - "entity.twilightforest.wild_boar": "Jabalí", - "entity.twilightforest.bighorn_sheep": "Oveja Cimarrón", - "entity.twilightforest.deer": "Ciervo salvaje", - "entity.twilightforest.redcap": "Goblin del Gorro Rojo", - "entity.twilightforest.swarm_spider": "Araña de Enjambre", - "entity.twilightforest.naga": "Naga", - "entity.twilightforest.naga_segment": "Segmento Naga", - "entity.twilightforest.skeleton_druid": "Druida Esqueleto", - "entity.twilightforest.hostile_wolf": "Lobo hostil", - "entity.twilightforest.wraith": "Espectro Crepuscular", - "entity.twilightforest.hedge_spider": "Araña del Seto", - "entity.twilightforest.hydra": "Hidra", - "entity.twilightforest.hydra_head": "Cabeza de Hidra", - "entity.twilightforest.lich": "Twilight Lich", - "entity.twilightforest.penguin": "Pingüino", - "entity.twilightforest.tiny_bird": "PÔjaro Pequeño", - "entity.twilightforest.squirrel": "Ardilla del Bosque", - "entity.twilightforest.bunny": "Conejo Enano", - "entity.twilightforest.raven": "Cuervo del Bosque", - "entity.twilightforest.quest_ram": "Carnero de la Búsqueda", - "entity.twilightforest.kobold": "Kobold", - "entity.twilightforest.boggard": "Boggard [NYI]", - "entity.twilightforest.lich_minion": "Lich Minion", - "entity.twilightforest.loyal_zombie": "Zombi Leal", - "entity.twilightforest.mosquito_swarm": "Enjambre de Mosquitos", - "entity.twilightforest.death_tome": "Tomo de la Muerte", - "entity.twilightforest.minotaur": "Minotauro", - "entity.twilightforest.minoshroom": "Minosetauro", - "entity.twilightforest.fire_beetle": "Escarabajo de Fuego", - "entity.twilightforest.slime_beetle": "Escarabajo de Slime", - "entity.twilightforest.pinch_beetle": "Escarabajo de Pinzas", - "entity.twilightforest.maze_slime": "Slime de Laberinto", - "entity.twilightforest.redcap_sapper": "Zapador de Gorro Rojo", - "entity.twilightforest.mist_wolf": "Lobo de la Niebla", - "entity.twilightforest.king_spider": "Rey Araña", - "entity.twilightforest.firefly": "Luciérnaga", - "entity.twilightforest.mini_ghast": "Mini Ghast de Carminita", - "entity.twilightforest.tower_ghast": "Guardia Ghast de Carminita", - "entity.twilightforest.tower_golem": "Golem de Carminita", - "entity.twilightforest.tower_termite": "Barrenador de la Madera de la Torre", - "entity.twilightforest.tower_broodling": "Araña Carminita", - "entity.twilightforest.ur_ghast": "Ur-Ghast", - "entity.twilightforest.blockchain_goblin": "Generar Goblin de Bloques y Cadenas", - "entity.twilightforest.goblin_knight_upper": "Caballero Goblin Superior", - "entity.twilightforest.goblin_knight_lower": "Caballero Goblin Inferior", - "entity.twilightforest.helmet_crab": "Cangrejo con Casco", - "entity.twilightforest.knight_phantom": "Caballero Fantasma", - "entity.twilightforest.yeti": "Yeti", - "entity.twilightforest.yeti_alpha": "Yeti Alfa", - "entity.twilightforest.winter_wolf": "Lobo de Invierno", - "entity.twilightforest.snow_guardian": "GuardiÔn de Nieve", - "entity.twilightforest.stable_ice_core": "Núcleo de Hielo Estable", - "entity.twilightforest.unstable_ice_core": "Núcleo de Hielo Inestable", - "entity.twilightforest.snow_queen": "Reina de las Nieves", - "entity.twilightforest.troll": "Troll de las Cavernas", - "entity.twilightforest.giant_miner": "Minero Gigante", - "entity.twilightforest.armored_giant": "Gigante Armado", - "entity.twilightforest.ice_crystal": "Cristal de Hielo", - "entity.twilightforest.rising_zombie": "Zombie", - "entity.twilightforest.harbinger_cube": "Cubo de los Presagios [NYI]", - "entity.twilightforest.adherent": "Adepto [NYI]", - "entity.twilightforest.castle_guardian": "GuardiÔn del Castillo [NYI]", - "entity.twilightforest.roving_cube": "Cubo Giratorio [NYI]", - - "entity.twilightforest.ice_snowball": "Bola de Nieve de Hielo", - "entity.twilightforest.ice_arrow": "Flecha de Hielo", - "entity.twilightforest.seeker_arrow": "Flecha Buscadora", - "entity.twilightforest.cicada_shot": "Cigarra", - "entity.twilightforest.moonworm_shot": "Gusano Lunar", - "entity.twilightforest.nature_bolt": "Perno de la Naturaleza", - "entity.twilightforest.slime_blob": "Gota de Slime", - "entity.twilightforest.tome_bolt": " Perno del Tomo de la Muerte", - "entity.twilightforest.wand_bolt": "Perno de Cetro Crepuscular", - "entity.twilightforest.lich_bolt": "Perno del Lich", - "entity.twilightforest.lich_bomb": "Perno Explosivo del Lich", - "entity.twilightforest.hydra_mortar": "Mortero Hidra", - "entity.twilightforest.falling_ice": "Caída de hielo", - "entity.twilightforest.chain_block": "Bloque y Cadena", - "entity.twilightforest.thrown_wep": "Arma Arrojadiza", - "entity.twilightforest.charm_effect": "Efecto de Talisman", - "entity.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación", - "entity.twilightforest.slider": "Trampa Deslizante en Movimiento", - "entity.twilightforest.protection_box": "Caja de Protección de la Progresión", - - // Subtitles - "subtitles.twilightforest.entity.alphayeti.alert": "Yeti Alfa se dirige al jugador", - "subtitles.twilightforest.entity.alphayeti.death": "Yeti Alfa muerto", - "subtitles.twilightforest.entity.alphayeti.grab": "Yeti Alfa agarra al jugador", - "subtitles.twilightforest.entity.alphayeti.growl": "Yeti Alfa gruñe", - "subtitles.twilightforest.entity.alphayeti.hurt": "Yeti Alfa herido", - "subtitles.twilightforest.entity.alphayeti.ice": "Yeti Alfa lanza hielo", - "subtitles.twilightforest.entity.alphayeti.pant": "Pantalones del Yeti Alfa ", - "subtitles.twilightforest.entity.alphayeti.roar": "Yeti Alfa ruge", - "subtitles.twilightforest.entity.alphayeti.throw": "Yeti Alfa tira con fuerza", - "subtitles.twilightforest.entity.bighorn.ambient": "Balido de Oveja Cimarrón", - "subtitles.twilightforest.entity.bighorn.death": "Oveja Cimarrón muerta", - "subtitles.twilightforest.entity.bighorn.hurt": "Oveja Cimarrón herida", - "subtitles.twilightforest.entity.blockchain.ambient": "Goblin de Bloques y Cadenas se ríe", - "subtitles.twilightforest.entity.blockchain.death": "Goblin de Bloques y Cadenas muerto", - "subtitles.twilightforest.entity.blockchain.hurt": "Goblin de Bloques y Cadenas grita", - "subtitles.twilightforest.entity.boar.ambient": "Gruñido de Jabalí", - "subtitles.twilightforest.entity.boar.death": "Jabalí muerto", - "subtitles.twilightforest.entity.boar.hurt": "Jabalí herido", - "subtitles.twilightforest.entity.broodling.ambient": "Siseo de Araña Carminita", - "subtitles.twilightforest.entity.broodling.death": "Araña Carminita muerta", - "subtitles.twilightforest.entity.broodling.hurt": "Araña Carminita herida", - "subtitles.twilightforest.entity.carminitegolem.attack": "Golem de Carminita ataca", - "subtitles.twilightforest.entity.carminitegolem.death": "Golem de Carminita muerto", - "subtitles.twilightforest.entity.carminitegolem.hurt": "Golem de Carminita herido", - "subtitles.twilightforest.entity.cicada": "Canto de Cigarra", - "subtitles.twilightforest.entity.deer.death": "Ciervo salvaje muerto", - "subtitles.twilightforest.entity.deer.hurt": "Ciervo salvaje herido", - "subtitles.twilightforest.entity.deer.idle": "Ciervo salvaje mugido", - "subtitles.twilightforest.entity.druid.ambient": "Cascabeles del Druida Esqueleto", - "subtitles.twilightforest.entity.druid.death": "Druida Esqueleto muerto", - "subtitles.twilightforest.entity.druid.hurt": "Druida Esqueleto herido", - "subtitles.twilightforest.entity.druid.shoot": "Druida Esqueleto dispara", - "subtitles.twilightforest.entity.firebeetle.ambient": "Siseo de Escarabajo de Fuego", - "subtitles.twilightforest.entity.firebeetle.death": "Escarabajo de Fuego muerto", - "subtitles.twilightforest.entity.firebeetle.hurt": "Escarabajo de Fuego herido", - "subtitles.twilightforest.entity.firebeetle.shoot": "Escarabajo de Fuego dispara", - "subtitles.twilightforest.entity.ghastguard.ambient": "Llanto de Guardia Ghast", - "subtitles.twilightforest.entity.ghastguard.death": "Guardia Ghast muerto", - "subtitles.twilightforest.entity.ghastguard.hurt": "Guardia Ghast herido", - "subtitles.twilightforest.entity.ghastling.ambient": "Llanto de Mini Ghast", - "subtitles.twilightforest.entity.ghastling.death": "Mini Ghast muerto", - "subtitles.twilightforest.entity.ghastling.hurt": "Mini Ghast herido", - "subtitles.twilightforest.entity.goblinknight.ambient": "Risas de Caballero Goblin", - "subtitles.twilightforest.entity.goblinknight.death": "Caballero Goblin gime de agonía", - "subtitles.twilightforest.entity.goblinknight.hurt": "Caballero Goblin chilla de dolor", - "subtitles.twilightforest.entity.goblinknight.muffled.ambient": "Caballero Goblin sofocada rie", - "subtitles.twilightforest.entity.goblinknight.muffled.death": "Caballero Goblin sofocado gime de agonía", - "subtitles.twilightforest.entity.goblinknight.muffled.hurt": "Caballero Goblin sofocado chilla de dolor", - "subtitles.twilightforest.entity.hedgespider.ambient": "Siseo de Araña del Seto", - "subtitles.twilightforest.entity.hedgespider.death": "Araña del Seto muerta", - "subtitles.twilightforest.entity.hedgespider.hurt": "Araña del Seto herida", - "subtitles.twilightforest.entity.helmetcrab.death": "Cangrejo con Casco muerto", - "subtitles.twilightforest.entity.helmetcrab.hurt": "Cangrejo con Casco herido", - "subtitles.twilightforest.entity.hostilewolf.death": "Lobo hostil muerto", - "subtitles.twilightforest.entity.hostilewolf.hurt": "Lobo hostil herido", - "subtitles.twilightforest.entity.hostilewolf.idle": "Lobo hostil gruñe", - "subtitles.twilightforest.entity.hostilewolf.target": "Lobo hostil apunta a la víctima", - "subtitles.twilightforest.entity.hydra.death": "Hidra muerto", - "subtitles.twilightforest.entity.hydra.growl": "Hidra gruñe", - "subtitles.twilightforest.entity.hydra.hurt": "Hidra herido", - "subtitles.twilightforest.entity.hydra.roar": "Hidra ruge", - "subtitles.twilightforest.entity.hydra.shoot": "Hidra lanza fuego", - "subtitles.twilightforest.entity.hydra.warn": "Hidra se prepara para morder", - "subtitles.twilightforest.entity.ice.death": "Núcleo de hielo muerto", - "subtitles.twilightforest.entity.ice.hurt": "Núcleo de hielo herido", - "subtitles.twilightforest.entity.ice.noise": "Crujidos del Núcleo de hielo", - "subtitles.twilightforest.entity.ice.shoot": "Núcleo de hielo dispara una bola de nieve", - "subtitles.twilightforest.entity.iceguardian.ambient": "Crujidos del GuardiÔn de la nieve", - "subtitles.twilightforest.entity.iceguardian.death": "GuardiÔn de la nieve muerto", - "subtitles.twilightforest.entity.iceguardian.hurt": "GuardiÔn de la nieve herido", - "subtitles.twilightforest.entity.kingspider.ambient": "Siseo de Rey Araña", - "subtitles.twilightforest.entity.kingspider.death": "Rey Araña muerto", - "subtitles.twilightforest.entity.kingspider.hurt": "Rey Araña herido", - "subtitles.twilightforest.entity.kobold.ambient": "Gruñidos de Kobold", - "subtitles.twilightforest.entity.kobold.death": "Kobold muerto", - "subtitles.twilightforest.entity.kobold.hurt": "Kobold herido", - "subtitles.twilightforest.entity.lich.ambient": "Lich respira", - "subtitles.twilightforest.entity.lich.death": "Lich muerto", - "subtitles.twilightforest.entity.lich.hurt": "Lich herido", - "subtitles.twilightforest.entity.lich.shoot": "Lich dispara", - "subtitles.twilightforest.entity.lich.teleport": "Lich se teletransporta", - "subtitles.twilightforest.entity.lichclone.hurt": "Clon Lich se evapora", - "subtitles.twilightforest.entity.loyalzombie.ambient": "Zombi leal gruñidos", - "subtitles.twilightforest.entity.loyalzombie.death": "Zombi leal muerto", - "subtitles.twilightforest.entity.loyalzombie.hurt": "Zombi leal herido", - "subtitles.twilightforest.entity.mazeslime.death": "Slime de Laberinto muerto", - "subtitles.twilightforest.entity.mazeslime.hurt": "Slime de Laberinto herido", - "subtitles.twilightforest.entity.mazeslime.squish": "Slime de Laberinto saltando", - "subtitles.twilightforest.entity.minion.ambient": "Lich Minion gruñidos", - "subtitles.twilightforest.entity.minion.death": "Lich Minion muerto", - "subtitles.twilightforest.entity.minion.hurt": "Lich Minion herido", - "subtitles.twilightforest.entity.minion.summon": "Lich invoca a un nuevo Minion", - "subtitles.twilightforest.entity.minoshroom.ambient": "Mugido de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.attack": "Carga de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.death": "Minosetauro muerto", - "subtitles.twilightforest.entity.minoshroom.hurt": "Minosetauro herido", - "subtitles.twilightforest.entity.minotaur.ambient": "Mugido de Minotauro", - "subtitles.twilightforest.entity.minotaur.attack": "Carga de Minotauro", - "subtitles.twilightforest.entity.minotaur.death": "Minotauro muerto", - "subtitles.twilightforest.entity.minotaur.hurt": "Minotauro herido", - "subtitles.twilightforest.entity.mistwolf.death": "Lobo de la Niebla muerto", - "subtitles.twilightforest.entity.mistwolf.hurt": "Lobo de la Niebla herido", - "subtitles.twilightforest.entity.mistwolf.idle": "Lobo de la Niebla gruñe", - "subtitles.twilightforest.entity.mistwolf.target": "Lobo de la Niebla apunta a la víctima", - "subtitles.twilightforest.entity.mosquito.ambient": "Zumbido de Mosquitos", - "subtitles.twilightforest.entity.naga.hiss": "Siseo de Naga", - "subtitles.twilightforest.entity.naga.hurt": "Naga herido", - "subtitles.twilightforest.entity.naga.rattle": "Naga cascabeles", - "subtitles.twilightforest.entity.kphantom.axe": "Caballero Fantasma lanza el hacha", - "subtitles.twilightforest.entity.kphantom.ambient": "Caballero Fantasma jadeos", - "subtitles.twilightforest.entity.kphantom.death": "Caballero Fantasma muerto", - "subtitles.twilightforest.entity.kphantom.hurt": "Caballero Fantasma herido", - "subtitles.twilightforest.entity.kphantom.pick": "Caballero Fantasma lanza el pico", - "subtitles.twilightforest.entity.pinchbeetle.death": "Escarabajo de pinzas muerto", - "subtitles.twilightforest.entity.pinchbeetle.hurt": "Escarabajo de pinzas herido", - "subtitles.twilightforest.entity.quest.ambient": "Balido del Carnero de la Búsqueda", - "subtitles.twilightforest.entity.quest.death": "Carnero de la Búsqueda muerto", - "subtitles.twilightforest.entity.quest.hurt": "Carnero de la Búsqueda herido", - "subtitles.twilightforest.entity.raven.caw": "Canto de Cuervo", - "subtitles.twilightforest.entity.raven.squawk": "Graznido de Cuervo", - "subtitles.twilightforest.entity.redcap.ambient": "Risas de Gorro rojo", - "subtitles.twilightforest.entity.redcap.death": "Gorro rojo gime en agonía", - "subtitles.twilightforest.entity.redcap.hurt": "Gorro rojo chilla de dolor", - "subtitles.twilightforest.entity.shield.add": "Aparece un nuevo escudo", - "subtitles.twilightforest.entity.shield.break": "Rotura del escudo", - "subtitles.twilightforest.entity.slimebeetle.death": "Escarabajo de Slime muerto", - "subtitles.twilightforest.entity.slimebeetle.hurt": "Escarabajo de Slime herido", - "subtitles.twilightforest.entity.slimebeetle.squish": "Escarabajo de Slime saltando", - "subtitles.twilightforest.entity.snowqueen.ambient": "Reina de las Nieves cruje", - "subtitles.twilightforest.entity.snowqueen.attack": "Reina de las Nieves ataca", - "subtitles.twilightforest.entity.snowqueen.break": "Reina de las Nieves el escudo desvía", - "subtitles.twilightforest.entity.snowqueen.death": "Reina de las Nieves muerto", - "subtitles.twilightforest.entity.snowqueen.hurt": "Reina de las Nieves herido", - "subtitles.twilightforest.entity.swarmspider.ambient": "Siseo de Araña de enjambre", - "subtitles.twilightforest.entity.swarmspider.death": "Araña de enjambre muerto", - "subtitles.twilightforest.entity.swarmspider.hurt": "Araña de enjambre herido", - "subtitles.twilightforest.entity.tear.break": "LÔgrimas de Ur-Ghast rompiéndose", - "subtitles.twilightforest.entity.termite.ambient": "Siseo de Barrenador de la Torre de Madera", - "subtitles.twilightforest.entity.termite.death": "Barrenador de la Torre de Madera muerto", - "subtitles.twilightforest.entity.termite.hurt": "Barrenador de la Torre de Madera herido", - "subtitles.twilightforest.entity.tinybird.chirp": "PÔjaro gorjea", - "subtitles.twilightforest.entity.tinybird.hurt": "PÔjaro herido", - "subtitles.twilightforest.entity.tinybird.song": "PÔjaro cantando", - "subtitles.twilightforest.entity.tome.death": "Tomo de la Muerte se desmorona", - "subtitles.twilightforest.entity.tome.hurt": "Pliegues del Tomo de la Muerte", - "subtitles.twilightforest.entity.tome.idle": "Tomo de la Muerte pasa las pÔginas", - "subtitles.twilightforest.entity.urghast.ambient": "Ur-Ghast llora", - "subtitles.twilightforest.entity.urghast.death": "Ur-Ghast muerto", - "subtitles.twilightforest.entity.urghast.hurt": "Ur-Ghast grita", - "subtitles.twilightforest.entity.urghast.trapactive": "Zumbidos de la trampa Trampa Ghast", - "subtitles.twilightforest.entity.urghast.trapon": "Trampa Ghast activa", - "subtitles.twilightforest.entity.urghast.trapspindown": "Trampa Ghast se apaga", - "subtitles.twilightforest.entity.urghast.trapwarmup": "Trampa de Ghast se calienta", - "subtitles.twilightforest.entity.winterwolf.death": "Lobo de invierno muerto", - "subtitles.twilightforest.entity.winterwolf.hurt": "Lobo de invierno herido", - "subtitles.twilightforest.entity.winterwolf.idle": "Lobo de invierno gruñe", - "subtitles.twilightforest.entity.winterwolf.shoot": "Lobo de invierno dispara", - "subtitles.twilightforest.entity.winterwolf.target": "Lobo de invierno apunta a la víctima", - "subtitles.twilightforest.entity.wraith.ambient": "Jadeos de Espectro", - "subtitles.twilightforest.entity.wraith.death": "Espectro muerto", - "subtitles.twilightforest.entity.wraith.hurt": "Espectro herido", - "subtitles.twilightforest.entity.yeti.death": "Yeti muerto", - "subtitles.twilightforest.entity.yeti.grab": "Yeti agarra al jugador", - "subtitles.twilightforest.entity.yeti.growl": "Yeti gruñe", - "subtitles.twilightforest.entity.yeti.hurt": "Yeti herido", - "subtitles.twilightforest.entity.yeti.throw": "Yeti tira con fuerza", - - "subtitles.twilightforest.entity.alphayeti.parrot": "Loro gruñe fríamente", - "subtitles.twilightforest.entity.carminitegolem.parrot": "Loro golpea", - "subtitles.twilightforest.entity.hostilewolf.parrot": "Gruñidos de Loro", - "subtitles.twilightforest.entity.hydra.parrot": "Rugidos de Loro", - "subtitles.twilightforest.entity.icecore.parrot": "Crujidos de Loro", - "subtitles.twilightforest.entity.kobold.parrot": "Loro refunfuña", - "subtitles.twilightforest.entity.minotaur.parrot": "Loro muge furiosamente", - "subtitles.twilightforest.entity.mosquito.parrot": "Zumbidos de Loro", - "subtitles.twilightforest.entity.naga.parrot": "Sonajeros de Loro", - "subtitles.twilightforest.entity.redcap.parrot": "Loro se ríe", - "subtitles.twilightforest.entity.tome.parrot": "Loro hace ruidos de libros", - "subtitles.twilightforest.entity.wraith.parrot": "Jadeos de Loro", - - "subtitles.twilightforest.block.bug.squish": "Se aplasta un bicho :(", - "subtitles.twilightforest.block.builder.on": "El constructor se activa", - "subtitles.twilightforest.block.builder.off": "El constructor se desactiva", - "subtitles.twilightforest.block.builder.replace": "El constructor sustituye el bloque", - "subtitles.twilightforest.block.door.activate": "La puerta del castillo no se desvanece", - "subtitles.twilightforest.block.door.reappear": "La puerta del castillo reaparece", - "subtitles.twilightforest.block.door.vanish": "La puerta del castillo se desvanece", - "subtitles.twilightforest.block.vanish.locked": "La puerta de la Torre de Madera no se desvanece", - "subtitles.twilightforest.block.vanish.unlock": "La puerta de la Torre de Madera se desbloquea", - "subtitles.twilightforest.block.reappear.reappear": "Reaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.reappear.vanish": "Desaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.vanish.vanish": "Bloque de desaparición se desvanece", - "subtitles.twilightforest.block.core.time": "El Ôrbol del tiempo hace tictac", - "subtitles.twilightforest.block.core.transformation": "Árbol de la transformación emite un sonido ", - "subtitles.twilightforest.block.portal.woosh": "Portal del Bosque Twilight llama ", - "subtitles.twilightforest.block.pedestal.activate": "El pedestal de trofeos acepta el trofeo", - "subtitles.twilightforest.block.casket.open": "Se abre el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.close": "Se se cierra el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.repair": "El jugador repara el ataúd", - "subtitles.twilightforest.block.casket.locked": "Clics en el ataúd de recuerdo", - - "subtitles.twilightforest.item.blockchain.collide": "Bloque y Cadena golpea un bloque", - "subtitles.twilightforest.item.blockchain.hit": "Bloque y Cadena golpea a la entidad", - "subtitles.twilightforest.item.blockchain.fire": "Bloque y Cadena lanzado", - "subtitles.twilightforest.item.glasssword.break": "Espada de vidrio se rompe", - "subtitles.twilightforest.item.icebomb.fired": "Bomba de hielo lanzada", - "subtitles.twilightforest.item.lamp.burn": "LÔmpara de Cenizas quema la zona", - "subtitles.twilightforest.item.moonworm.squish": "Gusano lunar disparos", - "subtitles.twilightforest.item.magnet.grab": "El imÔn extrae el mineral", - "subtitles.twilightforest.item.fan.woosh": "Abanico de pavo real utilizado", - "subtitles.twilightforest.item.scepter.drain": "Cetro Robó la vida del objetivo ", - "subtitles.twilightforest.item.scepter.use": "Cetro usado", - "subtitles.twilightforest.item.scepter.pearl": "Cetro Crepuscular lanza la perla", - "subtitles.twilightforest.item.powder.use": "Polvo de transformación utilizado", - "subtitles.twilightforest.item.charm.keep": "Talisman de conservación devuelve los objetos", - "subtitles.twilightforest.item.charm.life": "Talisman de Vida regenera al jugador", - - "subtitles.twilightforest.te.jet.start": "Comienza el chorro de fuego", - "subtitles.twilightforest.te.jet.active": "Llamaradas de Chorro de fuego", - "subtitles.twilightforest.te.jet.pop": "Chorro de fuego empieza a brotar", - "subtitles.twilightforest.te.smoker.start": "El ahumador comienza", - "subtitles.twilightforest.te.reactor.idle": "Reactor de Carminita hace ruido", - - "subtitles.random.slider": "Trampa Deslizante en Movimiento", - - // Death Messages - "death.attack.twilightforest.ghastTear": "%1$s fue escaldado por lÔgrimas de fuego", - "death.attack.twilightforest.ghastTear.player": "%1$s fue escaldado por lÔgrimas de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.hydraFire": "%1$s fue asado vivo por la Hidra", - "death.attack.twilightforest.hydraFire.player": "%1$s fue asado vivo por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.hydraBite": "La piel de %1$s fue arrancada por la Hidra", - "death.attack.twilightforest.hydraBite.player": "La piel de %1$s fue arrancada por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.lichBolt": "La puntería del Lich era mejor que %1$s", - "death.attack.twilightforest.lichBolt.player": "El Lich y %2$s tenían mejor puntería que %1$s", - "death.attack.twilightforest.lichBomb": "%1$s sucumbió a la magia explosiva del Lich", - "death.attack.twilightforest.lichBomb.player": "%1$s sucumbió a la magia explosiva del Lich mientras escapaba %2$s", - "death.attack.twilightforest.chillingBreath": "%1$s fue congelado hasta la muerte por la Reina de las Nieves", - "death.attack.twilightforest.chillingBreath.player": "%1$s murió congelado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.squish": "%1$s fue aplastado por la Reina de las Nieves", - "death.attack.twilightforest.squish.player": "%1$s fue triturado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.thrownAxe": "%1$s fue decapitado por un hacha lanzada", - "death.attack.twilightforest.thrownAxe.player": "%1$s fue decapitado por un hacha lanzada mientras escapaba de %2$s", - "death.attack.twilightforest.thrownPickaxe": "%1$s fue decapitado por un pico lanzado", - "death.attack.twilightforest.thrownPickaxe.player": "%1$s fue decapitado por un pico lanzado mientras escapaba de %2$s", - "death.attack.twilightforest.fireJet": "%1$s caminó accidentalmente hacia un chorro de fuego", - "death.attack.twilightforest.fireJet.player": "%1$s entró accidentalmente en un chorro de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.reactor": "%1$s estuvo demasiado cerca de un reactor de carminita", - "death.attack.twilightforest.reactor.player": "%1$s estuvo demasiado cerca de un reactor de carminita mientras escapaba %2$s", - "death.attack.twilightforest.slider": "%1$s fue cortado por una trampa deslizante", - "death.attack.twilightforest.slider.player": "%1$s fue cortado por una trampa deslizante mientras escapaba de %2$s", - "death.attack.twilightforest.thorns": "%1$s caminó hacia unas espinas", - "death.attack.twilightforest.thorns.player": "%1$s caminó hacia unas espinas mientras escapaba de %2$s", - "death.attack.twilightforest.knightmetal": "%1$s fue pinchado por un bloque hecho del Caballero de Metal", - "death.attack.twilightforest.knightmetal.player": "%1$s fue pinchado por un bloque hecho del Caballero de Metal mientras escapaba de %2$s", - "death.attack.twilightforest.fiery": "%1$s caminó hacia un bloque ardiente", - "death.attack.twilightforest.fiery.player": "%1$s caminó sobre un bloque ardiente mientras escapaba de %2$s", - - "death.attack.twilightforest.axing": "%1$s ha sido cortado por %2$s", - "death.attack.twilightforest.axing.item": "%1$s ha sido cortado por %2$s con %3$s", - "death.attack.twilightforest.cicada": "%1$s fue disparado por la Cigarra", - "death.attack.twilightforest.moonworm": "%1$s fue disparado por el Gusano lunar", - "death.attack.twilightforest.ant": "%1$s vivió la vida de una hormiga gracias a %2$s", - "death.attack.twilightforest.ant.item": "%1$s vivió la vida de una hormiga gracias a %2$s usando %3$s", - "death.attack.twilightforest.haunt": "%1$s entro a la guarida de %2$s", - "death.attack.twilightforest.haunt.item": "%1$s entro a la guarida de %2$s después de ser asesinado con %3$s", - "death.attack.twilightforest.clamped": "%1$s fue sujetado hasta la muerte por %2$s", - "death.attack.twilightforest.clamped.item": "%1$s fue sujetado hasta la muerte por %2$s usando %3$s", - "death.attack.twilightforest.scorched": "%1$s fue quemado por %2$s", - "death.attack.twilightforest.scorched.item": "%1$s fue quemado por %2$s usando %3$s", - "death.attack.twilightforest.frozen": "%1$s fue congelado por %2$s usando una bomba de hielo", - "death.attack.twilightforest.frozen.item": "%1$s fue congelado por %2$s usando %3$s", - "death.attack.twilightforest.spiked": "%1$s ha sido pinchado por %2$s", - "death.attack.twilightforest.spiked.item": "%1$s ha sido pinchado por %2$s utilizando %3$s", - "death.attack.twilightforest.leafBrain": "El cerebro de %1$s fue convertido en hojas por %2$s", - "death.attack.twilightforest.leafBrain.item": "El cerebro de %1$s fue convertido en hojas por %2$s usando %3$s", - "death.attack.twilightforest.lostWords": "%1$s se quedó sin palabras tras ser asesinado por %2$s", - "death.attack.twilightforest.lostWords.item": "%1$s se quedó sin palabras tras ser asesinado por %2$s con %3$s", - "death.attack.twilightforest.snowballFight": "%1$s perdió una pelea de bolas de nieve contra %2$s", - "death.attack.twilightforest.snowballFight.item": "%1$s perdió una pelea de bolas de nieve contra %2$s usando %3$s", - "death.attack.twilightforest.yeeted": "%1$s fue golpeado por última vez por %2$s", - "death.attack.twilightforest.yeeted.item": "%1$s ha sido golpeado por última vez por %2$s mientras sostenía %3$s", - - // Misc - "twilightforest.misc.wip0": "Este bloque es un trabajo en proceso y puede tener errores o efectos no deseados que pueden dañar tu mundo.", - "twilightforest.misc.wip1": "Utilizar con precaución.", - "twilightforest.misc.nyi": "Este bloque tiene efectos que aún no se han implementado.", - - "twilightforest.loading.title.enter": "LlevÔndote al Twilight Forest...", - "twilightforest.loading.title.leave": "SacÔndote de Twilight Forest...", - - // Config - "twilightforest.config.dimension": "Ajustes de Dimensión", - "twilightforest.config.dimension.tooltip": "No podrÔs cambiar estas configuraciones sin que se produzca un reinicio.", - "twilightforest.config.dimension_id": "Dimension ID", - "twilightforest.config.dimension_id.tooltip": "Qué número de identificación asignar a la dimensión de Twilight Forest. Cambia si tienes conflictos con otro mod.", - "twilightforest.config.dimension_seed": "Semilla de Dimensión", - "twilightforest.config.dimension_seed.tooltip": "Si se establece, esto anularÔ la semilla normal del mundo cuando se generen partes de Twilight Forest Dimension.", - "twilightforest.config.spawn_in_tf": "Los nuevos jugadores aparecen en el Twilight Forest", - "twilightforest.config.spawn_in_tf.tooltip": "Si es cierto, los jugadores que aparezcan por primera vez lo harÔn en el Twilight Forest.", - "twilightforest.config.skylight_forest": "Bosque de Tragaluces [WIP]", - "twilightforest.config.skylight_forest.tooltip": "If true, Twilight Forest will generate as a void except for Major Structures.", - "twilightforest.config.skylight_oaks": "Tragaluz de Roble [WIP]", - "twilightforest.config.skylight_oaks.tooltip": "Si es cierto, los gigantescos Robles Crepusculares también aparecerÔn en los mundos vacíos.", - - "twilightforest.config.world_gen_weights": "Pesos de la generación mundial", - "twilightforest.config.world_gen_weights.tooltip": "Pesos para varias características pequeñas", - "twilightforest.config.stone_circle_weight": "Peso del círculo de piedra", - "twilightforest.config.well_weight": "Peso del pozo", - "twilightforest.config.stalagmite_weight": "Peso de la estalagmita", - "twilightforest.config.foundation_weight": "Peso de la base", - "twilightforest.config.monolith_weight": "Peso del monolito", - "twilightforest.config.grove_ruins_weight": "Peso de las ruinas de la arboleda", - "twilightforest.config.hollow_stump_weight": "Peso del muñón hueco", - "twilightforest.config.fallen_hollow_log_weight": "Peso del tronco hueco caido", - "twilightforest.config.fallen_small_log_weight": "Peso del tronco pequeño caído", - "twilightforest.config.druid_hut_weight": "Peso de la cabaña del druida", - - "twilightforest.config.hollow_hill_stalactites": "Estalactitas de la Colina Hueca personalizadas", - "twilightforest.config.hollow_hill_stalactites.tooltip": "Define estalactitas personalizadas generadas en colinas huecas.\n_Format is \\\"modid:block<:meta> size max_Length min_Height weight\\\", donde las propiedades son:\n_Size - la longitud mÔxima de la estalactita en relación con el espacio entre el suelo y el techo de la colina,\n_Max length - la longitud mÔxima de una estalactita en bloques,\n_Min height - el espacio mínimo entre el suelo de la colina y la estalactita para que se genere,\n_Weight - la frecuencia con la que se genera.\n\n_For example: \\\"minecraft:iron_ore 0.7 8 1 24\\\" añadiría una estalactita igual a la estalactita de mineral de hierro por defecto.", - "twilightforest.config.large_hill": "Grandes Colinas", - "twilightforest.config.large_hill.tooltip": "Bloques que se generan como estalactitas sólo en las grandes colinas.", - "twilightforest.config.medium_hill": "Colinas medianas y grandes", - "twilightforest.config.medium_hill.tooltip": "Bloques que se generan como estalactitas en colinas medianas y grandes.", - "twilightforest.config.small_hill": "Todas las colinas", - "twilightforest.config.small_hill.tooltip": "Bloques que generan como estalactitas en todas las colinas.", - "twilightforest.config.stalactite_config_only": "Utilice sólo la configuración de estalactitas", - "twilightforest.config.stalactite_config_only.tooltip": "Si es cierto, no se utilizarÔn las estalactitas por defecto ni las definidas por otros mods.", - - "twilightforest.config.compat": "Compatibilidad", - "twilightforest.config.compat.tooltip": "¿Debe cargarse la Compatibilidad de TF? Desactivar si la Compatibilidad de TF estÔ causando caídas o si no se desea.", - - "twilightforest.config.performance": "Ajustes de rendimiento", - "twilightforest.config.performance.tooltip": "Te permite sacrificar varias cosas para mejorar el rendimiento del mundo.", - "twilightforest.config.canopy_coverage": "Cobertura del Dosel", - "twilightforest.config.canopy_coverage.tooltip": "Cantidad de cobertura del dosel. Los números mÔs bajos mejoran la velocidad de generación de trozos a costa de un bosque mÔs delgado.", - "twilightforest.config.twilight_oaks": "Roble Crepuscular Probabilidad", - "twilightforest.config.twilight_oaks.tooltip": "Probabilidad de que un trozo del Twilight Forest contenga un roble crepuscular. Los números mÔs altos reducen el número de Ôrboles, aumentando el rendimiento.", - "twilightforest.config.leaves_light_opacity": "Opacidad de las hojas crepusculares", - "twilightforest.config.leaves_light_opacity.tooltip": "Esto controla la opacidad de las hojas, cambiando la cantidad de luz bloqueada. Puede utilizarse para disminuir la complejidad en algunos controles de iluminación.", - "twilightforest.config.glacier_packed_ice": "Glaciares de hielo compacto en lugar de hielo", - "twilightforest.config.glacier_packed_ice.tooltip": "Si se establece como verdadero, los glaciares crepusculares se generarÔn con hielo compactado en lugar de hielo translúcido normal, lo que reducirÔ la cantidad de cÔlculos de comprobación de la luz.", - "twilightforest.config.enable_skylight": "Activar el Tragaluz", - "twilightforest.config.enable_skylight.tooltip": "Si la dimensión tiene valores de tragaluz por bloque. Desactivar esto mejorarÔ significativamente el rendimiento de la generación de mundos, a costa de una iluminación plana en todas partes.\n_WARNING: Una vez que los trozos se cargan sin tragaluz, esos datos se pierden y no pueden ser regenerados fÔcilmente. Tenga cuidado.", - - "twilightforest.config.silent_cicadas": "Cigarras silenciosas", - "twilightforest.config.silent_cicadas.tooltip": "Haz que las cigarras sean silenciosas para aquellos que tengan problemas con la biblioteca de sonido o que las encuentren molestas.", - - "twilightforest.config.first_person_effects": "Renderización de efectos en 1ª persona", - "twilightforest.config.first_person_effects.tooltip": "Controla si varios efectos del mod se renderizan en la vista en primera persona. Desactívelo si los encuentra molestos.", - - "twilightforest.config.origin_dimension": "Dimensión de origen", - "twilightforest.config.origin_dimension.tooltip": "La dimensión desde la que siempre puedes viajar al Twilight Forest, así como la dimensión a la que regresarÔs. El valor predeterminado es el mundo exterior.", - "twilightforest.config.portals_in_other_dimensions": "Portales en otras dimensiones", - "twilightforest.config.portals_in_other_dimensions.tooltip": "Permitir que los portales al Twilight Forest se hagan fuera de la dimensión 'origen'. Puede considerarse una hazaña.", - "twilightforest.config.admin_portals": "Portales Twilight sólo para administradores", - "twilightforest.config.admin_portals.tooltip": "Permitir portales sólo para administradores (Operadores). Esto reduce severamente el rango en el que el mod suele escanear en busca de condiciones de portales vÔlidos, y escanea cerca de los ops solamente.", - "twilightforest.config.portals": "Desactivar los portales Twilight", - "twilightforest.config.portals.tooltip": "Desactivar por completo la creación de portales en Twilight Forest. Proporcionado para los operadores de servidores que buscan restringir la acción a la dimensión.", - "twilightforest.config.portal_creator": "Objeto creador del portal", - "twilightforest.config.portal_creator.tooltip": "Cadena de registro IDs de elementos utilizados para crear el Portal de Twilight Forest. (domain:regname:meta) meta es opcional.", - "twilightforest.config.portal_lighting": "Fuego relÔmpago para la creación del portal", - "twilightforest.config.portal_lighting.tooltip": "Establece esta opción como verdadera si quieres que el rayo que enciende el portal no prenda fuego a las cosas. Para los que no les gusta la diversión.", - "twilightforest.config.portal_return": "Los portales deben generar como un portal de dos vías", - "twilightforest.config.portal_return.tooltip": "Si es falso, el portal de retorno requerirÔ el elemento de activación.", - "twilightforest.config.check_portal_destination": "Destino del Portal Pre-Check", - "twilightforest.config.check_portal_destination.tooltip": "Determina si los nuevos portales deben ser precomprobados por seguridad. Si se activa, los portales no se formarÔn en lugar de redirigirse a un destino alternativo seguro.\n_Note que al activar esto también se reduce la tasa de comprobación de la formación de portales.", - - "twilightforest.config.progression_default": "Regla de Progreso por Defecto", - "twilightforest.config.progression_default.tooltip": "Establece el valor por defecto de la regla de juego que controla la progresión forzada.", - - "twilightforest.config.uncrafting": "Desactivar la desfabricación en la mesa de desfabricación", - "twilightforest.config.uncrafting.tooltip": "Desactiva la función de desfabricación de la mesa de desfabricación. Se ofrece como opción cuando la interacción con otros mods produce recetas explotables.", - - "twilightforest.config.optifine": "Desactivar la pantalla de aviso cuando se instala Optifine.", - "twilightforest.config.optifine.tooltip": "Desactiva la pantalla de aviso que se muestra al inicio cuando se instala Optifine.", - - "twilightforest.config.antibuilder_blacklist": "Lista negra anti-construcción", - "twilightforest.config.antibuilder_blacklist.tooltip": "Lista negra anti-construcción. (domain:block:meta) meta es opcional.", - - "twilightforest.config.animate_trophyitem": "Girar las cabezas de los trofeos en el modelo de artículo", - "twilightforest.config.animate_trophyitem.tooltip": "Gira las cabezas de los trofeos en el modelo de artículo. No tiene ningún impacto en el rendimiento. Para aquellos que no les gusta la diversión.", - - "twilightforest.config.shield_parry": "Parada de Escudo", - "twilightforest.config.shield_parry.tooltip": "Recomendamos descargar el mod Shield Parry para realizar paradas, pero estos controles quedan para sin.", - "twilightforest.config.parry_non_twilight": "Parada de proyectiles no Twilight", - "twilightforest.config.parry_non_twilight.tooltip": "Poner en true para parar los proyectiles que no son de Twilight. Recomendamos descargar el mod Shield Parry en su lugar.", - "twilightforest.config.parry_window_arrow": "Temporización para las flechas", - "twilightforest.config.parry_window_arrow.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una flecha. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_fireball": "Temporización para las bolas de fuego", - "twilightforest.config.parry_window_fireball.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una bola de fuego. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_throwable": "Temporización de los lanzamientos", - "twilightforest.config.parry_window_throwable.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar un objeto lanzado. Hay 20 ticks en 1 segundo.", - "twilightforest.config.shield_Parry_Ticks_Beam": "Ventana de tiempo para las vigas???", - "twilightforest.config.shield_Parry_Ticks_Beam.tooltip": "???", - - "twilightforest.config.loading_screen": "Pantalla de Carga", - "twilightforest.config.loading_screen.tooltip": "Sólo para clientes: Controles de la pantalla de carga", - "twilightforest.config.loading_icon_enable": "Activar la animación del icono de carga", - "twilightforest.config.loading_icon_enable.tooltip": "Tambalea el icono de carga. No tiene ningún impacto en el rendimiento. Para los que no les gusta la diversión.", - "twilightforest.config.loading_screen_swap_frequency": "Cambio de pantalla de carga", - "twilightforest.config.loading_screen_swap_frequency.tooltip": "CuÔntos ticks entre cada cambio de pantalla de carga. Poner a 0 para que no haya ningún ciclo.", - "twilightforest.config.loading_icon_wobble_bounce_frequency": "Velocidad de Animación de los Iconos", - "twilightforest.config.loading_icon_wobble_bounce_frequency.tooltip": "Frecuencia de tambaleo y rebote.", - "twilightforest.config.loading_icon_scale": "Escala del Icono", - "twilightforest.config.loading_icon_scale.tooltip": "Escala de todo el icono de carga de rebote.", - "twilightforest.config.loading_icon_bounciness": "Icono Rebotante", - "twilightforest.config.loading_icon_bounciness.tooltip": "CuÔnto rebota el icono de carga.", - "twilightforest.config.loading_icon_tilting": "Icon Wobbliness", - "twilightforest.config.loading_icon_tilting.tooltip": "Hasta dónde se tambalea el icono de carga.", - "twilightforest.config.loading_icon_tilt_pushback": "Icono Desplazamiento de la inclinación", - "twilightforest.config.loading_icon_tilt_pushback.tooltip": "Valor de empuje para volver a centrar el bamboleo del icono de carga.", - "twilightforest.config.casket_uuid_locking": "Cierre del ataúd UUID", - "twilightforest.config.casket_uuid_locking.tooltip": "Si es cierto, los ataúdes de recuerdo que se generan cuando un jugador muere no serÔn accesibles para otros jugadores. Utiliza esta opción si no quieres que la gente coja de los ataúdes de muerte de otras personas. NOTA: los operadores del servidor seguirÔn pudiendo abrir los ataúdes cerrados.", - - // Books - "twilightforest.book.lichtower.1": "\u00A78[[Un cuaderno de explorador, roído por los monstruos]]\u00A70\n\n_He comenzado a examinar la extraña aura que rodea a esta torre. Los ladrillos de la torre estÔn protegidos por una maldición, mÔs fuerte que cualquiera que haya visto antes. La magia de la maldición", - "twilightforest.book.lichtower.2": "estÔ hirviendo en los alrededores.\n\n_En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. Tendré que investigar...", - "twilightforest.book.lichtower.3": "\u00A78[[Muchas entradas después]]\u00A70\n\n_Un avance! En mis viajes avisté un enorme monstruo con forma de serpiente en un patio decorado. Cerca, recogí una escama verde desgastada y desechada.\n\n_La magia de la escama parece tener las", - "twilightforest.book.lichtower.4": "propiedades para romper maldiciones que necesito, pero la magia es demasiado débil. Puede que necesite adquirir un espécimen mÔs fresco, directamente de la criatura.", - - "twilightforest.book.labyrinth.1": "\u00A78[[Cuaderno de un explorador, escrito en papel impermeable]]\u00A70\n\n_Los mosquitos de este pantano son molestos, pero extraños. La gran mayoría de ellos parece no tener una fuente natural, ni parece tener un papel en la ecología local. He comenzado a", - "twilightforest.book.labyrinth.2": "sospechar que son una especie de maldición mÔgica.\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_Ahora que he encontrado un hechizo de protección en el laberinto en ruinas aquí, considero que mis sospechas se confirman.Tanto el hechizo de protección", - "twilightforest.book.labyrinth.3": "como los mosquitos son una maldición. Esta maldición parece tener un origen diferente a las otras que he encontrado. Tendré que investigar mÔs...\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_La maldición parece", - "twilightforest.book.labyrinth.4": "ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.\n\n_Si uno de los magos dejara de contribuir, la maldición caería sobre todo el pantano. Extrañamente,", - "twilightforest.book.labyrinth.5": "mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.hydralair.1": "\u00A78[[Un cuaderno de explorador, escrito en papel ignífugo]]\u00A70\n\n_El fuego es un obstÔculo trivial para un maestro explorador como yo. He atravesado mares de fuego y nadado por océanos de lava. El aire ardiente aquí es una variación interesante,", - "twilightforest.book.hydralair.2": "pero, en definitiva, no es un obstÔculo.\n\n_Sin embargo, lo que me detiene es que me he encontrado con otro hechizo de protección, esta vez rodeando a una poderosa criatura que debe ser el rey de este pantano de fuego. Este no es el primer hechizo de protección que", - "twilightforest.book.hydralair.3": "encuentro, y estoy comenzando a desentrañar los misterios de cómo funcionan.\n\n_Si este hechizo es como los otros, serÔ sostenido por una poderosa criatura cercana. Alrededor del pantano de fuego hay varios pantanos húmedos, y bajo esos", - "twilightforest.book.hydralair.4": "pantanos hay laberintos llenos de minotauros. La elección lógica para atar tal hechizo sería algún tipo de minotauro poderoso, diferente de alguna manera de los otros que lo rodean...", - - "twilightforest.book.tfstronghold.1": "\u00A78[[Un cuaderno de explorador, escrito en un papel débilmente brillante]\u00A70\n\n_Los tallos de oscuridad que rodean esta zona no son mÔs que la manifestación de un hechizo protector sobre todo el bosque oscuro. El hechizo causa ceguera, lo cual es bastante molesto. He visto", - "twilightforest.book.tfstronghold.2": "varias cosas interesantes en la zona y me gustaría seguir explorando.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_He encontrado unas ruinas en el bosque oscuro. Pertenecen a una fortaleza, del tipo que suelen habitar los caballeros. Sin embargo", - "twilightforest.book.tfstronghold.3": "mÔs que de caballeros, esta fortaleza estÔ llena de goblins. Llevan armadura de caballero, pero su comportamiento es muy poco caballeroso.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_En lo profundo de las ruinas, he encontrado un pedestal. El pedestal parece ser del tipo en el que", - "twilightforest.book.tfstronghold.4": "los caballeros colocarían los trofeos para demostrar su fuerza.\n\\La obtención de un cetro poderoso parece debilitar la maldición del bosque oscuro, y la colocación de un trofeo asociado a una criatura poderosa en el pedestal probablemente concedería el acceso a la", - "twilightforest.book.tfstronghold.5": "parte principal de la fortaleza.", - - "twilightforest.book.darktower.1": "\u00A78[[Un cuaderno de explorador que parece haber sobrevivido a una explosión]]\u00A70\n\n_Esta torre tiene claramente mecanismos que no me responden. Su magia casi anhela reconocer mi toque, pero no puede. Es como si los dispositivos de la torre estuvieran siendo", - "twilightforest.book.darktower.2": "suprimida por un poderoso grupo de seres cercanos.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La magia parece emanar de lo mÔs profundo de las fortalezas cercanas. No puede venir de los goblins, ya que su magia es encantadora, pero desenfocada. Allí", - "twilightforest.book.darktower.3": "debe haber alguna fuerza aún activa en los bastiones.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Mi anÔlisis indica que proviene de varias fuentes, operando como un grupo. Volveré a la fortaleza después de reabastecerme...", - - "twilightforest.book.yeticave.1": "\u00A78[[Un cuaderno de explorador, cubierto de escarcha]]\u00A70\n\n_La ventisca que rodea estas tierras nevadas es incesante. No se trata de una nevada ordinaria: es un fenómeno mÔgico. Tendré que realizar experimentos para encontrar", - "twilightforest.book.yeticave.2": "lo que es capaz de causar tal efecto.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La maldición parece ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.", - "twilightforest.book.yeticave.3": "Si uno de los magos dejara de contribuir, la ventisca se calmaría. Extrañamente, mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.icetower.1": "\u00A78[[El cuaderno de un explorador, cubierto de hielo]]\u00A70\n\n_He superado una ventisca, sólo para encontrarme con esta terrible tormenta de hielo en la cima del glaciar. Mis exploraciones me han mostrado el esplendor de un palacio de hielo, que brilla con los colores de la aurora polar. Todo", - "twilightforest.book.icetower.2": "parece protegido por una especie de maldición.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_No soy un novato. Esta maldición es alimentada por el poder de una criatura cercana. La causa de la maldición que rodea el pantano de fuego se construyó a partir del poder del líder de los", - "twilightforest.book.icetower.3": "minotauros de las cercanías.\n\n_Alrededor de este glaciar, hay masas de yetis. QuizÔs los yetis tengan algún tipo de líder...", - - "twilightforest.book.trollcave.1": "\u00A78[[Un cuaderno de explorador, dañado por el Ôcido]]\u00A70\n\n_Parece que no hay forma de protegerme de la tormenta tóxica que rodea esta zona. En mis breves excursiones, también he encontrado otro hechizo de protección, similar a los", - "twilightforest.book.trollcave.2": "otros que he presenciado. El hechizo debe estar conectado a la tormenta tóxica de alguna manera. MÔs investigación para seguir...\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Tal magia climÔtica suprema debe ser el resultado de", - "twilightforest.book.trollcave.3": "múltiples e invictos grandes males en este mundo. Mis estudios contienen varias pistas que apuntan a un pantano abrasador, un bosque cubierto de profunda oscuridad y un reino cubierto de nieve.", - - "twilightforest.book.unknown.1": "\u00A78[[Este libro muestra signos de haber sido copiado muchas veces]]\u00A70\n\n_No puedo explicar el campo que rodea esta estructura, pero la magia es poderosa. Si esta maldición es como las otras, entonces la respuesta para desbloquearla estÔ en otra parte. Tal vez hay", - "twilightforest.book.unknown.2": "algo que he dejado sin hacer, o algún monstruo que aún no he vencido. Tendré que regresar. Volveré a este lugar mÔs tarde, para ver si algo ha cambiado.", - - // Fluid - - "fluid.fierymetal": "Fierro fundido", - "fluid.knightmetal": "Caballero de Metal Fundido", - "fluid.fiery_essence": "Esencia ardiente", - - // TCon - - "material.nagascale": "Escama Naga", - "material.steeleaf": "Hoja de Acero", - "material.fierymetal": "Ardiente", - "material.knightmetal": "Caballero", - "material.raven_feather": "Pluma de Cuervo", - - "modifier.twilit": "Twilit", - "modifier.twilit.desc": "§oLa bendición iluminadora del Twilight Forest§r.\nMÔs rÔpido en el Twilight Forest.\nMÔs daños fuera del Twilight Forest.", - "modifier.twilit.extra.speed": "Velocidad de extracción en Twilight Forest: +%s", - "modifier.twilit.extra.damage": "Daños fuera del Twilight Forest: +%s", - "modifier.precipitate": "Precipitate", - "modifier.precipitate.desc": "§oEl último plan de escape en pie.§r\nCuanto menos salud tenga, mÔs rÔpido serÔ.", - "modifier.synergy": "Sinergia", - "modifier.synergy.desc": "§oMira mamÔ, no hay musgo!§r\nSe repararÔ por sí mismo si tienes Hoja de Acero en tu barra de acceso.", - "modifier.stalwart": "Incondicional", - "modifier.stalwart.desc": "§o_Los valientes y audaces.§r\nGolpear a una entidad puede hacer que te sientas envalentonado.", - "modifier.veiled": "Velada", - "modifier.veiled.desc": "§oComo un espectro!§r\nEl proyectil serÔ invisible.", - - // Immersive Engineering - "desc.immersiveengineering.info.shader.rarity.twilight": "Twilight", - - "item.twilightforest.shader": "Twilit Shader: %s", - "item.twilightforest.shader_bag": "Twilit %s Shader Bag", - - "item.twilightforest.shader.name.twilight": "Twilight", - "item.twilightforest.shader.name.firefly": "Luciérnaga", - "item.twilightforest.shader.name.questing_ram": "Carnero de la Búsqueda", - "item.twilightforest.shader.name.ironwood": "Madera de Hierro", - "item.twilightforest.shader.name.steeleaf": "Hoja de Acero", - "item.twilightforest.shader.name.knightly": "Caballero de Metal", - "item.twilightforest.shader.name.fiery": "Ardiente", - "item.twilightforest.shader.name.snakestone": "Piedra de la Serpiente", - "item.twilightforest.shader.name.naga": "Naga", - "item.twilightforest.shader.name.lich": "Lich", - "item.twilightforest.shader.name.mazestone": "Piedra de Laberinto", - "item.twilightforest.shader.name.pinch_beetle": "Escarabajo de Pinzas", - "item.twilightforest.shader.name.minoshroom": "Minosetauro", - "item.twilightforest.shader.name.hydra": "Hidra", - "item.twilightforest.shader.name.underbrick": "Subsuelo de Ladrillos", - "item.twilightforest.shader.name.knight_phantom": "Caballero Fantasma", - "item.twilightforest.shader.name.towerwood": "Torre de Madera", - "item.twilightforest.shader.name.carminite": "Carminita", - "item.twilightforest.shader.name.ur-ghast": "Ur-Ghast", - "item.twilightforest.shader.name.alpha_yeti": "Yeti Alfa", - "item.twilightforest.shader.name.auroralized": "Auroralizado", - "item.twilightforest.shader.name.snow_queen": "Reina de las Nieves", - "item.twilightforest.shader.name.cube_of_annihilation": "Cubo de la Aniquilación", - "item.twilightforest.shader.name.final_castle": "Castillo Final", - - // Optifine - "twilightforest.gui.optifine.title": "AVISO: OPTIFINE DETECTADO", - "twilightforest.gui.optifine.message": "Antes de continuar, por favor, tenga en cuenta que Optifine es conocido por causar fallos, errores visuales de entidades multiparte y muchos otros problemas.\n\nAntes de informar de un error, por favor, elimine Optifine primero y compruebe de nuevo si el error sigue presente.\n\nLos problemas relacionados con Optifine no pueden ser resueltos por Twilight Forest!\n\nEsta pantalla puede ser desactivada en la configuración del cliente." -} diff --git a/src/main/resources/assets/twilightforest/lang/es_ec.json b/src/main/resources/assets/twilightforest/lang/es_ec.json deleted file mode 100644 index 66da7d7cb1..0000000000 --- a/src/main/resources/assets/twilightforest/lang/es_ec.json +++ /dev/null @@ -1,1315 +0,0 @@ -{ - "itemGroup.twilightforest": "Twilight Forest", - - // ADVANCEMENTS - "advancement.twilightforest.root.desc": "Entra en el misterioso bosque mÔgico: the Twilight Forest.", - - // General progression - "advancement.twilightforest.hedge": "Golpeador de Bichos", - "advancement.twilightforest.hedge.desc": "Derrota a una araña en un %s.", - - "advancement.twilightforest.hill1": "Las botas son mías!", - "advancement.twilightforest.hill1.desc": "Derrota a un %s en un pequeño %s.", - "advancement.twilightforest.hill2": "Qué fue ese ruido?", - "advancement.twilightforest.hill2.desc": "Derrota a un %s en un medio %s.", - "advancement.twilightforest.hill3": "Veo a través de ti", - "advancement.twilightforest.hill3.desc": "Derrota a un %s en un gran %s.", - - "advancement.twilightforest.quest_ram": "Consumación de Baaahs", - "advancement.twilightforest.quest_ram.desc": "Dale al %s lo que le falta.", - - // Map - "advancement.twilightforest.magic_map_focus": "Con El Fuego Se Escribe", - "advancement.twilightforest.magic_map_focus.desc": "Elabora el %s con un %s, %s, y %s.", - "advancement.twilightforest.magic_map": "Puedo Ver Para Siempre", - "advancement.twilightforest.magic_map.desc": "Haz los %s.", - "advancement.twilightforest.maze_map": "Y Ahora, a Encontrar la Salida", - "advancement.twilightforest.maze_map.desc": "Elabora los %s después de obtener el foco del laberinto.", - "advancement.twilightforest.ore_map": "Cómo puede merecer la pena?", - "advancement.twilightforest.ore_map.desc": "Haz los %s.", - - // Mainline beginning progression - "advancement.twilightforest.twilight_hunter": "El Silencio del Bosque", - "advancement.twilightforest.twilight_hunter.desc": "Cazar algo de la fauna local.", - - "advancement.twilightforest.kill_naga": "Es Hora de Igualar la Balanza", - "advancement.twilightforest.kill_naga.desc": "Mata al %s en su patio del bosque y obtén un %s para superar la barrera mÔgica que rodea la torre del Lich.", - "advancement.twilightforest.naga_armors": "Armero Naga", - "advancement.twilightforest.naga_armors.desc": "Crea la armadura de pecho y de piernas de %s.", - - "advancement.twilightforest.kill_lich": "Trae a tus muertos", - "advancement.twilightforest.kill_lich.desc": "Mata a los % en lo alto de su torre y recupera un cetro para eliminar los mosquitos venenosos del Pantano, ver a través de la oscuridad cegadora de la maldición del Bosque Oscuro y resistir el frío del Bosque Nevado.", - "advancement.twilightforest.lich_scepters": "Por Nuestros Poderes Combinados!", - "advancement.twilightforest.lich_scepters.desc": "Consigue los cuatro cetros de poder.", - - // Swamp Progression - "advancement.twilightforest.progress_labyrinth": "El Poderoso Stroganoff", - "advancement.twilightforest.progress_labyrinth.desc": "El guiso de carne y hongos te calienta agradablemente, lo suficiente como para que sientas que estÔs lo suficientemente aclimatado como para aventurarte en el Pantano del Fuego.", - "advancement.twilightforest.kill_hydra": "Cazador de Hidras", - "advancement.twilightforest.kill_hydra.desc": "Derrota a los poderosos %s y empodérate.", - "advancement.twilightforest.mazebreaker": "Rompiendo el Laberinto", - "advancement.twilightforest.mazebreaker.desc": "Encuentra el pico %s en la bóveda secreta del laberinto.", - "advancement.twilightforest.hydra_chop": "Chuleta de Hidra, Baby!", - "advancement.twilightforest.hydra_chop.desc": "Disminuye el consumo de carne de %s hydra cuando la barra de comida esté vacía.", - - // Dark Forest Progression - "advancement.twilightforest.progress_trophy_pedestal": "Trofeo de Campeón", - "advancement.twilightforest.progress_trophy_pedestal.desc": "Reclama tu título colocando un trofeo en el pedestal de las ruinas del bosque oscuro.", - "advancement.twilightforest.progress_knights": "Aclimatación de Carminita", - "advancement.twilightforest.progress_knights.desc": "Acomoda a los inquietos fantasmas en la Tumba del Caballero y los dispositivos de la torre de carminita te obedecerÔn.", - "advancement.twilightforest.ghast_trap": "Algo extraño en la Torre de Madera", - "advancement.twilightforest.ghast_trap.desc": "Mata a los %s alrededor de un %s y actívalo para arrancar el %s del cielo!", - "advancement.twilightforest.progress_ur_ghast": "LÔgrimas de Fuego", - "advancement.twilightforest.progress_ur_ghast.desc": "Toca las lÔgrimas rojas y ardientes de los %s.", - - "advancement.twilightforest.experiment_115": "Carne misteriosa?", - "advancement.twilightforest.experiment_115.desc": "Parece un pastel, aunque...", - "advancement.twilightforest.experiment_115_2": "Tomar nota: ”Un gran éxito!", - "advancement.twilightforest.experiment_115_2.desc": "Es tan delicioso y húmedo!", - - // Snow Forest Progression - "advancement.twilightforest.progress_yeti": "Pelaje Alfa", - "advancement.twilightforest.progress_yeti.desc": "Cubre tus prendas con el suave pelaje de los %s, manteniéndote a salvo del frío del Glaciar.", - "advancement.twilightforest.progress_glacier": "Cielos Despejados", - "advancement.twilightforest.progress_glacier.desc": "Derrota a los %s encima de los %s.", - "advancement.twilightforest.arctic_dyed": "Ponerse a la Moda", - "advancement.twilightforest.arctic_dyed.desc": "Tiñe las cuatro piezas de la Armadura Ártica.", - - // Mid-way Misc. Stuff - "advancement.twilightforest.glass_sword": "Una Maravilla De Un Solo Golpe", - "advancement.twilightforest.glass_sword.desc": "Espero que lo hayas aprovechado.", - - "advancement.twilightforest.fiery_set": "Galones de Sangre y LÔgrimas", - "advancement.twilightforest.fiery_set.desc": "Empuña una herramienta o arma mientras tienes al menos una pieza de armadura de ardiente en tu inventario.", - - // Highlands - "advancement.twilightforest.progress_merge": "Enfrentamiento Final", - "advancement.twilightforest.progress_merge.desc": "Mata a los %s, %s y %s para eliminar la lluvia Ôcida y envalentonarte para las Tierras Altas.", - "advancement.twilightforest.troll": "Trolleamos un Poco", - "advancement.twilightforest.troll.desc": "Encuentra y mata a un %s.", - "advancement.twilightforest.beanstalk": "Jack y las Habichuelas", - "advancement.twilightforest.beanstalk.desc": "Consigue algunos %s en las cuevas de los trolls y úsalos en el suelo brillante bajo las nubes.", - "advancement.twilightforest.giants": "Estoy en las Nubes", - "advancement.twilightforest.giants.desc": "Mata a un %s en las nubes, recupera un %s, y vuelve a las cuevas de los trolls.", - "advancement.twilightforest.progress_troll": "Deseo MÔs Quemaduras", - "advancement.twilightforest.progress_troll.desc": "Encuentra los %s en las cuevas de los trolls, y podrÔs quemar las barreras de espinas.", - "advancement.twilightforest.progress_thorns": "MÔs AllÔ De Las Espinas [NYI]", - "advancement.twilightforest.progress_thorns.desc": "Pasa por las Tierras Espinosas y desbloquea la puerta del castillo.", - "advancement.twilightforest.progress_castle": "Wow Que Super Castillo!!! [NYI]", - "advancement.twilightforest.progress_castle.desc": "Qué podría haber en ese castillo?!?", - - // Collections - "advancement.twilightforest.twilight_dining": "Cenamos en el Eterno Atardecer", - "advancement.twilightforest.twilight_dining.desc": "Come toda la comida exclusiva de Twilight Forest.", - "advancement.twilightforest.experiment_115_3": "Comer 115 cada día, 115 años, para siempre", - "advancement.twilightforest.experiment_115_3.desc": "comer experimento ciento quince durante todo el día, para siempre, ciento quince veces experimento ciento quince, experimento ciento quince punto com, doble-u doble-u punto experimento ciento quince punto com, ciento quince años, cada minuto experimento ciento quince punto com, doble-u doble-u punto ciento quince punto com", - "advancement.twilightforest.arborist": "Dendrologista Maníaco", - "advancement.twilightforest.arborist.desc": "Prepara tus hachas y tijeras. Busca en todos los rincones y consigue todo lo que provenga de los Ôrboles. Construye, saquea y obtén cada tabla... Ôrbol joven... hojas... mÔs... todo. ”TODO!", - - "twilightforest.twilight_portal.unsafe": "No parece seguro aquí...", - "twilightforest.trophy_pedestal.ineligible": "No eres digno.", - "twilightforest.ore_meter.range": "Radio: %s, Origen: [%s, %s]", - "twilightforest.ore_meter.exposed": "Expuesto: %s", - "twilightforest.scepter_charges": "Quedan %d cargas", - - // Commands - "commands.tffeature.usage": "/tffeature ", - "commands.tffeature.nearest": "The nearest feature is %s", - "commands.tffeature.center": "Center of feature: %s", - "commands.tffeature.chunk": "Are in feature chunk: %s", - "commands.tffeature.structure.inside": "You are in the structure for that feature", - "commands.tffeature.structure.outside": "You are not in the structure for that feature", - "commands.tffeature.structure.required": "You are not in a structure", - "commands.tffeature.structure.conquer.status": "Structure conquer flag: %s", - "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, changing to %s", - "commands.tffeature.locate.usage": "/tffeature locate ", - "commands.tfreload.reload": "Reloading Twilight Forest Shaders!", - - // Biomes - "biome.twilightforest.forest": "Bosque Crepuscular", - "biome.twilightforest.dense_forest": "Bosque Denso", - "biome.twilightforest.firefly_forest": "Bosque de las Luciérnagas", - "biome.twilightforest.clearing": "Despeje Crepuscular", - "biome.twilightforest.oak_savannah": "Sabana de Roble", - "biome.twilightforest.stream": "Corriente Crepuscular", - "biome.twilightforest.lake": "Lago Crepuscular", - "biome.twilightforest.mushroom_forest": "Bosque de Hongos", - "biome.twilightforest.dense_mushroom_forest": "Bosque Denso de Hongos", - "biome.twilightforest.enchanted_forest": "Bosque Encantado", - "biome.twilightforest.spooky_forest": "Bosque Espeluznante", - "biome.twilightforest.swamp": "TPantano Crepuscular", - "biome.twilightforest.fire_swamp": "Pantano de Fuego", - "biome.twilightforest.dark_forest": "Bosque Oscuro", - "biome.twilightforest.dark_forest_center": "Centro del Bosque Oscuro", - "biome.twilightforest.snowy_forest": "Bosque Nevado", - "biome.twilightforest.glacier": "Glaciar Crepuscular", - "biome.twilightforest.highlands": "Tierras Altas Crepusculares", - "biome.twilightforest.thornlands": "Tierras Espinosas", - "biome.twilightforest.final_plateau": "Meseta Final", - - // Gamerules - "gamerule.tfEnforcedProgression": "Progresión de Twilight Forest", - - // Enchantments - "enchantment.twilightforest.fire_react": "Reacción al Fuego", - "enchantment.twilightforest.chill_aura": "Aura fría", - - // Effects - "effect.twilightforest.frosted": "Escarchado", - - // Blocks - "block.twilightforest.twilight_oak_log": "Tronco de Roble Crepuscular", - "block.twilightforest.canopy_log": "Tronco de Dosel Arbóreo", - "block.twilightforest.mangrove_log": "Tronco de Manglar", - "block.twilightforest.dark_log": "Tronco de Madera Oscura", - "block.twilightforest.stripped_twilight_oak_log": "Tronco de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_log": "Tronco de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_log": "Tronco de Manglar Sin Corteza", - "block.twilightforest.stripped_dark_log": "Tronco de Madera Oscura Sin Corteza", - "block.twilightforest.twilight_oak_wood": "Madera de Roble Crepuscular", - "block.twilightforest.canopy_wood": "Madera de Dosel Arbóreo", - "block.twilightforest.mangrove_wood": "Madera de Manglar", - "block.twilightforest.dark_wood": "Madera Oscura", - "block.twilightforest.stripped_twilight_oak_wood": "Madera de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_wood": "Madera de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_wood": " Madera de Manglar Despojada", - "block.twilightforest.stripped_dark_wood": " Madera oscura despojada", - "block.twilightforest.twilight_oak_leaves": "Hojas de Roble Crepuscular", - "block.twilightforest.canopy_leaves": "Hojas de Dosel Arbóreo", - "block.twilightforest.mangrove_leaves": "Hojas de Manglar", - "block.twilightforest.rainboak_leaves": "Hojas de Roble Arco Iris", - "block.twilightforest.firefly": "Luciérnaga", - "block.twilightforest.cicada": "Cigarra", - "block.twilightforest.cicada.desc": "Y si esto se pudiera lanzar contra alguien con un cañón de riel...?", - "block.twilightforest.twilight_portal": "Portal de Twilight Forest", - "block.twilightforest.maze_stone": "Piedra de Laberinto", - "block.twilightforest.maze_stone_brick": "Ladrillos de Piedra de Laberinto", - "block.twilightforest.maze_stone_chiseled": "Piedra de Laberinto Grabados", - "block.twilightforest.maze_stone_decorative": "Ladrillos de Piedra de Laberinto Decorativo", - "block.twilightforest.maze_stone_cracked": "Piedra de Laberinto Agrietada", - "block.twilightforest.maze_stone_mossy": "Piedra de Laberinto Musgosa", - "block.twilightforest.maze_stone_mosaic": "Mosaicos de Piedra del Laberinto", - "block.twilightforest.maze_stone_border": "Borde de Piedra de Laberinto", - "block.twilightforest.maze_stone_ceiling": "Techo de Piedra de Laberinto", - "block.twilightforest.spiral_bricks": "Ladrillos en Espiral", - "block.twilightforest.hedge": "Cobertura", - "block.twilightforest.boss_spawner_naga": "Generador de Jefe Naga", - "block.twilightforest.boss_spawner_lich": "Generador de Jefe Lich", - "block.twilightforest.boss_spawner_minoshroom": "Generador de Jefe Minosetauro", - "block.twilightforest.boss_spawner_hydra": "Generador de Jefe Hidra", - "block.twilightforest.boss_spawner_knight_phantom": "Generador de Jefe Caballero Fantasma", - "block.twilightforest.boss_spawner_ur_ghast": "Genrador de Jefe Ur-Ghast", - "block.twilightforest.boss_spawner_alpha_yeti": "Generador de Jefe Yeti", - "block.twilightforest.boss_spawner_snow_queen": "Generador de Jefe Reina de las Nieves", - "block.twilightforest.boss_spawner_final_boss": "Generador de Jefe Final", - "block.twilightforest.firefly_jar": "Jarra con Luciérnaga", - "block.twilightforest.cicada_jar": "Jarra con Cigarra", - "block.twilightforest.moss_patch": "Parche de Musgo [WIP]", - "block.twilightforest.mayapple": "Mayapple", - "block.twilightforest.clover_patch": "Hoja de Trébol [NYI]", - "block.twilightforest.fiddlehead": "Brotes de Helecho", - "block.twilightforest.mushgloom": "Hongo Brillante", - "block.twilightforest.torchberry_plant": "Planta de Antorcha", - "block.twilightforest.root_strand": "Hilos de raíz", - "block.twilightforest.fallen_leaves": "Montón de hojas", - "block.twilightforest.root": "Raíces", - "block.twilightforest.liveroot_block": "Raíces vivas", - "block.twilightforest.uncrafting_table": "Mesa de Desfabricación", - "block.twilightforest.smoker": "Ahumador", - "block.twilightforest.encased_smoker": "Ahumador Encapsulado", - "block.twilightforest.fire_jet": "Chorro de Fuego", - "block.twilightforest.encased_fire_jet": "Chorro de Fuego Encapsulado", - "block.twilightforest.naga_stone_head": "Cabeza de Piedra de Naga", - "block.twilightforest.naga_stone": "Piedra de Naga", - "block.twilightforest.twilight_oak_sapling": "Retoño de Roble Crepuscular Enfermizo", - "block.twilightforest.canopy_sapling": "Retoño de Dosel Arbóreo", - "block.twilightforest.mangrove_sapling": "Retoño de Manglar Crepuscular", - "block.twilightforest.darkwood_sapling": "Retoño del Árbol de Madera Oscura", - "block.twilightforest.hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular", - "block.twilightforest.time_sapling": "Retoño del Árbol del Tiempo", - "block.twilightforest.transformation_sapling": "Retoño del Árbol de Transformación", - "block.twilightforest.mining_sapling": "Retoño del Árbol Minero", - "block.twilightforest.sorting_sapling": "Retoño del Árbol de Clasificación", - "block.twilightforest.rainboak_sapling": "Retoño de Roble Arcoíris", - "block.twilightforest.moonworm": "Gusano Lunar", - "block.twilightforest.time_log": "Tronco del Árbol del Tiempo", - "block.twilightforest.transformation_log": "Tronco del Árbol de Transformación", - "block.twilightforest.mining_log": "Tronco del Árbol Minero", - "block.twilightforest.sorting_log": "Tronco del Árbol de Clasificación", - "block.twilightforest.stripped_time_log": "Tronco Sin Corteza del Árbol del Tiempo", - "block.twilightforest.stripped_transformation_log": "Tronco Sin Corteza del Árbol de Transformación", - "block.twilightforest.stripped_mining_log": "Tronco Sin Corteza del Árbol Minero", - "block.twilightforest.stripped_sorting_log": "Tronco Sin Corteza del Árbol de Clasificación", - "block.twilightforest.sorting_wood": "Madera del Árbol de Clasificación", - "block.twilightforest.mining_wood": "Madera del Árbol Minero", - "block.twilightforest.transformation_wood": "Madera del Árbol de Transformación", - "block.twilightforest.time_wood": "Madera del Árbol del Tiempo", - "block.twilightforest.stripped_sorting_wood": "Madera Pelada del Árbol de Clasificación", - "block.twilightforest.stripped_mining_wood": "Madera Pelada del Árbol Minero", - "block.twilightforest.stripped_transformation_wood": "Madera Pelada del Árbol de Transformación", - "block.twilightforest.stripped_time_wood": "Madera Pelada del Árbol del Tiempo", - "block.twilightforest.time_log_core": "Reloj del Árbol del Tiempo", - "block.twilightforest.transformation_log_core": "Corazón del Árbol de Transformación", - "block.twilightforest.mining_log_core": "Núcleo del Árbol Minero", - "block.twilightforest.sorting_log_core": "Motor del Árbol de Clasificación", - "block.twilightforest.time_leaves": "Hojas del Árbol del Tiempo", - "block.twilightforest.transformation_leaves": "Hojas del Árbol de Transformación", - "block.twilightforest.mining_leaves": "Hojas del Árbol Minero", - "block.twilightforest.sorting_leaves": "Hojas del Árbol de Clasificación", - "block.twilightforest.tower_wood": "Tablones de la Torre de Madera", - "block.twilightforest.tower_wood_encased": "Madera Encapsulada de la Torre de Madera", - "block.twilightforest.tower_wood_cracked": "Madera Agrietada de la Torre de Madera", - "block.twilightforest.tower_wood_mossy": "Madera Musgosa de la Torre de Madera", - "block.twilightforest.tower_wood_infested": "Madera Infestada de la Torre de Madera", - "block.twilightforest.reappearing_block": "Bloque Reaparecedor", - "block.twilightforest.vanishing_block": "Bloque de Desaparición", - "block.twilightforest.locked_vanishing_block": "Bloque de Desaparición Bloqueado", - "block.twilightforest.carminite_builder": "Constructor de Carminita", - "block.twilightforest.antibuilder": "Anti-Construcción", - "block.twilightforest.ghast_trap": "Trampa de Ghast", - "block.twilightforest.carminite_reactor": "Reactor de Carminita", - "block.twilightforest.fake_gold": "Oro Falso", - "block.twilightforest.fake_diamond": "Diamante Falso", - "block.twilightforest.trophy": "Trofeo de Twilight Forest", - "block.twilightforest.stronghold_shield": "Escudo de la Fortaleza", - "block.twilightforest.trophy_pedestal": "Pedestal para Trofeos", - "block.twilightforest.aurora_block": "Bloque de Aurora", - "block.twilightforest.underbrick": "Subsuelo de Ladrillos", - "block.twilightforest.underbrick_mossy": "Subsuelo de Ladrillos Musgoso", - "block.twilightforest.underbrick_cracked": "Subsuelo de Ladrillos Agrietado", - "block.twilightforest.underbrick_floor": "Piso de Subsuelo de Ladrillos [NYI]", - "block.twilightforest.brown_thorns": "Espinas", - "block.twilightforest.green_thorns": "Espinas Verdes", - "block.twilightforest.burnt_thorns": "Espinas Quemadas", - "block.twilightforest.thorn_rose": "Rosa Espinosa", - "block.twilightforest.thorn_leaves": "Hojas de Espinas", - "block.twilightforest.beanstalk_leaves": "Hojas de Frijol", - "block.twilightforest.deadrock_weathered": "Roca Muerta Desgastada", - "block.twilightforest.deadrock_cracked": "Roca Muerta Agrietada", - "block.twilightforest.deadrock": "Roca Muerta", - "block.twilightforest.dark_leaves": "Hojas de Madera Oscura", - "block.twilightforest.auroralized_glass": "Vidrio Auroralizado [NYI]", - "block.twilightforest.aurora_pillar": "Pilar de Aurora", - "block.twilightforest.aurora_slab": "Losa de Aurora", - "block.twilightforest.trollsteinn": "Trollsteinn", - "block.twilightforest.wispy_cloud": "Nube de Agua", - "block.twilightforest.fluffy_cloud": "Nube Esponjosa", - "block.twilightforest.giant_cobblestone": "Piedra Labrada Gigante", - "block.twilightforest.giant_log": "Tronco Gigante", - "block.twilightforest.giant_leaves": "Hojas Gigantes", - "block.twilightforest.giant_obsidian": "Obsidiana Gigante", - "block.twilightforest.uberous_soil": "Tierra Uberous", - "block.twilightforest.huge_stalk": "Tallos Enormes", - "block.twilightforest.huge_mushgloom": "Enorme Hongo Brillante", - "block.twilightforest.huge_mushgloom_stem": "Enorme Tallo de Hongo Brillante", - "block.twilightforest.trollvidr": "Trollvidr", - "block.twilightforest.unripe_trollber": "Trollber Sin madurar", - "block.twilightforest.trollber": "Trollber", - "block.twilightforest.slider": "Trampa Deslizante [NYI]", - "block.twilightforest.knightmetal_block": "Bloque Hecho del Caballero de Metal", - "block.twilightforest.huge_lilypad": "Enorme Almohadilla de Lirio", - "block.twilightforest.huge_waterlily": "Enorme Lirio de Agua", - "block.twilightforest.castle_brick": "Ladrillos del Castillo", - "block.twilightforest.castle_brick_worn": "Ladrillos Desgastados del Castillo", - "block.twilightforest.castle_brick_cracked": "Ladrillos Agrietados del Castillo", - "block.twilightforest.castle_brick_roof": "Azulejo del Techo del Castillo", - "block.twilightforest.castle_brick_mossy": "Ladrillos Musgosos del Castillo", - "block.twilightforest.castle_brick_frame": "Ladrillos Gruesos del Castillo", - "block.twilightforest.castle_stairs_brick": "Escaleras de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_worn": "Escaleras Desgastadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_cracked": "Escaleras Agrietadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_mossy": "Escaleras Musgosas de Ladrillo del Castillo", - "block.twilightforest.castle_door_yellow": "Puerta Amarilla del Castillo", - "block.twilightforest.castle_door_purple": "Puerta Violeta del Castillo", - "block.twilightforest.castle_door_pink": "Puerta Rosada del Castillo", - "block.twilightforest.castle_door_blue": "Puerta Azul del Castillo", - "block.twilightforest.castle_rune_brick_pink": "Ladrillo Rúnico Rosa del Castillo ", - "block.twilightforest.castle_rune_brick_blue": "Ladrillo Rúnico Azul del Castillo", - "block.twilightforest.castle_rune_brick_yellow": "Ladrillo Rúnico Amarillo del Castillo", - "block.twilightforest.castle_rune_brick_purple": "Ladrillo Rúnico Morado del Castillo", - "block.twilightforest.castle_pillar_encased": "Pilar Encapsulado de Ladrillo del Castillo ", - "block.twilightforest.castle_pillar_encased_tile": "Azulejo Encapsulado de Ladrillos del Castillo ", - "block.twilightforest.castle_pillar_bold": "Pilar Audaz de Ladrillos del Castillo", - "block.twilightforest.castle_pillar_bold_tile": "Azulejo Audaz de Ladrillo del Castillo ", - "block.twilightforest.castle_stairs_encased": "Escaleras Encapsuladas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_bold": "Escaleras Audaces de Ladrillo del Castillo", - "block.twilightforest.force_field_purple": "Campo de Fuerza Violeta", - "block.twilightforest.force_field_pink": "Campo de Fuerza Rosa", - "block.twilightforest.force_field_orange": "Campo de Fuerza Naranja", - "block.twilightforest.force_field_green": "Campo de Fuerza Verde", - "block.twilightforest.force_field_blue": "Campo de Fuerza Azul", - "block.twilightforest.ironwood_block": "Bloque de Madera de Hierro", - "block.twilightforest.fiery_block": "Bloque de Metal Ardiente", - "block.twilightforest.steeleaf_block": "Bloque de Hoja de Acero", - "block.twilightforest.arctic_fur_block": "Bloque de Pelaje Ártico", - "block.twilightforest.carminite_block": "Bloque de Carminita", - "block.twilightforest.cinder_furnace": "Horno de Ceniza [NYI]", - "block.twilightforest.cinder_log": "Tronco de Ceniza [NYI]", - "block.twilightforest.cinder_wood": "Madera de Ceniza [NYI]", - "block.twilightforest.twilight_portal_miniature_structure": "Portal Miniatura de Twilight [NYI]", - "block.twilightforest.naga_courtyard_miniature_structure": "Patio Naga Miniatura [NYI]", - "block.twilightforest.lich_tower_miniature_structure": "Torre del Lich Miniatura [NYI]", - "block.twilightforest.stone_twist": "Piedra Torcida [NYI]", - "block.twilightforest.stone_twist_thin": "Pilar de Piedra [NYI]", - "block.twilightforest.lapis_block": "Bloque de LapislÔzuli [NYI]", - "block.twilightforest.etched_nagastone": "Piedra Naga Grabada", - "block.twilightforest.nagastone_pillar": "Pilar de Piedra Naga", - "block.twilightforest.nagastone_stairs_left": "Escaleras de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_right": "Escaleras de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_mossy": "Piedra Naga con Grabado Musgoso", - "block.twilightforest.nagastone_pillar_mossy": "Pilar de Piedra Naga Musgosa", - "block.twilightforest.nagastone_stairs_mossy_left": "Escaleras Musgosa de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_mossy_right": "Escaleras Musgosa de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_weathered": "Piedra Naga Grabada en Ruinas", - "block.twilightforest.nagastone_pillar_weathered": "Pilar de Piedra Naga en Ruinas", - "block.twilightforest.nagastone_stairs_weathered_left": "Escaleras de Piedra de Naga desgastadas (Izquierda)", - "block.twilightforest.nagastone_stairs_weathered_right": "Escaleras de Piedra de Naga desgastadas (Derecha)", - "block.twilightforest.iron_ladder": "Escalera de Hierro", - "block.twilightforest.terrorcotta_circle": "Terracota (Circular)", - "block.twilightforest.terrorcotta_diagonal": "Terracota (Diagonal)", - "block.twilightforest.experiment_115": "Experimento 115", - "block.twilightforest.hydra_trophy": "Trofeo de Hidra", - "block.twilightforest.naga_trophy": "Trofeo de Naga", - "block.twilightforest.minoshroom_trophy": "Trofeo de Minosetauro", - "block.twilightforest.knight_phantom_trophy": "Trofeo de Caballero Fantasma", - "block.twilightforest.lich_trophy": "Trofeo de Lich", - "block.twilightforest.ur_ghast_trophy": "Trofeo de Ur-Ghast", - "block.twilightforest.yeti_trophy": "Trofeo de Yeti Alfa", - "block.twilightforest.snow_queen_trophy": "Trofeo de Reina de las Nieves", - "block.twilightforest.quest_ram_trophy": "Trofeo del Carnero de la Búsqueda", - - "block.twilightforest.keepsake_casket": "Ataúd del recuerdo [WIP]", - "block.twilightforest.casket.broken": "Tu Ataúd estÔ demasiado dañado para contener mÔs objetos. Todos los artículos que se guardaron en tu ataúd se cayeron al suelo..", - "block.twilightforest.casket.locked": "”Este Ataúd sólo puede ser abierto por %s!", - - "block.twilightforest.potted_twilight_oak_sapling": "Retoño del Árbol de Roble Crepuscular en Maceta", - "block.twilightforest.potted_canopy_sapling": "Retoño de Dosel Arbóreo en Maceta", - "block.twilightforest.potted_mangrove_sapling": "Retoño de Manglar Crepuscular en Maceta", - "block.twilightforest.potted_darkwood_sapling": "Retoño del Árbol de Madera Oscura en Maceta", - "block.twilightforest.potted_hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular en Maceta", - "block.twilightforest.potted_rainboak_sapling": "Retoño del Árbol de Roble Arcoíris en Maceta", - "block.twilightforest.potted_time_sapling": "Retoño del Árbol del Tiempo en Maceta", - "block.twilightforest.potted_trans_sapling": "Retoño del Árbol de la Transformación en Maceta", - "block.twilightforest.potted_mine_sapling": "Retoño del Árbol Minero en Maceta", - "block.twilightforest.potted_sort_sapling": "Retoño del Árbol de la Clasificación en Maceta", - "block.twilightforest.potted_mayapple": "Mayapple en Maceta", - "block.twilightforest.potted_fiddlehead": "Brotes de Helecho en Maceta", - "block.twilightforest.potted_mushgloom": "Hongo Brillante en Maceta", - "block.twilightforest.potted_thorn": "Espinas en Maceta", - "block.twilightforest.potted_green_thorn": "Espinas Verdes en Maceta", - "block.twilightforest.potted_dead_thorn": "Espinas Quemadas en Maceta", - - "block.twilightforest.canopy_planks": "Tablones de Dosel Arbóreo", - "block.twilightforest.canopy_stairs": "Esquelaras de Dosel Arbóreo", - "block.twilightforest.canopy_slab": "Losa de Dosel Arbóreo", - "block.twilightforest.canopy_button": "Botón de Dosel Arbóreo", - "block.twilightforest.canopy_fence": "Valla de Dosel Arbóreo", - "block.twilightforest.canopy_gate": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_plate": "Placa de Presión de Dosel Arbóreo", - "block.twilightforest.canopy_trapdoor": "Trampilla de Dosel Arbóreo", - "block.twilightforest.canopy_door": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_sign": "Letrero de Dosel Arbóreo", - "block.twilightforest.canopy_wall_sign": "Cuadro de Dosel Arbóreo", - - "block.twilightforest.dark_planks": "Tablones de Madera Oscura", - "block.twilightforest.dark_stairs": "Esquelaras de Madera Oscura", - "block.twilightforest.dark_slab": "Losa de Madera Oscura", - "block.twilightforest.dark_button": "Botón de Madera Oscura", - "block.twilightforest.dark_fence": "Valla de Madera Oscura", - "block.twilightforest.dark_gate": "Puerta de Valla de Madera Oscura", - "block.twilightforest.dark_plate": "Placa de Presión de Madera Oscura", - "block.twilightforest.dark_trapdoor": "Trampilla de Madera Oscura", - "block.twilightforest.dark_door": "Puerta de Madera Oscura", - "block.twilightforest.darkwood_sign": "Letrero de Madera Oscura", - "block.twilightforest.darkwood_wall_sign": "Cuadro de Madera Oscura", - - "block.twilightforest.mangrove_planks": "Tablones de Manglar", - "block.twilightforest.mangrove_stairs": "Esquelaras de Manglar", - "block.twilightforest.mangrove_slab": "Losa de Manglar", - "block.twilightforest.mangrove_button": "Botón de Manglar", - "block.twilightforest.mangrove_fence": "Valla de Manglar", - "block.twilightforest.mangrove_gate": "Puerta de Valla de Manglar", - "block.twilightforest.mangrove_plate": "Placa de Presión de Manglar", - "block.twilightforest.mangrove_trapdoor": "Trampilla de Manglar", - "block.twilightforest.mangrove_door": "Puerta de Manglar", - "block.twilightforest.mangrove_sign": "Letrero de Manglar", - "block.twilightforest.mangrove_wall_sign": "Cuadro de Manglar", - - "block.twilightforest.twilight_oak_planks": "Tablones de Roble Crepuscular", - "block.twilightforest.twilight_oak_stairs": "Esquelaras de Roble Crepuscular", - "block.twilightforest.twilight_oak_slab": "Losa de Roble Crepuscular", - "block.twilightforest.twilight_oak_button": "Botón de Roble Crepuscular", - "block.twilightforest.twilight_oak_fence": "Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_gate": "Puerta de Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_plate": "Placa de Presión de Roble Crepuscular", - "block.twilightforest.twilight_oak_trapdoor": "Trampilla de Roble Crepuscular", - "block.twilightforest.twilight_oak_door": "Puerta de Roble Crepuscular", - "block.twilightforest.twilight_oak_sign": "Letrero de Roble Crepuscular", - "block.twilightforest.twilight_wall_sign": "Cuadro de Roble Crepuscular", - - "block.twilightforest.time_planks": "Tablones del Árbol del Tiempo", - "block.twilightforest.time_stairs": "Esquelaras del Árbol del Tiempo", - "block.twilightforest.time_slab": "Losa del Árbol del Tiempo", - "block.twilightforest.time_button": "Botón del Árbol del Tiempo", - "block.twilightforest.time_fence": "Valla del Árbol del Tiempo", - "block.twilightforest.time_gate": "Puerta de Valla del Árbol del Tiempo", - "block.twilightforest.time_plate": "Placa de Presión del Árbol del Tiempo", - "block.twilightforest.time_trapdoor": "Trampilla del Árbol del Tiempo", - "block.twilightforest.time_door": "Puerta del Árbol del Tiempo", - "block.twilightforest.time_sign": "Letrero del Árbol del Tiempo", - "block.twilightforest.time_wall_sign": "Cuadro del Árbol del Tiempo", - - "block.twilightforest.trans_planks": "Tablones del Árbol de Transformación", - "block.twilightforest.trans_stairs": "Esquelaras del Árbol de Transformación", - "block.twilightforest.trans_slab": "Losa del Árbol de Transformación", - "block.twilightforest.trans_button": "Botón del Árbol de Transformación", - "block.twilightforest.trans_fence": "Valla del Árbol de Transformación", - "block.twilightforest.trans_gate": "Puerta de Valla del Árbol de Transformación", - "block.twilightforest.trans_plate": "Placa de Presión del Árbol de Transformación", - "block.twilightforest.trans_trapdoor": "Trampilla del Árbol de Transformación", - "block.twilightforest.trans_door": "Puerta del Árbol de Transformación", - "block.twilightforest.trans_sign": "Letrero del Árbol de Transformación", - "block.twilightforest.trans_wall_sign": "Cuadro del Árbol de Transformación", - - "block.twilightforest.mine_planks": "Tablones del Árbol Minero", - "block.twilightforest.mine_stairs": "Esquelaras del Árbol Minero", - "block.twilightforest.mine_slab": "Losa del Árbol Minero", - "block.twilightforest.mine_button": "Botón del Árbol Minero", - "block.twilightforest.mine_fence": "Valla del Árbol Minero", - "block.twilightforest.mine_gate": "Puerta de Valla del Árbol Minero", - "block.twilightforest.mine_plate": "Placa de Presión del Árbol Minero", - "block.twilightforest.mine_trapdoor": "Trampilla del Árbol Minero", - "block.twilightforest.mine_door": "Puerta del Árbol Minero", - "block.twilightforest.mine_sign": "Letrero del Árbol Minero", - "block.twilightforest.mine_wall_sign": "Cuadro del Árbol Minero", - - "block.twilightforest.sort_planks": "Tablones del Árbol de Clasificación", - "block.twilightforest.sort_stairs": "Esquelaras del Árbol de Clasificación", - "block.twilightforest.sort_slab": "Losa del Árbol de Clasificación", - "block.twilightforest.sort_button": "Botón del Árbol de Clasificación", - "block.twilightforest.sort_fence": "Valla del Árbol de Clasificación", - "block.twilightforest.sort_gate": "Puerta de Valla del Árbol de Clasificación", - "block.twilightforest.sort_plate": "Placa de Presión del Árbol de Clasificación", - "block.twilightforest.sort_trapdoor": "Trampilla del Árbol de Clasificación", - "block.twilightforest.sort_door": "Puerta del Árbol de Clasificación", - "block.twilightforest.sort_sign": "Letrero del Árbol de Clasificación", - "block.twilightforest.sort_wall_sign": "Cuadro del Árbol de Clasificación", - - "block.steeleaf.tooltip": "Reduce el daño por caída en un 25%.", - "block.arctic.tooltip": "Reduce el daño por caída en un 90%", - "block.knightmetal.tooltip": "Funciona como un cactus mÔs fuerte", - - // Structures - "structure.twilight_portal": "Portal de Twilight", - "structure.hedge_maze": "Laberinto de Setos", - "structure.hollow_hill": "Colina Hueca", - "structure.quest_grove": "Búsqueda de la Arboleda", - "structure.mushroom_tower": "Castillo de los Hongos", - "structure.naga_courtyard": "Patio Naga", - "structure.lich_tower": "Torre del Lich", - "structure.minotaur_labyrinth": "Laberinto del Minotauro", - "structure.hydra_lair": "Guarida de la Hidra", - "structure.goblin_stronghold": "Fortaleza de los Goblins", - "structure.dark_tower": "La Torre Oscura", - "structure.yeti_cave": "Cueva del Yeti", - "structure.aurora_palace": "Palacio Aurora", - "structure.troll_cave_and_cloud_castle": "Cueva de los Trolls y Casa en las Nubes", - "structure.final_castle": "Castillo Final", - - // Items - "item.twilightforest.boarkchop": "Chuleta de Boark", - "item.twilightforest.naga_scale": "Escama Naga", - "item.twilightforest.naga_chestplate": "Tunica de Escama Naga", - "item.twilightforest.naga_leggings": "Mallas de Escama Naga", - "item.twilightforest.twilight_scepter": "Cetro Crepuscular", - "item.twilightforest.lifedrain_scepter": "Cetro de Robo de Vida", - "item.twilightforest.zombie_scepter": "Cetro Zombie", - "item.twilightforest.shield_scepter": "Cetro de Fortificación", - "item.twilightforest.ore_meter": "Medidor de Minerales [NYI]", - "item.twilightforest.magic_map": "Mapa MÔgico", - "item.twilightforest.maze_map": "Mapa del Laberinto", - "item.twilightforest.ore_map": "Mapa de Laberinto/Mineral", - "item.twilightforest.raven_feather": "Pluma de Cuervo", - "item.twilightforest.magic_map_focus": "Enfoque del Mapa MÔgico", - "item.twilightforest.maze_map_focus": "Enfoque del Mapa del Laberinto", - "item.twilightforest.liveroot": "Raíces Vivas", - "item.twilightforest.ironwood_raw": "Materiales de Madera de Hierro en Bruto", - "item.twilightforest.ironwood_ingot": "Lingote de Madera de Hierro", - "item.twilightforest.ironwood_helmet": "Casco de Madera de Hierro", - "item.twilightforest.ironwood_chestplate": "Pechera de Madera de Hierro", - "item.twilightforest.ironwood_leggings": "Pantalones de Madera de Hierro", - "item.twilightforest.ironwood_boots": "Botas de Madera de Hierro", - "item.twilightforest.ironwood_sword": "Espada de Madera de Hierro", - "item.twilightforest.ironwood_shovel": "Pala de Madera de Hierro", - "item.twilightforest.ironwood_pickaxe": "Pico de Madera de Hierro", - "item.twilightforest.ironwood_axe": "Hacha de Madera de Hierro", - "item.twilightforest.ironwood_hoe": "Azada de Madera de Hierro", - "item.twilightforest.torchberries": "Bayas de Antorcha", - "item.twilightforest.raw_venison": "Venado Crudo", - "item.twilightforest.cooked_venison": "Filete de Venado", - "item.twilightforest.hydra_chop": "Chuleta de Hidra", - "item.twilightforest.fiery_blood": "Sangre Ardiente", - "item.twilightforest.fiery_ingot": "Lingote Ardiente", - "item.twilightforest.fiery_helmet": "Casco Ardiente", - "item.twilightforest.fiery_chestplate": "Pechera Ardiente", - "item.twilightforest.fiery_leggings": "Pantalones Ardientes", - "item.twilightforest.fiery_boots": "Botas Ardientes", - "item.twilightforest.fiery_sword": "Espada Ardiente", - "item.twilightforest.fiery_pickaxe": "Pico Ardiente", - "item.twilightforest.steeleaf_ingot": "Hoja de Acero", - "item.twilightforest.steeleaf_helmet": "Casco de Hoja de Acero", - "item.twilightforest.steeleaf_chestplate": "Pechera de Hoja de Acero", - "item.twilightforest.steeleaf_leggings": "Pantalones de de Hoja de Acero", - "item.twilightforest.steeleaf_boots": "Botas de Hoja de Acero", - "item.twilightforest.steeleaf_sword": "Espeda de Hoja de Acero", - "item.twilightforest.steeleaf_shovel": "Pala de Hoja de Acero", - "item.twilightforest.steeleaf_pickaxe": "Pico de Hoja de Acero", - "item.twilightforest.steeleaf_axe": "Hacha de Hoja de Acero", - "item.twilightforest.steeleaf_hoe": "Azada de Hoja de Acero", - "item.twilightforest.minotaur_axe": "Hacha de Diamante del Minotauro", - "item.twilightforest.minotaur_axe_gold": "Hacha de Oro del Minotauro", - "item.twilightforest.mazebreaker_pickaxe": "Rompe Laberintos", - "item.twilightforest.transformation_powder": "Polvo de Transformación", - "item.twilightforest.raw_meef": "Carne Cruda", - "item.twilightforest.cooked_meef": "Bistec de Carne", - "item.twilightforest.meef_stroganoff": "Carne Stroganoff", - "item.twilightforest.maze_wafer": "Oblea de Laberinto", - "item.twilightforest.magic_map_empty": "Mapa MÔgico en Blanco", - "item.twilightforest.maze_map_empty": "Mapa del Laberinto en Blanco", - "item.twilightforest.ore_map_empty": "Mapa de Laberinto/Minerales en Blanco", - "item.twilightforest.ore_magnet": "ImÔn de Minerales", - "item.twilightforest.crumble_horn": "Cuerno Desmenuzado", - "item.twilightforest.peacock_fan": "Abanico de Plumas de Pavo Real", - "item.twilightforest.moonworm_queen": "Reina Gusano Lunar", - "item.twilightforest.charm_of_life_1": "Talisman de Vida I", - "item.twilightforest.charm_of_life_2": "Talisman de Vida II", - "item.twilightforest.charm_of_keeping_1": "Talisman de conservación I", - "item.twilightforest.charm_of_keeping_2": "Talisman de conservación II", - "item.twilightforest.charm_of_keeping_3": "Talisman de conservación III", - "item.twilightforest.tower_key": "Llave de la Torre", - "item.twilightforest.borer_essence": "Esencia de Barrenador", - "item.twilightforest.carminite": "Carminita", - "item.twilightforest.tf_trophy": "%s Trofeo", - "item.twilightforest.armor_shard": "Fragmento de Armadura", - "item.twilightforest.knightmetal_ingot": "Lingote Hecho del Caballero de Metal", - "item.twilightforest.armor_shard_cluster": "Grupo de Fragmentos de Armadura", - "item.twilightforest.knightmetal_helmet": "Yelmo del Caballero de Metal", - "item.twilightforest.knightmetal_chestplate": "Pechera del Caballero de Metal", - "item.twilightforest.knightmetal_leggings": "Grebas del Caballero de Metal", - "item.twilightforest.knightmetal_boots": "Botas del Caballero de Metal", - "item.twilightforest.knightmetal_sword": "Espada del Caballero de Metal", - "item.twilightforest.knightmetal_pickaxe": "Pico del Caballero de Metal", - "item.twilightforest.knightmetal_axe": "Hacha del Caballero de Metal", - "item.twilightforest.knightmetal_shield": "Escudo del Caballero de Metal", - "item.twilightforest.phantom_helmet": "Casco de Fantasma", - "item.twilightforest.phantom_chestplate": "Pechera de Fantasma", - "item.twilightforest.lamp_of_cinders": "LÔmpara de Cenizas", - "item.twilightforest.fiery_tears": "LÔgrimas de Fuego", - "item.twilightforest.ice_bomb": "Bomba de Hielo", - "item.twilightforest.yeti_helmet": "Casco con Cuernos del Yeti", - "item.twilightforest.yeti_chestplate": "Chaqueta del Yeti", - "item.twilightforest.yeti_leggings": "Pantalones del Yeti", - "item.twilightforest.yeti_boots": "Botas del Yeti", - "item.twilightforest.alpha_fur": "Pelaje de Yeti Alfa", - "item.twilightforest.arctic_fur": "Pelaje del Ártico", - "item.twilightforest.arctic_helmet": "Capucha del Ártico", - "item.twilightforest.arctic_chestplate": "Chaqueta Ártica", - "item.twilightforest.arctic_leggings": "Pantalones del Ártico", - "item.twilightforest.arctic_boots": "Botas del Ártico", - "item.twilightforest.magic_beans": "Frijoles MÔgicos", - "item.twilightforest.giant_pickaxe": "Pico del Gigante", - "item.twilightforest.giant_sword": "Espada del Gigante", - "item.twilightforest.triple_bow": "Arco triple", - "item.twilightforest.seeker_bow": "Arco Buscador", - "item.twilightforest.ice_bow": "Arco de hielo", - "item.twilightforest.ender_bow": "Arco de Ender", - "item.twilightforest.ice_sword": "Espada de Hielo", - "item.twilightforest.glass_sword": "Espada de Vidrio", - "item.twilightforest.knightmetal_ring": "Lazo de Caballero de Metal", - "item.twilightforest.block_and_chain": "Bloque y Cadena", - "item.twilightforest.cube_talisman": "TalismÔn del Cubo [NYI]", - "item.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación [WIP]", - "item.twilightforest.moon_dial": "Dial lunar", - - "item.twilightforest.wild_boar_spawn_egg": "Generar Jabalí", - "item.twilightforest.bighorn_sheep_spawn_egg": "Generar de Oveja Cimarrón", - "item.twilightforest.deer_spawn_egg": "Generar Ciervo Salvaje", - "item.twilightforest.redcap_spawn_egg": "Generar Goblin del Gorro Rojo", - "item.twilightforest.swarm_spider_spawn_egg": "Generar Araña de Enjambre", - "item.twilightforest.naga_spawn_egg": "Generar Naga", - "item.twilightforest.skeleton_druid_spawn_egg": "Generar Druida Esqueleto", - "item.twilightforest.hostile_wolf_spawn_egg": "Generar Lobo Hostil", - "item.twilightforest.wraith_spawn_egg": "Generar Espectro Crepuscular", - "item.twilightforest.hedge_spider_spawn_egg": "Generar Araña del Seto", - "item.twilightforest.hydra_spawn_egg": "Generar Hidra", - "item.twilightforest.lich_spawn_egg": "Generar Twilight Lich ", - "item.twilightforest.penguin_spawn_egg": "Generar Pingüino", - "item.twilightforest.tiny_bird_spawn_egg": "Generar PÔjaro Pequeño", - "item.twilightforest.squirrel_spawn_egg": "Generar Ardilla de Bosque", - "item.twilightforest.bunny_spawn_egg": "Generar Conejo del Bosque", - "item.twilightforest.raven_spawn_egg": "Generar Cuervo del Bosque", - "item.twilightforest.quest_ram_spawn_egg": "Generar Carnero de la Búsqueda", - "item.twilightforest.kobold_spawn_egg": "Generar Kobold", - "item.twilightforest.mosquito_swarm_spawn_egg": "Generar Enjambre de Mosquitos", - "item.twilightforest.death_tome_spawn_egg": "Generar Tomo de la Muerte", - "item.twilightforest.minotaur_spawn_egg": "Generar Minotauro", - "item.twilightforest.minoshroom_spawn_egg": "Generar Minosetauro", - "item.twilightforest.fire_beetle_spawn_egg": "Generar Escarabajo de Fuego", - "item.twilightforest.slime_beetle_spawn_egg": "Generar Escarabajo de Slime", - "item.twilightforest.pinch_beetle_spawn_egg": "Generar Escarabajo de Pinzas", - "item.twilightforest.maze_slime_spawn_egg": "Generar Slime de Laberinto", - "item.twilightforest.redcap_sapper_spawn_egg": "Generar Zapador de Gorro Rojo", - "item.twilightforest.mist_wolf_spawn_egg": "Generar Lobo de la Niebla", - "item.twilightforest.king_spider_spawn_egg": "Generar Rey Araña", - "item.twilightforest.mini_ghast_spawn_egg": "Generar Mini Ghast de Carminita", - "item.twilightforest.tower_ghast_spawn_egg": "Generar Guardia Ghast de Carminita", - "item.twilightforest.tower_golem_spawn_egg": "Generar Golem de Carminita", - "item.twilightforest.tower_termite_spawn_egg": "Generar Barrenador de la Torre de Madera", - "item.twilightforest.tower_broodling_spawn_egg": "Generar Araña Carminita", - "item.twilightforest.ur_ghast_spawn_egg": "Generar Ur-Ghast", - "item.twilightforest.blockchain_goblin_spawn_egg": "Generar Goblin de Bloques y Cadenas", - "item.twilightforest.goblin_knight_lower_spawn_egg": "Generar Caballero Goblin", - "item.twilightforest.helmet_crab_spawn_egg": "Generar Cangrejo con Casco", - "item.twilightforest.knight_phantom_spawn_egg": "Generar Caballero Fantasma", - "item.twilightforest.yeti_spawn_egg": "Generar Yeti", - "item.twilightforest.yeti_alpha_spawn_egg": "Generar Yeti Alfa", - "item.twilightforest.winter_wolf_spawn_egg": "Generar Lobo de Invierno", - "item.twilightforest.snow_guardian_spawn_egg": "Generar GuardiÔn de Nieve", - "item.twilightforest.stable_ice_core_spawn_egg": "Generar Núcleo de Hielo Estable", - "item.twilightforest.unstable_ice_core_spawn_egg": "Generar Núcleo de Hielo Inestable", - "item.twilightforest.snow_queen_spawn_egg": "Generar Reina de las Nieves", - "item.twilightforest.troll_spawn_egg": "Generar Troll de las Cavernas", - "item.twilightforest.giant_miner_spawn_egg": "Generar Minero Gigante", - "item.twilightforest.armored_giant_spawn_egg": "Generar Gigante Armado", - "item.twilightforest.ice_crystal_spawn_egg": "Generar Cristal de Hielo", - "item.twilightforest.harbinger_cube_spawn_egg": "Generar Cubo de los Presagios [NYI]", - "item.twilightforest.adherent_spawn_egg": "Generar Adepto [NYI]", - "item.twilightforest.roving_cube_spawn_egg": "Generar Cubo Giratorio [NYI]", - - "item.twilightforest.guide": "Cuaderno de BitÔcora del Viajero [WIP]", - - "item.twilightforest.minotaur_axe.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.minotaur_axe_gold.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.knightmetal_sword.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_pickaxe.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_axe.tooltip": "Daño Extra a Objetivos No Blindados", - "item.twilightforest.giant_pickaxe.tooltip": "Rompe bloques gigantes", - "item.twilightforest.fiery_pickaxe.tooltip": "Autofundición", - "item.twilightforest.fiery_sword.tooltip": "Quema al objetivo ", - "item.twilightforest.fiery_helmet.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_chestplate.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_leggings.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_boots.tooltip": "Quema a los atacante", - "item.twilightforest.phantom_helmet.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.phantom_chestplate.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.yeti_helmet.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_chestplate.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_leggings.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_boots.tooltip": "Enfría a los atacantes", - - "item.twilightforest.arctic_armor.tooltip": "Teñible como la armadura de cuero", - - // Entities - "entity.twilightforest.wild_boar": "Jabalí", - "entity.twilightforest.bighorn_sheep": "Oveja Cimarrón", - "entity.twilightforest.deer": "Ciervo salvaje", - "entity.twilightforest.redcap": "Goblin del Gorro Rojo", - "entity.twilightforest.swarm_spider": "Araña de Enjambre", - "entity.twilightforest.naga": "Naga", - "entity.twilightforest.naga_segment": "Segmento Naga", - "entity.twilightforest.skeleton_druid": "Druida Esqueleto", - "entity.twilightforest.hostile_wolf": "Lobo hostil", - "entity.twilightforest.wraith": "Espectro Crepuscular", - "entity.twilightforest.hedge_spider": "Araña del Seto", - "entity.twilightforest.hydra": "Hidra", - "entity.twilightforest.hydra_head": "Cabeza de Hidra", - "entity.twilightforest.lich": "Twilight Lich", - "entity.twilightforest.penguin": "Pingüino", - "entity.twilightforest.tiny_bird": "PÔjaro Pequeño", - "entity.twilightforest.squirrel": "Ardilla del Bosque", - "entity.twilightforest.bunny": "Conejo Enano", - "entity.twilightforest.raven": "Cuervo del Bosque", - "entity.twilightforest.quest_ram": "Carnero de la Búsqueda", - "entity.twilightforest.kobold": "Kobold", - "entity.twilightforest.boggard": "Boggard [NYI]", - "entity.twilightforest.lich_minion": "Lich Minion", - "entity.twilightforest.loyal_zombie": "Zombi Leal", - "entity.twilightforest.mosquito_swarm": "Enjambre de Mosquitos", - "entity.twilightforest.death_tome": "Tomo de la Muerte", - "entity.twilightforest.minotaur": "Minotauro", - "entity.twilightforest.minoshroom": "Minosetauro", - "entity.twilightforest.fire_beetle": "Escarabajo de Fuego", - "entity.twilightforest.slime_beetle": "Escarabajo de Slime", - "entity.twilightforest.pinch_beetle": "Escarabajo de Pinzas", - "entity.twilightforest.maze_slime": "Slime de Laberinto", - "entity.twilightforest.redcap_sapper": "Zapador de Gorro Rojo", - "entity.twilightforest.mist_wolf": "Lobo de la Niebla", - "entity.twilightforest.king_spider": "Rey Araña", - "entity.twilightforest.firefly": "Luciérnaga", - "entity.twilightforest.mini_ghast": "Mini Ghast de Carminita", - "entity.twilightforest.tower_ghast": "Guardia Ghast de Carminita", - "entity.twilightforest.tower_golem": "Golem de Carminita", - "entity.twilightforest.tower_termite": "Barrenador de la Madera de la Torre", - "entity.twilightforest.tower_broodling": "Araña Carminita", - "entity.twilightforest.ur_ghast": "Ur-Ghast", - "entity.twilightforest.blockchain_goblin": "Generar Goblin de Bloques y Cadenas", - "entity.twilightforest.goblin_knight_upper": "Caballero Goblin Superior", - "entity.twilightforest.goblin_knight_lower": "Caballero Goblin Inferior", - "entity.twilightforest.helmet_crab": "Cangrejo con Casco", - "entity.twilightforest.knight_phantom": "Caballero Fantasma", - "entity.twilightforest.yeti": "Yeti", - "entity.twilightforest.yeti_alpha": "Yeti Alfa", - "entity.twilightforest.winter_wolf": "Lobo de Invierno", - "entity.twilightforest.snow_guardian": "GuardiÔn de Nieve", - "entity.twilightforest.stable_ice_core": "Núcleo de Hielo Estable", - "entity.twilightforest.unstable_ice_core": "Núcleo de Hielo Inestable", - "entity.twilightforest.snow_queen": "Reina de las Nieves", - "entity.twilightforest.troll": "Troll de las Cavernas", - "entity.twilightforest.giant_miner": "Minero Gigante", - "entity.twilightforest.armored_giant": "Gigante Armado", - "entity.twilightforest.ice_crystal": "Cristal de Hielo", - "entity.twilightforest.rising_zombie": "Zombie", - "entity.twilightforest.harbinger_cube": "Cubo de los Presagios [NYI]", - "entity.twilightforest.adherent": "Adepto [NYI]", - "entity.twilightforest.castle_guardian": "GuardiÔn del Castillo [NYI]", - "entity.twilightforest.roving_cube": "Cubo Giratorio [NYI]", - - "entity.twilightforest.ice_snowball": "Bola de Nieve de Hielo", - "entity.twilightforest.ice_arrow": "Flecha de Hielo", - "entity.twilightforest.seeker_arrow": "Flecha Buscadora", - "entity.twilightforest.cicada_shot": "Cigarra", - "entity.twilightforest.moonworm_shot": "Gusano Lunar", - "entity.twilightforest.nature_bolt": "Perno de la Naturaleza", - "entity.twilightforest.slime_blob": "Gota de Slime", - "entity.twilightforest.tome_bolt": " Perno del Tomo de la Muerte", - "entity.twilightforest.wand_bolt": "Perno de Cetro Crepuscular", - "entity.twilightforest.lich_bolt": "Perno del Lich", - "entity.twilightforest.lich_bomb": "Perno Explosivo del Lich", - "entity.twilightforest.hydra_mortar": "Mortero Hidra", - "entity.twilightforest.falling_ice": "Caída de hielo", - "entity.twilightforest.chain_block": "Bloque y Cadena", - "entity.twilightforest.thrown_wep": "Arma Arrojadiza", - "entity.twilightforest.charm_effect": "Efecto de Talisman", - "entity.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación", - "entity.twilightforest.slider": "Trampa Deslizante en Movimiento", - "entity.twilightforest.protection_box": "Caja de Protección de la Progresión", - - // Subtitles - "subtitles.twilightforest.entity.alphayeti.alert": "Yeti Alfa se dirige al jugador", - "subtitles.twilightforest.entity.alphayeti.death": "Yeti Alfa muerto", - "subtitles.twilightforest.entity.alphayeti.grab": "Yeti Alfa agarra al jugador", - "subtitles.twilightforest.entity.alphayeti.growl": "Yeti Alfa gruñe", - "subtitles.twilightforest.entity.alphayeti.hurt": "Yeti Alfa herido", - "subtitles.twilightforest.entity.alphayeti.ice": "Yeti Alfa lanza hielo", - "subtitles.twilightforest.entity.alphayeti.pant": "Pantalones del Yeti Alfa ", - "subtitles.twilightforest.entity.alphayeti.roar": "Yeti Alfa ruge", - "subtitles.twilightforest.entity.alphayeti.throw": "Yeti Alfa tira con fuerza", - "subtitles.twilightforest.entity.bighorn.ambient": "Balido de Oveja Cimarrón", - "subtitles.twilightforest.entity.bighorn.death": "Oveja Cimarrón muerta", - "subtitles.twilightforest.entity.bighorn.hurt": "Oveja Cimarrón herida", - "subtitles.twilightforest.entity.blockchain.ambient": "Goblin de Bloques y Cadenas se ríe", - "subtitles.twilightforest.entity.blockchain.death": "Goblin de Bloques y Cadenas muerto", - "subtitles.twilightforest.entity.blockchain.hurt": "Goblin de Bloques y Cadenas grita", - "subtitles.twilightforest.entity.boar.ambient": "Gruñido de Jabalí", - "subtitles.twilightforest.entity.boar.death": "Jabalí muerto", - "subtitles.twilightforest.entity.boar.hurt": "Jabalí herido", - "subtitles.twilightforest.entity.broodling.ambient": "Siseo de Araña Carminita", - "subtitles.twilightforest.entity.broodling.death": "Araña Carminita muerta", - "subtitles.twilightforest.entity.broodling.hurt": "Araña Carminita herida", - "subtitles.twilightforest.entity.carminitegolem.attack": "Golem de Carminita ataca", - "subtitles.twilightforest.entity.carminitegolem.death": "Golem de Carminita muerto", - "subtitles.twilightforest.entity.carminitegolem.hurt": "Golem de Carminita herido", - "subtitles.twilightforest.entity.cicada": "Canto de Cigarra", - "subtitles.twilightforest.entity.deer.death": "Ciervo salvaje muerto", - "subtitles.twilightforest.entity.deer.hurt": "Ciervo salvaje herido", - "subtitles.twilightforest.entity.deer.idle": "Ciervo salvaje mugido", - "subtitles.twilightforest.entity.druid.ambient": "Cascabeles del Druida Esqueleto", - "subtitles.twilightforest.entity.druid.death": "Druida Esqueleto muerto", - "subtitles.twilightforest.entity.druid.hurt": "Druida Esqueleto herido", - "subtitles.twilightforest.entity.druid.shoot": "Druida Esqueleto dispara", - "subtitles.twilightforest.entity.firebeetle.ambient": "Siseo de Escarabajo de Fuego", - "subtitles.twilightforest.entity.firebeetle.death": "Escarabajo de Fuego muerto", - "subtitles.twilightforest.entity.firebeetle.hurt": "Escarabajo de Fuego herido", - "subtitles.twilightforest.entity.firebeetle.shoot": "Escarabajo de Fuego dispara", - "subtitles.twilightforest.entity.ghastguard.ambient": "Llanto de Guardia Ghast", - "subtitles.twilightforest.entity.ghastguard.death": "Guardia Ghast muerto", - "subtitles.twilightforest.entity.ghastguard.hurt": "Guardia Ghast herido", - "subtitles.twilightforest.entity.ghastling.ambient": "Llanto de Mini Ghast", - "subtitles.twilightforest.entity.ghastling.death": "Mini Ghast muerto", - "subtitles.twilightforest.entity.ghastling.hurt": "Mini Ghast herido", - "subtitles.twilightforest.entity.goblinknight.ambient": "Risas de Caballero Goblin", - "subtitles.twilightforest.entity.goblinknight.death": "Caballero Goblin gime de agonía", - "subtitles.twilightforest.entity.goblinknight.hurt": "Caballero Goblin chilla de dolor", - "subtitles.twilightforest.entity.goblinknight.muffled.ambient": "Caballero Goblin sofocada rie", - "subtitles.twilightforest.entity.goblinknight.muffled.death": "Caballero Goblin sofocado gime de agonía", - "subtitles.twilightforest.entity.goblinknight.muffled.hurt": "Caballero Goblin sofocado chilla de dolor", - "subtitles.twilightforest.entity.hedgespider.ambient": "Siseo de Araña del Seto", - "subtitles.twilightforest.entity.hedgespider.death": "Araña del Seto muerta", - "subtitles.twilightforest.entity.hedgespider.hurt": "Araña del Seto herida", - "subtitles.twilightforest.entity.helmetcrab.death": "Cangrejo con Casco muerto", - "subtitles.twilightforest.entity.helmetcrab.hurt": "Cangrejo con Casco herido", - "subtitles.twilightforest.entity.hostilewolf.death": "Lobo hostil muerto", - "subtitles.twilightforest.entity.hostilewolf.hurt": "Lobo hostil herido", - "subtitles.twilightforest.entity.hostilewolf.idle": "Lobo hostil gruñe", - "subtitles.twilightforest.entity.hostilewolf.target": "Lobo hostil apunta a la víctima", - "subtitles.twilightforest.entity.hydra.death": "Hidra muerto", - "subtitles.twilightforest.entity.hydra.growl": "Hidra gruñe", - "subtitles.twilightforest.entity.hydra.hurt": "Hidra herido", - "subtitles.twilightforest.entity.hydra.roar": "Hidra ruge", - "subtitles.twilightforest.entity.hydra.shoot": "Hidra lanza fuego", - "subtitles.twilightforest.entity.hydra.warn": "Hidra se prepara para morder", - "subtitles.twilightforest.entity.ice.death": "Núcleo de hielo muerto", - "subtitles.twilightforest.entity.ice.hurt": "Núcleo de hielo herido", - "subtitles.twilightforest.entity.ice.noise": "Crujidos del Núcleo de hielo", - "subtitles.twilightforest.entity.ice.shoot": "Núcleo de hielo dispara una bola de nieve", - "subtitles.twilightforest.entity.iceguardian.ambient": "Crujidos del GuardiÔn de la nieve", - "subtitles.twilightforest.entity.iceguardian.death": "GuardiÔn de la nieve muerto", - "subtitles.twilightforest.entity.iceguardian.hurt": "GuardiÔn de la nieve herido", - "subtitles.twilightforest.entity.kingspider.ambient": "Siseo de Rey Araña", - "subtitles.twilightforest.entity.kingspider.death": "Rey Araña muerto", - "subtitles.twilightforest.entity.kingspider.hurt": "Rey Araña herido", - "subtitles.twilightforest.entity.kobold.ambient": "Gruñidos de Kobold", - "subtitles.twilightforest.entity.kobold.death": "Kobold muerto", - "subtitles.twilightforest.entity.kobold.hurt": "Kobold herido", - "subtitles.twilightforest.entity.lich.ambient": "Lich respira", - "subtitles.twilightforest.entity.lich.death": "Lich muerto", - "subtitles.twilightforest.entity.lich.hurt": "Lich herido", - "subtitles.twilightforest.entity.lich.shoot": "Lich dispara", - "subtitles.twilightforest.entity.lich.teleport": "Lich se teletransporta", - "subtitles.twilightforest.entity.lichclone.hurt": "Clon Lich se evapora", - "subtitles.twilightforest.entity.loyalzombie.ambient": "Zombi leal gruñidos", - "subtitles.twilightforest.entity.loyalzombie.death": "Zombi leal muerto", - "subtitles.twilightforest.entity.loyalzombie.hurt": "Zombi leal herido", - "subtitles.twilightforest.entity.mazeslime.death": "Slime de Laberinto muerto", - "subtitles.twilightforest.entity.mazeslime.hurt": "Slime de Laberinto herido", - "subtitles.twilightforest.entity.mazeslime.squish": "Slime de Laberinto saltando", - "subtitles.twilightforest.entity.minion.ambient": "Lich Minion gruñidos", - "subtitles.twilightforest.entity.minion.death": "Lich Minion muerto", - "subtitles.twilightforest.entity.minion.hurt": "Lich Minion herido", - "subtitles.twilightforest.entity.minion.summon": "Lich invoca a un nuevo Minion", - "subtitles.twilightforest.entity.minoshroom.ambient": "Mugido de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.attack": "Carga de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.death": "Minosetauro muerto", - "subtitles.twilightforest.entity.minoshroom.hurt": "Minosetauro herido", - "subtitles.twilightforest.entity.minotaur.ambient": "Mugido de Minotauro", - "subtitles.twilightforest.entity.minotaur.attack": "Carga de Minotauro", - "subtitles.twilightforest.entity.minotaur.death": "Minotauro muerto", - "subtitles.twilightforest.entity.minotaur.hurt": "Minotauro herido", - "subtitles.twilightforest.entity.mistwolf.death": "Lobo de la Niebla muerto", - "subtitles.twilightforest.entity.mistwolf.hurt": "Lobo de la Niebla herido", - "subtitles.twilightforest.entity.mistwolf.idle": "Lobo de la Niebla gruñe", - "subtitles.twilightforest.entity.mistwolf.target": "Lobo de la Niebla apunta a la víctima", - "subtitles.twilightforest.entity.mosquito.ambient": "Zumbido de Mosquitos", - "subtitles.twilightforest.entity.naga.hiss": "Siseo de Naga", - "subtitles.twilightforest.entity.naga.hurt": "Naga herido", - "subtitles.twilightforest.entity.naga.rattle": "Naga cascabeles", - "subtitles.twilightforest.entity.kphantom.axe": "Caballero Fantasma lanza el hacha", - "subtitles.twilightforest.entity.kphantom.ambient": "Caballero Fantasma jadeos", - "subtitles.twilightforest.entity.kphantom.death": "Caballero Fantasma muerto", - "subtitles.twilightforest.entity.kphantom.hurt": "Caballero Fantasma herido", - "subtitles.twilightforest.entity.kphantom.pick": "Caballero Fantasma lanza el pico", - "subtitles.twilightforest.entity.pinchbeetle.death": "Escarabajo de pinzas muerto", - "subtitles.twilightforest.entity.pinchbeetle.hurt": "Escarabajo de pinzas herido", - "subtitles.twilightforest.entity.quest.ambient": "Balido del Carnero de la Búsqueda", - "subtitles.twilightforest.entity.quest.death": "Carnero de la Búsqueda muerto", - "subtitles.twilightforest.entity.quest.hurt": "Carnero de la Búsqueda herido", - "subtitles.twilightforest.entity.raven.caw": "Canto de Cuervo", - "subtitles.twilightforest.entity.raven.squawk": "Graznido de Cuervo", - "subtitles.twilightforest.entity.redcap.ambient": "Risas de Gorro rojo", - "subtitles.twilightforest.entity.redcap.death": "Gorro rojo gime en agonía", - "subtitles.twilightforest.entity.redcap.hurt": "Gorro rojo chilla de dolor", - "subtitles.twilightforest.entity.shield.add": "Aparece un nuevo escudo", - "subtitles.twilightforest.entity.shield.break": "Rotura del escudo", - "subtitles.twilightforest.entity.slimebeetle.death": "Escarabajo de Slime muerto", - "subtitles.twilightforest.entity.slimebeetle.hurt": "Escarabajo de Slime herido", - "subtitles.twilightforest.entity.slimebeetle.squish": "Escarabajo de Slime saltando", - "subtitles.twilightforest.entity.snowqueen.ambient": "Reina de las Nieves cruje", - "subtitles.twilightforest.entity.snowqueen.attack": "Reina de las Nieves ataca", - "subtitles.twilightforest.entity.snowqueen.break": "Reina de las Nieves el escudo desvía", - "subtitles.twilightforest.entity.snowqueen.death": "Reina de las Nieves muerto", - "subtitles.twilightforest.entity.snowqueen.hurt": "Reina de las Nieves herido", - "subtitles.twilightforest.entity.swarmspider.ambient": "Siseo de Araña de enjambre", - "subtitles.twilightforest.entity.swarmspider.death": "Araña de enjambre muerto", - "subtitles.twilightforest.entity.swarmspider.hurt": "Araña de enjambre herido", - "subtitles.twilightforest.entity.tear.break": "LÔgrimas de Ur-Ghast rompiéndose", - "subtitles.twilightforest.entity.termite.ambient": "Siseo de Barrenador de la Torre de Madera", - "subtitles.twilightforest.entity.termite.death": "Barrenador de la Torre de Madera muerto", - "subtitles.twilightforest.entity.termite.hurt": "Barrenador de la Torre de Madera herido", - "subtitles.twilightforest.entity.tinybird.chirp": "PÔjaro gorjea", - "subtitles.twilightforest.entity.tinybird.hurt": "PÔjaro herido", - "subtitles.twilightforest.entity.tinybird.song": "PÔjaro cantando", - "subtitles.twilightforest.entity.tome.death": "Tomo de la Muerte se desmorona", - "subtitles.twilightforest.entity.tome.hurt": "Pliegues del Tomo de la Muerte", - "subtitles.twilightforest.entity.tome.idle": "Tomo de la Muerte pasa las pÔginas", - "subtitles.twilightforest.entity.urghast.ambient": "Ur-Ghast llora", - "subtitles.twilightforest.entity.urghast.death": "Ur-Ghast muerto", - "subtitles.twilightforest.entity.urghast.hurt": "Ur-Ghast grita", - "subtitles.twilightforest.entity.urghast.trapactive": "Zumbidos de la trampa Trampa Ghast", - "subtitles.twilightforest.entity.urghast.trapon": "Trampa Ghast activa", - "subtitles.twilightforest.entity.urghast.trapspindown": "Trampa Ghast se apaga", - "subtitles.twilightforest.entity.urghast.trapwarmup": "Trampa de Ghast se calienta", - "subtitles.twilightforest.entity.winterwolf.death": "Lobo de invierno muerto", - "subtitles.twilightforest.entity.winterwolf.hurt": "Lobo de invierno herido", - "subtitles.twilightforest.entity.winterwolf.idle": "Lobo de invierno gruñe", - "subtitles.twilightforest.entity.winterwolf.shoot": "Lobo de invierno dispara", - "subtitles.twilightforest.entity.winterwolf.target": "Lobo de invierno apunta a la víctima", - "subtitles.twilightforest.entity.wraith.ambient": "Jadeos de Espectro", - "subtitles.twilightforest.entity.wraith.death": "Espectro muerto", - "subtitles.twilightforest.entity.wraith.hurt": "Espectro herido", - "subtitles.twilightforest.entity.yeti.death": "Yeti muerto", - "subtitles.twilightforest.entity.yeti.grab": "Yeti agarra al jugador", - "subtitles.twilightforest.entity.yeti.growl": "Yeti gruñe", - "subtitles.twilightforest.entity.yeti.hurt": "Yeti herido", - "subtitles.twilightforest.entity.yeti.throw": "Yeti tira con fuerza", - - "subtitles.twilightforest.entity.alphayeti.parrot": "Loro gruñe fríamente", - "subtitles.twilightforest.entity.carminitegolem.parrot": "Loro golpea", - "subtitles.twilightforest.entity.hostilewolf.parrot": "Gruñidos de Loro", - "subtitles.twilightforest.entity.hydra.parrot": "Rugidos de Loro", - "subtitles.twilightforest.entity.icecore.parrot": "Crujidos de Loro", - "subtitles.twilightforest.entity.kobold.parrot": "Loro refunfuña", - "subtitles.twilightforest.entity.minotaur.parrot": "Loro muge furiosamente", - "subtitles.twilightforest.entity.mosquito.parrot": "Zumbidos de Loro", - "subtitles.twilightforest.entity.naga.parrot": "Sonajeros de Loro", - "subtitles.twilightforest.entity.redcap.parrot": "Loro se ríe", - "subtitles.twilightforest.entity.tome.parrot": "Loro hace ruidos de libros", - "subtitles.twilightforest.entity.wraith.parrot": "Jadeos de Loro", - - "subtitles.twilightforest.block.bug.squish": "Se aplasta un bicho :(", - "subtitles.twilightforest.block.builder.on": "El constructor se activa", - "subtitles.twilightforest.block.builder.off": "El constructor se desactiva", - "subtitles.twilightforest.block.builder.replace": "El constructor sustituye el bloque", - "subtitles.twilightforest.block.door.activate": "La puerta del castillo no se desvanece", - "subtitles.twilightforest.block.door.reappear": "La puerta del castillo reaparece", - "subtitles.twilightforest.block.door.vanish": "La puerta del castillo se desvanece", - "subtitles.twilightforest.block.vanish.locked": "La puerta de la Torre de Madera no se desvanece", - "subtitles.twilightforest.block.vanish.unlock": "La puerta de la Torre de Madera se desbloquea", - "subtitles.twilightforest.block.reappear.reappear": "Reaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.reappear.vanish": "Desaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.vanish.vanish": "Bloque de desaparición se desvanece", - "subtitles.twilightforest.block.core.time": "El Ôrbol del tiempo hace tictac", - "subtitles.twilightforest.block.core.transformation": "Árbol de la transformación emite un sonido ", - "subtitles.twilightforest.block.portal.woosh": "Portal del Bosque Twilight llama ", - "subtitles.twilightforest.block.pedestal.activate": "El pedestal de trofeos acepta el trofeo", - "subtitles.twilightforest.block.casket.open": "Se abre el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.close": "Se se cierra el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.repair": "El jugador repara el ataúd", - "subtitles.twilightforest.block.casket.locked": "Clics en el ataúd de recuerdo", - - "subtitles.twilightforest.item.blockchain.collide": "Bloque y Cadena golpea un bloque", - "subtitles.twilightforest.item.blockchain.hit": "Bloque y Cadena golpea a la entidad", - "subtitles.twilightforest.item.blockchain.fire": "Bloque y Cadena lanzado", - "subtitles.twilightforest.item.glasssword.break": "Espada de vidrio se rompe", - "subtitles.twilightforest.item.icebomb.fired": "Bomba de hielo lanzada", - "subtitles.twilightforest.item.lamp.burn": "LÔmpara de Cenizas quema la zona", - "subtitles.twilightforest.item.moonworm.squish": "Gusano lunar disparos", - "subtitles.twilightforest.item.magnet.grab": "El imÔn extrae el mineral", - "subtitles.twilightforest.item.fan.woosh": "Abanico de pavo real utilizado", - "subtitles.twilightforest.item.scepter.drain": "Cetro Robó la vida del objetivo ", - "subtitles.twilightforest.item.scepter.use": "Cetro usado", - "subtitles.twilightforest.item.scepter.pearl": "Cetro Crepuscular lanza la perla", - "subtitles.twilightforest.item.powder.use": "Polvo de transformación utilizado", - "subtitles.twilightforest.item.charm.keep": "Talisman de conservación devuelve los objetos", - "subtitles.twilightforest.item.charm.life": "Talisman de Vida regenera al jugador", - - "subtitles.twilightforest.te.jet.start": "Comienza el chorro de fuego", - "subtitles.twilightforest.te.jet.active": "Llamaradas de Chorro de fuego", - "subtitles.twilightforest.te.jet.pop": "Chorro de fuego empieza a brotar", - "subtitles.twilightforest.te.smoker.start": "El ahumador comienza", - "subtitles.twilightforest.te.reactor.idle": "Reactor de Carminita hace ruido", - - "subtitles.random.slider": "Trampa Deslizante en Movimiento", - - // Death Messages - "death.attack.twilightforest.ghastTear": "%1$s fue escaldado por lÔgrimas de fuego", - "death.attack.twilightforest.ghastTear.player": "%1$s fue escaldado por lÔgrimas de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.hydraFire": "%1$s fue asado vivo por la Hidra", - "death.attack.twilightforest.hydraFire.player": "%1$s fue asado vivo por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.hydraBite": "La piel de %1$s fue arrancada por la Hidra", - "death.attack.twilightforest.hydraBite.player": "La piel de %1$s fue arrancada por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.lichBolt": "La puntería del Lich era mejor que %1$s", - "death.attack.twilightforest.lichBolt.player": "El Lich y %2$s tenían mejor puntería que %1$s", - "death.attack.twilightforest.lichBomb": "%1$s sucumbió a la magia explosiva del Lich", - "death.attack.twilightforest.lichBomb.player": "%1$s sucumbió a la magia explosiva del Lich mientras escapaba %2$s", - "death.attack.twilightforest.chillingBreath": "%1$s fue congelado hasta la muerte por la Reina de las Nieves", - "death.attack.twilightforest.chillingBreath.player": "%1$s murió congelado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.squish": "%1$s fue aplastado por la Reina de las Nieves", - "death.attack.twilightforest.squish.player": "%1$s fue triturado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.thrownAxe": "%1$s fue decapitado por un hacha lanzada", - "death.attack.twilightforest.thrownAxe.player": "%1$s fue decapitado por un hacha lanzada mientras escapaba de %2$s", - "death.attack.twilightforest.thrownPickaxe": "%1$s fue decapitado por un pico lanzado", - "death.attack.twilightforest.thrownPickaxe.player": "%1$s fue decapitado por un pico lanzado mientras escapaba de %2$s", - "death.attack.twilightforest.fireJet": "%1$s caminó accidentalmente hacia un chorro de fuego", - "death.attack.twilightforest.fireJet.player": "%1$s entró accidentalmente en un chorro de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.reactor": "%1$s estuvo demasiado cerca de un reactor de carminita", - "death.attack.twilightforest.reactor.player": "%1$s estuvo demasiado cerca de un reactor de carminita mientras escapaba %2$s", - "death.attack.twilightforest.slider": "%1$s fue cortado por una trampa deslizante", - "death.attack.twilightforest.slider.player": "%1$s fue cortado por una trampa deslizante mientras escapaba de %2$s", - "death.attack.twilightforest.thorns": "%1$s caminó hacia unas espinas", - "death.attack.twilightforest.thorns.player": "%1$s caminó hacia unas espinas mientras escapaba de %2$s", - "death.attack.twilightforest.knightmetal": "%1$s fue pinchado por un bloque hecho del Caballero de Metal", - "death.attack.twilightforest.knightmetal.player": "%1$s fue pinchado por un bloque hecho del Caballero de Metal mientras escapaba de %2$s", - "death.attack.twilightforest.fiery": "%1$s caminó hacia un bloque ardiente", - "death.attack.twilightforest.fiery.player": "%1$s caminó sobre un bloque ardiente mientras escapaba de %2$s", - - "death.attack.twilightforest.axing": "%1$s ha sido cortado por %2$s", - "death.attack.twilightforest.axing.item": "%1$s ha sido cortado por %2$s con %3$s", - "death.attack.twilightforest.cicada": "%1$s fue disparado por la Cigarra", - "death.attack.twilightforest.moonworm": "%1$s fue disparado por el Gusano lunar", - "death.attack.twilightforest.ant": "%1$s vivió la vida de una hormiga gracias a %2$s", - "death.attack.twilightforest.ant.item": "%1$s vivió la vida de una hormiga gracias a %2$s usando %3$s", - "death.attack.twilightforest.haunt": "%1$s entro a la guarida de %2$s", - "death.attack.twilightforest.haunt.item": "%1$s entro a la guarida de %2$s después de ser asesinado con %3$s", - "death.attack.twilightforest.clamped": "%1$s fue sujetado hasta la muerte por %2$s", - "death.attack.twilightforest.clamped.item": "%1$s fue sujetado hasta la muerte por %2$s usando %3$s", - "death.attack.twilightforest.scorched": "%1$s fue quemado por %2$s", - "death.attack.twilightforest.scorched.item": "%1$s fue quemado por %2$s usando %3$s", - "death.attack.twilightforest.frozen": "%1$s fue congelado por %2$s usando una bomba de hielo", - "death.attack.twilightforest.frozen.item": "%1$s fue congelado por %2$s usando %3$s", - "death.attack.twilightforest.spiked": "%1$s ha sido pinchado por %2$s", - "death.attack.twilightforest.spiked.item": "%1$s ha sido pinchado por %2$s utilizando %3$s", - "death.attack.twilightforest.leafBrain": "El cerebro de %1$s fue convertido en hojas por %2$s", - "death.attack.twilightforest.leafBrain.item": "El cerebro de %1$s fue convertido en hojas por %2$s usando %3$s", - "death.attack.twilightforest.lostWords": "%1$s se quedó sin palabras tras ser asesinado por %2$s", - "death.attack.twilightforest.lostWords.item": "%1$s se quedó sin palabras tras ser asesinado por %2$s con %3$s", - "death.attack.twilightforest.snowballFight": "%1$s perdió una pelea de bolas de nieve contra %2$s", - "death.attack.twilightforest.snowballFight.item": "%1$s perdió una pelea de bolas de nieve contra %2$s usando %3$s", - "death.attack.twilightforest.yeeted": "%1$s fue golpeado por última vez por %2$s", - "death.attack.twilightforest.yeeted.item": "%1$s ha sido golpeado por última vez por %2$s mientras sostenía %3$s", - - // Misc - "twilightforest.misc.wip0": "Este bloque es un trabajo en proceso y puede tener errores o efectos no deseados que pueden dañar tu mundo.", - "twilightforest.misc.wip1": "Utilizar con precaución.", - "twilightforest.misc.nyi": "Este bloque tiene efectos que aún no se han implementado.", - - "twilightforest.loading.title.enter": "LlevÔndote al Twilight Forest...", - "twilightforest.loading.title.leave": "SacÔndote de Twilight Forest...", - - // Config - "twilightforest.config.dimension": "Ajustes de Dimensión", - "twilightforest.config.dimension.tooltip": "No podrÔs cambiar estas configuraciones sin que se produzca un reinicio.", - "twilightforest.config.dimension_id": "Dimension ID", - "twilightforest.config.dimension_id.tooltip": "Qué número de identificación asignar a la dimensión de Twilight Forest. Cambia si tienes conflictos con otro mod.", - "twilightforest.config.dimension_seed": "Semilla de Dimensión", - "twilightforest.config.dimension_seed.tooltip": "Si se establece, esto anularÔ la semilla normal del mundo cuando se generen partes de Twilight Forest Dimension.", - "twilightforest.config.spawn_in_tf": "Los nuevos jugadores aparecen en el Twilight Forest", - "twilightforest.config.spawn_in_tf.tooltip": "Si es cierto, los jugadores que aparezcan por primera vez lo harÔn en el Twilight Forest.", - "twilightforest.config.skylight_forest": "Bosque de Tragaluces [WIP]", - "twilightforest.config.skylight_forest.tooltip": "If true, Twilight Forest will generate as a void except for Major Structures.", - "twilightforest.config.skylight_oaks": "Tragaluz de Roble [WIP]", - "twilightforest.config.skylight_oaks.tooltip": "Si es cierto, los gigantescos Robles Crepusculares también aparecerÔn en los mundos vacíos.", - - "twilightforest.config.world_gen_weights": "Pesos de la generación mundial", - "twilightforest.config.world_gen_weights.tooltip": "Pesos para varias características pequeñas", - "twilightforest.config.stone_circle_weight": "Peso del círculo de piedra", - "twilightforest.config.well_weight": "Peso del pozo", - "twilightforest.config.stalagmite_weight": "Peso de la estalagmita", - "twilightforest.config.foundation_weight": "Peso de la base", - "twilightforest.config.monolith_weight": "Peso del monolito", - "twilightforest.config.grove_ruins_weight": "Peso de las ruinas de la arboleda", - "twilightforest.config.hollow_stump_weight": "Peso del muñón hueco", - "twilightforest.config.fallen_hollow_log_weight": "Peso del tronco hueco caido", - "twilightforest.config.fallen_small_log_weight": "Peso del tronco pequeño caído", - "twilightforest.config.druid_hut_weight": "Peso de la cabaña del druida", - - "twilightforest.config.hollow_hill_stalactites": "Estalactitas de la Colina Hueca personalizadas", - "twilightforest.config.hollow_hill_stalactites.tooltip": "Define estalactitas personalizadas generadas en colinas huecas.\n_Format is \\\"modid:block<:meta> size max_Length min_Height weight\\\", donde las propiedades son:\n_Size - la longitud mÔxima de la estalactita en relación con el espacio entre el suelo y el techo de la colina,\n_Max length - la longitud mÔxima de una estalactita en bloques,\n_Min height - el espacio mínimo entre el suelo de la colina y la estalactita para que se genere,\n_Weight - la frecuencia con la que se genera.\n\n_For example: \\\"minecraft:iron_ore 0.7 8 1 24\\\" añadiría una estalactita igual a la estalactita de mineral de hierro por defecto.", - "twilightforest.config.large_hill": "Grandes Colinas", - "twilightforest.config.large_hill.tooltip": "Bloques que se generan como estalactitas sólo en las grandes colinas.", - "twilightforest.config.medium_hill": "Colinas medianas y grandes", - "twilightforest.config.medium_hill.tooltip": "Bloques que se generan como estalactitas en colinas medianas y grandes.", - "twilightforest.config.small_hill": "Todas las colinas", - "twilightforest.config.small_hill.tooltip": "Bloques que generan como estalactitas en todas las colinas.", - "twilightforest.config.stalactite_config_only": "Utilice sólo la configuración de estalactitas", - "twilightforest.config.stalactite_config_only.tooltip": "Si es cierto, no se utilizarÔn las estalactitas por defecto ni las definidas por otros mods.", - - "twilightforest.config.compat": "Compatibilidad", - "twilightforest.config.compat.tooltip": "¿Debe cargarse la Compatibilidad de TF? Desactivar si la Compatibilidad de TF estÔ causando caídas o si no se desea.", - - "twilightforest.config.performance": "Ajustes de rendimiento", - "twilightforest.config.performance.tooltip": "Te permite sacrificar varias cosas para mejorar el rendimiento del mundo.", - "twilightforest.config.canopy_coverage": "Cobertura del Dosel", - "twilightforest.config.canopy_coverage.tooltip": "Cantidad de cobertura del dosel. Los números mÔs bajos mejoran la velocidad de generación de trozos a costa de un bosque mÔs delgado.", - "twilightforest.config.twilight_oaks": "Roble Crepuscular Probabilidad", - "twilightforest.config.twilight_oaks.tooltip": "Probabilidad de que un trozo del Twilight Forest contenga un roble crepuscular. Los números mÔs altos reducen el número de Ôrboles, aumentando el rendimiento.", - "twilightforest.config.leaves_light_opacity": "Opacidad de las hojas crepusculares", - "twilightforest.config.leaves_light_opacity.tooltip": "Esto controla la opacidad de las hojas, cambiando la cantidad de luz bloqueada. Puede utilizarse para disminuir la complejidad en algunos controles de iluminación.", - "twilightforest.config.glacier_packed_ice": "Glaciares de hielo compacto en lugar de hielo", - "twilightforest.config.glacier_packed_ice.tooltip": "Si se establece como verdadero, los glaciares crepusculares se generarÔn con hielo compactado en lugar de hielo translúcido normal, lo que reducirÔ la cantidad de cÔlculos de comprobación de la luz.", - "twilightforest.config.enable_skylight": "Activar el Tragaluz", - "twilightforest.config.enable_skylight.tooltip": "Si la dimensión tiene valores de tragaluz por bloque. Desactivar esto mejorarÔ significativamente el rendimiento de la generación de mundos, a costa de una iluminación plana en todas partes.\n_WARNING: Una vez que los trozos se cargan sin tragaluz, esos datos se pierden y no pueden ser regenerados fÔcilmente. Tenga cuidado.", - - "twilightforest.config.silent_cicadas": "Cigarras silenciosas", - "twilightforest.config.silent_cicadas.tooltip": "Haz que las cigarras sean silenciosas para aquellos que tengan problemas con la biblioteca de sonido o que las encuentren molestas.", - - "twilightforest.config.first_person_effects": "Renderización de efectos en 1ª persona", - "twilightforest.config.first_person_effects.tooltip": "Controla si varios efectos del mod se renderizan en la vista en primera persona. Desactívelo si los encuentra molestos.", - - "twilightforest.config.origin_dimension": "Dimensión de origen", - "twilightforest.config.origin_dimension.tooltip": "La dimensión desde la que siempre puedes viajar al Twilight Forest, así como la dimensión a la que regresarÔs. El valor predeterminado es el mundo exterior.", - "twilightforest.config.portals_in_other_dimensions": "Portales en otras dimensiones", - "twilightforest.config.portals_in_other_dimensions.tooltip": "Permitir que los portales al Twilight Forest se hagan fuera de la dimensión 'origen'. Puede considerarse una hazaña.", - "twilightforest.config.admin_portals": "Portales Twilight sólo para administradores", - "twilightforest.config.admin_portals.tooltip": "Permitir portales sólo para administradores (Operadores). Esto reduce severamente el rango en el que el mod suele escanear en busca de condiciones de portales vÔlidos, y escanea cerca de los ops solamente.", - "twilightforest.config.portals": "Desactivar los portales Twilight", - "twilightforest.config.portals.tooltip": "Desactivar por completo la creación de portales en Twilight Forest. Proporcionado para los operadores de servidores que buscan restringir la acción a la dimensión.", - "twilightforest.config.portal_creator": "Objeto creador del portal", - "twilightforest.config.portal_creator.tooltip": "Cadena de registro IDs de elementos utilizados para crear el Portal de Twilight Forest. (domain:regname:meta) meta es opcional.", - "twilightforest.config.portal_lighting": "Fuego relÔmpago para la creación del portal", - "twilightforest.config.portal_lighting.tooltip": "Establece esta opción como verdadera si quieres que el rayo que enciende el portal no prenda fuego a las cosas. Para los que no les gusta la diversión.", - "twilightforest.config.portal_return": "Los portales deben generar como un portal de dos vías", - "twilightforest.config.portal_return.tooltip": "Si es falso, el portal de retorno requerirÔ el elemento de activación.", - "twilightforest.config.check_portal_destination": "Destino del Portal Pre-Check", - "twilightforest.config.check_portal_destination.tooltip": "Determina si los nuevos portales deben ser precomprobados por seguridad. Si se activa, los portales no se formarÔn en lugar de redirigirse a un destino alternativo seguro.\n_Note que al activar esto también se reduce la tasa de comprobación de la formación de portales.", - - "twilightforest.config.progression_default": "Regla de Progreso por Defecto", - "twilightforest.config.progression_default.tooltip": "Establece el valor por defecto de la regla de juego que controla la progresión forzada.", - - "twilightforest.config.uncrafting": "Desactivar la desfabricación en la mesa de desfabricación", - "twilightforest.config.uncrafting.tooltip": "Desactiva la función de desfabricación de la mesa de desfabricación. Se ofrece como opción cuando la interacción con otros mods produce recetas explotables.", - - "twilightforest.config.optifine": "Desactivar la pantalla de aviso cuando se instala Optifine.", - "twilightforest.config.optifine.tooltip": "Desactiva la pantalla de aviso que se muestra al inicio cuando se instala Optifine.", - - "twilightforest.config.antibuilder_blacklist": "Lista negra anti-construcción", - "twilightforest.config.antibuilder_blacklist.tooltip": "Lista negra anti-construcción. (domain:block:meta) meta es opcional.", - - "twilightforest.config.animate_trophyitem": "Girar las cabezas de los trofeos en el modelo de artículo", - "twilightforest.config.animate_trophyitem.tooltip": "Gira las cabezas de los trofeos en el modelo de artículo. No tiene ningún impacto en el rendimiento. Para aquellos que no les gusta la diversión.", - - "twilightforest.config.shield_parry": "Parada de Escudo", - "twilightforest.config.shield_parry.tooltip": "Recomendamos descargar el mod Shield Parry para realizar paradas, pero estos controles quedan para sin.", - "twilightforest.config.parry_non_twilight": "Parada de proyectiles no Twilight", - "twilightforest.config.parry_non_twilight.tooltip": "Poner en true para parar los proyectiles que no son de Twilight. Recomendamos descargar el mod Shield Parry en su lugar.", - "twilightforest.config.parry_window_arrow": "Temporización para las flechas", - "twilightforest.config.parry_window_arrow.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una flecha. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_fireball": "Temporización para las bolas de fuego", - "twilightforest.config.parry_window_fireball.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una bola de fuego. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_throwable": "Temporización de los lanzamientos", - "twilightforest.config.parry_window_throwable.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar un objeto lanzado. Hay 20 ticks en 1 segundo.", - "twilightforest.config.shield_Parry_Ticks_Beam": "Ventana de tiempo para las vigas???", - "twilightforest.config.shield_Parry_Ticks_Beam.tooltip": "???", - - "twilightforest.config.loading_screen": "Pantalla de Carga", - "twilightforest.config.loading_screen.tooltip": "Sólo para clientes: Controles de la pantalla de carga", - "twilightforest.config.loading_icon_enable": "Activar la animación del icono de carga", - "twilightforest.config.loading_icon_enable.tooltip": "Tambalea el icono de carga. No tiene ningún impacto en el rendimiento. Para los que no les gusta la diversión.", - "twilightforest.config.loading_screen_swap_frequency": "Cambio de pantalla de carga", - "twilightforest.config.loading_screen_swap_frequency.tooltip": "CuÔntos ticks entre cada cambio de pantalla de carga. Poner a 0 para que no haya ningún ciclo.", - "twilightforest.config.loading_icon_wobble_bounce_frequency": "Velocidad de Animación de los Iconos", - "twilightforest.config.loading_icon_wobble_bounce_frequency.tooltip": "Frecuencia de tambaleo y rebote.", - "twilightforest.config.loading_icon_scale": "Escala del Icono", - "twilightforest.config.loading_icon_scale.tooltip": "Escala de todo el icono de carga de rebote.", - "twilightforest.config.loading_icon_bounciness": "Icono Rebotante", - "twilightforest.config.loading_icon_bounciness.tooltip": "CuÔnto rebota el icono de carga.", - "twilightforest.config.loading_icon_tilting": "Icon Wobbliness", - "twilightforest.config.loading_icon_tilting.tooltip": "Hasta dónde se tambalea el icono de carga.", - "twilightforest.config.loading_icon_tilt_pushback": "Icono Desplazamiento de la inclinación", - "twilightforest.config.loading_icon_tilt_pushback.tooltip": "Valor de empuje para volver a centrar el bamboleo del icono de carga.", - "twilightforest.config.casket_uuid_locking": "Cierre del ataúd UUID", - "twilightforest.config.casket_uuid_locking.tooltip": "Si es cierto, los ataúdes de recuerdo que se generan cuando un jugador muere no serÔn accesibles para otros jugadores. Utiliza esta opción si no quieres que la gente coja de los ataúdes de muerte de otras personas. NOTA: los operadores del servidor seguirÔn pudiendo abrir los ataúdes cerrados.", - - // Books - "twilightforest.book.lichtower.1": "\u00A78[[Un cuaderno de explorador, roído por los monstruos]]\u00A70\n\n_He comenzado a examinar la extraña aura que rodea a esta torre. Los ladrillos de la torre estÔn protegidos por una maldición, mÔs fuerte que cualquiera que haya visto antes. La magia de la maldición", - "twilightforest.book.lichtower.2": "estÔ hirviendo en los alrededores.\n\n_En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. Tendré que investigar...", - "twilightforest.book.lichtower.3": "\u00A78[[Muchas entradas después]]\u00A70\n\n_Un avance! En mis viajes avisté un enorme monstruo con forma de serpiente en un patio decorado. Cerca, recogí una escama verde desgastada y desechada.\n\n_La magia de la escama parece tener las", - "twilightforest.book.lichtower.4": "propiedades para romper maldiciones que necesito, pero la magia es demasiado débil. Puede que necesite adquirir un espécimen mÔs fresco, directamente de la criatura.", - - "twilightforest.book.labyrinth.1": "\u00A78[[Cuaderno de un explorador, escrito en papel impermeable]]\u00A70\n\n_Los mosquitos de este pantano son molestos, pero extraños. La gran mayoría de ellos parece no tener una fuente natural, ni parece tener un papel en la ecología local. He comenzado a", - "twilightforest.book.labyrinth.2": "sospechar que son una especie de maldición mÔgica.\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_Ahora que he encontrado un hechizo de protección en el laberinto en ruinas aquí, considero que mis sospechas se confirman.Tanto el hechizo de protección", - "twilightforest.book.labyrinth.3": "como los mosquitos son una maldición. Esta maldición parece tener un origen diferente a las otras que he encontrado. Tendré que investigar mÔs...\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_La maldición parece", - "twilightforest.book.labyrinth.4": "ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.\n\n_Si uno de los magos dejara de contribuir, la maldición caería sobre todo el pantano. Extrañamente,", - "twilightforest.book.labyrinth.5": "mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.hydralair.1": "\u00A78[[Un cuaderno de explorador, escrito en papel ignífugo]]\u00A70\n\n_El fuego es un obstÔculo trivial para un maestro explorador como yo. He atravesado mares de fuego y nadado por océanos de lava. El aire ardiente aquí es una variación interesante,", - "twilightforest.book.hydralair.2": "pero, en definitiva, no es un obstÔculo.\n\n_Sin embargo, lo que me detiene es que me he encontrado con otro hechizo de protección, esta vez rodeando a una poderosa criatura que debe ser el rey de este pantano de fuego. Este no es el primer hechizo de protección que", - "twilightforest.book.hydralair.3": "encuentro, y estoy comenzando a desentrañar los misterios de cómo funcionan.\n\n_Si este hechizo es como los otros, serÔ sostenido por una poderosa criatura cercana. Alrededor del pantano de fuego hay varios pantanos húmedos, y bajo esos", - "twilightforest.book.hydralair.4": "pantanos hay laberintos llenos de minotauros. La elección lógica para atar tal hechizo sería algún tipo de minotauro poderoso, diferente de alguna manera de los otros que lo rodean...", - - "twilightforest.book.tfstronghold.1": "\u00A78[[Un cuaderno de explorador, escrito en un papel débilmente brillante]\u00A70\n\n_Los tallos de oscuridad que rodean esta zona no son mÔs que la manifestación de un hechizo protector sobre todo el bosque oscuro. El hechizo causa ceguera, lo cual es bastante molesto. He visto", - "twilightforest.book.tfstronghold.2": "varias cosas interesantes en la zona y me gustaría seguir explorando.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_He encontrado unas ruinas en el bosque oscuro. Pertenecen a una fortaleza, del tipo que suelen habitar los caballeros. Sin embargo", - "twilightforest.book.tfstronghold.3": "mÔs que de caballeros, esta fortaleza estÔ llena de goblins. Llevan armadura de caballero, pero su comportamiento es muy poco caballeroso.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_En lo profundo de las ruinas, he encontrado un pedestal. El pedestal parece ser del tipo en el que", - "twilightforest.book.tfstronghold.4": "los caballeros colocarían los trofeos para demostrar su fuerza.\n\\La obtención de un cetro poderoso parece debilitar la maldición del bosque oscuro, y la colocación de un trofeo asociado a una criatura poderosa en el pedestal probablemente concedería el acceso a la", - "twilightforest.book.tfstronghold.5": "parte principal de la fortaleza.", - - "twilightforest.book.darktower.1": "\u00A78[[Un cuaderno de explorador que parece haber sobrevivido a una explosión]]\u00A70\n\n_Esta torre tiene claramente mecanismos que no me responden. Su magia casi anhela reconocer mi toque, pero no puede. Es como si los dispositivos de la torre estuvieran siendo", - "twilightforest.book.darktower.2": "suprimida por un poderoso grupo de seres cercanos.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La magia parece emanar de lo mÔs profundo de las fortalezas cercanas. No puede venir de los goblins, ya que su magia es encantadora, pero desenfocada. Allí", - "twilightforest.book.darktower.3": "debe haber alguna fuerza aún activa en los bastiones.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Mi anÔlisis indica que proviene de varias fuentes, operando como un grupo. Volveré a la fortaleza después de reabastecerme...", - - "twilightforest.book.yeticave.1": "\u00A78[[Un cuaderno de explorador, cubierto de escarcha]]\u00A70\n\n_La ventisca que rodea estas tierras nevadas es incesante. No se trata de una nevada ordinaria: es un fenómeno mÔgico. Tendré que realizar experimentos para encontrar", - "twilightforest.book.yeticave.2": "lo que es capaz de causar tal efecto.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La maldición parece ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.", - "twilightforest.book.yeticave.3": "Si uno de los magos dejara de contribuir, la ventisca se calmaría. Extrañamente, mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.icetower.1": "\u00A78[[El cuaderno de un explorador, cubierto de hielo]]\u00A70\n\n_He superado una ventisca, sólo para encontrarme con esta terrible tormenta de hielo en la cima del glaciar. Mis exploraciones me han mostrado el esplendor de un palacio de hielo, que brilla con los colores de la aurora polar. Todo", - "twilightforest.book.icetower.2": "parece protegido por una especie de maldición.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_No soy un novato. Esta maldición es alimentada por el poder de una criatura cercana. La causa de la maldición que rodea el pantano de fuego se construyó a partir del poder del líder de los", - "twilightforest.book.icetower.3": "minotauros de las cercanías.\n\n_Alrededor de este glaciar, hay masas de yetis. QuizÔs los yetis tengan algún tipo de líder...", - - "twilightforest.book.trollcave.1": "\u00A78[[Un cuaderno de explorador, dañado por el Ôcido]]\u00A70\n\n_Parece que no hay forma de protegerme de la tormenta tóxica que rodea esta zona. En mis breves excursiones, también he encontrado otro hechizo de protección, similar a los", - "twilightforest.book.trollcave.2": "otros que he presenciado. El hechizo debe estar conectado a la tormenta tóxica de alguna manera. MÔs investigación para seguir...\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Tal magia climÔtica suprema debe ser el resultado de", - "twilightforest.book.trollcave.3": "múltiples e invictos grandes males en este mundo. Mis estudios contienen varias pistas que apuntan a un pantano abrasador, un bosque cubierto de profunda oscuridad y un reino cubierto de nieve.", - - "twilightforest.book.unknown.1": "\u00A78[[Este libro muestra signos de haber sido copiado muchas veces]]\u00A70\n\n_No puedo explicar el campo que rodea esta estructura, pero la magia es poderosa. Si esta maldición es como las otras, entonces la respuesta para desbloquearla estÔ en otra parte. Tal vez hay", - "twilightforest.book.unknown.2": "algo que he dejado sin hacer, o algún monstruo que aún no he vencido. Tendré que regresar. Volveré a este lugar mÔs tarde, para ver si algo ha cambiado.", - - // Fluid - - "fluid.fierymetal": "Fierro fundido", - "fluid.knightmetal": "Caballero de Metal Fundido", - "fluid.fiery_essence": "Esencia ardiente", - - // TCon - - "material.nagascale": "Escama Naga", - "material.steeleaf": "Hoja de Acero", - "material.fierymetal": "Ardiente", - "material.knightmetal": "Caballero", - "material.raven_feather": "Pluma de Cuervo", - - "modifier.twilit": "Twilit", - "modifier.twilit.desc": "§oLa bendición iluminadora del Twilight Forest§r.\nMÔs rÔpido en el Twilight Forest.\nMÔs daños fuera del Twilight Forest.", - "modifier.twilit.extra.speed": "Velocidad de extracción en Twilight Forest: +%s", - "modifier.twilit.extra.damage": "Daños fuera del Twilight Forest: +%s", - "modifier.precipitate": "Precipitate", - "modifier.precipitate.desc": "§oEl último plan de escape en pie.§r\nCuanto menos salud tenga, mÔs rÔpido serÔ.", - "modifier.synergy": "Sinergia", - "modifier.synergy.desc": "§oMira mamÔ, no hay musgo!§r\nSe repararÔ por sí mismo si tienes Hoja de Acero en tu barra de acceso.", - "modifier.stalwart": "Incondicional", - "modifier.stalwart.desc": "§o_Los valientes y audaces.§r\nGolpear a una entidad puede hacer que te sientas envalentonado.", - "modifier.veiled": "Velada", - "modifier.veiled.desc": "§oComo un espectro!§r\nEl proyectil serÔ invisible.", - - // Immersive Engineering - "desc.immersiveengineering.info.shader.rarity.twilight": "Twilight", - - "item.twilightforest.shader": "Twilit Shader: %s", - "item.twilightforest.shader_bag": "Twilit %s Shader Bag", - - "item.twilightforest.shader.name.twilight": "Twilight", - "item.twilightforest.shader.name.firefly": "Luciérnaga", - "item.twilightforest.shader.name.questing_ram": "Carnero de la Búsqueda", - "item.twilightforest.shader.name.ironwood": "Madera de Hierro", - "item.twilightforest.shader.name.steeleaf": "Hoja de Acero", - "item.twilightforest.shader.name.knightly": "Caballero de Metal", - "item.twilightforest.shader.name.fiery": "Ardiente", - "item.twilightforest.shader.name.snakestone": "Piedra de la Serpiente", - "item.twilightforest.shader.name.naga": "Naga", - "item.twilightforest.shader.name.lich": "Lich", - "item.twilightforest.shader.name.mazestone": "Piedra de Laberinto", - "item.twilightforest.shader.name.pinch_beetle": "Escarabajo de Pinzas", - "item.twilightforest.shader.name.minoshroom": "Minosetauro", - "item.twilightforest.shader.name.hydra": "Hidra", - "item.twilightforest.shader.name.underbrick": "Subsuelo de Ladrillos", - "item.twilightforest.shader.name.knight_phantom": "Caballero Fantasma", - "item.twilightforest.shader.name.towerwood": "Torre de Madera", - "item.twilightforest.shader.name.carminite": "Carminita", - "item.twilightforest.shader.name.ur-ghast": "Ur-Ghast", - "item.twilightforest.shader.name.alpha_yeti": "Yeti Alfa", - "item.twilightforest.shader.name.auroralized": "Auroralizado", - "item.twilightforest.shader.name.snow_queen": "Reina de las Nieves", - "item.twilightforest.shader.name.cube_of_annihilation": "Cubo de la Aniquilación", - "item.twilightforest.shader.name.final_castle": "Castillo Final", - - // Optifine - "twilightforest.gui.optifine.title": "AVISO: OPTIFINE DETECTADO", - "twilightforest.gui.optifine.message": "Antes de continuar, por favor, tenga en cuenta que Optifine es conocido por causar fallos, errores visuales de entidades multiparte y muchos otros problemas.\n\nAntes de informar de un error, por favor, elimine Optifine primero y compruebe de nuevo si el error sigue presente.\n\nLos problemas relacionados con Optifine no pueden ser resueltos por Twilight Forest!\n\nEsta pantalla puede ser desactivada en la configuración del cliente." -} diff --git a/src/main/resources/assets/twilightforest/lang/es_mx.json b/src/main/resources/assets/twilightforest/lang/es_mx.json deleted file mode 100644 index 66da7d7cb1..0000000000 --- a/src/main/resources/assets/twilightforest/lang/es_mx.json +++ /dev/null @@ -1,1315 +0,0 @@ -{ - "itemGroup.twilightforest": "Twilight Forest", - - // ADVANCEMENTS - "advancement.twilightforest.root.desc": "Entra en el misterioso bosque mÔgico: the Twilight Forest.", - - // General progression - "advancement.twilightforest.hedge": "Golpeador de Bichos", - "advancement.twilightforest.hedge.desc": "Derrota a una araña en un %s.", - - "advancement.twilightforest.hill1": "Las botas son mías!", - "advancement.twilightforest.hill1.desc": "Derrota a un %s en un pequeño %s.", - "advancement.twilightforest.hill2": "Qué fue ese ruido?", - "advancement.twilightforest.hill2.desc": "Derrota a un %s en un medio %s.", - "advancement.twilightforest.hill3": "Veo a través de ti", - "advancement.twilightforest.hill3.desc": "Derrota a un %s en un gran %s.", - - "advancement.twilightforest.quest_ram": "Consumación de Baaahs", - "advancement.twilightforest.quest_ram.desc": "Dale al %s lo que le falta.", - - // Map - "advancement.twilightforest.magic_map_focus": "Con El Fuego Se Escribe", - "advancement.twilightforest.magic_map_focus.desc": "Elabora el %s con un %s, %s, y %s.", - "advancement.twilightforest.magic_map": "Puedo Ver Para Siempre", - "advancement.twilightforest.magic_map.desc": "Haz los %s.", - "advancement.twilightforest.maze_map": "Y Ahora, a Encontrar la Salida", - "advancement.twilightforest.maze_map.desc": "Elabora los %s después de obtener el foco del laberinto.", - "advancement.twilightforest.ore_map": "Cómo puede merecer la pena?", - "advancement.twilightforest.ore_map.desc": "Haz los %s.", - - // Mainline beginning progression - "advancement.twilightforest.twilight_hunter": "El Silencio del Bosque", - "advancement.twilightforest.twilight_hunter.desc": "Cazar algo de la fauna local.", - - "advancement.twilightforest.kill_naga": "Es Hora de Igualar la Balanza", - "advancement.twilightforest.kill_naga.desc": "Mata al %s en su patio del bosque y obtén un %s para superar la barrera mÔgica que rodea la torre del Lich.", - "advancement.twilightforest.naga_armors": "Armero Naga", - "advancement.twilightforest.naga_armors.desc": "Crea la armadura de pecho y de piernas de %s.", - - "advancement.twilightforest.kill_lich": "Trae a tus muertos", - "advancement.twilightforest.kill_lich.desc": "Mata a los % en lo alto de su torre y recupera un cetro para eliminar los mosquitos venenosos del Pantano, ver a través de la oscuridad cegadora de la maldición del Bosque Oscuro y resistir el frío del Bosque Nevado.", - "advancement.twilightforest.lich_scepters": "Por Nuestros Poderes Combinados!", - "advancement.twilightforest.lich_scepters.desc": "Consigue los cuatro cetros de poder.", - - // Swamp Progression - "advancement.twilightforest.progress_labyrinth": "El Poderoso Stroganoff", - "advancement.twilightforest.progress_labyrinth.desc": "El guiso de carne y hongos te calienta agradablemente, lo suficiente como para que sientas que estÔs lo suficientemente aclimatado como para aventurarte en el Pantano del Fuego.", - "advancement.twilightforest.kill_hydra": "Cazador de Hidras", - "advancement.twilightforest.kill_hydra.desc": "Derrota a los poderosos %s y empodérate.", - "advancement.twilightforest.mazebreaker": "Rompiendo el Laberinto", - "advancement.twilightforest.mazebreaker.desc": "Encuentra el pico %s en la bóveda secreta del laberinto.", - "advancement.twilightforest.hydra_chop": "Chuleta de Hidra, Baby!", - "advancement.twilightforest.hydra_chop.desc": "Disminuye el consumo de carne de %s hydra cuando la barra de comida esté vacía.", - - // Dark Forest Progression - "advancement.twilightforest.progress_trophy_pedestal": "Trofeo de Campeón", - "advancement.twilightforest.progress_trophy_pedestal.desc": "Reclama tu título colocando un trofeo en el pedestal de las ruinas del bosque oscuro.", - "advancement.twilightforest.progress_knights": "Aclimatación de Carminita", - "advancement.twilightforest.progress_knights.desc": "Acomoda a los inquietos fantasmas en la Tumba del Caballero y los dispositivos de la torre de carminita te obedecerÔn.", - "advancement.twilightforest.ghast_trap": "Algo extraño en la Torre de Madera", - "advancement.twilightforest.ghast_trap.desc": "Mata a los %s alrededor de un %s y actívalo para arrancar el %s del cielo!", - "advancement.twilightforest.progress_ur_ghast": "LÔgrimas de Fuego", - "advancement.twilightforest.progress_ur_ghast.desc": "Toca las lÔgrimas rojas y ardientes de los %s.", - - "advancement.twilightforest.experiment_115": "Carne misteriosa?", - "advancement.twilightforest.experiment_115.desc": "Parece un pastel, aunque...", - "advancement.twilightforest.experiment_115_2": "Tomar nota: ”Un gran éxito!", - "advancement.twilightforest.experiment_115_2.desc": "Es tan delicioso y húmedo!", - - // Snow Forest Progression - "advancement.twilightforest.progress_yeti": "Pelaje Alfa", - "advancement.twilightforest.progress_yeti.desc": "Cubre tus prendas con el suave pelaje de los %s, manteniéndote a salvo del frío del Glaciar.", - "advancement.twilightforest.progress_glacier": "Cielos Despejados", - "advancement.twilightforest.progress_glacier.desc": "Derrota a los %s encima de los %s.", - "advancement.twilightforest.arctic_dyed": "Ponerse a la Moda", - "advancement.twilightforest.arctic_dyed.desc": "Tiñe las cuatro piezas de la Armadura Ártica.", - - // Mid-way Misc. Stuff - "advancement.twilightforest.glass_sword": "Una Maravilla De Un Solo Golpe", - "advancement.twilightforest.glass_sword.desc": "Espero que lo hayas aprovechado.", - - "advancement.twilightforest.fiery_set": "Galones de Sangre y LÔgrimas", - "advancement.twilightforest.fiery_set.desc": "Empuña una herramienta o arma mientras tienes al menos una pieza de armadura de ardiente en tu inventario.", - - // Highlands - "advancement.twilightforest.progress_merge": "Enfrentamiento Final", - "advancement.twilightforest.progress_merge.desc": "Mata a los %s, %s y %s para eliminar la lluvia Ôcida y envalentonarte para las Tierras Altas.", - "advancement.twilightforest.troll": "Trolleamos un Poco", - "advancement.twilightforest.troll.desc": "Encuentra y mata a un %s.", - "advancement.twilightforest.beanstalk": "Jack y las Habichuelas", - "advancement.twilightforest.beanstalk.desc": "Consigue algunos %s en las cuevas de los trolls y úsalos en el suelo brillante bajo las nubes.", - "advancement.twilightforest.giants": "Estoy en las Nubes", - "advancement.twilightforest.giants.desc": "Mata a un %s en las nubes, recupera un %s, y vuelve a las cuevas de los trolls.", - "advancement.twilightforest.progress_troll": "Deseo MÔs Quemaduras", - "advancement.twilightforest.progress_troll.desc": "Encuentra los %s en las cuevas de los trolls, y podrÔs quemar las barreras de espinas.", - "advancement.twilightforest.progress_thorns": "MÔs AllÔ De Las Espinas [NYI]", - "advancement.twilightforest.progress_thorns.desc": "Pasa por las Tierras Espinosas y desbloquea la puerta del castillo.", - "advancement.twilightforest.progress_castle": "Wow Que Super Castillo!!! [NYI]", - "advancement.twilightforest.progress_castle.desc": "Qué podría haber en ese castillo?!?", - - // Collections - "advancement.twilightforest.twilight_dining": "Cenamos en el Eterno Atardecer", - "advancement.twilightforest.twilight_dining.desc": "Come toda la comida exclusiva de Twilight Forest.", - "advancement.twilightforest.experiment_115_3": "Comer 115 cada día, 115 años, para siempre", - "advancement.twilightforest.experiment_115_3.desc": "comer experimento ciento quince durante todo el día, para siempre, ciento quince veces experimento ciento quince, experimento ciento quince punto com, doble-u doble-u punto experimento ciento quince punto com, ciento quince años, cada minuto experimento ciento quince punto com, doble-u doble-u punto ciento quince punto com", - "advancement.twilightforest.arborist": "Dendrologista Maníaco", - "advancement.twilightforest.arborist.desc": "Prepara tus hachas y tijeras. Busca en todos los rincones y consigue todo lo que provenga de los Ôrboles. Construye, saquea y obtén cada tabla... Ôrbol joven... hojas... mÔs... todo. ”TODO!", - - "twilightforest.twilight_portal.unsafe": "No parece seguro aquí...", - "twilightforest.trophy_pedestal.ineligible": "No eres digno.", - "twilightforest.ore_meter.range": "Radio: %s, Origen: [%s, %s]", - "twilightforest.ore_meter.exposed": "Expuesto: %s", - "twilightforest.scepter_charges": "Quedan %d cargas", - - // Commands - "commands.tffeature.usage": "/tffeature ", - "commands.tffeature.nearest": "The nearest feature is %s", - "commands.tffeature.center": "Center of feature: %s", - "commands.tffeature.chunk": "Are in feature chunk: %s", - "commands.tffeature.structure.inside": "You are in the structure for that feature", - "commands.tffeature.structure.outside": "You are not in the structure for that feature", - "commands.tffeature.structure.required": "You are not in a structure", - "commands.tffeature.structure.conquer.status": "Structure conquer flag: %s", - "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, changing to %s", - "commands.tffeature.locate.usage": "/tffeature locate ", - "commands.tfreload.reload": "Reloading Twilight Forest Shaders!", - - // Biomes - "biome.twilightforest.forest": "Bosque Crepuscular", - "biome.twilightforest.dense_forest": "Bosque Denso", - "biome.twilightforest.firefly_forest": "Bosque de las Luciérnagas", - "biome.twilightforest.clearing": "Despeje Crepuscular", - "biome.twilightforest.oak_savannah": "Sabana de Roble", - "biome.twilightforest.stream": "Corriente Crepuscular", - "biome.twilightforest.lake": "Lago Crepuscular", - "biome.twilightforest.mushroom_forest": "Bosque de Hongos", - "biome.twilightforest.dense_mushroom_forest": "Bosque Denso de Hongos", - "biome.twilightforest.enchanted_forest": "Bosque Encantado", - "biome.twilightforest.spooky_forest": "Bosque Espeluznante", - "biome.twilightforest.swamp": "TPantano Crepuscular", - "biome.twilightforest.fire_swamp": "Pantano de Fuego", - "biome.twilightforest.dark_forest": "Bosque Oscuro", - "biome.twilightforest.dark_forest_center": "Centro del Bosque Oscuro", - "biome.twilightforest.snowy_forest": "Bosque Nevado", - "biome.twilightforest.glacier": "Glaciar Crepuscular", - "biome.twilightforest.highlands": "Tierras Altas Crepusculares", - "biome.twilightforest.thornlands": "Tierras Espinosas", - "biome.twilightforest.final_plateau": "Meseta Final", - - // Gamerules - "gamerule.tfEnforcedProgression": "Progresión de Twilight Forest", - - // Enchantments - "enchantment.twilightforest.fire_react": "Reacción al Fuego", - "enchantment.twilightforest.chill_aura": "Aura fría", - - // Effects - "effect.twilightforest.frosted": "Escarchado", - - // Blocks - "block.twilightforest.twilight_oak_log": "Tronco de Roble Crepuscular", - "block.twilightforest.canopy_log": "Tronco de Dosel Arbóreo", - "block.twilightforest.mangrove_log": "Tronco de Manglar", - "block.twilightforest.dark_log": "Tronco de Madera Oscura", - "block.twilightforest.stripped_twilight_oak_log": "Tronco de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_log": "Tronco de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_log": "Tronco de Manglar Sin Corteza", - "block.twilightforest.stripped_dark_log": "Tronco de Madera Oscura Sin Corteza", - "block.twilightforest.twilight_oak_wood": "Madera de Roble Crepuscular", - "block.twilightforest.canopy_wood": "Madera de Dosel Arbóreo", - "block.twilightforest.mangrove_wood": "Madera de Manglar", - "block.twilightforest.dark_wood": "Madera Oscura", - "block.twilightforest.stripped_twilight_oak_wood": "Madera de Roble Crepuscular Sin Corteza", - "block.twilightforest.stripped_canopy_wood": "Madera de Dosel Arbóreo Sin Corteza", - "block.twilightforest.stripped_mangrove_wood": " Madera de Manglar Despojada", - "block.twilightforest.stripped_dark_wood": " Madera oscura despojada", - "block.twilightforest.twilight_oak_leaves": "Hojas de Roble Crepuscular", - "block.twilightforest.canopy_leaves": "Hojas de Dosel Arbóreo", - "block.twilightforest.mangrove_leaves": "Hojas de Manglar", - "block.twilightforest.rainboak_leaves": "Hojas de Roble Arco Iris", - "block.twilightforest.firefly": "Luciérnaga", - "block.twilightforest.cicada": "Cigarra", - "block.twilightforest.cicada.desc": "Y si esto se pudiera lanzar contra alguien con un cañón de riel...?", - "block.twilightforest.twilight_portal": "Portal de Twilight Forest", - "block.twilightforest.maze_stone": "Piedra de Laberinto", - "block.twilightforest.maze_stone_brick": "Ladrillos de Piedra de Laberinto", - "block.twilightforest.maze_stone_chiseled": "Piedra de Laberinto Grabados", - "block.twilightforest.maze_stone_decorative": "Ladrillos de Piedra de Laberinto Decorativo", - "block.twilightforest.maze_stone_cracked": "Piedra de Laberinto Agrietada", - "block.twilightforest.maze_stone_mossy": "Piedra de Laberinto Musgosa", - "block.twilightforest.maze_stone_mosaic": "Mosaicos de Piedra del Laberinto", - "block.twilightforest.maze_stone_border": "Borde de Piedra de Laberinto", - "block.twilightforest.maze_stone_ceiling": "Techo de Piedra de Laberinto", - "block.twilightforest.spiral_bricks": "Ladrillos en Espiral", - "block.twilightforest.hedge": "Cobertura", - "block.twilightforest.boss_spawner_naga": "Generador de Jefe Naga", - "block.twilightforest.boss_spawner_lich": "Generador de Jefe Lich", - "block.twilightforest.boss_spawner_minoshroom": "Generador de Jefe Minosetauro", - "block.twilightforest.boss_spawner_hydra": "Generador de Jefe Hidra", - "block.twilightforest.boss_spawner_knight_phantom": "Generador de Jefe Caballero Fantasma", - "block.twilightforest.boss_spawner_ur_ghast": "Genrador de Jefe Ur-Ghast", - "block.twilightforest.boss_spawner_alpha_yeti": "Generador de Jefe Yeti", - "block.twilightforest.boss_spawner_snow_queen": "Generador de Jefe Reina de las Nieves", - "block.twilightforest.boss_spawner_final_boss": "Generador de Jefe Final", - "block.twilightforest.firefly_jar": "Jarra con Luciérnaga", - "block.twilightforest.cicada_jar": "Jarra con Cigarra", - "block.twilightforest.moss_patch": "Parche de Musgo [WIP]", - "block.twilightforest.mayapple": "Mayapple", - "block.twilightforest.clover_patch": "Hoja de Trébol [NYI]", - "block.twilightforest.fiddlehead": "Brotes de Helecho", - "block.twilightforest.mushgloom": "Hongo Brillante", - "block.twilightforest.torchberry_plant": "Planta de Antorcha", - "block.twilightforest.root_strand": "Hilos de raíz", - "block.twilightforest.fallen_leaves": "Montón de hojas", - "block.twilightforest.root": "Raíces", - "block.twilightforest.liveroot_block": "Raíces vivas", - "block.twilightforest.uncrafting_table": "Mesa de Desfabricación", - "block.twilightforest.smoker": "Ahumador", - "block.twilightforest.encased_smoker": "Ahumador Encapsulado", - "block.twilightforest.fire_jet": "Chorro de Fuego", - "block.twilightforest.encased_fire_jet": "Chorro de Fuego Encapsulado", - "block.twilightforest.naga_stone_head": "Cabeza de Piedra de Naga", - "block.twilightforest.naga_stone": "Piedra de Naga", - "block.twilightforest.twilight_oak_sapling": "Retoño de Roble Crepuscular Enfermizo", - "block.twilightforest.canopy_sapling": "Retoño de Dosel Arbóreo", - "block.twilightforest.mangrove_sapling": "Retoño de Manglar Crepuscular", - "block.twilightforest.darkwood_sapling": "Retoño del Árbol de Madera Oscura", - "block.twilightforest.hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular", - "block.twilightforest.time_sapling": "Retoño del Árbol del Tiempo", - "block.twilightforest.transformation_sapling": "Retoño del Árbol de Transformación", - "block.twilightforest.mining_sapling": "Retoño del Árbol Minero", - "block.twilightforest.sorting_sapling": "Retoño del Árbol de Clasificación", - "block.twilightforest.rainboak_sapling": "Retoño de Roble Arcoíris", - "block.twilightforest.moonworm": "Gusano Lunar", - "block.twilightforest.time_log": "Tronco del Árbol del Tiempo", - "block.twilightforest.transformation_log": "Tronco del Árbol de Transformación", - "block.twilightforest.mining_log": "Tronco del Árbol Minero", - "block.twilightforest.sorting_log": "Tronco del Árbol de Clasificación", - "block.twilightforest.stripped_time_log": "Tronco Sin Corteza del Árbol del Tiempo", - "block.twilightforest.stripped_transformation_log": "Tronco Sin Corteza del Árbol de Transformación", - "block.twilightforest.stripped_mining_log": "Tronco Sin Corteza del Árbol Minero", - "block.twilightforest.stripped_sorting_log": "Tronco Sin Corteza del Árbol de Clasificación", - "block.twilightforest.sorting_wood": "Madera del Árbol de Clasificación", - "block.twilightforest.mining_wood": "Madera del Árbol Minero", - "block.twilightforest.transformation_wood": "Madera del Árbol de Transformación", - "block.twilightforest.time_wood": "Madera del Árbol del Tiempo", - "block.twilightforest.stripped_sorting_wood": "Madera Pelada del Árbol de Clasificación", - "block.twilightforest.stripped_mining_wood": "Madera Pelada del Árbol Minero", - "block.twilightforest.stripped_transformation_wood": "Madera Pelada del Árbol de Transformación", - "block.twilightforest.stripped_time_wood": "Madera Pelada del Árbol del Tiempo", - "block.twilightforest.time_log_core": "Reloj del Árbol del Tiempo", - "block.twilightforest.transformation_log_core": "Corazón del Árbol de Transformación", - "block.twilightforest.mining_log_core": "Núcleo del Árbol Minero", - "block.twilightforest.sorting_log_core": "Motor del Árbol de Clasificación", - "block.twilightforest.time_leaves": "Hojas del Árbol del Tiempo", - "block.twilightforest.transformation_leaves": "Hojas del Árbol de Transformación", - "block.twilightforest.mining_leaves": "Hojas del Árbol Minero", - "block.twilightforest.sorting_leaves": "Hojas del Árbol de Clasificación", - "block.twilightforest.tower_wood": "Tablones de la Torre de Madera", - "block.twilightforest.tower_wood_encased": "Madera Encapsulada de la Torre de Madera", - "block.twilightforest.tower_wood_cracked": "Madera Agrietada de la Torre de Madera", - "block.twilightforest.tower_wood_mossy": "Madera Musgosa de la Torre de Madera", - "block.twilightforest.tower_wood_infested": "Madera Infestada de la Torre de Madera", - "block.twilightforest.reappearing_block": "Bloque Reaparecedor", - "block.twilightforest.vanishing_block": "Bloque de Desaparición", - "block.twilightforest.locked_vanishing_block": "Bloque de Desaparición Bloqueado", - "block.twilightforest.carminite_builder": "Constructor de Carminita", - "block.twilightforest.antibuilder": "Anti-Construcción", - "block.twilightforest.ghast_trap": "Trampa de Ghast", - "block.twilightforest.carminite_reactor": "Reactor de Carminita", - "block.twilightforest.fake_gold": "Oro Falso", - "block.twilightforest.fake_diamond": "Diamante Falso", - "block.twilightforest.trophy": "Trofeo de Twilight Forest", - "block.twilightforest.stronghold_shield": "Escudo de la Fortaleza", - "block.twilightforest.trophy_pedestal": "Pedestal para Trofeos", - "block.twilightforest.aurora_block": "Bloque de Aurora", - "block.twilightforest.underbrick": "Subsuelo de Ladrillos", - "block.twilightforest.underbrick_mossy": "Subsuelo de Ladrillos Musgoso", - "block.twilightforest.underbrick_cracked": "Subsuelo de Ladrillos Agrietado", - "block.twilightforest.underbrick_floor": "Piso de Subsuelo de Ladrillos [NYI]", - "block.twilightforest.brown_thorns": "Espinas", - "block.twilightforest.green_thorns": "Espinas Verdes", - "block.twilightforest.burnt_thorns": "Espinas Quemadas", - "block.twilightforest.thorn_rose": "Rosa Espinosa", - "block.twilightforest.thorn_leaves": "Hojas de Espinas", - "block.twilightforest.beanstalk_leaves": "Hojas de Frijol", - "block.twilightforest.deadrock_weathered": "Roca Muerta Desgastada", - "block.twilightforest.deadrock_cracked": "Roca Muerta Agrietada", - "block.twilightforest.deadrock": "Roca Muerta", - "block.twilightforest.dark_leaves": "Hojas de Madera Oscura", - "block.twilightforest.auroralized_glass": "Vidrio Auroralizado [NYI]", - "block.twilightforest.aurora_pillar": "Pilar de Aurora", - "block.twilightforest.aurora_slab": "Losa de Aurora", - "block.twilightforest.trollsteinn": "Trollsteinn", - "block.twilightforest.wispy_cloud": "Nube de Agua", - "block.twilightforest.fluffy_cloud": "Nube Esponjosa", - "block.twilightforest.giant_cobblestone": "Piedra Labrada Gigante", - "block.twilightforest.giant_log": "Tronco Gigante", - "block.twilightforest.giant_leaves": "Hojas Gigantes", - "block.twilightforest.giant_obsidian": "Obsidiana Gigante", - "block.twilightforest.uberous_soil": "Tierra Uberous", - "block.twilightforest.huge_stalk": "Tallos Enormes", - "block.twilightforest.huge_mushgloom": "Enorme Hongo Brillante", - "block.twilightforest.huge_mushgloom_stem": "Enorme Tallo de Hongo Brillante", - "block.twilightforest.trollvidr": "Trollvidr", - "block.twilightforest.unripe_trollber": "Trollber Sin madurar", - "block.twilightforest.trollber": "Trollber", - "block.twilightforest.slider": "Trampa Deslizante [NYI]", - "block.twilightforest.knightmetal_block": "Bloque Hecho del Caballero de Metal", - "block.twilightforest.huge_lilypad": "Enorme Almohadilla de Lirio", - "block.twilightforest.huge_waterlily": "Enorme Lirio de Agua", - "block.twilightforest.castle_brick": "Ladrillos del Castillo", - "block.twilightforest.castle_brick_worn": "Ladrillos Desgastados del Castillo", - "block.twilightforest.castle_brick_cracked": "Ladrillos Agrietados del Castillo", - "block.twilightforest.castle_brick_roof": "Azulejo del Techo del Castillo", - "block.twilightforest.castle_brick_mossy": "Ladrillos Musgosos del Castillo", - "block.twilightforest.castle_brick_frame": "Ladrillos Gruesos del Castillo", - "block.twilightforest.castle_stairs_brick": "Escaleras de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_worn": "Escaleras Desgastadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_cracked": "Escaleras Agrietadas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_mossy": "Escaleras Musgosas de Ladrillo del Castillo", - "block.twilightforest.castle_door_yellow": "Puerta Amarilla del Castillo", - "block.twilightforest.castle_door_purple": "Puerta Violeta del Castillo", - "block.twilightforest.castle_door_pink": "Puerta Rosada del Castillo", - "block.twilightforest.castle_door_blue": "Puerta Azul del Castillo", - "block.twilightforest.castle_rune_brick_pink": "Ladrillo Rúnico Rosa del Castillo ", - "block.twilightforest.castle_rune_brick_blue": "Ladrillo Rúnico Azul del Castillo", - "block.twilightforest.castle_rune_brick_yellow": "Ladrillo Rúnico Amarillo del Castillo", - "block.twilightforest.castle_rune_brick_purple": "Ladrillo Rúnico Morado del Castillo", - "block.twilightforest.castle_pillar_encased": "Pilar Encapsulado de Ladrillo del Castillo ", - "block.twilightforest.castle_pillar_encased_tile": "Azulejo Encapsulado de Ladrillos del Castillo ", - "block.twilightforest.castle_pillar_bold": "Pilar Audaz de Ladrillos del Castillo", - "block.twilightforest.castle_pillar_bold_tile": "Azulejo Audaz de Ladrillo del Castillo ", - "block.twilightforest.castle_stairs_encased": "Escaleras Encapsuladas de Ladrillo del Castillo", - "block.twilightforest.castle_stairs_bold": "Escaleras Audaces de Ladrillo del Castillo", - "block.twilightforest.force_field_purple": "Campo de Fuerza Violeta", - "block.twilightforest.force_field_pink": "Campo de Fuerza Rosa", - "block.twilightforest.force_field_orange": "Campo de Fuerza Naranja", - "block.twilightforest.force_field_green": "Campo de Fuerza Verde", - "block.twilightforest.force_field_blue": "Campo de Fuerza Azul", - "block.twilightforest.ironwood_block": "Bloque de Madera de Hierro", - "block.twilightforest.fiery_block": "Bloque de Metal Ardiente", - "block.twilightforest.steeleaf_block": "Bloque de Hoja de Acero", - "block.twilightforest.arctic_fur_block": "Bloque de Pelaje Ártico", - "block.twilightforest.carminite_block": "Bloque de Carminita", - "block.twilightforest.cinder_furnace": "Horno de Ceniza [NYI]", - "block.twilightforest.cinder_log": "Tronco de Ceniza [NYI]", - "block.twilightforest.cinder_wood": "Madera de Ceniza [NYI]", - "block.twilightforest.twilight_portal_miniature_structure": "Portal Miniatura de Twilight [NYI]", - "block.twilightforest.naga_courtyard_miniature_structure": "Patio Naga Miniatura [NYI]", - "block.twilightforest.lich_tower_miniature_structure": "Torre del Lich Miniatura [NYI]", - "block.twilightforest.stone_twist": "Piedra Torcida [NYI]", - "block.twilightforest.stone_twist_thin": "Pilar de Piedra [NYI]", - "block.twilightforest.lapis_block": "Bloque de LapislÔzuli [NYI]", - "block.twilightforest.etched_nagastone": "Piedra Naga Grabada", - "block.twilightforest.nagastone_pillar": "Pilar de Piedra Naga", - "block.twilightforest.nagastone_stairs_left": "Escaleras de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_right": "Escaleras de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_mossy": "Piedra Naga con Grabado Musgoso", - "block.twilightforest.nagastone_pillar_mossy": "Pilar de Piedra Naga Musgosa", - "block.twilightforest.nagastone_stairs_mossy_left": "Escaleras Musgosa de Piedra Naga (Izquierda)", - "block.twilightforest.nagastone_stairs_mossy_right": "Escaleras Musgosa de Piedra Naga (Derecha)", - "block.twilightforest.etched_nagastone_weathered": "Piedra Naga Grabada en Ruinas", - "block.twilightforest.nagastone_pillar_weathered": "Pilar de Piedra Naga en Ruinas", - "block.twilightforest.nagastone_stairs_weathered_left": "Escaleras de Piedra de Naga desgastadas (Izquierda)", - "block.twilightforest.nagastone_stairs_weathered_right": "Escaleras de Piedra de Naga desgastadas (Derecha)", - "block.twilightforest.iron_ladder": "Escalera de Hierro", - "block.twilightforest.terrorcotta_circle": "Terracota (Circular)", - "block.twilightforest.terrorcotta_diagonal": "Terracota (Diagonal)", - "block.twilightforest.experiment_115": "Experimento 115", - "block.twilightforest.hydra_trophy": "Trofeo de Hidra", - "block.twilightforest.naga_trophy": "Trofeo de Naga", - "block.twilightforest.minoshroom_trophy": "Trofeo de Minosetauro", - "block.twilightforest.knight_phantom_trophy": "Trofeo de Caballero Fantasma", - "block.twilightforest.lich_trophy": "Trofeo de Lich", - "block.twilightforest.ur_ghast_trophy": "Trofeo de Ur-Ghast", - "block.twilightforest.yeti_trophy": "Trofeo de Yeti Alfa", - "block.twilightforest.snow_queen_trophy": "Trofeo de Reina de las Nieves", - "block.twilightforest.quest_ram_trophy": "Trofeo del Carnero de la Búsqueda", - - "block.twilightforest.keepsake_casket": "Ataúd del recuerdo [WIP]", - "block.twilightforest.casket.broken": "Tu Ataúd estÔ demasiado dañado para contener mÔs objetos. Todos los artículos que se guardaron en tu ataúd se cayeron al suelo..", - "block.twilightforest.casket.locked": "”Este Ataúd sólo puede ser abierto por %s!", - - "block.twilightforest.potted_twilight_oak_sapling": "Retoño del Árbol de Roble Crepuscular en Maceta", - "block.twilightforest.potted_canopy_sapling": "Retoño de Dosel Arbóreo en Maceta", - "block.twilightforest.potted_mangrove_sapling": "Retoño de Manglar Crepuscular en Maceta", - "block.twilightforest.potted_darkwood_sapling": "Retoño del Árbol de Madera Oscura en Maceta", - "block.twilightforest.potted_hollow_oak_sapling": "Retoño de Roble Robusto Crepuscular en Maceta", - "block.twilightforest.potted_rainboak_sapling": "Retoño del Árbol de Roble Arcoíris en Maceta", - "block.twilightforest.potted_time_sapling": "Retoño del Árbol del Tiempo en Maceta", - "block.twilightforest.potted_trans_sapling": "Retoño del Árbol de la Transformación en Maceta", - "block.twilightforest.potted_mine_sapling": "Retoño del Árbol Minero en Maceta", - "block.twilightforest.potted_sort_sapling": "Retoño del Árbol de la Clasificación en Maceta", - "block.twilightforest.potted_mayapple": "Mayapple en Maceta", - "block.twilightforest.potted_fiddlehead": "Brotes de Helecho en Maceta", - "block.twilightforest.potted_mushgloom": "Hongo Brillante en Maceta", - "block.twilightforest.potted_thorn": "Espinas en Maceta", - "block.twilightforest.potted_green_thorn": "Espinas Verdes en Maceta", - "block.twilightforest.potted_dead_thorn": "Espinas Quemadas en Maceta", - - "block.twilightforest.canopy_planks": "Tablones de Dosel Arbóreo", - "block.twilightforest.canopy_stairs": "Esquelaras de Dosel Arbóreo", - "block.twilightforest.canopy_slab": "Losa de Dosel Arbóreo", - "block.twilightforest.canopy_button": "Botón de Dosel Arbóreo", - "block.twilightforest.canopy_fence": "Valla de Dosel Arbóreo", - "block.twilightforest.canopy_gate": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_plate": "Placa de Presión de Dosel Arbóreo", - "block.twilightforest.canopy_trapdoor": "Trampilla de Dosel Arbóreo", - "block.twilightforest.canopy_door": "Puerta de Dosel Arbóreo", - "block.twilightforest.canopy_sign": "Letrero de Dosel Arbóreo", - "block.twilightforest.canopy_wall_sign": "Cuadro de Dosel Arbóreo", - - "block.twilightforest.dark_planks": "Tablones de Madera Oscura", - "block.twilightforest.dark_stairs": "Esquelaras de Madera Oscura", - "block.twilightforest.dark_slab": "Losa de Madera Oscura", - "block.twilightforest.dark_button": "Botón de Madera Oscura", - "block.twilightforest.dark_fence": "Valla de Madera Oscura", - "block.twilightforest.dark_gate": "Puerta de Valla de Madera Oscura", - "block.twilightforest.dark_plate": "Placa de Presión de Madera Oscura", - "block.twilightforest.dark_trapdoor": "Trampilla de Madera Oscura", - "block.twilightforest.dark_door": "Puerta de Madera Oscura", - "block.twilightforest.darkwood_sign": "Letrero de Madera Oscura", - "block.twilightforest.darkwood_wall_sign": "Cuadro de Madera Oscura", - - "block.twilightforest.mangrove_planks": "Tablones de Manglar", - "block.twilightforest.mangrove_stairs": "Esquelaras de Manglar", - "block.twilightforest.mangrove_slab": "Losa de Manglar", - "block.twilightforest.mangrove_button": "Botón de Manglar", - "block.twilightforest.mangrove_fence": "Valla de Manglar", - "block.twilightforest.mangrove_gate": "Puerta de Valla de Manglar", - "block.twilightforest.mangrove_plate": "Placa de Presión de Manglar", - "block.twilightforest.mangrove_trapdoor": "Trampilla de Manglar", - "block.twilightforest.mangrove_door": "Puerta de Manglar", - "block.twilightforest.mangrove_sign": "Letrero de Manglar", - "block.twilightforest.mangrove_wall_sign": "Cuadro de Manglar", - - "block.twilightforest.twilight_oak_planks": "Tablones de Roble Crepuscular", - "block.twilightforest.twilight_oak_stairs": "Esquelaras de Roble Crepuscular", - "block.twilightforest.twilight_oak_slab": "Losa de Roble Crepuscular", - "block.twilightforest.twilight_oak_button": "Botón de Roble Crepuscular", - "block.twilightforest.twilight_oak_fence": "Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_gate": "Puerta de Valla de Roble Crepuscular", - "block.twilightforest.twilight_oak_plate": "Placa de Presión de Roble Crepuscular", - "block.twilightforest.twilight_oak_trapdoor": "Trampilla de Roble Crepuscular", - "block.twilightforest.twilight_oak_door": "Puerta de Roble Crepuscular", - "block.twilightforest.twilight_oak_sign": "Letrero de Roble Crepuscular", - "block.twilightforest.twilight_wall_sign": "Cuadro de Roble Crepuscular", - - "block.twilightforest.time_planks": "Tablones del Árbol del Tiempo", - "block.twilightforest.time_stairs": "Esquelaras del Árbol del Tiempo", - "block.twilightforest.time_slab": "Losa del Árbol del Tiempo", - "block.twilightforest.time_button": "Botón del Árbol del Tiempo", - "block.twilightforest.time_fence": "Valla del Árbol del Tiempo", - "block.twilightforest.time_gate": "Puerta de Valla del Árbol del Tiempo", - "block.twilightforest.time_plate": "Placa de Presión del Árbol del Tiempo", - "block.twilightforest.time_trapdoor": "Trampilla del Árbol del Tiempo", - "block.twilightforest.time_door": "Puerta del Árbol del Tiempo", - "block.twilightforest.time_sign": "Letrero del Árbol del Tiempo", - "block.twilightforest.time_wall_sign": "Cuadro del Árbol del Tiempo", - - "block.twilightforest.trans_planks": "Tablones del Árbol de Transformación", - "block.twilightforest.trans_stairs": "Esquelaras del Árbol de Transformación", - "block.twilightforest.trans_slab": "Losa del Árbol de Transformación", - "block.twilightforest.trans_button": "Botón del Árbol de Transformación", - "block.twilightforest.trans_fence": "Valla del Árbol de Transformación", - "block.twilightforest.trans_gate": "Puerta de Valla del Árbol de Transformación", - "block.twilightforest.trans_plate": "Placa de Presión del Árbol de Transformación", - "block.twilightforest.trans_trapdoor": "Trampilla del Árbol de Transformación", - "block.twilightforest.trans_door": "Puerta del Árbol de Transformación", - "block.twilightforest.trans_sign": "Letrero del Árbol de Transformación", - "block.twilightforest.trans_wall_sign": "Cuadro del Árbol de Transformación", - - "block.twilightforest.mine_planks": "Tablones del Árbol Minero", - "block.twilightforest.mine_stairs": "Esquelaras del Árbol Minero", - "block.twilightforest.mine_slab": "Losa del Árbol Minero", - "block.twilightforest.mine_button": "Botón del Árbol Minero", - "block.twilightforest.mine_fence": "Valla del Árbol Minero", - "block.twilightforest.mine_gate": "Puerta de Valla del Árbol Minero", - "block.twilightforest.mine_plate": "Placa de Presión del Árbol Minero", - "block.twilightforest.mine_trapdoor": "Trampilla del Árbol Minero", - "block.twilightforest.mine_door": "Puerta del Árbol Minero", - "block.twilightforest.mine_sign": "Letrero del Árbol Minero", - "block.twilightforest.mine_wall_sign": "Cuadro del Árbol Minero", - - "block.twilightforest.sort_planks": "Tablones del Árbol de Clasificación", - "block.twilightforest.sort_stairs": "Esquelaras del Árbol de Clasificación", - "block.twilightforest.sort_slab": "Losa del Árbol de Clasificación", - "block.twilightforest.sort_button": "Botón del Árbol de Clasificación", - "block.twilightforest.sort_fence": "Valla del Árbol de Clasificación", - "block.twilightforest.sort_gate": "Puerta de Valla del Árbol de Clasificación", - "block.twilightforest.sort_plate": "Placa de Presión del Árbol de Clasificación", - "block.twilightforest.sort_trapdoor": "Trampilla del Árbol de Clasificación", - "block.twilightforest.sort_door": "Puerta del Árbol de Clasificación", - "block.twilightforest.sort_sign": "Letrero del Árbol de Clasificación", - "block.twilightforest.sort_wall_sign": "Cuadro del Árbol de Clasificación", - - "block.steeleaf.tooltip": "Reduce el daño por caída en un 25%.", - "block.arctic.tooltip": "Reduce el daño por caída en un 90%", - "block.knightmetal.tooltip": "Funciona como un cactus mÔs fuerte", - - // Structures - "structure.twilight_portal": "Portal de Twilight", - "structure.hedge_maze": "Laberinto de Setos", - "structure.hollow_hill": "Colina Hueca", - "structure.quest_grove": "Búsqueda de la Arboleda", - "structure.mushroom_tower": "Castillo de los Hongos", - "structure.naga_courtyard": "Patio Naga", - "structure.lich_tower": "Torre del Lich", - "structure.minotaur_labyrinth": "Laberinto del Minotauro", - "structure.hydra_lair": "Guarida de la Hidra", - "structure.goblin_stronghold": "Fortaleza de los Goblins", - "structure.dark_tower": "La Torre Oscura", - "structure.yeti_cave": "Cueva del Yeti", - "structure.aurora_palace": "Palacio Aurora", - "structure.troll_cave_and_cloud_castle": "Cueva de los Trolls y Casa en las Nubes", - "structure.final_castle": "Castillo Final", - - // Items - "item.twilightforest.boarkchop": "Chuleta de Boark", - "item.twilightforest.naga_scale": "Escama Naga", - "item.twilightforest.naga_chestplate": "Tunica de Escama Naga", - "item.twilightforest.naga_leggings": "Mallas de Escama Naga", - "item.twilightforest.twilight_scepter": "Cetro Crepuscular", - "item.twilightforest.lifedrain_scepter": "Cetro de Robo de Vida", - "item.twilightforest.zombie_scepter": "Cetro Zombie", - "item.twilightforest.shield_scepter": "Cetro de Fortificación", - "item.twilightforest.ore_meter": "Medidor de Minerales [NYI]", - "item.twilightforest.magic_map": "Mapa MÔgico", - "item.twilightforest.maze_map": "Mapa del Laberinto", - "item.twilightforest.ore_map": "Mapa de Laberinto/Mineral", - "item.twilightforest.raven_feather": "Pluma de Cuervo", - "item.twilightforest.magic_map_focus": "Enfoque del Mapa MÔgico", - "item.twilightforest.maze_map_focus": "Enfoque del Mapa del Laberinto", - "item.twilightforest.liveroot": "Raíces Vivas", - "item.twilightforest.ironwood_raw": "Materiales de Madera de Hierro en Bruto", - "item.twilightforest.ironwood_ingot": "Lingote de Madera de Hierro", - "item.twilightforest.ironwood_helmet": "Casco de Madera de Hierro", - "item.twilightforest.ironwood_chestplate": "Pechera de Madera de Hierro", - "item.twilightforest.ironwood_leggings": "Pantalones de Madera de Hierro", - "item.twilightforest.ironwood_boots": "Botas de Madera de Hierro", - "item.twilightforest.ironwood_sword": "Espada de Madera de Hierro", - "item.twilightforest.ironwood_shovel": "Pala de Madera de Hierro", - "item.twilightforest.ironwood_pickaxe": "Pico de Madera de Hierro", - "item.twilightforest.ironwood_axe": "Hacha de Madera de Hierro", - "item.twilightforest.ironwood_hoe": "Azada de Madera de Hierro", - "item.twilightforest.torchberries": "Bayas de Antorcha", - "item.twilightforest.raw_venison": "Venado Crudo", - "item.twilightforest.cooked_venison": "Filete de Venado", - "item.twilightforest.hydra_chop": "Chuleta de Hidra", - "item.twilightforest.fiery_blood": "Sangre Ardiente", - "item.twilightforest.fiery_ingot": "Lingote Ardiente", - "item.twilightforest.fiery_helmet": "Casco Ardiente", - "item.twilightforest.fiery_chestplate": "Pechera Ardiente", - "item.twilightforest.fiery_leggings": "Pantalones Ardientes", - "item.twilightforest.fiery_boots": "Botas Ardientes", - "item.twilightforest.fiery_sword": "Espada Ardiente", - "item.twilightforest.fiery_pickaxe": "Pico Ardiente", - "item.twilightforest.steeleaf_ingot": "Hoja de Acero", - "item.twilightforest.steeleaf_helmet": "Casco de Hoja de Acero", - "item.twilightforest.steeleaf_chestplate": "Pechera de Hoja de Acero", - "item.twilightforest.steeleaf_leggings": "Pantalones de de Hoja de Acero", - "item.twilightforest.steeleaf_boots": "Botas de Hoja de Acero", - "item.twilightforest.steeleaf_sword": "Espeda de Hoja de Acero", - "item.twilightforest.steeleaf_shovel": "Pala de Hoja de Acero", - "item.twilightforest.steeleaf_pickaxe": "Pico de Hoja de Acero", - "item.twilightforest.steeleaf_axe": "Hacha de Hoja de Acero", - "item.twilightforest.steeleaf_hoe": "Azada de Hoja de Acero", - "item.twilightforest.minotaur_axe": "Hacha de Diamante del Minotauro", - "item.twilightforest.minotaur_axe_gold": "Hacha de Oro del Minotauro", - "item.twilightforest.mazebreaker_pickaxe": "Rompe Laberintos", - "item.twilightforest.transformation_powder": "Polvo de Transformación", - "item.twilightforest.raw_meef": "Carne Cruda", - "item.twilightforest.cooked_meef": "Bistec de Carne", - "item.twilightforest.meef_stroganoff": "Carne Stroganoff", - "item.twilightforest.maze_wafer": "Oblea de Laberinto", - "item.twilightforest.magic_map_empty": "Mapa MÔgico en Blanco", - "item.twilightforest.maze_map_empty": "Mapa del Laberinto en Blanco", - "item.twilightforest.ore_map_empty": "Mapa de Laberinto/Minerales en Blanco", - "item.twilightforest.ore_magnet": "ImÔn de Minerales", - "item.twilightforest.crumble_horn": "Cuerno Desmenuzado", - "item.twilightforest.peacock_fan": "Abanico de Plumas de Pavo Real", - "item.twilightforest.moonworm_queen": "Reina Gusano Lunar", - "item.twilightforest.charm_of_life_1": "Talisman de Vida I", - "item.twilightforest.charm_of_life_2": "Talisman de Vida II", - "item.twilightforest.charm_of_keeping_1": "Talisman de conservación I", - "item.twilightforest.charm_of_keeping_2": "Talisman de conservación II", - "item.twilightforest.charm_of_keeping_3": "Talisman de conservación III", - "item.twilightforest.tower_key": "Llave de la Torre", - "item.twilightforest.borer_essence": "Esencia de Barrenador", - "item.twilightforest.carminite": "Carminita", - "item.twilightforest.tf_trophy": "%s Trofeo", - "item.twilightforest.armor_shard": "Fragmento de Armadura", - "item.twilightforest.knightmetal_ingot": "Lingote Hecho del Caballero de Metal", - "item.twilightforest.armor_shard_cluster": "Grupo de Fragmentos de Armadura", - "item.twilightforest.knightmetal_helmet": "Yelmo del Caballero de Metal", - "item.twilightforest.knightmetal_chestplate": "Pechera del Caballero de Metal", - "item.twilightforest.knightmetal_leggings": "Grebas del Caballero de Metal", - "item.twilightforest.knightmetal_boots": "Botas del Caballero de Metal", - "item.twilightforest.knightmetal_sword": "Espada del Caballero de Metal", - "item.twilightforest.knightmetal_pickaxe": "Pico del Caballero de Metal", - "item.twilightforest.knightmetal_axe": "Hacha del Caballero de Metal", - "item.twilightforest.knightmetal_shield": "Escudo del Caballero de Metal", - "item.twilightforest.phantom_helmet": "Casco de Fantasma", - "item.twilightforest.phantom_chestplate": "Pechera de Fantasma", - "item.twilightforest.lamp_of_cinders": "LÔmpara de Cenizas", - "item.twilightforest.fiery_tears": "LÔgrimas de Fuego", - "item.twilightforest.ice_bomb": "Bomba de Hielo", - "item.twilightforest.yeti_helmet": "Casco con Cuernos del Yeti", - "item.twilightforest.yeti_chestplate": "Chaqueta del Yeti", - "item.twilightforest.yeti_leggings": "Pantalones del Yeti", - "item.twilightforest.yeti_boots": "Botas del Yeti", - "item.twilightforest.alpha_fur": "Pelaje de Yeti Alfa", - "item.twilightforest.arctic_fur": "Pelaje del Ártico", - "item.twilightforest.arctic_helmet": "Capucha del Ártico", - "item.twilightforest.arctic_chestplate": "Chaqueta Ártica", - "item.twilightforest.arctic_leggings": "Pantalones del Ártico", - "item.twilightforest.arctic_boots": "Botas del Ártico", - "item.twilightforest.magic_beans": "Frijoles MÔgicos", - "item.twilightforest.giant_pickaxe": "Pico del Gigante", - "item.twilightforest.giant_sword": "Espada del Gigante", - "item.twilightforest.triple_bow": "Arco triple", - "item.twilightforest.seeker_bow": "Arco Buscador", - "item.twilightforest.ice_bow": "Arco de hielo", - "item.twilightforest.ender_bow": "Arco de Ender", - "item.twilightforest.ice_sword": "Espada de Hielo", - "item.twilightforest.glass_sword": "Espada de Vidrio", - "item.twilightforest.knightmetal_ring": "Lazo de Caballero de Metal", - "item.twilightforest.block_and_chain": "Bloque y Cadena", - "item.twilightforest.cube_talisman": "TalismÔn del Cubo [NYI]", - "item.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación [WIP]", - "item.twilightforest.moon_dial": "Dial lunar", - - "item.twilightforest.wild_boar_spawn_egg": "Generar Jabalí", - "item.twilightforest.bighorn_sheep_spawn_egg": "Generar de Oveja Cimarrón", - "item.twilightforest.deer_spawn_egg": "Generar Ciervo Salvaje", - "item.twilightforest.redcap_spawn_egg": "Generar Goblin del Gorro Rojo", - "item.twilightforest.swarm_spider_spawn_egg": "Generar Araña de Enjambre", - "item.twilightforest.naga_spawn_egg": "Generar Naga", - "item.twilightforest.skeleton_druid_spawn_egg": "Generar Druida Esqueleto", - "item.twilightforest.hostile_wolf_spawn_egg": "Generar Lobo Hostil", - "item.twilightforest.wraith_spawn_egg": "Generar Espectro Crepuscular", - "item.twilightforest.hedge_spider_spawn_egg": "Generar Araña del Seto", - "item.twilightforest.hydra_spawn_egg": "Generar Hidra", - "item.twilightforest.lich_spawn_egg": "Generar Twilight Lich ", - "item.twilightforest.penguin_spawn_egg": "Generar Pingüino", - "item.twilightforest.tiny_bird_spawn_egg": "Generar PÔjaro Pequeño", - "item.twilightforest.squirrel_spawn_egg": "Generar Ardilla de Bosque", - "item.twilightforest.bunny_spawn_egg": "Generar Conejo del Bosque", - "item.twilightforest.raven_spawn_egg": "Generar Cuervo del Bosque", - "item.twilightforest.quest_ram_spawn_egg": "Generar Carnero de la Búsqueda", - "item.twilightforest.kobold_spawn_egg": "Generar Kobold", - "item.twilightforest.mosquito_swarm_spawn_egg": "Generar Enjambre de Mosquitos", - "item.twilightforest.death_tome_spawn_egg": "Generar Tomo de la Muerte", - "item.twilightforest.minotaur_spawn_egg": "Generar Minotauro", - "item.twilightforest.minoshroom_spawn_egg": "Generar Minosetauro", - "item.twilightforest.fire_beetle_spawn_egg": "Generar Escarabajo de Fuego", - "item.twilightforest.slime_beetle_spawn_egg": "Generar Escarabajo de Slime", - "item.twilightforest.pinch_beetle_spawn_egg": "Generar Escarabajo de Pinzas", - "item.twilightforest.maze_slime_spawn_egg": "Generar Slime de Laberinto", - "item.twilightforest.redcap_sapper_spawn_egg": "Generar Zapador de Gorro Rojo", - "item.twilightforest.mist_wolf_spawn_egg": "Generar Lobo de la Niebla", - "item.twilightforest.king_spider_spawn_egg": "Generar Rey Araña", - "item.twilightforest.mini_ghast_spawn_egg": "Generar Mini Ghast de Carminita", - "item.twilightforest.tower_ghast_spawn_egg": "Generar Guardia Ghast de Carminita", - "item.twilightforest.tower_golem_spawn_egg": "Generar Golem de Carminita", - "item.twilightforest.tower_termite_spawn_egg": "Generar Barrenador de la Torre de Madera", - "item.twilightforest.tower_broodling_spawn_egg": "Generar Araña Carminita", - "item.twilightforest.ur_ghast_spawn_egg": "Generar Ur-Ghast", - "item.twilightforest.blockchain_goblin_spawn_egg": "Generar Goblin de Bloques y Cadenas", - "item.twilightforest.goblin_knight_lower_spawn_egg": "Generar Caballero Goblin", - "item.twilightforest.helmet_crab_spawn_egg": "Generar Cangrejo con Casco", - "item.twilightforest.knight_phantom_spawn_egg": "Generar Caballero Fantasma", - "item.twilightforest.yeti_spawn_egg": "Generar Yeti", - "item.twilightforest.yeti_alpha_spawn_egg": "Generar Yeti Alfa", - "item.twilightforest.winter_wolf_spawn_egg": "Generar Lobo de Invierno", - "item.twilightforest.snow_guardian_spawn_egg": "Generar GuardiÔn de Nieve", - "item.twilightforest.stable_ice_core_spawn_egg": "Generar Núcleo de Hielo Estable", - "item.twilightforest.unstable_ice_core_spawn_egg": "Generar Núcleo de Hielo Inestable", - "item.twilightforest.snow_queen_spawn_egg": "Generar Reina de las Nieves", - "item.twilightforest.troll_spawn_egg": "Generar Troll de las Cavernas", - "item.twilightforest.giant_miner_spawn_egg": "Generar Minero Gigante", - "item.twilightforest.armored_giant_spawn_egg": "Generar Gigante Armado", - "item.twilightforest.ice_crystal_spawn_egg": "Generar Cristal de Hielo", - "item.twilightforest.harbinger_cube_spawn_egg": "Generar Cubo de los Presagios [NYI]", - "item.twilightforest.adherent_spawn_egg": "Generar Adepto [NYI]", - "item.twilightforest.roving_cube_spawn_egg": "Generar Cubo Giratorio [NYI]", - - "item.twilightforest.guide": "Cuaderno de BitÔcora del Viajero [WIP]", - - "item.twilightforest.minotaur_axe.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.minotaur_axe_gold.tooltip": "Daño Extra Durante la Carga", - "item.twilightforest.knightmetal_sword.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_pickaxe.tooltip": "Daño Extra a Objetivos Blindados", - "item.twilightforest.knightmetal_axe.tooltip": "Daño Extra a Objetivos No Blindados", - "item.twilightforest.giant_pickaxe.tooltip": "Rompe bloques gigantes", - "item.twilightforest.fiery_pickaxe.tooltip": "Autofundición", - "item.twilightforest.fiery_sword.tooltip": "Quema al objetivo ", - "item.twilightforest.fiery_helmet.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_chestplate.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_leggings.tooltip": "Quema a los atacante", - "item.twilightforest.fiery_boots.tooltip": "Quema a los atacante", - "item.twilightforest.phantom_helmet.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.phantom_chestplate.tooltip": "Nunca lo pierdes aunque mueras ", - "item.twilightforest.yeti_helmet.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_chestplate.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_leggings.tooltip": "Enfría a los atacantes", - "item.twilightforest.yeti_boots.tooltip": "Enfría a los atacantes", - - "item.twilightforest.arctic_armor.tooltip": "Teñible como la armadura de cuero", - - // Entities - "entity.twilightforest.wild_boar": "Jabalí", - "entity.twilightforest.bighorn_sheep": "Oveja Cimarrón", - "entity.twilightforest.deer": "Ciervo salvaje", - "entity.twilightforest.redcap": "Goblin del Gorro Rojo", - "entity.twilightforest.swarm_spider": "Araña de Enjambre", - "entity.twilightforest.naga": "Naga", - "entity.twilightforest.naga_segment": "Segmento Naga", - "entity.twilightforest.skeleton_druid": "Druida Esqueleto", - "entity.twilightforest.hostile_wolf": "Lobo hostil", - "entity.twilightforest.wraith": "Espectro Crepuscular", - "entity.twilightforest.hedge_spider": "Araña del Seto", - "entity.twilightforest.hydra": "Hidra", - "entity.twilightforest.hydra_head": "Cabeza de Hidra", - "entity.twilightforest.lich": "Twilight Lich", - "entity.twilightforest.penguin": "Pingüino", - "entity.twilightforest.tiny_bird": "PÔjaro Pequeño", - "entity.twilightforest.squirrel": "Ardilla del Bosque", - "entity.twilightforest.bunny": "Conejo Enano", - "entity.twilightforest.raven": "Cuervo del Bosque", - "entity.twilightforest.quest_ram": "Carnero de la Búsqueda", - "entity.twilightforest.kobold": "Kobold", - "entity.twilightforest.boggard": "Boggard [NYI]", - "entity.twilightforest.lich_minion": "Lich Minion", - "entity.twilightforest.loyal_zombie": "Zombi Leal", - "entity.twilightforest.mosquito_swarm": "Enjambre de Mosquitos", - "entity.twilightforest.death_tome": "Tomo de la Muerte", - "entity.twilightforest.minotaur": "Minotauro", - "entity.twilightforest.minoshroom": "Minosetauro", - "entity.twilightforest.fire_beetle": "Escarabajo de Fuego", - "entity.twilightforest.slime_beetle": "Escarabajo de Slime", - "entity.twilightforest.pinch_beetle": "Escarabajo de Pinzas", - "entity.twilightforest.maze_slime": "Slime de Laberinto", - "entity.twilightforest.redcap_sapper": "Zapador de Gorro Rojo", - "entity.twilightforest.mist_wolf": "Lobo de la Niebla", - "entity.twilightforest.king_spider": "Rey Araña", - "entity.twilightforest.firefly": "Luciérnaga", - "entity.twilightforest.mini_ghast": "Mini Ghast de Carminita", - "entity.twilightforest.tower_ghast": "Guardia Ghast de Carminita", - "entity.twilightforest.tower_golem": "Golem de Carminita", - "entity.twilightforest.tower_termite": "Barrenador de la Madera de la Torre", - "entity.twilightforest.tower_broodling": "Araña Carminita", - "entity.twilightforest.ur_ghast": "Ur-Ghast", - "entity.twilightforest.blockchain_goblin": "Generar Goblin de Bloques y Cadenas", - "entity.twilightforest.goblin_knight_upper": "Caballero Goblin Superior", - "entity.twilightforest.goblin_knight_lower": "Caballero Goblin Inferior", - "entity.twilightforest.helmet_crab": "Cangrejo con Casco", - "entity.twilightforest.knight_phantom": "Caballero Fantasma", - "entity.twilightforest.yeti": "Yeti", - "entity.twilightforest.yeti_alpha": "Yeti Alfa", - "entity.twilightforest.winter_wolf": "Lobo de Invierno", - "entity.twilightforest.snow_guardian": "GuardiÔn de Nieve", - "entity.twilightforest.stable_ice_core": "Núcleo de Hielo Estable", - "entity.twilightforest.unstable_ice_core": "Núcleo de Hielo Inestable", - "entity.twilightforest.snow_queen": "Reina de las Nieves", - "entity.twilightforest.troll": "Troll de las Cavernas", - "entity.twilightforest.giant_miner": "Minero Gigante", - "entity.twilightforest.armored_giant": "Gigante Armado", - "entity.twilightforest.ice_crystal": "Cristal de Hielo", - "entity.twilightforest.rising_zombie": "Zombie", - "entity.twilightforest.harbinger_cube": "Cubo de los Presagios [NYI]", - "entity.twilightforest.adherent": "Adepto [NYI]", - "entity.twilightforest.castle_guardian": "GuardiÔn del Castillo [NYI]", - "entity.twilightforest.roving_cube": "Cubo Giratorio [NYI]", - - "entity.twilightforest.ice_snowball": "Bola de Nieve de Hielo", - "entity.twilightforest.ice_arrow": "Flecha de Hielo", - "entity.twilightforest.seeker_arrow": "Flecha Buscadora", - "entity.twilightforest.cicada_shot": "Cigarra", - "entity.twilightforest.moonworm_shot": "Gusano Lunar", - "entity.twilightforest.nature_bolt": "Perno de la Naturaleza", - "entity.twilightforest.slime_blob": "Gota de Slime", - "entity.twilightforest.tome_bolt": " Perno del Tomo de la Muerte", - "entity.twilightforest.wand_bolt": "Perno de Cetro Crepuscular", - "entity.twilightforest.lich_bolt": "Perno del Lich", - "entity.twilightforest.lich_bomb": "Perno Explosivo del Lich", - "entity.twilightforest.hydra_mortar": "Mortero Hidra", - "entity.twilightforest.falling_ice": "Caída de hielo", - "entity.twilightforest.chain_block": "Bloque y Cadena", - "entity.twilightforest.thrown_wep": "Arma Arrojadiza", - "entity.twilightforest.charm_effect": "Efecto de Talisman", - "entity.twilightforest.cube_of_annihilation": "Cubo de la Aniquilación", - "entity.twilightforest.slider": "Trampa Deslizante en Movimiento", - "entity.twilightforest.protection_box": "Caja de Protección de la Progresión", - - // Subtitles - "subtitles.twilightforest.entity.alphayeti.alert": "Yeti Alfa se dirige al jugador", - "subtitles.twilightforest.entity.alphayeti.death": "Yeti Alfa muerto", - "subtitles.twilightforest.entity.alphayeti.grab": "Yeti Alfa agarra al jugador", - "subtitles.twilightforest.entity.alphayeti.growl": "Yeti Alfa gruñe", - "subtitles.twilightforest.entity.alphayeti.hurt": "Yeti Alfa herido", - "subtitles.twilightforest.entity.alphayeti.ice": "Yeti Alfa lanza hielo", - "subtitles.twilightforest.entity.alphayeti.pant": "Pantalones del Yeti Alfa ", - "subtitles.twilightforest.entity.alphayeti.roar": "Yeti Alfa ruge", - "subtitles.twilightforest.entity.alphayeti.throw": "Yeti Alfa tira con fuerza", - "subtitles.twilightforest.entity.bighorn.ambient": "Balido de Oveja Cimarrón", - "subtitles.twilightforest.entity.bighorn.death": "Oveja Cimarrón muerta", - "subtitles.twilightforest.entity.bighorn.hurt": "Oveja Cimarrón herida", - "subtitles.twilightforest.entity.blockchain.ambient": "Goblin de Bloques y Cadenas se ríe", - "subtitles.twilightforest.entity.blockchain.death": "Goblin de Bloques y Cadenas muerto", - "subtitles.twilightforest.entity.blockchain.hurt": "Goblin de Bloques y Cadenas grita", - "subtitles.twilightforest.entity.boar.ambient": "Gruñido de Jabalí", - "subtitles.twilightforest.entity.boar.death": "Jabalí muerto", - "subtitles.twilightforest.entity.boar.hurt": "Jabalí herido", - "subtitles.twilightforest.entity.broodling.ambient": "Siseo de Araña Carminita", - "subtitles.twilightforest.entity.broodling.death": "Araña Carminita muerta", - "subtitles.twilightforest.entity.broodling.hurt": "Araña Carminita herida", - "subtitles.twilightforest.entity.carminitegolem.attack": "Golem de Carminita ataca", - "subtitles.twilightforest.entity.carminitegolem.death": "Golem de Carminita muerto", - "subtitles.twilightforest.entity.carminitegolem.hurt": "Golem de Carminita herido", - "subtitles.twilightforest.entity.cicada": "Canto de Cigarra", - "subtitles.twilightforest.entity.deer.death": "Ciervo salvaje muerto", - "subtitles.twilightforest.entity.deer.hurt": "Ciervo salvaje herido", - "subtitles.twilightforest.entity.deer.idle": "Ciervo salvaje mugido", - "subtitles.twilightforest.entity.druid.ambient": "Cascabeles del Druida Esqueleto", - "subtitles.twilightforest.entity.druid.death": "Druida Esqueleto muerto", - "subtitles.twilightforest.entity.druid.hurt": "Druida Esqueleto herido", - "subtitles.twilightforest.entity.druid.shoot": "Druida Esqueleto dispara", - "subtitles.twilightforest.entity.firebeetle.ambient": "Siseo de Escarabajo de Fuego", - "subtitles.twilightforest.entity.firebeetle.death": "Escarabajo de Fuego muerto", - "subtitles.twilightforest.entity.firebeetle.hurt": "Escarabajo de Fuego herido", - "subtitles.twilightforest.entity.firebeetle.shoot": "Escarabajo de Fuego dispara", - "subtitles.twilightforest.entity.ghastguard.ambient": "Llanto de Guardia Ghast", - "subtitles.twilightforest.entity.ghastguard.death": "Guardia Ghast muerto", - "subtitles.twilightforest.entity.ghastguard.hurt": "Guardia Ghast herido", - "subtitles.twilightforest.entity.ghastling.ambient": "Llanto de Mini Ghast", - "subtitles.twilightforest.entity.ghastling.death": "Mini Ghast muerto", - "subtitles.twilightforest.entity.ghastling.hurt": "Mini Ghast herido", - "subtitles.twilightforest.entity.goblinknight.ambient": "Risas de Caballero Goblin", - "subtitles.twilightforest.entity.goblinknight.death": "Caballero Goblin gime de agonía", - "subtitles.twilightforest.entity.goblinknight.hurt": "Caballero Goblin chilla de dolor", - "subtitles.twilightforest.entity.goblinknight.muffled.ambient": "Caballero Goblin sofocada rie", - "subtitles.twilightforest.entity.goblinknight.muffled.death": "Caballero Goblin sofocado gime de agonía", - "subtitles.twilightforest.entity.goblinknight.muffled.hurt": "Caballero Goblin sofocado chilla de dolor", - "subtitles.twilightforest.entity.hedgespider.ambient": "Siseo de Araña del Seto", - "subtitles.twilightforest.entity.hedgespider.death": "Araña del Seto muerta", - "subtitles.twilightforest.entity.hedgespider.hurt": "Araña del Seto herida", - "subtitles.twilightforest.entity.helmetcrab.death": "Cangrejo con Casco muerto", - "subtitles.twilightforest.entity.helmetcrab.hurt": "Cangrejo con Casco herido", - "subtitles.twilightforest.entity.hostilewolf.death": "Lobo hostil muerto", - "subtitles.twilightforest.entity.hostilewolf.hurt": "Lobo hostil herido", - "subtitles.twilightforest.entity.hostilewolf.idle": "Lobo hostil gruñe", - "subtitles.twilightforest.entity.hostilewolf.target": "Lobo hostil apunta a la víctima", - "subtitles.twilightforest.entity.hydra.death": "Hidra muerto", - "subtitles.twilightforest.entity.hydra.growl": "Hidra gruñe", - "subtitles.twilightforest.entity.hydra.hurt": "Hidra herido", - "subtitles.twilightforest.entity.hydra.roar": "Hidra ruge", - "subtitles.twilightforest.entity.hydra.shoot": "Hidra lanza fuego", - "subtitles.twilightforest.entity.hydra.warn": "Hidra se prepara para morder", - "subtitles.twilightforest.entity.ice.death": "Núcleo de hielo muerto", - "subtitles.twilightforest.entity.ice.hurt": "Núcleo de hielo herido", - "subtitles.twilightforest.entity.ice.noise": "Crujidos del Núcleo de hielo", - "subtitles.twilightforest.entity.ice.shoot": "Núcleo de hielo dispara una bola de nieve", - "subtitles.twilightforest.entity.iceguardian.ambient": "Crujidos del GuardiÔn de la nieve", - "subtitles.twilightforest.entity.iceguardian.death": "GuardiÔn de la nieve muerto", - "subtitles.twilightforest.entity.iceguardian.hurt": "GuardiÔn de la nieve herido", - "subtitles.twilightforest.entity.kingspider.ambient": "Siseo de Rey Araña", - "subtitles.twilightforest.entity.kingspider.death": "Rey Araña muerto", - "subtitles.twilightforest.entity.kingspider.hurt": "Rey Araña herido", - "subtitles.twilightforest.entity.kobold.ambient": "Gruñidos de Kobold", - "subtitles.twilightforest.entity.kobold.death": "Kobold muerto", - "subtitles.twilightforest.entity.kobold.hurt": "Kobold herido", - "subtitles.twilightforest.entity.lich.ambient": "Lich respira", - "subtitles.twilightforest.entity.lich.death": "Lich muerto", - "subtitles.twilightforest.entity.lich.hurt": "Lich herido", - "subtitles.twilightforest.entity.lich.shoot": "Lich dispara", - "subtitles.twilightforest.entity.lich.teleport": "Lich se teletransporta", - "subtitles.twilightforest.entity.lichclone.hurt": "Clon Lich se evapora", - "subtitles.twilightforest.entity.loyalzombie.ambient": "Zombi leal gruñidos", - "subtitles.twilightforest.entity.loyalzombie.death": "Zombi leal muerto", - "subtitles.twilightforest.entity.loyalzombie.hurt": "Zombi leal herido", - "subtitles.twilightforest.entity.mazeslime.death": "Slime de Laberinto muerto", - "subtitles.twilightforest.entity.mazeslime.hurt": "Slime de Laberinto herido", - "subtitles.twilightforest.entity.mazeslime.squish": "Slime de Laberinto saltando", - "subtitles.twilightforest.entity.minion.ambient": "Lich Minion gruñidos", - "subtitles.twilightforest.entity.minion.death": "Lich Minion muerto", - "subtitles.twilightforest.entity.minion.hurt": "Lich Minion herido", - "subtitles.twilightforest.entity.minion.summon": "Lich invoca a un nuevo Minion", - "subtitles.twilightforest.entity.minoshroom.ambient": "Mugido de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.attack": "Carga de Minosetauro", - "subtitles.twilightforest.entity.minoshroom.death": "Minosetauro muerto", - "subtitles.twilightforest.entity.minoshroom.hurt": "Minosetauro herido", - "subtitles.twilightforest.entity.minotaur.ambient": "Mugido de Minotauro", - "subtitles.twilightforest.entity.minotaur.attack": "Carga de Minotauro", - "subtitles.twilightforest.entity.minotaur.death": "Minotauro muerto", - "subtitles.twilightforest.entity.minotaur.hurt": "Minotauro herido", - "subtitles.twilightforest.entity.mistwolf.death": "Lobo de la Niebla muerto", - "subtitles.twilightforest.entity.mistwolf.hurt": "Lobo de la Niebla herido", - "subtitles.twilightforest.entity.mistwolf.idle": "Lobo de la Niebla gruñe", - "subtitles.twilightforest.entity.mistwolf.target": "Lobo de la Niebla apunta a la víctima", - "subtitles.twilightforest.entity.mosquito.ambient": "Zumbido de Mosquitos", - "subtitles.twilightforest.entity.naga.hiss": "Siseo de Naga", - "subtitles.twilightforest.entity.naga.hurt": "Naga herido", - "subtitles.twilightforest.entity.naga.rattle": "Naga cascabeles", - "subtitles.twilightforest.entity.kphantom.axe": "Caballero Fantasma lanza el hacha", - "subtitles.twilightforest.entity.kphantom.ambient": "Caballero Fantasma jadeos", - "subtitles.twilightforest.entity.kphantom.death": "Caballero Fantasma muerto", - "subtitles.twilightforest.entity.kphantom.hurt": "Caballero Fantasma herido", - "subtitles.twilightforest.entity.kphantom.pick": "Caballero Fantasma lanza el pico", - "subtitles.twilightforest.entity.pinchbeetle.death": "Escarabajo de pinzas muerto", - "subtitles.twilightforest.entity.pinchbeetle.hurt": "Escarabajo de pinzas herido", - "subtitles.twilightforest.entity.quest.ambient": "Balido del Carnero de la Búsqueda", - "subtitles.twilightforest.entity.quest.death": "Carnero de la Búsqueda muerto", - "subtitles.twilightforest.entity.quest.hurt": "Carnero de la Búsqueda herido", - "subtitles.twilightforest.entity.raven.caw": "Canto de Cuervo", - "subtitles.twilightforest.entity.raven.squawk": "Graznido de Cuervo", - "subtitles.twilightforest.entity.redcap.ambient": "Risas de Gorro rojo", - "subtitles.twilightforest.entity.redcap.death": "Gorro rojo gime en agonía", - "subtitles.twilightforest.entity.redcap.hurt": "Gorro rojo chilla de dolor", - "subtitles.twilightforest.entity.shield.add": "Aparece un nuevo escudo", - "subtitles.twilightforest.entity.shield.break": "Rotura del escudo", - "subtitles.twilightforest.entity.slimebeetle.death": "Escarabajo de Slime muerto", - "subtitles.twilightforest.entity.slimebeetle.hurt": "Escarabajo de Slime herido", - "subtitles.twilightforest.entity.slimebeetle.squish": "Escarabajo de Slime saltando", - "subtitles.twilightforest.entity.snowqueen.ambient": "Reina de las Nieves cruje", - "subtitles.twilightforest.entity.snowqueen.attack": "Reina de las Nieves ataca", - "subtitles.twilightforest.entity.snowqueen.break": "Reina de las Nieves el escudo desvía", - "subtitles.twilightforest.entity.snowqueen.death": "Reina de las Nieves muerto", - "subtitles.twilightforest.entity.snowqueen.hurt": "Reina de las Nieves herido", - "subtitles.twilightforest.entity.swarmspider.ambient": "Siseo de Araña de enjambre", - "subtitles.twilightforest.entity.swarmspider.death": "Araña de enjambre muerto", - "subtitles.twilightforest.entity.swarmspider.hurt": "Araña de enjambre herido", - "subtitles.twilightforest.entity.tear.break": "LÔgrimas de Ur-Ghast rompiéndose", - "subtitles.twilightforest.entity.termite.ambient": "Siseo de Barrenador de la Torre de Madera", - "subtitles.twilightforest.entity.termite.death": "Barrenador de la Torre de Madera muerto", - "subtitles.twilightforest.entity.termite.hurt": "Barrenador de la Torre de Madera herido", - "subtitles.twilightforest.entity.tinybird.chirp": "PÔjaro gorjea", - "subtitles.twilightforest.entity.tinybird.hurt": "PÔjaro herido", - "subtitles.twilightforest.entity.tinybird.song": "PÔjaro cantando", - "subtitles.twilightforest.entity.tome.death": "Tomo de la Muerte se desmorona", - "subtitles.twilightforest.entity.tome.hurt": "Pliegues del Tomo de la Muerte", - "subtitles.twilightforest.entity.tome.idle": "Tomo de la Muerte pasa las pÔginas", - "subtitles.twilightforest.entity.urghast.ambient": "Ur-Ghast llora", - "subtitles.twilightforest.entity.urghast.death": "Ur-Ghast muerto", - "subtitles.twilightforest.entity.urghast.hurt": "Ur-Ghast grita", - "subtitles.twilightforest.entity.urghast.trapactive": "Zumbidos de la trampa Trampa Ghast", - "subtitles.twilightforest.entity.urghast.trapon": "Trampa Ghast activa", - "subtitles.twilightforest.entity.urghast.trapspindown": "Trampa Ghast se apaga", - "subtitles.twilightforest.entity.urghast.trapwarmup": "Trampa de Ghast se calienta", - "subtitles.twilightforest.entity.winterwolf.death": "Lobo de invierno muerto", - "subtitles.twilightforest.entity.winterwolf.hurt": "Lobo de invierno herido", - "subtitles.twilightforest.entity.winterwolf.idle": "Lobo de invierno gruñe", - "subtitles.twilightforest.entity.winterwolf.shoot": "Lobo de invierno dispara", - "subtitles.twilightforest.entity.winterwolf.target": "Lobo de invierno apunta a la víctima", - "subtitles.twilightforest.entity.wraith.ambient": "Jadeos de Espectro", - "subtitles.twilightforest.entity.wraith.death": "Espectro muerto", - "subtitles.twilightforest.entity.wraith.hurt": "Espectro herido", - "subtitles.twilightforest.entity.yeti.death": "Yeti muerto", - "subtitles.twilightforest.entity.yeti.grab": "Yeti agarra al jugador", - "subtitles.twilightforest.entity.yeti.growl": "Yeti gruñe", - "subtitles.twilightforest.entity.yeti.hurt": "Yeti herido", - "subtitles.twilightforest.entity.yeti.throw": "Yeti tira con fuerza", - - "subtitles.twilightforest.entity.alphayeti.parrot": "Loro gruñe fríamente", - "subtitles.twilightforest.entity.carminitegolem.parrot": "Loro golpea", - "subtitles.twilightforest.entity.hostilewolf.parrot": "Gruñidos de Loro", - "subtitles.twilightforest.entity.hydra.parrot": "Rugidos de Loro", - "subtitles.twilightforest.entity.icecore.parrot": "Crujidos de Loro", - "subtitles.twilightforest.entity.kobold.parrot": "Loro refunfuña", - "subtitles.twilightforest.entity.minotaur.parrot": "Loro muge furiosamente", - "subtitles.twilightforest.entity.mosquito.parrot": "Zumbidos de Loro", - "subtitles.twilightforest.entity.naga.parrot": "Sonajeros de Loro", - "subtitles.twilightforest.entity.redcap.parrot": "Loro se ríe", - "subtitles.twilightforest.entity.tome.parrot": "Loro hace ruidos de libros", - "subtitles.twilightforest.entity.wraith.parrot": "Jadeos de Loro", - - "subtitles.twilightforest.block.bug.squish": "Se aplasta un bicho :(", - "subtitles.twilightforest.block.builder.on": "El constructor se activa", - "subtitles.twilightforest.block.builder.off": "El constructor se desactiva", - "subtitles.twilightforest.block.builder.replace": "El constructor sustituye el bloque", - "subtitles.twilightforest.block.door.activate": "La puerta del castillo no se desvanece", - "subtitles.twilightforest.block.door.reappear": "La puerta del castillo reaparece", - "subtitles.twilightforest.block.door.vanish": "La puerta del castillo se desvanece", - "subtitles.twilightforest.block.vanish.locked": "La puerta de la Torre de Madera no se desvanece", - "subtitles.twilightforest.block.vanish.unlock": "La puerta de la Torre de Madera se desbloquea", - "subtitles.twilightforest.block.reappear.reappear": "Reaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.reappear.vanish": "Desaparece el Bloque Reaparecedor", - "subtitles.twilightforest.block.vanish.vanish": "Bloque de desaparición se desvanece", - "subtitles.twilightforest.block.core.time": "El Ôrbol del tiempo hace tictac", - "subtitles.twilightforest.block.core.transformation": "Árbol de la transformación emite un sonido ", - "subtitles.twilightforest.block.portal.woosh": "Portal del Bosque Twilight llama ", - "subtitles.twilightforest.block.pedestal.activate": "El pedestal de trofeos acepta el trofeo", - "subtitles.twilightforest.block.casket.open": "Se abre el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.close": "Se se cierra el ataúd del recuerdo", - "subtitles.twilightforest.block.casket.repair": "El jugador repara el ataúd", - "subtitles.twilightforest.block.casket.locked": "Clics en el ataúd de recuerdo", - - "subtitles.twilightforest.item.blockchain.collide": "Bloque y Cadena golpea un bloque", - "subtitles.twilightforest.item.blockchain.hit": "Bloque y Cadena golpea a la entidad", - "subtitles.twilightforest.item.blockchain.fire": "Bloque y Cadena lanzado", - "subtitles.twilightforest.item.glasssword.break": "Espada de vidrio se rompe", - "subtitles.twilightforest.item.icebomb.fired": "Bomba de hielo lanzada", - "subtitles.twilightforest.item.lamp.burn": "LÔmpara de Cenizas quema la zona", - "subtitles.twilightforest.item.moonworm.squish": "Gusano lunar disparos", - "subtitles.twilightforest.item.magnet.grab": "El imÔn extrae el mineral", - "subtitles.twilightforest.item.fan.woosh": "Abanico de pavo real utilizado", - "subtitles.twilightforest.item.scepter.drain": "Cetro Robó la vida del objetivo ", - "subtitles.twilightforest.item.scepter.use": "Cetro usado", - "subtitles.twilightforest.item.scepter.pearl": "Cetro Crepuscular lanza la perla", - "subtitles.twilightforest.item.powder.use": "Polvo de transformación utilizado", - "subtitles.twilightforest.item.charm.keep": "Talisman de conservación devuelve los objetos", - "subtitles.twilightforest.item.charm.life": "Talisman de Vida regenera al jugador", - - "subtitles.twilightforest.te.jet.start": "Comienza el chorro de fuego", - "subtitles.twilightforest.te.jet.active": "Llamaradas de Chorro de fuego", - "subtitles.twilightforest.te.jet.pop": "Chorro de fuego empieza a brotar", - "subtitles.twilightforest.te.smoker.start": "El ahumador comienza", - "subtitles.twilightforest.te.reactor.idle": "Reactor de Carminita hace ruido", - - "subtitles.random.slider": "Trampa Deslizante en Movimiento", - - // Death Messages - "death.attack.twilightforest.ghastTear": "%1$s fue escaldado por lÔgrimas de fuego", - "death.attack.twilightforest.ghastTear.player": "%1$s fue escaldado por lÔgrimas de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.hydraFire": "%1$s fue asado vivo por la Hidra", - "death.attack.twilightforest.hydraFire.player": "%1$s fue asado vivo por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.hydraBite": "La piel de %1$s fue arrancada por la Hidra", - "death.attack.twilightforest.hydraBite.player": "La piel de %1$s fue arrancada por la Hidra mientras escapaba de %2$s", - "death.attack.twilightforest.lichBolt": "La puntería del Lich era mejor que %1$s", - "death.attack.twilightforest.lichBolt.player": "El Lich y %2$s tenían mejor puntería que %1$s", - "death.attack.twilightforest.lichBomb": "%1$s sucumbió a la magia explosiva del Lich", - "death.attack.twilightforest.lichBomb.player": "%1$s sucumbió a la magia explosiva del Lich mientras escapaba %2$s", - "death.attack.twilightforest.chillingBreath": "%1$s fue congelado hasta la muerte por la Reina de las Nieves", - "death.attack.twilightforest.chillingBreath.player": "%1$s murió congelado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.squish": "%1$s fue aplastado por la Reina de las Nieves", - "death.attack.twilightforest.squish.player": "%1$s fue triturado por la Reina de las Nieves mientras escapaba de %2$s", - "death.attack.twilightforest.thrownAxe": "%1$s fue decapitado por un hacha lanzada", - "death.attack.twilightforest.thrownAxe.player": "%1$s fue decapitado por un hacha lanzada mientras escapaba de %2$s", - "death.attack.twilightforest.thrownPickaxe": "%1$s fue decapitado por un pico lanzado", - "death.attack.twilightforest.thrownPickaxe.player": "%1$s fue decapitado por un pico lanzado mientras escapaba de %2$s", - "death.attack.twilightforest.fireJet": "%1$s caminó accidentalmente hacia un chorro de fuego", - "death.attack.twilightforest.fireJet.player": "%1$s entró accidentalmente en un chorro de fuego mientras escapaba de %2$s", - "death.attack.twilightforest.reactor": "%1$s estuvo demasiado cerca de un reactor de carminita", - "death.attack.twilightforest.reactor.player": "%1$s estuvo demasiado cerca de un reactor de carminita mientras escapaba %2$s", - "death.attack.twilightforest.slider": "%1$s fue cortado por una trampa deslizante", - "death.attack.twilightforest.slider.player": "%1$s fue cortado por una trampa deslizante mientras escapaba de %2$s", - "death.attack.twilightforest.thorns": "%1$s caminó hacia unas espinas", - "death.attack.twilightforest.thorns.player": "%1$s caminó hacia unas espinas mientras escapaba de %2$s", - "death.attack.twilightforest.knightmetal": "%1$s fue pinchado por un bloque hecho del Caballero de Metal", - "death.attack.twilightforest.knightmetal.player": "%1$s fue pinchado por un bloque hecho del Caballero de Metal mientras escapaba de %2$s", - "death.attack.twilightforest.fiery": "%1$s caminó hacia un bloque ardiente", - "death.attack.twilightforest.fiery.player": "%1$s caminó sobre un bloque ardiente mientras escapaba de %2$s", - - "death.attack.twilightforest.axing": "%1$s ha sido cortado por %2$s", - "death.attack.twilightforest.axing.item": "%1$s ha sido cortado por %2$s con %3$s", - "death.attack.twilightforest.cicada": "%1$s fue disparado por la Cigarra", - "death.attack.twilightforest.moonworm": "%1$s fue disparado por el Gusano lunar", - "death.attack.twilightforest.ant": "%1$s vivió la vida de una hormiga gracias a %2$s", - "death.attack.twilightforest.ant.item": "%1$s vivió la vida de una hormiga gracias a %2$s usando %3$s", - "death.attack.twilightforest.haunt": "%1$s entro a la guarida de %2$s", - "death.attack.twilightforest.haunt.item": "%1$s entro a la guarida de %2$s después de ser asesinado con %3$s", - "death.attack.twilightforest.clamped": "%1$s fue sujetado hasta la muerte por %2$s", - "death.attack.twilightforest.clamped.item": "%1$s fue sujetado hasta la muerte por %2$s usando %3$s", - "death.attack.twilightforest.scorched": "%1$s fue quemado por %2$s", - "death.attack.twilightforest.scorched.item": "%1$s fue quemado por %2$s usando %3$s", - "death.attack.twilightforest.frozen": "%1$s fue congelado por %2$s usando una bomba de hielo", - "death.attack.twilightforest.frozen.item": "%1$s fue congelado por %2$s usando %3$s", - "death.attack.twilightforest.spiked": "%1$s ha sido pinchado por %2$s", - "death.attack.twilightforest.spiked.item": "%1$s ha sido pinchado por %2$s utilizando %3$s", - "death.attack.twilightforest.leafBrain": "El cerebro de %1$s fue convertido en hojas por %2$s", - "death.attack.twilightforest.leafBrain.item": "El cerebro de %1$s fue convertido en hojas por %2$s usando %3$s", - "death.attack.twilightforest.lostWords": "%1$s se quedó sin palabras tras ser asesinado por %2$s", - "death.attack.twilightforest.lostWords.item": "%1$s se quedó sin palabras tras ser asesinado por %2$s con %3$s", - "death.attack.twilightforest.snowballFight": "%1$s perdió una pelea de bolas de nieve contra %2$s", - "death.attack.twilightforest.snowballFight.item": "%1$s perdió una pelea de bolas de nieve contra %2$s usando %3$s", - "death.attack.twilightforest.yeeted": "%1$s fue golpeado por última vez por %2$s", - "death.attack.twilightforest.yeeted.item": "%1$s ha sido golpeado por última vez por %2$s mientras sostenía %3$s", - - // Misc - "twilightforest.misc.wip0": "Este bloque es un trabajo en proceso y puede tener errores o efectos no deseados que pueden dañar tu mundo.", - "twilightforest.misc.wip1": "Utilizar con precaución.", - "twilightforest.misc.nyi": "Este bloque tiene efectos que aún no se han implementado.", - - "twilightforest.loading.title.enter": "LlevÔndote al Twilight Forest...", - "twilightforest.loading.title.leave": "SacÔndote de Twilight Forest...", - - // Config - "twilightforest.config.dimension": "Ajustes de Dimensión", - "twilightforest.config.dimension.tooltip": "No podrÔs cambiar estas configuraciones sin que se produzca un reinicio.", - "twilightforest.config.dimension_id": "Dimension ID", - "twilightforest.config.dimension_id.tooltip": "Qué número de identificación asignar a la dimensión de Twilight Forest. Cambia si tienes conflictos con otro mod.", - "twilightforest.config.dimension_seed": "Semilla de Dimensión", - "twilightforest.config.dimension_seed.tooltip": "Si se establece, esto anularÔ la semilla normal del mundo cuando se generen partes de Twilight Forest Dimension.", - "twilightforest.config.spawn_in_tf": "Los nuevos jugadores aparecen en el Twilight Forest", - "twilightforest.config.spawn_in_tf.tooltip": "Si es cierto, los jugadores que aparezcan por primera vez lo harÔn en el Twilight Forest.", - "twilightforest.config.skylight_forest": "Bosque de Tragaluces [WIP]", - "twilightforest.config.skylight_forest.tooltip": "If true, Twilight Forest will generate as a void except for Major Structures.", - "twilightforest.config.skylight_oaks": "Tragaluz de Roble [WIP]", - "twilightforest.config.skylight_oaks.tooltip": "Si es cierto, los gigantescos Robles Crepusculares también aparecerÔn en los mundos vacíos.", - - "twilightforest.config.world_gen_weights": "Pesos de la generación mundial", - "twilightforest.config.world_gen_weights.tooltip": "Pesos para varias características pequeñas", - "twilightforest.config.stone_circle_weight": "Peso del círculo de piedra", - "twilightforest.config.well_weight": "Peso del pozo", - "twilightforest.config.stalagmite_weight": "Peso de la estalagmita", - "twilightforest.config.foundation_weight": "Peso de la base", - "twilightforest.config.monolith_weight": "Peso del monolito", - "twilightforest.config.grove_ruins_weight": "Peso de las ruinas de la arboleda", - "twilightforest.config.hollow_stump_weight": "Peso del muñón hueco", - "twilightforest.config.fallen_hollow_log_weight": "Peso del tronco hueco caido", - "twilightforest.config.fallen_small_log_weight": "Peso del tronco pequeño caído", - "twilightforest.config.druid_hut_weight": "Peso de la cabaña del druida", - - "twilightforest.config.hollow_hill_stalactites": "Estalactitas de la Colina Hueca personalizadas", - "twilightforest.config.hollow_hill_stalactites.tooltip": "Define estalactitas personalizadas generadas en colinas huecas.\n_Format is \\\"modid:block<:meta> size max_Length min_Height weight\\\", donde las propiedades son:\n_Size - la longitud mÔxima de la estalactita en relación con el espacio entre el suelo y el techo de la colina,\n_Max length - la longitud mÔxima de una estalactita en bloques,\n_Min height - el espacio mínimo entre el suelo de la colina y la estalactita para que se genere,\n_Weight - la frecuencia con la que se genera.\n\n_For example: \\\"minecraft:iron_ore 0.7 8 1 24\\\" añadiría una estalactita igual a la estalactita de mineral de hierro por defecto.", - "twilightforest.config.large_hill": "Grandes Colinas", - "twilightforest.config.large_hill.tooltip": "Bloques que se generan como estalactitas sólo en las grandes colinas.", - "twilightforest.config.medium_hill": "Colinas medianas y grandes", - "twilightforest.config.medium_hill.tooltip": "Bloques que se generan como estalactitas en colinas medianas y grandes.", - "twilightforest.config.small_hill": "Todas las colinas", - "twilightforest.config.small_hill.tooltip": "Bloques que generan como estalactitas en todas las colinas.", - "twilightforest.config.stalactite_config_only": "Utilice sólo la configuración de estalactitas", - "twilightforest.config.stalactite_config_only.tooltip": "Si es cierto, no se utilizarÔn las estalactitas por defecto ni las definidas por otros mods.", - - "twilightforest.config.compat": "Compatibilidad", - "twilightforest.config.compat.tooltip": "¿Debe cargarse la Compatibilidad de TF? Desactivar si la Compatibilidad de TF estÔ causando caídas o si no se desea.", - - "twilightforest.config.performance": "Ajustes de rendimiento", - "twilightforest.config.performance.tooltip": "Te permite sacrificar varias cosas para mejorar el rendimiento del mundo.", - "twilightforest.config.canopy_coverage": "Cobertura del Dosel", - "twilightforest.config.canopy_coverage.tooltip": "Cantidad de cobertura del dosel. Los números mÔs bajos mejoran la velocidad de generación de trozos a costa de un bosque mÔs delgado.", - "twilightforest.config.twilight_oaks": "Roble Crepuscular Probabilidad", - "twilightforest.config.twilight_oaks.tooltip": "Probabilidad de que un trozo del Twilight Forest contenga un roble crepuscular. Los números mÔs altos reducen el número de Ôrboles, aumentando el rendimiento.", - "twilightforest.config.leaves_light_opacity": "Opacidad de las hojas crepusculares", - "twilightforest.config.leaves_light_opacity.tooltip": "Esto controla la opacidad de las hojas, cambiando la cantidad de luz bloqueada. Puede utilizarse para disminuir la complejidad en algunos controles de iluminación.", - "twilightforest.config.glacier_packed_ice": "Glaciares de hielo compacto en lugar de hielo", - "twilightforest.config.glacier_packed_ice.tooltip": "Si se establece como verdadero, los glaciares crepusculares se generarÔn con hielo compactado en lugar de hielo translúcido normal, lo que reducirÔ la cantidad de cÔlculos de comprobación de la luz.", - "twilightforest.config.enable_skylight": "Activar el Tragaluz", - "twilightforest.config.enable_skylight.tooltip": "Si la dimensión tiene valores de tragaluz por bloque. Desactivar esto mejorarÔ significativamente el rendimiento de la generación de mundos, a costa de una iluminación plana en todas partes.\n_WARNING: Una vez que los trozos se cargan sin tragaluz, esos datos se pierden y no pueden ser regenerados fÔcilmente. Tenga cuidado.", - - "twilightforest.config.silent_cicadas": "Cigarras silenciosas", - "twilightforest.config.silent_cicadas.tooltip": "Haz que las cigarras sean silenciosas para aquellos que tengan problemas con la biblioteca de sonido o que las encuentren molestas.", - - "twilightforest.config.first_person_effects": "Renderización de efectos en 1ª persona", - "twilightforest.config.first_person_effects.tooltip": "Controla si varios efectos del mod se renderizan en la vista en primera persona. Desactívelo si los encuentra molestos.", - - "twilightforest.config.origin_dimension": "Dimensión de origen", - "twilightforest.config.origin_dimension.tooltip": "La dimensión desde la que siempre puedes viajar al Twilight Forest, así como la dimensión a la que regresarÔs. El valor predeterminado es el mundo exterior.", - "twilightforest.config.portals_in_other_dimensions": "Portales en otras dimensiones", - "twilightforest.config.portals_in_other_dimensions.tooltip": "Permitir que los portales al Twilight Forest se hagan fuera de la dimensión 'origen'. Puede considerarse una hazaña.", - "twilightforest.config.admin_portals": "Portales Twilight sólo para administradores", - "twilightforest.config.admin_portals.tooltip": "Permitir portales sólo para administradores (Operadores). Esto reduce severamente el rango en el que el mod suele escanear en busca de condiciones de portales vÔlidos, y escanea cerca de los ops solamente.", - "twilightforest.config.portals": "Desactivar los portales Twilight", - "twilightforest.config.portals.tooltip": "Desactivar por completo la creación de portales en Twilight Forest. Proporcionado para los operadores de servidores que buscan restringir la acción a la dimensión.", - "twilightforest.config.portal_creator": "Objeto creador del portal", - "twilightforest.config.portal_creator.tooltip": "Cadena de registro IDs de elementos utilizados para crear el Portal de Twilight Forest. (domain:regname:meta) meta es opcional.", - "twilightforest.config.portal_lighting": "Fuego relÔmpago para la creación del portal", - "twilightforest.config.portal_lighting.tooltip": "Establece esta opción como verdadera si quieres que el rayo que enciende el portal no prenda fuego a las cosas. Para los que no les gusta la diversión.", - "twilightforest.config.portal_return": "Los portales deben generar como un portal de dos vías", - "twilightforest.config.portal_return.tooltip": "Si es falso, el portal de retorno requerirÔ el elemento de activación.", - "twilightforest.config.check_portal_destination": "Destino del Portal Pre-Check", - "twilightforest.config.check_portal_destination.tooltip": "Determina si los nuevos portales deben ser precomprobados por seguridad. Si se activa, los portales no se formarÔn en lugar de redirigirse a un destino alternativo seguro.\n_Note que al activar esto también se reduce la tasa de comprobación de la formación de portales.", - - "twilightforest.config.progression_default": "Regla de Progreso por Defecto", - "twilightforest.config.progression_default.tooltip": "Establece el valor por defecto de la regla de juego que controla la progresión forzada.", - - "twilightforest.config.uncrafting": "Desactivar la desfabricación en la mesa de desfabricación", - "twilightforest.config.uncrafting.tooltip": "Desactiva la función de desfabricación de la mesa de desfabricación. Se ofrece como opción cuando la interacción con otros mods produce recetas explotables.", - - "twilightforest.config.optifine": "Desactivar la pantalla de aviso cuando se instala Optifine.", - "twilightforest.config.optifine.tooltip": "Desactiva la pantalla de aviso que se muestra al inicio cuando se instala Optifine.", - - "twilightforest.config.antibuilder_blacklist": "Lista negra anti-construcción", - "twilightforest.config.antibuilder_blacklist.tooltip": "Lista negra anti-construcción. (domain:block:meta) meta es opcional.", - - "twilightforest.config.animate_trophyitem": "Girar las cabezas de los trofeos en el modelo de artículo", - "twilightforest.config.animate_trophyitem.tooltip": "Gira las cabezas de los trofeos en el modelo de artículo. No tiene ningún impacto en el rendimiento. Para aquellos que no les gusta la diversión.", - - "twilightforest.config.shield_parry": "Parada de Escudo", - "twilightforest.config.shield_parry.tooltip": "Recomendamos descargar el mod Shield Parry para realizar paradas, pero estos controles quedan para sin.", - "twilightforest.config.parry_non_twilight": "Parada de proyectiles no Twilight", - "twilightforest.config.parry_non_twilight.tooltip": "Poner en true para parar los proyectiles que no son de Twilight. Recomendamos descargar el mod Shield Parry en su lugar.", - "twilightforest.config.parry_window_arrow": "Temporización para las flechas", - "twilightforest.config.parry_window_arrow.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una flecha. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_fireball": "Temporización para las bolas de fuego", - "twilightforest.config.parry_window_fireball.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar una bola de fuego. Hay 20 ticks en 1 segundo.", - "twilightforest.config.parry_window_throwable": "Temporización de los lanzamientos", - "twilightforest.config.parry_window_throwable.tooltip": "La cantidad de ticks después de levantar un escudo que hace que se pueda parar un objeto lanzado. Hay 20 ticks en 1 segundo.", - "twilightforest.config.shield_Parry_Ticks_Beam": "Ventana de tiempo para las vigas???", - "twilightforest.config.shield_Parry_Ticks_Beam.tooltip": "???", - - "twilightforest.config.loading_screen": "Pantalla de Carga", - "twilightforest.config.loading_screen.tooltip": "Sólo para clientes: Controles de la pantalla de carga", - "twilightforest.config.loading_icon_enable": "Activar la animación del icono de carga", - "twilightforest.config.loading_icon_enable.tooltip": "Tambalea el icono de carga. No tiene ningún impacto en el rendimiento. Para los que no les gusta la diversión.", - "twilightforest.config.loading_screen_swap_frequency": "Cambio de pantalla de carga", - "twilightforest.config.loading_screen_swap_frequency.tooltip": "CuÔntos ticks entre cada cambio de pantalla de carga. Poner a 0 para que no haya ningún ciclo.", - "twilightforest.config.loading_icon_wobble_bounce_frequency": "Velocidad de Animación de los Iconos", - "twilightforest.config.loading_icon_wobble_bounce_frequency.tooltip": "Frecuencia de tambaleo y rebote.", - "twilightforest.config.loading_icon_scale": "Escala del Icono", - "twilightforest.config.loading_icon_scale.tooltip": "Escala de todo el icono de carga de rebote.", - "twilightforest.config.loading_icon_bounciness": "Icono Rebotante", - "twilightforest.config.loading_icon_bounciness.tooltip": "CuÔnto rebota el icono de carga.", - "twilightforest.config.loading_icon_tilting": "Icon Wobbliness", - "twilightforest.config.loading_icon_tilting.tooltip": "Hasta dónde se tambalea el icono de carga.", - "twilightforest.config.loading_icon_tilt_pushback": "Icono Desplazamiento de la inclinación", - "twilightforest.config.loading_icon_tilt_pushback.tooltip": "Valor de empuje para volver a centrar el bamboleo del icono de carga.", - "twilightforest.config.casket_uuid_locking": "Cierre del ataúd UUID", - "twilightforest.config.casket_uuid_locking.tooltip": "Si es cierto, los ataúdes de recuerdo que se generan cuando un jugador muere no serÔn accesibles para otros jugadores. Utiliza esta opción si no quieres que la gente coja de los ataúdes de muerte de otras personas. NOTA: los operadores del servidor seguirÔn pudiendo abrir los ataúdes cerrados.", - - // Books - "twilightforest.book.lichtower.1": "\u00A78[[Un cuaderno de explorador, roído por los monstruos]]\u00A70\n\n_He comenzado a examinar la extraña aura que rodea a esta torre. Los ladrillos de la torre estÔn protegidos por una maldición, mÔs fuerte que cualquiera que haya visto antes. La magia de la maldición", - "twilightforest.book.lichtower.2": "estÔ hirviendo en los alrededores.\n\n_En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. En mi tierra natal tendría muchas opciones para lidiar con esta magia, pero aquí mis suministros son limitados. Tendré que investigar...", - "twilightforest.book.lichtower.3": "\u00A78[[Muchas entradas después]]\u00A70\n\n_Un avance! En mis viajes avisté un enorme monstruo con forma de serpiente en un patio decorado. Cerca, recogí una escama verde desgastada y desechada.\n\n_La magia de la escama parece tener las", - "twilightforest.book.lichtower.4": "propiedades para romper maldiciones que necesito, pero la magia es demasiado débil. Puede que necesite adquirir un espécimen mÔs fresco, directamente de la criatura.", - - "twilightforest.book.labyrinth.1": "\u00A78[[Cuaderno de un explorador, escrito en papel impermeable]]\u00A70\n\n_Los mosquitos de este pantano son molestos, pero extraños. La gran mayoría de ellos parece no tener una fuente natural, ni parece tener un papel en la ecología local. He comenzado a", - "twilightforest.book.labyrinth.2": "sospechar que son una especie de maldición mÔgica.\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_Ahora que he encontrado un hechizo de protección en el laberinto en ruinas aquí, considero que mis sospechas se confirman.Tanto el hechizo de protección", - "twilightforest.book.labyrinth.3": "como los mosquitos son una maldición. Esta maldición parece tener un origen diferente a las otras que he encontrado. Tendré que investigar mÔs...\n\n\u00A78[[Siguiente entrada]]\u00A70\n\n_La maldición parece", - "twilightforest.book.labyrinth.4": "ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.\n\n_Si uno de los magos dejara de contribuir, la maldición caería sobre todo el pantano. Extrañamente,", - "twilightforest.book.labyrinth.5": "mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.hydralair.1": "\u00A78[[Un cuaderno de explorador, escrito en papel ignífugo]]\u00A70\n\n_El fuego es un obstÔculo trivial para un maestro explorador como yo. He atravesado mares de fuego y nadado por océanos de lava. El aire ardiente aquí es una variación interesante,", - "twilightforest.book.hydralair.2": "pero, en definitiva, no es un obstÔculo.\n\n_Sin embargo, lo que me detiene es que me he encontrado con otro hechizo de protección, esta vez rodeando a una poderosa criatura que debe ser el rey de este pantano de fuego. Este no es el primer hechizo de protección que", - "twilightforest.book.hydralair.3": "encuentro, y estoy comenzando a desentrañar los misterios de cómo funcionan.\n\n_Si este hechizo es como los otros, serÔ sostenido por una poderosa criatura cercana. Alrededor del pantano de fuego hay varios pantanos húmedos, y bajo esos", - "twilightforest.book.hydralair.4": "pantanos hay laberintos llenos de minotauros. La elección lógica para atar tal hechizo sería algún tipo de minotauro poderoso, diferente de alguna manera de los otros que lo rodean...", - - "twilightforest.book.tfstronghold.1": "\u00A78[[Un cuaderno de explorador, escrito en un papel débilmente brillante]\u00A70\n\n_Los tallos de oscuridad que rodean esta zona no son mÔs que la manifestación de un hechizo protector sobre todo el bosque oscuro. El hechizo causa ceguera, lo cual es bastante molesto. He visto", - "twilightforest.book.tfstronghold.2": "varias cosas interesantes en la zona y me gustaría seguir explorando.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_He encontrado unas ruinas en el bosque oscuro. Pertenecen a una fortaleza, del tipo que suelen habitar los caballeros. Sin embargo", - "twilightforest.book.tfstronghold.3": "mÔs que de caballeros, esta fortaleza estÔ llena de goblins. Llevan armadura de caballero, pero su comportamiento es muy poco caballeroso.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_En lo profundo de las ruinas, he encontrado un pedestal. El pedestal parece ser del tipo en el que", - "twilightforest.book.tfstronghold.4": "los caballeros colocarían los trofeos para demostrar su fuerza.\n\\La obtención de un cetro poderoso parece debilitar la maldición del bosque oscuro, y la colocación de un trofeo asociado a una criatura poderosa en el pedestal probablemente concedería el acceso a la", - "twilightforest.book.tfstronghold.5": "parte principal de la fortaleza.", - - "twilightforest.book.darktower.1": "\u00A78[[Un cuaderno de explorador que parece haber sobrevivido a una explosión]]\u00A70\n\n_Esta torre tiene claramente mecanismos que no me responden. Su magia casi anhela reconocer mi toque, pero no puede. Es como si los dispositivos de la torre estuvieran siendo", - "twilightforest.book.darktower.2": "suprimida por un poderoso grupo de seres cercanos.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La magia parece emanar de lo mÔs profundo de las fortalezas cercanas. No puede venir de los goblins, ya que su magia es encantadora, pero desenfocada. Allí", - "twilightforest.book.darktower.3": "debe haber alguna fuerza aún activa en los bastiones.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Mi anÔlisis indica que proviene de varias fuentes, operando como un grupo. Volveré a la fortaleza después de reabastecerme...", - - "twilightforest.book.yeticave.1": "\u00A78[[Un cuaderno de explorador, cubierto de escarcha]]\u00A70\n\n_La ventisca que rodea estas tierras nevadas es incesante. No se trata de una nevada ordinaria: es un fenómeno mÔgico. Tendré que realizar experimentos para encontrar", - "twilightforest.book.yeticave.2": "lo que es capaz de causar tal efecto.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_La maldición parece ser de un tipo demasiado poderoso para que un solo ser la produzca. Serían necesarios varios magos trabajando en combinación.", - "twilightforest.book.yeticave.3": "Si uno de los magos dejara de contribuir, la ventisca se calmaría. Extrañamente, mis adivinaciones no muestran señales de ningún mago vivo cercano. Sin embargo, vi algo interesante en una de las torres de techo puntiagudo cercanas...", - - "twilightforest.book.icetower.1": "\u00A78[[El cuaderno de un explorador, cubierto de hielo]]\u00A70\n\n_He superado una ventisca, sólo para encontrarme con esta terrible tormenta de hielo en la cima del glaciar. Mis exploraciones me han mostrado el esplendor de un palacio de hielo, que brilla con los colores de la aurora polar. Todo", - "twilightforest.book.icetower.2": "parece protegido por una especie de maldición.\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_No soy un novato. Esta maldición es alimentada por el poder de una criatura cercana. La causa de la maldición que rodea el pantano de fuego se construyó a partir del poder del líder de los", - "twilightforest.book.icetower.3": "minotauros de las cercanías.\n\n_Alrededor de este glaciar, hay masas de yetis. QuizÔs los yetis tengan algún tipo de líder...", - - "twilightforest.book.trollcave.1": "\u00A78[[Un cuaderno de explorador, dañado por el Ôcido]]\u00A70\n\n_Parece que no hay forma de protegerme de la tormenta tóxica que rodea esta zona. En mis breves excursiones, también he encontrado otro hechizo de protección, similar a los", - "twilightforest.book.trollcave.2": "otros que he presenciado. El hechizo debe estar conectado a la tormenta tóxica de alguna manera. MÔs investigación para seguir...\n\n\u00A78[[Entrada siguiente]]\u00A70\n\n_Tal magia climÔtica suprema debe ser el resultado de", - "twilightforest.book.trollcave.3": "múltiples e invictos grandes males en este mundo. Mis estudios contienen varias pistas que apuntan a un pantano abrasador, un bosque cubierto de profunda oscuridad y un reino cubierto de nieve.", - - "twilightforest.book.unknown.1": "\u00A78[[Este libro muestra signos de haber sido copiado muchas veces]]\u00A70\n\n_No puedo explicar el campo que rodea esta estructura, pero la magia es poderosa. Si esta maldición es como las otras, entonces la respuesta para desbloquearla estÔ en otra parte. Tal vez hay", - "twilightforest.book.unknown.2": "algo que he dejado sin hacer, o algún monstruo que aún no he vencido. Tendré que regresar. Volveré a este lugar mÔs tarde, para ver si algo ha cambiado.", - - // Fluid - - "fluid.fierymetal": "Fierro fundido", - "fluid.knightmetal": "Caballero de Metal Fundido", - "fluid.fiery_essence": "Esencia ardiente", - - // TCon - - "material.nagascale": "Escama Naga", - "material.steeleaf": "Hoja de Acero", - "material.fierymetal": "Ardiente", - "material.knightmetal": "Caballero", - "material.raven_feather": "Pluma de Cuervo", - - "modifier.twilit": "Twilit", - "modifier.twilit.desc": "§oLa bendición iluminadora del Twilight Forest§r.\nMÔs rÔpido en el Twilight Forest.\nMÔs daños fuera del Twilight Forest.", - "modifier.twilit.extra.speed": "Velocidad de extracción en Twilight Forest: +%s", - "modifier.twilit.extra.damage": "Daños fuera del Twilight Forest: +%s", - "modifier.precipitate": "Precipitate", - "modifier.precipitate.desc": "§oEl último plan de escape en pie.§r\nCuanto menos salud tenga, mÔs rÔpido serÔ.", - "modifier.synergy": "Sinergia", - "modifier.synergy.desc": "§oMira mamÔ, no hay musgo!§r\nSe repararÔ por sí mismo si tienes Hoja de Acero en tu barra de acceso.", - "modifier.stalwart": "Incondicional", - "modifier.stalwart.desc": "§o_Los valientes y audaces.§r\nGolpear a una entidad puede hacer que te sientas envalentonado.", - "modifier.veiled": "Velada", - "modifier.veiled.desc": "§oComo un espectro!§r\nEl proyectil serÔ invisible.", - - // Immersive Engineering - "desc.immersiveengineering.info.shader.rarity.twilight": "Twilight", - - "item.twilightforest.shader": "Twilit Shader: %s", - "item.twilightforest.shader_bag": "Twilit %s Shader Bag", - - "item.twilightforest.shader.name.twilight": "Twilight", - "item.twilightforest.shader.name.firefly": "Luciérnaga", - "item.twilightforest.shader.name.questing_ram": "Carnero de la Búsqueda", - "item.twilightforest.shader.name.ironwood": "Madera de Hierro", - "item.twilightforest.shader.name.steeleaf": "Hoja de Acero", - "item.twilightforest.shader.name.knightly": "Caballero de Metal", - "item.twilightforest.shader.name.fiery": "Ardiente", - "item.twilightforest.shader.name.snakestone": "Piedra de la Serpiente", - "item.twilightforest.shader.name.naga": "Naga", - "item.twilightforest.shader.name.lich": "Lich", - "item.twilightforest.shader.name.mazestone": "Piedra de Laberinto", - "item.twilightforest.shader.name.pinch_beetle": "Escarabajo de Pinzas", - "item.twilightforest.shader.name.minoshroom": "Minosetauro", - "item.twilightforest.shader.name.hydra": "Hidra", - "item.twilightforest.shader.name.underbrick": "Subsuelo de Ladrillos", - "item.twilightforest.shader.name.knight_phantom": "Caballero Fantasma", - "item.twilightforest.shader.name.towerwood": "Torre de Madera", - "item.twilightforest.shader.name.carminite": "Carminita", - "item.twilightforest.shader.name.ur-ghast": "Ur-Ghast", - "item.twilightforest.shader.name.alpha_yeti": "Yeti Alfa", - "item.twilightforest.shader.name.auroralized": "Auroralizado", - "item.twilightforest.shader.name.snow_queen": "Reina de las Nieves", - "item.twilightforest.shader.name.cube_of_annihilation": "Cubo de la Aniquilación", - "item.twilightforest.shader.name.final_castle": "Castillo Final", - - // Optifine - "twilightforest.gui.optifine.title": "AVISO: OPTIFINE DETECTADO", - "twilightforest.gui.optifine.message": "Antes de continuar, por favor, tenga en cuenta que Optifine es conocido por causar fallos, errores visuales de entidades multiparte y muchos otros problemas.\n\nAntes de informar de un error, por favor, elimine Optifine primero y compruebe de nuevo si el error sigue presente.\n\nLos problemas relacionados con Optifine no pueden ser resueltos por Twilight Forest!\n\nEsta pantalla puede ser desactivada en la configuración del cliente." -} From eb752022030ad9efc018dc5b9f11008a585080a1 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Sun, 6 Apr 2025 01:10:02 -0400 Subject: [PATCH 087/239] Fix configuration cache --- build.gradle | 5 ++++- gradle.properties | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ee40848d2d..0e251ba351 100644 --- a/build.gradle +++ b/build.gradle @@ -305,8 +305,11 @@ processResources { ]) } exclude ".cache" + def lazyTree = providers.provider { + fileTree(dir: getOutputs().getFiles().getAsPath(), includes: ["**/*.json", "**/*.mcmeta"]) + } doLast { - fileTree(dir: getOutputs().getFiles().getAsPath(), includes: ["**/*.json", "**/*.mcmeta"]).each { + lazyTree.get().each { File file -> file.setText(JsonOutput.toJson(new JsonSlurper().parse(file))) } } diff --git a/gradle.properties b/gradle.properties index fc4ee856c0..8623ea7681 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ org.gradle.jvmargs=-Xmx4G org.gradle.daemon=false +org.gradle.configuration-cache=true # Versions can be found at https://parchmentmc.org/docs/getting-started neoForge.parchment.minecraftVersion=1.21.4 From 3a659dd008ca93af429fcae654b2dd893696a937 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 6 Apr 2025 10:04:12 +0200 Subject: [PATCH 088/239] rotate the naga head correctly --- .../datagen/helpers/BlockModelBuilders.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index 0ae0910bb0..b146a46310 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -141,10 +141,10 @@ public void nagaStone() { this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.NAGASTONE_HEAD.get()).with( PropertyDispatch.property(BlockStateProperties.HORIZONTAL_FACING) - .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) - .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) - .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)) - .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) )); this.itemModelOutput.accept(TFBlocks.NAGASTONE_HEAD.asItem(), ItemModelUtils.plainModel(model)); From 8bc93a9174547ef0faeab5b7370e2d3efda54037 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 6 Apr 2025 11:30:13 +0200 Subject: [PATCH 089/239] She terror on my cotta till I.. --- .../assets/models/BlockModelGenerator.java | 2 + .../assets/models/TFModelTemplates.java | 4 + .../datagen/assets/models/TFTextureSlot.java | 3 + .../datagen/helpers/BlockModelBuilders.java | 130 ++++++++++++++++-- 4 files changed, 131 insertions(+), 8 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 57e1c36922..b9fc914f5f 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -60,6 +60,8 @@ public void run() { this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.stonePillar(); + this.terrorcotta(); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index bbd8603c20..96405a5d60 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -17,10 +17,14 @@ public class TFModelTemplates extends ModelTemplates { .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); + public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:util/bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:util/bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate BISECTED_STAIRS_OUTER = create("twilightforest:util/bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); + public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_X = create("twilightforest:util/cube_column_rotationally_special_x", "_special_x", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); + public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_Z = create("twilightforest:util/cube_column_rotationally_special_z", "_special_z", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); + public static final ModelTemplate CANDELABRA = create("twilightforest:candelabra"); public static final ModelTemplate WALL_CANDELABRA = create("twilightforest:wall_candelabra"); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index de50defd0f..c808e685ab 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -10,6 +10,9 @@ public class TFTextureSlot { public static final TextureSlot CANDELABRA = TextureSlot.create("candelabra"); public static final TextureSlot MIDDLE = TextureSlot.create("middle"); + public static final TextureSlot SIDE_A = TextureSlot.create("side_a"); + public static final TextureSlot SIDE_B = TextureSlot.create("side_b"); + public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java index b146a46310..60e9493fe4 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java @@ -5,18 +5,14 @@ import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; +import net.minecraft.core.Vec3i; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DirectionalBlock; -import net.minecraft.world.level.block.PipeBlock; -import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; -import twilightforest.block.CastleDoorBlock; -import twilightforest.block.DirectionalRotatedPillarBlock; -import twilightforest.block.NagastoneBlock; -import twilightforest.block.WallPillarBlock; +import twilightforest.block.*; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -299,6 +295,124 @@ public void stonePillar() { ); } + public void terrorcotta() { + this.rotationallySpecialColumn(TFBlocks.TERRORCOTTA_ARCS.get()); + + PropertyDispatch.C1 directionDispach = PropertyDispatch.property(GlazedTerracottaBlock.FACING); + boolean firstCurve = true; + for (Direction direction : new Direction[] { Direction.SOUTH, Direction.NORTH, Direction.WEST, Direction.EAST }) { + ResourceLocation location = this.makeTerrorcottaCurvesModel("terrorcotta_curves", direction.get2DDataValue()); + directionDispach = directionDispach.select(direction, Variant.variant().with(VariantProperties.MODEL, location)); + if (firstCurve) { + this.itemModelOutput.accept(TFBlocks.TERRORCOTTA_CURVES.asItem(), ItemModelUtils.plainModel(location)); + firstCurve = false; + } + } + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.TERRORCOTTA_CURVES.get()).with(directionDispach)); + + ResourceLocation rotated = this.makeTerrorcottaLinesModel("terrorcotta_lines", true); + ResourceLocation unRotated = this.makeTerrorcottaLinesModel("terrorcotta_lines", false); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.TERRORCOTTA_LINES.get()).with( + PropertyDispatch.property(BinaryRotatedBlock.ROTATED) + .select(true, Variant.variant().with(VariantProperties.MODEL, rotated)) + .select(false, Variant.variant().with(VariantProperties.MODEL, unRotated)) + )); + + this.itemModelOutput.accept(TFBlocks.TERRORCOTTA_LINES.asItem(), ItemModelUtils.plainModel(rotated)); + } + + private ResourceLocation makeTerrorcottaCurvesModel(String type, int rotation) { + TextureMapping mapping = TextureMapping.cube(TFBlocks.TERRORCOTTA_CURVES.get()) + .put(TextureSlot.UP, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.UP))) + .put(TextureSlot.DOWN, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.DOWN))) + .put(TextureSlot.SOUTH, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.SOUTH))) + .put(TextureSlot.NORTH, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.NORTH))) + .put(TextureSlot.WEST, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.WEST))) + .put(TextureSlot.EAST, TwilightForestMod.prefix("block/" + type + curvesSuffixForFacing(rotation, Direction.EAST))) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/" + type + "_a")); + + return TFModelTemplates.CUBE.create(TwilightForestMod.prefix("block/" + type + "_" + (rotation * 90)), mapping, this.modelOutput); + } + + @NotNull + private static String curvesSuffixForFacing(int blockRotation, Direction blockFace) { + int rotationForFace = switch (blockFace) { + case UP -> 2 - blockRotation; + case DOWN -> 3 + blockRotation; + case SOUTH -> switch (blockRotation) { + case 3 -> 0; + case 2 -> 3; + case 1 -> 1; + default -> 2; + }; + case WEST -> switch (blockRotation) { + case 3 -> 1; + case 2 -> 3; + case 1 -> 0; + default -> 2; + }; + case NORTH -> switch (blockRotation) { + case 3 -> 3; + case 2 -> 0; + case 1 -> 2; + default -> 1; + }; + case EAST -> switch (blockRotation) { + case 3 -> 2; + case 2 -> 0; + case 1 -> 3; + default -> 1; + }; + }; + + return switch (Math.floorMod(rotationForFace, 4)) { + case 3 -> "_d"; + case 2 -> "_c"; + case 1 -> "_b"; + default -> "_a"; + }; + } + + private ResourceLocation makeTerrorcottaLinesModel(String type, boolean rotated) { + TextureMapping mapping = TextureMapping.cube(TFBlocks.TERRORCOTTA_CURVES.get()) + .put(TextureSlot.UP, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.UP))) + .put(TextureSlot.DOWN, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.DOWN))) + .put(TextureSlot.SOUTH, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.SOUTH))) + .put(TextureSlot.NORTH, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.NORTH))) + .put(TextureSlot.WEST, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.WEST))) + .put(TextureSlot.EAST, TwilightForestMod.prefix("block/" + type + linesSuffixForFacing(rotated, Direction.EAST))) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/" + type + "_a")); + + return TFModelTemplates.CUBE.create(TwilightForestMod.prefix("block/" + type + "_" + (rotated ? 90 : 0)), mapping, this.modelOutput); + } + + @NotNull + private static String linesSuffixForFacing(boolean blockRotation, Direction blockFace) { + Vec3i normal = blockFace.getUnitVec3i(); + int axisDirection = normal.getX() + normal.getY() + normal.getZ(); + // Biblically accurate XOR + return axisDirection > 0 == ((blockFace.getAxis() == Direction.Axis.Z) != blockRotation) ? "_a" : "_b"; + } + + public void rotationallySpecialColumn(Block block) { + ResourceLocation sideA = TextureMapping.getBlockTexture(block, "_side_a"); + ResourceLocation sideB = TextureMapping.getBlockTexture(block, "_side_b"); + ResourceLocation end = TextureMapping.getBlockTexture(block, "_end"); + + ResourceLocation xModel = TFModelTemplates.CUBE_COLUMN_ROTATIONALLY_SPECIAL_X.create(block, TextureMapping.cube(block).put(TextureSlot.END, end).put(TFTextureSlot.SIDE_A, sideA).put(TFTextureSlot.SIDE_B, sideB), this.modelOutput); + ResourceLocation yModel = TFModelTemplates.CUBE_COLUMN.create(block, TextureMapping.cube(block).put(TextureSlot.END, end).put(TextureSlot.SIDE, sideA), this.modelOutput); + ResourceLocation zModel = TFModelTemplates.CUBE_COLUMN_ROTATIONALLY_SPECIAL_Z.create(block, TextureMapping.cube(block).put(TextureSlot.END, end).put(TFTextureSlot.SIDE_A, sideA).put(TFTextureSlot.SIDE_B, sideB), this.modelOutput); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( + PropertyDispatch.property(RotatedPillarBlock.AXIS) + .select(Direction.Axis.X, Variant.variant().with(VariantProperties.MODEL, xModel)) + .select(Direction.Axis.Y, Variant.variant().with(VariantProperties.MODEL, yModel)) + .select(Direction.Axis.Z, Variant.variant().with(VariantProperties.MODEL, zModel)) + )); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(yModel)); + } + public void thorns(Block block) { TextureMapping mapping = TextureMapping.column(block); ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); From 32ef98849dfe37bf32c6f0fda11d7aaa25f94b34 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 6 Apr 2025 11:30:17 +0200 Subject: [PATCH 090/239] gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 19 +++++++++++++++++-- .../blockstates/nagastone_head.json | 8 ++++---- .../blockstates/terrorcotta_arcs.json | 13 +++++++++++++ .../blockstates/terrorcotta_curves.json | 16 ++++++++++++++++ .../blockstates/terrorcotta_lines.json | 10 ++++++++++ .../items/terrorcotta_arcs.json | 6 ++++++ .../items/terrorcotta_curves.json | 6 ++++++ .../items/terrorcotta_lines.json | 6 ++++++ .../models/block/terrorcotta_arcs.json | 7 +++++++ .../block/terrorcotta_arcs_special_x.json | 8 ++++++++ .../block/terrorcotta_arcs_special_z.json | 8 ++++++++ .../models/block/terrorcotta_curves_0.json | 12 ++++++++++++ .../models/block/terrorcotta_curves_180.json | 12 ++++++++++++ .../models/block/terrorcotta_curves_270.json | 12 ++++++++++++ .../models/block/terrorcotta_curves_90.json | 12 ++++++++++++ .../models/block/terrorcotta_lines_0.json | 12 ++++++++++++ .../models/block/terrorcotta_lines_90.json | 12 ++++++++++++ 17 files changed, 173 insertions(+), 6 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json create mode 100644 src/generated/resources/assets/twilightforest/items/terrorcotta_arcs.json create mode 100644 src/generated/resources/assets/twilightforest/items/terrorcotta_curves.json create mode 100644 src/generated/resources/assets/twilightforest/items/terrorcotta_lines.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_x.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_z.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 71a1c13c03..d4ddc938b7 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-05T22:35:13.2239989 Model Definitions - twilightforest +// 1.21.4 2025-04-06T11:26:15.3724446 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -100,7 +100,7 @@ ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy 7e17fa3a718f3698671c168f2eac9733cdf51b06 assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json 884a4d18955eb22c4d5afebff019d6bc5aa00b9c assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json -b609ca5161aa6cba127356dd7e6cf739b5ba90cc assets/twilightforest/blockstates/nagastone_head.json +7d84f2b8f8ce462a4cdd4a0a690b4b59ba235ca0 assets/twilightforest/blockstates/nagastone_head.json 8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagastone_stairs_left.json 344bc801ddf20afa798499ec3c80d49ba89be47c assets/twilightforest/blockstates/nagastone_stairs_right.json @@ -134,6 +134,9 @@ a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorti 6c2d40b15b9dcc49feb02616470eb4ed4754a615 assets/twilightforest/blockstates/sorting_trapped_chest.json 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json +76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json +9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json +f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json 245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json 6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json 895cf7d2f621f164fe6bc9747d6139e32d138dd2 assets/twilightforest/blockstates/time_chest.json @@ -454,6 +457,9 @@ b20ffb1154e72227b57df2c480b7bbc24e64cdf0 assets/twilightforest/items/steeleaf_pi 547a4491e7a84ec55e67c2754edcccdec48be0c3 assets/twilightforest/items/steeleaf_shovel.json 90acba09626132f58266a37901a1c636093c400a assets/twilightforest/items/steeleaf_sword.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json +6c7e3822b449ce65e48a4a5ed6b4e8fe3d927a3e assets/twilightforest/items/terrorcotta_arcs.json +17590dd540f0a69091f30adddf4505fcba9a584d assets/twilightforest/items/terrorcotta_curves.json +6144765aad96aec1387eaa9a72b5f89a743a00fb assets/twilightforest/items/terrorcotta_lines.json a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose.json 05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json @@ -759,6 +765,15 @@ d84f233396a4384dc3c120502ead5e90cbe1db48 assets/twilightforest/models/block/sort e98fb0e5106e4867a21557075bee7f16cadc2de5 assets/twilightforest/models/block/sorting_trapdoor_open.json 03687fe84199b310e7d0ada32be7e6a31a4d0e4e assets/twilightforest/models/block/sorting_trapdoor_top.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_trapped_chest.json +525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json +93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_special_x.json +6fea7dc89fa72f60857aea922392c9319da6b513 assets/twilightforest/models/block/terrorcotta_arcs_special_z.json +5e981cfa53bd4abaa937c5f6d37a8389b83e0eb1 assets/twilightforest/models/block/terrorcotta_curves_0.json +c57f4b2bad03091a4ccbd9150aab69947593c6f0 assets/twilightforest/models/block/terrorcotta_curves_180.json +ae2450eccf9cd838f17b46d48263583034e0c299 assets/twilightforest/models/block/terrorcotta_curves_270.json +69ae302b15f9dfd7e2ae26fa24df8da6a32e1c54 assets/twilightforest/models/block/terrorcotta_curves_90.json +f9b64799628d039e721d191ea797b99722567205 assets/twilightforest/models/block/terrorcotta_lines_0.json +aa89a42fdfd5233d012c94d6c45d51a66e6376a5 assets/twilightforest/models/block/terrorcotta_lines_90.json 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json b2f846a8b967016ca8732279cbc0c11a10844379 assets/twilightforest/models/block/time_button.json b76dae4ac5da24304f10935fe34ad194b8860be3 assets/twilightforest/models/block/time_button_inventory.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json index 1044adb91a..f5210ade6f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json @@ -2,19 +2,19 @@ "variants": { "facing=east": { "model": "twilightforest:block/nagastone_head", - "y": 180 + "y": 90 }, "facing=north": { "model": "twilightforest:block/nagastone_head", - "y": 90 + "y": 0 }, "facing=south": { "model": "twilightforest:block/nagastone_head", - "y": 270 + "y": 180 }, "facing=west": { "model": "twilightforest:block/nagastone_head", - "y": 0 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json new file mode 100644 index 0000000000..ffdf0836bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_arcs.json @@ -0,0 +1,13 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/terrorcotta_arcs_special_x" + }, + "axis=y": { + "model": "twilightforest:block/terrorcotta_arcs" + }, + "axis=z": { + "model": "twilightforest:block/terrorcotta_arcs_special_z" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json new file mode 100644 index 0000000000..254b104ec5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_curves.json @@ -0,0 +1,16 @@ +{ + "variants": { + "facing=east": { + "model": "twilightforest:block/terrorcotta_curves_270" + }, + "facing=north": { + "model": "twilightforest:block/terrorcotta_curves_180" + }, + "facing=south": { + "model": "twilightforest:block/terrorcotta_curves_0" + }, + "facing=west": { + "model": "twilightforest:block/terrorcotta_curves_90" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json new file mode 100644 index 0000000000..bb0c7d7357 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/terrorcotta_lines.json @@ -0,0 +1,10 @@ +{ + "variants": { + "rotated=false": { + "model": "twilightforest:block/terrorcotta_lines_0" + }, + "rotated=true": { + "model": "twilightforest:block/terrorcotta_lines_90" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/items/terrorcotta_arcs.json new file mode 100644 index 0000000000..5ce79c2afb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/terrorcotta_arcs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/terrorcotta_arcs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/terrorcotta_curves.json b/src/generated/resources/assets/twilightforest/items/terrorcotta_curves.json new file mode 100644 index 0000000000..a175e8a7b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/terrorcotta_curves.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/terrorcotta_curves_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/terrorcotta_lines.json b/src/generated/resources/assets/twilightforest/items/terrorcotta_lines.json new file mode 100644 index 0000000000..1e3fa451fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/terrorcotta_lines.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/terrorcotta_lines_90" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json new file mode 100644 index 0000000000..289bcd4ec4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/terrorcotta_arcs_end", + "side": "twilightforest:block/terrorcotta_arcs_side_a" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_x.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_x.json new file mode 100644 index 0000000000..22ba109a28 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_x.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/cube_column_rotationally_special_x", + "textures": { + "end": "twilightforest:block/terrorcotta_arcs_end", + "side_a": "twilightforest:block/terrorcotta_arcs_side_a", + "side_b": "twilightforest:block/terrorcotta_arcs_side_b" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_z.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_z.json new file mode 100644 index 0000000000..b2d6b313cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_arcs_special_z.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/cube_column_rotationally_special_z", + "textures": { + "end": "twilightforest:block/terrorcotta_arcs_end", + "side_a": "twilightforest:block/terrorcotta_arcs_side_a", + "side_b": "twilightforest:block/terrorcotta_arcs_side_b" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json new file mode 100644 index 0000000000..00e42d94ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_0.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_curves_d", + "east": "twilightforest:block/terrorcotta_curves_b", + "north": "twilightforest:block/terrorcotta_curves_b", + "particle": "twilightforest:block/terrorcotta_curves_a", + "south": "twilightforest:block/terrorcotta_curves_c", + "up": "twilightforest:block/terrorcotta_curves_c", + "west": "twilightforest:block/terrorcotta_curves_c" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json new file mode 100644 index 0000000000..b30f3298ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_180.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_curves_b", + "east": "twilightforest:block/terrorcotta_curves_a", + "north": "twilightforest:block/terrorcotta_curves_a", + "particle": "twilightforest:block/terrorcotta_curves_a", + "south": "twilightforest:block/terrorcotta_curves_d", + "up": "twilightforest:block/terrorcotta_curves_a", + "west": "twilightforest:block/terrorcotta_curves_d" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json new file mode 100644 index 0000000000..f20aa123aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_270.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_curves_c", + "east": "twilightforest:block/terrorcotta_curves_c", + "north": "twilightforest:block/terrorcotta_curves_d", + "particle": "twilightforest:block/terrorcotta_curves_a", + "south": "twilightforest:block/terrorcotta_curves_a", + "up": "twilightforest:block/terrorcotta_curves_d", + "west": "twilightforest:block/terrorcotta_curves_b" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json new file mode 100644 index 0000000000..941f3babc1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_curves_90.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_curves_a", + "east": "twilightforest:block/terrorcotta_curves_d", + "north": "twilightforest:block/terrorcotta_curves_c", + "particle": "twilightforest:block/terrorcotta_curves_a", + "south": "twilightforest:block/terrorcotta_curves_b", + "up": "twilightforest:block/terrorcotta_curves_b", + "west": "twilightforest:block/terrorcotta_curves_a" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json new file mode 100644 index 0000000000..2359e4dbcf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_0.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_lines_a", + "east": "twilightforest:block/terrorcotta_lines_b", + "north": "twilightforest:block/terrorcotta_lines_b", + "particle": "twilightforest:block/terrorcotta_lines_a", + "south": "twilightforest:block/terrorcotta_lines_a", + "up": "twilightforest:block/terrorcotta_lines_b", + "west": "twilightforest:block/terrorcotta_lines_a" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json new file mode 100644 index 0000000000..f4c1f15ca5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/terrorcotta_lines_90.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "down": "twilightforest:block/terrorcotta_lines_b", + "east": "twilightforest:block/terrorcotta_lines_a", + "north": "twilightforest:block/terrorcotta_lines_a", + "particle": "twilightforest:block/terrorcotta_lines_a", + "south": "twilightforest:block/terrorcotta_lines_b", + "up": "twilightforest:block/terrorcotta_lines_a", + "west": "twilightforest:block/terrorcotta_lines_b" + } +} \ No newline at end of file From dcb6b972afaadd3362227a8355338492e5f43d94 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 6 Apr 2025 23:18:03 -0600 Subject: [PATCH 091/239] WOOD --- .../assets/models/BlockModelGenerator.java | 192 ++++++++++++-- .../assets/models/TFModelTemplates.java | 30 ++- .../assets/models/TFTextureMapping.java | 7 + .../datagen/assets/models/TFTextureSlot.java | 3 + .../{ => models}/BlockModelBuilders.java | 68 +++-- .../helpers/models/WoodBlockBuilders.java | 234 ++++++++++++++++++ .../models/block/climbable_hollow_log.json | 66 +++++ .../models/block/horizontal_hollow_log.json | 53 ++++ .../block/horizontal_hollow_log_carpet.json | 61 +++++ .../block/horizontal_hollow_log_plant.json | 81 ++++++ .../models/block/vertical_hollow_log.json | 56 +++++ ...ster_item.json => banister_inventory.json} | 0 .../{canopy_log.png => canopy_log_side.png} | Bin .../block/{dark_log.png => dark_log_side.png} | Bin ...mangrove_log.png => mangrove_log_side.png} | Bin .../{mining_log.png => mining_log_side.png} | Bin .../{sorting_log.png => sorting_log_side.png} | Bin ...y_log.png => stripped_canopy_log_side.png} | Bin ...ark_log.png => stripped_dark_log_side.png} | Bin ...log.png => stripped_mangrove_log_side.png} | Bin ...g_log.png => stripped_mining_log_side.png} | Bin ..._log.png => stripped_sorting_log_side.png} | Bin ...ime_log.png => stripped_time_log_side.png} | Bin ...g => stripped_transformation_log_side.png} | Bin ...png => stripped_twilight_oak_log_side.png} | Bin .../block/{time_log.png => time_log_side.png} | Bin ...on_log.png => transformation_log_side.png} | Bin ..._oak_log.png => twilight_oak_log_side.png} | Bin 28 files changed, 788 insertions(+), 63 deletions(-) rename src/data/java/twilightforest/datagen/helpers/{ => models}/BlockModelBuilders.java (95%) create mode 100644 src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java create mode 100644 src/main/resources/assets/twilightforest/models/block/climbable_hollow_log.json create mode 100644 src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log.json create mode 100644 src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json create mode 100644 src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json create mode 100644 src/main/resources/assets/twilightforest/models/block/vertical_hollow_log.json rename src/main/resources/assets/twilightforest/models/item/{banister_item.json => banister_inventory.json} (100%) rename src/main/resources/assets/twilightforest/textures/block/{canopy_log.png => canopy_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{dark_log.png => dark_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mangrove_log.png => mangrove_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mining_log.png => mining_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{sorting_log.png => sorting_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_canopy_log.png => stripped_canopy_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_dark_log.png => stripped_dark_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_mangrove_log.png => stripped_mangrove_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_mining_log.png => stripped_mining_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_sorting_log.png => stripped_sorting_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_time_log.png => stripped_time_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_transformation_log.png => stripped_transformation_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_twilight_oak_log.png => stripped_twilight_oak_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{time_log.png => time_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{transformation_log.png => transformation_log_side.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twilight_oak_log.png => twilight_oak_log_side.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index b9fc914f5f..9dfdbf003e 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -1,5 +1,6 @@ package twilightforest.datagen.assets.models; +import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; @@ -15,7 +16,7 @@ import twilightforest.block.*; import twilightforest.client.renderer.special.*; import twilightforest.util.TFBlockFamilies; -import twilightforest.datagen.helpers.BlockModelBuilders; +import twilightforest.datagen.helpers.models.BlockModelBuilders; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; @@ -29,7 +30,7 @@ public BlockModelGenerator(Consumer stateOutput, ItemModelO @Override public void run() { - TFBlockFamilies.getAllFamilies().filter(BlockFamily::shouldGenerateModel).forEach((family) -> this.family(family.getBaseBlock()).generateFor(family)); + this.generateWoodBlocks(); this.spawner(TFBlocks.NAGA_BOSS_SPAWNER.get(), "block/boss_spawner"); this.spawner(TFBlocks.LICH_BOSS_SPAWNER.get(), "block/boss_spawner"); @@ -70,7 +71,7 @@ public void run() { this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); - this.stairsBlock(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get()); + this.generateStairs(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), this::createTrivialCube); var builtMapping = TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()); @@ -136,28 +137,173 @@ public void run() { this.createChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped"), false); } - public void generateSpecialModel(B block, Block particleBlock, Function itemModel) { - this.createParticleOnlyBlock(block, particleBlock); - this.itemModelOutput.accept(block.asItem(), itemModel.apply(block)); - } + private void generateWoodBlocks() { + this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); + this.generateHollowLog(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_PLANKS.get(), this::createTrivialCube); + TextureMapping twilightOak = TextureMapping.cube(TFBlocks.TWILIGHT_OAK_PLANKS.get()); + this.generateStairs(TFBlocks.TWILIGHT_OAK_STAIRS.get(), twilightOak); + this.generateSlab(TFBlocks.TWILIGHT_OAK_SLAB.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), twilightOak); + this.generateButton(TFBlocks.TWILIGHT_OAK_BUTTON.get(), twilightOak); + this.generateFence(TFBlocks.TWILIGHT_OAK_FENCE.get(), twilightOak); + this.generateFenceGate(TFBlocks.TWILIGHT_OAK_GATE.get(), twilightOak); + this.generatePressurePlate(TFBlocks.TWILIGHT_OAK_PLATE.get(), twilightOak); + this.generateTrapdoor(TFBlocks.TWILIGHT_OAK_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.TWILIGHT_OAK_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), twilightOak); + this.generateHangingSign(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()); + this.generateBanister(TFBlocks.TWILIGHT_OAK_BANISTER.get(), twilightOak); - public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate) { - this.generateTrophy(floor, wall, backplate, "template_trophy"); - } + this.wrapBlockItem(TFBlocks.CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.CANOPY_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_CANOPY_LOG.get()))); + this.generateHollowLog(TFBlocks.CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.CANOPY_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.CANOPY_PLANKS.get(), this::createTrivialCube); + TextureMapping canopy = TextureMapping.cube(TFBlocks.CANOPY_PLANKS.get()); + this.generateStairs(TFBlocks.CANOPY_STAIRS.get(), canopy); + this.generateSlab(TFBlocks.CANOPY_SLAB.get(), TFBlocks.CANOPY_PLANKS.get(), canopy); + this.generateButton(TFBlocks.CANOPY_BUTTON.get(), canopy); + this.generateFence(TFBlocks.CANOPY_FENCE.get(), canopy); + this.generateFenceGate(TFBlocks.CANOPY_GATE.get(), canopy); + this.generatePressurePlate(TFBlocks.CANOPY_PLATE.get(), canopy); + this.generateTrapdoor(TFBlocks.CANOPY_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.CANOPY_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), canopy); + this.generateHangingSign(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_CANOPY_LOG.get()); + this.generateBanister(TFBlocks.CANOPY_BANISTER.get(), canopy); - public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate, String existingTrophy) { - ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); - this.blockStateOutput.accept(createSimpleBlock(floor, template)); - this.blockStateOutput.accept(createSimpleBlock(wall, template)); - var itemTrophy = ItemModelUtils.specialModel(ModelLocationUtils.decorateItemModelLocation("twilightforest:" + existingTrophy), new TrophySpecialRenderer.Unbaked(floor.getVariant())); - this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.select(new DisplayContext(), itemTrophy, - ItemModelUtils.when(ItemDisplayContext.GUI, ItemModelUtils.composite(backplate, itemTrophy)))); - } + this.wrapBlockItem(TFBlocks.MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); + this.generateHollowLog(TFBlocks.MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.MANGROVE_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.MANGROVE_PLANKS.get(), this::createTrivialCube); + TextureMapping mangrove = TextureMapping.cube(TFBlocks.MANGROVE_PLANKS.get()); + this.generateStairs(TFBlocks.MANGROVE_STAIRS.get(), mangrove); + this.generateSlab(TFBlocks.MANGROVE_SLAB.get(), TFBlocks.MANGROVE_PLANKS.get(), mangrove); + this.generateButton(TFBlocks.MANGROVE_BUTTON.get(), mangrove); + this.generateFence(TFBlocks.MANGROVE_FENCE.get(), mangrove); + this.generateFenceGate(TFBlocks.MANGROVE_GATE.get(), mangrove); + this.generatePressurePlate(TFBlocks.MANGROVE_PLATE.get(), mangrove); + this.generateTrapdoor(TFBlocks.MANGROVE_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.MANGROVE_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), mangrove); + this.generateHangingSign(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get()); + this.generateBanister(TFBlocks.MANGROVE_BANISTER.get(), mangrove); + + this.wrapBlockItem(TFBlocks.DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.DARK_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_DARK_LOG.get()))); + this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.DARK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.DARK_PLANKS.get(), this::createTrivialCube); + TextureMapping dark = TextureMapping.cube(TFBlocks.DARK_PLANKS.get()); + this.generateStairs(TFBlocks.DARK_STAIRS.get(), dark); + this.generateSlab(TFBlocks.DARK_SLAB.get(), TFBlocks.DARK_PLANKS.get(), dark); + this.generateButton(TFBlocks.DARK_BUTTON.get(), dark); + this.generateFence(TFBlocks.DARK_FENCE.get(), dark); + this.generateFenceGate(TFBlocks.DARK_GATE.get(), dark); + this.generatePressurePlate(TFBlocks.DARK_PLATE.get(), dark); + this.generateTrapdoor(TFBlocks.DARK_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.DARK_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), dark); + this.generateHangingSign(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_DARK_LOG.get()); + this.generateBanister(TFBlocks.DARK_BANISTER.get(), dark); + + this.wrapBlockItem(TFBlocks.TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.TIME_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.generateHollowLog(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TIME_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.TIME_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.TIME_PLANKS.get(), this::createTrivialCube); + TextureMapping time = TextureMapping.cube(TFBlocks.TIME_PLANKS.get()); + this.generateStairs(TFBlocks.TIME_STAIRS.get(), time); + this.generateSlab(TFBlocks.TIME_SLAB.get(), TFBlocks.TIME_PLANKS.get(), time); + this.generateButton(TFBlocks.TIME_BUTTON.get(), time); + this.generateFence(TFBlocks.TIME_FENCE.get(), time); + this.generateFenceGate(TFBlocks.TIME_GATE.get(), time); + this.generatePressurePlate(TFBlocks.TIME_PLATE.get(), time); + this.generateTrapdoor(TFBlocks.TIME_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.TIME_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), time); + this.generateHangingSign(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TIME_LOG.get()); + this.generateBanister(TFBlocks.TIME_BANISTER.get(), time); + + this.wrapBlockItem(TFBlocks.TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.TRANSFORMATION_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.generateHollowLog(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.TRANSFORMATION_PLANKS.get(), this::createTrivialCube); + TextureMapping transformation = TextureMapping.cube(TFBlocks.TRANSFORMATION_PLANKS.get()); + this.generateStairs(TFBlocks.TRANSFORMATION_STAIRS.get(), transformation); + this.generateSlab(TFBlocks.TRANSFORMATION_SLAB.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), transformation); + this.generateButton(TFBlocks.TRANSFORMATION_BUTTON.get(), transformation); + this.generateFence(TFBlocks.TRANSFORMATION_FENCE.get(), transformation); + this.generateFenceGate(TFBlocks.TRANSFORMATION_GATE.get(), transformation); + this.generatePressurePlate(TFBlocks.TRANSFORMATION_PLATE.get(), transformation); + this.generateTrapdoor(TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.TRANSFORMATION_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), transformation); + this.generateHangingSign(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()); + this.generateBanister(TFBlocks.TRANSFORMATION_BANISTER.get(), transformation); + + this.wrapBlockItem(TFBlocks.MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.MINING_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.generateHollowLog(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MINING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.MINING_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.MINING_PLANKS.get(), this::createTrivialCube); + TextureMapping mining = TextureMapping.cube(TFBlocks.MINING_PLANKS.get()); + this.generateStairs(TFBlocks.MINING_STAIRS.get(), mining); + this.generateSlab(TFBlocks.MINING_SLAB.get(), TFBlocks.MINING_PLANKS.get(), mining); + this.generateButton(TFBlocks.MINING_BUTTON.get(), mining); + this.generateFence(TFBlocks.MINING_FENCE.get(), mining); + this.generateFenceGate(TFBlocks.MINING_GATE.get(), mining); + this.generatePressurePlate(TFBlocks.MINING_PLATE.get(), mining); + this.generateTrapdoor(TFBlocks.MINING_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.MINING_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), mining); + this.generateHangingSign(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_MINING_LOG.get()); + this.generateBanister(TFBlocks.MINING_BANISTER.get(), mining); - public void generateSkullCandle(AbstractSkullCandleBlock floor, AbstractSkullCandleBlock wall) { - ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); - this.blockStateOutput.accept(createSimpleBlock(floor, template)); - this.blockStateOutput.accept(createSimpleBlock(wall, template)); - this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.specialModel(TwilightForestMod.prefix("item/template_skull_candle"), new SkullCandleSpecialRenderer.Unbaked(floor.getType()))); + this.wrapBlockItem(TFBlocks.SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.SORTING_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.generateHollowLog(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SORTING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE.get()); + this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.SORTING_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.wrapBlockItem(TFBlocks.SORTING_PLANKS.get(), this::createTrivialCube); + TextureMapping sorting = TextureMapping.cube(TFBlocks.SORTING_PLANKS.get()); + this.generateStairs(TFBlocks.SORTING_STAIRS.get(), sorting); + this.generateSlab(TFBlocks.SORTING_SLAB.get(), TFBlocks.SORTING_PLANKS.get(), sorting); + this.generateButton(TFBlocks.SORTING_BUTTON.get(), sorting); + this.generateFence(TFBlocks.SORTING_FENCE.get(), sorting); + this.generateFenceGate(TFBlocks.SORTING_GATE.get(), sorting); + this.generatePressurePlate(TFBlocks.SORTING_PLATE.get(), sorting); + this.generateTrapdoor(TFBlocks.SORTING_TRAPDOOR.get(), true, "solid"); + this.generateDoor(TFBlocks.SORTING_DOOR.get(), false, "solid"); + this.generateSign(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), sorting); + this.generateHangingSign(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_SORTING_LOG.get()); + this.generateBanister(TFBlocks.SORTING_BANISTER.get(), sorting); } } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 96405a5d60..5fba2a4fcb 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -1,11 +1,14 @@ package twilightforest.datagen.assets.models; +import net.minecraft.client.data.models.model.ModelLocationUtils; import net.minecraft.client.data.models.model.ModelTemplate; import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; +import java.util.Optional; + public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate ANTIBUILDER = create("twilightforest:antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() @@ -25,9 +28,6 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_X = create("twilightforest:util/cube_column_rotationally_special_x", "_special_x", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_Z = create("twilightforest:util/cube_column_rotationally_special_z", "_special_z", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); - public static final ModelTemplate CANDELABRA = create("twilightforest:candelabra"); - public static final ModelTemplate WALL_CANDELABRA = create("twilightforest:wall_candelabra"); - public static final ModelTemplate FORCEFIELD = create("twilightforest:forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); public static final ModelTemplate FULLBRIGHT_BLOCK = create("twilightforest:fullbright_block", TextureSlot.ALL).extend() .parent(ResourceLocation.withDefaultNamespace("block/cube")) @@ -36,6 +36,29 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CTM_NO_BASE = create("twilightforest:ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate CTM = create("twilightforest:ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + public static final ModelTemplate BANISTER_CONNECTED = create("twilightforest:banister_connected", "_connected", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_CONNECTED_EXTENDED = create("twilightforest:banister_connected_extended", "_connected_extended", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_SHORT = create("twilightforest:banister_short", "_short", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_SHORT_EXTENDED = create("twilightforest:banister_short_extended", "_short_extended", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_TALL = create("twilightforest:banister_tall", "_tall", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_TALL_EXTENDED = create("twilightforest:banister_tall_extended", "_tall_extended", TextureSlot.TEXTURE); + public static final ModelTemplate BANISTER_INVENTORY = createItem("twilightforest:banister_inventory", "_inventory", TextureSlot.TEXTURE); + + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT = create("twilightforest:corrected_door_bottom_left", "_bottom_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT_OPEN = create("twilightforest:corrected_door_bottom_left_open", "_bottom_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT = create("twilightforest:corrected_door_bottom_right", "_bottom_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT_OPEN = create("twilightforest:corrected_door_bottom_right_open", "_bottom_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT = create("twilightforest:corrected_door_top_left", "_top_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT_OPEN = create("twilightforest:corrected_door_top_left_open", "_top_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT = create("twilightforest:corrected_door_top_right", "_top_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT_OPEN = create("twilightforest:corrected_door_top_right_open", "_top_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + + public static final ModelTemplate HORIZONTAL_HOLLOW_LOG = create("twilightforest:horizontal_hollow_log", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE); + public static final ModelTemplate HORIZONTAL_HOLLOW_LOG_CARPET = create("twilightforest:horizontal_hollow_log_carpet", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE, TFTextureSlot.CARPET, TFTextureSlot.OVERHANG); + public static final ModelTemplate HORIZONTAL_HOLLOW_LOG_PLANT = create("twilightforest:horizontal_hollow_log_plant", "_inventory", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE, TFTextureSlot.CARPET, TFTextureSlot.OVERHANG, TextureSlot.PLANT); + public static final ModelTemplate VERTICAL_HOLLOW_LOG = create("twilightforest:vertical_hollow_log", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE); + public static final ModelTemplate CLIMBABLE_HOLLOW_LOG = create("twilightforest:climbable_hollow_log", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE, TFTextureSlot.CLIMBABLE); + public static final ModelTemplate THORNS_MAIN = create("twilightforest:thorns_main", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_main")).renderType("cutout").build(); public static final ModelTemplate THORNS = create("twilightforest:thorns", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns")).renderType("cutout").build(); public static final ModelTemplate THORNS_SECTION_TOP = create("twilightforest:thorns_section_top", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_top")).renderType("cutout").build(); @@ -48,5 +71,4 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate SPECIAL_HANDHELD = createItem("twilightforest:special_handheld", TextureSlot.LAYER0); public static final ModelTemplate TWO_LAYERED_HANDHELD = createItem("handheld", TextureSlot.LAYER0, TextureSlot.LAYER1); public static final ModelTemplate TWO_LAYERED_BOW = createItem("bow", TextureSlot.LAYER0, TextureSlot.LAYER1); - } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index 8ece6c5db4..4bf0345281 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -38,4 +38,11 @@ public static TextureMapping ctmBlock(@Nullable ResourceLocation base, ResourceL } return mapping.put(TFTextureSlot.CTM_OVERLAY, overlay).put(TFTextureSlot.CTM_OVERLAY_CONNECTED, overlay.withSuffix("_ctm")); } + + public static TextureMapping sideDoor(Block block) { + return new TextureMapping() + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(block, "_top")) + .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(block, "_bottom")) + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block, "_side")); + } } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index c808e685ab..5aa0f2b8a0 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -13,6 +13,9 @@ public class TFTextureSlot { public static final TextureSlot SIDE_A = TextureSlot.create("side_a"); public static final TextureSlot SIDE_B = TextureSlot.create("side_b"); + public static final TextureSlot CARPET = TextureSlot.create("carpet"); + public static final TextureSlot OVERHANG = TextureSlot.create("overhang"); + public static final TextureSlot CLIMBABLE = TextureSlot.create("climbable"); public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); diff --git a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java similarity index 95% rename from src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java rename to src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 60e9493fe4..bc49f4fa7f 100644 --- a/src/data/java/twilightforest/datagen/helpers/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -1,14 +1,21 @@ -package twilightforest.datagen.helpers; +package twilightforest.datagen.helpers.models; -import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; +import net.minecraft.client.renderer.item.ItemModel; +import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.*; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -16,6 +23,8 @@ import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; +import twilightforest.client.renderer.special.SkullCandleSpecialRenderer; +import twilightforest.client.renderer.special.TrophySpecialRenderer; import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; @@ -26,61 +35,47 @@ import java.util.function.Consumer; import java.util.function.Function; -public abstract class BlockModelBuilders extends BlockModelGenerators { +public abstract class BlockModelBuilders extends WoodBlockBuilders { public BlockModelBuilders(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { super(stateOutput, itemOutput, modelOutput); } - @Override - public abstract void run(); + public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate) { + this.generateTrophy(floor, wall, backplate, "template_trophy"); + } - public void wrapBlockItem(Block block, Consumer blockRegistry) { - blockRegistry.accept(block); - this.createBlockItem(block); + public void generateTrophy(TrophyBlock floor, TrophyWallBlock wall, ItemModel.Unbaked backplate, String existingTrophy) { + ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); + this.blockStateOutput.accept(createSimpleBlock(floor, template)); + this.blockStateOutput.accept(createSimpleBlock(wall, template)); + var itemTrophy = ItemModelUtils.specialModel(ModelLocationUtils.decorateItemModelLocation("twilightforest:" + existingTrophy), new TrophySpecialRenderer.Unbaked(floor.getVariant())); + this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.select(new DisplayContext(), itemTrophy, + ItemModelUtils.when(ItemDisplayContext.GUI, ItemModelUtils.composite(backplate, itemTrophy)))); } - public void createBlockItem(Block block) { - this.registerSimpleItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/")); + public void generateSkullCandle(AbstractSkullCandleBlock floor, AbstractSkullCandleBlock wall) { + ResourceLocation template = ModelLocationUtils.decorateBlockModelLocation("skull"); + this.blockStateOutput.accept(createSimpleBlock(floor, template)); + this.blockStateOutput.accept(createSimpleBlock(wall, template)); + this.itemModelOutput.accept(floor.asItem(), ItemModelUtils.specialModel(TwilightForestMod.prefix("item/template_skull_candle"), new SkullCandleSpecialRenderer.Unbaked(floor.getType()))); } public void spawner(Block block, String texture) { TextureMapping texturemapping = TextureMapping.cube(TwilightForestMod.prefix(texture)); this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL_INNER_FACES.extend().renderType("cutout").build().create(block, texturemapping, this.modelOutput))); - this.createBlockItem(block); + this.generateBlockItem(block); } public void basicCtmBlock(Block block) { this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput))); - this.createBlockItem(block); + this.generateBlockItem(block); } public void castleDoor(Block block) { Function door = bool -> TFModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("block/castle_door_runes")), this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(CastleDoorBlock.VANISHED).select(true, Variant.variant().with(VariantProperties.MODEL, door.apply(true))).select(false, Variant.variant().with(VariantProperties.MODEL, door.apply(false))))); - this.createBlockItem(block); - } - - public void stairsBlock(Block block) { - TextureMapping mapping = TextureMapping.cube(block); - ResourceLocation inner = ModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); - ResourceLocation straight = ModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); - ResourceLocation outer = ModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); - this.stairsBlock(block, straight, inner, outer); - } - - public void stairsBlock(Block block, ResourceLocation straight, ResourceLocation inner, ResourceLocation outer) { - this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); - this.registerSimpleItemModel(block, straight); - } - - public void coolerStairsBlock(Block block, ResourceLocation middle) { - TextureMapping mapping = TextureMapping.cube(block).put(TFTextureSlot.MIDDLE, middle); - ResourceLocation inner = TFModelTemplates.STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); - ResourceLocation straight = TFModelTemplates.STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); - ResourceLocation outer = TFModelTemplates.STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); - this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); - this.registerSimpleItemModel(block, straight); + this.generateBlockItem(block); } public void simpleBlockWithRenderType(Block block, String type) { @@ -213,7 +208,8 @@ protected void bisectedStairsBlock(Block block, ResourceLocation side, ResourceL ResourceLocation inner = TFModelTemplates.BISECTED_STAIRS_INNER.createWithSuffix(block, "_inner", mapping, this.modelOutput); ResourceLocation straight = TFModelTemplates.BISECTED_STAIRS_STRAIGHT.create(block, mapping, this.modelOutput); ResourceLocation outer = TFModelTemplates.BISECTED_STAIRS_OUTER.createWithSuffix(block, "_outer", mapping, this.modelOutput); - this.stairsBlock(block, straight, inner, outer); + this.blockStateOutput.accept(createStairs(block, inner, straight, outer)); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(straight)); } public void stonePillar() { diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java new file mode 100644 index 0000000000..0473a50d53 --- /dev/null +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -0,0 +1,234 @@ +package twilightforest.datagen.helpers.models; + +import net.minecraft.client.data.models.BlockModelGenerators; +import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.blockstates.*; +import net.minecraft.client.data.models.model.*; +import net.minecraft.client.renderer.item.ItemModel; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; +import org.w3c.dom.Text; +import twilightforest.TwilightForestMod; +import twilightforest.block.BanisterBlock; +import twilightforest.block.ClimbableHollowLogBlock; +import twilightforest.block.HorizontalHollowLogBlock; +import twilightforest.datagen.assets.models.TFModelTemplates; +import twilightforest.datagen.assets.models.TFTextureMapping; +import twilightforest.datagen.assets.models.TFTextureSlot; +import twilightforest.enums.HollowLogVariants; + +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; + +public abstract class WoodBlockBuilders extends BlockModelGenerators { + + public WoodBlockBuilders(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { + super(stateOutput, itemOutput, modelOutput); + } + + @Override + public abstract void run(); + + public void generateLeaves(Block block, int tint) { + this.generateLeaves(block, TextureMapping.cube(block), tint); + } + + public void generateLeaves(Block block, TextureMapping mapping, int tint) { + ResourceLocation resourcelocation = ModelTemplates.LEAVES.extend().renderType("cutout_mipped").build().create(block, mapping, this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(block, resourcelocation)); + this.registerSimpleTintedItemModel(block, resourcelocation, ItemModelUtils.constantTint(tint)); + } + + public void generateSapling(Block block, Block pottedBlock, BlockModelGenerators.PlantType type) { + ResourceLocation sapling = type.getCross().extend().renderType("cutout").build().create(block, type.getTextureMapping(block), this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(block, sapling)); + ResourceLocation potted = type.getCrossPot().extend().renderType("cutout").build().create(pottedBlock, type.getPlantTextureMapping(block), this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(pottedBlock, potted)); + this.registerSimpleItemModel(block.asItem(), type.createItemModel(this, block)); + } + + public void generateWood(Block woodBlock, TextureMapping mapping) { + TextureMapping texturemapping = mapping.copyAndUpdate(TextureSlot.END, mapping.get(TextureSlot.SIDE)); + ResourceLocation model = ModelTemplates.CUBE_COLUMN.create(woodBlock, texturemapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createAxisAlignedPillarBlock(woodBlock, model)); + } + + public void generateLog(Block logBlock, TextureMapping mapping) { + ResourceLocation vertical = ModelTemplates.CUBE_COLUMN.create(logBlock, mapping, this.modelOutput); + ResourceLocation horizontal = ModelTemplates.CUBE_COLUMN_HORIZONTAL.create(logBlock, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createRotatedPillarWithHorizontalVariant(logBlock, vertical, horizontal)); + } + + public void generateButton(Block button, TextureMapping mapping) { + ResourceLocation unpressed = ModelTemplates.BUTTON.create(button, mapping, this.modelOutput); + ResourceLocation pressed = ModelTemplates.BUTTON_PRESSED.create(button, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createButton(button, unpressed, pressed)); + ResourceLocation inventory = ModelTemplates.BUTTON_INVENTORY.create(button, mapping, this.modelOutput); + this.registerSimpleItemModel(button, inventory); + } + + public void generateFence(Block fence, TextureMapping mapping) { + ResourceLocation post = ModelTemplates.FENCE_POST.create(fence, mapping, this.modelOutput); + ResourceLocation side = ModelTemplates.FENCE_SIDE.create(fence, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createFence(fence, post, side)); + ResourceLocation inventory = ModelTemplates.FENCE_INVENTORY.create(fence, mapping, this.modelOutput); + this.registerSimpleItemModel(fence, inventory); + } + + public void generateFenceGate(Block fenceGate, TextureMapping mapping) { + ResourceLocation open = ModelTemplates.FENCE_GATE_OPEN.create(fenceGate, mapping, this.modelOutput); + ResourceLocation closed = ModelTemplates.FENCE_GATE_CLOSED.create(fenceGate, mapping, this.modelOutput); + ResourceLocation wallOpen = ModelTemplates.FENCE_GATE_WALL_OPEN.create(fenceGate, mapping, this.modelOutput); + ResourceLocation wallClosed = ModelTemplates.FENCE_GATE_WALL_CLOSED.create(fenceGate, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createFenceGate(fenceGate, open, closed, wallOpen, wallClosed, true)); + this.registerSimpleItemModel(fenceGate, closed); + } + + public void generatePressurePlate(Block pressurePlate, TextureMapping mapping) { + ResourceLocation unpressed = ModelTemplates.PRESSURE_PLATE_UP.create(pressurePlate, mapping, this.modelOutput); + ResourceLocation pressed = ModelTemplates.PRESSURE_PLATE_DOWN.create(pressurePlate, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createPressurePlate(pressurePlate, unpressed, pressed)); + this.registerSimpleItemModel(pressurePlate, unpressed); + } + + public void generateSign(Block floor, Block wall, TextureMapping mapping) { + ResourceLocation model = ModelTemplates.PARTICLE_ONLY.create(floor, mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(floor, model)); + this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(wall, model)); + this.registerSimpleFlatItemModel(floor.asItem()); + } + + public void generateHangingSign(Block ceiling, Block wall, Block particle) { + ResourceLocation resourcelocation = ModelTemplates.PARTICLE_ONLY.create(ceiling, new TextureMapping().put(TextureSlot.PARTICLE, TextureMapping.getBlockTexture(particle, "_side")), this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(ceiling, resourcelocation)); + this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(wall, resourcelocation)); + this.registerSimpleFlatItemModel(ceiling.asItem()); + } + + public void generateSlab(Block slab, Block full, TextureMapping mapping) { + ResourceLocation bottom = ModelTemplates.SLAB_BOTTOM.create(slab, mapping, this.modelOutput); + ResourceLocation top = ModelTemplates.SLAB_TOP.create(slab, mapping, this.modelOutput); + this.blockStateOutput.accept(createSlab(slab, bottom, top, ModelLocationUtils.getModelLocation(full))); + this.registerSimpleItemModel(slab, bottom); + } + + public void generateStairs(Block stairs, TextureMapping mapping) { + ResourceLocation inner = ModelTemplates.STAIRS_INNER.createWithSuffix(stairs, "_inner", mapping, this.modelOutput); + ResourceLocation straight = ModelTemplates.STAIRS_STRAIGHT.create(stairs, mapping, this.modelOutput); + ResourceLocation outer = ModelTemplates.STAIRS_OUTER.createWithSuffix(stairs, "_outer", mapping, this.modelOutput); + this.blockStateOutput.accept(BlockModelGenerators.createStairs(stairs, inner, straight, outer)); + this.registerSimpleItemModel(stairs, straight); + } + + public void generateTrapdoor(Block trapdoor, boolean orientable, String renderType) { + TextureMapping texturemapping = TextureMapping.defaultTexture(trapdoor); + ResourceLocation top = (orientable ? ModelTemplates.ORIENTABLE_TRAPDOOR_TOP : ModelTemplates.TRAPDOOR_TOP).extend().renderType(renderType).build().create(trapdoor, texturemapping, this.modelOutput); + ResourceLocation bottom = (orientable ? ModelTemplates.ORIENTABLE_TRAPDOOR_BOTTOM : ModelTemplates.TRAPDOOR_BOTTOM).extend().renderType(renderType).build().create(trapdoor, texturemapping, this.modelOutput); + ResourceLocation open = (orientable ? ModelTemplates.ORIENTABLE_TRAPDOOR_OPEN : ModelTemplates.TRAPDOOR_OPEN).extend().renderType(renderType).build().create(trapdoor, texturemapping, this.modelOutput); + this.blockStateOutput.accept(createTrapdoor(trapdoor, top, bottom, open)); + this.registerSimpleItemModel(trapdoor, bottom); + } + + //holy ternary batman + public void generateDoor(Block door, boolean useSideTexture, String renderType) { + TextureMapping texturemapping = useSideTexture ? TFTextureMapping.sideDoor(door) : TextureMapping.door(door); + ResourceLocation bottomLeft = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_BOTTOM_LEFT : ModelTemplates.DOOR_BOTTOM_LEFT).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation bottomLeftOpen = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_BOTTOM_LEFT_OPEN : ModelTemplates.DOOR_BOTTOM_LEFT_OPEN).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation bottomRight = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_BOTTOM_RIGHT : ModelTemplates.DOOR_BOTTOM_RIGHT).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation bottomRightOpen = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_BOTTOM_RIGHT_OPEN : ModelTemplates.DOOR_BOTTOM_RIGHT_OPEN).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation topLeft = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_TOP_LEFT : ModelTemplates.DOOR_TOP_LEFT).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation topLeftOpen = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_TOP_LEFT_OPEN : ModelTemplates.DOOR_TOP_LEFT_OPEN).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation topRight = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_TOP_RIGHT : ModelTemplates.DOOR_TOP_RIGHT).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + ResourceLocation topRightOpen = (useSideTexture ? TFModelTemplates.CORRECTED_DOOR_TOP_RIGHT_OPEN : ModelTemplates.DOOR_TOP_RIGHT_OPEN).extend().renderType(renderType).build().create(door, texturemapping, this.modelOutput); + this.registerSimpleFlatItemModel(door.asItem()); + this.blockStateOutput.accept(createDoor(door, bottomLeft, bottomLeftOpen, bottomRight, bottomRightOpen, topLeft, topLeftOpen, topRight, topRightOpen)); + } + + public void generateBanister(Block banister, TextureMapping mapping) { + ResourceLocation connected = TFModelTemplates.BANISTER_CONNECTED.create(banister, mapping, this.modelOutput); + ResourceLocation connectedExtended = TFModelTemplates.BANISTER_CONNECTED_EXTENDED.create(banister, mapping, this.modelOutput); + ResourceLocation shorty = TFModelTemplates.BANISTER_SHORT.create(banister, mapping, this.modelOutput); + ResourceLocation shortExtended = TFModelTemplates.BANISTER_SHORT_EXTENDED.create(banister, mapping, this.modelOutput); + ResourceLocation tall = TFModelTemplates.BANISTER_TALL.create(banister, mapping, this.modelOutput); + ResourceLocation tallExtended = TFModelTemplates.BANISTER_TALL_EXTENDED.create(banister, mapping, this.modelOutput); + this.blockStateOutput.accept(createBanister(banister, connected, connectedExtended, shorty, shortExtended, tall, tallExtended)); + ResourceLocation inventory = TFModelTemplates.BANISTER_INVENTORY.create(banister, mapping, this.modelOutput); + this.registerSimpleItemModel(banister, inventory); + } + + public static BlockStateGenerator createBanister(Block banister, ResourceLocation connected, ResourceLocation connectedExtended, ResourceLocation shorty, ResourceLocation shortExtended, ResourceLocation tall, ResourceLocation tallExtended) { + return MultiVariantGenerator.multiVariant(banister).with( + PropertyDispatch.properties(BanisterBlock.EXTENDED, BanisterBlock.SHAPE).generate((extended, shape) -> { + ResourceLocation model = switch (shape) { + case SHORT -> extended ? shortExtended : shorty; + case TALL -> extended ? tallExtended : tall; + case CONNECTED -> extended ? connectedExtended : connected; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) + ).with(createHorizontalFacingDispatchAlt()); + } + + public void generateHollowLog(Block log, Block stripped, Block horizontal, Block vertical, Block climbable) { + TextureMapping base = TextureMapping.column(log).put(TextureSlot.INSIDE, TextureMapping.getBlockTexture(stripped, "_side")); + ResourceLocation horizModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG.create(horizontal, base, this.modelOutput); + ResourceLocation mossModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_moss", base.put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); + ResourceLocation grassModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_PLANT.createWithSuffix(horizontal, "_grass", base.put(TextureSlot.PLANT, TextureMapping.getBlockTexture(Blocks.SHORT_GRASS)).put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); + ResourceLocation snowModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_snow", base.put(TFTextureSlot.CARPET, TextureMapping.getBlockTexture(Blocks.SNOW)).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/snow_overhang")), this.modelOutput); + ResourceLocation vertModel = TFModelTemplates.VERTICAL_HOLLOW_LOG.create(vertical, base, this.modelOutput); + ResourceLocation ladderModel = TFModelTemplates.CLIMBABLE_HOLLOW_LOG.createWithSuffix(climbable, "_ladder", base.put(TFTextureSlot.CLIMBABLE, TextureMapping.getBlockTexture(Blocks.LADDER)), this.modelOutput); + ResourceLocation vineModel = TFModelTemplates.CLIMBABLE_HOLLOW_LOG.createWithSuffix(climbable, "_vine", base.put(TFTextureSlot.CLIMBABLE, TextureMapping.getBlockTexture(Blocks.VINE)), this.modelOutput); + this.blockStateOutput.accept(createHorizontalHollowLog(horizontal, horizModel, mossModel, grassModel, snowModel)); + this.blockStateOutput.accept(createSimpleBlock(vertical, vertModel)); + this.blockStateOutput.accept(createClimableHollowLog(climbable, ladderModel, vineModel)); + this.registerSimpleItemModel(horizontal, horizModel); + } + + public static BlockStateGenerator createHorizontalHollowLog(Block horizontal, ResourceLocation base, ResourceLocation moss, ResourceLocation grass, ResourceLocation snow) { + return MultiVariantGenerator.multiVariant(horizontal).with( + PropertyDispatch.property(HorizontalHollowLogBlock.VARIANT).generate(variant -> { + ResourceLocation model = switch (variant) { + case MOSS -> moss; + case MOSS_AND_GRASS -> grass; + case SNOW -> snow; + default -> base; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) + ).with(PropertyDispatch.property(BlockStateProperties.HORIZONTAL_AXIS) + .select(Direction.Axis.Z, Variant.variant()) + .select(Direction.Axis.X, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90))); + } + + public static BlockStateGenerator createClimableHollowLog(Block climbable, ResourceLocation ladder, ResourceLocation vine) { + return MultiVariantGenerator.multiVariant(climbable).with( + PropertyDispatch.property(ClimbableHollowLogBlock.VARIANT).generate(variant -> { + ResourceLocation model = switch (variant) { + case VINE -> vine; + case LADDER, LADDER_WATERLOGGED -> ladder; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) + ).with(createHorizontalFacingDispatchAlt()); + } + + public void wrapBlockItem(Block block, Consumer blockRegistry) { + blockRegistry.accept(block); + this.generateBlockItem(block); + } + + public void generateBlockItem(Block block) { + this.registerSimpleItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/")); + } + + public void generateSpecialModel(B block, Block particleBlock, Function itemModel) { + this.createParticleOnlyBlock(block, particleBlock); + this.itemModelOutput.accept(block.asItem(), itemModel.apply(block)); + } +} diff --git a/src/main/resources/assets/twilightforest/models/block/climbable_hollow_log.json b/src/main/resources/assets/twilightforest/models/block/climbable_hollow_log.json new file mode 100644 index 0000000000..972cf4b579 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/climbable_hollow_log.json @@ -0,0 +1,66 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"texture": "#inside"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"texture": "#inside"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 16, 2], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"texture": "#inside"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"texture": "#inside"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + }, + { + "from": [2, 0, 2.8], + "to": [14, 16, 2.8], + "shade": false, + "faces": { + "north": {"texture": "#climbable", "tintindex": 0}, + "south": {"texture": "#climbable", "tintindex": 0} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log.json b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log.json new file mode 100644 index 0000000000..2fdd3f1425 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log.json @@ -0,0 +1,53 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "down": {"cullface": "down", "rotation": 180, "texture": "#side"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [14.0, 0.0, 16.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"texture": "#inside"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [0.0, 0.0, 2.0, 16.0]} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "down": {"rotation": 180, "texture": "#inside"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [0.0, 0.0, 2.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"cullface": "up", "texture": "#side"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [14.0, 0.0, 16.0, 16.0]} + } + }, + { + "from": [0, 2, 0], + "to": [2, 14, 16], + "faces": { + "east": {"rotation": 90, "texture": "#inside", "uv": [2.0, 0.0, 14.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [2.0, 0.0, 14.0, 16.0]} + } + }, + { + "from": [14, 2, 0], + "to": [16, 14, 16], + "faces": { + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [2.0, 0.0, 14.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"rotation": 270, "texture": "#inside", "uv": [2.0, 0.0, 14.0, 16.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json new file mode 100644 index 0000000000..93913261be --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_carpet.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "down": {"cullface": "down", "rotation": 180, "texture": "#side"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [13.0, 0.0, 16.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"texture": "#carpet"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [0.0, 0.0, 3.0, 16.0]} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "down": {"rotation": 180, "texture": "#inside"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [0.0, 0.0, 2.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"cullface": "up", "texture": "#side"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [14.0, 0.0, 16.0, 16.0]} + } + }, + { + "from": [0, 3, 0], + "to": [2, 14, 16], + "faces": { + "east": {"rotation": 90, "texture": "#inside", "uv": [2.0, 0.0, 13.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [3.0, 0.0, 14.0, 16.0]} + } + }, + { + "from": [14, 3, 0], + "to": [16, 14, 16], + "faces": { + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [2.0, 0.0, 13.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"rotation": 270, "texture": "#inside", "uv": [3.0, 0.0, 14.0, 16.0]} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "north": {"texture": "#overhang"}, + "south": {"texture": "#overhang"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json new file mode 100644 index 0000000000..b1208af219 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/horizontal_hollow_log_plant.json @@ -0,0 +1,81 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "down": {"cullface": "down", "rotation": 180, "texture": "#side"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [13.0, 0.0, 16.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"texture": "#carpet"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [0.0, 0.0, 3.0, 16.0]} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "down": {"rotation": 180, "texture": "#inside"}, + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [0.0, 0.0, 2.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "up": {"cullface": "up", "texture": "#side"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [14.0, 0.0, 16.0, 16.0]} + } + }, + { + "from": [0, 3, 0], + "to": [2, 14, 16], + "faces": { + "east": {"rotation": 90, "texture": "#inside", "uv": [2.0, 0.0, 13.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"cullface": "west", "rotation": 270, "texture": "#side", "uv": [3.0, 0.0, 14.0, 16.0]} + } + }, + { + "from": [14, 3, 0], + "to": [16, 14, 16], + "faces": { + "east": {"cullface": "east", "rotation": 90, "texture": "#side", "uv": [2.0, 0.0, 13.0, 16.0]}, + "north": {"cullface": "north", "texture": "#end"}, + "south": {"cullface": "south", "texture": "#end"}, + "west": {"rotation": 270, "texture": "#inside", "uv": [3.0, 0.0, 14.0, 16.0]} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "north": {"texture": "#overhang"}, + "south": {"texture": "#overhang"} + } + }, + { + "from": [0.8, 3, 8], + "to": [15.2, 14, 8], + "shade": false, + "rotation": {"angle": 45.0, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"texture": "#plant", "tintindex": 1, "uv": [0.0, 3.0, 16.0, 14.0]}, + "south": {"texture": "#plant", "tintindex": 1, "uv": [0.0, 3.0, 16.0, 14.0]} + } + }, + { + "from": [8, 3, 0.8], + "to": [8, 14, 15.2], + "shade": false, + "rotation": {"angle": 45.0, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "east": {"texture": "#plant", "tintindex": 1, "uv": [0.0, 3.0, 16.0, 14.0]}, + "west": {"texture": "#plant", "tintindex": 1, "uv": [0.0, 3.0, 16.0, 14.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/vertical_hollow_log.json b/src/main/resources/assets/twilightforest/models/block/vertical_hollow_log.json new file mode 100644 index 0000000000..8aec2541cb --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/vertical_hollow_log.json @@ -0,0 +1,56 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"texture": "#inside"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"texture": "#inside"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 16, 2], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"cullface": "north", "texture": "#side"}, + "south": {"texture": "#inside"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#end"}, + "east": {"cullface": "east", "texture": "#side"}, + "north": {"texture": "#inside"}, + "south": {"cullface": "south", "texture": "#side"}, + "up": {"cullface": "up", "texture": "#end"}, + "west": {"cullface": "west", "texture": "#side"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/banister_item.json b/src/main/resources/assets/twilightforest/models/item/banister_inventory.json similarity index 100% rename from src/main/resources/assets/twilightforest/models/item/banister_item.json rename to src/main/resources/assets/twilightforest/models/item/banister_inventory.json diff --git a/src/main/resources/assets/twilightforest/textures/block/canopy_log.png b/src/main/resources/assets/twilightforest/textures/block/canopy_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/canopy_log.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/dark_log.png b/src/main/resources/assets/twilightforest/textures/block/dark_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/dark_log.png rename to src/main/resources/assets/twilightforest/textures/block/dark_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/mangrove_log.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/mangrove_log.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/mining_log.png b/src/main/resources/assets/twilightforest/textures/block/mining_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/mining_log.png rename to src/main/resources/assets/twilightforest/textures/block/mining_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/sorting_log.png b/src/main/resources/assets/twilightforest/textures/block/sorting_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/sorting_log.png rename to src/main/resources/assets/twilightforest/textures/block/sorting_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_dark_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_dark_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_dark_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_dark_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_mining_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_mining_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_mining_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_mining_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_time_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_time_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_time_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_time_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log.png b/src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/time_log.png b/src/main/resources/assets/twilightforest/textures/block/time_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/time_log.png rename to src/main/resources/assets/twilightforest/textures/block/time_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/transformation_log.png b/src/main/resources/assets/twilightforest/textures/block/transformation_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/transformation_log.png rename to src/main/resources/assets/twilightforest/textures/block/transformation_log_side.png diff --git a/src/main/resources/assets/twilightforest/textures/block/twilight_oak_log.png b/src/main/resources/assets/twilightforest/textures/block/twilight_oak_log_side.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/twilight_oak_log.png rename to src/main/resources/assets/twilightforest/textures/block/twilight_oak_log_side.png From f9eea90dc3cdc3a5d8aa6a5f7fb4ae50543c6a20 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 6 Apr 2025 23:19:03 -0600 Subject: [PATCH 092/239] fix up existing block models --- .../models/block/banister_tilt_left.json | 183 ++++--- .../block/banister_tilt_left_extended.json | 183 ++++--- .../models/block/banister_tilt_right.json | 183 ++++--- .../block/banister_tilt_right_extended.json | 183 ++++--- .../models/block/candelabra.json | 2 +- .../models/block/casket_solid_template.json | 3 +- .../models/block/castle_door.json | 6 - .../models/block/castle_door_overlay.json | 23 - .../models/block/castle_door_template.json | 12 - .../models/block/clover_patch.json | 4 - .../models/block/experiment115_1_8.json | 260 ++++----- .../models/block/experiment115_2_8.json | 61 +-- .../models/block/experiment115_3_8.json | 258 ++++----- .../models/block/experiment115_4_8.json | 62 +-- .../models/block/experiment115_5_8.json | 292 +++++----- .../models/block/experiment115_6_8.json | 94 ++-- .../models/block/experiment115_7_8.json | 292 +++++----- .../models/block/experiment115_8_8.json | 72 +-- .../models/block/fallen_leaves.json | 16 +- .../models/block/fiery_block.json | 31 +- .../models/block/huge_lily_pad.json | 17 - .../models/block/iron_ladder_left.json | 162 +++--- .../block/iron_ladder_left_connection.json | 62 ++- .../models/block/iron_ladder_right.json | 162 +++--- .../block/iron_ladder_right_connection.json | 62 ++- .../twilightforest/models/block/jar_lid.json | 113 ++-- .../models/block/knightmetal_block.json | 504 +++++++++--------- .../twilightforest/models/block/mayapple.json | 50 +- .../models/block/moss_patch.json | 5 - .../models/block/root_strand.json | 44 +- .../models/block/rope_knot.json | 43 +- .../twilightforest/models/block/rope_x.json | 56 +- .../twilightforest/models/block/rope_y.json | 54 +- .../twilightforest/models/block/rope_z.json | 56 +- .../spiral_bricks/x_spiral_bottom_left.json | 1 - .../models/block/twilight_portal.json | 22 +- .../models/block/twilight_portal_barrier.json | 18 +- .../models/block/util/block_no_ao.json | 37 -- .../cube_column_rotationally_correct_x.json | 36 +- .../cube_column_rotationally_correct_z.json | 36 +- .../cube_column_rotationally_special_x.json | 36 +- .../cube_column_rotationally_special_z.json | 36 +- 42 files changed, 1907 insertions(+), 1925 deletions(-) delete mode 100644 src/main/resources/assets/twilightforest/models/block/castle_door.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/castle_door_overlay.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/castle_door_template.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/clover_patch.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/huge_lily_pad.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/moss_patch.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/util/block_no_ao.json diff --git a/src/main/resources/assets/twilightforest/models/block/banister_tilt_left.json b/src/main/resources/assets/twilightforest/models/block/banister_tilt_left.json index bdb24884a1..27f857a17b 100644 --- a/src/main/resources/assets/twilightforest/models/block/banister_tilt_left.json +++ b/src/main/resources/assets/twilightforest/models/block/banister_tilt_left.json @@ -1,102 +1,97 @@ { "parent": "block/block", - "textures": { "particle": "#texture" }, "ambientocclusion": false, - "elements": [{ - "from": [ -3.31370849898, 4.01, 12.01 ], - "to": [ 8 , 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + "textures": { + "particle": "#texture" + }, + "elements": [ + { + "from": [-3.31371, 4.01, 12.01], + "to": [8, 7.99, 15.99], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "up": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [5, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "up": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "down": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] } - } - }, { - "from": [ 8 , 4.01, 12.01 ], - "to": [ 19.313708499, 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [8, 4.01, 12.01], + "to": [19.31371, 7.99, 15.99], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] } - } - }, { - "from": [ -4.14213562373, 4.02, 12.02 ], - "to": [ 8 , 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [-4.14214, 4.02, 12.02], + "to": [8, 7.98, 15.98], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "west": {"uv": [12.02, 8.02, 15.98, 11.98], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "up": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 8 , 4.02, 12.02 ], - "to": [ 20.1421356237, 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [8, 4.02, 12.02], + "to": [20.14214, 7.98, 15.98], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "east": {"uv": [0.02, 8.02, 3.98, 11.98], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 15.1715728753, 12, 12.03 ], - "to": [ 16 , 16, 15.97 ], - "faces": { - "up": { "texture": "#texture", "cullface": "up" }, - "north": { "texture": "#texture" }, - "south": { "texture": "#texture", "cullface": "south" }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 0 , -4, 12.03 ], - "to": [ 0.828427124746, 0, 15.97 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "uv": [ 16, 12, 15.1715728753 , 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 0.828427124746, 16 ], "cullface": "south" }, - "west" : { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 2.5, 0, 13 ], - "to": [ 5.5, 1, 16 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ], "cullface": "south" }, - "west" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] }, - "east" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] } - } - }, { - "from": [ 10.5, 0, 13 ], - "to": [ 13.5, 9, 16 ], - "faces": { - "down": { "texture": "#texture" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ], "cullface": "south" }, - "west": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] }, - "east": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] } + { + "from": [15.17157, 12, 12.03], + "to": [16, 16, 15.97], + "faces": { + "north": {"uv": [0, 0, 0.82843, 4], "texture": "#texture"}, + "east": {"uv": [0.03, 0, 3.97, 4], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [15.17157, 0, 16, 4], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [15.17157, 12.03, 16, 15.97], "texture": "#texture", "cullface": "up"} + } + }, + { + "from": [0, -4, 12.03], + "to": [0.82843, 0, 15.97], + "faces": { + "north": {"uv": [16, 12, 15.17157, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 0.82843, 16], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [12.03, 12, 15.97, 16], "texture": "#texture", "cullface": "west"}, + "down": {"uv": [0, 0.03, 0.82843, 3.97], "texture": "#texture"} + } + }, + { + "from": [2.5, 0, 13], + "to": [5.5, 1, 16], + "faces": { + "north": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [2.5, 0, 5.5, 3], "texture": "#texture"} + } + }, + { + "from": [10.5, 0, 13], + "to": [13.5, 9, 16], + "faces": { + "north": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [10.5, 0, 13.5, 3], "texture": "#texture"} + } } - }] -} + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/banister_tilt_left_extended.json b/src/main/resources/assets/twilightforest/models/block/banister_tilt_left_extended.json index bdb24884a1..27f857a17b 100644 --- a/src/main/resources/assets/twilightforest/models/block/banister_tilt_left_extended.json +++ b/src/main/resources/assets/twilightforest/models/block/banister_tilt_left_extended.json @@ -1,102 +1,97 @@ { "parent": "block/block", - "textures": { "particle": "#texture" }, "ambientocclusion": false, - "elements": [{ - "from": [ -3.31370849898, 4.01, 12.01 ], - "to": [ 8 , 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + "textures": { + "particle": "#texture" + }, + "elements": [ + { + "from": [-3.31371, 4.01, 12.01], + "to": [8, 7.99, 15.99], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "up": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [5, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "up": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "down": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] } - } - }, { - "from": [ 8 , 4.01, 12.01 ], - "to": [ 19.313708499, 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [8, 4.01, 12.01], + "to": [19.31371, 7.99, 15.99], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] } - } - }, { - "from": [ -4.14213562373, 4.02, 12.02 ], - "to": [ 8 , 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [-4.14214, 4.02, 12.02], + "to": [8, 7.98, 15.98], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "west": {"uv": [12.02, 8.02, 15.98, 11.98], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "up": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 8 , 4.02, 12.02 ], - "to": [ 20.1421356237, 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": 45 + { + "from": [8, 4.02, 12.02], + "to": [20.14214, 7.98, 15.98], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "east": {"uv": [0.02, 8.02, 3.98, 11.98], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 15.1715728753, 12, 12.03 ], - "to": [ 16 , 16, 15.97 ], - "faces": { - "up": { "texture": "#texture", "cullface": "up" }, - "north": { "texture": "#texture" }, - "south": { "texture": "#texture", "cullface": "south" }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 0 , -4, 12.03 ], - "to": [ 0.828427124746, 0, 15.97 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "uv": [ 16, 12, 15.1715728753 , 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 0.828427124746, 16 ], "cullface": "south" }, - "west" : { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 2.5, 0, 13 ], - "to": [ 5.5, 1, 16 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ], "cullface": "south" }, - "west" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] }, - "east" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 1, 7 ] } - } - }, { - "from": [ 10.5, 0, 13 ], - "to": [ 13.5, 9, 16 ], - "faces": { - "down": { "texture": "#texture" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ], "cullface": "south" }, - "west": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] }, - "east": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 9, 11 ] } + { + "from": [15.17157, 12, 12.03], + "to": [16, 16, 15.97], + "faces": { + "north": {"uv": [0, 0, 0.82843, 4], "texture": "#texture"}, + "east": {"uv": [0.03, 0, 3.97, 4], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [15.17157, 0, 16, 4], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [15.17157, 12.03, 16, 15.97], "texture": "#texture", "cullface": "up"} + } + }, + { + "from": [0, -4, 12.03], + "to": [0.82843, 0, 15.97], + "faces": { + "north": {"uv": [16, 12, 15.17157, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 0.82843, 16], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [12.03, 12, 15.97, 16], "texture": "#texture", "cullface": "west"}, + "down": {"uv": [0, 0.03, 0.82843, 3.97], "texture": "#texture"} + } + }, + { + "from": [2.5, 0, 13], + "to": [5.5, 1, 16], + "faces": { + "north": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 7], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [2.5, 0, 5.5, 3], "texture": "#texture"} + } + }, + { + "from": [10.5, 0, 13], + "to": [13.5, 9, 16], + "faces": { + "north": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 8, 9, 11], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [10.5, 0, 13.5, 3], "texture": "#texture"} + } } - }] -} + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/banister_tilt_right.json b/src/main/resources/assets/twilightforest/models/block/banister_tilt_right.json index a1dc21d400..43bfa41342 100644 --- a/src/main/resources/assets/twilightforest/models/block/banister_tilt_right.json +++ b/src/main/resources/assets/twilightforest/models/block/banister_tilt_right.json @@ -1,102 +1,97 @@ { "parent": "block/block", - "textures": { "particle": "#texture" }, "ambientocclusion": false, - "elements": [{ - "from": [ -3.31370849898, 4.01, 12.01 ], - "to": [ 8 , 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + "textures": { + "particle": "#texture" + }, + "elements": [ + { + "from": [-3.31371, 4.01, 12.01], + "to": [8, 7.99, 15.99], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "up": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [5, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "up": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "down": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] } - } - }, { - "from": [ 8 , 4.01, 12.01 ], - "to": [ 19.313708499, 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [8, 4.01, 12.01], + "to": [19.31371, 7.99, 15.99], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] } - } - }, { - "from": [ -4.14213562373, 4.02, 12.02 ], - "to": [ 8 , 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [-4.14214, 4.02, 12.02], + "to": [8, 7.98, 15.98], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "west": {"uv": [12.02, 8.02, 15.98, 11.98], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "up": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 8 , 4.02, 12.02 ], - "to": [ 20.1421356237, 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [8, 4.02, 12.02], + "to": [20.14214, 7.98, 15.98], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "east": {"uv": [0.02, 8.02, 3.98, 11.98], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 15.1715728753, -4, 12.03 ], - "to": [ 16 , 0, 15.97 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "uv": [ 16, 12, 15.1715728753 , 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 0.828427124746, 16 ], "cullface": "south" }, - "east" : { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 0 , 12, 12.03 ], - "to": [ 0.828427124746, 16, 15.97 ], - "faces": { - "up": { "texture": "#texture", "cullface": "up" }, - "north": { "texture": "#texture" }, - "south": { "texture": "#texture", "cullface": "south" }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 2.5, 0, 13 ], - "to": [ 5.5, 9, 16 ], - "faces": { - "down" : { "texture": "#texture" , "cullface": "down" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ], "cullface": "south" }, - "west" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] }, - "east" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] } - } - }, { - "from": [ 10.5, 0, 13 ], - "to": [ 13.5, 1, 16 ], - "faces": { - "down": { "texture": "#texture" , "cullface": "down" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ], "cullface": "south" }, - "west": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] }, - "east": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] } + { + "from": [15.17157, -4, 12.03], + "to": [16, 0, 15.97], + "faces": { + "north": {"uv": [16, 12, 15.17157, 16], "texture": "#texture"}, + "east": {"uv": [0.03, 12, 3.97, 16], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 0.82843, 16], "texture": "#texture", "cullface": "south"}, + "down": {"uv": [15.17157, 0.03, 16, 3.97], "texture": "#texture"} + } + }, + { + "from": [0, 12, 12.03], + "to": [0.82843, 16, 15.97], + "faces": { + "north": {"uv": [15.17157, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [0, 0, 0.82843, 4], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [12.03, 0, 15.97, 4], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [0, 12.03, 0.82843, 15.97], "texture": "#texture", "cullface": "up"} + } + }, + { + "from": [2.5, 0, 13], + "to": [5.5, 9, 16], + "faces": { + "north": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [2.5, 0, 5.5, 3], "texture": "#texture", "cullface": "down"} + } + }, + { + "from": [10.5, 0, 13], + "to": [13.5, 1, 16], + "faces": { + "north": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [10.5, 0, 13.5, 3], "texture": "#texture", "cullface": "down"} + } } - }] -} + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/banister_tilt_right_extended.json b/src/main/resources/assets/twilightforest/models/block/banister_tilt_right_extended.json index a1dc21d400..43bfa41342 100644 --- a/src/main/resources/assets/twilightforest/models/block/banister_tilt_right_extended.json +++ b/src/main/resources/assets/twilightforest/models/block/banister_tilt_right_extended.json @@ -1,102 +1,97 @@ { "parent": "block/block", - "textures": { "particle": "#texture" }, "ambientocclusion": false, - "elements": [{ - "from": [ -3.31370849898, 4.01, 12.01 ], - "to": [ 8 , 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + "textures": { + "particle": "#texture" + }, + "elements": [ + { + "from": [-3.31371, 4.01, 12.01], + "to": [8, 7.99, 15.99], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "up": {"uv": [5, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [5, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "up": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "down": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 5, 0, 16, 4 ] } - } - }, { - "from": [ 8 , 4.01, 12.01 ], - "to": [ 19.313708499, 7.99, 15.99 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [8, 4.01, 12.01], + "to": [19.31371, 7.99, 15.99], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "south": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11, 16 ] } - } - }, { - "from": [ -4.14213562373, 4.02, 12.02 ], - "to": [ 8 , 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [-4.14214, 4.02, 12.02], + "to": [8, 7.98, 15.98], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "west": {"uv": [12.02, 8.02, 15.98, 11.98], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"}, + "down": {"uv": [4.14795, 0, 16, 4], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "up": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "north": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "south": { "texture": "#texture", "uv": [ 4.14794699982, 0, 16, 4 ] }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 8 , 4.02, 12.02 ], - "to": [ 20.1421356237, 7.98, 15.98 ], - "rotation": { - "origin": [ 8, 6, 14 ], - "axis": "z", - "angle": -45 + { + "from": [8, 4.02, 12.02], + "to": [20.14214, 7.98, 15.98], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 14]}, + "faces": { + "north": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "east": {"uv": [0.02, 8.02, 3.98, 11.98], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "up": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"}, + "down": {"uv": [0, 12, 11.85205, 16], "texture": "#texture"} + } }, - "faces": { - "down": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "up": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "north": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 11.8520530002, 16 ] }, - "east": { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 15.1715728753, -4, 12.03 ], - "to": [ 16 , 0, 15.97 ], - "faces": { - "down" : { "texture": "#texture" }, - "north": { "texture": "#texture", "uv": [ 16, 12, 15.1715728753 , 16 ] }, - "south": { "texture": "#texture", "uv": [ 0, 12, 0.828427124746, 16 ], "cullface": "south" }, - "east" : { "texture": "#texture", "cullface": "east" } - } - }, { - "from": [ 0 , 12, 12.03 ], - "to": [ 0.828427124746, 16, 15.97 ], - "faces": { - "up": { "texture": "#texture", "cullface": "up" }, - "north": { "texture": "#texture" }, - "south": { "texture": "#texture", "cullface": "south" }, - "west": { "texture": "#texture", "cullface": "west" } - } - }, { - "from": [ 2.5, 0, 13 ], - "to": [ 5.5, 9, 16 ], - "faces": { - "down" : { "texture": "#texture" , "cullface": "down" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ], "cullface": "south" }, - "west" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] }, - "east" : { "texture": "#texture", "rotation": 270, "uv": [ 0, 4, 9, 7 ] } - } - }, { - "from": [ 10.5, 0, 13 ], - "to": [ 13.5, 1, 16 ], - "faces": { - "down": { "texture": "#texture" , "cullface": "down" }, - "north": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] }, - "south": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ], "cullface": "south" }, - "west": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] }, - "east": { "texture": "#texture", "rotation": 270, "uv": [ 0, 8, 1, 11 ] } + { + "from": [15.17157, -4, 12.03], + "to": [16, 0, 15.97], + "faces": { + "north": {"uv": [16, 12, 15.17157, 16], "texture": "#texture"}, + "east": {"uv": [0.03, 12, 3.97, 16], "texture": "#texture", "cullface": "east"}, + "south": {"uv": [0, 12, 0.82843, 16], "texture": "#texture", "cullface": "south"}, + "down": {"uv": [15.17157, 0.03, 16, 3.97], "texture": "#texture"} + } + }, + { + "from": [0, 12, 12.03], + "to": [0.82843, 16, 15.97], + "faces": { + "north": {"uv": [15.17157, 0, 16, 4], "texture": "#texture"}, + "south": {"uv": [0, 0, 0.82843, 4], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [12.03, 0, 15.97, 4], "texture": "#texture", "cullface": "west"}, + "up": {"uv": [0, 12.03, 0.82843, 15.97], "texture": "#texture", "cullface": "up"} + } + }, + { + "from": [2.5, 0, 13], + "to": [5.5, 9, 16], + "faces": { + "north": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 4, 9, 7], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [2.5, 0, 5.5, 3], "texture": "#texture", "cullface": "down"} + } + }, + { + "from": [10.5, 0, 13], + "to": [13.5, 1, 16], + "faces": { + "north": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "east": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "south": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture", "cullface": "south"}, + "west": {"uv": [0, 8, 1, 11], "rotation": 270, "texture": "#texture"}, + "down": {"uv": [10.5, 0, 13.5, 3], "texture": "#texture", "cullface": "down"} + } } - }] -} + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/candelabra.json b/src/main/resources/assets/twilightforest/models/block/candelabra.json index 7369d83c4b..0665c39f69 100644 --- a/src/main/resources/assets/twilightforest/models/block/candelabra.json +++ b/src/main/resources/assets/twilightforest/models/block/candelabra.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/block", + "parent": "block/block", "render_type": "minecraft:cutout", "textures": { "candelabra": "twilightforest:block/candelabra", diff --git a/src/main/resources/assets/twilightforest/models/block/casket_solid_template.json b/src/main/resources/assets/twilightforest/models/block/casket_solid_template.json index 3ad9c9a672..bf57661a85 100644 --- a/src/main/resources/assets/twilightforest/models/block/casket_solid_template.json +++ b/src/main/resources/assets/twilightforest/models/block/casket_solid_template.json @@ -4,7 +4,8 @@ "particle": "#side" }, "elements": [ - { "from": [ -0.01, 0, -0.01 ], + { + "from": [ -0.01, 0, -0.01 ], "to": [ 16.01, 12, 16.01 ], "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }, diff --git a/src/main/resources/assets/twilightforest/models/block/castle_door.json b/src/main/resources/assets/twilightforest/models/block/castle_door.json deleted file mode 100644 index ebd6dcfba7..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/castle_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "twilightforest:block/castle_door" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/castle_door_overlay.json b/src/main/resources/assets/twilightforest/models/block/castle_door_overlay.json deleted file mode 100644 index 78c6b1fa1b..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/castle_door_overlay.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/forcefield_white", - "overlay": "twilightforest:block/castle_door_rune_corners" - }, - "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "shade": false, - "faces": { - "down": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "down" , "tintindex": 0 }, - "up": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "up" , "tintindex": 0 }, - "north": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "north", "tintindex": 0 }, - "south": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "south", "tintindex": 0 }, - "west": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "west" , "tintindex": 0 }, - "east": { "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#overlay", "cullface": "east" , "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/twilightforest/models/block/castle_door_template.json b/src/main/resources/assets/twilightforest/models/block/castle_door_template.json deleted file mode 100644 index a9784656af..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/castle_door_template.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "loader": "neoforge:composite", - "parent": "block/block", - "children": { - "main": { - "parent": "twilightforest:block/castle_door" - }, - "overlay": { - "parent": "twilightforest:block/castle_door_overlay" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/clover_patch.json b/src/main/resources/assets/twilightforest/models/block/clover_patch.json deleted file mode 100644 index 8d5670ee67..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/clover_patch.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "loader": "twilightforest:patch", - "texture": "twilightforest:block/cloverpatch" -} diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json index 98221a29d9..e348926bc5 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json @@ -1,125 +1,139 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [4, 0, 1], + "to": [8, 8, 5], + "faces": { + "north": {"uv": [8, 8, 12, 16], "texture": "#side"}, + "east": {"uv": [11, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [4, 8, 8, 16], "texture": "#inside"}, + "west": {"uv": [1, 8, 5, 16], "texture": "#inside"}, + "up": {"uv": [4, 1, 8, 5], "texture": "#top"}, + "down": {"uv": [4, 11, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { "from": [ 4, 0, 1 ], - "to": [ 8, 8, 5 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 2, 0, 1 ], - "to": [ 4, 8, 3 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, - { "from": [ 6, 0, 5 ], - "to": [ 8, 8, 7 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 1, 0, 1 ], - "to": [ 2, 8, 2 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" } - } - }, - { "from": [ 3, 0, 3 ], - "to": [ 4, 8, 4 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, - { "from": [ 5, 0, 5 ], - "to": [ 6, 8, 6 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, { - "from": [ 7, 0, 7 ], - "to": [ 8, 8, 8 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 4, 8, 1 ], - "to": [ 8, 8, 5 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 2, 8, 1 ], - "to": [ 4, 8, 3 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 6, 8, 5 ], - "to": [ 8, 8, 7 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 1, 8, 1 ], - "to": [ 2, 8, 2 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 3, 8, 3 ], - "to": [ 4, 8, 4 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 5, 8, 5 ], - "to": [ 6, 8, 6 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 7, 8, 7 ], - "to": [ 8, 8, 8 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [2, 0, 1], + "to": [4, 8, 3], + "faces": { + "north": {"uv": [12, 8, 14, 16], "texture": "#side"}, + "south": {"uv": [2, 8, 4, 16], "texture": "#inside"}, + "west": {"uv": [1, 8, 3, 16], "texture": "#inside"}, + "up": {"uv": [2, 1, 4, 3], "texture": "#top"}, + "down": {"uv": [2, 13, 4, 15], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [6, 0, 5], + "to": [8, 8, 7], + "faces": { + "east": {"uv": [9, 8, 11, 16], "texture": "#inside"}, + "south": {"uv": [6, 8, 8, 16], "texture": "#inside"}, + "west": {"uv": [5, 8, 7, 16], "texture": "#inside"}, + "up": {"uv": [6, 5, 8, 7], "texture": "#top"}, + "down": {"uv": [6, 9, 8, 11], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 0, 1], + "to": [2, 8, 2], + "faces": { + "north": {"uv": [14, 8, 15, 16], "texture": "#side"}, + "south": {"uv": [1, 8, 2, 16], "texture": "#inside"}, + "west": {"uv": [1, 8, 2, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 2, 2], "texture": "#top"}, + "down": {"uv": [1, 14, 2, 15], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [3, 0, 3], + "to": [4, 8, 4], + "faces": { + "south": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "west": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "up": {"uv": [3, 3, 4, 4], "texture": "#top"}, + "down": {"uv": [3, 12, 4, 13], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [5, 0, 5], + "to": [6, 8, 6], + "faces": { + "south": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "west": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "up": {"uv": [5, 5, 6, 6], "texture": "#top"}, + "down": {"uv": [5, 10, 6, 11], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [7, 0, 7], + "to": [8, 8, 8], + "faces": { + "east": {"uv": [8, 8, 9, 16], "texture": "#inside"}, + "south": {"uv": [7, 8, 8, 16], "texture": "#inside"}, + "west": {"uv": [7, 8, 8, 16], "texture": "#inside"}, + "up": {"uv": [7, 7, 8, 8], "texture": "#top"}, + "down": {"uv": [7, 8, 8, 9], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [4, 8, 1], + "to": [8, 8, 5], + "faces": { + "up": {"uv": [4, 1, 8, 5], "texture": "#top_2"} + } + }, + { + "from": [2, 8, 1], + "to": [4, 8, 3], + "faces": { + "up": {"uv": [2, 1, 4, 3], "texture": "#top_2"} + } + }, + { + "from": [6, 8, 5], + "to": [8, 8, 7], + "faces": { + "up": {"uv": [6, 5, 8, 7], "texture": "#top_2"} + } + }, + { + "from": [1, 8, 1], + "to": [2, 8, 2], + "faces": { + "up": {"uv": [1, 1, 2, 2], "texture": "#top_2"} + } + }, + { + "from": [3, 8, 3], + "to": [4, 8, 4], + "faces": { + "up": {"uv": [3, 3, 4, 4], "texture": "#top_2"} + } + }, + { + "from": [5, 8, 5], + "to": [6, 8, 6], + "faces": { + "up": {"uv": [5, 5, 6, 6], "texture": "#top_2"} + } + }, + { + "from": [7, 8, 7], + "to": [8, 8, 8], + "faces": { + "up": {"uv": [7, 7, 8, 8], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json index b853fa5077..8733d7c434 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json @@ -1,32 +1,33 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 8], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [8, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#inside"}, + "west": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 8], "texture": "#top"}, + "down": {"uv": [1, 8, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { - "from": [ 1, 0, 1 ], - "to": [ 8, 8, 8 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 1, 8, 1 ], - "to": [ 8, 8, 8 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [1, 8, 1], + "to": [8, 8, 8], + "faces": { + "up": {"uv": [1, 1, 8, 8], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json index 1709ead0f1..9f0ca1e6a6 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json @@ -1,124 +1,138 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 9], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [7, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#inside"}, + "west": {"uv": [1, 8, 9, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 9], "texture": "#top"}, + "down": {"uv": [1, 7, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { "from": [ 1, 0, 1 ], - "to": [ 8, 8, 9 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 1, 0, 9 ], - "to": [ 5, 8, 12 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 1, 0, 12 ], - "to": [ 3, 8, 14 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 5, 0, 9 ], - "to": [ 7, 8, 10 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 1, 0, 14 ], - "to": [ 2, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 3, 0, 12 ], - "to": [ 4, 8, 13 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 5, 0, 10 ], - "to": [ 6, 8, 11 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "south": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 1, 8, 1 ], - "to": [ 8, 8, 9 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 1, 8, 9 ], - "to": [ 5, 8, 12 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 1, 0, 12 ], - "to": [ 3, 8, 14 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 5, 8, 9 ], - "to": [ 7, 8, 10 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 1, 8, 14 ], - "to": [ 2, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 3, 8, 12 ], - "to": [ 4, 8, 13 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 5, 8, 10 ], - "to": [ 6, 8, 11 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [1, 0, 9], + "to": [5, 8, 12], + "faces": { + "east": {"uv": [4, 8, 7, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 5, 16], "texture": "#inside"}, + "west": {"uv": [9, 8, 12, 16], "texture": "#side"}, + "up": {"uv": [1, 9, 5, 12], "texture": "#top"}, + "down": {"uv": [1, 4, 5, 7], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 0, 12], + "to": [3, 8, 14], + "faces": { + "east": {"uv": [2, 8, 4, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 3, 16], "texture": "#inside"}, + "west": {"uv": [12, 8, 14, 16], "texture": "#side"}, + "up": {"uv": [1, 12, 3, 14], "texture": "#top"}, + "down": {"uv": [1, 2, 3, 4], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [5, 0, 9], + "to": [7, 8, 10], + "faces": { + "east": {"uv": [6, 8, 7, 16], "texture": "#inside"}, + "south": {"uv": [5, 8, 7, 16], "texture": "#inside"}, + "up": {"uv": [5, 9, 7, 10], "texture": "#top"}, + "down": {"uv": [5, 6, 7, 7], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 0, 14], + "to": [2, 8, 15], + "faces": { + "east": {"uv": [1, 8, 2, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 2, 16], "texture": "#inside"}, + "west": {"uv": [14, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 14, 2, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 2, 2], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [3, 0, 12], + "to": [4, 8, 13], + "faces": { + "east": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "south": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "up": {"uv": [3, 12, 4, 13], "texture": "#top"}, + "down": {"uv": [3, 3, 4, 4], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [5, 0, 10], + "to": [6, 8, 11], + "faces": { + "east": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "south": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "up": {"uv": [5, 10, 6, 11], "texture": "#top"}, + "down": {"uv": [5, 5, 6, 6], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 8, 1], + "to": [8, 8, 9], + "faces": { + "up": {"uv": [1, 1, 8, 9], "texture": "#top_2"} + } + }, + { + "from": [1, 8, 9], + "to": [5, 8, 12], + "faces": { + "up": {"uv": [1, 9, 5, 12], "texture": "#top_2"} + } + }, + { + "from": [1, 0, 12], + "to": [3, 8, 14], + "faces": { + "up": {"uv": [1, 12, 3, 14], "texture": "#top_2"} + } + }, + { + "from": [5, 8, 9], + "to": [7, 8, 10], + "faces": { + "up": {"uv": [5, 9, 7, 10], "texture": "#top_2"} + } + }, + { + "from": [1, 8, 14], + "to": [2, 8, 15], + "faces": { + "up": {"uv": [1, 14, 2, 15], "texture": "#top_2"} + } + }, + { + "from": [3, 8, 12], + "to": [4, 8, 13], + "faces": { + "up": {"uv": [3, 12, 4, 13], "texture": "#top_2"} + } + }, + { + "from": [5, 8, 10], + "to": [6, 8, 11], + "faces": { + "up": {"uv": [5, 10, 6, 11], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json index ba4fbcb52a..03746c4ed0 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json @@ -1,33 +1,33 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 15], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [1, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { - "from": [ 1, 0, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#side" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { - "from": [ 1, 8, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [1, 8, 1], + "to": [8, 8, 15], + "faces": { + "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json index 0cfe12e3c1..c199844618 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json @@ -1,141 +1,155 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 15], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [1, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { - "from": [ 1, 0, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#side" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 8, 0, 11 ], - "to": [ 12, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "south": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 12, 0, 13 ], - "to": [ 14, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "south": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 8, 0, 9 ], - "to": [ 10, 8, 11 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 8, 0, 8 ], - "to": [ 9, 8, 9 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 10, 0, 10 ], - "to": [ 11, 8, 11 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 12, 0, 12 ], - "to": [ 13, 8, 13 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 14, 0, 14 ], - "to": [ 15, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "south": { "texture": "#side" }, - "east": { "texture": "#side" } - } - }, - { - "from": [ 1, 8, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 8, 8, 11 ], - "to": [ 12, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 12, 8, 13 ], - "to": [ 14, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 8, 8, 9 ], - "to": [ 10, 8, 11 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 8, 8, 8 ], - "to": [ 9, 8, 9 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 10, 8, 10 ], - "to": [ 11, 8, 11 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 12, 8, 12 ], - "to": [ 13, 8, 13 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 14, 8, 14 ], - "to": [ 15, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [8, 0, 11], + "to": [12, 8, 15], + "faces": { + "north": {"uv": [4, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 5, 16], "texture": "#inside"}, + "south": {"uv": [8, 8, 12, 16], "texture": "#side"}, + "up": {"uv": [8, 11, 12, 15], "texture": "#top"}, + "down": {"uv": [8, 1, 12, 5], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [12, 0, 13], + "to": [14, 8, 15], + "faces": { + "north": {"uv": [2, 8, 4, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 3, 16], "texture": "#inside"}, + "south": {"uv": [12, 8, 14, 16], "texture": "#side"}, + "up": {"uv": [12, 13, 14, 15], "texture": "#top"}, + "down": {"uv": [12, 1, 14, 3], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 0, 9], + "to": [10, 8, 11], + "faces": { + "north": {"uv": [6, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [5, 8, 7, 16], "texture": "#inside"}, + "up": {"uv": [8, 9, 10, 11], "texture": "#top"}, + "down": {"uv": [8, 5, 10, 7], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [8, 0, 8], + "to": [9, 8, 9], + "faces": { + "north": {"uv": [7, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [7, 8, 8, 16], "texture": "#inside"}, + "up": {"uv": [8, 8, 9, 9], "texture": "#top"}, + "down": {"uv": [8, 7, 9, 8], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [10, 0, 10], + "to": [11, 8, 11], + "faces": { + "north": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "east": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "up": {"uv": [10, 10, 11, 11], "texture": "#top"}, + "down": {"uv": [10, 5, 11, 6], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [12, 0, 12], + "to": [13, 8, 13], + "faces": { + "north": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "east": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "up": {"uv": [12, 12, 13, 13], "texture": "#top"}, + "down": {"uv": [12, 3, 13, 4], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [14, 0, 14], + "to": [15, 8, 15], + "faces": { + "north": {"uv": [1, 8, 2, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 2, 16], "texture": "#side"}, + "south": {"uv": [14, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [14, 14, 15, 15], "texture": "#top"}, + "down": {"uv": [14, 1, 15, 2], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 8, 1], + "to": [8, 8, 15], + "faces": { + "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + } + }, + { + "from": [8, 8, 11], + "to": [12, 8, 15], + "faces": { + "up": {"uv": [8, 11, 12, 15], "texture": "#top_2"} + } + }, + { + "from": [12, 8, 13], + "to": [14, 8, 15], + "faces": { + "up": {"uv": [12, 13, 14, 15], "texture": "#top_2"} + } + }, + { + "from": [8, 8, 9], + "to": [10, 8, 11], + "faces": { + "up": {"uv": [8, 9, 10, 11], "texture": "#top_2"} + } + }, + { + "from": [8, 8, 8], + "to": [9, 8, 9], + "faces": { + "up": {"uv": [8, 8, 9, 9], "texture": "#top_2"} + } + }, + { + "from": [10, 8, 10], + "to": [11, 8, 11], + "faces": { + "up": {"uv": [10, 10, 11, 11], "texture": "#top_2"} + } + }, + { + "from": [12, 8, 12], + "to": [13, 8, 13], + "faces": { + "up": {"uv": [12, 12, 13, 13], "texture": "#top_2"} + } + }, + { + "from": [14, 8, 14], + "to": [15, 8, 15], + "faces": { + "up": {"uv": [14, 14, 15, 15], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json index 75a67b6bbe..ad17a712a3 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json @@ -1,47 +1,51 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 15], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [1, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { "from": [ 1, 0, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#side" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, { - "from": [ 8, 0, 8 ], - "to": [ 15, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "south": { "texture": "#side" }, - "east": { "texture": "#side" } - } - }, { - "from": [ 1, 8, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 8, 8, 8 ], - "to": [ 15, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [8, 0, 8], + "to": [15, 8, 15], + "faces": { + "north": {"uv": [1, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "south": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [8, 8, 15, 15], "texture": "#top"}, + "down": {"uv": [8, 1, 15, 8], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 8, 1], + "to": [8, 8, 15], + "faces": { + "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + } + }, + { + "from": [8, 8, 8], + "to": [15, 8, 15], + "faces": { + "up": {"uv": [8, 8, 15, 15], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json index 247c28d829..a1428fb836 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json @@ -1,140 +1,156 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "inside": "twilightforest:block/experiment115/experiment115_inner", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "inside": "twilightforest:block/experiment115_inner", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [8, 8, 15], + "faces": { + "north": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [1, 8, 15, 16], "texture": "#inside"}, + "south": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 8, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 8, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { "from": [ 1, 0, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#side" }, - "west": { "texture": "#side" }, - "east": { "texture": "#inside" } - } - }, - { "from": [ 8, 0, 7 ], - "to": [ 15, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "south": { "texture": "#side" }, - "east": { "texture": "#side" } - } - }, - { "from": [ 11, 0, 4 ], - "to": [ 15, 8, 7 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#side" } - } - }, - { "from": [ 9, 0, 6 ], - "to": [ 11, 8, 7 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, - { "from": [ 13, 0, 2 ], - "to": [ 15, 8, 4 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#side" } - } - }, - { "from": [ 10, 0, 5 ], - "to": [ 11, 8, 6 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, - { "from": [ 12, 0, 3 ], - "to": [ 13, 8, 4 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#inside" }, - "west": { "texture": "#inside" } - } - }, { - "from": [ 14, 0, 1 ], - "to": [ 15, 8, 2 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "west": { "texture": "#inside" }, - "east": { "texture": "#side" } - } - }, - { "from": [ 1, 8, 1 ], - "to": [ 8, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 8, 8, 7 ], - "to": [ 15, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 11, 8, 4 ], - "to": [ 15, 8, 7 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 9, 8, 6 ], - "to": [ 11, 8, 7 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 13, 8, 2 ], - "to": [ 15, 8, 4 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 10, 8, 5 ], - "to": [ 11, 8, 6 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, - { "from": [ 12, 8, 3 ], - "to": [ 13, 8, 4 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 14, 8, 1 ], - "to": [ 15, 8, 2 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [8, 0, 7], + "to": [15, 8, 15], + "faces": { + "north": {"uv": [1, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 9, 16], "texture": "#side"}, + "south": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [8, 7, 15, 15], "texture": "#top"}, + "down": {"uv": [8, 1, 15, 9], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [11, 0, 4], + "to": [15, 8, 7], + "faces": { + "north": {"uv": [1, 8, 5, 16], "texture": "#inside"}, + "east": {"uv": [9, 8, 12, 16], "texture": "#side"}, + "west": {"uv": [4, 8, 7, 16], "texture": "#inside"}, + "up": {"uv": [11, 4, 15, 7], "texture": "#top"}, + "down": {"uv": [11, 9, 15, 12], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [9, 0, 6], + "to": [11, 8, 7], + "faces": { + "north": {"uv": [5, 8, 7, 16], "texture": "#inside"}, + "west": {"uv": [6, 8, 7, 16], "texture": "#inside"}, + "up": {"uv": [9, 6, 11, 7], "texture": "#top"}, + "down": {"uv": [9, 9, 11, 10], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [13, 0, 2], + "to": [15, 8, 4], + "faces": { + "north": {"uv": [1, 8, 3, 16], "texture": "#inside"}, + "east": {"uv": [12, 8, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 8, 4, 16], "texture": "#inside"}, + "up": {"uv": [13, 2, 15, 4], "texture": "#top"}, + "down": {"uv": [13, 12, 15, 14], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [10, 0, 5], + "to": [11, 8, 6], + "faces": { + "north": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "west": {"uv": [5, 8, 6, 16], "texture": "#inside"}, + "up": {"uv": [10, 5, 11, 6], "texture": "#top"}, + "down": {"uv": [10, 10, 11, 11], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [12, 0, 3], + "to": [13, 8, 4], + "faces": { + "north": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "west": {"uv": [3, 8, 4, 16], "texture": "#inside"}, + "up": {"uv": [12, 3, 13, 4], "texture": "#top"}, + "down": {"uv": [12, 12, 13, 13], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [14, 0, 1], + "to": [15, 8, 2], + "faces": { + "north": {"uv": [1, 8, 2, 16], "texture": "#side"}, + "east": {"uv": [14, 8, 15, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 2, 16], "texture": "#inside"}, + "up": {"uv": [14, 1, 15, 2], "texture": "#top"}, + "down": {"uv": [14, 14, 15, 15], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [1, 8, 1], + "to": [8, 8, 15], + "faces": { + "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + } + }, + { + "from": [8, 8, 7], + "to": [15, 8, 15], + "faces": { + "up": {"uv": [8, 7, 15, 15], "texture": "#top_2"} + } + }, + { + "from": [11, 8, 4], + "to": [15, 8, 7], + "faces": { + "up": {"uv": [11, 4, 15, 7], "texture": "#top_2"} + } + }, + { + "from": [9, 8, 6], + "to": [11, 8, 7], + "faces": { + "up": {"uv": [9, 6, 11, 7], "texture": "#top_2"} + } + }, + { + "from": [13, 8, 2], + "to": [15, 8, 4], + "faces": { + "up": {"uv": [13, 2, 15, 4], "texture": "#top_2"} + } + }, + { + "from": [10, 8, 5], + "to": [11, 8, 6], + "faces": { + "up": {"uv": [10, 5, 11, 6], "texture": "#top_2"} + } + }, + { + "from": [12, 8, 3], + "to": [13, 8, 4], + "faces": { + "up": {"uv": [12, 3, 13, 4], "texture": "#top_2"} + } + }, + { + "from": [14, 8, 1], + "to": [15, 8, 2], + "faces": { + "up": {"uv": [14, 1, 15, 2], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json b/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json index 3a474150b6..66ed840a4d 100755 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json @@ -1,37 +1,39 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "#bottom", - "bottom": "twilightforest:block/experiment115/experiment115_bottom", - "top": "twilightforest:block/experiment115/experiment115_top", - "top_2": "twilightforest:block/blank", - "side": "twilightforest:block/experiment115/experiment115_side" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/experiment115_bottom", + "top": "twilightforest:block/experiment115_top", + "top_2": "twilightforest:block/blank", + "side": "twilightforest:block/experiment115_side", + "particle": "#bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 8, 15], + "faces": { + "north": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "south": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#bottom", "cullface": "down"} + } }, - "elements": [ - { - "from": [ 1, 0, 1 ], - "to": [ 15, 8, 15 ], - "faces": { - "down": { "texture": "#bottom", "cullface": "down" }, - "up": { "texture": "#top" }, - "north": { "texture": "#side" }, - "south": { "texture": "#side" }, - "west": { "texture": "#side" }, - "east": { "texture": "#side" } - } - }, { - "from": [ 1, 8, 1 ], - "to": [ 15, 8, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - }, { - "from": [ 1, 8, 1 ], - "to": [ 15, 8.02, 15 ], - "faces": { - "up": { "texture": "#top_2", "neoforge_data": { "block_light": 15, "sky_light": 15 } } - } - } - ] -} + { + "from": [1, 8, 1], + "to": [15, 8, 15], + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#top_2"} + } + }, + { + "from": [1, 8, 1], + "to": [15, 8.02, 15], + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#top_2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/fallen_leaves.json b/src/main/resources/assets/twilightforest/models/block/fallen_leaves.json index a501481113..0a6152a5df 100644 --- a/src/main/resources/assets/twilightforest/models/block/fallen_leaves.json +++ b/src/main/resources/assets/twilightforest/models/block/fallen_leaves.json @@ -6,13 +6,13 @@ "texture": "block/oak_leaves" }, "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 0.2, 16 ], - "faces": { - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 }, - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 } - } - } + { + "from": [ 0, 0, 0 ], + "to": [ 16, 0.2, 16 ], + "faces": { + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 }, + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 } + } + } ] } diff --git a/src/main/resources/assets/twilightforest/models/block/fiery_block.json b/src/main/resources/assets/twilightforest/models/block/fiery_block.json index 7a0fab4fce..0cb420c855 100644 --- a/src/main/resources/assets/twilightforest/models/block/fiery_block.json +++ b/src/main/resources/assets/twilightforest/models/block/fiery_block.json @@ -1,6 +1,7 @@ { "ambientocclusion": false, - "textures": { + "parent": "block/block", + "textures": { "all": "twilightforest:block/fiery_block_inner", "over": "twilightforest:block/fiery_pattern", "particle": "twilightforest:block/fiery_block" @@ -32,31 +33,5 @@ "down": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "up", "tintindex": 1} } } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "scale": [0.625, 0.625, 0.625] - }, - "fixed": { - "scale": [0.5, 0.5, 0.5] - } - } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/huge_lily_pad.json b/src/main/resources/assets/twilightforest/models/block/huge_lily_pad.json deleted file mode 100644 index af80f1da53..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/huge_lily_pad.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/huge_lily_pad", - "texture": "twilightforest:block/huge_lily_pad" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "tintindex": 0 }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/twilightforest/models/block/iron_ladder_left.json b/src/main/resources/assets/twilightforest/models/block/iron_ladder_left.json index 60597d472e..b170bd6a4d 100644 --- a/src/main/resources/assets/twilightforest/models/block/iron_ladder_left.json +++ b/src/main/resources/assets/twilightforest/models/block/iron_ladder_left.json @@ -1,97 +1,105 @@ { "ambientocclusion": false, "textures": { - "particle": "twilightforest:block/ladder_iron" + "texture": "twilightforest:block/ladder_iron", + "particle": "#texture" }, "elements": [ { - "from": [ 1, 13, 15.2 ], - "to" : [ 8, 15, 16 ], + "from": [1, 13, 15.2], + "to": [8, 15, 16], "faces": { - "up" : { "uv": [ 8 , 0 , 1 , 0.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8 , 1.2, 1 , 2 ], "texture": "#particle" }, - "north": { "uv": [ 1 , 0 , 8 , 2 ], "texture": "#particle" }, - "south": { "uv": [ 8 , 0 , 1 , 2 ], "texture": "#particle", "cullface": "south" }, - "west" : { "uv": [ 14.2, 0 , 15 , 2 ], "texture": "#particle" } + "north": {"uv": [0, 0, 7, 2], "texture": "#texture"}, + "south": {"uv": [7, 0, 0, 2], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14.2, 0, 15, 2], "texture": "#texture"}, + "up": {"uv": [7, 0, 0, 0.8], "texture": "#texture"}, + "down": {"uv": [7, 1.2, 0, 2], "texture": "#texture"} } - }, { - "from": [ 1, 9, 15.2 ], - "to" : [ 8, 11, 16 ], + }, + { + "from": [1, 9, 15.2], + "to": [8, 11, 16], "faces": { - "up" : { "uv": [ 8 , 4 , 1 , 4.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8 , 5.2, 1 , 6 ], "texture": "#particle" }, - "north": { "uv": [ 1 , 4 , 8 , 6 ], "texture": "#particle" }, - "south": { "uv": [ 8 , 4 , 1 , 6 ], "texture": "#particle", "cullface": "south" }, - "west" : { "uv": [ 14.2, 4 , 15 , 6 ], "texture": "#particle" } + "north": {"uv": [0, 4, 7, 6], "texture": "#texture"}, + "south": {"uv": [7, 4, 0, 6], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14.2, 4, 15, 6], "texture": "#texture"}, + "up": {"uv": [7, 4, 0, 4.8], "texture": "#texture"}, + "down": {"uv": [7, 5.2, 0, 6], "texture": "#texture"} } - }, { - "from": [ 1, 5, 15.2 ], - "to" : [ 8, 7, 16 ], + }, + { + "from": [1, 5, 15.2], + "to": [8, 7, 16], "faces": { - "up" : { "uv": [ 8 , 8 , 1 , 8.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8 , 9.2, 1 , 10 ], "texture": "#particle" }, - "north": { "uv": [ 1 , 8 , 8 , 10 ], "texture": "#particle" }, - "south": { "uv": [ 8 , 8 , 1 , 10 ], "texture": "#particle", "cullface": "south" }, - "west" : { "uv": [ 14.2, 8 , 15 , 10 ], "texture": "#particle" } + "north": {"uv": [0, 8, 7, 10], "texture": "#texture"}, + "south": {"uv": [7, 8, 0, 10], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14.2, 8, 15, 10], "texture": "#texture"}, + "up": {"uv": [7, 8, 0, 8.8], "texture": "#texture"}, + "down": {"uv": [7, 9.2, 0, 10], "texture": "#texture"} } - }, { - "from": [ 1, 1, 15.2 ], - "to" : [ 8, 3, 16 ], + }, + { + "from": [1, 1, 15.2], + "to": [8, 3, 16], "faces": { - "up" : { "uv": [ 8 , 12 , 1 , 12.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8 , 13.2, 1 , 14 ], "texture": "#particle" }, - "north": { "uv": [ 1 , 12 , 8 , 14 ], "texture": "#particle" }, - "south": { "uv": [ 8 , 12 , 1 , 14 ], "texture": "#particle", "cullface": "south" }, - "west" : { "uv": [ 14.2, 12 , 15 , 14 ], "texture": "#particle" } + "north": {"uv": [0, 12, 7, 14], "texture": "#texture"}, + "south": {"uv": [7, 12, 0, 14], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14.2, 12, 15, 14], "texture": "#texture"}, + "up": {"uv": [7, 12, 0, 12.8], "texture": "#texture"}, + "down": {"uv": [7, 13.2, 0, 14], "texture": "#texture"} } - }, { - "from": [ 2, 0.5, 14 ], - "to" : [ 4, 2.5, 16 ], + }, + { + "from": [2, 0.5, 14], + "to": [4, 2.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 2.5, 16]}, "faces": { - "up" : { "uv": [ 4, 14, 2, 16 ], "texture": "#particle" }, - "down" : { "uv": [ 2, 14, 4, 16 ], "texture": "#particle" }, - "north": { "uv": [ 2, 14, 4, 16 ], "texture": "#particle" }, - "south": { "uv": [ 2, 16, 4, 14 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 4, 14, 2, 16 ], "texture": "#particle" }, - "west" : { "uv": [ 4, 16, 2, 14 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 2.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 2, 4.5, 14 ], - "to" : [ 4, 6.5, 16 ], + "north": {"uv": [2, 14, 4, 16], "texture": "#texture"}, + "east": {"uv": [4, 14, 2, 16], "texture": "#texture"}, + "south": {"uv": [2, 16, 4, 14], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [4, 16, 2, 14], "texture": "#texture"}, + "up": {"uv": [4, 14, 2, 16], "texture": "#texture"}, + "down": {"uv": [2, 14, 4, 16], "texture": "#texture"} + } + }, + { + "from": [2, 4.5, 14], + "to": [4, 6.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 6.5, 16]}, "faces": { - "up" : { "uv": [ 4, 10, 2, 12 ], "texture": "#particle" }, - "down" : { "uv": [ 2, 10, 4, 12 ], "texture": "#particle" }, - "north": { "uv": [ 2, 10, 4, 12 ], "texture": "#particle" }, - "south": { "uv": [ 2, 12, 4, 10 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 4, 10, 2, 12 ], "texture": "#particle" }, - "west" : { "uv": [ 4, 12, 2, 10 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 6.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 2, 8.5, 14 ], - "to" : [ 4, 10.5, 16 ], + "north": {"uv": [2, 10, 4, 12], "texture": "#texture"}, + "east": {"uv": [4, 10, 2, 12], "texture": "#texture"}, + "south": {"uv": [2, 12, 4, 10], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [4, 12, 2, 10], "texture": "#texture"}, + "up": {"uv": [4, 10, 2, 12], "texture": "#texture"}, + "down": {"uv": [2, 10, 4, 12], "texture": "#texture"} + } + }, + { + "from": [2, 8.5, 14], + "to": [4, 10.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 10.5, 16]}, "faces": { - "up" : { "uv": [ 4, 6, 2, 8 ], "texture": "#particle" }, - "down" : { "uv": [ 2, 6, 4, 8 ], "texture": "#particle" }, - "north": { "uv": [ 2, 6, 4, 8 ], "texture": "#particle" }, - "south": { "uv": [ 2, 8, 4, 6 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 4, 6, 2, 8 ], "texture": "#particle" }, - "west" : { "uv": [ 4, 8, 2, 6 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 10.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 2, 12.5, 14 ], - "to" : [ 4, 14.5, 16 ], + "north": {"uv": [2, 6, 4, 8], "texture": "#texture"}, + "east": {"uv": [4, 6, 2, 8], "texture": "#texture"}, + "south": {"uv": [2, 8, 4, 6], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [4, 8, 2, 6], "texture": "#texture"}, + "up": {"uv": [4, 6, 2, 8], "texture": "#texture"}, + "down": {"uv": [2, 6, 4, 8], "texture": "#texture"} + } + }, + { + "from": [2, 12.5, 14], + "to": [4, 14.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 14.5, 16]}, "faces": { - "up" : { "uv": [ 4, 2, 2, 4 ], "texture": "#particle" }, - "down" : { "uv": [ 2, 2, 4, 4 ], "texture": "#particle" }, - "north": { "uv": [ 2, 2, 4, 4 ], "texture": "#particle" }, - "south": { "uv": [ 2, 4, 4, 2 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 4, 2, 2, 4 ], "texture": "#particle" }, - "west" : { "uv": [ 4, 4, 2, 2 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 14.5, 16 ], "axis": "x", "angle": -22.5 } + "north": {"uv": [2, 2, 4, 4], "texture": "#texture"}, + "east": {"uv": [4, 2, 2, 4], "texture": "#texture"}, + "south": {"uv": [2, 4, 4, 2], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [4, 4, 2, 2], "texture": "#texture"}, + "up": {"uv": [4, 2, 2, 4], "texture": "#texture"}, + "down": {"uv": [2, 2, 4, 4], "texture": "#texture"} + } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/iron_ladder_left_connection.json b/src/main/resources/assets/twilightforest/models/block/iron_ladder_left_connection.json index 37ea83f196..2e01be625f 100644 --- a/src/main/resources/assets/twilightforest/models/block/iron_ladder_left_connection.json +++ b/src/main/resources/assets/twilightforest/models/block/iron_ladder_left_connection.json @@ -1,45 +1,49 @@ { "ambientocclusion": false, "textures": { - "particle": "twilightforest:block/ladder_iron" + "texture": "twilightforest:block/ladder_iron", + "particle": "#texture" }, "elements": [ { - "from": [ 0, 13, 15.2 ], - "to" : [ 8, 15, 16 ], + "from": [0, 13, 15.2], + "to": [8, 15, 16], "faces": { - "up" : { "uv": [ 8, 0 , 0, 0.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8, 1.2, 0, 2 ], "texture": "#particle" }, - "north": { "uv": [ 0, 0 , 8, 2 ], "texture": "#particle" }, - "south": { "uv": [ 8, 0 , 0, 2 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [0, 0, 8, 2], "texture": "#texture"}, + "south": {"uv": [8, 0, 0, 2], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [8, 0, 0, 0.8], "texture": "#texture"}, + "down": {"uv": [8, 1.2, 0, 2], "texture": "#texture"} } - }, { - "from": [ 0, 9, 15.2 ], - "to" : [ 8, 11, 16 ], + }, + { + "from": [0, 9, 15.2], + "to": [8, 11, 16], "faces": { - "up" : { "uv": [ 8, 4 , 0, 4.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8, 5.2, 0, 6 ], "texture": "#particle" }, - "north": { "uv": [ 0, 4 , 8, 6 ], "texture": "#particle" }, - "south": { "uv": [ 8, 4 , 0, 6 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [0, 4, 8, 6], "texture": "#texture"}, + "south": {"uv": [8, 4, 0, 6], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [8, 4, 0, 4.8], "texture": "#texture"}, + "down": {"uv": [8, 5.2, 0, 6], "texture": "#texture"} } - }, { - "from": [ 0, 5, 15.2 ], - "to" : [ 8, 7, 16 ], + }, + { + "from": [0, 5, 15.2], + "to": [8, 7, 16], "faces": { - "up" : { "uv": [ 8, 8 , 0, 8.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8, 9.2, 0, 10 ], "texture": "#particle" }, - "north": { "uv": [ 0, 8 , 8, 10 ], "texture": "#particle" }, - "south": { "uv": [ 8, 8 , 0, 10 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [0, 8, 8, 10], "texture": "#texture"}, + "south": {"uv": [8, 8, 0, 10], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [8, 8, 0, 8.8], "texture": "#texture"}, + "down": {"uv": [8, 9.2, 0, 10], "texture": "#texture"} } - }, { - "from": [ 0, 1, 15.2 ], - "to" : [ 8, 3, 16 ], + }, + { + "from": [0, 1, 15.2], + "to": [8, 3, 16], "faces": { - "up" : { "uv": [ 8, 12 , 0, 12.8 ], "texture": "#particle" }, - "down" : { "uv": [ 8, 13.2, 0, 14 ], "texture": "#particle" }, - "north": { "uv": [ 0, 12 , 8, 14 ], "texture": "#particle" }, - "south": { "uv": [ 8, 12 , 0, 14 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [0, 12, 8, 14], "texture": "#texture"}, + "south": {"uv": [8, 12, 0, 14], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [8, 12, 0, 12.8], "texture": "#texture"}, + "down": {"uv": [8, 13.2, 0, 14], "texture": "#texture"} } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/iron_ladder_right.json b/src/main/resources/assets/twilightforest/models/block/iron_ladder_right.json index dcbbb0d6dc..52bfc76f36 100644 --- a/src/main/resources/assets/twilightforest/models/block/iron_ladder_right.json +++ b/src/main/resources/assets/twilightforest/models/block/iron_ladder_right.json @@ -1,97 +1,105 @@ { "ambientocclusion": false, "textures": { - "particle": "twilightforest:block/ladder_iron" + "texture": "twilightforest:block/ladder_iron", + "particle": "#texture" }, "elements": [ { - "from": [ 8, 13, 15.2 ], - "to" : [ 15, 15, 16 ], + "from": [8, 13, 15.2], + "to": [15, 15, 16], "faces": { - "up" : { "uv": [ 15 , 0 , 8 , 0.8 ], "texture": "#particle" }, - "down" : { "uv": [ 15 , 1.2, 8 , 2 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 0 , 15 , 2 ], "texture": "#particle" }, - "south": { "uv": [ 15 , 0 , 8 , 2 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 1 , 0 , 1.8, 2 ], "texture": "#particle" } + "north": {"uv": [9, 0, 16, 2], "texture": "#texture"}, + "east": {"uv": [1, 0, 1.8, 2], "texture": "#texture"}, + "south": {"uv": [16, 0, 9, 2], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 0, 9, 0.8], "texture": "#texture"}, + "down": {"uv": [16, 1.2, 9, 2], "texture": "#texture"} } - }, { - "from": [ 8, 9, 15.2 ], - "to" : [ 15, 11, 16 ], + }, + { + "from": [8, 9, 15.2], + "to": [15, 11, 16], "faces": { - "up" : { "uv": [ 15 , 4 , 8 , 4.8 ], "texture": "#particle" }, - "down" : { "uv": [ 15 , 5.2, 8 , 6 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 4 , 15 , 6 ], "texture": "#particle" }, - "south": { "uv": [ 15 , 4 , 8 , 6 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 0 , 4 , 0.8, 6 ], "texture": "#particle" } + "north": {"uv": [9, 4, 16, 6], "texture": "#texture"}, + "east": {"uv": [0, 4, 0.8, 6], "texture": "#texture"}, + "south": {"uv": [16, 4, 9, 6], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 4, 9, 4.8], "texture": "#texture"}, + "down": {"uv": [16, 5.2, 9, 6], "texture": "#texture"} } - }, { - "from": [ 8, 5, 15.2 ], - "to" : [ 15, 7, 16 ], + }, + { + "from": [8, 5, 15.2], + "to": [15, 7, 16], "faces": { - "up" : { "uv": [ 15 , 8 , 8 , 8.8 ], "texture": "#particle" }, - "down" : { "uv": [ 15 , 9.2, 8 , 10 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 8 , 15 , 10 ], "texture": "#particle" }, - "south": { "uv": [ 15 , 8 , 8 , 10 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 0 , 8 , 0.8, 10 ], "texture": "#particle" } + "north": {"uv": [9, 8, 16, 10], "texture": "#texture"}, + "east": {"uv": [0, 8, 0.8, 10], "texture": "#texture"}, + "south": {"uv": [16, 8, 9, 10], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 8, 9, 8.8], "texture": "#texture"}, + "down": {"uv": [16, 9.2, 9, 10], "texture": "#texture"} } - }, { - "from": [ 8, 1, 15.2 ], - "to" : [ 15, 3, 16 ], + }, + { + "from": [8, 1, 15.2], + "to": [15, 3, 16], "faces": { - "up" : { "uv": [ 15 , 12 , 8 , 12.8 ], "texture": "#particle" }, - "down" : { "uv": [ 15 , 13.2, 8 , 14 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 12 , 15 , 14 ], "texture": "#particle" }, - "south": { "uv": [ 15 , 12 , 8 , 14 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 0 , 12 , 0.8, 14 ], "texture": "#particle" } + "north": {"uv": [9, 12, 16, 14], "texture": "#texture"}, + "east": {"uv": [0, 12, 0.8, 14], "texture": "#texture"}, + "south": {"uv": [16, 12, 9, 14], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 12, 9, 12.8], "texture": "#texture"}, + "down": {"uv": [16, 13.2, 9, 14], "texture": "#texture"} } - }, { - "from": [ 12, 0.5, 14 ], - "to" : [ 14, 2.5, 16 ], + }, + { + "from": [12, 0.5, 14], + "to": [14, 2.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 2.5, 16]}, "faces": { - "up" : { "uv": [ 14, 14, 12, 16 ], "texture": "#particle" }, - "down" : { "uv": [ 12, 14, 14, 16 ], "texture": "#particle" }, - "north": { "uv": [ 12, 14, 14, 16 ], "texture": "#particle" }, - "south": { "uv": [ 12, 16, 14, 14 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 14, 14, 12, 16 ], "texture": "#particle" }, - "west" : { "uv": [ 14, 16, 12, 14 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 2.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 12, 4.5, 14 ], - "to" : [ 14, 6.5, 16 ], + "north": {"uv": [12, 14, 14, 16], "texture": "#texture"}, + "east": {"uv": [14, 14, 12, 16], "texture": "#texture"}, + "south": {"uv": [12, 16, 14, 14], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14, 16, 12, 14], "texture": "#texture"}, + "up": {"uv": [14, 14, 12, 16], "texture": "#texture"}, + "down": {"uv": [12, 14, 14, 16], "texture": "#texture"} + } + }, + { + "from": [12, 4.5, 14], + "to": [14, 6.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 6.5, 16]}, "faces": { - "up" : { "uv": [ 14, 10, 12, 12 ], "texture": "#particle" }, - "down" : { "uv": [ 12, 10, 14, 12 ], "texture": "#particle" }, - "north": { "uv": [ 12, 10, 14, 12 ], "texture": "#particle" }, - "south": { "uv": [ 12, 12, 14, 10 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 14, 10, 12, 12 ], "texture": "#particle" }, - "west" : { "uv": [ 14, 12, 12, 10 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 6.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 12, 8.5, 14 ], - "to" : [ 14, 10.5, 16 ], + "north": {"uv": [12, 10, 14, 12], "texture": "#texture"}, + "east": {"uv": [14, 10, 12, 12], "texture": "#texture"}, + "south": {"uv": [12, 12, 14, 10], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14, 12, 12, 10], "texture": "#texture"}, + "up": {"uv": [14, 10, 12, 12], "texture": "#texture"}, + "down": {"uv": [12, 10, 14, 12], "texture": "#texture"} + } + }, + { + "from": [12, 8.5, 14], + "to": [14, 10.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 10.5, 16]}, "faces": { - "up" : { "uv": [ 14, 6, 12, 8 ], "texture": "#particle" }, - "down" : { "uv": [ 12, 6, 14, 8 ], "texture": "#particle" }, - "north": { "uv": [ 12, 6, 14, 8 ], "texture": "#particle" }, - "south": { "uv": [ 12, 8, 14, 6 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 14, 6, 12, 8 ], "texture": "#particle" }, - "west" : { "uv": [ 14, 8, 12, 6 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 10.5, 16 ], "axis": "x", "angle": -22.5 } - }, { - "from": [ 12, 12.5, 14 ], - "to" : [ 14, 14.5, 16 ], + "north": {"uv": [12, 6, 14, 8], "texture": "#texture"}, + "east": {"uv": [14, 6, 12, 8], "texture": "#texture"}, + "south": {"uv": [12, 8, 14, 6], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14, 8, 12, 6], "texture": "#texture"}, + "up": {"uv": [14, 6, 12, 8], "texture": "#texture"}, + "down": {"uv": [12, 6, 14, 8], "texture": "#texture"} + } + }, + { + "from": [12, 12.5, 14], + "to": [14, 14.5, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 14.5, 16]}, "faces": { - "up" : { "uv": [ 14, 2, 12, 4 ], "texture": "#particle" }, - "down" : { "uv": [ 12, 2, 14, 4 ], "texture": "#particle" }, - "north": { "uv": [ 12, 2, 14, 4 ], "texture": "#particle" }, - "south": { "uv": [ 12, 4, 14, 2 ], "texture": "#particle", "cullface": "south" }, - "east" : { "uv": [ 14, 2, 12, 4 ], "texture": "#particle" }, - "west" : { "uv": [ 14, 4, 12, 2 ], "texture": "#particle" } - }, - "rotation": { "origin": [ 8, 14.5, 16 ], "axis": "x", "angle": -22.5 } + "north": {"uv": [12, 2, 14, 4], "texture": "#texture"}, + "east": {"uv": [14, 2, 12, 4], "texture": "#texture"}, + "south": {"uv": [12, 4, 14, 2], "texture": "#texture", "cullface": "south"}, + "west": {"uv": [14, 4, 12, 2], "texture": "#texture"}, + "up": {"uv": [14, 2, 12, 4], "texture": "#texture"}, + "down": {"uv": [12, 2, 14, 4], "texture": "#texture"} + } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/iron_ladder_right_connection.json b/src/main/resources/assets/twilightforest/models/block/iron_ladder_right_connection.json index f6fdab4429..c2a2a25368 100644 --- a/src/main/resources/assets/twilightforest/models/block/iron_ladder_right_connection.json +++ b/src/main/resources/assets/twilightforest/models/block/iron_ladder_right_connection.json @@ -1,45 +1,49 @@ { "ambientocclusion": false, "textures": { - "particle": "twilightforest:block/ladder_iron" + "texture": "twilightforest:block/ladder_iron", + "particle": "#texture" }, "elements": [ { - "from": [ 8, 13, 15.2 ], - "to" : [ 16, 15, 16 ], + "from": [8, 13, 15.2], + "to": [16, 15, 16], "faces": { - "up" : { "uv": [ 16 , 0 , 8 , 0.8 ], "texture": "#particle" }, - "down" : { "uv": [ 16 , 1.2, 8 , 2 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 0 , 16 , 2 ], "texture": "#particle" }, - "south": { "uv": [ 16 , 0 , 8 , 2 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [8, 0, 16, 2], "texture": "#texture"}, + "south": {"uv": [16, 0, 8, 2], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 0, 8, 0.8], "texture": "#texture"}, + "down": {"uv": [16, 1.2, 8, 2], "texture": "#texture"} } - }, { - "from": [ 8, 9, 15.2 ], - "to" : [ 16, 11, 16 ], + }, + { + "from": [8, 9, 15.2], + "to": [16, 11, 16], "faces": { - "up" : { "uv": [ 16 , 4 , 8 , 4.8 ], "texture": "#particle" }, - "down" : { "uv": [ 16 , 5.2, 8 , 6 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 4 , 16 , 6 ], "texture": "#particle" }, - "south": { "uv": [ 16 , 4 , 8 , 6 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [8, 4, 16, 6], "texture": "#texture"}, + "south": {"uv": [16, 4, 8, 6], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 4, 8, 4.8], "texture": "#texture"}, + "down": {"uv": [16, 5.2, 8, 6], "texture": "#texture"} } - }, { - "from": [ 8, 5, 15.2 ], - "to" : [ 16, 7, 16 ], + }, + { + "from": [8, 5, 15.2], + "to": [16, 7, 16], "faces": { - "up" : { "uv": [ 16 , 8 , 8 , 8.8 ], "texture": "#particle" }, - "down" : { "uv": [ 16 , 9.2, 8 , 10 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 8 , 16 , 10 ], "texture": "#particle" }, - "south": { "uv": [ 16 , 8 , 8 , 10 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [8, 8, 16, 10], "texture": "#texture"}, + "south": {"uv": [16, 8, 8, 10], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 8, 8, 8.8], "texture": "#texture"}, + "down": {"uv": [16, 9.2, 8, 10], "texture": "#texture"} } - }, { - "from": [ 8, 1, 15.2 ], - "to" : [ 16, 3, 16 ], + }, + { + "from": [8, 1, 15.2], + "to": [16, 3, 16], "faces": { - "up" : { "uv": [ 16 , 12 , 8 , 12.8 ], "texture": "#particle" }, - "down" : { "uv": [ 16 , 13.2, 8 , 14 ], "texture": "#particle" }, - "north": { "uv": [ 8 , 12 , 16 , 14 ], "texture": "#particle" }, - "south": { "uv": [ 16 , 12 , 8 , 14 ], "texture": "#particle", "cullface": "south" } + "north": {"uv": [8, 12, 16, 14], "texture": "#texture"}, + "south": {"uv": [16, 12, 8, 14], "texture": "#texture", "cullface": "south"}, + "up": {"uv": [16, 12, 8, 12.8], "texture": "#texture"}, + "down": {"uv": [16, 13.2, 8, 14], "texture": "#texture"} } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/jar_lid.json b/src/main/resources/assets/twilightforest/models/block/jar_lid.json index a128bf84a3..7a595b4e7f 100644 --- a/src/main/resources/assets/twilightforest/models/block/jar_lid.json +++ b/src/main/resources/assets/twilightforest/models/block/jar_lid.json @@ -1,59 +1,58 @@ { - "parent": "minecraft:block/block", - "render_type": "minecraft:cutout", - "textures": { - "1": "twilightforest:block/canopy_log_top", - "2": "twilightforest:block/canopy_log", - "particle": "twilightforest:block/canopy_log_top" - }, - "elements": [ - { - "from": [5, 12, 5], - "to": [11, 16, 11], - "faces": { - "up": {"uv": [5, 5, 11, 11], "texture": "#1", "cullface": "up"}, - "down": {"uv": [5, 5, 11, 11], "texture": "#1"} - } - }, - { - "from": [4, 12, 4], - "to": [12, 16, 5], - "faces": { - "north": {"uv": [4, 0, 12, 4], "texture": "#2"}, - "east": {"uv": [11, 0, 12, 4], "texture": "#2"}, - "west": {"uv": [4, 0, 5, 4], "texture": "#2"}, - "up": {"uv": [4, 0, 12, 1], "texture": "#1"}, - "down": {"uv": [4, 0, 12, 1], "texture": "#1"} - } - }, - { - "from": [4, 12, 11], - "to": [12, 16, 12], - "faces": { - "east": {"uv": [4, 0, 5, 4], "texture": "#2"}, - "south": {"uv": [4, 0, 12, 4], "texture": "#2"}, - "west": {"uv": [11, 0, 12, 4], "texture": "#2"}, - "up": {"uv": [4, 0, 12, 1], "texture": "#1"}, - "down": {"uv": [4, 0, 12, 1], "texture": "#1"} - } - }, - { - "from": [4, 12, 5], - "to": [5, 16, 11], - "faces": { - "west": {"uv": [5, 0, 11, 4], "texture": "#2"}, - "up": {"uv": [0, 5, 1, 11], "texture": "#1"}, - "down": {"uv": [0, 5, 1, 11], "texture": "#1"} - } - }, - { - "from": [11, 12, 5], - "to": [12, 16, 11], - "faces": { - "east": {"uv": [5, 0, 11, 4], "texture": "#2"}, - "up": {"uv": [15, 5, 16, 11], "texture": "#1"}, - "down": {"uv": [15, 5, 16, 11], "texture": "#1"} - } - } - ] + "parent": "minecraft:block/block", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "side": "twilightforest:block/canopy_log_side", + "particle": "#side" + }, + "elements": [ + { + "from": [5, 12, 5], + "to": [11, 16, 11], + "faces": { + "up": {"uv": [5, 5, 11, 11], "texture": "#end", "cullface": "up"}, + "down": {"uv": [5, 5, 11, 11], "texture": "#end"} + } + }, + { + "from": [4, 12, 4], + "to": [12, 16, 5], + "faces": { + "north": {"uv": [4, 0, 12, 4], "texture": "#side"}, + "east": {"uv": [11, 0, 12, 4], "texture": "#side"}, + "west": {"uv": [4, 0, 5, 4], "texture": "#side"}, + "up": {"uv": [4, 0, 12, 1], "texture": "#end"}, + "down": {"uv": [4, 0, 12, 1], "texture": "#end"} + } + }, + { + "from": [4, 12, 11], + "to": [12, 16, 12], + "faces": { + "east": {"uv": [4, 0, 5, 4], "texture": "#side"}, + "south": {"uv": [4, 0, 12, 4], "texture": "#side"}, + "west": {"uv": [11, 0, 12, 4], "texture": "#side"}, + "up": {"uv": [4, 0, 12, 1], "texture": "#end"}, + "down": {"uv": [4, 0, 12, 1], "texture": "#end"} + } + }, + { + "from": [4, 12, 5], + "to": [5, 16, 11], + "faces": { + "west": {"uv": [5, 0, 11, 4], "texture": "#side"}, + "up": {"uv": [0, 5, 1, 11], "texture": "#end"}, + "down": {"uv": [0, 5, 1, 11], "texture": "#end"} + } + }, + { + "from": [11, 12, 5], + "to": [12, 16, 11], + "faces": { + "east": {"uv": [5, 0, 11, 4], "texture": "#side"}, + "up": {"uv": [15, 5, 16, 11], "texture": "#end"}, + "down": {"uv": [15, 5, 16, 11], "texture": "#end"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/knightmetal_block.json b/src/main/resources/assets/twilightforest/models/block/knightmetal_block.json index 531b9ca95c..99c1d27b75 100755 --- a/src/main/resources/assets/twilightforest/models/block/knightmetal_block.json +++ b/src/main/resources/assets/twilightforest/models/block/knightmetal_block.json @@ -1,301 +1,327 @@ { "parent": "block/block", "textures": { - "particle": "twilightforest:block/knightmetal_block", - "all": "twilightforest:block/knightmetal_block" + "all": "twilightforest:block/knightmetal_block", + "particle": "#all" }, "elements": [ { - "from": [ 0, 0, 0 ], - "to": [ 4, 4, 4 ], + "from": [0, 0, 0], + "to": [4, 4, 4], "faces": { - "down": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "north": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "west": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" } + "north": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "south": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "west": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "down": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 6, 0, 0 ], - "to": [ 10, 4, 4 ], + }, + { + "from": [6, 0, 0], + "to": [10, 4, 4], "faces": { - "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "north": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "west": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "east": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" } + "north": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "south": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "west": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "up": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "down": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 12, 0, 0 ], - "to": [ 16, 4, 4 ], + }, + { + "from": [12, 0, 0], + "to": [16, 4, 4], "faces": { - "down": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "north": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "west": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "east": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "west": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "down": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 0, 0, 6 ], - "to": [ 4, 4, 10 ], + }, + { + "from": [0, 0, 6], + "to": [4, 4, 10], "faces": { - "down": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "north": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "south": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "west": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" } + "north": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "east": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "south": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "west": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "down": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 6, 0, 6 ], - "to": [ 10, 4, 10 ], + }, + { + "from": [6, 0, 6], + "to": [10, 4, 10], "faces": { - "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "down" }, - "north": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "south": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "west": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "east": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" } + "north": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "east": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "south": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "west": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 12, 0, 6 ], - "to": [ 16, 4, 10 ], + }, + { + "from": [12, 0, 6], + "to": [16, 4, 10], "faces": { - "down": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "north": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "south": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "west": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "east": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "east": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "west": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "up": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "down": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 0, 0, 12 ], - "to": [ 4, 4, 16 ], + }, + { + "from": [0, 0, 12], + "to": [4, 4, 16], "faces": { - "down": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "north": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "south": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" } + "north": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "east": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "south": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 6, 0, 12 ], - "to": [ 10, 4, 16 ], + }, + { + "from": [6, 0, 12], + "to": [10, 4, 16], "faces": { - "down": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "north": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "south": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "east": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" } + "north": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "east": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "south": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "up": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "down": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 12, 0, 12 ], - "to": [ 16, 4, 16 ], + }, + { + "from": [12, 0, 12], + "to": [16, 4, 16], "faces": { - "down": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "down" }, - "up": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "north": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "south": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "east": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "east": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "up": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "down"} } - }, { - "from": [ 0, 6, 0 ], - "to": [ 4, 10, 4 ], + }, + { + "from": [0, 6, 0], + "to": [4, 10, 4], "faces": { - "down": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "north": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "west": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" } + "north": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "south": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "west": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "down": {"uv": [0, 12, 4, 16], "texture": "#all"} } - }, { - "from": [ 6, 6, 0 ], - "to": [ 10, 10, 4 ], + }, + { + "from": [6, 6, 0], + "to": [10, 10, 4], "faces": { - "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "up": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "north": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "north" }, - "west": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "east": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" } + "north": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "west": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "up": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "down": {"uv": [6, 12, 10, 16], "texture": "#all"} } - }, { - "from": [ 12, 6, 0 ], - "to": [ 16, 10, 4 ], + }, + { + "from": [12, 6, 0], + "to": [16, 10, 4], "faces": { - "down": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "up": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "north": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "west": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "east": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "west": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "down": {"uv": [12, 12, 16, 16], "texture": "#all"} } - }, { - "from": [ 0, 6, 6 ], - "to": [ 4, 10, 10 ], + }, + { + "from": [0, 6, 6], + "to": [4, 10, 10], "faces": { - "down": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "up": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "north": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "south": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "west": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "west" } + "north": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "south": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "west": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "down": {"uv": [0, 6, 4, 10], "texture": "#all"} } - }, { - "from": [ 1, 1, 1 ], - "to": [ 15, 15, 15 ], + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], "faces": { - "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, - "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, - "north": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, - "south": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, - "west": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" }, - "east": { "uv": [ 1, 1, 15, 15 ], "texture": "#all" } + "north": {"uv": [1, 1, 15, 15], "texture": "#all"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#all"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#all"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#all"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#all"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#all"} } - }, { - "from": [ 12, 6, 6 ], - "to": [ 16, 10, 10 ], + }, + { + "from": [12, 6, 6], + "to": [16, 10, 10], "faces": { - "down": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "up": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "north": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "south": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "east": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "east": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "up": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "down": {"uv": [12, 6, 16, 10], "texture": "#all"} } - }, { - "from": [ 0, 6, 12 ], - "to": [ 4, 10, 16 ], + }, + { + "from": [0, 6, 12], + "to": [4, 10, 16], "faces": { - "down": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "up": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "north": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "south": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" } + "north": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "east": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "south": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#all"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#all"} } - }, { - "from": [ 6, 6, 12 ], - "to": [ 10, 10, 16 ], + }, + { + "from": [6, 6, 12], + "to": [10, 10, 16], "faces": { - "down": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "up": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "south": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "east": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" } + "east": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "up": {"uv": [6, 12, 10, 16], "texture": "#all"}, + "down": {"uv": [6, 0, 10, 4], "texture": "#all"} } - }, { - "from": [ 12, 6, 12 ], - "to": [ 16, 10, 16 ], + }, + { + "from": [12, 6, 12], + "to": [16, 10, 16], "faces": { - "down": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "up": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "north": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "south": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "east": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 6, 4, 10], "texture": "#all"}, + "east": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 6, 16, 10], "texture": "#all"}, + "up": {"uv": [12, 12, 16, 16], "texture": "#all"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#all"} } - }, { - "from": [ 0, 12, 0 ], - "to": [ 4, 16, 4 ], + }, + { + "from": [0, 12, 0], + "to": [4, 16, 4], "faces": { - "down": { "uv": [ 0, 12, 4, 16 ], "texture": "#all" }, - "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "west": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" } + "north": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "up"}, + "down": {"uv": [0, 12, 4, 16], "texture": "#all"} } - }, { - "from": [ 6, 12, 0 ], - "to": [ 10, 16, 4 ], + }, + { + "from": [6, 12, 0], + "to": [10, 16, 4], "faces": { - "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#all" }, - "up": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "west": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "east": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" } + "north": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "south": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "up": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "up"}, + "down": {"uv": [6, 12, 10, 16], "texture": "#all"} } - }, { - "from": [ 12, 12, 0 ], - "to": [ 16, 16, 4 ], + }, + { + "from": [12, 12, 0], + "to": [16, 16, 4], "faces": { - "down": { "uv": [ 12, 12, 16, 16 ], "texture": "#all" }, - "up": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "north" }, - "south": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "west": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "east": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "north"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "up"}, + "down": {"uv": [12, 12, 16, 16], "texture": "#all"} } - }, { - "from": [ 0, 12, 6 ], - "to": [ 4, 16, 10 ], + }, + { + "from": [0, 12, 6], + "to": [4, 16, 10], "faces": { - "down": { "uv": [ 0, 6, 4, 10 ], "texture": "#all" }, - "up": { "uv": [ 0, 6, 4, 10 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "south": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "west": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" } + "north": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "east": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "west": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 6, 4, 10], "texture": "#all", "cullface": "up"}, + "down": {"uv": [0, 6, 4, 10], "texture": "#all"} } - }, { - "from": [ 6, 12, 6 ], - "to": [ 10, 16, 10 ], + }, + { + "from": [6, 12, 6], + "to": [10, 16, 10], "faces": { - "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "south": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "west": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "east": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" } + "north": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "east": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "south": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "west": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#all", "cullface": "up"} } - }, { - "from": [ 12, 12, 6 ], - "to": [ 16, 16, 10 ], + }, + { + "from": [12, 12, 6], + "to": [16, 16, 10], "faces": { - "down": { "uv": [ 12, 6, 16, 10 ], "texture": "#all" }, - "up": { "uv": [ 12, 6, 16, 10 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "south": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "west": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "east": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "east": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "west": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "up": {"uv": [12, 6, 16, 10], "texture": "#all", "cullface": "up"}, + "down": {"uv": [12, 6, 16, 10], "texture": "#all"} } - }, { - "from": [ 0, 12, 12 ], - "to": [ 4, 16, 16 ], + }, + { + "from": [0, 12, 12], + "to": [4, 16, 16], "faces": { - "down": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "up": { "uv": [ 0, 12, 4, 16 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "south": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "west" }, - "east": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" } + "north": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#all", "cullface": "up"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#all"} } - }, { - "from": [ 6, 12, 12 ], - "to": [ 10, 16, 16 ], + }, + { + "from": [6, 12, 12], + "to": [10, 16, 16], "faces": { - "down": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "up": { "uv": [ 6, 12, 10, 16 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 6, 0, 10, 4 ], "texture": "#all" }, - "south": { "uv": [ 6, 0, 10, 4 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "east": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" } + "north": {"uv": [6, 0, 10, 4], "texture": "#all"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "south": {"uv": [6, 0, 10, 4], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "up": {"uv": [6, 12, 10, 16], "texture": "#all", "cullface": "up"}, + "down": {"uv": [6, 0, 10, 4], "texture": "#all"} } - }, { - "from": [ 12, 12, 12 ], - "to": [ 16, 16, 16 ], + }, + { + "from": [12, 12, 12], + "to": [16, 16, 16], "faces": { - "down": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "up": { "uv": [ 12, 12, 16, 16 ], "texture": "#all", "cullface": "up" }, - "north": { "uv": [ 0, 0, 4, 4 ], "texture": "#all" }, - "south": { "uv": [ 12, 0, 16, 4 ], "texture": "#all", "cullface": "south" }, - "west": { "uv": [ 12, 0, 16, 4 ], "texture": "#all" }, - "east": { "uv": [ 0, 0, 4, 4 ], "texture": "#all", "cullface": "east" } + "north": {"uv": [0, 0, 4, 4], "texture": "#all"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#all", "cullface": "east"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#all", "cullface": "south"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#all"}, + "up": {"uv": [12, 12, 16, 16], "texture": "#all", "cullface": "up"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#all"} } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/mayapple.json b/src/main/resources/assets/twilightforest/models/block/mayapple.json index 3f6f80d8e7..2ad3088aa1 100644 --- a/src/main/resources/assets/twilightforest/models/block/mayapple.json +++ b/src/main/resources/assets/twilightforest/models/block/mayapple.json @@ -1,27 +1,29 @@ { - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/cloverpatch", + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { "stem": "twilightforest:block/mayapple_side", - "leaf": "twilightforest:block/mayapple" + "leaf": "twilightforest:block/mayapple", + "particle": "twilightforest:block/cloverpatch" }, - "elements": [ - { - "from": [ 8, 0, 8 ], - "to": [ 9, 6, 9 ], - "faces": { - "north": { "uv": [ 8, 10, 9, 16 ], "texture": "#stem" }, - "south": { "uv": [ 8, 10, 9, 16 ], "texture": "#stem" }, - "west": { "uv": [ 8, 10, 9, 16 ], "texture": "#stem" }, - "east": { "uv": [ 8, 10, 9, 16 ], "texture": "#stem" } - } - }, { - "from": [ 0, 6, 0 ], - "to": [ 16, 6, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" } - } - } - ] -} + "elements": [ + { + "from": [7.5, 0, 7.5], + "to": [8.5, 6, 8.5], + "faces": { + "north": {"uv": [8, 10, 9, 16], "texture": "#stem"}, + "east": {"uv": [8, 10, 9, 16], "texture": "#stem"}, + "south": {"uv": [8, 10, 9, 16], "texture": "#stem"}, + "west": {"uv": [8, 10, 9, 16], "texture": "#stem"} + } + }, + { + "from": [3.5, 6, 3.5], + "to": [12.5, 6, 12.5], + "faces": { + "up": {"uv": [4, 4, 13, 13], "texture": "#leaf"}, + "down": {"uv": [4, 4, 13, 13], "texture": "#leaf"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/moss_patch.json b/src/main/resources/assets/twilightforest/models/block/moss_patch.json deleted file mode 100644 index 34766e0394..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/moss_patch.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "loader": "twilightforest:patch", - "texture": "twilightforest:block/mosspatch", - "shaggify": true -} diff --git a/src/main/resources/assets/twilightforest/models/block/root_strand.json b/src/main/resources/assets/twilightforest/models/block/root_strand.json index 5df558e5ee..ee70131871 100644 --- a/src/main/resources/assets/twilightforest/models/block/root_strand.json +++ b/src/main/resources/assets/twilightforest/models/block/root_strand.json @@ -1,43 +1,47 @@ { - "__comment": "[VanillaCopy] crop.json, raised by 1 in the Y coordinate", + "comment": "[VanillaCopy] crop.json, raised by 1 in the Y coordinate", "ambientocclusion": false, "render_type": "minecraft:cutout", "textures": { - "particle": "#crop", - "crop": "twilightforest:block/root_strand" + "crop": "twilightforest:block/root_strand", + "particle": "#crop" }, "elements": [ - { "from": [ 4, 0, 0 ], - "to": [ 4, 16, 16 ], + { + "from": [4, 0, 0], + "to": [4, 16, 16], "shade": false, "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + "east": {"uv": [0, 0, 16, 16], "texture": "#crop"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#crop"} } }, - { "from": [ 12, 0, 0 ], - "to": [ 12, 16, 16 ], + { + "from": [12, 0, 0], + "to": [12, 16, 16], "shade": false, "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + "east": {"uv": [0, 0, 16, 16], "texture": "#crop"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#crop"} } }, - { "from": [ 0, 0, 4 ], - "to": [ 16, 16, 4 ], + { + "from": [0, 0, 4], + "to": [16, 16, 4], "shade": false, "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + "north": {"uv": [0, 0, 16, 16], "texture": "#crop"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#crop"} } }, - { "from": [ 0, 0, 12 ], - "to": [ 16, 16, 12 ], + { + "from": [0, 0, 12], + "to": [16, 16, 12], "shade": false, "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#crop" } + "north": {"uv": [0, 0, 16, 16], "texture": "#crop"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#crop"} } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/rope_knot.json b/src/main/resources/assets/twilightforest/models/block/rope_knot.json index d5df78ef8a..49677c034d 100644 --- a/src/main/resources/assets/twilightforest/models/block/rope_knot.json +++ b/src/main/resources/assets/twilightforest/models/block/rope_knot.json @@ -1,23 +1,24 @@ { - "parent": "block/block", - "textures": { - "particle": "twilightforest:block/rope", - "all": "twilightforest:block/rope_knot" - }, - "elements": [ - { - "from": [6, 6, 6], - "to": [10, 10, 10], - "shade": false, - "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": { "rotation": 90, "texture": "#all"}, - "east": { "rotation": 90, "texture": "#all"}, - "south": { "rotation": 90, "texture": "#all"}, - "west": { "rotation": 90, "texture": "#all"}, - "up": { "rotation": 90, "texture": "#all"}, - "down": { "rotation": 90, "texture": "#all"} - } - } - ] + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "twilightforest:block/rope", + "all": "twilightforest:block/rope_knot" + }, + "elements": [ + { + "from": [6, 6, 6], + "to": [10, 10, 10], + "shade": false, + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": { "rotation": 90, "texture": "#all"}, + "east": { "rotation": 90, "texture": "#all"}, + "south": { "rotation": 90, "texture": "#all"}, + "west": { "rotation": 90, "texture": "#all"}, + "up": { "rotation": 90, "texture": "#all"}, + "down": { "rotation": 90, "texture": "#all"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/rope_x.json b/src/main/resources/assets/twilightforest/models/block/rope_x.json index aa11a3836e..c8960aaa43 100644 --- a/src/main/resources/assets/twilightforest/models/block/rope_x.json +++ b/src/main/resources/assets/twilightforest/models/block/rope_x.json @@ -1,30 +1,30 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/rope", - "all": "twilightforest:block/rope" - }, - "elements": [ - { - "from": [0, 8, 0], - "to": [16, 8, 16], - "shade": false, - "rotation": { "angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "up": { "rotation": 270, "texture": "#all"}, - "down": { "rotation": 270, "texture": "#all"} - } - }, - { - "from": [0, 0, 8], - "to": [16, 16, 8], - "shade": false, - "rotation": { "angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": { "rotation": 90, "texture": "#all"}, - "south": { "rotation": 270, "texture": "#all"} - } - } - ] + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "twilightforest:block/rope", + "all": "twilightforest:block/rope" + }, + "elements": [ + { + "from": [0, 8, 0], + "to": [16, 8, 16], + "shade": false, + "rotation": { "angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "up": { "rotation": 270, "texture": "#all"}, + "down": { "rotation": 270, "texture": "#all"} + } + }, + { + "from": [0, 0, 8], + "to": [16, 16, 8], + "shade": false, + "rotation": { "angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": { "rotation": 90, "texture": "#all"}, + "south": { "rotation": 270, "texture": "#all"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/rope_y.json b/src/main/resources/assets/twilightforest/models/block/rope_y.json index afff0bbdac..ca7fe74c74 100644 --- a/src/main/resources/assets/twilightforest/models/block/rope_y.json +++ b/src/main/resources/assets/twilightforest/models/block/rope_y.json @@ -1,30 +1,30 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/rope", - "all": "twilightforest:block/rope" + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "twilightforest:block/rope", + "all": "twilightforest:block/rope" + }, + "elements": [ + { + "from": [ 0, 0, 8 ], + "to": [ 16, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "north": { "texture": "#all" }, + "south": { "texture": "#all" } + } }, - "elements": [ - { - "from": [ 0, 0, 8 ], - "to": [ 16, 16, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, - "shade": false, - "faces": { - "north": { "texture": "#all" }, - "south": { "texture": "#all" } - } - }, - { - "from": [ 8, 0, 0 ], - "to": [ 8, 16, 16 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, - "shade": false, - "faces": { - "west": { "texture": "#all" }, - "east": { "texture": "#all" } - } - } - ] + { + "from": [ 8, 0, 0 ], + "to": [ 8, 16, 16 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "west": { "texture": "#all" }, + "east": { "texture": "#all" } + } + } + ] } diff --git a/src/main/resources/assets/twilightforest/models/block/rope_z.json b/src/main/resources/assets/twilightforest/models/block/rope_z.json index 8c2c79fd58..e10ec35a64 100644 --- a/src/main/resources/assets/twilightforest/models/block/rope_z.json +++ b/src/main/resources/assets/twilightforest/models/block/rope_z.json @@ -1,30 +1,30 @@ { - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "particle": "twilightforest:block/rope", - "all": "twilightforest:block/rope" - }, - "elements": [ - { - "from": [0, 8, 0], - "to": [16, 8, 16], - "shade": false, - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "up": { "texture": "#all"}, - "down": { "rotation": 180, "texture": "#all"} - } - }, - { - "from": [8, 0, 0], - "to": [8, 16, 16], - "shade": false, - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "east": { "rotation": 90, "texture": "#all"}, - "west": { "rotation": 270, "texture": "#all"} - } - } - ] + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "twilightforest:block/rope", + "all": "twilightforest:block/rope" + }, + "elements": [ + { + "from": [0, 8, 0], + "to": [16, 8, 16], + "shade": false, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "up": { "texture": "#all"}, + "down": { "rotation": 180, "texture": "#all"} + } + }, + { + "from": [8, 0, 0], + "to": [8, 16, 16], + "shade": false, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "east": { "rotation": 90, "texture": "#all"}, + "west": { "rotation": 270, "texture": "#all"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/spiral_bricks/x_spiral_bottom_left.json b/src/main/resources/assets/twilightforest/models/block/spiral_bricks/x_spiral_bottom_left.json index b3202cfa21..42fd25d065 100644 --- a/src/main/resources/assets/twilightforest/models/block/spiral_bricks/x_spiral_bottom_left.json +++ b/src/main/resources/assets/twilightforest/models/block/spiral_bricks/x_spiral_bottom_left.json @@ -1,5 +1,4 @@ { - "credit": "Made with Blockbench", "parent": "block/block", "textures": { "inner_a": "twilightforest:block/spiral_inner_down", diff --git a/src/main/resources/assets/twilightforest/models/block/twilight_portal.json b/src/main/resources/assets/twilightforest/models/block/twilight_portal.json index 80dddb2b48..20160f72e0 100755 --- a/src/main/resources/assets/twilightforest/models/block/twilight_portal.json +++ b/src/main/resources/assets/twilightforest/models/block/twilight_portal.json @@ -1,6 +1,18 @@ { - "parent": "block/block", - "render_type": "minecraft:translucent", - "textures": { "all": "block/nether_portal", "particle": "block/nether_portal" }, - "elements": [{ "from": [ 0, 13, 0 ], "to": [ 16, 13, 16 ], "faces": {"up": {"texture": "#all" }}}] -} + "parent": "block/block", + "render_type": "minecraft:translucent", + "textures": { + "texture": "block/nether_portal", + "particle": "#texture" + }, + "elements": [ + { + "from": [0, 13, 0], + "to": [16, 13, 16], + "faces": { + "up": {"uv": [0, 0, 16, 16], "texture": "#texture"}, + "down": {"uv": [16, 0, 0, 16], "rotation": 180, "texture": "#texture"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json b/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json index 153d09862f..8e9ae6290e 100755 --- a/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json +++ b/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json @@ -1,26 +1,24 @@ { - "ambientocclusion": false, "parent": "block/block", + "ambientocclusion": false, "render_type": "minecraft:cutout", "textures": { "all": "twilightforest:block/portal_barrier" }, "elements": [ { - "from": [ 0, 11.5, 0 ], - "to": [ 16, 11.5, 16 ], + "from": [0, 12.85, 0], + "to": [16, 12.85, 16], "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#all" }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#all" } + "down": {"uv": [16, 16, 0, 0], "texture": "#all"} } }, { - "from": [ 0, 13.5, 0 ], - "to": [ 16, 13.5, 16 ], + "from": [0, 13.15, 0], + "to": [16, 13.15, 16], "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#all" }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#all" } + "up": {"uv": [16, 0, 0, 16], "texture": "#all"} } } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/block_no_ao.json b/src/main/resources/assets/twilightforest/models/block/util/block_no_ao.json deleted file mode 100644 index dcfb58ecdf..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/util/block_no_ao.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "This bug has existed for 6 freaking years": "https://bugs.mojang.com/browse/MC-84633", - "ambientocclusion": false, - "gui_light": "side", - "display": { - "gui": { - "rotation": [ 30, 225, 0 ], - "translation": [ 0, 0, 0], - "scale":[ 0.625, 0.625, 0.625 ] - }, - "ground": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 3, 0], - "scale":[ 0.25, 0.25, 0.25 ] - }, - "fixed": { - "rotation": [ 0, 0, 0 ], - "translation": [ 0, 0, 0], - "scale":[ 0.5, 0.5, 0.5 ] - }, - "thirdperson_righthand": { - "rotation": [ 75, 45, 0 ], - "translation": [ 0, 2.5, 0], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson_righthand": { - "rotation": [ 0, 45, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 0.40, 0.40, 0.40 ] - }, - "firstperson_lefthand": { - "rotation": [ 0, 225, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 0.40, 0.40, 0.40 ] - } - } -} diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_x.json b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_x.json index b7f2e88da9..b4b9d4aaad 100755 --- a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_x.json +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_x.json @@ -1,20 +1,20 @@ { - "parent": "block/block", - "textures": { - "particle": "#side" - }, - "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [0, 0, 16, 16], "texture": "#end" , "cullface": "down" }, - "up": { "uv": [16, 16, 0, 0], "texture": "#end" , "cullface": "up" }, - "north": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "north" }, - "south": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "south" }, - "west": { "uv": [16, 0, 0, 16], "texture": "#side", "cullface": "west" }, - "east": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "east" } - } - } - ] + "parent": "block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [0, 0, 16, 16], "texture": "#end" , "cullface": "down" }, + "up": { "uv": [16, 16, 0, 0], "texture": "#end" , "cullface": "up" }, + "north": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "north" }, + "south": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "south" }, + "west": { "uv": [16, 0, 0, 16], "texture": "#side", "cullface": "west" }, + "east": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "east" } + } + } + ] } diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_z.json b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_z.json index d6d5a7916c..d81fe7ede5 100755 --- a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_z.json +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_correct_z.json @@ -1,20 +1,20 @@ { - "parent": "block/block", - "textures": { - "particle": "#side" - }, - "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [0, 0, 16, 16], "texture": "#end" , "cullface": "down" }, - "up": { "uv": [16, 16, 0, 0], "texture": "#end" , "cullface": "up" }, - "north": { "uv": [16, 16, 0, 0], "texture": "#side", "cullface": "north" }, - "south": { "uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south" }, - "west": { "uv": [16, 0, 0, 16], "texture": "#side", "cullface": "west" }, - "east": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "east" } - } - } - ] + "parent": "block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "uv": [0, 0, 16, 16], "texture": "#end" , "cullface": "down" }, + "up": { "uv": [16, 16, 0, 0], "texture": "#end" , "cullface": "up" }, + "north": { "uv": [16, 16, 0, 0], "texture": "#side", "cullface": "north" }, + "south": { "uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south" }, + "west": { "uv": [16, 0, 0, 16], "texture": "#side", "cullface": "west" }, + "east": { "uv": [0, 16, 16, 0], "texture": "#side", "cullface": "east" } + } + } + ] } diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_x.json b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_x.json index a9126d5724..a10b4c1bd4 100755 --- a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_x.json +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_x.json @@ -1,20 +1,20 @@ { - "parent": "block/block", - "textures": { - "particle": "#side_a" - }, - "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "texture": "#side_b", "cullface": "down" }, - "up": { "texture": "#side_b", "cullface": "up" }, - "north": { "texture": "#side_b", "cullface": "north" }, - "south": { "texture": "#side_b", "cullface": "south" }, - "west": { "texture": "#end" , "cullface": "west" }, - "east": { "texture": "#end" , "cullface": "east" } - } - } - ] + "parent": "block/block", + "textures": { + "particle": "#side_a" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#side_b", "cullface": "down" }, + "up": { "texture": "#side_b", "cullface": "up" }, + "north": { "texture": "#side_b", "cullface": "north" }, + "south": { "texture": "#side_b", "cullface": "south" }, + "west": { "texture": "#end" , "cullface": "west" }, + "east": { "texture": "#end" , "cullface": "east" } + } + } + ] } diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_z.json b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_z.json index 2aa83a399c..03e27cf206 100755 --- a/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_z.json +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_column_rotationally_special_z.json @@ -1,20 +1,20 @@ { - "parent": "block/block", - "textures": { - "particle": "#side_a" - }, - "elements": [ - { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "texture": "#side_a", "cullface": "down" }, - "up": { "texture": "#side_a", "cullface": "up" }, - "north": { "texture": "#end" , "cullface": "north" }, - "south": { "texture": "#end" , "cullface": "south" }, - "west": { "texture": "#side_b", "cullface": "west" }, - "east": { "texture": "#side_b", "cullface": "east" } - } - } - ] + "parent": "block/block", + "textures": { + "particle": "#side_a" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#side_a", "cullface": "down" }, + "up": { "texture": "#side_a", "cullface": "up" }, + "north": { "texture": "#end" , "cullface": "north" }, + "south": { "texture": "#end" , "cullface": "south" }, + "west": { "texture": "#side_b", "cullface": "west" }, + "east": { "texture": "#side_b", "cullface": "east" } + } + } + ] } From 7d201b0f86a3c5c6518f63559e3dc30777f3fa15 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 6 Apr 2025 23:20:04 -0600 Subject: [PATCH 093/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 666 ++++++++++++++---- .../blockstates/canopy_banister.json | 94 +++ .../blockstates/canopy_hanging_sign.json | 7 + .../blockstates/canopy_leaves.json | 7 + .../blockstates/canopy_log.json | 16 + .../blockstates/canopy_sapling.json | 7 + .../blockstates/canopy_stairs.json | 64 +- .../blockstates/canopy_trapdoor.json | 31 +- .../blockstates/canopy_wall_hanging_sign.json | 7 + .../blockstates/canopy_wood.json | 16 + .../blockstates/dark_banister.json | 94 +++ .../blockstates/dark_hanging_sign.json | 7 + .../blockstates/dark_leaves.json | 7 + .../twilightforest/blockstates/dark_log.json | 16 + .../blockstates/dark_stairs.json | 64 +- .../blockstates/dark_trapdoor.json | 31 +- .../blockstates/dark_wall_hanging_sign.json | 7 + .../twilightforest/blockstates/dark_wood.json | 16 + .../blockstates/darkwood_sapling.json | 7 + .../hollow_canopy_log_climbable.json | 49 ++ .../hollow_canopy_log_horizontal.json | 39 + .../hollow_canopy_log_vertical.json | 7 + .../hollow_dark_log_climbable.json | 49 ++ .../hollow_dark_log_horizontal.json | 39 + .../blockstates/hollow_dark_log_vertical.json | 7 + .../hollow_mangrove_log_climbable.json | 49 ++ .../hollow_mangrove_log_horizontal.json | 39 + .../hollow_mangrove_log_vertical.json | 7 + .../hollow_mining_log_climbable.json | 49 ++ .../hollow_mining_log_horizontal.json | 39 + .../hollow_mining_log_vertical.json | 7 + .../hollow_sorting_log_climbable.json | 49 ++ .../hollow_sorting_log_horizontal.json | 39 + .../hollow_sorting_log_vertical.json | 7 + .../hollow_time_log_climbable.json | 49 ++ .../hollow_time_log_horizontal.json | 39 + .../blockstates/hollow_time_log_vertical.json | 7 + .../hollow_transformation_log_climbable.json | 49 ++ .../hollow_transformation_log_horizontal.json | 39 + .../hollow_transformation_log_vertical.json | 7 + .../hollow_twilight_oak_log_climbable.json | 49 ++ .../hollow_twilight_oak_log_horizontal.json | 39 + .../hollow_twilight_oak_log_vertical.json | 7 + .../blockstates/mangrove_banister.json | 94 +++ .../blockstates/mangrove_hanging_sign.json | 7 + .../blockstates/mangrove_leaves.json | 7 + .../blockstates/mangrove_log.json | 16 + .../blockstates/mangrove_sapling.json | 7 + .../blockstates/mangrove_stairs.json | 64 +- .../blockstates/mangrove_trapdoor.json | 31 +- .../mangrove_wall_hanging_sign.json | 7 + .../blockstates/mangrove_wood.json | 16 + .../blockstates/mining_banister.json | 94 +++ .../blockstates/mining_hanging_sign.json | 7 + .../blockstates/mining_leaves.json | 7 + .../blockstates/mining_log.json | 16 + .../blockstates/mining_sapling.json | 7 + .../blockstates/mining_stairs.json | 64 +- .../blockstates/mining_trapdoor.json | 31 +- .../blockstates/mining_wall_hanging_sign.json | 7 + .../blockstates/mining_wood.json | 16 + .../blockstates/potted_canopy_sapling.json | 7 + .../blockstates/potted_darkwood_sapling.json | 7 + .../blockstates/potted_mangrove_sapling.json | 7 + .../blockstates/potted_mining_sapling.json | 7 + .../blockstates/potted_sorting_sapling.json | 7 + .../blockstates/potted_time_sapling.json | 7 + .../potted_transformation_sapling.json | 7 + .../potted_twilight_oak_sapling.json | 7 + .../blockstates/sorting_banister.json | 94 +++ .../blockstates/sorting_hanging_sign.json | 7 + .../blockstates/sorting_leaves.json | 7 + .../blockstates/sorting_log.json | 16 + .../blockstates/sorting_sapling.json | 7 + .../blockstates/sorting_stairs.json | 64 +- .../blockstates/sorting_trapdoor.json | 31 +- .../sorting_wall_hanging_sign.json | 7 + .../blockstates/sorting_wood.json | 16 + .../blockstates/stripped_canopy_log.json | 16 + .../blockstates/stripped_canopy_wood.json | 16 + .../blockstates/stripped_dark_log.json | 16 + .../blockstates/stripped_dark_wood.json | 16 + .../blockstates/stripped_mangrove_log.json | 16 + .../blockstates/stripped_mangrove_wood.json | 16 + .../blockstates/stripped_mining_log.json | 16 + .../blockstates/stripped_mining_wood.json | 16 + .../blockstates/stripped_sorting_log.json | 16 + .../blockstates/stripped_sorting_wood.json | 16 + .../blockstates/stripped_time_log.json | 16 + .../blockstates/stripped_time_wood.json | 16 + .../stripped_transformation_log.json | 16 + .../stripped_transformation_wood.json | 16 + .../stripped_twilight_oak_log.json | 16 + .../stripped_twilight_oak_wood.json | 16 + .../blockstates/time_banister.json | 94 +++ .../blockstates/time_hanging_sign.json | 7 + .../blockstates/time_leaves.json | 7 + .../twilightforest/blockstates/time_log.json | 16 + .../blockstates/time_sapling.json | 7 + .../blockstates/time_stairs.json | 64 +- .../blockstates/time_trapdoor.json | 31 +- .../blockstates/time_wall_hanging_sign.json | 7 + .../twilightforest/blockstates/time_wood.json | 16 + .../blockstates/transformation_banister.json | 94 +++ .../transformation_hanging_sign.json | 7 + .../blockstates/transformation_leaves.json | 7 + .../blockstates/transformation_log.json | 16 + .../blockstates/transformation_sapling.json | 7 + .../blockstates/transformation_stairs.json | 64 +- .../blockstates/transformation_trapdoor.json | 31 +- .../transformation_wall_hanging_sign.json | 7 + .../blockstates/transformation_wood.json | 16 + .../blockstates/twilight_oak_banister.json | 94 +++ .../twilight_oak_hanging_sign.json | 7 + .../blockstates/twilight_oak_leaves.json | 7 + .../blockstates/twilight_oak_log.json | 16 + .../blockstates/twilight_oak_sapling.json | 7 + .../blockstates/twilight_oak_stairs.json | 64 +- .../blockstates/twilight_oak_trapdoor.json | 31 +- .../twilight_oak_wall_hanging_sign.json | 7 + .../blockstates/twilight_oak_wood.json | 16 + .../twilightforest/items/canopy_banister.json | 6 + .../items/canopy_fence_gate.json | 6 + .../items/canopy_hanging_sign.json | 6 + .../twilightforest/items/canopy_leaves.json | 12 + .../twilightforest/items/canopy_log.json | 6 + .../twilightforest/items/canopy_planks.json | 6 + .../items/canopy_pressure_plate.json | 6 + .../twilightforest/items/canopy_sapling.json | 6 + .../twilightforest/items/canopy_wood.json | 6 + .../twilightforest/items/dark_banister.json | 6 + .../twilightforest/items/dark_fence_gate.json | 6 + .../items/dark_hanging_sign.json | 6 + .../twilightforest/items/dark_leaves.json | 12 + .../assets/twilightforest/items/dark_log.json | 6 + .../twilightforest/items/dark_planks.json | 6 + .../items/dark_pressure_plate.json | 6 + .../twilightforest/items/dark_wood.json | 6 + .../items/darkwood_sapling.json | 6 + .../items/hollow_canopy_log.json | 6 + .../twilightforest/items/hollow_dark_log.json | 6 + .../items/hollow_mangrove_log.json | 6 + .../items/hollow_mining_log.json | 6 + .../items/hollow_sorting_log.json | 6 + .../twilightforest/items/hollow_time_log.json | 6 + .../items/hollow_transformation_log.json | 6 + .../items/hollow_twilight_oak_log.json | 6 + .../items/mangrove_banister.json | 6 + .../items/mangrove_fence_gate.json | 6 + .../items/mangrove_hanging_sign.json | 6 + .../twilightforest/items/mangrove_leaves.json | 12 + .../twilightforest/items/mangrove_log.json | 6 + .../twilightforest/items/mangrove_planks.json | 6 + .../items/mangrove_pressure_plate.json | 6 + .../items/mangrove_sapling.json | 6 + .../twilightforest/items/mangrove_wood.json | 6 + .../twilightforest/items/mining_banister.json | 6 + .../items/mining_fence_gate.json | 6 + .../items/mining_hanging_sign.json | 6 + .../twilightforest/items/mining_leaves.json | 12 + .../twilightforest/items/mining_log.json | 6 + .../twilightforest/items/mining_planks.json | 6 + .../items/mining_pressure_plate.json | 6 + .../twilightforest/items/mining_sapling.json | 6 + .../twilightforest/items/mining_wood.json | 6 + .../items/sorting_banister.json | 6 + .../items/sorting_fence_gate.json | 6 + .../items/sorting_hanging_sign.json | 6 + .../twilightforest/items/sorting_leaves.json | 12 + .../twilightforest/items/sorting_log.json | 6 + .../twilightforest/items/sorting_planks.json | 6 + .../items/sorting_pressure_plate.json | 6 + .../twilightforest/items/sorting_sapling.json | 6 + .../twilightforest/items/sorting_wood.json | 6 + .../items/stripped_canopy_log.json | 6 + .../items/stripped_canopy_wood.json | 6 + .../items/stripped_dark_log.json | 6 + .../items/stripped_dark_wood.json | 6 + .../items/stripped_mangrove_log.json | 6 + .../items/stripped_mangrove_wood.json | 6 + .../items/stripped_mining_log.json | 6 + .../items/stripped_mining_wood.json | 6 + .../items/stripped_sorting_log.json | 6 + .../items/stripped_sorting_wood.json | 6 + .../items/stripped_time_log.json | 6 + .../items/stripped_time_wood.json | 6 + .../items/stripped_transformation_log.json | 6 + .../items/stripped_transformation_wood.json | 6 + .../items/stripped_twilight_oak_log.json | 6 + .../items/stripped_twilight_oak_wood.json | 6 + .../twilightforest/items/time_banister.json | 6 + .../twilightforest/items/time_fence_gate.json | 6 + .../items/time_hanging_sign.json | 6 + .../twilightforest/items/time_leaves.json | 12 + .../assets/twilightforest/items/time_log.json | 6 + .../twilightforest/items/time_planks.json | 6 + .../items/time_pressure_plate.json | 6 + .../twilightforest/items/time_sapling.json | 6 + .../twilightforest/items/time_wood.json | 6 + .../items/transformation_banister.json | 6 + .../items/transformation_fence_gate.json | 6 + .../items/transformation_hanging_sign.json | 6 + .../items/transformation_leaves.json | 12 + .../items/transformation_log.json | 6 + .../items/transformation_planks.json | 6 + .../items/transformation_pressure_plate.json | 6 + .../items/transformation_sapling.json | 6 + .../items/transformation_wood.json | 6 + .../items/twilight_oak_banister.json | 6 + .../items/twilight_oak_fence_gate.json | 6 + .../items/twilight_oak_hanging_sign.json | 6 + .../items/twilight_oak_leaves.json | 12 + .../items/twilight_oak_log.json | 6 + .../items/twilight_oak_planks.json | 6 + .../items/twilight_oak_pressure_plate.json | 6 + .../items/twilight_oak_sapling.json | 6 + .../items/twilight_oak_wood.json | 6 + .../block/bold_castle_brick_stairs.json | 6 +- .../bold_castle_brick_stairs_inner_inner.json | 6 +- .../bold_castle_brick_stairs_outer_outer.json | 6 +- .../block/canopy_banister_connected.json | 6 + .../canopy_banister_connected_extended.json | 6 + .../block/canopy_banister_inventory.json | 6 + .../models/block/canopy_banister_short.json | 6 + .../block/canopy_banister_short_extended.json | 6 + .../models/block/canopy_banister_tall.json | 6 + .../block/canopy_banister_tall_extended.json | 6 + .../models/block/canopy_door_bottom_left.json | 1 + .../block/canopy_door_bottom_left_open.json | 1 + .../block/canopy_door_bottom_right.json | 1 + .../block/canopy_door_bottom_right_open.json | 1 + .../models/block/canopy_door_top_left.json | 1 + .../block/canopy_door_top_left_open.json | 1 + .../models/block/canopy_door_top_right.json | 1 + .../block/canopy_door_top_right_open.json | 1 + .../models/block/canopy_hanging_sign.json | 5 + .../models/block/canopy_leaves.json | 7 + .../models/block/canopy_log.json | 7 + .../models/block/canopy_log_horizontal.json | 7 + .../models/block/canopy_sapling.json | 7 + ...er.json => canopy_stairs_inner_inner.json} | 0 ...er.json => canopy_stairs_outer_outer.json} | 0 .../models/block/canopy_trapdoor_bottom.json | 1 + .../models/block/canopy_trapdoor_open.json | 1 + .../models/block/canopy_trapdoor_top.json | 1 + .../models/block/canopy_wood.json | 7 + .../models/block/dark_banister_connected.json | 6 + .../dark_banister_connected_extended.json | 6 + .../models/block/dark_banister_inventory.json | 6 + .../models/block/dark_banister_short.json | 6 + .../block/dark_banister_short_extended.json | 6 + .../models/block/dark_banister_tall.json | 6 + .../block/dark_banister_tall_extended.json | 6 + .../models/block/dark_door_bottom_left.json | 1 + .../block/dark_door_bottom_left_open.json | 1 + .../models/block/dark_door_bottom_right.json | 1 + .../block/dark_door_bottom_right_open.json | 1 + .../models/block/dark_door_top_left.json | 1 + .../models/block/dark_door_top_left_open.json | 1 + .../models/block/dark_door_top_right.json | 1 + .../block/dark_door_top_right_open.json | 1 + .../models/block/dark_hanging_sign.json | 5 + .../models/block/dark_leaves.json | 7 + .../twilightforest/models/block/dark_log.json | 7 + .../models/block/dark_log_horizontal.json | 7 + ...nner.json => dark_stairs_inner_inner.json} | 0 ...uter.json => dark_stairs_outer_outer.json} | 0 .../models/block/dark_trapdoor_bottom.json | 1 + .../models/block/dark_trapdoor_open.json | 1 + .../models/block/dark_trapdoor_top.json | 1 + .../models/block/dark_wood.json | 7 + .../models/block/darkwood_sapling.json | 7 + .../hollow_canopy_log_climbable_ladder.json | 9 + .../hollow_canopy_log_climbable_vine.json | 9 + .../block/hollow_canopy_log_horizontal.json | 8 + ...canopy_log_horizontal_grass_inventory.json | 11 + .../hollow_canopy_log_horizontal_moss.json | 10 + .../hollow_canopy_log_horizontal_snow.json | 10 + .../block/hollow_canopy_log_vertical.json | 8 + .../hollow_dark_log_climbable_ladder.json | 9 + .../block/hollow_dark_log_climbable_vine.json | 9 + .../block/hollow_dark_log_horizontal.json | 8 + ...w_dark_log_horizontal_grass_inventory.json | 11 + .../hollow_dark_log_horizontal_moss.json | 10 + .../hollow_dark_log_horizontal_snow.json | 10 + .../block/hollow_dark_log_vertical.json | 8 + .../hollow_mangrove_log_climbable_ladder.json | 9 + .../hollow_mangrove_log_climbable_vine.json | 9 + .../block/hollow_mangrove_log_horizontal.json | 8 + ...ngrove_log_horizontal_grass_inventory.json | 11 + .../hollow_mangrove_log_horizontal_moss.json | 10 + .../hollow_mangrove_log_horizontal_snow.json | 10 + .../block/hollow_mangrove_log_vertical.json | 8 + .../hollow_mining_log_climbable_ladder.json | 9 + .../hollow_mining_log_climbable_vine.json | 9 + .../block/hollow_mining_log_horizontal.json | 8 + ...mining_log_horizontal_grass_inventory.json | 11 + .../hollow_mining_log_horizontal_moss.json | 10 + .../hollow_mining_log_horizontal_snow.json | 10 + .../block/hollow_mining_log_vertical.json | 8 + .../hollow_sorting_log_climbable_ladder.json | 9 + .../hollow_sorting_log_climbable_vine.json | 9 + .../block/hollow_sorting_log_horizontal.json | 8 + ...orting_log_horizontal_grass_inventory.json | 11 + .../hollow_sorting_log_horizontal_moss.json | 10 + .../hollow_sorting_log_horizontal_snow.json | 10 + .../block/hollow_sorting_log_vertical.json | 8 + .../hollow_time_log_climbable_ladder.json | 9 + .../block/hollow_time_log_climbable_vine.json | 9 + .../block/hollow_time_log_horizontal.json | 8 + ...w_time_log_horizontal_grass_inventory.json | 11 + .../hollow_time_log_horizontal_moss.json | 10 + .../hollow_time_log_horizontal_snow.json | 10 + .../block/hollow_time_log_vertical.json | 8 + ...w_transformation_log_climbable_ladder.json | 9 + ...low_transformation_log_climbable_vine.json | 9 + .../hollow_transformation_log_horizontal.json | 8 + ...mation_log_horizontal_grass_inventory.json | 11 + ...ow_transformation_log_horizontal_moss.json | 10 + ...ow_transformation_log_horizontal_snow.json | 10 + .../hollow_transformation_log_vertical.json | 8 + ...low_twilight_oak_log_climbable_ladder.json | 9 + ...ollow_twilight_oak_log_climbable_vine.json | 9 + .../hollow_twilight_oak_log_horizontal.json | 8 + ...ht_oak_log_horizontal_grass_inventory.json | 11 + ...llow_twilight_oak_log_horizontal_moss.json | 10 + ...llow_twilight_oak_log_horizontal_snow.json | 10 + .../hollow_twilight_oak_log_vertical.json | 8 + .../block/mangrove_banister_connected.json | 6 + .../mangrove_banister_connected_extended.json | 6 + .../block/mangrove_banister_inventory.json | 6 + .../models/block/mangrove_banister_short.json | 6 + .../mangrove_banister_short_extended.json | 6 + .../models/block/mangrove_banister_tall.json | 6 + .../mangrove_banister_tall_extended.json | 6 + .../block/mangrove_door_bottom_left.json | 1 + .../block/mangrove_door_bottom_left_open.json | 1 + .../block/mangrove_door_bottom_right.json | 1 + .../mangrove_door_bottom_right_open.json | 1 + .../models/block/mangrove_door_top_left.json | 1 + .../block/mangrove_door_top_left_open.json | 1 + .../models/block/mangrove_door_top_right.json | 1 + .../block/mangrove_door_top_right_open.json | 1 + .../models/block/mangrove_hanging_sign.json | 5 + .../models/block/mangrove_leaves.json | 7 + .../models/block/mangrove_log.json | 7 + .../models/block/mangrove_log_horizontal.json | 7 + .../models/block/mangrove_sapling.json | 7 + ....json => mangrove_stairs_inner_inner.json} | 0 ....json => mangrove_stairs_outer_outer.json} | 0 .../block/mangrove_trapdoor_bottom.json | 1 + .../models/block/mangrove_trapdoor_open.json | 1 + .../models/block/mangrove_trapdoor_top.json | 1 + .../models/block/mangrove_wood.json | 7 + .../block/mining_banister_connected.json | 6 + .../mining_banister_connected_extended.json | 6 + .../block/mining_banister_inventory.json | 6 + .../models/block/mining_banister_short.json | 6 + .../block/mining_banister_short_extended.json | 6 + .../models/block/mining_banister_tall.json | 6 + .../block/mining_banister_tall_extended.json | 6 + .../models/block/mining_door_bottom_left.json | 1 + .../block/mining_door_bottom_left_open.json | 1 + .../block/mining_door_bottom_right.json | 1 + .../block/mining_door_bottom_right_open.json | 1 + .../models/block/mining_door_top_left.json | 1 + .../block/mining_door_top_left_open.json | 1 + .../models/block/mining_door_top_right.json | 1 + .../block/mining_door_top_right_open.json | 1 + .../models/block/mining_hanging_sign.json | 5 + .../models/block/mining_leaves.json | 7 + .../models/block/mining_log.json | 7 + .../models/block/mining_log_horizontal.json | 7 + .../models/block/mining_sapling.json | 7 + ...er.json => mining_stairs_inner_inner.json} | 0 ...er.json => mining_stairs_outer_outer.json} | 0 .../models/block/mining_trapdoor_bottom.json | 1 + .../models/block/mining_trapdoor_open.json | 1 + .../models/block/mining_trapdoor_top.json | 1 + .../models/block/mining_wood.json | 7 + .../models/block/nagastone_head.json | 8 +- .../models/block/potted_canopy_sapling.json | 7 + .../models/block/potted_darkwood_sapling.json | 7 + .../models/block/potted_mangrove_sapling.json | 7 + .../models/block/potted_mining_sapling.json | 7 + .../models/block/potted_sorting_sapling.json | 7 + .../models/block/potted_time_sapling.json | 7 + .../block/potted_transformation_sapling.json | 7 + .../block/potted_twilight_oak_sapling.json | 7 + .../block/sorting_banister_connected.json | 6 + .../sorting_banister_connected_extended.json | 6 + .../block/sorting_banister_inventory.json | 6 + .../models/block/sorting_banister_short.json | 6 + .../sorting_banister_short_extended.json | 6 + .../models/block/sorting_banister_tall.json | 6 + .../block/sorting_banister_tall_extended.json | 6 + .../block/sorting_door_bottom_left.json | 1 + .../block/sorting_door_bottom_left_open.json | 1 + .../block/sorting_door_bottom_right.json | 1 + .../block/sorting_door_bottom_right_open.json | 1 + .../models/block/sorting_door_top_left.json | 1 + .../block/sorting_door_top_left_open.json | 1 + .../models/block/sorting_door_top_right.json | 1 + .../block/sorting_door_top_right_open.json | 1 + .../models/block/sorting_hanging_sign.json | 5 + .../models/block/sorting_leaves.json | 7 + .../models/block/sorting_log.json | 7 + .../models/block/sorting_log_horizontal.json | 7 + .../models/block/sorting_sapling.json | 7 + ...r.json => sorting_stairs_inner_inner.json} | 0 ...r.json => sorting_stairs_outer_outer.json} | 0 .../models/block/sorting_trapdoor_bottom.json | 1 + .../models/block/sorting_trapdoor_open.json | 1 + .../models/block/sorting_trapdoor_top.json | 1 + .../models/block/sorting_wood.json | 7 + .../models/block/stripped_canopy_log.json | 7 + .../block/stripped_canopy_log_horizontal.json | 7 + .../models/block/stripped_canopy_wood.json | 7 + .../stripped_canopy_wood_horizontal.json | 7 + .../models/block/stripped_dark_log.json | 7 + .../block/stripped_dark_log_horizontal.json | 7 + .../models/block/stripped_dark_wood.json | 7 + .../block/stripped_dark_wood_horizontal.json | 7 + .../models/block/stripped_mangrove_log.json | 7 + .../stripped_mangrove_log_horizontal.json | 7 + .../models/block/stripped_mangrove_wood.json | 7 + .../stripped_mangrove_wood_horizontal.json | 7 + .../models/block/stripped_mining_log.json | 7 + .../block/stripped_mining_log_horizontal.json | 7 + .../models/block/stripped_mining_wood.json | 7 + .../stripped_mining_wood_horizontal.json | 7 + .../models/block/stripped_sorting_log.json | 7 + .../stripped_sorting_log_horizontal.json | 7 + .../models/block/stripped_sorting_wood.json | 7 + .../stripped_sorting_wood_horizontal.json | 7 + .../models/block/stripped_time_log.json | 7 + .../block/stripped_time_log_horizontal.json | 7 + .../models/block/stripped_time_wood.json | 7 + .../block/stripped_time_wood_horizontal.json | 7 + .../block/stripped_transformation_log.json | 7 + ...tripped_transformation_log_horizontal.json | 7 + .../block/stripped_transformation_wood.json | 7 + ...ripped_transformation_wood_horizontal.json | 7 + .../block/stripped_twilight_oak_log.json | 7 + .../stripped_twilight_oak_log_horizontal.json | 7 + .../block/stripped_twilight_oak_wood.json | 7 + ...stripped_twilight_oak_wood_horizontal.json | 7 + .../models/block/time_banister_connected.json | 6 + .../time_banister_connected_extended.json | 6 + .../models/block/time_banister_inventory.json | 6 + .../models/block/time_banister_short.json | 6 + .../block/time_banister_short_extended.json | 6 + .../models/block/time_banister_tall.json | 6 + .../block/time_banister_tall_extended.json | 6 + .../models/block/time_door_bottom_left.json | 1 + .../block/time_door_bottom_left_open.json | 1 + .../models/block/time_door_bottom_right.json | 1 + .../block/time_door_bottom_right_open.json | 1 + .../models/block/time_door_top_left.json | 1 + .../models/block/time_door_top_left_open.json | 1 + .../models/block/time_door_top_right.json | 1 + .../block/time_door_top_right_open.json | 1 + .../models/block/time_hanging_sign.json | 5 + .../models/block/time_leaves.json | 7 + .../twilightforest/models/block/time_log.json | 7 + .../models/block/time_log_horizontal.json | 7 + .../models/block/time_sapling.json | 7 + ...nner.json => time_stairs_inner_inner.json} | 0 ...uter.json => time_stairs_outer_outer.json} | 0 .../models/block/time_trapdoor_bottom.json | 1 + .../models/block/time_trapdoor_open.json | 1 + .../models/block/time_trapdoor_top.json | 1 + .../models/block/time_wood.json | 7 + .../transformation_banister_connected.json | 6 + ...formation_banister_connected_extended.json | 6 + .../transformation_banister_inventory.json | 6 + .../block/transformation_banister_short.json | 6 + ...ransformation_banister_short_extended.json | 6 + .../block/transformation_banister_tall.json | 6 + ...transformation_banister_tall_extended.json | 6 + .../transformation_door_bottom_left.json | 1 + .../transformation_door_bottom_left_open.json | 1 + .../transformation_door_bottom_right.json | 1 + ...transformation_door_bottom_right_open.json | 1 + .../block/transformation_door_top_left.json | 1 + .../transformation_door_top_left_open.json | 1 + .../block/transformation_door_top_right.json | 1 + .../transformation_door_top_right_open.json | 1 + .../block/transformation_hanging_sign.json | 5 + .../models/block/transformation_leaves.json | 7 + .../models/block/transformation_log.json | 7 + .../block/transformation_log_horizontal.json | 7 + .../models/block/transformation_sapling.json | 7 + ...=> transformation_stairs_inner_inner.json} | 0 ...=> transformation_stairs_outer_outer.json} | 0 .../block/transformation_trapdoor_bottom.json | 1 + .../block/transformation_trapdoor_open.json | 1 + .../block/transformation_trapdoor_top.json | 1 + .../models/block/transformation_wood.json | 7 + .../twilight_oak_banister_connected.json | 6 + ...light_oak_banister_connected_extended.json | 6 + .../twilight_oak_banister_inventory.json | 6 + .../block/twilight_oak_banister_short.json | 6 + .../twilight_oak_banister_short_extended.json | 6 + .../block/twilight_oak_banister_tall.json | 6 + .../twilight_oak_banister_tall_extended.json | 6 + .../block/twilight_oak_door_bottom_left.json | 1 + .../twilight_oak_door_bottom_left_open.json | 1 + .../block/twilight_oak_door_bottom_right.json | 1 + .../twilight_oak_door_bottom_right_open.json | 1 + .../block/twilight_oak_door_top_left.json | 1 + .../twilight_oak_door_top_left_open.json | 1 + .../block/twilight_oak_door_top_right.json | 1 + .../twilight_oak_door_top_right_open.json | 1 + .../block/twilight_oak_hanging_sign.json | 5 + .../models/block/twilight_oak_leaves.json | 7 + .../models/block/twilight_oak_log.json | 7 + .../block/twilight_oak_log_horizontal.json | 7 + .../models/block/twilight_oak_sapling.json | 7 + ...n => twilight_oak_stairs_inner_inner.json} | 0 ...n => twilight_oak_stairs_outer_outer.json} | 0 .../block/twilight_oak_trapdoor_bottom.json | 1 + .../block/twilight_oak_trapdoor_open.json | 1 + .../block/twilight_oak_trapdoor_top.json | 1 + .../models/block/twilight_oak_wood.json | 7 + .../models/item/canopy_hanging_sign.json | 6 + .../models/item/canopy_sapling.json | 6 + .../models/item/dark_hanging_sign.json | 6 + .../models/item/darkwood_sapling.json | 6 + .../models/item/mangrove_hanging_sign.json | 6 + .../models/item/mangrove_sapling.json | 6 + .../models/item/mining_hanging_sign.json | 6 + .../models/item/mining_sapling.json | 6 + .../models/item/sorting_hanging_sign.json | 6 + .../models/item/sorting_sapling.json | 6 + .../models/item/time_hanging_sign.json | 6 + .../models/item/time_sapling.json | 6 + .../item/transformation_hanging_sign.json | 6 + .../models/item/transformation_sapling.json | 6 + .../item/twilight_oak_hanging_sign.json | 6 + .../models/item/twilight_oak_sapling.json | 6 + 541 files changed, 5458 insertions(+), 562 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_time_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_time_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_fence_gate.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_planks.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_pressure_plate.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{canopy_stairs_inner.json => canopy_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{canopy_stairs_outer.json => canopy_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json rename src/generated/resources/assets/twilightforest/models/block/{dark_stairs_inner.json => dark_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{dark_stairs_outer.json => dark_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{mangrove_stairs_inner.json => mangrove_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{mangrove_stairs_outer.json => mangrove_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{mining_stairs_inner.json => mining_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{mining_stairs_outer.json => mining_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{sorting_stairs_inner.json => sorting_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{sorting_stairs_outer.json => sorting_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{time_stairs_inner.json => time_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{time_stairs_outer.json => time_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{transformation_stairs_inner.json => transformation_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{transformation_stairs_outer.json => transformation_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json rename src/generated/resources/assets/twilightforest/models/block/{twilight_oak_stairs_inner.json => twilight_oak_stairs_inner_inner.json} (100%) rename src/generated/resources/assets/twilightforest/models/block/{twilight_oak_stairs_outer.json => twilight_oak_stairs_outer_outer.json} (100%) create mode 100644 src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mining_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/time_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index d4ddc938b7..1b409fb878 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-06T11:26:15.3724446 Model Definitions - twilightforest +// 1.21.4 2025-04-06T23:14:01.6528182 Model Definitions - twilightforest 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json @@ -16,19 +16,26 @@ d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_ d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json 97606ce1e236f6a9fa8a4fe1cc6ebf8a86943766 assets/twilightforest/blockstates/candelabra.json +4cf9e1114c26460ef7b405d4da5e9c3bbc712dd0 assets/twilightforest/blockstates/canopy_banister.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 271b699dd7bb20042c5b6697577b7aa08fbe4f59 assets/twilightforest/blockstates/canopy_chest.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json cfe988b1223e7a93d2cc92548cbc81f1c989edf3 assets/twilightforest/blockstates/canopy_fence.json 0c4075ec62bdbb1f1636217a3f5f17ff61bf05ca assets/twilightforest/blockstates/canopy_fence_gate.json +c42f6615103e21acb332c69aeca933ca8c5aaf96 assets/twilightforest/blockstates/canopy_hanging_sign.json +5c3ac66aa7178f1c71f45dad25ce2468f2c284cd assets/twilightforest/blockstates/canopy_leaves.json +663fc7f81744291d8a825eeaaf88cf69d3fe9b94 assets/twilightforest/blockstates/canopy_log.json 96a68a1b8cd4e55ca650907a01846be7833dfe0c assets/twilightforest/blockstates/canopy_planks.json 47c224902bcad6fc82f8dfc7d5c5a58a790dd4b3 assets/twilightforest/blockstates/canopy_pressure_plate.json +8dc47e00b9de9de49abd33922ab6e9c44f6d7eeb assets/twilightforest/blockstates/canopy_sapling.json c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_sign.json 14e3201ecb1821e9bcf69595c2db16fa60803a8a assets/twilightforest/blockstates/canopy_slab.json -fe5010320f32823f66bd55c816297be37119f27c assets/twilightforest/blockstates/canopy_stairs.json -27c82ec31ca6df1f7120c4ba8db6e5bd7cc4b16d assets/twilightforest/blockstates/canopy_trapdoor.json +b1fc7bca606ceb4a0e837a359c12f4f8f32d8b41 assets/twilightforest/blockstates/canopy_stairs.json +ac9b7939628377f90aaea8fe32e2595511f095d2 assets/twilightforest/blockstates/canopy_trapdoor.json b4db06c28d8e7e90481fdb3b7e1cb257ff3d7cc2 assets/twilightforest/blockstates/canopy_trapped_chest.json +c42f6615103e21acb332c69aeca933ca8c5aaf96 assets/twilightforest/blockstates/canopy_wall_hanging_sign.json c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_wall_sign.json +eb60f7ee8af365cf7321539690c0e36e9f9e88fb assets/twilightforest/blockstates/canopy_wood.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json @@ -37,24 +44,55 @@ d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/crack e7199853ca29145ffb01743e9be73457bb867825 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json +c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json +2fa81be96aaab91341372d4dc48205e461a3356a assets/twilightforest/blockstates/dark_banister.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json 489c9e459f7445709058b454c656cdb40d23cdd3 assets/twilightforest/blockstates/dark_chest.json b5805a844061ff2ca5a78c16538b4a83e6bee44b assets/twilightforest/blockstates/dark_door.json 1cb35880917da48ce7e6fa23658b8ec43d03e432 assets/twilightforest/blockstates/dark_fence.json 1a964e983b4c89e88ded9bce06aee7a4351d1989 assets/twilightforest/blockstates/dark_fence_gate.json +a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_hanging_sign.json +954873e8db30c8eecf7140bfcf46acfd6666af42 assets/twilightforest/blockstates/dark_leaves.json +bcddfae2c58fe848d5f8af9f9d8f4b1d2d1483f2 assets/twilightforest/blockstates/dark_log.json ad17ae81586c2af00be553b06624d1b95fbf0bcb assets/twilightforest/blockstates/dark_planks.json aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_pressure_plate.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_sign.json 1eef4b5063f296c31ab36c81803331ba0d458305 assets/twilightforest/blockstates/dark_slab.json -3d47ed2bc1ce580523333ffdbcd3adb526e57baa assets/twilightforest/blockstates/dark_stairs.json -6f132b9ec72b4a4c18947540e9493eeddfe08f52 assets/twilightforest/blockstates/dark_trapdoor.json +87c51b4ebfe0ccab358ba5781ea1a4317dcefdbd assets/twilightforest/blockstates/dark_stairs.json +75ce9b9df420319b5eb48d87bbda3467d4c125de assets/twilightforest/blockstates/dark_trapdoor.json 065447f2208186e42807cf74ad008215714bfa9f assets/twilightforest/blockstates/dark_trapped_chest.json +a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_wall_hanging_sign.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json +4becbb730cf4d0a510f8bb4ee06c2f024ea0f8a8 assets/twilightforest/blockstates/dark_wood.json 7e307743ee6bdbc57a5f355b7a05ce3c0317cc23 assets/twilightforest/blockstates/deadrock.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json +676e0afe6942ca28c0844b8de00204ce9051205b assets/twilightforest/blockstates/hollow_canopy_log_climbable.json +f8f5214841d134397eda182461eb7a61dec187d2 assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json +1ebcd3978e315c1b2df535675b60da526ffdc5e3 assets/twilightforest/blockstates/hollow_canopy_log_vertical.json +03a6289af84f45753ed34c72a57b18c090d65f6a assets/twilightforest/blockstates/hollow_dark_log_climbable.json +9bb2c5c4cb895a5115f3ee667a85ec0792c8cfba assets/twilightforest/blockstates/hollow_dark_log_horizontal.json +66ad48c5f61cc50988024b48233bbd2eb8609bdd assets/twilightforest/blockstates/hollow_dark_log_vertical.json +52a9a7051163a3b7d574eec838b2326bfc24dccb assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json +b39ddeebabb217a44fb88a2b31dca8a4b765350a assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json +75934b3b99701fbafbd1a693cbdf1b700c3aef69 assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json +366f45e34773fc4f43b84a90230aa3496d800bca assets/twilightforest/blockstates/hollow_mining_log_climbable.json +bddcea160534d177ef6788dcbf8ab8d6e75fe3cb assets/twilightforest/blockstates/hollow_mining_log_horizontal.json +248100167ce25bba1abaaa2693d8187632509bc8 assets/twilightforest/blockstates/hollow_mining_log_vertical.json +c8461d2dfa455749d033e5fd38b74a20f778e70f assets/twilightforest/blockstates/hollow_sorting_log_climbable.json +f477f69da196c39c5d4a01a73415813c9b529a63 assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json +7abcc706c63c261c517a92dd99543215abbfa408 assets/twilightforest/blockstates/hollow_sorting_log_vertical.json +27ca6b21794d578ed8044f743e0e82bc75e1c06c assets/twilightforest/blockstates/hollow_time_log_climbable.json +c05a16fd9debf061b36d3f74dc8f1dfc68d4f9bc assets/twilightforest/blockstates/hollow_time_log_horizontal.json +d9c78d998ddea04e828eeaed2e08e2f2a95e1940 assets/twilightforest/blockstates/hollow_time_log_vertical.json +92c3f5126a3f8d65e4383764507efb2b33ead228 assets/twilightforest/blockstates/hollow_transformation_log_climbable.json +17464ed8ab826fea45e1993407a542dddaf0dfdb assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json +42823bb166b9d6d27a24697a2667beba4132d9d3 assets/twilightforest/blockstates/hollow_transformation_log_vertical.json +5da9f159cea1aed5595470e1800dfc5bf2ad19a2 assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json +7feec1989fc821468846e8bef8c25500931c18c5 assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json +791f494f0eaaceda560aa7dbf32a8f017cea55d4 assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json @@ -65,32 +103,46 @@ b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etche 2c26b31ae37dff2a5430d8717b074dab52ad0b74 assets/twilightforest/blockstates/lich_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_wall_trophy.json +ffda814651732d9d2e2ad596b5f82ae453eba4ab assets/twilightforest/blockstates/mangrove_banister.json 89480f14f87cf18f9e507251a0bb479a962afbb2 assets/twilightforest/blockstates/mangrove_button.json cbd68284ccf7c5f2860f0c5823a05c3f6deff522 assets/twilightforest/blockstates/mangrove_chest.json 7b1f90a554e73c509cc58b7974e5f8b712e128d0 assets/twilightforest/blockstates/mangrove_door.json c21058a2e1f22f635caff711f5635cf88ce7aeaa assets/twilightforest/blockstates/mangrove_fence.json dfa1e3a3a4a9a20101e46f2679b3f2335c891c95 assets/twilightforest/blockstates/mangrove_fence_gate.json +b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_hanging_sign.json +795edac2ca029445525ea20362df3223a128b4ba assets/twilightforest/blockstates/mangrove_leaves.json +e6696e44d816afa56d2fb91e47e85e18dbee164c assets/twilightforest/blockstates/mangrove_log.json 0918b89fd0ae0a6d8cb08240e45f430204dd652a assets/twilightforest/blockstates/mangrove_planks.json d4ea83fe6efda8ec6b5254b3b714495ce2746fc9 assets/twilightforest/blockstates/mangrove_pressure_plate.json +9abde1b7491a85eca8c85f32fd936d844e6aa0bc assets/twilightforest/blockstates/mangrove_sapling.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_sign.json 0a8a1e63651085660678558871b29308f0e87186 assets/twilightforest/blockstates/mangrove_slab.json -5229f591a47756030a93bb1a22ce15f5a9ff0f67 assets/twilightforest/blockstates/mangrove_stairs.json -2b029e34ef2bb35462cf27687875c29c97481497 assets/twilightforest/blockstates/mangrove_trapdoor.json +1802aa3ecc8d56122df0690acf982e3ab8d81d70 assets/twilightforest/blockstates/mangrove_stairs.json +69df3ffd75cf9e06a2c544ee4e27b7f7563291f6 assets/twilightforest/blockstates/mangrove_trapdoor.json ba193ec3517d4a2bb1ec3467d1dc2f1e0d41daaa assets/twilightforest/blockstates/mangrove_trapped_chest.json +b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_wall_sign.json +79ba1c62c7d356e55518f4ccbe7eeb47f1dcf54e assets/twilightforest/blockstates/mangrove_wood.json +c703ec10c6af5fd1cc7fc4fc88df69a2ab080b75 assets/twilightforest/blockstates/mining_banister.json 6125566a63012e0221a317cebc0091ca958683f7 assets/twilightforest/blockstates/mining_button.json 79dc4cb9c0a97d1cc0a6f98e4466ff820cff4bff assets/twilightforest/blockstates/mining_chest.json 9f803ee53874a25ceae04e599a9fb9382e6db005 assets/twilightforest/blockstates/mining_door.json a5fc975dc31b748562f327a8888196b2d5b5b8d6 assets/twilightforest/blockstates/mining_fence.json d466eff659cc53244f0a5c114ad7720f5d2e9de9 assets/twilightforest/blockstates/mining_fence_gate.json +9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json +d5160517781c85fb75caf34dcc287671ca5e3186 assets/twilightforest/blockstates/mining_leaves.json +b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json 05d439a9f1c976c8de64f63b2935eb299cc37112 assets/twilightforest/blockstates/mining_planks.json a3172f591c2f793f17bc50e85d954836473c3430 assets/twilightforest/blockstates/mining_pressure_plate.json +e136e20a505445ebdc740bb2e09b289a20015b90 assets/twilightforest/blockstates/mining_sapling.json 0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_sign.json c5d64870f08ca03dacac23dd19c5b6b13c32944c assets/twilightforest/blockstates/mining_slab.json -2a6b9478f440117c69d8f1eb70dba35ae537f80b assets/twilightforest/blockstates/mining_stairs.json -ab90ece7235ea2398745248439024ef17ef237a8 assets/twilightforest/blockstates/mining_trapdoor.json +a3e4650beeb5b447a0f464591560ca3d03403925 assets/twilightforest/blockstates/mining_stairs.json +73608ba100a62026f2d56e5a94ab66187d76bd0c assets/twilightforest/blockstates/mining_trapdoor.json c81842040697782e958c9226b2a2f7e37d8885bc assets/twilightforest/blockstates/mining_trapped_chest.json +9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_wall_hanging_sign.json 0feae66c44bcce8936ffe95299051aabde3e3f84 assets/twilightforest/blockstates/mining_wall_sign.json +c7d621cb935e9eba189b3122e6680866bdb865b1 assets/twilightforest/blockstates/mining_wood.json b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minoshroom_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json @@ -111,6 +163,14 @@ beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagas 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json +6d1355138bc99dc102517dd779b0a69cae69eb79 assets/twilightforest/blockstates/potted_canopy_sapling.json +165a66c5cdeb9bd559ddbe3557ade25ef8c6dea9 assets/twilightforest/blockstates/potted_darkwood_sapling.json +cbf9a4bee60c4f78f363749482569ce88246234d assets/twilightforest/blockstates/potted_mangrove_sapling.json +cc99e996a4893cce317a4f29364171556025a240 assets/twilightforest/blockstates/potted_mining_sapling.json +1a70ca5a6c64fcd7b010e5aea42f6974962b0fb0 assets/twilightforest/blockstates/potted_sorting_sapling.json +9785c009daff75e161f07fa1887e995fffa7cb48 assets/twilightforest/blockstates/potted_time_sapling.json +ce094a7d5901495f51ed9c4b51179a0746bbd349 assets/twilightforest/blockstates/potted_transformation_sapling.json +d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potted_twilight_oak_sapling.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json @@ -120,62 +180,106 @@ beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagas 29cdc362c362875bf1a3f48491808cae5b623c9e assets/twilightforest/blockstates/snow_queen_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json +4b2782749bd3a0c799d267b9946148f53e9a4b2e assets/twilightforest/blockstates/sorting_banister.json c77286635d3bae7125437cb52b159e584bf4478d assets/twilightforest/blockstates/sorting_button.json 02aecf1ae1d386eb03e8d8787a93fadaa5355987 assets/twilightforest/blockstates/sorting_chest.json 29b87b9a3bfb46dff09d8632485616a2d12d6b3f assets/twilightforest/blockstates/sorting_door.json 37e9aa1bc44e0d768c479fd6353c336cca3f1f6e assets/twilightforest/blockstates/sorting_fence.json 49ca8b929e8f67eafd806ec0b5cd57d761b38583 assets/twilightforest/blockstates/sorting_fence_gate.json +214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json +45ce3b21e53ef2f5619227eaa406d23e69a54f31 assets/twilightforest/blockstates/sorting_leaves.json +8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json b2f76c65ff687953aa80577cbab827b2f4edb948 assets/twilightforest/blockstates/sorting_planks.json a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorting_pressure_plate.json +f255b22c939a9d3c96db3f03f475b420a237a982 assets/twilightforest/blockstates/sorting_sapling.json 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_sign.json 6998abda0cd7b9d7ac078c86c2e89afa3acbf119 assets/twilightforest/blockstates/sorting_slab.json -89ffd66fe318826b59388c0ad873e03d449fc27b assets/twilightforest/blockstates/sorting_stairs.json -20314688b0ef3050080a134cf32c5ac2d9bf1aaf assets/twilightforest/blockstates/sorting_trapdoor.json +624d6f98af3574264db69b40c487ca4e872d62e8 assets/twilightforest/blockstates/sorting_stairs.json +a63594251e98cad77affe3accc1f75835a271066 assets/twilightforest/blockstates/sorting_trapdoor.json 6c2d40b15b9dcc49feb02616470eb4ed4754a615 assets/twilightforest/blockstates/sorting_trapped_chest.json +214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_wall_hanging_sign.json 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json +79bedbdea008300c35668d8d740e66e5d0e81284 assets/twilightforest/blockstates/sorting_wood.json fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json +b2e74bad436c08b77027498c4722448d678ae13f assets/twilightforest/blockstates/stripped_canopy_log.json +7d3fec0b41d5610e6544df651bcdbe9da992ac18 assets/twilightforest/blockstates/stripped_canopy_wood.json +85b3a6d805a8e29cc5f13c2c73656b7af562b8a7 assets/twilightforest/blockstates/stripped_dark_log.json +b163a9767fe6ee24521db2ac3257b9d0ba0845a1 assets/twilightforest/blockstates/stripped_dark_wood.json +e5c2e1a5a4558c9876d0ffd0c51b27a193caafb1 assets/twilightforest/blockstates/stripped_mangrove_log.json +2d9ab0cf43a9e5aa2c0a4257ed6600d3df14b533 assets/twilightforest/blockstates/stripped_mangrove_wood.json +41fb9ad57cd913bf27f2c997642803197a451ff2 assets/twilightforest/blockstates/stripped_mining_log.json +1488c9fab31e988044683ab24f7220ebaa57d901 assets/twilightforest/blockstates/stripped_mining_wood.json +1f2492d9a9a4507f56e1bc4f077c279f31659f8b assets/twilightforest/blockstates/stripped_sorting_log.json +8cc85643090d4f0b12204ed37c08cc7aa26dd72d assets/twilightforest/blockstates/stripped_sorting_wood.json +d76a5e567943b47c4697dfdc500fa836eab228df assets/twilightforest/blockstates/stripped_time_log.json +10109d08a0056b1b85ef55906bdf42d78c0ec63c assets/twilightforest/blockstates/stripped_time_wood.json +f1aefe5659335464583459fe475d3c8791c2cbc1 assets/twilightforest/blockstates/stripped_transformation_log.json +14fa938521e7501a3cff560e88b89a877b69435e assets/twilightforest/blockstates/stripped_transformation_wood.json +cc40f471409eb7fea00628473cfbe152318065ee assets/twilightforest/blockstates/stripped_twilight_oak_log.json +ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/stripped_twilight_oak_wood.json 76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json 9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json 245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json +2df741f8ea48bf2035b932508d20ccf58d3e7ad6 assets/twilightforest/blockstates/time_banister.json 6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json 895cf7d2f621f164fe6bc9747d6139e32d138dd2 assets/twilightforest/blockstates/time_chest.json a76889cc929e0b858ab92d42e82b4775f2fbe0d4 assets/twilightforest/blockstates/time_door.json 3df9cb533b34b1c27d0e0c7ba3aca35ae7c97d49 assets/twilightforest/blockstates/time_fence.json 69fd57955cc28c3d8be506aa549f25d454306ced assets/twilightforest/blockstates/time_fence_gate.json +874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json +4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json +46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json 165da41509f05267289915b9762771f136738020 assets/twilightforest/blockstates/time_planks.json fcee4e78477126f2bbb069e653a75840d12186e3 assets/twilightforest/blockstates/time_pressure_plate.json +51256d56f4fe23232f18f9140f23050af247d73f assets/twilightforest/blockstates/time_sapling.json 582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_sign.json 126664447b86d56ad0454553b6f3af9ffb287af8 assets/twilightforest/blockstates/time_slab.json -d8247967a799d4f394d64f4f5f87de6922f75c8e assets/twilightforest/blockstates/time_stairs.json -f83fc9e07943338604180e8c976135dda6b1ef8e assets/twilightforest/blockstates/time_trapdoor.json +4606310e10c9e78e6c6f6c43bd07c83dcb501449 assets/twilightforest/blockstates/time_stairs.json +070b6807982a37a2d025faf2cfe63637f6b1a6fa assets/twilightforest/blockstates/time_trapdoor.json b7917cb18db2420d153dc6ecbd4270b8262d2b70 assets/twilightforest/blockstates/time_trapped_chest.json +874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_wall_hanging_sign.json 582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_wall_sign.json +4318b5ea90be35b0abdff8c8e1ff6bb6ffa7c888 assets/twilightforest/blockstates/time_wood.json +7ec2bf962614d368fe4cefe64d8bbf05f4d5b89a assets/twilightforest/blockstates/transformation_banister.json 41905a0e305a91b3a747b96ab1e7f72b70f34069 assets/twilightforest/blockstates/transformation_button.json d61dc0248f3ca96426e92f5394caf350167bdb74 assets/twilightforest/blockstates/transformation_chest.json 5d8d3cb53e13bf17501015a3236a3b7d4fa7b1fc assets/twilightforest/blockstates/transformation_door.json cb5b66e3f5961faa1098f5d52762288aed0e06bb assets/twilightforest/blockstates/transformation_fence.json 74c9fdef3c26d1abc7a4b8c372e761e87cc2011d assets/twilightforest/blockstates/transformation_fence_gate.json +698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json +708a669983dc33ab4ff8de5dd903a1b4e058bb08 assets/twilightforest/blockstates/transformation_leaves.json +09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json 12687e82fed15247622af4258485c79cecd007aa assets/twilightforest/blockstates/transformation_planks.json eb2f924745e1a98838769b71333eeeff2c443ca5 assets/twilightforest/blockstates/transformation_pressure_plate.json +1a54a691bee7bb2bd4aef219e467fc24e57ec0bf assets/twilightforest/blockstates/transformation_sapling.json 4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_sign.json 49482c8d066f7bdb75027dc862e4cc0829aaa34b assets/twilightforest/blockstates/transformation_slab.json -63331ab69e67fb6fea9601735b5d4733f91816fe assets/twilightforest/blockstates/transformation_stairs.json -e08813a38334ba73c13b2eb51536927ac9466cb5 assets/twilightforest/blockstates/transformation_trapdoor.json +a8c098af7204cdbd45bd2d488e9e3ab8f5c574ae assets/twilightforest/blockstates/transformation_stairs.json +ed2f3118194f20ab56ce95b829a136c3c6380687 assets/twilightforest/blockstates/transformation_trapdoor.json 51dbc594c24ec1e8751930c5a48e1a9c375710b5 assets/twilightforest/blockstates/transformation_trapped_chest.json +698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_wall_hanging_sign.json 4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_wall_sign.json +b24c860a26ad0d72167073d9a15226c4cd55e988 assets/twilightforest/blockstates/transformation_wood.json +fe8905195e4d8cabb26d5ea4a760c3d3e0ff7733 assets/twilightforest/blockstates/twilight_oak_banister.json 15c9add26b26f2885f29b9789c8f3e4fb168a89c assets/twilightforest/blockstates/twilight_oak_button.json 67b1a5194af9833973b0f06aac5d75d7d821922e assets/twilightforest/blockstates/twilight_oak_chest.json 6d773761e8b2fcb75b2499f008fe8edcbe09f050 assets/twilightforest/blockstates/twilight_oak_door.json 6dec65dc75b1dc5524170affa253193cc9dffcbf assets/twilightforest/blockstates/twilight_oak_fence.json 8bc70189f4ec3c81ff2f7afd9cd8a90edb47c4a3 assets/twilightforest/blockstates/twilight_oak_fence_gate.json +7c16b40c05c3017566fed35205c4ba258cc19a47 assets/twilightforest/blockstates/twilight_oak_hanging_sign.json +b5c078635b275b8f6551b5c932c916b1ac3b7946 assets/twilightforest/blockstates/twilight_oak_leaves.json +dc9ead6833b84ebe54468fed55b430c66ea948d5 assets/twilightforest/blockstates/twilight_oak_log.json 67d29d41f0ab65ae9b6cbe69556be7010b4fbf84 assets/twilightforest/blockstates/twilight_oak_planks.json 5851973d410d3efc547bc31124b3f8c4d56d5f82 assets/twilightforest/blockstates/twilight_oak_pressure_plate.json +77c31de6ca8cb13aedb9517fb8105f662e5fa646 assets/twilightforest/blockstates/twilight_oak_sapling.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_oak_sign.json 6d8da3fb6ce012516e384c0729087be757903167 assets/twilightforest/blockstates/twilight_oak_slab.json -f532e1fbce487d08e488af25b67f3026e8201d4a assets/twilightforest/blockstates/twilight_oak_stairs.json -da289dbfb7e9f17190a07936eefe0305ae8aa974 assets/twilightforest/blockstates/twilight_oak_trapdoor.json +82de73bc55c03dc551ca849e40da9d3396153277 assets/twilightforest/blockstates/twilight_oak_stairs.json +0bd6bc6ab8543ae12e4407f894e40ef66ff2e556 assets/twilightforest/blockstates/twilight_oak_trapdoor.json c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twilight_oak_trapped_chest.json +7c16b40c05c3017566fed35205c4ba258cc19a47 assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json +53e15828736a2b89045f003c1fbb29f4b3cdbe3c assets/twilightforest/blockstates/twilight_oak_wood.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json 3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json @@ -216,17 +320,26 @@ ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorns.json 7fcee9a21dc23e5a2947d6bc3a7dd8ab95377639 assets/twilightforest/items/burnt_thorns.json 94bcb56bc2cda362bb8af7792cd204abf879e9ec assets/twilightforest/items/candelabra.json +192ae2b2cfdb21ac13ded44abd7b1e8f80005b94 assets/twilightforest/items/canopy_banister.json f638f4b325aee0e97537a12bcd4763e9d2a458a4 assets/twilightforest/items/canopy_boat.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json 292cd3e4cb30952e1be94a9f49d885ed81c9b2f5 assets/twilightforest/items/canopy_chest.json 3e3be9263ae59578af07d429e62cd29db30bca20 assets/twilightforest/items/canopy_chest_boat.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json +d1bad5db61cce0fa1955a6c6e39977150a4cfd94 assets/twilightforest/items/canopy_fence_gate.json +a095615c1b138c2db3e3f1e1d6e30b9a59887180 assets/twilightforest/items/canopy_hanging_sign.json +5902bc1bda28a9453fdcf1b1acdcdcf9707268f3 assets/twilightforest/items/canopy_leaves.json +8a657917b403358b09dc9551dfd5024b5a02d752 assets/twilightforest/items/canopy_log.json +848c8e7860e0c1e164b0f876886af53fe060ca73 assets/twilightforest/items/canopy_planks.json +15fc4a7aa75647f342dd2493cf18cdde6745c0df assets/twilightforest/items/canopy_pressure_plate.json +5b1815eb270bdbe9daa5c543e204fd3ea8a0fee4 assets/twilightforest/items/canopy_sapling.json e63d42e422dbaeae73f2a23366bae6b04cf4db32 assets/twilightforest/items/canopy_sign.json f6794ac9e3cacc031d5d3de1c1444da066bf7df2 assets/twilightforest/items/canopy_slab.json ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stairs.json 2476e0a8a188c8aa8c53c0fb89b2d4bd5a49a59a assets/twilightforest/items/canopy_trapdoor.json 34b8ed1fb062d06958f977bf6b4b231127d7f386 assets/twilightforest/items/canopy_trapped_chest.json +80dcdab276f4490d97dd3b9efc8f4100785f49aa assets/twilightforest/items/canopy_wood.json 8357c3180197507bc520d84941553c1b036bea13 assets/twilightforest/items/carminite.json 5de6a2921cb6962beadbf3a658b05e2226125d04 assets/twilightforest/items/carminite_broodling_spawn_egg.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/carminite_ghastguard_spawn_egg.json @@ -248,17 +361,26 @@ e9aa2d0b0148a1618071bab3b7c864e7359b0ac3 assets/twilightforest/items/cracked_nag 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json +3153d4072e1aa9ee6a6acf41ec81970eb24fb3c5 assets/twilightforest/items/darkwood_sapling.json +b2407bc143ee34cc4e1e47c999111d90a9b9dc26 assets/twilightforest/items/dark_banister.json be1df433c582f223dbb853c9bcc94786de548b1e assets/twilightforest/items/dark_boat.json 7b7733be9f39aaf88531a6e5a0c97283f8aa1276 assets/twilightforest/items/dark_button.json f69cb43411d85270281d69db67358e8428c0b311 assets/twilightforest/items/dark_chest.json 35ae976d3f2d089bec4c40ba6ac88ba7893e6528 assets/twilightforest/items/dark_chest_boat.json b17b10d6537efdf7119e1ae28ad426c15977c3da assets/twilightforest/items/dark_door.json d03877282b2f1d824191e28ebd72c152b14589b7 assets/twilightforest/items/dark_fence.json +342c53ec67a8858c6bc50a94d6a0deba5f0c7085 assets/twilightforest/items/dark_fence_gate.json +790d67b798988d3a9f855af4f8f3ddbc15f23f0a assets/twilightforest/items/dark_hanging_sign.json +6e81382506e1419cd0818bb9a0a11fa0ad58b411 assets/twilightforest/items/dark_leaves.json +f0c773627cc6854a594be22a0cd9b17779955010 assets/twilightforest/items/dark_log.json +d2bf8600e7daf150dbc40f4ab23406aef31fd7a3 assets/twilightforest/items/dark_planks.json +4c9344e067b4dfd71f05dde4e01ac334a83edc3d assets/twilightforest/items/dark_pressure_plate.json a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.json cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.json a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json 339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json 98ce19719d17fecb09246d5a711e05127bcc546c assets/twilightforest/items/dark_trapped_chest.json +c97dd0289bfab7806d8e767766f53d16c1074d39 assets/twilightforest/items/dark_wood.json 9505e586ffa48dbbed26c6c324ed828b8b07ff88 assets/twilightforest/items/deadrock.json ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_spawn_egg.json 94ebad61d7db66f5b5d78ceaef1090d6bbc19630 assets/twilightforest/items/deer_spawn_egg.json @@ -288,6 +410,14 @@ aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minota d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json +ec7feb59c2c55cd8c7c9b13fb3e6cbf1c6d804d7 assets/twilightforest/items/hollow_canopy_log.json +1b75bfbc2554d8a4dfbdabfaddaebb15879de9ca assets/twilightforest/items/hollow_dark_log.json +11da9928f3ea2e0cc4446c6d992bda00e291d266 assets/twilightforest/items/hollow_mangrove_log.json +8cb6cdbfcd5337c52510e430b676027a89eb4b51 assets/twilightforest/items/hollow_mining_log.json +9ae2fed361e007b5c9c84b5183e044911ad0794c assets/twilightforest/items/hollow_sorting_log.json +f16134891390ae87eb99e6135db1b94081fd965e assets/twilightforest/items/hollow_time_log.json +a3ac50c9a15118942acb64fd5137f64d96893ba2 assets/twilightforest/items/hollow_transformation_log.json +09f0d4a48954d2c562922189256708ffe977e4bd assets/twilightforest/items/hollow_twilight_oak_log.json 765ccf231d90da2cc5ad37f74ef37abb59eb03c2 assets/twilightforest/items/hostile_wolf_spawn_egg.json 2a5457ab1cb1129303f5e45499504213f5fb7b92 assets/twilightforest/items/hydra_banner_pattern.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json @@ -336,34 +466,52 @@ a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_s 9a55e1f732bd74619934d4e50d34d86fdbfc5b86 assets/twilightforest/items/magic_beans.json c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.json 8fd4c876c03bb5702cb354d118ea9123ccfd557f assets/twilightforest/items/magic_map_focus.json +be669d6c5ab9744744c9a81dfed70e88b22cbf0e assets/twilightforest/items/mangrove_banister.json 90fa384247127e230b028244c6b598086146a491 assets/twilightforest/items/mangrove_boat.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json 8c6e65ada3aec317a8b012b7331031f802b41a68 assets/twilightforest/items/mangrove_chest.json f4ce9fd6b764294f5898ff6b2e486306b9d353af assets/twilightforest/items/mangrove_chest_boat.json f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_door.json 5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json +6ccb9232dc427e990d4e9a82e27a17d453a9c43b assets/twilightforest/items/mangrove_fence_gate.json +cc4a83083c079c8971a313ec2acbbc0fe62bd359 assets/twilightforest/items/mangrove_hanging_sign.json +cdbab211f4d1111b95f6d309bc452ad2ff9a67c1 assets/twilightforest/items/mangrove_leaves.json +bcd3dc2fd0143161685aba247665e91fbf8ac466 assets/twilightforest/items/mangrove_log.json +c192583209d88243de973af6f3c15ac18c196cdb assets/twilightforest/items/mangrove_planks.json +7ce60edd9128e900b228fa498ca2a561602762cd assets/twilightforest/items/mangrove_pressure_plate.json +7d2fa0bc2cb3ae9b6eba3cab658233ff829d629b assets/twilightforest/items/mangrove_sapling.json 524b384be940b212c5a3ea9cdae2c6b08c98b800 assets/twilightforest/items/mangrove_sign.json 52b6ef8c45ec1bbf838d0c4e90a0be9284cfa021 assets/twilightforest/items/mangrove_slab.json 0d08fd0a56f729914720921ffc5d286528021a82 assets/twilightforest/items/mangrove_stairs.json a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json +5181f75f10260ebf5007d576ad97b0889ac543f4 assets/twilightforest/items/mangrove_wood.json 63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json 99acc7324de28707234411b59e0eea3f89af9495 assets/twilightforest/items/maze_map.json 55b6fb716280fa0bd4452a4f7e2780a238c6ffc7 assets/twilightforest/items/maze_map_focus.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/maze_slime_spawn_egg.json b428f9c4c51b53d40b48cf481fcc15f7907c5b5d assets/twilightforest/items/maze_wafer.json 3567ae0aaad2ba5707f541eaeac2254842938576 assets/twilightforest/items/meef_stroganoff.json +b8c8fcd72c790dc370450ff45c174c4a39e98272 assets/twilightforest/items/mining_banister.json 83a1762ea999d21d64d237b14c2763bfb718b6f1 assets/twilightforest/items/mining_boat.json fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_button.json 38bcfeea7ff67a428c694981e1ddbb388ded256b assets/twilightforest/items/mining_chest.json 1f756e440c80f74aa363bbd2e2c88f166d937ae5 assets/twilightforest/items/mining_chest_boat.json 327b57f3c1645a709e646ba7101152a521d5d76b assets/twilightforest/items/mining_door.json e72eef8781e605865ce6cd1f5311a0b3c767dbdc assets/twilightforest/items/mining_fence.json +b97893c19862876e7c77a661e150c749df9e9d8e assets/twilightforest/items/mining_fence_gate.json +200e59d45ee1c3ae163ed909d7ab51b635f594f2 assets/twilightforest/items/mining_hanging_sign.json +3ba6cde5bc176ea9f5b63a46b7e28e364b019b06 assets/twilightforest/items/mining_leaves.json +1d4e1a78ff629ed0ffe4591b039a3601ca7dfa66 assets/twilightforest/items/mining_log.json +4762999e276d02fc82c96a08f5299c115ba375a6 assets/twilightforest/items/mining_planks.json +d4e36192ff215bb37543e436f6fcc52b4a0c2572 assets/twilightforest/items/mining_pressure_plate.json +0fbe6539b0da9da5dda4431f34e85ff65b962423 assets/twilightforest/items/mining_sapling.json e8a66df2bf3e1f6a9e84bac4c1c09e4fc56c2848 assets/twilightforest/items/mining_sign.json e889009d9681774dbc370b0c630366d49abe95fe assets/twilightforest/items/mining_slab.json 2d32082ac1f2517b6c3ea3731adcb5e099b4fe3b assets/twilightforest/items/mining_stairs.json 6703b965683fbf38794397a4ce743647a05e7451 assets/twilightforest/items/mining_trapdoor.json 5e2b769a9d9a605adb2910316d14e2e4d1199735 assets/twilightforest/items/mining_trapped_chest.json +25dafacd3528043f9777d93122db12e91c5d1fd7 assets/twilightforest/items/mining_wood.json e32ac52b700d34937495b27479bf92f9e9a712cb assets/twilightforest/items/minoshroom_banner_pattern.json adae1e7d2c2941d7ecf3f7969fc91e74819e0a66 assets/twilightforest/items/minoshroom_boss_spawner.json ada89dbf3cf944737aeef4c23a6da9d720965858 assets/twilightforest/items/minoshroom_spawn_egg.json @@ -432,17 +580,26 @@ c38044967da9ee3cab599d117bddf8867d2fb671 assets/twilightforest/items/snow_queen_ 238107c9dd762703912b51c1523c7b5da2b90375 assets/twilightforest/items/snow_queen_boss_spawner.json 329a463cab4596fc2915a3e77519c22d14d052dd assets/twilightforest/items/snow_queen_spawn_egg.json 8567a22163d18577732ae66117eeba78ac191465 assets/twilightforest/items/snow_queen_trophy.json +0a4130daf265cefc9522d17dffa3624c91d44c56 assets/twilightforest/items/sorting_banister.json 5d751c60ce4ae3023bb90aeff4498aab3b42ef69 assets/twilightforest/items/sorting_boat.json 7c8e8ecfeacf342741493c5db39fed961fd0e90f assets/twilightforest/items/sorting_button.json fa45a09f32b8c553c88ba5d3b197ac93fdbd6a9e assets/twilightforest/items/sorting_chest.json d6cf732e9be383c54e14c264312694d8ddb33566 assets/twilightforest/items/sorting_chest_boat.json efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_door.json a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json +d4607010ef537ad829c806346bd4fbd517a7fdc8 assets/twilightforest/items/sorting_fence_gate.json +9fcaf01d3d5088a430832c95f022017a9a81bc6f assets/twilightforest/items/sorting_hanging_sign.json +f65cb504b11cf941ea8a11fcf8c57df40634a644 assets/twilightforest/items/sorting_leaves.json +484b7f83877a5fde12c2c8a409d73077812cc0ae assets/twilightforest/items/sorting_log.json +e41ad41ba75ae2b005df7d95a5b7c6acac6d2f45 assets/twilightforest/items/sorting_planks.json +ab3243f3955c0897d53886691d6b397874d57015 assets/twilightforest/items/sorting_pressure_plate.json +e50e95b3f0e5404391ea7b1a1edf55da01ad51f5 assets/twilightforest/items/sorting_sapling.json 57bb37605c08be17ebf235e11151a88a94bb3a23 assets/twilightforest/items/sorting_sign.json 561d3f5dec00213282356433311740e5c26c4e78 assets/twilightforest/items/sorting_slab.json 365eed3e0cbfd903de1fb157f5b2eafaaada64d6 assets/twilightforest/items/sorting_stairs.json 51fb4715f66926fb6642989523627c9d943ae620 assets/twilightforest/items/sorting_trapdoor.json d84a3ce3786242b19151f49a3546ed3cba93ef57 assets/twilightforest/items/sorting_trapped_chest.json +710cd025b909a2755d1266f3fa6f93216dc181e6 assets/twilightforest/items/sorting_wood.json 8c18c36efcafc7a0454b8eb82f1f40452e368b9b assets/twilightforest/items/spiral_bricks.json d0646c85a48e4eb018ee6c5c1dd27aa1c3080ef2 assets/twilightforest/items/squirrel_spawn_egg.json e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_core_spawn_egg.json @@ -456,51 +613,94 @@ c24118034b160633ebbb7b9f135aa912172b9025 assets/twilightforest/items/steeleaf_le b20ffb1154e72227b57df2c480b7bbc24e64cdf0 assets/twilightforest/items/steeleaf_pickaxe.json 547a4491e7a84ec55e67c2754edcccdec48be0c3 assets/twilightforest/items/steeleaf_shovel.json 90acba09626132f58266a37901a1c636093c400a assets/twilightforest/items/steeleaf_sword.json +6a5dea0813f1ab96914d300c4f5c2367525f0238 assets/twilightforest/items/stripped_canopy_log.json +75efc4d5e5f652d708ead39f557432399797c032 assets/twilightforest/items/stripped_canopy_wood.json +4d3b9ad5b74a21e26c5e7543dda753d46fa0dd2f assets/twilightforest/items/stripped_dark_log.json +b5c24583eb5d4f7d56e8380df17a6e812aad1f78 assets/twilightforest/items/stripped_dark_wood.json +1c8ba1e4a4d7cc83e0a1e0171ebb453a8396cea4 assets/twilightforest/items/stripped_mangrove_log.json +acf94d97eb2c21e55ce31efb2c3b6b795a5f80e8 assets/twilightforest/items/stripped_mangrove_wood.json +d814e46188b4004009579123355781f718100b98 assets/twilightforest/items/stripped_mining_log.json +301fd6c4f9d0e8c7edab69a543ccad511cad3843 assets/twilightforest/items/stripped_mining_wood.json +788731cc040727e3b4856a5028f2192476e9a49c assets/twilightforest/items/stripped_sorting_log.json +59fce6a7bd24d549441b631bf9b5d9a6d5bb43b5 assets/twilightforest/items/stripped_sorting_wood.json +1551c6ebafb1321027d875474ddcdda72ce8ce28 assets/twilightforest/items/stripped_time_log.json +0a270372014471b4a84f7a4764819a307378946e assets/twilightforest/items/stripped_time_wood.json +00865ee19eb783d9ef300881d9db898fb3c7c594 assets/twilightforest/items/stripped_transformation_log.json +c03706085167b2917ffc410825850c7c651b6cf0 assets/twilightforest/items/stripped_transformation_wood.json +0944ff27df3c37e6cdd82236b9d48863c4a31d78 assets/twilightforest/items/stripped_twilight_oak_log.json +22199f08b11cf6ecd91c36fe09853c6f6998a744 assets/twilightforest/items/stripped_twilight_oak_wood.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json 6c7e3822b449ce65e48a4a5ed6b4e8fe3d927a3e assets/twilightforest/items/terrorcotta_arcs.json 17590dd540f0a69091f30adddf4505fcba9a584d assets/twilightforest/items/terrorcotta_curves.json 6144765aad96aec1387eaa9a72b5f89a743a00fb assets/twilightforest/items/terrorcotta_lines.json a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose.json +cb04aa51bda071a21587594d8da41f848dbcdd2f assets/twilightforest/items/time_banister.json 05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json 65b6f9e05612a8b1c2dd36f19befba666b044d8d assets/twilightforest/items/time_chest.json 400c5593131656146d5317c838bba0108b3e8852 assets/twilightforest/items/time_chest_boat.json a8123fb380b321df3c65a4b4c7d2eddaa0f318e1 assets/twilightforest/items/time_door.json cfad4f919c9562b48a0dee337e2e50147c9d5ba3 assets/twilightforest/items/time_fence.json +38aee6c1ea11e6b0c0af549255835910d08ed605 assets/twilightforest/items/time_fence_gate.json +c8b5b265ee1e45302b2b84cd5418ffb1a124c810 assets/twilightforest/items/time_hanging_sign.json +74a1e21638c7707f58daeec65f5c891c8d8fcc52 assets/twilightforest/items/time_leaves.json +aa31f56cd9b0380972f418c17b01a72822d1ed97 assets/twilightforest/items/time_log.json +3f7dbe6bc54b4af75cda71b6bc1ccfb872bc7e63 assets/twilightforest/items/time_planks.json +c9bd57761f58627f38d888214fa05b83099dc788 assets/twilightforest/items/time_pressure_plate.json +349dd5a5fb71877908dd2c097c633b39f18a96cf assets/twilightforest/items/time_sapling.json 6afd9ce266bcb06e865788a83ee43e0a4164c509 assets/twilightforest/items/time_sign.json 5721945eabe3d1f6d333c7c93beb4e4a230c2009 assets/twilightforest/items/time_slab.json e58a9d72ba3bf6e9964f8a1215cd2ed970d9466f assets/twilightforest/items/time_stairs.json 3e922a20d29b255e44396f3c53deca9651f0909a assets/twilightforest/items/time_trapdoor.json b267b296b49b21fed10796bf79413db2e36c462e assets/twilightforest/items/time_trapped_chest.json +e429a3c1ed97fae45f8b58d96c22f0d88e8b2919 assets/twilightforest/items/time_wood.json 3cf2a82932ac9fa5013df3776317ccd871cf5575 assets/twilightforest/items/tiny_bird_spawn_egg.json d53d8b7413c628be178d083a8f64f4d3f9d17fc0 assets/twilightforest/items/torchberries.json 5e9cef6a1f45ed443fda7ad958b128bba5001e39 assets/twilightforest/items/towerwood_borer_spawn_egg.json f8aa6d55806c1b8c0005089a8263fbaee6c79a5a assets/twilightforest/items/tower_key.json +067d8bbc3843be7a77a69cf76faa6d0f167d3858 assets/twilightforest/items/transformation_banister.json 9a273b66d311af26faf0c035c309c621d800dfd1 assets/twilightforest/items/transformation_boat.json 29c965cb7a2101eecc044fbf1835ad3b84c3a55b assets/twilightforest/items/transformation_button.json e9c8ab14d47cc6b34767ad0eb64cea8bd9c5a854 assets/twilightforest/items/transformation_chest.json 2ba7974e3f43c6cfd4a1472827cfd403ed9fa573 assets/twilightforest/items/transformation_chest_boat.json 7d2bedc90008402f4b941c7208c749326bb5595f assets/twilightforest/items/transformation_door.json cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformation_fence.json +3f66be49119f27d6ab9e665a1b42878a3ca7d0c1 assets/twilightforest/items/transformation_fence_gate.json +620e95f4e40dff1f08a8c1b231362ce3f5dae089 assets/twilightforest/items/transformation_hanging_sign.json +3c38d1e00320ea19f0d926e123a79a54785f724b assets/twilightforest/items/transformation_leaves.json +4be35f4b3b1a2bc4f81acc6c24f8ea6b53218d5f assets/twilightforest/items/transformation_log.json +339f9f0a0f9970198c27e0c7e3115bfe609fa9e3 assets/twilightforest/items/transformation_planks.json 7f43bf7615605c61e66f7648d38abb8a91993bbf assets/twilightforest/items/transformation_powder.json +609c9ab0c3d9c381d50dcfa4097b5964c4ea431d assets/twilightforest/items/transformation_pressure_plate.json +a19e3e4cd37f90ead380192b12904f4fc0135559 assets/twilightforest/items/transformation_sapling.json 4f9711c64ae4166d017a3aa88a7a17b366b150c7 assets/twilightforest/items/transformation_sign.json 1d58e633de954e23f44ab4028cfd901cf1583144 assets/twilightforest/items/transformation_slab.json 3292e90a35a6a5e8a2987c5ff9ac5d0b91e75c32 assets/twilightforest/items/transformation_stairs.json aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformation_trapdoor.json 350b6827bdb83e3a70c6b41fdd0ad49c3c149988 assets/twilightforest/items/transformation_trapped_chest.json +da1eccf990fcc0ce8f74ca7d1f374639e287d620 assets/twilightforest/items/transformation_wood.json d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json 09c880a29a70bf52f5b853baf5f8f6ca687af89c assets/twilightforest/items/troll_spawn_egg.json +38d04a14f6461e4c88f4e33162fe39e87eff7741 assets/twilightforest/items/twilight_oak_banister.json f1513a74b266ffb650db5620a870f3517b1a8b9a assets/twilightforest/items/twilight_oak_boat.json a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json 4dc8250199d640a471d6eb690ef3b0d2e2025960 assets/twilightforest/items/twilight_oak_chest.json 0f15d4c36aaef690fb28fad9111a466983839bcd assets/twilightforest/items/twilight_oak_chest_boat.json 1848300974d7949375074ee120ca895c20958398 assets/twilightforest/items/twilight_oak_door.json 799ba91c5597ffc7c325ccfab2c5618dad5a3632 assets/twilightforest/items/twilight_oak_fence.json +a2dae44c67ea88ea0fc98fe8c646d5360f66b9a6 assets/twilightforest/items/twilight_oak_fence_gate.json +5152f465efb5bdb4ecd83d8e2e7d2a0bce6b6be2 assets/twilightforest/items/twilight_oak_hanging_sign.json +da9bebb3392aee1deb31430e3aa6b411548cb80f assets/twilightforest/items/twilight_oak_leaves.json +949405d432c1ff29a7e07e9426a63c27b1e6790a assets/twilightforest/items/twilight_oak_log.json +492ff6bf39fbfaa3564c6e388e74c1b52993616d assets/twilightforest/items/twilight_oak_planks.json +28d23ff23dbc6eff710e754ee2c1af13f5d4fb02 assets/twilightforest/items/twilight_oak_pressure_plate.json +951386d3a392773566a53e4eb19b7f5ec64be1a5 assets/twilightforest/items/twilight_oak_sapling.json 3b49532aea4be5595f6112b0bd0954bf45ab65bd assets/twilightforest/items/twilight_oak_sign.json 78daec2b3c6b1ec90b1eec30869e1634c7b23335 assets/twilightforest/items/twilight_oak_slab.json fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json +cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oak_wood.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json 34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json @@ -531,9 +731,9 @@ f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue 894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json -b0c7eda2b12e6542f8853f37b9911186d4fde316 assets/twilightforest/models/block/bold_castle_brick_stairs.json -c935e32f0890f62b1b21093df948648c54609a2b assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json -991bcec9affa1e1d34c80011f7227f575ffe0ada assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json +6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/bold_castle_brick_stairs.json +f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json +36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json dfae34f8d9174a2288a63b0e276daae43013c1b9 assets/twilightforest/models/block/bold_stone_pillar.json 5574ef22a8b9fc22c31fcefcb36afdac9f304412 assets/twilightforest/models/block/bold_stone_pillar_horizontal.json @@ -551,18 +751,25 @@ ead02af15ec17ebfc803345f6844dc29b418b20a assets/twilightforest/models/block/buil c68f5d771564b2d313b3b29c1e16638807db599d assets/twilightforest/models/block/burnt_thorns_no_section_alt.json 95a413f0d0f15f7f9b643cde288f41581a8a9417 assets/twilightforest/models/block/burnt_thorns_thorns.json 50f07dcee536e9077ed2626596950ae3a9aa3068 assets/twilightforest/models/block/burnt_thorns_top.json +7c7d625fbc7a3ec842e8dc20d16240929debb464 assets/twilightforest/models/block/canopy_banister_connected.json +18755a256547982320989b0ddc7d812aee768cc9 assets/twilightforest/models/block/canopy_banister_connected_extended.json +9948532301d4f63d33db55080d4db002e336c0f5 assets/twilightforest/models/block/canopy_banister_inventory.json +9f629e788f7cb93b57250b5d94783294606bc761 assets/twilightforest/models/block/canopy_banister_short.json +0c77f53353d79eeccb7e558a3a4fc69a673e5eb6 assets/twilightforest/models/block/canopy_banister_short_extended.json +7d39858772133ee2ff7aa7b469ec30be3707c67f assets/twilightforest/models/block/canopy_banister_tall.json +37f8687883c20868381840b54ec5aed9efa6c72c assets/twilightforest/models/block/canopy_banister_tall_extended.json d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json 74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json 83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_chest.json -ef287cca54aa32a723f0aa5d3ccb564704d0549e assets/twilightforest/models/block/canopy_door_bottom_left.json -e3103adbda5076eb99b55fd8deefbc9be2adcd02 assets/twilightforest/models/block/canopy_door_bottom_left_open.json -ead80bea01a78100386a5127d519b71ab5dac7ce assets/twilightforest/models/block/canopy_door_bottom_right.json -7c6873a028db1e24400248f8f1d015a96b13b613 assets/twilightforest/models/block/canopy_door_bottom_right_open.json -89023f6bfa28ee98afb88c1c11088e6b3537165b assets/twilightforest/models/block/canopy_door_top_left.json -79ae997c8efab1f3e862b9665aa9f4871d699c8d assets/twilightforest/models/block/canopy_door_top_left_open.json -2e638a680d90c15435902b8d1134eb88acc62774 assets/twilightforest/models/block/canopy_door_top_right.json -5d14ef2148e71bbf81ee8f9b80c8b95b452ae013 assets/twilightforest/models/block/canopy_door_top_right_open.json +7a8191ad0ce3cf02700d5fae8a37d96d8517a70a assets/twilightforest/models/block/canopy_door_bottom_left.json +7c5a8009679c77ac2bba337cf4be2465d1b552ef assets/twilightforest/models/block/canopy_door_bottom_left_open.json +52d2facbc50339016cb16391499c4dedb8ede644 assets/twilightforest/models/block/canopy_door_bottom_right.json +b94d0996f7b8d28c314b41b5982d258f27cef06d assets/twilightforest/models/block/canopy_door_bottom_right_open.json +3c0cde027881cce2a00ec22a15cf91e87ef1d6d8 assets/twilightforest/models/block/canopy_door_top_left.json +f0591424abb2855d5916beb6560400093dcdc93d assets/twilightforest/models/block/canopy_door_top_left_open.json +731cbf209c1431687b7c24d06544896c4c2fae37 assets/twilightforest/models/block/canopy_door_top_right.json +71e4a5a30466e0ac2eb48eba45bf07fbf2d1c428 assets/twilightforest/models/block/canopy_door_top_right_open.json 0a5e989ba8064afbaa2449b48745ca09e568614b assets/twilightforest/models/block/canopy_fence_gate.json 5cfd9ada2ff3e0d8e8c075e6994843412c87bc82 assets/twilightforest/models/block/canopy_fence_gate_open.json 3439470f10d3e2c2024de31d9b200f2927584721 assets/twilightforest/models/block/canopy_fence_gate_wall.json @@ -570,19 +777,25 @@ ead80bea01a78100386a5127d519b71ab5dac7ce assets/twilightforest/models/block/cano bf479a7cfe8517bbc32bb9c5b2912f92b4977c34 assets/twilightforest/models/block/canopy_fence_inventory.json d7933000f1caaafea6d0f1eee478b36fabb7281f assets/twilightforest/models/block/canopy_fence_post.json 22224620cbb583ba4152b0696efe4b2f35789dd6 assets/twilightforest/models/block/canopy_fence_side.json +f2b05af70b0b3f4a25f2fb3b56f63f10a477e5f3 assets/twilightforest/models/block/canopy_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/canopy_leaves.json +c9d46af1d45e1353291b9e06dab208c64c75f2e6 assets/twilightforest/models/block/canopy_log.json +9e2ef7c492d3a218227dfc444e97a09a00501ef1 assets/twilightforest/models/block/canopy_log_horizontal.json fece711695142795fbe24f041959b223c83a3436 assets/twilightforest/models/block/canopy_planks.json 4952fedc4df67b0597eef35a42dc2e360995713a assets/twilightforest/models/block/canopy_pressure_plate.json 3dca0da91be08863c443571d01a1a592e45e2869 assets/twilightforest/models/block/canopy_pressure_plate_down.json +162dab0a9f7a4aa0e97c1e4cdf7ed92e3d2910ff assets/twilightforest/models/block/canopy_sapling.json e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_sign.json f0f193b9b4b69dc0d9fc7574c999ecdf48b55919 assets/twilightforest/models/block/canopy_slab.json 28f30aa33fb5717dd3f03895fd9826c4c60d1032 assets/twilightforest/models/block/canopy_slab_top.json 129281d7a307170031984b53ad5f0c750dfd425b assets/twilightforest/models/block/canopy_stairs.json -6df9063689d631e171f8a44b0126ae7b188a84d6 assets/twilightforest/models/block/canopy_stairs_inner.json -88f48a6f31ee7a1b03deaf219c0b861102bfc53f assets/twilightforest/models/block/canopy_stairs_outer.json -0a62e58407142ab918196f5990cf69caee2a6102 assets/twilightforest/models/block/canopy_trapdoor_bottom.json -65aee25dd3e509947be113a6f66e6162fd05c45d assets/twilightforest/models/block/canopy_trapdoor_open.json -1b620bb0373cd4076380b956f73bfe3e6cd786cd assets/twilightforest/models/block/canopy_trapdoor_top.json +6df9063689d631e171f8a44b0126ae7b188a84d6 assets/twilightforest/models/block/canopy_stairs_inner_inner.json +88f48a6f31ee7a1b03deaf219c0b861102bfc53f assets/twilightforest/models/block/canopy_stairs_outer_outer.json +39cc972efc6afacbaa2902bbb8d4172d79c66237 assets/twilightforest/models/block/canopy_trapdoor_bottom.json +33d57a95cd4e1cc0dd27727fdb33535974684754 assets/twilightforest/models/block/canopy_trapdoor_open.json +c259e8c3d9b1e99a6ef073860aff35015f4f19bf assets/twilightforest/models/block/canopy_trapdoor_top.json e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_trapped_chest.json +abcdb61a44e8fad81d805d87368dc41627fd2f63 assets/twilightforest/models/block/canopy_wood.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json 1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json 64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json @@ -594,18 +807,26 @@ c06d8dc440d1339ef152921693c6d8655759ce4b assets/twilightforest/models/block/crac 4ea797c12baf56ba00ea946b9a9d3ddcc1bc1079 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json d0265cb851a40e415029a85d8fb087da4b43ef62 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json 6307d92705ed2d9548ef2a42a429aae107fa91cd assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json +a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json +245e51f3889c8a6b4f9f73a7aee2a1d3eb84e160 assets/twilightforest/models/block/dark_banister_connected.json +8fa89c518cac61edd625aaf888fe8a25133265b7 assets/twilightforest/models/block/dark_banister_connected_extended.json +556bb6fa0fdfe73f60b704fb1280c2e4aff77c4a assets/twilightforest/models/block/dark_banister_inventory.json +8eed2044cbc594f459a472a0f6ae575156055fd3 assets/twilightforest/models/block/dark_banister_short.json +565ffed5da70cc9b315f09ac12493c3faec07cd0 assets/twilightforest/models/block/dark_banister_short_extended.json +4a56d6af41adc47e894d73a569cfdba8a22f8fab assets/twilightforest/models/block/dark_banister_tall.json +3e0713bb04aca43f2a760d0a036c6df48a36d7c1 assets/twilightforest/models/block/dark_banister_tall_extended.json b1c019a1f248a8701667aa9f5493429d78d59698 assets/twilightforest/models/block/dark_button.json 6f091ed41f72be8c4bb23d5c9164a6226ff266c4 assets/twilightforest/models/block/dark_button_inventory.json 5efd32034f57a4b3bc129852273afda7aceae103 assets/twilightforest/models/block/dark_button_pressed.json 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_chest.json -24bb48c0719fc64921f9cf69b2eec8b058823abc assets/twilightforest/models/block/dark_door_bottom_left.json -bcdad876b9efc6e64ab141a6ef8a59cf28b5d46b assets/twilightforest/models/block/dark_door_bottom_left_open.json -11c03cbbba86ba932f3c8c1308a51bcb5311198c assets/twilightforest/models/block/dark_door_bottom_right.json -a5d5af1135e3e7b13da03f5f7d97557b4ca3e3cc assets/twilightforest/models/block/dark_door_bottom_right_open.json -ffa4977f9f61cbca0e216027762cf82b08422bf0 assets/twilightforest/models/block/dark_door_top_left.json -142e7b289e7aa7ffdacfb3809dbdc939d0a9af0e assets/twilightforest/models/block/dark_door_top_left_open.json -54d3e5ddd0fe9da26d0361112b9df0eb9fcf6cea assets/twilightforest/models/block/dark_door_top_right.json -0c121cba967eda809bbd58445ad4ce6c7c811452 assets/twilightforest/models/block/dark_door_top_right_open.json +54a5bdbabc8e6409e42ee13dd377946226d2d54e assets/twilightforest/models/block/dark_door_bottom_left.json +696949c2e17f26f176830c848f4aef134dd01ef5 assets/twilightforest/models/block/dark_door_bottom_left_open.json +d48ad0ebbd9ff99fd949418587a2e332050a874f assets/twilightforest/models/block/dark_door_bottom_right.json +2440025b76d6185f149346b6af1faf5c17b20ed5 assets/twilightforest/models/block/dark_door_bottom_right_open.json +638501d425fd3046997debf7c645370173541be0 assets/twilightforest/models/block/dark_door_top_left.json +089fa5329f6a92120a0319ddd48a8ff9a4b6f437 assets/twilightforest/models/block/dark_door_top_left_open.json +7ccd071ee34d6632d5fdb9f8c7f7ec310076e504 assets/twilightforest/models/block/dark_door_top_right.json +b1df4add15d3e3739c237584727d835335b37873 assets/twilightforest/models/block/dark_door_top_right_open.json 0e885c0f24ae76c955ecb7121ed2f29ce713a31e assets/twilightforest/models/block/dark_fence_gate.json 4ba09748f2e5001cda445effead49e878b111f3e assets/twilightforest/models/block/dark_fence_gate_open.json adfafd795323c4b22b28222b1008fa8bce0002e2 assets/twilightforest/models/block/dark_fence_gate_wall.json @@ -613,6 +834,10 @@ aed55e4fcfd0b56243dbd48ad5983e5491ee8bbb assets/twilightforest/models/block/dark 6cf4d9f4bcbf1234602c09acb9b9f10222a1b69d assets/twilightforest/models/block/dark_fence_inventory.json c94aad12406b5ee322ab7f93047ea89bfda8f73e assets/twilightforest/models/block/dark_fence_post.json 73b63861315ff2577aa655f19b707508498f96c2 assets/twilightforest/models/block/dark_fence_side.json +c6764a97a7e81e2f497ecbd160b055626c71c31b assets/twilightforest/models/block/dark_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/dark_leaves.json +5ad5c7845eb2d4a9fdb6647e1998cb550bbde16a assets/twilightforest/models/block/dark_log.json +9d3e18cd1c21f8ca5ceb79abe0c2847570365c33 assets/twilightforest/models/block/dark_log_horizontal.json d7521b57997bb0f4a76fddce2d74314c69a5ed91 assets/twilightforest/models/block/dark_planks.json f1799ac014bf298cd41114067a9239e4cd61e001 assets/twilightforest/models/block/dark_pressure_plate.json 9829504ca7ebb4945124e10fe2f4658de8106305 assets/twilightforest/models/block/dark_pressure_plate_down.json @@ -620,12 +845,13 @@ f1799ac014bf298cd41114067a9239e4cd61e001 assets/twilightforest/models/block/dark 8b2e9bea657e2b0d5d5952c9a29de1bc16c17508 assets/twilightforest/models/block/dark_slab.json be7087b585dc6cfda542473c78fb5f3776ec1451 assets/twilightforest/models/block/dark_slab_top.json 0406455212bf75632e94fe4853c34666b0f00830 assets/twilightforest/models/block/dark_stairs.json -df2bb401d9a65412b422b20f4c64b3785610d028 assets/twilightforest/models/block/dark_stairs_inner.json -a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark_stairs_outer.json -1dde0cc9bf4f2ae54778c077ea5100fbbb11bbb1 assets/twilightforest/models/block/dark_trapdoor_bottom.json -55aa7a88ea043f6fc9b7750095d1379b9edacab7 assets/twilightforest/models/block/dark_trapdoor_open.json -3a396aba8c9d9150413b7cae150fcf80a9da8448 assets/twilightforest/models/block/dark_trapdoor_top.json +df2bb401d9a65412b422b20f4c64b3785610d028 assets/twilightforest/models/block/dark_stairs_inner_inner.json +a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark_stairs_outer_outer.json +8acfb15da3b1b0ac455b7621a164d92914c7200e assets/twilightforest/models/block/dark_trapdoor_bottom.json +631783cec4fe246e8b5fe30730cad35f78c55875 assets/twilightforest/models/block/dark_trapdoor_open.json +88e24fcb7f760eccfbdb4391ba6d0fb4cf6e5819 assets/twilightforest/models/block/dark_trapdoor_top.json 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_trapped_chest.json +76ee07a399b645a6cddac150b00e6ba7306f53cb assets/twilightforest/models/block/dark_wood.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json @@ -636,22 +862,85 @@ b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/gree d33e39d98f049f1f984a172f6d4586aeecfc251b assets/twilightforest/models/block/green_thorns_no_section_alt.json 27ceb320e50eb4125595271065810ad48265f66b assets/twilightforest/models/block/green_thorns_thorns.json e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json +0275c8ebfa3e9ffec4a597edb139b2bf378bd588 assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json +4a4f7dcfd47908dc5fff231220bf75546e57a38c assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json +1e4639a87e268b07b9ed7b85b09ed4222a05ac0e assets/twilightforest/models/block/hollow_canopy_log_horizontal.json +0ad48228f16cca96f535910013c92bb89e51e539 assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json +f42db2edfaa8cb6eaca9626063cee57bb934ed4d assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +0f850794d433b652f113a554bba2713f0787ba49 assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json +4f754514343e58ddbcde0903ba198021a12748c8 assets/twilightforest/models/block/hollow_canopy_log_vertical.json +66193a53e2af4dffa26aaea8b8b1706cf78f42d1 assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json +fd57a1ce253c35d2e71b1159c62310ec44388455 assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json +9b9717820830778e7724c19d8c3a2afd34003be1 assets/twilightforest/models/block/hollow_dark_log_horizontal.json +64242a40af066d721f66edcd1fd37eeff313daad assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json +51db4a08b3a418c4841469957f06cbc9d6d8f1cc assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +8ce494e84c1995ae3f3b1c642326c1b55e115c4b assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json +90589bd61ed1d89b4d6c768084080675c80ef3ee assets/twilightforest/models/block/hollow_dark_log_vertical.json +aaad8622c90df07ed525046886880178471707f2 assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json +94f2a0569b5db013db9e878861ed12b9d1fd8297 assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json +2ca0d35f67bca43a86bb36f022f5066f68b2dd37 assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json +e3c3c172c471b20eaafebd6f4ce50519d991ae0d assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json +b99082af57c1567fd1a5bd77edaa105fecfc3be2 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +5323f5592e0b193d28cd8df412d2d7db049125f3 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json +053a8b63941178e8715d58aa67bc18b8c2b96503 assets/twilightforest/models/block/hollow_mangrove_log_vertical.json +dd118dd05c1045a79cda23f2e015bd4a637fbcf7 assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json +10db349e920026f1c0d014502915c2e1e4b8c30c assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json +5c1475079c39f92057b23a8e8f9a9d4d25b3ce0f assets/twilightforest/models/block/hollow_mining_log_horizontal.json +7271176e499cc4f056f38563d026e95a94dc9887 assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json +c53eca53e21b5456823e5b303f2821795695933a assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +e900eed97093a81768714cf238b658a828549de8 assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json +2e03cfdc67fcf700baa30b499513bbcc6f2ca5d1 assets/twilightforest/models/block/hollow_mining_log_vertical.json +c58271d5adf5eee68b15d667bd1250a5308c2e7d assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json +2126481062982124665a90c9d644804b7a6ae9be assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json +b457da4d468eabb210fa5150173a0c275dea00aa assets/twilightforest/models/block/hollow_sorting_log_horizontal.json +df8a7cc5af79e85030413022d54572be01b2b915 assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json +d639d6807fb7bd502b828d8e451595c4dbb94aaf assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +b325904d8cace430d487e2df27a7898ba4605582 assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json +28aea268ebdb8659bba5271cc2d4e55c25a748b8 assets/twilightforest/models/block/hollow_sorting_log_vertical.json +40f593a971a03a3e053fba7e5430e29b627ef4a6 assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json +3e398d4f9006c8be630fafc2ec9761dd728044df assets/twilightforest/models/block/hollow_time_log_climbable_vine.json +96fbc151e92fb5b92b88b194d76600042d2010c7 assets/twilightforest/models/block/hollow_time_log_horizontal.json +eea60f2fb46d62274e3701e19f7952326b489fb7 assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json +6368e44c7e1675e6ca0b2cfc1708b3954ca1ef9e assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +920a68a595fa9186b81e092098345345e4981d0d assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json +593314e811b72d8cdadc94b5d6649ecbfcf25dae assets/twilightforest/models/block/hollow_time_log_vertical.json +a8e194cc4629eea0e3206a60086e018efdeef8af assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json +d68f2d7d7fdf2c2123cd8eb978d9038ad0777f59 assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json +4193844b64abd0b34d3602e9b24fd3e84e63dff1 assets/twilightforest/models/block/hollow_transformation_log_horizontal.json +06e6a99fabb69d5b44ed9fa187092599a37fafe8 assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json +0a358f8f53bb6856938ed0e40702becd43929996 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +d36f205247dbe937b9b03458a83a5300c0b4174f assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json +7144c81ee4cd0851e564f6b038cc6bf9e3db7d79 assets/twilightforest/models/block/hollow_transformation_log_vertical.json +9d8a5f3cf64a291fd24ad80bd8ae20b782015080 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json +b74187505c4a791796a46adaa37eeca3d6166dc5 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json +d55381f1601e11da77e5bbc4e5280dc4ed45cc7d assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json +0c898354aa0165af4a310f2388b045bf68937689 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json +5feee30f6268fcb77b6f93a73f016220bccad777 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +975e75968eb58046c67a2d330cfb4cb47ec5b141 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json +941b6d537ebe9fb41ed981dee5a9c09eb6559a92 assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json b24c219720a2fb2fd16580cbcff248b48212a399 assets/twilightforest/models/block/keepsake_casket.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json +f9e1bf0e039aa58b55c67292bc5b307f0c479993 assets/twilightforest/models/block/mangrove_banister_connected.json +e9b8256440a92072e2588d4c070f4d9a20158426 assets/twilightforest/models/block/mangrove_banister_connected_extended.json +83fae57c292157ac84ee31cafcd79aeca7fac20c assets/twilightforest/models/block/mangrove_banister_inventory.json +8899c96e1e74a5fe0e414e1c4ae15968111e00a2 assets/twilightforest/models/block/mangrove_banister_short.json +7f2be06fd246793d935a03289cf07f2c541236fc assets/twilightforest/models/block/mangrove_banister_short_extended.json +56f9e315c940c0de8417616e0b4dd00ab0f7c04d assets/twilightforest/models/block/mangrove_banister_tall.json +3fd6f6bbaa5f232fa9d2239771d0528a3b73b9d4 assets/twilightforest/models/block/mangrove_banister_tall_extended.json 6301c0d8258d64039633c9a4884d4244e7e8488b assets/twilightforest/models/block/mangrove_button.json 0f626ec10c5cc7333636c4ba6b5a7360dd18a38b assets/twilightforest/models/block/mangrove_button_inventory.json 195109b61531e9fb2868134873bc0f0132689824 assets/twilightforest/models/block/mangrove_button_pressed.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_chest.json -2375259074f3c0dfb5bf38175382088143be29b3 assets/twilightforest/models/block/mangrove_door_bottom_left.json -a82df1cd9f48f9dde41d36fc70c542875dc0e643 assets/twilightforest/models/block/mangrove_door_bottom_left_open.json -bb860befa8b33055c0740e82fabe172d4f4eff26 assets/twilightforest/models/block/mangrove_door_bottom_right.json -73f10bd165a5aa2ba3720148d819f828f83bd128 assets/twilightforest/models/block/mangrove_door_bottom_right_open.json -dca7de6126e6673e68fcac732baf7b504b282dde assets/twilightforest/models/block/mangrove_door_top_left.json -c7255ebfc221cc744e2afd97b19c925e0b073b79 assets/twilightforest/models/block/mangrove_door_top_left_open.json -fb14c44ac49409a963caf9f1ebb1526da66a19b5 assets/twilightforest/models/block/mangrove_door_top_right.json -e830f5097b2b70c4ca2b79ccdca94012b23ed32c assets/twilightforest/models/block/mangrove_door_top_right_open.json +8a51fef2dfae4e93f3e7a9a49f3f3168b12bb669 assets/twilightforest/models/block/mangrove_door_bottom_left.json +6682549e63a67ccc99ea6025a4bfdb377818b70f assets/twilightforest/models/block/mangrove_door_bottom_left_open.json +dfe3abe9c87b725168226072be1e713e4aaa0c69 assets/twilightforest/models/block/mangrove_door_bottom_right.json +fa57ba1077bf54180487fee9502a7c3435544bf7 assets/twilightforest/models/block/mangrove_door_bottom_right_open.json +460538dae747e2cbe6237b567866323004805230 assets/twilightforest/models/block/mangrove_door_top_left.json +a36e18b5508eae3fcac095440f78d68105df3f56 assets/twilightforest/models/block/mangrove_door_top_left_open.json +867f69798b1e330cf6033c8e274d1db301c84c39 assets/twilightforest/models/block/mangrove_door_top_right.json +b86d9c6fdb594761a4a2cb955febd9e9af4ac72a assets/twilightforest/models/block/mangrove_door_top_right_open.json 08c25f7ef19c54b6d729770c1ea40beaa546f776 assets/twilightforest/models/block/mangrove_fence_gate.json 3c23ee2a2204d25bd60950f405fedbb0bb0a4cc9 assets/twilightforest/models/block/mangrove_fence_gate_open.json e3610399edf38564396cf34e575f20428008bb2a assets/twilightforest/models/block/mangrove_fence_gate_wall.json @@ -659,31 +948,44 @@ db6a1def193b06df184240c30dc03b7ec52dce09 assets/twilightforest/models/block/mang 5a9fa410a297ab33254c1ada3d3c8da0bae1dca6 assets/twilightforest/models/block/mangrove_fence_inventory.json 4b0e4da7abbbf4030799ccdcf101d6341edf0646 assets/twilightforest/models/block/mangrove_fence_post.json 20835f01429279ddfda0c77feb7fad1592d24c7b assets/twilightforest/models/block/mangrove_fence_side.json +2ac61c3acbfe0a810d8fc56435aeff4c0eb9c6f3 assets/twilightforest/models/block/mangrove_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/mangrove_leaves.json +9326b7e6dfa8699ac7f9f1486feb5272a7ee3b25 assets/twilightforest/models/block/mangrove_log.json +051d408b0baedbe4d0b17d2ef4f1ba370e3d67b8 assets/twilightforest/models/block/mangrove_log_horizontal.json fc2272ee47dae8aedd1fb6975ff86de61d6b24e2 assets/twilightforest/models/block/mangrove_planks.json 6df0baa8ed548a1d56d7c0a995fefaac5a5374e6 assets/twilightforest/models/block/mangrove_pressure_plate.json df2c2c80552d88d39f30f27aa059b884df1d163e assets/twilightforest/models/block/mangrove_pressure_plate_down.json +8ec42c0347ab17a86090ad183a87ab7bed728365 assets/twilightforest/models/block/mangrove_sapling.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_sign.json e921fd6f1f50605b361494d2dce280e096980757 assets/twilightforest/models/block/mangrove_slab.json afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mangrove_slab_top.json 93eef73341716b16d869303c5cd969b2097414fb assets/twilightforest/models/block/mangrove_stairs.json -69ff2688da70014eb7f6e98f735ed33d0b659791 assets/twilightforest/models/block/mangrove_stairs_inner.json -3e727bec7dc5e9e2a05a74c8deba47aa230994f0 assets/twilightforest/models/block/mangrove_stairs_outer.json -3ca4823555ade138afbd82f076340973981fdb12 assets/twilightforest/models/block/mangrove_trapdoor_bottom.json -3ee2cc5ff7c6c1b1b476bdb4e1655abcec07171e assets/twilightforest/models/block/mangrove_trapdoor_open.json -e5be2e66e73a2790af14bda2a7af998abfd48c0b assets/twilightforest/models/block/mangrove_trapdoor_top.json +69ff2688da70014eb7f6e98f735ed33d0b659791 assets/twilightforest/models/block/mangrove_stairs_inner_inner.json +3e727bec7dc5e9e2a05a74c8deba47aa230994f0 assets/twilightforest/models/block/mangrove_stairs_outer_outer.json +10c34ea025bad7beed8ce3ca5c61870af18f455b assets/twilightforest/models/block/mangrove_trapdoor_bottom.json +1a8a0cb54533596622d644791f6ba4f1170cb3b8 assets/twilightforest/models/block/mangrove_trapdoor_open.json +46b74a3732853a40155721f3078eec918f6d20ad assets/twilightforest/models/block/mangrove_trapdoor_top.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_trapped_chest.json +78ff08f68f0bcba48be16835d05d779ee6e46b7a assets/twilightforest/models/block/mangrove_wood.json +03dcc8355f6ab475b9af794916cc32d10411c553 assets/twilightforest/models/block/mining_banister_connected.json +31efc9b586fc7730d211a17f8e44b464637d563d assets/twilightforest/models/block/mining_banister_connected_extended.json +11479e6d08ae560969b25c5fa4fb1ff98f7738b1 assets/twilightforest/models/block/mining_banister_inventory.json +32d58907c9edba58358fa77bae6ff9f5977b7424 assets/twilightforest/models/block/mining_banister_short.json +c6df295ed2b470cc8771c9df839cc3ab829f2901 assets/twilightforest/models/block/mining_banister_short_extended.json +67836dfd1b6c954e6ee0d4fa7a401b6d999239eb assets/twilightforest/models/block/mining_banister_tall.json +b66f5a4d9a7eba859fd07c2412fc56763e4be2fa assets/twilightforest/models/block/mining_banister_tall_extended.json ba2c68344e3577c8d44a8916b5518869634f51e0 assets/twilightforest/models/block/mining_button.json 06e3d527a7f00bae3ba77b34c8c09aaaff71cd51 assets/twilightforest/models/block/mining_button_inventory.json 88ef67151ce263ab43a588c83328aefb9147e8cb assets/twilightforest/models/block/mining_button_pressed.json d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_chest.json -3450d88788a3faa68cc89bed87962ab4ea3ab907 assets/twilightforest/models/block/mining_door_bottom_left.json -18eded812274fdfefd14ce5e443313c2ea5368af assets/twilightforest/models/block/mining_door_bottom_left_open.json -eb338491d835acb3c1bb6e3f5df56b0d2109cdea assets/twilightforest/models/block/mining_door_bottom_right.json -d1003c4056ed478066da7407ff66a6f187bda9b2 assets/twilightforest/models/block/mining_door_bottom_right_open.json -e67e7ac66a0c67e703b99da8d32e5e7bf0fce934 assets/twilightforest/models/block/mining_door_top_left.json -8041b5fa3c76c76a4ef2e54d9ecabe9a5406e977 assets/twilightforest/models/block/mining_door_top_left_open.json -89f09d3eca337b5b4493267f35ffc01ac67e9fca assets/twilightforest/models/block/mining_door_top_right.json -e7ce69aa6ffa57c19cf481ed488f98a12a09ad7f assets/twilightforest/models/block/mining_door_top_right_open.json +0430d598cfb5f339382e910f8e43860385c12f83 assets/twilightforest/models/block/mining_door_bottom_left.json +fd208f0ea2a7977d2175920778891b01ce3e8854 assets/twilightforest/models/block/mining_door_bottom_left_open.json +52539a73aa118f73b125b99b74416e93d7e06291 assets/twilightforest/models/block/mining_door_bottom_right.json +14fcc77606fa84e1403fc660040638ec7429a3ef assets/twilightforest/models/block/mining_door_bottom_right_open.json +7ac8c088fb6e4f65ffb5eb919ce9f64ff8f558be assets/twilightforest/models/block/mining_door_top_left.json +8cea85113572a7d8f8105e79d2bf29f78b1cf93d assets/twilightforest/models/block/mining_door_top_left_open.json +a8456e8a5d99e140217765244df340683de546a1 assets/twilightforest/models/block/mining_door_top_right.json +71f1c70679759382b591156e575dcc7ecf337e41 assets/twilightforest/models/block/mining_door_top_right_open.json 4ff605249b631e27df079656041a20a0b9aaaa9a assets/twilightforest/models/block/mining_fence_gate.json 2ac8d3337a760941dbb204544ea7864029b76c9e assets/twilightforest/models/block/mining_fence_gate_open.json 37d732f1d0d1c347d69b4be7d100c6fce9233a0c assets/twilightforest/models/block/mining_fence_gate_wall.json @@ -691,19 +993,25 @@ e7ce69aa6ffa57c19cf481ed488f98a12a09ad7f assets/twilightforest/models/block/mini 180665ec00110851d64bee967c1b453013e3d61f assets/twilightforest/models/block/mining_fence_inventory.json a3e3eb69f1e71d2d9f6c39a4ff26c7a608a5dbdb assets/twilightforest/models/block/mining_fence_post.json c9acf5abd480bc5791303cda7c95a2919f1f12dd assets/twilightforest/models/block/mining_fence_side.json +cbc7dcf7ad5a3c871eb3654d66e46dec3ce8d9f6 assets/twilightforest/models/block/mining_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/mining_leaves.json +e160bae7ced810be03ed932b3f6ee707ca8960a5 assets/twilightforest/models/block/mining_log.json +0b0a901890ef9a1eaf1b7122524a9123169a1823 assets/twilightforest/models/block/mining_log_horizontal.json 5c99b7e971c4997d8fc473b1c658963db4f8840b assets/twilightforest/models/block/mining_planks.json 4eb0b93993417de0bb5743103cdab233fd34c229 assets/twilightforest/models/block/mining_pressure_plate.json be70e3b6b341c172be1c1faec4c8602757283490 assets/twilightforest/models/block/mining_pressure_plate_down.json +4a6863ae022600c564d4ed353eab2daad998738e assets/twilightforest/models/block/mining_sapling.json d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_sign.json 5e9fa8d66f21cc7ee731f08cb543a38935a0a057 assets/twilightforest/models/block/mining_slab.json 2e388a125423ccda9005ec99afbc496d73d77053 assets/twilightforest/models/block/mining_slab_top.json 661bf869a0fa940407a112ddab22b17bf2d6c6fa assets/twilightforest/models/block/mining_stairs.json -17173da679a2cee9b6410e1a80c62599553467e1 assets/twilightforest/models/block/mining_stairs_inner.json -fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mining_stairs_outer.json -24acf462935ca7b521a5cb5cd807f8cb92d9b9c1 assets/twilightforest/models/block/mining_trapdoor_bottom.json -cb286fa25f790ba36fc2770175f4cc00c471df06 assets/twilightforest/models/block/mining_trapdoor_open.json -2b9daccb27b2a0100871cc8048cbb44580776f53 assets/twilightforest/models/block/mining_trapdoor_top.json +17173da679a2cee9b6410e1a80c62599553467e1 assets/twilightforest/models/block/mining_stairs_inner_inner.json +fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mining_stairs_outer_outer.json +5e9ee92b942fd99d5fe7cbad0612ba02ed9efd98 assets/twilightforest/models/block/mining_trapdoor_bottom.json +649c92428cdb7a3a11475f21ee90f6af29979579 assets/twilightforest/models/block/mining_trapdoor_open.json +da68661416f148d5bf4c826500787d6657bcb6d1 assets/twilightforest/models/block/mining_trapdoor_top.json d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_trapped_chest.json +cf6c560ec0f685e24004c7d2456bfca2d6bd23ce assets/twilightforest/models/block/mining_wood.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json 651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json @@ -716,7 +1024,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 0afcb830b1c831f1983975415ea0f3c96fefe653 assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json -79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json +2718a7261b9b370461b5cda2ad69db4aef6bc8ce assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json aa9c8d2a2bc8ae90a87934af98fe5687c9ca67a6 assets/twilightforest/models/block/nagastone_pillar.json a5d262f5809673fc18032fb2eafe6aa67803a001 assets/twilightforest/models/block/nagastone_pillar_alt.json @@ -730,21 +1038,36 @@ f7db4426aca10e038da6811dff46648cfa61a3a9 assets/twilightforest/models/block/naga 67ad8622746f0091ca682df01ba2b788886a2638 assets/twilightforest/models/block/nagastone_up.json 499953b8e2ee45b1fae43d9bdcdd4d7d351e00f0 assets/twilightforest/models/block/nagastone_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/naga_boss_spawner.json +988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json +be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json +4a4f186233f1af5422b9c161b611097c2db8b577 assets/twilightforest/models/block/potted_mangrove_sapling.json +29966e31c9b5d2d9f2b9a1c16a217fe6cc4f293d assets/twilightforest/models/block/potted_mining_sapling.json +05a22fa8644c2408e6ce41447ffa5c12c416f96a assets/twilightforest/models/block/potted_sorting_sapling.json +8a3bc7125006eb3f9596b3f5cef5d0a7705684dc assets/twilightforest/models/block/potted_time_sapling.json +c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/potted_transformation_sapling.json +4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json +99867ecf85ce0166d1c1be13ab6c9aaf3cd8adf6 assets/twilightforest/models/block/sorting_banister_connected.json +e6d36c23c0bd9c6f17c874f28f25e614cd022264 assets/twilightforest/models/block/sorting_banister_connected_extended.json +6a5fa3cb945298080e213a09c54e8159c848d655 assets/twilightforest/models/block/sorting_banister_inventory.json +5bedc1ef98a9fcebdffb159e9b20e2390cc555b7 assets/twilightforest/models/block/sorting_banister_short.json +f40b1540e05675d47b4fce443c2bae748564c12f assets/twilightforest/models/block/sorting_banister_short_extended.json +31819ba57f5623114cc45d699344aa369d05c4df assets/twilightforest/models/block/sorting_banister_tall.json +95071df8a119a52942f00611544211ec09961aea assets/twilightforest/models/block/sorting_banister_tall_extended.json bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sorting_button.json 192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_chest.json -7d2e374e3d1991e3acce36d4a36b7ec11e88ecbb assets/twilightforest/models/block/sorting_door_bottom_left.json -c1a519b75fd818352efc811d9e30108b672f9188 assets/twilightforest/models/block/sorting_door_bottom_left_open.json -6945d19e9899bdcdb1dff3a27e3d3dd2b227b3ec assets/twilightforest/models/block/sorting_door_bottom_right.json -aa21d90a18153dc030e8f8a498d5975bd85e3d64 assets/twilightforest/models/block/sorting_door_bottom_right_open.json -208d1e8fe27ef2af57ce0809ca1f20932b281294 assets/twilightforest/models/block/sorting_door_top_left.json -cc43c9adb78f56b8e5507126c7dc99f4b44e355c assets/twilightforest/models/block/sorting_door_top_left_open.json -a75bf42a9d4a29d9c73e586f8ab3411afbdc017a assets/twilightforest/models/block/sorting_door_top_right.json -122839daa958cf8b6047ae2a17d3a46a03ae1205 assets/twilightforest/models/block/sorting_door_top_right_open.json +493f2cb3be97aeda0bd9d65b66c38a87aba3dd96 assets/twilightforest/models/block/sorting_door_bottom_left.json +ce76e37978af512f6b78ae6090ce62c4d4dd5250 assets/twilightforest/models/block/sorting_door_bottom_left_open.json +e6ae11e977fb549c9ace68dca44ce05d558303fb assets/twilightforest/models/block/sorting_door_bottom_right.json +aa39d4edf00bfaa41a248897698120296ed69136 assets/twilightforest/models/block/sorting_door_bottom_right_open.json +479ed15cea5d1b9e3202a763458b87b7031913a3 assets/twilightforest/models/block/sorting_door_top_left.json +d4b7605800843ccb19113f9428281e1785fad6ca assets/twilightforest/models/block/sorting_door_top_left_open.json +5b19341cc29d7fba2b90d2ee121b5819a0e9d3e3 assets/twilightforest/models/block/sorting_door_top_right.json +965b64f7e7f1a9a5f09d9ad05d5590879db58fda assets/twilightforest/models/block/sorting_door_top_right_open.json 51d179e6822895effde86feba409e8ef3f7e4ab4 assets/twilightforest/models/block/sorting_fence_gate.json 18d4318a10e9d9f8f891624d617dae046b1136e5 assets/twilightforest/models/block/sorting_fence_gate_open.json 11336e8d2bd2dee828922ed81c3a2a903747ed5c assets/twilightforest/models/block/sorting_fence_gate_wall.json @@ -752,19 +1075,57 @@ a9f6a177a1b7131d7e27dcce86b4668cdb7309c5 assets/twilightforest/models/block/sort ae4acfb949661f710d28ae642cd293df39ef5d6a assets/twilightforest/models/block/sorting_fence_inventory.json 74e1e16ed16cc05141900a9af6e558fde7ff7045 assets/twilightforest/models/block/sorting_fence_post.json 234baa1e0b1eeae7514bfae6a3592749df2f9768 assets/twilightforest/models/block/sorting_fence_side.json +9438c65a468e7a8259d736765dc00285f0df4da2 assets/twilightforest/models/block/sorting_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/sorting_leaves.json +b443ee8b9193bd1b37846e7f08745e9d34ba089c assets/twilightforest/models/block/sorting_log.json +df5da566fc084d661b878e769b6b918fe72a552d assets/twilightforest/models/block/sorting_log_horizontal.json 18725de9782f11fc9e6cd597c6282640f569cf22 assets/twilightforest/models/block/sorting_planks.json 857d839cc5d1ac44b66311f4eb6d2a847e66e3a1 assets/twilightforest/models/block/sorting_pressure_plate.json f26f9f101d797829a63add4085ed3f986c78b666 assets/twilightforest/models/block/sorting_pressure_plate_down.json +80dc05816e4075b26f47f2169f8bebc3fcdd8e0f assets/twilightforest/models/block/sorting_sapling.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_sign.json 24d4f830e481cf0f24237ed9efaa259e3e96b2b2 assets/twilightforest/models/block/sorting_slab.json 2a16d1c0c104295134c7da9791dd646ec8eeaa4b assets/twilightforest/models/block/sorting_slab_top.json cd26c6bd3ca98060abfd435c888b177ee7fe5306 assets/twilightforest/models/block/sorting_stairs.json -f9d08571fbfecc54b45e6a81fc0217044fdd67f8 assets/twilightforest/models/block/sorting_stairs_inner.json -18a84f14fb7c8efe855ab1d0c93129439d012187 assets/twilightforest/models/block/sorting_stairs_outer.json -d84f233396a4384dc3c120502ead5e90cbe1db48 assets/twilightforest/models/block/sorting_trapdoor_bottom.json -e98fb0e5106e4867a21557075bee7f16cadc2de5 assets/twilightforest/models/block/sorting_trapdoor_open.json -03687fe84199b310e7d0ada32be7e6a31a4d0e4e assets/twilightforest/models/block/sorting_trapdoor_top.json +f9d08571fbfecc54b45e6a81fc0217044fdd67f8 assets/twilightforest/models/block/sorting_stairs_inner_inner.json +18a84f14fb7c8efe855ab1d0c93129439d012187 assets/twilightforest/models/block/sorting_stairs_outer_outer.json +3715ea03ed79d8dcdd5372d85ae8b10020cb6f3c assets/twilightforest/models/block/sorting_trapdoor_bottom.json +e5dacc0a0c9c8ffd575a33e1cdc296716a7cdd89 assets/twilightforest/models/block/sorting_trapdoor_open.json +4a9e549672867bc6a53744319accee05d6a7bd93 assets/twilightforest/models/block/sorting_trapdoor_top.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_trapped_chest.json +87575d507ad056e795e2fb7298404e0aaa8b8494 assets/twilightforest/models/block/sorting_wood.json +c140a67efd3c8aef2cd298d7b2c79230c97a2c62 assets/twilightforest/models/block/stripped_canopy_log.json +6ae8a140bfb05b3c161263820897cfd980bd5855 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json +c140a67efd3c8aef2cd298d7b2c79230c97a2c62 assets/twilightforest/models/block/stripped_canopy_wood.json +6ae8a140bfb05b3c161263820897cfd980bd5855 assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +a5a630c069a08e6c51bb8a4980c6cbc882d339ab assets/twilightforest/models/block/stripped_dark_log.json +31cc69d15eef58e028832bc0372fa02aebd62789 assets/twilightforest/models/block/stripped_dark_log_horizontal.json +a5a630c069a08e6c51bb8a4980c6cbc882d339ab assets/twilightforest/models/block/stripped_dark_wood.json +31cc69d15eef58e028832bc0372fa02aebd62789 assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +88f4da4c3fc29e0d628f08f9614f1002f414392d assets/twilightforest/models/block/stripped_mangrove_log.json +b6e60ab4db709b17d8584a94bb90c536b13cb245 assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json +88f4da4c3fc29e0d628f08f9614f1002f414392d assets/twilightforest/models/block/stripped_mangrove_wood.json +b6e60ab4db709b17d8584a94bb90c536b13cb245 assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +66a8770048739156b2fab065a435fad4ec07e1f4 assets/twilightforest/models/block/stripped_mining_log.json +cbfccf9894262f2e32d76ed65534e5853b0410eb assets/twilightforest/models/block/stripped_mining_log_horizontal.json +66a8770048739156b2fab065a435fad4ec07e1f4 assets/twilightforest/models/block/stripped_mining_wood.json +cbfccf9894262f2e32d76ed65534e5853b0410eb assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +cf2f6fbee616ac811f472d03b9bc4ba4e74ef0aa assets/twilightforest/models/block/stripped_sorting_log.json +1a1356f8928f806f0cd442c10a97c19b669aabba assets/twilightforest/models/block/stripped_sorting_log_horizontal.json +cf2f6fbee616ac811f472d03b9bc4ba4e74ef0aa assets/twilightforest/models/block/stripped_sorting_wood.json +1a1356f8928f806f0cd442c10a97c19b669aabba assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +e35d3cd5669a5c490d7e00175a953c200dcf3525 assets/twilightforest/models/block/stripped_time_log.json +821bf5fb447df2c422d362a04bd30121b6bc3648 assets/twilightforest/models/block/stripped_time_log_horizontal.json +e35d3cd5669a5c490d7e00175a953c200dcf3525 assets/twilightforest/models/block/stripped_time_wood.json +821bf5fb447df2c422d362a04bd30121b6bc3648 assets/twilightforest/models/block/stripped_time_wood_horizontal.json +dad15b569312e20e9e7f3b13452eb2e1f96c91fa assets/twilightforest/models/block/stripped_transformation_log.json +aadec6fb8774e37e7841a2d45ea7400f376e9b9c assets/twilightforest/models/block/stripped_transformation_log_horizontal.json +dad15b569312e20e9e7f3b13452eb2e1f96c91fa assets/twilightforest/models/block/stripped_transformation_wood.json +aadec6fb8774e37e7841a2d45ea7400f376e9b9c assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +f25a79502a432e8a282efc248b2073f44528dcde assets/twilightforest/models/block/stripped_twilight_oak_log.json +4121b6261fac21240785cd4ca456f76c95c8bdd7 assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json +f25a79502a432e8a282efc248b2073f44528dcde assets/twilightforest/models/block/stripped_twilight_oak_wood.json +4121b6261fac21240785cd4ca456f76c95c8bdd7 assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json 525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json 93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_special_x.json 6fea7dc89fa72f60857aea922392c9319da6b513 assets/twilightforest/models/block/terrorcotta_arcs_special_z.json @@ -775,18 +1136,25 @@ ae2450eccf9cd838f17b46d48263583034e0c299 assets/twilightforest/models/block/terr f9b64799628d039e721d191ea797b99722567205 assets/twilightforest/models/block/terrorcotta_lines_0.json aa89a42fdfd5233d012c94d6c45d51a66e6376a5 assets/twilightforest/models/block/terrorcotta_lines_90.json 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json +14fac1797c30545a506f7da0659a55f38ebcbe38 assets/twilightforest/models/block/time_banister_connected.json +d7f471566e12215d7a943c3da2e38952e34c2a07 assets/twilightforest/models/block/time_banister_connected_extended.json +a66b83d8eb24fd5600c979886a9edfee0c267a11 assets/twilightforest/models/block/time_banister_inventory.json +238b5f2c392150ffaacf3b5047d20c483ac07a0d assets/twilightforest/models/block/time_banister_short.json +34102123cddcb8ad55396616e618f408c70e9b8e assets/twilightforest/models/block/time_banister_short_extended.json +5db6809f56d97cfb57116c8f65eb53871bdb093d assets/twilightforest/models/block/time_banister_tall.json +af6652ab7b8a107bf7ef690e3c5725059184c3e6 assets/twilightforest/models/block/time_banister_tall_extended.json b2f846a8b967016ca8732279cbc0c11a10844379 assets/twilightforest/models/block/time_button.json b76dae4ac5da24304f10935fe34ad194b8860be3 assets/twilightforest/models/block/time_button_inventory.json 38574d1f4d5a6cab8ab39877f1b4b94a93bffdaf assets/twilightforest/models/block/time_button_pressed.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_chest.json -fc497e477cf8365339a4c2fc3b05f764458bbe3d assets/twilightforest/models/block/time_door_bottom_left.json -c6643273f27d5a6460712fe9897b3e4af3934874 assets/twilightforest/models/block/time_door_bottom_left_open.json -42c7899b1bf8449d7e8309a187f4ebbb94681f7d assets/twilightforest/models/block/time_door_bottom_right.json -8ec5ad8279b50be5e366767cf97896312135e2cd assets/twilightforest/models/block/time_door_bottom_right_open.json -6a7d1fe1ff7090547e31ab7c296ee3293bbaa7d3 assets/twilightforest/models/block/time_door_top_left.json -fc518e53a8ed17afd3a98ceb882eadaef759b9f2 assets/twilightforest/models/block/time_door_top_left_open.json -e8235ff2aea4cbb56b887abdc82c769ce8859c1c assets/twilightforest/models/block/time_door_top_right.json -62893acf419c1fd40f4fe52d5f235784ebbf9619 assets/twilightforest/models/block/time_door_top_right_open.json +8f8e490a80339cc05c0738790e6cbfc9eebcba32 assets/twilightforest/models/block/time_door_bottom_left.json +bcee46f4bad4b1384995b5dc3a0d0e79cfda5c40 assets/twilightforest/models/block/time_door_bottom_left_open.json +3b7c42706f07062a20dda023a68abeaf1c5e1df1 assets/twilightforest/models/block/time_door_bottom_right.json +dbd7ae31c8bc7969006bea4fd51895d3274a53de assets/twilightforest/models/block/time_door_bottom_right_open.json +b8a3e07a5ee41b87364e7ba4ea315f161529f188 assets/twilightforest/models/block/time_door_top_left.json +bfa55d7e744b7086203d0068a136dcd5eea50435 assets/twilightforest/models/block/time_door_top_left_open.json +dfd234e1ee5773a1c901d40f2aca08fa686655d4 assets/twilightforest/models/block/time_door_top_right.json +8cc4e9b6018ab61336af1a1721c5c14d0993bdc0 assets/twilightforest/models/block/time_door_top_right_open.json aa1b99fcc6ed87200d1c35f0bad48987603e908a assets/twilightforest/models/block/time_fence_gate.json 71e157103b9681e711022913ada86e4ff646c473 assets/twilightforest/models/block/time_fence_gate_open.json bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time_fence_gate_wall.json @@ -794,31 +1162,44 @@ bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time 4d4c55c8449c779ed787bc3d8fd985d78a68edf7 assets/twilightforest/models/block/time_fence_inventory.json 59e324834830c71e861f92b8fedfb2d11e53773c assets/twilightforest/models/block/time_fence_post.json 4e412e5067dce2e56d9d586d879097c995cd1259 assets/twilightforest/models/block/time_fence_side.json +904547377bafe05d0391400043bd4cd6c7441a78 assets/twilightforest/models/block/time_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/time_leaves.json +78c4b7c192b19e116714b2bd3721035e3f18a7c2 assets/twilightforest/models/block/time_log.json +9b0034ac22c36365b542afb9f58b49b90a1c2f97 assets/twilightforest/models/block/time_log_horizontal.json ceaf50613b4bda62546c51100ab6f567a499e0a5 assets/twilightforest/models/block/time_planks.json 907de00fe8c147e6fbe894d49044fdf90e2cfa72 assets/twilightforest/models/block/time_pressure_plate.json 129219f69ff4da25c9d09ef0b791ab653acac9ec assets/twilightforest/models/block/time_pressure_plate_down.json +81bf36fc0dee555da7c4aff3acd99763b65dcccf assets/twilightforest/models/block/time_sapling.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_sign.json ada47f748606bcaa751a867ffcac0253b028acb5 assets/twilightforest/models/block/time_slab.json 2878789f1e776e2c0da0556ac3fcf18962888692 assets/twilightforest/models/block/time_slab_top.json 8176a89a34bd7be2565f86e62d438cea0b4562e2 assets/twilightforest/models/block/time_stairs.json -1bd203b23573d75a494cd914db385f557afefd06 assets/twilightforest/models/block/time_stairs_inner.json -4037cd8bb57633381317993bb902267459ebda21 assets/twilightforest/models/block/time_stairs_outer.json -41d509e301ae44528c762e502f9bd6886364504e assets/twilightforest/models/block/time_trapdoor_bottom.json -55413e5792f6736f6572e3020f43d5770dc34a03 assets/twilightforest/models/block/time_trapdoor_open.json -aa8cfa6e3794c173566a5d12fe7775fd1abb33ec assets/twilightforest/models/block/time_trapdoor_top.json +1bd203b23573d75a494cd914db385f557afefd06 assets/twilightforest/models/block/time_stairs_inner_inner.json +4037cd8bb57633381317993bb902267459ebda21 assets/twilightforest/models/block/time_stairs_outer_outer.json +55daa1ef494b4d8c9a1bb88c9f4edbaac66dfd58 assets/twilightforest/models/block/time_trapdoor_bottom.json +214eb4b358b2e81b238368e45315c03bb3e6d121 assets/twilightforest/models/block/time_trapdoor_open.json +8bb80d83f16a3d46a0f31e875522c56c434b1bb6 assets/twilightforest/models/block/time_trapdoor_top.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_trapped_chest.json +ee96060bcdbcfa9659c0675d9ab56ccee2dacc4f assets/twilightforest/models/block/time_wood.json +7ee978bc7cdd65b7c118f2286328b86e08b172da assets/twilightforest/models/block/transformation_banister_connected.json +beacb3a1557d7fd6cb8b0e74810de7feb5d704bc assets/twilightforest/models/block/transformation_banister_connected_extended.json +fb76b32f0284446c56b173a8a94583e2c520faa2 assets/twilightforest/models/block/transformation_banister_inventory.json +4fe8d523fc2dc60b24001e75ee79271fd37bb7e6 assets/twilightforest/models/block/transformation_banister_short.json +b43521a8dc8b1d4484ca844f1ffc8b2b225b7fed assets/twilightforest/models/block/transformation_banister_short_extended.json +20173faf2cdddabeceb768a32d1d8578d81eb668 assets/twilightforest/models/block/transformation_banister_tall.json +9aea5823d0cf594c2f00b873f918556df5462b7f assets/twilightforest/models/block/transformation_banister_tall_extended.json d0944eb4be819f7825d2679a8af02c74a9060600 assets/twilightforest/models/block/transformation_button.json 424b4907362f0cc0fd2e8ff15dd0ad0f7a6a8a83 assets/twilightforest/models/block/transformation_button_inventory.json 0d45e0621a89dc462beaa5ea5d581f9edeb16074 assets/twilightforest/models/block/transformation_button_pressed.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_chest.json -e4f2e1747d65d75bd5ca2e75d9e54c04063652f2 assets/twilightforest/models/block/transformation_door_bottom_left.json -df77d0d6629fc180ce9cf41a3d29f03263f8d0d6 assets/twilightforest/models/block/transformation_door_bottom_left_open.json -6154636df881bc908fe14a78ef1db1b569094843 assets/twilightforest/models/block/transformation_door_bottom_right.json -e65c6394c6f7e8fd896c6a2187ad689dbb0401de assets/twilightforest/models/block/transformation_door_bottom_right_open.json -ced2808a9d2c6832a169a5991473df23f4927af3 assets/twilightforest/models/block/transformation_door_top_left.json -ebd842fea0a4368dd3167643373aeaa45cb785fa assets/twilightforest/models/block/transformation_door_top_left_open.json -6ab6220e64e2105d19b48c615ec4551de5e4e136 assets/twilightforest/models/block/transformation_door_top_right.json -04ee321aad984b427c688ac40638474f321ca892 assets/twilightforest/models/block/transformation_door_top_right_open.json +142c2f04199c739d78af915424daf5dc6c3b3be9 assets/twilightforest/models/block/transformation_door_bottom_left.json +df4a2c01a0621d59c8eba75b7bc3b7ee1d985072 assets/twilightforest/models/block/transformation_door_bottom_left_open.json +6227868e9ad07176f93ec85bbc1e34fee02f283b assets/twilightforest/models/block/transformation_door_bottom_right.json +c36b9db0895f4ffc85b694795e6bd0bfd0949378 assets/twilightforest/models/block/transformation_door_bottom_right_open.json +0a7f39462d48b6e26d61b945d8cc69f2073d1a19 assets/twilightforest/models/block/transformation_door_top_left.json +4a502ff49851b827ccb6512ab2f8bb0e22cb1909 assets/twilightforest/models/block/transformation_door_top_left_open.json +79ee56c6f7eb3fe0c74b49cd997975e18a6e0de2 assets/twilightforest/models/block/transformation_door_top_right.json +8b829342d1acea680a7b8056d609fe67da3cc52a assets/twilightforest/models/block/transformation_door_top_right_open.json 2fa1bf795ad8f25bd0913f770459de26ce0ebf7f assets/twilightforest/models/block/transformation_fence_gate.json d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/transformation_fence_gate_open.json 0bd236964f17391b7ab8e78d958c7e7b1d585dfd assets/twilightforest/models/block/transformation_fence_gate_wall.json @@ -826,31 +1207,44 @@ d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/tran 23e412394ba7f5f124343dc36a763bb4449576aa assets/twilightforest/models/block/transformation_fence_inventory.json da2d6bc172f337a8c4c0893a159e12f8ad9c92ad assets/twilightforest/models/block/transformation_fence_post.json c3f509eebb1bc42b03c6800ebd54ae99a36374c8 assets/twilightforest/models/block/transformation_fence_side.json +d1574fb0a42329ebcd98f4c890555a0dfbbf7d40 assets/twilightforest/models/block/transformation_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/transformation_leaves.json +cf0fac13b30d2fc8fe22bf042a3590243413099b assets/twilightforest/models/block/transformation_log.json +9ef1668fdd9cf44bcffec2557a9253471d379570 assets/twilightforest/models/block/transformation_log_horizontal.json 0f3f3551feb0a129ce74bedafe7aa9ef7476d663 assets/twilightforest/models/block/transformation_planks.json 3244c9f5ac9be5c5c2df8d86d5d7e36c07ae0fe1 assets/twilightforest/models/block/transformation_pressure_plate.json 5eaa1f9c461f63edbfce8a87001a9cc17ec62b4d assets/twilightforest/models/block/transformation_pressure_plate_down.json +d02fc273e4b909739750aea865a75cebf1f69721 assets/twilightforest/models/block/transformation_sapling.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_sign.json 785f32a9f53e05af7483cd20102698acf15e653f assets/twilightforest/models/block/transformation_slab.json 092ca8dea6dce2fa98c6472a27822edf4851f0fb assets/twilightforest/models/block/transformation_slab_top.json 928ee9e5889752958fef79fc7250a03544336de5 assets/twilightforest/models/block/transformation_stairs.json -1f3a862de9d41cc6d502e01251e02ee504cf03ae assets/twilightforest/models/block/transformation_stairs_inner.json -85fe049a9b168cddf45edee4258bd1a4b4784037 assets/twilightforest/models/block/transformation_stairs_outer.json -f5a1f36517ae65e67789b02bec76def966564446 assets/twilightforest/models/block/transformation_trapdoor_bottom.json -9f7e00da14e0220dc68f3ae471f83c90ff18942f assets/twilightforest/models/block/transformation_trapdoor_open.json -31cbd3bbe0703ce720c34c1a9d8d8b574435b1d3 assets/twilightforest/models/block/transformation_trapdoor_top.json +1f3a862de9d41cc6d502e01251e02ee504cf03ae assets/twilightforest/models/block/transformation_stairs_inner_inner.json +85fe049a9b168cddf45edee4258bd1a4b4784037 assets/twilightforest/models/block/transformation_stairs_outer_outer.json +e99d861c044d2e12cb0f4fc90bf693a6cf797fb6 assets/twilightforest/models/block/transformation_trapdoor_bottom.json +eee6f2e0a547acf842053b3ca3736490ff515947 assets/twilightforest/models/block/transformation_trapdoor_open.json +8f3796559342e98351c614c7a154825db7e17838 assets/twilightforest/models/block/transformation_trapdoor_top.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_trapped_chest.json +bc3793cc46e9917e388ca2fe1bbb749772691953 assets/twilightforest/models/block/transformation_wood.json +713fb04b522e41e1ba1e7fe5e24b40b45b5cf88d assets/twilightforest/models/block/twilight_oak_banister_connected.json +69ca8b7990e47173f02e628a7c707d81b68175f3 assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json +93adfba17532f00a9b5283e95fb85fd2fc6974e0 assets/twilightforest/models/block/twilight_oak_banister_inventory.json +648ee27d6dd8ed7af4ad65bcd6d2214f69f34758 assets/twilightforest/models/block/twilight_oak_banister_short.json +9b51a7062c7a27c1c55c9380059eb4dde8dc8cb9 assets/twilightforest/models/block/twilight_oak_banister_short_extended.json +e9bfdeb1078d4dd6df80405c126f95772d42fabe assets/twilightforest/models/block/twilight_oak_banister_tall.json +b820471c0fe7093747ecad8c3e001e9c9b7a1626 assets/twilightforest/models/block/twilight_oak_banister_tall_extended.json 94dbd69a69eb18c00ce948c1027dc035f2507acb assets/twilightforest/models/block/twilight_oak_button.json ee8e914aae8a0f87f1868f79eb2aa3fc224a9811 assets/twilightforest/models/block/twilight_oak_button_inventory.json 3453d77c826976ca7e6eb8a8eb3ed1982dcabecf assets/twilightforest/models/block/twilight_oak_button_pressed.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_chest.json -06c75c3253faf6a328fc9f00f0f511993dc0d0d9 assets/twilightforest/models/block/twilight_oak_door_bottom_left.json -0aaba684c9494d00972f9f5f3d9fe19740ec89a5 assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json -8f758ec5cdb9b9fb09b47f4332f2c8b53cd59432 assets/twilightforest/models/block/twilight_oak_door_bottom_right.json -6ebf59f2d6305c7b5d85ba27d6e65eefa1a566d6 assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json -55855d9419781d48a9470bc6db3f6e8910e66f11 assets/twilightforest/models/block/twilight_oak_door_top_left.json -cc09c63e444f9b2a74ca6318233e0d61f81b4382 assets/twilightforest/models/block/twilight_oak_door_top_left_open.json -29500d1d5ae1a958f765200b3a65a26522bd6653 assets/twilightforest/models/block/twilight_oak_door_top_right.json -405af52aec84bcbe75382e7a1fa119667e042387 assets/twilightforest/models/block/twilight_oak_door_top_right_open.json +db77e440d7ad4c047ca59cb4ed920883449c5320 assets/twilightforest/models/block/twilight_oak_door_bottom_left.json +232a39ccc07e93aa2d0dcfcaca466ac1375cd496 assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json +51b50292bf5ee4ec0679aee2abf864eb97fb0113 assets/twilightforest/models/block/twilight_oak_door_bottom_right.json +4db98730df8712e28ca6084adfd1aaa509785e42 assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json +8386d4a787480a3cb356d8465da70a82029eb67c assets/twilightforest/models/block/twilight_oak_door_top_left.json +9b2674a02e8fb6cb4dbcdfb9f1d3d6c7776c2e5f assets/twilightforest/models/block/twilight_oak_door_top_left_open.json +3312e9eda5cbe49495494826ba41e96a5e2a1060 assets/twilightforest/models/block/twilight_oak_door_top_right.json +fadedad96b6e29f8ddaadcdfe3ec8d53513fcfef assets/twilightforest/models/block/twilight_oak_door_top_right_open.json d68001882b9bb6443b716e90e900c45e109adcd1 assets/twilightforest/models/block/twilight_oak_fence_gate.json f93dda0b84de8024a1c53525ca480c0f3b56963d assets/twilightforest/models/block/twilight_oak_fence_gate_open.json 08301edcf4215df42d9f700afa66d1a4766a88fd assets/twilightforest/models/block/twilight_oak_fence_gate_wall.json @@ -858,19 +1252,25 @@ f93dda0b84de8024a1c53525ca480c0f3b56963d assets/twilightforest/models/block/twil 0cadda8fb441509abe8e50f895502ba506fa586b assets/twilightforest/models/block/twilight_oak_fence_inventory.json b3517972f0c1cf03f31af94ab049dd28021e81d7 assets/twilightforest/models/block/twilight_oak_fence_post.json 147242a6301eeaf156fbad63b202ae42a68a0ec7 assets/twilightforest/models/block/twilight_oak_fence_side.json +c34764ba4e675330b97fb41b1ebf3f72b9b58799 assets/twilightforest/models/block/twilight_oak_hanging_sign.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/twilight_oak_leaves.json +6266b0cb3ba213641648338e254f8c5443b02c64 assets/twilightforest/models/block/twilight_oak_log.json +2c9b57abfef5bd024fbef98d217368facb52e680 assets/twilightforest/models/block/twilight_oak_log_horizontal.json 70be3dcdb16fed524c38dd3cb6a19c919c368568 assets/twilightforest/models/block/twilight_oak_planks.json b47d8bd8054b4cef5edf3d8eee429bb6e23f0322 assets/twilightforest/models/block/twilight_oak_pressure_plate.json b042c0f560e3046ff3b6d51ab7d022785b938dba assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json +a2da631152eb68d0659705d2f5ee20ec59857df3 assets/twilightforest/models/block/twilight_oak_sapling.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_sign.json 7d7b80c489eede6867428b1c2b695a5c85efa1b8 assets/twilightforest/models/block/twilight_oak_slab.json 579fe154e2cbd9ae22779a59595ae452b97b3a6c assets/twilightforest/models/block/twilight_oak_slab_top.json fdc5ce124af7f7eb3500288862d1375090721fc8 assets/twilightforest/models/block/twilight_oak_stairs.json -35f6c9cc5229ef79eb4f50ebffc839d44fe84bdd assets/twilightforest/models/block/twilight_oak_stairs_inner.json -3994d3c191536f0f01d68102935f1701094dcf96 assets/twilightforest/models/block/twilight_oak_stairs_outer.json -b4662a4c6dca19b04b9d443bd54f099da5ac903e assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json -db01356670ef7e7161514f5cc0804bf22addb0e1 assets/twilightforest/models/block/twilight_oak_trapdoor_open.json -582f70d06bb28c76429b21448dc92c76bd93c117 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json +35f6c9cc5229ef79eb4f50ebffc839d44fe84bdd assets/twilightforest/models/block/twilight_oak_stairs_inner_inner.json +3994d3c191536f0f01d68102935f1701094dcf96 assets/twilightforest/models/block/twilight_oak_stairs_outer_outer.json +a6de5537ac206aab8af362896be4f77fbaa8360e assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json +568eedf7c394962645a1fc9b96ddbdf0835d5c4a assets/twilightforest/models/block/twilight_oak_trapdoor_open.json +8da9d9a817346143f538b0c73ea4644c6d1737e7 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json +8d9d6c7c23f8ba7bc8667f2946e9997404f19e3c assets/twilightforest/models/block/twilight_oak_wood.json 899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json 6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json @@ -959,6 +1359,8 @@ f530b5269751cdcc82e3e8c32377525d10d714e7 assets/twilightforest/models/item/canop 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_chest.json e1139510edd55c4d52f005d55dc60b8df95badd4 assets/twilightforest/models/item/canopy_chest_boat.json 0d7e5b2169d98f22cbc4624c90f1c4e28ead5325 assets/twilightforest/models/item/canopy_door.json +45a3883ef9c92f39fb1ec7cd9d94604569ef3060 assets/twilightforest/models/item/canopy_hanging_sign.json +8a3e8ba9f34d032613131ec608c4e4e4a87f2b29 assets/twilightforest/models/item/canopy_sapling.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_trapped_chest.json b64a0f7415d168bdff399cab1809a75e11190a14 assets/twilightforest/models/item/carminite.json @@ -971,10 +1373,12 @@ d3a3e3ad93428c961cd3665623af8d0f92c59b9b assets/twilightforest/models/item/charm 55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json 26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json f49a7461b6de4822b4190d497c6db54a7c5d8721 assets/twilightforest/models/item/crumble_horn.json +1a55c73749a19400422d96f7d7ec241f75daf441 assets/twilightforest/models/item/darkwood_sapling.json 8b091e6bdefce5c8702babeb30bd1e889ba085f0 assets/twilightforest/models/item/dark_boat.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_chest.json a82c0dbb4b3d5ef84c07c3b106c2f2eb5c7ea8ce assets/twilightforest/models/item/dark_chest_boat.json 5eaf127017ea2e5cc3c238138fdf72b423acb6fe assets/twilightforest/models/item/dark_door.json +0cc6a2ecef87dd99cb4a482f5a30f9a798e98bc2 assets/twilightforest/models/item/dark_hanging_sign.json eabcc78bb30aef9eb11d6f55ff944b8623f85eda assets/twilightforest/models/item/dark_sign.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_trapped_chest.json 6e739011bd20795270eab4e510d955e436d55d37 assets/twilightforest/models/item/diamond_minotaur_axe.json @@ -1240,6 +1644,8 @@ ff9e2e8376642cf0ae9452f73d2cdd2ae486022e assets/twilightforest/models/item/magic 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_chest.json 666035ac619468d481f3f8cd167bbb36d7525a37 assets/twilightforest/models/item/mangrove_chest_boat.json 7ee73611b66cb89a75fd80cb1b662fcd2eec3c21 assets/twilightforest/models/item/mangrove_door.json +52d711a0b811a57cc2ae79543fc8b170ae330fee assets/twilightforest/models/item/mangrove_hanging_sign.json +f4dac8a73ee71c84e875908b6690237c43bf0633 assets/twilightforest/models/item/mangrove_sapling.json 8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_trapped_chest.json e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json @@ -1251,6 +1657,8 @@ aa55f42f900763f4e5681b42608dbb6f8b526fa2 assets/twilightforest/models/item/minin 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_chest.json 68b99e7c9446bbe0c7cad1314164dd4d8abccfb9 assets/twilightforest/models/item/mining_chest_boat.json d7a6eb4d66ed3e21ac7c3d19be1cf47cabe3d17c assets/twilightforest/models/item/mining_door.json +e6894387f0197be4a195e4d2eeb45cc360eff403 assets/twilightforest/models/item/mining_hanging_sign.json +e7fbfb35264b0e9cd2c84487c99284fa738bacfc assets/twilightforest/models/item/mining_sapling.json d9be1b166a22071779c7207d4b61448790b3eb02 assets/twilightforest/models/item/mining_sign.json 9c3c28fcad64f68f7a934d9e031c0c6358acb474 assets/twilightforest/models/item/mining_trapped_chest.json 6bd39542a0254d0e686843560dbdd0cf3f365f54 assets/twilightforest/models/item/minor_boss_trophy.json @@ -1371,6 +1779,8 @@ d4a5f01bd0560ede6d9756cee312a4fcd2c7747f assets/twilightforest/models/item/sorti 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_chest.json 9dc9e2f3cb41e5ff802909506a3dc6eae9c0ef6e assets/twilightforest/models/item/sorting_chest_boat.json 9d193534b14b488093ab0b1ffe7deb45798ae731 assets/twilightforest/models/item/sorting_door.json +49e22452940c1ea09a0bf278b545f578a590922a assets/twilightforest/models/item/sorting_hanging_sign.json +ad3c942dfa6146c1c4f3b6af1ab70c3ce9db5e1e assets/twilightforest/models/item/sorting_sapling.json 66a4b8ef4d8017b25026d785e825695f12621090 assets/twilightforest/models/item/sorting_sign.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_trapped_chest.json 0528882d5d5ab12726109a66dba7b4ee98a5a655 assets/twilightforest/models/item/steeleaf_axe.json @@ -1456,6 +1866,8 @@ ecaf3f57e02a00bccfe67d03fb6134a103da5e57 assets/twilightforest/models/item/time_ 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_chest.json 4bacf59d465788f217fd8c07772973e33f4a9f35 assets/twilightforest/models/item/time_chest_boat.json d18e3e48cd0ee23767355e2cb7a25c8b13abe95c assets/twilightforest/models/item/time_door.json +3d2e2a38af3e3fcdfcda2187b5a91a36e1efe6f7 assets/twilightforest/models/item/time_hanging_sign.json +b8b14f90fb2dce3e231361082d926fe478c962a4 assets/twilightforest/models/item/time_sapling.json 4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_trapped_chest.json 0280159c3df7e4dcc3016802c6e5a0c03e7206d3 assets/twilightforest/models/item/torchberries.json @@ -1464,7 +1876,9 @@ d82c6c8c0ce2c8162b0fdd3a791d86bfa3a041fe assets/twilightforest/models/item/trans a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_chest.json 282cfcb3361d42bde181794291eb446d32eda85b assets/twilightforest/models/item/transformation_chest_boat.json 8207cd235ffd9dfcd41ce8baa38f1150f322ee25 assets/twilightforest/models/item/transformation_door.json +7e21f6d25b4063185e27566e779f41b26dab33cc assets/twilightforest/models/item/transformation_hanging_sign.json 6055c86a78d31445d3502ae1313250965cfd1cf0 assets/twilightforest/models/item/transformation_powder.json +363b8667dd45e96c69a73afc55aa1ba370dad285 assets/twilightforest/models/item/transformation_sapling.json 19c8bbc9a51cba2ab8e2d978b2a7271297e4a9a6 assets/twilightforest/models/item/transformation_sign.json a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_trapped_chest.json 02d8613dc7c502596c83d1bbc2099038e6a68787 assets/twilightforest/models/item/triple_bow.json @@ -1475,6 +1889,8 @@ ef21acc3297ac54d490d74b2a786ff5719d1ee37 assets/twilightforest/models/item/twili fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_chest.json 968283106fca51d14ee95e0fb6985331505400be assets/twilightforest/models/item/twilight_oak_chest_boat.json 15ce1289e73311e1fe88fe8d113cc0529c85c95a assets/twilightforest/models/item/twilight_oak_door.json +0171874614bc3115a1df9515304fd62abe7470ac assets/twilightforest/models/item/twilight_oak_hanging_sign.json +0e287853f29d505391da2d87810c6f4a34187db6 assets/twilightforest/models/item/twilight_oak_sapling.json 42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_trapped_chest.json 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json new file mode 100644 index 0000000000..78cf6a5ca7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/canopy_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/canopy_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/canopy_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/canopy_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/canopy_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/canopy_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/canopy_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/canopy_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/canopy_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/canopy_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json new file mode 100644 index 0000000000..58975c5133 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json new file mode 100644 index 0000000000..0bda7e00d9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json new file mode 100644 index 0000000000..eaedea8a20 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/canopy_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/canopy_log" + }, + "axis=z": { + "model": "twilightforest:block/canopy_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json new file mode 100644 index 0000000000..841a98fcc3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json index 18dae65cc9..67382f1934 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner" + "model": "twilightforest:block/canopy_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer" + "model": "twilightforest:block/canopy_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/canopy_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner" + "model": "twilightforest:block/canopy_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer" + "model": "twilightforest:block/canopy_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/canopy_stairs_inner", + "model": "twilightforest:block/canopy_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/canopy_stairs_outer", + "model": "twilightforest:block/canopy_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json index e298c57372..bb674545f3 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/canopy_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/canopy_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/canopy_trapdoor_top", - "y": 90 + "model": "twilightforest:block/canopy_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/canopy_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/canopy_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/canopy_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/canopy_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/canopy_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/canopy_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/canopy_trapdoor_top", - "y": 180 + "model": "twilightforest:block/canopy_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/canopy_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/canopy_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/canopy_trapdoor_top", - "y": 270 + "model": "twilightforest:block/canopy_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/canopy_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json new file mode 100644 index 0000000000..58975c5133 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json new file mode 100644 index 0000000000..a432d3feca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/canopy_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/canopy_wood" + }, + "axis=z": { + "model": "twilightforest:block/canopy_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json b/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json new file mode 100644 index 0000000000..2db3ce7cec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/dark_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/dark_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/dark_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/dark_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/dark_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/dark_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/dark_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/dark_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/dark_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/dark_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/dark_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/dark_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/dark_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/dark_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/dark_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/dark_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/dark_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/dark_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/dark_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/dark_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/dark_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/dark_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/dark_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/dark_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json new file mode 100644 index 0000000000..8f0027f13a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/dark_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json new file mode 100644 index 0000000000..3d92f70654 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/dark_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_log.json b/src/generated/resources/assets/twilightforest/blockstates/dark_log.json new file mode 100644 index 0000000000..2ccd5a44f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/dark_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/dark_log" + }, + "axis=z": { + "model": "twilightforest:block/dark_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json index 3f8f1a5692..464d72063d 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner" + "model": "twilightforest:block/dark_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer" + "model": "twilightforest:block/dark_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/dark_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner" + "model": "twilightforest:block/dark_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer" + "model": "twilightforest:block/dark_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/dark_stairs_inner", + "model": "twilightforest:block/dark_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/dark_stairs_outer", + "model": "twilightforest:block/dark_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json index 6ffe019a62..b83e3d4de9 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/dark_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/dark_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/dark_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/dark_trapdoor_top", - "y": 90 + "model": "twilightforest:block/dark_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/dark_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/dark_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/dark_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/dark_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/dark_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/dark_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/dark_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/dark_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/dark_trapdoor_top", - "y": 180 + "model": "twilightforest:block/dark_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/dark_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/dark_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/dark_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/dark_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/dark_trapdoor_top", - "y": 270 + "model": "twilightforest:block/dark_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/dark_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json new file mode 100644 index 0000000000..8f0027f13a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/dark_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json b/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json new file mode 100644 index 0000000000..1f67956092 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/dark_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/dark_wood" + }, + "axis=z": { + "model": "twilightforest:block/dark_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json new file mode 100644 index 0000000000..0c4a6f940d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/darkwood_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/darkwood_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json new file mode 100644 index 0000000000..9835e93b98 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_canopy_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_canopy_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_canopy_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_canopy_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json new file mode 100644 index 0000000000..b8a829e5e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_canopy_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_canopy_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_canopy_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_canopy_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json new file mode 100644 index 0000000000..0f8345b5f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_canopy_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_canopy_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json new file mode 100644 index 0000000000..8f43941105 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_dark_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_dark_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_dark_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_dark_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json new file mode 100644 index 0000000000..0bd5895145 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_dark_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_dark_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_dark_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_dark_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_dark_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_dark_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_dark_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_dark_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_dark_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_dark_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json new file mode 100644 index 0000000000..853a096a5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_dark_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json new file mode 100644 index 0000000000..bfd9aa148f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_mangrove_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json new file mode 100644 index 0000000000..f39ffc888f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_mangrove_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json new file mode 100644 index 0000000000..2d2092f7a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_mangrove_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json new file mode 100644 index 0000000000..9e6474fa1e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_mining_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_mining_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_mining_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_mining_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_mining_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json new file mode 100644 index 0000000000..7eee667a43 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_mining_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_mining_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_mining_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_mining_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_mining_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_mining_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_mining_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_mining_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_mining_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_mining_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json new file mode 100644 index 0000000000..1082e9c72d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_mining_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_mining_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json new file mode 100644 index 0000000000..9ed4528afa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_sorting_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_sorting_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_sorting_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_sorting_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json new file mode 100644 index 0000000000..8ead1c7af9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_sorting_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_sorting_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_sorting_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_sorting_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json new file mode 100644 index 0000000000..ea73693e5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_sorting_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_sorting_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json new file mode 100644 index 0000000000..75c8668e98 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_time_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_time_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_time_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_time_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_time_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json new file mode 100644 index 0000000000..c3cf6fd174 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_time_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_time_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_time_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_time_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_time_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_time_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_time_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_time_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_time_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_time_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json new file mode 100644 index 0000000000..034dca3bcc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_time_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_time_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json new file mode 100644 index 0000000000..4d8d8f3ebd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_transformation_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_transformation_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_transformation_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_transformation_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json new file mode 100644 index 0000000000..2bcc72311b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_transformation_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_transformation_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_transformation_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_transformation_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json new file mode 100644 index 0000000000..8f68343c0c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_transformation_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_transformation_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json new file mode 100644 index 0000000000..8a895dbcd2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_twilight_oak_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json new file mode 100644 index 0000000000..187dc6e60e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json new file mode 100644 index 0000000000..dba4dd7d20 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_twilight_oak_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json new file mode 100644 index 0000000000..8ac9247b3f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/mangrove_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/mangrove_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/mangrove_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/mangrove_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/mangrove_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/mangrove_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/mangrove_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/mangrove_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/mangrove_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/mangrove_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json new file mode 100644 index 0000000000..bc78206c70 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mangrove_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json new file mode 100644 index 0000000000..4d4d8f9bfa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mangrove_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json new file mode 100644 index 0000000000..efa5363840 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/mangrove_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/mangrove_log" + }, + "axis=z": { + "model": "twilightforest:block/mangrove_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json new file mode 100644 index 0000000000..d4dc7d3a90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mangrove_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json index 1483d0ffbc..c6bd1b516f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner" + "model": "twilightforest:block/mangrove_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer" + "model": "twilightforest:block/mangrove_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/mangrove_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner" + "model": "twilightforest:block/mangrove_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer" + "model": "twilightforest:block/mangrove_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/mangrove_stairs_inner", + "model": "twilightforest:block/mangrove_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/mangrove_stairs_outer", + "model": "twilightforest:block/mangrove_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json index 30aa1ca952..a5144ffa23 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/mangrove_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_top", - "y": 90 + "model": "twilightforest:block/mangrove_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/mangrove_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/mangrove_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/mangrove_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/mangrove_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/mangrove_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_top", - "y": 180 + "model": "twilightforest:block/mangrove_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/mangrove_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/mangrove_trapdoor_top", - "y": 270 + "model": "twilightforest:block/mangrove_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/mangrove_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json new file mode 100644 index 0000000000..bc78206c70 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mangrove_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json new file mode 100644 index 0000000000..7844aacb3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/mangrove_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/mangrove_wood" + }, + "axis=z": { + "model": "twilightforest:block/mangrove_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json b/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json new file mode 100644 index 0000000000..b157d6a1bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/mining_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/mining_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/mining_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/mining_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/mining_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/mining_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/mining_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/mining_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/mining_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/mining_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/mining_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/mining_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/mining_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/mining_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/mining_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/mining_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/mining_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/mining_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/mining_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/mining_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/mining_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/mining_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/mining_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/mining_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json new file mode 100644 index 0000000000..e2e348985e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mining_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json new file mode 100644 index 0000000000..869eb33ce9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mining_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_log.json b/src/generated/resources/assets/twilightforest/blockstates/mining_log.json new file mode 100644 index 0000000000..04a2f3a819 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/mining_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/mining_log" + }, + "axis=z": { + "model": "twilightforest:block/mining_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json new file mode 100644 index 0000000000..d50a75380e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mining_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json index db8df456a3..6760f9570d 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner" + "model": "twilightforest:block/mining_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer" + "model": "twilightforest:block/mining_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/mining_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner" + "model": "twilightforest:block/mining_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer" + "model": "twilightforest:block/mining_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/mining_stairs_inner", + "model": "twilightforest:block/mining_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/mining_stairs_outer", + "model": "twilightforest:block/mining_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json index 2b93006d4f..69bfba63ab 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/mining_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/mining_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/mining_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/mining_trapdoor_top", - "y": 90 + "model": "twilightforest:block/mining_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/mining_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/mining_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/mining_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/mining_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/mining_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/mining_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/mining_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/mining_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/mining_trapdoor_top", - "y": 180 + "model": "twilightforest:block/mining_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/mining_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/mining_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/mining_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/mining_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/mining_trapdoor_top", - "y": 270 + "model": "twilightforest:block/mining_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/mining_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json new file mode 100644 index 0000000000..e2e348985e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mining_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json b/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json new file mode 100644 index 0000000000..82ce3a2f84 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/mining_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/mining_wood" + }, + "axis=z": { + "model": "twilightforest:block/mining_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json new file mode 100644 index 0000000000..ef1422328c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_canopy_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_canopy_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json new file mode 100644 index 0000000000..9419b847cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_darkwood_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_darkwood_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json new file mode 100644 index 0000000000..e42748e75c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_mangrove_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_mangrove_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json new file mode 100644 index 0000000000..2a57bcf307 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_mining_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_mining_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json new file mode 100644 index 0000000000..beb03624ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_sorting_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_sorting_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json new file mode 100644 index 0000000000..74700594d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_time_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_time_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json new file mode 100644 index 0000000000..297c4e23e3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_transformation_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_transformation_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json new file mode 100644 index 0000000000..8e66090e66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_twilight_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_twilight_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json new file mode 100644 index 0000000000..8d0bcd13cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/sorting_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/sorting_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/sorting_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/sorting_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/sorting_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/sorting_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/sorting_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/sorting_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/sorting_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/sorting_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json new file mode 100644 index 0000000000..84412018b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/sorting_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json new file mode 100644 index 0000000000..3266789032 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/sorting_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json new file mode 100644 index 0000000000..42b270e4f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/sorting_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/sorting_log" + }, + "axis=z": { + "model": "twilightforest:block/sorting_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json new file mode 100644 index 0000000000..c72b45e96a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/sorting_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json index 42db3d6873..c758b3dd1c 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner" + "model": "twilightforest:block/sorting_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer" + "model": "twilightforest:block/sorting_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/sorting_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner" + "model": "twilightforest:block/sorting_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer" + "model": "twilightforest:block/sorting_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/sorting_stairs_inner", + "model": "twilightforest:block/sorting_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/sorting_stairs_outer", + "model": "twilightforest:block/sorting_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json index cf8bb5812e..40fb42b3fd 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/sorting_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/sorting_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/sorting_trapdoor_top", - "y": 90 + "model": "twilightforest:block/sorting_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/sorting_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/sorting_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/sorting_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/sorting_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/sorting_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/sorting_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/sorting_trapdoor_top", - "y": 180 + "model": "twilightforest:block/sorting_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/sorting_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/sorting_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/sorting_trapdoor_top", - "y": 270 + "model": "twilightforest:block/sorting_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/sorting_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json new file mode 100644 index 0000000000..84412018b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/sorting_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json new file mode 100644 index 0000000000..a604aaaaca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/sorting_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/sorting_wood" + }, + "axis=z": { + "model": "twilightforest:block/sorting_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json new file mode 100644 index 0000000000..6e2cf1faa1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_canopy_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_canopy_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_canopy_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json new file mode 100644 index 0000000000..da43a11a26 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_canopy_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_canopy_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_canopy_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json new file mode 100644 index 0000000000..1eac8721fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_dark_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_dark_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_dark_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json new file mode 100644 index 0000000000..3c3d314da5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_dark_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_dark_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_dark_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json new file mode 100644 index 0000000000..9df911bfff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_mangrove_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_mangrove_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_mangrove_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json new file mode 100644 index 0000000000..9f3f51938f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_mangrove_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_mangrove_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_mangrove_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json new file mode 100644 index 0000000000..4a22501f95 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_mining_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_mining_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_mining_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json new file mode 100644 index 0000000000..af717ebd6f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_mining_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_mining_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_mining_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json new file mode 100644 index 0000000000..b96b90681f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_sorting_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_sorting_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_sorting_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json new file mode 100644 index 0000000000..8d73136ddd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_sorting_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_sorting_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_sorting_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json new file mode 100644 index 0000000000..dca486bba4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_time_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_time_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_time_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json new file mode 100644 index 0000000000..ac3577c6fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_time_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_time_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_time_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json new file mode 100644 index 0000000000..7e7bbbd8ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_transformation_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_transformation_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_transformation_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json new file mode 100644 index 0000000000..569f5328a6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_transformation_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_transformation_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_transformation_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json new file mode 100644 index 0000000000..f87e2cb42d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_twilight_oak_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_twilight_oak_log" + }, + "axis=z": { + "model": "twilightforest:block/stripped_twilight_oak_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json new file mode 100644 index 0000000000..b3c46adcac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/stripped_twilight_oak_wood" + }, + "axis=z": { + "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_banister.json b/src/generated/resources/assets/twilightforest/blockstates/time_banister.json new file mode 100644 index 0000000000..c928df5415 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/time_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/time_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/time_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/time_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/time_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/time_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/time_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/time_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/time_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/time_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/time_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/time_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/time_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/time_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/time_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/time_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/time_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/time_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/time_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/time_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/time_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/time_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/time_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/time_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json new file mode 100644 index 0000000000..9607c07335 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/time_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json new file mode 100644 index 0000000000..28d91296f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/time_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_log.json b/src/generated/resources/assets/twilightforest/blockstates/time_log.json new file mode 100644 index 0000000000..ea54e43ede --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/time_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/time_log" + }, + "axis=z": { + "model": "twilightforest:block/time_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json new file mode 100644 index 0000000000..d03c9a2a53 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/time_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json index f933be00c3..6c12a14552 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner" + "model": "twilightforest:block/time_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer" + "model": "twilightforest:block/time_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/time_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner" + "model": "twilightforest:block/time_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer" + "model": "twilightforest:block/time_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/time_stairs_inner", + "model": "twilightforest:block/time_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/time_stairs_outer", + "model": "twilightforest:block/time_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json index 1e13204eff..116094c415 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/time_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/time_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/time_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/time_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/time_trapdoor_top", - "y": 90 + "model": "twilightforest:block/time_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/time_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/time_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/time_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/time_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/time_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/time_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/time_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/time_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/time_trapdoor_top", - "y": 180 + "model": "twilightforest:block/time_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/time_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/time_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/time_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/time_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/time_trapdoor_top", - "y": 270 + "model": "twilightforest:block/time_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/time_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json new file mode 100644 index 0000000000..9607c07335 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/time_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_wood.json b/src/generated/resources/assets/twilightforest/blockstates/time_wood.json new file mode 100644 index 0000000000..96dd32896b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/time_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/time_wood" + }, + "axis=z": { + "model": "twilightforest:block/time_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json new file mode 100644 index 0000000000..8ab2bda18a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/transformation_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/transformation_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/transformation_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/transformation_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/transformation_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/transformation_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/transformation_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/transformation_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/transformation_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/transformation_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json new file mode 100644 index 0000000000..3db43ba5d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/transformation_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json new file mode 100644 index 0000000000..303e750aa8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/transformation_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json new file mode 100644 index 0000000000..af68b66486 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/transformation_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/transformation_log" + }, + "axis=z": { + "model": "twilightforest:block/transformation_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json new file mode 100644 index 0000000000..bbaa25ff7c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/transformation_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json index ae87aa020b..8bd254370e 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner" + "model": "twilightforest:block/transformation_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer" + "model": "twilightforest:block/transformation_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/transformation_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner" + "model": "twilightforest:block/transformation_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer" + "model": "twilightforest:block/transformation_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/transformation_stairs_inner", + "model": "twilightforest:block/transformation_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/transformation_stairs_outer", + "model": "twilightforest:block/transformation_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json index 76a3cdedb5..ea3045ef8f 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/transformation_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/transformation_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/transformation_trapdoor_top", - "y": 90 + "model": "twilightforest:block/transformation_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/transformation_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/transformation_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/transformation_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/transformation_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/transformation_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/transformation_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/transformation_trapdoor_top", - "y": 180 + "model": "twilightforest:block/transformation_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/transformation_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/transformation_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/transformation_trapdoor_top", - "y": 270 + "model": "twilightforest:block/transformation_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/transformation_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json new file mode 100644 index 0000000000..3db43ba5d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/transformation_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json new file mode 100644 index 0000000000..1dca43901a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/transformation_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/transformation_wood" + }, + "axis=z": { + "model": "twilightforest:block/transformation_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json new file mode 100644 index 0000000000..94cf7651bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/twilight_oak_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/twilight_oak_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/twilight_oak_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json new file mode 100644 index 0000000000..f2cbd51321 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/twilight_oak_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json new file mode 100644 index 0000000000..405f18207c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/twilight_oak_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json new file mode 100644 index 0000000000..3947cde7d2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/twilight_oak_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/twilight_oak_log" + }, + "axis=z": { + "model": "twilightforest:block/twilight_oak_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json new file mode 100644 index 0000000000..ff44e6a446 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/twilight_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json index a6b4a14417..6217f045af 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_stairs.json @@ -1,42 +1,42 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner" + "model": "twilightforest:block/twilight_oak_stairs_inner_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer" + "model": "twilightforest:block/twilight_oak_stairs_outer_outer" }, "facing=east,half=bottom,shape=straight": { "model": "twilightforest:block/twilight_oak_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 @@ -47,22 +47,22 @@ "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 270 }, @@ -72,24 +72,24 @@ "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180 }, @@ -100,18 +100,18 @@ "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner" + "model": "twilightforest:block/twilight_oak_stairs_inner_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer" + "model": "twilightforest:block/twilight_oak_stairs_outer_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 90 }, @@ -121,25 +121,25 @@ "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 @@ -151,22 +151,22 @@ "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "y": 180 }, @@ -176,25 +176,25 @@ "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "twilightforest:block/twilight_oak_stairs_inner", + "model": "twilightforest:block/twilight_oak_stairs_inner_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "twilightforest:block/twilight_oak_stairs_outer", + "model": "twilightforest:block/twilight_oak_stairs_outer_outer", "uvlock": true, "x": 180, "y": 270 diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json index 105d4c612c..4a7b7ce9a0 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_trapdoor.json @@ -1,21 +1,18 @@ { "variants": { "facing=east,half=bottom,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_bottom", - "y": 90 + "model": "twilightforest:block/twilight_oak_trapdoor_bottom" }, "facing=east,half=bottom,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 90 }, "facing=east,half=top,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_top", - "y": 90 + "model": "twilightforest:block/twilight_oak_trapdoor_top" }, "facing=east,half=top,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", - "x": 180, - "y": 270 + "y": 90 }, "facing=north,half=bottom,open=false": { "model": "twilightforest:block/twilight_oak_trapdoor_bottom" @@ -27,43 +24,35 @@ "model": "twilightforest:block/twilight_oak_trapdoor_top" }, "facing=north,half=top,open=true": { - "model": "twilightforest:block/twilight_oak_trapdoor_open", - "x": 180, - "y": 180 + "model": "twilightforest:block/twilight_oak_trapdoor_open" }, "facing=south,half=bottom,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_bottom", - "y": 180 + "model": "twilightforest:block/twilight_oak_trapdoor_bottom" }, "facing=south,half=bottom,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 180 }, "facing=south,half=top,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_top", - "y": 180 + "model": "twilightforest:block/twilight_oak_trapdoor_top" }, "facing=south,half=top,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", - "x": 180, - "y": 0 + "y": 180 }, "facing=west,half=bottom,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_bottom", - "y": 270 + "model": "twilightforest:block/twilight_oak_trapdoor_bottom" }, "facing=west,half=bottom,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", "y": 270 }, "facing=west,half=top,open=false": { - "model": "twilightforest:block/twilight_oak_trapdoor_top", - "y": 270 + "model": "twilightforest:block/twilight_oak_trapdoor_top" }, "facing=west,half=top,open=true": { "model": "twilightforest:block/twilight_oak_trapdoor_open", - "x": 180, - "y": 90 + "y": 270 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json new file mode 100644 index 0000000000..f2cbd51321 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/twilight_oak_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json new file mode 100644 index 0000000000..3ccb6fb036 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_oak_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/twilight_oak_wood", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/twilight_oak_wood" + }, + "axis=z": { + "model": "twilightforest:block/twilight_oak_wood", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_banister.json b/src/generated/resources/assets/twilightforest/items/canopy_banister.json new file mode 100644 index 0000000000..9353b07c85 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_fence_gate.json b/src/generated/resources/assets/twilightforest/items/canopy_fence_gate.json new file mode 100644 index 0000000000..4fd935d116 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/canopy_hanging_sign.json new file mode 100644 index 0000000000..b720b24e30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_leaves.json b/src/generated/resources/assets/twilightforest/items/canopy_leaves.json new file mode 100644 index 0000000000..79a54ee894 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_log.json b/src/generated/resources/assets/twilightforest/items/canopy_log.json new file mode 100644 index 0000000000..b38c30c46d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_planks.json b/src/generated/resources/assets/twilightforest/items/canopy_planks.json new file mode 100644 index 0000000000..afcbfadbcb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/canopy_pressure_plate.json new file mode 100644 index 0000000000..d18421ca0c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_sapling.json b/src/generated/resources/assets/twilightforest/items/canopy_sapling.json new file mode 100644 index 0000000000..094d9cced9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_wood.json b/src/generated/resources/assets/twilightforest/items/canopy_wood.json new file mode 100644 index 0000000000..97e91d2245 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_banister.json b/src/generated/resources/assets/twilightforest/items/dark_banister.json new file mode 100644 index 0000000000..9a68f25a9d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_fence_gate.json b/src/generated/resources/assets/twilightforest/items/dark_fence_gate.json new file mode 100644 index 0000000000..48441e00be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/dark_hanging_sign.json new file mode 100644 index 0000000000..5db520cd5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/dark_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_leaves.json b/src/generated/resources/assets/twilightforest/items/dark_leaves.json new file mode 100644 index 0000000000..3cad92ee46 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_log.json b/src/generated/resources/assets/twilightforest/items/dark_log.json new file mode 100644 index 0000000000..a520c8f833 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_planks.json b/src/generated/resources/assets/twilightforest/items/dark_planks.json new file mode 100644 index 0000000000..5815af31ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/dark_pressure_plate.json new file mode 100644 index 0000000000..3a43326a90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_wood.json b/src/generated/resources/assets/twilightforest/items/dark_wood.json new file mode 100644 index 0000000000..64670689bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/items/darkwood_sapling.json new file mode 100644 index 0000000000..a258ed4e87 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/darkwood_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/darkwood_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_canopy_log.json b/src/generated/resources/assets/twilightforest/items/hollow_canopy_log.json new file mode 100644 index 0000000000..3b50a4cb17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_canopy_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_canopy_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_dark_log.json b/src/generated/resources/assets/twilightforest/items/hollow_dark_log.json new file mode 100644 index 0000000000..58cf4864bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_dark_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_dark_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_mangrove_log.json b/src/generated/resources/assets/twilightforest/items/hollow_mangrove_log.json new file mode 100644 index 0000000000..a8de18f6b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_mangrove_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_mangrove_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_mining_log.json b/src/generated/resources/assets/twilightforest/items/hollow_mining_log.json new file mode 100644 index 0000000000..07610d8471 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_mining_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_mining_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_sorting_log.json b/src/generated/resources/assets/twilightforest/items/hollow_sorting_log.json new file mode 100644 index 0000000000..04347bb687 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_sorting_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_sorting_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_time_log.json b/src/generated/resources/assets/twilightforest/items/hollow_time_log.json new file mode 100644 index 0000000000..32b3e947b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_time_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_time_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_transformation_log.json b/src/generated/resources/assets/twilightforest/items/hollow_transformation_log.json new file mode 100644 index 0000000000..e5540c9c5d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_transformation_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_transformation_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/items/hollow_twilight_oak_log.json new file mode 100644 index 0000000000..bdf6e20bbf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_twilight_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_twilight_oak_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_banister.json b/src/generated/resources/assets/twilightforest/items/mangrove_banister.json new file mode 100644 index 0000000000..f53b0b7cb7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_fence_gate.json b/src/generated/resources/assets/twilightforest/items/mangrove_fence_gate.json new file mode 100644 index 0000000000..3094cfb9b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/mangrove_hanging_sign.json new file mode 100644 index 0000000000..bf345da514 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json new file mode 100644 index 0000000000..abd26cb896 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_log.json b/src/generated/resources/assets/twilightforest/items/mangrove_log.json new file mode 100644 index 0000000000..c3f93f6438 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_planks.json b/src/generated/resources/assets/twilightforest/items/mangrove_planks.json new file mode 100644 index 0000000000..161f302fc5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/mangrove_pressure_plate.json new file mode 100644 index 0000000000..4b8139e999 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/items/mangrove_sapling.json new file mode 100644 index 0000000000..ef900034ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mangrove_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_wood.json b/src/generated/resources/assets/twilightforest/items/mangrove_wood.json new file mode 100644 index 0000000000..e21766ee3b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_banister.json b/src/generated/resources/assets/twilightforest/items/mining_banister.json new file mode 100644 index 0000000000..033f7f1b83 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_fence_gate.json b/src/generated/resources/assets/twilightforest/items/mining_fence_gate.json new file mode 100644 index 0000000000..232da93a71 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/mining_hanging_sign.json new file mode 100644 index 0000000000..b1e6043794 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_leaves.json b/src/generated/resources/assets/twilightforest/items/mining_leaves.json new file mode 100644 index 0000000000..e8be18d268 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_log.json b/src/generated/resources/assets/twilightforest/items/mining_log.json new file mode 100644 index 0000000000..e75d7e9818 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_planks.json b/src/generated/resources/assets/twilightforest/items/mining_planks.json new file mode 100644 index 0000000000..4fdcec404b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/mining_pressure_plate.json new file mode 100644 index 0000000000..176109b1d0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_sapling.json b/src/generated/resources/assets/twilightforest/items/mining_sapling.json new file mode 100644 index 0000000000..db20ed4596 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mining_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_wood.json b/src/generated/resources/assets/twilightforest/items/mining_wood.json new file mode 100644 index 0000000000..065865587e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_banister.json b/src/generated/resources/assets/twilightforest/items/sorting_banister.json new file mode 100644 index 0000000000..2b90f9c216 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_fence_gate.json b/src/generated/resources/assets/twilightforest/items/sorting_fence_gate.json new file mode 100644 index 0000000000..568f85ec3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/sorting_hanging_sign.json new file mode 100644 index 0000000000..1f93f2ecb5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_leaves.json b/src/generated/resources/assets/twilightforest/items/sorting_leaves.json new file mode 100644 index 0000000000..2db4b08009 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_log.json b/src/generated/resources/assets/twilightforest/items/sorting_log.json new file mode 100644 index 0000000000..b9fed5544b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_planks.json b/src/generated/resources/assets/twilightforest/items/sorting_planks.json new file mode 100644 index 0000000000..b3b81fdde3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/sorting_pressure_plate.json new file mode 100644 index 0000000000..7e1654523f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_sapling.json b/src/generated/resources/assets/twilightforest/items/sorting_sapling.json new file mode 100644 index 0000000000..00f00fde6d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/sorting_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_wood.json b/src/generated/resources/assets/twilightforest/items/sorting_wood.json new file mode 100644 index 0000000000..04e37eeeaa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/items/stripped_canopy_log.json new file mode 100644 index 0000000000..2f5e9e34d9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_canopy_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_canopy_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_canopy_wood.json new file mode 100644 index 0000000000..da1f8126b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_canopy_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_canopy_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/items/stripped_dark_log.json new file mode 100644 index 0000000000..8762545699 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_dark_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_dark_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_dark_wood.json new file mode 100644 index 0000000000..aa2cc44f93 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_dark_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_dark_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/items/stripped_mangrove_log.json new file mode 100644 index 0000000000..a194a436c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_mangrove_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_mangrove_wood.json new file mode 100644 index 0000000000..51d7a5750a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_mangrove_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_mangrove_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/items/stripped_mining_log.json new file mode 100644 index 0000000000..757d92b8aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_mining_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_mining_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_mining_wood.json new file mode 100644 index 0000000000..07f727efd8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_mining_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_mining_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/items/stripped_sorting_log.json new file mode 100644 index 0000000000..0fafb6c289 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_sorting_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_sorting_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_sorting_wood.json new file mode 100644 index 0000000000..966d501401 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_sorting_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_sorting_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_time_log.json b/src/generated/resources/assets/twilightforest/items/stripped_time_log.json new file mode 100644 index 0000000000..d8bf9f6651 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_time_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_time_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_time_wood.json new file mode 100644 index 0000000000..12fb7a7fb9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_time_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_time_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/items/stripped_transformation_log.json new file mode 100644 index 0000000000..807af78997 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_transformation_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_transformation_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_transformation_wood.json new file mode 100644 index 0000000000..22fb63a65b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_transformation_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_transformation_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_log.json new file mode 100644 index 0000000000..8a99f2c27d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_twilight_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_wood.json new file mode 100644 index 0000000000..991ca0ea76 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stripped_twilight_oak_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stripped_twilight_oak_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_banister.json b/src/generated/resources/assets/twilightforest/items/time_banister.json new file mode 100644 index 0000000000..2a0f00f017 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_fence_gate.json b/src/generated/resources/assets/twilightforest/items/time_fence_gate.json new file mode 100644 index 0000000000..39b6ee2712 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/time_hanging_sign.json new file mode 100644 index 0000000000..2c1ba2a1cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_leaves.json b/src/generated/resources/assets/twilightforest/items/time_leaves.json new file mode 100644 index 0000000000..89127d6c2b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_log.json b/src/generated/resources/assets/twilightforest/items/time_log.json new file mode 100644 index 0000000000..25a2f616bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_planks.json b/src/generated/resources/assets/twilightforest/items/time_planks.json new file mode 100644 index 0000000000..f65c2a3ba3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/time_pressure_plate.json new file mode 100644 index 0000000000..0d3f4d9cf9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_sapling.json b/src/generated/resources/assets/twilightforest/items/time_sapling.json new file mode 100644 index 0000000000..dc23ee9d4b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/time_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_wood.json b/src/generated/resources/assets/twilightforest/items/time_wood.json new file mode 100644 index 0000000000..80b19f0e90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_banister.json b/src/generated/resources/assets/twilightforest/items/transformation_banister.json new file mode 100644 index 0000000000..8f37e694e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_fence_gate.json b/src/generated/resources/assets/twilightforest/items/transformation_fence_gate.json new file mode 100644 index 0000000000..7ab1685aa4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/transformation_hanging_sign.json new file mode 100644 index 0000000000..f58cb7a7d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_leaves.json b/src/generated/resources/assets/twilightforest/items/transformation_leaves.json new file mode 100644 index 0000000000..db20e73b66 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_log.json b/src/generated/resources/assets/twilightforest/items/transformation_log.json new file mode 100644 index 0000000000..74ed961800 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_planks.json b/src/generated/resources/assets/twilightforest/items/transformation_planks.json new file mode 100644 index 0000000000..838ca4158e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/transformation_pressure_plate.json new file mode 100644 index 0000000000..5a1a45ebd3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_sapling.json b/src/generated/resources/assets/twilightforest/items/transformation_sapling.json new file mode 100644 index 0000000000..560d847088 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/transformation_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_wood.json b/src/generated/resources/assets/twilightforest/items/transformation_wood.json new file mode 100644 index 0000000000..6ecae00b4b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_banister.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_banister.json new file mode 100644 index 0000000000..142d9ac9ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_fence_gate.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_fence_gate.json new file mode 100644 index 0000000000..6f2b119389 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_fence_gate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_fence_gate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_hanging_sign.json new file mode 100644 index 0000000000..437e617271 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_leaves.json new file mode 100644 index 0000000000..0bddf91633 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_log.json new file mode 100644 index 0000000000..7385495780 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_planks.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_planks.json new file mode 100644 index 0000000000..8bc1e53561 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_planks.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_pressure_plate.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_pressure_plate.json new file mode 100644 index 0000000000..f15ae81e5b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_pressure_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_sapling.json new file mode 100644 index 0000000000..661a599bf7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/twilight_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_wood.json new file mode 100644 index 0000000000..42bf578901 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/twilight_oak_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json index fcb7d32236..bae5746ac8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs.json @@ -1,8 +1,8 @@ { "parent": "minecraft:block/stairs", "textures": { - "bottom": "twilightforest:block/bold_castle_brick_stairs", - "side": "twilightforest:block/bold_castle_brick_stairs", - "top": "twilightforest:block/bold_castle_brick_stairs" + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json index 20a9eb2ff2..3b413338aa 100644 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_inner_inner.json @@ -1,8 +1,8 @@ { "parent": "minecraft:block/inner_stairs", "textures": { - "bottom": "twilightforest:block/bold_castle_brick_stairs", - "side": "twilightforest:block/bold_castle_brick_stairs", - "top": "twilightforest:block/bold_castle_brick_stairs" + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json index 7698120d66..b7604f8996 100644 --- a/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json +++ b/src/generated/resources/assets/twilightforest/models/block/bold_castle_brick_stairs_outer_outer.json @@ -1,8 +1,8 @@ { "parent": "minecraft:block/outer_stairs", "textures": { - "bottom": "twilightforest:block/bold_castle_brick_stairs", - "side": "twilightforest:block/bold_castle_brick_stairs", - "top": "twilightforest:block/bold_castle_brick_stairs" + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected.json new file mode 100644 index 0000000000..811c4dcc32 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected_extended.json new file mode 100644 index 0000000000..2d7b967730 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_inventory.json new file mode 100644 index 0000000000..fd14950359 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short.json new file mode 100644 index 0000000000..9f6c119300 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short_extended.json new file mode 100644 index 0000000000..c05ca32fa7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall.json new file mode 100644 index 0000000000..2223da3140 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall_extended.json new file mode 100644 index 0000000000..7517991b43 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json index 6713b6cc6c..3c4fc4f450 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json index ab7af39bbe..66c2ebfc3a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json index b0b61b17cc..c8151771fa 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json index eb1ff18fc9..2e7c26f2e8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json index c527ed44bf..f4d4cd6336 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json index 808082461e..fd3386c5f1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json index 171ff32474..0eeb27dce8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json index 1093ba9b2d..c3212c9d2b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/canopy_door_bottom", "top": "twilightforest:block/canopy_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json new file mode 100644 index 0000000000..5f6f1721cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log.json new file mode 100644 index 0000000000..ece6c26e7e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json new file mode 100644 index 0000000000..bf1fea058b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json new file mode 100644 index 0000000000..cfa9b53ef5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/canopy_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/canopy_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json index ead61e779e..968b194b57 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/canopy_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json index 4fa8d9a519..4cce81d2fb 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/canopy_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json index 5b7d7dfb46..f0bd10a387 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/canopy_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json new file mode 100644 index 0000000000..132457af4a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/canopy_log_side", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected.json new file mode 100644 index 0000000000..e6f370e458 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected_extended.json new file mode 100644 index 0000000000..13967aed65 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_inventory.json new file mode 100644 index 0000000000..6de3d426be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_short.json new file mode 100644 index 0000000000..9c2e8147d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_short_extended.json new file mode 100644 index 0000000000..58ad7db729 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall.json new file mode 100644 index 0000000000..eeae3c153e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall_extended.json new file mode 100644 index 0000000000..6980931287 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/dark_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json index dde27cf5c5..888f7ca937 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json index 87fb1f00f3..1e295fd850 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json index 5f04594f9d..66d82908f7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json index 93cf88cb49..44540c303e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json index 0d12ea727e..f2cbfc7a7b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json index 3d4d69b60c..8e72397c18 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json index 792879d19e..76df33e48c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json index f9c36733a4..7492b5946c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/dark_door_bottom", "top": "twilightforest:block/dark_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json new file mode 100644 index 0000000000..724239be08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log.json b/src/generated/resources/assets/twilightforest/models/block/dark_log.json new file mode 100644 index 0000000000..b74ddcd080 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/dark_log_top", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json new file mode 100644 index 0000000000..3992d2319b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/dark_log_top", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/dark_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/dark_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json index 37b2d48b3d..a3b5ff8248 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/dark_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json index fb062be7da..5d85c948f3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/dark_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json index bf302832f8..ce1755c6da 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/dark_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/dark_wood.json new file mode 100644 index 0000000000..d87fe6375e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/dark_log_side", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json new file mode 100644 index 0000000000..7aab063098 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/darkwood_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/darkwood_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json new file mode 100644 index 0000000000..074c3e7039 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json new file mode 100644 index 0000000000..995c321543 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json new file mode 100644 index 0000000000..501ca51f01 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..1bdc7d617e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json new file mode 100644 index 0000000000..106d63f483 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json new file mode 100644 index 0000000000..a44747e5bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json new file mode 100644 index 0000000000..56d973aa12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "inside": "twilightforest:block/stripped_canopy_log_side", + "side": "twilightforest:block/canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json new file mode 100644 index 0000000000..9c00fc97b7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json new file mode 100644 index 0000000000..79aa8ab958 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json new file mode 100644 index 0000000000..097424c27c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..0f24cf735d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json new file mode 100644 index 0000000000..93d304c7bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json new file mode 100644 index 0000000000..ff160bd6ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json new file mode 100644 index 0000000000..980e42b67d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/dark_log_top", + "inside": "twilightforest:block/stripped_dark_log_side", + "side": "twilightforest:block/dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json new file mode 100644 index 0000000000..e26e8f50d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json new file mode 100644 index 0000000000..48698ab37d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json new file mode 100644 index 0000000000..6d47e982a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..31882b778d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json new file mode 100644 index 0000000000..50d2337fe9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json new file mode 100644 index 0000000000..e6361edf1f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json new file mode 100644 index 0000000000..1ae7558ece --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/mangrove_log_top", + "inside": "twilightforest:block/stripped_mangrove_log_side", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json new file mode 100644 index 0000000000..6194d4ce23 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json new file mode 100644 index 0000000000..bb104aaf71 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json new file mode 100644 index 0000000000..487eeebff6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..59f1b0bed0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json new file mode 100644 index 0000000000..a8bb3771bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json new file mode 100644 index 0000000000..a6bbb4133d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json new file mode 100644 index 0000000000..8828c0b32e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/mining_log_top", + "inside": "twilightforest:block/stripped_mining_log_side", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json new file mode 100644 index 0000000000..e86c80f185 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json new file mode 100644 index 0000000000..f3d8f4a2e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json new file mode 100644 index 0000000000..ff0455b538 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..4493769995 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json new file mode 100644 index 0000000000..2f0f451470 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json new file mode 100644 index 0000000000..6829a8422f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json new file mode 100644 index 0000000000..2b58690bc4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "inside": "twilightforest:block/stripped_sorting_log_side", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json new file mode 100644 index 0000000000..cd8404e25d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json new file mode 100644 index 0000000000..5dd8b331c9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json new file mode 100644 index 0000000000..a1801cf720 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..f09fe4d55b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json new file mode 100644 index 0000000000..21cfe01a0e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json new file mode 100644 index 0000000000..580616747c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json new file mode 100644 index 0000000000..e09f526f5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/time_log_top", + "inside": "twilightforest:block/stripped_time_log_side", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json new file mode 100644 index 0000000000..2fe52c84c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json new file mode 100644 index 0000000000..4005a5f634 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json new file mode 100644 index 0000000000..cbda88e820 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..18561e0c3a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json new file mode 100644 index 0000000000..d7e48d49c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json new file mode 100644 index 0000000000..d3bf8e57d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json new file mode 100644 index 0000000000..86eded5641 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "inside": "twilightforest:block/stripped_transformation_log_side", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json new file mode 100644 index 0000000000..82b7081a8b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json new file mode 100644 index 0000000000..a2af023c10 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json new file mode 100644 index 0000000000..43a08003be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..f45840cc15 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json new file mode 100644 index 0000000000..3d80095d0e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "overhang": "twilightforest:block/moss_overhang", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json new file mode 100644 index 0000000000..5f638f52ca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "overhang": "twilightforest:block/snow_overhang", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json new file mode 100644 index 0000000000..17762ee2b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "twilightforest:block/twilight_oak_log_top", + "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected.json new file mode 100644 index 0000000000..e554fbc619 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected_extended.json new file mode 100644 index 0000000000..38a84c7778 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_inventory.json new file mode 100644 index 0000000000..4f90ada3aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short.json new file mode 100644 index 0000000000..c5b6536382 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short_extended.json new file mode 100644 index 0000000000..2ab7578c03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall.json new file mode 100644 index 0000000000..772aa421d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall_extended.json new file mode 100644 index 0000000000..5277c6aee3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json index eed3f519eb..4863f79fee 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json index f66585ca0a..0bd06f8401 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json index 5779414905..27037ce699 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json index feb9a57a22..633abc095a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json index 2805a12433..1993623989 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json index c0733ed96f..85886f2c0a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json index aa5fece95e..0a485c40a2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json index e1518bc57c..5d38815818 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mangrove_door_bottom", "top": "twilightforest:block/mangrove_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json new file mode 100644 index 0000000000..cbc5a8b70c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json new file mode 100644 index 0000000000..7f64f16877 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mangrove_log_top", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json new file mode 100644 index 0000000000..9d35c8db89 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/mangrove_log_top", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json new file mode 100644 index 0000000000..1b33ff9188 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/mangrove_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/mangrove_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json index 9d9c883aa5..4c5c9c13ae 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mangrove_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json index 7acf3692d4..47149c0cd4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mangrove_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json index c29dbe030a..9ab9ea6cfb 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mangrove_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json new file mode 100644 index 0000000000..0ed897f772 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mangrove_log_side", + "side": "twilightforest:block/mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected.json new file mode 100644 index 0000000000..603246d517 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected_extended.json new file mode 100644 index 0000000000..1ae3e5592e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_inventory.json new file mode 100644 index 0000000000..f09835d006 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_short.json new file mode 100644 index 0000000000..13541f8da7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_short_extended.json new file mode 100644 index 0000000000..25ec5a26ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall.json new file mode 100644 index 0000000000..dec15a6779 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall_extended.json new file mode 100644 index 0000000000..b5f5006cbe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/mining_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json index 8c8df1c275..f108ee8f24 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json index 7c9593f171..53ce8a0763 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json index 1ba0a353d0..3b49c6cbd4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json index e450b76c11..8119358854 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json index 3421d7107f..e82d209f1e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json index 5f426699ce..8caf12b355 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json index 3fe4dec652..8c37dd0bb4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json index e0b3fc39e8..c80b36bb4d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/mining_door_bottom", "top": "twilightforest:block/mining_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json new file mode 100644 index 0000000000..be630d83b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log.json b/src/generated/resources/assets/twilightforest/models/block/mining_log.json new file mode 100644 index 0000000000..40f4701016 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mining_log_top", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json new file mode 100644 index 0000000000..df2d3b8c9f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/mining_log_top", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json b/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json new file mode 100644 index 0000000000..232f541efb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/mining_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/mining_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/mining_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json index bded92ac62..13d6d12c00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mining_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json index 7f043a5b1f..2b85f981f4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mining_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json index c9d44dd25f..23982bf84d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/mining_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/mining_wood.json new file mode 100644 index 0000000000..2aabded2ca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mining_log_side", + "side": "twilightforest:block/mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json index 8ae3e16429..9c68c10b41 100644 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json @@ -2,11 +2,11 @@ "parent": "minecraft:block/cube", "textures": { "down": "twilightforest:block/nagastone_bottom_tip", - "east": "twilightforest:block/nagastone_cross_section", - "north": "twilightforest:block/nagastone_face_right", + "east": "twilightforest:block/nagastone_face_right", + "north": "twilightforest:block/nagastone_face_front", "particle": "twilightforest:block/nagastone_face_front", - "south": "twilightforest:block/nagastone_face_left", + "south": "twilightforest:block/nagastone_cross_section", "up": "twilightforest:block/nagastone_top_tip", - "west": "twilightforest:block/nagastone_face_front" + "west": "twilightforest:block/nagastone_face_left" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json new file mode 100644 index 0000000000..cf12f85cb8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_canopy_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/canopy_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json new file mode 100644 index 0000000000..a97cd0f500 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_darkwood_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/darkwood_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json new file mode 100644 index 0000000000..c277488037 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_mangrove_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/mangrove_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json new file mode 100644 index 0000000000..8dce3a10ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_mining_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/mining_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json new file mode 100644 index 0000000000..7567d44f0c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_sorting_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/sorting_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json new file mode 100644 index 0000000000..1915a667e0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_time_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/time_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json new file mode 100644 index 0000000000..b8cb63b843 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_transformation_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/transformation_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json new file mode 100644 index 0000000000..6f6606efdc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_twilight_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/twilight_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected.json new file mode 100644 index 0000000000..24450e3836 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected_extended.json new file mode 100644 index 0000000000..64052627d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_inventory.json new file mode 100644 index 0000000000..5e1209178a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short.json new file mode 100644 index 0000000000..fb185bc560 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short_extended.json new file mode 100644 index 0000000000..ee0c083ba4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall.json new file mode 100644 index 0000000000..b6a54ab7fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall_extended.json new file mode 100644 index 0000000000..2960bc827c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/sorting_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json index cb6e3c29b0..a0ab565513 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json index 6d3a944091..02ab0c2cb0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json index 6694cd12cc..f5944adf8f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json index 4d09704b92..67408861e5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json index 6ad922fe9d..2365ad5277 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json index d81b42a35c..3237085dd3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json index c7a7be8a8e..55b53d65c4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json index 4cbb25fb72..e7dfef0070 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json new file mode 100644 index 0000000000..9d75e21da2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log.json new file mode 100644 index 0000000000..168f6123e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json new file mode 100644 index 0000000000..fafab28ce2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json new file mode 100644 index 0000000000..8b144a2638 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/sorting_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/sorting_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json index 696252f333..27f5ca5e51 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json index 8213942a7c..46aa5c1fbc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json index 62250ad0f3..da8d2153d1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json new file mode 100644 index 0000000000..7d2c3fbfe5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/sorting_log_side", + "side": "twilightforest:block/sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json new file mode 100644 index 0000000000..8cd0d46aea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_canopy_log_top", + "side": "twilightforest:block/stripped_canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json new file mode 100644 index 0000000000..cdc782e4e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_canopy_log_top", + "side": "twilightforest:block/stripped_canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json new file mode 100644 index 0000000000..8cd0d46aea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_canopy_log_top", + "side": "twilightforest:block/stripped_canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json new file mode 100644 index 0000000000..cdc782e4e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_canopy_log_top", + "side": "twilightforest:block/stripped_canopy_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json new file mode 100644 index 0000000000..b1872692c2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_dark_log_top", + "side": "twilightforest:block/stripped_dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json new file mode 100644 index 0000000000..aacd66f820 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_dark_log_top", + "side": "twilightforest:block/stripped_dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json new file mode 100644 index 0000000000..b1872692c2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_dark_log_top", + "side": "twilightforest:block/stripped_dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json new file mode 100644 index 0000000000..aacd66f820 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_dark_log_top", + "side": "twilightforest:block/stripped_dark_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json new file mode 100644 index 0000000000..5581a24067 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_mangrove_log_top", + "side": "twilightforest:block/stripped_mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json new file mode 100644 index 0000000000..7e426b169f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_mangrove_log_top", + "side": "twilightforest:block/stripped_mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json new file mode 100644 index 0000000000..5581a24067 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_mangrove_log_top", + "side": "twilightforest:block/stripped_mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json new file mode 100644 index 0000000000..7e426b169f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_mangrove_log_top", + "side": "twilightforest:block/stripped_mangrove_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json new file mode 100644 index 0000000000..bebc5bac02 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_mining_log_top", + "side": "twilightforest:block/stripped_mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json new file mode 100644 index 0000000000..4602660ef2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_mining_log_top", + "side": "twilightforest:block/stripped_mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json new file mode 100644 index 0000000000..bebc5bac02 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_mining_log_top", + "side": "twilightforest:block/stripped_mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json new file mode 100644 index 0000000000..4602660ef2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_mining_log_top", + "side": "twilightforest:block/stripped_mining_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json new file mode 100644 index 0000000000..4a46f68167 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_sorting_log_top", + "side": "twilightforest:block/stripped_sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json new file mode 100644 index 0000000000..1447411ed6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_sorting_log_top", + "side": "twilightforest:block/stripped_sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json new file mode 100644 index 0000000000..4a46f68167 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_sorting_log_top", + "side": "twilightforest:block/stripped_sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json new file mode 100644 index 0000000000..1447411ed6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_sorting_log_top", + "side": "twilightforest:block/stripped_sorting_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json new file mode 100644 index 0000000000..61e63d0f9a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_time_log_top", + "side": "twilightforest:block/stripped_time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json new file mode 100644 index 0000000000..c90f1b679c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_time_log_top", + "side": "twilightforest:block/stripped_time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json new file mode 100644 index 0000000000..61e63d0f9a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_time_log_top", + "side": "twilightforest:block/stripped_time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json new file mode 100644 index 0000000000..c90f1b679c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_time_log_top", + "side": "twilightforest:block/stripped_time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json new file mode 100644 index 0000000000..21de528226 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_transformation_log_top", + "side": "twilightforest:block/stripped_transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json new file mode 100644 index 0000000000..9df92d169f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_transformation_log_top", + "side": "twilightforest:block/stripped_transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json new file mode 100644 index 0000000000..21de528226 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_transformation_log_top", + "side": "twilightforest:block/stripped_transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json new file mode 100644 index 0000000000..9df92d169f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_transformation_log_top", + "side": "twilightforest:block/stripped_transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json new file mode 100644 index 0000000000..eccae09872 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_twilight_oak_log_top", + "side": "twilightforest:block/stripped_twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json new file mode 100644 index 0000000000..119912a77c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_twilight_oak_log_top", + "side": "twilightforest:block/stripped_twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json new file mode 100644 index 0000000000..eccae09872 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/stripped_twilight_oak_log_top", + "side": "twilightforest:block/stripped_twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json new file mode 100644 index 0000000000..119912a77c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/stripped_twilight_oak_log_top", + "side": "twilightforest:block/stripped_twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_connected.json new file mode 100644 index 0000000000..d924ae9ae9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_connected_extended.json new file mode 100644 index 0000000000..870a156aa9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_inventory.json new file mode 100644 index 0000000000..acff7e616c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_short.json new file mode 100644 index 0000000000..3fb749995f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_short_extended.json new file mode 100644 index 0000000000..2442deb4a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_tall.json new file mode 100644 index 0000000000..a6e026da02 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/time_banister_tall_extended.json new file mode 100644 index 0000000000..204282f36b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/time_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json index f209811fc5..941b186816 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json index d39b39f056..fafb69e279 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json index d6e0f7069c..fcc1ccf114 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json index 6339194487..9873f2b7be 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json index 4dfd0cebc5..860c50fdf4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json index 17ed31a29a..b255c35aa7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json index 924860ee35..b44d81d411 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json index ad3339f59b..6f317d65f4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json new file mode 100644 index 0000000000..a200cb6df9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log.json b/src/generated/resources/assets/twilightforest/models/block/time_log.json new file mode 100644 index 0000000000..1ce741fdf1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/time_log_top", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json new file mode 100644 index 0000000000..f11e90cb3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/time_log_top", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_sapling.json b/src/generated/resources/assets/twilightforest/models/block/time_sapling.json new file mode 100644 index 0000000000..fc0dd24b5c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/time_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/time_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/time_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/time_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/time_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/time_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/time_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json index bcc7bd0851..83d14fc8bd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json index 02f9dc0323..a1a0fddbae 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json index 2df8b1ed9e..a9fe4a7ac7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wood.json b/src/generated/resources/assets/twilightforest/models/block/time_wood.json new file mode 100644 index 0000000000..bee09cc305 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/time_log_side", + "side": "twilightforest:block/time_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected.json new file mode 100644 index 0000000000..058c106b2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected_extended.json new file mode 100644 index 0000000000..40758cea8a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_inventory.json new file mode 100644 index 0000000000..a684b8bf74 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short.json new file mode 100644 index 0000000000..8053e3bb35 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short_extended.json new file mode 100644 index 0000000000..d0bcf4184f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall.json new file mode 100644 index 0000000000..5e96d1be7e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall_extended.json new file mode 100644 index 0000000000..d4ba946d01 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/transformation_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json index 840506852d..65ff14d5f5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json index fa2ae265da..2fd0e75e6b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json index b4ae27f786..cefde86f69 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json index d802ffc081..acf7583ff4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json index c5d10cbd3e..db6cfd2e1e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json index 5503b7b1af..cc42c0bfec 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json index 492a3f1745..ef60b739d2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json index 441368edbc..a54cd4dfef 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json new file mode 100644 index 0000000000..875e5bcb54 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log.json new file mode 100644 index 0000000000..a3e407fde5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json new file mode 100644 index 0000000000..283f06aef7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json new file mode 100644 index 0000000000..d1f5846d81 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/transformation_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/transformation_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json index b471b8d95e..231931380f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json index 34268e094a..41994debe4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json index 09e2669014..453578e98f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json new file mode 100644 index 0000000000..8b926a2bc5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/transformation_log_side", + "side": "twilightforest:block/transformation_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected.json new file mode 100644 index 0000000000..542a3d8c09 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json new file mode 100644 index 0000000000..2439a78ea5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_inventory.json new file mode 100644 index 0000000000..7754106931 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short.json new file mode 100644 index 0000000000..a611fc273f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short_extended.json new file mode 100644 index 0000000000..e56e52ae3b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall.json new file mode 100644 index 0000000000..7640d3b28e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall_extended.json new file mode 100644 index 0000000000..93590d7bd8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "twilightforest:block/twilight_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json index 49fa2d7e19..73ab1b77a0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json index be51f5b694..2d216822eb 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json index d72a8b6ece..ded9faaf58 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json index 91e2eee823..a6fb2ec76f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_bottom_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json index 669ef94539..4adb267197 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json index a243c4ee88..2f27670932 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_left_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json index 4aa1dfbf01..f2c9a53ff6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json index 70e3d8f5c8..96487506dd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_door_top_right_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", + "render_type": "minecraft:solid", "textures": { "bottom": "twilightforest:block/twilight_oak_door_bottom", "top": "twilightforest:block/twilight_oak_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json new file mode 100644 index 0000000000..2047fcc41c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/stripped_twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json new file mode 100644 index 0000000000..a62d20f85a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/twilight_oak_log_top", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json new file mode 100644 index 0000000000..baa4b584cf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/twilight_oak_log_top", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json new file mode 100644 index 0000000000..9420fa5a4b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/twilight_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner_inner.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner.json rename to src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer_outer.json similarity index 100% rename from src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer.json rename to src/generated/resources/assets/twilightforest/models/block/twilight_oak_stairs_outer_outer.json diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json index b0adbb9952..40680da601 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_bottom.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/twilight_oak_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json index 5d63e1525a..b115249194 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_open.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/twilight_oak_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json index 712b0ce116..be045fd700 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_trapdoor_top.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", + "render_type": "minecraft:solid", "textures": { "texture": "twilightforest:block/twilight_oak_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json new file mode 100644 index 0000000000..618b51c6f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/twilight_oak_log_side", + "side": "twilightforest:block/twilight_oak_log_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json new file mode 100644 index 0000000000..6c78f80983 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/canopy_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/canopy_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json b/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json new file mode 100644 index 0000000000..ab9a73b0e9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/canopy_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/canopy_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json new file mode 100644 index 0000000000..fb61e2cc1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/dark_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/dark_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json b/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json new file mode 100644 index 0000000000..5b2ef00c92 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/darkwood_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/darkwood_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json new file mode 100644 index 0000000000..7670610fb4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mangrove_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/mangrove_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json b/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json new file mode 100644 index 0000000000..2fbd592643 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mangrove_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/mangrove_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json new file mode 100644 index 0000000000..5f380d1747 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mining_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/mining_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json b/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json new file mode 100644 index 0000000000..d0a70a4f35 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mining_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/mining_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json new file mode 100644 index 0000000000..80042e2149 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/sorting_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/sorting_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json b/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json new file mode 100644 index 0000000000..35219ce0fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/sorting_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/sorting_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json new file mode 100644 index 0000000000..ef4eb2b049 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/time_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/time_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/time_sapling.json b/src/generated/resources/assets/twilightforest/models/item/time_sapling.json new file mode 100644 index 0000000000..afa3eee5d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/time_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/time_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json new file mode 100644 index 0000000000..a4e73a6862 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/transformation_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/transformation_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json b/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json new file mode 100644 index 0000000000..cc36cc4c34 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/transformation_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/transformation_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json new file mode 100644 index 0000000000..ff049a68d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/twilight_oak_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json new file mode 100644 index 0000000000..bbb071583d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/twilight_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/twilight_oak_sapling" + } +} \ No newline at end of file From d7ff5b0d907266d23a588014d99138375d18b8de Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:54:44 -0600 Subject: [PATCH 094/239] finish wood blocks, add pale oak blocks --- .../datagen/assets/LangGenerator.java | 2 + .../assets/models/BlockModelGenerator.java | 167 +++++++++++------- .../datagen/data/loot/BlockLootTables.java | 4 + .../data/recipes/CraftingGenerator.java | 1 + .../data/recipes/StonecuttingGenerator.java | 1 + .../datagen/data/tags/BlockTagGenerator.java | 4 + .../helpers/models/BlockModelBuilders.java | 37 ++++ .../helpers/models/WoodBlockBuilders.java | 125 ++++++++++--- .../java/twilightforest/init/TFBlocks.java | 4 + .../twilightforest/init/TFCreativeTabs.java | 2 + .../java/twilightforest/init/TFItems.java | 1 + .../block/chiseled_canopy_bookshelf.json | 22 +++ .../{canopy_log_side.png => canopy_log.png} | Bin .../block/{dark_log_side.png => dark_log.png} | Bin ...mangrove_log_side.png => mangrove_log.png} | Bin .../{mining_log_side.png => mining_log.png} | Bin .../{sorting_log_side.png => sorting_log.png} | Bin ...y_log_side.png => stripped_canopy_log.png} | Bin ...ark_log_side.png => stripped_dark_log.png} | Bin ...log_side.png => stripped_mangrove_log.png} | Bin ...g_log_side.png => stripped_mining_log.png} | Bin ..._log_side.png => stripped_sorting_log.png} | Bin ...ime_log_side.png => stripped_time_log.png} | Bin ...de.png => stripped_transformation_log.png} | Bin ...side.png => stripped_twilight_oak_log.png} | Bin .../block/{time_log_side.png => time_log.png} | Bin ...on_log_side.png => transformation_log.png} | Bin ..._oak_log_side.png => twilight_oak_log.png} | Bin 28 files changed, 279 insertions(+), 91 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json rename src/main/resources/assets/twilightforest/textures/block/{canopy_log_side.png => canopy_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{dark_log_side.png => dark_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mangrove_log_side.png => mangrove_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mining_log_side.png => mining_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{sorting_log_side.png => sorting_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_canopy_log_side.png => stripped_canopy_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_dark_log_side.png => stripped_dark_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_mangrove_log_side.png => stripped_mangrove_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_mining_log_side.png => stripped_mining_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_sorting_log_side.png => stripped_sorting_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_time_log_side.png => stripped_time_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_transformation_log_side.png => stripped_transformation_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{stripped_twilight_oak_log_side.png => stripped_twilight_oak_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{time_log_side.png => time_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{transformation_log_side.png => transformation_log.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{twilight_oak_log_side.png => twilight_oak_log.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/LangGenerator.java b/src/data/java/twilightforest/datagen/assets/LangGenerator.java index 66ff597004..3e277a894c 100644 --- a/src/data/java/twilightforest/datagen/assets/LangGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/LangGenerator.java @@ -389,6 +389,7 @@ protected void addTranslations() { this.addBlock(TFBlocks.VANGROVE_BANISTER, "Mangrove Banister"); this.addBlock(TFBlocks.BAMBOO_BANISTER, "Bamboo Banister"); this.addBlock(TFBlocks.CHERRY_BANISTER, "Cherry Banister"); + this.addBlock(TFBlocks.PALE_OAK_BANISTER, "Pale Oak Banister"); this.createHollowLogs("oak", "Oak", false); this.createHollowLogs("spruce", "Spruce", false); @@ -400,6 +401,7 @@ protected void addTranslations() { this.createHollowLogs("warped", "Warped", true); this.createHollowLogs("vangrove", "Mangrove", false); this.createHollowLogs("cherry", "Cherry", false); + this.createHollowLogs("pale_oak", "Pale Oak", false); this.add("block.twilightforest.banister.cycle", "Right-click with axe to cycle"); this.addBlock(TFBlocks.MOSS_PATCH, "Moss Patch"); diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 9dfdbf003e..38e9da9a36 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -47,6 +47,7 @@ public void run() { this.thorns(TFBlocks.GREEN_THORNS.get()); this.thorns(TFBlocks.BURNT_THORNS.get()); this.directionalCrossModel(TFBlocks.THORN_ROSE.get(), PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.THORN_LEAVES.get(), TextureMapping.cube(Blocks.SPRUCE_LEAVES), -10380959); this.wrapBlockItem(TFBlocks.DEADROCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.CRACKED_DEADROCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.WEATHERED_DEADROCK.get(), this::createTrivialCube); @@ -117,31 +118,16 @@ public void run() { this.generateTrophy(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), minor, "alpha_yeti_trophy"); this.generateTrophy(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), major); this.generateTrophy(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), quest, "smaller_gui_trophy"); - - this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); - this.createChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal"), false); - this.createChest(TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/normal"), false); - this.createChest(TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/normal"), false); - this.createChest(TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/normal"), false); - this.createChest(TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/normal"), false); - this.createChest(TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/normal"), false); - this.createChest(TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/normal"), false); - - this.createChest(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/trapped"), false); - this.createChest(TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/trapped"), false); - this.createChest(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/trapped"), false); - this.createChest(TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/trapped"), false); - this.createChest(TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/trapped"), false); - this.createChest(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/trapped"), false); - this.createChest(TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/trapped"), false); - this.createChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped"), false); } private void generateWoodBlocks() { - this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TWILIGHT_OAK_LOG.get()))); - this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TWILIGHT_OAK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.ROOT_BLOCK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.LIVEROOT_BLOCK.get(), this::createTrivialCube); + + this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); this.generateHollowLog(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); @@ -159,13 +145,13 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()); this.generateBanister(TFBlocks.TWILIGHT_OAK_BANISTER.get(), twilightOak); - this.wrapBlockItem(TFBlocks.CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.CANOPY_LOG.get()))); - this.wrapBlockItem(TFBlocks.CANOPY_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.CANOPY_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_CANOPY_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.CANOPY_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); this.generateHollowLog(TFBlocks.CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.CANOPY_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.CANOPY_LEAVES.get(), TextureMapping.cube(Blocks.SPRUCE_LEAVES), -10380959); this.wrapBlockItem(TFBlocks.CANOPY_PLANKS.get(), this::createTrivialCube); TextureMapping canopy = TextureMapping.cube(TFBlocks.CANOPY_PLANKS.get()); this.generateStairs(TFBlocks.CANOPY_STAIRS.get(), canopy); @@ -179,14 +165,19 @@ private void generateWoodBlocks() { this.generateSign(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), canopy); this.generateHangingSign(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_CANOPY_LOG.get()); this.generateBanister(TFBlocks.CANOPY_BANISTER.get(), canopy); + this.wrapBlockItem(TFBlocks.CANOPY_BOOKSHELF.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(block), TextureMapping.getBlockTexture(TFBlocks.CANOPY_PLANKS.get())), this.modelOutput)))); + this.createChiseledBookshelf(TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()); + this.wrapBlockItem(TFBlocks.CANOPY_WINDOW.get(), block -> this.simpleBlockWithRenderType(block, "translucent")); + this.createPaneBlock(TFBlocks.CANOPY_WINDOW.get(), TFBlocks.CANOPY_WINDOW_PANE.get()); - this.wrapBlockItem(TFBlocks.MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.MANGROVE_LOG.get()))); - this.wrapBlockItem(TFBlocks.MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.MANGROVE_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); this.generateHollowLog(TFBlocks.MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.MANGROVE_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.MANGROVE_LEAVES.get(), TextureMapping.cube(Blocks.BIRCH_LEAVES), -8345771); + this.wrapBlockItem(TFBlocks.MANGROVE_ROOT.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MANGROVE_PLANKS.get(), this::createTrivialCube); TextureMapping mangrove = TextureMapping.cube(TFBlocks.MANGROVE_PLANKS.get()); this.generateStairs(TFBlocks.MANGROVE_STAIRS.get(), mangrove); @@ -201,13 +192,13 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get()); this.generateBanister(TFBlocks.MANGROVE_BANISTER.get(), mangrove); - this.wrapBlockItem(TFBlocks.DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.DARK_LOG.get()))); - this.wrapBlockItem(TFBlocks.DARK_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.DARK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_DARK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.DARK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.DARK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.DARK_LEAVES.get(), -12012264); this.wrapBlockItem(TFBlocks.DARK_PLANKS.get(), this::createTrivialCube); TextureMapping dark = TextureMapping.cube(TFBlocks.DARK_PLANKS.get()); this.generateStairs(TFBlocks.DARK_STAIRS.get(), dark); @@ -222,13 +213,14 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_DARK_LOG.get()); this.generateBanister(TFBlocks.DARK_BANISTER.get(), dark); - this.wrapBlockItem(TFBlocks.TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TIME_LOG.get()))); - this.wrapBlockItem(TFBlocks.TIME_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TIME_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TIME_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.TIME_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.generateTreeCore(TFBlocks.TIME_LOG.get(), TFBlocks.TIME_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TIME_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.TIME_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.TIME_LEAVES.get(), 6986775); this.wrapBlockItem(TFBlocks.TIME_PLANKS.get(), this::createTrivialCube); TextureMapping time = TextureMapping.cube(TFBlocks.TIME_PLANKS.get()); this.generateStairs(TFBlocks.TIME_STAIRS.get(), time); @@ -237,19 +229,20 @@ private void generateWoodBlocks() { this.generateFence(TFBlocks.TIME_FENCE.get(), time); this.generateFenceGate(TFBlocks.TIME_GATE.get(), time); this.generatePressurePlate(TFBlocks.TIME_PLATE.get(), time); - this.generateTrapdoor(TFBlocks.TIME_TRAPDOOR.get(), true, "solid"); - this.generateDoor(TFBlocks.TIME_DOOR.get(), false, "solid"); + this.generateTrapdoor(TFBlocks.TIME_TRAPDOOR.get(), true, "cutout"); + this.generateDoor(TFBlocks.TIME_DOOR.get(), false, "cutout"); this.generateSign(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), time); this.generateHangingSign(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TIME_LOG.get()); this.generateBanister(TFBlocks.TIME_BANISTER.get(), time); - this.wrapBlockItem(TFBlocks.TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.TRANSFORMATION_LOG.get()))); - this.wrapBlockItem(TFBlocks.TRANSFORMATION_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.TRANSFORMATION_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.TRANSFORMATION_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.generateTreeCore(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), 7130346); this.wrapBlockItem(TFBlocks.TRANSFORMATION_PLANKS.get(), this::createTrivialCube); TextureMapping transformation = TextureMapping.cube(TFBlocks.TRANSFORMATION_PLANKS.get()); this.generateStairs(TFBlocks.TRANSFORMATION_STAIRS.get(), transformation); @@ -258,19 +251,20 @@ private void generateWoodBlocks() { this.generateFence(TFBlocks.TRANSFORMATION_FENCE.get(), transformation); this.generateFenceGate(TFBlocks.TRANSFORMATION_GATE.get(), transformation); this.generatePressurePlate(TFBlocks.TRANSFORMATION_PLATE.get(), transformation); - this.generateTrapdoor(TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, "solid"); - this.generateDoor(TFBlocks.TRANSFORMATION_DOOR.get(), false, "solid"); + this.generateTrapdoor(TFBlocks.TRANSFORMATION_TRAPDOOR.get(), true, "cutout"); + this.generateDoor(TFBlocks.TRANSFORMATION_DOOR.get(), false, "cutout"); this.generateSign(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), transformation); this.generateHangingSign(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()); this.generateBanister(TFBlocks.TRANSFORMATION_BANISTER.get(), transformation); - this.wrapBlockItem(TFBlocks.MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.MINING_LOG.get()))); - this.wrapBlockItem(TFBlocks.MINING_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.MINING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MINING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.MINING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.generateTreeCore(TFBlocks.MINING_LOG.get(), TFBlocks.MINING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MINING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.MINING_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.MINING_LEAVES.get(), 16576836); this.wrapBlockItem(TFBlocks.MINING_PLANKS.get(), this::createTrivialCube); TextureMapping mining = TextureMapping.cube(TFBlocks.MINING_PLANKS.get()); this.generateStairs(TFBlocks.MINING_STAIRS.get(), mining); @@ -285,13 +279,14 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_MINING_LOG.get()); this.generateBanister(TFBlocks.MINING_BANISTER.get(), mining); - this.wrapBlockItem(TFBlocks.SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.SORTING_LOG.get()))); - this.wrapBlockItem(TFBlocks.SORTING_WOOD.get(), block -> this.generateWood(block, TextureMapping.column(TFBlocks.SORTING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_SORTING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateLog(block, TextureMapping.column(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.SORTING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.generateTreeCore(TFBlocks.SORTING_LOG.get(), TFBlocks.SORTING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SORTING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.SORTING_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateLeaves(TFBlocks.SORTING_LEAVES.get(), 3558403); this.wrapBlockItem(TFBlocks.SORTING_PLANKS.get(), this::createTrivialCube); TextureMapping sorting = TextureMapping.cube(TFBlocks.SORTING_PLANKS.get()); this.generateStairs(TFBlocks.SORTING_STAIRS.get(), sorting); @@ -300,10 +295,56 @@ private void generateWoodBlocks() { this.generateFence(TFBlocks.SORTING_FENCE.get(), sorting); this.generateFenceGate(TFBlocks.SORTING_GATE.get(), sorting); this.generatePressurePlate(TFBlocks.SORTING_PLATE.get(), sorting); - this.generateTrapdoor(TFBlocks.SORTING_TRAPDOOR.get(), true, "solid"); - this.generateDoor(TFBlocks.SORTING_DOOR.get(), false, "solid"); + this.generateTrapdoor(TFBlocks.SORTING_TRAPDOOR.get(), true, "cutout"); + this.generateDoor(TFBlocks.SORTING_DOOR.get(), false, "cutout"); this.generateSign(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), sorting); this.generateHangingSign(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_SORTING_LOG.get()); this.generateBanister(TFBlocks.SORTING_BANISTER.get(), sorting); + + this.generateSapling(TFBlocks.HOLLOW_OAK_SAPLING.get(), TFBlocks.POTTED_HOLLOW_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateLeaves(TFBlocks.RAINBOW_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.generateSapling(TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.POTTED_RAINBOW_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + + this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); + this.createChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal"), false); + this.createChest(TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/normal"), false); + this.createChest(TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/normal"), false); + this.createChest(TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/normal"), false); + this.createChest(TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/normal"), false); + this.createChest(TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/normal"), false); + this.createChest(TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/normal"), false); + + this.createChest(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/trapped"), false); + this.createChest(TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/trapped"), false); + this.createChest(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/trapped"), false); + this.createChest(TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/trapped"), false); + this.createChest(TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/trapped"), false); + this.createChest(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/trapped"), false); + this.createChest(TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/trapped"), false); + this.createChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped"), false); + + this.generateHollowLog(Blocks.OAK_LOG, Blocks.STRIPPED_OAK_LOG, TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.OAK_BANISTER.get(), TextureMapping.cube(Blocks.OAK_PLANKS)); + this.generateHollowLog(Blocks.SPRUCE_LOG, Blocks.STRIPPED_SPRUCE_LOG, TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.SPRUCE_BANISTER.get(), TextureMapping.cube(Blocks.SPRUCE_PLANKS)); + this.generateHollowLog(Blocks.BIRCH_LOG, Blocks.STRIPPED_BIRCH_LOG, TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL.get(), TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.BIRCH_BANISTER.get(), TextureMapping.cube(Blocks.BIRCH_PLANKS)); + this.generateHollowLog(Blocks.JUNGLE_LOG, Blocks.STRIPPED_JUNGLE_LOG, TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.JUNGLE_BANISTER.get(), TextureMapping.cube(Blocks.JUNGLE_PLANKS)); + this.generateHollowLog(Blocks.ACACIA_LOG, Blocks.STRIPPED_ACACIA_LOG, TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL.get(), TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.ACACIA_BANISTER.get(), TextureMapping.cube(Blocks.ACACIA_PLANKS)); + this.generateHollowLog(Blocks.DARK_OAK_LOG, Blocks.STRIPPED_DARK_OAK_LOG, TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.DARK_OAK_BANISTER.get(), TextureMapping.cube(Blocks.DARK_OAK_PLANKS)); + this.generateHollowLog(Blocks.CRIMSON_STEM, Blocks.STRIPPED_CRIMSON_STEM, TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL.get(), TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL.get(), TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE.get()); + this.generateBanister(TFBlocks.CRIMSON_BANISTER.get(), TextureMapping.cube(Blocks.CRIMSON_PLANKS)); + this.generateHollowLog(Blocks.WARPED_STEM, Blocks.STRIPPED_WARPED_STEM, TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL.get(), TFBlocks.HOLLOW_WARPED_STEM_VERTICAL.get(), TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE.get()); + this.generateBanister(TFBlocks.WARPED_BANISTER.get(), TextureMapping.cube(Blocks.WARPED_PLANKS)); + this.generateHollowLog(Blocks.MANGROVE_LOG, Blocks.STRIPPED_MANGROVE_LOG, TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.VANGROVE_BANISTER.get(), TextureMapping.cube(Blocks.MANGROVE_PLANKS)); + this.generateHollowLog(Blocks.CHERRY_LOG, Blocks.STRIPPED_CHERRY_LOG, TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.CHERRY_BANISTER.get(), TextureMapping.cube(Blocks.CHERRY_PLANKS)); + this.generateBanister(TFBlocks.BAMBOO_BANISTER.get(), TextureMapping.cube(Blocks.BAMBOO_PLANKS)); + this.generateHollowLog(Blocks.PALE_OAK_LOG, Blocks.STRIPPED_PALE_OAK_LOG, TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE.get()); + this.generateBanister(TFBlocks.PALE_OAK_BANISTER.get(), TextureMapping.cube(Blocks.PALE_OAK_PLANKS)); } } diff --git a/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java index cb9d0c130e..92237ca4fc 100644 --- a/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java @@ -316,6 +316,7 @@ protected void generate() { dropSelf(TFBlocks.VANGROVE_BANISTER.get()); dropSelf(TFBlocks.BAMBOO_BANISTER.get()); dropSelf(TFBlocks.CHERRY_BANISTER.get()); + dropSelf(TFBlocks.PALE_OAK_BANISTER.get()); add(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL.get())); add(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL.get())); @@ -327,6 +328,7 @@ protected void generate() { add(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL.get())); add(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL.get())); add(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL.get())); + add(TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL.get())); add(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get())); add(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get())); add(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), hollowLog(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get())); @@ -346,6 +348,7 @@ protected void generate() { add(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL.get())); add(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL.get())); add(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL.get())); + add(TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL.get())); add(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get())); add(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get())); add(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), verticalHollowLog(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get())); @@ -365,6 +368,7 @@ protected void generate() { add(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE.get())); add(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE.get())); add(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE.get())); + add(TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE.get())); add(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get())); add(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get())); add(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get(), hollowLog(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get())); diff --git a/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java b/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java index 82bd9f3a39..0768af5153 100644 --- a/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java +++ b/src/data/java/twilightforest/datagen/data/recipes/CraftingGenerator.java @@ -780,6 +780,7 @@ private void woodRecipes(HolderGetter getter) { banisterBlock(getter, "vangrove", TFBlocks.VANGROVE_BANISTER, Blocks.MANGROVE_SLAB); banisterBlock(getter, "bamboo", TFBlocks.BAMBOO_BANISTER, Blocks.BAMBOO_SLAB); banisterBlock(getter, "cherry", TFBlocks.CHERRY_BANISTER, Blocks.CHERRY_SLAB); + banisterBlock(getter, "pale_oak", TFBlocks.PALE_OAK_BANISTER, Blocks.PALE_OAK_SLAB); chestBlock(getter, "twilight_oak", TFBlocks.TWILIGHT_OAK_CHEST, TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST, TFBlocks.TWILIGHT_OAK_PLANKS); chestBlock(getter, "canopy", TFBlocks.CANOPY_CHEST, TFBlocks.CANOPY_TRAPPED_CHEST, TFBlocks.CANOPY_PLANKS); diff --git a/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java b/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java index f36049411c..4e7c6d6f8e 100644 --- a/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java +++ b/src/data/java/twilightforest/datagen/data/recipes/StonecuttingGenerator.java @@ -143,6 +143,7 @@ protected static void buildRecipes(HolderGetter getter, RecipeOutput outpu stonecutting(getter, output, Blocks.WARPED_STEM, TFItems.HOLLOW_WARPED_STEM); stonecutting(getter, output, Blocks.MANGROVE_LOG, TFItems.HOLLOW_VANGROVE_LOG); stonecutting(getter, output, Blocks.CHERRY_LOG, TFItems.HOLLOW_CHERRY_LOG); + stonecutting(getter, output, Blocks.PALE_OAK_LOG, TFItems.HOLLOW_PALE_OAK_LOG); stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE); stonecutting(getter, output, Blocks.STONE, TFBlocks.BOLD_STONE_PILLAR); stonecutting(getter, output, Blocks.STONE, TFBlocks.TWISTED_STONE_PILLAR); diff --git a/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java b/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java index fb66ee6668..16ee4cbe29 100644 --- a/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java +++ b/src/data/java/twilightforest/datagen/data/tags/BlockTagGenerator.java @@ -70,6 +70,7 @@ protected void addTags(HolderLookup.Provider provider) { TFBlocks.VANGROVE_BANISTER.get(), TFBlocks.BAMBOO_BANISTER.get(), TFBlocks.CHERRY_BANISTER.get(), + TFBlocks.PALE_OAK_BANISTER.get(), TFBlocks.TWILIGHT_OAK_BANISTER.get(), TFBlocks.CANOPY_BANISTER.get(), @@ -92,6 +93,7 @@ protected void addTags(HolderLookup.Provider provider) { TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL.get(), TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL.get(), + TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), @@ -113,6 +115,7 @@ protected void addTags(HolderLookup.Provider provider) { TFBlocks.HOLLOW_WARPED_STEM_VERTICAL.get(), TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL.get(), + TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), @@ -134,6 +137,7 @@ protected void addTags(HolderLookup.Provider provider) { TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE.get(), TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE.get(), + TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get(), diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index bc49f4fa7f..536e8cf96d 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -9,6 +9,7 @@ import net.minecraft.core.Vec3i; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemDisplayContext; @@ -673,4 +674,40 @@ public void forcefield(Block block) { }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); this.registerSimpleFlatItemModel(block); } + + public void createPaneBlock(Block glassBlock, Block paneBlock) { + TextureMapping mapping = new TextureMapping().put(TextureSlot.PANE, TextureMapping.getBlockTexture(glassBlock)).put(TextureSlot.EDGE, TextureMapping.getBlockTexture(glassBlock)); + ResourceLocation post = ModelTemplates.STAINED_GLASS_PANE_POST.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); + ResourceLocation side = ModelTemplates.STAINED_GLASS_PANE_SIDE.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); + ResourceLocation sideAlt = ModelTemplates.STAINED_GLASS_PANE_SIDE_ALT.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); + ResourceLocation noSide = ModelTemplates.STAINED_GLASS_PANE_NOSIDE.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); + ResourceLocation noSideAlt = ModelTemplates.STAINED_GLASS_PANE_NOSIDE_ALT.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); + Item item = paneBlock.asItem(); + this.registerSimpleItemModel(item, this.createFlatItemModelWithBlockTexture(item, glassBlock)); + this.blockStateOutput + .accept( + MultiPartGenerator.multiPart(paneBlock) + .with(Variant.variant().with(VariantProperties.MODEL, post)) + .with(Condition.condition().term(BlockStateProperties.NORTH, true), Variant.variant().with(VariantProperties.MODEL, side)) + .with( + Condition.condition().term(BlockStateProperties.EAST, true), + Variant.variant().with(VariantProperties.MODEL, side).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with(Condition.condition().term(BlockStateProperties.SOUTH, true), Variant.variant().with(VariantProperties.MODEL, sideAlt)) + .with( + Condition.condition().term(BlockStateProperties.WEST, true), + Variant.variant().with(VariantProperties.MODEL, sideAlt).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with(Condition.condition().term(BlockStateProperties.NORTH, false), Variant.variant().with(VariantProperties.MODEL, noSide)) + .with(Condition.condition().term(BlockStateProperties.EAST, false), Variant.variant().with(VariantProperties.MODEL, noSideAlt)) + .with( + Condition.condition().term(BlockStateProperties.SOUTH, false), + Variant.variant().with(VariantProperties.MODEL, noSideAlt).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + ) + .with( + Condition.condition().term(BlockStateProperties.WEST, false), + Variant.variant().with(VariantProperties.MODEL, noSide).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + ) + ); + } } diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java index 0473a50d53..2e4c82c9c9 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -1,5 +1,6 @@ package twilightforest.datagen.helpers.models; +import com.mojang.datafixers.util.Pair; import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; @@ -11,17 +12,20 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.BanisterBlock; import twilightforest.block.ClimbableHollowLogBlock; import twilightforest.block.HorizontalHollowLogBlock; +import twilightforest.block.SpecialMagicLogBlock; import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; import twilightforest.enums.HollowLogVariants; +import java.util.List; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; @@ -105,7 +109,7 @@ public void generateSign(Block floor, Block wall, TextureMapping mapping) { } public void generateHangingSign(Block ceiling, Block wall, Block particle) { - ResourceLocation resourcelocation = ModelTemplates.PARTICLE_ONLY.create(ceiling, new TextureMapping().put(TextureSlot.PARTICLE, TextureMapping.getBlockTexture(particle, "_side")), this.modelOutput); + ResourceLocation resourcelocation = ModelTemplates.PARTICLE_ONLY.create(ceiling, new TextureMapping().put(TextureSlot.PARTICLE, TextureMapping.getBlockTexture(particle)), this.modelOutput); this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(ceiling, resourcelocation)); this.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(wall, resourcelocation)); this.registerSimpleFlatItemModel(ceiling.asItem()); @@ -164,19 +168,19 @@ public void generateBanister(Block banister, TextureMapping mapping) { public static BlockStateGenerator createBanister(Block banister, ResourceLocation connected, ResourceLocation connectedExtended, ResourceLocation shorty, ResourceLocation shortExtended, ResourceLocation tall, ResourceLocation tallExtended) { return MultiVariantGenerator.multiVariant(banister).with( - PropertyDispatch.properties(BanisterBlock.EXTENDED, BanisterBlock.SHAPE).generate((extended, shape) -> { - ResourceLocation model = switch (shape) { - case SHORT -> extended ? shortExtended : shorty; - case TALL -> extended ? tallExtended : tall; - case CONNECTED -> extended ? connectedExtended : connected; - }; - return Variant.variant().with(VariantProperties.MODEL, model); - }) + PropertyDispatch.properties(BanisterBlock.EXTENDED, BanisterBlock.SHAPE).generate((extended, shape) -> { + ResourceLocation model = switch (shape) { + case SHORT -> extended ? shortExtended : shorty; + case TALL -> extended ? tallExtended : tall; + case CONNECTED -> extended ? connectedExtended : connected; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) ).with(createHorizontalFacingDispatchAlt()); } public void generateHollowLog(Block log, Block stripped, Block horizontal, Block vertical, Block climbable) { - TextureMapping base = TextureMapping.column(log).put(TextureSlot.INSIDE, TextureMapping.getBlockTexture(stripped, "_side")); + TextureMapping base = TextureMapping.logColumn(log).put(TextureSlot.INSIDE, TextureMapping.getBlockTexture(stripped)); ResourceLocation horizModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG.create(horizontal, base, this.modelOutput); ResourceLocation mossModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_moss", base.put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); ResourceLocation grassModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_PLANT.createWithSuffix(horizontal, "_grass", base.put(TextureSlot.PLANT, TextureMapping.getBlockTexture(Blocks.SHORT_GRASS)).put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); @@ -192,32 +196,97 @@ public void generateHollowLog(Block log, Block stripped, Block horizontal, Block public static BlockStateGenerator createHorizontalHollowLog(Block horizontal, ResourceLocation base, ResourceLocation moss, ResourceLocation grass, ResourceLocation snow) { return MultiVariantGenerator.multiVariant(horizontal).with( - PropertyDispatch.property(HorizontalHollowLogBlock.VARIANT).generate(variant -> { - ResourceLocation model = switch (variant) { - case MOSS -> moss; - case MOSS_AND_GRASS -> grass; - case SNOW -> snow; - default -> base; - }; - return Variant.variant().with(VariantProperties.MODEL, model); - }) + PropertyDispatch.property(HorizontalHollowLogBlock.VARIANT).generate(variant -> { + ResourceLocation model = switch (variant) { + case MOSS -> moss; + case MOSS_AND_GRASS -> grass; + case SNOW -> snow; + default -> base; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) ).with(PropertyDispatch.property(BlockStateProperties.HORIZONTAL_AXIS) - .select(Direction.Axis.Z, Variant.variant()) - .select(Direction.Axis.X, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90))); + .select(Direction.Axis.Z, Variant.variant()) + .select(Direction.Axis.X, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90))); } public static BlockStateGenerator createClimableHollowLog(Block climbable, ResourceLocation ladder, ResourceLocation vine) { return MultiVariantGenerator.multiVariant(climbable).with( - PropertyDispatch.property(ClimbableHollowLogBlock.VARIANT).generate(variant -> { - ResourceLocation model = switch (variant) { - case VINE -> vine; - case LADDER, LADDER_WATERLOGGED -> ladder; - }; - return Variant.variant().with(VariantProperties.MODEL, model); - }) + PropertyDispatch.property(ClimbableHollowLogBlock.VARIANT).generate(variant -> { + ResourceLocation model = switch (variant) { + case VINE -> vine; + case LADDER, LADDER_WATERLOGGED -> ladder; + }; + return Variant.variant().with(VariantProperties.MODEL, model); + }) ).with(createHorizontalFacingDispatchAlt()); } + public void generateTreeCore(Block log, Block core) { + ResourceLocation off = ModelTemplates.CUBE_COLUMN.create(core, TextureMapping.column(TextureMapping.getBlockTexture(core), TextureMapping.getBlockTexture(log, "_top")), this.modelOutput); + ResourceLocation on = ModelTemplates.CUBE_COLUMN.createWithSuffix(core, "_on", TextureMapping.column(TextureMapping.getBlockTexture(core, "_on"), TextureMapping.getBlockTexture(log, "_top")), this.modelOutput); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(core).with(PropertyDispatch.property(SpecialMagicLogBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? on : off)))); + this.generateBlockItem(core); + } + + public void createChiseledBookshelf(Block shelf) { + ResourceLocation resourcelocation = ModelLocationUtils.getModelLocation(shelf); + MultiPartGenerator multipartgenerator = MultiPartGenerator.multiPart(shelf); + List.of( + Pair.of(Direction.NORTH, VariantProperties.Rotation.R0), + Pair.of(Direction.EAST, VariantProperties.Rotation.R90), + Pair.of(Direction.SOUTH, VariantProperties.Rotation.R180), + Pair.of(Direction.WEST, VariantProperties.Rotation.R270)) + .forEach( + pair -> { + Direction direction = pair.getFirst(); + VariantProperties.Rotation rotation = pair.getSecond(); + Condition.TerminalCondition condition = Condition.condition().term(BlockStateProperties.HORIZONTAL_FACING, direction); + multipartgenerator.with(condition, + Variant.variant() + .with(VariantProperties.MODEL, resourcelocation) + .with(VariantProperties.Y_ROT, rotation) + .with(VariantProperties.UV_LOCK, true) + ); + this.addSlotStateAndRotationVariants(shelf, multipartgenerator, condition, rotation); + } + ); + this.blockStateOutput.accept(multipartgenerator); + this.registerSimpleItemModel(shelf, ModelTemplates.CUBE_ORIENTABLE.createWithSuffix(shelf, "_inventory", new TextureMapping() + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(shelf, "_side")) + .put(TextureSlot.FRONT, TextureMapping.getBlockTexture(shelf, "_empty")) + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(shelf, "_top")), this.modelOutput)); + CHISELED_BOOKSHELF_SLOT_MODEL_CACHE.clear(); + } + + public void addSlotStateAndRotationVariants(Block shelf, MultiPartGenerator generator, Condition.TerminalCondition condition, VariantProperties.Rotation rotation) { + List.of( + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_0_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_TOP_LEFT), + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_1_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_TOP_MID), + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_2_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_TOP_RIGHT), + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_3_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_BOTTOM_LEFT), + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_4_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_BOTTOM_MID), + Pair.of(BlockStateProperties.CHISELED_BOOKSHELF_SLOT_5_OCCUPIED, ModelTemplates.CHISELED_BOOKSHELF_SLOT_BOTTOM_RIGHT) + ) + .forEach(pair -> { + BooleanProperty occupied = pair.getFirst(); + ModelTemplate template = pair.getSecond(); + this.addBookSlotModel(shelf, generator, condition, rotation, occupied, template, true); + this.addBookSlotModel(shelf, generator, condition, rotation, occupied, template, false); + }); + } + + public void addBookSlotModel(Block shelf, MultiPartGenerator generator, Condition.TerminalCondition condition, VariantProperties.Rotation rotation, BooleanProperty property, ModelTemplate template, boolean occupied) { + String suffix = occupied ? "_occupied" : "_empty"; + TextureMapping texturemapping = new TextureMapping().put(TextureSlot.TEXTURE, TextureMapping.getBlockTexture(shelf, suffix)); + BlockModelGenerators.BookSlotModelCacheKey cache = new BlockModelGenerators.BookSlotModelCacheKey(template, suffix); + ResourceLocation resourcelocation = CHISELED_BOOKSHELF_SLOT_MODEL_CACHE.computeIfAbsent(cache, key -> template.createWithSuffix(shelf, suffix, texturemapping, this.modelOutput)); + generator.with( + Condition.and(condition, Condition.condition().term(property, occupied)), + Variant.variant().with(VariantProperties.MODEL, resourcelocation).with(VariantProperties.Y_ROT, rotation) + ); + } + public void wrapBlockItem(Block block, Consumer blockRegistry) { blockRegistry.accept(block); this.generateBlockItem(block); diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index f7842e0f05..046cde3f17 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -311,6 +311,7 @@ public class TFBlocks { public static final DeferredBlock VANGROVE_BANISTER = registerWithItem("vangrove_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS)); public static final DeferredBlock BAMBOO_BANISTER = registerWithItem("bamboo_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS)); public static final DeferredBlock CHERRY_BANISTER = registerWithItem("cherry_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS)); + public static final DeferredBlock PALE_OAK_BANISTER = registerWithItem("pale_oak_banister", BanisterBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PALE_OAK_PLANKS)); public static final BlockBehaviour.Properties TWILIGHT_OAK_LOG_PROPS = logProperties(MapColor.WOOD, MapColor.PODZOL).strength(2.0F).sound(SoundType.WOOD); public static final BlockBehaviour.Properties CANOPY_LOG_PROPS = logProperties(MapColor.PODZOL, MapColor.COLOR_BROWN).strength(2.0F).sound(SoundType.WOOD); @@ -385,6 +386,7 @@ public class TFBlocks { public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = register("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE)); public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = register("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD)); public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = register("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD)); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_HORIZONTAL = register("hollow_pale_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PALE_OAK_WOOD)); public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = register("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = register("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); @@ -398,6 +400,7 @@ public class TFBlocks { // I still legit have no idea why it happens but it does public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = register("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = register("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_VERTICAL = register("hollow_pale_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD)); public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = register("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = register("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); @@ -409,6 +412,7 @@ public class TFBlocks { public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = register("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = register("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = register("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_CLIMBABLE = register("hollow_pale_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD)); public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = registerWithItem("stripped_twilight_oak_log", RotatedPillarBlock::new, () -> TWILIGHT_OAK_STRIPPED_PROPS); public static final DeferredBlock STRIPPED_CANOPY_LOG = registerWithItem("stripped_canopy_log", RotatedPillarBlock::new, () -> CANOPY_STRIPPED_PROPS); diff --git a/src/main/java/twilightforest/init/TFCreativeTabs.java b/src/main/java/twilightforest/init/TFCreativeTabs.java index 0b6142d9d7..aba1c67dad 100644 --- a/src/main/java/twilightforest/init/TFCreativeTabs.java +++ b/src/main/java/twilightforest/init/TFCreativeTabs.java @@ -608,6 +608,7 @@ public static void addToTabs(BuildCreativeModeTabContentsEvent event) { event.insertAfter(new ItemStack(Items.WARPED_HYPHAE), TFItems.HOLLOW_WARPED_STEM.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.MANGROVE_WOOD), TFItems.HOLLOW_VANGROVE_LOG.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.CHERRY_WOOD), TFItems.HOLLOW_CHERRY_LOG.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.insertAfter(new ItemStack(Items.PALE_OAK_WOOD), TFItems.HOLLOW_PALE_OAK_LOG.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.OAK_FENCE_GATE), TFBlocks.OAK_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.SPRUCE_FENCE_GATE), TFBlocks.SPRUCE_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); @@ -619,6 +620,7 @@ public static void addToTabs(BuildCreativeModeTabContentsEvent event) { event.insertAfter(new ItemStack(Items.WARPED_FENCE_GATE), TFBlocks.WARPED_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.MANGROVE_FENCE_GATE), TFBlocks.VANGROVE_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); event.insertAfter(new ItemStack(Items.CHERRY_FENCE_GATE), TFBlocks.CHERRY_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.insertAfter(new ItemStack(Items.PALE_OAK_FENCE_GATE), TFBlocks.PALE_OAK_BANISTER.toStack(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); } else if (event.getTabKey() == CreativeModeTabs.OP_BLOCKS && event.hasPermissions()) { event.getParameters().holders().lookupOrThrow(TFRegistries.Keys.MAGIC_PAINTINGS).listElements().sorted(MAGIC_COMPARATOR).forEach(holder -> { ItemStack itemstack = new ItemStack(TFItems.MAGIC_PAINTING.get()); diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index b1c48c96bb..e01391ce61 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -202,6 +202,7 @@ public class TFItems { public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), Item.Properties::new); public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), Item.Properties::new); public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_PALE_OAK_LOG = register("hollow_pale_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); diff --git a/src/main/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json b/src/main/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json new file mode 100644 index 0000000000..3bef1efa00 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf.json @@ -0,0 +1,22 @@ +{ + "parent": "block/block", + "textures": { + "top": "twilightforest:block/chiseled_canopy_bookshelf_top", + "side": "twilightforest:block/chiseled_canopy_bookshelf_side", + "particle": "#top" + }, + "elements": [ + { + "name": "chiseled_bookshelf_body", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/canopy_log_side.png b/src/main/resources/assets/twilightforest/textures/block/canopy_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/canopy_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/canopy_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/dark_log_side.png b/src/main/resources/assets/twilightforest/textures/block/dark_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/dark_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/dark_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/mangrove_log_side.png b/src/main/resources/assets/twilightforest/textures/block/mangrove_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/mangrove_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/mangrove_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/mining_log_side.png b/src/main/resources/assets/twilightforest/textures/block/mining_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/mining_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/mining_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/sorting_log_side.png b/src/main/resources/assets/twilightforest/textures/block/sorting_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/sorting_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/sorting_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_canopy_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_dark_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_dark_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_dark_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_dark_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_mangrove_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_mining_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_mining_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_mining_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_mining_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_sorting_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_time_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_time_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_time_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_time_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_transformation_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log_side.png b/src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/stripped_twilight_oak_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/time_log_side.png b/src/main/resources/assets/twilightforest/textures/block/time_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/time_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/time_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/transformation_log_side.png b/src/main/resources/assets/twilightforest/textures/block/transformation_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/transformation_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/transformation_log.png diff --git a/src/main/resources/assets/twilightforest/textures/block/twilight_oak_log_side.png b/src/main/resources/assets/twilightforest/textures/block/twilight_oak_log.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/twilight_oak_log_side.png rename to src/main/resources/assets/twilightforest/textures/block/twilight_oak_log.png From 3a49724414f5ef8edbd4f8b66cec9f0417bab2f3 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:55:23 -0600 Subject: [PATCH 095/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 637 ++++++++++---- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 6 +- .../6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 | 6 +- .../a3b661b9d1602c79ab58dae8db9f53b60de85edc | 4 +- .../aceeec62bf10186f98b7c0ef34c2a200449b25e2 | 10 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 +- .../blockstates/acacia_banister.json | 94 ++ .../blockstates/bamboo_banister.json | 94 ++ .../blockstates/birch_banister.json | 94 ++ .../blockstates/canopy_bookshelf.json | 7 + .../blockstates/canopy_window.json | 7 + .../blockstates/canopy_window_pane.json | 77 ++ .../blockstates/cherry_banister.json | 94 ++ .../chiseled_canopy_bookshelf.json | 812 ++++++++++++++++++ .../blockstates/crimson_banister.json | 94 ++ .../blockstates/dark_oak_banister.json | 94 ++ .../hollow_acacia_log_climbable.json | 49 ++ .../hollow_acacia_log_horizontal.json | 39 + .../hollow_acacia_log_vertical.json | 7 + .../hollow_birch_log_climbable.json | 49 ++ .../hollow_birch_log_horizontal.json | 39 + .../hollow_birch_log_vertical.json | 7 + .../hollow_cherry_log_climbable.json | 49 ++ .../hollow_cherry_log_horizontal.json | 39 + .../hollow_cherry_log_vertical.json | 7 + .../hollow_crimson_stem_climbable.json | 49 ++ .../hollow_crimson_stem_horizontal.json | 39 + .../hollow_crimson_stem_vertical.json | 7 + .../hollow_dark_oak_log_climbable.json | 49 ++ .../hollow_dark_oak_log_horizontal.json | 39 + .../hollow_dark_oak_log_vertical.json | 7 + .../hollow_jungle_log_climbable.json | 49 ++ .../hollow_jungle_log_horizontal.json | 39 + .../hollow_jungle_log_vertical.json | 7 + .../blockstates/hollow_oak_log_climbable.json | 49 ++ .../hollow_oak_log_horizontal.json | 39 + .../blockstates/hollow_oak_log_vertical.json | 7 + .../blockstates/hollow_oak_sapling.json | 7 + .../hollow_pale_oak_log_climbable.json | 49 ++ .../hollow_pale_oak_log_horizontal.json | 39 + .../hollow_pale_oak_log_vertical.json | 7 + .../hollow_spruce_log_climbable.json | 49 ++ .../hollow_spruce_log_horizontal.json | 39 + .../hollow_spruce_log_vertical.json | 7 + .../hollow_vangrove_log_climbable.json | 49 ++ .../hollow_vangrove_log_horizontal.json | 39 + .../hollow_vangrove_log_vertical.json | 7 + .../hollow_warped_stem_climbable.json | 49 ++ .../hollow_warped_stem_horizontal.json | 39 + .../hollow_warped_stem_vertical.json | 7 + .../blockstates/jungle_banister.json | 94 ++ .../blockstates/liveroot_block.json | 7 + .../blockstates/mangrove_root.json | 7 + .../blockstates/mining_log_core.json | 10 + .../blockstates/oak_banister.json | 94 ++ .../blockstates/pale_oak_banister.json | 94 ++ .../potted_hollow_oak_sapling.json | 7 + .../potted_rainbow_oak_sapling.json | 7 + .../blockstates/rainbow_oak_leaves.json | 7 + .../blockstates/rainbow_oak_sapling.json | 7 + .../twilightforest/blockstates/root.json | 7 + .../blockstates/sorting_log_core.json | 10 + .../blockstates/spruce_banister.json | 94 ++ .../blockstates/thorn_leaves.json | 7 + .../blockstates/time_log_core.json | 10 + .../blockstates/transformation_log_core.json | 10 + .../blockstates/vangrove_banister.json | 94 ++ .../blockstates/warped_banister.json | 94 ++ .../twilightforest/items/acacia_banister.json | 6 + .../twilightforest/items/bamboo_banister.json | 6 + .../twilightforest/items/birch_banister.json | 6 + .../items/canopy_bookshelf.json | 6 + .../twilightforest/items/canopy_leaves.json | 2 +- .../twilightforest/items/canopy_window.json | 6 + .../items/canopy_window_pane.json | 6 + .../twilightforest/items/cherry_banister.json | 6 + .../items/chiseled_canopy_bookshelf.json | 6 + .../items/crimson_banister.json | 6 + .../items/dark_oak_banister.json | 6 + .../items/hollow_acacia_log.json | 6 + .../items/hollow_birch_log.json | 6 + .../items/hollow_cherry_log.json | 6 + .../items/hollow_crimson_stem.json | 6 + .../items/hollow_dark_oak_log.json | 6 + .../items/hollow_jungle_log.json | 6 + .../twilightforest/items/hollow_oak_log.json | 6 + .../items/hollow_oak_sapling.json | 6 + .../items/hollow_pale_oak_log.json | 6 + .../items/hollow_spruce_log.json | 6 + .../items/hollow_vangrove_log.json | 6 + .../items/hollow_warped_stem.json | 6 + .../twilightforest/items/jungle_banister.json | 6 + .../twilightforest/items/liveroot_block.json | 6 + .../twilightforest/items/mangrove_leaves.json | 2 +- .../twilightforest/items/mangrove_root.json | 6 + .../twilightforest/items/mining_leaves.json | 2 +- .../twilightforest/items/mining_log_core.json | 6 + .../twilightforest/items/oak_banister.json | 6 + .../items/pale_oak_banister.json | 6 + .../items/rainbow_oak_leaves.json | 12 + .../items/rainbow_oak_sapling.json | 6 + .../assets/twilightforest/items/root.json | 6 + .../twilightforest/items/sorting_leaves.json | 2 +- .../items/sorting_log_core.json | 6 + .../twilightforest/items/spruce_banister.json | 6 + .../twilightforest/items/thorn_leaves.json | 12 + .../twilightforest/items/time_leaves.json | 2 +- .../twilightforest/items/time_log_core.json | 6 + .../items/transformation_leaves.json | 2 +- .../items/transformation_log_core.json | 6 + .../items/vangrove_banister.json | 6 + .../twilightforest/items/warped_banister.json | 6 + .../assets/twilightforest/lang/en_ud.json | 4 + .../assets/twilightforest/lang/en_us.json | 4 + .../block/acacia_banister_connected.json | 6 + .../acacia_banister_connected_extended.json | 6 + .../block/acacia_banister_inventory.json | 6 + .../models/block/acacia_banister_short.json | 6 + .../block/acacia_banister_short_extended.json | 6 + .../models/block/acacia_banister_tall.json | 6 + .../block/acacia_banister_tall_extended.json | 6 + .../block/bamboo_banister_connected.json | 6 + .../bamboo_banister_connected_extended.json | 6 + .../block/bamboo_banister_inventory.json | 6 + .../models/block/bamboo_banister_short.json | 6 + .../block/bamboo_banister_short_extended.json | 6 + .../models/block/bamboo_banister_tall.json | 6 + .../block/bamboo_banister_tall_extended.json | 6 + .../block/birch_banister_connected.json | 6 + .../birch_banister_connected_extended.json | 6 + .../block/birch_banister_inventory.json | 6 + .../models/block/birch_banister_short.json | 6 + .../block/birch_banister_short_extended.json | 6 + .../models/block/birch_banister_tall.json | 6 + .../block/birch_banister_tall_extended.json | 6 + .../models/block/canopy_bookshelf.json | 7 + .../models/block/canopy_hanging_sign.json | 2 +- .../models/block/canopy_leaves.json | 2 +- .../models/block/canopy_log.json | 2 +- .../models/block/canopy_log_horizontal.json | 2 +- .../models/block/canopy_window.json | 7 + .../block/canopy_window_pane_noside.json | 7 + .../block/canopy_window_pane_noside_alt.json | 7 + .../models/block/canopy_window_pane_post.json | 8 + .../models/block/canopy_window_pane_side.json | 8 + .../block/canopy_window_pane_side_alt.json | 8 + .../models/block/canopy_wood.json | 4 +- .../block/cherry_banister_connected.json | 6 + .../cherry_banister_connected_extended.json | 6 + .../block/cherry_banister_inventory.json | 6 + .../models/block/cherry_banister_short.json | 6 + .../block/cherry_banister_short_extended.json | 6 + .../models/block/cherry_banister_tall.json | 6 + .../block/cherry_banister_tall_extended.json | 6 + ...nopy_bookshelf_empty_slot_bottom_left.json | 6 + ...anopy_bookshelf_empty_slot_bottom_mid.json | 6 + ...opy_bookshelf_empty_slot_bottom_right.json | 6 + ..._canopy_bookshelf_empty_slot_top_left.json | 6 + ...d_canopy_bookshelf_empty_slot_top_mid.json | 6 + ...canopy_bookshelf_empty_slot_top_right.json | 6 + .../chiseled_canopy_bookshelf_inventory.json | 8 + ...y_bookshelf_occupied_slot_bottom_left.json | 6 + ...py_bookshelf_occupied_slot_bottom_mid.json | 6 + ..._bookshelf_occupied_slot_bottom_right.json | 6 + ...nopy_bookshelf_occupied_slot_top_left.json | 6 + ...anopy_bookshelf_occupied_slot_top_mid.json | 6 + ...opy_bookshelf_occupied_slot_top_right.json | 6 + .../block/crimson_banister_connected.json | 6 + .../crimson_banister_connected_extended.json | 6 + .../block/crimson_banister_inventory.json | 6 + .../models/block/crimson_banister_short.json | 6 + .../crimson_banister_short_extended.json | 6 + .../models/block/crimson_banister_tall.json | 6 + .../block/crimson_banister_tall_extended.json | 6 + .../models/block/dark_hanging_sign.json | 2 +- .../models/block/dark_leaves.json | 2 +- .../twilightforest/models/block/dark_log.json | 2 +- .../models/block/dark_log_horizontal.json | 2 +- .../block/dark_oak_banister_connected.json | 6 + .../dark_oak_banister_connected_extended.json | 6 + .../block/dark_oak_banister_inventory.json | 6 + .../models/block/dark_oak_banister_short.json | 6 + .../dark_oak_banister_short_extended.json | 6 + .../models/block/dark_oak_banister_tall.json | 6 + .../dark_oak_banister_tall_extended.json | 6 + .../models/block/dark_wood.json | 4 +- .../hollow_acacia_log_climbable_ladder.json | 9 + .../hollow_acacia_log_climbable_vine.json | 9 + .../block/hollow_acacia_log_horizontal.json | 8 + ...acacia_log_horizontal_grass_inventory.json | 11 + .../hollow_acacia_log_horizontal_moss.json | 10 + .../hollow_acacia_log_horizontal_snow.json | 10 + .../block/hollow_acacia_log_vertical.json | 8 + .../hollow_birch_log_climbable_ladder.json | 9 + .../hollow_birch_log_climbable_vine.json | 9 + .../block/hollow_birch_log_horizontal.json | 8 + ..._birch_log_horizontal_grass_inventory.json | 11 + .../hollow_birch_log_horizontal_moss.json | 10 + .../hollow_birch_log_horizontal_snow.json | 10 + .../block/hollow_birch_log_vertical.json | 8 + .../hollow_canopy_log_climbable_ladder.json | 4 +- .../hollow_canopy_log_climbable_vine.json | 4 +- .../block/hollow_canopy_log_horizontal.json | 4 +- ...canopy_log_horizontal_grass_inventory.json | 4 +- .../hollow_canopy_log_horizontal_moss.json | 4 +- .../hollow_canopy_log_horizontal_snow.json | 4 +- .../block/hollow_canopy_log_vertical.json | 4 +- .../hollow_cherry_log_climbable_ladder.json | 9 + .../hollow_cherry_log_climbable_vine.json | 9 + .../block/hollow_cherry_log_horizontal.json | 8 + ...cherry_log_horizontal_grass_inventory.json | 11 + .../hollow_cherry_log_horizontal_moss.json | 10 + .../hollow_cherry_log_horizontal_snow.json | 10 + .../block/hollow_cherry_log_vertical.json | 8 + .../hollow_crimson_stem_climbable_ladder.json | 9 + .../hollow_crimson_stem_climbable_vine.json | 9 + .../block/hollow_crimson_stem_horizontal.json | 8 + ...imson_stem_horizontal_grass_inventory.json | 11 + .../hollow_crimson_stem_horizontal_moss.json | 10 + .../hollow_crimson_stem_horizontal_snow.json | 10 + .../block/hollow_crimson_stem_vertical.json | 8 + .../hollow_dark_log_climbable_ladder.json | 4 +- .../block/hollow_dark_log_climbable_vine.json | 4 +- .../block/hollow_dark_log_horizontal.json | 4 +- ...w_dark_log_horizontal_grass_inventory.json | 4 +- .../hollow_dark_log_horizontal_moss.json | 4 +- .../hollow_dark_log_horizontal_snow.json | 4 +- .../block/hollow_dark_log_vertical.json | 4 +- .../hollow_dark_oak_log_climbable_ladder.json | 9 + .../hollow_dark_oak_log_climbable_vine.json | 9 + .../block/hollow_dark_oak_log_horizontal.json | 8 + ...rk_oak_log_horizontal_grass_inventory.json | 11 + .../hollow_dark_oak_log_horizontal_moss.json | 10 + .../hollow_dark_oak_log_horizontal_snow.json | 10 + .../block/hollow_dark_oak_log_vertical.json | 8 + .../hollow_jungle_log_climbable_ladder.json | 9 + .../hollow_jungle_log_climbable_vine.json | 9 + .../block/hollow_jungle_log_horizontal.json | 8 + ...jungle_log_horizontal_grass_inventory.json | 11 + .../hollow_jungle_log_horizontal_moss.json | 10 + .../hollow_jungle_log_horizontal_snow.json | 10 + .../block/hollow_jungle_log_vertical.json | 8 + .../hollow_mangrove_log_climbable_ladder.json | 4 +- .../hollow_mangrove_log_climbable_vine.json | 4 +- .../block/hollow_mangrove_log_horizontal.json | 4 +- ...ngrove_log_horizontal_grass_inventory.json | 4 +- .../hollow_mangrove_log_horizontal_moss.json | 4 +- .../hollow_mangrove_log_horizontal_snow.json | 4 +- .../block/hollow_mangrove_log_vertical.json | 4 +- .../hollow_mining_log_climbable_ladder.json | 4 +- .../hollow_mining_log_climbable_vine.json | 4 +- .../block/hollow_mining_log_horizontal.json | 4 +- ...mining_log_horizontal_grass_inventory.json | 4 +- .../hollow_mining_log_horizontal_moss.json | 4 +- .../hollow_mining_log_horizontal_snow.json | 4 +- .../block/hollow_mining_log_vertical.json | 4 +- .../hollow_oak_log_climbable_ladder.json | 9 + .../block/hollow_oak_log_climbable_vine.json | 9 + .../block/hollow_oak_log_horizontal.json | 8 + ...ow_oak_log_horizontal_grass_inventory.json | 11 + .../block/hollow_oak_log_horizontal_moss.json | 10 + .../block/hollow_oak_log_horizontal_snow.json | 10 + .../models/block/hollow_oak_log_vertical.json | 8 + .../models/block/hollow_oak_sapling.json | 7 + .../hollow_pale_oak_log_climbable_ladder.json | 9 + .../hollow_pale_oak_log_climbable_vine.json | 9 + .../block/hollow_pale_oak_log_horizontal.json | 8 + ...le_oak_log_horizontal_grass_inventory.json | 11 + .../hollow_pale_oak_log_horizontal_moss.json | 10 + .../hollow_pale_oak_log_horizontal_snow.json | 10 + .../block/hollow_pale_oak_log_vertical.json | 8 + .../hollow_sorting_log_climbable_ladder.json | 4 +- .../hollow_sorting_log_climbable_vine.json | 4 +- .../block/hollow_sorting_log_horizontal.json | 4 +- ...orting_log_horizontal_grass_inventory.json | 4 +- .../hollow_sorting_log_horizontal_moss.json | 4 +- .../hollow_sorting_log_horizontal_snow.json | 4 +- .../block/hollow_sorting_log_vertical.json | 4 +- .../hollow_spruce_log_climbable_ladder.json | 9 + .../hollow_spruce_log_climbable_vine.json | 9 + .../block/hollow_spruce_log_horizontal.json | 8 + ...spruce_log_horizontal_grass_inventory.json | 11 + .../hollow_spruce_log_horizontal_moss.json | 10 + .../hollow_spruce_log_horizontal_snow.json | 10 + .../block/hollow_spruce_log_vertical.json | 8 + .../hollow_time_log_climbable_ladder.json | 4 +- .../block/hollow_time_log_climbable_vine.json | 4 +- .../block/hollow_time_log_horizontal.json | 4 +- ...w_time_log_horizontal_grass_inventory.json | 4 +- .../hollow_time_log_horizontal_moss.json | 4 +- .../hollow_time_log_horizontal_snow.json | 4 +- .../block/hollow_time_log_vertical.json | 4 +- ...w_transformation_log_climbable_ladder.json | 4 +- ...low_transformation_log_climbable_vine.json | 4 +- .../hollow_transformation_log_horizontal.json | 4 +- ...mation_log_horizontal_grass_inventory.json | 4 +- ...ow_transformation_log_horizontal_moss.json | 4 +- ...ow_transformation_log_horizontal_snow.json | 4 +- .../hollow_transformation_log_vertical.json | 4 +- ...low_twilight_oak_log_climbable_ladder.json | 4 +- ...ollow_twilight_oak_log_climbable_vine.json | 4 +- .../hollow_twilight_oak_log_horizontal.json | 4 +- ...ht_oak_log_horizontal_grass_inventory.json | 4 +- ...llow_twilight_oak_log_horizontal_moss.json | 4 +- ...llow_twilight_oak_log_horizontal_snow.json | 4 +- .../hollow_twilight_oak_log_vertical.json | 4 +- .../hollow_vangrove_log_climbable_ladder.json | 9 + .../hollow_vangrove_log_climbable_vine.json | 9 + .../block/hollow_vangrove_log_horizontal.json | 8 + ...ngrove_log_horizontal_grass_inventory.json | 11 + .../hollow_vangrove_log_horizontal_moss.json | 10 + .../hollow_vangrove_log_horizontal_snow.json | 10 + .../block/hollow_vangrove_log_vertical.json | 8 + .../hollow_warped_stem_climbable_ladder.json | 9 + .../hollow_warped_stem_climbable_vine.json | 9 + .../block/hollow_warped_stem_horizontal.json | 8 + ...arped_stem_horizontal_grass_inventory.json | 11 + .../hollow_warped_stem_horizontal_moss.json | 10 + .../hollow_warped_stem_horizontal_snow.json | 10 + .../block/hollow_warped_stem_vertical.json | 8 + .../block/jungle_banister_connected.json | 6 + .../jungle_banister_connected_extended.json | 6 + .../block/jungle_banister_inventory.json | 6 + .../models/block/jungle_banister_short.json | 6 + .../block/jungle_banister_short_extended.json | 6 + .../models/block/jungle_banister_tall.json | 6 + .../block/jungle_banister_tall_extended.json | 6 + .../models/block/liveroot_block.json | 6 + .../models/block/mangrove_hanging_sign.json | 2 +- .../models/block/mangrove_leaves.json | 2 +- .../models/block/mangrove_log.json | 2 +- .../models/block/mangrove_log_horizontal.json | 2 +- .../models/block/mangrove_root.json | 6 + .../models/block/mangrove_wood.json | 4 +- .../models/block/mining_hanging_sign.json | 2 +- .../models/block/mining_leaves.json | 2 +- .../models/block/mining_log.json | 2 +- .../models/block/mining_log_core.json | 7 + .../models/block/mining_log_core_on.json | 7 + .../models/block/mining_log_horizontal.json | 2 +- .../models/block/mining_wood.json | 4 +- .../models/block/nagastone_head.json | 8 +- .../models/block/oak_banister_connected.json | 6 + .../oak_banister_connected_extended.json | 6 + .../models/block/oak_banister_inventory.json | 6 + .../models/block/oak_banister_short.json | 6 + .../block/oak_banister_short_extended.json | 6 + .../models/block/oak_banister_tall.json | 6 + .../block/oak_banister_tall_extended.json | 6 + .../block/pale_oak_banister_connected.json | 6 + .../pale_oak_banister_connected_extended.json | 6 + .../block/pale_oak_banister_inventory.json | 6 + .../models/block/pale_oak_banister_short.json | 6 + .../pale_oak_banister_short_extended.json | 6 + .../models/block/pale_oak_banister_tall.json | 6 + .../pale_oak_banister_tall_extended.json | 6 + .../block/potted_hollow_oak_sapling.json | 7 + .../block/potted_rainbow_oak_sapling.json | 7 + .../models/block/rainbow_oak_leaves.json | 7 + .../models/block/rainbow_oak_sapling.json | 7 + .../twilightforest/models/block/root.json | 6 + .../block/sorting_door_bottom_left.json | 2 +- .../block/sorting_door_bottom_left_open.json | 2 +- .../block/sorting_door_bottom_right.json | 2 +- .../block/sorting_door_bottom_right_open.json | 2 +- .../models/block/sorting_door_top_left.json | 2 +- .../block/sorting_door_top_left_open.json | 2 +- .../models/block/sorting_door_top_right.json | 2 +- .../block/sorting_door_top_right_open.json | 2 +- .../models/block/sorting_hanging_sign.json | 2 +- .../models/block/sorting_leaves.json | 2 +- .../models/block/sorting_log.json | 2 +- .../models/block/sorting_log_core.json | 7 + .../models/block/sorting_log_core_on.json | 7 + .../models/block/sorting_log_horizontal.json | 2 +- .../models/block/sorting_trapdoor_bottom.json | 2 +- .../models/block/sorting_trapdoor_open.json | 2 +- .../models/block/sorting_trapdoor_top.json | 2 +- .../models/block/sorting_wood.json | 4 +- .../block/spruce_banister_connected.json | 6 + .../spruce_banister_connected_extended.json | 6 + .../block/spruce_banister_inventory.json | 6 + .../models/block/spruce_banister_short.json | 6 + .../block/spruce_banister_short_extended.json | 6 + .../models/block/spruce_banister_tall.json | 6 + .../block/spruce_banister_tall_extended.json | 6 + .../models/block/stripped_canopy_log.json | 2 +- .../block/stripped_canopy_log_horizontal.json | 2 +- .../models/block/stripped_canopy_wood.json | 2 +- .../stripped_canopy_wood_horizontal.json | 2 +- .../models/block/stripped_dark_log.json | 2 +- .../block/stripped_dark_log_horizontal.json | 2 +- .../models/block/stripped_dark_wood.json | 2 +- .../block/stripped_dark_wood_horizontal.json | 2 +- .../models/block/stripped_mangrove_log.json | 2 +- .../stripped_mangrove_log_horizontal.json | 2 +- .../models/block/stripped_mangrove_wood.json | 2 +- .../stripped_mangrove_wood_horizontal.json | 2 +- .../models/block/stripped_mining_log.json | 2 +- .../block/stripped_mining_log_horizontal.json | 2 +- .../models/block/stripped_mining_wood.json | 2 +- .../stripped_mining_wood_horizontal.json | 2 +- .../models/block/stripped_sorting_log.json | 2 +- .../stripped_sorting_log_horizontal.json | 2 +- .../models/block/stripped_sorting_wood.json | 2 +- .../stripped_sorting_wood_horizontal.json | 2 +- .../models/block/stripped_time_log.json | 2 +- .../block/stripped_time_log_horizontal.json | 2 +- .../models/block/stripped_time_wood.json | 2 +- .../block/stripped_time_wood_horizontal.json | 2 +- .../block/stripped_transformation_log.json | 2 +- ...tripped_transformation_log_horizontal.json | 2 +- .../block/stripped_transformation_wood.json | 2 +- ...ripped_transformation_wood_horizontal.json | 2 +- .../block/stripped_twilight_oak_log.json | 2 +- .../stripped_twilight_oak_log_horizontal.json | 2 +- .../block/stripped_twilight_oak_wood.json | 2 +- ...stripped_twilight_oak_wood_horizontal.json | 2 +- .../models/block/thorn_leaves.json | 7 + .../models/block/time_door_bottom_left.json | 2 +- .../block/time_door_bottom_left_open.json | 2 +- .../models/block/time_door_bottom_right.json | 2 +- .../block/time_door_bottom_right_open.json | 2 +- .../models/block/time_door_top_left.json | 2 +- .../models/block/time_door_top_left_open.json | 2 +- .../models/block/time_door_top_right.json | 2 +- .../block/time_door_top_right_open.json | 2 +- .../models/block/time_hanging_sign.json | 2 +- .../models/block/time_leaves.json | 2 +- .../twilightforest/models/block/time_log.json | 2 +- .../models/block/time_log_core.json | 7 + .../models/block/time_log_core_on.json | 7 + .../models/block/time_log_horizontal.json | 2 +- .../models/block/time_trapdoor_bottom.json | 2 +- .../models/block/time_trapdoor_open.json | 2 +- .../models/block/time_trapdoor_top.json | 2 +- .../models/block/time_wood.json | 4 +- .../transformation_door_bottom_left.json | 2 +- .../transformation_door_bottom_left_open.json | 2 +- .../transformation_door_bottom_right.json | 2 +- ...transformation_door_bottom_right_open.json | 2 +- .../block/transformation_door_top_left.json | 2 +- .../transformation_door_top_left_open.json | 2 +- .../block/transformation_door_top_right.json | 2 +- .../transformation_door_top_right_open.json | 2 +- .../block/transformation_hanging_sign.json | 2 +- .../models/block/transformation_leaves.json | 2 +- .../models/block/transformation_log.json | 2 +- .../models/block/transformation_log_core.json | 7 + .../block/transformation_log_core_on.json | 7 + .../block/transformation_log_horizontal.json | 2 +- .../block/transformation_trapdoor_bottom.json | 2 +- .../block/transformation_trapdoor_open.json | 2 +- .../block/transformation_trapdoor_top.json | 2 +- .../models/block/transformation_wood.json | 4 +- .../block/twilight_oak_hanging_sign.json | 2 +- .../models/block/twilight_oak_log.json | 2 +- .../block/twilight_oak_log_horizontal.json | 2 +- .../models/block/twilight_oak_wood.json | 4 +- .../block/vangrove_banister_connected.json | 6 + .../vangrove_banister_connected_extended.json | 6 + .../block/vangrove_banister_inventory.json | 6 + .../models/block/vangrove_banister_short.json | 6 + .../vangrove_banister_short_extended.json | 6 + .../models/block/vangrove_banister_tall.json | 6 + .../vangrove_banister_tall_extended.json | 6 + .../block/warped_banister_connected.json | 6 + .../warped_banister_connected_extended.json | 6 + .../block/warped_banister_inventory.json | 6 + .../models/block/warped_banister_short.json | 6 + .../block/warped_banister_short_extended.json | 6 + .../models/block/warped_banister_tall.json | 6 + .../block/warped_banister_tall_extended.json | 6 + .../models/item/canopy_window_pane.json | 6 + .../models/item/hollow_oak_sapling.json | 6 + .../models/item/rainbow_oak_sapling.json | 6 + .../pale_oak_log/hollow_pale_oak_log.json | 32 + .../decorations/wood/pale_oak_banister.json | 32 + .../blocks/hollow_pale_oak_log_climbable.json | 269 ++++++ .../hollow_pale_oak_log_horizontal.json | 269 ++++++ .../blocks/hollow_pale_oak_log_vertical.json | 61 ++ .../loot_table/blocks/pale_oak_banister.json | 21 + .../pale_oak_log/hollow_pale_oak_log.json | 8 + .../recipe/wood/pale_oak_banister.json | 17 + .../twilightforest/tags/block/banisters.json | 1 + .../tags/block/hollow_logs_climbable.json | 1 + .../tags/block/hollow_logs_horizontal.json | 1 + .../tags/block/hollow_logs_vertical.json | 1 + .../twilightforest/tags/item/banisters.json | 1 + 489 files changed, 6349 insertions(+), 414 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/birch_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_window.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/pale_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/root.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/time_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/warped_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/acacia_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/bamboo_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/birch_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_bookshelf.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_window.json create mode 100644 src/generated/resources/assets/twilightforest/items/canopy_window_pane.json create mode 100644 src/generated/resources/assets/twilightforest/items/cherry_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/chiseled_canopy_bookshelf.json create mode 100644 src/generated/resources/assets/twilightforest/items/crimson_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/dark_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_acacia_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_birch_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_cherry_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_crimson_stem.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_dark_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_jungle_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_pale_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_spruce_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_vangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/hollow_warped_stem.json create mode 100644 src/generated/resources/assets/twilightforest/items/jungle_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/liveroot_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/mangrove_root.json create mode 100644 src/generated/resources/assets/twilightforest/items/mining_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/items/oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/pale_oak_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/rainbow_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/rainbow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/items/root.json create mode 100644 src/generated/resources/assets/twilightforest/items/sorting_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/items/spruce_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/thorn_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/time_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/items/transformation_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/items/vangrove_banister.json create mode 100644 src/generated/resources/assets/twilightforest/items/warped_banister.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/birch_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/liveroot_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mangrove_root.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/oak_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/root.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_connected.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_connected_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_short.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_short_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_tall.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/warped_banister_tall_extended.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json create mode 100644 src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/stonecutting/pale_oak_log/hollow_pale_oak_log.json create mode 100644 src/generated/resources/data/twilightforest/advancement/recipes/decorations/wood/pale_oak_banister.json create mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_climbable.json create mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_horizontal.json create mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_vertical.json create mode 100644 src/generated/resources/data/twilightforest/loot_table/blocks/pale_oak_banister.json create mode 100644 src/generated/resources/data/twilightforest/recipe/stonecutting/pale_oak_log/hollow_pale_oak_log.json create mode 100644 src/generated/resources/data/twilightforest/recipe/wood/pale_oak_banister.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 1b409fb878..ea0a5f8067 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,11 +1,14 @@ -// 1.21.4 2025-04-06T23:14:01.6528182 Model Definitions - twilightforest +// 1.21.4 2025-04-07T10:52:07.6031686 Model Definitions - twilightforest +bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_wall_trophy.json 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json +f5923dd090d2ed2a9ddd3733c5949c22a2a7535f assets/twilightforest/blockstates/bamboo_banister.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json +ce1effc5cd47e7bff66c74246f37fbdb32e3459d assets/twilightforest/blockstates/birch_banister.json 235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_force_field.json 8d271d7a5aa135f9f6f57083a1aaa726f18515ce assets/twilightforest/blockstates/bold_castle_brick_pillar.json @@ -17,6 +20,7 @@ d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json 97606ce1e236f6a9fa8a4fe1cc6ebf8a86943766 assets/twilightforest/blockstates/candelabra.json 4cf9e1114c26460ef7b405d4da5e9c3bbc712dd0 assets/twilightforest/blockstates/canopy_banister.json +11253eeffd002ce835efe93d3dbfa9b8dbc347c8 assets/twilightforest/blockstates/canopy_bookshelf.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json 271b699dd7bb20042c5b6697577b7aa08fbe4f59 assets/twilightforest/blockstates/canopy_chest.json 6fbd38b17d1378e76ae0f9f4be6e86c9c564689c assets/twilightforest/blockstates/canopy_door.json @@ -35,7 +39,11 @@ ac9b7939628377f90aaea8fe32e2595511f095d2 assets/twilightforest/blockstates/canop b4db06c28d8e7e90481fdb3b7e1cb257ff3d7cc2 assets/twilightforest/blockstates/canopy_trapped_chest.json c42f6615103e21acb332c69aeca933ca8c5aaf96 assets/twilightforest/blockstates/canopy_wall_hanging_sign.json c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canopy_wall_sign.json +3febf0319a950602bcf6b883fd9d54b2c9782e4a assets/twilightforest/blockstates/canopy_window.json +a18457224a5c13cd007e7189fbf01fa9a2962f3d assets/twilightforest/blockstates/canopy_window_pane.json eb60f7ee8af365cf7321539690c0e36e9f9e88fb assets/twilightforest/blockstates/canopy_wood.json +b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherry_banister.json +92f7638a60b873d8f26bfeba8f837d4ead6df70c assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json @@ -44,6 +52,7 @@ d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/crack e7199853ca29145ffb01743e9be73457bb867825 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json +4e08ae42993afbc9e59d2147969367e1105802a9 assets/twilightforest/blockstates/crimson_banister.json c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json 2fa81be96aaab91341372d4dc48205e461a3356a assets/twilightforest/blockstates/dark_banister.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json @@ -54,6 +63,7 @@ b5805a844061ff2ca5a78c16538b4a83e6bee44b assets/twilightforest/blockstates/dark_ a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_hanging_sign.json 954873e8db30c8eecf7140bfcf46acfd6666af42 assets/twilightforest/blockstates/dark_leaves.json bcddfae2c58fe848d5f8af9f9d8f4b1d2d1483f2 assets/twilightforest/blockstates/dark_log.json +aa95eaaccf16b704121501486feb4becdd87b1a6 assets/twilightforest/blockstates/dark_oak_banister.json ad17ae81586c2af00be553b06624d1b95fbf0bcb assets/twilightforest/blockstates/dark_planks.json aaa602b354429e513fafa9df5647cb505bdf9517 assets/twilightforest/blockstates/dark_pressure_plate.json 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_sign.json @@ -69,21 +79,49 @@ b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etche 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json +d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json +8d2271a1b410d90c7b2300492d16a42ece71c5d1 assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json +b30b7535e761c740b8a25f669600faf63639459c assets/twilightforest/blockstates/hollow_acacia_log_vertical.json +ec36f9d0e16a9434ccfcbf35185b50acebb2be3c assets/twilightforest/blockstates/hollow_birch_log_climbable.json +ac1998f677217eecd88038f39ca1fc1f759e902b assets/twilightforest/blockstates/hollow_birch_log_horizontal.json +56842319ca48545deeb6a3a0221ef08cf7af6354 assets/twilightforest/blockstates/hollow_birch_log_vertical.json 676e0afe6942ca28c0844b8de00204ce9051205b assets/twilightforest/blockstates/hollow_canopy_log_climbable.json f8f5214841d134397eda182461eb7a61dec187d2 assets/twilightforest/blockstates/hollow_canopy_log_horizontal.json 1ebcd3978e315c1b2df535675b60da526ffdc5e3 assets/twilightforest/blockstates/hollow_canopy_log_vertical.json +8f1e9b5e23d4d4e74febf4834b84b01f313db2ce assets/twilightforest/blockstates/hollow_cherry_log_climbable.json +8719af7c29417a3fbee5c0114dbd0565c0eb29ed assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json +0eb5c9ae3bc1bd40bc21fa0b1dab803cf98ffd5e assets/twilightforest/blockstates/hollow_cherry_log_vertical.json +730dddeb2f079a97310db8dd0f4a4e619e998c2a assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json +bbc42766c859335a5cf318333965ba5da4f3f94c assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json +77effb33c81b956440485cc61192132c2b545848 assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json 03a6289af84f45753ed34c72a57b18c090d65f6a assets/twilightforest/blockstates/hollow_dark_log_climbable.json 9bb2c5c4cb895a5115f3ee667a85ec0792c8cfba assets/twilightforest/blockstates/hollow_dark_log_horizontal.json 66ad48c5f61cc50988024b48233bbd2eb8609bdd assets/twilightforest/blockstates/hollow_dark_log_vertical.json +d835c11c48270de235e3aa02c5b274010f515478 assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json +9e69691ada93792466e8aa18908fc5be08d7aeb3 assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json +d009a9773afcbea55f0595aeed99f532675f60a3 assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json +ca9c909af7dd7a3af7236cb50c5a3b62c680478c assets/twilightforest/blockstates/hollow_jungle_log_climbable.json +8c99823956d34437db12f925a70dd9bfbb641cd3 assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json +ba95e37843e6c08d8b2a27333ae7eff081a38ebf assets/twilightforest/blockstates/hollow_jungle_log_vertical.json 52a9a7051163a3b7d574eec838b2326bfc24dccb assets/twilightforest/blockstates/hollow_mangrove_log_climbable.json b39ddeebabb217a44fb88a2b31dca8a4b765350a assets/twilightforest/blockstates/hollow_mangrove_log_horizontal.json 75934b3b99701fbafbd1a693cbdf1b700c3aef69 assets/twilightforest/blockstates/hollow_mangrove_log_vertical.json 366f45e34773fc4f43b84a90230aa3496d800bca assets/twilightforest/blockstates/hollow_mining_log_climbable.json bddcea160534d177ef6788dcbf8ab8d6e75fe3cb assets/twilightforest/blockstates/hollow_mining_log_horizontal.json 248100167ce25bba1abaaa2693d8187632509bc8 assets/twilightforest/blockstates/hollow_mining_log_vertical.json +9a844249acc4d693ecddf9a93b78f4edfc26c912 assets/twilightforest/blockstates/hollow_oak_log_climbable.json +c21cb6f7d4d07330068012e272eccefa0953f129 assets/twilightforest/blockstates/hollow_oak_log_horizontal.json +3f725c98100dd0c3153edc12ca1ff33fab52e14c assets/twilightforest/blockstates/hollow_oak_log_vertical.json +960674df0714488bc0ec2d8dedc2fab14f9630bd assets/twilightforest/blockstates/hollow_oak_sapling.json +daa3187df4d67ade5d4bbbfc35239618cdb7068d assets/twilightforest/blockstates/hollow_pale_oak_log_climbable.json +2d9d20002ee704b297eb621b5bf9325898b9916f assets/twilightforest/blockstates/hollow_pale_oak_log_horizontal.json +6c968421f72b5177f61f7e5ddc2b911c8f8b71aa assets/twilightforest/blockstates/hollow_pale_oak_log_vertical.json c8461d2dfa455749d033e5fd38b74a20f778e70f assets/twilightforest/blockstates/hollow_sorting_log_climbable.json f477f69da196c39c5d4a01a73415813c9b529a63 assets/twilightforest/blockstates/hollow_sorting_log_horizontal.json 7abcc706c63c261c517a92dd99543215abbfa408 assets/twilightforest/blockstates/hollow_sorting_log_vertical.json +cb8f458bf8d632c32917786758b61f2e07d02ebd assets/twilightforest/blockstates/hollow_spruce_log_climbable.json +e6711e8452279762f8e12230f687c2beda542ce0 assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json +7b8ed220e2ec4126b1484b85b3512be989e875bf assets/twilightforest/blockstates/hollow_spruce_log_vertical.json 27ca6b21794d578ed8044f743e0e82bc75e1c06c assets/twilightforest/blockstates/hollow_time_log_climbable.json c05a16fd9debf061b36d3f74dc8f1dfc68d4f9bc assets/twilightforest/blockstates/hollow_time_log_horizontal.json d9c78d998ddea04e828eeaed2e08e2f2a95e1940 assets/twilightforest/blockstates/hollow_time_log_vertical.json @@ -93,9 +131,16 @@ d9c78d998ddea04e828eeaed2e08e2f2a95e1940 assets/twilightforest/blockstates/hollo 5da9f159cea1aed5595470e1800dfc5bf2ad19a2 assets/twilightforest/blockstates/hollow_twilight_oak_log_climbable.json 7feec1989fc821468846e8bef8c25500931c18c5 assets/twilightforest/blockstates/hollow_twilight_oak_log_horizontal.json 791f494f0eaaceda560aa7dbf32a8f017cea55d4 assets/twilightforest/blockstates/hollow_twilight_oak_log_vertical.json +689ef12fe6afab338054db95c593a1eedf53e42c assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json +5fc4f171e0c77c83adcb19b6ca7554f652deadf1 assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json +b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json +01d256e795bf6c6719c03fbc2edc8b2cbb30d1d0 assets/twilightforest/blockstates/hollow_warped_stem_climbable.json +59b9878f5096f15e42557bc6158af2e22370b658 assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json +44ee2a08914b00bf15e2dc9a2e6b6b41c18bdd60 assets/twilightforest/blockstates/hollow_warped_stem_vertical.json 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json +63888a1eea77277c50695a78d8fa7fe3732d7dc9 assets/twilightforest/blockstates/jungle_banister.json 0c9d3bbbca93e0b56793a9eebcdfba0547440a47 assets/twilightforest/blockstates/keepsake_casket.json 4ce6459423e55eb6ee68205584fc72fdf2ff325b assets/twilightforest/blockstates/knight_phantom_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json @@ -103,6 +148,7 @@ d9c78d998ddea04e828eeaed2e08e2f2a95e1940 assets/twilightforest/blockstates/hollo 2c26b31ae37dff2a5430d8717b074dab52ad0b74 assets/twilightforest/blockstates/lich_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_wall_trophy.json +ad692089c598a53aba9baba70751d15bc9be2c47 assets/twilightforest/blockstates/liveroot_block.json ffda814651732d9d2e2ad596b5f82ae453eba4ab assets/twilightforest/blockstates/mangrove_banister.json 89480f14f87cf18f9e507251a0bb479a962afbb2 assets/twilightforest/blockstates/mangrove_button.json cbd68284ccf7c5f2860f0c5823a05c3f6deff522 assets/twilightforest/blockstates/mangrove_chest.json @@ -114,6 +160,7 @@ b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangr e6696e44d816afa56d2fb91e47e85e18dbee164c assets/twilightforest/blockstates/mangrove_log.json 0918b89fd0ae0a6d8cb08240e45f430204dd652a assets/twilightforest/blockstates/mangrove_planks.json d4ea83fe6efda8ec6b5254b3b714495ce2746fc9 assets/twilightforest/blockstates/mangrove_pressure_plate.json +c4498698b5513a3c5132dd7e561959a202e48578 assets/twilightforest/blockstates/mangrove_root.json 9abde1b7491a85eca8c85f32fd936d844e6aa0bc assets/twilightforest/blockstates/mangrove_sapling.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_sign.json 0a8a1e63651085660678558871b29308f0e87186 assets/twilightforest/blockstates/mangrove_slab.json @@ -132,6 +179,7 @@ d466eff659cc53244f0a5c114ad7720f5d2e9de9 assets/twilightforest/blockstates/minin 9c73ec1437484ccad5709a3b026d0edfa460615f assets/twilightforest/blockstates/mining_hanging_sign.json d5160517781c85fb75caf34dcc287671ca5e3186 assets/twilightforest/blockstates/mining_leaves.json b858278ed0f8dd84ed781f8b25cec73288cc5af8 assets/twilightforest/blockstates/mining_log.json +1eb1c1b7f1d8f60d2d4a6e44bec5d50802713301 assets/twilightforest/blockstates/mining_log_core.json 05d439a9f1c976c8de64f63b2935eb299cc37112 assets/twilightforest/blockstates/mining_planks.json a3172f591c2f793f17bc50e85d954836473c3430 assets/twilightforest/blockstates/mining_pressure_plate.json e136e20a505445ebdc740bb2e09b289a20015b90 assets/twilightforest/blockstates/mining_sapling.json @@ -159,20 +207,27 @@ beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagas 0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json +0fb6a112f2adaddd0ee00b84ffadf7f634c44357 assets/twilightforest/blockstates/oak_banister.json +f6619ff04ba1c60b028b98da141a03a40c3fc41e assets/twilightforest/blockstates/pale_oak_banister.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json 6d1355138bc99dc102517dd779b0a69cae69eb79 assets/twilightforest/blockstates/potted_canopy_sapling.json 165a66c5cdeb9bd559ddbe3557ade25ef8c6dea9 assets/twilightforest/blockstates/potted_darkwood_sapling.json +9d0139029c6a6f32c82f6be1bbd3af7600a8142a assets/twilightforest/blockstates/potted_hollow_oak_sapling.json cbf9a4bee60c4f78f363749482569ce88246234d assets/twilightforest/blockstates/potted_mangrove_sapling.json cc99e996a4893cce317a4f29364171556025a240 assets/twilightforest/blockstates/potted_mining_sapling.json +cb5d5c919df96db36a0dc2ea15e3c4c8b881b73a assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json 1a70ca5a6c64fcd7b010e5aea42f6974962b0fb0 assets/twilightforest/blockstates/potted_sorting_sapling.json 9785c009daff75e161f07fa1887e995fffa7cb48 assets/twilightforest/blockstates/potted_time_sapling.json ce094a7d5901495f51ed9c4b51179a0746bbd349 assets/twilightforest/blockstates/potted_transformation_sapling.json d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potted_twilight_oak_sapling.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json +31c30e44cf4eeb0ccc7b65e72518267273761f6a assets/twilightforest/blockstates/rainbow_oak_leaves.json +418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json +bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json @@ -189,6 +244,7 @@ c77286635d3bae7125437cb52b159e584bf4478d assets/twilightforest/blockstates/sorti 214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json 45ce3b21e53ef2f5619227eaa406d23e69a54f31 assets/twilightforest/blockstates/sorting_leaves.json 8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json +bda25e0ca357774610a08c6a749112c1bb9f6a4a assets/twilightforest/blockstates/sorting_log_core.json b2f76c65ff687953aa80577cbab827b2f4edb948 assets/twilightforest/blockstates/sorting_planks.json a332464cd953fe884423d971f86c82cabc60105a assets/twilightforest/blockstates/sorting_pressure_plate.json f255b22c939a9d3c96db3f03f475b420a237a982 assets/twilightforest/blockstates/sorting_sapling.json @@ -201,6 +257,7 @@ a63594251e98cad77affe3accc1f75835a271066 assets/twilightforest/blockstates/sorti 3b0b05d36838b7445c4b7e84a14fa8ab0e651c18 assets/twilightforest/blockstates/sorting_wall_sign.json 79bedbdea008300c35668d8d740e66e5d0e81284 assets/twilightforest/blockstates/sorting_wood.json fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json +19294b4bcc55ffed1467c68e66acba67225160f8 assets/twilightforest/blockstates/spruce_banister.json b2e74bad436c08b77027498c4722448d678ae13f assets/twilightforest/blockstates/stripped_canopy_log.json 7d3fec0b41d5610e6544df651bcdbe9da992ac18 assets/twilightforest/blockstates/stripped_canopy_wood.json 85b3a6d805a8e29cc5f13c2c73656b7af562b8a7 assets/twilightforest/blockstates/stripped_dark_log.json @@ -220,6 +277,7 @@ ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/strip 76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json 9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json +93f581b7501ff5d8dca8728d70349b58e7c5f982 assets/twilightforest/blockstates/thorn_leaves.json 245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json 2df741f8ea48bf2035b932508d20ccf58d3e7ad6 assets/twilightforest/blockstates/time_banister.json 6180f2c11ab761ca83f23ead261817a5947af0fd assets/twilightforest/blockstates/time_button.json @@ -230,6 +288,7 @@ a76889cc929e0b858ab92d42e82b4775f2fbe0d4 assets/twilightforest/blockstates/time_ 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_hanging_sign.json 4691adb21b87d5329bfcd190d3863c4dc9b63e6f assets/twilightforest/blockstates/time_leaves.json 46816c67d770f839e0167d730277b1e967513fa4 assets/twilightforest/blockstates/time_log.json +6ad99aefb9e6f8f41b59fa3a931d416f28ec4069 assets/twilightforest/blockstates/time_log_core.json 165da41509f05267289915b9762771f136738020 assets/twilightforest/blockstates/time_planks.json fcee4e78477126f2bbb069e653a75840d12186e3 assets/twilightforest/blockstates/time_pressure_plate.json 51256d56f4fe23232f18f9140f23050af247d73f assets/twilightforest/blockstates/time_sapling.json @@ -250,6 +309,7 @@ cb5b66e3f5961faa1098f5d52762288aed0e06bb assets/twilightforest/blockstates/trans 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_hanging_sign.json 708a669983dc33ab4ff8de5dd903a1b4e058bb08 assets/twilightforest/blockstates/transformation_leaves.json 09b9ddd5d8352ea53265dbfbef168326a3ea5b85 assets/twilightforest/blockstates/transformation_log.json +3ee12abd8a96df7622a03a7e6eb1b434f26ea436 assets/twilightforest/blockstates/transformation_log_core.json 12687e82fed15247622af4258485c79cecd007aa assets/twilightforest/blockstates/transformation_planks.json eb2f924745e1a98838769b71333eeeff2c443ca5 assets/twilightforest/blockstates/transformation_pressure_plate.json 1a54a691bee7bb2bd4aef219e467fc24e57ec0bf assets/twilightforest/blockstates/transformation_sapling.json @@ -286,11 +346,14 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json +6d0f3371bf4a3e3b123e8fdbab4cd2032d05134e assets/twilightforest/blockstates/vangrove_banister.json +343083384c6b6e1098e003812f7c3d314ed07f2d assets/twilightforest/blockstates/warped_banister.json 8b416cbb656b8b6822a8c993cd2f7e12d87bec23 assets/twilightforest/blockstates/weathered_deadrock.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_wall_skull_candle.json +6f672fa3bb551cf96096e14ec7d63e3a9344d869 assets/twilightforest/items/acacia_banister.json b76770f252018a0a33cfd6087130ae793b80c778 assets/twilightforest/items/alpha_yeti_banner_pattern.json b7780075e20499c3fd06f7afc881eb8e472a7609 assets/twilightforest/items/alpha_yeti_boss_spawner.json 07e7f90ce6ec6d18812fa21c73f9e0232d73275c assets/twilightforest/items/alpha_yeti_fur.json @@ -306,8 +369,10 @@ f2a59ac53a4650eca48bc87ea5925dddfa448510 assets/twilightforest/items/arctic_helm e81f61d50559025a7d12ea4e684d061b53bff728 assets/twilightforest/items/armored_giant_spawn_egg.json 49913b0c0eeb57dd580b61e8f29d1f80e53a381d assets/twilightforest/items/armor_shard.json 795e07220a74e2680608e0ca10a19f7c8d194f6c assets/twilightforest/items/armor_shard_cluster.json +eb6fb60046279bb018ed35c2dd9cbb39bd48dea9 assets/twilightforest/items/bamboo_banister.json f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_sheep_spawn_egg.json +9f115f91a376d40fb6ea31d57bed3c94d41bdacf assets/twilightforest/items/birch_banister.json 7ebddc418373224ebd3f09bb32be57026aabedc9 assets/twilightforest/items/block_and_chain.json 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json @@ -322,6 +387,7 @@ c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorn 94bcb56bc2cda362bb8af7792cd204abf879e9ec assets/twilightforest/items/candelabra.json 192ae2b2cfdb21ac13ded44abd7b1e8f80005b94 assets/twilightforest/items/canopy_banister.json f638f4b325aee0e97537a12bcd4763e9d2a458a4 assets/twilightforest/items/canopy_boat.json +cfec799b1628ec52ef6a2e7b0085e440c50b5d01 assets/twilightforest/items/canopy_bookshelf.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json 292cd3e4cb30952e1be94a9f49d885ed81c9b2f5 assets/twilightforest/items/canopy_chest.json 3e3be9263ae59578af07d429e62cd29db30bca20 assets/twilightforest/items/canopy_chest_boat.json @@ -329,7 +395,7 @@ a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json d1bad5db61cce0fa1955a6c6e39977150a4cfd94 assets/twilightforest/items/canopy_fence_gate.json a095615c1b138c2db3e3f1e1d6e30b9a59887180 assets/twilightforest/items/canopy_hanging_sign.json -5902bc1bda28a9453fdcf1b1acdcdcf9707268f3 assets/twilightforest/items/canopy_leaves.json +81e0e7c0fb0711ba4bb018d8b6e6c6a5763b5bfa assets/twilightforest/items/canopy_leaves.json 8a657917b403358b09dc9551dfd5024b5a02d752 assets/twilightforest/items/canopy_log.json 848c8e7860e0c1e164b0f876886af53fe060ca73 assets/twilightforest/items/canopy_planks.json 15fc4a7aa75647f342dd2493cf18cdde6745c0df assets/twilightforest/items/canopy_pressure_plate.json @@ -339,6 +405,8 @@ f6794ac9e3cacc031d5d3de1c1444da066bf7df2 assets/twilightforest/items/canopy_slab ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stairs.json 2476e0a8a188c8aa8c53c0fb89b2d4bd5a49a59a assets/twilightforest/items/canopy_trapdoor.json 34b8ed1fb062d06958f977bf6b4b231127d7f386 assets/twilightforest/items/canopy_trapped_chest.json +54b824e9437efc512911e75dac06f5c0d1dc5ade assets/twilightforest/items/canopy_window.json +3059035669d5c0debc414219e7a2ff2c4c91ec1e assets/twilightforest/items/canopy_window_pane.json 80dcdab276f4490d97dd3b9efc8f4100785f49aa assets/twilightforest/items/canopy_wood.json 8357c3180197507bc520d84941553c1b036bea13 assets/twilightforest/items/carminite.json 5de6a2921cb6962beadbf3a658b05e2226125d04 assets/twilightforest/items/carminite_broodling_spawn_egg.json @@ -350,6 +418,8 @@ b65f46e982e991ee9baa05d34d46cd7f4a6daf1a assets/twilightforest/items/carminite_g f3090265d1ad74026a480ce7e7da412432c18072 assets/twilightforest/items/charm_of_keeping_3.json b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_life_1.json 9d9add66835aa568375957104b83886b6438b293 assets/twilightforest/items/charm_of_life_2.json +e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_banister.json +811a790d6d001885bb20f7bfa128c65fc925b401 assets/twilightforest/items/chiseled_canopy_bookshelf.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json @@ -359,6 +429,7 @@ d0d964719f31180f7986a96318b2927cbd9ae8c2 assets/twilightforest/items/cracked_nag e9aa2d0b0148a1618071bab3b7c864e7359b0ac3 assets/twilightforest/items/cracked_nagastone_stairs_left.json 06086a7ba7c3334e9fcb25c85ed35c16a4a76e50 assets/twilightforest/items/cracked_nagastone_stairs_right.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json +cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_banister.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json 3153d4072e1aa9ee6a6acf41ec81970eb24fb3c5 assets/twilightforest/items/darkwood_sapling.json @@ -373,6 +444,7 @@ d03877282b2f1d824191e28ebd72c152b14589b7 assets/twilightforest/items/dark_fence. 790d67b798988d3a9f855af4f8f3ddbc15f23f0a assets/twilightforest/items/dark_hanging_sign.json 6e81382506e1419cd0818bb9a0a11fa0ad58b411 assets/twilightforest/items/dark_leaves.json f0c773627cc6854a594be22a0cd9b17779955010 assets/twilightforest/items/dark_log.json +f11f5d05c859412229fc5afbe4ed9844b77b2878 assets/twilightforest/items/dark_oak_banister.json d2bf8600e7daf150dbc40f4ab23406aef31fd7a3 assets/twilightforest/items/dark_planks.json 4c9344e067b4dfd71f05dde4e01ac334a83edc3d assets/twilightforest/items/dark_pressure_plate.json a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.json @@ -410,14 +482,26 @@ aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minota d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json +f76ee10a76be7fd4359b95b2d66e9915f6fe0b55 assets/twilightforest/items/hollow_acacia_log.json +d53de1f41381cd990af761dfd33eb6e8eac2a221 assets/twilightforest/items/hollow_birch_log.json ec7feb59c2c55cd8c7c9b13fb3e6cbf1c6d804d7 assets/twilightforest/items/hollow_canopy_log.json +e3a22a839be5679d607bd078ed9e60c08aabc83d assets/twilightforest/items/hollow_cherry_log.json +92d807542d8d96d8a3f3c826815797907c15e90e assets/twilightforest/items/hollow_crimson_stem.json 1b75bfbc2554d8a4dfbdabfaddaebb15879de9ca assets/twilightforest/items/hollow_dark_log.json +38dd0fe126690e968d6030600afcf927eb34a0a9 assets/twilightforest/items/hollow_dark_oak_log.json +8959f625577dec49079de59ed8aa080cb7161604 assets/twilightforest/items/hollow_jungle_log.json 11da9928f3ea2e0cc4446c6d992bda00e291d266 assets/twilightforest/items/hollow_mangrove_log.json 8cb6cdbfcd5337c52510e430b676027a89eb4b51 assets/twilightforest/items/hollow_mining_log.json +f0bd19e2edae5a148e100464c62622a6c78de486 assets/twilightforest/items/hollow_oak_log.json +2d808a36f1f4a93b4cdc93aed0fe71f87928c7ab assets/twilightforest/items/hollow_oak_sapling.json +0f165e03933cec850eee0069564c5218ccbc9bb8 assets/twilightforest/items/hollow_pale_oak_log.json 9ae2fed361e007b5c9c84b5183e044911ad0794c assets/twilightforest/items/hollow_sorting_log.json +74389f032f2018aa06dc26ca278c22d9c86e1e07 assets/twilightforest/items/hollow_spruce_log.json f16134891390ae87eb99e6135db1b94081fd965e assets/twilightforest/items/hollow_time_log.json a3ac50c9a15118942acb64fd5137f64d96893ba2 assets/twilightforest/items/hollow_transformation_log.json 09f0d4a48954d2c562922189256708ffe977e4bd assets/twilightforest/items/hollow_twilight_oak_log.json +80cb85783f84ebd979549fe63a7b463e7592bc89 assets/twilightforest/items/hollow_vangrove_log.json +ccc382241cc3dd89d4ef02e0415e26054644c547 assets/twilightforest/items/hollow_warped_stem.json 765ccf231d90da2cc5ad37f74ef37abb59eb03c2 assets/twilightforest/items/hostile_wolf_spawn_egg.json 2a5457ab1cb1129303f5e45499504213f5fb7b92 assets/twilightforest/items/hydra_banner_pattern.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json @@ -438,6 +522,7 @@ c62e20368ba3b20cef54a4398bc9da078bc65ab1 assets/twilightforest/items/ironwood_le dc447f17993ed6305b89e74756fa0e3aa16d79ae assets/twilightforest/items/ironwood_pickaxe.json 962c4db843e066ca397125423387661d3f7d8d12 assets/twilightforest/items/ironwood_shovel.json 7148bc3823e70b47fbf2a61b6c45df9d5b98ba4e assets/twilightforest/items/ironwood_sword.json +791cd0e28f9871e7286dd2b5eecaeda5e7bcbf22 assets/twilightforest/items/jungle_banister.json 215ee6062747a5e5b6a142aae307e86c61ef1fa8 assets/twilightforest/items/keepsake_casket.json 248ee88333cf8d32bc51c72c89f0de8a3fcf2d09 assets/twilightforest/items/king_spider_spawn_egg.json e08340fac56bb2ee5092c938bebd806e70a9e70f assets/twilightforest/items/knightmetal_axe.json @@ -462,6 +547,7 @@ b253e2726dc40da9667d77285f6194204bb43e03 assets/twilightforest/items/lich_spawn_ d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy.json a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_scepter.json 5e5cc29ff6d40efbb6da932d4f4b00b4b04e058a assets/twilightforest/items/liveroot.json +f7c9e142ddb7be93b421a58c5b6e319285d13d4b assets/twilightforest/items/liveroot_block.json 1a3b6e462423c661cba82eb1f4aec0717ad92fa3 assets/twilightforest/items/lower_goblin_knight_spawn_egg.json 9a55e1f732bd74619934d4e50d34d86fdbfc5b86 assets/twilightforest/items/magic_beans.json c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.json @@ -475,10 +561,11 @@ f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_do 5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json 6ccb9232dc427e990d4e9a82e27a17d453a9c43b assets/twilightforest/items/mangrove_fence_gate.json cc4a83083c079c8971a313ec2acbbc0fe62bd359 assets/twilightforest/items/mangrove_hanging_sign.json -cdbab211f4d1111b95f6d309bc452ad2ff9a67c1 assets/twilightforest/items/mangrove_leaves.json +8d165bea18524b00feda750fb5cf20d470f60543 assets/twilightforest/items/mangrove_leaves.json bcd3dc2fd0143161685aba247665e91fbf8ac466 assets/twilightforest/items/mangrove_log.json c192583209d88243de973af6f3c15ac18c196cdb assets/twilightforest/items/mangrove_planks.json 7ce60edd9128e900b228fa498ca2a561602762cd assets/twilightforest/items/mangrove_pressure_plate.json +797b8e15434d0ba6acbdfea1f20bd435c5fbca05 assets/twilightforest/items/mangrove_root.json 7d2fa0bc2cb3ae9b6eba3cab658233ff829d629b assets/twilightforest/items/mangrove_sapling.json 524b384be940b212c5a3ea9cdae2c6b08c98b800 assets/twilightforest/items/mangrove_sign.json 52b6ef8c45ec1bbf838d0c4e90a0be9284cfa021 assets/twilightforest/items/mangrove_slab.json @@ -501,8 +588,9 @@ fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_butt e72eef8781e605865ce6cd1f5311a0b3c767dbdc assets/twilightforest/items/mining_fence.json b97893c19862876e7c77a661e150c749df9e9d8e assets/twilightforest/items/mining_fence_gate.json 200e59d45ee1c3ae163ed909d7ab51b635f594f2 assets/twilightforest/items/mining_hanging_sign.json -3ba6cde5bc176ea9f5b63a46b7e28e364b019b06 assets/twilightforest/items/mining_leaves.json +b6cd6a1a150f9eea3186262f1ff7b229809597cb assets/twilightforest/items/mining_leaves.json 1d4e1a78ff629ed0ffe4591b039a3601ca7dfa66 assets/twilightforest/items/mining_log.json +97bf87c780c366e4b5522ab19597063df121785b assets/twilightforest/items/mining_log_core.json 4762999e276d02fc82c96a08f5299c115ba375a6 assets/twilightforest/items/mining_planks.json d4e36192ff215bb37543e436f6fcc52b4a0c2572 assets/twilightforest/items/mining_pressure_plate.json 0fbe6539b0da9da5dda4431f34e85ff65b962423 assets/twilightforest/items/mining_sapling.json @@ -548,9 +636,11 @@ d62b9ee4f91d48a12625e79332538f3857419ce2 assets/twilightforest/items/nagastone_s d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json +04b0358438825a2b5d239d1a8a1f4e4e298dfb18 assets/twilightforest/items/oak_banister.json 825d5e28fe55175fd3b92366bb7c9f457276f760 assets/twilightforest/items/ore_magnet.json 02d53639ab94a68e5a24566cb3f0bb2f6cdf4fe5 assets/twilightforest/items/ore_map.json 5fd1c9fe44bb415056e270ccf58d5c888fa5e9a8 assets/twilightforest/items/ore_meter.json +d92e658e736831a5b72bae55c9ae597ee38b72cf assets/twilightforest/items/pale_oak_banister.json a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_feather_fan.json 2a0a14f57f18f9c7394596fe62851aab1b7cc173 assets/twilightforest/items/penguin_spawn_egg.json 9ace494c83bdbe18f6e5398d4f88a6a8b32113ea assets/twilightforest/items/phantom_chestplate.json @@ -562,6 +652,8 @@ b0149b1000e8ea6417cd26f4c90f42e9280fd05f assets/twilightforest/items/pocket_watc dcd51affeee0819cb80e3e30aaf02332d0856998 assets/twilightforest/items/quest_ram_banner_pattern.json 935291084d44e069679fe938f64d9d84abc6002f assets/twilightforest/items/quest_ram_spawn_egg.json 1bb04c85e1c23e6687e96a8d9e1c73bbad299ee2 assets/twilightforest/items/quest_ram_trophy.json +e5539d207e0b49b60762e8855b0103ee2467d1cd assets/twilightforest/items/rainbow_oak_leaves.json +26d2714347a13e535cdf859bf80952eeaac0a780 assets/twilightforest/items/rainbow_oak_sapling.json d0506f746bc4f2c5133dfffa619099cce63ce04e assets/twilightforest/items/raven_feather.json 44839fbcbf7b5d1b7db67a14519633c138ca8066 assets/twilightforest/items/raven_spawn_egg.json 771501bd164045744ea9ba04620d916b25c532ce assets/twilightforest/items/raw_ironwood.json @@ -569,6 +661,7 @@ d0506f746bc4f2c5133dfffa619099cce63ce04e assets/twilightforest/items/raven_feath f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison.json d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json +d6873cf3981e7fc851792bdd6f6b640d0c015e4c assets/twilightforest/items/root.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json 7f500dcd5571fff8dfee2efeb938b21a716eae8d assets/twilightforest/items/sinister_spawner.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/skeleton_druid_spawn_egg.json @@ -589,8 +682,9 @@ efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_doo a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json d4607010ef537ad829c806346bd4fbd517a7fdc8 assets/twilightforest/items/sorting_fence_gate.json 9fcaf01d3d5088a430832c95f022017a9a81bc6f assets/twilightforest/items/sorting_hanging_sign.json -f65cb504b11cf941ea8a11fcf8c57df40634a644 assets/twilightforest/items/sorting_leaves.json +dcb7b9cb9b3a33ad3d80d0403b3c66bb9c1c9528 assets/twilightforest/items/sorting_leaves.json 484b7f83877a5fde12c2c8a409d73077812cc0ae assets/twilightforest/items/sorting_log.json +229f71b6b844bf9dce5f070883e287b989358a3b assets/twilightforest/items/sorting_log_core.json e41ad41ba75ae2b005df7d95a5b7c6acac6d2f45 assets/twilightforest/items/sorting_planks.json ab3243f3955c0897d53886691d6b397874d57015 assets/twilightforest/items/sorting_pressure_plate.json e50e95b3f0e5404391ea7b1a1edf55da01ad51f5 assets/twilightforest/items/sorting_sapling.json @@ -601,6 +695,7 @@ e50e95b3f0e5404391ea7b1a1edf55da01ad51f5 assets/twilightforest/items/sorting_sap d84a3ce3786242b19151f49a3546ed3cba93ef57 assets/twilightforest/items/sorting_trapped_chest.json 710cd025b909a2755d1266f3fa6f93216dc181e6 assets/twilightforest/items/sorting_wood.json 8c18c36efcafc7a0454b8eb82f1f40452e368b9b assets/twilightforest/items/spiral_bricks.json +c4fe74256ae346fc56f14cd8b6eb3ff5348be463 assets/twilightforest/items/spruce_banister.json d0646c85a48e4eb018ee6c5c1dd27aa1c3080ef2 assets/twilightforest/items/squirrel_spawn_egg.json e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_core_spawn_egg.json 63a9456abb037acd89375ce3fb0be21d879ab394 assets/twilightforest/items/steeleaf_axe.json @@ -633,6 +728,7 @@ fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spide 6c7e3822b449ce65e48a4a5ed6b4e8fe3d927a3e assets/twilightforest/items/terrorcotta_arcs.json 17590dd540f0a69091f30adddf4505fcba9a584d assets/twilightforest/items/terrorcotta_curves.json 6144765aad96aec1387eaa9a72b5f89a743a00fb assets/twilightforest/items/terrorcotta_lines.json +8d06762dc6f7eed34f627057f26def50532b386c assets/twilightforest/items/thorn_leaves.json a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose.json cb04aa51bda071a21587594d8da41f848dbcdd2f assets/twilightforest/items/time_banister.json 05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json @@ -643,8 +739,9 @@ a8123fb380b321df3c65a4b4c7d2eddaa0f318e1 assets/twilightforest/items/time_door.j cfad4f919c9562b48a0dee337e2e50147c9d5ba3 assets/twilightforest/items/time_fence.json 38aee6c1ea11e6b0c0af549255835910d08ed605 assets/twilightforest/items/time_fence_gate.json c8b5b265ee1e45302b2b84cd5418ffb1a124c810 assets/twilightforest/items/time_hanging_sign.json -74a1e21638c7707f58daeec65f5c891c8d8fcc52 assets/twilightforest/items/time_leaves.json +81e5c0e7ddca6c585efcac503300d45d820084d8 assets/twilightforest/items/time_leaves.json aa31f56cd9b0380972f418c17b01a72822d1ed97 assets/twilightforest/items/time_log.json +371fcb9ed4836828407a129716c4c52f23f0aff2 assets/twilightforest/items/time_log_core.json 3f7dbe6bc54b4af75cda71b6bc1ccfb872bc7e63 assets/twilightforest/items/time_planks.json c9bd57761f58627f38d888214fa05b83099dc788 assets/twilightforest/items/time_pressure_plate.json 349dd5a5fb71877908dd2c097c633b39f18a96cf assets/twilightforest/items/time_sapling.json @@ -667,8 +764,9 @@ e9c8ab14d47cc6b34767ad0eb64cea8bd9c5a854 assets/twilightforest/items/transformat cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformation_fence.json 3f66be49119f27d6ab9e665a1b42878a3ca7d0c1 assets/twilightforest/items/transformation_fence_gate.json 620e95f4e40dff1f08a8c1b231362ce3f5dae089 assets/twilightforest/items/transformation_hanging_sign.json -3c38d1e00320ea19f0d926e123a79a54785f724b assets/twilightforest/items/transformation_leaves.json +8e2915a8d671813d33fcd2bfa6780d22c807966a assets/twilightforest/items/transformation_leaves.json 4be35f4b3b1a2bc4f81acc6c24f8ea6b53218d5f assets/twilightforest/items/transformation_log.json +ee23570ea9c1fd19aed1d00bd3632a595ab2dbe1 assets/twilightforest/items/transformation_log_core.json 339f9f0a0f9970198c27e0c7e3115bfe609fa9e3 assets/twilightforest/items/transformation_planks.json 7f43bf7615605c61e66f7648d38abb8a91993bbf assets/twilightforest/items/transformation_powder.json 609c9ab0c3d9c381d50dcfa4097b5964c4ea431d assets/twilightforest/items/transformation_pressure_plate.json @@ -709,6 +807,8 @@ f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_ba d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json +1f423291ccff6e754a0ebeba64aed85c6d172b95 assets/twilightforest/items/vangrove_banister.json +c7918c062c6198f1dce42805319c3d7a955748d8 assets/twilightforest/items/warped_banister.json f924ce78f6a45301dc17c59ca1846b7790380a3f assets/twilightforest/items/weathered_deadrock.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json @@ -721,11 +821,32 @@ e232152d263a87e9c8e534be667211c5798fca2d assets/twilightforest/items/yeti_leggin f87a58c73252cda87b764f2540eed234afad2e74 assets/twilightforest/items/yeti_spawn_egg.json 260c3600a2d7a4fb94e70d9933ac7dfe8337b304 assets/twilightforest/items/zombie_scepter.json b65dfc2052e4aae7aadfb6e57f514621676833d8 assets/twilightforest/items/zombie_skull_candle.json +f05dad705007ed1bf40f1bfd33b36ef95a7ba88f assets/twilightforest/models/block/acacia_banister_connected.json +5f4224f7d4c66563445d5796c5320505ca806c23 assets/twilightforest/models/block/acacia_banister_connected_extended.json +4433f35abe047c81b45e1a41d5230a2d58d5788e assets/twilightforest/models/block/acacia_banister_inventory.json +e641357d81d0db4714fed896ab2a9f065a26d0fe assets/twilightforest/models/block/acacia_banister_short.json +c9d852ebe0ef4b5f0761c1bca4baa3fb379c689a assets/twilightforest/models/block/acacia_banister_short_extended.json +41f677a1ec3a5a8d5f23a19102f9cb2fb36c4d26 assets/twilightforest/models/block/acacia_banister_tall.json +330170ffd35e9883c90256df6b5451923315b5f1 assets/twilightforest/models/block/acacia_banister_tall_extended.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json 1c9b118da8b3090df8d92e90d01bc3dbd790c65c assets/twilightforest/models/block/antibuilder.json 67b8a168a06362405dddac226d485ca66b721ade assets/twilightforest/models/block/antibuilt_block.json ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json +612b554b0e3a6aff36dd99acea8ac15f4393ec61 assets/twilightforest/models/block/bamboo_banister_connected.json +131bc8614567ad5f081c2fb7dbbed8044d2a19d5 assets/twilightforest/models/block/bamboo_banister_connected_extended.json +2a161f12a94f7912a49863fab0b4ad32f69a9910 assets/twilightforest/models/block/bamboo_banister_inventory.json +845c221ca0dd8e71bb8353cb8bd106af7c218cfd assets/twilightforest/models/block/bamboo_banister_short.json +bd8b252faa40078e061a83cb1631b4cc4076fabb assets/twilightforest/models/block/bamboo_banister_short_extended.json +80d278f2cda9ebe2e09996e1fd06bde154460727 assets/twilightforest/models/block/bamboo_banister_tall.json +7f0161252fc0396cbc4387790b0884415d3d0838 assets/twilightforest/models/block/bamboo_banister_tall_extended.json c4202e9aeccc99a778c4f0af099cdeff1153c190 assets/twilightforest/models/block/beanstalk_leaves.json +a80406b6f10ed730630cce44f1fff5f635420fc0 assets/twilightforest/models/block/birch_banister_connected.json +ad1253493f05424be21c408de2ef1c49e4bb608a assets/twilightforest/models/block/birch_banister_connected_extended.json +c01d6f8e556660d31b89e7aeb1041968ba285d10 assets/twilightforest/models/block/birch_banister_inventory.json +08fb51fe4662baa819f2b56be67824fcafb6bb66 assets/twilightforest/models/block/birch_banister_short.json +fcb6ce40a91ccb555156b1c8a0fcd9d01356de1a assets/twilightforest/models/block/birch_banister_short_extended.json +1f4815b512abe55b025b5cbe3ec580094f89503f assets/twilightforest/models/block/birch_banister_tall.json +18766c8d26d7ba0ae13d6b17de869b8158b92d6e assets/twilightforest/models/block/birch_banister_tall_extended.json 755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/blue_castle_door.json f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue_castle_door_vanished.json 894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json @@ -758,6 +879,7 @@ c68f5d771564b2d313b3b29c1e16638807db599d assets/twilightforest/models/block/burn 0c77f53353d79eeccb7e558a3a4fc69a673e5eb6 assets/twilightforest/models/block/canopy_banister_short_extended.json 7d39858772133ee2ff7aa7b469ec30be3707c67f assets/twilightforest/models/block/canopy_banister_tall.json 37f8687883c20868381840b54ec5aed9efa6c72c assets/twilightforest/models/block/canopy_banister_tall_extended.json +2b8a362ebd9886689355879a27b9e7ed9f83d50b assets/twilightforest/models/block/canopy_bookshelf.json d78280f3c0ac8136a6f0047142586a3326bbb0b2 assets/twilightforest/models/block/canopy_button.json 74ab6f9640fb8a4462826863106ab8a10800ad54 assets/twilightforest/models/block/canopy_button_inventory.json 83c325cb86146cf1973625a1c82343d58ed3386d assets/twilightforest/models/block/canopy_button_pressed.json @@ -777,10 +899,10 @@ f0591424abb2855d5916beb6560400093dcdc93d assets/twilightforest/models/block/cano bf479a7cfe8517bbc32bb9c5b2912f92b4977c34 assets/twilightforest/models/block/canopy_fence_inventory.json d7933000f1caaafea6d0f1eee478b36fabb7281f assets/twilightforest/models/block/canopy_fence_post.json 22224620cbb583ba4152b0696efe4b2f35789dd6 assets/twilightforest/models/block/canopy_fence_side.json -f2b05af70b0b3f4a25f2fb3b56f63f10a477e5f3 assets/twilightforest/models/block/canopy_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/canopy_leaves.json -c9d46af1d45e1353291b9e06dab208c64c75f2e6 assets/twilightforest/models/block/canopy_log.json -9e2ef7c492d3a218227dfc444e97a09a00501ef1 assets/twilightforest/models/block/canopy_log_horizontal.json +7bcc5cc7dae7d0359b61eea70884b57453b2f8c7 assets/twilightforest/models/block/canopy_hanging_sign.json +adbaa0873ce2cc61c6db409eb4228e0e5a08706b assets/twilightforest/models/block/canopy_leaves.json +c614bf467f221cbfb861867002f1684c65185870 assets/twilightforest/models/block/canopy_log.json +e041349aa9b8216cce24c9ad223d0bd75feec3ed assets/twilightforest/models/block/canopy_log_horizontal.json fece711695142795fbe24f041959b223c83a3436 assets/twilightforest/models/block/canopy_planks.json 4952fedc4df67b0597eef35a42dc2e360995713a assets/twilightforest/models/block/canopy_pressure_plate.json 3dca0da91be08863c443571d01a1a592e45e2869 assets/twilightforest/models/block/canopy_pressure_plate_down.json @@ -795,7 +917,33 @@ f0f193b9b4b69dc0d9fc7574c999ecdf48b55919 assets/twilightforest/models/block/cano 33d57a95cd4e1cc0dd27727fdb33535974684754 assets/twilightforest/models/block/canopy_trapdoor_open.json c259e8c3d9b1e99a6ef073860aff35015f4f19bf assets/twilightforest/models/block/canopy_trapdoor_top.json e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/canopy_trapped_chest.json -abcdb61a44e8fad81d805d87368dc41627fd2f63 assets/twilightforest/models/block/canopy_wood.json +aecda09a363aeee99f29fc7af81787a570f8076b assets/twilightforest/models/block/canopy_window.json +189b2015ebc74348df126ad40ec5a569a7c82549 assets/twilightforest/models/block/canopy_window_pane_noside.json +dcbda21da5e082614804599d01ef734a4d97010a assets/twilightforest/models/block/canopy_window_pane_noside_alt.json +b5a65ac72647d5bb9f96241194b80d46d04d8936 assets/twilightforest/models/block/canopy_window_pane_post.json +4048ab075a808300374bb5f3d374597866208efa assets/twilightforest/models/block/canopy_window_pane_side.json +45e60116cf6b4603468e057db7b866ffab09d049 assets/twilightforest/models/block/canopy_window_pane_side_alt.json +050c5571fd66ea4629fdf2ca2c6688affbbc0313 assets/twilightforest/models/block/canopy_wood.json +91f69f2e84bea10ee443f1a4a14a66b66153b1d6 assets/twilightforest/models/block/cherry_banister_connected.json +578203432cc0e2534ec356fca90896dd2b1755c0 assets/twilightforest/models/block/cherry_banister_connected_extended.json +9d96f31565d3fe2cee0891841e486afcebedc0c0 assets/twilightforest/models/block/cherry_banister_inventory.json +3b8b6ac303cfd281951378b6ab94e2b6acc1af66 assets/twilightforest/models/block/cherry_banister_short.json +43c852a37c89210adcfaef290a58ed6ee0bb45ae assets/twilightforest/models/block/cherry_banister_short_extended.json +268dc814051444cabc67edebea5f1d05f0a3d4ba assets/twilightforest/models/block/cherry_banister_tall.json +d91617daa5f9bcd4fb7da173695606f1378b83cf assets/twilightforest/models/block/cherry_banister_tall_extended.json +b3af8e91124658e9d0ec200c5c0f3dec6aea7a44 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json +df6c9202de83fe87eaab2b8834a8d02fed4432e9 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json +111d9ae20b49f1aedb8641f2298b8ad727a6e403 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json +d5297445e174aa52f8f162e4fe4aa24b3b5ab529 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json +7a26bb4d1665101e96a8bb69b248f2b766872327 assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json +203614c64d6de2d2bd97357fe2e54af40986027d assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json +413e00dca8246d4ea2e22093e76a9c01be4ce4b7 assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json +0e9e6a2a3d68741a7fde6e5c4b6ff8b106e6fbe7 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json +a5ee5743a23fd3f8eb4d5b9cc38b5952c5024f6c assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json +dd3040ab703591ecec0e60ab83a452ab6bc590cd assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json +acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json +29e160336d210f8c080119513073bfe7ce926d77 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json +12b26d9a5bfd4a59a913e5358dfbdf27d30c6610 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json 1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json 64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json @@ -807,6 +955,13 @@ c06d8dc440d1339ef152921693c6d8655759ce4b assets/twilightforest/models/block/crac 4ea797c12baf56ba00ea946b9a9d3ddcc1bc1079 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json d0265cb851a40e415029a85d8fb087da4b43ef62 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json 6307d92705ed2d9548ef2a42a429aae107fa91cd assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json +50869fd994edc71bf866be65080f1057d3bb1526 assets/twilightforest/models/block/crimson_banister_connected.json +79b9cdff2d7d176a8de575bee9e6f5cc1b7ba3f3 assets/twilightforest/models/block/crimson_banister_connected_extended.json +23e0998436fa071075684bd4da82572be9804d28 assets/twilightforest/models/block/crimson_banister_inventory.json +a6231204fb7cedf1ed204c8fd0e5bff3ebe6d850 assets/twilightforest/models/block/crimson_banister_short.json +395cce33c02c94c89dec973b008b4e4a4f76d28b assets/twilightforest/models/block/crimson_banister_short_extended.json +2c03f87c0d219d4969f27dfb3770d3245a7517b2 assets/twilightforest/models/block/crimson_banister_tall.json +6531feceb39ab2904500388561dd9a47438d5a56 assets/twilightforest/models/block/crimson_banister_tall_extended.json a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 245e51f3889c8a6b4f9f73a7aee2a1d3eb84e160 assets/twilightforest/models/block/dark_banister_connected.json 8fa89c518cac61edd625aaf888fe8a25133265b7 assets/twilightforest/models/block/dark_banister_connected_extended.json @@ -834,10 +989,17 @@ aed55e4fcfd0b56243dbd48ad5983e5491ee8bbb assets/twilightforest/models/block/dark 6cf4d9f4bcbf1234602c09acb9b9f10222a1b69d assets/twilightforest/models/block/dark_fence_inventory.json c94aad12406b5ee322ab7f93047ea89bfda8f73e assets/twilightforest/models/block/dark_fence_post.json 73b63861315ff2577aa655f19b707508498f96c2 assets/twilightforest/models/block/dark_fence_side.json -c6764a97a7e81e2f497ecbd160b055626c71c31b assets/twilightforest/models/block/dark_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/dark_leaves.json -5ad5c7845eb2d4a9fdb6647e1998cb550bbde16a assets/twilightforest/models/block/dark_log.json -9d3e18cd1c21f8ca5ceb79abe0c2847570365c33 assets/twilightforest/models/block/dark_log_horizontal.json +79e612d857e941c9b089b706f35d458e2ec5af8d assets/twilightforest/models/block/dark_hanging_sign.json +07364502e5c64a3315889e3ab5a0c97849f91bc3 assets/twilightforest/models/block/dark_leaves.json +b3f43842bc667aa3f81435630f7c60d148f9f731 assets/twilightforest/models/block/dark_log.json +e46df0845cb98acff243af97ac0d19bf38e7cb17 assets/twilightforest/models/block/dark_log_horizontal.json +e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/dark_oak_banister_connected.json +8253a7f1694165cee0aa9f32598b88ec053e6ada assets/twilightforest/models/block/dark_oak_banister_connected_extended.json +07103bc99cc22a546bedf9534c7f43b736e9fa91 assets/twilightforest/models/block/dark_oak_banister_inventory.json +7cbec334e12de621e7fe33cc03e32d25caf8b952 assets/twilightforest/models/block/dark_oak_banister_short.json +0a0bf9053dc13fe96d732967e60c521ada1f3be2 assets/twilightforest/models/block/dark_oak_banister_short_extended.json +85365738809d84bf4c3dd0921d95be493ec27686 assets/twilightforest/models/block/dark_oak_banister_tall.json +dccfeadbe617c72dde0ffb4ba58d3fe358950e87 assets/twilightforest/models/block/dark_oak_banister_tall_extended.json d7521b57997bb0f4a76fddce2d74314c69a5ed91 assets/twilightforest/models/block/dark_planks.json f1799ac014bf298cd41114067a9239e4cd61e001 assets/twilightforest/models/block/dark_pressure_plate.json 9829504ca7ebb4945124e10fe2f4658de8106305 assets/twilightforest/models/block/dark_pressure_plate_down.json @@ -851,7 +1013,7 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 631783cec4fe246e8b5fe30730cad35f78c55875 assets/twilightforest/models/block/dark_trapdoor_open.json 88e24fcb7f760eccfbdb4391ba6d0fb4cf6e5819 assets/twilightforest/models/block/dark_trapdoor_top.json 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_trapped_chest.json -76ee07a399b645a6cddac150b00e6ba7306f53cb assets/twilightforest/models/block/dark_wood.json +2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json @@ -862,66 +1024,152 @@ b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/gree d33e39d98f049f1f984a172f6d4586aeecfc251b assets/twilightforest/models/block/green_thorns_no_section_alt.json 27ceb320e50eb4125595271065810ad48265f66b assets/twilightforest/models/block/green_thorns_thorns.json e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json -0275c8ebfa3e9ffec4a597edb139b2bf378bd588 assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json -4a4f7dcfd47908dc5fff231220bf75546e57a38c assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json -1e4639a87e268b07b9ed7b85b09ed4222a05ac0e assets/twilightforest/models/block/hollow_canopy_log_horizontal.json -0ad48228f16cca96f535910013c92bb89e51e539 assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json -f42db2edfaa8cb6eaca9626063cee57bb934ed4d assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json -0f850794d433b652f113a554bba2713f0787ba49 assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json -4f754514343e58ddbcde0903ba198021a12748c8 assets/twilightforest/models/block/hollow_canopy_log_vertical.json -66193a53e2af4dffa26aaea8b8b1706cf78f42d1 assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json -fd57a1ce253c35d2e71b1159c62310ec44388455 assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json -9b9717820830778e7724c19d8c3a2afd34003be1 assets/twilightforest/models/block/hollow_dark_log_horizontal.json -64242a40af066d721f66edcd1fd37eeff313daad assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json -51db4a08b3a418c4841469957f06cbc9d6d8f1cc assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json -8ce494e84c1995ae3f3b1c642326c1b55e115c4b assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json -90589bd61ed1d89b4d6c768084080675c80ef3ee assets/twilightforest/models/block/hollow_dark_log_vertical.json -aaad8622c90df07ed525046886880178471707f2 assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json -94f2a0569b5db013db9e878861ed12b9d1fd8297 assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json -2ca0d35f67bca43a86bb36f022f5066f68b2dd37 assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json -e3c3c172c471b20eaafebd6f4ce50519d991ae0d assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json -b99082af57c1567fd1a5bd77edaa105fecfc3be2 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json -5323f5592e0b193d28cd8df412d2d7db049125f3 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json -053a8b63941178e8715d58aa67bc18b8c2b96503 assets/twilightforest/models/block/hollow_mangrove_log_vertical.json -dd118dd05c1045a79cda23f2e015bd4a637fbcf7 assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json -10db349e920026f1c0d014502915c2e1e4b8c30c assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json -5c1475079c39f92057b23a8e8f9a9d4d25b3ce0f assets/twilightforest/models/block/hollow_mining_log_horizontal.json -7271176e499cc4f056f38563d026e95a94dc9887 assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json -c53eca53e21b5456823e5b303f2821795695933a assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json -e900eed97093a81768714cf238b658a828549de8 assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json -2e03cfdc67fcf700baa30b499513bbcc6f2ca5d1 assets/twilightforest/models/block/hollow_mining_log_vertical.json -c58271d5adf5eee68b15d667bd1250a5308c2e7d assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json -2126481062982124665a90c9d644804b7a6ae9be assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json -b457da4d468eabb210fa5150173a0c275dea00aa assets/twilightforest/models/block/hollow_sorting_log_horizontal.json -df8a7cc5af79e85030413022d54572be01b2b915 assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json -d639d6807fb7bd502b828d8e451595c4dbb94aaf assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json -b325904d8cace430d487e2df27a7898ba4605582 assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json -28aea268ebdb8659bba5271cc2d4e55c25a748b8 assets/twilightforest/models/block/hollow_sorting_log_vertical.json -40f593a971a03a3e053fba7e5430e29b627ef4a6 assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json -3e398d4f9006c8be630fafc2ec9761dd728044df assets/twilightforest/models/block/hollow_time_log_climbable_vine.json -96fbc151e92fb5b92b88b194d76600042d2010c7 assets/twilightforest/models/block/hollow_time_log_horizontal.json -eea60f2fb46d62274e3701e19f7952326b489fb7 assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json -6368e44c7e1675e6ca0b2cfc1708b3954ca1ef9e assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json -920a68a595fa9186b81e092098345345e4981d0d assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json -593314e811b72d8cdadc94b5d6649ecbfcf25dae assets/twilightforest/models/block/hollow_time_log_vertical.json -a8e194cc4629eea0e3206a60086e018efdeef8af assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json -d68f2d7d7fdf2c2123cd8eb978d9038ad0777f59 assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json -4193844b64abd0b34d3602e9b24fd3e84e63dff1 assets/twilightforest/models/block/hollow_transformation_log_horizontal.json -06e6a99fabb69d5b44ed9fa187092599a37fafe8 assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json -0a358f8f53bb6856938ed0e40702becd43929996 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json -d36f205247dbe937b9b03458a83a5300c0b4174f assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json -7144c81ee4cd0851e564f6b038cc6bf9e3db7d79 assets/twilightforest/models/block/hollow_transformation_log_vertical.json -9d8a5f3cf64a291fd24ad80bd8ae20b782015080 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json -b74187505c4a791796a46adaa37eeca3d6166dc5 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json -d55381f1601e11da77e5bbc4e5280dc4ed45cc7d assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json -0c898354aa0165af4a310f2388b045bf68937689 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json -5feee30f6268fcb77b6f93a73f016220bccad777 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json -975e75968eb58046c67a2d330cfb4cb47ec5b141 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json -941b6d537ebe9fb41ed981dee5a9c09eb6559a92 assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json +9a33de75d0832b880351b8ddef1733f34b035f28 assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json +66c36b19c39c316e9068760a5ad048328d26c664 assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json +11e00aa1c50f35fc207588e39a01024216674f1c assets/twilightforest/models/block/hollow_acacia_log_horizontal.json +005804b9ecab61cd2b97dfd7a1be3813f559583e assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json +8fa6fa7989333c7461530777229fcd9e3cad82d5 assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json +ebd6f92aca350a656cb05274df62757d05b8b8a4 assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json +8954d768d03f02a02c8a8e0fc07e81d0a8a757dd assets/twilightforest/models/block/hollow_acacia_log_vertical.json +d55c94ceb7e7945a72d2e88aa860162509312234 assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json +dffecc34df5878df1aae0089399f5ca6ca40bdaf assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json +df1fb277416c3f5bacd088f2aa152ffab369e177 assets/twilightforest/models/block/hollow_birch_log_horizontal.json +ccc5eea2a8a9b7f6f33cdb8add4ec543245ee0a1 assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json +2f4e92cbd29dc2ec1899fb17ed8ba5d3e0e30367 assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json +10c7dfb3cd55c97f3860aae3186ce4432b561ec3 assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json +b749305464a549420a9427072acd8f4ffb02d148 assets/twilightforest/models/block/hollow_birch_log_vertical.json +4eaa6ffe015a2c05497493570034a82892bd0c31 assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json +4cac899c5d9fc1589229c7d4720dfaeb435eeeab assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json +f80651538d9f4d07cae56ce506fc26dcefff6b91 assets/twilightforest/models/block/hollow_canopy_log_horizontal.json +10a66e4652ad83cd1c49aaac689c935f029ded0a assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json +f92cd7e24ee3a586461f086f4c1cad781222ffa1 assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +0545e0907ce62fb52d5776b45f6953248fcea742 assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json +2965376b91399bcc25d786d5b0d4736a2f1f8598 assets/twilightforest/models/block/hollow_canopy_log_vertical.json +2a5a7406e7ee85ac55d8c7ccfa7615ed091a47c2 assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json +7070af7d316cd2eeb5c9fc0f60212c31e627d9c8 assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json +083cfe3af84b90597d88a390cc8f52beb124ed4d assets/twilightforest/models/block/hollow_cherry_log_horizontal.json +86ee373c06468c1b48959dc8d1f77dc48350f40f assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json +1d104050e0a38c9e521771e8801d1527715eb18d assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json +6855b17108d0011f3102639011bcb997a016ec25 assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json +62e8533da1b9dcc0bf550b8785e765e7aba5abf7 assets/twilightforest/models/block/hollow_cherry_log_vertical.json +42e5d350d1bdea168b327700fd146e03fa891b87 assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json +8b70ff857b9e776ce80e611a9be93c574b73f7f3 assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json +bb296fd874cee56d1cf3881a7250daf92925f9e5 assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json +7fbb9a6dd30d2bb035a5e10e6efff15c5e38a64f assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json +695f755dab2b441ac67741d9d71876d62d9526bc assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json +30e5d2b4601417c4388fcda63335178157402d39 assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json +2a6cfd19f17e0285c9f94077299ad417a3daa00f assets/twilightforest/models/block/hollow_crimson_stem_vertical.json +afcae753192997174e4e07292e352ca2d02535d4 assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json +0c0dc15e50b515489f0f9c767a89d85cea0d35d0 assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json +7fec71ff0e5fd0b00001de75475dc1a1008c7917 assets/twilightforest/models/block/hollow_dark_log_horizontal.json +8c21b187a1ab822d5e40c325954c3d1d1c741e45 assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json +018eba5b970eceb0edab7719ae0b9b4e0a324e2d assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +975dac34d16ab4e6aad8395dad6d309c869036a8 assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json +212ccf7034bd5f6f2b74a0e8861fc8886735030f assets/twilightforest/models/block/hollow_dark_log_vertical.json +4d72b11208b746ae4479e405c0dd340019e945bf assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json +a64fa8a2e1a93267a107437e4f16daa426f47085 assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json +7f69233e08e941d1e68c5cd5557ca9c3e6e94a07 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json +95c781dba59162e6420ce76e289c7f0aefffbaaf assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json +b778346aa5ce1522ac2f332c02bd310c34538966 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json +db4bbee06b9faa840c5df72d34aca72a60e3c7b8 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json +fdc436eec3a2566e648b6933fd36dd187999db5d assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json +3eb47d8b4191b8c1bb2ba197bf3b0dd9c9b6768b assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json +9c689dbc49b888cdedf1552519a0451fbeeaf2e1 assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json +0fa333f9730d12e4773d753295e6fc65507c7a71 assets/twilightforest/models/block/hollow_jungle_log_horizontal.json +0cd1c44ddf0187cd1495e341ab52cb70f0defe55 assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json +49b1655a8e3975e484fd25e1a3108119b15b05d4 assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json +96ac01485ad23ba2096810a5bce7690d4a4ebaae assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json +afaf2d39c24e5428ac1b86fae3565be97331c349 assets/twilightforest/models/block/hollow_jungle_log_vertical.json +8350a6b03661facc38c038ac03617e20d2024e32 assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json +66ffc7f1c17a62951d3c4d679acba12a4c50b51f assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json +3e5a161173fe2e34dc9d86386b47ecf2ad6ebbbc assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json +7ca550e4710bb30fa71a4234f2038af09249a57f assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json +894cbc1f0a7161f3364833c52148905133971a36 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +c958cddb7e0c4ca62b6b24bacbcf2eb5ed2a8377 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json +c259f2e4a36dc2a87e68bf66fca9c15af8b45d85 assets/twilightforest/models/block/hollow_mangrove_log_vertical.json +ff08d39eeea427e280b1e294d3269bd571f968af assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json +30f35d388e4edd254577127c040d00f59edb8aa3 assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json +eb53adc974ece60dcef302c6c070dd7cd28e1c02 assets/twilightforest/models/block/hollow_mining_log_horizontal.json +4fc20fc5f53239de3a1304ee0f61a17656cf19b9 assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json +f1eb95fcc216f5a6268aa7e9f47efb6ad201428a assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +f11aacfec2e1f90acc1a2951f4c0e86def707ca1 assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json +2ac2a158344b9857c0a4ea7ad7835c13ae2e5a74 assets/twilightforest/models/block/hollow_mining_log_vertical.json +131d01713fde5ed9d9ff47db68ddf7b7a6820351 assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json +413e6064f2429a4a6ede07b3371451336d81c53c assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json +6ee9b33c4a61734de2b086afaf997104e30d8624 assets/twilightforest/models/block/hollow_oak_log_horizontal.json +8b9b36b448cc36caa35d628cbb75dbe46c92afc8 assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json +eb49429f5afc8a5247bda4aec6df1cfb1704ed33 assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json +f9fc2559ac382f18d63164f31df50b6e57a45364 assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json +49a8eaf5b517e58a43ba3b7168874043fed9cdfe assets/twilightforest/models/block/hollow_oak_log_vertical.json +7017130c573b1aed43467e786705d439c6647686 assets/twilightforest/models/block/hollow_oak_sapling.json +33bddc4cdff4af06ec3a14e88c92cd2098d7869b assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json +a18d187ebf66272062b5183e04fc52dfccc701df assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json +dbe1d3ae269abfdd377d97f0a53a2f39dea83753 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json +416874f680ebb869272033e81f5056e848f38ece assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json +4bb382a43c834425997c058a9c1e252880ca3983 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json +aa60c5315c573668dfd4d6aa379fdc3f5481e440 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json +4af81765554b125786478e95ce1722f66c79a614 assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json +844bcc716a82aa34d6a4504b248bee7424f53163 assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json +17b2ed2b004fd306f6ad762c535ab6786b57cea6 assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json +dff2ae164dbaf415d7a2c1e3dcde4cac8634ea3c assets/twilightforest/models/block/hollow_sorting_log_horizontal.json +c5cda884ab127dbd63a40abffc337d5e7c7f9e4d assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json +54ced99f019cfcef33ce72fcf50162cf72e1f90f assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +453a299d4dde7f160610672f8e57f4d1b6e19d5b assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json +1474a09371bf31f6aecdba3e4d5af50cdbdbb337 assets/twilightforest/models/block/hollow_sorting_log_vertical.json +05182869d246cc8018d059ea3a5d6e7b4f683dea assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json +dd250455b15a8eedc240a937525eeff5978237a0 assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json +447b2e561131aeaf8343f851a22d33058a203dee assets/twilightforest/models/block/hollow_spruce_log_horizontal.json +273192375a9a12a53ba850478971894222f018c1 assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json +ae388a1f9504b62b7f6192646eafedc2d129c5ad assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json +75d47cd10ccdbafc45eb693c235decf65f086401 assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json +2293ba34ad8b211ed3e965078222e78a68e4b3a3 assets/twilightforest/models/block/hollow_spruce_log_vertical.json +82fd9dc525d6704b5babee0dba41f42e1b40aa63 assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json +ae8f1d03e6e9a64f2c02ecad732d5fe63fa666c6 assets/twilightforest/models/block/hollow_time_log_climbable_vine.json +46938e477f793354bd0d6d96a3a3e4c86edb1a4d assets/twilightforest/models/block/hollow_time_log_horizontal.json +539c446e3e112a163dbd6f66ee98a92bb7e826a4 assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json +87809fca66b219720f88c25927eb290ddcfd269a assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +576fb97deac658bfa42ef1113d86f310f7d3fe24 assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json +ee8f9b2e3506f3e3208f57e66f50ca0f3d1127fc assets/twilightforest/models/block/hollow_time_log_vertical.json +a324abf5f213014033cae4164b967267daf17c8a assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json +003ede5e51206991721db499d8d23cc0625f2d90 assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json +d80c57cb3caa14e34b2ce50819f148b167b65130 assets/twilightforest/models/block/hollow_transformation_log_horizontal.json +cafd9aa9b261fdc81dea756ac08b01a54fac980a assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json +575e4482fd5ffff4ad80c425220253c5eb701cb5 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +4135e89280164f730a04c16327e10167eaad3014 assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json +5b44fc6326ab3540d9635f2ce0451496986b650d assets/twilightforest/models/block/hollow_transformation_log_vertical.json +6450fdef5d42de637c763bb9c88d607d69a25e5a assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json +606399e36c58ce6bca589bd63f30e41a85e89669 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json +c31c8a22feeda07b4de1faede320556d81683505 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json +5aaffb40d1d59275dff285fcf3b5566c910549b0 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json +c66e7b0659026a1b7e732b865f4c3761237df0eb assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +1c00e42363c2c03bc567f8b07d987d536f116b48 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json +44ad446a0e58cfcb875f86b1d7546c426cb2daef assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json +1b4537315071afc7fc8ce6bb0b7878a56d5434bc assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json +225e86681d894a14ef289b6e902c94d6ad5f7b54 assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json +f2b5e222c0f3553739e631e5ba9a0652f9cd5002 assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json +80c36c125ed124c417032e712c2945ae2459bc4a assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json +22ecc1c8d1559b88635641b8c4e24b918082041f assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json +5bfc2e017e76171bf8a2f8d349e90817c6440345 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json +63ba3c000d128c4328a0ce329eb03b4602705b1c assets/twilightforest/models/block/hollow_vangrove_log_vertical.json +9c3fe090c19b7ba8dd3ca69bc58c05ba63b0925b assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json +8291299f0e8e5ca1c6786487c40d89a3c2ca7abb assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json +2bd7f26ef8ab08904b9cfdeacc5537e9279179bc assets/twilightforest/models/block/hollow_warped_stem_horizontal.json +d3957da116b324cb5d6c7e23858a4035158b2648 assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json +804c2454b8eb2d5b7f57ea4452b1a07e37c9d594 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json +26236916abc028abd465f1b8600d4ef28e1eb90d assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json +02f4f9fcc278c48690e8410d72cad03abd1252be assets/twilightforest/models/block/hollow_warped_stem_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json +b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/jungle_banister_connected.json +71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/jungle_banister_connected_extended.json +3d4b69e461873c027a628a2b8beea4146a8f01b3 assets/twilightforest/models/block/jungle_banister_inventory.json +f8e6a9570639dc59ebcd2981321001f3fccbeb95 assets/twilightforest/models/block/jungle_banister_short.json +c2d0d703c810833b91827d626a798ca6f5d0dd8f assets/twilightforest/models/block/jungle_banister_short_extended.json +2539c983a20c9601dc82f4f7f356eaa77730949a assets/twilightforest/models/block/jungle_banister_tall.json +ef8f245fc413b66b9f5a9e1cb7c8da5ac0ccdfb6 assets/twilightforest/models/block/jungle_banister_tall_extended.json b24c219720a2fb2fd16580cbcff248b48212a399 assets/twilightforest/models/block/keepsake_casket.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json +7043b15a78685243835fc2861e5832db90d4e6e2 assets/twilightforest/models/block/liveroot_block.json f9e1bf0e039aa58b55c67292bc5b307f0c479993 assets/twilightforest/models/block/mangrove_banister_connected.json e9b8256440a92072e2588d4c070f4d9a20158426 assets/twilightforest/models/block/mangrove_banister_connected_extended.json 83fae57c292157ac84ee31cafcd79aeca7fac20c assets/twilightforest/models/block/mangrove_banister_inventory.json @@ -948,13 +1196,14 @@ db6a1def193b06df184240c30dc03b7ec52dce09 assets/twilightforest/models/block/mang 5a9fa410a297ab33254c1ada3d3c8da0bae1dca6 assets/twilightforest/models/block/mangrove_fence_inventory.json 4b0e4da7abbbf4030799ccdcf101d6341edf0646 assets/twilightforest/models/block/mangrove_fence_post.json 20835f01429279ddfda0c77feb7fad1592d24c7b assets/twilightforest/models/block/mangrove_fence_side.json -2ac61c3acbfe0a810d8fc56435aeff4c0eb9c6f3 assets/twilightforest/models/block/mangrove_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/mangrove_leaves.json -9326b7e6dfa8699ac7f9f1486feb5272a7ee3b25 assets/twilightforest/models/block/mangrove_log.json -051d408b0baedbe4d0b17d2ef4f1ba370e3d67b8 assets/twilightforest/models/block/mangrove_log_horizontal.json +0b3889d0e10b5abeb5151bae201bc22acda5f3b3 assets/twilightforest/models/block/mangrove_hanging_sign.json +43ded7e32b408c3015e563c881b5a4de4e4f2a00 assets/twilightforest/models/block/mangrove_leaves.json +1a778ad5a91d27be58f2084e42c40a9ec41899cd assets/twilightforest/models/block/mangrove_log.json +5288e7bd4936e048a1c15a3e4a1a6b8b897d2e9c assets/twilightforest/models/block/mangrove_log_horizontal.json fc2272ee47dae8aedd1fb6975ff86de61d6b24e2 assets/twilightforest/models/block/mangrove_planks.json 6df0baa8ed548a1d56d7c0a995fefaac5a5374e6 assets/twilightforest/models/block/mangrove_pressure_plate.json df2c2c80552d88d39f30f27aa059b884df1d163e assets/twilightforest/models/block/mangrove_pressure_plate_down.json +f0c74a7befe556bdc0ccee016eb95d467708711a assets/twilightforest/models/block/mangrove_root.json 8ec42c0347ab17a86090ad183a87ab7bed728365 assets/twilightforest/models/block/mangrove_sapling.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_sign.json e921fd6f1f50605b361494d2dce280e096980757 assets/twilightforest/models/block/mangrove_slab.json @@ -966,7 +1215,7 @@ afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mang 1a8a0cb54533596622d644791f6ba4f1170cb3b8 assets/twilightforest/models/block/mangrove_trapdoor_open.json 46b74a3732853a40155721f3078eec918f6d20ad assets/twilightforest/models/block/mangrove_trapdoor_top.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_trapped_chest.json -78ff08f68f0bcba48be16835d05d779ee6e46b7a assets/twilightforest/models/block/mangrove_wood.json +9b9963a7f2560a12d25c3a70561c8ecb0477abbf assets/twilightforest/models/block/mangrove_wood.json 03dcc8355f6ab475b9af794916cc32d10411c553 assets/twilightforest/models/block/mining_banister_connected.json 31efc9b586fc7730d211a17f8e44b464637d563d assets/twilightforest/models/block/mining_banister_connected_extended.json 11479e6d08ae560969b25c5fa4fb1ff98f7738b1 assets/twilightforest/models/block/mining_banister_inventory.json @@ -993,10 +1242,12 @@ a8456e8a5d99e140217765244df340683de546a1 assets/twilightforest/models/block/mini 180665ec00110851d64bee967c1b453013e3d61f assets/twilightforest/models/block/mining_fence_inventory.json a3e3eb69f1e71d2d9f6c39a4ff26c7a608a5dbdb assets/twilightforest/models/block/mining_fence_post.json c9acf5abd480bc5791303cda7c95a2919f1f12dd assets/twilightforest/models/block/mining_fence_side.json -cbc7dcf7ad5a3c871eb3654d66e46dec3ce8d9f6 assets/twilightforest/models/block/mining_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/mining_leaves.json -e160bae7ced810be03ed932b3f6ee707ca8960a5 assets/twilightforest/models/block/mining_log.json -0b0a901890ef9a1eaf1b7122524a9123169a1823 assets/twilightforest/models/block/mining_log_horizontal.json +23b4ae1343d83ac53a421ae22bae3297981b9f46 assets/twilightforest/models/block/mining_hanging_sign.json +b5f0a8d6b53695ac1122ef57fe0ba35f976e58b1 assets/twilightforest/models/block/mining_leaves.json +efc73cc8fa5771fdd4c0e954ddd3c7bf4dac269c assets/twilightforest/models/block/mining_log.json +ffcba12dbd958937d12018976ef8e0e99d8d7bc1 assets/twilightforest/models/block/mining_log_core.json +d91d34f5af3408fbd9a375ddab8df97be64ed62b assets/twilightforest/models/block/mining_log_core_on.json +e6228c69e2cb3de7372e3d05b1c5500a82c8b9dc assets/twilightforest/models/block/mining_log_horizontal.json 5c99b7e971c4997d8fc473b1c658963db4f8840b assets/twilightforest/models/block/mining_planks.json 4eb0b93993417de0bb5743103cdab233fd34c229 assets/twilightforest/models/block/mining_pressure_plate.json be70e3b6b341c172be1c1faec4c8602757283490 assets/twilightforest/models/block/mining_pressure_plate_down.json @@ -1011,7 +1262,7 @@ fa8d6cb0142b0e8445752e8088e093d8cdfd4c20 assets/twilightforest/models/block/mini 649c92428cdb7a3a11475f21ee90f6af29979579 assets/twilightforest/models/block/mining_trapdoor_open.json da68661416f148d5bf4c826500787d6657bcb6d1 assets/twilightforest/models/block/mining_trapdoor_top.json d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mining_trapped_chest.json -cf6c560ec0f685e24004c7d2456bfca2d6bd23ce assets/twilightforest/models/block/mining_wood.json +3ae30b25522cd2970231d55a05f85914153d1581 assets/twilightforest/models/block/mining_wood.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json 651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json @@ -1024,7 +1275,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 0afcb830b1c831f1983975415ea0f3c96fefe653 assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json -2718a7261b9b370461b5cda2ad69db4aef6bc8ce assets/twilightforest/models/block/nagastone_head.json +79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json aa9c8d2a2bc8ae90a87934af98fe5687c9ca67a6 assets/twilightforest/models/block/nagastone_pillar.json a5d262f5809673fc18032fb2eafe6aa67803a001 assets/twilightforest/models/block/nagastone_pillar_alt.json @@ -1038,14 +1289,33 @@ f7db4426aca10e038da6811dff46648cfa61a3a9 assets/twilightforest/models/block/naga 67ad8622746f0091ca682df01ba2b788886a2638 assets/twilightforest/models/block/nagastone_up.json 499953b8e2ee45b1fae43d9bdcdd4d7d351e00f0 assets/twilightforest/models/block/nagastone_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/naga_boss_spawner.json +b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_banister_connected.json +044de2410c94b451ee81c412d57bdd0cb4d362ad assets/twilightforest/models/block/oak_banister_connected_extended.json +707e56abf216c7981715f371a0962d1ea1e3c420 assets/twilightforest/models/block/oak_banister_inventory.json +248d58476a85a6e0689ceb4a017fb843ee567b6b assets/twilightforest/models/block/oak_banister_short.json +8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/oak_banister_short_extended.json +0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/oak_banister_tall.json +1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/oak_banister_tall_extended.json +3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json +3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json +afdb121c9852c3c60e3a546abcdcf99944fe9d2b assets/twilightforest/models/block/pale_oak_banister_inventory.json +d489a1f0147316a3799d54c8cb9891a25b48147f assets/twilightforest/models/block/pale_oak_banister_short.json +629ea794ff42369d6781b1599d3c64320355d14f assets/twilightforest/models/block/pale_oak_banister_short_extended.json +c7cec0a14cbd4cb74438c3d04dda0e116b9e207b assets/twilightforest/models/block/pale_oak_banister_tall.json +cf4dfb070014d616d5569fa0ebc30e71cbe2646a assets/twilightforest/models/block/pale_oak_banister_tall_extended.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json +f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json 4a4f186233f1af5422b9c161b611097c2db8b577 assets/twilightforest/models/block/potted_mangrove_sapling.json 29966e31c9b5d2d9f2b9a1c16a217fe6cc4f293d assets/twilightforest/models/block/potted_mining_sapling.json +5e1644cb8333dcef209453e3e12f781e4817ea9a assets/twilightforest/models/block/potted_rainbow_oak_sapling.json 05a22fa8644c2408e6ce41447ffa5c12c416f96a assets/twilightforest/models/block/potted_sorting_sapling.json 8a3bc7125006eb3f9596b3f5cef5d0a7705684dc assets/twilightforest/models/block/potted_time_sapling.json c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/potted_transformation_sapling.json 4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json +74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/rainbow_oak_leaves.json +8bd5239c5072f77539a40357736b47367a7484bd assets/twilightforest/models/block/rainbow_oak_sapling.json +1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json @@ -1060,14 +1330,14 @@ bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sort 192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_chest.json -493f2cb3be97aeda0bd9d65b66c38a87aba3dd96 assets/twilightforest/models/block/sorting_door_bottom_left.json -ce76e37978af512f6b78ae6090ce62c4d4dd5250 assets/twilightforest/models/block/sorting_door_bottom_left_open.json -e6ae11e977fb549c9ace68dca44ce05d558303fb assets/twilightforest/models/block/sorting_door_bottom_right.json -aa39d4edf00bfaa41a248897698120296ed69136 assets/twilightforest/models/block/sorting_door_bottom_right_open.json -479ed15cea5d1b9e3202a763458b87b7031913a3 assets/twilightforest/models/block/sorting_door_top_left.json -d4b7605800843ccb19113f9428281e1785fad6ca assets/twilightforest/models/block/sorting_door_top_left_open.json -5b19341cc29d7fba2b90d2ee121b5819a0e9d3e3 assets/twilightforest/models/block/sorting_door_top_right.json -965b64f7e7f1a9a5f09d9ad05d5590879db58fda assets/twilightforest/models/block/sorting_door_top_right_open.json +e366285bfb058bd5e2c2a186bb52d191d04b15e3 assets/twilightforest/models/block/sorting_door_bottom_left.json +c49d373b77070695d6d4dcb847f8ba34d4c0d37b assets/twilightforest/models/block/sorting_door_bottom_left_open.json +c069c0dceffa61d925fd6277f6e8faf35e42ed75 assets/twilightforest/models/block/sorting_door_bottom_right.json +97c964471de5b843f2799af37cba17aca586b7b3 assets/twilightforest/models/block/sorting_door_bottom_right_open.json +9db26288771be404e6065bd5d834c4f4ed385bb9 assets/twilightforest/models/block/sorting_door_top_left.json +95f79ce34da6a5d4d5eb03e1307a7d8ad19e426a assets/twilightforest/models/block/sorting_door_top_left_open.json +5101a9f0ea91edb50327f06e50b8959f912d0ff1 assets/twilightforest/models/block/sorting_door_top_right.json +a18bb99f1ac96111d722dbd71094ff889a19d71c assets/twilightforest/models/block/sorting_door_top_right_open.json 51d179e6822895effde86feba409e8ef3f7e4ab4 assets/twilightforest/models/block/sorting_fence_gate.json 18d4318a10e9d9f8f891624d617dae046b1136e5 assets/twilightforest/models/block/sorting_fence_gate_open.json 11336e8d2bd2dee828922ed81c3a2a903747ed5c assets/twilightforest/models/block/sorting_fence_gate_wall.json @@ -1075,10 +1345,12 @@ a9f6a177a1b7131d7e27dcce86b4668cdb7309c5 assets/twilightforest/models/block/sort ae4acfb949661f710d28ae642cd293df39ef5d6a assets/twilightforest/models/block/sorting_fence_inventory.json 74e1e16ed16cc05141900a9af6e558fde7ff7045 assets/twilightforest/models/block/sorting_fence_post.json 234baa1e0b1eeae7514bfae6a3592749df2f9768 assets/twilightforest/models/block/sorting_fence_side.json -9438c65a468e7a8259d736765dc00285f0df4da2 assets/twilightforest/models/block/sorting_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/sorting_leaves.json -b443ee8b9193bd1b37846e7f08745e9d34ba089c assets/twilightforest/models/block/sorting_log.json -df5da566fc084d661b878e769b6b918fe72a552d assets/twilightforest/models/block/sorting_log_horizontal.json +b86f0120b561e4efe5b29595e7ccfc369161c496 assets/twilightforest/models/block/sorting_hanging_sign.json +bb7a3d219bb7a8df6b426869c1cfdd2044f7658a assets/twilightforest/models/block/sorting_leaves.json +1bd3517d6a2f7438e30618820d0782bc778ed7d7 assets/twilightforest/models/block/sorting_log.json +9bbe5e5a62cdc38a6f8511c156a03bb9e4704f07 assets/twilightforest/models/block/sorting_log_core.json +075d1cc785a8294fbbc71b439c2284eeb9a024d4 assets/twilightforest/models/block/sorting_log_core_on.json +e85c24359b529f42e30ec55a0b5474d0fa9d9dd0 assets/twilightforest/models/block/sorting_log_horizontal.json 18725de9782f11fc9e6cd597c6282640f569cf22 assets/twilightforest/models/block/sorting_planks.json 857d839cc5d1ac44b66311f4eb6d2a847e66e3a1 assets/twilightforest/models/block/sorting_pressure_plate.json f26f9f101d797829a63add4085ed3f986c78b666 assets/twilightforest/models/block/sorting_pressure_plate_down.json @@ -1089,43 +1361,50 @@ f26f9f101d797829a63add4085ed3f986c78b666 assets/twilightforest/models/block/sort cd26c6bd3ca98060abfd435c888b177ee7fe5306 assets/twilightforest/models/block/sorting_stairs.json f9d08571fbfecc54b45e6a81fc0217044fdd67f8 assets/twilightforest/models/block/sorting_stairs_inner_inner.json 18a84f14fb7c8efe855ab1d0c93129439d012187 assets/twilightforest/models/block/sorting_stairs_outer_outer.json -3715ea03ed79d8dcdd5372d85ae8b10020cb6f3c assets/twilightforest/models/block/sorting_trapdoor_bottom.json -e5dacc0a0c9c8ffd575a33e1cdc296716a7cdd89 assets/twilightforest/models/block/sorting_trapdoor_open.json -4a9e549672867bc6a53744319accee05d6a7bd93 assets/twilightforest/models/block/sorting_trapdoor_top.json +9fea3c654c5d4145a9eb55db4c5a3463f652b6dc assets/twilightforest/models/block/sorting_trapdoor_bottom.json +7b8ff8e6810b91097dae2626ed32d0ee1e12a7b8 assets/twilightforest/models/block/sorting_trapdoor_open.json +0bfe0a3937ea050cbe4e17bcb139327e2930f8c8 assets/twilightforest/models/block/sorting_trapdoor_top.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_trapped_chest.json -87575d507ad056e795e2fb7298404e0aaa8b8494 assets/twilightforest/models/block/sorting_wood.json -c140a67efd3c8aef2cd298d7b2c79230c97a2c62 assets/twilightforest/models/block/stripped_canopy_log.json -6ae8a140bfb05b3c161263820897cfd980bd5855 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json -c140a67efd3c8aef2cd298d7b2c79230c97a2c62 assets/twilightforest/models/block/stripped_canopy_wood.json -6ae8a140bfb05b3c161263820897cfd980bd5855 assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json -a5a630c069a08e6c51bb8a4980c6cbc882d339ab assets/twilightforest/models/block/stripped_dark_log.json -31cc69d15eef58e028832bc0372fa02aebd62789 assets/twilightforest/models/block/stripped_dark_log_horizontal.json -a5a630c069a08e6c51bb8a4980c6cbc882d339ab assets/twilightforest/models/block/stripped_dark_wood.json -31cc69d15eef58e028832bc0372fa02aebd62789 assets/twilightforest/models/block/stripped_dark_wood_horizontal.json -88f4da4c3fc29e0d628f08f9614f1002f414392d assets/twilightforest/models/block/stripped_mangrove_log.json -b6e60ab4db709b17d8584a94bb90c536b13cb245 assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json -88f4da4c3fc29e0d628f08f9614f1002f414392d assets/twilightforest/models/block/stripped_mangrove_wood.json -b6e60ab4db709b17d8584a94bb90c536b13cb245 assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json -66a8770048739156b2fab065a435fad4ec07e1f4 assets/twilightforest/models/block/stripped_mining_log.json -cbfccf9894262f2e32d76ed65534e5853b0410eb assets/twilightforest/models/block/stripped_mining_log_horizontal.json -66a8770048739156b2fab065a435fad4ec07e1f4 assets/twilightforest/models/block/stripped_mining_wood.json -cbfccf9894262f2e32d76ed65534e5853b0410eb assets/twilightforest/models/block/stripped_mining_wood_horizontal.json -cf2f6fbee616ac811f472d03b9bc4ba4e74ef0aa assets/twilightforest/models/block/stripped_sorting_log.json -1a1356f8928f806f0cd442c10a97c19b669aabba assets/twilightforest/models/block/stripped_sorting_log_horizontal.json -cf2f6fbee616ac811f472d03b9bc4ba4e74ef0aa assets/twilightforest/models/block/stripped_sorting_wood.json -1a1356f8928f806f0cd442c10a97c19b669aabba assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json -e35d3cd5669a5c490d7e00175a953c200dcf3525 assets/twilightforest/models/block/stripped_time_log.json -821bf5fb447df2c422d362a04bd30121b6bc3648 assets/twilightforest/models/block/stripped_time_log_horizontal.json -e35d3cd5669a5c490d7e00175a953c200dcf3525 assets/twilightforest/models/block/stripped_time_wood.json -821bf5fb447df2c422d362a04bd30121b6bc3648 assets/twilightforest/models/block/stripped_time_wood_horizontal.json -dad15b569312e20e9e7f3b13452eb2e1f96c91fa assets/twilightforest/models/block/stripped_transformation_log.json -aadec6fb8774e37e7841a2d45ea7400f376e9b9c assets/twilightforest/models/block/stripped_transformation_log_horizontal.json -dad15b569312e20e9e7f3b13452eb2e1f96c91fa assets/twilightforest/models/block/stripped_transformation_wood.json -aadec6fb8774e37e7841a2d45ea7400f376e9b9c assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json -f25a79502a432e8a282efc248b2073f44528dcde assets/twilightforest/models/block/stripped_twilight_oak_log.json -4121b6261fac21240785cd4ca456f76c95c8bdd7 assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json -f25a79502a432e8a282efc248b2073f44528dcde assets/twilightforest/models/block/stripped_twilight_oak_wood.json -4121b6261fac21240785cd4ca456f76c95c8bdd7 assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +2eedd26bc504355662ef20d9afb2ee6b99d87490 assets/twilightforest/models/block/sorting_wood.json +9a75de438600fb20513f51893e2f93bcf0e9f6c9 assets/twilightforest/models/block/spruce_banister_connected.json +7bdd5826b47bd8a4e13c3efb4fe790147f8f3c69 assets/twilightforest/models/block/spruce_banister_connected_extended.json +497513a4cb8fa71dfa93c013a6f8d82f378e14be assets/twilightforest/models/block/spruce_banister_inventory.json +60987e64c206eceb1100e826357222575a2353bb assets/twilightforest/models/block/spruce_banister_short.json +bf78ae23d06069e839954df8607d2b0b99e39e74 assets/twilightforest/models/block/spruce_banister_short_extended.json +4406a9c225ba07b68fa91832e2b2087e1935a591 assets/twilightforest/models/block/spruce_banister_tall.json +ef69791a9675daacaf5b54b42d280942589995cb assets/twilightforest/models/block/spruce_banister_tall_extended.json +a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_log.json +043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json +a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_wood.json +043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +1a881064c8a895eef0dbe13dcc644ca575a0f5f9 assets/twilightforest/models/block/stripped_dark_log.json +e875dcdeda1755d2f494c02d6780e0c998c0a9dc assets/twilightforest/models/block/stripped_dark_log_horizontal.json +1a881064c8a895eef0dbe13dcc644ca575a0f5f9 assets/twilightforest/models/block/stripped_dark_wood.json +e875dcdeda1755d2f494c02d6780e0c998c0a9dc assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +8416328d50a3870fdae7fcd94a7b2e53cceb1c82 assets/twilightforest/models/block/stripped_mangrove_log.json +d995772a4666a787531cd25b0221e0688ece785a assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json +8416328d50a3870fdae7fcd94a7b2e53cceb1c82 assets/twilightforest/models/block/stripped_mangrove_wood.json +d995772a4666a787531cd25b0221e0688ece785a assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +9f28ee80915cacb83b16691f3e100463ed8a7060 assets/twilightforest/models/block/stripped_mining_log.json +1101bf5e76b84ea3b3b7125502f8378f2fb04d62 assets/twilightforest/models/block/stripped_mining_log_horizontal.json +9f28ee80915cacb83b16691f3e100463ed8a7060 assets/twilightforest/models/block/stripped_mining_wood.json +1101bf5e76b84ea3b3b7125502f8378f2fb04d62 assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +dc73664a0b34c1c781de67dddafbd6d8db7cc4b9 assets/twilightforest/models/block/stripped_sorting_log.json +a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stripped_sorting_log_horizontal.json +dc73664a0b34c1c781de67dddafbd6d8db7cc4b9 assets/twilightforest/models/block/stripped_sorting_wood.json +a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +89121f67e195d98501e86f873ae9a93ba324cb07 assets/twilightforest/models/block/stripped_time_log.json +7246198f678fb47764aea551423f906f1ea27dc5 assets/twilightforest/models/block/stripped_time_log_horizontal.json +89121f67e195d98501e86f873ae9a93ba324cb07 assets/twilightforest/models/block/stripped_time_wood.json +7246198f678fb47764aea551423f906f1ea27dc5 assets/twilightforest/models/block/stripped_time_wood_horizontal.json +0678c441ff364be02825078838192666954305fc assets/twilightforest/models/block/stripped_transformation_log.json +0e70f00092372063a4c46f948efff6a174a6930c assets/twilightforest/models/block/stripped_transformation_log_horizontal.json +0678c441ff364be02825078838192666954305fc assets/twilightforest/models/block/stripped_transformation_wood.json +0e70f00092372063a4c46f948efff6a174a6930c assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_log.json +36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json +4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_wood.json +36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json 525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json 93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_special_x.json 6fea7dc89fa72f60857aea922392c9319da6b513 assets/twilightforest/models/block/terrorcotta_arcs_special_z.json @@ -1135,6 +1414,7 @@ ae2450eccf9cd838f17b46d48263583034e0c299 assets/twilightforest/models/block/terr 69ae302b15f9dfd7e2ae26fa24df8da6a32e1c54 assets/twilightforest/models/block/terrorcotta_curves_90.json f9b64799628d039e721d191ea797b99722567205 assets/twilightforest/models/block/terrorcotta_lines_0.json aa89a42fdfd5233d012c94d6c45d51a66e6376a5 assets/twilightforest/models/block/terrorcotta_lines_90.json +adbaa0873ce2cc61c6db409eb4228e0e5a08706b assets/twilightforest/models/block/thorn_leaves.json 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json 14fac1797c30545a506f7da0659a55f38ebcbe38 assets/twilightforest/models/block/time_banister_connected.json d7f471566e12215d7a943c3da2e38952e34c2a07 assets/twilightforest/models/block/time_banister_connected_extended.json @@ -1147,14 +1427,14 @@ b2f846a8b967016ca8732279cbc0c11a10844379 assets/twilightforest/models/block/time b76dae4ac5da24304f10935fe34ad194b8860be3 assets/twilightforest/models/block/time_button_inventory.json 38574d1f4d5a6cab8ab39877f1b4b94a93bffdaf assets/twilightforest/models/block/time_button_pressed.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_chest.json -8f8e490a80339cc05c0738790e6cbfc9eebcba32 assets/twilightforest/models/block/time_door_bottom_left.json -bcee46f4bad4b1384995b5dc3a0d0e79cfda5c40 assets/twilightforest/models/block/time_door_bottom_left_open.json -3b7c42706f07062a20dda023a68abeaf1c5e1df1 assets/twilightforest/models/block/time_door_bottom_right.json -dbd7ae31c8bc7969006bea4fd51895d3274a53de assets/twilightforest/models/block/time_door_bottom_right_open.json -b8a3e07a5ee41b87364e7ba4ea315f161529f188 assets/twilightforest/models/block/time_door_top_left.json -bfa55d7e744b7086203d0068a136dcd5eea50435 assets/twilightforest/models/block/time_door_top_left_open.json -dfd234e1ee5773a1c901d40f2aca08fa686655d4 assets/twilightforest/models/block/time_door_top_right.json -8cc4e9b6018ab61336af1a1721c5c14d0993bdc0 assets/twilightforest/models/block/time_door_top_right_open.json +edd2101836fe51848a5a2be4ce5630cc283277bd assets/twilightforest/models/block/time_door_bottom_left.json +4f21b9c3b5ab39db8d3991fbdb45ef049e31a4f0 assets/twilightforest/models/block/time_door_bottom_left_open.json +b17ee9a15e12343589852a06f5b252587766be4f assets/twilightforest/models/block/time_door_bottom_right.json +2ab1323605af6f0067d9b246a2e4b15b99b1e1c9 assets/twilightforest/models/block/time_door_bottom_right_open.json +f8b024e652ce3f8ee8c012a2661bc8fe81eef19e assets/twilightforest/models/block/time_door_top_left.json +a5b88cf4f140bb36d9474bed6e836ced19e3ce0e assets/twilightforest/models/block/time_door_top_left_open.json +e7cc9c83e2480d8108e2b2847aa55e1bd0728521 assets/twilightforest/models/block/time_door_top_right.json +d90498e22b2e6815ecc8b22b51f4c7994e190d0a assets/twilightforest/models/block/time_door_top_right_open.json aa1b99fcc6ed87200d1c35f0bad48987603e908a assets/twilightforest/models/block/time_fence_gate.json 71e157103b9681e711022913ada86e4ff646c473 assets/twilightforest/models/block/time_fence_gate_open.json bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time_fence_gate_wall.json @@ -1162,10 +1442,12 @@ bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time 4d4c55c8449c779ed787bc3d8fd985d78a68edf7 assets/twilightforest/models/block/time_fence_inventory.json 59e324834830c71e861f92b8fedfb2d11e53773c assets/twilightforest/models/block/time_fence_post.json 4e412e5067dce2e56d9d586d879097c995cd1259 assets/twilightforest/models/block/time_fence_side.json -904547377bafe05d0391400043bd4cd6c7441a78 assets/twilightforest/models/block/time_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/time_leaves.json -78c4b7c192b19e116714b2bd3721035e3f18a7c2 assets/twilightforest/models/block/time_log.json -9b0034ac22c36365b542afb9f58b49b90a1c2f97 assets/twilightforest/models/block/time_log_horizontal.json +9e834a006e219ed519b33059ab9f7427d2c876d1 assets/twilightforest/models/block/time_hanging_sign.json +f080b150aae0dd00f9043046323386d564d498fe assets/twilightforest/models/block/time_leaves.json +d6fd1c256276de752510d2daff6bd231c4f60240 assets/twilightforest/models/block/time_log.json +4fb8f1db99ec95f03ed3244affbb6b17fc957d85 assets/twilightforest/models/block/time_log_core.json +ad366cdb2c4d40253ed6932c8d970dadda93e7b2 assets/twilightforest/models/block/time_log_core_on.json +8e71c9d31c4c5543d3bc9b32adbd7aabd68934ef assets/twilightforest/models/block/time_log_horizontal.json ceaf50613b4bda62546c51100ab6f567a499e0a5 assets/twilightforest/models/block/time_planks.json 907de00fe8c147e6fbe894d49044fdf90e2cfa72 assets/twilightforest/models/block/time_pressure_plate.json 129219f69ff4da25c9d09ef0b791ab653acac9ec assets/twilightforest/models/block/time_pressure_plate_down.json @@ -1176,11 +1458,11 @@ ada47f748606bcaa751a867ffcac0253b028acb5 assets/twilightforest/models/block/time 8176a89a34bd7be2565f86e62d438cea0b4562e2 assets/twilightforest/models/block/time_stairs.json 1bd203b23573d75a494cd914db385f557afefd06 assets/twilightforest/models/block/time_stairs_inner_inner.json 4037cd8bb57633381317993bb902267459ebda21 assets/twilightforest/models/block/time_stairs_outer_outer.json -55daa1ef494b4d8c9a1bb88c9f4edbaac66dfd58 assets/twilightforest/models/block/time_trapdoor_bottom.json -214eb4b358b2e81b238368e45315c03bb3e6d121 assets/twilightforest/models/block/time_trapdoor_open.json -8bb80d83f16a3d46a0f31e875522c56c434b1bb6 assets/twilightforest/models/block/time_trapdoor_top.json +7b1387bbc8e5ac1ada0b579696eeea9625f72b74 assets/twilightforest/models/block/time_trapdoor_bottom.json +84ebdab35d066f2f0a350b7082afe9446f9ce080 assets/twilightforest/models/block/time_trapdoor_open.json +dab553e2b2874cc20aef6817e94693d8bf508392 assets/twilightforest/models/block/time_trapdoor_top.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_trapped_chest.json -ee96060bcdbcfa9659c0675d9ab56ccee2dacc4f assets/twilightforest/models/block/time_wood.json +b1d8ae6177f43c03f108ca88e1e8fb4e5827ee4a assets/twilightforest/models/block/time_wood.json 7ee978bc7cdd65b7c118f2286328b86e08b172da assets/twilightforest/models/block/transformation_banister_connected.json beacb3a1557d7fd6cb8b0e74810de7feb5d704bc assets/twilightforest/models/block/transformation_banister_connected_extended.json fb76b32f0284446c56b173a8a94583e2c520faa2 assets/twilightforest/models/block/transformation_banister_inventory.json @@ -1192,14 +1474,14 @@ d0944eb4be819f7825d2679a8af02c74a9060600 assets/twilightforest/models/block/tran 424b4907362f0cc0fd2e8ff15dd0ad0f7a6a8a83 assets/twilightforest/models/block/transformation_button_inventory.json 0d45e0621a89dc462beaa5ea5d581f9edeb16074 assets/twilightforest/models/block/transformation_button_pressed.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_chest.json -142c2f04199c739d78af915424daf5dc6c3b3be9 assets/twilightforest/models/block/transformation_door_bottom_left.json -df4a2c01a0621d59c8eba75b7bc3b7ee1d985072 assets/twilightforest/models/block/transformation_door_bottom_left_open.json -6227868e9ad07176f93ec85bbc1e34fee02f283b assets/twilightforest/models/block/transformation_door_bottom_right.json -c36b9db0895f4ffc85b694795e6bd0bfd0949378 assets/twilightforest/models/block/transformation_door_bottom_right_open.json -0a7f39462d48b6e26d61b945d8cc69f2073d1a19 assets/twilightforest/models/block/transformation_door_top_left.json -4a502ff49851b827ccb6512ab2f8bb0e22cb1909 assets/twilightforest/models/block/transformation_door_top_left_open.json -79ee56c6f7eb3fe0c74b49cd997975e18a6e0de2 assets/twilightforest/models/block/transformation_door_top_right.json -8b829342d1acea680a7b8056d609fe67da3cc52a assets/twilightforest/models/block/transformation_door_top_right_open.json +10a966310b417bb21d1cc02dc31c32c0766b112f assets/twilightforest/models/block/transformation_door_bottom_left.json +2381e6c906b3c568a17fb13b1f043b09e60ecaaa assets/twilightforest/models/block/transformation_door_bottom_left_open.json +f201bbeb107fd0729e2a24831e3946832e8299d2 assets/twilightforest/models/block/transformation_door_bottom_right.json +0356a1d2499f5087da8b9d99305591ea35e41ee8 assets/twilightforest/models/block/transformation_door_bottom_right_open.json +431dfc9db201819f7acd700278e5f097cab4e504 assets/twilightforest/models/block/transformation_door_top_left.json +bbb874cb952ca4cf0824cfd22bf8579313975494 assets/twilightforest/models/block/transformation_door_top_left_open.json +d4f2a1954ab4d4f02395b528f77fe9a8c6548ae7 assets/twilightforest/models/block/transformation_door_top_right.json +3ac4a392569c762bb8fa8b845ed1070779b954c0 assets/twilightforest/models/block/transformation_door_top_right_open.json 2fa1bf795ad8f25bd0913f770459de26ce0ebf7f assets/twilightforest/models/block/transformation_fence_gate.json d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/transformation_fence_gate_open.json 0bd236964f17391b7ab8e78d958c7e7b1d585dfd assets/twilightforest/models/block/transformation_fence_gate_wall.json @@ -1207,10 +1489,12 @@ d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/tran 23e412394ba7f5f124343dc36a763bb4449576aa assets/twilightforest/models/block/transformation_fence_inventory.json da2d6bc172f337a8c4c0893a159e12f8ad9c92ad assets/twilightforest/models/block/transformation_fence_post.json c3f509eebb1bc42b03c6800ebd54ae99a36374c8 assets/twilightforest/models/block/transformation_fence_side.json -d1574fb0a42329ebcd98f4c890555a0dfbbf7d40 assets/twilightforest/models/block/transformation_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/transformation_leaves.json -cf0fac13b30d2fc8fe22bf042a3590243413099b assets/twilightforest/models/block/transformation_log.json -9ef1668fdd9cf44bcffec2557a9253471d379570 assets/twilightforest/models/block/transformation_log_horizontal.json +db3e197ab1cd5e067cffff0e5cf70f883abf09d6 assets/twilightforest/models/block/transformation_hanging_sign.json +78a73e59315c8af0feb9c5fbe98e1e0edad499e9 assets/twilightforest/models/block/transformation_leaves.json +1f1ac9b689198d6dc152fd2d5e9517d159f79c5b assets/twilightforest/models/block/transformation_log.json +3d37c4a41e4e753e97dc6b3ec560e738aa4d8780 assets/twilightforest/models/block/transformation_log_core.json +7790f7cd8f8d85c32b17e38733b7ee6a5fc9e8ef assets/twilightforest/models/block/transformation_log_core_on.json +3a433974bccc3e77e9fd9194db1680755ee88a72 assets/twilightforest/models/block/transformation_log_horizontal.json 0f3f3551feb0a129ce74bedafe7aa9ef7476d663 assets/twilightforest/models/block/transformation_planks.json 3244c9f5ac9be5c5c2df8d86d5d7e36c07ae0fe1 assets/twilightforest/models/block/transformation_pressure_plate.json 5eaa1f9c461f63edbfce8a87001a9cc17ec62b4d assets/twilightforest/models/block/transformation_pressure_plate_down.json @@ -1221,11 +1505,11 @@ d02fc273e4b909739750aea865a75cebf1f69721 assets/twilightforest/models/block/tran 928ee9e5889752958fef79fc7250a03544336de5 assets/twilightforest/models/block/transformation_stairs.json 1f3a862de9d41cc6d502e01251e02ee504cf03ae assets/twilightforest/models/block/transformation_stairs_inner_inner.json 85fe049a9b168cddf45edee4258bd1a4b4784037 assets/twilightforest/models/block/transformation_stairs_outer_outer.json -e99d861c044d2e12cb0f4fc90bf693a6cf797fb6 assets/twilightforest/models/block/transformation_trapdoor_bottom.json -eee6f2e0a547acf842053b3ca3736490ff515947 assets/twilightforest/models/block/transformation_trapdoor_open.json -8f3796559342e98351c614c7a154825db7e17838 assets/twilightforest/models/block/transformation_trapdoor_top.json +fa93ad893b24405885a97baf6d883bf3916ecb98 assets/twilightforest/models/block/transformation_trapdoor_bottom.json +0e7d5d07a0941fab16b42f834af7667544be8131 assets/twilightforest/models/block/transformation_trapdoor_open.json +00fe164d67b2dfe60d0e77e8000e97c1d01e3ec5 assets/twilightforest/models/block/transformation_trapdoor_top.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_trapped_chest.json -bc3793cc46e9917e388ca2fe1bbb749772691953 assets/twilightforest/models/block/transformation_wood.json +4b6a9d6130919d1d0379f6741be485725f05f224 assets/twilightforest/models/block/transformation_wood.json 713fb04b522e41e1ba1e7fe5e24b40b45b5cf88d assets/twilightforest/models/block/twilight_oak_banister_connected.json 69ca8b7990e47173f02e628a7c707d81b68175f3 assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json 93adfba17532f00a9b5283e95fb85fd2fc6974e0 assets/twilightforest/models/block/twilight_oak_banister_inventory.json @@ -1252,10 +1536,10 @@ f93dda0b84de8024a1c53525ca480c0f3b56963d assets/twilightforest/models/block/twil 0cadda8fb441509abe8e50f895502ba506fa586b assets/twilightforest/models/block/twilight_oak_fence_inventory.json b3517972f0c1cf03f31af94ab049dd28021e81d7 assets/twilightforest/models/block/twilight_oak_fence_post.json 147242a6301eeaf156fbad63b202ae42a68a0ec7 assets/twilightforest/models/block/twilight_oak_fence_side.json -c34764ba4e675330b97fb41b1ebf3f72b9b58799 assets/twilightforest/models/block/twilight_oak_hanging_sign.json +d8c508aa42b3415b602f8b70993f995a44207c99 assets/twilightforest/models/block/twilight_oak_hanging_sign.json 74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/twilight_oak_leaves.json -6266b0cb3ba213641648338e254f8c5443b02c64 assets/twilightforest/models/block/twilight_oak_log.json -2c9b57abfef5bd024fbef98d217368facb52e680 assets/twilightforest/models/block/twilight_oak_log_horizontal.json +ff5ffa661409624715ebe16b9469624e405f3c0e assets/twilightforest/models/block/twilight_oak_log.json +1c3c527fc5ed820a068e7432d1b1623e669adcb2 assets/twilightforest/models/block/twilight_oak_log_horizontal.json 70be3dcdb16fed524c38dd3cb6a19c919c368568 assets/twilightforest/models/block/twilight_oak_planks.json b47d8bd8054b4cef5edf3d8eee429bb6e23f0322 assets/twilightforest/models/block/twilight_oak_pressure_plate.json b042c0f560e3046ff3b6d51ab7d022785b938dba assets/twilightforest/models/block/twilight_oak_pressure_plate_down.json @@ -1270,10 +1554,24 @@ a6de5537ac206aab8af362896be4f77fbaa8360e assets/twilightforest/models/block/twil 568eedf7c394962645a1fc9b96ddbdf0835d5c4a assets/twilightforest/models/block/twilight_oak_trapdoor_open.json 8da9d9a817346143f538b0c73ea4644c6d1737e7 assets/twilightforest/models/block/twilight_oak_trapdoor_top.json bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twilight_oak_trapped_chest.json -8d9d6c7c23f8ba7bc8667f2946e9997404f19e3c assets/twilightforest/models/block/twilight_oak_wood.json +6b0020137b3d62b2650042d215d47b2b00213ab8 assets/twilightforest/models/block/twilight_oak_wood.json 899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json 6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json +1042bc9b8fb39afd8a403013e41c06be890dcae1 assets/twilightforest/models/block/vangrove_banister_connected.json +2ea05a3758c91142694df5e840ecd0f34ea2ffd2 assets/twilightforest/models/block/vangrove_banister_connected_extended.json +de826e045489780de0fa64fa1f2ccdfa11bb0fff assets/twilightforest/models/block/vangrove_banister_inventory.json +6fca2c24150639d95fb945c3208674c0b06a23bd assets/twilightforest/models/block/vangrove_banister_short.json +804ae97399e542ef33c14a86d9c1ea8b05b91f36 assets/twilightforest/models/block/vangrove_banister_short_extended.json +61a45c4e4cbf5a69ae153e2766eddb01884be619 assets/twilightforest/models/block/vangrove_banister_tall.json +d73e3a5bbbbcbeb9b7016d1d906dd8ecf565478a assets/twilightforest/models/block/vangrove_banister_tall_extended.json +43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/warped_banister_connected.json +dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/warped_banister_connected_extended.json +37f2a74097b62b900187f50092d80ad25c68c279 assets/twilightforest/models/block/warped_banister_inventory.json +be8c904aef614b07597f0c228914930a406b9794 assets/twilightforest/models/block/warped_banister_short.json +495193331d7420b7aa6f206cfc2f24ae9c2a660e assets/twilightforest/models/block/warped_banister_short_extended.json +c91d1f60ccd419f1b7edbed9593f40bd61302d05 assets/twilightforest/models/block/warped_banister_tall.json +b55eab2c422702962854f492d21f4313bd7dc969 assets/twilightforest/models/block/warped_banister_tall_extended.json 4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json 274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json @@ -1363,6 +1661,7 @@ e1139510edd55c4d52f005d55dc60b8df95badd4 assets/twilightforest/models/item/canop 8a3e8ba9f34d032613131ec608c4e4e4a87f2b29 assets/twilightforest/models/item/canopy_sapling.json 8d4c5efd0250471a58e9cb2c730fe05f28903ad0 assets/twilightforest/models/item/canopy_sign.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_trapped_chest.json +a64c3df922b7017d7f103ae983d021d17fe7aaa3 assets/twilightforest/models/item/canopy_window_pane.json b64a0f7415d168bdff399cab1809a75e11190a14 assets/twilightforest/models/item/carminite.json 222ce8147a8764473227191fe2e2c05797ca0a43 assets/twilightforest/models/item/charm_of_keeping_1.json 763a6980808455c71b2ad6467f55f7c7e057715f assets/twilightforest/models/item/charm_of_keeping_2.json @@ -1469,6 +1768,7 @@ d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/forti f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword.json 9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json +94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json 7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json 6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json @@ -1766,6 +2066,7 @@ d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phant 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json 1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/quest_trophy.json +b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainbow_oak_sapling.json 5003500e023117b7b4dfb278ae8397d843dcb178 assets/twilightforest/models/item/raven_feather.json 1e4c3d381913d42fdb65677fd5a2e3e4eb1b8589 assets/twilightforest/models/item/raw_ironwood.json 6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 29d6b75626..cfc785f793 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T09:20:45.7909489 Loot Tables +// 1.21.4 2025-04-07T10:37:41.7411508 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json @@ -147,6 +147,9 @@ ca24cce7929ed20c867af50e107abe7756f0e243 data/twilightforest/loot_table/blocks/h df322fd5566c03b5188cc9a31ebdc78a2cc471bc data/twilightforest/loot_table/blocks/hollow_oak_log_horizontal.json dc3b7e4ac84729eec9a00f44600cac1cd32334ec data/twilightforest/loot_table/blocks/hollow_oak_log_vertical.json 7bb956ee0cc7fca2e396b6382c331b1cce44e6b8 data/twilightforest/loot_table/blocks/hollow_oak_sapling.json +7896cc7972c0ce6be74ce547c6cebcd621f6de7d data/twilightforest/loot_table/blocks/hollow_pale_oak_log_climbable.json +b325f0062d3f9e4e7402a87674e0139dee156328 data/twilightforest/loot_table/blocks/hollow_pale_oak_log_horizontal.json +3b32a4ad019801fe4d77173d89fa019a882e9c9b data/twilightforest/loot_table/blocks/hollow_pale_oak_log_vertical.json 203b5aac2da3b89d71575b13da474031dda8bd45 data/twilightforest/loot_table/blocks/hollow_sorting_log_climbable.json 57b6026e29b8593628c7025b5401adee57ae8754 data/twilightforest/loot_table/blocks/hollow_sorting_log_horizontal.json 8fc323fa17d669c415d91d0e6844a5ec28b6742d data/twilightforest/loot_table/blocks/hollow_sorting_log_vertical.json @@ -270,6 +273,7 @@ f6d097e0494b098b1f08765ed2a694434dbf7a29 data/twilightforest/loot_table/blocks/o 4d6ec75ad56ebca430fe66c0769b30dce798ce5d data/twilightforest/loot_table/blocks/ominous_spawner_drops.json 4dbb7c27085acd8c1925cf2a931b75e782d50e99 data/twilightforest/loot_table/blocks/ominous_white_candle.json 2ada90d3c47ad7207b01e6940e138bdcf5172645 data/twilightforest/loot_table/blocks/ominous_yellow_candle.json +31473765afc4930c40b1b6cea51b342f586becf1 data/twilightforest/loot_table/blocks/pale_oak_banister.json e7c5f522400048e5ef3e08884e818fbfd041fd8d data/twilightforest/loot_table/blocks/piglin_skull_candle.json f83e9022837ea67abc55968736d3a89cdccdf9af data/twilightforest/loot_table/blocks/pink_castle_door.json 36eb4496763fbcff4286f2ffd93f5a58044d42c8 data/twilightforest/loot_table/blocks/pink_castle_rune_brick.json diff --git a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 index 2677755f3d..f184ac04b4 100644 --- a/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 +++ b/src/generated/resources/.cache/6c7ed76f28181cbe2c6b2b546f0692547aa1ff36 @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T09:55:25.3047203 Twilight Forest Recipes +// 1.21.4 2025-04-07T10:37:41.7787321 Twilight Forest Recipes c2df534e70a4871d9e50ee3a1c6242e5e0fe6eaa data/twilightforest/advancement/recipes/building_blocks/aurora_pillar.json 07904494c5d60d52e5f79f8f6487d08016013692 data/twilightforest/advancement/recipes/building_blocks/canopy_bookshelf.json 195eaa6599cda74857d6163a2d207b797e492275 data/twilightforest/advancement/recipes/building_blocks/castleblock/bold_castle_brick_pillar.json @@ -126,6 +126,7 @@ ce0aa25650fe20b06953f7553f165049abc06e44 data/twilightforest/advancement/recipes 5e3013159d84807750094cfd5291f94d44151652 data/twilightforest/advancement/recipes/building_blocks/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json c8abe892cd3f1d3a0e19be1079a2107ea135da6b data/twilightforest/advancement/recipes/building_blocks/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json 4703eac4ef22f4ae9507f52cc162b05811daae75 data/twilightforest/advancement/recipes/building_blocks/stonecutting/oak_log/hollow_oak_log.json +2a6a9c9cda005b0feadc3593b820418483942e62 data/twilightforest/advancement/recipes/building_blocks/stonecutting/pale_oak_log/hollow_pale_oak_log.json 34378f307df5a6c3317d6ab282c54a9714dffe56 data/twilightforest/advancement/recipes/building_blocks/stonecutting/sorting_log/hollow_sorting_log.json 5026a1e3a40162e0372c96ee33510ec738f3535a data/twilightforest/advancement/recipes/building_blocks/stonecutting/spruce_log/hollow_spruce_log.json 8c5a8bb7b5bdd49d763efedc84350e134b2a1d66 data/twilightforest/advancement/recipes/building_blocks/stonecutting/stone/bold_stone_pillar.json @@ -275,6 +276,7 @@ cfb8983f7094d4e6665fb01d6f84c66d5c83ea72 data/twilightforest/advancement/recipes 98e1236560c8810ea284767cf7adf7d375017612 data/twilightforest/advancement/recipes/decorations/wood/mining_hanging_sign.json 09c9e92398d3c63df9427afc3a5fb230e5566cf1 data/twilightforest/advancement/recipes/decorations/wood/mining_sign.json a6062e4ecc6f2b502e0ce7150583cbc19c9202be data/twilightforest/advancement/recipes/decorations/wood/oak_banister.json +7ecc0870ff5690ad0af3ae7beb75d0d13f4fde6d data/twilightforest/advancement/recipes/decorations/wood/pale_oak_banister.json cd23d10af9bc4cf1a58f1de75cd318928153a223 data/twilightforest/advancement/recipes/decorations/wood/sorting_banister.json c8f971f619876fc57742a8988241ae12f89f6963 data/twilightforest/advancement/recipes/decorations/wood/sorting_chest.json 78188f44d097aa20d03bc0ca5d87b11e791267c4 data/twilightforest/advancement/recipes/decorations/wood/sorting_fence.json @@ -675,6 +677,7 @@ a1e5dc5ea18c7d193a5ac8e57d1f9857e99483cd data/twilightforest/recipe/stonecutting d1f53a4ed1938a6007eb7422c4c3f7a97afc3370 data/twilightforest/recipe/stonecutting/nagastone_stairs_left/nagastone_stairs_right.json 40de78aee5b086997d2db3d20a54e212126e2380 data/twilightforest/recipe/stonecutting/nagastone_stairs_right/nagastone_stairs_left.json 2046da8daec179d397091eda683eb831a2b35c86 data/twilightforest/recipe/stonecutting/oak_log/hollow_oak_log.json +cb36e607c95a4f592ce4953d9082f93f748e5714 data/twilightforest/recipe/stonecutting/pale_oak_log/hollow_pale_oak_log.json 5438c340bd1b4d9424b89e7082c7042efc221db3 data/twilightforest/recipe/stonecutting/sorting_log/hollow_sorting_log.json cc6e3e75152eb60f1875256469e7e7d57b8363e2 data/twilightforest/recipe/stonecutting/spruce_log/hollow_spruce_log.json b6bcc09ffede8a22f19bf332933be6c79a0ba61c data/twilightforest/recipe/stonecutting/stone/bold_stone_pillar.json @@ -791,6 +794,7 @@ bff1225c6b7f1706b545919562943873959b4b6e data/twilightforest/recipe/wood/mining_ ba4189d4984abb932e1b3054f7ae9a54af825abb data/twilightforest/recipe/wood/mining_wood.json 724be8232e8827418b034a27db6507e898689cc6 data/twilightforest/recipe/wood/mossy_towerwood.json 3ca4ab1603ea9dd1fd59e43854db1a9b6d1e3204 data/twilightforest/recipe/wood/oak_banister.json +274d53782d1768b3e71023081fcacdb5395e57a2 data/twilightforest/recipe/wood/pale_oak_banister.json c6d4a93d035db0895ebb3e63ef9148a7dccab4de data/twilightforest/recipe/wood/smoked_cracked_towerwood.json f7e5a5767c5b2605a2c09d876ff9f5254ff1c295 data/twilightforest/recipe/wood/sorting_banister.json fe59f0ec0050e1fbcadb7bf41694654eb6b7ef01 data/twilightforest/recipe/wood/sorting_button.json diff --git a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc index c955981346..f0ecf79794 100644 --- a/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc +++ b/src/generated/resources/.cache/a3b661b9d1602c79ab58dae8db9f53b60de85edc @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T09:20:45.8245223 Twilight Forest Item Tags +// 1.21.4 2025-04-07T10:37:41.8396197 Twilight Forest Item Tags 3c5895c72cfffe09615ec2b28267a726fcbf52e8 data/alexscaves/tags/item/ferns.json 4c5df8d60b8f068b482a22fd807ddea22e1bfe00 data/alexscaves/tags/item/ferromagnetic_items.json 42afac82c004061587d5b1ae20c2e66c0d399c8c data/alexscaves/tags/item/raw_meats.json @@ -92,7 +92,7 @@ f3de4b0d6d2929c8fab124e75ff6269ca7642aa7 data/minecraft/tags/item/wooden_stairs. 8522d5d06fec7c30601264eb04aebaa58886a948 data/minecraft/tags/item/wooden_trapdoors.json 80d39c2bda904c02ce91f31f02cd1079c0c1d4ee data/randomium/tags/item/blacklist.json b365ad6615ef9b05f43067637b8c869c06150e9e data/twilightforest/tags/item/arctic_fur.json -af8520c845f14fb320bcefd284018a5ad57a7528 data/twilightforest/tags/item/banisters.json +39103fb12e59c923d656b47c4e8460d351754505 data/twilightforest/tags/item/banisters.json 03701e27c1ba9819ac4dc5865a2bd2ab3be6a7be data/twilightforest/tags/item/banned_uncraftables.json db3a933719c405a3ec1c7ba068704346c2eb30a0 data/twilightforest/tags/item/banned_uncrafting_ingredients.json 4f38a04e314d2d9244774aef16dc773b5870f883 data/twilightforest/tags/item/boar_tempt_items.json diff --git a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 index a075ee71f1..651151deac 100644 --- a/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 +++ b/src/generated/resources/.cache/aceeec62bf10186f98b7c0ef34c2a200449b25e2 @@ -1,4 +1,4 @@ -// 1.21.4 2025-01-18T14:13:37.950048 Twilight Forest Block Tags +// 1.21.4 2025-04-07T10:37:41.7767317 Twilight Forest Block Tags 9d529390443b5da5d71bd6e867c066632e1340b8 data/alexscaves/tags/block/ferromagnetic_blocks.json ddfcbead67bb9487c003af137a276963e5b20022 data/alexscaves/tags/block/gloomoth_light_sources.json c365018bd78f1335cd4508b5d74bc4500ae951bd data/alexscaves/tags/block/underzealot_light_sources.json @@ -75,7 +75,7 @@ f3de4b0d6d2929c8fab124e75ff6269ca7642aa7 data/minecraft/tags/block/wooden_stairs bf268104ef37c6ae11779d7ebac410abe4e9e399 data/neoforge/tags/block/needs_wood_tool.json da8d3633fcaeec13b64c7691a56ece30484ae0cd data/twilightforest/tags/block/annihilation_inclusions.json 894771e557845fa22ca82b71283c23be8ab1847a data/twilightforest/tags/block/antibuilder_ignores.json -af8520c845f14fb320bcefd284018a5ad57a7528 data/twilightforest/tags/block/banisters.json +39103fb12e59c923d656b47c4e8460d351754505 data/twilightforest/tags/block/banisters.json 6500e46db807b8cb8b3729393ae550ed1e46900a data/twilightforest/tags/block/block_and_chain_never_breaks.json 2b503fff2f0de363a3e4903edb60eab934c7ebd2 data/twilightforest/tags/block/cannot_troll_cave_hollow.json 84101198c6b6d645c6e155abb5349d33e7279300 data/twilightforest/tags/block/canopy_logs.json @@ -93,9 +93,9 @@ ecd0a9f97ab5b54a7c21ed4f6af6896d564ea5f0 data/twilightforest/tags/block/castle_b db6195d77bd598771b111d12750ba39f41fe35c7 data/twilightforest/tags/block/fire_jet_fuel.json 25aee6721c6ac17e92f2a9f5d0733f89a0a0489b data/twilightforest/tags/block/giants_spawnable_on.json e222b54e9f838dbf2e905bf0b137ed8b0c60b328 data/twilightforest/tags/block/hollow_logs.json -e76ac35d93be5d3604434978c6f388542c03f06a data/twilightforest/tags/block/hollow_logs_climbable.json -bb8b9b62d506ca43da000c49146b02a02db94cba data/twilightforest/tags/block/hollow_logs_horizontal.json -0c4ebe5892c15ecdc495af7c56d4ed1e0f61e511 data/twilightforest/tags/block/hollow_logs_vertical.json +cdc6b7c87012ec91b9e54d304fe9a6f52c99f504 data/twilightforest/tags/block/hollow_logs_climbable.json +a09e807a55eb5523998665258e423397c8241f80 data/twilightforest/tags/block/hollow_logs_horizontal.json +8914fc4c7ff4d4b8a77b44e4f715913f8477b363 data/twilightforest/tags/block/hollow_logs_vertical.json f1c96c713b5d5a966247c1b17cb52da4c125d4a9 data/twilightforest/tags/block/ice_bomb_replaceables.json edb717ba8ce70db0f1c3d09fbaab29aed6d4e5ff data/twilightforest/tags/block/incorrect_for_fiery_tool.json b239e7b03736ed687b12fa515c9a1139f07cc1a8 data/twilightforest/tags/block/incorrect_for_giant_tool.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index ebd53e644c..389167e0e5 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.4 2025-04-01T09:30:12.3010153 Languages: en_us for mod: twilightforest -88e55d1eae1efef413cfbf2e01b8854a6167f6a0 assets/twilightforest/lang/en_ud.json -2302d91a93a03fd9ac92b5e11db4a01ab2deb6dd assets/twilightforest/lang/en_us.json +// 1.21.4 2025-04-07T10:37:41.7872552 Languages: en_us for mod: twilightforest +a3e5a221f6b70c7503554d3234bc9b4acbbaf5c6 assets/twilightforest/lang/en_ud.json +54391cd14e6e9aba08427ea6d83a7c14a6602d72 assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json b/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json new file mode 100644 index 0000000000..d74ece0e2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/acacia_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/acacia_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/acacia_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/acacia_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/acacia_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/acacia_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/acacia_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/acacia_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/acacia_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/acacia_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/acacia_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json b/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json new file mode 100644 index 0000000000..5ffeaa5ee4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/bamboo_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/bamboo_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/bamboo_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/bamboo_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/bamboo_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/bamboo_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/bamboo_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/bamboo_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/bamboo_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/bamboo_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/bamboo_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json b/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json new file mode 100644 index 0000000000..f9c2fc2afb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/birch_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/birch_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/birch_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/birch_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/birch_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/birch_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/birch_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/birch_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/birch_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/birch_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/birch_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/birch_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/birch_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/birch_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/birch_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/birch_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/birch_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/birch_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/birch_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/birch_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/birch_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/birch_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/birch_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/birch_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/birch_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json new file mode 100644 index 0000000000..c31aeb9e72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_bookshelf.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_bookshelf" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json new file mode 100644 index 0000000000..67f4cf150d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_window.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/canopy_window" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json b/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json new file mode 100644 index 0000000000..f93bc22a77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/canopy_window_pane.json @@ -0,0 +1,77 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_post" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_noside" + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_noside_alt" + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_noside_alt", + "y": 90 + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/canopy_window_pane_noside", + "y": 270 + }, + "when": { + "west": "false" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json b/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json new file mode 100644 index 0000000000..01213568cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cherry_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/cherry_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/cherry_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/cherry_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/cherry_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/cherry_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/cherry_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/cherry_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/cherry_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/cherry_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/cherry_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json new file mode 100644 index 0000000000..08162ea46a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json @@ -0,0 +1,812 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf", + "uvlock": true, + "y": 0 + }, + "when": { + "facing": "north" + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_0_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_0_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_1_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_1_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_2_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_2_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_3_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_3_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_4_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_4_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_5_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", + "y": 0 + }, + "when": { + "AND": [ + { + "facing": "north" + }, + { + "slot_5_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf", + "uvlock": true, + "y": 90 + }, + "when": { + "facing": "east" + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_0_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_0_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_1_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_1_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_2_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_2_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_3_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_3_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_4_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_4_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_5_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", + "y": 90 + }, + "when": { + "AND": [ + { + "facing": "east" + }, + { + "slot_5_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf", + "uvlock": true, + "y": 180 + }, + "when": { + "facing": "south" + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_0_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_0_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_1_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_1_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_2_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_2_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_3_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_3_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_4_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_4_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_5_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", + "y": 180 + }, + "when": { + "AND": [ + { + "facing": "south" + }, + { + "slot_5_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf", + "uvlock": true, + "y": 270 + }, + "when": { + "facing": "west" + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_left", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_0_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_left", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_0_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_mid", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_1_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_mid", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_1_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_top_right", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_2_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_top_right", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_2_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_left", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_3_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_left", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_3_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_4_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_mid", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_4_occupied": "false" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_occupied_slot_bottom_right", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_5_occupied": "true" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/chiseled_canopy_bookshelf_empty_slot_bottom_right", + "y": 270 + }, + "when": { + "AND": [ + { + "facing": "west" + }, + { + "slot_5_occupied": "false" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json b/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json new file mode 100644 index 0000000000..0bf8e80b49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/crimson_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/crimson_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/crimson_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/crimson_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/crimson_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/crimson_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/crimson_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/crimson_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/crimson_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/crimson_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/crimson_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json new file mode 100644 index 0000000000..e564362ab7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/dark_oak_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/dark_oak_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/dark_oak_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/dark_oak_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json new file mode 100644 index 0000000000..a596d29986 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_acacia_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_acacia_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_acacia_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_acacia_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json new file mode 100644 index 0000000000..2621a00453 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_acacia_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_acacia_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_acacia_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_acacia_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json new file mode 100644 index 0000000000..e112abfc57 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_acacia_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_acacia_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json new file mode 100644 index 0000000000..d0425e6fcb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_birch_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_birch_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_birch_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_birch_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_birch_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json new file mode 100644 index 0000000000..67a18d7a03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_birch_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_birch_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_birch_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_birch_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_birch_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_birch_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_birch_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_birch_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_birch_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_birch_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json new file mode 100644 index 0000000000..0990fa4a9d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_birch_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_birch_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json new file mode 100644 index 0000000000..8be984dea4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_cherry_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_cherry_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_cherry_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_cherry_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json new file mode 100644 index 0000000000..45bcf8f995 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_cherry_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_cherry_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_cherry_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_cherry_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json new file mode 100644 index 0000000000..253ab149ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_cherry_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_cherry_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json new file mode 100644 index 0000000000..0769ddbfe0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_crimson_stem_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json new file mode 100644 index 0000000000..bb4485d65b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_crimson_stem_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json new file mode 100644 index 0000000000..89c764a610 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_crimson_stem_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_crimson_stem_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json new file mode 100644 index 0000000000..d6124c13f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_dark_oak_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json new file mode 100644 index 0000000000..74ddfbb8ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_dark_oak_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json new file mode 100644 index 0000000000..51f6ae3fb2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_dark_oak_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_dark_oak_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json new file mode 100644 index 0000000000..8650d5bb20 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_jungle_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_jungle_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_jungle_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_jungle_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json new file mode 100644 index 0000000000..70d04a5d5e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_jungle_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_jungle_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_jungle_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_jungle_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json new file mode 100644 index 0000000000..9cb9ca2cac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_jungle_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_jungle_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json new file mode 100644 index 0000000000..aecca7c096 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_oak_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_oak_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_oak_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_oak_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json new file mode 100644 index 0000000000..9b43f20d21 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_oak_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_oak_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_oak_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_oak_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_oak_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_oak_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_oak_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_oak_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_oak_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_oak_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json new file mode 100644 index 0000000000..b3593936ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_oak_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json new file mode 100644 index 0000000000..5b4a07ec18 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_climbable.json new file mode 100644 index 0000000000..46b5704fdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_pale_oak_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_horizontal.json new file mode 100644 index 0000000000..4cbd6a03b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_pale_oak_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_vertical.json new file mode 100644 index 0000000000..e0d64de28e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_pale_oak_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_pale_oak_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json new file mode 100644 index 0000000000..313434a433 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_spruce_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_spruce_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_spruce_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_spruce_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json new file mode 100644 index 0000000000..a39cf078fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_spruce_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_spruce_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_spruce_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_spruce_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json new file mode 100644 index 0000000000..01a08f7fb2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_spruce_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_spruce_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json new file mode 100644 index 0000000000..be151b6ec6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_vangrove_log_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json new file mode 100644 index 0000000000..5f0337e49d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_vangrove_log_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json new file mode 100644 index 0000000000..118ea9b13c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_vangrove_log_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_vangrove_log_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json new file mode 100644 index 0000000000..82a4ac4744 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_climbable.json @@ -0,0 +1,49 @@ +{ + "variants": { + "facing=east,variant=ladder": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 270 + }, + "facing=east,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 270 + }, + "facing=east,variant=vine": { + "model": "twilightforest:block/hollow_warped_stem_climbable_vine", + "y": 270 + }, + "facing=north,variant=ladder": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 180 + }, + "facing=north,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 180 + }, + "facing=north,variant=vine": { + "model": "twilightforest:block/hollow_warped_stem_climbable_vine", + "y": 180 + }, + "facing=south,variant=ladder": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder" + }, + "facing=south,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder" + }, + "facing=south,variant=vine": { + "model": "twilightforest:block/hollow_warped_stem_climbable_vine" + }, + "facing=west,variant=ladder": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 90 + }, + "facing=west,variant=ladder_waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_climbable_ladder", + "y": 90 + }, + "facing=west,variant=vine": { + "model": "twilightforest:block/hollow_warped_stem_climbable_vine", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json new file mode 100644 index 0000000000..9d1ac4758d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json @@ -0,0 +1,39 @@ +{ + "variants": { + "axis=x,variant=empty": { + "model": "twilightforest:block/hollow_warped_stem_horizontal", + "y": 90 + }, + "axis=x,variant=moss": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_moss", + "y": 90 + }, + "axis=x,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_grass_inventory", + "y": 90 + }, + "axis=x,variant=snow": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_snow", + "y": 90 + }, + "axis=x,variant=waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_horizontal", + "y": 90 + }, + "axis=z,variant=empty": { + "model": "twilightforest:block/hollow_warped_stem_horizontal" + }, + "axis=z,variant=moss": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_moss" + }, + "axis=z,variant=moss_and_grass": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_grass_inventory" + }, + "axis=z,variant=snow": { + "model": "twilightforest:block/hollow_warped_stem_horizontal_snow" + }, + "axis=z,variant=waterlogged": { + "model": "twilightforest:block/hollow_warped_stem_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json new file mode 100644 index 0000000000..4ac94b82f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hollow_warped_stem_vertical.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hollow_warped_stem_vertical" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json b/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json new file mode 100644 index 0000000000..ac7ea3374d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/jungle_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/jungle_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/jungle_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/jungle_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/jungle_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/jungle_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/jungle_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/jungle_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/jungle_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/jungle_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/jungle_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json b/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json new file mode 100644 index 0000000000..cffdcd4355 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/liveroot_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/liveroot_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json b/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json new file mode 100644 index 0000000000..7c1efafea6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mangrove_root.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mangrove_root" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json new file mode 100644 index 0000000000..e328c9a8bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mining_log_core.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/mining_log_core" + }, + "active=true": { + "model": "twilightforest:block/mining_log_core_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json new file mode 100644 index 0000000000..40e9a6cd33 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/oak_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/oak_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/oak_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/oak_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/oak_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/oak_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/oak_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/oak_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/oak_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/oak_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/oak_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/oak_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/oak_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/oak_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/oak_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/oak_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/oak_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/oak_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/oak_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/oak_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/oak_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/oak_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/oak_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/oak_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/oak_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pale_oak_banister.json b/src/generated/resources/assets/twilightforest/blockstates/pale_oak_banister.json new file mode 100644 index 0000000000..8f75698050 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/pale_oak_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/pale_oak_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/pale_oak_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/pale_oak_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json new file mode 100644 index 0000000000..272ba1ac93 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_hollow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_hollow_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json new file mode 100644 index 0000000000..7b1209be89 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_rainbow_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json new file mode 100644 index 0000000000..966529094e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/rainbow_oak_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json new file mode 100644 index 0000000000..d4ce9514e6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/rainbow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/rainbow_oak_sapling" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/root.json b/src/generated/resources/assets/twilightforest/blockstates/root.json new file mode 100644 index 0000000000..ce963c622f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/root.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/root" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json new file mode 100644 index 0000000000..9abd48043d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_log_core.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/sorting_log_core" + }, + "active=true": { + "model": "twilightforest:block/sorting_log_core_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json b/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json new file mode 100644 index 0000000000..d010e00c8a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/spruce_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/spruce_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/spruce_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/spruce_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/spruce_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/spruce_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/spruce_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/spruce_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/spruce_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/spruce_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/spruce_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json new file mode 100644 index 0000000000..4aa066cc0d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/thorn_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/thorn_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json new file mode 100644 index 0000000000..189308a443 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/time_log_core.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/time_log_core" + }, + "active=true": { + "model": "twilightforest:block/time_log_core_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json b/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json new file mode 100644 index 0000000000..48f1e115b8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/transformation_log_core.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/transformation_log_core" + }, + "active=true": { + "model": "twilightforest:block/transformation_log_core_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json b/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json new file mode 100644 index 0000000000..d295004e4a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/vangrove_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/vangrove_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/vangrove_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/vangrove_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/vangrove_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/vangrove_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/vangrove_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/vangrove_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/vangrove_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/vangrove_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/vangrove_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json b/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json new file mode 100644 index 0000000000..1ea8263be6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/warped_banister.json @@ -0,0 +1,94 @@ +{ + "variants": { + "extended=false,facing=east,shape=connected": { + "model": "twilightforest:block/warped_banister_connected", + "y": 270 + }, + "extended=false,facing=east,shape=short": { + "model": "twilightforest:block/warped_banister_short", + "y": 270 + }, + "extended=false,facing=east,shape=tall": { + "model": "twilightforest:block/warped_banister_tall", + "y": 270 + }, + "extended=false,facing=north,shape=connected": { + "model": "twilightforest:block/warped_banister_connected", + "y": 180 + }, + "extended=false,facing=north,shape=short": { + "model": "twilightforest:block/warped_banister_short", + "y": 180 + }, + "extended=false,facing=north,shape=tall": { + "model": "twilightforest:block/warped_banister_tall", + "y": 180 + }, + "extended=false,facing=south,shape=connected": { + "model": "twilightforest:block/warped_banister_connected" + }, + "extended=false,facing=south,shape=short": { + "model": "twilightforest:block/warped_banister_short" + }, + "extended=false,facing=south,shape=tall": { + "model": "twilightforest:block/warped_banister_tall" + }, + "extended=false,facing=west,shape=connected": { + "model": "twilightforest:block/warped_banister_connected", + "y": 90 + }, + "extended=false,facing=west,shape=short": { + "model": "twilightforest:block/warped_banister_short", + "y": 90 + }, + "extended=false,facing=west,shape=tall": { + "model": "twilightforest:block/warped_banister_tall", + "y": 90 + }, + "extended=true,facing=east,shape=connected": { + "model": "twilightforest:block/warped_banister_connected_extended", + "y": 270 + }, + "extended=true,facing=east,shape=short": { + "model": "twilightforest:block/warped_banister_short_extended", + "y": 270 + }, + "extended=true,facing=east,shape=tall": { + "model": "twilightforest:block/warped_banister_tall_extended", + "y": 270 + }, + "extended=true,facing=north,shape=connected": { + "model": "twilightforest:block/warped_banister_connected_extended", + "y": 180 + }, + "extended=true,facing=north,shape=short": { + "model": "twilightforest:block/warped_banister_short_extended", + "y": 180 + }, + "extended=true,facing=north,shape=tall": { + "model": "twilightforest:block/warped_banister_tall_extended", + "y": 180 + }, + "extended=true,facing=south,shape=connected": { + "model": "twilightforest:block/warped_banister_connected_extended" + }, + "extended=true,facing=south,shape=short": { + "model": "twilightforest:block/warped_banister_short_extended" + }, + "extended=true,facing=south,shape=tall": { + "model": "twilightforest:block/warped_banister_tall_extended" + }, + "extended=true,facing=west,shape=connected": { + "model": "twilightforest:block/warped_banister_connected_extended", + "y": 90 + }, + "extended=true,facing=west,shape=short": { + "model": "twilightforest:block/warped_banister_short_extended", + "y": 90 + }, + "extended=true,facing=west,shape=tall": { + "model": "twilightforest:block/warped_banister_tall_extended", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/acacia_banister.json b/src/generated/resources/assets/twilightforest/items/acacia_banister.json new file mode 100644 index 0000000000..68fbc45964 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/acacia_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/acacia_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/bamboo_banister.json b/src/generated/resources/assets/twilightforest/items/bamboo_banister.json new file mode 100644 index 0000000000..0456609cb1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/bamboo_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/bamboo_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/birch_banister.json b/src/generated/resources/assets/twilightforest/items/birch_banister.json new file mode 100644 index 0000000000..2fc562da93 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/birch_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/birch_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/items/canopy_bookshelf.json new file mode 100644 index 0000000000..9b1e20efc0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_bookshelf.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_bookshelf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_leaves.json b/src/generated/resources/assets/twilightforest/items/canopy_leaves.json index 79a54ee894..a43eba4455 100644 --- a/src/generated/resources/assets/twilightforest/items/canopy_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/canopy_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -10380959 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/canopy_window.json b/src/generated/resources/assets/twilightforest/items/canopy_window.json new file mode 100644 index 0000000000..2172872724 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_window.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/canopy_window_pane.json b/src/generated/resources/assets/twilightforest/items/canopy_window_pane.json new file mode 100644 index 0000000000..05bca8d713 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/canopy_window_pane.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/canopy_window_pane" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cherry_banister.json b/src/generated/resources/assets/twilightforest/items/cherry_banister.json new file mode 100644 index 0000000000..445d59ce4f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cherry_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cherry_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/chiseled_canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/items/chiseled_canopy_bookshelf.json new file mode 100644 index 0000000000..bcee604e7c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/chiseled_canopy_bookshelf.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/chiseled_canopy_bookshelf_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/crimson_banister.json b/src/generated/resources/assets/twilightforest/items/crimson_banister.json new file mode 100644 index 0000000000..6ef74c2e9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/crimson_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/crimson_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/dark_oak_banister.json b/src/generated/resources/assets/twilightforest/items/dark_oak_banister.json new file mode 100644 index 0000000000..0f68fd2904 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/dark_oak_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/dark_oak_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_acacia_log.json b/src/generated/resources/assets/twilightforest/items/hollow_acacia_log.json new file mode 100644 index 0000000000..d38dcd34da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_acacia_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_acacia_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_birch_log.json b/src/generated/resources/assets/twilightforest/items/hollow_birch_log.json new file mode 100644 index 0000000000..6060793920 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_birch_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_birch_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_cherry_log.json b/src/generated/resources/assets/twilightforest/items/hollow_cherry_log.json new file mode 100644 index 0000000000..bb30ef9aa9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_cherry_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_cherry_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_crimson_stem.json b/src/generated/resources/assets/twilightforest/items/hollow_crimson_stem.json new file mode 100644 index 0000000000..8d649fd942 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_crimson_stem.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_crimson_stem_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_dark_oak_log.json b/src/generated/resources/assets/twilightforest/items/hollow_dark_oak_log.json new file mode 100644 index 0000000000..9489e31357 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_dark_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_dark_oak_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_jungle_log.json b/src/generated/resources/assets/twilightforest/items/hollow_jungle_log.json new file mode 100644 index 0000000000..07d25e5485 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_jungle_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_jungle_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_oak_log.json b/src/generated/resources/assets/twilightforest/items/hollow_oak_log.json new file mode 100644 index 0000000000..a7b5db4a42 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_oak_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/items/hollow_oak_sapling.json new file mode 100644 index 0000000000..7765795902 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/hollow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_pale_oak_log.json b/src/generated/resources/assets/twilightforest/items/hollow_pale_oak_log.json new file mode 100644 index 0000000000..6ec0786055 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_pale_oak_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_pale_oak_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_spruce_log.json b/src/generated/resources/assets/twilightforest/items/hollow_spruce_log.json new file mode 100644 index 0000000000..84bd059314 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_spruce_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_spruce_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_vangrove_log.json b/src/generated/resources/assets/twilightforest/items/hollow_vangrove_log.json new file mode 100644 index 0000000000..9a5d1c6e1d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_vangrove_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_vangrove_log_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hollow_warped_stem.json b/src/generated/resources/assets/twilightforest/items/hollow_warped_stem.json new file mode 100644 index 0000000000..cb68dea5b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hollow_warped_stem.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hollow_warped_stem_horizontal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/jungle_banister.json b/src/generated/resources/assets/twilightforest/items/jungle_banister.json new file mode 100644 index 0000000000..f5343450ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/jungle_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/jungle_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/liveroot_block.json b/src/generated/resources/assets/twilightforest/items/liveroot_block.json new file mode 100644 index 0000000000..c16468339d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/liveroot_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/liveroot_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json index abd26cb896..745d882337 100644 --- a/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/mangrove_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -8345771 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_root.json b/src/generated/resources/assets/twilightforest/items/mangrove_root.json new file mode 100644 index 0000000000..a6fb4fba94 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mangrove_root.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mangrove_root" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mining_leaves.json b/src/generated/resources/assets/twilightforest/items/mining_leaves.json index e8be18d268..79c4cc998a 100644 --- a/src/generated/resources/assets/twilightforest/items/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/mining_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -200380 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/mining_log_core.json b/src/generated/resources/assets/twilightforest/items/mining_log_core.json new file mode 100644 index 0000000000..a512d5a171 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mining_log_core.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mining_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/oak_banister.json b/src/generated/resources/assets/twilightforest/items/oak_banister.json new file mode 100644 index 0000000000..c949277d4f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/oak_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/oak_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pale_oak_banister.json b/src/generated/resources/assets/twilightforest/items/pale_oak_banister.json new file mode 100644 index 0000000000..d36322bf8b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/pale_oak_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/pale_oak_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/items/rainbow_oak_leaves.json new file mode 100644 index 0000000000..e89372b4b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/rainbow_oak_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/rainbow_oak_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/items/rainbow_oak_sapling.json new file mode 100644 index 0000000000..2bf1db61f5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/rainbow_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/rainbow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/root.json b/src/generated/resources/assets/twilightforest/items/root.json new file mode 100644 index 0000000000..48471a5fc9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/root.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/root" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/sorting_leaves.json b/src/generated/resources/assets/twilightforest/items/sorting_leaves.json index 2db4b08009..8dfedaed0f 100644 --- a/src/generated/resources/assets/twilightforest/items/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/sorting_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -13218813 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/sorting_log_core.json b/src/generated/resources/assets/twilightforest/items/sorting_log_core.json new file mode 100644 index 0000000000..8bdcc24548 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/sorting_log_core.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/sorting_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/spruce_banister.json b/src/generated/resources/assets/twilightforest/items/spruce_banister.json new file mode 100644 index 0000000000..90d6a2be1f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/spruce_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/spruce_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/thorn_leaves.json b/src/generated/resources/assets/twilightforest/items/thorn_leaves.json new file mode 100644 index 0000000000..3cbe046c51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/thorn_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/thorn_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -10380959 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/time_leaves.json b/src/generated/resources/assets/twilightforest/items/time_leaves.json index 89127d6c2b..f2ddac5b19 100644 --- a/src/generated/resources/assets/twilightforest/items/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/time_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -9790441 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/time_log_core.json b/src/generated/resources/assets/twilightforest/items/time_log_core.json new file mode 100644 index 0000000000..48b3d42cad --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/time_log_core.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/time_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/transformation_leaves.json b/src/generated/resources/assets/twilightforest/items/transformation_leaves.json index db20e73b66..110079e92c 100644 --- a/src/generated/resources/assets/twilightforest/items/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/items/transformation_leaves.json @@ -5,7 +5,7 @@ "tints": [ { "type": "minecraft:constant", - "value": -12012264 + "value": -9646870 } ] } diff --git a/src/generated/resources/assets/twilightforest/items/transformation_log_core.json b/src/generated/resources/assets/twilightforest/items/transformation_log_core.json new file mode 100644 index 0000000000..b3059165f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/transformation_log_core.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/transformation_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/vangrove_banister.json b/src/generated/resources/assets/twilightforest/items/vangrove_banister.json new file mode 100644 index 0000000000..6777ab13e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/vangrove_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/vangrove_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/warped_banister.json b/src/generated/resources/assets/twilightforest/items/warped_banister.json new file mode 100644 index 0000000000..8db13827b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/warped_banister.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/warped_banister_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index 2c905b449b..25b378f49f 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -416,6 +416,9 @@ "block.twilightforest.hollow_oak_log_horizontal": "įµ·oźž€ ŹžÉO ŹoźžźžoH", "block.twilightforest.hollow_oak_log_vertical": "įµ·oźž€ ŹžÉO ŹoźžźžoH", "block.twilightforest.hollow_oak_sapling": "įµ·uį“‰źždɐS ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ʇsnqoᓚ", + "block.twilightforest.hollow_pale_oak_log_climbable": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", + "block.twilightforest.hollow_pale_oak_log_horizontal": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", + "block.twilightforest.hollow_pale_oak_log_vertical": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", "block.twilightforest.hollow_sorting_log_climbable": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", "block.twilightforest.hollow_sorting_log_horizontal": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", "block.twilightforest.hollow_sorting_log_vertical": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", @@ -545,6 +548,7 @@ "block.twilightforest.ominous_white_candle": "Ēźžpuɐʆ ĒŹ‡į“‰É„M snouᓉɯO", "block.twilightforest.ominous_yellow_candle": "Ēźžpuɐʆ ŹoźžźžĒā…„ snouᓉɯO", "block.twilightforest.orange_force_field": "pźžĒį“‰ā„² ĒÉ”É¹oℲ Ēįµ·uɐɹO", + "block.twilightforest.pale_oak_banister": "É¹ĒŹ‡sᓉuɐᗺ ŹžÉO ĒźžÉŌ€", "block.twilightforest.piglin_skull_candle": "Ēźžpuɐʆ źžźžnŹžS uį“‰źžįµ·į“‰Ō€", "block.twilightforest.pink_castle_door": "ɹooį—” ĒźžŹ‡sɐʆ ɐʇuĒįµ·ÉW", "block.twilightforest.pink_castle_rune_brick": "ŹžÉ”į“‰É¹į—ŗ Ēunᓚ ĒźžŹ‡sɐʆ ɐʇuĒįµ·ÉW", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index 3dcb88a414..f96c168991 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -416,6 +416,9 @@ "block.twilightforest.hollow_oak_log_horizontal": "Hollow Oak Log", "block.twilightforest.hollow_oak_log_vertical": "Hollow Oak Log", "block.twilightforest.hollow_oak_sapling": "Robust Twilight Oak Sapling", + "block.twilightforest.hollow_pale_oak_log_climbable": "Hollow Pale Oak Log", + "block.twilightforest.hollow_pale_oak_log_horizontal": "Hollow Pale Oak Log", + "block.twilightforest.hollow_pale_oak_log_vertical": "Hollow Pale Oak Log", "block.twilightforest.hollow_sorting_log_climbable": "Hollow Sortingwood Log", "block.twilightforest.hollow_sorting_log_horizontal": "Hollow Sortingwood Log", "block.twilightforest.hollow_sorting_log_vertical": "Hollow Sortingwood Log", @@ -545,6 +548,7 @@ "block.twilightforest.ominous_white_candle": "Ominous White Candle", "block.twilightforest.ominous_yellow_candle": "Ominous Yellow Candle", "block.twilightforest.orange_force_field": "Orange Force Field", + "block.twilightforest.pale_oak_banister": "Pale Oak Banister", "block.twilightforest.piglin_skull_candle": "Piglin Skull Candle", "block.twilightforest.pink_castle_door": "Magenta Castle Door", "block.twilightforest.pink_castle_rune_brick": "Magenta Castle Rune Brick", diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected.json new file mode 100644 index 0000000000..7342820af0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected_extended.json new file mode 100644 index 0000000000..c20ade991c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_inventory.json new file mode 100644 index 0000000000..a21c0cd86f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short.json new file mode 100644 index 0000000000..7779538089 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short_extended.json new file mode 100644 index 0000000000..3abe2f72ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall.json new file mode 100644 index 0000000000..442eae40bd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall_extended.json new file mode 100644 index 0000000000..e619e7599c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/acacia_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/acacia_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected.json new file mode 100644 index 0000000000..efcaceec72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected_extended.json new file mode 100644 index 0000000000..f5b534c550 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_inventory.json new file mode 100644 index 0000000000..41ef2bdb37 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short.json new file mode 100644 index 0000000000..017a054cf7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short_extended.json new file mode 100644 index 0000000000..736f2b9c02 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall.json new file mode 100644 index 0000000000..e1521fc80b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall_extended.json new file mode 100644 index 0000000000..b9e937cfdb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/bamboo_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/bamboo_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected.json new file mode 100644 index 0000000000..fa4cc2929f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected_extended.json new file mode 100644 index 0000000000..26476ee44d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_inventory.json new file mode 100644 index 0000000000..8a6fb8cb4a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_short.json new file mode 100644 index 0000000000..c4ab3565dd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_short_extended.json new file mode 100644 index 0000000000..dfae781421 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall.json new file mode 100644 index 0000000000..c0a6a4554e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall_extended.json new file mode 100644 index 0000000000..226b8d6332 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/birch_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/birch_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json new file mode 100644 index 0000000000..bd93dcfb22 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_bookshelf.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/canopy_planks", + "side": "twilightforest:block/canopy_bookshelf" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json index 5f6f1721cd..35b3fef6fb 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_canopy_log_side" + "particle": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json index 362976935c..d39e829f6d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "minecraft:block/spruce_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log.json index ece6c26e7e..c5c9ae6665 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/canopy_log_top", - "side": "twilightforest:block/canopy_log_side" + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json index bf1fea058b..c4366a02ba 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/canopy_log_top", - "side": "twilightforest:block/canopy_log_side" + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window.json new file mode 100644 index 0000000000..848b6e2eae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "render_type": "minecraft:translucent", + "textures": { + "all": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json new file mode 100644 index 0000000000..34a973de33 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_glass_pane_noside", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json new file mode 100644 index 0000000000..7a27e3c1e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_noside_alt.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_glass_pane_noside_alt", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json new file mode 100644 index 0000000000..3155bbe8a5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_post.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/template_glass_pane_post", + "render_type": "minecraft:translucent", + "textures": { + "edge": "twilightforest:block/canopy_window", + "pane": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json new file mode 100644 index 0000000000..9bceabc73b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/template_glass_pane_side", + "render_type": "minecraft:translucent", + "textures": { + "edge": "twilightforest:block/canopy_window", + "pane": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json new file mode 100644 index 0000000000..c1d2aa2e57 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_window_pane_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/template_glass_pane_side_alt", + "render_type": "minecraft:translucent", + "textures": { + "edge": "twilightforest:block/canopy_window", + "pane": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json index 132457af4a..311e20c723 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/canopy_log_side", - "side": "twilightforest:block/canopy_log_side" + "end": "twilightforest:block/canopy_log", + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected.json new file mode 100644 index 0000000000..e7b2480227 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected_extended.json new file mode 100644 index 0000000000..3c18e0e34c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_inventory.json new file mode 100644 index 0000000000..2e3cd70f37 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short.json new file mode 100644 index 0000000000..52d04812cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short_extended.json new file mode 100644 index 0000000000..8324ac264d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall.json new file mode 100644 index 0000000000..5b83010164 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall_extended.json new file mode 100644 index 0000000000..f180b1c8c0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cherry_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/cherry_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json new file mode 100644 index 0000000000..664edbfad3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_left.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_left", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json new file mode 100644 index 0000000000..501348cea3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_mid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_mid", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json new file mode 100644 index 0000000000..eb6f0a0151 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_bottom_right.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_right", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json new file mode 100644 index 0000000000..94ed611019 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_left.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_left", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json new file mode 100644 index 0000000000..1346bd6f39 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_mid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_mid", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json new file mode 100644 index 0000000000..b5c7f5ec20 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_empty_slot_top_right.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_right", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_empty" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json new file mode 100644 index 0000000000..4c4a473bf9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_inventory.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/orientable", + "textures": { + "front": "twilightforest:block/chiseled_canopy_bookshelf_empty", + "side": "twilightforest:block/chiseled_canopy_bookshelf_side", + "top": "twilightforest:block/chiseled_canopy_bookshelf_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json new file mode 100644 index 0000000000..b230eab2c9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_left.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_left", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json new file mode 100644 index 0000000000..0886a5dcb2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_mid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_mid", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json new file mode 100644 index 0000000000..7a685942c6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_bottom_right.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_bottom_right", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json new file mode 100644 index 0000000000..4068ed148d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_left.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_left", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json new file mode 100644 index 0000000000..88f1300b3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_mid", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json new file mode 100644 index 0000000000..ad19161c75 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_chiseled_bookshelf_slot_top_right", + "textures": { + "texture": "twilightforest:block/chiseled_canopy_bookshelf_occupied" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected.json new file mode 100644 index 0000000000..0143a7c4fc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected_extended.json new file mode 100644 index 0000000000..4dccb65769 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_inventory.json new file mode 100644 index 0000000000..7020407c79 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short.json new file mode 100644 index 0000000000..c1d322700d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short_extended.json new file mode 100644 index 0000000000..8e95b32550 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall.json new file mode 100644 index 0000000000..3dff414fb4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall_extended.json new file mode 100644 index 0000000000..4051bf2e61 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/crimson_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/crimson_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json index 724239be08..894957c4c8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_dark_log_side" + "particle": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json index 362976935c..90cf177a97 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "twilightforest:block/dark_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log.json b/src/generated/resources/assets/twilightforest/models/block/dark_log.json index b74ddcd080..5689b6b2e6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/dark_log_top", - "side": "twilightforest:block/dark_log_side" + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json index 3992d2319b..982c782773 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/dark_log_top", - "side": "twilightforest:block/dark_log_side" + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected.json new file mode 100644 index 0000000000..07657005bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected_extended.json new file mode 100644 index 0000000000..116d07cd74 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_inventory.json new file mode 100644 index 0000000000..ed7f9a8b68 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short.json new file mode 100644 index 0000000000..9596d84216 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short_extended.json new file mode 100644 index 0000000000..17677f7396 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall.json new file mode 100644 index 0000000000..586797c7b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall_extended.json new file mode 100644 index 0000000000..d4ced5d29d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/dark_oak_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/dark_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/dark_wood.json index d87fe6375e..5077d4920b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/dark_log_side", - "side": "twilightforest:block/dark_log_side" + "end": "twilightforest:block/dark_log", + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json new file mode 100644 index 0000000000..b166ca3335 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json new file mode 100644 index 0000000000..41319da5f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json new file mode 100644 index 0000000000..371198d2b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..d68f35b003 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json new file mode 100644 index 0000000000..1a2ffcb22e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json new file mode 100644 index 0000000000..d2fc537042 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json new file mode 100644 index 0000000000..dd990978da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/acacia_log_top", + "inside": "minecraft:block/stripped_acacia_log", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json new file mode 100644 index 0000000000..7b90131295 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json new file mode 100644 index 0000000000..a4cb9022e3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json new file mode 100644 index 0000000000..f53d98ff2d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..60630e65be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json new file mode 100644 index 0000000000..5c723874bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json new file mode 100644 index 0000000000..8860aa00de --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json new file mode 100644 index 0000000000..1dc3b49b30 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/birch_log_top", + "inside": "minecraft:block/stripped_birch_log", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json index 074c3e7039..ce945b12de 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", - "side": "twilightforest:block/canopy_log_side" + "inside": "twilightforest:block/stripped_canopy_log", + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json index 995c321543..3fb0bd38c3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", - "side": "twilightforest:block/canopy_log_side" + "inside": "twilightforest:block/stripped_canopy_log", + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json index 501ca51f01..4f0b74b919 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", - "side": "twilightforest:block/canopy_log_side" + "inside": "twilightforest:block/stripped_canopy_log", + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json index 1bdc7d617e..4d8bb503b0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", + "inside": "twilightforest:block/stripped_canopy_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/canopy_log_side" + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json index 106d63f483..f41ca52110 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", + "inside": "twilightforest:block/stripped_canopy_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/canopy_log_side" + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json index a44747e5bf..dfac646071 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", + "inside": "twilightforest:block/stripped_canopy_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/canopy_log_side" + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json index 56d973aa12..c6b1e2c19b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/canopy_log_top", - "inside": "twilightforest:block/stripped_canopy_log_side", - "side": "twilightforest:block/canopy_log_side" + "inside": "twilightforest:block/stripped_canopy_log", + "side": "twilightforest:block/canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json new file mode 100644 index 0000000000..d5f7d8e6ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json new file mode 100644 index 0000000000..3847d705a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json new file mode 100644 index 0000000000..f3b81d0459 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..cc06d1adfa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json new file mode 100644 index 0000000000..3129bf3490 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json new file mode 100644 index 0000000000..8821c69046 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json new file mode 100644 index 0000000000..2e572a4479 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/cherry_log_top", + "inside": "minecraft:block/stripped_cherry_log", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json new file mode 100644 index 0000000000..30e8b23244 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json new file mode 100644 index 0000000000..dc95718a4c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json new file mode 100644 index 0000000000..5f773238a9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json new file mode 100644 index 0000000000..33275953d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json new file mode 100644 index 0000000000..1f1a816b79 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json new file mode 100644 index 0000000000..7162fe316b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json new file mode 100644 index 0000000000..b08fac8063 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/crimson_stem_top", + "inside": "minecraft:block/stripped_crimson_stem", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json index 9c00fc97b7..3bfc5746aa 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", - "side": "twilightforest:block/dark_log_side" + "inside": "twilightforest:block/stripped_dark_log", + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json index 79aa8ab958..208504efde 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", - "side": "twilightforest:block/dark_log_side" + "inside": "twilightforest:block/stripped_dark_log", + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json index 097424c27c..dbb1d55ed7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", - "side": "twilightforest:block/dark_log_side" + "inside": "twilightforest:block/stripped_dark_log", + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json index 0f24cf735d..ff95aebed3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", + "inside": "twilightforest:block/stripped_dark_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/dark_log_side" + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json index 93d304c7bf..8d8c6e535c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", + "inside": "twilightforest:block/stripped_dark_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/dark_log_side" + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json index ff160bd6ff..21d3ecd246 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", + "inside": "twilightforest:block/stripped_dark_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/dark_log_side" + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json index 980e42b67d..c259a63853 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/dark_log_top", - "inside": "twilightforest:block/stripped_dark_log_side", - "side": "twilightforest:block/dark_log_side" + "inside": "twilightforest:block/stripped_dark_log", + "side": "twilightforest:block/dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json new file mode 100644 index 0000000000..205c9ab0d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json new file mode 100644 index 0000000000..0b3270ab42 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json new file mode 100644 index 0000000000..234f17b509 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..388e31356d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json new file mode 100644 index 0000000000..49fbbafc1d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json new file mode 100644 index 0000000000..be8356557b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json new file mode 100644 index 0000000000..8170d09fef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/dark_oak_log_top", + "inside": "minecraft:block/stripped_dark_oak_log", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json new file mode 100644 index 0000000000..e63727942f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json new file mode 100644 index 0000000000..6f08c67b59 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json new file mode 100644 index 0000000000..537a943f10 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..2dba9c9cf1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json new file mode 100644 index 0000000000..837294a0ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json new file mode 100644 index 0000000000..4b2f5d9375 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json new file mode 100644 index 0000000000..626fad5b77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/jungle_log_top", + "inside": "minecraft:block/stripped_jungle_log", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json index e26e8f50d6..9e7ed0c30b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", - "side": "twilightforest:block/mangrove_log_side" + "inside": "twilightforest:block/stripped_mangrove_log", + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json index 48698ab37d..c88aeed273 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", - "side": "twilightforest:block/mangrove_log_side" + "inside": "twilightforest:block/stripped_mangrove_log", + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json index 6d47e982a5..977807ae96 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", - "side": "twilightforest:block/mangrove_log_side" + "inside": "twilightforest:block/stripped_mangrove_log", + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json index 31882b778d..c19b7b578b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", + "inside": "twilightforest:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/mangrove_log_side" + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json index 50d2337fe9..c1bddd731d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", + "inside": "twilightforest:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/mangrove_log_side" + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json index e6361edf1f..77d8549203 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", + "inside": "twilightforest:block/stripped_mangrove_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/mangrove_log_side" + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json index 1ae7558ece..6d431e9eee 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/mangrove_log_top", - "inside": "twilightforest:block/stripped_mangrove_log_side", - "side": "twilightforest:block/mangrove_log_side" + "inside": "twilightforest:block/stripped_mangrove_log", + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json index 6194d4ce23..676a617276 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", - "side": "twilightforest:block/mining_log_side" + "inside": "twilightforest:block/stripped_mining_log", + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json index bb104aaf71..565cf8c7fc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", - "side": "twilightforest:block/mining_log_side" + "inside": "twilightforest:block/stripped_mining_log", + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json index 487eeebff6..f83f2deb09 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", - "side": "twilightforest:block/mining_log_side" + "inside": "twilightforest:block/stripped_mining_log", + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json index 59f1b0bed0..0012bfffcc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", + "inside": "twilightforest:block/stripped_mining_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/mining_log_side" + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json index a8bb3771bd..bb7121251c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", + "inside": "twilightforest:block/stripped_mining_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/mining_log_side" + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json index a6bbb4133d..5b5a819618 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", + "inside": "twilightforest:block/stripped_mining_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/mining_log_side" + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json index 8828c0b32e..90b23ebafe 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/mining_log_top", - "inside": "twilightforest:block/stripped_mining_log_side", - "side": "twilightforest:block/mining_log_side" + "inside": "twilightforest:block/stripped_mining_log", + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json new file mode 100644 index 0000000000..121c2b36a3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json new file mode 100644 index 0000000000..0eec1ab2d2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json new file mode 100644 index 0000000000..de745512a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..5bc1709ecb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json new file mode 100644 index 0000000000..6872f6fe7a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json new file mode 100644 index 0000000000..c19f8d9e60 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json new file mode 100644 index 0000000000..bec14192d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/oak_log_top", + "inside": "minecraft:block/stripped_oak_log", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json new file mode 100644 index 0000000000..3f6e001c38 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/hollow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json new file mode 100644 index 0000000000..be273163c4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json new file mode 100644 index 0000000000..6738d1a89a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json new file mode 100644 index 0000000000..fda8dea836 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..0fd274e4b5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json new file mode 100644 index 0000000000..4f5ef7bbe5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json new file mode 100644 index 0000000000..65060c5a06 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json new file mode 100644 index 0000000000..faecb693be --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/pale_oak_log_top", + "inside": "minecraft:block/stripped_pale_oak_log", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json index e86c80f185..ffbfb60038 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", - "side": "twilightforest:block/sorting_log_side" + "inside": "twilightforest:block/stripped_sorting_log", + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json index f3d8f4a2e5..78c07368fa 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", - "side": "twilightforest:block/sorting_log_side" + "inside": "twilightforest:block/stripped_sorting_log", + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json index ff0455b538..5e161cb00b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", - "side": "twilightforest:block/sorting_log_side" + "inside": "twilightforest:block/stripped_sorting_log", + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json index 4493769995..786b33c8b5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", + "inside": "twilightforest:block/stripped_sorting_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/sorting_log_side" + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json index 2f0f451470..6b445089e3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", + "inside": "twilightforest:block/stripped_sorting_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/sorting_log_side" + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json index 6829a8422f..8c285162ba 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", + "inside": "twilightforest:block/stripped_sorting_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/sorting_log_side" + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json index 2b58690bc4..a40e78f6a8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/sorting_log_top", - "inside": "twilightforest:block/stripped_sorting_log_side", - "side": "twilightforest:block/sorting_log_side" + "inside": "twilightforest:block/stripped_sorting_log", + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json new file mode 100644 index 0000000000..81042a90b8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json new file mode 100644 index 0000000000..76e5a66d35 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json new file mode 100644 index 0000000000..150221a08b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..585b3835aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json new file mode 100644 index 0000000000..a065a84efc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json new file mode 100644 index 0000000000..d2e74dd017 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json new file mode 100644 index 0000000000..02b400b3ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/spruce_log_top", + "inside": "minecraft:block/stripped_spruce_log", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json index cd8404e25d..cc3a2fe1f8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", - "side": "twilightforest:block/time_log_side" + "inside": "twilightforest:block/stripped_time_log", + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json index 5dd8b331c9..a723c3972d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", - "side": "twilightforest:block/time_log_side" + "inside": "twilightforest:block/stripped_time_log", + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json index a1801cf720..8140d994b8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", - "side": "twilightforest:block/time_log_side" + "inside": "twilightforest:block/stripped_time_log", + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json index f09fe4d55b..1993acfd00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", + "inside": "twilightforest:block/stripped_time_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/time_log_side" + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json index 21cfe01a0e..7c5d1675ba 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", + "inside": "twilightforest:block/stripped_time_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/time_log_side" + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json index 580616747c..2d3c3c7f44 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", + "inside": "twilightforest:block/stripped_time_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/time_log_side" + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json index e09f526f5e..f89043a1c2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/time_log_top", - "inside": "twilightforest:block/stripped_time_log_side", - "side": "twilightforest:block/time_log_side" + "inside": "twilightforest:block/stripped_time_log", + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json index 2fe52c84c7..08c0702dd5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", - "side": "twilightforest:block/transformation_log_side" + "inside": "twilightforest:block/stripped_transformation_log", + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json index 4005a5f634..6f80ff3718 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", - "side": "twilightforest:block/transformation_log_side" + "inside": "twilightforest:block/stripped_transformation_log", + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json index cbda88e820..439347e197 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", - "side": "twilightforest:block/transformation_log_side" + "inside": "twilightforest:block/stripped_transformation_log", + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json index 18561e0c3a..e9ff7f888f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", + "inside": "twilightforest:block/stripped_transformation_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/transformation_log_side" + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json index d7e48d49c5..23e13123d2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", + "inside": "twilightforest:block/stripped_transformation_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/transformation_log_side" + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json index d3bf8e57d1..04d1463939 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", + "inside": "twilightforest:block/stripped_transformation_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/transformation_log_side" + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json index 86eded5641..1e6d5a9aea 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/transformation_log_top", - "inside": "twilightforest:block/stripped_transformation_log_side", - "side": "twilightforest:block/transformation_log_side" + "inside": "twilightforest:block/stripped_transformation_log", + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json index 82b7081a8b..0617c420b1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/ladder", "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", - "side": "twilightforest:block/twilight_oak_log_side" + "inside": "twilightforest:block/stripped_twilight_oak_log", + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json index a2af023c10..72d78c252e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json @@ -3,7 +3,7 @@ "textures": { "climbable": "minecraft:block/vine", "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", - "side": "twilightforest:block/twilight_oak_log_side" + "inside": "twilightforest:block/stripped_twilight_oak_log", + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json index 43a08003be..8ee853fc0d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/horizontal_hollow_log", "textures": { "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", - "side": "twilightforest:block/twilight_oak_log_side" + "inside": "twilightforest:block/stripped_twilight_oak_log", + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json index f45840cc15..c34b821e6f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json @@ -3,9 +3,9 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "inside": "twilightforest:block/stripped_twilight_oak_log", "overhang": "twilightforest:block/moss_overhang", "plant": "minecraft:block/short_grass", - "side": "twilightforest:block/twilight_oak_log_side" + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json index 3d80095d0e..84be0cc2b5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json @@ -3,8 +3,8 @@ "textures": { "carpet": "twilightforest:block/mosspatch", "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "inside": "twilightforest:block/stripped_twilight_oak_log", "overhang": "twilightforest:block/moss_overhang", - "side": "twilightforest:block/twilight_oak_log_side" + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json index 5f638f52ca..7ddb4163a0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json @@ -3,8 +3,8 @@ "textures": { "carpet": "minecraft:block/snow", "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", + "inside": "twilightforest:block/stripped_twilight_oak_log", "overhang": "twilightforest:block/snow_overhang", - "side": "twilightforest:block/twilight_oak_log_side" + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json index 17762ee2b1..0aa88f6709 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json @@ -2,7 +2,7 @@ "parent": "twilightforest:block/vertical_hollow_log", "textures": { "end": "twilightforest:block/twilight_oak_log_top", - "inside": "twilightforest:block/stripped_twilight_oak_log_side", - "side": "twilightforest:block/twilight_oak_log_side" + "inside": "twilightforest:block/stripped_twilight_oak_log", + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json new file mode 100644 index 0000000000..ab70951728 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json new file mode 100644 index 0000000000..1ad7583f1f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json new file mode 100644 index 0000000000..fd2c070fa5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json new file mode 100644 index 0000000000..23f41290e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json new file mode 100644 index 0000000000..12ad08911f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json new file mode 100644 index 0000000000..447a35172e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json new file mode 100644 index 0000000000..9252b19c63 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/mangrove_log_top", + "inside": "minecraft:block/stripped_mangrove_log", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json new file mode 100644 index 0000000000..22f6a32901 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/ladder", + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json new file mode 100644 index 0000000000..fbca3f8013 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/climbable_hollow_log", + "textures": { + "climbable": "minecraft:block/vine", + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json new file mode 100644 index 0000000000..74033f57ec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log", + "textures": { + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json new file mode 100644 index 0000000000..6cd88773d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_plant", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "overhang": "twilightforest:block/moss_overhang", + "plant": "minecraft:block/short_grass", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json new file mode 100644 index 0000000000..c919a2e045 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "twilightforest:block/mosspatch", + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "overhang": "twilightforest:block/moss_overhang", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json new file mode 100644 index 0000000000..624f0bc999 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/horizontal_hollow_log_carpet", + "textures": { + "carpet": "minecraft:block/snow", + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "overhang": "twilightforest:block/snow_overhang", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json new file mode 100644 index 0000000000..c52a746473 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_vertical.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/vertical_hollow_log", + "textures": { + "end": "minecraft:block/warped_stem_top", + "inside": "minecraft:block/stripped_warped_stem", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected.json new file mode 100644 index 0000000000..c4594bcbac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected_extended.json new file mode 100644 index 0000000000..3933ae91c2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_inventory.json new file mode 100644 index 0000000000..120df033bb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short.json new file mode 100644 index 0000000000..40f03a530f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short_extended.json new file mode 100644 index 0000000000..214707115d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall.json new file mode 100644 index 0000000000..2097e2c571 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall_extended.json new file mode 100644 index 0000000000..8a31a8dfea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/jungle_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/jungle_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json b/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json new file mode 100644 index 0000000000..d05f7efeeb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/liveroot_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/liveroot_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json index cbc5a8b70c..8cd9b13b70 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_mangrove_log_side" + "particle": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json index 362976935c..51f6302d05 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "minecraft:block/birch_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json index 7f64f16877..786619440b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/mangrove_log_top", - "side": "twilightforest:block/mangrove_log_side" + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json index 9d35c8db89..37d2834244 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/mangrove_log_top", - "side": "twilightforest:block/mangrove_log_side" + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json new file mode 100644 index 0000000000..a293a21f5d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_root.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mangrove_root" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json index 0ed897f772..c85d3f105c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/mangrove_log_side", - "side": "twilightforest:block/mangrove_log_side" + "end": "twilightforest:block/mangrove_log", + "side": "twilightforest:block/mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json index be630d83b2..b8ba6829b4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_mining_log_side" + "particle": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json index 362976935c..cd606cb6a2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "twilightforest:block/mining_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log.json b/src/generated/resources/assets/twilightforest/models/block/mining_log.json index 40f4701016..54e29dd521 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log_side" + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json new file mode 100644 index 0000000000..624e819022 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log_core.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mining_log_top", + "side": "twilightforest:block/mining_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json new file mode 100644 index 0000000000..1cc9a50c91 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log_core_on.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mining_log_top", + "side": "twilightforest:block/mining_log_core_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json index df2d3b8c9f..20562c72b7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/mining_log_top", - "side": "twilightforest:block/mining_log_side" + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/mining_wood.json index 2aabded2ca..ff5fa742f4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/mining_log_side", - "side": "twilightforest:block/mining_log_side" + "end": "twilightforest:block/mining_log", + "side": "twilightforest:block/mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json index 9c68c10b41..8ae3e16429 100644 --- a/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json +++ b/src/generated/resources/assets/twilightforest/models/block/nagastone_head.json @@ -2,11 +2,11 @@ "parent": "minecraft:block/cube", "textures": { "down": "twilightforest:block/nagastone_bottom_tip", - "east": "twilightforest:block/nagastone_face_right", - "north": "twilightforest:block/nagastone_face_front", + "east": "twilightforest:block/nagastone_cross_section", + "north": "twilightforest:block/nagastone_face_right", "particle": "twilightforest:block/nagastone_face_front", - "south": "twilightforest:block/nagastone_cross_section", + "south": "twilightforest:block/nagastone_face_left", "up": "twilightforest:block/nagastone_top_tip", - "west": "twilightforest:block/nagastone_face_left" + "west": "twilightforest:block/nagastone_face_front" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected.json new file mode 100644 index 0000000000..15c4e648ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected_extended.json new file mode 100644 index 0000000000..a12b8d3084 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_inventory.json new file mode 100644 index 0000000000..9a04f6a6d3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_short.json new file mode 100644 index 0000000000..8e434e96cd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_short_extended.json new file mode 100644 index 0000000000..3ca258b05f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall.json new file mode 100644 index 0000000000..25a80be090 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall_extended.json new file mode 100644 index 0000000000..a6c16480e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/oak_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected.json new file mode 100644 index 0000000000..dafd93d456 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected_extended.json new file mode 100644 index 0000000000..dfe4af61a4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_inventory.json new file mode 100644 index 0000000000..f992324eee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short.json new file mode 100644 index 0000000000..8a761635c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short_extended.json new file mode 100644 index 0000000000..327b172a55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall.json new file mode 100644 index 0000000000..f62bdabc14 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall_extended.json new file mode 100644 index 0000000000..6ffbc71fc0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pale_oak_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/pale_oak_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json new file mode 100644 index 0000000000..057c7e9098 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_hollow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/hollow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json new file mode 100644 index 0000000000..03af8642b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_rainbow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/rainbow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json new file mode 100644 index 0000000000..362976935c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json new file mode 100644 index 0000000000..edefd457d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_sapling.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/rainbow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/root.json b/src/generated/resources/assets/twilightforest/models/block/root.json new file mode 100644 index 0000000000..93a5846c14 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/root.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/root" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json index a0ab565513..60c4616273 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json index 02ab0c2cb0..ab3ca56baf 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json index f5944adf8f..8b6156c2a0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json index 67408861e5..b9adb4613e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json index 2365ad5277..35e3c32981 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json index 3237085dd3..df04778630 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json index 55b53d65c4..d70c7e2951 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json index e7dfef0070..3f01e348b7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", "top": "twilightforest:block/sorting_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json index 9d75e21da2..d516ee6450 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_sorting_log_side" + "particle": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json index 362976935c..3e47156fdd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "twilightforest:block/sorting_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log.json index 168f6123e5..0b3306fa32 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log_side" + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json new file mode 100644 index 0000000000..17933ba690 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "side": "twilightforest:block/sorting_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json new file mode 100644 index 0000000000..e85ed166de --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log_core_on.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "side": "twilightforest:block/sorting_log_core_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json index fafab28ce2..c2d48243ae 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/sorting_log_top", - "side": "twilightforest:block/sorting_log_side" + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json index 27f5ca5e51..25de1a6008 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_bottom.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json index 46aa5c1fbc..2cab78d150 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json index da8d2153d1..554aecb889 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_trapdoor_top.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/sorting_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json index 7d2c3fbfe5..afe659a100 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/sorting_log_side", - "side": "twilightforest:block/sorting_log_side" + "end": "twilightforest:block/sorting_log", + "side": "twilightforest:block/sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected.json new file mode 100644 index 0000000000..6691af2e0e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected_extended.json new file mode 100644 index 0000000000..a65ce0e878 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_inventory.json new file mode 100644 index 0000000000..621093e2e7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short.json new file mode 100644 index 0000000000..5275d00275 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short_extended.json new file mode 100644 index 0000000000..8009461821 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall.json new file mode 100644 index 0000000000..4de62f0a26 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall_extended.json new file mode 100644 index 0000000000..8fcd8189c6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/spruce_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/spruce_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json index 8cd0d46aea..3574749d00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log_side" + "side": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json index cdc782e4e5..912a3d0b0c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log_side" + "side": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json index 8cd0d46aea..3574749d00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log_side" + "side": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json index cdc782e4e5..912a3d0b0c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log_side" + "side": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json index b1872692c2..c87f00787e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log_side" + "side": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json index aacd66f820..5ef59dbf65 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log_side" + "side": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json index b1872692c2..c87f00787e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log_side" + "side": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json index aacd66f820..5ef59dbf65 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log_side" + "side": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json index 5581a24067..5e2c5d3864 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log_side" + "side": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json index 7e426b169f..34f4b7fa88 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log_side" + "side": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json index 5581a24067..5e2c5d3864 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log_side" + "side": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json index 7e426b169f..34f4b7fa88 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log_side" + "side": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json index bebc5bac02..a28005962c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log_side" + "side": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json index 4602660ef2..47e11cf3dd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log_side" + "side": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json index bebc5bac02..a28005962c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log_side" + "side": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json index 4602660ef2..47e11cf3dd 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log_side" + "side": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json index 4a46f68167..e4aa12ad00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log_side" + "side": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json index 1447411ed6..b4379c931b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log_side" + "side": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json index 4a46f68167..e4aa12ad00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log_side" + "side": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json index 1447411ed6..b4379c931b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log_side" + "side": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json index 61e63d0f9a..6feda53830 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log_side" + "side": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json index c90f1b679c..343f9f1f0b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log_side" + "side": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json index 61e63d0f9a..6feda53830 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log_side" + "side": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json index c90f1b679c..343f9f1f0b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log_side" + "side": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json index 21de528226..2c701602d4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log_side" + "side": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json index 9df92d169f..2545f7d408 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log_side" + "side": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json index 21de528226..2c701602d4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log_side" + "side": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json index 9df92d169f..2545f7d408 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log_side" + "side": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json index eccae09872..43c292d795 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log_side" + "side": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json index 119912a77c..d6ed59905e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log_side" + "side": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json index eccae09872..43c292d795 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log_side" + "side": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json index 119912a77c..d6ed59905e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log_side" + "side": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json b/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json new file mode 100644 index 0000000000..d39e829f6d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/leaves", + "render_type": "minecraft:cutout_mipped", + "textures": { + "all": "minecraft:block/spruce_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json index 941b186816..5f79dbe47c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json index fafb69e279..c5d7c25c11 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json index fcc1ccf114..974502cf19 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json index 9873f2b7be..3e82037aa4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_bottom_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json index 860c50fdf4..34f462bcee 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json index b255c35aa7..fe4a192c11 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json index b44d81d411..35f78a681e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json index 6f317d65f4..c5e5a9c36d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_door_top_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/time_door_bottom", "top": "twilightforest:block/time_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json index a200cb6df9..13576c8344 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_time_log_side" + "particle": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json index 362976935c..4b074cf7e1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "twilightforest:block/time_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log.json b/src/generated/resources/assets/twilightforest/models/block/time_log.json index 1ce741fdf1..65153404b7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log_side" + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_core.json b/src/generated/resources/assets/twilightforest/models/block/time_log_core.json new file mode 100644 index 0000000000..20ae09c07b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_log_core.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/time_log_top", + "side": "twilightforest:block/time_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json new file mode 100644 index 0000000000..0c1a8b7569 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/time_log_core_on.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/time_log_top", + "side": "twilightforest:block/time_log_core_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json index f11e90cb3c..5e2c01fc56 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/time_log_top", - "side": "twilightforest:block/time_log_side" + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json index 83d14fc8bd..82a741ca85 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_bottom.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json index a1a0fddbae..a610a370ec 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json index a9fe4a7ac7..84baafc05e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_trapdoor_top.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/time_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_wood.json b/src/generated/resources/assets/twilightforest/models/block/time_wood.json index bee09cc305..9f0dd33195 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/time_log_side", - "side": "twilightforest:block/time_log_side" + "end": "twilightforest:block/time_log", + "side": "twilightforest:block/time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json index 65ff14d5f5..18e1dc81ac 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json index 2fd0e75e6b..c166c26f43 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json index cefde86f69..3da6fed748 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json index acf7583ff4..b24420f414 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_bottom_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_bottom_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json index db6cfd2e1e..d3303c7719 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json index cc42c0bfec..86e248a548 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_left_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_left_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json index ef60b739d2..702a18417e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json index a54cd4dfef..6a50beca18 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_door_top_right_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/door_top_right_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/transformation_door_bottom", "top": "twilightforest:block/transformation_door_top" diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json index 875e5bcb54..ebca19e843 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_transformation_log_side" + "particle": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json index 362976935c..be32687bab 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/leaves", "render_type": "minecraft:cutout_mipped", "textures": { - "all": "minecraft:block/oak_leaves" + "all": "twilightforest:block/transformation_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log.json index a3e407fde5..3527ec1920 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log_side" + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json new file mode 100644 index 0000000000..90546d62e6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "side": "twilightforest:block/transformation_log_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json new file mode 100644 index 0000000000..8483eb6ddc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log_core_on.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "side": "twilightforest:block/transformation_log_core_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json index 283f06aef7..424d673add 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/transformation_log_top", - "side": "twilightforest:block/transformation_log_side" + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json index 231931380f..8b7c86542b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_bottom.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_bottom", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json index 41994debe4..f27a3c3ed9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_open.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_open", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json index 453578e98f..9dedda573e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_trapdoor_top.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_orientable_trapdoor_top", - "render_type": "minecraft:solid", + "render_type": "minecraft:cutout", "textures": { "texture": "twilightforest:block/transformation_trapdoor" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json index 8b926a2bc5..a4c57d7029 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/transformation_log_side", - "side": "twilightforest:block/transformation_log_side" + "end": "twilightforest:block/transformation_log", + "side": "twilightforest:block/transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json index 2047fcc41c..52d958a4a1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_hanging_sign.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "twilightforest:block/stripped_twilight_oak_log_side" + "particle": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json index a62d20f85a..bc10bb5229 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "twilightforest:block/twilight_oak_log_top", - "side": "twilightforest:block/twilight_oak_log_side" + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json index baa4b584cf..8bae78f7f1 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_log_horizontal.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column_horizontal", "textures": { "end": "twilightforest:block/twilight_oak_log_top", - "side": "twilightforest:block/twilight_oak_log_side" + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json index 618b51c6f5..d03e345bd6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/twilight_oak_log_side", - "side": "twilightforest:block/twilight_oak_log_side" + "end": "twilightforest:block/twilight_oak_log", + "side": "twilightforest:block/twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected.json new file mode 100644 index 0000000000..3fb69ad91c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected_extended.json new file mode 100644 index 0000000000..6a6674e53b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_inventory.json new file mode 100644 index 0000000000..f827f2dae1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short.json new file mode 100644 index 0000000000..3024071d86 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short_extended.json new file mode 100644 index 0000000000..a345270624 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall.json new file mode 100644 index 0000000000..83db5abc90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall_extended.json new file mode 100644 index 0000000000..5f69763106 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vangrove_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/mangrove_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected.json new file mode 100644 index 0000000000..1eb2d9cef3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected_extended.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected_extended.json new file mode 100644 index 0000000000..875a809f10 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_connected_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_connected_extended", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_inventory.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_inventory.json new file mode 100644 index 0000000000..365c65d375 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:item/banister_inventory", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_short.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_short.json new file mode 100644 index 0000000000..3894fb54ed --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_short.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_short_extended.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_short_extended.json new file mode 100644 index 0000000000..6811ac3e65 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_short_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_short_extended", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall.json new file mode 100644 index 0000000000..3927f3d227 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall_extended.json b/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall_extended.json new file mode 100644 index 0000000000..69edb177c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/warped_banister_tall_extended.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/banister_tall_extended", + "textures": { + "texture": "minecraft:block/warped_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json b/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json new file mode 100644 index 0000000000..784d11613d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/canopy_window_pane.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/canopy_window" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json new file mode 100644 index 0000000000..987d48341d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/hollow_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/hollow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json b/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json new file mode 100644 index 0000000000..59118d8c32 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/rainbow_oak_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/rainbow_oak_sapling" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/stonecutting/pale_oak_log/hollow_pale_oak_log.json b/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/stonecutting/pale_oak_log/hollow_pale_oak_log.json new file mode 100644 index 0000000000..40eec61785 --- /dev/null +++ b/src/generated/resources/data/twilightforest/advancement/recipes/building_blocks/stonecutting/pale_oak_log/hollow_pale_oak_log.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_block": { + "conditions": { + "items": [ + { + "items": "minecraft:pale_oak_log" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "twilightforest:stonecutting/pale_oak_log/hollow_pale_oak_log" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_block" + ] + ], + "rewards": { + "recipes": [ + "twilightforest:stonecutting/pale_oak_log/hollow_pale_oak_log" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/advancement/recipes/decorations/wood/pale_oak_banister.json b/src/generated/resources/data/twilightforest/advancement/recipes/decorations/wood/pale_oak_banister.json new file mode 100644 index 0000000000..2f831f72d9 --- /dev/null +++ b/src/generated/resources/data/twilightforest/advancement/recipes/decorations/wood/pale_oak_banister.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:pale_oak_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "twilightforest:wood/pale_oak_banister" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "twilightforest:wood/pale_oak_banister" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_climbable.json b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_climbable.json new file mode 100644 index 0000000000..a5cfc66ddc --- /dev/null +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_climbable.json @@ -0,0 +1,269 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "twilightforest:hollow_pale_oak_log" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "minecraft:stick" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss_and_grass" + } + } + ], + "name": "minecraft:short_grass" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss_and_grass" + } + } + ], + "name": "twilightforest:moss_patch" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss" + } + } + ], + "name": "twilightforest:moss_patch" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "snow" + } + } + ], + "name": "minecraft:snowball" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "vine" + } + } + ], + "name": "minecraft:vine" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "ladder" + } + } + ], + "name": "minecraft:ladder" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "twilightforest:hollow_pale_oak_log_climbable", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "ladder_waterlogged" + } + } + ], + "name": "minecraft:ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "twilightforest:blocks/hollow_pale_oak_log_climbable" +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_horizontal.json b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_horizontal.json new file mode 100644 index 0000000000..6b7a274eba --- /dev/null +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_horizontal.json @@ -0,0 +1,269 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "twilightforest:hollow_pale_oak_log" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "minecraft:stick" + } + ] + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss_and_grass" + } + } + ], + "name": "minecraft:short_grass" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss_and_grass" + } + } + ], + "name": "twilightforest:moss_patch" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "moss" + } + } + ], + "name": "twilightforest:moss_patch" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "snow" + } + } + ], + "name": "minecraft:snowball" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + }, + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "vine" + } + } + ], + "name": "minecraft:vine" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "ladder" + } + } + ], + "name": "minecraft:ladder" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "twilightforest:hollow_pale_oak_log_horizontal", + "condition": "minecraft:block_state_property", + "properties": { + "variant": "ladder_waterlogged" + } + } + ], + "name": "minecraft:ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "twilightforest:blocks/hollow_pale_oak_log_horizontal" +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_vertical.json b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_vertical.json new file mode 100644 index 0000000000..51aa93db79 --- /dev/null +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/hollow_pale_oak_log_vertical.json @@ -0,0 +1,61 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "twilightforest:hollow_pale_oak_log" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "minecraft:stick" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "twilightforest:blocks/hollow_pale_oak_log_vertical" +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/pale_oak_banister.json b/src/generated/resources/data/twilightforest/loot_table/blocks/pale_oak_banister.json new file mode 100644 index 0000000000..21683ac925 --- /dev/null +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/pale_oak_banister.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "twilightforest:pale_oak_banister" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "twilightforest:blocks/pale_oak_banister" +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/stonecutting/pale_oak_log/hollow_pale_oak_log.json b/src/generated/resources/data/twilightforest/recipe/stonecutting/pale_oak_log/hollow_pale_oak_log.json new file mode 100644 index 0000000000..db652452d0 --- /dev/null +++ b/src/generated/resources/data/twilightforest/recipe/stonecutting/pale_oak_log/hollow_pale_oak_log.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": "minecraft:pale_oak_log", + "result": { + "count": 1, + "id": "twilightforest:hollow_pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/recipe/wood/pale_oak_banister.json b/src/generated/resources/data/twilightforest/recipe/wood/pale_oak_banister.json new file mode 100644 index 0000000000..3c568a198f --- /dev/null +++ b/src/generated/resources/data/twilightforest/recipe/wood/pale_oak_banister.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "wooden_banister", + "key": { + "-": "minecraft:pale_oak_slab", + "|": "#c:rods/wooden" + }, + "pattern": [ + "---", + "| |" + ], + "result": { + "count": 3, + "id": "twilightforest:pale_oak_banister" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/twilightforest/tags/block/banisters.json b/src/generated/resources/data/twilightforest/tags/block/banisters.json index 4f3bd80f9e..a45c195ba5 100644 --- a/src/generated/resources/data/twilightforest/tags/block/banisters.json +++ b/src/generated/resources/data/twilightforest/tags/block/banisters.json @@ -11,6 +11,7 @@ "twilightforest:vangrove_banister", "twilightforest:bamboo_banister", "twilightforest:cherry_banister", + "twilightforest:pale_oak_banister", "twilightforest:twilight_oak_banister", "twilightforest:canopy_banister", "twilightforest:mangrove_banister", diff --git a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_climbable.json b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_climbable.json index 5ea9a04aa3..b12bd7d43f 100644 --- a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_climbable.json +++ b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_climbable.json @@ -10,6 +10,7 @@ "twilightforest:hollow_warped_stem_climbable", "twilightforest:hollow_vangrove_log_climbable", "twilightforest:hollow_cherry_log_climbable", + "twilightforest:hollow_pale_oak_log_climbable", "twilightforest:hollow_twilight_oak_log_climbable", "twilightforest:hollow_canopy_log_climbable", "twilightforest:hollow_mangrove_log_climbable", diff --git a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_horizontal.json b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_horizontal.json index 40bfdf5ee0..8387a3ad56 100644 --- a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_horizontal.json +++ b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_horizontal.json @@ -10,6 +10,7 @@ "twilightforest:hollow_warped_stem_horizontal", "twilightforest:hollow_vangrove_log_horizontal", "twilightforest:hollow_cherry_log_horizontal", + "twilightforest:hollow_pale_oak_log_horizontal", "twilightforest:hollow_twilight_oak_log_horizontal", "twilightforest:hollow_canopy_log_horizontal", "twilightforest:hollow_mangrove_log_horizontal", diff --git a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_vertical.json b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_vertical.json index b7ec234ef1..ae579991a8 100644 --- a/src/generated/resources/data/twilightforest/tags/block/hollow_logs_vertical.json +++ b/src/generated/resources/data/twilightforest/tags/block/hollow_logs_vertical.json @@ -10,6 +10,7 @@ "twilightforest:hollow_warped_stem_vertical", "twilightforest:hollow_vangrove_log_vertical", "twilightforest:hollow_cherry_log_vertical", + "twilightforest:hollow_pale_oak_log_vertical", "twilightforest:hollow_twilight_oak_log_vertical", "twilightforest:hollow_canopy_log_vertical", "twilightforest:hollow_mangrove_log_vertical", diff --git a/src/generated/resources/data/twilightforest/tags/item/banisters.json b/src/generated/resources/data/twilightforest/tags/item/banisters.json index 4f3bd80f9e..a45c195ba5 100644 --- a/src/generated/resources/data/twilightforest/tags/item/banisters.json +++ b/src/generated/resources/data/twilightforest/tags/item/banisters.json @@ -11,6 +11,7 @@ "twilightforest:vangrove_banister", "twilightforest:bamboo_banister", "twilightforest:cherry_banister", + "twilightforest:pale_oak_banister", "twilightforest:twilight_oak_banister", "twilightforest:canopy_banister", "twilightforest:mangrove_banister", From 99d3f58b665a60cbc04c07207197414748a9f2d7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 12:18:15 -0600 Subject: [PATCH 096/239] mazestone and underbrick --- .../assets/models/BlockModelGenerator.java | 20 +++++++++++++++++- .../assets/models/TFModelTemplates.java | 18 +++++++++------- .../helpers/models/WoodBlockBuilders.java | 10 +++++++++ .../models/block/tinted_cube_bottom_top.json | 20 ++++++++++++++++++ .../textures/block/fire_jet_side.png | Bin 0 -> 727 bytes .../{firejet_top.png => fire_jet_top.png} | Bin .../textures/block/firejet_side.png | Bin 426 -> 0 bytes .../textures/block/smoker_side.png | Bin 0 -> 727 bytes .../textures/block/smoker_top.png | Bin 0 -> 590 bytes 9 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/tinted_cube_bottom_top.json create mode 100644 src/main/resources/assets/twilightforest/textures/block/fire_jet_side.png rename src/main/resources/assets/twilightforest/textures/block/{firejet_top.png => fire_jet_top.png} (100%) delete mode 100644 src/main/resources/assets/twilightforest/textures/block/firejet_side.png create mode 100644 src/main/resources/assets/twilightforest/textures/block/smoker_side.png create mode 100644 src/main/resources/assets/twilightforest/textures/block/smoker_top.png diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 38e9da9a36..832ac6773a 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -1,5 +1,6 @@ package twilightforest.datagen.assets.models; +import net.minecraft.client.color.item.GrassColorSource; import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; @@ -10,8 +11,10 @@ import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.renderer.special.*; @@ -64,6 +67,21 @@ public void run() { this.terrorcotta(); + this.wrapBlockItem(TFBlocks.MAZESTONE.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.MAZESTONE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CRACKED_MAZESTONE.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.MOSSY_MAZESTONE.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.DECORATIVE_MAZESTONE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(block), TextureMapping.getBlockTexture(TFBlocks.MAZESTONE.get())), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.CUT_MAZESTONE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(block), TextureMapping.getBlockTexture(TFBlocks.MAZESTONE.get())), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.MAZESTONE_MOSAIC.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(TFBlocks.MAZESTONE_BRICK.get()), TextureMapping.getBlockTexture(block)), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.MAZESTONE_BORDER.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(TFBlocks.MAZESTONE_BRICK.get()), TextureMapping.getBlockTexture(block)), this.modelOutput)))); + this.wrapTintedBlockItem(TFBlocks.SMOKER.get(), new GrassColorSource(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.TINTED_CUBE_BOTTOM_TOP.create(block, TextureMapping.cubeTop(block).put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(Blocks.BLACK_CONCRETE_POWDER)), this.modelOutput)))); + this.wrapTintedBlockItem(TFBlocks.FIRE_JET.get(), new GrassColorSource(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.TINTED_CUBE_BOTTOM_TOP.create(block, TextureMapping.cubeTop(block).put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(Blocks.BLACK_CONCRETE_POWDER)), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.UNDERBRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CRACKED_UNDERBRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.MOSSY_UNDERBRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.UNDERBRICK_FLOOR.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); @@ -296,7 +314,7 @@ private void generateWoodBlocks() { this.generateFenceGate(TFBlocks.SORTING_GATE.get(), sorting); this.generatePressurePlate(TFBlocks.SORTING_PLATE.get(), sorting); this.generateTrapdoor(TFBlocks.SORTING_TRAPDOOR.get(), true, "cutout"); - this.generateDoor(TFBlocks.SORTING_DOOR.get(), false, "cutout"); + this.generateDoor(TFBlocks.SORTING_DOOR.get(), true, "cutout"); this.generateSign(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), sorting); this.generateHangingSign(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_SORTING_LOG.get()); this.generateBanister(TFBlocks.SORTING_BANISTER.get(), sorting); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 5fba2a4fcb..8adb4d7ad1 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -44,14 +44,14 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate BANISTER_TALL_EXTENDED = create("twilightforest:banister_tall_extended", "_tall_extended", TextureSlot.TEXTURE); public static final ModelTemplate BANISTER_INVENTORY = createItem("twilightforest:banister_inventory", "_inventory", TextureSlot.TEXTURE); - public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT = create("twilightforest:corrected_door_bottom_left", "_bottom_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT_OPEN = create("twilightforest:corrected_door_bottom_left_open", "_bottom_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT = create("twilightforest:corrected_door_bottom_right", "_bottom_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT_OPEN = create("twilightforest:corrected_door_bottom_right_open", "_bottom_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT = create("twilightforest:corrected_door_top_left", "_top_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT_OPEN = create("twilightforest:corrected_door_top_left_open", "_top_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT = create("twilightforest:corrected_door_top_right", "_top_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); - public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT_OPEN = create("twilightforest:corrected_door_top_right_open", "_top_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT = create("twilightforest:util/corrected_door_bottom_left", "_bottom_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_LEFT_OPEN = create("twilightforest:util/corrected_door_bottom_left_open", "_bottom_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT = create("twilightforest:util/corrected_door_bottom_right", "_bottom_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_BOTTOM_RIGHT_OPEN = create("twilightforest:util/corrected_door_bottom_right_open", "_bottom_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT = create("twilightforest:util/corrected_door_top_left", "_top_left", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_LEFT_OPEN = create("twilightforest:util/corrected_door_top_left_open", "_top_left_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT = create("twilightforest:util/corrected_door_top_right", "_top_right", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); + public static final ModelTemplate CORRECTED_DOOR_TOP_RIGHT_OPEN = create("twilightforest:util/corrected_door_top_right_open", "_top_right_open", TextureSlot.TOP, TextureSlot.BOTTOM, TextureSlot.SIDE); public static final ModelTemplate HORIZONTAL_HOLLOW_LOG = create("twilightforest:horizontal_hollow_log", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE); public static final ModelTemplate HORIZONTAL_HOLLOW_LOG_CARPET = create("twilightforest:horizontal_hollow_log_carpet", TextureSlot.SIDE, TextureSlot.END, TextureSlot.INSIDE, TFTextureSlot.CARPET, TFTextureSlot.OVERHANG); @@ -66,6 +66,8 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate THORNS_NO_SECTION = create("twilightforest:thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); public static final ModelTemplate THORNS_NO_SECTION_ALT = create("twilightforest:thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + public static final ModelTemplate TINTED_CUBE_BOTTOM_TOP = create("twilightforest:tinted_cube_bottom_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); + public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); public static final ModelTemplate MOON_DIAL = createItem("twilightforest:moon_dial_template", TextureSlot.LAYER0); public static final ModelTemplate SPECIAL_HANDHELD = createItem("twilightforest:special_handheld", TextureSlot.LAYER0); diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java index 2e4c82c9c9..f46bef4472 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -1,6 +1,7 @@ package twilightforest.datagen.helpers.models; import com.mojang.datafixers.util.Pair; +import net.minecraft.client.color.item.ItemTintSource; import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; @@ -292,10 +293,19 @@ public void wrapBlockItem(Block block, Consumer blockRegistry) { this.generateBlockItem(block); } + public void wrapTintedBlockItem(Block block, ItemTintSource tint, Consumer blockRegistry) { + blockRegistry.accept(block); + this.generateTintedBlockItem(block, tint); + } + public void generateBlockItem(Block block) { this.registerSimpleItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/")); } + public void generateTintedBlockItem(Block block, ItemTintSource tint) { + this.registerSimpleTintedItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/"), tint); + } + public void generateSpecialModel(B block, Block particleBlock, Function itemModel) { this.createParticleOnlyBlock(block, particleBlock); this.itemModelOutput.accept(block.asItem(), itemModel.apply(block)); diff --git a/src/main/resources/assets/twilightforest/models/block/tinted_cube_bottom_top.json b/src/main/resources/assets/twilightforest/models/block/tinted_cube_bottom_top.json new file mode 100644 index 0000000000..90d67055db --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/tinted_cube_bottom_top.json @@ -0,0 +1,20 @@ +{ + "parent": "block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#bottom", "cullface": "down", "tintindex": 0 }, + "up": { "texture": "#top", "cullface": "up", "tintindex": 0 }, + "north": { "texture": "#side", "cullface": "north", "tintindex": 0 }, + "south": { "texture": "#side", "cullface": "south", "tintindex": 0 }, + "west": { "texture": "#side", "cullface": "west", "tintindex": 0 }, + "east": { "texture": "#side", "cullface": "east", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/fire_jet_side.png b/src/main/resources/assets/twilightforest/textures/block/fire_jet_side.png new file mode 100644 index 0000000000000000000000000000000000000000..563ac6c17f5a08d992c76bd4d843e4d728e18fce GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lgx0X`wFU0q#GO-(H=Ew#0^IXO861qEegWlNSUnLT@Ua&mHFVq#%oVOv{U zU|?WeTwF&-M|^yIUS6KRzkf+dNpNs*QBhHDZf-z8fW5taNJvOjR8(wiY;|?Di;GKG zSXfX{kcWqdzP^4|R+gWipOKM~udlDArKOjbm#eF*ySuxao13n#uAQBolarIVxw*5m zvyYEYczC#`rlyjTlAfNPs;a88va+M2qmGV_si~>7w6wOiw!FN&y1KfSmX?~DnzgmH zhK9!Jvd=m|A8{6VL>4nJ@ErzW#^d=bQhx$P5-|0#Br12Bdrursg#RTvl<8!#?_mG;!mCXRQ=vQ|DKG4mVGFLFZ0@Es}(P*X!UH|)pMyq&AjItfAXB-35K_qD7P$_ zuJ`^cdzVDl#H&-qA9t>Mefj1c1(`SY$G_U-C*IyrazXLMk7>I%={Ouw;J7CJzn^Ux zPf~})?Oz-dg^usO`>$Y%tV)sOW3790oO%|iG)|eLAF@7D0 z%c{aK5C-79M;C&{`wawl{ub5~$bfh{xj)qtOWMc3a8k^E|d%EuL4aRYW2Y4p5!KgmOg4!Y2xoQmMqU z*(~U~&1TcFPS|(v^?HueNOE^FnM_ct)sRl7`PtFHFbu^sO+G#?{6#F6OALoYZb0KF zS*OL_ZWsN2pT7^yiKtX6_=Un0YBU;3DwR_2#e6;oDHIB@EDPK1RvC}SeCN~YgxzlE zLOHS7Yop&rvg!nc{=#%Rb-CZ~9F)%IvmzFY1&8Ia zZnxW4$K#RNHx>47ashe0UXEuk&*$^6!D_YQkM?*x{$<~gukg9xa=CnUyNS%Lgx0X`wFU0q#GO-(H=Ew#0^IXO861qEegWlNSUnLT@Ua&mHFVq#%oVOv{U zU|?WeTwF&-M|^yIUS6KRzkf+dNpNs*QBhHDZf-z8fW5taNJvOjR8(wiY;|?Di;GKG zSXfX{kcWqdzP^4|R+gWipOKM~udlDArKOjbm#eF*ySuxao13n#uAQBolarIVxw*5m zvyYEYczC#`rlyjTlAfNPs;a88va+M2qmGV_si~>7w6wOiw!FN&y1KfSmX?~DnzgmH zhK9!Jvd=m|A8{6VL>4nJ@ErzW#^d=bQhx$P5-|0#Br12Bdrursg#RTvl<8!#?_mG;!mCXRQ=vQ|DKG4mVGFLFZ0@Es}(P*X!UH|)pMyq&AjItfAXB-35K_qD7P$_ zuJ`^cdzVDl#H&-qA9t>Mefj1c1(`SY$G_U-C*IyrazXLMk7>I%={Ouw;J7CJzn^Ux zPf~})?Oz-dg^usO`>$Y%tV)sOW3790oO%|iG)|eLAF@7D44rQiL_ri?xDXUXR9uK)!`^%Ey(=oVmFU8)AC||-V?-C>&YdJDIVTy>@As+K z>rtc8U@MhMluD&2ola9Glc8`pOrz0=ef4^s?~BDE4TnRTPNyW6%O!CE)#&+rlF#SkYMoApgA$1Zb-P^# z$>nm~1^lg6i~YCTjRb!3`8;=kGXk&ID>EGqy+R`D@L{=D zs}%!a@dQQ(F5feTx)2Pzfn;+$e$SIb ztiWz#rvV~oJfF|GVl*1%1hkFz0gQrpT!`b>2thDPIb%3s&;fUqN`(U>kqF=81)}v} cFv!&Y0NQ7V)Jj#BbN~PV07*qoM6N<$f;9~Vw*UYD literal 0 HcmV?d00001 From bc4168a3a269b92893f6ddd83b65d1a8ab962be7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 12:18:31 -0600 Subject: [PATCH 097/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 60 ++++++++++++++++--- .../blockstates/cracked_mazestone.json | 7 +++ .../blockstates/cracked_underbrick.json | 7 +++ .../blockstates/cut_mazestone.json | 7 +++ .../blockstates/decorative_mazestone.json | 7 +++ .../twilightforest/blockstates/fire_jet.json | 7 +++ .../twilightforest/blockstates/mazestone.json | 7 +++ .../blockstates/mazestone_border.json | 7 +++ .../blockstates/mazestone_brick.json | 7 +++ .../blockstates/mazestone_mosaic.json | 7 +++ .../blockstates/mossy_mazestone.json | 7 +++ .../blockstates/mossy_underbrick.json | 7 +++ .../twilightforest/blockstates/smoker.json | 7 +++ .../blockstates/underbrick.json | 7 +++ .../blockstates/underbrick_floor.json | 7 +++ .../items/cracked_mazestone.json | 6 ++ .../items/cracked_underbrick.json | 6 ++ .../twilightforest/items/cut_mazestone.json | 6 ++ .../items/decorative_mazestone.json | 6 ++ .../assets/twilightforest/items/fire_jet.json | 13 ++++ .../twilightforest/items/mazestone.json | 6 ++ .../items/mazestone_border.json | 6 ++ .../twilightforest/items/mazestone_brick.json | 6 ++ .../items/mazestone_mosaic.json | 6 ++ .../twilightforest/items/mossy_mazestone.json | 6 ++ .../items/mossy_underbrick.json | 6 ++ .../assets/twilightforest/items/smoker.json | 13 ++++ .../twilightforest/items/underbrick.json | 6 ++ .../items/underbrick_floor.json | 6 ++ .../models/block/cracked_mazestone.json | 6 ++ .../models/block/cracked_underbrick.json | 6 ++ .../models/block/cut_mazestone.json | 7 +++ .../models/block/decorative_mazestone.json | 7 +++ .../twilightforest/models/block/fire_jet.json | 8 +++ .../models/block/mazestone.json | 6 ++ .../models/block/mazestone_border.json | 7 +++ .../models/block/mazestone_brick.json | 6 ++ .../models/block/mazestone_mosaic.json | 7 +++ .../models/block/mossy_mazestone.json | 6 ++ .../models/block/mossy_underbrick.json | 6 ++ .../twilightforest/models/block/smoker.json | 8 +++ .../block/sorting_door_bottom_left.json | 3 +- .../block/sorting_door_bottom_left_open.json | 3 +- .../block/sorting_door_bottom_right.json | 3 +- .../block/sorting_door_bottom_right_open.json | 3 +- .../models/block/sorting_door_top_left.json | 3 +- .../block/sorting_door_top_left_open.json | 3 +- .../models/block/sorting_door_top_right.json | 3 +- .../block/sorting_door_top_right_open.json | 3 +- .../models/block/underbrick.json | 6 ++ .../models/block/underbrick_floor.json | 6 ++ 51 files changed, 355 insertions(+), 17 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/smoker.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/items/cut_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/decorative_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/items/mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/mazestone_border.json create mode 100644 src/generated/resources/assets/twilightforest/items/mazestone_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/mazestone_mosaic.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/items/smoker.json create mode 100644 src/generated/resources/assets/twilightforest/items/underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/items/underbrick_floor.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_border.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/smoker.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/underbrick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index ea0a5f8067..285cf4f799 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-07T10:52:07.6031686 Model Definitions - twilightforest +// 1.21.4 2025-04-07T12:12:48.6811906 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -47,12 +47,15 @@ b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherr 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json +c7b654982c79efaa261d471cb7b2c8e65c84fa19 assets/twilightforest/blockstates/cracked_mazestone.json 8ad74b6899b8c0e5918617e47587480edcafeb55 assets/twilightforest/blockstates/cracked_nagastone_pillar.json 9fb90f7d04afc435739d193e468e69f084d87cbb assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json e7199853ca29145ffb01743e9be73457bb867825 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json +b66481a27d37b515e3f11b9769d77ab1be6adfb9 assets/twilightforest/blockstates/cracked_underbrick.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json 4e08ae42993afbc9e59d2147969367e1105802a9 assets/twilightforest/blockstates/crimson_banister.json +fadcab0f3a09e77d5520204bb9e4d712223a2483 assets/twilightforest/blockstates/cut_mazestone.json c7f4457071e1303e387e16add1157d6b3d517ce0 assets/twilightforest/blockstates/darkwood_sapling.json 2fa81be96aaab91341372d4dc48205e461a3356a assets/twilightforest/blockstates/dark_banister.json eae4d0588444529df8e4886249f5174cb1dde471 assets/twilightforest/blockstates/dark_button.json @@ -75,9 +78,11 @@ a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_ 314629e5a14e560428bb7ddcc7165beffd328a38 assets/twilightforest/blockstates/dark_wall_sign.json 4becbb730cf4d0a510f8bb4ee06c2f024ea0f8a8 assets/twilightforest/blockstates/dark_wood.json 7e307743ee6bdbc57a5f355b7a05ce3c0317cc23 assets/twilightforest/blockstates/deadrock.json +48f4f43849807c8cd88dc198d2710f307ec4fe67 assets/twilightforest/blockstates/decorative_mazestone.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json +9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json 8d2271a1b410d90c7b2300492d16a42ece71c5d1 assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json @@ -170,6 +175,10 @@ ba193ec3517d4a2bb1ec3467d1dc2f1e0d41daaa assets/twilightforest/blockstates/mangr b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_wall_sign.json 79ba1c62c7d356e55518f4ccbe7eeb47f1dcf54e assets/twilightforest/blockstates/mangrove_wood.json +a8062c3154e39f87d0548dc5b03f5ac0dd38b268 assets/twilightforest/blockstates/mazestone.json +437f589b25154f38ea5d5181d49e838c1f1524ba assets/twilightforest/blockstates/mazestone_border.json +d2528a33d68497718881b0961720e2eb66e8dc0c assets/twilightforest/blockstates/mazestone_brick.json +5b36ba1064db9f2984e50e6bbe7e9fa5dd235abf assets/twilightforest/blockstates/mazestone_mosaic.json c703ec10c6af5fd1cc7fc4fc88df69a2ab080b75 assets/twilightforest/blockstates/mining_banister.json 6125566a63012e0221a317cebc0091ca958683f7 assets/twilightforest/blockstates/mining_button.json 79dc4cb9c0a97d1cc0a6f98e4466ff820cff4bff assets/twilightforest/blockstates/mining_chest.json @@ -196,9 +205,11 @@ b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minos 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy_etched_nagastone.json +427a9bcfd3bf2391ce8fc4c5f7388531c00d344f assets/twilightforest/blockstates/mossy_mazestone.json 6172f9532121bdd2e1151694e1516094c2fdaa35 assets/twilightforest/blockstates/mossy_nagastone_pillar.json 7e17fa3a718f3698671c168f2eac9733cdf51b06 assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json 884a4d18955eb22c4d5afebff019d6bc5aa00b9c assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json +388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json 7d84f2b8f8ce462a4cdd4a0a690b4b59ba235ca0 assets/twilightforest/blockstates/nagastone_head.json 8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json @@ -232,6 +243,7 @@ bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root. 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json 72dedb525c34b636653a1067601d2d98446c3334 assets/twilightforest/blockstates/skull_chest.json +1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json 29cdc362c362875bf1a3f48491808cae5b623c9e assets/twilightforest/blockstates/snow_queen_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json @@ -343,6 +355,8 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json 3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json +22e37e7ec0ce60e57918a6f473661f3b376df4b7 assets/twilightforest/blockstates/underbrick.json +6fbca5391f954de595a2019f6431007e24891685 assets/twilightforest/blockstates/underbrick_floor.json 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json @@ -425,13 +439,16 @@ bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json 545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json 0e43c8b6517dbd4ba86a41d26308ed2499cf88e7 assets/twilightforest/items/cracked_etched_nagastone.json +e7b3781abe861c3e161b402325793ba8436b62ec assets/twilightforest/items/cracked_mazestone.json d0d964719f31180f7986a96318b2927cbd9ae8c2 assets/twilightforest/items/cracked_nagastone_pillar.json e9aa2d0b0148a1618071bab3b7c864e7359b0ac3 assets/twilightforest/items/cracked_nagastone_stairs_left.json 06086a7ba7c3334e9fcb25c85ed35c16a4a76e50 assets/twilightforest/items/cracked_nagastone_stairs_right.json +91eadd76f632139d54482146d26f7daaf225ce40 assets/twilightforest/items/cracked_underbrick.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_banister.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json +39b440e56ef50da3547af86fb7697bb9f994b2b0 assets/twilightforest/items/cut_mazestone.json 3153d4072e1aa9ee6a6acf41ec81970eb24fb3c5 assets/twilightforest/items/darkwood_sapling.json b2407bc143ee34cc4e1e47c999111d90a9b9dc26 assets/twilightforest/items/dark_banister.json be1df433c582f223dbb853c9bcc94786de548b1e assets/twilightforest/items/dark_boat.json @@ -455,6 +472,7 @@ a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs c97dd0289bfab7806d8e767766f53d16c1074d39 assets/twilightforest/items/dark_wood.json 9505e586ffa48dbbed26c6c324ed828b8b07ff88 assets/twilightforest/items/deadrock.json ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_spawn_egg.json +a74f43d67bc7052bea754d9efe7d3a94ccb6810d assets/twilightforest/items/decorative_mazestone.json 94ebad61d7db66f5b5d78ceaef1090d6bbc19630 assets/twilightforest/items/deer_spawn_egg.json 07e5104e0a72e67b2c212c71eef2794d20c252a1 assets/twilightforest/items/diamond_minotaur_axe.json 570191864a35a929cb86cea7eecfe7b17a791f53 assets/twilightforest/items/dwarf_rabbit_spawn_egg.json @@ -473,6 +491,7 @@ d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json +7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json 93c0c71fe6e8eda7667713484b4a8f8dc6a7143e assets/twilightforest/items/giant_miner_spawn_egg.json e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_pickaxe.json @@ -574,6 +593,10 @@ a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_tr c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json 5181f75f10260ebf5007d576ad97b0889ac543f4 assets/twilightforest/items/mangrove_wood.json 63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json +f46bd2155b870e02a91ac25057cf841595d5e1a8 assets/twilightforest/items/mazestone.json +566bf85dad5a9d29ea5d401493312a98a7908a05 assets/twilightforest/items/mazestone_border.json +05068263447f275d85084dffccea9fee578ea46c assets/twilightforest/items/mazestone_brick.json +3c24dedf0d690ae22125de34a8ccc058657e57ab assets/twilightforest/items/mazestone_mosaic.json 99acc7324de28707234411b59e0eea3f89af9495 assets/twilightforest/items/maze_map.json 55b6fb716280fa0bd4452a4f7e2780a238c6ffc7 assets/twilightforest/items/maze_map_focus.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/maze_slime_spawn_egg.json @@ -611,9 +634,11 @@ fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_s ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json 41b7867a7dd3613ec1d503ca641f976dc33afb63 assets/twilightforest/items/mossy_etched_nagastone.json +8953199ec4be6198427fa35de0821c35bb7300df assets/twilightforest/items/mossy_mazestone.json fe56517b8d02951cf83b53622249798d06eeeebd assets/twilightforest/items/mossy_nagastone_pillar.json b0f2cd23bcb5477ea5e593d71f2db3487355c658 assets/twilightforest/items/mossy_nagastone_stairs_left.json 63fd50940aafa1cb2c41600d548891427e8b0d11 assets/twilightforest/items/mossy_nagastone_stairs_right.json +d4d26eca73b3b8cef453bfcaf50d7549472c0f86 assets/twilightforest/items/mossy_underbrick.json dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json 81eecea93538d3fc3f423c7772d63a0785db8bc3 assets/twilightforest/items/music_disc_maker.json @@ -668,6 +693,7 @@ e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow. 28d3f09448ef594c02ddbf4fb32fec53cd8197b0 assets/twilightforest/items/skeleton_skull_candle.json ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json 6628bed4171446ef359c5f9549fc36c1398a7682 assets/twilightforest/items/slime_beetle_spawn_egg.json +5d3dc272e8a0c7bfec4cbc9cfaf058f4ed1db5d9 assets/twilightforest/items/smoker.json e8f74696a70e4c1c3173b933237b46298bf85183 assets/twilightforest/items/snow_guardian_spawn_egg.json c38044967da9ee3cab599d117bddf8867d2fb671 assets/twilightforest/items/snow_queen_banner_pattern.json 238107c9dd762703912b51c1523c7b5da2b90375 assets/twilightforest/items/snow_queen_boss_spawner.json @@ -802,6 +828,8 @@ cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oa 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json 34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json +e5dd74f6b1fe7391843baf7016d057028803b8a1 assets/twilightforest/items/underbrick.json +e4c9170559852acbf076acf10d00d33dbe7a1723 assets/twilightforest/items/underbrick_floor.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_banner_pattern.json d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json @@ -947,6 +975,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json 1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json 64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json +8a1eb64b6b23c70f6f05fc94c2069bae6cebed88 assets/twilightforest/models/block/cracked_mazestone.json ebdd9bdca720c9a8f7d4946f76776b364e6e8f4e assets/twilightforest/models/block/cracked_nagastone_pillar.json e34dd40e37c328b7378ca6e7e6114e9fc4ba25b2 assets/twilightforest/models/block/cracked_nagastone_pillar_alt.json 783156d4fb79cd650269c0b2d4eb6491bff53e97 assets/twilightforest/models/block/cracked_nagastone_stairs_left.json @@ -955,6 +984,7 @@ c06d8dc440d1339ef152921693c6d8655759ce4b assets/twilightforest/models/block/crac 4ea797c12baf56ba00ea946b9a9d3ddcc1bc1079 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json d0265cb851a40e415029a85d8fb087da4b43ef62 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json 6307d92705ed2d9548ef2a42a429aae107fa91cd assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json +4d1988b8b507870b1c18dd435510898acdc849e6 assets/twilightforest/models/block/cracked_underbrick.json 50869fd994edc71bf866be65080f1057d3bb1526 assets/twilightforest/models/block/crimson_banister_connected.json 79b9cdff2d7d176a8de575bee9e6f5cc1b7ba3f3 assets/twilightforest/models/block/crimson_banister_connected_extended.json 23e0998436fa071075684bd4da82572be9804d28 assets/twilightforest/models/block/crimson_banister_inventory.json @@ -962,6 +992,7 @@ a6231204fb7cedf1ed204c8fd0e5bff3ebe6d850 assets/twilightforest/models/block/crim 395cce33c02c94c89dec973b008b4e4a4f76d28b assets/twilightforest/models/block/crimson_banister_short_extended.json 2c03f87c0d219d4969f27dfb3770d3245a7517b2 assets/twilightforest/models/block/crimson_banister_tall.json 6531feceb39ab2904500388561dd9a47438d5a56 assets/twilightforest/models/block/crimson_banister_tall_extended.json +55aa238d7809a9a3221806646896b091abb8c1cf assets/twilightforest/models/block/cut_mazestone.json a05f6d7ec10b224f0eb33dfb1d191bcfa2287d3d assets/twilightforest/models/block/darkwood_sapling.json 245e51f3889c8a6b4f9f73a7aee2a1d3eb84e160 assets/twilightforest/models/block/dark_banister_connected.json 8fa89c518cac61edd625aaf888fe8a25133265b7 assets/twilightforest/models/block/dark_banister_connected_extended.json @@ -1015,9 +1046,11 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 57a47a072aaf17f2c996f12d3d93e858818a8329 assets/twilightforest/models/block/dark_trapped_chest.json 2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json +e52c91b4b0e68fc9474fb415e72a373a15d549f5 assets/twilightforest/models/block/decorative_mazestone.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json +2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json @@ -1216,6 +1249,10 @@ afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mang 46b74a3732853a40155721f3078eec918f6d20ad assets/twilightforest/models/block/mangrove_trapdoor_top.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_trapped_chest.json 9b9963a7f2560a12d25c3a70561c8ecb0477abbf assets/twilightforest/models/block/mangrove_wood.json +4995f7ce3c51e4ca5849be6a342dc4f7bae1d0e8 assets/twilightforest/models/block/mazestone.json +ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/mazestone_border.json +05513204303ea191a74a47714665d1d52e9b35a3 assets/twilightforest/models/block/mazestone_brick.json +326a7eb2700ebc7478f70ed50a2807bf317d79fc assets/twilightforest/models/block/mazestone_mosaic.json 03dcc8355f6ab475b9af794916cc32d10411c553 assets/twilightforest/models/block/mining_banister_connected.json 31efc9b586fc7730d211a17f8e44b464637d563d assets/twilightforest/models/block/mining_banister_connected_extended.json 11479e6d08ae560969b25c5fa4fb1ff98f7738b1 assets/twilightforest/models/block/mining_banister_inventory.json @@ -1266,6 +1303,7 @@ d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mini b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json 651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json +24238b0aebba6df281f6cb8fff97c32075f2c371 assets/twilightforest/models/block/mossy_mazestone.json fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/mossy_nagastone_pillar.json 7616fbf68606060c362e6b7f4bc94e57460b1528 assets/twilightforest/models/block/mossy_nagastone_pillar_alt.json 9a9cc249072251efebbce39a21830d27df120e91 assets/twilightforest/models/block/mossy_nagastone_stairs_left.json @@ -1274,6 +1312,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 5be6f99a101c53bd0ac721021f507df961dc68cf assets/twilightforest/models/block/mossy_nagastone_stairs_right.json 0afcb830b1c831f1983975415ea0f3c96fefe653 assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json +33d5ae1c13ae92090a05b6d3cf4085f10622408c assets/twilightforest/models/block/mossy_underbrick.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json 79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json @@ -1318,6 +1357,7 @@ c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/pott 1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json +32ee96be3e82cc2cf9850d6b2939d61e17201e1e assets/twilightforest/models/block/smoker.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json 99867ecf85ce0166d1c1be13ab6c9aaf3cd8adf6 assets/twilightforest/models/block/sorting_banister_connected.json e6d36c23c0bd9c6f17c874f28f25e614cd022264 assets/twilightforest/models/block/sorting_banister_connected_extended.json @@ -1330,14 +1370,14 @@ bd68752cf669126769895122ffee27c7139f247f assets/twilightforest/models/block/sort 192267a6b6efbb1db272a1e0ac6ea24e47955df2 assets/twilightforest/models/block/sorting_button_inventory.json c9e3c8fce2dc2d4e888595236ead9549da66733a assets/twilightforest/models/block/sorting_button_pressed.json 77913694491bba582c7828f1d165f3392ab69aa2 assets/twilightforest/models/block/sorting_chest.json -e366285bfb058bd5e2c2a186bb52d191d04b15e3 assets/twilightforest/models/block/sorting_door_bottom_left.json -c49d373b77070695d6d4dcb847f8ba34d4c0d37b assets/twilightforest/models/block/sorting_door_bottom_left_open.json -c069c0dceffa61d925fd6277f6e8faf35e42ed75 assets/twilightforest/models/block/sorting_door_bottom_right.json -97c964471de5b843f2799af37cba17aca586b7b3 assets/twilightforest/models/block/sorting_door_bottom_right_open.json -9db26288771be404e6065bd5d834c4f4ed385bb9 assets/twilightforest/models/block/sorting_door_top_left.json -95f79ce34da6a5d4d5eb03e1307a7d8ad19e426a assets/twilightforest/models/block/sorting_door_top_left_open.json -5101a9f0ea91edb50327f06e50b8959f912d0ff1 assets/twilightforest/models/block/sorting_door_top_right.json -a18bb99f1ac96111d722dbd71094ff889a19d71c assets/twilightforest/models/block/sorting_door_top_right_open.json +7251dc57e11c49e53686c4b209fc1e3a32cc5e60 assets/twilightforest/models/block/sorting_door_bottom_left.json +bd33ef70c47846e47f63b931a83cb6aa279f164e assets/twilightforest/models/block/sorting_door_bottom_left_open.json +f04fd2d69b6ed73c5c1cc29d10ff6ae0458fb7df assets/twilightforest/models/block/sorting_door_bottom_right.json +4baa0be1f94fb687644b700f6cd00a36b8585b90 assets/twilightforest/models/block/sorting_door_bottom_right_open.json +f32ca2dbcc3920cc897d721a3d364d6db951a774 assets/twilightforest/models/block/sorting_door_top_left.json +f6d994ac49808c3a64d03d33ed55f2ec1dc45dcc assets/twilightforest/models/block/sorting_door_top_left_open.json +1ce2496c35fa9bad12e9ad249ce481119ad30eba assets/twilightforest/models/block/sorting_door_top_right.json +5ac00bb1ff3eb6a626a377e16ae8b3714cfe0038 assets/twilightforest/models/block/sorting_door_top_right_open.json 51d179e6822895effde86feba409e8ef3f7e4ab4 assets/twilightforest/models/block/sorting_fence_gate.json 18d4318a10e9d9f8f891624d617dae046b1136e5 assets/twilightforest/models/block/sorting_fence_gate_open.json 11336e8d2bd2dee828922ed81c3a2a903747ed5c assets/twilightforest/models/block/sorting_fence_gate_wall.json @@ -1557,6 +1597,8 @@ bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twil 6b0020137b3d62b2650042d215d47b2b00213ab8 assets/twilightforest/models/block/twilight_oak_wood.json 899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json 6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json +eed2392ad51a5d0a35fdd23fada77f8030c11b11 assets/twilightforest/models/block/underbrick.json +f9f6c8993506ac436f9365835657f29069519eab assets/twilightforest/models/block/underbrick_floor.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json 1042bc9b8fb39afd8a403013e41c06be890dcae1 assets/twilightforest/models/block/vangrove_banister_connected.json 2ea05a3758c91142694df5e840ecd0f34ea2ffd2 assets/twilightforest/models/block/vangrove_banister_connected_extended.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json new file mode 100644 index 0000000000..d4a6f137c0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_mazestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cracked_mazestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json new file mode 100644 index 0000000000..1a8dbe5ead --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_underbrick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cracked_underbrick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json new file mode 100644 index 0000000000..b713a8137f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cut_mazestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cut_mazestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json new file mode 100644 index 0000000000..2f0d91fe67 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/decorative_mazestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/decorative_mazestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json b/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json new file mode 100644 index 0000000000..acac3cfc2a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fire_jet.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/fire_jet" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone.json new file mode 100644 index 0000000000..bcf5ba63ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mazestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mazestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json new file mode 100644 index 0000000000..a2d8fe0aae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mazestone_border.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mazestone_border" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json new file mode 100644 index 0000000000..03ce3e1e03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mazestone_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mazestone_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json new file mode 100644 index 0000000000..ccabe8096a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mazestone_mosaic.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mazestone_mosaic" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json new file mode 100644 index 0000000000..61311cd0a0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_mazestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mossy_mazestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json new file mode 100644 index 0000000000..2ffc0af535 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_underbrick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mossy_underbrick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/smoker.json b/src/generated/resources/assets/twilightforest/blockstates/smoker.json new file mode 100644 index 0000000000..e6d73d4076 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/smoker.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/smoker" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/underbrick.json b/src/generated/resources/assets/twilightforest/blockstates/underbrick.json new file mode 100644 index 0000000000..33ede8a37a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/underbrick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/underbrick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json b/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json new file mode 100644 index 0000000000..2efbd9dab0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/underbrick_floor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/underbrick_floor" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/items/cracked_mazestone.json new file mode 100644 index 0000000000..0b832af119 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_mazestone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/items/cracked_underbrick.json new file mode 100644 index 0000000000..65b46dbfa4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_underbrick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cut_mazestone.json b/src/generated/resources/assets/twilightforest/items/cut_mazestone.json new file mode 100644 index 0000000000..825bfcf1f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cut_mazestone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cut_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/items/decorative_mazestone.json new file mode 100644 index 0000000000..81487dea11 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/decorative_mazestone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/decorative_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fire_jet.json b/src/generated/resources/assets/twilightforest/items/fire_jet.json new file mode 100644 index 0000000000..0889a87453 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fire_jet.json @@ -0,0 +1,13 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/fire_jet", + "tints": [ + { + "type": "minecraft:grass", + "downfall": 1.0, + "temperature": 0.5 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mazestone.json b/src/generated/resources/assets/twilightforest/items/mazestone.json new file mode 100644 index 0000000000..362f8194e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mazestone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mazestone_border.json b/src/generated/resources/assets/twilightforest/items/mazestone_border.json new file mode 100644 index 0000000000..f20fe957e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mazestone_border.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mazestone_border" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mazestone_brick.json b/src/generated/resources/assets/twilightforest/items/mazestone_brick.json new file mode 100644 index 0000000000..ea2af93820 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mazestone_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mazestone_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/items/mazestone_mosaic.json new file mode 100644 index 0000000000..b0345795b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mazestone_mosaic.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mazestone_mosaic" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/items/mossy_mazestone.json new file mode 100644 index 0000000000..6fa8d3efe0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_mazestone.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/items/mossy_underbrick.json new file mode 100644 index 0000000000..e53780a95c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_underbrick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/smoker.json b/src/generated/resources/assets/twilightforest/items/smoker.json new file mode 100644 index 0000000000..bdd066ffda --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/smoker.json @@ -0,0 +1,13 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/smoker", + "tints": [ + { + "type": "minecraft:grass", + "downfall": 1.0, + "temperature": 0.5 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/underbrick.json b/src/generated/resources/assets/twilightforest/items/underbrick.json new file mode 100644 index 0000000000..99b801b4dc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/underbrick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/underbrick_floor.json b/src/generated/resources/assets/twilightforest/items/underbrick_floor.json new file mode 100644 index 0000000000..9a0786aa79 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/underbrick_floor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/underbrick_floor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json new file mode 100644 index 0000000000..8e0ef0828e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_mazestone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/cracked_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json b/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json new file mode 100644 index 0000000000..d0b26f024e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_underbrick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/cracked_underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json new file mode 100644 index 0000000000..ee1eef0c5f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cut_mazestone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mazestone", + "side": "twilightforest:block/cut_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json new file mode 100644 index 0000000000..ba98fb2f91 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/decorative_mazestone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mazestone", + "side": "twilightforest:block/decorative_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fire_jet.json b/src/generated/resources/assets/twilightforest/models/block/fire_jet.json new file mode 100644 index 0000000000..d607a420b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fire_jet.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/tinted_cube_bottom_top", + "textures": { + "bottom": "minecraft:block/black_concrete_powder", + "side": "twilightforest:block/fire_jet_side", + "top": "twilightforest:block/fire_jet_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone.json b/src/generated/resources/assets/twilightforest/models/block/mazestone.json new file mode 100644 index 0000000000..e4310b811d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mazestone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json new file mode 100644 index 0000000000..9a3ff477f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mazestone_border.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mazestone_border", + "side": "twilightforest:block/mazestone_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json new file mode 100644 index 0000000000..a9ac7c9527 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mazestone_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mazestone_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json b/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json new file mode 100644 index 0000000000..16ecf5b3da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mazestone_mosaic.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/mazestone_mosaic", + "side": "twilightforest:block/mazestone_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json b/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json new file mode 100644 index 0000000000..c495b2eebb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_mazestone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mossy_mazestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json b/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json new file mode 100644 index 0000000000..8593fdbe60 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_underbrick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mossy_underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/smoker.json b/src/generated/resources/assets/twilightforest/models/block/smoker.json new file mode 100644 index 0000000000..3df0406c10 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/smoker.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/tinted_cube_bottom_top", + "textures": { + "bottom": "minecraft:block/black_concrete_powder", + "side": "twilightforest:block/smoker_side", + "top": "twilightforest:block/smoker_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json index 60c4616273..9f5307849d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_bottom_left", + "parent": "twilightforest:block/util/corrected_door_bottom_left", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json index ab3ca56baf..477d927128 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_left_open.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_bottom_left_open", + "parent": "twilightforest:block/util/corrected_door_bottom_left_open", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json index 8b6156c2a0..d59bf2d630 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_bottom_right", + "parent": "twilightforest:block/util/corrected_door_bottom_right", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json index b9adb4613e..568f39fb8b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_bottom_right_open.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_bottom_right_open", + "parent": "twilightforest:block/util/corrected_door_bottom_right_open", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json index 35e3c32981..e54be2a418 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_top_left", + "parent": "twilightforest:block/util/corrected_door_top_left", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json index df04778630..10699c3588 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_left_open.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_top_left_open", + "parent": "twilightforest:block/util/corrected_door_top_left_open", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json index d70c7e2951..992afc47c6 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_top_right", + "parent": "twilightforest:block/util/corrected_door_top_right", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json index 3f01e348b7..00e808b1b2 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_door_top_right_open.json @@ -1,8 +1,9 @@ { - "parent": "minecraft:block/door_top_right_open", + "parent": "twilightforest:block/util/corrected_door_top_right_open", "render_type": "minecraft:cutout", "textures": { "bottom": "twilightforest:block/sorting_door_bottom", + "side": "twilightforest:block/sorting_door_side", "top": "twilightforest:block/sorting_door_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/underbrick.json b/src/generated/resources/assets/twilightforest/models/block/underbrick.json new file mode 100644 index 0000000000..122c935ea3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/underbrick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/underbrick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json b/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json new file mode 100644 index 0000000000..495b0409b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/underbrick_floor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/underbrick_floor" + } +} \ No newline at end of file From 0b4903f0b5635e200715da27c54646284f84fb4c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 13:01:17 -0600 Subject: [PATCH 098/239] castle block work --- .../assets/models/BlockModelGenerator.java | 36 +++++++++++++++--- .../assets/models/TFModelTemplates.java | 1 + .../datagen/assets/models/TFTextureSlot.java | 2 + .../helpers/models/BlockModelBuilders.java | 13 ++++++- .../helpers/models/WoodBlockBuilders.java | 2 +- .../models/block/castle_rune_template.json | 33 ++++++++++++++++ ...de.png => encased_castle_brick_pillar.png} | Bin ...ng => encased_castle_brick_pillar_top.png} | Bin 8 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/castle_rune_template.json rename src/main/resources/assets/twilightforest/textures/block/{encased_castle_brick_pillar_side.png => encased_castle_brick_pillar.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{encased_castle_brick_pillar_end.png => encased_castle_brick_pillar_top.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 832ac6773a..0020f6799f 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -87,11 +87,37 @@ public void run() { this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); //TODO aurora blocks this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); - this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); - this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); + + this.wrapBlockItem(TFBlocks.CASTLE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.WORN_CASTLE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CRACKED_CASTLE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.MOSSY_CASTLE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.THICK_CASTLE_BRICK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CASTLE_ROOF_TILE.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.wrapBlockItem(TFBlocks.ENCASED_CASTLE_BRICK_TILE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_ALL.create(block, TextureMapping.cube(TextureMapping.getBlockTexture(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), "_top")), this.modelOutput)))); this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); - this.generateStairs(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); this.wrapBlockItem(TFBlocks.BOLD_CASTLE_BRICK_TILE.get(), this::createTrivialCube); + this.generateStairs(TFBlocks.CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); + this.generateStairs(TFBlocks.WORN_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); + this.generateStairs(TFBlocks.CRACKED_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); + this.generateStairs(TFBlocks.MOSSY_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); + this.bisectedStairsBlock(TFBlocks.ENCASED_CASTLE_BRICK_STAIRS.get(), TextureMapping.getBlockTexture(TFBlocks.ENCASED_CASTLE_BRICK_PILLAR.get(), "_h"), TextureMapping.getBlockTexture(TFBlocks.CASTLE_BRICK.get()), TextureMapping.getBlockTexture(TFBlocks.CASTLE_ROOF_TILE.get())); + this.generateStairs(TFBlocks.BOLD_CASTLE_BRICK_STAIRS.get(), TextureMapping.cube(TFBlocks.BOLD_CASTLE_BRICK_TILE.get())); + this.generateRuneBlock(TFBlocks.PINK_CASTLE_RUNE_BRICK.get(), 16711935); + this.generateRuneBlock(TFBlocks.YELLOW_CASTLE_RUNE_BRICK.get(), 16776960); + this.generateRuneBlock(TFBlocks.BLUE_CASTLE_RUNE_BRICK.get(), 65535); + this.generateRuneBlock(TFBlocks.VIOLET_CASTLE_RUNE_BRICK.get(), 4915330); + + this.castleDoor(TFBlocks.PINK_CASTLE_DOOR.get()); + this.castleDoor(TFBlocks.YELLOW_CASTLE_DOOR.get()); + this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); + this.castleDoor(TFBlocks.VIOLET_CASTLE_DOOR.get()); + this.forcefield(TFBlocks.PINK_FORCE_FIELD.get()); + this.forcefield(TFBlocks.ORANGE_FORCE_FIELD.get()); + this.forcefield(TFBlocks.GREEN_FORCE_FIELD.get()); + this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); + this.forcefield(TFBlocks.VIOLET_FORCE_FIELD.get()); var builtMapping = TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()); ResourceLocation builtOff = TFModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), builtMapping, this.modelOutput); @@ -184,9 +210,9 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_CANOPY_LOG.get()); this.generateBanister(TFBlocks.CANOPY_BANISTER.get(), canopy); this.wrapBlockItem(TFBlocks.CANOPY_BOOKSHELF.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_COLUMN.create(block, TextureMapping.column(TextureMapping.getBlockTexture(block), TextureMapping.getBlockTexture(TFBlocks.CANOPY_PLANKS.get())), this.modelOutput)))); - this.createChiseledBookshelf(TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()); + this.generateChiseledBookshelf(TFBlocks.CHISELED_CANOPY_BOOKSHELF.get()); this.wrapBlockItem(TFBlocks.CANOPY_WINDOW.get(), block -> this.simpleBlockWithRenderType(block, "translucent")); - this.createPaneBlock(TFBlocks.CANOPY_WINDOW.get(), TFBlocks.CANOPY_WINDOW_PANE.get()); + this.generatePaneBlock(TFBlocks.CANOPY_WINDOW.get(), TFBlocks.CANOPY_WINDOW_PANE.get()); this.wrapBlockItem(TFBlocks.MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); this.wrapBlockItem(TFBlocks.MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 8adb4d7ad1..01e6696bf7 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -66,6 +66,7 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate THORNS_NO_SECTION = create("twilightforest:thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); public static final ModelTemplate THORNS_NO_SECTION_ALT = create("twilightforest:thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + public static final ModelTemplate CASTLE_RUNE_TEMPLATE = create("twilightforest:castle_rune_template", TextureSlot.ALL, TFTextureSlot.RUNE); public static final ModelTemplate TINTED_CUBE_BOTTOM_TOP = create("twilightforest:tinted_cube_bottom_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index 5aa0f2b8a0..9fb42631a1 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -17,6 +17,8 @@ public class TFTextureSlot { public static final TextureSlot OVERHANG = TextureSlot.create("overhang"); public static final TextureSlot CLIMBABLE = TextureSlot.create("climbable"); + public static final TextureSlot RUNE = TextureSlot.create("rune"); + public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); public static final TextureSlot CTM_OVERLAY_CONNECTED = TextureSlot.create("overlay_connected"); diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 536e8cf96d..0504e09e76 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -1,5 +1,6 @@ package twilightforest.datagen.helpers.models; +import com.google.errorprone.annotations.Var; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; @@ -21,6 +22,7 @@ import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; import twilightforest.block.*; +import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -675,7 +677,7 @@ public void forcefield(Block block) { this.registerSimpleFlatItemModel(block); } - public void createPaneBlock(Block glassBlock, Block paneBlock) { + public void generatePaneBlock(Block glassBlock, Block paneBlock) { TextureMapping mapping = new TextureMapping().put(TextureSlot.PANE, TextureMapping.getBlockTexture(glassBlock)).put(TextureSlot.EDGE, TextureMapping.getBlockTexture(glassBlock)); ResourceLocation post = ModelTemplates.STAINED_GLASS_PANE_POST.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); ResourceLocation side = ModelTemplates.STAINED_GLASS_PANE_SIDE.extend().renderType("translucent").build().create(paneBlock, mapping, this.modelOutput); @@ -710,4 +712,13 @@ public void createPaneBlock(Block glassBlock, Block paneBlock) { ) ); } + + public void generateRuneBlock(Block runeBlock, int tint) { + Variant[] variants = new Variant[8]; + for (int i = 0; i < 8; i++) { + variants[i] = Variant.variant().with(VariantProperties.MODEL, TFModelTemplates.CASTLE_RUNE_TEMPLATE.createWithSuffix(runeBlock, "_" + i, TextureMapping.cube(TFBlocks.CASTLE_BRICK.get()).put(TFTextureSlot.RUNE, TwilightForestMod.prefix("block/castleblock_magic_" + i)), this.modelOutput)); + } + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(runeBlock, variants)); + this.itemModelOutput.accept(runeBlock.asItem(), ItemModelUtils.tintedModel(ModelLocationUtils.getModelLocation(runeBlock).withSuffix("_0"), ItemModelUtils.constantTint(tint))); + } } diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java index f46bef4472..4a33c6d755 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -230,7 +230,7 @@ public void generateTreeCore(Block log, Block core) { this.generateBlockItem(core); } - public void createChiseledBookshelf(Block shelf) { + public void generateChiseledBookshelf(Block shelf) { ResourceLocation resourcelocation = ModelLocationUtils.getModelLocation(shelf); MultiPartGenerator multipartgenerator = MultiPartGenerator.multiPart(shelf); List.of( diff --git a/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json b/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json new file mode 100644 index 0000000000..3fcda14c68 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "down": {"cullface": "down", "texture": "#all"}, + "east": {"cullface": "east", "texture": "#all"}, + "north": {"cullface": "north", "texture": "#all"}, + "south": {"cullface": "south", "texture": "#all"}, + "up": {"cullface": "up", "texture": "#all"}, + "west": {"cullface": "west", "texture": "#all"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "down": {"cullface": "down", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, + "east": {"cullface": "east", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, + "north": {"cullface": "north", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, + "south": {"cullface": "south", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, + "up": {"cullface": "up", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, + "west": {"cullface": "west", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_side.png b/src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_side.png rename to src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar.png diff --git a/src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_end.png b/src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_end.png rename to src/main/resources/assets/twilightforest/textures/block/encased_castle_brick_pillar_top.png From b20201f42b25c5c80f52abf8586580de45b8a34c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 7 Apr 2025 13:01:34 -0600 Subject: [PATCH 099/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 120 +- .../blockstates/blue_castle_rune_brick.json | 30 + .../blockstates/castle_brick.json | 7 + .../blockstates/castle_brick_stairs.json | 209 ++ .../blockstates/castle_roof_tile.json | 7 + .../blockstates/cracked_castle_brick.json | 7 + .../cracked_castle_brick_stairs.json | 209 ++ .../encased_castle_brick_pillar.json | 16 + .../encased_castle_brick_stairs.json | 209 ++ .../encased_castle_brick_tile.json | 7 + .../blockstates/green_force_field.json | 7 + .../blockstates/mossy_castle_brick.json | 7 + .../mossy_castle_brick_stairs.json | 209 ++ .../blockstates/orange_force_field.json | 7 + .../blockstates/pink_castle_door.json | 10 + .../blockstates/pink_castle_rune_brick.json | 30 + .../blockstates/pink_force_field.json | 7 + .../blockstates/thick_castle_brick.json | 7 + .../blockstates/violet_castle_door.json | 10 + .../blockstates/violet_castle_rune_brick.json | 30 + .../blockstates/violet_force_field.json | 7 + .../blockstates/worn_castle_brick.json | 7 + .../blockstates/worn_castle_brick_stairs.json | 209 ++ .../blockstates/yellow_castle_door.json | 10 + .../blockstates/yellow_castle_rune_brick.json | 30 + .../items/blue_castle_rune_brick.json | 12 + .../twilightforest/items/castle_brick.json | 6 + .../items/castle_brick_stairs.json | 6 + .../items/castle_roof_tile.json | 6 + .../items/cracked_castle_brick.json | 6 + .../items/cracked_castle_brick_stairs.json | 6 + .../items/encased_castle_brick_pillar.json | 6 + .../items/encased_castle_brick_stairs.json | 6 + .../items/encased_castle_brick_tile.json | 6 + .../items/green_force_field.json | 6 + .../items/mossy_castle_brick.json | 6 + .../items/mossy_castle_brick_stairs.json | 6 + .../items/orange_force_field.json | 6 + .../items/pink_castle_door.json | 6 + .../items/pink_castle_rune_brick.json | 12 + .../items/pink_force_field.json | 6 + .../items/thick_castle_brick.json | 6 + .../items/violet_castle_door.json | 6 + .../items/violet_castle_rune_brick.json | 12 + .../items/violet_force_field.json | 6 + .../items/worn_castle_brick.json | 6 + .../items/worn_castle_brick_stairs.json | 6 + .../items/yellow_castle_door.json | 6 + .../items/yellow_castle_rune_brick.json | 12 + .../block/blue_castle_rune_brick_0.json | 7 + .../block/blue_castle_rune_brick_1.json | 7 + .../block/blue_castle_rune_brick_2.json | 7 + .../block/blue_castle_rune_brick_3.json | 7 + .../block/blue_castle_rune_brick_4.json | 7 + .../block/blue_castle_rune_brick_5.json | 7 + .../block/blue_castle_rune_brick_6.json | 7 + .../block/blue_castle_rune_brick_7.json | 7 + .../models/block/castle_brick.json | 6 + .../models/block/castle_brick_stairs.json | 8 + .../castle_brick_stairs_inner_inner.json | 8 + .../castle_brick_stairs_outer_outer.json | 8 + .../models/block/castle_roof_tile.json | 6 + .../models/block/cracked_castle_brick.json | 6 + .../block/cracked_castle_brick_stairs.json | 8 + ...acked_castle_brick_stairs_inner_inner.json | 8 + ...acked_castle_brick_stairs_outer_outer.json | 8 + .../block/encased_castle_brick_pillar.json | 7 + ...ncased_castle_brick_pillar_horizontal.json | 7 + .../block/encased_castle_brick_stairs.json | 9 + ...cased_castle_brick_stairs_inner_inner.json | 9 + ...cased_castle_brick_stairs_outer_outer.json | 9 + .../block/encased_castle_brick_tile.json | 6 + .../models/block/green_force_field.json | 1992 +++++++++++++++++ .../models/block/mossy_castle_brick.json | 6 + .../block/mossy_castle_brick_stairs.json | 8 + ...mossy_castle_brick_stairs_inner_inner.json | 8 + ...mossy_castle_brick_stairs_outer_outer.json | 8 + .../models/block/orange_force_field.json | 1992 +++++++++++++++++ .../models/block/pink_castle_door.json | 22 + .../block/pink_castle_door_vanished.json | 22 + .../block/pink_castle_rune_brick_0.json | 7 + .../block/pink_castle_rune_brick_1.json | 7 + .../block/pink_castle_rune_brick_2.json | 7 + .../block/pink_castle_rune_brick_3.json | 7 + .../block/pink_castle_rune_brick_4.json | 7 + .../block/pink_castle_rune_brick_5.json | 7 + .../block/pink_castle_rune_brick_6.json | 7 + .../block/pink_castle_rune_brick_7.json | 7 + .../models/block/pink_force_field.json | 1992 +++++++++++++++++ .../models/block/thick_castle_brick.json | 6 + .../models/block/violet_castle_door.json | 22 + .../block/violet_castle_door_vanished.json | 22 + .../block/violet_castle_rune_brick_0.json | 7 + .../block/violet_castle_rune_brick_1.json | 7 + .../block/violet_castle_rune_brick_2.json | 7 + .../block/violet_castle_rune_brick_3.json | 7 + .../block/violet_castle_rune_brick_4.json | 7 + .../block/violet_castle_rune_brick_5.json | 7 + .../block/violet_castle_rune_brick_6.json | 7 + .../block/violet_castle_rune_brick_7.json | 7 + .../models/block/violet_force_field.json | 1992 +++++++++++++++++ .../models/block/worn_castle_brick.json | 6 + .../block/worn_castle_brick_stairs.json | 8 + .../worn_castle_brick_stairs_inner_inner.json | 8 + .../worn_castle_brick_stairs_outer_outer.json | 8 + .../models/block/yellow_castle_door.json | 22 + .../block/yellow_castle_door_vanished.json | 22 + .../block/yellow_castle_rune_brick_0.json | 7 + .../block/yellow_castle_rune_brick_1.json | 7 + .../block/yellow_castle_rune_brick_2.json | 7 + .../block/yellow_castle_rune_brick_3.json | 7 + .../block/yellow_castle_rune_brick_4.json | 7 + .../block/yellow_castle_rune_brick_5.json | 7 + .../block/yellow_castle_rune_brick_6.json | 7 + .../block/yellow_castle_rune_brick_7.json | 7 + .../models/item/green_force_field.json | 6 + .../models/item/orange_force_field.json | 6 + .../models/item/pink_force_field.json | 6 + .../models/item/violet_force_field.json | 6 + 119 files changed, 10102 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/green_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/blue_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/castle_roof_tile.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_castle_brick_tile.json create mode 100644 src/generated/resources/assets/twilightforest/items/green_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/orange_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/items/pink_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/pink_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/pink_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/items/thick_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/violet_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/violet_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/violet_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/items/worn_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/items/worn_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/items/yellow_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/items/yellow_castle_rune_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/green_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/orange_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/pink_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/violet_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/green_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/orange_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/pink_force_field.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/violet_force_field.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 285cf4f799..5704a47139 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-07T12:12:48.6811906 Model Definitions - twilightforest +// 1.21.4 2025-04-07T12:59:48.8996944 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -10,6 +10,7 @@ f5923dd090d2ed2a9ddd3733c5949c22a2a7535f assets/twilightforest/blockstates/bambo 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json ce1effc5cd47e7bff66c74246f37fbdb32e3459d assets/twilightforest/blockstates/birch_banister.json 235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json +c44ed5cf93e3843dec573acc628ec64665b2e9ec assets/twilightforest/blockstates/blue_castle_rune_brick.json bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_force_field.json 8d271d7a5aa135f9f6f57083a1aaa726f18515ce assets/twilightforest/blockstates/bold_castle_brick_pillar.json d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_castle_brick_stairs.json @@ -42,9 +43,14 @@ c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canop 3febf0319a950602bcf6b883fd9d54b2c9782e4a assets/twilightforest/blockstates/canopy_window.json a18457224a5c13cd007e7189fbf01fa9a2962f3d assets/twilightforest/blockstates/canopy_window_pane.json eb60f7ee8af365cf7321539690c0e36e9f9e88fb assets/twilightforest/blockstates/canopy_wood.json +de808df0569c78201d6ec7eb44a4953441899df9 assets/twilightforest/blockstates/castle_brick.json +8fe8f09d6bc602bf4af5c30b7b60ba6c0084324c assets/twilightforest/blockstates/castle_brick_stairs.json +a1aafd0da411c08a2aadb7772175bbd57729d3d9 assets/twilightforest/blockstates/castle_roof_tile.json b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherry_banister.json 92f7638a60b873d8f26bfeba8f837d4ead6df70c assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json +1261f404df8aec15a7b62454520e8ea2d4dbc5a4 assets/twilightforest/blockstates/cracked_castle_brick.json +c257021f5d2ae8f4c0c0aec89175ef7e4a3db343 assets/twilightforest/blockstates/cracked_castle_brick_stairs.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json d1fb609616dc12f473efd2eaeb193ac510b9339b assets/twilightforest/blockstates/cracked_etched_nagastone.json c7b654982c79efaa261d471cb7b2c8e65c84fa19 assets/twilightforest/blockstates/cracked_mazestone.json @@ -79,10 +85,14 @@ a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_ 4becbb730cf4d0a510f8bb4ee06c2f024ea0f8a8 assets/twilightforest/blockstates/dark_wood.json 7e307743ee6bdbc57a5f355b7a05ce3c0317cc23 assets/twilightforest/blockstates/deadrock.json 48f4f43849807c8cd88dc198d2710f307ec4fe67 assets/twilightforest/blockstates/decorative_mazestone.json +067457a3e72706fed29c2901fb2f74c732269276 assets/twilightforest/blockstates/encased_castle_brick_pillar.json +eea06f3b13a9e6494096a2c4eabb50c25a279014 assets/twilightforest/blockstates/encased_castle_brick_stairs.json +dca7d6a52b2975ff8a5e4b71a18eef1798b1df39 assets/twilightforest/blockstates/encased_castle_brick_tile.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json +f208a33fe25aec4bf37f22f588e06defb80b4a34 assets/twilightforest/blockstates/green_force_field.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json 8d2271a1b410d90c7b2300492d16a42ece71c5d1 assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json @@ -204,6 +214,8 @@ b37c61bd331d32f90ceefe9f826b923c67531811 assets/twilightforest/blockstates/minos 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/minoshroom_wall_trophy.json c218fa2e96dbd844bbb981ff3143fb2e6315fc25 assets/twilightforest/blockstates/moonworm.json +1e7e1bbc92655d82be2ac43cbdf6eff906ab4115 assets/twilightforest/blockstates/mossy_castle_brick.json +f8d0b25150b46fea6925fb066cd009c0290f174f assets/twilightforest/blockstates/mossy_castle_brick_stairs.json ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy_etched_nagastone.json 427a9bcfd3bf2391ce8fc4c5f7388531c00d344f assets/twilightforest/blockstates/mossy_mazestone.json 6172f9532121bdd2e1151694e1516094c2fdaa35 assets/twilightforest/blockstates/mossy_nagastone_pillar.json @@ -219,9 +231,13 @@ beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagas 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 0fb6a112f2adaddd0ee00b84ffadf7f634c44357 assets/twilightforest/blockstates/oak_banister.json +f4b4e9fdae1c3ee5efdb198162249d82a92b433c assets/twilightforest/blockstates/orange_force_field.json f6619ff04ba1c60b028b98da141a03a40c3fc41e assets/twilightforest/blockstates/pale_oak_banister.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_wall_skull_candle.json +6ac54596b22b13ce0c6ae44b2d00622ae8482afd assets/twilightforest/blockstates/pink_castle_door.json +e9b4fd0c89be09ea971e1abbe68bedcec7f83820 assets/twilightforest/blockstates/pink_castle_rune_brick.json +9d2f48386da63e589e8fad24f421980533362f6c assets/twilightforest/blockstates/pink_force_field.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json 6d1355138bc99dc102517dd779b0a69cae69eb79 assets/twilightforest/blockstates/potted_canopy_sapling.json @@ -289,6 +305,7 @@ ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/strip 76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json 9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json +e18ab94c6b1acc806b534c05c71c45d5d227e7e0 assets/twilightforest/blockstates/thick_castle_brick.json 93f581b7501ff5d8dca8728d70349b58e7c5f982 assets/twilightforest/blockstates/thorn_leaves.json 245b4c458fd1bae81afd7eeffba5eb4c889f9a86 assets/twilightforest/blockstates/thorn_rose.json 2df741f8ea48bf2035b932508d20ccf58d3e7ad6 assets/twilightforest/blockstates/time_banister.json @@ -361,10 +378,17 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json 6d0f3371bf4a3e3b123e8fdbab4cd2032d05134e assets/twilightforest/blockstates/vangrove_banister.json +e651b6adfa084512966131823b5e9b3e3877d7d7 assets/twilightforest/blockstates/violet_castle_door.json +ca3eea9eabe6234d063faf9984c8201adc4f4782 assets/twilightforest/blockstates/violet_castle_rune_brick.json +ec6c3e13a257a3e652bbaae9d74f5fafe1e09fbb assets/twilightforest/blockstates/violet_force_field.json 343083384c6b6e1098e003812f7c3d314ed07f2d assets/twilightforest/blockstates/warped_banister.json 8b416cbb656b8b6822a8c993cd2f7e12d87bec23 assets/twilightforest/blockstates/weathered_deadrock.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json +2c533ced16289e079d4087d68d6b4d384368ee44 assets/twilightforest/blockstates/worn_castle_brick.json +a870add5edb6e1d34056db7623acd5487fcd031c assets/twilightforest/blockstates/worn_castle_brick_stairs.json +d7f2a46f3bf24bc80c3a8dbd630db172fdc242c9 assets/twilightforest/blockstates/yellow_castle_door.json +1b80c2a5e6507644c16cf43187ad87bf353b4060 assets/twilightforest/blockstates/yellow_castle_rune_brick.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_wall_skull_candle.json 6f672fa3bb551cf96096e14ec7d63e3a9344d869 assets/twilightforest/items/acacia_banister.json @@ -390,6 +414,7 @@ c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_she 7ebddc418373224ebd3f09bb32be57026aabedc9 assets/twilightforest/items/block_and_chain.json 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json +71bf03fa1a78983b81139b14bf985d07cca25453 assets/twilightforest/items/blue_castle_rune_brick.json 2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json 1b48411bef57beebb32f665f68a3e05395ba3c98 assets/twilightforest/items/boar_spawn_egg.json c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle_brick_pillar.json @@ -427,6 +452,9 @@ ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stai 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/carminite_ghastguard_spawn_egg.json b65f46e982e991ee9baa05d34d46cd7f4a6daf1a assets/twilightforest/items/carminite_ghastling_spawn_egg.json 7709b3bedf4e16f0e1a39f2847aad02068a0913b assets/twilightforest/items/carminite_golem_spawn_egg.json +e4a98d94eefb11721c63a6313bd658d7339b7d9a assets/twilightforest/items/castle_brick.json +69512ab51799d196d0e75600f21d3ee574d8941f assets/twilightforest/items/castle_brick_stairs.json +ad021def36e9b7365b17067ce8c30d113f2ff60a assets/twilightforest/items/castle_roof_tile.json 6ebeffd6ca3e83284ff033a4e1eb24176b66fafe assets/twilightforest/items/charm_of_keeping_1.json 85adfcc638bf8aabcf87f177fb43686186c59647 assets/twilightforest/items/charm_of_keeping_2.json f3090265d1ad74026a480ce7e7da412432c18072 assets/twilightforest/items/charm_of_keeping_3.json @@ -437,6 +465,8 @@ e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_bani 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json +4cd3f044751421f2fb6a86c883d9c8a95f3ee9c8 assets/twilightforest/items/cracked_castle_brick.json +ab5a0c95333b271bf2961004c311c381cd52900b assets/twilightforest/items/cracked_castle_brick_stairs.json 545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json 0e43c8b6517dbd4ba86a41d26308ed2499cf88e7 assets/twilightforest/items/cracked_etched_nagastone.json e7b3781abe861c3e161b402325793ba8436b62ec assets/twilightforest/items/cracked_mazestone.json @@ -477,6 +507,9 @@ a74f43d67bc7052bea754d9efe7d3a94ccb6810d assets/twilightforest/items/decorative_ 07e5104e0a72e67b2c212c71eef2794d20c252a1 assets/twilightforest/items/diamond_minotaur_axe.json 570191864a35a929cb86cea7eecfe7b17a791f53 assets/twilightforest/items/dwarf_rabbit_spawn_egg.json 0b59b49ed7a33fab84dd81ad54c18cb88466234e assets/twilightforest/items/emperors_cloth.json +b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_castle_brick_pillar.json +2bc0376ce4b113dd858475dfdb869fd5b9e1e6f9 assets/twilightforest/items/encased_castle_brick_stairs.json +47e4ac23a988225749ed458d88f2eed5dcf23eaa assets/twilightforest/items/encased_castle_brick_tile.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json @@ -498,6 +531,7 @@ e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_picka 34fd62a9f35b6f108a2523b2536b6a98defa3345 assets/twilightforest/items/giant_sword.json 5915d8d3994af28a554c95015893aba9851ef982 assets/twilightforest/items/glass_sword.json aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minotaur_axe.json +d2ad19a8ea0ce2efd661e7c0aa2a66b4cd8c1686 assets/twilightforest/items/green_force_field.json d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json @@ -633,6 +667,8 @@ fb76479298bcfc1b4247ebdbfcb5adbe61c13791 assets/twilightforest/items/mist_wolf_s 9325cfe5fbe9be707e60e5705a7d24b7bdd219ce assets/twilightforest/items/moonworm_queen.json ec7cc403d5c4d519a4e021a1a94a4d94e3d5aaea assets/twilightforest/items/moon_dial.json 84d9b74f3947a42bd4d5bcf43ab1ddf67208604e assets/twilightforest/items/mosquito_swarm_spawn_egg.json +a94eaad54a022f788072a38be3681262ad00d130 assets/twilightforest/items/mossy_castle_brick.json +3cab346e2f5c655fae29f59919d3da19e4b13f9b assets/twilightforest/items/mossy_castle_brick_stairs.json 41b7867a7dd3613ec1d503ca641f976dc33afb63 assets/twilightforest/items/mossy_etched_nagastone.json 8953199ec4be6198427fa35de0821c35bb7300df assets/twilightforest/items/mossy_mazestone.json fe56517b8d02951cf83b53622249798d06eeeebd assets/twilightforest/items/mossy_nagastone_pillar.json @@ -662,6 +698,7 @@ d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale. fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json 04b0358438825a2b5d239d1a8a1f4e4e298dfb18 assets/twilightforest/items/oak_banister.json +8e1fcd8b497c04a9a12c3f4ffb587169c4176613 assets/twilightforest/items/orange_force_field.json 825d5e28fe55175fd3b92366bb7c9f457276f760 assets/twilightforest/items/ore_magnet.json 02d53639ab94a68e5a24566cb3f0bb2f6cdf4fe5 assets/twilightforest/items/ore_map.json 5fd1c9fe44bb415056e270ccf58d5c888fa5e9a8 assets/twilightforest/items/ore_meter.json @@ -672,6 +709,9 @@ a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_fea 40ef3bd7b3ff77d48e393f1c6588b6d6ec8963ec assets/twilightforest/items/phantom_helmet.json b0b3135c120309d94aae084ca9c3bb51366ecfd3 assets/twilightforest/items/piglin_skull_candle.json c435748849792db1afe8503c17d266e52a20d7a4 assets/twilightforest/items/pinch_beetle_spawn_egg.json +88b5e816e657a2ea34c83e7259aa33dc7b4e25f1 assets/twilightforest/items/pink_castle_door.json +8cf9a3987196e81f7e7cc89c9bacc24aada2b669 assets/twilightforest/items/pink_castle_rune_brick.json +f7b7c1bd2b0d9872ac4c1654b3633d7a4736e28e assets/twilightforest/items/pink_force_field.json ba095c9b3a3ab5881246bb1ea93bd4ee0b61e18a assets/twilightforest/items/player_skull_candle.json b0149b1000e8ea6417cd26f4c90f42e9280fd05f assets/twilightforest/items/pocket_watch.json dcd51affeee0819cb80e3e30aaf02332d0856998 assets/twilightforest/items/quest_ram_banner_pattern.json @@ -754,6 +794,7 @@ fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spide 6c7e3822b449ce65e48a4a5ed6b4e8fe3d927a3e assets/twilightforest/items/terrorcotta_arcs.json 17590dd540f0a69091f30adddf4505fcba9a584d assets/twilightforest/items/terrorcotta_curves.json 6144765aad96aec1387eaa9a72b5f89a743a00fb assets/twilightforest/items/terrorcotta_lines.json +4808fa0e12b4626d0a6a72eb054145f9bcb78c7f assets/twilightforest/items/thick_castle_brick.json 8d06762dc6f7eed34f627057f26def50532b386c assets/twilightforest/items/thorn_leaves.json a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose.json cb04aa51bda071a21587594d8da41f848dbcdd2f assets/twilightforest/items/time_banister.json @@ -836,12 +877,19 @@ d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_bo 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json 1f423291ccff6e754a0ebeba64aed85c6d172b95 assets/twilightforest/items/vangrove_banister.json +b49a7a2a3cf45e41ba809c19d6b7b328ef59e3c3 assets/twilightforest/items/violet_castle_door.json +93656a9f715c0b6e58a7084358abe45a90e8ce7a assets/twilightforest/items/violet_castle_rune_brick.json +4b7faf9071d58cb084cbed65460cc0f3dc91a98a assets/twilightforest/items/violet_force_field.json c7918c062c6198f1dce42805319c3d7a955748d8 assets/twilightforest/items/warped_banister.json f924ce78f6a45301dc17c59ca1846b7790380a3f assets/twilightforest/items/weathered_deadrock.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json +7f2f70bd27f243851553f337b47f4df3e0578786 assets/twilightforest/items/worn_castle_brick.json +f2dc8ed11a30929e6a6f38d36a7dc9db0dc6a4e3 assets/twilightforest/items/worn_castle_brick_stairs.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json b0128f391cf1f606c994e27bc22f33c412435a6c assets/twilightforest/items/wrought_iron_bar.json +bfcc4c235c73dca430c9788ad712a49d861e22c6 assets/twilightforest/items/yellow_castle_door.json +c9218d084feeb38ac206ed9ba3d07fb1bee2e906 assets/twilightforest/items/yellow_castle_rune_brick.json bd33d6ac91ffa73751e13dcc873be5c944827516 assets/twilightforest/items/yeti_boots.json 4847da0e6925d4a6382016b99c2fd6e40bb47358 assets/twilightforest/items/yeti_chestplate.json 1b067dd65e955ab6f0421dc3fc29e7b340f483ce assets/twilightforest/items/yeti_helmet.json @@ -877,6 +925,14 @@ fcb6ce40a91ccb555156b1c8a0fcd9d01356de1a assets/twilightforest/models/block/birc 18766c8d26d7ba0ae13d6b17de869b8158b92d6e assets/twilightforest/models/block/birch_banister_tall_extended.json 755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/blue_castle_door.json f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue_castle_door_vanished.json +ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/blue_castle_rune_brick_0.json +a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/blue_castle_rune_brick_1.json +591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/blue_castle_rune_brick_2.json +7df5dd13a253c82ba935f663a01080af9994e0d2 assets/twilightforest/models/block/blue_castle_rune_brick_3.json +35d0c2027c80b74b04766817041a8baa737821ee assets/twilightforest/models/block/blue_castle_rune_brick_4.json +e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/blue_castle_rune_brick_5.json +f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/blue_castle_rune_brick_6.json +2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/blue_castle_rune_brick_7.json 894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json @@ -952,6 +1008,11 @@ b5a65ac72647d5bb9f96241194b80d46d04d8936 assets/twilightforest/models/block/cano 4048ab075a808300374bb5f3d374597866208efa assets/twilightforest/models/block/canopy_window_pane_side.json 45e60116cf6b4603468e057db7b866ffab09d049 assets/twilightforest/models/block/canopy_window_pane_side_alt.json 050c5571fd66ea4629fdf2ca2c6688affbbc0313 assets/twilightforest/models/block/canopy_wood.json +7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_brick.json +6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/castle_brick_stairs.json +f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json +36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/castle_brick_stairs_outer_outer.json +712a9cc2925a57667316a7b4460df53535b35cc8 assets/twilightforest/models/block/castle_roof_tile.json 91f69f2e84bea10ee443f1a4a14a66b66153b1d6 assets/twilightforest/models/block/cherry_banister_connected.json 578203432cc0e2534ec356fca90896dd2b1755c0 assets/twilightforest/models/block/cherry_banister_connected_extended.json 9d96f31565d3fe2cee0891841e486afcebedc0c0 assets/twilightforest/models/block/cherry_banister_inventory.json @@ -973,6 +1034,10 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 29e160336d210f8c080119513073bfe7ce926d77 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json 12b26d9a5bfd4a59a913e5358dfbdf27d30c6610 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json +5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json +6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json +f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json +36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/cracked_castle_brick_stairs_outer_outer.json 1f1b4197ebe20410660e49b658e8aaf0ac996525 assets/twilightforest/models/block/cracked_deadrock.json 64ca27ecda2249e796252b1d0e085ae26fc49102 assets/twilightforest/models/block/cracked_etched_nagastone.json 8a1eb64b6b23c70f6f05fc94c2069bae6cebed88 assets/twilightforest/models/block/cracked_mazestone.json @@ -1047,10 +1112,17 @@ a622fa4d0d4cc66620aa37455eb3bb228ebb61e2 assets/twilightforest/models/block/dark 2e46335716fc5511740bea43079c14749e5df855 assets/twilightforest/models/block/dark_wood.json 3ad22d7ff369c3e823348ef01817129af7c9c3b7 assets/twilightforest/models/block/deadrock.json e52c91b4b0e68fc9474fb415e72a373a15d549f5 assets/twilightforest/models/block/decorative_mazestone.json +1e57d700873fa5390f4151c305050dd01cdf675c assets/twilightforest/models/block/encased_castle_brick_pillar.json +e94377277c1f68dac7c1c137b7a66c5a7c79cdfe assets/twilightforest/models/block/encased_castle_brick_pillar_horizontal.json +b5d3c07bde1cdd6a9b9d05bdc99bef1d610f764a assets/twilightforest/models/block/encased_castle_brick_stairs.json +d00276b52e204d81c6d891b9141ff7d8afa6f85f assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json +3b7928330078e854efc66b249069d32a6664aee3 assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json +14f6ef947f047949a907132d42fb1ce5d2e95bc6 assets/twilightforest/models/block/encased_castle_brick_tile.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json +c27371c9276163a2ac58f16d9160d8bdd20cff9e assets/twilightforest/models/block/green_force_field.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json @@ -1302,6 +1374,10 @@ d79614629181c68bc722eebccc399262380b8b95 assets/twilightforest/models/block/mini 3ae30b25522cd2970231d55a05f85914153d1581 assets/twilightforest/models/block/mining_wood.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/minoshroom_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/moonworm.json +319e3e41df47e5ac259896e4d2dad84ff82b501a assets/twilightforest/models/block/mossy_castle_brick.json +6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/mossy_castle_brick_stairs.json +f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/mossy_castle_brick_stairs_inner_inner.json +36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/mossy_castle_brick_stairs_outer_outer.json 651496b64435332a90123d86a991b194fdf27a0f assets/twilightforest/models/block/mossy_etched_nagastone.json 24238b0aebba6df281f6cb8fff97c32075f2c371 assets/twilightforest/models/block/mossy_mazestone.json fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/mossy_nagastone_pillar.json @@ -1335,6 +1411,7 @@ b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_ 8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/oak_banister_short_extended.json 0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/oak_banister_tall.json 1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/oak_banister_tall_extended.json +5d7cf7785a5136d98ffc662480998778d1e5e240 assets/twilightforest/models/block/orange_force_field.json 3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json 3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json afdb121c9852c3c60e3a546abcdcf99944fe9d2b assets/twilightforest/models/block/pale_oak_banister_inventory.json @@ -1342,6 +1419,17 @@ d489a1f0147316a3799d54c8cb9891a25b48147f assets/twilightforest/models/block/pale 629ea794ff42369d6781b1599d3c64320355d14f assets/twilightforest/models/block/pale_oak_banister_short_extended.json c7cec0a14cbd4cb74438c3d04dda0e116b9e207b assets/twilightforest/models/block/pale_oak_banister_tall.json cf4dfb070014d616d5569fa0ebc30e71cbe2646a assets/twilightforest/models/block/pale_oak_banister_tall_extended.json +755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/pink_castle_door.json +f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/pink_castle_door_vanished.json +ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/pink_castle_rune_brick_0.json +a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/pink_castle_rune_brick_1.json +591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/pink_castle_rune_brick_2.json +7df5dd13a253c82ba935f663a01080af9994e0d2 assets/twilightforest/models/block/pink_castle_rune_brick_3.json +35d0c2027c80b74b04766817041a8baa737821ee assets/twilightforest/models/block/pink_castle_rune_brick_4.json +e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/pink_castle_rune_brick_5.json +f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/pink_castle_rune_brick_6.json +2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/pink_castle_rune_brick_7.json +bef254af3b46a9d4fd10b3bb340bf28eb09268e9 assets/twilightforest/models/block/pink_force_field.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json @@ -1454,6 +1542,7 @@ ae2450eccf9cd838f17b46d48263583034e0c299 assets/twilightforest/models/block/terr 69ae302b15f9dfd7e2ae26fa24df8da6a32e1c54 assets/twilightforest/models/block/terrorcotta_curves_90.json f9b64799628d039e721d191ea797b99722567205 assets/twilightforest/models/block/terrorcotta_lines_0.json aa89a42fdfd5233d012c94d6c45d51a66e6376a5 assets/twilightforest/models/block/terrorcotta_lines_90.json +595bcb64d52267ec38330737e610da0e178b6140 assets/twilightforest/models/block/thick_castle_brick.json adbaa0873ce2cc61c6db409eb4228e0e5a08706b assets/twilightforest/models/block/thorn_leaves.json 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json 14fac1797c30545a506f7da0659a55f38ebcbe38 assets/twilightforest/models/block/time_banister_connected.json @@ -1607,6 +1696,17 @@ de826e045489780de0fa64fa1f2ccdfa11bb0fff assets/twilightforest/models/block/vang 804ae97399e542ef33c14a86d9c1ea8b05b91f36 assets/twilightforest/models/block/vangrove_banister_short_extended.json 61a45c4e4cbf5a69ae153e2766eddb01884be619 assets/twilightforest/models/block/vangrove_banister_tall.json d73e3a5bbbbcbeb9b7016d1d906dd8ecf565478a assets/twilightforest/models/block/vangrove_banister_tall_extended.json +755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/violet_castle_door.json +f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/violet_castle_door_vanished.json +ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/violet_castle_rune_brick_0.json +a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/violet_castle_rune_brick_1.json +591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/violet_castle_rune_brick_2.json +7df5dd13a253c82ba935f663a01080af9994e0d2 assets/twilightforest/models/block/violet_castle_rune_brick_3.json +35d0c2027c80b74b04766817041a8baa737821ee assets/twilightforest/models/block/violet_castle_rune_brick_4.json +e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/violet_castle_rune_brick_5.json +f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/violet_castle_rune_brick_6.json +2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/violet_castle_rune_brick_7.json +268ada43e8582645b1d308cde453346de32cb024 assets/twilightforest/models/block/violet_force_field.json 43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/warped_banister_connected.json dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/warped_banister_connected_extended.json 37f2a74097b62b900187f50092d80ad25c68c279 assets/twilightforest/models/block/warped_banister_inventory.json @@ -1615,6 +1715,20 @@ be8c904aef614b07597f0c228914930a406b9794 assets/twilightforest/models/block/warp c91d1f60ccd419f1b7edbed9593f40bd61302d05 assets/twilightforest/models/block/warped_banister_tall.json b55eab2c422702962854f492d21f4313bd7dc969 assets/twilightforest/models/block/warped_banister_tall_extended.json 4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json +675418f74165a7d0031061e70936ae610e9797be assets/twilightforest/models/block/worn_castle_brick.json +6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/worn_castle_brick_stairs.json +f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json +36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json +755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/yellow_castle_door.json +f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/yellow_castle_door_vanished.json +ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/yellow_castle_rune_brick_0.json +a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/yellow_castle_rune_brick_1.json +591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/yellow_castle_rune_brick_2.json +7df5dd13a253c82ba935f663a01080af9994e0d2 assets/twilightforest/models/block/yellow_castle_rune_brick_3.json +35d0c2027c80b74b04766817041a8baa737821ee assets/twilightforest/models/block/yellow_castle_rune_brick_4.json +e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/yellow_castle_rune_brick_5.json +f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/yellow_castle_rune_brick_6.json +2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/yellow_castle_rune_brick_7.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json 274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json c38f28cc96caa2803b776e82a25f825d6bcc8680 assets/twilightforest/models/item/arctic_boots.json @@ -1810,6 +1924,7 @@ d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/forti f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword.json 9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json +3050f83aa9bd94aadb652f5bc6d58ea10d6be357 assets/twilightforest/models/item/green_force_field.json 94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json 7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json @@ -2062,6 +2177,7 @@ f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_ 6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json 0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json +7e2fe876dbbd244b36b898224c1c96495c3d704f assets/twilightforest/models/item/orange_force_field.json e41febc342a31175c85b45f5394700eb7f9ac39e assets/twilightforest/models/item/ore_magnet.json 4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json @@ -2105,6 +2221,7 @@ eab5812709d6db628fb5b7b3470e817c8aa87b56 assets/twilightforest/models/item/phant d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phantom_helmet_redstone_trim.json 4af9d9b9385d8befc3fa664ece7bba54680adf66 assets/twilightforest/models/item/phantom_helmet_resin_trim.json 4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json +158d791dc62223ad2b32309e9ecfcde09c364feb assets/twilightforest/models/item/pink_force_field.json 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json 1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/quest_trophy.json @@ -2238,6 +2355,7 @@ fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twili fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_trapped_chest.json 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json +6ca7643a593e229f7e9d89e978a9c68b38b19d3d assets/twilightforest/models/item/violet_force_field.json ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json 0229fa1d67eea7895e2c8330a25b4f20cdc643f8 assets/twilightforest/models/item/yeti_boots.json 5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json new file mode 100644 index 0000000000..f80cef478a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/blue_castle_rune_brick.json @@ -0,0 +1,30 @@ +{ + "variants": { + "": [ + { + "model": "twilightforest:block/blue_castle_rune_brick_0" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_1" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_2" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_3" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_4" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_5" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_6" + }, + { + "model": "twilightforest:block/blue_castle_rune_brick_7" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json new file mode 100644 index 0000000000..b91a3715b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/castle_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/castle_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json new file mode 100644 index 0000000000..5c1e7bd1ee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json new file mode 100644 index 0000000000..4564067d6b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/castle_roof_tile.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/castle_roof_tile" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json new file mode 100644 index 0000000000..a765fed592 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cracked_castle_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json new file mode 100644 index 0000000000..d8b261c13b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/cracked_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/cracked_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json new file mode 100644 index 0000000000..6b7d8669b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/encased_castle_brick_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/encased_castle_brick_pillar" + }, + "axis=z": { + "model": "twilightforest:block/encased_castle_brick_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json new file mode 100644 index 0000000000..5865927d29 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/encased_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/encased_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json new file mode 100644 index 0000000000..c78d16005c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_castle_brick_tile.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/encased_castle_brick_tile" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json new file mode 100644 index 0000000000..eb1836ed69 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/green_force_field.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/green_force_field" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json new file mode 100644 index 0000000000..9ac525262c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mossy_castle_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json new file mode 100644 index 0000000000..7aa6ac9b76 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/mossy_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/mossy_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json new file mode 100644 index 0000000000..94539e80e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/orange_force_field.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/orange_force_field" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json new file mode 100644 index 0000000000..6d6b475d51 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_door.json @@ -0,0 +1,10 @@ +{ + "variants": { + "vanish=false": { + "model": "twilightforest:block/pink_castle_door" + }, + "vanish=true": { + "model": "twilightforest:block/pink_castle_door_vanished" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json new file mode 100644 index 0000000000..15221223fd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/pink_castle_rune_brick.json @@ -0,0 +1,30 @@ +{ + "variants": { + "": [ + { + "model": "twilightforest:block/pink_castle_rune_brick_0" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_1" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_2" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_3" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_4" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_5" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_6" + }, + { + "model": "twilightforest:block/pink_castle_rune_brick_7" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json new file mode 100644 index 0000000000..ba2f740cbb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/pink_force_field.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/pink_force_field" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json new file mode 100644 index 0000000000..f7470ac49a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/thick_castle_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/thick_castle_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json new file mode 100644 index 0000000000..3d2a98a56f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_door.json @@ -0,0 +1,10 @@ +{ + "variants": { + "vanish=false": { + "model": "twilightforest:block/violet_castle_door" + }, + "vanish=true": { + "model": "twilightforest:block/violet_castle_door_vanished" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json new file mode 100644 index 0000000000..d3749f84cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/violet_castle_rune_brick.json @@ -0,0 +1,30 @@ +{ + "variants": { + "": [ + { + "model": "twilightforest:block/violet_castle_rune_brick_0" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_1" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_2" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_3" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_4" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_5" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_6" + }, + { + "model": "twilightforest:block/violet_castle_rune_brick_7" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json b/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json new file mode 100644 index 0000000000..1c1434f407 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/violet_force_field.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/violet_force_field" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json new file mode 100644 index 0000000000..87e3c4b875 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/worn_castle_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json new file mode 100644 index 0000000000..0d6ac68a16 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/worn_castle_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_inner_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "twilightforest:block/worn_castle_brick_stairs_outer_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "twilightforest:block/worn_castle_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json new file mode 100644 index 0000000000..98a241e60c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_door.json @@ -0,0 +1,10 @@ +{ + "variants": { + "vanish=false": { + "model": "twilightforest:block/yellow_castle_door" + }, + "vanish=true": { + "model": "twilightforest:block/yellow_castle_door_vanished" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json new file mode 100644 index 0000000000..732fedd113 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/yellow_castle_rune_brick.json @@ -0,0 +1,30 @@ +{ + "variants": { + "": [ + { + "model": "twilightforest:block/yellow_castle_rune_brick_0" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_1" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_2" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_3" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_4" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_5" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_6" + }, + { + "model": "twilightforest:block/yellow_castle_rune_brick_7" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/blue_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/items/blue_castle_rune_brick.json new file mode 100644 index 0000000000..adfbc938d1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/blue_castle_rune_brick.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/blue_castle_rune_brick_0", + "tints": [ + { + "type": "minecraft:constant", + "value": -16711681 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/castle_brick.json b/src/generated/resources/assets/twilightforest/items/castle_brick.json new file mode 100644 index 0000000000..ab63bcd5b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/castle_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/castle_brick_stairs.json new file mode 100644 index 0000000000..bb282aea1a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/items/castle_roof_tile.json new file mode 100644 index 0000000000..e988f6d47d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/castle_roof_tile.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/castle_roof_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/items/cracked_castle_brick.json new file mode 100644 index 0000000000..a96d5d5cb6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_castle_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/cracked_castle_brick_stairs.json new file mode 100644 index 0000000000..6c77ec47f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_pillar.json new file mode 100644 index 0000000000..1ab089e094 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_pillar.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_stairs.json new file mode 100644 index 0000000000..ec2d239a6c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_tile.json new file mode 100644 index 0000000000..56e928e6b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_castle_brick_tile.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/green_force_field.json b/src/generated/resources/assets/twilightforest/items/green_force_field.json new file mode 100644 index 0000000000..a8860de51e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/green_force_field.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/green_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/items/mossy_castle_brick.json new file mode 100644 index 0000000000..861d9928a4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_castle_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/mossy_castle_brick_stairs.json new file mode 100644 index 0000000000..d7e7aaa35d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/orange_force_field.json b/src/generated/resources/assets/twilightforest/items/orange_force_field.json new file mode 100644 index 0000000000..28eda691e0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/orange_force_field.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/orange_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pink_castle_door.json b/src/generated/resources/assets/twilightforest/items/pink_castle_door.json new file mode 100644 index 0000000000..3b50f6efe5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/pink_castle_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/pink_castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pink_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/items/pink_castle_rune_brick.json new file mode 100644 index 0000000000..67393afd3a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/pink_castle_rune_brick.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/pink_castle_rune_brick_0", + "tints": [ + { + "type": "minecraft:constant", + "value": -65281 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pink_force_field.json b/src/generated/resources/assets/twilightforest/items/pink_force_field.json new file mode 100644 index 0000000000..b4bb357308 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/pink_force_field.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/pink_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/items/thick_castle_brick.json new file mode 100644 index 0000000000..edba59c9ec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/thick_castle_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/thick_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/violet_castle_door.json b/src/generated/resources/assets/twilightforest/items/violet_castle_door.json new file mode 100644 index 0000000000..bf058a8bd6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/violet_castle_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/violet_castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/violet_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/items/violet_castle_rune_brick.json new file mode 100644 index 0000000000..9ae0fba9fc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/violet_castle_rune_brick.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/violet_castle_rune_brick_0", + "tints": [ + { + "type": "minecraft:constant", + "value": -11861886 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/violet_force_field.json b/src/generated/resources/assets/twilightforest/items/violet_force_field.json new file mode 100644 index 0000000000..9461547d39 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/violet_force_field.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/violet_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/items/worn_castle_brick.json new file mode 100644 index 0000000000..2a8bf62f06 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/worn_castle_brick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/worn_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/items/worn_castle_brick_stairs.json new file mode 100644 index 0000000000..d0abb81e44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/worn_castle_brick_stairs.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/worn_castle_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json new file mode 100644 index 0000000000..b9714ec9f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/yellow_castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yellow_castle_rune_brick.json b/src/generated/resources/assets/twilightforest/items/yellow_castle_rune_brick.json new file mode 100644 index 0000000000..d8d72ab65c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/yellow_castle_rune_brick.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/yellow_castle_rune_brick_0", + "tints": [ + { + "type": "minecraft:constant", + "value": -256 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_0.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_0.json new file mode 100644 index 0000000000..00fbc9cab2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_0.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_1.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_1.json new file mode 100644 index 0000000000..4fd340e606 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_1.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_2.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_2.json new file mode 100644 index 0000000000..9df3d2f45e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_2.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_3.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_3.json new file mode 100644 index 0000000000..b25b3102ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_3.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_4.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_4.json new file mode 100644 index 0000000000..8742edf1ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_4.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_5.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_5.json new file mode 100644 index 0000000000..6ad8640e9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_5.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_6.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_6.json new file mode 100644 index 0000000000..1ec9647c03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_6.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_7.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_7.json new file mode 100644 index 0000000000..8aa42fbaa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_rune_brick_7.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick.json new file mode 100644 index 0000000000..5304b6e112 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/castle_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json new file mode 100644 index 0000000000..bae5746ac8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..3b413338aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..b7604f8996 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/castle_brick_stairs_outer_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json b/src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json new file mode 100644 index 0000000000..ec2ba231a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/castle_roof_tile.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/castle_roof_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json new file mode 100644 index 0000000000..97c0d42e4b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/cracked_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json new file mode 100644 index 0000000000..bae5746ac8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..3b413338aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..b7604f8996 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_castle_brick_stairs_outer_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json new file mode 100644 index 0000000000..1331a80a0c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/encased_castle_brick_pillar_top", + "side": "twilightforest:block/encased_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_horizontal.json new file mode 100644 index 0000000000..02c99014a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/encased_castle_brick_pillar_top", + "side": "twilightforest:block/encased_castle_brick_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json new file mode 100644 index 0000000000..e9cf5db802 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_stairs", + "textures": { + "bottom": "twilightforest:block/castle_brick", + "middle": "twilightforest:block/castle_roof_tile", + "side": "twilightforest:block/encased_castle_brick_pillar_h", + "top": "twilightforest:block/castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..16fd7be0c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_inner_stairs", + "textures": { + "bottom": "twilightforest:block/castle_brick", + "middle": "twilightforest:block/castle_roof_tile", + "side": "twilightforest:block/encased_castle_brick_pillar_h", + "top": "twilightforest:block/castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..07cc1e03f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/bisected_outer_stairs", + "textures": { + "bottom": "twilightforest:block/castle_brick", + "middle": "twilightforest:block/castle_roof_tile", + "side": "twilightforest:block/encased_castle_brick_pillar_h", + "top": "twilightforest:block/castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json new file mode 100644 index 0000000000..18906fbafd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_castle_brick_tile.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/encased_castle_brick_pillar_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json new file mode 100644 index 0000000000..8e382314ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json @@ -0,0 +1,1992 @@ +{ + "parent": "minecraft:block/cube_all", + "ambientocclusion": false, + "elements": [ + { + "condition": { + "direction": "west", + "if": true, + "parents": [] + }, + "faces": { + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "west", + "if": false, + "parents": [] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": true, + "parents": [] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": false, + "parents": [] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": true, + "parents": [] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": false, + "parents": [] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": true, + "parents": [] + }, + "faces": { + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": false, + "parents": [] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north", + "if": true, + "parents": [] + }, + "faces": { + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north", + "if": false, + "parents": [] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south", + "if": true, + "parents": [] + }, + "faces": { + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south", + "if": false, + "parents": [] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": true, + "parents": [ + "down", + "west" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 0, + 0, + 7 + ], + "shade": false, + "to": [ + 7, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": true, + "parents": [ + "down", + "east" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 9, + 0, + 7 + ], + "shade": false, + "to": [ + 16, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": true, + "parents": [ + "down", + "north" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 0 + ], + "shade": false, + "to": [ + 9, + 7, + 7 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "down_south", + "if": true, + "parents": [ + "down", + "south" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 9 + ], + "shade": false, + "to": [ + 9, + 7, + 16 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "up_west", + "if": true, + "parents": [ + "up", + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 0, + 9, + 7 + ], + "shade": false, + "to": [ + 7, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": true, + "parents": [ + "up", + "east" + ] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 9, + 7 + ], + "shade": false, + "to": [ + 16, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": true, + "parents": [ + "up", + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 0 + ], + "shade": false, + "to": [ + 9, + 16, + 7 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "up_south", + "if": true, + "parents": [ + "up", + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 9 + ], + "shade": false, + "to": [ + 9, + 16, + 16 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "north_west", + "if": true, + "parents": [ + "north", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 0 + ], + "shade": false, + "to": [ + 7, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north_east", + "if": true, + "parents": [ + "north", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 0 + ], + "shade": false, + "to": [ + 16, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_west", + "if": true, + "parents": [ + "south", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 9 + ], + "shade": false, + "to": [ + 7, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_east", + "if": true, + "parents": [ + "south", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 9 + ], + "shade": false, + "to": [ + 16, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + } + ], + "loader": "twilightforest:force_field", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/green_force_field", + "particle": "twilightforest:block/green_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json new file mode 100644 index 0000000000..ce733f68ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mossy_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json new file mode 100644 index 0000000000..bae5746ac8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..3b413338aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_inner_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..b7604f8996 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_castle_brick_stairs_outer_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json new file mode 100644 index 0000000000..52c31fd6ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json @@ -0,0 +1,1992 @@ +{ + "parent": "minecraft:block/cube_all", + "ambientocclusion": false, + "elements": [ + { + "condition": { + "direction": "west", + "if": true, + "parents": [] + }, + "faces": { + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "west", + "if": false, + "parents": [] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": true, + "parents": [] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": false, + "parents": [] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": true, + "parents": [] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": false, + "parents": [] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": true, + "parents": [] + }, + "faces": { + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": false, + "parents": [] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north", + "if": true, + "parents": [] + }, + "faces": { + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north", + "if": false, + "parents": [] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south", + "if": true, + "parents": [] + }, + "faces": { + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south", + "if": false, + "parents": [] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": true, + "parents": [ + "down", + "west" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 0, + 0, + 7 + ], + "shade": false, + "to": [ + 7, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": true, + "parents": [ + "down", + "east" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 9, + 0, + 7 + ], + "shade": false, + "to": [ + 16, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": true, + "parents": [ + "down", + "north" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 0 + ], + "shade": false, + "to": [ + 9, + 7, + 7 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "down_south", + "if": true, + "parents": [ + "down", + "south" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 9 + ], + "shade": false, + "to": [ + 9, + 7, + 16 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "up_west", + "if": true, + "parents": [ + "up", + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 0, + 9, + 7 + ], + "shade": false, + "to": [ + 7, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": true, + "parents": [ + "up", + "east" + ] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 9, + 7 + ], + "shade": false, + "to": [ + 16, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": true, + "parents": [ + "up", + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 0 + ], + "shade": false, + "to": [ + 9, + 16, + 7 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "up_south", + "if": true, + "parents": [ + "up", + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 9 + ], + "shade": false, + "to": [ + 9, + 16, + 16 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "north_west", + "if": true, + "parents": [ + "north", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 0 + ], + "shade": false, + "to": [ + 7, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north_east", + "if": true, + "parents": [ + "north", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 0 + ], + "shade": false, + "to": [ + 16, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_west", + "if": true, + "parents": [ + "south", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 9 + ], + "shade": false, + "to": [ + 7, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_east", + "if": true, + "parents": [ + "south", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 9 + ], + "shade": false, + "to": [ + 16, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + } + ], + "loader": "twilightforest:force_field", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/orange_force_field", + "particle": "twilightforest:block/orange_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json new file mode 100644 index 0000000000..a50ecb6d33 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json new file mode 100644 index 0000000000..e32ac6158b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door_vanished", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door_vanished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_0.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_0.json new file mode 100644 index 0000000000..00fbc9cab2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_0.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_1.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_1.json new file mode 100644 index 0000000000..4fd340e606 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_1.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_2.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_2.json new file mode 100644 index 0000000000..9df3d2f45e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_2.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_3.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_3.json new file mode 100644 index 0000000000..b25b3102ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_3.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_4.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_4.json new file mode 100644 index 0000000000..8742edf1ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_4.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_5.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_5.json new file mode 100644 index 0000000000..6ad8640e9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_5.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_6.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_6.json new file mode 100644 index 0000000000..1ec9647c03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_6.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_7.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_7.json new file mode 100644 index 0000000000..8aa42fbaa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_rune_brick_7.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json new file mode 100644 index 0000000000..eaaa8f8fbf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json @@ -0,0 +1,1992 @@ +{ + "parent": "minecraft:block/cube_all", + "ambientocclusion": false, + "elements": [ + { + "condition": { + "direction": "west", + "if": true, + "parents": [] + }, + "faces": { + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "west", + "if": false, + "parents": [] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": true, + "parents": [] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": false, + "parents": [] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": true, + "parents": [] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": false, + "parents": [] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": true, + "parents": [] + }, + "faces": { + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": false, + "parents": [] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north", + "if": true, + "parents": [] + }, + "faces": { + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north", + "if": false, + "parents": [] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south", + "if": true, + "parents": [] + }, + "faces": { + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south", + "if": false, + "parents": [] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": true, + "parents": [ + "down", + "west" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 0, + 0, + 7 + ], + "shade": false, + "to": [ + 7, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": true, + "parents": [ + "down", + "east" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 9, + 0, + 7 + ], + "shade": false, + "to": [ + 16, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": true, + "parents": [ + "down", + "north" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 0 + ], + "shade": false, + "to": [ + 9, + 7, + 7 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "down_south", + "if": true, + "parents": [ + "down", + "south" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 9 + ], + "shade": false, + "to": [ + 9, + 7, + 16 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "up_west", + "if": true, + "parents": [ + "up", + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 0, + 9, + 7 + ], + "shade": false, + "to": [ + 7, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": true, + "parents": [ + "up", + "east" + ] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 9, + 7 + ], + "shade": false, + "to": [ + 16, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": true, + "parents": [ + "up", + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 0 + ], + "shade": false, + "to": [ + 9, + 16, + 7 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "up_south", + "if": true, + "parents": [ + "up", + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 9 + ], + "shade": false, + "to": [ + 9, + 16, + 16 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "north_west", + "if": true, + "parents": [ + "north", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 0 + ], + "shade": false, + "to": [ + 7, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north_east", + "if": true, + "parents": [ + "north", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 0 + ], + "shade": false, + "to": [ + 16, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_west", + "if": true, + "parents": [ + "south", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 9 + ], + "shade": false, + "to": [ + 7, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_east", + "if": true, + "parents": [ + "south", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 9 + ], + "shade": false, + "to": [ + 16, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + } + ], + "loader": "twilightforest:force_field", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/pink_force_field", + "particle": "twilightforest:block/pink_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json new file mode 100644 index 0000000000..8e8e1f91d6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/thick_castle_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/thick_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json new file mode 100644 index 0000000000..a50ecb6d33 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json new file mode 100644 index 0000000000..e32ac6158b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door_vanished", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door_vanished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_0.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_0.json new file mode 100644 index 0000000000..00fbc9cab2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_0.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_1.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_1.json new file mode 100644 index 0000000000..4fd340e606 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_1.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_2.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_2.json new file mode 100644 index 0000000000..9df3d2f45e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_2.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_3.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_3.json new file mode 100644 index 0000000000..b25b3102ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_3.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_4.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_4.json new file mode 100644 index 0000000000..8742edf1ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_4.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_5.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_5.json new file mode 100644 index 0000000000..6ad8640e9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_5.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_6.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_6.json new file mode 100644 index 0000000000..1ec9647c03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_6.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_7.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_7.json new file mode 100644 index 0000000000..8aa42fbaa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_rune_brick_7.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json new file mode 100644 index 0000000000..3f6a1450c1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json @@ -0,0 +1,1992 @@ +{ + "parent": "minecraft:block/cube_all", + "ambientocclusion": false, + "elements": [ + { + "condition": { + "direction": "west", + "if": true, + "parents": [] + }, + "faces": { + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "west", + "if": false, + "parents": [] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": true, + "parents": [] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "east", + "if": false, + "parents": [] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": true, + "parents": [] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down", + "if": false, + "parents": [] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": true, + "parents": [] + }, + "faces": { + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up", + "if": false, + "parents": [] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north", + "if": true, + "parents": [] + }, + "faces": { + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north", + "if": false, + "parents": [] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south", + "if": true, + "parents": [] + }, + "faces": { + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south", + "if": false, + "parents": [] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 7 + ], + "shade": false, + "to": [ + 9, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": true, + "parents": [ + "down", + "west" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 0, + 0, + 7 + ], + "shade": false, + "to": [ + 7, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": true, + "parents": [ + "down", + "east" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 9, + 0, + 7 + ], + "shade": false, + "to": [ + 16, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": true, + "parents": [ + "down", + "north" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 0 + ], + "shade": false, + "to": [ + 9, + 7, + 7 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "down_south", + "if": true, + "parents": [ + "down", + "south" + ] + }, + "faces": { + "down": { + "cullface": "down", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 0.0, + 7.0, + 7.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 0.0, + 16.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 9 + ], + "shade": false, + "to": [ + 9, + 7, + 16 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "down" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 0.0, + 9.0, + 7.0 + ] + } + }, + "from": [ + 7, + 0, + 7 + ], + "shade": false, + "to": [ + 9, + 7, + 9 + ] + }, + { + "condition": { + "direction": "down_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "up_west", + "if": true, + "parents": [ + "up", + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 0, + 9, + 7 + ], + "shade": false, + "to": [ + 7, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": true, + "parents": [ + "up", + "east" + ] + }, + "faces": { + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 9, + 7 + ], + "shade": false, + "to": [ + 16, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": true, + "parents": [ + "up", + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 0 + ], + "shade": false, + "to": [ + 9, + 16, + 7 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_north", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "up_south", + "if": true, + "parents": [ + "up", + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + }, + "up": { + "cullface": "up", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 9 + ], + "shade": false, + "to": [ + 9, + 16, + 16 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "up" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 7.0, + 9.0, + 9.0, + 16.0 + ] + } + }, + "from": [ + 7, + 9, + 7 + ], + "shade": false, + "to": [ + 9, + 16, + 9 + ] + }, + { + "condition": { + "direction": "up_south", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "north_west", + "if": true, + "parents": [ + "north", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 0 + ], + "shade": false, + "to": [ + 7, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "north_east", + "if": true, + "parents": [ + "north", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "north": { + "cullface": "north", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 0 + ], + "shade": false, + "to": [ + 16, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "north" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 0 + ], + "shade": false, + "to": [ + 9, + 9, + 7 + ] + }, + { + "condition": { + "direction": "north_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "north": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_west", + "if": true, + "parents": [ + "south", + "west" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "west": { + "cullface": "west", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 9 + ], + "shade": false, + "to": [ + 7, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "west": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_west", + "if": false, + "parents": [ + "west" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane" + } + }, + "from": [ + 0, + 7, + 7 + ], + "shade": false, + "to": [ + 7, + 9, + 9 + ] + }, + { + "condition": { + "direction": "south_east", + "if": true, + "parents": [ + "south", + "east" + ] + }, + "faces": { + "down": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 9.0, + 16.0, + 16.0 + ] + }, + "east": { + "cullface": "east", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + }, + "south": { + "cullface": "south", + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + }, + "up": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 9.0, + 7.0, + 16.0 + ] + } + }, + "from": [ + 9, + 7, + 9 + ], + "shade": false, + "to": [ + 16, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "south" + ] + }, + "faces": { + "east": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 9.0, + 7.0, + 16.0, + 9.0 + ] + } + }, + "from": [ + 7, + 7, + 9 + ], + "shade": false, + "to": [ + 9, + 9, + 16 + ] + }, + { + "condition": { + "direction": "south_east", + "if": false, + "parents": [ + "east" + ] + }, + "faces": { + "south": { + "neoforge_data": { + "block_light": 15, + "sky_light": 15 + }, + "texture": "#pane", + "uv": [ + 0.0, + 7.0, + 7.0, + 9.0 + ] + } + }, + "from": [ + 9, + 7, + 7 + ], + "shade": false, + "to": [ + 16, + 9, + 9 + ] + } + ], + "loader": "twilightforest:force_field", + "render_type": "minecraft:translucent", + "textures": { + "pane": "twilightforest:block/violet_force_field", + "particle": "twilightforest:block/violet_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json new file mode 100644 index 0000000000..ffe1f1b85e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/worn_castle_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json new file mode 100644 index 0000000000..bae5746ac8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json new file mode 100644 index 0000000000..3b413338aa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json new file mode 100644 index 0000000000..b7604f8996 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "twilightforest:block/bold_castle_brick_tile", + "side": "twilightforest:block/bold_castle_brick_tile", + "top": "twilightforest:block/bold_castle_brick_tile" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json new file mode 100644 index 0000000000..a50ecb6d33 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json new file mode 100644 index 0000000000..e32ac6158b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:blue_castle_door", + "twilightforest:pink_castle_door", + "twilightforest:violet_castle_door", + "twilightforest:yellow_castle_door" + ], + "connected_texture": { + "emissivity": 15, + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:cutout", + "textures": { + "base_texture": "twilightforest:block/castle_door_vanished", + "overlay_connected": "twilightforest:block/castle_door_runes_ctm", + "overlay_texture": "twilightforest:block/castle_door_runes", + "particle": "twilightforest:block/castle_door_vanished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_0.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_0.json new file mode 100644 index 0000000000..00fbc9cab2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_0.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_1.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_1.json new file mode 100644 index 0000000000..4fd340e606 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_1.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_2.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_2.json new file mode 100644 index 0000000000..9df3d2f45e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_2.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_3.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_3.json new file mode 100644 index 0000000000..b25b3102ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_3.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_4.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_4.json new file mode 100644 index 0000000000..8742edf1ae --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_4.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_5.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_5.json new file mode 100644 index 0000000000..6ad8640e9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_5.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_6.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_6.json new file mode 100644 index 0000000000..1ec9647c03 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_6.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_7.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_7.json new file mode 100644 index 0000000000..8aa42fbaa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_rune_brick_7.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/castle_rune_template", + "textures": { + "all": "twilightforest:block/castle_brick", + "rune": "twilightforest:block/castleblock_magic_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json new file mode 100644 index 0000000000..e4fa75ea98 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/green_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json new file mode 100644 index 0000000000..1cb3d080f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/orange_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json new file mode 100644 index 0000000000..c9b77d4989 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/pink_force_field" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json new file mode 100644 index 0000000000..855879a249 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/violet_force_field" + } +} \ No newline at end of file From 9ce78bb9d7def6dacaf2789e1db1e15dfa5ff611 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:19:23 -0600 Subject: [PATCH 100/239] trophy pedestal --- .../assets/models/BlockModelGenerator.java | 1 + .../assets/models/TFModelTemplates.java | 5 + .../assets/models/TFTextureMapping.java | 22 +++ .../datagen/assets/models/TFTextureSlot.java | 10 +- .../helpers/models/BlockModelBuilders.java | 31 +++- .../block/template_trophy_pedestal.json | 88 ++++++++++ .../template_trophy_pedestal_active.json | 157 ++++++++++++++++++ 7 files changed, 309 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal.json create mode 100644 src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 0020f6799f..d55cd13301 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -81,6 +81,7 @@ public void run() { this.wrapBlockItem(TFBlocks.CRACKED_UNDERBRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MOSSY_UNDERBRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.UNDERBRICK_FLOOR.get(), this::createTrivialCube); + this.trophyPedestal(); this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 01e6696bf7..146c7be48f 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -68,6 +68,11 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CASTLE_RUNE_TEMPLATE = create("twilightforest:castle_rune_template", TextureSlot.ALL, TFTextureSlot.RUNE); public static final ModelTemplate TINTED_CUBE_BOTTOM_TOP = create("twilightforest:tinted_cube_bottom_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); + public static final ModelTemplate TROPHY_PEDESTAL = create("twilightforest:template_trophy_pedestal", TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST); + public static final ModelTemplate TROPHY_PEDESTAL_ACTIVE = create("twilightforest:template_trophy_pedestal_active", + TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST, //base + TFTextureSlot.NORTH2, TFTextureSlot.SOUTH2, TFTextureSlot.EAST2, TFTextureSlot.WEST2, //glow + TFTextureSlot.NORTH3, TFTextureSlot.SOUTH3, TFTextureSlot.EAST3, TFTextureSlot.WEST3); //boss face public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); public static final ModelTemplate MOON_DIAL = createItem("twilightforest:moon_dial_template", TextureSlot.LAYER0); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index 4bf0345281..1c3253d86b 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -5,6 +5,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.Nullable; +import twilightforest.enums.BossVariant; public class TFTextureMapping { @@ -45,4 +46,25 @@ public static TextureMapping sideDoor(Block block) { .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(block, "_bottom")) .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block, "_side")); } + + public static TextureMapping trophyPedestal(Block block, boolean active, BossVariant north, BossVariant south, BossVariant east, BossVariant west) { + var mapping = new TextureMapping() + .put(TextureSlot.NORTH, TextureMapping.getBlockTexture(block, "_" + north.getSerializedName() + "_latent")) + .put(TextureSlot.SOUTH, TextureMapping.getBlockTexture(block, "_" + south.getSerializedName() + "_latent")) + .put(TextureSlot.EAST, TextureMapping.getBlockTexture(block, "_" + east.getSerializedName() + "_latent")) + .put(TextureSlot.WEST, TextureMapping.getBlockTexture(block, "_" + west.getSerializedName() + "_latent")); + + if (active) { + mapping = mapping + .put(TFTextureSlot.NORTH2, TextureMapping.getBlockTexture(block, "_" + north.getSerializedName() + "_glow")) + .put(TFTextureSlot.SOUTH2, TextureMapping.getBlockTexture(block, "_" + south.getSerializedName() + "_glow")) + .put(TFTextureSlot.EAST2, TextureMapping.getBlockTexture(block, "_" + east.getSerializedName() + "_glow")) + .put(TFTextureSlot.WEST2, TextureMapping.getBlockTexture(block, "_" + west.getSerializedName() + "_glow")) + .put(TFTextureSlot.NORTH3, TextureMapping.getBlockTexture(block, "_" + north.getSerializedName())) + .put(TFTextureSlot.SOUTH3, TextureMapping.getBlockTexture(block, "_" + south.getSerializedName())) + .put(TFTextureSlot.EAST3, TextureMapping.getBlockTexture(block, "_" + east.getSerializedName())) + .put(TFTextureSlot.WEST3, TextureMapping.getBlockTexture(block, "_" + west.getSerializedName())); + } + return mapping; + } } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index 9fb42631a1..cad6a9353b 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -7,7 +7,6 @@ public class TFTextureSlot { public static final TextureSlot ALL_2 = TextureSlot.create("all_2"); public static final TextureSlot ALL_3 = TextureSlot.create("all_3"); - public static final TextureSlot CANDELABRA = TextureSlot.create("candelabra"); public static final TextureSlot MIDDLE = TextureSlot.create("middle"); public static final TextureSlot SIDE_A = TextureSlot.create("side_a"); @@ -19,6 +18,15 @@ public class TFTextureSlot { public static final TextureSlot RUNE = TextureSlot.create("rune"); + public static final TextureSlot NORTH2 = TextureSlot.create("north2"); + public static final TextureSlot SOUTH2 = TextureSlot.create("south2"); + public static final TextureSlot EAST2 = TextureSlot.create("east2"); + public static final TextureSlot WEST2 = TextureSlot.create("west2"); + public static final TextureSlot NORTH3 = TextureSlot.create("north3"); + public static final TextureSlot SOUTH3 = TextureSlot.create("south3"); + public static final TextureSlot EAST3 = TextureSlot.create("east3"); + public static final TextureSlot WEST3 = TextureSlot.create("west3"); + public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); public static final TextureSlot CTM_OVERLAY_CONNECTED = TextureSlot.create("overlay_connected"); diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 0504e09e76..dcf8b9899e 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -1,6 +1,5 @@ package twilightforest.datagen.helpers.models; -import com.google.errorprone.annotations.Var; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; @@ -8,11 +7,9 @@ import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.DirectionalBlock; @@ -22,7 +19,6 @@ import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; import twilightforest.block.*; -import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -31,9 +27,12 @@ import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; +import twilightforest.enums.BossVariant; import twilightforest.enums.NagastoneVariant; import twilightforest.init.TFBlocks; +import java.util.ArrayList; +import java.util.List; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; @@ -721,4 +720,28 @@ public void generateRuneBlock(Block runeBlock, int tint) { this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(runeBlock, variants)); this.itemModelOutput.accept(runeBlock.asItem(), ItemModelUtils.tintedModel(ModelLocationUtils.getModelLocation(runeBlock).withSuffix("_0"), ItemModelUtils.constantTint(tint))); } + + public void trophyPedestal() { + BossVariant[][] variantList = new BossVariant[][] { //face order: north, south, east, west + new BossVariant[]{BossVariant.NAGA, BossVariant.LICH, BossVariant.UR_GHAST, BossVariant.HYDRA}, + new BossVariant[]{BossVariant.SNOW_QUEEN, BossVariant.NAGA, BossVariant.HYDRA, BossVariant.LICH}, + new BossVariant[]{BossVariant.UR_GHAST, BossVariant.SNOW_QUEEN, BossVariant.LICH, BossVariant.NAGA}, + new BossVariant[]{BossVariant.HYDRA, BossVariant.UR_GHAST, BossVariant.NAGA, BossVariant.SNOW_QUEEN}, + new BossVariant[]{BossVariant.LICH, BossVariant.HYDRA, BossVariant.SNOW_QUEEN, BossVariant.UR_GHAST} + }; + Block pedestal = TFBlocks.TROPHY_PEDESTAL.get(); + List variants = new ArrayList<>(); + List activeVariants = new ArrayList<>(); + for (int i = 0; i < variantList.length; i++) { + ResourceLocation model = TFModelTemplates.TROPHY_PEDESTAL.createWithSuffix(pedestal, i == 0 ? "" : ("_" + i), TFTextureMapping.trophyPedestal(pedestal, false, variantList[i][0], variantList[i][1], variantList[i][2], variantList[i][3]), this.modelOutput); + ResourceLocation activeModel = TFModelTemplates.TROPHY_PEDESTAL_ACTIVE.createWithSuffix(pedestal, i == 0 ? "_active" : ("_active_" + i), TFTextureMapping.trophyPedestal(pedestal, true, variantList[i][0], variantList[i][1], variantList[i][2], variantList[i][3]), this.modelOutput); + + for (VariantProperties.Rotation rot : VariantProperties.Rotation.values()) { + variants.add(Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, rot)); + activeVariants.add(Variant.variant().with(VariantProperties.MODEL, activeModel).with(VariantProperties.Y_ROT, rot)); + } + } + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(pedestal).with(PropertyDispatch.property(TrophyPedestalBlock.ACTIVE).select(true, activeVariants).select(false, variants))); + this.generateBlockItem(pedestal); + } } diff --git a/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal.json b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal.json new file mode 100644 index 0000000000..b2c7ce032a --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal.json @@ -0,0 +1,88 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:translucent", + "textures": { + "top": "twilightforest:block/trophy_pedestal_top", + "particle": "#top" + }, + "elements": [ + { + "from": [2, 3, 2], + "to": [14, 13, 14], + "faces": { + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "down": {"cullface": "down", "texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "up": {"texture": "#top"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 13, 1], + "to": [15, 16, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "up": {"cullface": "up", "texture": "#top"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 12, 1], + "to": [4, 13, 4], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [12, 12, 1], + "to": [15, 13, 4], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 12, 12], + "to": [4, 13, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [12, 12, 12], + "to": [15, 13, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json new file mode 100644 index 0000000000..49a176ebc1 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json @@ -0,0 +1,157 @@ +{ + "parent": "minecraft:block/block", + "render_type": "minecraft:translucent", + "textures": { + "top": "twilightforest:block/trophy_pedestal_top", + "top2": "twilightforest:block/trophy_pedestal_top_glow", + "particle": "#top" + }, + "elements": [ + { + "from": [2, 3, 2], + "to": [14, 13, 14], + "faces": { + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "down": {"cullface": "down", "texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "up": {"texture": "#top"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 13, 1], + "to": [15, 16, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "up": {"cullface": "up", "texture": "#top"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 12, 1], + "to": [4, 13, 4], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [12, 12, 1], + "to": [15, 13, 4], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [1, 12, 12], + "to": [4, 13, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [12, 12, 12], + "to": [15, 13, 15], + "faces": { + "down": {"texture": "#top"}, + "east": {"texture": "#east"}, + "north": {"texture": "#north"}, + "south": {"texture": "#south"}, + "west": {"texture": "#west"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 13, 14], + "faces": { + "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, + "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, + "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, + "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 16, 15], + "faces": { + "down": {"cullface": "down", "neoforge_data": {"block_light": 12, "sky_light": 12}, "texture": "#top2"}, + "up": {"cullface": "up", "neoforge_data": {"block_light": 12, "sky_light": 12}, "texture": "#top2"} + } + }, + { + "from": [1, 12, 1], + "to": [4, 13, 4], + "faces": { + "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, + "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, + "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, + "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + } + }, + { + "from": [12, 12, 1], + "to": [15, 13, 4], + "faces": { + "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, + "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, + "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, + "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + } + }, + { + "from": [1, 12, 12], + "to": [4, 13, 15], + "faces": { + "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, + "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, + "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, + "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + } + }, + { + "from": [12, 12, 12], + "to": [15, 13, 15], + "faces": { + "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, + "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, + "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, + "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 13, 14], + "faces": { + "east": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#east3"}, + "north": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#north3"}, + "south": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#south3"}, + "west": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#west3"} + } + } + ] +} \ No newline at end of file From a10b36b55f88bffe0da9ead36ac345516f4d9c32 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:19:34 -0600 Subject: [PATCH 101/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 14 +- .../blockstates/trophy_pedestal.json | 168 ++++++++++++++++++ .../twilightforest/items/trophy_pedestal.json | 6 + .../models/block/trophy_pedestal.json | 9 + .../models/block/trophy_pedestal_1.json | 9 + .../models/block/trophy_pedestal_2.json | 9 + .../models/block/trophy_pedestal_3.json | 9 + .../models/block/trophy_pedestal_4.json | 9 + .../models/block/trophy_pedestal_active.json | 17 ++ .../block/trophy_pedestal_active_1.json | 17 ++ .../block/trophy_pedestal_active_2.json | 17 ++ .../block/trophy_pedestal_active_3.json | 17 ++ .../block/trophy_pedestal_active_4.json | 17 ++ 13 files changed, 317 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json create mode 100644 src/generated/resources/assets/twilightforest/items/trophy_pedestal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 5704a47139..a7e42c2cf8 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-07T12:59:48.8996944 Model Definitions - twilightforest +// 1.21.4 2025-04-08T10:14:05.9026132 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -350,6 +350,7 @@ ed2f3118194f20ab56ce95b829a136c3c6380687 assets/twilightforest/blockstates/trans 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_wall_hanging_sign.json 4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_wall_sign.json b24c860a26ad0d72167073d9a15226c4cd55e988 assets/twilightforest/blockstates/transformation_wood.json +8ae5e98dab1a5b96deab74a49ea0737b1608f8f7 assets/twilightforest/blockstates/trophy_pedestal.json fe8905195e4d8cabb26d5ea4a760c3d3e0ff7733 assets/twilightforest/blockstates/twilight_oak_banister.json 15c9add26b26f2885f29b9789c8f3e4fb168a89c assets/twilightforest/blockstates/twilight_oak_button.json 67b1a5194af9833973b0f06aac5d75d7d821922e assets/twilightforest/blockstates/twilight_oak_chest.json @@ -846,6 +847,7 @@ aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformat da1eccf990fcc0ce8f74ca7d1f374639e287d620 assets/twilightforest/items/transformation_wood.json d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json 09c880a29a70bf52f5b853baf5f8f6ca687af89c assets/twilightforest/items/troll_spawn_egg.json +c8cabf21dea0401bab2a163bd61b97f528c88627 assets/twilightforest/items/trophy_pedestal.json 38d04a14f6461e4c88f4e33162fe39e87eff7741 assets/twilightforest/items/twilight_oak_banister.json f1513a74b266ffb650db5620a870f3517b1a8b9a assets/twilightforest/items/twilight_oak_boat.json a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json @@ -1639,6 +1641,16 @@ fa93ad893b24405885a97baf6d883bf3916ecb98 assets/twilightforest/models/block/tran 00fe164d67b2dfe60d0e77e8000e97c1d01e3ec5 assets/twilightforest/models/block/transformation_trapdoor_top.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_trapped_chest.json 4b6a9d6130919d1d0379f6741be485725f05f224 assets/twilightforest/models/block/transformation_wood.json +8d6bfc055e9e2cb70259e7247daeff3395e922ac assets/twilightforest/models/block/trophy_pedestal.json +5bdd94f51a6807152d6627684a6aa10df6a54f1e assets/twilightforest/models/block/trophy_pedestal_1.json +f25a6d8223cc4d852155e44e497d1e18280ef50e assets/twilightforest/models/block/trophy_pedestal_2.json +ceadc08df294f8742b55718360a69dedc38ba466 assets/twilightforest/models/block/trophy_pedestal_3.json +1195acf216b92f943c67221ccc11e3071ea1a241 assets/twilightforest/models/block/trophy_pedestal_4.json +2d219e2753d01c2e52cdc94fb2950e18696238e2 assets/twilightforest/models/block/trophy_pedestal_active.json +2cba6dc547c8048d1763db568efa2d14913a7c68 assets/twilightforest/models/block/trophy_pedestal_active_1.json +a6842fd4ee5db5489f4d58e2ad052a28c7275ff4 assets/twilightforest/models/block/trophy_pedestal_active_2.json +a4f382ca8546f0a807226af811904d5c751fc860 assets/twilightforest/models/block/trophy_pedestal_active_3.json +007d5a53b6aef659e5e038c991276c7daacc4712 assets/twilightforest/models/block/trophy_pedestal_active_4.json 713fb04b522e41e1ba1e7fe5e24b40b45b5cf88d assets/twilightforest/models/block/twilight_oak_banister_connected.json 69ca8b7990e47173f02e628a7c707d81b68175f3 assets/twilightforest/models/block/twilight_oak_banister_connected_extended.json 93adfba17532f00a9b5283e95fb85fd2fc6974e0 assets/twilightforest/models/block/twilight_oak_banister_inventory.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json new file mode 100644 index 0000000000..09459ea0e2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/trophy_pedestal.json @@ -0,0 +1,168 @@ +{ + "variants": { + "active=false": [ + { + "model": "twilightforest:block/trophy_pedestal", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_1", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_1", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_1", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_1", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_2", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_2", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_2", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_2", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_3", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_3", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_3", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_3", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_4", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_4", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_4", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_4", + "y": 270 + } + ], + "active=true": [ + { + "model": "twilightforest:block/trophy_pedestal_active", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_active", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_active", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_active", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_1", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_1", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_1", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_1", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_2", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_2", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_2", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_2", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_3", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_3", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_3", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_3", + "y": 270 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_4", + "y": 0 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_4", + "y": 90 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_4", + "y": 180 + }, + { + "model": "twilightforest:block/trophy_pedestal_active_4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/items/trophy_pedestal.json new file mode 100644 index 0000000000..fc7a9a517b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/trophy_pedestal.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/trophy_pedestal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json new file mode 100644 index 0000000000..5dd03a1acb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal", + "textures": { + "east": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "north": "twilightforest:block/trophy_pedestal_naga_latent", + "south": "twilightforest:block/trophy_pedestal_lich_latent", + "west": "twilightforest:block/trophy_pedestal_hydra_latent" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json new file mode 100644 index 0000000000..e50052f216 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_1.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal", + "textures": { + "east": "twilightforest:block/trophy_pedestal_hydra_latent", + "north": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "south": "twilightforest:block/trophy_pedestal_naga_latent", + "west": "twilightforest:block/trophy_pedestal_lich_latent" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json new file mode 100644 index 0000000000..765baa2a5b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_2.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal", + "textures": { + "east": "twilightforest:block/trophy_pedestal_lich_latent", + "north": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "south": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "west": "twilightforest:block/trophy_pedestal_naga_latent" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json new file mode 100644 index 0000000000..b826acc754 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_3.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal", + "textures": { + "east": "twilightforest:block/trophy_pedestal_naga_latent", + "north": "twilightforest:block/trophy_pedestal_hydra_latent", + "south": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "west": "twilightforest:block/trophy_pedestal_snow_queen_latent" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json new file mode 100644 index 0000000000..9b1aacaa44 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_4.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal", + "textures": { + "east": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "north": "twilightforest:block/trophy_pedestal_lich_latent", + "south": "twilightforest:block/trophy_pedestal_hydra_latent", + "west": "twilightforest:block/trophy_pedestal_ur_ghast_latent" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json new file mode 100644 index 0000000000..3bebcec08e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active.json @@ -0,0 +1,17 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal_active", + "textures": { + "east": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "east2": "twilightforest:block/trophy_pedestal_ur_ghast_glow", + "east3": "twilightforest:block/trophy_pedestal_ur_ghast", + "north": "twilightforest:block/trophy_pedestal_naga_latent", + "north2": "twilightforest:block/trophy_pedestal_naga_glow", + "north3": "twilightforest:block/trophy_pedestal_naga", + "south": "twilightforest:block/trophy_pedestal_lich_latent", + "south2": "twilightforest:block/trophy_pedestal_lich_glow", + "south3": "twilightforest:block/trophy_pedestal_lich", + "west": "twilightforest:block/trophy_pedestal_hydra_latent", + "west2": "twilightforest:block/trophy_pedestal_hydra_glow", + "west3": "twilightforest:block/trophy_pedestal_hydra" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json new file mode 100644 index 0000000000..31c705eaa3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_1.json @@ -0,0 +1,17 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal_active", + "textures": { + "east": "twilightforest:block/trophy_pedestal_hydra_latent", + "east2": "twilightforest:block/trophy_pedestal_hydra_glow", + "east3": "twilightforest:block/trophy_pedestal_hydra", + "north": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "north2": "twilightforest:block/trophy_pedestal_snow_queen_glow", + "north3": "twilightforest:block/trophy_pedestal_snow_queen", + "south": "twilightforest:block/trophy_pedestal_naga_latent", + "south2": "twilightforest:block/trophy_pedestal_naga_glow", + "south3": "twilightforest:block/trophy_pedestal_naga", + "west": "twilightforest:block/trophy_pedestal_lich_latent", + "west2": "twilightforest:block/trophy_pedestal_lich_glow", + "west3": "twilightforest:block/trophy_pedestal_lich" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json new file mode 100644 index 0000000000..2703d70579 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_2.json @@ -0,0 +1,17 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal_active", + "textures": { + "east": "twilightforest:block/trophy_pedestal_lich_latent", + "east2": "twilightforest:block/trophy_pedestal_lich_glow", + "east3": "twilightforest:block/trophy_pedestal_lich", + "north": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "north2": "twilightforest:block/trophy_pedestal_ur_ghast_glow", + "north3": "twilightforest:block/trophy_pedestal_ur_ghast", + "south": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "south2": "twilightforest:block/trophy_pedestal_snow_queen_glow", + "south3": "twilightforest:block/trophy_pedestal_snow_queen", + "west": "twilightforest:block/trophy_pedestal_naga_latent", + "west2": "twilightforest:block/trophy_pedestal_naga_glow", + "west3": "twilightforest:block/trophy_pedestal_naga" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json new file mode 100644 index 0000000000..46027112f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_3.json @@ -0,0 +1,17 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal_active", + "textures": { + "east": "twilightforest:block/trophy_pedestal_naga_latent", + "east2": "twilightforest:block/trophy_pedestal_naga_glow", + "east3": "twilightforest:block/trophy_pedestal_naga", + "north": "twilightforest:block/trophy_pedestal_hydra_latent", + "north2": "twilightforest:block/trophy_pedestal_hydra_glow", + "north3": "twilightforest:block/trophy_pedestal_hydra", + "south": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "south2": "twilightforest:block/trophy_pedestal_ur_ghast_glow", + "south3": "twilightforest:block/trophy_pedestal_ur_ghast", + "west": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "west2": "twilightforest:block/trophy_pedestal_snow_queen_glow", + "west3": "twilightforest:block/trophy_pedestal_snow_queen" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json new file mode 100644 index 0000000000..fee4b554d8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trophy_pedestal_active_4.json @@ -0,0 +1,17 @@ +{ + "parent": "twilightforest:block/template_trophy_pedestal_active", + "textures": { + "east": "twilightforest:block/trophy_pedestal_snow_queen_latent", + "east2": "twilightforest:block/trophy_pedestal_snow_queen_glow", + "east3": "twilightforest:block/trophy_pedestal_snow_queen", + "north": "twilightforest:block/trophy_pedestal_lich_latent", + "north2": "twilightforest:block/trophy_pedestal_lich_glow", + "north3": "twilightforest:block/trophy_pedestal_lich", + "south": "twilightforest:block/trophy_pedestal_hydra_latent", + "south2": "twilightforest:block/trophy_pedestal_hydra_glow", + "south3": "twilightforest:block/trophy_pedestal_hydra", + "west": "twilightforest:block/trophy_pedestal_ur_ghast_latent", + "west2": "twilightforest:block/trophy_pedestal_ur_ghast_glow", + "west3": "twilightforest:block/trophy_pedestal_ur_ghast" + } +} \ No newline at end of file From c34ccdff76c1aa530e173e263c1406d8aae959c2 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:02:45 -0600 Subject: [PATCH 102/239] stronghold shield and towerwood devices --- .../assets/models/BlockModelGenerator.java | 86 ++++++++++++++---- .../assets/models/TFModelTemplates.java | 23 ++--- .../assets/models/TFTextureMapping.java | 29 ++++-- .../datagen/assets/models/TFTextureSlot.java | 8 +- .../block/StrongholdShieldBlock.java | 12 +-- .../twilightforest/enums/FireJetVariant.java | 4 + .../models/block/util/fullbright_cube.json | 21 +++++ .../models/block/util/small_cube.json | 21 +++++ .../models/block/util/three_layer_block.json | 45 +++++++++ .../models/block/util/three_layer_device.json | 42 +++++++++ .../block/util/three_layer_device_active.json | 43 +++++++++ .../models/block/util/two_layer_block_10.json | 33 +++++++ .../models/block/util/two_layer_block_15.json | 33 +++++++ .../carminite_builder_timeout_layer_1.png | Bin 0 -> 115 bytes .../carminite_builder_timeout_layer_2.png | Bin 115 -> 124 bytes .../carminite_builder_timeout_layer_3.png | Bin 124 -> 0 bytes ..._fire_jet_off.png => encased_fire_jet.png} | Bin ..._trap_lid_on.png => ghast_trap_on_top.png} | Bin ...er_2.png => ghast_trap_on_top_layer_1.png} | Bin ...er_3.png => ghast_trap_on_top_layer_2.png} | Bin ...{ghast_trap_lid.png => ghast_trap_top.png} | Bin ...layer_2.png => ghast_trap_top_layer_1.png} | Bin ...lock.png => locked_vanishing_block_on.png} | Bin ... => locked_vanishing_block_on_layer_1.png} | Bin ... => locked_vanishing_block_on_layer_2.png} | Bin ...ield_outside.png => stronghold_shield.png} | Bin ...nside.png => stronghold_shield_inside.png} | Bin 27 files changed, 349 insertions(+), 51 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/small_cube.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/three_layer_device_active.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json create mode 100644 src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_3.png rename src/main/resources/assets/twilightforest/textures/block/{encased_fire_jet_off.png => encased_fire_jet.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{ghast_trap_lid_on.png => ghast_trap_on_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{ghast_trap_lid_on_layer_2.png => ghast_trap_on_top_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{ghast_trap_lid_on_layer_3.png => ghast_trap_on_top_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{ghast_trap_lid.png => ghast_trap_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{ghast_trap_lid_layer_2.png => ghast_trap_top_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{unlocked_vanishing_block.png => locked_vanishing_block_on.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{unlocked_vanishing_block_layer_1.png => locked_vanishing_block_on_layer_1.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{unlocked_vanishing_block_layer_2.png => locked_vanishing_block_on_layer_2.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{shield_outside.png => stronghold_shield.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{shield_inside.png => stronghold_shield_inside.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index d55cd13301..e5981e363e 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -14,10 +14,12 @@ import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.renderer.special.*; +import twilightforest.enums.TowerDeviceVariant; import twilightforest.util.TFBlockFamilies; import twilightforest.datagen.helpers.models.BlockModelBuilders; import twilightforest.init.TFBlocks; @@ -82,9 +84,63 @@ public void run() { this.wrapBlockItem(TFBlocks.MOSSY_UNDERBRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.UNDERBRICK_FLOOR.get(), this::createTrivialCube); this.trophyPedestal(); + this.wrapBlockItem(TFBlocks.STRONGHOLD_SHIELD.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.CUBE_TOP.create(block, new TextureMapping().put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block)).put(TextureSlot.TOP, TextureMapping.getBlockTexture(block, "_inside")), this.modelOutput)).with(PropertyDispatch.property(BlockStateProperties.FACING) + .select(Direction.UP, Variant.variant()) + .select(Direction.DOWN, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R180)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90))))); + + this.wrapBlockItem(TFBlocks.TOWERWOOD.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.CRACKED_TOWERWOOD.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.MOSSY_TOWERWOOD.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.INFESTED_TOWERWOOD.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.ENCASED_TOWERWOOD.get(), this::createTrivialCube); + + //reappearing - 0, 15, 10 + + this.wrapBlockItem(TFBlocks.ENCASED_SMOKER.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( + createBooleanModelDispatch(EncasedSmokerBlock.ACTIVE, + TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(block, "_on", TFTextureMapping.threeLayerDeviceOn(block, TFBlocks.GHAST_TRAP.get()), this.modelOutput), + TFModelTemplates.THREE_LAYER_DEVICE.create(block, TFTextureMapping.threeLayerDevice(block, TFBlocks.GHAST_TRAP.get(), ""), this.modelOutput))))); + ResourceLocation jetOn = TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(TFBlocks.ENCASED_FIRE_JET.get(), "_on", TFTextureMapping.threeLayerDeviceOn(TFBlocks.ENCASED_FIRE_JET.get(), TFBlocks.GHAST_TRAP.get()), this.modelOutput); + ResourceLocation jetOff = TFModelTemplates.THREE_LAYER_DEVICE.create(TFBlocks.ENCASED_FIRE_JET.get(), TFTextureMapping.threeLayerDevice(TFBlocks.ENCASED_FIRE_JET.get(), TFBlocks.GHAST_TRAP.get(), ""), this.modelOutput); + this.wrapBlockItem(TFBlocks.ENCASED_FIRE_JET.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(EncasedFireJetBlock.STATE).generate(variant -> Variant.variant().with(VariantProperties.MODEL, variant.isVariantOn() ? jetOn : jetOff))))); + this.wrapBlockItem(TFBlocks.GHAST_TRAP.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(createBooleanModelDispatch(GhastTrapBlock.ACTIVE, + TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(block, "_on", TFTextureMapping.threeLayerDeviceOn(block, block), this.modelOutput), + TFModelTemplates.THREE_LAYER_DEVICE.create(block, TFTextureMapping.threeLayerDevice(block, block, ""), this.modelOutput))))); + this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.THREE_LAYER_BLOCK.create(block, TFTextureMapping.threeLayerBlock(block, ""), this.modelOutput)))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.ANTIBUILT_BLOCK.get(), TFModelTemplates.TWO_LAYER_BLOCK_DARKER.create(TFBlocks.ANTIBUILT_BLOCK.get(), TFTextureMapping.twoLayerBlock(TFBlocks.ANTIBUILT_BLOCK.get(), ""), this.modelOutput))); + this.wrapBlockItem(TFBlocks.CARMINITE_BUILDER.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(BuilderBlock.STATE).generate(state -> { + ResourceLocation model = switch (state) { + case BUILDER_INACTIVE -> TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "", TFTextureMapping.threeLayerBlock(block, ""), this.modelOutput); + case BUILDER_ACTIVE -> TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "_on", TFTextureMapping.threeLayerBlock(block, "_on"), this.modelOutput); + case BUILDER_TIMEOUT -> TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "_timeout", TFTextureMapping.threeLayerBlock(block, "_timeout"), this.modelOutput); + }; + return Variant.variant().with(VariantProperties.MODEL, model); + })))); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.BUILT_BLOCK.get()) + .with(PropertyDispatch.property(TranslucentBuiltBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? + TFModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_on", TextureMapping.cube(TextureMapping.getBlockTexture(TFBlocks.BUILT_BLOCK.get(), "_on")), this.modelOutput) : + TFModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()), this.modelOutput))))); + this.wrapBlockItem(TFBlocks.CARMINITE_REACTOR.get(), block -> this.createTrivialBlock(block, TexturedModel.createDefault(block1 -> TFTextureMapping.threeLayerBlock(block, ""), TFModelTemplates.THREE_LAYER_BLOCK))); + this.wrapBlockItem(TFBlocks.LOCKED_VANISHING_BLOCK.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block) + .with(PropertyDispatch.property(VanishingBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? + TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "_on", TFTextureMapping.threeLayerBlock(block, "_on"), this.modelOutput) : + TFModelTemplates.THREE_LAYER_BLOCK.create(block, TFTextureMapping.threeLayerBlock(block, ""), this.modelOutput)))))); + this.wrapBlockItem(TFBlocks.VANISHING_BLOCK.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block) + .with(PropertyDispatch.property(VanishingBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? + TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "_on", TFTextureMapping.threeLayerBlock(block, "_on"), this.modelOutput) : + TFModelTemplates.THREE_LAYER_BLOCK.create(block, TFTextureMapping.threeLayerBlock(block, ""), this.modelOutput)))))); + this.wrapBlockItem(TFBlocks.REAPPEARING_BLOCK.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block) + .with(PropertyDispatch.properties(ReappearingBlock.ACTIVE, ReappearingBlock.VANISHED).generate((active, vanished) -> { + String variant = (vanished ? "_invis" : "") + (active ? "_on" : ""); + return Variant.variant().with(VariantProperties.MODEL, vanished ? + TFModelTemplates.SMALL_CUBE.createWithSuffix(block, variant, TextureMapping.cube(TextureMapping.getBlockTexture(block, variant)), this.modelOutput) : + TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, variant, TFTextureMapping.threeLayerBlock(block, variant), this.modelOutput)); + })))); - this.wrapBlockItem(TFBlocks.ANTIBUILDER.get(), block -> this.blockWithRenderType(block, "cutout", TFModelTemplates.ANTIBUILDER, TFTextureMapping::threeLayerBlock)); - this.blockWithRenderType(TFBlocks.ANTIBUILT_BLOCK.get(), "cutout", TFModelTemplates.ANTIBUILT_BLOCK, TFTextureMapping::twoLayerBlock); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); //TODO aurora blocks this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); @@ -120,12 +176,6 @@ public void run() { this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); this.forcefield(TFBlocks.VIOLET_FORCE_FIELD.get()); - var builtMapping = TextureMapping.cube(TFBlocks.BUILT_BLOCK.get()); - ResourceLocation builtOff = TFModelTemplates.FULLBRIGHT_BLOCK.create(TFBlocks.BUILT_BLOCK.get(), builtMapping, this.modelOutput); - ResourceLocation builtOn = TFModelTemplates.FULLBRIGHT_BLOCK.createWithSuffix(TFBlocks.BUILT_BLOCK.get(), "_active", builtMapping, this.modelOutput); - this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.BUILT_BLOCK.get()) - .with(PropertyDispatch.property(TranslucentBuiltBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? builtOn : builtOff)))); - this.generateSpecialModel(TFBlocks.KEEPSAKE_CASKET.get(), Blocks.NETHERITE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/keepsake_casket"), new KeepsakeCasketSpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.SKULL_CHEST.get(), Blocks.BONE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/skull_chest"), new SkullChestSpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.CICADA.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/cicada"), new CicadaSpecialRenderer.Unbaked())); @@ -174,7 +224,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); this.generateHollowLog(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_PLANKS.get(), this::createTrivialCube); TextureMapping twilightOak = TextureMapping.cube(TFBlocks.TWILIGHT_OAK_PLANKS.get()); @@ -195,7 +245,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); this.generateHollowLog(TFBlocks.CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.CANOPY_LEAVES.get(), TextureMapping.cube(Blocks.SPRUCE_LEAVES), -10380959); this.wrapBlockItem(TFBlocks.CANOPY_PLANKS.get(), this::createTrivialCube); TextureMapping canopy = TextureMapping.cube(TFBlocks.CANOPY_PLANKS.get()); @@ -220,7 +270,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); this.generateHollowLog(TFBlocks.MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.MANGROVE_LEAVES.get(), TextureMapping.cube(Blocks.BIRCH_LEAVES), -8345771); this.wrapBlockItem(TFBlocks.MANGROVE_ROOT.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MANGROVE_PLANKS.get(), this::createTrivialCube); @@ -242,7 +292,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.DARK_LEAVES.get(), -12012264); this.wrapBlockItem(TFBlocks.DARK_PLANKS.get(), this::createTrivialCube); TextureMapping dark = TextureMapping.cube(TFBlocks.DARK_PLANKS.get()); @@ -264,7 +314,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); this.generateTreeCore(TFBlocks.TIME_LOG.get(), TFBlocks.TIME_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TIME_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.TIME_LEAVES.get(), 6986775); this.wrapBlockItem(TFBlocks.TIME_PLANKS.get(), this::createTrivialCube); TextureMapping time = TextureMapping.cube(TFBlocks.TIME_PLANKS.get()); @@ -286,7 +336,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); this.generateTreeCore(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), 7130346); this.wrapBlockItem(TFBlocks.TRANSFORMATION_PLANKS.get(), this::createTrivialCube); TextureMapping transformation = TextureMapping.cube(TFBlocks.TRANSFORMATION_PLANKS.get()); @@ -308,7 +358,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); this.generateTreeCore(TFBlocks.MINING_LOG.get(), TFBlocks.MINING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MINING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.MINING_LEAVES.get(), 16576836); this.wrapBlockItem(TFBlocks.MINING_PLANKS.get(), this::createTrivialCube); TextureMapping mining = TextureMapping.cube(TFBlocks.MINING_PLANKS.get()); @@ -330,7 +380,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); this.generateTreeCore(TFBlocks.SORTING_LOG.get(), TFBlocks.SORTING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SORTING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE.get()); - this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.SORTING_LEAVES.get(), 3558403); this.wrapBlockItem(TFBlocks.SORTING_PLANKS.get(), this::createTrivialCube); TextureMapping sorting = TextureMapping.cube(TFBlocks.SORTING_PLANKS.get()); @@ -346,9 +396,9 @@ private void generateWoodBlocks() { this.generateHangingSign(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), TFBlocks.STRIPPED_SORTING_LOG.get()); this.generateBanister(TFBlocks.SORTING_BANISTER.get(), sorting); - this.generateSapling(TFBlocks.HOLLOW_OAK_SAPLING.get(), TFBlocks.POTTED_HOLLOW_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.HOLLOW_OAK_SAPLING.get(), TFBlocks.POTTED_HOLLOW_OAK_SAPLING.get(), PlantType.NOT_TINTED); this.generateLeaves(TFBlocks.RAINBOW_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); - this.generateSapling(TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.POTTED_RAINBOW_OAK_SAPLING.get(), BlockModelGenerators.PlantType.NOT_TINTED); + this.generateSapling(TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.POTTED_RAINBOW_OAK_SAPLING.get(), PlantType.NOT_TINTED); this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); this.createChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal"), false); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 146c7be48f..8139ff5bc4 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -1,25 +1,20 @@ package twilightforest.datagen.assets.models; -import net.minecraft.client.data.models.model.ModelLocationUtils; import net.minecraft.client.data.models.model.ModelTemplate; import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; -import java.util.Optional; - public class TFModelTemplates extends ModelTemplates { - public static final ModelTemplate ANTIBUILDER = create("twilightforest:antibuilder", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(15, 15).texture(TFTextureSlot.ALL_2).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_3).cullface(direction))).build(); - public static final ModelTemplate ANTIBUILT_BLOCK = create("twilightforest:antibuilt_block", TextureSlot.ALL, TFTextureSlot.ALL_2).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube_all")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).cullface(direction))) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.emissivity(10, 10).texture(TFTextureSlot.ALL_2).cullface(direction))).build(); + public static final ModelTemplate TWO_LAYER_BLOCK = create("twilightforest:util/two_layer_block_15", TextureSlot.ALL, TFTextureSlot.ALL_2); + public static final ModelTemplate TWO_LAYER_BLOCK_DARKER = create("twilightforest:util/two_layer_block_10", TextureSlot.ALL, TFTextureSlot.ALL_2); + public static final ModelTemplate THREE_LAYER_BLOCK = create("twilightforest:util/three_layer_block", TextureSlot.ALL, TFTextureSlot.ALL_2, TFTextureSlot.ALL_3); + public static final ModelTemplate SMALL_CUBE = create("twilightforest:util/small_cube", TextureSlot.ALL); + + public static final ModelTemplate THREE_LAYER_DEVICE = create("twilightforest:util/three_layer_device", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TextureSlot.SIDE, TFTextureSlot.SIDE_2, TFTextureSlot.SIDE_3); + public static final ModelTemplate THREE_LAYER_DEVICE_ACTIVE = create("twilightforest:util/three_layer_device_active", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TFTextureSlot.TOP_3, TextureSlot.SIDE, TFTextureSlot.SIDE_2, TFTextureSlot.SIDE_3); public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:util/bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:util/bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); @@ -29,9 +24,7 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_Z = create("twilightforest:util/cube_column_rotationally_special_z", "_special_z", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); public static final ModelTemplate FORCEFIELD = create("twilightforest:forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); - public static final ModelTemplate FULLBRIGHT_BLOCK = create("twilightforest:fullbright_block", TextureSlot.ALL).extend() - .parent(ResourceLocation.withDefaultNamespace("block/cube")) - .element(builder -> builder.allFaces((direction, faceBuilder) -> faceBuilder.texture(TextureSlot.ALL).emissivity(15, 15).cullface(direction))).build(); + public static final ModelTemplate FULLBRIGHT_BLOCK = create("twilightforest:util/fullbright_cube", TextureSlot.ALL); public static final ModelTemplate CTM_NO_BASE = create("twilightforest:ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate CTM = create("twilightforest:ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index 1c3253d86b..c39df67fb0 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -6,18 +6,33 @@ import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.Nullable; import twilightforest.enums.BossVariant; +import twilightforest.init.TFBlocks; public class TFTextureMapping { - public static TextureMapping twoLayerBlock(Block block) { - return TextureMapping.cube(block) - .put(TFTextureSlot.ALL_2, TextureMapping.getBlockTexture(block, "_layer_1")); + public static TextureMapping twoLayerBlock(Block block, String suffix) { + return TextureMapping.cube(TextureMapping.getBlockTexture(block, suffix)) + .put(TFTextureSlot.ALL_2, TextureMapping.getBlockTexture(block, suffix + "_layer_1")); } - public static TextureMapping threeLayerBlock(Block block) { - return TextureMapping.cube(block) - .put(TFTextureSlot.ALL_2, TextureMapping.getBlockTexture(block, "_layer_1")) - .put(TFTextureSlot.ALL_3, TextureMapping.getBlockTexture(block, "_layer_2")); + public static TextureMapping threeLayerBlock(Block block, String suffix) { + return twoLayerBlock(block, suffix) + .put(TFTextureSlot.ALL_3, TextureMapping.getBlockTexture(block, suffix + "_layer_2")); + } + + public static TextureMapping threeLayerDevice(Block block, Block topBlock, String suffix) { + return new TextureMapping() + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block, suffix)) + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(topBlock, suffix + "_top")) + .put(TFTextureSlot.TOP_2, TextureMapping.getBlockTexture(topBlock, suffix + "_top_layer_1")) + .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(TFBlocks.ENCASED_TOWERWOOD.get())) + .put(TFTextureSlot.SIDE_2, TextureMapping.getBlockTexture(block, "_layer_1")) + .put(TFTextureSlot.SIDE_3, TextureMapping.getBlockTexture(block, suffix + "_layer_2")); + } + + public static TextureMapping threeLayerDeviceOn(Block block, Block topBlock) { + return threeLayerDevice(block, topBlock, "_on") + .put(TFTextureSlot.TOP_3, TextureMapping.getBlockTexture(topBlock, "_on_top_layer_2")); } public static TextureMapping ctmBlock(Block block) { diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index cad6a9353b..be78944b1d 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -4,8 +4,12 @@ public class TFTextureSlot { - public static final TextureSlot ALL_2 = TextureSlot.create("all_2"); - public static final TextureSlot ALL_3 = TextureSlot.create("all_3"); + public static final TextureSlot ALL_2 = TextureSlot.create("all2"); + public static final TextureSlot ALL_3 = TextureSlot.create("all3"); + public static final TextureSlot TOP_2 = TextureSlot.create("top2"); + public static final TextureSlot TOP_3 = TextureSlot.create("top3"); + public static final TextureSlot SIDE_2 = TextureSlot.create("side2"); + public static final TextureSlot SIDE_3 = TextureSlot.create("side3"); public static final TextureSlot MIDDLE = TextureSlot.create("middle"); diff --git a/src/main/java/twilightforest/block/StrongholdShieldBlock.java b/src/main/java/twilightforest/block/StrongholdShieldBlock.java index 207c23a9cb..5ccc7aba05 100644 --- a/src/main/java/twilightforest/block/StrongholdShieldBlock.java +++ b/src/main/java/twilightforest/block/StrongholdShieldBlock.java @@ -37,11 +37,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder range + 1.0); Direction hitFace = ray.getDirection(); - boolean upOrDown = state.getValue(DirectionalBlock.FACING) == Direction.UP || state.getValue(DirectionalBlock.FACING) == Direction.DOWN; - Direction sideFace = state.getValue(DirectionalBlock.FACING).getOpposite(); - Direction upFace = state.getValue(DirectionalBlock.FACING); + Direction sideFace = state.getValue(DirectionalBlock.FACING); - if (hitFace == (upOrDown ? upFace : sideFace)) { + if (hitFace == sideFace) { return player.getDestroySpeed(Blocks.STONE.defaultBlockState(), pos) / 1.5F / 100F; } else { return super.getDestroyProgress(state, player, getter, pos); diff --git a/src/main/java/twilightforest/enums/FireJetVariant.java b/src/main/java/twilightforest/enums/FireJetVariant.java index a10c4f8191..b5b681908d 100644 --- a/src/main/java/twilightforest/enums/FireJetVariant.java +++ b/src/main/java/twilightforest/enums/FireJetVariant.java @@ -19,4 +19,8 @@ public String toString() { public String getSerializedName() { return name().toLowerCase(Locale.ROOT); } + + public boolean isVariantOn() { + return this == POPPING || this == FLAME; + } } diff --git a/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json b/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json new file mode 100644 index 0000000000..ce7172ac55 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json @@ -0,0 +1,21 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "up": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "north": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "south": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "west": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "east": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/small_cube.json b/src/main/resources/assets/twilightforest/models/block/util/small_cube.json new file mode 100644 index 0000000000..b873b03171 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/small_cube.json @@ -0,0 +1,21 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 6, 6, 6 ], + "to": [ 10, 10, 10 ], + "faces": { + "down": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "up": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "north": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "south": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "west": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, + "east": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json b/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json new file mode 100644 index 0000000000..2921ebfced --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json @@ -0,0 +1,45 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#all", "cullface": "down"}, + "up": {"texture": "#all", "cullface": "up"}, + "north": {"texture": "#all", "cullface": "north"}, + "south": {"texture": "#all", "cullface": "south"}, + "west": {"texture": "#all", "cullface": "west"}, + "east": {"texture": "#all", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, + "down": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "down"}, + "north": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, + "south": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, + "west": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, + "east": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, + "down": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "down"}, + "north": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, + "south": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, + "west": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, + "east": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json new file mode 100644 index 0000000000..951482400c --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json @@ -0,0 +1,42 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#bottom", "cullface": "down"}, + "up": {"texture": "#top", "cullface": "up"}, + "north": {"texture": "#side", "cullface": "north"}, + "south": {"texture": "#side", "cullface": "south"}, + "west": {"texture": "#side", "cullface": "west"}, + "east": {"texture": "#side", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#top2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, + "north": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, + "south": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, + "west": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, + "east": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "north": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, + "south": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, + "west": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, + "east": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/three_layer_device_active.json b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device_active.json new file mode 100644 index 0000000000..f1a44b593c --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device_active.json @@ -0,0 +1,43 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#bottom", "cullface": "down"}, + "up": {"texture": "#top", "cullface": "up"}, + "north": {"texture": "#side", "cullface": "north"}, + "south": {"texture": "#side", "cullface": "south"}, + "west": {"texture": "#side", "cullface": "west"}, + "east": {"texture": "#side", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#top2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, + "north": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, + "south": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, + "west": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, + "east": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#top3", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "up"}, + "north": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, + "south": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, + "west": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, + "east": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json new file mode 100644 index 0000000000..0e7f2c9846 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json @@ -0,0 +1,33 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#all", "cullface": "down"}, + "up": {"texture": "#all", "cullface": "up"}, + "north": {"texture": "#all", "cullface": "north"}, + "south": {"texture": "#all", "cullface": "south"}, + "west": {"texture": "#all", "cullface": "west"}, + "east": {"texture": "#all", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, + "down": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "down"}, + "north": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, + "south": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, + "west": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, + "east": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json new file mode 100644 index 0000000000..e6eb903f92 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json @@ -0,0 +1,33 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#all", "cullface": "down"}, + "up": {"texture": "#all", "cullface": "up"}, + "north": {"texture": "#all", "cullface": "north"}, + "south": {"texture": "#all", "cullface": "south"}, + "west": {"texture": "#all", "cullface": "west"}, + "east": {"texture": "#all", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, + "down": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "down"}, + "north": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, + "south": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, + "west": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, + "east": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_1.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..68719bad77836e1619ff9fa4ebf9e6c3905bc1fb GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJTYyi9YXc)AkZH&L_z;j{Dhcun z{?G7qyMY&wC*|ql7$R{wIl+aQ=ZbIwgL4Z*lfSR%l~OB)`UZygqEFj@16472y85}S Ib4q9e0N-O9MgRZ+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_2.png b/src/main/resources/assets/twilightforest/textures/block/carminite_builder_timeout_layer_2.png index 68719bad77836e1619ff9fa4ebf9e6c3905bc1fb..ec1947616072d219809391a9b34a9b37e6539f19 100644 GIT binary patch delta 88 zcmXS}nV=c$zyJcP>^Cn4QcNX5e!>44o^Chr0`inST^vIsE+;3rF!Q)@8XREsVQ`(6 m!N}%TBU8lVS}xH!kC~z50mE(AYpksxLp)vmT-G@yGywobw;3}4 delta 79 zcmb;^o}lT~z{tqJz+lJy_z;j{Dhcun{?G7qyMY&wC*|ql7$R{wIl+aQ=ZbIwgL4Z* glfSR%l~OB)`UZygqEFj@16472y85}Sb4q9e0F`40Y)DN*J&AyY;H9&MLe$M5}osy8A={7+;+Xj Q+6pqn)78&qol`;+0H^&NG5`Po diff --git a/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_off.png b/src/main/resources/assets/twilightforest/textures/block/encased_fire_jet.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/encased_fire_jet_off.png rename to src/main/resources/assets/twilightforest/textures/block/encased_fire_jet.png diff --git a/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top.png diff --git a/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_2.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_2.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_3.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_on_layer_3.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_on_top_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_top.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_top.png diff --git a/src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_layer_2.png b/src/main/resources/assets/twilightforest/textures/block/ghast_trap_top_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/ghast_trap_lid_layer_2.png rename to src/main/resources/assets/twilightforest/textures/block/ghast_trap_top_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on.png diff --git a/src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block_layer_1.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on_layer_1.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block_layer_1.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on_layer_1.png diff --git a/src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block_layer_2.png b/src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on_layer_2.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/unlocked_vanishing_block_layer_2.png rename to src/main/resources/assets/twilightforest/textures/block/locked_vanishing_block_on_layer_2.png diff --git a/src/main/resources/assets/twilightforest/textures/block/shield_outside.png b/src/main/resources/assets/twilightforest/textures/block/stronghold_shield.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/shield_outside.png rename to src/main/resources/assets/twilightforest/textures/block/stronghold_shield.png diff --git a/src/main/resources/assets/twilightforest/textures/block/shield_inside.png b/src/main/resources/assets/twilightforest/textures/block/stronghold_shield_inside.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/shield_inside.png rename to src/main/resources/assets/twilightforest/textures/block/stronghold_shield_inside.png From 6e72be709a33b60e1d7c2b04259eddc14ed8f456 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:03:07 -0600 Subject: [PATCH 103/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 64 ++++++- .../blockstates/built_block.json | 2 +- .../blockstates/carminite_builder.json | 13 ++ .../blockstates/carminite_reactor.json | 7 + .../blockstates/cracked_towerwood.json | 7 + .../blockstates/encased_fire_jet.json | 16 ++ .../blockstates/encased_smoker.json | 10 + .../blockstates/encased_towerwood.json | 7 + .../blockstates/ghast_trap.json | 10 + .../blockstates/infested_towerwood.json | 7 + .../blockstates/locked_vanishing_block.json | 10 + .../blockstates/mossy_towerwood.json | 7 + .../blockstates/reappearing_block.json | 16 ++ .../blockstates/stronghold_shield.json | 30 +++ .../twilightforest/blockstates/towerwood.json | 7 + .../blockstates/vanishing_block.json | 10 + .../items/carminite_builder.json | 6 + .../items/carminite_reactor.json | 6 + .../items/cracked_towerwood.json | 6 + .../items/encased_fire_jet.json | 6 + .../twilightforest/items/encased_smoker.json | 6 + .../items/encased_towerwood.json | 6 + .../twilightforest/items/ghast_trap.json | 6 + .../items/infested_towerwood.json | 6 + .../items/locked_vanishing_block.json | 6 + .../twilightforest/items/mossy_towerwood.json | 6 + .../items/reappearing_block.json | 6 + .../items/stronghold_shield.json | 6 + .../twilightforest/items/towerwood.json | 6 + .../twilightforest/items/vanishing_block.json | 6 + .../models/block/antibuilder.json | 171 +----------------- .../models/block/antibuilt_block.json | 107 +---------- .../models/block/built_block.json | 66 +------ .../models/block/built_block_active.json | 70 ------- .../models/block/built_block_on.json | 6 + .../models/block/carminite_builder.json | 8 + .../models/block/carminite_builder_on.json | 8 + .../block/carminite_builder_timeout.json | 8 + .../models/block/carminite_reactor.json | 8 + .../models/block/cracked_towerwood.json | 6 + .../models/block/encased_fire_jet.json | 11 ++ .../models/block/encased_fire_jet_on.json | 12 ++ .../models/block/encased_smoker.json | 11 ++ .../models/block/encased_smoker_on.json | 12 ++ .../models/block/encased_towerwood.json | 6 + .../models/block/ghast_trap.json | 11 ++ .../models/block/ghast_trap_on.json | 12 ++ .../models/block/infested_towerwood.json | 6 + .../models/block/locked_vanishing_block.json | 8 + .../block/locked_vanishing_block_on.json | 8 + .../models/block/mossy_towerwood.json | 6 + .../models/block/reappearing_block.json | 8 + .../models/block/reappearing_block_invis.json | 6 + .../block/reappearing_block_invis_on.json | 6 + .../models/block/reappearing_block_on.json | 8 + .../models/block/stronghold_shield.json | 7 + .../models/block/towerwood.json | 6 + .../models/block/vanishing_block.json | 8 + .../models/block/vanishing_block_on.json | 8 + 59 files changed, 510 insertions(+), 415 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_builder.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_reactor.json create mode 100644 src/generated/resources/assets/twilightforest/items/cracked_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_smoker.json create mode 100644 src/generated/resources/assets/twilightforest/items/encased_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/ghast_trap.json create mode 100644 src/generated/resources/assets/twilightforest/items/infested_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/locked_vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/mossy_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/reappearing_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/stronghold_shield.json create mode 100644 src/generated/resources/assets/twilightforest/items/towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/items/vanishing_block.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block_active.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/built_block_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_smoker.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ghast_trap.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ghast_trap_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/reappearing_block_on.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/towerwood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/vanishing_block_on.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index a7e42c2cf8..f411848a84 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-08T10:14:05.9026132 Model Definitions - twilightforest +// 1.21.4 2025-04-08T17:56:02.4918634 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -17,7 +17,7 @@ d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_ 837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json 0fe35f334a5cf6d5868913b14ce8c0ea7badb41b assets/twilightforest/blockstates/bold_stone_pillar.json 54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json -d81e7dded354de592cc34fae65a72b922f5bc2c4 assets/twilightforest/blockstates/built_block.json +787d527dc15da8db4f3f87740e9e4439f0d5772e assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json 97606ce1e236f6a9fa8a4fe1cc6ebf8a86943766 assets/twilightforest/blockstates/candelabra.json 4cf9e1114c26460ef7b405d4da5e9c3bbc712dd0 assets/twilightforest/blockstates/canopy_banister.json @@ -43,6 +43,8 @@ c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canop 3febf0319a950602bcf6b883fd9d54b2c9782e4a assets/twilightforest/blockstates/canopy_window.json a18457224a5c13cd007e7189fbf01fa9a2962f3d assets/twilightforest/blockstates/canopy_window_pane.json eb60f7ee8af365cf7321539690c0e36e9f9e88fb assets/twilightforest/blockstates/canopy_wood.json +b828a5f795b87a38fdff349a5f42f0d2e1b3709e assets/twilightforest/blockstates/carminite_builder.json +37ef42e7fd6f7021d4fc7ae256dda9330d5123b7 assets/twilightforest/blockstates/carminite_reactor.json de808df0569c78201d6ec7eb44a4953441899df9 assets/twilightforest/blockstates/castle_brick.json 8fe8f09d6bc602bf4af5c30b7b60ba6c0084324c assets/twilightforest/blockstates/castle_brick_stairs.json a1aafd0da411c08a2aadb7772175bbd57729d3d9 assets/twilightforest/blockstates/castle_roof_tile.json @@ -57,6 +59,7 @@ c7b654982c79efaa261d471cb7b2c8e65c84fa19 assets/twilightforest/blockstates/crack 8ad74b6899b8c0e5918617e47587480edcafeb55 assets/twilightforest/blockstates/cracked_nagastone_pillar.json 9fb90f7d04afc435739d193e468e69f084d87cbb assets/twilightforest/blockstates/cracked_nagastone_stairs_left.json e7199853ca29145ffb01743e9be73457bb867825 assets/twilightforest/blockstates/cracked_nagastone_stairs_right.json +b2c1cfac0af7d31371e97c79b3c03064a3d75f8e assets/twilightforest/blockstates/cracked_towerwood.json b66481a27d37b515e3f11b9769d77ab1be6adfb9 assets/twilightforest/blockstates/cracked_underbrick.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/creeper_wall_skull_candle.json @@ -88,10 +91,14 @@ a90095fb67338e7536dd63402aa6326ce255c838 assets/twilightforest/blockstates/dark_ 067457a3e72706fed29c2901fb2f74c732269276 assets/twilightforest/blockstates/encased_castle_brick_pillar.json eea06f3b13a9e6494096a2c4eabb50c25a279014 assets/twilightforest/blockstates/encased_castle_brick_stairs.json dca7d6a52b2975ff8a5e4b71a18eef1798b1df39 assets/twilightforest/blockstates/encased_castle_brick_tile.json +fdbaed4b18eff75c1202f25441f63a6d1c18b63a assets/twilightforest/blockstates/encased_fire_jet.json +ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encased_smoker.json +fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json +836e22887f073d234297a3f80bc6c6f4546fbdfc assets/twilightforest/blockstates/ghast_trap.json f208a33fe25aec4bf37f22f588e06defb80b4a34 assets/twilightforest/blockstates/green_force_field.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json @@ -155,6 +162,7 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json +799ee46ea3afedabe20cf44b0079b6f447dff449 assets/twilightforest/blockstates/infested_towerwood.json 63888a1eea77277c50695a78d8fa7fe3732d7dc9 assets/twilightforest/blockstates/jungle_banister.json 0c9d3bbbca93e0b56793a9eebcdfba0547440a47 assets/twilightforest/blockstates/keepsake_casket.json 4ce6459423e55eb6ee68205584fc72fdf2ff325b assets/twilightforest/blockstates/knight_phantom_boss_spawner.json @@ -164,6 +172,7 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_wall_trophy.json ad692089c598a53aba9baba70751d15bc9be2c47 assets/twilightforest/blockstates/liveroot_block.json +a0c2341f299c41efb1b87c70e0cc28785d35b23f assets/twilightforest/blockstates/locked_vanishing_block.json ffda814651732d9d2e2ad596b5f82ae453eba4ab assets/twilightforest/blockstates/mangrove_banister.json 89480f14f87cf18f9e507251a0bb479a962afbb2 assets/twilightforest/blockstates/mangrove_button.json cbd68284ccf7c5f2860f0c5823a05c3f6deff522 assets/twilightforest/blockstates/mangrove_chest.json @@ -221,6 +230,7 @@ ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy 6172f9532121bdd2e1151694e1516094c2fdaa35 assets/twilightforest/blockstates/mossy_nagastone_pillar.json 7e17fa3a718f3698671c168f2eac9733cdf51b06 assets/twilightforest/blockstates/mossy_nagastone_stairs_left.json 884a4d18955eb22c4d5afebff019d6bc5aa00b9c assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json +fe5bd00d8150e9d086a951a8a4df9557e2510394 assets/twilightforest/blockstates/mossy_towerwood.json 388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json 7d84f2b8f8ce462a4cdd4a0a690b4b59ba235ca0 assets/twilightforest/blockstates/nagastone_head.json @@ -254,6 +264,7 @@ d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potte 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json 31c30e44cf4eeb0ccc7b65e72518267273761f6a assets/twilightforest/blockstates/rainbow_oak_leaves.json 418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json +ca8b081c660985f4a74b629311953cd19b578d1d assets/twilightforest/blockstates/reappearing_block.json bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json @@ -302,6 +313,7 @@ f1aefe5659335464583459fe475d3c8791c2cbc1 assets/twilightforest/blockstates/strip 14fa938521e7501a3cff560e88b89a877b69435e assets/twilightforest/blockstates/stripped_transformation_wood.json cc40f471409eb7fea00628473cfbe152318065ee assets/twilightforest/blockstates/stripped_twilight_oak_log.json ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/stripped_twilight_oak_wood.json +73f07bb7c1212505aad3a2fd3a097430d3354f39 assets/twilightforest/blockstates/stronghold_shield.json 76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json 9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json f7e3e61ed9db4505ff87e8f65b6b341c41f9abc1 assets/twilightforest/blockstates/terrorcotta_lines.json @@ -329,6 +341,7 @@ b7917cb18db2420d153dc6ecbd4270b8262d2b70 assets/twilightforest/blockstates/time_ 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_wall_hanging_sign.json 582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_wall_sign.json 4318b5ea90be35b0abdff8c8e1ff6bb6ffa7c888 assets/twilightforest/blockstates/time_wood.json +a53ad9fa4bd7705ef72de44f9b28899a3bc16aa1 assets/twilightforest/blockstates/towerwood.json 7ec2bf962614d368fe4cefe64d8bbf05f4d5b89a assets/twilightforest/blockstates/transformation_banister.json 41905a0e305a91b3a747b96ab1e7f72b70f34069 assets/twilightforest/blockstates/transformation_button.json d61dc0248f3ca96426e92f5394caf350167bdb74 assets/twilightforest/blockstates/transformation_chest.json @@ -379,6 +392,7 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json 6d0f3371bf4a3e3b123e8fdbab4cd2032d05134e assets/twilightforest/blockstates/vangrove_banister.json +69f0f90e8568986ea8bed10f4dca2e3ed9532c2a assets/twilightforest/blockstates/vanishing_block.json e651b6adfa084512966131823b5e9b3e3877d7d7 assets/twilightforest/blockstates/violet_castle_door.json ca3eea9eabe6234d063faf9984c8201adc4f4782 assets/twilightforest/blockstates/violet_castle_rune_brick.json ec6c3e13a257a3e652bbaae9d74f5fafe1e09fbb assets/twilightforest/blockstates/violet_force_field.json @@ -450,9 +464,11 @@ ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stai 80dcdab276f4490d97dd3b9efc8f4100785f49aa assets/twilightforest/items/canopy_wood.json 8357c3180197507bc520d84941553c1b036bea13 assets/twilightforest/items/carminite.json 5de6a2921cb6962beadbf3a658b05e2226125d04 assets/twilightforest/items/carminite_broodling_spawn_egg.json +13014220e21bf56c3c8a096748d0c8e44638d777 assets/twilightforest/items/carminite_builder.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/carminite_ghastguard_spawn_egg.json b65f46e982e991ee9baa05d34d46cd7f4a6daf1a assets/twilightforest/items/carminite_ghastling_spawn_egg.json 7709b3bedf4e16f0e1a39f2847aad02068a0913b assets/twilightforest/items/carminite_golem_spawn_egg.json +5413d58c95eb1aa23317293e36a080cdf9cffeeb assets/twilightforest/items/carminite_reactor.json e4a98d94eefb11721c63a6313bd658d7339b7d9a assets/twilightforest/items/castle_brick.json 69512ab51799d196d0e75600f21d3ee574d8941f assets/twilightforest/items/castle_brick_stairs.json ad021def36e9b7365b17067ce8c30d113f2ff60a assets/twilightforest/items/castle_roof_tile.json @@ -474,6 +490,7 @@ e7b3781abe861c3e161b402325793ba8436b62ec assets/twilightforest/items/cracked_maz d0d964719f31180f7986a96318b2927cbd9ae8c2 assets/twilightforest/items/cracked_nagastone_pillar.json e9aa2d0b0148a1618071bab3b7c864e7359b0ac3 assets/twilightforest/items/cracked_nagastone_stairs_left.json 06086a7ba7c3334e9fcb25c85ed35c16a4a76e50 assets/twilightforest/items/cracked_nagastone_stairs_right.json +a177726172be22ebef89f85f0144d4759aec51d2 assets/twilightforest/items/cracked_towerwood.json 91eadd76f632139d54482146d26f7daaf225ce40 assets/twilightforest/items/cracked_underbrick.json 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_banister.json @@ -511,6 +528,9 @@ a74f43d67bc7052bea754d9efe7d3a94ccb6810d assets/twilightforest/items/decorative_ b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_castle_brick_pillar.json 2bc0376ce4b113dd858475dfdb869fd5b9e1e6f9 assets/twilightforest/items/encased_castle_brick_stairs.json 47e4ac23a988225749ed458d88f2eed5dcf23eaa assets/twilightforest/items/encased_castle_brick_tile.json +74b7d1dffeec67ef795d5cc65ea30a29b12f6cdb assets/twilightforest/items/encased_fire_jet.json +25dc0822a6e90634dd56bd43fa5e30c3a9e19037 assets/twilightforest/items/encased_smoker.json +6881694127e2c04b7de90db26bd1b1e32e72e24b assets/twilightforest/items/encased_towerwood.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json @@ -527,6 +547,7 @@ d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json +825b5da47a4b465e2d77f10b01788d3be362b4dd assets/twilightforest/items/ghast_trap.json 93c0c71fe6e8eda7667713484b4a8f8dc6a7143e assets/twilightforest/items/giant_miner_spawn_egg.json e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_pickaxe.json 34fd62a9f35b6f108a2523b2536b6a98defa3345 assets/twilightforest/items/giant_sword.json @@ -566,6 +587,7 @@ ff07b15ba9afd5f2b1ff3e75da7dc6b8240d046b assets/twilightforest/items/ice_bomb.js 80841f4ea8f028b57fea72e030abe933e0de19e4 assets/twilightforest/items/ice_bow.json a65c2f1083bc3ee1d03148a13e6c4e63e9562765 assets/twilightforest/items/ice_crystal_spawn_egg.json da038d6dd0064ee10cf5a4034ab1d0e8f18e38b9 assets/twilightforest/items/ice_sword.json +2ec66ed95e668c6687fc51f851c708435bb1cce8 assets/twilightforest/items/infested_towerwood.json 4afca1101023cf4035f197b3f46cbc06c2228270 assets/twilightforest/items/ironwood_axe.json ab18463d2adeacfe78df2ee1845e156f3b4de9ce assets/twilightforest/items/ironwood_boots.json 586f1c8ed37825f8259e866f5f26133e6575a0b5 assets/twilightforest/items/ironwood_chestplate.json @@ -602,6 +624,7 @@ d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_scepter.json 5e5cc29ff6d40efbb6da932d4f4b00b4b04e058a assets/twilightforest/items/liveroot.json f7c9e142ddb7be93b421a58c5b6e319285d13d4b assets/twilightforest/items/liveroot_block.json +9da14ebd07f3c59a848c79852cbcf82446631e12 assets/twilightforest/items/locked_vanishing_block.json 1a3b6e462423c661cba82eb1f4aec0717ad92fa3 assets/twilightforest/items/lower_goblin_knight_spawn_egg.json 9a55e1f732bd74619934d4e50d34d86fdbfc5b86 assets/twilightforest/items/magic_beans.json c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.json @@ -675,6 +698,7 @@ a94eaad54a022f788072a38be3681262ad00d130 assets/twilightforest/items/mossy_castl fe56517b8d02951cf83b53622249798d06eeeebd assets/twilightforest/items/mossy_nagastone_pillar.json b0f2cd23bcb5477ea5e593d71f2db3487355c658 assets/twilightforest/items/mossy_nagastone_stairs_left.json 63fd50940aafa1cb2c41600d548891427e8b0d11 assets/twilightforest/items/mossy_nagastone_stairs_right.json +0c434c93d562c1b73a1b4d10a53fbb4d6a3ede42 assets/twilightforest/items/mossy_towerwood.json d4d26eca73b3b8cef453bfcaf50d7549472c0f86 assets/twilightforest/items/mossy_underbrick.json dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json @@ -725,6 +749,7 @@ d0506f746bc4f2c5133dfffa619099cce63ce04e assets/twilightforest/items/raven_feath 771501bd164045744ea9ba04620d916b25c532ce assets/twilightforest/items/raw_ironwood.json 1538036cbfcc4bc73b85061e0c98ee74151c774d assets/twilightforest/items/raw_meef.json f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison.json +33750856199e871039c535e3ecca4fb4215e0a7d assets/twilightforest/items/reappearing_block.json d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json d6873cf3981e7fc851792bdd6f6b640d0c015e4c assets/twilightforest/items/root.json @@ -791,6 +816,7 @@ d814e46188b4004009579123355781f718100b98 assets/twilightforest/items/stripped_mi c03706085167b2917ffc410825850c7c651b6cf0 assets/twilightforest/items/stripped_transformation_wood.json 0944ff27df3c37e6cdd82236b9d48863c4a31d78 assets/twilightforest/items/stripped_twilight_oak_log.json 22199f08b11cf6ecd91c36fe09853c6f6998a744 assets/twilightforest/items/stripped_twilight_oak_wood.json +a9fee48e4c558ac75c343d3d9a05016fa7fa3a4f assets/twilightforest/items/stronghold_shield.json fde7afd8331ec0ae647c657bf10148194b4cb9b0 assets/twilightforest/items/swarm_spider_spawn_egg.json 6c7e3822b449ce65e48a4a5ed6b4e8fe3d927a3e assets/twilightforest/items/terrorcotta_arcs.json 17590dd540f0a69091f30adddf4505fcba9a584d assets/twilightforest/items/terrorcotta_curves.json @@ -821,6 +847,7 @@ b267b296b49b21fed10796bf79413db2e36c462e assets/twilightforest/items/time_trappe e429a3c1ed97fae45f8b58d96c22f0d88e8b2919 assets/twilightforest/items/time_wood.json 3cf2a82932ac9fa5013df3776317ccd871cf5575 assets/twilightforest/items/tiny_bird_spawn_egg.json d53d8b7413c628be178d083a8f64f4d3f9d17fc0 assets/twilightforest/items/torchberries.json +eb7e7a3447720aa57eb6abdd97cef72c2e4b4ba1 assets/twilightforest/items/towerwood.json 5e9cef6a1f45ed443fda7ad958b128bba5001e39 assets/twilightforest/items/towerwood_borer_spawn_egg.json f8aa6d55806c1b8c0005089a8263fbaee6c79a5a assets/twilightforest/items/tower_key.json 067d8bbc3843be7a77a69cf76faa6d0f167d3858 assets/twilightforest/items/transformation_banister.json @@ -879,6 +906,7 @@ d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_bo 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/ur_ghast_spawn_egg.json d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json 1f423291ccff6e754a0ebeba64aed85c6d172b95 assets/twilightforest/items/vangrove_banister.json +e349c000a3f8218cf9f111c8beb3cb356c52660c assets/twilightforest/items/vanishing_block.json b49a7a2a3cf45e41ba809c19d6b7b328ef59e3c3 assets/twilightforest/items/violet_castle_door.json 93656a9f715c0b6e58a7084358abe45a90e8ce7a assets/twilightforest/items/violet_castle_rune_brick.json 4b7faf9071d58cb084cbed65460cc0f3dc91a98a assets/twilightforest/items/violet_force_field.json @@ -907,8 +935,8 @@ c9d852ebe0ef4b5f0761c1bca4baa3fb379c689a assets/twilightforest/models/block/acac 41f677a1ec3a5a8d5f23a19102f9cb2fb36c4d26 assets/twilightforest/models/block/acacia_banister_tall.json 330170ffd35e9883c90256df6b5451923315b5f1 assets/twilightforest/models/block/acacia_banister_tall_extended.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alpha_yeti_boss_spawner.json -1c9b118da8b3090df8d92e90d01bc3dbd790c65c assets/twilightforest/models/block/antibuilder.json -67b8a168a06362405dddac226d485ca66b721ade assets/twilightforest/models/block/antibuilt_block.json +8ed31aa5b028f81d5cb6c0137d5761ab3ca46ba3 assets/twilightforest/models/block/antibuilder.json +5f3dddeb78aae02d98087a676ba8a366f5b15e50 assets/twilightforest/models/block/antibuilt_block.json ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json 612b554b0e3a6aff36dd99acea8ac15f4393ec61 assets/twilightforest/models/block/bamboo_banister_connected.json 131bc8614567ad5f081c2fb7dbbed8044d2a19d5 assets/twilightforest/models/block/bamboo_banister_connected_extended.json @@ -950,8 +978,8 @@ dfae34f8d9174a2288a63b0e276daae43013c1b9 assets/twilightforest/models/block/bold 8e52a7f96e67b981796584af76ebd22ab2a28e92 assets/twilightforest/models/block/brown_thorns_no_section_alt.json 52b0fb15b80228b9297770997df8724f771133b1 assets/twilightforest/models/block/brown_thorns_thorns.json 5a8afd3fdb70f78be26ee033766a3a2ac643f027 assets/twilightforest/models/block/brown_thorns_top.json -ead02af15ec17ebfc803345f6844dc29b418b20a assets/twilightforest/models/block/built_block.json -ead02af15ec17ebfc803345f6844dc29b418b20a assets/twilightforest/models/block/built_block_active.json +06bcf013f6bdf83d2be9a944bd33932dc7d8801d assets/twilightforest/models/block/built_block.json +437ebe6518b6ac512f203701e98ae06386e017d3 assets/twilightforest/models/block/built_block_on.json 1b533d9d66efaa6f21b7f84bfa6c742b15f6a09d assets/twilightforest/models/block/burnt_thorns_bottom.json 935643a433f3ad29eefb164a8d03fd67f7a823b8 assets/twilightforest/models/block/burnt_thorns_main.json 2ce68a0b10b6070ed346988f3a4b443b1893b1f2 assets/twilightforest/models/block/burnt_thorns_no_section.json @@ -1010,6 +1038,10 @@ b5a65ac72647d5bb9f96241194b80d46d04d8936 assets/twilightforest/models/block/cano 4048ab075a808300374bb5f3d374597866208efa assets/twilightforest/models/block/canopy_window_pane_side.json 45e60116cf6b4603468e057db7b866ffab09d049 assets/twilightforest/models/block/canopy_window_pane_side_alt.json 050c5571fd66ea4629fdf2ca2c6688affbbc0313 assets/twilightforest/models/block/canopy_wood.json +750cade1be162f0badbf1b1c4ffe6a5da58f46c6 assets/twilightforest/models/block/carminite_builder.json +9f801be74a98651f15520ec2ef5de0ebba65d7ed assets/twilightforest/models/block/carminite_builder_on.json +33d9009ec4cef3a63ea04a63e390ff20047d697f assets/twilightforest/models/block/carminite_builder_timeout.json +046f4e534fa8682838aadf3ec7594d8c15d54326 assets/twilightforest/models/block/carminite_reactor.json 7d4cb5c552653b8fba184db96c7b79a5ada208ee assets/twilightforest/models/block/castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/castle_brick_stairs_inner_inner.json @@ -1051,6 +1083,7 @@ c06d8dc440d1339ef152921693c6d8655759ce4b assets/twilightforest/models/block/crac 4ea797c12baf56ba00ea946b9a9d3ddcc1bc1079 assets/twilightforest/models/block/cracked_nagastone_stairs_right.json d0265cb851a40e415029a85d8fb087da4b43ef62 assets/twilightforest/models/block/cracked_nagastone_stairs_right_inner_inner.json 6307d92705ed2d9548ef2a42a429aae107fa91cd assets/twilightforest/models/block/cracked_nagastone_stairs_right_outer_outer.json +af56795d8349a7bab13ba10630b47ebac2b0138d assets/twilightforest/models/block/cracked_towerwood.json 4d1988b8b507870b1c18dd435510898acdc849e6 assets/twilightforest/models/block/cracked_underbrick.json 50869fd994edc71bf866be65080f1057d3bb1526 assets/twilightforest/models/block/crimson_banister_connected.json 79b9cdff2d7d176a8de575bee9e6f5cc1b7ba3f3 assets/twilightforest/models/block/crimson_banister_connected_extended.json @@ -1120,10 +1153,17 @@ b5d3c07bde1cdd6a9b9d05bdc99bef1d610f764a assets/twilightforest/models/block/enca d00276b52e204d81c6d891b9141ff7d8afa6f85f assets/twilightforest/models/block/encased_castle_brick_stairs_inner_inner.json 3b7928330078e854efc66b249069d32a6664aee3 assets/twilightforest/models/block/encased_castle_brick_stairs_outer_outer.json 14f6ef947f047949a907132d42fb1ce5d2e95bc6 assets/twilightforest/models/block/encased_castle_brick_tile.json +dee84caa78346055ec1311da770e1411085e448d assets/twilightforest/models/block/encased_fire_jet.json +d1380ee9b8b919fc5079c672bba17da6107c2b2e assets/twilightforest/models/block/encased_fire_jet_on.json +390b24e2efefd0fe6c3737bf0b2aec439881c64d assets/twilightforest/models/block/encased_smoker.json +f3c1c194efc96779790fa06d70184ff466e2ca0e assets/twilightforest/models/block/encased_smoker_on.json +6b63eeafc7e65c16a1dba1a460bc11a19816c259 assets/twilightforest/models/block/encased_towerwood.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json +bdaefa649722a99572a95642bffccec5fbccee0a assets/twilightforest/models/block/ghast_trap.json +69d89f7d44b3f50d0ee5f6c2571d7d34712b47ce assets/twilightforest/models/block/ghast_trap_on.json c27371c9276163a2ac58f16d9160d8bdd20cff9e assets/twilightforest/models/block/green_force_field.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json @@ -1266,6 +1306,7 @@ d3957da116b324cb5d6c7e23858a4035158b2648 assets/twilightforest/models/block/holl 26236916abc028abd465f1b8600d4ef28e1eb90d assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json 02f4f9fcc278c48690e8410d72cad03abd1252be assets/twilightforest/models/block/hollow_warped_stem_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json +292cd96949d3dbfeb0ce76bbc719ea51f60f6f8b assets/twilightforest/models/block/infested_towerwood.json b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/jungle_banister_connected.json 71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/jungle_banister_connected_extended.json 3d4b69e461873c027a628a2b8beea4146a8f01b3 assets/twilightforest/models/block/jungle_banister_inventory.json @@ -1277,6 +1318,8 @@ b24c219720a2fb2fd16580cbcff248b48212a399 assets/twilightforest/models/block/keep b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json 7043b15a78685243835fc2861e5832db90d4e6e2 assets/twilightforest/models/block/liveroot_block.json +1966404141cbc2cae04540d9fde596aab1e625a7 assets/twilightforest/models/block/locked_vanishing_block.json +f2f861ec196565a905592ab9873e7c988f9b2694 assets/twilightforest/models/block/locked_vanishing_block_on.json f9e1bf0e039aa58b55c67292bc5b307f0c479993 assets/twilightforest/models/block/mangrove_banister_connected.json e9b8256440a92072e2588d4c070f4d9a20158426 assets/twilightforest/models/block/mangrove_banister_connected_extended.json 83fae57c292157ac84ee31cafcd79aeca7fac20c assets/twilightforest/models/block/mangrove_banister_inventory.json @@ -1390,6 +1433,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 5be6f99a101c53bd0ac721021f507df961dc68cf assets/twilightforest/models/block/mossy_nagastone_stairs_right.json 0afcb830b1c831f1983975415ea0f3c96fefe653 assets/twilightforest/models/block/mossy_nagastone_stairs_right_inner_inner.json 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json +9f7d8d23bbd1a999dbc0234cbc1708996195033a assets/twilightforest/models/block/mossy_towerwood.json 33d5ae1c13ae92090a05b6d3cf4085f10622408c assets/twilightforest/models/block/mossy_underbrick.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json 79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json @@ -1444,6 +1488,10 @@ c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/pott 4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json 74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/rainbow_oak_leaves.json 8bd5239c5072f77539a40357736b47367a7484bd assets/twilightforest/models/block/rainbow_oak_sapling.json +9f2832cc8c7d484dee56a452f448035dbb021d31 assets/twilightforest/models/block/reappearing_block.json +56df5fb5364868cea031f7d9864e575dedb96aec assets/twilightforest/models/block/reappearing_block_invis.json +df5a8d57f702ef72b84411e71d09946fc11c5f2c assets/twilightforest/models/block/reappearing_block_invis_on.json +732e10c49255616016f79ce27a173d3267400909 assets/twilightforest/models/block/reappearing_block_on.json 1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json @@ -1535,6 +1583,7 @@ a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stri 36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json 4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_wood.json 36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +cc943e2f517b64e0fc4523a3e6b993fa70c9ba1b assets/twilightforest/models/block/stronghold_shield.json 525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json 93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_special_x.json 6fea7dc89fa72f60857aea922392c9319da6b513 assets/twilightforest/models/block/terrorcotta_arcs_special_z.json @@ -1594,6 +1643,7 @@ ada47f748606bcaa751a867ffcac0253b028acb5 assets/twilightforest/models/block/time dab553e2b2874cc20aef6817e94693d8bf508392 assets/twilightforest/models/block/time_trapdoor_top.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_trapped_chest.json b1d8ae6177f43c03f108ca88e1e8fb4e5827ee4a assets/twilightforest/models/block/time_wood.json +44dfe323d7ec8071c3cc0679829e5bd63e154232 assets/twilightforest/models/block/towerwood.json 7ee978bc7cdd65b7c118f2286328b86e08b172da assets/twilightforest/models/block/transformation_banister_connected.json beacb3a1557d7fd6cb8b0e74810de7feb5d704bc assets/twilightforest/models/block/transformation_banister_connected_extended.json fb76b32f0284446c56b173a8a94583e2c520faa2 assets/twilightforest/models/block/transformation_banister_inventory.json @@ -1708,6 +1758,8 @@ de826e045489780de0fa64fa1f2ccdfa11bb0fff assets/twilightforest/models/block/vang 804ae97399e542ef33c14a86d9c1ea8b05b91f36 assets/twilightforest/models/block/vangrove_banister_short_extended.json 61a45c4e4cbf5a69ae153e2766eddb01884be619 assets/twilightforest/models/block/vangrove_banister_tall.json d73e3a5bbbbcbeb9b7016d1d906dd8ecf565478a assets/twilightforest/models/block/vangrove_banister_tall_extended.json +ad76ce55988b4c67b263d382f4009bb659980ca2 assets/twilightforest/models/block/vanishing_block.json +7c6e17fb133f72e6d50832e80cdd48d45c01a0a1 assets/twilightforest/models/block/vanishing_block_on.json 755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/violet_castle_door.json f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/violet_castle_door_vanished.json ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/violet_castle_rune_brick_0.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/built_block.json b/src/generated/resources/assets/twilightforest/blockstates/built_block.json index f522189a91..99f8c888d8 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/built_block.json +++ b/src/generated/resources/assets/twilightforest/blockstates/built_block.json @@ -4,7 +4,7 @@ "model": "twilightforest:block/built_block" }, "active=true": { - "model": "twilightforest:block/built_block_active" + "model": "twilightforest:block/built_block_on" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json new file mode 100644 index 0000000000..94d149f808 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/carminite_builder.json @@ -0,0 +1,13 @@ +{ + "variants": { + "state=builder_active": { + "model": "twilightforest:block/carminite_builder_on" + }, + "state=builder_inactive": { + "model": "twilightforest:block/carminite_builder" + }, + "state=builder_timeout": { + "model": "twilightforest:block/carminite_builder_timeout" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json new file mode 100644 index 0000000000..e3d7663270 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/carminite_reactor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/carminite_reactor" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json new file mode 100644 index 0000000000..d68c950c77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cracked_towerwood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/cracked_towerwood" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json new file mode 100644 index 0000000000..bd4290a542 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_fire_jet.json @@ -0,0 +1,16 @@ +{ + "variants": { + "state=flame": { + "model": "twilightforest:block/encased_fire_jet_on" + }, + "state=idle": { + "model": "twilightforest:block/encased_fire_jet" + }, + "state=popping": { + "model": "twilightforest:block/encased_fire_jet_on" + }, + "state=timeout": { + "model": "twilightforest:block/encased_fire_jet" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json b/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json new file mode 100644 index 0000000000..d9a99cdcb5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_smoker.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/encased_smoker" + }, + "active=true": { + "model": "twilightforest:block/encased_smoker_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json new file mode 100644 index 0000000000..cfc2306fb0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/encased_towerwood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/encased_towerwood" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json b/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json new file mode 100644 index 0000000000..374d01f637 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ghast_trap.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/ghast_trap" + }, + "active=true": { + "model": "twilightforest:block/ghast_trap_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json new file mode 100644 index 0000000000..deb4c6e918 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/infested_towerwood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/infested_towerwood" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json new file mode 100644 index 0000000000..b647c39a72 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/locked_vanishing_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/locked_vanishing_block" + }, + "active=true": { + "model": "twilightforest:block/locked_vanishing_block_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json new file mode 100644 index 0000000000..b5e453d785 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mossy_towerwood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mossy_towerwood" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json b/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json new file mode 100644 index 0000000000..5500623bb9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/reappearing_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "active=false,vanished=false": { + "model": "twilightforest:block/reappearing_block" + }, + "active=false,vanished=true": { + "model": "twilightforest:block/reappearing_block_invis" + }, + "active=true,vanished=false": { + "model": "twilightforest:block/reappearing_block_on" + }, + "active=true,vanished=true": { + "model": "twilightforest:block/reappearing_block_invis_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json b/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json new file mode 100644 index 0000000000..891b91a289 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/stronghold_shield.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "twilightforest:block/stronghold_shield", + "x": 180 + }, + "facing=east": { + "model": "twilightforest:block/stronghold_shield", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "twilightforest:block/stronghold_shield", + "x": 90 + }, + "facing=south": { + "model": "twilightforest:block/stronghold_shield", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "twilightforest:block/stronghold_shield" + }, + "facing=west": { + "model": "twilightforest:block/stronghold_shield", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/towerwood.json b/src/generated/resources/assets/twilightforest/blockstates/towerwood.json new file mode 100644 index 0000000000..b81d000d52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/towerwood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/towerwood" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json new file mode 100644 index 0000000000..90834b362e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/vanishing_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/vanishing_block" + }, + "active=true": { + "model": "twilightforest:block/vanishing_block_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/carminite_builder.json b/src/generated/resources/assets/twilightforest/items/carminite_builder.json new file mode 100644 index 0000000000..b0f300c387 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/carminite_builder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/carminite_builder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/carminite_reactor.json b/src/generated/resources/assets/twilightforest/items/carminite_reactor.json new file mode 100644 index 0000000000..5e11c32ff0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/carminite_reactor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/carminite_reactor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/items/cracked_towerwood.json new file mode 100644 index 0000000000..bf93eeb4fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cracked_towerwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cracked_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/items/encased_fire_jet.json new file mode 100644 index 0000000000..d342cd083d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_fire_jet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_fire_jet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_smoker.json b/src/generated/resources/assets/twilightforest/items/encased_smoker.json new file mode 100644 index 0000000000..a726dc51ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_smoker.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_smoker" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/encased_towerwood.json b/src/generated/resources/assets/twilightforest/items/encased_towerwood.json new file mode 100644 index 0000000000..872d538333 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/encased_towerwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/encased_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ghast_trap.json b/src/generated/resources/assets/twilightforest/items/ghast_trap.json new file mode 100644 index 0000000000..9538558e60 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ghast_trap.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/ghast_trap" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/infested_towerwood.json b/src/generated/resources/assets/twilightforest/items/infested_towerwood.json new file mode 100644 index 0000000000..f662e53f73 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/infested_towerwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/infested_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/items/locked_vanishing_block.json new file mode 100644 index 0000000000..9a8602d32b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/locked_vanishing_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/locked_vanishing_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/items/mossy_towerwood.json new file mode 100644 index 0000000000..eccc3cf5fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mossy_towerwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/mossy_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/reappearing_block.json b/src/generated/resources/assets/twilightforest/items/reappearing_block.json new file mode 100644 index 0000000000..d92f49b291 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/reappearing_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/reappearing_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/stronghold_shield.json b/src/generated/resources/assets/twilightforest/items/stronghold_shield.json new file mode 100644 index 0000000000..1b10b41d15 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/stronghold_shield.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/stronghold_shield" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/towerwood.json b/src/generated/resources/assets/twilightforest/items/towerwood.json new file mode 100644 index 0000000000..1da7ccfddf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/towerwood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/vanishing_block.json b/src/generated/resources/assets/twilightforest/items/vanishing_block.json new file mode 100644 index 0000000000..0e8ad75f8b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/vanishing_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/vanishing_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json index 27221e5ed2..d2edb47019 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilder.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilder.json @@ -1,173 +1,8 @@ { - "parent": "minecraft:block/cube_all", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all" - }, - "east": { - "cullface": "east", - "texture": "#all" - }, - "north": { - "cullface": "north", - "texture": "#all" - }, - "south": { - "cullface": "south", - "texture": "#all" - }, - "up": { - "cullface": "up", - "texture": "#all" - }, - "west": { - "cullface": "west", - "texture": "#all" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all_2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_3" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", + "parent": "twilightforest:block/util/three_layer_block", "textures": { "all": "twilightforest:block/antibuilder", - "all_2": "twilightforest:block/antibuilder_layer_1", - "all_3": "twilightforest:block/antibuilder_layer_2" + "all2": "twilightforest:block/antibuilder_layer_1", + "all3": "twilightforest:block/antibuilder_layer_2" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json index c249e4c520..b97f111f22 100644 --- a/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/antibuilt_block.json @@ -1,110 +1,7 @@ { - "parent": "minecraft:block/cube_all", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "texture": "#all" - }, - "east": { - "cullface": "east", - "texture": "#all" - }, - "north": { - "cullface": "north", - "texture": "#all" - }, - "south": { - "cullface": "south", - "texture": "#all" - }, - "up": { - "cullface": "up", - "texture": "#all" - }, - "west": { - "cullface": "west", - "texture": "#all" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - }, - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 10, - "sky_light": 10 - }, - "texture": "#all_2" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "render_type": "minecraft:cutout", + "parent": "twilightforest:block/util/two_layer_block_10", "textures": { "all": "twilightforest:block/antibuilt_block", - "all_2": "twilightforest:block/antibuilt_block_layer_1" + "all2": "twilightforest:block/antibuilt_block_layer_1" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block.json b/src/generated/resources/assets/twilightforest/models/block/built_block.json index 844c7c3c30..58f0029aad 100644 --- a/src/generated/resources/assets/twilightforest/models/block/built_block.json +++ b/src/generated/resources/assets/twilightforest/models/block/built_block.json @@ -1,69 +1,5 @@ { - "parent": "minecraft:block/cube", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], + "parent": "twilightforest:block/util/fullbright_cube", "textures": { "all": "twilightforest:block/built_block" } diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block_active.json b/src/generated/resources/assets/twilightforest/models/block/built_block_active.json deleted file mode 100644 index 844c7c3c30..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/built_block_active.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "elements": [ - { - "faces": { - "down": { - "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "east": { - "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "north": { - "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "south": { - "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "up": { - "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - }, - "west": { - "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, - "texture": "#all" - } - }, - "from": [ - 0, - 0, - 0 - ], - "to": [ - 16, - 16, - 16 - ] - } - ], - "textures": { - "all": "twilightforest:block/built_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/built_block_on.json b/src/generated/resources/assets/twilightforest/models/block/built_block_on.json new file mode 100644 index 0000000000..4ea1061be9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/built_block_on.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/util/fullbright_cube", + "textures": { + "all": "twilightforest:block/built_block_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json new file mode 100644 index 0000000000..1fe150e3d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/carminite_builder.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/carminite_builder", + "all2": "twilightforest:block/carminite_builder_layer_1", + "all3": "twilightforest:block/carminite_builder_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_on.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_on.json new file mode 100644 index 0000000000..9bd7c67a63 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_on.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/carminite_builder_on", + "all2": "twilightforest:block/carminite_builder_on_layer_1", + "all3": "twilightforest:block/carminite_builder_on_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json new file mode 100644 index 0000000000..e6c6ffcde2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/carminite_builder_timeout.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/carminite_builder_timeout", + "all2": "twilightforest:block/carminite_builder_timeout_layer_1", + "all3": "twilightforest:block/carminite_builder_timeout_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json b/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json new file mode 100644 index 0000000000..3c15eda3d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/carminite_reactor.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/carminite_reactor", + "all2": "twilightforest:block/carminite_reactor_layer_1", + "all3": "twilightforest:block/carminite_reactor_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json new file mode 100644 index 0000000000..3fcc85e4e7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cracked_towerwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/cracked_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json new file mode 100644 index 0000000000..8d6616b4fb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/util/three_layer_device", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/encased_fire_jet", + "side2": "twilightforest:block/encased_fire_jet_layer_1", + "side3": "twilightforest:block/encased_fire_jet_layer_2", + "top": "twilightforest:block/ghast_trap_top", + "top2": "twilightforest:block/ghast_trap_top_layer_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json new file mode 100644 index 0000000000..6f013a00a9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_fire_jet_on.json @@ -0,0 +1,12 @@ +{ + "parent": "twilightforest:block/util/three_layer_device_active", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/encased_fire_jet_on", + "side2": "twilightforest:block/encased_fire_jet_layer_1", + "side3": "twilightforest:block/encased_fire_jet_on_layer_2", + "top": "twilightforest:block/ghast_trap_on_top", + "top2": "twilightforest:block/ghast_trap_on_top_layer_1", + "top3": "twilightforest:block/ghast_trap_on_top_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json b/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json new file mode 100644 index 0000000000..30fbed0a9e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_smoker.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/util/three_layer_device", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/encased_smoker", + "side2": "twilightforest:block/encased_smoker_layer_1", + "side3": "twilightforest:block/encased_smoker_layer_2", + "top": "twilightforest:block/ghast_trap_top", + "top2": "twilightforest:block/ghast_trap_top_layer_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json b/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json new file mode 100644 index 0000000000..ba39e4e75b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_smoker_on.json @@ -0,0 +1,12 @@ +{ + "parent": "twilightforest:block/util/three_layer_device_active", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/encased_smoker_on", + "side2": "twilightforest:block/encased_smoker_layer_1", + "side3": "twilightforest:block/encased_smoker_on_layer_2", + "top": "twilightforest:block/ghast_trap_on_top", + "top2": "twilightforest:block/ghast_trap_on_top_layer_1", + "top3": "twilightforest:block/ghast_trap_on_top_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json new file mode 100644 index 0000000000..1141475627 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/encased_towerwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/encased_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json b/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json new file mode 100644 index 0000000000..16f69b326e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ghast_trap.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:block/util/three_layer_device", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/ghast_trap", + "side2": "twilightforest:block/ghast_trap_layer_1", + "side3": "twilightforest:block/ghast_trap_layer_2", + "top": "twilightforest:block/ghast_trap_top", + "top2": "twilightforest:block/ghast_trap_top_layer_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ghast_trap_on.json b/src/generated/resources/assets/twilightforest/models/block/ghast_trap_on.json new file mode 100644 index 0000000000..78552e4fbf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ghast_trap_on.json @@ -0,0 +1,12 @@ +{ + "parent": "twilightforest:block/util/three_layer_device_active", + "textures": { + "bottom": "twilightforest:block/encased_towerwood", + "side": "twilightforest:block/ghast_trap_on", + "side2": "twilightforest:block/ghast_trap_layer_1", + "side3": "twilightforest:block/ghast_trap_on_layer_2", + "top": "twilightforest:block/ghast_trap_on_top", + "top2": "twilightforest:block/ghast_trap_on_top_layer_1", + "top3": "twilightforest:block/ghast_trap_on_top_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json new file mode 100644 index 0000000000..1cf1fc8193 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/infested_towerwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/infested_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json new file mode 100644 index 0000000000..1685261d4e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/locked_vanishing_block", + "all2": "twilightforest:block/locked_vanishing_block_layer_1", + "all3": "twilightforest:block/locked_vanishing_block_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_on.json b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_on.json new file mode 100644 index 0000000000..dda35a4eff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/locked_vanishing_block_on.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/locked_vanishing_block_on", + "all2": "twilightforest:block/locked_vanishing_block_on_layer_1", + "all3": "twilightforest:block/locked_vanishing_block_on_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json b/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json new file mode 100644 index 0000000000..d8f75a4369 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mossy_towerwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/mossy_towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json new file mode 100644 index 0000000000..62945f858e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/reappearing_block.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/reappearing_block", + "all2": "twilightforest:block/reappearing_block_layer_1", + "all3": "twilightforest:block/reappearing_block_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis.json new file mode 100644 index 0000000000..d5b560d665 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/util/small_cube", + "textures": { + "all": "twilightforest:block/reappearing_block_invis" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis_on.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis_on.json new file mode 100644 index 0000000000..7887a9c156 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_invis_on.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/util/small_cube", + "textures": { + "all": "twilightforest:block/reappearing_block_invis_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/reappearing_block_on.json b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_on.json new file mode 100644 index 0000000000..0c9356c6cc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/reappearing_block_on.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/reappearing_block_on", + "all2": "twilightforest:block/reappearing_block_on_layer_1", + "all3": "twilightforest:block/reappearing_block_on_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json b/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json new file mode 100644 index 0000000000..ee3a44219a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/stronghold_shield.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_top", + "textures": { + "side": "twilightforest:block/stronghold_shield", + "top": "twilightforest:block/stronghold_shield_inside" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/towerwood.json b/src/generated/resources/assets/twilightforest/models/block/towerwood.json new file mode 100644 index 0000000000..b59f92f756 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/towerwood.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/towerwood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json b/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json new file mode 100644 index 0000000000..26942f40ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vanishing_block.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/vanishing_block", + "all2": "twilightforest:block/vanishing_block_layer_1", + "all3": "twilightforest:block/vanishing_block_layer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/vanishing_block_on.json b/src/generated/resources/assets/twilightforest/models/block/vanishing_block_on.json new file mode 100644 index 0000000000..ece4d25dc0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/vanishing_block_on.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/util/three_layer_block", + "textures": { + "all": "twilightforest:block/vanishing_block_on", + "all2": "twilightforest:block/vanishing_block_on_layer_1", + "all3": "twilightforest:block/vanishing_block_on_layer_2" + } +} \ No newline at end of file From e940003e9431c459ca403b7369975204d6bf8950 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 22:30:45 -0600 Subject: [PATCH 104/239] fix up special models --- .../aurorablock/NoiseVaryingModelLoader.java | 3 +- .../aurorablock/UnbakedNoiseVaryingModel.java | 13 ++++--- .../block/carpet/RoyalRagsModelLoader.java | 4 ++- .../block/carpet/UnbakedRoyalRagsModel.java | 30 +++++++++------- .../connected/ConnectedTextureModel.java | 19 ++++++++++- .../ConnectedTextureModelLoader.java | 4 ++- .../UnbakedConnectedTextureModel.java | 34 +++++++++++-------- .../block/forcefield/ForceFieldModel.java | 22 +++++++++++- .../forcefield/ForceFieldModelLoader.java | 4 ++- .../forcefield/UnbakedForceFieldModel.java | 19 +++++++---- .../block/giantblock/GiantBlockBuilder.java | 26 ++------------ .../block/giantblock/GiantBlockModel.java | 28 +++++++++++++-- .../giantblock/GiantBlockModelLoader.java | 7 ++-- .../giantblock/UnbakedGiantBlockModel.java | 23 ++++++++----- .../model/block/patch/PatchModelLoader.java | 3 +- .../model/block/patch/UnbakedPatchModel.java | 17 ++++++---- 16 files changed, 166 insertions(+), 90 deletions(-) diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java index 0c828ea27b..0291f843c7 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/NoiseVaryingModelLoader.java @@ -4,6 +4,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; import java.util.ArrayList; @@ -23,6 +24,6 @@ public UnbakedNoiseVaryingModel read(JsonObject json, JsonDeserializationContext builder.add(entry.getAsString()); } - return new UnbakedNoiseVaryingModel(builder.toArray(String[]::new)); + return new UnbakedNoiseVaryingModel(builder.toArray(String[]::new), StandardModelParameters.parse(json, context)); } } diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java index 1159f96852..2caf11e0ae 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java @@ -5,16 +5,20 @@ import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.model.AbstractUnbakedModel; +import net.neoforged.neoforge.client.model.StandardModelParameters; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; -public class UnbakedNoiseVaryingModel implements UnbakedModel { +public class UnbakedNoiseVaryingModel extends AbstractUnbakedModel { private final String[] importVariants; private final List variants; - public UnbakedNoiseVaryingModel(String[] variants) { + public UnbakedNoiseVaryingModel(String[] variants, StandardModelParameters parameters) { + super(parameters); this.importVariants = variants; this.variants = new ArrayList<>(this.importVariants.length); } @@ -26,6 +30,7 @@ public void resolveDependencies(UnbakedModel.Resolver modelGetter) { this.variants.add(checkedParent); } + super.resolveDependencies(modelGetter); } @NotNull @@ -39,12 +44,12 @@ private static BlockModel resolveParent(UnbakedModel.Resolver modelGetter, Strin } @Override - public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms, ContextMap additionalProperties) { BakedModel[] bakedVariants = new BakedModel[this.importVariants.length]; for (int i = 0; i < bakedVariants.length; i++) { BlockModel variant = this.variants.get(i); - bakedVariants[i] = variant.bake(textureSlots, baker, modelState, hasAmbientOcclusion, useBlockLight, transforms); + bakedVariants[i] = variant.bake(textureSlots, baker, modelState, hasAmbientOcclusion, useBlockLight, transforms, additionalProperties); } return new NoiseVaryingModel(bakedVariants); diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java index 7fca73cb5a..84e0b87935 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java @@ -3,6 +3,8 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; public class RoyalRagsModelLoader implements UnbakedModelLoader { @@ -13,6 +15,6 @@ public RoyalRagsModelLoader() { } public UnbakedRoyalRagsModel read(JsonObject jsonObject, JsonDeserializationContext deserializationContext) throws JsonParseException { - return new UnbakedRoyalRagsModel(); + return new UnbakedRoyalRagsModel(StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); } } diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java index 1d3abf069b..4588b9801c 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java @@ -1,10 +1,17 @@ package twilightforest.client.model.block.carpet; +import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; +import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.RenderTypeGroup; +import net.neoforged.neoforge.client.model.AbstractUnbakedModel; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; +import net.neoforged.neoforge.client.model.UnbakedElementsHelper; import org.apache.commons.lang3.mutable.MutableObject; import org.joml.Vector3f; import twilightforest.client.model.block.connected.ConnectedTextureModel; @@ -18,12 +25,14 @@ import java.util.Map; //FIXME remove this once the connected texture loader supports custom geometry -public class UnbakedRoyalRagsModel implements UnbakedModel { +public class UnbakedRoyalRagsModel extends AbstractUnbakedModel { private final BlockElement[][] baseElements; private final BlockElement[][][] faceElements; + private final RenderTypeGroup group; - public UnbakedRoyalRagsModel() { + public UnbakedRoyalRagsModel(StandardModelParameters parameters, RenderTypeGroup group) { + super(parameters); //base elements - the side faces without ctm. No Connected Textures on this bit. //the array is made of horizontal directions (Direction.get2DDataValue) and quads this.baseElements = new BlockElement[4][4]; @@ -50,14 +59,14 @@ public UnbakedRoyalRagsModel() { } } } + this.group = group; } @Override - public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { -// Transformation transformation = context.getRootTransform(); -// if (!transformation.isIdentity()) { -// modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); -// } + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms, ContextMap additionalProperties) { + Transformation rootTransform = additionalProperties.getOrDefault(NeoForgeModelProperties.TRANSFORM, Transformation.identity()); + if (!rootTransform.isIdentity()) + modelState = UnbakedElementsHelper.composeRootTransformIntoModelState(modelState, rootTransform); @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 4); @@ -86,11 +95,6 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState m } } - return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, baker.findSprite(textureSlots, "wool"), transforms); - } - - @Override - public void resolveDependencies(Resolver resolver) { - + return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, baker.findSprite(textureSlots, "wool"), transforms, this.group); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index b32ef31fe0..6a1dae6aef 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -32,10 +32,14 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final BakedQuad[][][] quads; private final TextureAtlasSprite particle; private final ItemTransforms transforms; + @Nullable + private final ChunkRenderTypeSet blockRenderTypes; + @Nullable + private final RenderType itemRenderType; private final List validConnectors; private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemTransforms transforms) { + public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemTransforms transforms, RenderTypeGroup group) { this.enabledFaces = enabledFaces; this.renderOnDisabledFaces = renderOnDisabledFaces; this.validConnectors = connectableBlocks; @@ -43,6 +47,8 @@ public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDi this.quads = quads; this.particle = particle; this.transforms = transforms; + this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; + this.itemRenderType = !group.isEmpty() ? group.entity() : null; } @NotNull @@ -136,6 +142,17 @@ public ItemTransforms getTransforms() { return this.transforms; } + @NotNull + @Override + public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); + } + + @Override + public RenderType getRenderType(ItemStack stack) { + return this.itemRenderType != null ? this.itemRenderType : IDynamicBakedModel.super.getRenderType(stack); + } + private static final class ConnectedTextureData { private final ConnectionLogic[][] logic = new ConnectionLogic[6][4]; diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index 090ffd2766..3eaa8dd1e8 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -12,6 +12,8 @@ import net.minecraft.util.GsonHelper; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; import java.util.ArrayList; @@ -37,7 +39,7 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat EnumSet faces = this.parseEnabledFaces(overlayInfo); List connectables = this.parseConnnectableBlocks(jsonObject); - return new UnbakedConnectedTextureModel(faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity); + return new UnbakedConnectedTextureModel(faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); } private EnumSet parseEnabledFaces(JsonObject object) { diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 1b3f41900b..1cec1bba95 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -1,11 +1,18 @@ package twilightforest.client.model.block.connected; +import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; +import net.minecraft.util.context.ContextMap; import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.client.RenderTypeGroup; +import net.neoforged.neoforge.client.model.AbstractUnbakedModel; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; +import net.neoforged.neoforge.client.model.UnbakedElementsHelper; import org.joml.Vector3f; import java.lang.reflect.Array; @@ -14,15 +21,17 @@ import java.util.List; import java.util.Map; -public class UnbakedConnectedTextureModel implements UnbakedModel { +public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { private final boolean renderOnDisabledFaces; private final EnumSet enabledFaces; private final List connectableBlocks; private final BlockElement[][] baseElements; private final BlockElement[][][] faceElements; + private final RenderTypeGroup group; - public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity) { + public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters, RenderTypeGroup group) { + super(parameters); //a list of block faces that should have connected textures. this.enabledFaces = enabledFaces; //whether or not the overlay texture should render on disabled faces or not. Defaults to true @@ -51,14 +60,14 @@ public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean ren } } } + this.group = group; } @Override - public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { -// Transformation transformation = context.getRootTransform(); -// if (!transformation.isIdentity()) { -// modelState = new SimpleModelState(modelState.getRotation().compose(transformation), modelState.isUvLocked()); -// } + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState state, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { + Transformation rootTransform = additionalProperties.getOrDefault(NeoForgeModelProperties.TRANSFORM, Transformation.identity()); + if (!rootTransform.isIdentity()) + state = UnbakedElementsHelper.composeRootTransformIntoModelState(state, rootTransform); @SuppressWarnings("unchecked") //this is fine, I hope List[] baseQuads = (List[]) Array.newInstance(List.class, 6); @@ -70,7 +79,7 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState m baseQuads[dir] = new ArrayList<>(); for (BlockElement element : this.baseElements[dir]) { - baseQuads[dir].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission)); + baseQuads[dir].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], state, element.rotation, element.shade, element.lightEmission)); } } } else { @@ -90,16 +99,11 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState m for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); + quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], state, element.rotation, element.shade, element.lightEmission); } } } - return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], transforms); - } - - @Override - public void resolveDependencies(Resolver resolver) { - + return new ConnectedTextureModel(this.enabledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], itemTransforms, this.group); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java index df1b1444e1..e4a1968854 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModel.java @@ -8,9 +8,12 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.util.StringRepresentable; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.ChunkRenderTypeSet; +import net.neoforged.neoforge.client.RenderTypeGroup; import net.neoforged.neoforge.client.model.IDynamicBakedModel; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.data.ModelProperty; @@ -30,14 +33,20 @@ public class ForceFieldModel implements IDynamicBakedModel { private final boolean usesAO; private final boolean usesBlockLight; private final ItemTransforms transforms; + @Nullable + private final ChunkRenderTypeSet blockRenderTypes; + @Nullable + private final RenderType itemRenderType; - public ForceFieldModel(Map parts, Function spriteFunction, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms) { + public ForceFieldModel(Map parts, Function spriteFunction, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, RenderTypeGroup group) { this.parts = parts; this.spriteFunction = spriteFunction; this.particle = spriteFunction.apply("particle"); this.usesAO = useAmbientOcclusion; this.usesBlockLight = usesBlockLight; this.transforms = itemTransforms; + this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; + this.itemRenderType = !group.isEmpty() ? group.entity() : null; } @Override @@ -177,6 +186,17 @@ public ItemTransforms getTransforms() { return this.transforms; } + @NotNull + @Override + public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); + } + + @Override + public RenderType getRenderType(ItemStack stack) { + return this.itemRenderType != null ? this.itemRenderType : IDynamicBakedModel.super.getRenderType(stack); + } + public enum ExtraDirection implements StringRepresentable { DOWN("down", 0, 1, 0), UP("up", 1, 0, 1), diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java index 65a88bb3da..ef99b4a8ea 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelLoader.java @@ -6,6 +6,8 @@ import com.google.gson.JsonParseException; import net.minecraft.client.renderer.block.model.BlockElement; import net.minecraft.util.GsonHelper; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; import org.jetbrains.annotations.Nullable; import twilightforest.client.model.block.forcefield.ForceFieldModel.ExtraDirection; @@ -43,7 +45,7 @@ public UnbakedForceFieldModel read(JsonObject json, JsonDeserializationContext c } } - return new UnbakedForceFieldModel(elementsAndConditions); + return new UnbakedForceFieldModel(elementsAndConditions, StandardModelParameters.parse(json, context), NeoForgeModelProperties.deserializeRenderType(json)); } public record Condition(@Nullable ExtraDirection direction, boolean b, List parents) { diff --git a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java index d19fdcc552..31be5acd24 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java @@ -5,19 +5,26 @@ import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.resources.model.*; import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.RenderTypeGroup; +import net.neoforged.neoforge.client.model.AbstractUnbakedModel; import net.neoforged.neoforge.client.model.ExtendedUnbakedModel; +import net.neoforged.neoforge.client.model.StandardModelParameters; import java.util.Map; -public record UnbakedForceFieldModel(Map elementsAndConditions) implements ExtendedUnbakedModel { +public class UnbakedForceFieldModel extends AbstractUnbakedModel { - @Override - public BakedModel bake(TextureSlots textures, ModelBaker baker, ModelState modelState, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { - return new ForceFieldModel(this.elementsAndConditions, s -> baker.findSprite(textures, s), useAmbientOcclusion, usesBlockLight, itemTransforms); + private final Map elementsAndConditions; + private final RenderTypeGroup group; + + public UnbakedForceFieldModel(Map elementsAndConditions, StandardModelParameters parameters, RenderTypeGroup group) { + super(parameters); + this.elementsAndConditions = elementsAndConditions; + this.group = group; } @Override - public void resolveDependencies(Resolver resolver) { - + public BakedModel bake(TextureSlots textures, ModelBaker baker, ModelState modelState, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { + return new ForceFieldModel(this.elementsAndConditions, s -> baker.findSprite(textures, s), useAmbientOcclusion, usesBlockLight, itemTransforms, this.group); } } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java index f2701a41b0..a8ecaa1d0a 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockBuilder.java @@ -1,10 +1,5 @@ package twilightforest.client.model.block.giantblock; -import com.google.common.base.Preconditions; -import com.google.gson.JsonObject; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; import twilightforest.TwilightForestMod; @@ -14,29 +9,12 @@ public static GiantBlockBuilder begin() { return new GiantBlockBuilder(); } - private ResourceLocation parentBlock; - - protected GiantBlockBuilder() { + public GiantBlockBuilder() { super(TwilightForestMod.prefix("giant_block"), false); } - public GiantBlockBuilder parentBlock(Block block) { - Preconditions.checkNotNull(block, "parent block must not be null"); - this.parentBlock = BuiltInRegistries.BLOCK.getKey(block); - return this; - } - @Override protected CustomLoaderBuilder copyInternal() { - GiantBlockBuilder builder = new GiantBlockBuilder(); - builder.parentBlock = parentBlock; - return builder; - } - - @Override - public JsonObject toJson(JsonObject json) { - json = super.toJson(json); - json.addProperty("parent_block", this.parentBlock.toString()); - return json; + return new GiantBlockBuilder(); } } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java index 51fb8dfb9f..32fdb8035f 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java @@ -1,6 +1,7 @@ package twilightforest.client.model.block.giantblock; import com.google.common.collect.Iterables; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -32,11 +33,17 @@ public class GiantBlockModel implements IDynamicBakedModel { private final TextureAtlasSprite[] textures; private final TextureAtlasSprite particle; private final ItemTransforms transforms; + @Nullable + private final ChunkRenderTypeSet blockRenderTypes; + @Nullable + private final RenderType itemRenderType; - public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, ItemTransforms transforms) { + public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, ItemTransforms transforms, RenderTypeGroup group) { this.textures = texture; this.particle = particle; this.transforms = transforms; + this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; + this.itemRenderType = !group.isEmpty() ? group.entity() : null; } @Override @@ -60,10 +67,10 @@ public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle //based on the offsets written in the original giant block json private BlockPos magicOffsetFromDir(Direction side) { return switch (side) { - default -> new BlockPos(0, 0, -1); case DOWN -> new BlockPos(0, 0, 2); case NORTH, SOUTH -> new BlockPos(0, 1, 0); case WEST, EAST -> new BlockPos(0, 1, -1); + default -> new BlockPos(0, 0, -1); }; } @@ -135,6 +142,23 @@ public ItemTransforms getTransforms() { return this.transforms; } + @NotNull + @Override + public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + if (this.blockRenderTypes != null) { + if (this.blockRenderTypes.contains(RenderType.cutoutMipped()) && !Minecraft.useFancyGraphics()) { + return ChunkRenderTypeSet.of(RenderType.solid()); + } + return this.blockRenderTypes; + } + return IDynamicBakedModel.super.getRenderTypes(state, rand, data); + } + + @Override + public RenderType getRenderType(ItemStack stack) { + return this.itemRenderType != null ? this.itemRenderType : IDynamicBakedModel.super.getRenderType(stack); + } + //modeldata holder public record GiantBlockData(BlockAndTintGetter getter, BlockPos pos) { } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java index d5bdd62b0a..fecb052df6 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java @@ -4,6 +4,8 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import net.minecraft.resources.ResourceLocation; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; public class GiantBlockModelLoader implements UnbakedModelLoader { @@ -12,9 +14,6 @@ public class GiantBlockModelLoader implements UnbakedModelLoader { @@ -18,6 +19,6 @@ public UnbakedPatchModel read(JsonObject object, JsonDeserializationContext dese if (!object.has("texture")) throw new JsonParseException("Patch model missing value for 'texture'."); - return new UnbakedPatchModel(JsonUtils.getBooleanOr("shaggify", object, false)); + return new UnbakedPatchModel(JsonUtils.getBooleanOr("shaggify", object, false), StandardModelParameters.parse(object, deserializationContext)); } } diff --git a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java index 9975af1388..da8e8142f4 100644 --- a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java @@ -3,16 +3,21 @@ import net.minecraft.client.renderer.block.model.ItemTransforms; import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.resources.model.*; +import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.model.AbstractUnbakedModel; +import net.neoforged.neoforge.client.model.StandardModelParameters; -public record UnbakedPatchModel(boolean shaggify) implements UnbakedModel { +public class UnbakedPatchModel extends AbstractUnbakedModel { - @Override - public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms) { - return new PatchModel(baker.findSprite(textureSlots, "texture"), this.shaggify()); + private final boolean shaggify; + + public UnbakedPatchModel(boolean shaggify, StandardModelParameters parameters) { + super(parameters); + this.shaggify = shaggify; } @Override - public void resolveDependencies(Resolver resolver) { - + public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms, ContextMap additionalProperties) { + return new PatchModel(baker.findSprite(textureSlots, "texture"), this.shaggify); } } From 9680feb7e03e97df803f579b32a4ad2282d7f65f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 22:31:26 -0600 Subject: [PATCH 105/239] finish porting uncrafting table --- .../twilightforest/TwilightForestMod.java | 1 + .../inventory/UncraftingMenu.java | 33 ++++++++++------- .../network/UpdateUncraftingCostPacket.java | 37 +++++++++++++++++++ 3 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 src/main/java/twilightforest/network/UpdateUncraftingCostPacket.java diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index 3a359679ee..6e0b2c7c34 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -306,6 +306,7 @@ public void setupPackets(RegisterPayloadHandlersEvent event) { registrar.playToClient(TFBossBarPacket.UpdateTFBossBarStylePacket.TYPE, TFBossBarPacket.UpdateTFBossBarStylePacket.STREAM_CODEC, TFBossBarPacket.UpdateTFBossBarStylePacket::handle); registrar.playToClient(SetMasonJarItemPacket.TYPE, SetMasonJarItemPacket.STREAM_CODEC, SetMasonJarItemPacket::handle); registrar.playToClient(SyncQuestsPacket.TYPE, SyncQuestsPacket.STREAM_CODEC, SyncQuestsPacket::handle); + registrar.playToClient(UpdateUncraftingCostPacket.TYPE, UpdateUncraftingCostPacket.STREAM_CODEC, UpdateUncraftingCostPacket::handle); } public void init(FMLCommonSetupEvent evt) { diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index f0252405e8..fe2db13d1c 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -22,10 +22,12 @@ import net.minecraft.world.level.Level; import net.neoforged.fml.loading.FMLLoader; import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.network.PacketDistributor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.config.TFConfig; +import twilightforest.network.UpdateUncraftingCostPacket; import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFMenuTypes; @@ -124,7 +126,7 @@ public UncraftingMenu(int id, Inventory inventory, Level level, ContainerLevelAc @Override public void slotsChanged(Container inventory) { // we need to see what inventory is calling this, and update appropriately - if (inventory == this.tinkerInput) { + if (this.level instanceof ServerLevel && inventory == this.tinkerInput) { // empty whole grid to start with this.uncraftingMatrix.clearContent(); @@ -136,7 +138,6 @@ public void slotsChanged(Container inventory) { int size = recipes.length; if (size > 0 && !inputStack.is(TFItemTags.BANNED_UNCRAFTABLES)) { - CraftingRecipe recipe = recipes[Math.floorMod(this.unrecipeInCycle, size)]; this.storedGhostRecipe = recipe; ItemStack[] recipeItems = this.getIngredients(recipe); @@ -190,13 +191,11 @@ public void slotsChanged(Container inventory) { // store number of items this recipe produces (and thus how many input items are required for uncrafting) this.uncraftingMatrix.numberOfInputItems = recipe instanceof UncraftingRecipe uncraftingRecipe ? uncraftingRecipe.getCount() : recipe.assemble(this.craftSlots.asCraftInput(), this.level.registryAccess()).getCount(); //Uncrafting recipes need this method call - this.uncraftingMatrix.uncraftingCost = this.calculateUncraftingCost(); - this.uncraftingMatrix.recraftingCost = 0; - + this.updateCosts(this.calculateUncraftingCost(), 0); } else { this.storedGhostRecipe = null; this.uncraftingMatrix.numberOfInputItems = 0; - this.uncraftingMatrix.uncraftingCost = 0; + this.updateCosts(0, this.getRecraftingCost()); } } // Now we've got the uncrafting logic set in, currently we don't modify the uncraftingMatrix. That's fine. @@ -207,9 +206,9 @@ public void slotsChanged(Container inventory) { } else { // we placed an item in the assembly matrix, the next step will re-initialize these with correct values this.tinkerResult.setItem(0, ItemStack.EMPTY); - this.uncraftingMatrix.uncraftingCost = this.calculateUncraftingCost(); + this.updateCosts(this.calculateUncraftingCost(), this.getRecraftingCost()); } - this.uncraftingMatrix.recraftingCost = 0; + this.updateCosts(this.getUncraftingCost(), 0); } // repairing / recrafting: if there is an input item, and items in both grids, can we combine them to produce an output item that is the same type as the input item? @@ -249,8 +248,7 @@ public void slotsChanged(Container inventory) { EnchantmentHelper.setEnchantments(result, enchants.toImmutable()); this.tinkerResult.setItem(0, result); - this.uncraftingMatrix.uncraftingCost = 0; - this.uncraftingMatrix.recraftingCost = this.calculateRecraftingCost(); + this.updateCosts(0, this.calculateRecraftingCost()); } } } @@ -390,6 +388,14 @@ public int getRecraftingCost() { return this.uncraftingMatrix.recraftingCost; } + public void updateCosts(int uncraftingCost, int recraftingCost) { + this.uncraftingMatrix.uncraftingCost = uncraftingCost; + this.uncraftingMatrix.recraftingCost = recraftingCost; + if (this.level instanceof ServerLevel) { + PacketDistributor.sendToPlayer((ServerPlayer) this.player, new UpdateUncraftingCostPacket(uncraftingCost, recraftingCost)); + } + } + /** * Calculate the cost of uncrafting, if any. Return 0 if uncrafting is not available at this time */ @@ -605,10 +611,11 @@ public void removed(Player player) { } private ItemStack[] getIngredients(CraftingRecipe recipe) { - ItemStack[] stacks = new ItemStack[recipe.display().size()]; + List ingredients = recipe.placementInfo().ingredients(); + ItemStack[] stacks = new ItemStack[ingredients.size()]; - for (int i = 0; i < recipe.display().size(); i++) { - ItemStack[] matchingStacks = recipe.placementInfo().ingredients().get(i).getValues().stream().filter(s -> !s.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); + for (int i = 0; i < ingredients.size(); i++) { + ItemStack[] matchingStacks = ingredients.get(i).getValues().stream().filter(s -> !s.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)).map(p -> new ItemStack(p.value())).toArray(ItemStack[]::new); stacks[i] = matchingStacks.length > 0 ? matchingStacks[Math.floorMod(this.ingredientsInCycle, matchingStacks.length)] : ItemStack.EMPTY; } diff --git a/src/main/java/twilightforest/network/UpdateUncraftingCostPacket.java b/src/main/java/twilightforest/network/UpdateUncraftingCostPacket.java new file mode 100644 index 0000000000..10ac38e3cb --- /dev/null +++ b/src/main/java/twilightforest/network/UpdateUncraftingCostPacket.java @@ -0,0 +1,37 @@ +package twilightforest.network; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.neoforged.neoforge.network.handling.IPayloadContext; +import twilightforest.TwilightForestMod; +import twilightforest.inventory.UncraftingMenu; + +public record UpdateUncraftingCostPacket(int uncraftingCost, int recraftingCost) implements CustomPacketPayload { + + public static final Type TYPE = new Type<>(TwilightForestMod.prefix("update_uncrafting_cost")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.INT, UpdateUncraftingCostPacket::uncraftingCost, + ByteBufCodecs.INT, UpdateUncraftingCostPacket::recraftingCost, + UpdateUncraftingCostPacket::new + ); + + @Override + public Type type() { + return TYPE; + } + + public static void handle(UpdateUncraftingCostPacket message, IPayloadContext ctx) { + if (ctx.flow().isClientbound()) { + ctx.enqueueWork(() -> { + AbstractContainerMenu container = ctx.player().containerMenu; + + if (container instanceof UncraftingMenu uncrafting) { + uncrafting.updateCosts(message.uncraftingCost(), message.recraftingCost()); + } + }); + } + } +} From 559506b41eb0fd0ec37b370cd8b8c3491aead8af Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 8 Apr 2025 22:32:21 -0600 Subject: [PATCH 106/239] giant block, castle door, resource blocks, and uncrafting table models --- .../assets/models/BlockModelGenerator.java | 23 +++++++--- .../assets/models/TFModelTemplates.java | 11 ++++- .../assets/models/TFTextureMapping.java | 30 +++++++++++++ .../helpers/models/BlockModelBuilders.java | 27 +++++++++++- .../block/util/cube_bottom_2_layer_top.json | 28 ++++++++++++ .../util/two_layer_column_no_bottom.json | 32 ++++++++++++++ .../models/item/giant_block_base.json | 40 ++++++++++++++++++ .../models/item/giant_block_gui.json | 23 ++++++++++ .../textures/block/uncrafting_particle.png | Bin 480 -> 0 bytes ...crafting_side.png => uncrafting_table.png} | Bin ...low_side.png => uncrafting_table_glow.png} | Bin ...fting_top.png => uncrafting_table_top.png} | Bin ...glow.png => uncrafting_table_top_glow.png} | Bin 13 files changed, 204 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json create mode 100644 src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json create mode 100644 src/main/resources/assets/twilightforest/models/item/giant_block_base.json create mode 100644 src/main/resources/assets/twilightforest/models/item/giant_block_gui.json delete mode 100644 src/main/resources/assets/twilightforest/textures/block/uncrafting_particle.png rename src/main/resources/assets/twilightforest/textures/block/{uncrafting_side.png => uncrafting_table.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{uncrafting_glow_side.png => uncrafting_table_glow.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{uncrafting_top.png => uncrafting_table_top.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{uncrafting_glow.png => uncrafting_table_top_glow.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index e5981e363e..6eb2238180 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -98,8 +98,6 @@ public void run() { this.wrapBlockItem(TFBlocks.INFESTED_TOWERWOOD.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.ENCASED_TOWERWOOD.get(), this::createTrivialCube); - //reappearing - 0, 15, 10 - this.wrapBlockItem(TFBlocks.ENCASED_SMOKER.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( createBooleanModelDispatch(EncasedSmokerBlock.ACTIVE, TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(block, "_on", TFTextureMapping.threeLayerDeviceOn(block, TFBlocks.GHAST_TRAP.get()), this.modelOutput), @@ -141,10 +139,14 @@ public void run() { TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, variant, TFTextureMapping.threeLayerBlock(block, variant), this.modelOutput)); })))); - this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); //TODO aurora blocks this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); + this.giantBlock(TFBlocks.GIANT_COBBLESTONE.get(), TFTextureMapping.giantBlock(Blocks.COBBLESTONE)); + this.giantBlock(TFBlocks.GIANT_LOG.get(), TFTextureMapping.giantBlock(TextureMapping.getBlockTexture(Blocks.OAK_LOG), TextureMapping.getBlockTexture(Blocks.OAK_LOG, "_top"))); + this.giantBlock(TFBlocks.GIANT_LEAVES.get(), "cutout_mipped", TFTextureMapping.giantBlock(Blocks.OAK_LEAVES), -12012264); + this.giantBlock(TFBlocks.GIANT_OBSIDIAN.get(), TFTextureMapping.giantBlock(Blocks.OBSIDIAN)); + this.wrapBlockItem(TFBlocks.CASTLE_BRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.WORN_CASTLE_BRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.CRACKED_CASTLE_BRICK.get(), this::createTrivialCube); @@ -166,10 +168,10 @@ public void run() { this.generateRuneBlock(TFBlocks.BLUE_CASTLE_RUNE_BRICK.get(), 65535); this.generateRuneBlock(TFBlocks.VIOLET_CASTLE_RUNE_BRICK.get(), 4915330); - this.castleDoor(TFBlocks.PINK_CASTLE_DOOR.get()); - this.castleDoor(TFBlocks.YELLOW_CASTLE_DOOR.get()); - this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get()); - this.castleDoor(TFBlocks.VIOLET_CASTLE_DOOR.get()); + this.castleDoor(TFBlocks.PINK_CASTLE_DOOR.get(), 16711935); + this.castleDoor(TFBlocks.YELLOW_CASTLE_DOOR.get(), 16776960); + this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get(), 65535); + this.castleDoor(TFBlocks.VIOLET_CASTLE_DOOR.get(), 4915330); this.forcefield(TFBlocks.PINK_FORCE_FIELD.get()); this.forcefield(TFBlocks.ORANGE_FORCE_FIELD.get()); this.forcefield(TFBlocks.GREEN_FORCE_FIELD.get()); @@ -213,6 +215,13 @@ public void run() { this.generateTrophy(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), minor, "alpha_yeti_trophy"); this.generateTrophy(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), major); this.generateTrophy(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), quest, "smaller_gui_trophy"); + + this.wrapBlockItem(TFBlocks.UNCRAFTING_TABLE.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(createBooleanModelDispatch(UncraftingTableBlock.POWERED, TFModelTemplates.TWO_LAYER_COLUMN_NO_BOTTOM.createWithSuffix(block, "_activated", TFTextureMapping.uncraftingTableOn(block), this.modelOutput), TFModelTemplates.CUBE_BOTTOM_2_LAYER_TOP.create(block, TFTextureMapping.uncraftingTable(block), this.modelOutput))))); + this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); + this.wrapBlockItem(TFBlocks.STEELEAF_BLOCK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.IRONWOOD_BLOCK.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.KNIGHTMETAL_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); + this.wrapBlockItem(TFBlocks.FIERY_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); } private void generateWoodBlocks() { diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 8139ff5bc4..a9eb63dff5 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -4,7 +4,10 @@ import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; import net.minecraft.resources.ResourceLocation; +import org.w3c.dom.Text; import twilightforest.TwilightForestMod; +import twilightforest.client.model.block.giantblock.GiantBlockBuilder; +import twilightforest.client.model.block.giantblock.GiantBlockModelLoader; public class TFModelTemplates extends ModelTemplates { @@ -16,6 +19,9 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate THREE_LAYER_DEVICE = create("twilightforest:util/three_layer_device", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TextureSlot.SIDE, TFTextureSlot.SIDE_2, TFTextureSlot.SIDE_3); public static final ModelTemplate THREE_LAYER_DEVICE_ACTIVE = create("twilightforest:util/three_layer_device_active", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TFTextureSlot.TOP_3, TextureSlot.SIDE, TFTextureSlot.SIDE_2, TFTextureSlot.SIDE_3); + public static final ModelTemplate CUBE_BOTTOM_2_LAYER_TOP = create("twilightforest:util/cube_bottom_2_layer_top", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TextureSlot.SIDE); + public static final ModelTemplate TWO_LAYER_COLUMN_NO_BOTTOM = create("twilightforest:util/two_layer_column_no_bottom", TextureSlot.BOTTOM, TextureSlot.TOP, TFTextureSlot.TOP_2, TextureSlot.SIDE, TFTextureSlot.SIDE_2); + public static final ModelTemplate BISECTED_STAIRS_STRAIGHT = create("twilightforest:util/bisected_stairs", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate BISECTED_STAIRS_INNER = create("twilightforest:util/bisected_inner_stairs", "_inner", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); public static final ModelTemplate BISECTED_STAIRS_OUTER = create("twilightforest:util/bisected_outer_stairs", "_outer", TextureSlot.BOTTOM, TextureSlot.TOP, TextureSlot.SIDE, TFTextureSlot.MIDDLE); @@ -23,11 +29,12 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_X = create("twilightforest:util/cube_column_rotationally_special_x", "_special_x", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); public static final ModelTemplate CUBE_COLUMN_ROTATIONALLY_SPECIAL_Z = create("twilightforest:util/cube_column_rotationally_special_z", "_special_z", TextureSlot.END, TFTextureSlot.SIDE_A, TFTextureSlot.SIDE_B); - public static final ModelTemplate FORCEFIELD = create("twilightforest:forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/cube_all")).ambientOcclusion(false).renderType("translucent").build(); + public static final ModelTemplate FORCEFIELD = create("twilightforest:forcefield", TextureSlot.PANE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).ambientOcclusion(false).renderType("translucent").build(); public static final ModelTemplate FULLBRIGHT_BLOCK = create("twilightforest:util/fullbright_cube", TextureSlot.ALL); public static final ModelTemplate CTM_NO_BASE = create("twilightforest:ctm_no_base", TextureSlot.PARTICLE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); public static final ModelTemplate CTM = create("twilightforest:ctm", TextureSlot.PARTICLE, TFTextureSlot.CTM_BASE, TFTextureSlot.CTM_OVERLAY, TFTextureSlot.CTM_OVERLAY_CONNECTED).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).build(); + public static final ModelTemplate GIANT_BLOCK = create("twilightforest:giant_block", TextureSlot.PARTICLE, TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST, TextureSlot.UP, TextureSlot.DOWN).extend().parent(ResourceLocation.withDefaultNamespace("block/block")).customLoader(GiantBlockBuilder::new, builder -> {}).build(); public static final ModelTemplate BANISTER_CONNECTED = create("twilightforest:banister_connected", "_connected", TextureSlot.TEXTURE); public static final ModelTemplate BANISTER_CONNECTED_EXTENDED = create("twilightforest:banister_connected_extended", "_connected_extended", TextureSlot.TEXTURE); @@ -67,6 +74,8 @@ public class TFModelTemplates extends ModelTemplates { TFTextureSlot.NORTH2, TFTextureSlot.SOUTH2, TFTextureSlot.EAST2, TFTextureSlot.WEST2, //glow TFTextureSlot.NORTH3, TFTextureSlot.SOUTH3, TFTextureSlot.EAST3, TFTextureSlot.WEST3); //boss face + public static final ModelTemplate GIANT_BLOCK_BASE = createItem("twilightforest:giant_block_base", TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST, TextureSlot.UP, TextureSlot.DOWN); + public static final ModelTemplate GIANT_BLOCK_GUI = createItem("twilightforest:giant_block_gui", TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST, TextureSlot.UP, TextureSlot.DOWN); public static final ModelTemplate GIANT_TOOL = createItem("twilightforest:giant_tool_base", TextureSlot.LAYER0); public static final ModelTemplate MOON_DIAL = createItem("twilightforest:moon_dial_template", TextureSlot.LAYER0); public static final ModelTemplate SPECIAL_HANDHELD = createItem("twilightforest:special_handheld", TextureSlot.LAYER0); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index c39df67fb0..9d0750831b 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -4,7 +4,9 @@ import net.minecraft.client.data.models.model.TextureSlot; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import org.jetbrains.annotations.Nullable; +import org.w3c.dom.Text; import twilightforest.enums.BossVariant; import twilightforest.init.TFBlocks; @@ -35,6 +37,18 @@ public static TextureMapping threeLayerDeviceOn(Block block, Block topBlock) { .put(TFTextureSlot.TOP_3, TextureMapping.getBlockTexture(topBlock, "_on_top_layer_2")); } + public static TextureMapping uncraftingTable(Block block) { + return new TextureMapping() + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block)) + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(block, "_top")) + .put(TFTextureSlot.TOP_2, TextureMapping.getBlockTexture(block, "_top_glow")) + .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(Blocks.JUNGLE_PLANKS)); + } + + public static TextureMapping uncraftingTableOn(Block block) { + return uncraftingTable(block).put(TFTextureSlot.SIDE_2, TextureMapping.getBlockTexture(block, "_glow")); + } + public static TextureMapping ctmBlock(Block block) { var overlay = TextureMapping.getBlockTexture(block); return ctmBlock(null, overlay); @@ -45,6 +59,22 @@ public static TextureMapping forcefield(Block block) { return new TextureMapping().put(TextureSlot.PANE, tex).put(TextureSlot.PARTICLE, tex); } + public static TextureMapping giantBlock(Block block) { + var tex = TextureMapping.getBlockTexture(block); + return giantBlock(tex, tex); + } + + public static TextureMapping giantBlock(ResourceLocation side, ResourceLocation end) { + return new TextureMapping() + .put(TextureSlot.PARTICLE, side) + .put(TextureSlot.NORTH, side) + .put(TextureSlot.SOUTH, side) + .put(TextureSlot.EAST, side) + .put(TextureSlot.WEST, side) + .put(TextureSlot.UP, end) + .put(TextureSlot.DOWN, end); + } + public static TextureMapping ctmBlock(@Nullable ResourceLocation base, ResourceLocation overlay) { TextureMapping mapping = new TextureMapping(); if (base != null) { diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index dcf8b9899e..effd0e8a03 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; @@ -74,10 +75,32 @@ public void basicCtmBlock(Block block) { this.generateBlockItem(block); } - public void castleDoor(Block block) { + public void castleDoor(Block block, int tint) { Function door = bool -> TFModelTemplates.CTM.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.YELLOW_CASTLE_DOOR.get()).setOverlayEmissivity(15).setOverlayTintIndex(0)).renderType("cutout").build().createWithSuffix(block, bool ? "_vanished" : "", TFTextureMapping.ctmBlock(TwilightForestMod.prefix("block/castle_door" + (bool ? "_vanished" : "")), TwilightForestMod.prefix("block/castle_door_runes")), this.modelOutput); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(CastleDoorBlock.VANISHED).select(true, Variant.variant().with(VariantProperties.MODEL, door.apply(true))).select(false, Variant.variant().with(VariantProperties.MODEL, door.apply(false))))); - this.generateBlockItem(block); + this.registerSimpleTintedItemModel(block, BuiltInRegistries.BLOCK.getKey(block).withPrefix("block/"), ItemModelUtils.constantTint(tint)); + } + + public void giantBlock(Block block, TextureMapping mapping) { + this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.GIANT_BLOCK.create(block, mapping, this.modelOutput))); + this.generateGiantBlockItem(block, mapping); + } + + public void generateGiantBlockItem(Block giantBlock, TextureMapping mapping) { + ItemModel.Unbaked base = ItemModelUtils.plainModel(TFModelTemplates.GIANT_BLOCK_BASE.createWithSuffix(giantBlock, "_item", mapping, this.modelOutput)); + ItemModel.Unbaked gui = ItemModelUtils.plainModel(TFModelTemplates.GIANT_BLOCK_GUI.createWithSuffix(giantBlock, "_gui", mapping, this.modelOutput)); + this.itemModelOutput.accept(giantBlock.asItem(), ItemModelUtils.select(new DisplayContext(), base, ItemModelUtils.when(ItemDisplayContext.GUI, gui))); + } + + public void giantBlock(Block block, String renderType, TextureMapping mapping, int tint) { + this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.GIANT_BLOCK.extend().renderType(renderType).build().create(block, mapping, this.modelOutput))); + this.generateGiantBlockItem(block, mapping, tint); + } + + public void generateGiantBlockItem(Block giantBlock, TextureMapping mapping, int tint) { + ItemModel.Unbaked base = ItemModelUtils.tintedModel(TFModelTemplates.GIANT_BLOCK_BASE.createWithSuffix(giantBlock, "_item", mapping, this.modelOutput), ItemModelUtils.constantTint(tint)); + ItemModel.Unbaked gui = ItemModelUtils.tintedModel(TFModelTemplates.GIANT_BLOCK_GUI.createWithSuffix(giantBlock, "_gui", mapping, this.modelOutput), ItemModelUtils.constantTint(tint)); + this.itemModelOutput.accept(giantBlock.asItem(), ItemModelUtils.select(new DisplayContext(), base, ItemModelUtils.when(ItemDisplayContext.GUI, gui))); } public void simpleBlockWithRenderType(Block block, String type) { diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json b/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json new file mode 100644 index 0000000000..09c916af88 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json @@ -0,0 +1,28 @@ +{ + "parent": "block/block", + "render_type": "minecraft:translucent", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#bottom", "cullface": "down"}, + "up": {"texture": "#top", "cullface": "up"}, + "north": {"texture": "#side", "cullface": "north"}, + "south": {"texture": "#side", "cullface": "south"}, + "west": {"texture": "#side", "cullface": "west"}, + "east": {"texture": "#side", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#top2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json new file mode 100644 index 0000000000..0224185854 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json @@ -0,0 +1,32 @@ +{ + "parent": "block/block", + "render_type": "minecraft:translucent", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#bottom", "cullface": "down"}, + "up": {"texture": "#top", "cullface": "up"}, + "north": {"texture": "#side", "cullface": "north"}, + "south": {"texture": "#side", "cullface": "south"}, + "west": {"texture": "#side", "cullface": "west"}, + "east": {"texture": "#side", "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#top2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, + "north": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, + "south": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, + "west": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, + "east": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/giant_block_base.json b/src/main/resources/assets/twilightforest/models/item/giant_block_base.json new file mode 100644 index 0000000000..a4503e8fb3 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/giant_block_base.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:block/cube", + "display": { + "firstperson_lefthand": { + "rotation": [1, 225, 0], + "scale": [1.6, 1.6, 1.6], + "translation": [0, -10, -10] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [1.6, 1.6, 1.6], + "translation": [0, -10, -10] + }, + "fixed": { + "scale": [1.25, 1.25, 1.25] + }, + "ground": { + "translation": [0, 3, 0] + }, + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "scale": [1.5, 1.5, 1.5], + "translation": [0, 10, 0] + } + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "up": {"cullface": "up", "texture": "#up", "tintindex": 0}, + "down": {"cullface": "down", "texture": "#down", "tintindex": 0}, + "north": {"cullface": "north", "texture": "#north", "tintindex": 0}, + "south": {"cullface": "south", "texture": "#south", "tintindex": 0}, + "east": {"cullface": "east", "texture": "#east", "tintindex": 0}, + "west": {"cullface": "west", "texture": "#west", "tintindex": 0} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json b/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json new file mode 100644 index 0000000000..32bfae26b7 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json @@ -0,0 +1,23 @@ +{ + "parent": "minecraft:block/cube", + "display": { + "gui": { + "rotation": [30, 45, 0], + "scale": [0.625, 0.625, 0.625] + } + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "up": {"cullface": "up", "texture": "#up", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]}, + "down": {"cullface": "down", "texture": "#down", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]}, + "north": {"cullface": "north", "texture": "#north", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]}, + "south": {"cullface": "south", "texture": "#south", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]}, + "east": {"cullface": "east", "texture": "#east", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]}, + "west": {"cullface": "west", "texture": "#west", "tintindex": 0, "uv": [0.0, 0.0, 4.0, 4.0]} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/uncrafting_particle.png b/src/main/resources/assets/twilightforest/textures/block/uncrafting_particle.png deleted file mode 100644 index 724f54d4f6c5d32d4220186517abf7051597729a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*DOJfHJ*wV77`Ky9K`}0 zd#9zhcuK5L<5(&o&=aP()kCo*M4~5E(aBxW$yK7-O=M+9(86jj0S=bEJ?UH1HTV7x z+FGu;R#RfFr9`!Wz*dWtoRK}G>p3M_S!n7m<19?&nhJzX3_BqUi6woYp{5MaHa`1yq7f=yFR4z7L2 zlpXu?|Nd8dkIXSrW^2ft^{MT~_jY;Ti6TkkHd)F zGpXs$g!}BDk1CuAR8tVyzCJZ&-o%UT5h`k0+g{(|KJ?q-3*T{>FS*utcda_Tx>(|` zy5`2HnF+iNb;^@h@@}+`s$4fENKa4ttLDcw;n&oBFI@@yYOI!)#wO4_W9Cm*7e0}X UpUxM~0D6 Date: Tue, 8 Apr 2025 22:32:29 -0600 Subject: [PATCH 107/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 54 +++++++++++++++---- .../blockstates/fiery_block.json | 7 +++ .../blockstates/giant_cobblestone.json | 7 +++ .../blockstates/giant_leaves.json | 7 +++ .../twilightforest/blockstates/giant_log.json | 7 +++ .../blockstates/giant_obsidian.json | 7 +++ .../blockstates/ironwood_block.json | 7 +++ .../blockstates/knightmetal_block.json | 7 +++ .../blockstates/steeleaf_block.json | 7 +++ .../blockstates/uncrafting_table.json | 10 ++++ .../items/blue_castle_door.json | 8 ++- .../twilightforest/items/fiery_block.json | 6 +++ .../items/giant_cobblestone.json | 19 +++++++ .../twilightforest/items/giant_leaves.json | 31 +++++++++++ .../twilightforest/items/giant_log.json | 19 +++++++ .../twilightforest/items/giant_obsidian.json | 19 +++++++ .../twilightforest/items/ironwood_block.json | 6 +++ .../items/knightmetal_block.json | 6 +++ .../items/pink_castle_door.json | 8 ++- .../twilightforest/items/steeleaf_block.json | 6 +++ .../items/uncrafting_table.json | 6 +++ .../items/violet_castle_door.json | 8 ++- .../items/yellow_castle_door.json | 8 ++- .../models/block/blue_force_field.json | 2 +- .../models/block/giant_cobblestone.json | 13 +++++ .../models/block/giant_cobblestone_gui.json | 11 ++++ .../models/block/giant_cobblestone_item.json | 11 ++++ .../models/block/giant_leaves.json | 14 +++++ .../models/block/giant_leaves_gui.json | 11 ++++ .../models/block/giant_leaves_item.json | 11 ++++ .../models/block/giant_log.json | 13 +++++ .../models/block/giant_log_gui.json | 11 ++++ .../models/block/giant_log_item.json | 11 ++++ .../models/block/giant_obsidian.json | 13 +++++ .../models/block/giant_obsidian_gui.json | 11 ++++ .../models/block/giant_obsidian_item.json | 11 ++++ .../models/block/green_force_field.json | 2 +- .../models/block/ironwood_block.json | 6 +++ .../models/block/orange_force_field.json | 2 +- .../models/block/pink_force_field.json | 2 +- .../models/block/steeleaf_block.json | 6 +++ .../models/block/uncrafting_table.json | 9 ++++ .../block/uncrafting_table_activated.json | 10 ++++ .../models/block/violet_force_field.json | 2 +- 44 files changed, 433 insertions(+), 19 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fiery_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiery_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_cobblestone.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/giant_obsidian.json create mode 100644 src/generated/resources/assets/twilightforest/items/ironwood_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/knightmetal_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/steeleaf_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/uncrafting_table.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_gui.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_item.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_leaves_gui.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_leaves_item.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_log_gui.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_log_item.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_obsidian_gui.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/giant_obsidian_item.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ironwood_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/uncrafting_table_activated.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index f411848a84..ff7c0c414f 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-08T17:56:02.4918634 Model Definitions - twilightforest +// 1.21.4 2025-04-08T22:21:38.509059 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -95,10 +95,15 @@ fdbaed4b18eff75c1202f25441f63a6d1c18b63a assets/twilightforest/blockstates/encas ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encased_smoker.json fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json +aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 836e22887f073d234297a3f80bc6c6f4546fbdfc assets/twilightforest/blockstates/ghast_trap.json +b3e26b3f33dfa534b0a5f46c8a7489deaf356594 assets/twilightforest/blockstates/giant_cobblestone.json +2fefb3bee6d877247713b1d205296b206c070e4b assets/twilightforest/blockstates/giant_leaves.json +f722bd4d4a054fcdd352f9db8d286198c8ffe13c assets/twilightforest/blockstates/giant_log.json +db9c74d13678fb4c7cf4b30b375164049f736a25 assets/twilightforest/blockstates/giant_obsidian.json f208a33fe25aec4bf37f22f588e06defb80b4a34 assets/twilightforest/blockstates/green_force_field.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json @@ -163,8 +168,10 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json 799ee46ea3afedabe20cf44b0079b6f447dff449 assets/twilightforest/blockstates/infested_towerwood.json +f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json 63888a1eea77277c50695a78d8fa7fe3732d7dc9 assets/twilightforest/blockstates/jungle_banister.json 0c9d3bbbca93e0b56793a9eebcdfba0547440a47 assets/twilightforest/blockstates/keepsake_casket.json +87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json 4ce6459423e55eb6ee68205584fc72fdf2ff325b assets/twilightforest/blockstates/knight_phantom_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_wall_trophy.json @@ -297,6 +304,7 @@ a63594251e98cad77affe3accc1f75835a271066 assets/twilightforest/blockstates/sorti 79bedbdea008300c35668d8d740e66e5d0e81284 assets/twilightforest/blockstates/sorting_wood.json fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spiral_bricks.json 19294b4bcc55ffed1467c68e66acba67225160f8 assets/twilightforest/blockstates/spruce_banister.json +c3323b0a8d369d3f2aaccb0cbad0f25fdb3b7236 assets/twilightforest/blockstates/steeleaf_block.json b2e74bad436c08b77027498c4722448d678ae13f assets/twilightforest/blockstates/stripped_canopy_log.json 7d3fec0b41d5610e6544df651bcdbe9da992ac18 assets/twilightforest/blockstates/stripped_canopy_wood.json 85b3a6d805a8e29cc5f13c2c73656b7af562b8a7 assets/twilightforest/blockstates/stripped_dark_log.json @@ -386,6 +394,7 @@ c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twili 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json 3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json +75f75d0b7557a94e6eb471b15d5de2859548dfef assets/twilightforest/blockstates/uncrafting_table.json 22e37e7ec0ce60e57918a6f473661f3b376df4b7 assets/twilightforest/blockstates/underbrick.json 6fbca5391f954de595a2019f6431007e24891685 assets/twilightforest/blockstates/underbrick_floor.json 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json @@ -428,7 +437,7 @@ c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_she 9f115f91a376d40fb6ea31d57bed3c94d41bdacf assets/twilightforest/items/birch_banister.json 7ebddc418373224ebd3f09bb32be57026aabedc9 assets/twilightforest/items/block_and_chain.json 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json -fcfa2389b2187e1a0eb08e85eb91d3d4233e2cd7 assets/twilightforest/items/blue_castle_door.json +214e307625d727cbe4b83f560760232a722f7fac assets/twilightforest/items/blue_castle_door.json 71bf03fa1a78983b81139b14bf985d07cca25453 assets/twilightforest/items/blue_castle_rune_brick.json 2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json 1b48411bef57beebb32f665f68a3e05395ba3c98 assets/twilightforest/items/boar_spawn_egg.json @@ -533,6 +542,7 @@ b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_cas 6881694127e2c04b7de90db26bd1b1e32e72e24b assets/twilightforest/items/encased_towerwood.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json +b7b689a64be36eae22a2ad7adf9916ad81a12721 assets/twilightforest/items/fiery_block.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json 5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json 3f1881cdf29805aec5c954f48ef012288852b2c1 assets/twilightforest/items/fiery_chestplate.json @@ -548,7 +558,11 @@ d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json 825b5da47a4b465e2d77f10b01788d3be362b4dd assets/twilightforest/items/ghast_trap.json +d675a9396e9d3f757942a417a9a08242a6051797 assets/twilightforest/items/giant_cobblestone.json +35dfb0beabebe5e8e45041f422668eb0057cd71e assets/twilightforest/items/giant_leaves.json +4c25253c455e77be6dc1828523d9c4e489286e53 assets/twilightforest/items/giant_log.json 93c0c71fe6e8eda7667713484b4a8f8dc6a7143e assets/twilightforest/items/giant_miner_spawn_egg.json +b87cc0109766305959290d575b1e06fed77d0979 assets/twilightforest/items/giant_obsidian.json e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_pickaxe.json 34fd62a9f35b6f108a2523b2536b6a98defa3345 assets/twilightforest/items/giant_sword.json 5915d8d3994af28a554c95015893aba9851ef982 assets/twilightforest/items/glass_sword.json @@ -589,6 +603,7 @@ a65c2f1083bc3ee1d03148a13e6c4e63e9562765 assets/twilightforest/items/ice_crystal da038d6dd0064ee10cf5a4034ab1d0e8f18e38b9 assets/twilightforest/items/ice_sword.json 2ec66ed95e668c6687fc51f851c708435bb1cce8 assets/twilightforest/items/infested_towerwood.json 4afca1101023cf4035f197b3f46cbc06c2228270 assets/twilightforest/items/ironwood_axe.json +bfe3beeec81c869c3553ace3142cf28d3b40ad57 assets/twilightforest/items/ironwood_block.json ab18463d2adeacfe78df2ee1845e156f3b4de9ce assets/twilightforest/items/ironwood_boots.json 586f1c8ed37825f8259e866f5f26133e6575a0b5 assets/twilightforest/items/ironwood_chestplate.json f2a55657a9707855668b121d5f96cf4a6b2ff249 assets/twilightforest/items/ironwood_helmet.json @@ -602,6 +617,7 @@ dc447f17993ed6305b89e74756fa0e3aa16d79ae assets/twilightforest/items/ironwood_pi 215ee6062747a5e5b6a142aae307e86c61ef1fa8 assets/twilightforest/items/keepsake_casket.json 248ee88333cf8d32bc51c72c89f0de8a3fcf2d09 assets/twilightforest/items/king_spider_spawn_egg.json e08340fac56bb2ee5092c938bebd806e70a9e70f assets/twilightforest/items/knightmetal_axe.json +467b1f1e6fb8c59c0870afd511d0a07191d59ec1 assets/twilightforest/items/knightmetal_block.json 611fa33a86b4865e6e291ca6d21b584009fb1798 assets/twilightforest/items/knightmetal_boots.json 76504795018be01a9ebe85d48303b0648b1abcf2 assets/twilightforest/items/knightmetal_chestplate.json a28f45173660872abb5b9b89e0915e995565307e assets/twilightforest/items/knightmetal_helmet.json @@ -734,7 +750,7 @@ a6fb36b1ae3935e634f9e8222446f5b1fb52eec5 assets/twilightforest/items/peacock_fea 40ef3bd7b3ff77d48e393f1c6588b6d6ec8963ec assets/twilightforest/items/phantom_helmet.json b0b3135c120309d94aae084ca9c3bb51366ecfd3 assets/twilightforest/items/piglin_skull_candle.json c435748849792db1afe8503c17d266e52a20d7a4 assets/twilightforest/items/pinch_beetle_spawn_egg.json -88b5e816e657a2ea34c83e7259aa33dc7b4e25f1 assets/twilightforest/items/pink_castle_door.json +658488f480de86791ac243cbde752c3afa643bf6 assets/twilightforest/items/pink_castle_door.json 8cf9a3987196e81f7e7cc89c9bacc24aada2b669 assets/twilightforest/items/pink_castle_rune_brick.json f7b7c1bd2b0d9872ac4c1654b3633d7a4736e28e assets/twilightforest/items/pink_force_field.json ba095c9b3a3ab5881246bb1ea93bd4ee0b61e18a assets/twilightforest/items/player_skull_candle.json @@ -791,6 +807,7 @@ c4fe74256ae346fc56f14cd8b6eb3ff5348be463 assets/twilightforest/items/spruce_bani d0646c85a48e4eb018ee6c5c1dd27aa1c3080ef2 assets/twilightforest/items/squirrel_spawn_egg.json e6870b94f88d227ffae59e2f275bf7be82eb0a56 assets/twilightforest/items/stable_ice_core_spawn_egg.json 63a9456abb037acd89375ce3fb0be21d879ab394 assets/twilightforest/items/steeleaf_axe.json +cbdcffd44bc0aa5e549687e774058c64fcd16988 assets/twilightforest/items/steeleaf_block.json 3f97259ab600eea470f4bf268bdcc718c3035214 assets/twilightforest/items/steeleaf_boots.json d171b572dcb3e29afa2c69ca678f53a028256345 assets/twilightforest/items/steeleaf_chestplate.json bfcb0fb4a9a3b3c4b60e3c89a82d6f874149eb3b assets/twilightforest/items/steeleaf_helmet.json @@ -898,6 +915,7 @@ cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oa 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json 34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json +936a150d7499f36d82a81e913ab6efabb4429b04 assets/twilightforest/items/uncrafting_table.json e5dd74f6b1fe7391843baf7016d057028803b8a1 assets/twilightforest/items/underbrick.json e4c9170559852acbf076acf10d00d33dbe7a1723 assets/twilightforest/items/underbrick_floor.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json @@ -907,7 +925,7 @@ d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_bo d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_trophy.json 1f423291ccff6e754a0ebeba64aed85c6d172b95 assets/twilightforest/items/vangrove_banister.json e349c000a3f8218cf9f111c8beb3cb356c52660c assets/twilightforest/items/vanishing_block.json -b49a7a2a3cf45e41ba809c19d6b7b328ef59e3c3 assets/twilightforest/items/violet_castle_door.json +71746ddfc8969e6b3939699886dd8bd1b42b8578 assets/twilightforest/items/violet_castle_door.json 93656a9f715c0b6e58a7084358abe45a90e8ce7a assets/twilightforest/items/violet_castle_rune_brick.json 4b7faf9071d58cb084cbed65460cc0f3dc91a98a assets/twilightforest/items/violet_force_field.json c7918c062c6198f1dce42805319c3d7a955748d8 assets/twilightforest/items/warped_banister.json @@ -918,7 +936,7 @@ d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skel f2dc8ed11a30929e6a6f38d36a7dc9db0dc6a4e3 assets/twilightforest/items/worn_castle_brick_stairs.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json b0128f391cf1f606c994e27bc22f33c412435a6c assets/twilightforest/items/wrought_iron_bar.json -bfcc4c235c73dca430c9788ad712a49d861e22c6 assets/twilightforest/items/yellow_castle_door.json +bc6ded40cbde35ccaf6c85699e0d1904418e9d1a assets/twilightforest/items/yellow_castle_door.json c9218d084feeb38ac206ed9ba3d07fb1bee2e906 assets/twilightforest/items/yellow_castle_rune_brick.json bd33d6ac91ffa73751e13dcc873be5c944827516 assets/twilightforest/items/yeti_boots.json 4847da0e6925d4a6382016b99c2fd6e40bb47358 assets/twilightforest/items/yeti_chestplate.json @@ -963,7 +981,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/blue e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/blue_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/blue_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/blue_castle_rune_brick_7.json -894dbd843ba9bd5acf9572b9e543209d3d598b9c assets/twilightforest/models/block/blue_force_field.json +a94de7bb37c535cca9d287193d819e7dcead9ac8 assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/bold_castle_brick_stairs.json @@ -1164,7 +1182,19 @@ b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/fina 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json bdaefa649722a99572a95642bffccec5fbccee0a assets/twilightforest/models/block/ghast_trap.json 69d89f7d44b3f50d0ee5f6c2571d7d34712b47ce assets/twilightforest/models/block/ghast_trap_on.json -c27371c9276163a2ac58f16d9160d8bdd20cff9e assets/twilightforest/models/block/green_force_field.json +6d32d9f4b0b2a807b6a57f4700d57c29eaaac85b assets/twilightforest/models/block/giant_cobblestone.json +2b589fcf9a3189db2d1096a58288317bb89114c8 assets/twilightforest/models/block/giant_cobblestone_gui.json +ef8c5992b3579ee0d3ccaa94f70e3ee428026ff0 assets/twilightforest/models/block/giant_cobblestone_item.json +bf154da0d59e3b01b44c0dfbf5482a374f5776a5 assets/twilightforest/models/block/giant_leaves.json +14d947d7fed256ced386e45ebd89e3538a9437f9 assets/twilightforest/models/block/giant_leaves_gui.json +977a47d694dbd906c6ec50d30fe2d8158cbbc7b6 assets/twilightforest/models/block/giant_leaves_item.json +fd963f01b7dc9fb0bd5ee5d9eddf9074b767a4df assets/twilightforest/models/block/giant_log.json +38364a4a09d16a2b090b75c739bbd252e5ee139b assets/twilightforest/models/block/giant_log_gui.json +a9d0423b8666260a4fcbe66231b20190e4c91629 assets/twilightforest/models/block/giant_log_item.json +d19b58a31b5d7584437c74c92181a3cf049eaa64 assets/twilightforest/models/block/giant_obsidian.json +fbdc0f10caaba0775345e9a1d71e38327422891a assets/twilightforest/models/block/giant_obsidian_gui.json +19327f496f15d8e1253affe984fb6f1cec24ba55 assets/twilightforest/models/block/giant_obsidian_item.json +381bdf38117e96539fe41bf1a0f15120aad965da assets/twilightforest/models/block/green_force_field.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json @@ -1307,6 +1337,7 @@ d3957da116b324cb5d6c7e23858a4035158b2648 assets/twilightforest/models/block/holl 02f4f9fcc278c48690e8410d72cad03abd1252be assets/twilightforest/models/block/hollow_warped_stem_vertical.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json 292cd96949d3dbfeb0ce76bbc719ea51f60f6f8b assets/twilightforest/models/block/infested_towerwood.json +8214cefd49f6a6ca9ccc96e3b02149e051f70762 assets/twilightforest/models/block/ironwood_block.json b220c01589249c51d4313ab65bb65646c8ebb5b6 assets/twilightforest/models/block/jungle_banister_connected.json 71a8a2612cf7bcc9ca455d940991e864c68b044e assets/twilightforest/models/block/jungle_banister_connected_extended.json 3d4b69e461873c027a628a2b8beea4146a8f01b3 assets/twilightforest/models/block/jungle_banister_inventory.json @@ -1457,7 +1488,7 @@ b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_ 8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/oak_banister_short_extended.json 0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/oak_banister_tall.json 1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/oak_banister_tall_extended.json -5d7cf7785a5136d98ffc662480998778d1e5e240 assets/twilightforest/models/block/orange_force_field.json +09d88eeb2a568500e8b39c3b2be101337729e256 assets/twilightforest/models/block/orange_force_field.json 3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json 3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json afdb121c9852c3c60e3a546abcdcf99944fe9d2b assets/twilightforest/models/block/pale_oak_banister_inventory.json @@ -1475,7 +1506,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/pink e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/pink_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/pink_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/pink_castle_rune_brick_7.json -bef254af3b46a9d4fd10b3bb340bf28eb09268e9 assets/twilightforest/models/block/pink_force_field.json +21ec5ab893c21175846131cac43c7d2a445b0bb0 assets/twilightforest/models/block/pink_force_field.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json @@ -1551,6 +1582,7 @@ f9d08571fbfecc54b45e6a81fc0217044fdd67f8 assets/twilightforest/models/block/sort bf78ae23d06069e839954df8607d2b0b99e39e74 assets/twilightforest/models/block/spruce_banister_short_extended.json 4406a9c225ba07b68fa91832e2b2087e1935a591 assets/twilightforest/models/block/spruce_banister_tall.json ef69791a9675daacaf5b54b42d280942589995cb assets/twilightforest/models/block/spruce_banister_tall_extended.json +b56d9fb7d6c6de2d70da12d6f4b6b353240753a3 assets/twilightforest/models/block/steeleaf_block.json a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_log.json 043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_wood.json @@ -1748,6 +1780,8 @@ bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twil 6b0020137b3d62b2650042d215d47b2b00213ab8 assets/twilightforest/models/block/twilight_oak_wood.json 899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json 6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json +ad72419b6e3047a962876e735cc0a15f19f20c93 assets/twilightforest/models/block/uncrafting_table.json +b6b9ffcd127ac3f233422e3ae1befc2062d6ce3a assets/twilightforest/models/block/uncrafting_table_activated.json eed2392ad51a5d0a35fdd23fada77f8030c11b11 assets/twilightforest/models/block/underbrick.json f9f6c8993506ac436f9365835657f29069519eab assets/twilightforest/models/block/underbrick_floor.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json @@ -1770,7 +1804,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/viol e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/violet_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/violet_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/violet_castle_rune_brick_7.json -268ada43e8582645b1d308cde453346de32cb024 assets/twilightforest/models/block/violet_force_field.json +74d7140049b4ceba9700481f2c4ceab8fa5a8fca assets/twilightforest/models/block/violet_force_field.json 43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/warped_banister_connected.json dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/warped_banister_connected_extended.json 37f2a74097b62b900187f50092d80ad25c68c279 assets/twilightforest/models/block/warped_banister_inventory.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json b/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json new file mode 100644 index 0000000000..206dc5ddec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fiery_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/fiery_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json new file mode 100644 index 0000000000..e8ab5cf005 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/giant_cobblestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/giant_cobblestone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json new file mode 100644 index 0000000000..c3746d2d2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/giant_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/giant_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_log.json b/src/generated/resources/assets/twilightforest/blockstates/giant_log.json new file mode 100644 index 0000000000..e96a728e6b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/giant_log.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/giant_log" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json b/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json new file mode 100644 index 0000000000..f84e58daee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/giant_obsidian.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/giant_obsidian" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json b/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json new file mode 100644 index 0000000000..033537c87a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ironwood_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ironwood_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json b/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json new file mode 100644 index 0000000000..5eeff7b670 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/knightmetal_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/knightmetal_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json b/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json new file mode 100644 index 0000000000..e2283218c5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/steeleaf_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/steeleaf_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json b/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json new file mode 100644 index 0000000000..209f9a0e57 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/uncrafting_table.json @@ -0,0 +1,10 @@ +{ + "variants": { + "powered=false": { + "model": "twilightforest:block/uncrafting_table" + }, + "powered=true": { + "model": "twilightforest:block/uncrafting_table_activated" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/blue_castle_door.json b/src/generated/resources/assets/twilightforest/items/blue_castle_door.json index c754fa6705..a47f4e943c 100644 --- a/src/generated/resources/assets/twilightforest/items/blue_castle_door.json +++ b/src/generated/resources/assets/twilightforest/items/blue_castle_door.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/blue_castle_door" + "model": "twilightforest:block/blue_castle_door", + "tints": [ + { + "type": "minecraft:constant", + "value": -16711681 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiery_block.json b/src/generated/resources/assets/twilightforest/items/fiery_block.json new file mode 100644 index 0000000000..c289778640 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiery_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/fiery_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/items/giant_cobblestone.json new file mode 100644 index 0000000000..c47e204af2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_cobblestone.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_cobblestone_gui" + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_cobblestone_item" + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_leaves.json b/src/generated/resources/assets/twilightforest/items/giant_leaves.json new file mode 100644 index 0000000000..abed005d52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_leaves.json @@ -0,0 +1,31 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_leaves_gui", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_leaves_item", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_log.json b/src/generated/resources/assets/twilightforest/items/giant_log.json new file mode 100644 index 0000000000..e9c23e5e4f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_log.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_log_gui" + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_log_item" + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/giant_obsidian.json b/src/generated/resources/assets/twilightforest/items/giant_obsidian.json new file mode 100644 index 0000000000..80109b29f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/giant_obsidian.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_obsidian_gui" + }, + "when": "gui" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:block/giant_obsidian_item" + }, + "property": "minecraft:display_context" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/ironwood_block.json b/src/generated/resources/assets/twilightforest/items/ironwood_block.json new file mode 100644 index 0000000000..9053de6208 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/ironwood_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/ironwood_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/knightmetal_block.json b/src/generated/resources/assets/twilightforest/items/knightmetal_block.json new file mode 100644 index 0000000000..8870527163 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/knightmetal_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/knightmetal_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pink_castle_door.json b/src/generated/resources/assets/twilightforest/items/pink_castle_door.json index 3b50f6efe5..980a71b696 100644 --- a/src/generated/resources/assets/twilightforest/items/pink_castle_door.json +++ b/src/generated/resources/assets/twilightforest/items/pink_castle_door.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/pink_castle_door" + "model": "twilightforest:block/pink_castle_door", + "tints": [ + { + "type": "minecraft:constant", + "value": -65281 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/steeleaf_block.json b/src/generated/resources/assets/twilightforest/items/steeleaf_block.json new file mode 100644 index 0000000000..c29251ed28 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/steeleaf_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/steeleaf_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/uncrafting_table.json b/src/generated/resources/assets/twilightforest/items/uncrafting_table.json new file mode 100644 index 0000000000..0bd4a558fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/uncrafting_table.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/uncrafting_table" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/violet_castle_door.json b/src/generated/resources/assets/twilightforest/items/violet_castle_door.json index bf058a8bd6..604503235e 100644 --- a/src/generated/resources/assets/twilightforest/items/violet_castle_door.json +++ b/src/generated/resources/assets/twilightforest/items/violet_castle_door.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/violet_castle_door" + "model": "twilightforest:block/violet_castle_door", + "tints": [ + { + "type": "minecraft:constant", + "value": -11861886 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json index b9714ec9f2..42c025e7b5 100644 --- a/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json +++ b/src/generated/resources/assets/twilightforest/items/yellow_castle_door.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/yellow_castle_door" + "model": "twilightforest:block/yellow_castle_door", + "tints": [ + { + "type": "minecraft:constant", + "value": -256 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json index 1d38149c12..fe72ae2287 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", "ambientocclusion": false, "elements": [ { diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json new file mode 100644 index 0000000000..331a74f309 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone.json @@ -0,0 +1,13 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:giant_block", + "textures": { + "down": "minecraft:block/cobblestone", + "east": "minecraft:block/cobblestone", + "north": "minecraft:block/cobblestone", + "particle": "minecraft:block/cobblestone", + "south": "minecraft:block/cobblestone", + "up": "minecraft:block/cobblestone", + "west": "minecraft:block/cobblestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_gui.json b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_gui.json new file mode 100644 index 0000000000..97b617b532 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_gui.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_gui", + "textures": { + "down": "minecraft:block/cobblestone", + "east": "minecraft:block/cobblestone", + "north": "minecraft:block/cobblestone", + "south": "minecraft:block/cobblestone", + "up": "minecraft:block/cobblestone", + "west": "minecraft:block/cobblestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_item.json b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_item.json new file mode 100644 index 0000000000..8648630168 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_cobblestone_item.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_base", + "textures": { + "down": "minecraft:block/cobblestone", + "east": "minecraft:block/cobblestone", + "north": "minecraft:block/cobblestone", + "south": "minecraft:block/cobblestone", + "up": "minecraft:block/cobblestone", + "west": "minecraft:block/cobblestone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json b/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json new file mode 100644 index 0000000000..bc538875a1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_leaves.json @@ -0,0 +1,14 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:giant_block", + "render_type": "minecraft:cutout_mipped", + "textures": { + "down": "minecraft:block/oak_leaves", + "east": "minecraft:block/oak_leaves", + "north": "minecraft:block/oak_leaves", + "particle": "minecraft:block/oak_leaves", + "south": "minecraft:block/oak_leaves", + "up": "minecraft:block/oak_leaves", + "west": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_leaves_gui.json b/src/generated/resources/assets/twilightforest/models/block/giant_leaves_gui.json new file mode 100644 index 0000000000..1a1e9feea8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_leaves_gui.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_gui", + "textures": { + "down": "minecraft:block/oak_leaves", + "east": "minecraft:block/oak_leaves", + "north": "minecraft:block/oak_leaves", + "south": "minecraft:block/oak_leaves", + "up": "minecraft:block/oak_leaves", + "west": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_leaves_item.json b/src/generated/resources/assets/twilightforest/models/block/giant_leaves_item.json new file mode 100644 index 0000000000..fc13177308 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_leaves_item.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_base", + "textures": { + "down": "minecraft:block/oak_leaves", + "east": "minecraft:block/oak_leaves", + "north": "minecraft:block/oak_leaves", + "south": "minecraft:block/oak_leaves", + "up": "minecraft:block/oak_leaves", + "west": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_log.json b/src/generated/resources/assets/twilightforest/models/block/giant_log.json new file mode 100644 index 0000000000..d32a326ad6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_log.json @@ -0,0 +1,13 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:giant_block", + "textures": { + "down": "minecraft:block/oak_log_top", + "east": "minecraft:block/oak_log", + "north": "minecraft:block/oak_log", + "particle": "minecraft:block/oak_log", + "south": "minecraft:block/oak_log", + "up": "minecraft:block/oak_log_top", + "west": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_log_gui.json b/src/generated/resources/assets/twilightforest/models/block/giant_log_gui.json new file mode 100644 index 0000000000..73763ab2d0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_log_gui.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_gui", + "textures": { + "down": "minecraft:block/oak_log_top", + "east": "minecraft:block/oak_log", + "north": "minecraft:block/oak_log", + "south": "minecraft:block/oak_log", + "up": "minecraft:block/oak_log_top", + "west": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_log_item.json b/src/generated/resources/assets/twilightforest/models/block/giant_log_item.json new file mode 100644 index 0000000000..96692ff44e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_log_item.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_base", + "textures": { + "down": "minecraft:block/oak_log_top", + "east": "minecraft:block/oak_log", + "north": "minecraft:block/oak_log", + "south": "minecraft:block/oak_log", + "up": "minecraft:block/oak_log_top", + "west": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json new file mode 100644 index 0000000000..64837eabc4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian.json @@ -0,0 +1,13 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:giant_block", + "textures": { + "down": "minecraft:block/obsidian", + "east": "minecraft:block/obsidian", + "north": "minecraft:block/obsidian", + "particle": "minecraft:block/obsidian", + "south": "minecraft:block/obsidian", + "up": "minecraft:block/obsidian", + "west": "minecraft:block/obsidian" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_gui.json b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_gui.json new file mode 100644 index 0000000000..99ca6217b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_gui.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_gui", + "textures": { + "down": "minecraft:block/obsidian", + "east": "minecraft:block/obsidian", + "north": "minecraft:block/obsidian", + "south": "minecraft:block/obsidian", + "up": "minecraft:block/obsidian", + "west": "minecraft:block/obsidian" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_item.json b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_item.json new file mode 100644 index 0000000000..d83d770124 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/giant_obsidian_item.json @@ -0,0 +1,11 @@ +{ + "parent": "twilightforest:item/giant_block_base", + "textures": { + "down": "minecraft:block/obsidian", + "east": "minecraft:block/obsidian", + "north": "minecraft:block/obsidian", + "south": "minecraft:block/obsidian", + "up": "minecraft:block/obsidian", + "west": "minecraft:block/obsidian" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json index 8e382314ff..4c9b432d75 100644 --- a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", "ambientocclusion": false, "elements": [ { diff --git a/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json b/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json new file mode 100644 index 0000000000..229511a80f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ironwood_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/ironwood_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json index 52c31fd6ff..2c806363d8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", "ambientocclusion": false, "elements": [ { diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json index eaaa8f8fbf..3840559442 100644 --- a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", "ambientocclusion": false, "elements": [ { diff --git a/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json b/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json new file mode 100644 index 0000000000..091304454f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/steeleaf_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/steeleaf_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json new file mode 100644 index 0000000000..96e07f4738 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/util/cube_bottom_2_layer_top", + "textures": { + "bottom": "minecraft:block/jungle_planks", + "side": "twilightforest:block/uncrafting_table", + "top": "twilightforest:block/uncrafting_table_top", + "top2": "twilightforest:block/uncrafting_table_top_glow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_activated.json b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_activated.json new file mode 100644 index 0000000000..047045cbbc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/uncrafting_table_activated.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/util/two_layer_column_no_bottom", + "textures": { + "bottom": "minecraft:block/jungle_planks", + "side": "twilightforest:block/uncrafting_table", + "side2": "twilightforest:block/uncrafting_table_glow", + "top": "twilightforest:block/uncrafting_table_top", + "top2": "twilightforest:block/uncrafting_table_top_glow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json index 3f6a1450c1..d5411c8f4d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:block/cube_all", + "parent": "minecraft:block/block", "ambientocclusion": false, "elements": [ { From 090dff278b632d1601fee2e4fa4cf992d87204a3 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Apr 2025 10:26:54 -0600 Subject: [PATCH 108/239] wrought fences, carminite, e115, iron ladder, and rope --- .../assets/models/BlockModelGenerator.java | 30 +++++++- .../helpers/models/BlockModelBuilders.java | 70 +++++++++++++++++++ .../models/block/carminite_block.json | 35 ++++++++++ ...nt115_1_8.json => experiment_115_1_8.json} | 16 ++--- ...nt115_2_8.json => experiment_115_2_8.json} | 4 +- ...nt115_3_8.json => experiment_115_3_8.json} | 16 ++--- ...nt115_4_8.json => experiment_115_4_8.json} | 4 +- ...nt115_5_8.json => experiment_115_5_8.json} | 18 ++--- ...nt115_6_8.json => experiment_115_6_8.json} | 6 +- ...nt115_7_8.json => experiment_115_7_8.json} | 18 ++--- ...nt115_8_8.json => experiment_115_8_8.json} | 6 +- 11 files changed, 177 insertions(+), 46 deletions(-) create mode 100644 src/main/resources/assets/twilightforest/models/block/carminite_block.json rename src/main/resources/assets/twilightforest/models/block/{experiment115_1_8.json => experiment_115_1_8.json} (89%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_2_8.json => experiment_115_2_8.json} (90%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_3_8.json => experiment_115_3_8.json} (89%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_4_8.json => experiment_115_4_8.json} (90%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_5_8.json => experiment_115_5_8.json} (89%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_6_8.json => experiment_115_6_8.json} (89%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_7_8.json => experiment_115_7_8.json} (89%) mode change 100755 => 100644 rename src/main/resources/assets/twilightforest/models/block/{experiment115_8_8.json => experiment_115_8_8.json} (85%) mode change 100755 => 100644 diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 6eb2238180..778e0f781a 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.LadderBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.w3c.dom.Text; import twilightforest.TwilightForestMod; @@ -66,7 +67,7 @@ public void run() { this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.stonePillar(); - + this.wroughtIronFence(); this.terrorcotta(); this.wrapBlockItem(TFBlocks.MAZESTONE.get(), this::createTrivialCube); @@ -101,7 +102,7 @@ public void run() { this.wrapBlockItem(TFBlocks.ENCASED_SMOKER.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with( createBooleanModelDispatch(EncasedSmokerBlock.ACTIVE, TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(block, "_on", TFTextureMapping.threeLayerDeviceOn(block, TFBlocks.GHAST_TRAP.get()), this.modelOutput), - TFModelTemplates.THREE_LAYER_DEVICE.create(block, TFTextureMapping.threeLayerDevice(block, TFBlocks.GHAST_TRAP.get(), ""), this.modelOutput))))); + TFModelTemplates.THREE_LAYER_DEVICE.create(block, TFTextureMapping.threeLayerDevice(block, TFBlocks.GHAST_TRAP.get(), ""), this.modelOutput))))); ResourceLocation jetOn = TFModelTemplates.THREE_LAYER_DEVICE_ACTIVE.createWithSuffix(TFBlocks.ENCASED_FIRE_JET.get(), "_on", TFTextureMapping.threeLayerDeviceOn(TFBlocks.ENCASED_FIRE_JET.get(), TFBlocks.GHAST_TRAP.get()), this.modelOutput); ResourceLocation jetOff = TFModelTemplates.THREE_LAYER_DEVICE.create(TFBlocks.ENCASED_FIRE_JET.get(), TFTextureMapping.threeLayerDevice(TFBlocks.ENCASED_FIRE_JET.get(), TFBlocks.GHAST_TRAP.get(), ""), this.modelOutput); this.wrapBlockItem(TFBlocks.ENCASED_FIRE_JET.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.property(EncasedFireJetBlock.STATE).generate(variant -> Variant.variant().with(VariantProperties.MODEL, variant.isVariantOn() ? jetOn : jetOff))))); @@ -138,6 +139,17 @@ public void run() { TFModelTemplates.SMALL_CUBE.createWithSuffix(block, variant, TextureMapping.cube(TextureMapping.getBlockTexture(block, variant)), this.modelOutput) : TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, variant, TFTextureMapping.threeLayerBlock(block, variant), this.modelOutput)); })))); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.EXPERIMENT_115.get()).with(PropertyDispatch.properties(Experiment115Block.BITES_TAKEN, Experiment115Block.REGENERATE).generate((bites, regen) -> { + String suffix = String.format("_%d_8", 8 - bites); + ResourceLocation model; + if (regen) { + model = TFModelTemplates.create("twilightforest:experiment_115" + suffix, suffix + "_regenerating", TFTextureSlot.TOP_2).create(TFBlocks.EXPERIMENT_115.get(), new TextureMapping().put(TFTextureSlot.TOP_2, TwilightForestMod.prefix("block/experiment115_sprinkle")), this.modelOutput); + } else { + model = ModelLocationUtils.getModelLocation(TFBlocks.EXPERIMENT_115.get(), suffix); + } + return Variant.variant().with(VariantProperties.MODEL, model); + }))); + this.itemModelOutput.accept(TFBlocks.EXPERIMENT_115.asItem(), ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.EXPERIMENT_115.asItem()))); //TODO aurora blocks this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); @@ -216,12 +228,26 @@ public void run() { this.generateTrophy(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), major); this.generateTrophy(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), quest, "smaller_gui_trophy"); + this.ironLadder(); + + this.blockStateOutput.accept(MultiPartGenerator.multiPart(TFBlocks.ROPE.get()) + .with(Condition.condition().term(RopeBlock.X, true), Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.ROPE.get(), "_x"))) + .with(Condition.condition().term(RopeBlock.Y, true), Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.ROPE.get(), "_y"))) + .with(Condition.condition().term(RopeBlock.Z, true), Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.ROPE.get(), "_z"))) + .with(Condition.or( + Condition.and(Condition.condition().term(RopeBlock.X, true), Condition.condition().term(RopeBlock.Y, true)), + Condition.and(Condition.condition().term(RopeBlock.Y, true), Condition.condition().term(RopeBlock.Z, true)), + Condition.and(Condition.condition().term(RopeBlock.Z, true), Condition.condition().term(RopeBlock.X, true))), + Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.ROPE.get(), "_knot")))); + this.itemModelOutput.accept(TFBlocks.ROPE.asItem(), ItemModelUtils.plainModel(this.createFlatItemModelWithBlockTexture(TFBlocks.ROPE.asItem(), TFBlocks.ROPE.get()))); + this.wrapBlockItem(TFBlocks.UNCRAFTING_TABLE.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(createBooleanModelDispatch(UncraftingTableBlock.POWERED, TFModelTemplates.TWO_LAYER_COLUMN_NO_BOTTOM.createWithSuffix(block, "_activated", TFTextureMapping.uncraftingTableOn(block), this.modelOutput), TFModelTemplates.CUBE_BOTTOM_2_LAYER_TOP.create(block, TFTextureMapping.uncraftingTable(block), this.modelOutput))))); this.basicCtmBlock(TFBlocks.ARCTIC_FUR_BLOCK.get()); this.wrapBlockItem(TFBlocks.STEELEAF_BLOCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.IRONWOOD_BLOCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.KNIGHTMETAL_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); this.wrapBlockItem(TFBlocks.FIERY_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); + this.wrapBlockItem(TFBlocks.CARMINITE_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); } private void generateWoodBlocks() { diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index effd0e8a03..d102fc141c 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -316,6 +316,43 @@ public void stonePillar() { ); } + public void wroughtIronFence() { + Block block = TFBlocks.WROUGHT_IRON_FENCE.get(); + ResourceLocation post = ModelLocationUtils.getModelLocation(block, "_post"); + ResourceLocation capped = ModelLocationUtils.getModelLocation(block, "_post_capped"); + ResourceLocation full = ModelLocationUtils.getModelLocation(block, "_full"); + ResourceLocation top = ModelLocationUtils.getModelLocation(block, "_top"); + ResourceLocation middle = ModelLocationUtils.getModelLocation(block, "_middle"); + ResourceLocation bottom = ModelLocationUtils.getModelLocation(block, "_bottom"); + + this.blockStateOutput.accept(MultiPartGenerator.multiPart(block) + .with(Condition.condition().term(WroughtIronFenceBlock.POST, WroughtIronFenceBlock.PostState.POST), Variant.variant().with(VariantProperties.MODEL, post)) + .with(Condition.condition().term(WroughtIronFenceBlock.POST, WroughtIronFenceBlock.PostState.CAPPED), Variant.variant().with(VariantProperties.MODEL, capped)) + + .with(Condition.condition().term(WroughtIronFenceBlock.NORTH_FENCE, WroughtIronFenceBlock.FenceSide.FULL), Variant.variant().with(VariantProperties.MODEL, full)) + .with(Condition.condition().term(WroughtIronFenceBlock.NORTH_FENCE, WroughtIronFenceBlock.FenceSide.TOP), Variant.variant().with(VariantProperties.MODEL, top)) + .with(Condition.condition().term(WroughtIronFenceBlock.NORTH_FENCE, WroughtIronFenceBlock.FenceSide.MIDDLE), Variant.variant().with(VariantProperties.MODEL, middle)) + .with(Condition.condition().term(WroughtIronFenceBlock.NORTH_FENCE, WroughtIronFenceBlock.FenceSide.BOTTOM), Variant.variant().with(VariantProperties.MODEL, bottom)) + + .with(Condition.condition().term(WroughtIronFenceBlock.EAST_FENCE, WroughtIronFenceBlock.FenceSide.FULL), Variant.variant().with(VariantProperties.MODEL, full).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .with(Condition.condition().term(WroughtIronFenceBlock.EAST_FENCE, WroughtIronFenceBlock.FenceSide.TOP), Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .with(Condition.condition().term(WroughtIronFenceBlock.EAST_FENCE, WroughtIronFenceBlock.FenceSide.MIDDLE), Variant.variant().with(VariantProperties.MODEL, middle).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .with(Condition.condition().term(WroughtIronFenceBlock.EAST_FENCE, WroughtIronFenceBlock.FenceSide.BOTTOM), Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + + .with(Condition.condition().term(WroughtIronFenceBlock.SOUTH_FENCE, WroughtIronFenceBlock.FenceSide.FULL), Variant.variant().with(VariantProperties.MODEL, full).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .with(Condition.condition().term(WroughtIronFenceBlock.SOUTH_FENCE, WroughtIronFenceBlock.FenceSide.TOP), Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .with(Condition.condition().term(WroughtIronFenceBlock.SOUTH_FENCE, WroughtIronFenceBlock.FenceSide.MIDDLE), Variant.variant().with(VariantProperties.MODEL, middle).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .with(Condition.condition().term(WroughtIronFenceBlock.SOUTH_FENCE, WroughtIronFenceBlock.FenceSide.BOTTOM), Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + + .with(Condition.condition().term(WroughtIronFenceBlock.WEST_FENCE, WroughtIronFenceBlock.FenceSide.FULL), Variant.variant().with(VariantProperties.MODEL, full).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .with(Condition.condition().term(WroughtIronFenceBlock.WEST_FENCE, WroughtIronFenceBlock.FenceSide.TOP), Variant.variant().with(VariantProperties.MODEL, top).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .with(Condition.condition().term(WroughtIronFenceBlock.WEST_FENCE, WroughtIronFenceBlock.FenceSide.MIDDLE), Variant.variant().with(VariantProperties.MODEL, middle).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .with(Condition.condition().term(WroughtIronFenceBlock.WEST_FENCE, WroughtIronFenceBlock.FenceSide.BOTTOM), Variant.variant().with(VariantProperties.MODEL, bottom).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + ); + + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(block.asItem()))); + } + public void terrorcotta() { this.rotationallySpecialColumn(TFBlocks.TERRORCOTTA_ARCS.get()); @@ -767,4 +804,37 @@ public void trophyPedestal() { this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(pedestal).with(PropertyDispatch.property(TrophyPedestalBlock.ACTIVE).select(true, activeVariants).select(false, variants))); this.generateBlockItem(pedestal); } + + public void ironLadder() { + MultiPartGenerator model = MultiPartGenerator.multiPart(TFBlocks.IRON_LADDER.get()); + ResourceLocation left = ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.get(), "_left"); + ResourceLocation leftConnect = ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.get(), "_left_connection"); + ResourceLocation right = ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.get(), "_right"); + ResourceLocation rightConnect = ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.get(), "_right_connection"); + for (Direction d : Direction.Plane.HORIZONTAL) { + model.with(Condition.and( + Condition.condition().term(IronLadderBlock.LEFT, false), + Condition.condition().term(LadderBlock.FACING, d)), Variant.variant().with(VariantProperties.MODEL, left).with(VariantProperties.Y_ROT, getYRotationFromDirection(d))); + model.with(Condition.and( + Condition.condition().term(IronLadderBlock.LEFT, true), + Condition.condition().term(LadderBlock.FACING, d)), Variant.variant().with(VariantProperties.MODEL, leftConnect).with(VariantProperties.Y_ROT, getYRotationFromDirection(d))); + model.with(Condition.and( + Condition.condition().term(IronLadderBlock.RIGHT, false), + Condition.condition().term(LadderBlock.FACING, d)), Variant.variant().with(VariantProperties.MODEL, right).with(VariantProperties.Y_ROT, getYRotationFromDirection(d))); + model.with(Condition.and( + Condition.condition().term(IronLadderBlock.RIGHT, true), + Condition.condition().term(LadderBlock.FACING, d)), Variant.variant().with(VariantProperties.MODEL, rightConnect).with(VariantProperties.Y_ROT, getYRotationFromDirection(d))); + } + this.blockStateOutput.accept(model); + this.itemModelOutput.accept(TFBlocks.IRON_LADDER.asItem(), ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.asItem()))); + } + + public static VariantProperties.Rotation getYRotationFromDirection(Direction direction) { + return switch (direction) { + case EAST -> VariantProperties.Rotation.R90; + case SOUTH -> VariantProperties.Rotation.R180; + case WEST -> VariantProperties.Rotation.R270; + default -> VariantProperties.Rotation.R0; + }; + } } diff --git a/src/main/resources/assets/twilightforest/models/block/carminite_block.json b/src/main/resources/assets/twilightforest/models/block/carminite_block.json new file mode 100644 index 0000000000..2676beea07 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/carminite_block.json @@ -0,0 +1,35 @@ +{ + "parent": "block/block", + "render_type": "minecraft:cutout", + "textures": { + "all": "twilightforest:block/carminite_block", + "all2": "twilightforest:block/carminite_block_overlay", + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "down"}, + "up": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "up"}, + "north": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "north"}, + "south": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "south"}, + "west": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "west"}, + "east": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "east"} + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "up": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "up"}, + "down": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "down"}, + "north": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "north"}, + "south": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "south"}, + "west": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "west"}, + "east": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "east"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_1_8.json old mode 100755 new mode 100644 similarity index 89% rename from src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_1_8.json index e348926bc5..6bcbbb0f8e --- a/src/main/resources/assets/twilightforest/models/block/experiment115_1_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_1_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -90,49 +90,49 @@ "from": [4, 8, 1], "to": [8, 8, 5], "faces": { - "up": {"uv": [4, 1, 8, 5], "texture": "#top_2"} + "up": {"uv": [4, 1, 8, 5], "texture": "#top2"} } }, { "from": [2, 8, 1], "to": [4, 8, 3], "faces": { - "up": {"uv": [2, 1, 4, 3], "texture": "#top_2"} + "up": {"uv": [2, 1, 4, 3], "texture": "#top2"} } }, { "from": [6, 8, 5], "to": [8, 8, 7], "faces": { - "up": {"uv": [6, 5, 8, 7], "texture": "#top_2"} + "up": {"uv": [6, 5, 8, 7], "texture": "#top2"} } }, { "from": [1, 8, 1], "to": [2, 8, 2], "faces": { - "up": {"uv": [1, 1, 2, 2], "texture": "#top_2"} + "up": {"uv": [1, 1, 2, 2], "texture": "#top2"} } }, { "from": [3, 8, 3], "to": [4, 8, 4], "faces": { - "up": {"uv": [3, 3, 4, 4], "texture": "#top_2"} + "up": {"uv": [3, 3, 4, 4], "texture": "#top2"} } }, { "from": [5, 8, 5], "to": [6, 8, 6], "faces": { - "up": {"uv": [5, 5, 6, 6], "texture": "#top_2"} + "up": {"uv": [5, 5, 6, 6], "texture": "#top2"} } }, { "from": [7, 8, 7], "to": [8, 8, 8], "faces": { - "up": {"uv": [7, 7, 8, 8], "texture": "#top_2"} + "up": {"uv": [7, 7, 8, 8], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_2_8.json old mode 100755 new mode 100644 similarity index 90% rename from src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_2_8.json index 8733d7c434..2cdb9020a6 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_2_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_2_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -26,7 +26,7 @@ "from": [1, 8, 1], "to": [8, 8, 8], "faces": { - "up": {"uv": [1, 1, 8, 8], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 8], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_3_8.json old mode 100755 new mode 100644 similarity index 89% rename from src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_3_8.json index 9f0ca1e6a6..b8753d4bd7 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_3_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_3_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -89,49 +89,49 @@ "from": [1, 8, 1], "to": [8, 8, 9], "faces": { - "up": {"uv": [1, 1, 8, 9], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 9], "texture": "#top2"} } }, { "from": [1, 8, 9], "to": [5, 8, 12], "faces": { - "up": {"uv": [1, 9, 5, 12], "texture": "#top_2"} + "up": {"uv": [1, 9, 5, 12], "texture": "#top2"} } }, { "from": [1, 0, 12], "to": [3, 8, 14], "faces": { - "up": {"uv": [1, 12, 3, 14], "texture": "#top_2"} + "up": {"uv": [1, 12, 3, 14], "texture": "#top2"} } }, { "from": [5, 8, 9], "to": [7, 8, 10], "faces": { - "up": {"uv": [5, 9, 7, 10], "texture": "#top_2"} + "up": {"uv": [5, 9, 7, 10], "texture": "#top2"} } }, { "from": [1, 8, 14], "to": [2, 8, 15], "faces": { - "up": {"uv": [1, 14, 2, 15], "texture": "#top_2"} + "up": {"uv": [1, 14, 2, 15], "texture": "#top2"} } }, { "from": [3, 8, 12], "to": [4, 8, 13], "faces": { - "up": {"uv": [3, 12, 4, 13], "texture": "#top_2"} + "up": {"uv": [3, 12, 4, 13], "texture": "#top2"} } }, { "from": [5, 8, 10], "to": [6, 8, 11], "faces": { - "up": {"uv": [5, 10, 6, 11], "texture": "#top_2"} + "up": {"uv": [5, 10, 6, 11], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_4_8.json old mode 100755 new mode 100644 similarity index 90% rename from src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_4_8.json index 03746c4ed0..8062c02e5c --- a/src/main/resources/assets/twilightforest/models/block/experiment115_4_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_4_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -26,7 +26,7 @@ "from": [1, 8, 1], "to": [8, 8, 15], "faces": { - "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 15], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_5_8.json old mode 100755 new mode 100644 similarity index 89% rename from src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_5_8.json index c199844618..48b58dad9a --- a/src/main/resources/assets/twilightforest/models/block/experiment115_5_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_5_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -99,56 +99,56 @@ "from": [1, 8, 1], "to": [8, 8, 15], "faces": { - "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 15], "texture": "#top2"} } }, { "from": [8, 8, 11], "to": [12, 8, 15], "faces": { - "up": {"uv": [8, 11, 12, 15], "texture": "#top_2"} + "up": {"uv": [8, 11, 12, 15], "texture": "#top2"} } }, { "from": [12, 8, 13], "to": [14, 8, 15], "faces": { - "up": {"uv": [12, 13, 14, 15], "texture": "#top_2"} + "up": {"uv": [12, 13, 14, 15], "texture": "#top2"} } }, { "from": [8, 8, 9], "to": [10, 8, 11], "faces": { - "up": {"uv": [8, 9, 10, 11], "texture": "#top_2"} + "up": {"uv": [8, 9, 10, 11], "texture": "#top2"} } }, { "from": [8, 8, 8], "to": [9, 8, 9], "faces": { - "up": {"uv": [8, 8, 9, 9], "texture": "#top_2"} + "up": {"uv": [8, 8, 9, 9], "texture": "#top2"} } }, { "from": [10, 8, 10], "to": [11, 8, 11], "faces": { - "up": {"uv": [10, 10, 11, 11], "texture": "#top_2"} + "up": {"uv": [10, 10, 11, 11], "texture": "#top2"} } }, { "from": [12, 8, 12], "to": [13, 8, 13], "faces": { - "up": {"uv": [12, 12, 13, 13], "texture": "#top_2"} + "up": {"uv": [12, 12, 13, 13], "texture": "#top2"} } }, { "from": [14, 8, 14], "to": [15, 8, 15], "faces": { - "up": {"uv": [14, 14, 15, 15], "texture": "#top_2"} + "up": {"uv": [14, 14, 15, 15], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_6_8.json old mode 100755 new mode 100644 similarity index 89% rename from src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_6_8.json index ad17a712a3..0d7a81ef49 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_6_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_6_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -37,14 +37,14 @@ "from": [1, 8, 1], "to": [8, 8, 15], "faces": { - "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 15], "texture": "#top2"} } }, { "from": [8, 8, 8], "to": [15, 8, 15], "faces": { - "up": {"uv": [8, 8, 15, 15], "texture": "#top_2"} + "up": {"uv": [8, 8, 15, 15], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_7_8.json old mode 100755 new mode 100644 similarity index 89% rename from src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_7_8.json index a1428fb836..8cdb31305a --- a/src/main/resources/assets/twilightforest/models/block/experiment115_7_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_7_8.json @@ -5,7 +5,7 @@ "bottom": "twilightforest:block/experiment115_bottom", "inside": "twilightforest:block/experiment115_inner", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -100,56 +100,56 @@ "from": [1, 8, 1], "to": [8, 8, 15], "faces": { - "up": {"uv": [1, 1, 8, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 8, 15], "texture": "#top2"} } }, { "from": [8, 8, 7], "to": [15, 8, 15], "faces": { - "up": {"uv": [8, 7, 15, 15], "texture": "#top_2"} + "up": {"uv": [8, 7, 15, 15], "texture": "#top2"} } }, { "from": [11, 8, 4], "to": [15, 8, 7], "faces": { - "up": {"uv": [11, 4, 15, 7], "texture": "#top_2"} + "up": {"uv": [11, 4, 15, 7], "texture": "#top2"} } }, { "from": [9, 8, 6], "to": [11, 8, 7], "faces": { - "up": {"uv": [9, 6, 11, 7], "texture": "#top_2"} + "up": {"uv": [9, 6, 11, 7], "texture": "#top2"} } }, { "from": [13, 8, 2], "to": [15, 8, 4], "faces": { - "up": {"uv": [13, 2, 15, 4], "texture": "#top_2"} + "up": {"uv": [13, 2, 15, 4], "texture": "#top2"} } }, { "from": [10, 8, 5], "to": [11, 8, 6], "faces": { - "up": {"uv": [10, 5, 11, 6], "texture": "#top_2"} + "up": {"uv": [10, 5, 11, 6], "texture": "#top2"} } }, { "from": [12, 8, 3], "to": [13, 8, 4], "faces": { - "up": {"uv": [12, 3, 13, 4], "texture": "#top_2"} + "up": {"uv": [12, 3, 13, 4], "texture": "#top2"} } }, { "from": [14, 8, 1], "to": [15, 8, 2], "faces": { - "up": {"uv": [14, 1, 15, 2], "texture": "#top_2"} + "up": {"uv": [14, 1, 15, 2], "texture": "#top2"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json b/src/main/resources/assets/twilightforest/models/block/experiment_115_8_8.json old mode 100755 new mode 100644 similarity index 85% rename from src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json rename to src/main/resources/assets/twilightforest/models/block/experiment_115_8_8.json index 66ed840a4d..e96c85b728 --- a/src/main/resources/assets/twilightforest/models/block/experiment115_8_8.json +++ b/src/main/resources/assets/twilightforest/models/block/experiment_115_8_8.json @@ -4,7 +4,7 @@ "textures": { "bottom": "twilightforest:block/experiment115_bottom", "top": "twilightforest:block/experiment115_top", - "top_2": "twilightforest:block/blank", + "top2": "twilightforest:block/blank", "side": "twilightforest:block/experiment115_side", "particle": "#bottom" }, @@ -25,14 +25,14 @@ "from": [1, 8, 1], "to": [15, 8, 15], "faces": { - "up": {"uv": [1, 1, 15, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 15, 15], "texture": "#top2"} } }, { "from": [1, 8, 1], "to": [15, 8.02, 15], "faces": { - "up": {"uv": [1, 1, 15, 15], "texture": "#top_2"} + "up": {"uv": [1, 1, 15, 15], "texture": "#top2"} } } ] From f94df97e33c70fd25892a3d3add5963ca088608c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Apr 2025 10:27:12 -0600 Subject: [PATCH 109/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 22 +- .../blockstates/carminite_block.json | 7 + .../blockstates/experiment_115.json | 52 ++++ .../blockstates/iron_ladder.json | 260 ++++++++++++++++++ .../twilightforest/blockstates/rope.json | 67 +++++ .../blockstates/wrought_iron_fence.json | 160 +++++++++++ .../twilightforest/items/carminite_block.json | 6 + .../twilightforest/items/experiment_115.json | 6 + .../twilightforest/items/iron_ladder.json | 6 + .../assets/twilightforest/items/rope.json | 6 + .../items/wrought_iron_fence.json | 6 + .../experiment_115_1_8_regenerating.json | 6 + .../experiment_115_2_8_regenerating.json | 6 + .../experiment_115_3_8_regenerating.json | 6 + .../experiment_115_4_8_regenerating.json | 6 + .../experiment_115_5_8_regenerating.json | 6 + .../experiment_115_6_8_regenerating.json | 6 + .../experiment_115_7_8_regenerating.json | 6 + .../experiment_115_8_8_regenerating.json | 6 + .../models/item/experiment_115.json | 6 + .../twilightforest/models/item/rope.json | 6 + 21 files changed, 657 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/carminite_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/experiment_115.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/rope.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json create mode 100644 src/generated/resources/assets/twilightforest/items/carminite_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/experiment_115.json create mode 100644 src/generated/resources/assets/twilightforest/items/iron_ladder.json create mode 100644 src/generated/resources/assets/twilightforest/items/rope.json create mode 100644 src/generated/resources/assets/twilightforest/items/wrought_iron_fence.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_1_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_2_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_3_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_4_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_5_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_6_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_7_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/experiment_115_8_8_regenerating.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/experiment_115.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/rope.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index ff7c0c414f..db603daadc 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-08T22:21:38.509059 Model Definitions - twilightforest +// 1.21.4 2025-04-09T10:18:36.129229 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -43,6 +43,7 @@ c28c9f22556cb3259944bde2c8e4ebdd7a89c3cb assets/twilightforest/blockstates/canop 3febf0319a950602bcf6b883fd9d54b2c9782e4a assets/twilightforest/blockstates/canopy_window.json a18457224a5c13cd007e7189fbf01fa9a2962f3d assets/twilightforest/blockstates/canopy_window_pane.json eb60f7ee8af365cf7321539690c0e36e9f9e88fb assets/twilightforest/blockstates/canopy_wood.json +47e61313b04f63424a082e4135152393a93a4182 assets/twilightforest/blockstates/carminite_block.json b828a5f795b87a38fdff349a5f42f0d2e1b3709e assets/twilightforest/blockstates/carminite_builder.json 37ef42e7fd6f7021d4fc7ae256dda9330d5123b7 assets/twilightforest/blockstates/carminite_reactor.json de808df0569c78201d6ec7eb44a4953441899df9 assets/twilightforest/blockstates/castle_brick.json @@ -95,6 +96,7 @@ fdbaed4b18eff75c1202f25441f63a6d1c18b63a assets/twilightforest/blockstates/encas ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encased_smoker.json fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json +83d2804b5a6ff4ec2c1fcaea1722bfe85c96f229 assets/twilightforest/blockstates/experiment_115.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json @@ -169,6 +171,7 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json 799ee46ea3afedabe20cf44b0079b6f447dff449 assets/twilightforest/blockstates/infested_towerwood.json f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironwood_block.json +188dd2cb91e663c89b207a735a11e6746b46bc1a assets/twilightforest/blockstates/iron_ladder.json 63888a1eea77277c50695a78d8fa7fe3732d7dc9 assets/twilightforest/blockstates/jungle_banister.json 0c9d3bbbca93e0b56793a9eebcdfba0547440a47 assets/twilightforest/blockstates/keepsake_casket.json 87244121c350012e8ef686a9ec633119668b78d2 assets/twilightforest/blockstates/knightmetal_block.json @@ -273,6 +276,7 @@ d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potte 418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json ca8b081c660985f4a74b629311953cd19b578d1d assets/twilightforest/blockstates/reappearing_block.json bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json +580c6986a8d821decce6c95c9d79cf447a0567e2 assets/twilightforest/blockstates/rope.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json @@ -411,6 +415,7 @@ ec6c3e13a257a3e652bbaae9d74f5fafe1e09fbb assets/twilightforest/blockstates/viole 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json 2c533ced16289e079d4087d68d6b4d384368ee44 assets/twilightforest/blockstates/worn_castle_brick.json a870add5edb6e1d34056db7623acd5487fcd031c assets/twilightforest/blockstates/worn_castle_brick_stairs.json +691d1d4aedb1ca5a8a3bfe9443d24db6bea3e51b assets/twilightforest/blockstates/wrought_iron_fence.json d7f2a46f3bf24bc80c3a8dbd630db172fdc242c9 assets/twilightforest/blockstates/yellow_castle_door.json 1b80c2a5e6507644c16cf43187ad87bf353b4060 assets/twilightforest/blockstates/yellow_castle_rune_brick.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/zombie_skull_candle.json @@ -472,6 +477,7 @@ ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stai 3059035669d5c0debc414219e7a2ff2c4c91ec1e assets/twilightforest/items/canopy_window_pane.json 80dcdab276f4490d97dd3b9efc8f4100785f49aa assets/twilightforest/items/canopy_wood.json 8357c3180197507bc520d84941553c1b036bea13 assets/twilightforest/items/carminite.json +2a888ad16b3ad1fff4de24a00d99624de34d875f assets/twilightforest/items/carminite_block.json 5de6a2921cb6962beadbf3a658b05e2226125d04 assets/twilightforest/items/carminite_broodling_spawn_egg.json 13014220e21bf56c3c8a096748d0c8e44638d777 assets/twilightforest/items/carminite_builder.json 3e6b4e1326fbdf94cb4041a3a37165b401e56b96 assets/twilightforest/items/carminite_ghastguard_spawn_egg.json @@ -542,6 +548,7 @@ b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_cas 6881694127e2c04b7de90db26bd1b1e32e72e24b assets/twilightforest/items/encased_towerwood.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json +639d182541ff6049eac72584b8b5e889f890e314 assets/twilightforest/items/experiment_115.json b7b689a64be36eae22a2ad7adf9916ad81a12721 assets/twilightforest/items/fiery_block.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json 5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json @@ -613,6 +620,7 @@ c62e20368ba3b20cef54a4398bc9da078bc65ab1 assets/twilightforest/items/ironwood_le dc447f17993ed6305b89e74756fa0e3aa16d79ae assets/twilightforest/items/ironwood_pickaxe.json 962c4db843e066ca397125423387661d3f7d8d12 assets/twilightforest/items/ironwood_shovel.json 7148bc3823e70b47fbf2a61b6c45df9d5b98ba4e assets/twilightforest/items/ironwood_sword.json +6cf6c4734432465fbdb6af5c5be370e74b7374ba assets/twilightforest/items/iron_ladder.json 791cd0e28f9871e7286dd2b5eecaeda5e7bcbf22 assets/twilightforest/items/jungle_banister.json 215ee6062747a5e5b6a142aae307e86c61ef1fa8 assets/twilightforest/items/keepsake_casket.json 248ee88333cf8d32bc51c72c89f0de8a3fcf2d09 assets/twilightforest/items/king_spider_spawn_egg.json @@ -769,6 +777,7 @@ f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json d6873cf3981e7fc851792bdd6f6b640d0c015e4c assets/twilightforest/items/root.json +55e7801774c057a351b8788b9d94ff89af310864 assets/twilightforest/items/rope.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json 7f500dcd5571fff8dfee2efeb938b21a716eae8d assets/twilightforest/items/sinister_spawner.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/skeleton_druid_spawn_egg.json @@ -936,6 +945,7 @@ d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skel f2dc8ed11a30929e6a6f38d36a7dc9db0dc6a4e3 assets/twilightforest/items/worn_castle_brick_stairs.json 4c13a3321f46c4bffd6a0e8f984671a823f2e43d assets/twilightforest/items/wraith_spawn_egg.json b0128f391cf1f606c994e27bc22f33c412435a6c assets/twilightforest/items/wrought_iron_bar.json +1991933127188df2d6a76b174a6daada21fcf726 assets/twilightforest/items/wrought_iron_fence.json bc6ded40cbde35ccaf6c85699e0d1904418e9d1a assets/twilightforest/items/yellow_castle_door.json c9218d084feeb38ac206ed9ba3d07fb1bee2e906 assets/twilightforest/items/yellow_castle_rune_brick.json bd33d6ac91ffa73751e13dcc873be5c944827516 assets/twilightforest/items/yeti_boots.json @@ -1177,6 +1187,14 @@ d1380ee9b8b919fc5079c672bba17da6107c2b2e assets/twilightforest/models/block/enca f3c1c194efc96779790fa06d70184ff466e2ca0e assets/twilightforest/models/block/encased_smoker_on.json 6b63eeafc7e65c16a1dba1a460bc11a19816c259 assets/twilightforest/models/block/encased_towerwood.json 6d60579eaa326f76eb0466e167eb6923522652ac assets/twilightforest/models/block/etched_nagastone.json +ca4e20144ab1c7c67c47dce1971505e360dfbccd assets/twilightforest/models/block/experiment_115_1_8_regenerating.json +b5dc12a65987ade18eae5f5643c051de549df39f assets/twilightforest/models/block/experiment_115_2_8_regenerating.json +e2fc573c6c04d9351018c7154c74e8531a856657 assets/twilightforest/models/block/experiment_115_3_8_regenerating.json +002b6990e7c9bc88ec60f9db0bf78304281acf2e assets/twilightforest/models/block/experiment_115_4_8_regenerating.json +f9d6abe18669d516d03044a478937f94bdfe318e assets/twilightforest/models/block/experiment_115_5_8_regenerating.json +8d389a74d02552287cf373e4b204f6354b6ebf34 assets/twilightforest/models/block/experiment_115_6_8_regenerating.json +248e85e1f1def24b3a5a3fbd7b07ea14a4687bee assets/twilightforest/models/block/experiment_115_7_8_regenerating.json +7b496f7f5e7c6a8ec852515f31566d90f13f178b assets/twilightforest/models/block/experiment_115_8_8_regenerating.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json @@ -1940,6 +1958,7 @@ bb5f3969ff84f8af6a50b31138ba47c88a1d0f35 assets/twilightforest/models/item/ender 2112c5b4eaa70e8cc5af2223ae96a0668af27ac7 assets/twilightforest/models/item/ender_bow_pulling_0.json 7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json +2df1005f58e6d3fbb401130330bd70ab78796380 assets/twilightforest/models/item/experiment_115.json d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json 3753282055695770ddb4392f231da75edb9508d8 assets/twilightforest/models/item/fiery_boots_amethyst_trim.json @@ -2328,6 +2347,7 @@ b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainb 1e4c3d381913d42fdb65677fd5a2e3e4eb1b8589 assets/twilightforest/models/item/raw_ironwood.json 6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json 1bbdd61f3f1d2b53812fbe21f1e53e42b55a7de7 assets/twilightforest/models/item/raw_venison.json +9906e876cf4bf9bb6e28032e6129c3dba7081de4 assets/twilightforest/models/item/rope.json 37fa09cd8fb43aefdde6539b1d7a3744ed6b47e2 assets/twilightforest/models/item/seeker_bow.json 014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json 02dbf7d47b4be510da10aa9eeca37841abd09fae assets/twilightforest/models/item/seeker_bow_pulling_1.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json b/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json new file mode 100644 index 0000000000..d49d1400c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/carminite_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/carminite_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json b/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json new file mode 100644 index 0000000000..f9892d6427 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/experiment_115.json @@ -0,0 +1,52 @@ +{ + "variants": { + "omnomnom=0,regenerate=false": { + "model": "twilightforest:block/experiment_115_8_8" + }, + "omnomnom=0,regenerate=true": { + "model": "twilightforest:block/experiment_115_8_8_regenerating" + }, + "omnomnom=1,regenerate=false": { + "model": "twilightforest:block/experiment_115_7_8" + }, + "omnomnom=1,regenerate=true": { + "model": "twilightforest:block/experiment_115_7_8_regenerating" + }, + "omnomnom=2,regenerate=false": { + "model": "twilightforest:block/experiment_115_6_8" + }, + "omnomnom=2,regenerate=true": { + "model": "twilightforest:block/experiment_115_6_8_regenerating" + }, + "omnomnom=3,regenerate=false": { + "model": "twilightforest:block/experiment_115_5_8" + }, + "omnomnom=3,regenerate=true": { + "model": "twilightforest:block/experiment_115_5_8_regenerating" + }, + "omnomnom=4,regenerate=false": { + "model": "twilightforest:block/experiment_115_4_8" + }, + "omnomnom=4,regenerate=true": { + "model": "twilightforest:block/experiment_115_4_8_regenerating" + }, + "omnomnom=5,regenerate=false": { + "model": "twilightforest:block/experiment_115_3_8" + }, + "omnomnom=5,regenerate=true": { + "model": "twilightforest:block/experiment_115_3_8_regenerating" + }, + "omnomnom=6,regenerate=false": { + "model": "twilightforest:block/experiment_115_2_8" + }, + "omnomnom=6,regenerate=true": { + "model": "twilightforest:block/experiment_115_2_8_regenerating" + }, + "omnomnom=7,regenerate=false": { + "model": "twilightforest:block/experiment_115_1_8" + }, + "omnomnom=7,regenerate=true": { + "model": "twilightforest:block/experiment_115_1_8_regenerating" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json b/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json new file mode 100644 index 0000000000..f78fe42f21 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/iron_ladder.json @@ -0,0 +1,260 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/iron_ladder_left", + "y": 0 + }, + "when": { + "AND": [ + { + "left": "false" + }, + { + "facing": "north" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left_connection", + "y": 0 + }, + "when": { + "AND": [ + { + "left": "true" + }, + { + "facing": "north" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right", + "y": 0 + }, + "when": { + "AND": [ + { + "right": "false" + }, + { + "facing": "north" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right_connection", + "y": 0 + }, + "when": { + "AND": [ + { + "right": "true" + }, + { + "facing": "north" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left", + "y": 90 + }, + "when": { + "AND": [ + { + "left": "false" + }, + { + "facing": "east" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left_connection", + "y": 90 + }, + "when": { + "AND": [ + { + "left": "true" + }, + { + "facing": "east" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right", + "y": 90 + }, + "when": { + "AND": [ + { + "right": "false" + }, + { + "facing": "east" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right_connection", + "y": 90 + }, + "when": { + "AND": [ + { + "right": "true" + }, + { + "facing": "east" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left", + "y": 180 + }, + "when": { + "AND": [ + { + "left": "false" + }, + { + "facing": "south" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left_connection", + "y": 180 + }, + "when": { + "AND": [ + { + "left": "true" + }, + { + "facing": "south" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right", + "y": 180 + }, + "when": { + "AND": [ + { + "right": "false" + }, + { + "facing": "south" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right_connection", + "y": 180 + }, + "when": { + "AND": [ + { + "right": "true" + }, + { + "facing": "south" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left", + "y": 270 + }, + "when": { + "AND": [ + { + "left": "false" + }, + { + "facing": "west" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_left_connection", + "y": 270 + }, + "when": { + "AND": [ + { + "left": "true" + }, + { + "facing": "west" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right", + "y": 270 + }, + "when": { + "AND": [ + { + "right": "false" + }, + { + "facing": "west" + } + ] + } + }, + { + "apply": { + "model": "twilightforest:block/iron_ladder_right_connection", + "y": 270 + }, + "when": { + "AND": [ + { + "right": "true" + }, + { + "facing": "west" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rope.json b/src/generated/resources/assets/twilightforest/blockstates/rope.json new file mode 100644 index 0000000000..cb3ff473e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/rope.json @@ -0,0 +1,67 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/rope_x" + }, + "when": { + "x": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/rope_y" + }, + "when": { + "y": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/rope_z" + }, + "when": { + "z": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/rope_knot" + }, + "when": { + "OR": [ + { + "AND": [ + { + "x": "true" + }, + { + "y": "true" + } + ] + }, + { + "AND": [ + { + "y": "true" + }, + { + "z": "true" + } + ] + }, + { + "AND": [ + { + "z": "true" + }, + { + "x": "true" + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json b/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json new file mode 100644 index 0000000000..1f8cf71172 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/wrought_iron_fence.json @@ -0,0 +1,160 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_post" + }, + "when": { + "post": "post" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_post_capped" + }, + "when": { + "post": "capped" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_full" + }, + "when": { + "north_fence": "full" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_top" + }, + "when": { + "north_fence": "top" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_middle" + }, + "when": { + "north_fence": "middle" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_bottom" + }, + "when": { + "north_fence": "bottom" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_full", + "y": 90 + }, + "when": { + "east_fence": "full" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_top", + "y": 90 + }, + "when": { + "east_fence": "top" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_middle", + "y": 90 + }, + "when": { + "east_fence": "middle" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_bottom", + "y": 90 + }, + "when": { + "east_fence": "bottom" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_full", + "y": 180 + }, + "when": { + "south_fence": "full" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_top", + "y": 180 + }, + "when": { + "south_fence": "top" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_middle", + "y": 180 + }, + "when": { + "south_fence": "middle" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_bottom", + "y": 180 + }, + "when": { + "south_fence": "bottom" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_full", + "y": 270 + }, + "when": { + "west_fence": "full" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_top", + "y": 270 + }, + "when": { + "west_fence": "top" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_middle", + "y": 270 + }, + "when": { + "west_fence": "middle" + } + }, + { + "apply": { + "model": "twilightforest:block/wrought_iron_fence_bottom", + "y": 270 + }, + "when": { + "west_fence": "bottom" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/carminite_block.json b/src/generated/resources/assets/twilightforest/items/carminite_block.json new file mode 100644 index 0000000000..c0def5160a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/carminite_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/carminite_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/experiment_115.json b/src/generated/resources/assets/twilightforest/items/experiment_115.json new file mode 100644 index 0000000000..5bbe6035f1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/experiment_115.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/experiment_115" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/iron_ladder.json b/src/generated/resources/assets/twilightforest/items/iron_ladder.json new file mode 100644 index 0000000000..3b03e42a11 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/iron_ladder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/iron_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/rope.json b/src/generated/resources/assets/twilightforest/items/rope.json new file mode 100644 index 0000000000..4ae750a1db --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/rope.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/rope" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/wrought_iron_fence.json b/src/generated/resources/assets/twilightforest/items/wrought_iron_fence.json new file mode 100644 index 0000000000..a00e1d3035 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/wrought_iron_fence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/wrought_iron_fence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_1_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_1_8_regenerating.json new file mode 100644 index 0000000000..d98e52f9fa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_1_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_1_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_2_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_2_8_regenerating.json new file mode 100644 index 0000000000..5b8a855950 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_2_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_2_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_3_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_3_8_regenerating.json new file mode 100644 index 0000000000..a44c121a52 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_3_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_3_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_4_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_4_8_regenerating.json new file mode 100644 index 0000000000..35d5f37e08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_4_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_4_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_5_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_5_8_regenerating.json new file mode 100644 index 0000000000..6a3a57b6ef --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_5_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_5_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_6_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_6_8_regenerating.json new file mode 100644 index 0000000000..1db0e0b603 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_6_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_6_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_7_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_7_8_regenerating.json new file mode 100644 index 0000000000..345206884c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_7_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_7_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/experiment_115_8_8_regenerating.json b/src/generated/resources/assets/twilightforest/models/block/experiment_115_8_8_regenerating.json new file mode 100644 index 0000000000..b88a34c6a1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/experiment_115_8_8_regenerating.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/experiment_115_8_8", + "textures": { + "top2": "twilightforest:block/experiment115_sprinkle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/experiment_115.json b/src/generated/resources/assets/twilightforest/models/item/experiment_115.json new file mode 100644 index 0000000000..992f727b3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/experiment_115.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/experiment_115" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/rope.json b/src/generated/resources/assets/twilightforest/models/item/rope.json new file mode 100644 index 0000000000..9a6effd284 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/rope.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/rope" + } +} \ No newline at end of file From 1a36b955cccd37ca903421e8cfb25ac8f32032b2 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:27:03 -0600 Subject: [PATCH 110/239] coronation carpet --- .../assets/models/BlockModelGenerator.java | 3 + .../model/block/carpet/RoyalRagsBuilder.java | 2 +- .../block/carpet/UnbakedRoyalRagsModel.java | 70 +++---------------- .../connected/ConnectedTextureModel.java | 3 +- .../UnbakedConnectedTextureModel.java | 12 ++-- 5 files changed, 20 insertions(+), 70 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 778e0f781a..d6a07b50c0 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -19,6 +19,8 @@ import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.*; +import twilightforest.client.model.block.carpet.RoyalRagsBuilder; +import twilightforest.client.model.block.carpet.RoyalRagsModelLoader; import twilightforest.client.renderer.special.*; import twilightforest.enums.TowerDeviceVariant; import twilightforest.util.TFBlockFamilies; @@ -66,6 +68,7 @@ public void run() { this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM.extend().customLoader(RoyalRagsBuilder::new, builder -> {}).build().create(block, TFTextureMapping.ctmBlock(ModelLocationUtils.getModelLocation(block), ModelLocationUtils.getModelLocation(block)), this.modelOutput)))); this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java index 13ba4b948f..4120c603c6 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java +++ b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java @@ -5,7 +5,7 @@ public class RoyalRagsBuilder extends CustomLoaderBuilder { - protected RoyalRagsBuilder() { + public RoyalRagsBuilder() { super(TwilightForestMod.prefix("royal_rags"), false); } diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java index 4588b9801c..44f43741a5 100644 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java @@ -1,46 +1,33 @@ package twilightforest.client.model.block.carpet; -import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.*; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; -import net.minecraft.util.context.ContextMap; import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.AbstractUnbakedModel; -import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; -import net.neoforged.neoforge.client.model.UnbakedElementsHelper; import org.apache.commons.lang3.mutable.MutableObject; import org.joml.Vector3f; -import twilightforest.client.model.block.connected.ConnectedTextureModel; import twilightforest.client.model.block.connected.ConnectionLogic; +import twilightforest.client.model.block.connected.UnbakedConnectedTextureModel; import twilightforest.init.TFBlocks; -import java.lang.reflect.Array; -import java.util.ArrayList; import java.util.EnumSet; import java.util.List; import java.util.Map; //FIXME remove this once the connected texture loader supports custom geometry -public class UnbakedRoyalRagsModel extends AbstractUnbakedModel { - - private final BlockElement[][] baseElements; - private final BlockElement[][][] faceElements; - private final RenderTypeGroup group; +public class UnbakedRoyalRagsModel extends UnbakedConnectedTextureModel { public UnbakedRoyalRagsModel(StandardModelParameters parameters, RenderTypeGroup group) { - super(parameters); + super(EnumSet.of(Direction.UP), true, List.of(TFBlocks.CORONATION_CARPET.get()), 0, 0, 0, 0, parameters, group); //base elements - the side faces without ctm. No Connected Textures on this bit. //the array is made of horizontal directions (Direction.get2DDataValue) and quads - this.baseElements = new BlockElement[4][4]; + this.baseElements = new BlockElement[6][4]; //face elements - the connected bit of the model. //the array is made of the directions, quads, and each logic value in the ConnectionLogic class - //Topmost array indexes to up/dpwn directions (Direction.get3DDataValue, down = 0, up = 1) then inside are quads - this.faceElements = new BlockElement[2][4][5]; + //Topmost array indexes to up/down directions (Direction.get3DDataValue, down = 0, up = 1) then inside are quads + this.faceElements = new BlockElement[6][4][5]; Vec3i center = new Vec3i(8, 8, 8); for (Direction face : Direction.values()) { @@ -50,51 +37,12 @@ public UnbakedRoyalRagsModel(StandardModelParameters parameters, RenderTypeGroup Vec3i corner = face.getUnitVec3i().offset(planeDirections[quad].getUnitVec3i()).offset(planeDirections[(quad + 1) % 4].getUnitVec3i()).offset(1, 1, 1).multiply(8); BlockElement element = new BlockElement(new Vector3f((float) Math.min(center.getX(), corner.getX()), (float) Math.min(center.getY(), corner.getY()) / 16f, (float) Math.min(center.getZ(), corner.getZ())), new Vector3f((float) Math.max(center.getX(), corner.getX()), (float) Math.max(center.getY(), corner.getY()) / 16f, (float) Math.max(center.getZ(), corner.getZ())), Map.of(), null, true, 0); - if (face.getAxis().isHorizontal()) { - this.baseElements[face.get2DDataValue()][quad] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, -1, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, 0); - } else { - for (ConnectionLogic connectionType : ConnectionLogic.values()) { - this.faceElements[face.get3DDataValue()][quad][connectionType.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, 0, "", new BlockFaceUV(connectionType.remapUVs(element.uvsByFace(face)), 0), null, new MutableObject<>())), null, true, 0); - } - } - } - } - this.group = group; - } - - @Override - public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms, ContextMap additionalProperties) { - Transformation rootTransform = additionalProperties.getOrDefault(NeoForgeModelProperties.TRANSFORM, Transformation.identity()); - if (!rootTransform.isIdentity()) - modelState = UnbakedElementsHelper.composeRootTransformIntoModelState(modelState, rootTransform); - - @SuppressWarnings("unchecked") //this is fine, I hope - List[] baseQuads = (List[]) Array.newInstance(List.class, 4); - TextureAtlasSprite baseTexture = baker.findSprite(textureSlots, "wool"); - - for (Direction direction : Direction.Plane.HORIZONTAL) { - baseQuads[direction.get2DDataValue()] = new ArrayList<>(); + this.baseElements[face.get3DDataValue()][quad] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, -1, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, 0); - for (BlockElement element : this.baseElements[direction.get2DDataValue()]) { - baseQuads[direction.get2DDataValue()].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, direction, modelState, element.rotation, element.shade, element.lightEmission)); - } - } - - //we'll use this to figure out which texture to use with the Connected Texture logic - //NONE uses the first one, everything else uses the 2nd one - TextureAtlasSprite[] sprites = new TextureAtlasSprite[]{baker.findSprite(textureSlots, "wool"), baker.findSprite(textureSlots, "wool_ctm")}; - - BakedQuad[][][] quads = new BakedQuad[2][4][5]; - - for (int dir = 0; dir < 2; dir++) { - for (int quad = 0; quad < 4; quad++) { - for (int type = 0; type < 5; type++) { - BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], modelState, element.rotation, element.shade, element.lightEmission); + for (ConnectionLogic connectionType : ConnectionLogic.values()) { + this.faceElements[face.get3DDataValue()][quad][connectionType.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, 0, "", new BlockFaceUV(connectionType.remapUVs(element.uvsByFace(face)), 0), null, new MutableObject<>())), null, true, 0); } } } - - return new ConnectedTextureModel(EnumSet.of(Direction.UP), false, List.of(TFBlocks.CORONATION_CARPET.get()), baseQuads, quads, baker.findSprite(textureSlots, "wool"), transforms, this.group); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index 6a1dae6aef..c6575d4e7d 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -23,7 +23,6 @@ import java.util.EnumSet; import java.util.List; -@SuppressWarnings("deprecation") public class ConnectedTextureModel implements IDynamicBakedModel { private final EnumSet enabledFaces; @@ -64,7 +63,7 @@ public List getQuads(@Nullable BlockState state, @Nullable Direction if (this.enabledFaces.contains(side) || this.renderOnDisabledFaces) { for (int quad = 0; quad < 4; ++quad) { - //if our model data is null (I really hope it isn't) we can skip connected textures since we dont have the info we need + //if our model data is null (happens for items) we can skip connected textures since we dont have the info we need //i'd rather do this than crash the game or skip rendering the block entirely ConnectionLogic connectionType = data != null && this.enabledFaces.contains(side) ? data.logic[faceIndex][quad] : ConnectionLogic.NONE; quads.add(this.quads[faceIndex][quad][connectionType.ordinal()]); diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 1cec1bba95..39db910376 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -23,12 +23,12 @@ public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { - private final boolean renderOnDisabledFaces; - private final EnumSet enabledFaces; - private final List connectableBlocks; - private final BlockElement[][] baseElements; - private final BlockElement[][][] faceElements; - private final RenderTypeGroup group; + protected final boolean renderOnDisabledFaces; + protected final EnumSet enabledFaces; + protected final List connectableBlocks; + protected BlockElement[][] baseElements; + protected BlockElement[][][] faceElements; + protected final RenderTypeGroup group; public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters, RenderTypeGroup group) { super(parameters); From 3c09cea81f77296d81c7ab5fb9df9f2a7e23ff71 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:27:20 -0600 Subject: [PATCH 111/239] datagen push --- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 5 ++++- .../twilightforest/blockstates/coronation_carpet.json | 7 +++++++ .../assets/twilightforest/items/coronation_carpet.json | 6 ++++++ .../twilightforest/models/block/coronation_carpet.json | 10 ++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json create mode 100644 src/generated/resources/assets/twilightforest/items/coronation_carpet.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index db603daadc..15da7c84a1 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-09T10:18:36.129229 Model Definitions - twilightforest +// 1.21.4 2025-04-09T11:00:04.4212003 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -52,6 +52,7 @@ a1aafd0da411c08a2aadb7772175bbd57729d3d9 assets/twilightforest/blockstates/castl b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherry_banister.json 92f7638a60b873d8f26bfeba8f837d4ead6df70c assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json +20d24deb34e2acd2a43e5abebed11b20e0bafd70 assets/twilightforest/blockstates/coronation_carpet.json 1261f404df8aec15a7b62454520e8ea2d4dbc5a4 assets/twilightforest/blockstates/cracked_castle_brick.json c257021f5d2ae8f4c0c0aec89175ef7e4a3db343 assets/twilightforest/blockstates/cracked_castle_brick_stairs.json c10665eb26427c4c03915abdaa0e1a03a40f6373 assets/twilightforest/blockstates/cracked_deadrock.json @@ -497,6 +498,7 @@ e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_bani 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json +db04e0af47d343bcfbfc2b7a367e92117ee954f9 assets/twilightforest/items/coronation_carpet.json 4cd3f044751421f2fb6a86c883d9c8a95f3ee9c8 assets/twilightforest/items/cracked_castle_brick.json ab5a0c95333b271bf2961004c311c381cd52900b assets/twilightforest/items/cracked_castle_brick_stairs.json 545c9dc1404d121891985780a8e5a0c171fe1c97 assets/twilightforest/items/cracked_deadrock.json @@ -1096,6 +1098,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 29e160336d210f8c080119513073bfe7ce926d77 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json 12b26d9a5bfd4a59a913e5358dfbdf27d30c6610 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json +c2a2901059f31fe9a99663aa4f241ae79406a635 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json b/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json new file mode 100644 index 0000000000..9ea1f32e88 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/coronation_carpet.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/coronation_carpet" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/coronation_carpet.json b/src/generated/resources/assets/twilightforest/items/coronation_carpet.json new file mode 100644 index 0000000000..8490e0bef1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/coronation_carpet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/coronation_carpet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json new file mode 100644 index 0000000000..a566775b55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json @@ -0,0 +1,10 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:royal_rags", + "textures": { + "base_texture": "twilightforest:block/coronation_carpet", + "overlay_connected": "twilightforest:block/coronation_carpet_ctm", + "overlay_texture": "twilightforest:block/coronation_carpet", + "particle": "twilightforest:block/coronation_carpet" + } +} \ No newline at end of file From 9c474c02cc87728105a29760b47c9318221ee904 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 12:36:45 -0600 Subject: [PATCH 112/239] CTM loader now supports custom geometry --- .../assets/models/BlockModelGenerator.java | 18 +---- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 4 +- .../models/block/coronation_carpet.json | 25 ++++++- .../client/event/RegistrationEvents.java | 65 ------------------- .../model/block/carpet/RoyalRagsBuilder.java | 20 ------ .../block/carpet/RoyalRagsModelLoader.java | 20 ------ .../block/carpet/UnbakedRoyalRagsModel.java | 48 -------------- .../model/block/carpet/package-info.java | 9 --- .../connected/ConnectedTextureBuilder.java | 33 ++++++++++ .../connected/ConnectedTextureModel.java | 12 ++-- .../ConnectedTextureModelLoader.java | 25 +++++-- .../UnbakedConnectedTextureModel.java | 34 +++++++--- 12 files changed, 113 insertions(+), 200 deletions(-) delete mode 100644 src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java delete mode 100644 src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java delete mode 100644 src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java delete mode 100644 src/main/java/twilightforest/client/model/block/carpet/package-info.java diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index d6a07b50c0..6c6b60f06c 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -1,35 +1,23 @@ package twilightforest.datagen.assets.models; import net.minecraft.client.color.item.GrassColorSource; -import net.minecraft.client.data.models.BlockModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; -import net.minecraft.client.renderer.item.ItemModel; -import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.core.Direction; -import net.minecraft.data.BlockFamily; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.level.GrassColor; -import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.LadderBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.w3c.dom.Text; +import org.joml.Vector3f; import twilightforest.TwilightForestMod; import twilightforest.block.*; -import twilightforest.client.model.block.carpet.RoyalRagsBuilder; -import twilightforest.client.model.block.carpet.RoyalRagsModelLoader; +import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.renderer.special.*; -import twilightforest.enums.TowerDeviceVariant; -import twilightforest.util.TFBlockFamilies; import twilightforest.datagen.helpers.models.BlockModelBuilders; import twilightforest.init.TFBlocks; import java.util.function.BiConsumer; import java.util.function.Consumer; -import java.util.function.Function; public class BlockModelGenerator extends BlockModelBuilders { public BlockModelGenerator(Consumer stateOutput, ItemModelOutput itemOutput, BiConsumer modelOutput) { @@ -68,7 +56,7 @@ public void run() { this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); - this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM.extend().customLoader(RoyalRagsBuilder::new, builder -> {}).build().create(block, TFTextureMapping.ctmBlock(ModelLocationUtils.getModelLocation(block), ModelLocationUtils.getModelLocation(block)), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block).addConnectionFaces(Direction.UP, Direction.DOWN).createElement(new Vector3f(0, 0, 0), new Vector3f(16, 1, 16))).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 15da7c84a1..7555d6221c 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-09T11:00:04.4212003 Model Definitions - twilightforest +// 1.21.4 2025-04-10T11:21:07.0076306 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -1098,7 +1098,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 29e160336d210f8c080119513073bfe7ce926d77 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json 12b26d9a5bfd4a59a913e5358dfbdf27d30c6610 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json -c2a2901059f31fe9a99663aa4f241ae79406a635 assets/twilightforest/models/block/coronation_carpet.json +771c5abff1cdc13f88168a1df7d31a732e42b088 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json index a566775b55..7dc0fb746f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json +++ b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json @@ -1,8 +1,29 @@ { "parent": "minecraft:block/block", - "loader": "twilightforest:royal_rags", + "connectable_blocks": [ + "twilightforest:coronation_carpet" + ], + "connected_texture": { + "faces": [ + "up", + "down" + ], + "render_disabled_faces": true + }, + "element": { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 1, + 16 + ] + }, + "loader": "twilightforest:connected_texture_block", "textures": { - "base_texture": "twilightforest:block/coronation_carpet", "overlay_connected": "twilightforest:block/coronation_carpet_ctm", "overlay_texture": "twilightforest:block/coronation_carpet", "particle": "twilightforest:block/coronation_carpet" diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 01d1701088..05188d2dac 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -51,7 +51,6 @@ import twilightforest.client.model.block.BrazierModel; import twilightforest.client.model.block.ReactorDebrisModel; import twilightforest.client.model.block.aurorablock.NoiseVaryingModelLoader; -import twilightforest.client.model.block.carpet.RoyalRagsModelLoader; import twilightforest.client.model.block.connected.ConnectedTextureModelLoader; import twilightforest.client.model.block.forcefield.ForceFieldModelLoader; import twilightforest.client.model.block.giantblock.GiantBlockModelLoader; @@ -122,70 +121,12 @@ private static void registerModelLoaders(ModelEvent.RegisterLoaders event) { event.register(TwilightForestMod.prefix("force_field"), ForceFieldModelLoader.INSTANCE); event.register(TwilightForestMod.prefix("connected_texture_block"), ConnectedTextureModelLoader.INSTANCE); event.register(TwilightForestMod.prefix("noise_varying"), NoiseVaryingModelLoader.INSTANCE); - event.register(TwilightForestMod.prefix("royal_rags"), RoyalRagsModelLoader.INSTANCE); } private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { // ItemProperties.register(TFItems.CUBE_OF_ANNIHILATION.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> // stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); // -// ItemProperties.register(TFItems.KNIGHTMETAL_SHIELD.get(), ResourceLocation.parse("blocking"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// -// ItemProperties.register(TFItems.MOON_DIAL.get(), ResourceLocation.parse("phase"), new ClampedItemPropertyFunction() { -// @Override -// public float unclampedCall(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entityBase, int idk) { -// boolean flag = entityBase != null; -// Entity entity = flag ? entityBase : stack.getFrame(); -// -// if (level == null && entity != null) level = (ClientLevel) entity.level(); -// -// return level == null ? 0.0F : (float) (level.dimensionType().natural() ? Mth.frac(level.getMoonPhase() / 8.0f) : this.wobble(level, Math.random())); -// } -// -// double rotation; -// double rota; -// long lastUpdateTick; -// -// private double wobble(Level level, double rotation) { -// if (level.getGameTime() != this.lastUpdateTick) { -// this.lastUpdateTick = level.getGameTime(); -// double delta = rotation - this.rotation; -// delta = Mth.positiveModulo(delta + 0.5D, 1.0D) - 0.5D; -// this.rota += delta * 0.1D; -// this.rota *= 0.9D; -// this.rotation = Mth.positiveModulo(this.rotation + this.rota, 1.0D); -// } -// return this.rotation; -// } -// }); -// -// ItemProperties.register(TFItems.ORE_METER.get(), TwilightForestMod.prefix("active"), (stack, level, entity, idk) -> { -// if (OreMeterItem.isLoading(stack)) { -// int totalLoadTime = OreMeterItem.LOAD_TIME + OreMeterItem.getRange(stack) * 25; -// int progress = OreMeterItem.getLoadProgress(stack); -// return progress % 5 >= 2 + (int) (Math.random() * 2) && progress <= totalLoadTime - 15 ? 1 : 0; -// } -// return stack.has(TFDataComponents.ORE_DATA) ? 1 : 0; -// }); -// -// ItemProperties.register(TFItems.MOONWORM_QUEEN.get(), TwilightForestMod.prefix("alt"), (stack, level, entity, idk) -> { -// if (entity != null && entity.getUseItem() == stack) { -// int useTime = stack.getUseDuration(entity) - entity.getUseItemRemainingTicks(); -// if (useTime >= MoonwormQueenItem.FIRING_TIME && (useTime >>> 1) % 2 == 0) { -// return 1; -// } -// } -// return 0; -// }); -// ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pull"), (stack, level, entity, idk) -> { -// if (entity == null) return 0.0F; -// else { -// ItemStack itemstack = entity.getUseItem(); -// return !itemstack.isEmpty() ? (stack.getUseDuration(entity) - entity.getUseItemRemainingTicks()) / 20.0F : 0.0F; -// } -// }); -// // ItemProperties.register(TFBlocks.RED_THREAD.get().asItem(), TwilightForestMod.prefix("size"), (stack, level, entity, idk) -> { // if (stack.getCount() >= 32) { // return 1.0F; @@ -197,12 +138,6 @@ private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { // return 0.0F; // }); // -// ItemProperties.register(TFItems.ORE_MAGNET.get(), ResourceLocation.parse("pulling"), (stack, level, entity, idk) -> -// entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F); -// -// ItemProperties.register(TFItems.BLOCK_AND_CHAIN.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> -// stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); -// // ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.THINK, (stack, level, entity, idk) -> // stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("think") ? 1 : 0); // diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java deleted file mode 100644 index 4120c603c6..0000000000 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsBuilder.java +++ /dev/null @@ -1,20 +0,0 @@ -package twilightforest.client.model.block.carpet; - -import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; -import twilightforest.TwilightForestMod; - -public class RoyalRagsBuilder extends CustomLoaderBuilder { - - public RoyalRagsBuilder() { - super(TwilightForestMod.prefix("royal_rags"), false); - } - - public static RoyalRagsBuilder begin() { - return new RoyalRagsBuilder(); - } - - @Override - protected CustomLoaderBuilder copyInternal() { - return new RoyalRagsBuilder(); - } -} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java b/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java deleted file mode 100644 index 84e0b87935..0000000000 --- a/src/main/java/twilightforest/client/model/block/carpet/RoyalRagsModelLoader.java +++ /dev/null @@ -1,20 +0,0 @@ -package twilightforest.client.model.block.carpet; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import net.neoforged.neoforge.client.model.NeoForgeModelProperties; -import net.neoforged.neoforge.client.model.StandardModelParameters; -import net.neoforged.neoforge.client.model.UnbakedModelLoader; - -public class RoyalRagsModelLoader implements UnbakedModelLoader { - @Deprecated // FIXME: Generalize alongside with CastleDoor models - public static final RoyalRagsModelLoader INSTANCE = new RoyalRagsModelLoader(); - - public RoyalRagsModelLoader() { - } - - public UnbakedRoyalRagsModel read(JsonObject jsonObject, JsonDeserializationContext deserializationContext) throws JsonParseException { - return new UnbakedRoyalRagsModel(StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); - } -} diff --git a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java b/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java deleted file mode 100644 index 44f43741a5..0000000000 --- a/src/main/java/twilightforest/client/model/block/carpet/UnbakedRoyalRagsModel.java +++ /dev/null @@ -1,48 +0,0 @@ -package twilightforest.client.model.block.carpet; - -import net.minecraft.client.renderer.block.model.*; -import net.minecraft.core.Direction; -import net.minecraft.core.Vec3i; -import net.neoforged.neoforge.client.RenderTypeGroup; -import net.neoforged.neoforge.client.model.StandardModelParameters; -import org.apache.commons.lang3.mutable.MutableObject; -import org.joml.Vector3f; -import twilightforest.client.model.block.connected.ConnectionLogic; -import twilightforest.client.model.block.connected.UnbakedConnectedTextureModel; -import twilightforest.init.TFBlocks; - -import java.util.EnumSet; -import java.util.List; -import java.util.Map; - -//FIXME remove this once the connected texture loader supports custom geometry -public class UnbakedRoyalRagsModel extends UnbakedConnectedTextureModel { - - public UnbakedRoyalRagsModel(StandardModelParameters parameters, RenderTypeGroup group) { - super(EnumSet.of(Direction.UP), true, List.of(TFBlocks.CORONATION_CARPET.get()), 0, 0, 0, 0, parameters, group); - //base elements - the side faces without ctm. No Connected Textures on this bit. - //the array is made of horizontal directions (Direction.get2DDataValue) and quads - this.baseElements = new BlockElement[6][4]; - - //face elements - the connected bit of the model. - //the array is made of the directions, quads, and each logic value in the ConnectionLogic class - //Topmost array indexes to up/down directions (Direction.get3DDataValue, down = 0, up = 1) then inside are quads - this.faceElements = new BlockElement[6][4][5]; - Vec3i center = new Vec3i(8, 8, 8); - - for (Direction face : Direction.values()) { - Direction[] planeDirections = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; - - for (int quad = 0; quad < 4; quad++) { - Vec3i corner = face.getUnitVec3i().offset(planeDirections[quad].getUnitVec3i()).offset(planeDirections[(quad + 1) % 4].getUnitVec3i()).offset(1, 1, 1).multiply(8); - BlockElement element = new BlockElement(new Vector3f((float) Math.min(center.getX(), corner.getX()), (float) Math.min(center.getY(), corner.getY()) / 16f, (float) Math.min(center.getZ(), corner.getZ())), new Vector3f((float) Math.max(center.getX(), corner.getX()), (float) Math.max(center.getY(), corner.getY()) / 16f, (float) Math.max(center.getZ(), corner.getZ())), Map.of(), null, true, 0); - - this.baseElements[face.get3DDataValue()][quad] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, -1, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, 0); - - for (ConnectionLogic connectionType : ConnectionLogic.values()) { - this.faceElements[face.get3DDataValue()][quad][connectionType.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, 0, "", new BlockFaceUV(connectionType.remapUVs(element.uvsByFace(face)), 0), null, new MutableObject<>())), null, true, 0); - } - } - } - } -} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/carpet/package-info.java b/src/main/java/twilightforest/client/model/block/carpet/package-info.java deleted file mode 100644 index 8a7285042a..0000000000 --- a/src/main/java/twilightforest/client/model/block/carpet/package-info.java +++ /dev/null @@ -1,9 +0,0 @@ -@FieldsAreNonnullByDefault -@MethodsReturnNonnullByDefault -@ParametersAreNonnullByDefault -package twilightforest.client.model.block.carpet; - -import net.minecraft.FieldsAreNonnullByDefault; -import net.minecraft.MethodsReturnNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java index c49aa22515..77c8352d6e 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java @@ -2,11 +2,14 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Pair; import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; +import org.jetbrains.annotations.Nullable; +import org.joml.Vector3f; import twilightforest.TwilightForestMod; import java.util.ArrayList; @@ -18,6 +21,8 @@ public class ConnectedTextureBuilder extends CustomLoaderBuilder { private List enabledFaces = new ArrayList<>(); private List connectableBlocks = new ArrayList<>(); private List> connectableTags = new ArrayList<>(); + @Nullable + private Pair element; private boolean renderOnDisabledFaces = true; private int baseTintIndex = -1; @@ -38,6 +43,11 @@ public ConnectedTextureBuilder addConnectionFaces(Direction... faces) { return this; } + public ConnectedTextureBuilder createElement(Vector3f from, Vector3f to) { + this.element = Pair.of(from, to); + return this; + } + public ConnectedTextureBuilder disableRenderingOnDisabledFaces() { this.renderOnDisabledFaces = false; return this; @@ -81,6 +91,7 @@ protected ConnectedTextureBuilder copyInternal() { builder.enabledFaces = List.copyOf(this.enabledFaces); builder.connectableBlocks = List.copyOf(this.connectableBlocks); builder.connectableTags = List.copyOf(this.connectableTags); + builder.element = this.element; builder.renderOnDisabledFaces = this.renderOnDisabledFaces; builder.baseTintIndex = this.baseTintIndex; builder.baseEmissivity = this.baseEmissivity; @@ -132,6 +143,28 @@ public JsonObject toJson(JsonObject json) { json.add("connectable_blocks", connectables); } + if (this.element != null) { + JsonObject serializedElement = new JsonObject(); + serializedElement.add("from", serializeVector3f(this.element.getFirst())); + serializedElement.add("to", serializeVector3f(this.element.getSecond())); + json.add("element", serializedElement); + } + return json; } + + private static JsonArray serializeVector3f(Vector3f vec) { + JsonArray ret = new JsonArray(); + ret.add(serializeFloat(vec.x())); + ret.add(serializeFloat(vec.y())); + ret.add(serializeFloat(vec.z())); + return ret; + } + + private static Number serializeFloat(float f) { + if ((int) f == f) { + return (int) f; + } + return f; + } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index c6575d4e7d..d1cbb70a26 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -87,7 +87,7 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block int faceIndex; for (faceIndex = 0; faceIndex < directions.length; faceIndex++) { - sideStates[faceIndex] = this.shouldConnectSide(getter, pos, state, face, directions[faceIndex]); + sideStates[faceIndex] = this.shouldConnectSide(getter, pos, face, directions[faceIndex]); } faceIndex = face.get3DDataValue(); @@ -96,7 +96,7 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block int cornerOffset = (dir + 1) % directions.length; boolean side1 = sideStates[dir]; boolean side2 = sideStates[cornerOffset]; - boolean corner = side1 && side2 && this.isCornerBlockPresent(getter, pos, state, face, directions[dir], directions[cornerOffset]); + boolean corner = side1 && side2 && this.isCornerBlockPresent(getter, pos, face, directions[dir], directions[cornerOffset]); data.logic[faceIndex][dir] = dir % 2 == 0 ? ConnectionLogic.of(side1, side2, corner) : ConnectionLogic.of(side2, side1, corner); } } @@ -104,14 +104,14 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block return modelData.derive().with(DATA, data).build(); } - private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, BlockState state, Direction face, Direction side) { + private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side) { BlockState neighborState = getter.getBlockState(pos.relative(side)); - return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos, state, neighborState, face); + return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos.relative(face), neighborState, getter.getBlockState(pos.relative(face)), face); } - private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, BlockState state, Direction face, Direction side1, Direction side2) { + private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side1, Direction side2) { BlockState neighborState = getter.getBlockState(pos.relative(side1).relative(side2)); - return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos, state, neighborState, face); + return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos.relative(face), neighborState, getter.getBlockState(pos.relative(face)), face); } @Override diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index 3eaa8dd1e8..65f44b3596 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -1,9 +1,7 @@ package twilightforest.client.model.block.connected; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; +import com.google.gson.*; +import com.mojang.datafixers.util.Pair; import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; @@ -15,6 +13,7 @@ import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; +import org.joml.Vector3f; import java.util.ArrayList; import java.util.EnumSet; @@ -32,6 +31,14 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat int baseTintIndex = GsonHelper.getAsInt(baseTextureInfo, "tint_index", -1); int baseEmissivity = GsonHelper.getAsInt(baseTextureInfo, "emissivity", 0); + Pair element; + if (jsonObject.has("element")) { + JsonObject obj = jsonObject.getAsJsonObject("element"); + element = Pair.of(this.deserializeVec(obj, "from"), this.deserializeVec(obj, "to")); + } else { + element = Pair.of(new Vector3f(0, 0, 0), new Vector3f(16, 16, 16)); + } + JsonObject overlayInfo = GsonHelper.getAsJsonObject(jsonObject, "connected_texture", new JsonObject()); int tintIndex = GsonHelper.getAsInt(overlayInfo, "tint_index", -1); int emissivity = GsonHelper.getAsInt(overlayInfo, "emissivity", 0); @@ -39,7 +46,7 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat EnumSet faces = this.parseEnabledFaces(overlayInfo); List connectables = this.parseConnnectableBlocks(jsonObject); - return new UnbakedConnectedTextureModel(faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); + return new UnbakedConnectedTextureModel(element, faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); } private EnumSet parseEnabledFaces(JsonObject object) { @@ -87,4 +94,12 @@ private List parseConnnectableBlocks(JsonObject object) { return blocks; } } + + private Vector3f deserializeVec(JsonObject object, String name) { + JsonArray from = object.getAsJsonArray(name); + if (from.asList().size() == 3) { + return new Vector3f(from.get(0).getAsFloat(), from.get(1).getAsFloat(), from.get(2).getAsFloat()); + } + return new Vector3f(0, 0, 0); + } } diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 39db910376..95f35453a9 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -1,5 +1,6 @@ package twilightforest.client.model.block.connected; +import com.mojang.datafixers.util.Pair; import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -30,7 +31,7 @@ public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { protected BlockElement[][][] faceElements; protected final RenderTypeGroup group; - public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters, RenderTypeGroup group) { + public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters, RenderTypeGroup group) { super(parameters); //a list of block faces that should have connected textures. this.enabledFaces = enabledFaces; @@ -39,30 +40,47 @@ public UnbakedConnectedTextureModel(EnumSet enabledFaces, boolean ren //a list of blocks this block can connect its texture to this.connectableBlocks = connectableBlocks; //base elements - the base block. No Connected Textures on this bit. - //the array is made of the directions and quads + //the array is made of the directions and "sections". Each section is a corner quadrant of the block this.baseElements = new BlockElement[6][4]; //face elements - the connected bit of the model. - //the array is made of the directions, quads, and each logic value in the ConnectionLogic class + //the array is made of the directions, "sections", and each logic value in the ConnectionLogic class this.faceElements = new BlockElement[6][4][5]; - Vec3i center = new Vec3i(8, 8, 8); + int center = 8; for (Direction face : Direction.values()) { Direction[] planeDirections = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; - for(int i = 0; i < 4; ++i) { + for (int i = 0; i < 4; ++i) { Vec3i corner = face.getUnitVec3i().offset(planeDirections[i].getUnitVec3i()).offset(planeDirections[(i + 1) % 4].getUnitVec3i()).offset(1, 1, 1).multiply(8); - BlockElement element = new BlockElement(new Vector3f((float)Math.min(center.getX(), corner.getX()), (float)Math.min(center.getY(), corner.getY()), (float)Math.min(center.getZ(), corner.getZ())), new Vector3f((float)Math.max(center.getX(), corner.getX()), (float)Math.max(center.getY(), corner.getY()), (float)Math.max(center.getZ(), corner.getZ())), Map.of(), null, true, 0); - this.baseElements[face.get3DDataValue()][i] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, baseTintIndex, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(element.uvsByFace(face)), 0))), null, true, baseEmissivity); + BlockElement modifiedElement = new BlockElement( + new Vector3f( + Math.clamp(Math.min(center - (16 - element.getSecond().x()), corner.getX() + element.getFirst().x()), 0, 16), + Math.clamp(Math.min(center - (16 - element.getSecond().y()), corner.getY() + element.getFirst().y()), 0, 16), + Math.clamp(Math.min(center - (16 - element.getSecond().z()), corner.getZ() + element.getFirst().z()), 0, 16)), + new Vector3f( + element.getSecond().x() < center ? element.getSecond().x() : Math.max(center, corner.getX() - (16 - element.getSecond().x())), + element.getSecond().y() < center ? element.getSecond().y() : Math.max(center, corner.getY() - (16 - element.getSecond().y())), + element.getSecond().z() < center ? element.getSecond().z() : Math.max(center, corner.getZ() - (16 - element.getSecond().z()))), + Map.of(), null, true, 0); + this.baseElements[face.get3DDataValue()][i] = new BlockElement(modifiedElement.from, modifiedElement.to, Map.of(face, new BlockElementFace(face, baseTintIndex, "", new BlockFaceUV(ConnectionLogic.NONE.remapUVs(modifiedElement.uvsByFace(face)), 0))), null, true, baseEmissivity); for (ConnectionLogic logic : ConnectionLogic.values()) { - this.faceElements[face.get3DDataValue()][i][logic.ordinal()] = new BlockElement(element.from, element.to, Map.of(face, new BlockElementFace(face, tintIndex, "", new BlockFaceUV(logic.remapUVs(element.uvsByFace(face)), 0))), null, true, emissivity); + this.faceElements[face.get3DDataValue()][i][logic.ordinal()] = new BlockElement(modifiedElement.from, modifiedElement.to, Map.of(face, new BlockElementFace(face, tintIndex, "", new BlockFaceUV(logic.remapUVs(modifiedElement.uvsByFace(face)), 0))), null, true, emissivity); } } } this.group = group; } + private float getElementScalar(Vector3f corner, Direction direction) { + return switch (direction.getAxis()) { + case X -> corner.x(); + case Y -> corner.y(); + case Z -> corner.z(); + }; + } + @Override public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState state, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { Transformation rootTransform = additionalProperties.getOrDefault(NeoForgeModelProperties.TRANSFORM, Transformation.identity()); From cf070d63063f488c00942764182b4dc1839e5587 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:17:45 -0600 Subject: [PATCH 113/239] highlands and plant blocks --- .../assets/models/BlockModelGenerator.java | 42 +++++++++++ .../helpers/models/BlockModelBuilders.java | 65 ++++++++++++++++++ .../helpers/models/WoodBlockBuilders.java | 5 +- .../block/TrollsteinnBlock.java | 13 ++-- .../model/block/patch/PatchBuilder.java | 36 ++++++++++ .../client/model/block/patch/PatchModel.java | 51 +++++++++++--- .../model/block/patch/PatchModelLoader.java | 5 +- .../model/block/patch/UnbakedPatchModel.java | 3 +- .../java/twilightforest/init/TFBlocks.java | 2 +- .../twilightforest/models/block/mayapple.json | 2 +- .../models/block/mushgloom.json | 55 +++++++++++++++ .../{cloverpatch.png => clover_patch.png} | Bin ...{huge_gloom_cap.png => huge_mushgloom.png} | Bin ...m_inside.png => huge_mushgloom_inside.png} | Bin .../block/{mosspatch.png => moss_patch.png} | Bin ...glow.png => torchberry_plant_emissive.png} | Bin ...rollber_glow.png => trollber_emissive.png} | Bin 17 files changed, 255 insertions(+), 24 deletions(-) create mode 100644 src/main/java/twilightforest/client/model/block/patch/PatchBuilder.java create mode 100644 src/main/resources/assets/twilightforest/models/block/mushgloom.json rename src/main/resources/assets/twilightforest/textures/block/{cloverpatch.png => clover_patch.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{huge_gloom_cap.png => huge_mushgloom.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{huge_gloom_inside.png => huge_mushgloom_inside.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{mosspatch.png => moss_patch.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{torchberry_plant_glow.png => torchberry_plant_emissive.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{trollber_glow.png => trollber_emissive.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 6c6b60f06c..8844334c6c 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -2,9 +2,11 @@ import net.minecraft.client.color.item.GrassColorSource; import net.minecraft.client.data.models.ItemModelOutput; +import net.minecraft.client.data.models.ModelProvider; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -12,6 +14,7 @@ import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; +import twilightforest.client.model.block.patch.PatchBuilder; import twilightforest.client.renderer.special.*; import twilightforest.datagen.helpers.models.BlockModelBuilders; import twilightforest.init.TFBlocks; @@ -48,6 +51,21 @@ public void run() { this.wrapBlockItem(TFBlocks.CRACKED_DEADROCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.WEATHERED_DEADROCK.get(), this::createTrivialCube); + this.createCrossBlock(TFBlocks.FIDDLEHEAD.get(), PlantType.TINTED); + this.createItemWithGrassTint(TFBlocks.FIDDLEHEAD.get()); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MAYAPPLE.get(), ModelLocationUtils.getModelLocation(TFBlocks.MAYAPPLE.get()))); + this.registerSimpleFlatItemModel(TFBlocks.MAYAPPLE.get()); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CLOVER_PATCH.get(), TFModelTemplates.create("twilightforest:clover_patch", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, builder -> {}).renderType("cutout").build().create(TFBlocks.CLOVER_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.CLOVER_PATCH.get()), this.modelOutput))); + this.registerSimpleFlatItemModel(TFBlocks.CLOVER_PATCH.asItem()); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MOSS_PATCH.get(), TFModelTemplates.create("twilightforest:moss_patch", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, PatchBuilder::shaggify).build().create(TFBlocks.MOSS_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.MOSS_PATCH.get()), this.modelOutput))); + this.registerSimpleFlatItemModel(TFBlocks.MOSS_PATCH.asItem()); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.TORCHBERRY_PLANT.get()).with(createBooleanModelDispatch(TorchberryPlantBlock.HAS_BERRIES, + ModelTemplates.CROSS_EMISSIVE.extend().renderType("cutout").build().createWithSuffix(TFBlocks.TORCHBERRY_PLANT.get(), "_berries", TextureMapping.crossEmissive(TFBlocks.TORCHBERRY_PLANT.get()), this.modelOutput), + ModelTemplates.CROSS.extend().renderType("cutout").build().create(TFBlocks.TORCHBERRY_PLANT.get(), TextureMapping.cross(TFBlocks.TORCHBERRY_PLANT.get()), this.modelOutput)))); + this.registerSimpleFlatItemModel(TFBlocks.TORCHBERRY_PLANT.get()); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MUSHGLOOM.get(), ModelLocationUtils.getModelLocation(TFBlocks.MUSHGLOOM.get()))); + this.registerTwoLayerFlatItemModel(TFBlocks.MUSHGLOOM.get(), "_head"); + this.nagaStone(); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.SPIRAL_BRICKS.get()).with(PropertyDispatch.properties(SpiralBrickBlock.AXIS_FACING, SpiralBrickBlock.DIAGONAL).generate((axis, diagonals) -> @@ -143,7 +161,21 @@ public void run() { this.itemModelOutput.accept(TFBlocks.EXPERIMENT_115.asItem(), ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.EXPERIMENT_115.asItem()))); //TODO aurora blocks + this.wrapBlockItem(TFBlocks.HUGE_STALK.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); + ResourceLocation mushgloomInside = ModelTemplates.SINGLE_FACE.create(TwilightForestMod.prefix("huge_mushgloom_inside"), TextureMapping.cube(TwilightForestMod.prefix("block/huge_mushgloom_inside")), this.modelOutput); + this.createMultifaceBlock(TFBlocks.HUGE_MUSHGLOOM.get(), mushgloomInside, false); + this.createMultifaceBlock(TFBlocks.HUGE_MUSHGLOOM_STEM.get(), mushgloomInside, false); + ResourceLocation trollsteinnInside = ModelTemplates.SINGLE_FACE.create(TwilightForestMod.prefix("trollsteinn_inside"), TextureMapping.cube(TwilightForestMod.prefix("block/trollsteinn_light")), this.modelOutput); + this.createMultifaceBlock(TFBlocks.TROLLSTEINN.get(), trollsteinnInside, true); + this.createCrossBlockWithDefaultItem(TFBlocks.TROLLVIDR.get(), PlantType.NOT_TINTED); + this.createCrossBlockWithDefaultItem(TFBlocks.UNRIPE_TROLLBER.get(), PlantType.NOT_TINTED); + this.createCrossBlockWithDefaultItem(TFBlocks.TROLLBER.get(), PlantType.EMISSIVE_NOT_TINTED); + this.wrapBlockItem(TFBlocks.FLUFFY_CLOUD.get(), this::createTrivialCube); + this.wrapBlockItem(TFBlocks.WISPY_CLOUD.get(), block -> this.blockWithRenderType(block, "translucent", ModelTemplates.CUBE_ALL, TextureMapping::cube)); + this.wrapBlockItem(TFBlocks.RAINY_CLOUD.get(), block -> this.blockWithRenderType(block, "translucent", ModelTemplates.CUBE_ALL, TextureMapping::cube)); + this.wrapBlockItem(TFBlocks.SNOWY_CLOUD.get(), block -> this.blockWithRenderType(block, "translucent", ModelTemplates.CUBE_ALL, TextureMapping::cube)); + this.wrapBlockItem(TFBlocks.UBEROUS_SOIL.get(), block -> this.createTrivialBlock(block, TexturedModel.createDefault(block1 -> new TextureMapping().put(TextureSlot.DIRT, TextureMapping.getBlockTexture(block)).put(TextureSlot.TOP, TextureMapping.getBlockTexture(block)), ModelTemplates.FARMLAND))); this.giantBlock(TFBlocks.GIANT_COBBLESTONE.get(), TFTextureMapping.giantBlock(Blocks.COBBLESTONE)); this.giantBlock(TFBlocks.GIANT_LOG.get(), TFTextureMapping.giantBlock(TextureMapping.getBlockTexture(Blocks.OAK_LOG), TextureMapping.getBlockTexture(Blocks.OAK_LOG, "_top"))); @@ -239,6 +271,16 @@ public void run() { this.wrapBlockItem(TFBlocks.KNIGHTMETAL_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); this.wrapBlockItem(TFBlocks.FIERY_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); this.wrapBlockItem(TFBlocks.CARMINITE_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); + + this.wrapBlockItem(TFBlocks.CINDER_FURNACE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(Blocks.FURNACE)))); + this.wrapBlockItem(TFBlocks.CINDER_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(block))); + this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"))); + this.registerSimpleItemModel(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal")); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard"))); + this.registerSimpleItemModel(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard")); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/lich_tower"))); + this.registerSimpleItemModel(TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/lich_tower")); } private void generateWoodBlocks() { diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index d102fc141c..87995fd3ec 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -829,6 +829,71 @@ public void ironLadder() { this.itemModelOutput.accept(TFBlocks.IRON_LADDER.asItem(), ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFBlocks.IRON_LADDER.asItem()))); } + public void createMultifaceBlock(Block mushroomBlock, ResourceLocation inside, boolean invertConditions) { + ResourceLocation outside = ModelTemplates.SINGLE_FACE.create(mushroomBlock, TextureMapping.defaultTexture(mushroomBlock), this.modelOutput); + this.blockStateOutput.accept(MultiPartGenerator.multiPart(mushroomBlock) + .with(Condition.condition().term(BlockStateProperties.NORTH, !invertConditions), Variant.variant().with(VariantProperties.MODEL, outside)) + .with(Condition.condition().term(BlockStateProperties.EAST, !invertConditions), Variant.variant() + .with(VariantProperties.MODEL, outside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.UV_LOCK, true) + ) + .with(Condition.condition().term(BlockStateProperties.SOUTH, !invertConditions), Variant.variant() + .with(VariantProperties.MODEL, outside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180) + .with(VariantProperties.UV_LOCK, true) + ) + .with(Condition.condition().term(BlockStateProperties.WEST, !invertConditions), Variant.variant() + .with(VariantProperties.MODEL, outside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + .with(VariantProperties.UV_LOCK, true) + ) + .with(Condition.condition().term(BlockStateProperties.UP, !invertConditions), Variant.variant() + .with(VariantProperties.MODEL, outside) + .with(VariantProperties.X_ROT, VariantProperties.Rotation.R270) + .with(VariantProperties.UV_LOCK, true) + ) + .with(Condition.condition().term(BlockStateProperties.DOWN, !invertConditions), Variant.variant() + .with(VariantProperties.MODEL, outside) + .with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.UV_LOCK, true) + ) + .with(Condition.condition().term(BlockStateProperties.NORTH, invertConditions), Variant.variant().with(VariantProperties.MODEL, inside)) + .with(Condition.condition().term(BlockStateProperties.EAST, invertConditions), Variant.variant() + .with(VariantProperties.MODEL, inside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.UV_LOCK, false) + ) + .with(Condition.condition().term(BlockStateProperties.SOUTH, invertConditions), Variant.variant() + .with(VariantProperties.MODEL, inside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180) + .with(VariantProperties.UV_LOCK, false) + ) + .with(Condition.condition().term(BlockStateProperties.WEST, invertConditions), Variant.variant() + .with(VariantProperties.MODEL, inside) + .with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + .with(VariantProperties.UV_LOCK, false) + ) + .with(Condition.condition().term(BlockStateProperties.UP, invertConditions), Variant.variant() + .with(VariantProperties.MODEL, inside) + .with(VariantProperties.X_ROT, VariantProperties.Rotation.R270) + .with(VariantProperties.UV_LOCK, false) + ) + .with(Condition.condition().term(BlockStateProperties.DOWN, invertConditions), Variant.variant() + .with(VariantProperties.MODEL, inside) + .with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.UV_LOCK, false) + ) + ); + this.registerSimpleItemModel(mushroomBlock, TexturedModel.CUBE.createWithSuffix(mushroomBlock, "_inventory", this.modelOutput)); + } + + @Override + public void createCrossBlock(Block block, PlantType plantType, TextureMapping textureMapping) { + ResourceLocation resourcelocation = plantType.getCross().extend().renderType("cutout").build().create(block, textureMapping, this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(block, resourcelocation)); + } + public static VariantProperties.Rotation getYRotationFromDirection(Direction direction) { return switch (direction) { case EAST -> VariantProperties.Rotation.R90; diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java index 4a33c6d755..adf5970751 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -25,6 +25,7 @@ import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; import twilightforest.enums.HollowLogVariants; +import twilightforest.init.TFBlocks; import java.util.List; import java.util.function.BiConsumer; @@ -183,8 +184,8 @@ public static BlockStateGenerator createBanister(Block banister, ResourceLocatio public void generateHollowLog(Block log, Block stripped, Block horizontal, Block vertical, Block climbable) { TextureMapping base = TextureMapping.logColumn(log).put(TextureSlot.INSIDE, TextureMapping.getBlockTexture(stripped)); ResourceLocation horizModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG.create(horizontal, base, this.modelOutput); - ResourceLocation mossModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_moss", base.put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); - ResourceLocation grassModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_PLANT.createWithSuffix(horizontal, "_grass", base.put(TextureSlot.PLANT, TextureMapping.getBlockTexture(Blocks.SHORT_GRASS)).put(TFTextureSlot.CARPET, TwilightForestMod.prefix("block/mosspatch")).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); + ResourceLocation mossModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_moss", base.put(TFTextureSlot.CARPET, TextureMapping.getBlockTexture(TFBlocks.MOSS_PATCH.get())).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); + ResourceLocation grassModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_PLANT.createWithSuffix(horizontal, "_grass", base.put(TextureSlot.PLANT, TextureMapping.getBlockTexture(Blocks.SHORT_GRASS)).put(TFTextureSlot.CARPET, TextureMapping.getBlockTexture(TFBlocks.MOSS_PATCH.get())).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/moss_overhang")), this.modelOutput); ResourceLocation snowModel = TFModelTemplates.HORIZONTAL_HOLLOW_LOG_CARPET.createWithSuffix(horizontal, "_snow", base.put(TFTextureSlot.CARPET, TextureMapping.getBlockTexture(Blocks.SNOW)).put(TFTextureSlot.OVERHANG, TwilightForestMod.prefix("block/snow_overhang")), this.modelOutput); ResourceLocation vertModel = TFModelTemplates.VERTICAL_HOLLOW_LOG.create(vertical, base, this.modelOutput); ResourceLocation ladderModel = TFModelTemplates.CLIMBABLE_HOLLOW_LOG.createWithSuffix(climbable, "_ladder", base.put(TFTextureSlot.CLIMBABLE, TextureMapping.getBlockTexture(Blocks.LADDER)), this.modelOutput); diff --git a/src/main/java/twilightforest/block/TrollsteinnBlock.java b/src/main/java/twilightforest/block/TrollsteinnBlock.java index 9ef59cffda..4ab06c4766 100644 --- a/src/main/java/twilightforest/block/TrollsteinnBlock.java +++ b/src/main/java/twilightforest/block/TrollsteinnBlock.java @@ -13,6 +13,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import org.joml.Vector3f; @@ -20,12 +21,12 @@ public class TrollsteinnBlock extends Block { public static final int LIGHT_THRESHOLD = 7; - private static final BooleanProperty DOWN_LIT = BooleanProperty.create("down"); - private static final BooleanProperty UP_LIT = BooleanProperty.create("up"); - private static final BooleanProperty NORTH_LIT = BooleanProperty.create("north"); - private static final BooleanProperty SOUTH_LIT = BooleanProperty.create("south"); - private static final BooleanProperty WEST_LIT = BooleanProperty.create("west"); - private static final BooleanProperty EAST_LIT = BooleanProperty.create("east"); + private static final BooleanProperty DOWN_LIT = BlockStateProperties.DOWN; + private static final BooleanProperty UP_LIT = BlockStateProperties.UP; + private static final BooleanProperty NORTH_LIT = BlockStateProperties.NORTH; + private static final BooleanProperty SOUTH_LIT = BlockStateProperties.SOUTH; + private static final BooleanProperty WEST_LIT = BlockStateProperties.WEST; + private static final BooleanProperty EAST_LIT = BlockStateProperties.EAST; private static final Map PROPERTY_MAP = ImmutableMap.builder() .put(Direction.DOWN, DOWN_LIT) .put(Direction.UP, UP_LIT) diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchBuilder.java b/src/main/java/twilightforest/client/model/block/patch/PatchBuilder.java new file mode 100644 index 0000000000..5160a6db0c --- /dev/null +++ b/src/main/java/twilightforest/client/model/block/patch/PatchBuilder.java @@ -0,0 +1,36 @@ +package twilightforest.client.model.block.patch; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import net.neoforged.neoforge.client.model.generators.template.CustomLoaderBuilder; +import twilightforest.TwilightForestMod; + +public class PatchBuilder extends CustomLoaderBuilder { + + private boolean shaggify = false; + + public PatchBuilder() { + super(TwilightForestMod.prefix("patch"), false); + } + + public PatchBuilder shaggify() { + this.shaggify = true; + return this; + } + + @Override + protected CustomLoaderBuilder copyInternal() { + PatchBuilder builder = new PatchBuilder(); + builder.shaggify = this.shaggify; + return builder; + } + + @Override + public JsonObject toJson(JsonObject json) { + JsonObject mainJson = super.toJson(json); + + mainJson.addProperty("shaggify", this.shaggify); + + return mainJson; + } +} diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java index 6b8146915a..76cc54a379 100644 --- a/src/main/java/twilightforest/client/model/block/patch/PatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/PatchModel.java @@ -2,16 +2,22 @@ import com.google.common.collect.ImmutableList; import com.mojang.math.Transformation; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.neoforged.neoforge.client.ChunkRenderTypeSet; +import net.neoforged.neoforge.client.RenderTypeGroup; +import net.neoforged.neoforge.client.model.IDynamicBakedModel; import net.neoforged.neoforge.client.model.SimpleModelState; +import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.data.ModelData; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -23,7 +29,29 @@ import java.util.ArrayList; import java.util.List; -public record PatchModel(TextureAtlasSprite texture, boolean shaggify) implements BakedModel { +public class PatchModel implements BakedModel { + + private final TextureAtlasSprite texture; + private final boolean shaggify; + private final TextureAtlasSprite particle; + private final boolean usesAO; + private final boolean usesBlockLight; + private final ItemTransforms transforms; + @Nullable + private final ChunkRenderTypeSet blockRenderTypes; + @Nullable + private final RenderType itemRenderType; + + public PatchModel(TextureAtlasSprite texture, boolean shaggify, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { + this.texture = texture; + this.shaggify = shaggify; + this.particle = particle; + this.usesAO = usesAO; + this.usesBlockLight = usesBlockLight; + this.transforms = transforms; + this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; + this.itemRenderType = !group.isEmpty() ? group.entity() : null; + } @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, RandomSource random) { @@ -156,11 +184,9 @@ private BakedQuad quadFromVectors(Direction direction, float minX, float minY, f return FaceBakery.bakeQuad(new Vector3f(minX, minY, minZ), new Vector3f(maxX, maxY, maxZ), face, this.texture, direction, new SimpleModelState(Transformation.identity()), null, true, 0); } - // --- Boilerplating --------------------------------------------------- - @Override public boolean useAmbientOcclusion() { - return false; + return this.usesAO; } @Override @@ -170,24 +196,27 @@ public boolean isGui3d() { @Override public boolean usesBlockLight() { - return false; + return this.usesBlockLight; } @Override public ItemTransforms getTransforms() { - return ItemTransforms.NO_TRANSFORMS; + return this.transforms; } @Override public TextureAtlasSprite getParticleIcon() { - return this.texture; + return this.particle; } + @NotNull @Override public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { - if (state.is(TFBlocks.CLOVER_PATCH)) { - return ChunkRenderTypeSet.of(RenderType.cutout()); - } - return BakedModel.super.getRenderTypes(state, rand, data); + return this.blockRenderTypes != null ? this.blockRenderTypes : BakedModel.super.getRenderTypes(state, rand, data); + } + + @Override + public RenderType getRenderType(ItemStack stack) { + return this.itemRenderType != null ? this.itemRenderType : BakedModel.super.getRenderType(stack); } } diff --git a/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java b/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java index c54c9d3be3..0d6db0059c 100644 --- a/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/patch/PatchModelLoader.java @@ -5,6 +5,7 @@ import com.google.gson.JsonParseException; import com.mojang.realmsclient.util.JsonUtils; import net.minecraft.resources.ResourceLocation; +import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; @@ -16,8 +17,8 @@ private PatchModelLoader() { @Override public UnbakedPatchModel read(JsonObject object, JsonDeserializationContext deserializationContext) throws JsonParseException { - if (!object.has("texture")) - throw new JsonParseException("Patch model missing value for 'texture'."); +// if (!object.has("texture")) +// throw new JsonParseException("Patch model missing value for 'texture'."); return new UnbakedPatchModel(JsonUtils.getBooleanOr("shaggify", object, false), StandardModelParameters.parse(object, deserializationContext)); } diff --git a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java index da8e8142f4..0def27c9a2 100644 --- a/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java +++ b/src/main/java/twilightforest/client/model/block/patch/UnbakedPatchModel.java @@ -4,6 +4,7 @@ import net.minecraft.client.renderer.block.model.TextureSlots; import net.minecraft.client.resources.model.*; import net.minecraft.util.context.ContextMap; +import net.neoforged.neoforge.client.RenderTypeGroup; import net.neoforged.neoforge.client.model.AbstractUnbakedModel; import net.neoforged.neoforge.client.model.StandardModelParameters; @@ -18,6 +19,6 @@ public UnbakedPatchModel(boolean shaggify, StandardModelParameters parameters) { @Override public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState modelState, boolean hasAmbientOcclusion, boolean useBlockLight, ItemTransforms transforms, ContextMap additionalProperties) { - return new PatchModel(baker.findSprite(textureSlots, "texture"), this.shaggify); + return new PatchModel(baker.findSprite(textureSlots, "texture"), this.shaggify, baker.findSprite(textureSlots, "particle"), hasAmbientOcclusion, useBlockLight, transforms, this.parameters.renderTypeGroup()); } } diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 046cde3f17..d8ae9674da 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -237,7 +237,7 @@ public class TFBlocks { public static final DeferredBlock BLUE_FORCE_FIELD = registerWithItem("blue_force_field", ForceFieldBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> 2).mapColor(DyeColor.LIGHT_BLUE).noLootTable().noOcclusion().pushReaction(PushReaction.BLOCK).strength(-1.0F, 3600000.8F)); public static final DeferredBlock CINDER_FURNACE = registerWithItem("cinder_furnace", CinderFurnaceBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).requiresCorrectToolForDrops().strength(7.0F).lightLevel((state) -> 15)); public static final DeferredBlock CINDER_LOG = registerWithItem("cinder_log", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); - public static final DeferredBlock CINDER_WOOD = registerWithItem("cinder_wood", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); + public static final DeferredBlock CINDER_WOOD = registerWithItem("cinder_wood", RotatedPillarBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.COLOR_GRAY).strength(1.0F)); public static final DeferredBlock YELLOW_CASTLE_DOOR = registerWithItem("yellow_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.YELLOW.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); public static final DeferredBlock VIOLET_CASTLE_DOOR = registerWithItem("violet_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.LIGHT_BLUE.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); public static final DeferredBlock PINK_CASTLE_DOOR = registerWithItem("pink_castle_door", CastleDoorBlock::new, () -> BlockBehaviour.Properties.of().forceSolidOn().mapColor((state) -> state.getValue(CastleDoorBlock.VANISHED) ? MapColor.NONE : DyeColor.MAGENTA.getMapColor()).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().sound(SoundType.DEEPSLATE_TILES).strength(100.0F, 100.0F)); diff --git a/src/main/resources/assets/twilightforest/models/block/mayapple.json b/src/main/resources/assets/twilightforest/models/block/mayapple.json index 2ad3088aa1..bf39ac8702 100644 --- a/src/main/resources/assets/twilightforest/models/block/mayapple.json +++ b/src/main/resources/assets/twilightforest/models/block/mayapple.json @@ -4,7 +4,7 @@ "textures": { "stem": "twilightforest:block/mayapple_side", "leaf": "twilightforest:block/mayapple", - "particle": "twilightforest:block/cloverpatch" + "particle": "twilightforest:block/clover_patch" }, "elements": [ { diff --git a/src/main/resources/assets/twilightforest/models/block/mushgloom.json b/src/main/resources/assets/twilightforest/models/block/mushgloom.json new file mode 100644 index 0000000000..389079cfae --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/mushgloom.json @@ -0,0 +1,55 @@ +{ + "ambientocclusion": false, + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/mushgloom", + "cross_emissive": "twilightforest:block/mushgloom_head", + "particle": "#cross" + }, + "elements": [ + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "light_emission": 10, + "shade": false, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "light_emission": 10, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } + } + }, + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "light_emission": 6, + "faces": { + "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_emissive" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_emissive" } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "light_emission": 6, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_emissive" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_emissive" } + } + } + ] +} diff --git a/src/main/resources/assets/twilightforest/textures/block/cloverpatch.png b/src/main/resources/assets/twilightforest/textures/block/clover_patch.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/cloverpatch.png rename to src/main/resources/assets/twilightforest/textures/block/clover_patch.png diff --git a/src/main/resources/assets/twilightforest/textures/block/huge_gloom_cap.png b/src/main/resources/assets/twilightforest/textures/block/huge_mushgloom.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/huge_gloom_cap.png rename to src/main/resources/assets/twilightforest/textures/block/huge_mushgloom.png diff --git a/src/main/resources/assets/twilightforest/textures/block/huge_gloom_inside.png b/src/main/resources/assets/twilightforest/textures/block/huge_mushgloom_inside.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/huge_gloom_inside.png rename to src/main/resources/assets/twilightforest/textures/block/huge_mushgloom_inside.png diff --git a/src/main/resources/assets/twilightforest/textures/block/mosspatch.png b/src/main/resources/assets/twilightforest/textures/block/moss_patch.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/mosspatch.png rename to src/main/resources/assets/twilightforest/textures/block/moss_patch.png diff --git a/src/main/resources/assets/twilightforest/textures/block/torchberry_plant_glow.png b/src/main/resources/assets/twilightforest/textures/block/torchberry_plant_emissive.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/torchberry_plant_glow.png rename to src/main/resources/assets/twilightforest/textures/block/torchberry_plant_emissive.png diff --git a/src/main/resources/assets/twilightforest/textures/block/trollber_glow.png b/src/main/resources/assets/twilightforest/textures/block/trollber_emissive.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/trollber_glow.png rename to src/main/resources/assets/twilightforest/textures/block/trollber_emissive.png From aab6cd4b03f55409fd9e1bf4ef703f22ccee703f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:32:44 -0600 Subject: [PATCH 114/239] use vanilla fullbright where possible, clean up forcefield code --- .../helpers/models/BlockModelBuilders.java | 140 +++++++++--------- .../forcefield/ForceFieldModelBuilder.java | 120 +++++++-------- .../models/block/carminite_block.json | 26 ++-- .../models/block/castle_rune_template.json | 13 +- .../models/block/fiery_block.json | 30 ++-- .../template_trophy_pedestal_active.json | 59 ++++---- .../block/util/cube_bottom_2_layer_top.json | 3 +- .../models/block/util/fullbright_cube.json | 13 +- .../models/block/util/small_cube.json | 13 +- .../models/block/util/three_layer_block.json | 26 ++-- .../models/block/util/three_layer_device.json | 20 +-- .../models/block/util/two_layer_block_10.json | 13 +- .../models/block/util/two_layer_block_15.json | 13 +- .../util/two_layer_column_no_bottom.json | 11 +- 14 files changed, 257 insertions(+), 243 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 87995fd3ec..074986a720 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -18,6 +18,7 @@ import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.jetbrains.annotations.NotNull; +import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; @@ -358,7 +359,7 @@ public void terrorcotta() { PropertyDispatch.C1 directionDispach = PropertyDispatch.property(GlazedTerracottaBlock.FACING); boolean firstCurve = true; - for (Direction direction : new Direction[] { Direction.SOUTH, Direction.NORTH, Direction.WEST, Direction.EAST }) { + for (Direction direction : new Direction[]{Direction.SOUTH, Direction.NORTH, Direction.WEST, Direction.EAST}) { ResourceLocation location = this.makeTerrorcottaCurvesModel("terrorcotta_curves", direction.get2DDataValue()); directionDispach = directionDispach.select(direction, Variant.variant().with(VariantProperties.MODEL, location)); if (firstCurve) { @@ -373,8 +374,8 @@ public void terrorcotta() { this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.TERRORCOTTA_LINES.get()).with( PropertyDispatch.property(BinaryRotatedBlock.ROTATED) - .select(true, Variant.variant().with(VariantProperties.MODEL, rotated)) - .select(false, Variant.variant().with(VariantProperties.MODEL, unRotated)) + .select(true, Variant.variant().with(VariantProperties.MODEL, rotated)) + .select(false, Variant.variant().with(VariantProperties.MODEL, unRotated)) )); this.itemModelOutput.accept(TFBlocks.TERRORCOTTA_LINES.asItem(), ItemModelUtils.plainModel(rotated)); @@ -601,137 +602,138 @@ public void directionalCrossModel(Block block, PlantType type) { public void forcefield(Block block) { this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { + builder.brightnessOverride(15).disableShade() //WEST - builder.forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).shade(false).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").end().end() //EAST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).shade(false).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").end().end() //DOWN - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).shade(false).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").end().end() //UP - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).shade(false).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").end().end() //NORTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).shade(false).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").end().end() //SOUTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).shade(false).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").emissivity(15, 15).end().end() + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").end() + .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").end().end() //DOWN WEST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9) .face(Direction.DOWN).cullface(Direction.DOWN).uvs(0, 7, 7, 9).end() .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).uvs(0, 0, 7, 7).end() - .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").end().end() //DOWN EAST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9) .face(Direction.DOWN).cullface(Direction.DOWN).uvs(9, 7, 16, 9).end() .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).uvs(9, 0, 16, 7).end() - .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").end().end() //DOWN NORTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH) .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 0, 9, 7).end() .face(Direction.WEST).uvs(0, 0, 7, 7).end() - .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() - .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").end().end() //DOWN SOUTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH) .face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 9, 9, 16).end() .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 0, 9, 7).end() .face(Direction.WEST).uvs(9, 0, 16, 7).end() - .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end() - .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").end().end() //UP WEST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST) .face(Direction.UP).cullface(Direction.UP).uvs(0, 7, 7, 9).end() .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 9, 9, 16).end() .face(Direction.NORTH).uvs(0, 9, 7, 16).end() - .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").end().end() //UP EAST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST) .face(Direction.UP).cullface(Direction.UP).uvs(9, 7, 16, 9).end() .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 9, 9, 16).end() .face(Direction.NORTH).uvs(9, 9, 16, 16).end() - .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").end().end() //UP NORTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH) .face(Direction.UP).cullface(Direction.UP).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 9, 9, 16).end() .face(Direction.WEST).uvs(0, 9, 7, 16).end() - .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() - .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").end().end() //UP SOUTH - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH) .face(Direction.UP).cullface(Direction.UP).uvs(7, 9, 9, 16).end() .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 9, 9, 16).end() .face(Direction.WEST).uvs(9, 9, 16, 16).end() - .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end() - .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").end().end() //NORTH WEST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST) .face(Direction.NORTH).cullface(Direction.NORTH).uvs(0, 7, 7, 9).end() .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(0, 9, 7, 16).end() - .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").end().end() //NORTH EAST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST) .face(Direction.NORTH).cullface(Direction.NORTH).uvs(9, 7, 16, 9).end() .face(Direction.EAST).cullface(Direction.EAST).uvs(0, 7, 7, 9).end() .face(Direction.DOWN).uvs(9, 9, 16, 16).end() - .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").end().end() //SOUTH WEST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST) .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(0, 9, 7, 16).end() - .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end() + .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end() //SOUTH EAST - .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST).shade(false) + .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST) .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(0, 7, 7, 9).end() .face(Direction.EAST).cullface(Direction.EAST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(9, 9, 16, 16).end() - .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane").emissivity(15, 15)) - .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").emissivity(15, 15).end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").emissivity(15, 15).end().end(); + .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end(); }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); this.registerSimpleFlatItemModel(block); } @@ -782,12 +784,12 @@ public void generateRuneBlock(Block runeBlock, int tint) { } public void trophyPedestal() { - BossVariant[][] variantList = new BossVariant[][] { //face order: north, south, east, west - new BossVariant[]{BossVariant.NAGA, BossVariant.LICH, BossVariant.UR_GHAST, BossVariant.HYDRA}, - new BossVariant[]{BossVariant.SNOW_QUEEN, BossVariant.NAGA, BossVariant.HYDRA, BossVariant.LICH}, - new BossVariant[]{BossVariant.UR_GHAST, BossVariant.SNOW_QUEEN, BossVariant.LICH, BossVariant.NAGA}, - new BossVariant[]{BossVariant.HYDRA, BossVariant.UR_GHAST, BossVariant.NAGA, BossVariant.SNOW_QUEEN}, - new BossVariant[]{BossVariant.LICH, BossVariant.HYDRA, BossVariant.SNOW_QUEEN, BossVariant.UR_GHAST} + BossVariant[][] variantList = new BossVariant[][]{ //face order: north, south, east, west + new BossVariant[]{BossVariant.NAGA, BossVariant.LICH, BossVariant.UR_GHAST, BossVariant.HYDRA}, + new BossVariant[]{BossVariant.SNOW_QUEEN, BossVariant.NAGA, BossVariant.HYDRA, BossVariant.LICH}, + new BossVariant[]{BossVariant.UR_GHAST, BossVariant.SNOW_QUEEN, BossVariant.LICH, BossVariant.NAGA}, + new BossVariant[]{BossVariant.HYDRA, BossVariant.UR_GHAST, BossVariant.NAGA, BossVariant.SNOW_QUEEN}, + new BossVariant[]{BossVariant.LICH, BossVariant.HYDRA, BossVariant.SNOW_QUEEN, BossVariant.UR_GHAST} }; Block pedestal = TFBlocks.TROPHY_PEDESTAL.get(); List variants = new ArrayList<>(); diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java index 79e9a2d20e..e3ce26eb91 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java @@ -5,7 +5,6 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.JsonOps; import net.minecraft.client.renderer.block.model.BlockElement; import net.minecraft.client.renderer.block.model.BlockElementFace; import net.minecraft.client.renderer.block.model.BlockElementRotation; @@ -27,6 +26,9 @@ import java.util.stream.Collectors; public class ForceFieldModelBuilder extends CustomLoaderBuilder { + + private boolean defaultShade = true; + private int brightnessOverride = 0; protected List elements = new ArrayList<>(); public static ForceFieldModelBuilder begin() { @@ -42,20 +44,31 @@ public ForceFieldModelBuilder() { } public ForceFieldElementBuilder forceFieldElement() { - ForceFieldElementBuilder ret = new ForceFieldElementBuilder(); - elements.add(ret); + ForceFieldElementBuilder ret = new ForceFieldElementBuilder(this.defaultShade, this.brightnessOverride); + this.elements.add(ret); return ret; } + public ForceFieldModelBuilder brightnessOverride(int light) { + this.brightnessOverride = light; + return this; + } + + public ForceFieldModelBuilder disableShade() { + this.defaultShade = false; + return this; + } + @Override protected CustomLoaderBuilder copyInternal() { ForceFieldModelBuilder builder = new ForceFieldModelBuilder(); builder.elements = this.elements; + builder.defaultShade = this.defaultShade; + builder.brightnessOverride = this.brightnessOverride; return builder; } @Override - @SuppressWarnings({"ConstantConditions", "OptionalGetWithoutIsPresent"}) public JsonObject toJson(JsonObject json) { json = super.toJson(json); if (!this.elements.isEmpty()) { @@ -87,7 +100,7 @@ public JsonObject toJson(JsonObject json) { rotation.addProperty("axis", part.rotation.axis().getSerializedName()); rotation.addProperty("angle", part.rotation.angle()); if (part.rotation.rescale()) { - rotation.addProperty("rescale", part.rotation.rescale()); + rotation.addProperty("rescale", true); } partObj.add("rotation", rotation); } @@ -96,6 +109,10 @@ public JsonObject toJson(JsonObject json) { partObj.addProperty("shade", part.shade); } + if (part.lightEmission != 0) { + partObj.addProperty("light_emission", part.lightEmission); + } + JsonObject faces = new JsonObject(); for (Direction dir : Direction.values()) { BlockElementFace face = part.faces.get(dir); @@ -115,9 +132,6 @@ public JsonObject toJson(JsonObject json) { if (face.tintIndex() != -1) { faceObj.addProperty("tintindex", face.tintIndex()); } - if (!face.faceData().equals(ExtraFaceData.DEFAULT)) { - faceObj.add("neoforge_data", ExtraFaceData.CODEC.encodeStart(JsonOps.INSTANCE, face.faceData()).result().get()); - } faces.add(dir.getSerializedName(), faceObj); } if (!part.faces.isEmpty()) { @@ -130,14 +144,14 @@ public JsonObject toJson(JsonObject json) { return json; } - private String serializeLocOrKey(String tex) { + private static String serializeLocOrKey(String tex) { if (tex.charAt(0) == '#') { return tex; } return ResourceLocation.parse(tex).toString(); } - private JsonArray serializeVector3f(Vector3f vec) { + private static JsonArray serializeVector3f(Vector3f vec) { JsonArray ret = new JsonArray(); ret.add(serializeFloat(vec.x())); ret.add(serializeFloat(vec.y())); @@ -145,7 +159,7 @@ private JsonArray serializeVector3f(Vector3f vec) { return ret; } - private Number serializeFloat(float f) { + private static Number serializeFloat(float f) { if ((int) f == f) return (int) f; return f; } @@ -160,18 +174,22 @@ public class ForceFieldElementBuilder { private final Map faces = new LinkedHashMap<>(); @Nullable private ForceFieldElementBuilder.RotationBuilder rotation; - private boolean shade = true; - private int color = 0xFFFFFFFF; - private int blockLight = 0, skyLight = 0; - private boolean hasAmbientOcclusion = true; + private boolean shade; + private int light; + @Nullable private Pair condition = null; private final List parents = new ArrayList<>(); - private void validateCoordinate(float coord, char name) { + private ForceFieldElementBuilder(boolean defaultShade, int brightnessOverride) { + this.shade = defaultShade; + this.light = brightnessOverride; + } + + private static void validateCoordinate(float coord, char name) { Preconditions.checkArgument(!(coord < -16.0F) && !(coord > 32.0F), "Position " + name + " out of range, must be within [-16, 32]. Found: %d", coord); } - private void validatePosition(Vector3f pos) { + private static void validatePosition(Vector3f pos) { validateCoordinate(pos.x(), 'x'); validateCoordinate(pos.y(), 'y'); validateCoordinate(pos.z(), 'z'); @@ -191,7 +209,7 @@ public ForceFieldElementBuilder to(float x, float y, float z) { public ForceFieldElementBuilder.FaceBuilder face(Direction dir) { Preconditions.checkNotNull(dir, "Direction must not be null"); - return faces.computeIfAbsent(dir, ForceFieldElementBuilder.FaceBuilder::new); + return this.faces.computeIfAbsent(dir, ForceFieldElementBuilder.FaceBuilder::new); } public ForceFieldElementBuilder.RotationBuilder rotation() { @@ -207,41 +225,29 @@ public ForceFieldElementBuilder shade(boolean shade) { } public ForceFieldElementBuilder allFaces(BiConsumer action) { - Arrays.stream(Direction.values()) - .forEach(d -> action.accept(d, face(d))); + Arrays.stream(Direction.values()).forEach(d -> action.accept(d, this.face(d))); return this; } public ForceFieldElementBuilder faces(BiConsumer action) { - faces.forEach(action); + this.faces.forEach(action); return this; } public ForceFieldElementBuilder textureAll(String texture) { - return allFaces(addTexture(texture)); + return this.allFaces(this.addTexture(texture)); } public ForceFieldElementBuilder texture(String texture) { - return faces(addTexture(texture)); + return this.faces(this.addTexture(texture)); } public ForceFieldElementBuilder cube(String texture) { - return allFaces(addTexture(texture).andThen((dir, f) -> f.cullface(dir))); - } - - public ForceFieldElementBuilder emissivity(int blockLight, int skyLight) { - this.blockLight = blockLight; - this.skyLight = skyLight; - return this; + return this.allFaces(this.addTexture(texture).andThen((dir, f) -> f.cullface(dir))); } - public ForceFieldElementBuilder color(int color) { - this.color = color; - return this; - } - - public ForceFieldElementBuilder ao(boolean ao) { - this.hasAmbientOcclusion = ao; + public ForceFieldElementBuilder emissivity(int light) { + this.light = light; return this; } @@ -270,15 +276,15 @@ public ForceFieldElementBuilder parents(ExtraDirection... parents) { } private BiConsumer addTexture(String texture) { - return ($, f) -> f.texture(texture); + return (direction, builder) -> builder.texture(texture); } BlockElement build() { Map faces = this.faces.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().build(), (k1, k2) -> { + .collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().build(), (direction, face) -> { throw new IllegalArgumentException(); }, LinkedHashMap::new)); - return new BlockElement(from, to, faces, this.rotation == null ? null : this.rotation.build(), this.shade, this.skyLight, new ExtraFaceData(this.color, this.blockLight, this.skyLight, this.hasAmbientOcclusion)); + return new BlockElement(this.from, this.to, faces, this.rotation == null ? null : this.rotation.build(), this.shade, this.light, ExtraFaceData.DEFAULT); } public ForceFieldModelBuilder end() { @@ -289,12 +295,10 @@ public class FaceBuilder { @Nullable private Direction cullface; private int tintindex = -1; + @Nullable private String texture = MissingTextureAtlasSprite.getLocation().toString(); - private float[] uvs; + private float@Nullable[] uvs; private FaceRotation rotation = FaceRotation.ZERO; - private int color = 0xFFFFFFFF; - private int blockLight = 0, skyLight = 0; - private boolean hasAmbientOcclusion = true; FaceBuilder(Direction dir) { // param unused for functional match @@ -327,27 +331,11 @@ public ForceFieldElementBuilder.FaceBuilder rotation(FaceRotation rot) { return this; } - public ForceFieldElementBuilder.FaceBuilder emissivity(int blockLight, int skyLight) { - this.blockLight = blockLight; - this.skyLight = skyLight; - return this; - } - - public ForceFieldElementBuilder.FaceBuilder color(int color) { - this.color = color; - return this; - } - - public ForceFieldElementBuilder.FaceBuilder ao(boolean ao) { - this.hasAmbientOcclusion = ao; - return this; - } - BlockElementFace build() { if (this.texture == null) { throw new IllegalStateException("A model face must have a texture"); } - return new BlockElementFace(cullface, tintindex, texture, new BlockFaceUV(uvs, rotation.rotation), new ExtraFaceData(this.color, this.blockLight, this.skyLight, this.hasAmbientOcclusion), new MutableObject<>()); + return new BlockElementFace(this.cullface, this.tintindex, this.texture, new BlockFaceUV(this.uvs, this.rotation.rotation), ExtraFaceData.DEFAULT, new MutableObject<>()); } public ForceFieldElementBuilder end() { @@ -357,7 +345,9 @@ public ForceFieldElementBuilder end() { public class RotationBuilder { + @Nullable private Vector3f origin; + @Nullable private Direction.Axis axis; private float angle; private boolean rescale; @@ -386,7 +376,9 @@ public ForceFieldElementBuilder.RotationBuilder rescale(boolean rescale) { } BlockElementRotation build() { - return new BlockElementRotation(origin, axis, angle, rescale); + Preconditions.checkNotNull(this.origin, "No origin specified"); + Preconditions.checkNotNull(this.axis, "No axis specified"); + return new BlockElementRotation(this.origin, this.axis, this.angle, this.rescale); } public ForceFieldElementBuilder end() { @@ -399,8 +391,7 @@ public enum FaceRotation { ZERO(0), CLOCKWISE_90(90), UPSIDE_DOWN(180), - COUNTERCLOCKWISE_90(270), - ; + COUNTERCLOCKWISE_90(270); final int rotation; @@ -408,5 +399,4 @@ public enum FaceRotation { this.rotation = rotation; } } - } diff --git a/src/main/resources/assets/twilightforest/models/block/carminite_block.json b/src/main/resources/assets/twilightforest/models/block/carminite_block.json index 2676beea07..c3aa7bddcd 100644 --- a/src/main/resources/assets/twilightforest/models/block/carminite_block.json +++ b/src/main/resources/assets/twilightforest/models/block/carminite_block.json @@ -10,25 +10,27 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 4, "faces": { - "down": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "down"}, - "up": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "up"}, - "north": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "north"}, - "south": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "south"}, - "west": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "west"}, - "east": {"texture": "#all", "neoforge_data": {"block_light": 4, "sky_light": 4}, "cullface": "east"} + "down": {"texture": "#all", "cullface": "down"}, + "up": {"texture": "#all", "cullface": "up"}, + "north": {"texture": "#all", "cullface": "north"}, + "south": {"texture": "#all", "cullface": "south"}, + "west": {"texture": "#all", "cullface": "west"}, + "east": {"texture": "#all", "cullface": "east"} } }, { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 7, "faces": { - "up": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "up"}, - "down": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "down"}, - "north": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "north"}, - "south": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "south"}, - "west": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "west"}, - "east": {"texture": "#all2", "neoforge_data": {"block_light": 7, "sky_light": 7}, "cullface": "east"} + "up": {"texture": "#all2", "cullface": "up"}, + "down": {"texture": "#all2", "cullface": "down"}, + "north": {"texture": "#all2", "cullface": "north"}, + "south": {"texture": "#all2", "cullface": "south"}, + "west": {"texture": "#all2", "cullface": "west"}, + "east": {"texture": "#all2", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json b/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json index 3fcda14c68..e96bf59d50 100644 --- a/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json +++ b/src/main/resources/assets/twilightforest/models/block/castle_rune_template.json @@ -20,13 +20,14 @@ { "from": [0, 0, 0], "to": [16, 16, 16], + "light_emission": 15, "faces": { - "down": {"cullface": "down", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, - "east": {"cullface": "east", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, - "north": {"cullface": "north", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, - "south": {"cullface": "south", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, - "up": {"cullface": "up", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0}, - "west": {"cullface": "west", "neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#rune", "tintindex": 0} + "down": {"cullface": "down", "texture": "#rune", "tintindex": 0}, + "east": {"cullface": "east", "texture": "#rune", "tintindex": 0}, + "north": {"cullface": "north", "texture": "#rune", "tintindex": 0}, + "south": {"cullface": "south", "texture": "#rune", "tintindex": 0}, + "up": {"cullface": "up", "texture": "#rune", "tintindex": 0}, + "west": {"cullface": "west", "texture": "#rune", "tintindex": 0} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/fiery_block.json b/src/main/resources/assets/twilightforest/models/block/fiery_block.json index 0cb420c855..ff0e560fea 100644 --- a/src/main/resources/assets/twilightforest/models/block/fiery_block.json +++ b/src/main/resources/assets/twilightforest/models/block/fiery_block.json @@ -11,26 +11,28 @@ "from": [1, 1, 1], "to": [15, 15, 15], "shade": false, - "faces": { - "north": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0}, - "east": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0}, - "south": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0}, - "west": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0}, - "up": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0}, - "down": {"uv": [1, 1, 15, 15], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#all", "tintindex": 0} + "light_emission": 15, + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0}, + "east": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0}, + "south": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0}, + "west": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0}, + "up": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0}, + "down": {"uv": [1, 1, 15, 15], "texture": "#all", "tintindex": 0} } }, { "from": [15.99, 15.99, 15.99], "to": [0.01, 0.01, 0.01], "shade": false, - "faces": { - "north": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "south", "tintindex": 1}, - "east": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "west", "tintindex": 1}, - "south": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "north", "tintindex": 1}, - "west": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "east", "tintindex": 1}, - "up": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "down", "tintindex": 1}, - "down": {"uv": [15.99, 15.99, 0.01, 0.01], "neoforge_data": { "block_light": 15, "sky_light": 15 }, "texture": "#over", "cullface": "up", "tintindex": 1} + "light_emission": 15, + "faces": { + "north": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "south", "tintindex": 1}, + "east": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "west", "tintindex": 1}, + "south": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "north", "tintindex": 1}, + "west": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "east", "tintindex": 1}, + "up": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "down", "tintindex": 1}, + "down": {"uv": [15.99, 15.99, 0.01, 0.01], "texture": "#over", "cullface": "up", "tintindex": 1} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json index 49a176ebc1..11761762ef 100644 --- a/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json +++ b/src/main/resources/assets/twilightforest/models/block/template_trophy_pedestal_active.json @@ -88,69 +88,76 @@ { "from": [2, 3, 2], "to": [14, 13, 14], + "light_emission": 15, "faces": { - "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, - "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, - "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, - "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + "east": {"texture": "#east2"}, + "north": {"texture": "#north2"}, + "south": {"texture": "#south2"}, + "west": {"texture": "#west2"} } }, { "from": [1, 0, 1], "to": [15, 16, 15], + "light_emission": 12, "faces": { - "down": {"cullface": "down", "neoforge_data": {"block_light": 12, "sky_light": 12}, "texture": "#top2"}, - "up": {"cullface": "up", "neoforge_data": {"block_light": 12, "sky_light": 12}, "texture": "#top2"} + "down": {"cullface": "down", "texture": "#top2"}, + "up": {"cullface": "up", "texture": "#top2"} } }, { "from": [1, 12, 1], "to": [4, 13, 4], + "light_emission": 15, "faces": { - "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, - "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, - "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, - "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + "east": {"texture": "#east2"}, + "north": {"texture": "#north2"}, + "south": {"texture": "#south2"}, + "west": {"texture": "#west2"} } }, { "from": [12, 12, 1], "to": [15, 13, 4], + "light_emission": 15, "faces": { - "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, - "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, - "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, - "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + "east": {"texture": "#east2"}, + "north": {"texture": "#north2"}, + "south": {"texture": "#south2"}, + "west": {"texture": "#west2"} } }, { "from": [1, 12, 12], "to": [4, 13, 15], + "light_emission": 15, "faces": { - "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, - "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, - "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, - "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + "east": {"texture": "#east2"}, + "north": {"texture": "#north2"}, + "south": {"texture": "#south2"}, + "west": {"texture": "#west2"} } }, { "from": [12, 12, 12], "to": [15, 13, 15], + "light_emission": 15, "faces": { - "east": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#east2"}, - "north": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#north2"}, - "south": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#south2"}, - "west": {"neoforge_data": {"block_light": 15, "sky_light": 15}, "texture": "#west2"} + "east": {"texture": "#east2"}, + "north": {"texture": "#north2"}, + "south": {"texture": "#south2"}, + "west": {"texture": "#west2"} } }, { "from": [2, 3, 2], "to": [14, 13, 14], + "light_emission": 10, "faces": { - "east": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#east3"}, - "north": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#north3"}, - "south": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#south3"}, - "west": {"neoforge_data": {"block_light": 10, "sky_light": 10}, "texture": "#west3"} + "east": {"texture": "#east3"}, + "north": {"texture": "#north3"}, + "south": {"texture": "#south3"}, + "west": {"texture": "#west3"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json b/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json index 09c916af88..c1a87d3596 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json +++ b/src/main/resources/assets/twilightforest/models/block/util/cube_bottom_2_layer_top.json @@ -20,8 +20,9 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 10, "faces": { - "up": {"texture": "#top2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"} + "up": {"texture": "#top2", "cullface": "up"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json b/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json index ce7172ac55..2c8472ddd7 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json +++ b/src/main/resources/assets/twilightforest/models/block/util/fullbright_cube.json @@ -8,13 +8,14 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 15, "faces": { - "down": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "up": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "north": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "south": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "west": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "east": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}} + "down": {"texture": "#all", "cullface": "down"}, + "up": {"texture": "#all", "cullface": "up"}, + "north": {"texture": "#all", "cullface": "north"}, + "south": {"texture": "#all", "cullface": "south"}, + "west": {"texture": "#all", "cullface": "west"}, + "east": {"texture": "#all", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/small_cube.json b/src/main/resources/assets/twilightforest/models/block/util/small_cube.json index b873b03171..90c87c11a7 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/small_cube.json +++ b/src/main/resources/assets/twilightforest/models/block/util/small_cube.json @@ -8,13 +8,14 @@ { "from": [ 6, 6, 6 ], "to": [ 10, 10, 10 ], + "light_emission": 15, "faces": { - "down": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "up": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "north": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "south": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "west": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}}, - "east": {"texture": "#all", "neoforge_data": {"block_light": 15, "sky_light": 15}} + "down": {"texture": "#all"}, + "up": {"texture": "#all"}, + "north": {"texture": "#all"}, + "south": {"texture": "#all"}, + "west": {"texture": "#all"}, + "east": {"texture": "#all"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json b/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json index 2921ebfced..80778cdf39 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json +++ b/src/main/resources/assets/twilightforest/models/block/util/three_layer_block.json @@ -20,25 +20,27 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 15, "faces": { - "up": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, - "down": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "down"}, - "north": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, - "south": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, - "west": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, - "east": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + "up": {"texture": "#all2", "cullface": "up"}, + "down": {"texture": "#all2", "cullface": "down"}, + "north": {"texture": "#all2", "cullface": "north"}, + "south": {"texture": "#all2", "cullface": "south"}, + "west": {"texture": "#all2", "cullface": "west"}, + "east": {"texture": "#all2", "cullface": "east"} } }, { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 10, "faces": { - "up": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, - "down": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "down"}, - "north": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, - "south": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, - "west": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, - "east": {"texture": "#all3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + "up": {"texture": "#all3", "cullface": "up"}, + "down": {"texture": "#all3", "cullface": "down"}, + "north": {"texture": "#all3", "cullface": "north"}, + "south": {"texture": "#all3", "cullface": "south"}, + "west": {"texture": "#all3", "cullface": "west"}, + "east": {"texture": "#all3", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json index 951482400c..b1a082a5cd 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json +++ b/src/main/resources/assets/twilightforest/models/block/util/three_layer_device.json @@ -20,22 +20,24 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 15, "faces": { - "up": {"texture": "#top2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, - "north": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, - "south": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, - "west": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, - "east": {"texture": "#side2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + "up": {"texture": "#top2", "cullface": "up"}, + "north": {"texture": "#side2", "cullface": "north"}, + "south": {"texture": "#side2", "cullface": "south"}, + "west": {"texture": "#side2", "cullface": "west"}, + "east": {"texture": "#side2", "cullface": "east"} } }, { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 10, "faces": { - "north": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, - "south": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, - "west": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, - "east": {"texture": "#side3", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + "north": {"texture": "#side3", "cullface": "north"}, + "south": {"texture": "#side3", "cullface": "south"}, + "west": {"texture": "#side3", "cullface": "west"}, + "east": {"texture": "#side3", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json index 0e7f2c9846..9671fbf90f 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_10.json @@ -20,13 +20,14 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 10, "faces": { - "up": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, - "down": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "down"}, - "north": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, - "south": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, - "west": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, - "east": {"texture": "#all2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + "up": {"texture": "#all2", "cullface": "up"}, + "down": {"texture": "#all2", "cullface": "down"}, + "north": {"texture": "#all2", "cullface": "north"}, + "south": {"texture": "#all2", "cullface": "south"}, + "west": {"texture": "#all2", "cullface": "west"}, + "east": {"texture": "#all2", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json index e6eb903f92..c6c1eeb78f 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_block_15.json @@ -20,13 +20,14 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 15, "faces": { - "up": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "up"}, - "down": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "down"}, - "north": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "north"}, - "south": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "south"}, - "west": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "west"}, - "east": {"texture": "#all2", "neoforge_data": {"block_light": 15, "sky_light": 15}, "cullface": "east"} + "up": {"texture": "#all2", "cullface": "up"}, + "down": {"texture": "#all2", "cullface": "down"}, + "north": {"texture": "#all2", "cullface": "north"}, + "south": {"texture": "#all2", "cullface": "south"}, + "west": {"texture": "#all2", "cullface": "west"}, + "east": {"texture": "#all2", "cullface": "east"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json b/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json index 0224185854..3c7ba16c01 100644 --- a/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json +++ b/src/main/resources/assets/twilightforest/models/block/util/two_layer_column_no_bottom.json @@ -20,12 +20,13 @@ { "from": [ 0, 0, 0 ], "to": [ 16, 16, 16 ], + "light_emission": 10, "faces": { - "up": {"texture": "#top2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "up"}, - "north": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "north"}, - "south": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "south"}, - "west": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "west"}, - "east": {"texture": "#side2", "neoforge_data": {"block_light": 10, "sky_light": 10}, "cullface": "east"} + "up": {"texture": "#top2", "cullface": "up"}, + "north": {"texture": "#side2", "cullface": "north"}, + "south": {"texture": "#side2", "cullface": "south"}, + "west": {"texture": "#side2", "cullface": "west"}, + "east": {"texture": "#side2", "cullface": "east"} } } ] From 01364555e755e89ee6acbb7dbb4ef46d7a7f10d8 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:33:37 -0600 Subject: [PATCH 115/239] pass more params into baked models --- .../model/block/connected/ConnectedTextureModel.java | 10 +++++++--- .../block/connected/ConnectedTextureModelLoader.java | 2 +- .../block/connected/UnbakedConnectedTextureModel.java | 6 ++---- .../model/block/forcefield/ForceFieldModelLoader.java | 2 +- .../model/block/forcefield/UnbakedForceFieldModel.java | 6 ++---- .../client/model/block/giantblock/GiantBlockModel.java | 10 +++++++--- .../model/block/giantblock/GiantBlockModelLoader.java | 2 +- .../model/block/giantblock/UnbakedGiantBlockModel.java | 7 ++----- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index d1cbb70a26..35d2e6e68a 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -30,6 +30,8 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final List@Nullable[] baseQuads; private final BakedQuad[][][] quads; private final TextureAtlasSprite particle; + private final boolean usesAO; + private final boolean usesBlockLight; private final ItemTransforms transforms; @Nullable private final ChunkRenderTypeSet blockRenderTypes; @@ -38,13 +40,15 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final List validConnectors; private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, ItemTransforms transforms, RenderTypeGroup group) { + public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { this.enabledFaces = enabledFaces; this.renderOnDisabledFaces = renderOnDisabledFaces; this.validConnectors = connectableBlocks; this.baseQuads = baseQuads; this.quads = quads; this.particle = particle; + this.usesAO = usesAO; + this.usesBlockLight = usesBlockLight; this.transforms = transforms; this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; this.itemRenderType = !group.isEmpty() ? group.entity() : null; @@ -116,7 +120,7 @@ private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, Di @Override public boolean useAmbientOcclusion() { - return true; + return this.usesAO; } @Override @@ -126,7 +130,7 @@ public boolean isGui3d() { @Override public boolean usesBlockLight() { - return true; + return this.usesBlockLight; } @NotNull diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index 65f44b3596..f46f12af50 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -46,7 +46,7 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat EnumSet faces = this.parseEnabledFaces(overlayInfo); List connectables = this.parseConnnectableBlocks(jsonObject); - return new UnbakedConnectedTextureModel(element, faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext), NeoForgeModelProperties.deserializeRenderType(jsonObject)); + return new UnbakedConnectedTextureModel(element, faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext)); } private EnumSet parseEnabledFaces(JsonObject object) { diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 95f35453a9..73837312f3 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -29,9 +29,8 @@ public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { protected final List connectableBlocks; protected BlockElement[][] baseElements; protected BlockElement[][][] faceElements; - protected final RenderTypeGroup group; - public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters, RenderTypeGroup group) { + public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters) { super(parameters); //a list of block faces that should have connected textures. this.enabledFaces = enabledFaces; @@ -70,7 +69,6 @@ public UnbakedConnectedTextureModel(Pair element, EnumSet parents) { diff --git a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java index 31be5acd24..4c2cf16f46 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/UnbakedForceFieldModel.java @@ -15,16 +15,14 @@ public class UnbakedForceFieldModel extends AbstractUnbakedModel { private final Map elementsAndConditions; - private final RenderTypeGroup group; - public UnbakedForceFieldModel(Map elementsAndConditions, StandardModelParameters parameters, RenderTypeGroup group) { + public UnbakedForceFieldModel(Map elementsAndConditions, StandardModelParameters parameters) { super(parameters); this.elementsAndConditions = elementsAndConditions; - this.group = group; } @Override public BakedModel bake(TextureSlots textures, ModelBaker baker, ModelState modelState, boolean useAmbientOcclusion, boolean usesBlockLight, ItemTransforms itemTransforms, ContextMap additionalProperties) { - return new ForceFieldModel(this.elementsAndConditions, s -> baker.findSprite(textures, s), useAmbientOcclusion, usesBlockLight, itemTransforms, this.group); + return new ForceFieldModel(this.elementsAndConditions, s -> baker.findSprite(textures, s), useAmbientOcclusion, usesBlockLight, itemTransforms, this.parameters.renderTypeGroup()); } } diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java index 32fdb8035f..fc442f6165 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModel.java @@ -32,15 +32,19 @@ public class GiantBlockModel implements IDynamicBakedModel { private final TextureAtlasSprite[] textures; private final TextureAtlasSprite particle; + private final boolean usesAO; + private final boolean usesBlockLight; private final ItemTransforms transforms; @Nullable private final ChunkRenderTypeSet blockRenderTypes; @Nullable private final RenderType itemRenderType; - public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, ItemTransforms transforms, RenderTypeGroup group) { + public GiantBlockModel(TextureAtlasSprite[] texture, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { this.textures = texture; this.particle = particle; + this.usesAO = usesAO; + this.usesBlockLight = usesBlockLight; this.transforms = transforms; this.blockRenderTypes = !group.isEmpty() ? ChunkRenderTypeSet.of(group.block()) : null; this.itemRenderType = !group.isEmpty() ? group.entity() : null; @@ -118,7 +122,7 @@ private Vec2i calculateOffset(Direction side, BlockPos pos) { @Override public boolean useAmbientOcclusion() { - return true; + return this.usesAO; } @Override @@ -128,7 +132,7 @@ public boolean isGui3d() { @Override public boolean usesBlockLight() { - return true; + return this.usesBlockLight; } @Override diff --git a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java index fecb052df6..ef17843d64 100644 --- a/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/giantblock/GiantBlockModelLoader.java @@ -14,6 +14,6 @@ public class GiantBlockModelLoader implements UnbakedModelLoader Date: Thu, 10 Apr 2025 20:33:55 -0600 Subject: [PATCH 116/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 172 ++++++-- .../blockstates/cinder_furnace.json | 7 + .../blockstates/cinder_log.json | 16 + .../blockstates/cinder_wood.json | 16 + .../blockstates/clover_patch.json | 7 + .../blockstates/fiddlehead.json | 7 + .../blockstates/fluffy_cloud.json | 7 + .../blockstates/huge_mushgloom.json | 120 ++++++ .../blockstates/huge_mushgloom_stem.json | 120 ++++++ .../blockstates/huge_stalk.json | 16 + .../lich_tower_miniature_structure.json | 7 + .../twilightforest/blockstates/mayapple.json | 7 + .../blockstates/moss_patch.json | 7 + .../twilightforest/blockstates/mushgloom.json | 7 + .../naga_courtyard_miniature_structure.json | 7 + .../blockstates/rainy_cloud.json | 7 + .../blockstates/snowy_cloud.json | 7 + .../blockstates/torchberry_plant.json | 10 + .../twilightforest/blockstates/trollber.json | 7 + .../blockstates/trollsteinn.json | 120 ++++++ .../twilightforest/blockstates/trollvidr.json | 7 + .../twilight_portal_miniature_structure.json | 7 + .../blockstates/uberous_soil.json | 7 + .../blockstates/unripe_trollber.json | 7 + .../blockstates/wispy_cloud.json | 7 + .../twilightforest/items/cinder_furnace.json | 6 + .../twilightforest/items/cinder_log.json | 6 + .../twilightforest/items/cinder_wood.json | 6 + .../twilightforest/items/clover_patch.json | 6 + .../twilightforest/items/fiddlehead.json | 13 + .../twilightforest/items/fluffy_cloud.json | 6 + .../twilightforest/items/huge_mushgloom.json | 6 + .../items/huge_mushgloom_stem.json | 6 + .../twilightforest/items/huge_stalk.json | 6 + .../items/lich_tower_miniature_structure.json | 6 + .../assets/twilightforest/items/mayapple.json | 6 + .../twilightforest/items/moss_patch.json | 6 + .../twilightforest/items/mushgloom.json | 6 + .../naga_courtyard_miniature_structure.json | 6 + .../twilightforest/items/rainy_cloud.json | 6 + .../twilightforest/items/snowy_cloud.json | 6 + .../items/torchberry_plant.json | 6 + .../assets/twilightforest/items/trollber.json | 6 + .../twilightforest/items/trollsteinn.json | 6 + .../twilightforest/items/trollvidr.json | 6 + .../twilight_portal_miniature_structure.json | 6 + .../twilightforest/items/uberous_soil.json | 6 + .../twilightforest/items/unripe_trollber.json | 6 + .../twilightforest/items/wispy_cloud.json | 6 + .../models/block/blue_force_field.json | 384 +++--------------- .../models/block/cinder_log.json | 7 + .../models/block/cinder_log_horizontal.json | 7 + .../models/block/cinder_wood.json | 7 + .../models/block/cinder_wood_horizontal.json | 7 + .../models/block/clover_patch.json | 10 + .../models/block/fiddlehead.json | 7 + .../models/block/fluffy_cloud.json | 6 + .../models/block/green_force_field.json | 384 +++--------------- ...acacia_log_horizontal_grass_inventory.json | 2 +- .../hollow_acacia_log_horizontal_moss.json | 2 +- ..._birch_log_horizontal_grass_inventory.json | 2 +- .../hollow_birch_log_horizontal_moss.json | 2 +- ...canopy_log_horizontal_grass_inventory.json | 2 +- .../hollow_canopy_log_horizontal_moss.json | 2 +- ...cherry_log_horizontal_grass_inventory.json | 2 +- .../hollow_cherry_log_horizontal_moss.json | 2 +- ...imson_stem_horizontal_grass_inventory.json | 2 +- .../hollow_crimson_stem_horizontal_moss.json | 2 +- ...w_dark_log_horizontal_grass_inventory.json | 2 +- .../hollow_dark_log_horizontal_moss.json | 2 +- ...rk_oak_log_horizontal_grass_inventory.json | 2 +- .../hollow_dark_oak_log_horizontal_moss.json | 2 +- ...jungle_log_horizontal_grass_inventory.json | 2 +- .../hollow_jungle_log_horizontal_moss.json | 2 +- ...ngrove_log_horizontal_grass_inventory.json | 2 +- .../hollow_mangrove_log_horizontal_moss.json | 2 +- ...mining_log_horizontal_grass_inventory.json | 2 +- .../hollow_mining_log_horizontal_moss.json | 2 +- ...ow_oak_log_horizontal_grass_inventory.json | 2 +- .../block/hollow_oak_log_horizontal_moss.json | 2 +- ...le_oak_log_horizontal_grass_inventory.json | 2 +- .../hollow_pale_oak_log_horizontal_moss.json | 2 +- ...orting_log_horizontal_grass_inventory.json | 2 +- .../hollow_sorting_log_horizontal_moss.json | 2 +- ...spruce_log_horizontal_grass_inventory.json | 2 +- .../hollow_spruce_log_horizontal_moss.json | 2 +- ...w_time_log_horizontal_grass_inventory.json | 2 +- .../hollow_time_log_horizontal_moss.json | 2 +- ...mation_log_horizontal_grass_inventory.json | 2 +- ...ow_transformation_log_horizontal_moss.json | 2 +- ...ht_oak_log_horizontal_grass_inventory.json | 2 +- ...llow_twilight_oak_log_horizontal_moss.json | 2 +- ...ngrove_log_horizontal_grass_inventory.json | 2 +- .../hollow_vangrove_log_horizontal_moss.json | 2 +- ...arped_stem_horizontal_grass_inventory.json | 2 +- .../hollow_warped_stem_horizontal_moss.json | 2 +- .../models/block/huge_mushgloom.json | 6 + .../block/huge_mushgloom_inventory.json | 6 + .../models/block/huge_mushgloom_stem.json | 6 + .../block/huge_mushgloom_stem_inventory.json | 6 + .../models/block/huge_stalk.json | 7 + .../models/block/huge_stalk_horizontal.json | 7 + .../models/block/moss_patch.json | 9 + .../models/block/orange_force_field.json | 384 +++--------------- .../models/block/pink_force_field.json | 384 +++--------------- .../models/block/rainy_cloud.json | 7 + .../models/block/snowy_cloud.json | 7 + .../models/block/torchberry_plant.json | 7 + .../block/torchberry_plant_berries.json | 8 + .../twilightforest/models/block/trollber.json | 8 + .../models/block/trollsteinn.json | 6 + .../models/block/trollsteinn_inventory.json | 6 + .../models/block/trollvidr.json | 7 + .../models/block/uberous_soil.json | 7 + .../models/block/unripe_trollber.json | 7 + .../models/block/violet_force_field.json | 384 +++--------------- .../models/block/wispy_cloud.json | 7 + .../models/huge_mushgloom_inside.json | 6 + .../models/item/clover_patch.json | 6 + .../models/item/fiddlehead.json | 6 + .../twilightforest/models/item/mayapple.json | 6 + .../models/item/moss_patch.json | 6 + .../twilightforest/models/item/mushgloom.json | 7 + .../models/item/torchberry_plant.json | 6 + .../twilightforest/models/item/trollber.json | 7 + .../twilightforest/models/item/trollvidr.json | 6 + .../models/item/unripe_trollber.json | 6 + .../models/trollsteinn_inside.json | 6 + 128 files changed, 1337 insertions(+), 1762 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_log.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/clover_patch.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mayapple.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/moss_patch.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollber.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/trollvidr.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/items/cinder_furnace.json create mode 100644 src/generated/resources/assets/twilightforest/items/cinder_log.json create mode 100644 src/generated/resources/assets/twilightforest/items/cinder_wood.json create mode 100644 src/generated/resources/assets/twilightforest/items/clover_patch.json create mode 100644 src/generated/resources/assets/twilightforest/items/fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/items/fluffy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/items/huge_mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/items/huge_mushgloom_stem.json create mode 100644 src/generated/resources/assets/twilightforest/items/huge_stalk.json create mode 100644 src/generated/resources/assets/twilightforest/items/lich_tower_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/items/mayapple.json create mode 100644 src/generated/resources/assets/twilightforest/items/moss_patch.json create mode 100644 src/generated/resources/assets/twilightforest/items/mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/items/rainy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/items/snowy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/items/torchberry_plant.json create mode 100644 src/generated/resources/assets/twilightforest/items/trollber.json create mode 100644 src/generated/resources/assets/twilightforest/items/trollsteinn.json create mode 100644 src/generated/resources/assets/twilightforest/items/trollvidr.json create mode 100644 src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json create mode 100644 src/generated/resources/assets/twilightforest/items/uberous_soil.json create mode 100644 src/generated/resources/assets/twilightforest/items/unripe_trollber.json create mode 100644 src/generated/resources/assets/twilightforest/items/wispy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_wood.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/clover_patch.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_stalk.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/moss_patch.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/torchberry_plant_berries.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trollber.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trollsteinn.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trollsteinn_inventory.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/trollvidr.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/uberous_soil.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json create mode 100644 src/generated/resources/assets/twilightforest/models/huge_mushgloom_inside.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/clover_patch.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mayapple.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/moss_patch.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/trollber.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/trollvidr.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json create mode 100644 src/generated/resources/assets/twilightforest/models/trollsteinn_inside.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 7555d6221c..bb61da00db 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-10T11:21:07.0076306 Model Definitions - twilightforest +// 1.21.4 2025-04-10T20:19:37.3010226 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -52,6 +52,10 @@ a1aafd0da411c08a2aadb7772175bbd57729d3d9 assets/twilightforest/blockstates/castl b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherry_banister.json 92f7638a60b873d8f26bfeba8f837d4ead6df70c assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json +506127577d22bb13c94efaa56e758eaac74c6717 assets/twilightforest/blockstates/cinder_furnace.json +b53fdca651c846d8d8f51d96c1a6bc3e4584fc10 assets/twilightforest/blockstates/cinder_log.json +794beaa5f826d16ec9edb4209dd4cf9ee6ebeb6f assets/twilightforest/blockstates/cinder_wood.json +4c8950c67ab660a2167f204644fdfe06cd13a60f assets/twilightforest/blockstates/clover_patch.json 20d24deb34e2acd2a43e5abebed11b20e0bafd70 assets/twilightforest/blockstates/coronation_carpet.json 1261f404df8aec15a7b62454520e8ea2d4dbc5a4 assets/twilightforest/blockstates/cracked_castle_brick.json c257021f5d2ae8f4c0c0aec89175ef7e4a3db343 assets/twilightforest/blockstates/cracked_castle_brick_stairs.json @@ -98,10 +102,12 @@ ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encas fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 83d2804b5a6ff4ec2c1fcaea1722bfe85c96f229 assets/twilightforest/blockstates/experiment_115.json +5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json +7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json 836e22887f073d234297a3f80bc6c6f4546fbdfc assets/twilightforest/blockstates/ghast_trap.json b3e26b3f33dfa534b0a5f46c8a7489deaf356594 assets/twilightforest/blockstates/giant_cobblestone.json 2fefb3bee6d877247713b1d205296b206c070e4b assets/twilightforest/blockstates/giant_leaves.json @@ -167,6 +173,9 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 01d256e795bf6c6719c03fbc2edc8b2cbb30d1d0 assets/twilightforest/blockstates/hollow_warped_stem_climbable.json 59b9878f5096f15e42557bc6158af2e22370b658 assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json 44ee2a08914b00bf15e2dc9a2e6b6b41c18bdd60 assets/twilightforest/blockstates/hollow_warped_stem_vertical.json +39a1b53ea5ecf096b09b3fd8d449a972ae4b8526 assets/twilightforest/blockstates/huge_mushgloom.json +3d6bc4807ada33651a21ab213874cb7e9d5e3002 assets/twilightforest/blockstates/huge_mushgloom_stem.json +1eaf97f77df1cc93147aaeb75a4436c65d5367e5 assets/twilightforest/blockstates/huge_stalk.json 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json @@ -180,6 +189,7 @@ f5bae7e6a0b5720e53a4e9cdc3edb4b817aaf0a9 assets/twilightforest/blockstates/ironw 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/knight_phantom_wall_trophy.json 2c26b31ae37dff2a5430d8717b074dab52ad0b74 assets/twilightforest/blockstates/lich_boss_spawner.json +40393f1b2a342a6311d8d70b2246e4ae7730c2b3 assets/twilightforest/blockstates/lich_tower_miniature_structure.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/lich_wall_trophy.json ad692089c598a53aba9baba70751d15bc9be2c47 assets/twilightforest/blockstates/liveroot_block.json @@ -205,6 +215,7 @@ ba193ec3517d4a2bb1ec3467d1dc2f1e0d41daaa assets/twilightforest/blockstates/mangr b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_wall_sign.json 79ba1c62c7d356e55518f4ccbe7eeb47f1dcf54e assets/twilightforest/blockstates/mangrove_wood.json +471b7e8d1fda6e73a957cf375b3ff4b4a74446a7 assets/twilightforest/blockstates/mayapple.json a8062c3154e39f87d0548dc5b03f5ac0dd38b268 assets/twilightforest/blockstates/mazestone.json 437f589b25154f38ea5d5181d49e838c1f1524ba assets/twilightforest/blockstates/mazestone_border.json d2528a33d68497718881b0961720e2eb66e8dc0c assets/twilightforest/blockstates/mazestone_brick.json @@ -243,12 +254,15 @@ ac8c1cb1bf385391bb4099656f37fa2c146ffa9d assets/twilightforest/blockstates/mossy 884a4d18955eb22c4d5afebff019d6bc5aa00b9c assets/twilightforest/blockstates/mossy_nagastone_stairs_right.json fe5bd00d8150e9d086a951a8a4df9557e2510394 assets/twilightforest/blockstates/mossy_towerwood.json 388e7a0b9fa87f42146d20f3688595f856eb50e2 assets/twilightforest/blockstates/mossy_underbrick.json +740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json +f06dac21e55066a5a2da510d51d778ef1be85f67 assets/twilightforest/blockstates/mushgloom.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json 7d84f2b8f8ce462a4cdd4a0a690b4b59ba235ca0 assets/twilightforest/blockstates/nagastone_head.json 8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagastone_stairs_left.json 344bc801ddf20afa798499ec3c80d49ba89be47c assets/twilightforest/blockstates/nagastone_stairs_right.json 0063bf0c27a175f2289fdd1d4b37eeb09371f05e assets/twilightforest/blockstates/naga_boss_spawner.json +4478cb6ab3ddce6d4feb149cd9b74f4344f3d02e assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 0fb6a112f2adaddd0ee00b84ffadf7f634c44357 assets/twilightforest/blockstates/oak_banister.json @@ -275,6 +289,7 @@ d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potte 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/quest_ram_wall_trophy.json 31c30e44cf4eeb0ccc7b65e72518267273761f6a assets/twilightforest/blockstates/rainbow_oak_leaves.json 418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json +cbe3e92148e9c50ba453b1053d17aa3a9aab1bd4 assets/twilightforest/blockstates/rainy_cloud.json ca8b081c660985f4a74b629311953cd19b578d1d assets/twilightforest/blockstates/reappearing_block.json bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json 580c6986a8d821decce6c95c9d79cf447a0567e2 assets/twilightforest/blockstates/rope.json @@ -283,6 +298,7 @@ bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root. 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json 72dedb525c34b636653a1067601d2d98446c3334 assets/twilightforest/blockstates/skull_chest.json 1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json +250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 29cdc362c362875bf1a3f48491808cae5b623c9e assets/twilightforest/blockstates/snow_queen_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/snow_queen_wall_trophy.json @@ -354,6 +370,7 @@ b7917cb18db2420d153dc6ecbd4270b8262d2b70 assets/twilightforest/blockstates/time_ 874c1ec509758729e97536eace0c5891612ab66d assets/twilightforest/blockstates/time_wall_hanging_sign.json 582444c029efa1fb9f3e559eaee3eb3d48bbd518 assets/twilightforest/blockstates/time_wall_sign.json 4318b5ea90be35b0abdff8c8e1ff6bb6ffa7c888 assets/twilightforest/blockstates/time_wood.json +a4abcdd33de97fd280fe578cee723f8c889ec642 assets/twilightforest/blockstates/torchberry_plant.json a53ad9fa4bd7705ef72de44f9b28899a3bc16aa1 assets/twilightforest/blockstates/towerwood.json 7ec2bf962614d368fe4cefe64d8bbf05f4d5b89a assets/twilightforest/blockstates/transformation_banister.json 41905a0e305a91b3a747b96ab1e7f72b70f34069 assets/twilightforest/blockstates/transformation_button.json @@ -376,6 +393,9 @@ ed2f3118194f20ab56ce95b829a136c3c6380687 assets/twilightforest/blockstates/trans 698586cd1848dbdf8abfa93d22d42f03c65d22c9 assets/twilightforest/blockstates/transformation_wall_hanging_sign.json 4a20d068e1b73e51b7d85956626b740010e804ca assets/twilightforest/blockstates/transformation_wall_sign.json b24c860a26ad0d72167073d9a15226c4cd55e988 assets/twilightforest/blockstates/transformation_wood.json +a0dbe131e761ab03316f6ddf67d5fc1d142409d9 assets/twilightforest/blockstates/trollber.json +67a39bfd12b9964a97ff9d894c696bcb3dee303c assets/twilightforest/blockstates/trollsteinn.json +fbc33ca6aedd052b97c20c93bc0265a9b757c331 assets/twilightforest/blockstates/trollvidr.json 8ae5e98dab1a5b96deab74a49ea0737b1608f8f7 assets/twilightforest/blockstates/trophy_pedestal.json fe8905195e4d8cabb26d5ea4a760c3d3e0ff7733 assets/twilightforest/blockstates/twilight_oak_banister.json 15c9add26b26f2885f29b9789c8f3e4fb168a89c assets/twilightforest/blockstates/twilight_oak_button.json @@ -396,12 +416,15 @@ dc9ead6833b84ebe54468fed55b430c66ea948d5 assets/twilightforest/blockstates/twili c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twilight_oak_trapped_chest.json 7c16b40c05c3017566fed35205c4ba258cc19a47 assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json 53e15828736a2b89045f003c1fbb29f4b3cdbe3c assets/twilightforest/blockstates/twilight_oak_wood.json +e035ea6a6929d7d71ba1771fe8abdca33ba44354 assets/twilightforest/blockstates/twilight_portal_miniature_structure.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json 3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json +904767116b59b5da0d9a22c82989aa7c261b6d00 assets/twilightforest/blockstates/uberous_soil.json 75f75d0b7557a94e6eb471b15d5de2859548dfef assets/twilightforest/blockstates/uncrafting_table.json 22e37e7ec0ce60e57918a6f473661f3b376df4b7 assets/twilightforest/blockstates/underbrick.json 6fbca5391f954de595a2019f6431007e24891685 assets/twilightforest/blockstates/underbrick_floor.json +34697a03ecb2749398fc4f80806b7e2c64d7d04f assets/twilightforest/blockstates/unripe_trollber.json 940e9d74c57d016a46b4e3b23e16ebbf3c336824 assets/twilightforest/blockstates/ur_ghast_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/ur_ghast_wall_trophy.json @@ -412,6 +435,7 @@ ca3eea9eabe6234d063faf9984c8201adc4f4782 assets/twilightforest/blockstates/viole ec6c3e13a257a3e652bbaae9d74f5fafe1e09fbb assets/twilightforest/blockstates/violet_force_field.json 343083384c6b6e1098e003812f7c3d314ed07f2d assets/twilightforest/blockstates/warped_banister.json 8b416cbb656b8b6822a8c993cd2f7e12d87bec23 assets/twilightforest/blockstates/weathered_deadrock.json +95d3a243909ea77ca628f6f4b414a343f2559d13 assets/twilightforest/blockstates/wispy_cloud.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/wither_skeleton_wall_skull_candle.json 2c533ced16289e079d4087d68d6b4d384368ee44 assets/twilightforest/blockstates/worn_castle_brick.json @@ -496,6 +520,10 @@ b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_li e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_banister.json 811a790d6d001885bb20f7bfa128c65fc925b401 assets/twilightforest/items/chiseled_canopy_bookshelf.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json +3b19e64ca96c86e1f735545c273a97c8e944f4fb assets/twilightforest/items/cinder_furnace.json +baba64132f0f5ae339c0b3107e4d8a22fca3e19b assets/twilightforest/items/cinder_log.json +b32eeb67d17c7ff44326bb95eb8de98f1a1eee28 assets/twilightforest/items/cinder_wood.json +b7fc3ffbf1340664f880cfb19a117aadd9f74f03 assets/twilightforest/items/clover_patch.json bf97ce526a1bed1a1960c06d239b1c183bbe69aa assets/twilightforest/items/cooked_meef.json e072d95d4c76368bfb452ee2da0aba8622893594 assets/twilightforest/items/cooked_venison.json db04e0af47d343bcfbfc2b7a367e92117ee954f9 assets/twilightforest/items/coronation_carpet.json @@ -551,6 +579,7 @@ b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_cas d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json 639d182541ff6049eac72584b8b5e889f890e314 assets/twilightforest/items/experiment_115.json +89a3236a7f8ff31d41d6ee4495625961bbdd5e49 assets/twilightforest/items/fiddlehead.json b7b689a64be36eae22a2ad7adf9916ad81a12721 assets/twilightforest/items/fiery_block.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json 5faa294992f2fcdfcb6f18a55b870927742d9bc9 assets/twilightforest/items/fiery_boots.json @@ -565,6 +594,7 @@ d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json +ddfbfe59023d896fd7293408debcff571da0e75b assets/twilightforest/items/fluffy_cloud.json d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json 825b5da47a4b465e2d77f10b01788d3be362b4dd assets/twilightforest/items/ghast_trap.json d675a9396e9d3f757942a417a9a08242a6051797 assets/twilightforest/items/giant_cobblestone.json @@ -601,6 +631,9 @@ a3ac50c9a15118942acb64fd5137f64d96893ba2 assets/twilightforest/items/hollow_tran 80cb85783f84ebd979549fe63a7b463e7592bc89 assets/twilightforest/items/hollow_vangrove_log.json ccc382241cc3dd89d4ef02e0415e26054644c547 assets/twilightforest/items/hollow_warped_stem.json 765ccf231d90da2cc5ad37f74ef37abb59eb03c2 assets/twilightforest/items/hostile_wolf_spawn_egg.json +353dc6319abd0eba69f7aeb05e97bd08bd4b9a95 assets/twilightforest/items/huge_mushgloom.json +8b6cced8a3315722e14d1f2a4c103b562a52e8b3 assets/twilightforest/items/huge_mushgloom_stem.json +3ec725014c1ddfd7f6d893d568d143c79f9820df assets/twilightforest/items/huge_stalk.json 2a5457ab1cb1129303f5e45499504213f5fb7b92 assets/twilightforest/items/hydra_banner_pattern.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json 37df4662aef8f239309c335b00434919d7ff5d13 assets/twilightforest/items/hydra_chop.json @@ -646,6 +679,7 @@ ba05966543734a4abd1b38e07b7a732a56f05b16 assets/twilightforest/items/lamp_of_cin 80ae50ac2cbb6d3280918a8631af489f7e228c27 assets/twilightforest/items/lich_banner_pattern.json 7511769f52ffab83493499b934a2649985188415 assets/twilightforest/items/lich_boss_spawner.json b253e2726dc40da9667d77285f6194204bb43e03 assets/twilightforest/items/lich_spawn_egg.json +1a9b79b766b1c6f61838a86a2f32e7bb64720cb3 assets/twilightforest/items/lich_tower_miniature_structure.json d28ceced90ae946b036393959a391485d0f3e930 assets/twilightforest/items/lich_trophy.json a9cde4db0b1b460810a44051cbb2a0d69658742a assets/twilightforest/items/lifedrain_scepter.json 5e5cc29ff6d40efbb6da932d4f4b00b4b04e058a assets/twilightforest/items/liveroot.json @@ -676,6 +710,7 @@ c192583209d88243de973af6f3c15ac18c196cdb assets/twilightforest/items/mangrove_pl a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json 5181f75f10260ebf5007d576ad97b0889ac543f4 assets/twilightforest/items/mangrove_wood.json +9bf06f4b6a46682a4523cbd79fbed9f299999abe assets/twilightforest/items/mayapple.json 63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json f46bd2155b870e02a91ac25057cf841595d5e1a8 assets/twilightforest/items/mazestone.json 566bf85dad5a9d29ea5d401493312a98a7908a05 assets/twilightforest/items/mazestone_border.json @@ -726,6 +761,8 @@ b0f2cd23bcb5477ea5e593d71f2db3487355c658 assets/twilightforest/items/mossy_nagas 63fd50940aafa1cb2c41600d548891427e8b0d11 assets/twilightforest/items/mossy_nagastone_stairs_right.json 0c434c93d562c1b73a1b4d10a53fbb4d6a3ede42 assets/twilightforest/items/mossy_towerwood.json d4d26eca73b3b8cef453bfcaf50d7549472c0f86 assets/twilightforest/items/mossy_underbrick.json +30638f19683f1307b692a7382ab444d10d9acbae assets/twilightforest/items/moss_patch.json +878a1878e2f3641de89dc11efed20ceff49163ff assets/twilightforest/items/mushgloom.json dcc4dd73462bc6cc511617f5d0f87415b7c68699 assets/twilightforest/items/music_disc_findings.json b4b4a9f1d57638988f31be07d102137c910e34a3 assets/twilightforest/items/music_disc_home.json 81eecea93538d3fc3f423c7772d63a0785db8bc3 assets/twilightforest/items/music_disc_maker.json @@ -744,6 +781,7 @@ d62b9ee4f91d48a12625e79332538f3857419ce2 assets/twilightforest/items/nagastone_s 819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json +c948aab592cd7000f87509843cfb464407e92296 assets/twilightforest/items/naga_courtyard_miniature_structure.json 272ae773763fd54d52adc5b4ba6bd8f3f61161ed assets/twilightforest/items/naga_leggings.json d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json @@ -770,6 +808,7 @@ dcd51affeee0819cb80e3e30aaf02332d0856998 assets/twilightforest/items/quest_ram_b 1bb04c85e1c23e6687e96a8d9e1c73bbad299ee2 assets/twilightforest/items/quest_ram_trophy.json e5539d207e0b49b60762e8855b0103ee2467d1cd assets/twilightforest/items/rainbow_oak_leaves.json 26d2714347a13e535cdf859bf80952eeaac0a780 assets/twilightforest/items/rainbow_oak_sapling.json +6e32337e484bd911cbd171ae82bfcd478b7ed6f4 assets/twilightforest/items/rainy_cloud.json d0506f746bc4f2c5133dfffa619099cce63ce04e assets/twilightforest/items/raven_feather.json 44839fbcbf7b5d1b7db67a14519633c138ca8066 assets/twilightforest/items/raven_spawn_egg.json 771501bd164045744ea9ba04620d916b25c532ce assets/twilightforest/items/raw_ironwood.json @@ -787,6 +826,7 @@ e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow. ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json 6628bed4171446ef359c5f9549fc36c1398a7682 assets/twilightforest/items/slime_beetle_spawn_egg.json 5d3dc272e8a0c7bfec4cbc9cfaf058f4ed1db5d9 assets/twilightforest/items/smoker.json +bdf2fb9c7e7a24097814b498243b526c466e7dad assets/twilightforest/items/snowy_cloud.json e8f74696a70e4c1c3173b933237b46298bf85183 assets/twilightforest/items/snow_guardian_spawn_egg.json c38044967da9ee3cab599d117bddf8867d2fb671 assets/twilightforest/items/snow_queen_banner_pattern.json 238107c9dd762703912b51c1523c7b5da2b90375 assets/twilightforest/items/snow_queen_boss_spawner.json @@ -875,6 +915,7 @@ b267b296b49b21fed10796bf79413db2e36c462e assets/twilightforest/items/time_trappe e429a3c1ed97fae45f8b58d96c22f0d88e8b2919 assets/twilightforest/items/time_wood.json 3cf2a82932ac9fa5013df3776317ccd871cf5575 assets/twilightforest/items/tiny_bird_spawn_egg.json d53d8b7413c628be178d083a8f64f4d3f9d17fc0 assets/twilightforest/items/torchberries.json +96d604fc278cf8067b9f8ca6be584ee6364c592b assets/twilightforest/items/torchberry_plant.json eb7e7a3447720aa57eb6abdd97cef72c2e4b4ba1 assets/twilightforest/items/towerwood.json 5e9cef6a1f45ed443fda7ad958b128bba5001e39 assets/twilightforest/items/towerwood_borer_spawn_egg.json f8aa6d55806c1b8c0005089a8263fbaee6c79a5a assets/twilightforest/items/tower_key.json @@ -901,6 +942,9 @@ aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformat 350b6827bdb83e3a70c6b41fdd0ad49c3c149988 assets/twilightforest/items/transformation_trapped_chest.json da1eccf990fcc0ce8f74ca7d1f374639e287d620 assets/twilightforest/items/transformation_wood.json d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json +a931070fe8986e602b3d3eea58afc2ca8443b9a9 assets/twilightforest/items/trollber.json +4a4595c495110687a2966b7f80c8a5841cbff175 assets/twilightforest/items/trollsteinn.json +3d4efeb866d72998131656e4155f5f164a9a11dc assets/twilightforest/items/trollvidr.json 09c880a29a70bf52f5b853baf5f8f6ca687af89c assets/twilightforest/items/troll_spawn_egg.json c8cabf21dea0401bab2a163bd61b97f528c88627 assets/twilightforest/items/trophy_pedestal.json 38d04a14f6461e4c88f4e33162fe39e87eff7741 assets/twilightforest/items/twilight_oak_banister.json @@ -923,12 +967,15 @@ fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oa b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oak_wood.json +d6ec6b3aa955ff08a04e23593f4e9161c2ad1e31 assets/twilightforest/items/twilight_portal_miniature_structure.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json 34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json +ef5e7033df9c14be29d4acdfe52d07c5a291bbda assets/twilightforest/items/uberous_soil.json 936a150d7499f36d82a81e913ab6efabb4429b04 assets/twilightforest/items/uncrafting_table.json e5dd74f6b1fe7391843baf7016d057028803b8a1 assets/twilightforest/items/underbrick.json e4c9170559852acbf076acf10d00d33dbe7a1723 assets/twilightforest/items/underbrick_floor.json +1a0d0c41f1f4a70e715ebf69ba04a944d0f62d96 assets/twilightforest/items/unripe_trollber.json 4c6c6dd368a1037e8ebce2615facd9ed4a64ccb7 assets/twilightforest/items/unstable_ice_core_spawn_egg.json f2f7b85e3b71d545aa64e905f29f8248236d2847 assets/twilightforest/items/ur_ghast_banner_pattern.json d0290c9853b289d77dc963d45b5f482b047af0a0 assets/twilightforest/items/ur_ghast_boss_spawner.json @@ -942,6 +989,7 @@ e349c000a3f8218cf9f111c8beb3cb356c52660c assets/twilightforest/items/vanishing_b c7918c062c6198f1dce42805319c3d7a955748d8 assets/twilightforest/items/warped_banister.json f924ce78f6a45301dc17c59ca1846b7790380a3f assets/twilightforest/items/weathered_deadrock.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json +7552824c994e336c6e7eb3a7d0c3930c97d466e5 assets/twilightforest/items/wispy_cloud.json d7ef024085ff0576d20b65ebc3e35d3e9a297fe3 assets/twilightforest/items/wither_skeleton_skull_candle.json 7f2f70bd27f243851553f337b47f4df3e0578786 assets/twilightforest/items/worn_castle_brick.json f2dc8ed11a30929e6a6f38d36a7dc9db0dc6a4e3 assets/twilightforest/items/worn_castle_brick_stairs.json @@ -993,7 +1041,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/blue e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/blue_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/blue_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/blue_castle_rune_brick_7.json -a94de7bb37c535cca9d287193d819e7dcead9ac8 assets/twilightforest/models/block/blue_force_field.json +ee8378b31aab51432521c0f2c2e3de8536563d0f assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/bold_castle_brick_stairs.json @@ -1098,6 +1146,11 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 29e160336d210f8c080119513073bfe7ce926d77 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_mid.json 12b26d9a5bfd4a59a913e5358dfbdf27d30c6610 assets/twilightforest/models/block/chiseled_canopy_bookshelf_occupied_slot_top_right.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json +4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_log.json +84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json +4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_wood.json +84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_wood_horizontal.json +dfca35120b4e57c84408935f4ee005775527d3f6 assets/twilightforest/models/block/clover_patch.json 771c5abff1cdc13f88168a1df7d31a732e42b088 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json @@ -1198,9 +1251,11 @@ f9d6abe18669d516d03044a478937f94bdfe318e assets/twilightforest/models/block/expe 8d389a74d02552287cf373e4b204f6354b6ebf34 assets/twilightforest/models/block/experiment_115_6_8_regenerating.json 248e85e1f1def24b3a5a3fbd7b07ea14a4687bee assets/twilightforest/models/block/experiment_115_7_8_regenerating.json 7b496f7f5e7c6a8ec852515f31566d90f13f178b assets/twilightforest/models/block/experiment_115_8_8_regenerating.json +e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json +a8cb3a9bf21cd70ede74f84c27528adcfc805cb4 assets/twilightforest/models/block/fluffy_cloud.json bdaefa649722a99572a95642bffccec5fbccee0a assets/twilightforest/models/block/ghast_trap.json 69d89f7d44b3f50d0ee5f6c2571d7d34712b47ce assets/twilightforest/models/block/ghast_trap_on.json 6d32d9f4b0b2a807b6a57f4700d57c29eaaac85b assets/twilightforest/models/block/giant_cobblestone.json @@ -1215,7 +1270,7 @@ a9d0423b8666260a4fcbe66231b20190e4c91629 assets/twilightforest/models/block/gian d19b58a31b5d7584437c74c92181a3cf049eaa64 assets/twilightforest/models/block/giant_obsidian.json fbdc0f10caaba0775345e9a1d71e38327422891a assets/twilightforest/models/block/giant_obsidian_gui.json 19327f496f15d8e1253affe984fb6f1cec24ba55 assets/twilightforest/models/block/giant_obsidian_item.json -381bdf38117e96539fe41bf1a0f15120aad965da assets/twilightforest/models/block/green_force_field.json +4b42acb4de5fb7c9ebab0ec9bbd7ef036587c38c assets/twilightforest/models/block/green_force_field.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json @@ -1225,137 +1280,143 @@ e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/gree 9a33de75d0832b880351b8ddef1733f34b035f28 assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json 66c36b19c39c316e9068760a5ad048328d26c664 assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json 11e00aa1c50f35fc207588e39a01024216674f1c assets/twilightforest/models/block/hollow_acacia_log_horizontal.json -005804b9ecab61cd2b97dfd7a1be3813f559583e assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json -8fa6fa7989333c7461530777229fcd9e3cad82d5 assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json +df040331bb5d53c35c917ecb1bb5bcd76f149e6a assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json +9206feb9b196f9678265fdc1c1a9b382e0a525a4 assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json ebd6f92aca350a656cb05274df62757d05b8b8a4 assets/twilightforest/models/block/hollow_acacia_log_horizontal_snow.json 8954d768d03f02a02c8a8e0fc07e81d0a8a757dd assets/twilightforest/models/block/hollow_acacia_log_vertical.json d55c94ceb7e7945a72d2e88aa860162509312234 assets/twilightforest/models/block/hollow_birch_log_climbable_ladder.json dffecc34df5878df1aae0089399f5ca6ca40bdaf assets/twilightforest/models/block/hollow_birch_log_climbable_vine.json df1fb277416c3f5bacd088f2aa152ffab369e177 assets/twilightforest/models/block/hollow_birch_log_horizontal.json -ccc5eea2a8a9b7f6f33cdb8add4ec543245ee0a1 assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json -2f4e92cbd29dc2ec1899fb17ed8ba5d3e0e30367 assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json +c0aaf36dc5c698154a5b3103d27e5aca685cead6 assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json +c5c5305832c934a940711e7373fdf020057c785d assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json 10c7dfb3cd55c97f3860aae3186ce4432b561ec3 assets/twilightforest/models/block/hollow_birch_log_horizontal_snow.json b749305464a549420a9427072acd8f4ffb02d148 assets/twilightforest/models/block/hollow_birch_log_vertical.json 4eaa6ffe015a2c05497493570034a82892bd0c31 assets/twilightforest/models/block/hollow_canopy_log_climbable_ladder.json 4cac899c5d9fc1589229c7d4720dfaeb435eeeab assets/twilightforest/models/block/hollow_canopy_log_climbable_vine.json f80651538d9f4d07cae56ce506fc26dcefff6b91 assets/twilightforest/models/block/hollow_canopy_log_horizontal.json -10a66e4652ad83cd1c49aaac689c935f029ded0a assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json -f92cd7e24ee3a586461f086f4c1cad781222ffa1 assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +edfa9f27810a9e8e005211c55c5c26e47b25516a assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json +3660b2fabe3d92d9afb2614607d6f7c2dc3f54f7 assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json 0545e0907ce62fb52d5776b45f6953248fcea742 assets/twilightforest/models/block/hollow_canopy_log_horizontal_snow.json 2965376b91399bcc25d786d5b0d4736a2f1f8598 assets/twilightforest/models/block/hollow_canopy_log_vertical.json 2a5a7406e7ee85ac55d8c7ccfa7615ed091a47c2 assets/twilightforest/models/block/hollow_cherry_log_climbable_ladder.json 7070af7d316cd2eeb5c9fc0f60212c31e627d9c8 assets/twilightforest/models/block/hollow_cherry_log_climbable_vine.json 083cfe3af84b90597d88a390cc8f52beb124ed4d assets/twilightforest/models/block/hollow_cherry_log_horizontal.json -86ee373c06468c1b48959dc8d1f77dc48350f40f assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json -1d104050e0a38c9e521771e8801d1527715eb18d assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json +2490c3c36123622624b624da6185b66b79da6d29 assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json +43bf986e24ba8dedcf1afd8cfc1bd99f92fdde98 assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json 6855b17108d0011f3102639011bcb997a016ec25 assets/twilightforest/models/block/hollow_cherry_log_horizontal_snow.json 62e8533da1b9dcc0bf550b8785e765e7aba5abf7 assets/twilightforest/models/block/hollow_cherry_log_vertical.json 42e5d350d1bdea168b327700fd146e03fa891b87 assets/twilightforest/models/block/hollow_crimson_stem_climbable_ladder.json 8b70ff857b9e776ce80e611a9be93c574b73f7f3 assets/twilightforest/models/block/hollow_crimson_stem_climbable_vine.json bb296fd874cee56d1cf3881a7250daf92925f9e5 assets/twilightforest/models/block/hollow_crimson_stem_horizontal.json -7fbb9a6dd30d2bb035a5e10e6efff15c5e38a64f assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json -695f755dab2b441ac67741d9d71876d62d9526bc assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json +08b71a86e35e8bce1056cff504336e077dd199da assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json +6fe0678d9e38cbde34210bfb1f0d53f57bf10bb2 assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json 30e5d2b4601417c4388fcda63335178157402d39 assets/twilightforest/models/block/hollow_crimson_stem_horizontal_snow.json 2a6cfd19f17e0285c9f94077299ad417a3daa00f assets/twilightforest/models/block/hollow_crimson_stem_vertical.json afcae753192997174e4e07292e352ca2d02535d4 assets/twilightforest/models/block/hollow_dark_log_climbable_ladder.json 0c0dc15e50b515489f0f9c767a89d85cea0d35d0 assets/twilightforest/models/block/hollow_dark_log_climbable_vine.json 7fec71ff0e5fd0b00001de75475dc1a1008c7917 assets/twilightforest/models/block/hollow_dark_log_horizontal.json -8c21b187a1ab822d5e40c325954c3d1d1c741e45 assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json -018eba5b970eceb0edab7719ae0b9b4e0a324e2d assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +51c3bfd4290e95ab3435191d2cbca2b7958efdb1 assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json +73bb42fd56075cc4aa8b9f72b6b67926d028d97e assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json 975dac34d16ab4e6aad8395dad6d309c869036a8 assets/twilightforest/models/block/hollow_dark_log_horizontal_snow.json 212ccf7034bd5f6f2b74a0e8861fc8886735030f assets/twilightforest/models/block/hollow_dark_log_vertical.json 4d72b11208b746ae4479e405c0dd340019e945bf assets/twilightforest/models/block/hollow_dark_oak_log_climbable_ladder.json a64fa8a2e1a93267a107437e4f16daa426f47085 assets/twilightforest/models/block/hollow_dark_oak_log_climbable_vine.json 7f69233e08e941d1e68c5cd5557ca9c3e6e94a07 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal.json -95c781dba59162e6420ce76e289c7f0aefffbaaf assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json -b778346aa5ce1522ac2f332c02bd310c34538966 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json +13b2fa89cd8bc6c678bdeb7252da0b5365fb311d assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json +c264515b8b93c1957a82f9ae714e49d4f2ae17d0 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json db4bbee06b9faa840c5df72d34aca72a60e3c7b8 assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_snow.json fdc436eec3a2566e648b6933fd36dd187999db5d assets/twilightforest/models/block/hollow_dark_oak_log_vertical.json 3eb47d8b4191b8c1bb2ba197bf3b0dd9c9b6768b assets/twilightforest/models/block/hollow_jungle_log_climbable_ladder.json 9c689dbc49b888cdedf1552519a0451fbeeaf2e1 assets/twilightforest/models/block/hollow_jungle_log_climbable_vine.json 0fa333f9730d12e4773d753295e6fc65507c7a71 assets/twilightforest/models/block/hollow_jungle_log_horizontal.json -0cd1c44ddf0187cd1495e341ab52cb70f0defe55 assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json -49b1655a8e3975e484fd25e1a3108119b15b05d4 assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json +40451a8d2440cfc53a036ce48b705e142d3c793e assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json +c02d5fdcdc0e3e9e3477a6339c1c929e38b23cea assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json 96ac01485ad23ba2096810a5bce7690d4a4ebaae assets/twilightforest/models/block/hollow_jungle_log_horizontal_snow.json afaf2d39c24e5428ac1b86fae3565be97331c349 assets/twilightforest/models/block/hollow_jungle_log_vertical.json 8350a6b03661facc38c038ac03617e20d2024e32 assets/twilightforest/models/block/hollow_mangrove_log_climbable_ladder.json 66ffc7f1c17a62951d3c4d679acba12a4c50b51f assets/twilightforest/models/block/hollow_mangrove_log_climbable_vine.json 3e5a161173fe2e34dc9d86386b47ecf2ad6ebbbc assets/twilightforest/models/block/hollow_mangrove_log_horizontal.json -7ca550e4710bb30fa71a4234f2038af09249a57f assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json -894cbc1f0a7161f3364833c52148905133971a36 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +8a597ae52ef77d50fd0bf32727b9b71f498dcd8e assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json +eb1de13f30471b7d37c0199b2622a7c91374cfc7 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json c958cddb7e0c4ca62b6b24bacbcf2eb5ed2a8377 assets/twilightforest/models/block/hollow_mangrove_log_horizontal_snow.json c259f2e4a36dc2a87e68bf66fca9c15af8b45d85 assets/twilightforest/models/block/hollow_mangrove_log_vertical.json ff08d39eeea427e280b1e294d3269bd571f968af assets/twilightforest/models/block/hollow_mining_log_climbable_ladder.json 30f35d388e4edd254577127c040d00f59edb8aa3 assets/twilightforest/models/block/hollow_mining_log_climbable_vine.json eb53adc974ece60dcef302c6c070dd7cd28e1c02 assets/twilightforest/models/block/hollow_mining_log_horizontal.json -4fc20fc5f53239de3a1304ee0f61a17656cf19b9 assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json -f1eb95fcc216f5a6268aa7e9f47efb6ad201428a assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +f576fa0b9daabb9eb95da4b3933697bad9835b3d assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json +05b30da5f9b7d133f3411b3a63577fe5b9ea6133 assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json f11aacfec2e1f90acc1a2951f4c0e86def707ca1 assets/twilightforest/models/block/hollow_mining_log_horizontal_snow.json 2ac2a158344b9857c0a4ea7ad7835c13ae2e5a74 assets/twilightforest/models/block/hollow_mining_log_vertical.json 131d01713fde5ed9d9ff47db68ddf7b7a6820351 assets/twilightforest/models/block/hollow_oak_log_climbable_ladder.json 413e6064f2429a4a6ede07b3371451336d81c53c assets/twilightforest/models/block/hollow_oak_log_climbable_vine.json 6ee9b33c4a61734de2b086afaf997104e30d8624 assets/twilightforest/models/block/hollow_oak_log_horizontal.json -8b9b36b448cc36caa35d628cbb75dbe46c92afc8 assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json -eb49429f5afc8a5247bda4aec6df1cfb1704ed33 assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json +28fde1422fd266e45fd57afe2c1c018be195cee1 assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json +e94609c121b0f09d1bb775ba640020a140c4c186 assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json f9fc2559ac382f18d63164f31df50b6e57a45364 assets/twilightforest/models/block/hollow_oak_log_horizontal_snow.json 49a8eaf5b517e58a43ba3b7168874043fed9cdfe assets/twilightforest/models/block/hollow_oak_log_vertical.json 7017130c573b1aed43467e786705d439c6647686 assets/twilightforest/models/block/hollow_oak_sapling.json 33bddc4cdff4af06ec3a14e88c92cd2098d7869b assets/twilightforest/models/block/hollow_pale_oak_log_climbable_ladder.json a18d187ebf66272062b5183e04fc52dfccc701df assets/twilightforest/models/block/hollow_pale_oak_log_climbable_vine.json dbe1d3ae269abfdd377d97f0a53a2f39dea83753 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal.json -416874f680ebb869272033e81f5056e848f38ece assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json -4bb382a43c834425997c058a9c1e252880ca3983 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json +de909ecdf51fba522abb6bf9b8323f57b8922635 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json +9426b16fef28deb032ce59405a069bd40f597943 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json aa60c5315c573668dfd4d6aa379fdc3f5481e440 assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_snow.json 4af81765554b125786478e95ce1722f66c79a614 assets/twilightforest/models/block/hollow_pale_oak_log_vertical.json 844bcc716a82aa34d6a4504b248bee7424f53163 assets/twilightforest/models/block/hollow_sorting_log_climbable_ladder.json 17b2ed2b004fd306f6ad762c535ab6786b57cea6 assets/twilightforest/models/block/hollow_sorting_log_climbable_vine.json dff2ae164dbaf415d7a2c1e3dcde4cac8634ea3c assets/twilightforest/models/block/hollow_sorting_log_horizontal.json -c5cda884ab127dbd63a40abffc337d5e7c7f9e4d assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json -54ced99f019cfcef33ce72fcf50162cf72e1f90f assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +60d75b40a403aabbb05cd91556cdba34293c1e83 assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json +3186b9e57f60be04e0dc0cfb5467f0ddc18cc692 assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json 453a299d4dde7f160610672f8e57f4d1b6e19d5b assets/twilightforest/models/block/hollow_sorting_log_horizontal_snow.json 1474a09371bf31f6aecdba3e4d5af50cdbdbb337 assets/twilightforest/models/block/hollow_sorting_log_vertical.json 05182869d246cc8018d059ea3a5d6e7b4f683dea assets/twilightforest/models/block/hollow_spruce_log_climbable_ladder.json dd250455b15a8eedc240a937525eeff5978237a0 assets/twilightforest/models/block/hollow_spruce_log_climbable_vine.json 447b2e561131aeaf8343f851a22d33058a203dee assets/twilightforest/models/block/hollow_spruce_log_horizontal.json -273192375a9a12a53ba850478971894222f018c1 assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json -ae388a1f9504b62b7f6192646eafedc2d129c5ad assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json +60bc8862caa09b0a496c0670ec59a7759eadaf2c assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json +2ebccfe00a94f20b073056f29fb9aab7cd51d21a assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json 75d47cd10ccdbafc45eb693c235decf65f086401 assets/twilightforest/models/block/hollow_spruce_log_horizontal_snow.json 2293ba34ad8b211ed3e965078222e78a68e4b3a3 assets/twilightforest/models/block/hollow_spruce_log_vertical.json 82fd9dc525d6704b5babee0dba41f42e1b40aa63 assets/twilightforest/models/block/hollow_time_log_climbable_ladder.json ae8f1d03e6e9a64f2c02ecad732d5fe63fa666c6 assets/twilightforest/models/block/hollow_time_log_climbable_vine.json 46938e477f793354bd0d6d96a3a3e4c86edb1a4d assets/twilightforest/models/block/hollow_time_log_horizontal.json -539c446e3e112a163dbd6f66ee98a92bb7e826a4 assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json -87809fca66b219720f88c25927eb290ddcfd269a assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +07f3ebd5fd25628224ebe7f10d883e835842257c assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json +8559b352b3041fd92e517ae5ac8c5a4ff4e397d9 assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json 576fb97deac658bfa42ef1113d86f310f7d3fe24 assets/twilightforest/models/block/hollow_time_log_horizontal_snow.json ee8f9b2e3506f3e3208f57e66f50ca0f3d1127fc assets/twilightforest/models/block/hollow_time_log_vertical.json a324abf5f213014033cae4164b967267daf17c8a assets/twilightforest/models/block/hollow_transformation_log_climbable_ladder.json 003ede5e51206991721db499d8d23cc0625f2d90 assets/twilightforest/models/block/hollow_transformation_log_climbable_vine.json d80c57cb3caa14e34b2ce50819f148b167b65130 assets/twilightforest/models/block/hollow_transformation_log_horizontal.json -cafd9aa9b261fdc81dea756ac08b01a54fac980a assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json -575e4482fd5ffff4ad80c425220253c5eb701cb5 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +db9359ec05a4b44340a2a639cfd94c4e0dddce23 assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json +b979a4582cc3c3f1df9a9d44b73dd4d292466f08 assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json 4135e89280164f730a04c16327e10167eaad3014 assets/twilightforest/models/block/hollow_transformation_log_horizontal_snow.json 5b44fc6326ab3540d9635f2ce0451496986b650d assets/twilightforest/models/block/hollow_transformation_log_vertical.json 6450fdef5d42de637c763bb9c88d607d69a25e5a assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_ladder.json 606399e36c58ce6bca589bd63f30e41a85e89669 assets/twilightforest/models/block/hollow_twilight_oak_log_climbable_vine.json c31c8a22feeda07b4de1faede320556d81683505 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal.json -5aaffb40d1d59275dff285fcf3b5566c910549b0 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json -c66e7b0659026a1b7e732b865f4c3761237df0eb assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +35316970051b956e7ad8b5689c6c93fbc858b3a0 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json +493c8906fa2b235e30f8a18e33ff65c17b04a7b6 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json 1c00e42363c2c03bc567f8b07d987d536f116b48 assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_snow.json 44ad446a0e58cfcb875f86b1d7546c426cb2daef assets/twilightforest/models/block/hollow_twilight_oak_log_vertical.json 1b4537315071afc7fc8ce6bb0b7878a56d5434bc assets/twilightforest/models/block/hollow_vangrove_log_climbable_ladder.json 225e86681d894a14ef289b6e902c94d6ad5f7b54 assets/twilightforest/models/block/hollow_vangrove_log_climbable_vine.json f2b5e222c0f3553739e631e5ba9a0652f9cd5002 assets/twilightforest/models/block/hollow_vangrove_log_horizontal.json -80c36c125ed124c417032e712c2945ae2459bc4a assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json -22ecc1c8d1559b88635641b8c4e24b918082041f assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json +0ae4f5df8c9153b4e9fda8b031eb9fceea7f37a7 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json +e2f011ee755528d3785e68a0a7be71ae1f0f3154 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json 5bfc2e017e76171bf8a2f8d349e90817c6440345 assets/twilightforest/models/block/hollow_vangrove_log_horizontal_snow.json 63ba3c000d128c4328a0ce329eb03b4602705b1c assets/twilightforest/models/block/hollow_vangrove_log_vertical.json 9c3fe090c19b7ba8dd3ca69bc58c05ba63b0925b assets/twilightforest/models/block/hollow_warped_stem_climbable_ladder.json 8291299f0e8e5ca1c6786487c40d89a3c2ca7abb assets/twilightforest/models/block/hollow_warped_stem_climbable_vine.json 2bd7f26ef8ab08904b9cfdeacc5537e9279179bc assets/twilightforest/models/block/hollow_warped_stem_horizontal.json -d3957da116b324cb5d6c7e23858a4035158b2648 assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json -804c2454b8eb2d5b7f57ea4452b1a07e37c9d594 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json +fe74220e61f3aec43793c012eba323a34a909857 assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json +7f7d3fc00b924352c810f4d5bc25958b6ee196e8 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json 26236916abc028abd465f1b8600d4ef28e1eb90d assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json 02f4f9fcc278c48690e8410d72cad03abd1252be assets/twilightforest/models/block/hollow_warped_stem_vertical.json +d2145f0597b1ac54c8b9b44a1ca1b4765da7748e assets/twilightforest/models/block/huge_mushgloom.json +22db0781003a50daba2f499466454fbf7311c0c6 assets/twilightforest/models/block/huge_mushgloom_inventory.json +4c3a3dc569b4f4df80274019e71e7dbc0014bca2 assets/twilightforest/models/block/huge_mushgloom_stem.json +fe614a9805ae16ef0e83c9aef84402b358bd920f assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json +3987819dc50ed72e9bf7f59d6de17203530c473f assets/twilightforest/models/block/huge_stalk.json +b4219d75eaeebeec715f400f5cb236f5f6c17671 assets/twilightforest/models/block/huge_stalk_horizontal.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json 292cd96949d3dbfeb0ce76bbc719ea51f60f6f8b assets/twilightforest/models/block/infested_towerwood.json 8214cefd49f6a6ca9ccc96e3b02149e051f70762 assets/twilightforest/models/block/ironwood_block.json @@ -1487,6 +1548,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json 9f7d8d23bbd1a999dbc0234cbc1708996195033a assets/twilightforest/models/block/mossy_towerwood.json 33d5ae1c13ae92090a05b6d3cf4085f10622408c assets/twilightforest/models/block/mossy_underbrick.json +b3c7e8118edbb7bb4068d661d0323a63a33e6b42 assets/twilightforest/models/block/moss_patch.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json 79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json @@ -1509,7 +1571,7 @@ b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_ 8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/oak_banister_short_extended.json 0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/oak_banister_tall.json 1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/oak_banister_tall_extended.json -09d88eeb2a568500e8b39c3b2be101337729e256 assets/twilightforest/models/block/orange_force_field.json +1ec9eb9de05c4f6c4714ad4fdf15e54324b59a16 assets/twilightforest/models/block/orange_force_field.json 3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json 3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json afdb121c9852c3c60e3a546abcdcf99944fe9d2b assets/twilightforest/models/block/pale_oak_banister_inventory.json @@ -1527,7 +1589,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/pink e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/pink_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/pink_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/pink_castle_rune_brick_7.json -21ec5ab893c21175846131cac43c7d2a445b0bb0 assets/twilightforest/models/block/pink_force_field.json +1ff82fd5ee63ba29d7267d7aada6f61b256bea79 assets/twilightforest/models/block/pink_force_field.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json @@ -1540,6 +1602,7 @@ c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/pott 4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json 74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/rainbow_oak_leaves.json 8bd5239c5072f77539a40357736b47367a7484bd assets/twilightforest/models/block/rainbow_oak_sapling.json +cc4c3931cdd9445247c0dccc5b234058c2fece6d assets/twilightforest/models/block/rainy_cloud.json 9f2832cc8c7d484dee56a452f448035dbb021d31 assets/twilightforest/models/block/reappearing_block.json 56df5fb5364868cea031f7d9864e575dedb96aec assets/twilightforest/models/block/reappearing_block_invis.json df5a8d57f702ef72b84411e71d09946fc11c5f2c assets/twilightforest/models/block/reappearing_block_invis_on.json @@ -1548,6 +1611,7 @@ df5a8d57f702ef72b84411e71d09946fc11c5f2c assets/twilightforest/models/block/reap 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json 32ee96be3e82cc2cf9850d6b2939d61e17201e1e assets/twilightforest/models/block/smoker.json +4266888514b2dada7cdc1601f3b3fc67eba7df52 assets/twilightforest/models/block/snowy_cloud.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json 99867ecf85ce0166d1c1be13ab6c9aaf3cd8adf6 assets/twilightforest/models/block/sorting_banister_connected.json e6d36c23c0bd9c6f17c874f28f25e614cd022264 assets/twilightforest/models/block/sorting_banister_connected_extended.json @@ -1696,6 +1760,8 @@ ada47f748606bcaa751a867ffcac0253b028acb5 assets/twilightforest/models/block/time dab553e2b2874cc20aef6817e94693d8bf508392 assets/twilightforest/models/block/time_trapdoor_top.json f150b7267feb39eaa5071d6b6f7ac0f7e0bf192d assets/twilightforest/models/block/time_trapped_chest.json b1d8ae6177f43c03f108ca88e1e8fb4e5827ee4a assets/twilightforest/models/block/time_wood.json +dc70797a32a876d52b3029dadff20868f73529e4 assets/twilightforest/models/block/torchberry_plant.json +0fd4e9edfa8fd3547380721cecf6c7106e44f7dc assets/twilightforest/models/block/torchberry_plant_berries.json 44dfe323d7ec8071c3cc0679829e5bd63e154232 assets/twilightforest/models/block/towerwood.json 7ee978bc7cdd65b7c118f2286328b86e08b172da assets/twilightforest/models/block/transformation_banister_connected.json beacb3a1557d7fd6cb8b0e74810de7feb5d704bc assets/twilightforest/models/block/transformation_banister_connected_extended.json @@ -1744,6 +1810,10 @@ fa93ad893b24405885a97baf6d883bf3916ecb98 assets/twilightforest/models/block/tran 00fe164d67b2dfe60d0e77e8000e97c1d01e3ec5 assets/twilightforest/models/block/transformation_trapdoor_top.json 8e31e7b36bc5038f00024427ae26ae92f8b27e58 assets/twilightforest/models/block/transformation_trapped_chest.json 4b6a9d6130919d1d0379f6741be485725f05f224 assets/twilightforest/models/block/transformation_wood.json +4c06560d4fefac6c5dc405c05e4cdd43b2a7d800 assets/twilightforest/models/block/trollber.json +164b3216edcb2065d9c9add1370aaba79c7196f1 assets/twilightforest/models/block/trollsteinn.json +143fcec33946ad1372d8bdba061bc72f5838b117 assets/twilightforest/models/block/trollsteinn_inventory.json +d3e81d2bcd5a79ac3837cdc9f080040565c7832e assets/twilightforest/models/block/trollvidr.json 8d6bfc055e9e2cb70259e7247daeff3395e922ac assets/twilightforest/models/block/trophy_pedestal.json 5bdd94f51a6807152d6627684a6aa10df6a54f1e assets/twilightforest/models/block/trophy_pedestal_1.json f25a6d8223cc4d852155e44e497d1e18280ef50e assets/twilightforest/models/block/trophy_pedestal_2.json @@ -1801,10 +1871,12 @@ bccd88867a46439db0ac0b6059805f3e4dbd2c42 assets/twilightforest/models/block/twil 6b0020137b3d62b2650042d215d47b2b00213ab8 assets/twilightforest/models/block/twilight_oak_wood.json 899b0a0601f7597c797cb2fd7659c985627b2504 assets/twilightforest/models/block/twisted_stone.json 6f93097ba1918984de17b9bde91d335d08477457 assets/twilightforest/models/block/twisted_stone_horizontal.json +8f5ed153c75a31127fb78ad814805848547e6e4b assets/twilightforest/models/block/uberous_soil.json ad72419b6e3047a962876e735cc0a15f19f20c93 assets/twilightforest/models/block/uncrafting_table.json b6b9ffcd127ac3f233422e3ae1befc2062d6ce3a assets/twilightforest/models/block/uncrafting_table_activated.json eed2392ad51a5d0a35fdd23fada77f8030c11b11 assets/twilightforest/models/block/underbrick.json f9f6c8993506ac436f9365835657f29069519eab assets/twilightforest/models/block/underbrick_floor.json +4f1ad4e7f955eca4dc4f859337dcfd7a316ee84b assets/twilightforest/models/block/unripe_trollber.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/ur_ghast_boss_spawner.json 1042bc9b8fb39afd8a403013e41c06be890dcae1 assets/twilightforest/models/block/vangrove_banister_connected.json 2ea05a3758c91142694df5e840ecd0f34ea2ffd2 assets/twilightforest/models/block/vangrove_banister_connected_extended.json @@ -1825,7 +1897,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/viol e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/violet_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/violet_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/violet_castle_rune_brick_7.json -74d7140049b4ceba9700481f2c4ceab8fa5a8fca assets/twilightforest/models/block/violet_force_field.json +15e3ee1b5fc45f809126e352b2cc39b82f725a79 assets/twilightforest/models/block/violet_force_field.json 43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/warped_banister_connected.json dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/warped_banister_connected_extended.json 37f2a74097b62b900187f50092d80ad25c68c279 assets/twilightforest/models/block/warped_banister_inventory.json @@ -1834,6 +1906,7 @@ be8c904aef614b07597f0c228914930a406b9794 assets/twilightforest/models/block/warp c91d1f60ccd419f1b7edbed9593f40bd61302d05 assets/twilightforest/models/block/warped_banister_tall.json b55eab2c422702962854f492d21f4313bd7dc969 assets/twilightforest/models/block/warped_banister_tall_extended.json 4f03288755908f6f5e5ee47d3a1f7e6b35556dd2 assets/twilightforest/models/block/weathered_deadrock.json +aae3c42bc50afa1ec4f97c8cdf84e58e109b8a6e assets/twilightforest/models/block/wispy_cloud.json 675418f74165a7d0031061e70936ae610e9797be assets/twilightforest/models/block/worn_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/worn_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json @@ -1848,6 +1921,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/yell e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/yellow_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/yellow_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/yellow_castle_rune_brick_7.json +086dc8f7b1e692bc1e78559e1e44de596f806fd4 assets/twilightforest/models/huge_mushgloom_inside.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/alpha_yeti_banner_pattern.json 274c3000936ceb00dccb80ac0b861098b26be25f assets/twilightforest/models/item/alpha_yeti_fur.json c38f28cc96caa2803b776e82a25f825d6bcc8680 assets/twilightforest/models/item/arctic_boots.json @@ -1943,6 +2017,7 @@ b64a0f7415d168bdff399cab1809a75e11190a14 assets/twilightforest/models/item/carmi c50f26fad82a552662a94f174591373b8f80e4a2 assets/twilightforest/models/item/charm_of_keeping_3.json df0898c30d4de00dbea13cb826421b02d2fbb58d assets/twilightforest/models/item/charm_of_life_1.json d3a3e3ad93428c961cd3665623af8d0f92c59b9b assets/twilightforest/models/item/charm_of_life_2.json +db0b4a62901bb0e4ba7098fcf4ce6d75e906c2e9 assets/twilightforest/models/item/clover_patch.json 672edc91d696882be7a512bd4b0016095d10bd5b assets/twilightforest/models/item/cooked_meef.json 55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json 26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json @@ -1962,6 +2037,7 @@ bb5f3969ff84f8af6a50b31138ba47c88a1d0f35 assets/twilightforest/models/item/ender 7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json 2df1005f58e6d3fbb401130330bd70ab78796380 assets/twilightforest/models/item/experiment_115.json +47b5e16cf269b2e6645653c5c184984eb596f6ca assets/twilightforest/models/item/fiddlehead.json d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json 3753282055695770ddb4392f231da75edb9508d8 assets/twilightforest/models/item/fiery_boots_amethyst_trim.json @@ -2225,6 +2301,7 @@ ff9e2e8376642cf0ae9452f73d2cdd2ae486022e assets/twilightforest/models/item/magic f4dac8a73ee71c84e875908b6690237c43bf0633 assets/twilightforest/models/item/mangrove_sapling.json 8ac899a6763e2958d2939fe317545589cd5c6b10 assets/twilightforest/models/item/mangrove_sign.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_trapped_chest.json +11c99bf9307aac43c075320eb3fe411ec2eac58c assets/twilightforest/models/item/mayapple.json e2a76acdb90e8219e3be8d19003a7467ccf55c11 assets/twilightforest/models/item/mazebreaker_pickaxe.json 134e4c40ccf2bc5f12ce90bbeac261dd6e1398d4 assets/twilightforest/models/item/maze_map.json 3c228cd32f67cd640f1745626c6e775f14a689df assets/twilightforest/models/item/maze_map_focus.json @@ -2250,6 +2327,8 @@ a43724058ad36703877dabc13bb9cae62e7cf3b4 assets/twilightforest/models/item/moon_ f50497eaf8b9b253e3df8ec37c8b6868aace7a25 assets/twilightforest/models/item/moon_dial_5.json 2c6786851c5da9148e7654aeeea99fb5bcfa9c4f assets/twilightforest/models/item/moon_dial_6.json 7b800f4ec0fb0930e2452ab1f8a991df09b9fb00 assets/twilightforest/models/item/moon_dial_7.json +5c2aa1f9faacaefc2cc04fcd532fe6f33ee9f92e assets/twilightforest/models/item/moss_patch.json +ee1286ae00d31a74692857b11af43bce079c04be assets/twilightforest/models/item/mushgloom.json 4667bfc93feef51b810a8f7de347bf5b441aac34 assets/twilightforest/models/item/music_disc_findings.json 355050bb64d0794b2ba3d005e6d6deac55e6db7c assets/twilightforest/models/item/music_disc_home.json 0c82fd71b5bd134196e9044fa8b91b63a2223d1f assets/twilightforest/models/item/music_disc_maker.json @@ -2452,6 +2531,7 @@ b8b14f90fb2dce3e231361082d926fe478c962a4 assets/twilightforest/models/item/time_ 4779242a129f3a76e2b38f07859596c2a5bf7fff assets/twilightforest/models/item/time_sign.json 89c69f3405f309324f12ccffa8141f653bddec3d assets/twilightforest/models/item/time_trapped_chest.json 0280159c3df7e4dcc3016802c6e5a0c03e7206d3 assets/twilightforest/models/item/torchberries.json +04b469cff60997a1388783e97ea012da256a12df assets/twilightforest/models/item/torchberry_plant.json d49abbd4952c051a5eb366049854772f5548a5c4 assets/twilightforest/models/item/tower_key.json d82c6c8c0ce2c8162b0fdd3a791d86bfa3a041fe assets/twilightforest/models/item/transformation_boat.json a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/transformation_chest.json @@ -2466,6 +2546,8 @@ a18e144f1590cc0b07ffee2056f5d2a70f8114a1 assets/twilightforest/models/item/trans a01e709e7b119f1c1c6c1f19c37a45adce96fe23 assets/twilightforest/models/item/triple_bow_pulling_0.json da8ccbaaf7197d8de6f5a670061779d6c9bd69b8 assets/twilightforest/models/item/triple_bow_pulling_1.json 1e9c9118a16e3aae53792c02900e73a27d2e8855 assets/twilightforest/models/item/triple_bow_pulling_2.json +91a98f44c463398931104d5f6ff8589e820267c5 assets/twilightforest/models/item/trollber.json +c40a954fe657d4d44a308596d3fcdc3ad6de9faf assets/twilightforest/models/item/trollvidr.json ef21acc3297ac54d490d74b2a786ff5719d1ee37 assets/twilightforest/models/item/twilight_oak_boat.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_chest.json 968283106fca51d14ee95e0fb6985331505400be assets/twilightforest/models/item/twilight_oak_chest_boat.json @@ -2475,6 +2557,7 @@ fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twili 42e491c6bc3e76b8719bc4f7e96e75c5c45e9813 assets/twilightforest/models/item/twilight_oak_sign.json fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twilight_oak_trapped_chest.json 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json +221ae2bf8b6db463b4909daac2b03451fd52792b assets/twilightforest/models/item/unripe_trollber.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json 6ca7643a593e229f7e9d89e978a9c68b38b19d3d assets/twilightforest/models/item/violet_force_field.json ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json @@ -2551,3 +2634,4 @@ f11a88461d365ac273c876c6fe6f25087590af6f assets/twilightforest/models/item/yeti_ 710794ab9a702d0dbdca73586197b3bd868aa7c0 assets/twilightforest/models/item/yeti_leggings_resin_trim.json f005b6b9553e9dfd7772f3132e262647c5ddd648 assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json 5c5358f8dadee7998b214b7105b8927dd6d6fcd3 assets/twilightforest/models/item/zombie_scepter.json +4ae965c1ff8d93ea34612519560e7657812d00da assets/twilightforest/models/trollsteinn_inside.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json new file mode 100644 index 0000000000..cda6b5e36b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cinder_furnace.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/furnace" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json new file mode 100644 index 0000000000..403cb08ea0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cinder_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/cinder_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/cinder_log" + }, + "axis=z": { + "model": "twilightforest:block/cinder_log_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json new file mode 100644 index 0000000000..e8749a4020 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/cinder_wood_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/cinder_wood" + }, + "axis=z": { + "model": "twilightforest:block/cinder_wood_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json b/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json new file mode 100644 index 0000000000..fcbe33679d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/clover_patch.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/clover_patch" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json b/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json new file mode 100644 index 0000000000..5a397bc647 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fiddlehead.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/fiddlehead" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json new file mode 100644 index 0000000000..1d5a460e8b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fluffy_cloud.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/fluffy_cloud" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json new file mode 100644 index 0000000000..9bcf3d5076 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom.json @@ -0,0 +1,120 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/huge_mushgloom" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom", + "uvlock": true, + "x": 270 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom", + "uvlock": true, + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside" + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 90 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 180 + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 270 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "x": 270 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "x": 90 + }, + "when": { + "down": "false" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json new file mode 100644 index 0000000000..e41d56c5b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/huge_mushgloom_stem.json @@ -0,0 +1,120 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem", + "uvlock": true, + "x": 270 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:block/huge_mushgloom_stem", + "uvlock": true, + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside" + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 90 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 180 + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "y": 270 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "x": 270 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "twilightforest:huge_mushgloom_inside", + "uvlock": false, + "x": 90 + }, + "when": { + "down": "false" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json b/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json new file mode 100644 index 0000000000..1850d54be6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/huge_stalk.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/huge_stalk_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/huge_stalk" + }, + "axis=z": { + "model": "twilightforest:block/huge_stalk_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json new file mode 100644 index 0000000000..bb134420f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/lich_tower_miniature_structure.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/miniature/lich_tower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mayapple.json b/src/generated/resources/assets/twilightforest/blockstates/mayapple.json new file mode 100644 index 0000000000..29725cde93 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mayapple.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mayapple" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json b/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json new file mode 100644 index 0000000000..4ac5897356 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/moss_patch.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/moss_patch" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json new file mode 100644 index 0000000000..527e2bc657 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mushgloom.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mushgloom" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json new file mode 100644 index 0000000000..4fd1c16fbb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/naga_courtyard_miniature_structure.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/miniature/naga_courtyard" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json new file mode 100644 index 0000000000..aebb7b0fd5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/rainy_cloud.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/rainy_cloud" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json new file mode 100644 index 0000000000..b78c89acc0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/snowy_cloud.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/snowy_cloud" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json b/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json new file mode 100644 index 0000000000..8ce5da02ac --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/torchberry_plant.json @@ -0,0 +1,10 @@ +{ + "variants": { + "has_torchberries=false": { + "model": "twilightforest:block/torchberry_plant" + }, + "has_torchberries=true": { + "model": "twilightforest:block/torchberry_plant_berries" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollber.json b/src/generated/resources/assets/twilightforest/blockstates/trollber.json new file mode 100644 index 0000000000..057f6d3888 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/trollber.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/trollber" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json b/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json new file mode 100644 index 0000000000..77a0ef9bcb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/trollsteinn.json @@ -0,0 +1,120 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/trollsteinn" + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/trollsteinn", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/trollsteinn", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/trollsteinn", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/trollsteinn", + "uvlock": true, + "x": 270 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "twilightforest:block/trollsteinn", + "uvlock": true, + "x": 90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside", + "uvlock": false, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside", + "uvlock": false, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside", + "uvlock": false, + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside", + "uvlock": false, + "x": 270 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "twilightforest:trollsteinn_inside", + "uvlock": false, + "x": 90 + }, + "when": { + "down": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json b/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json new file mode 100644 index 0000000000..fd7adcfe0e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/trollvidr.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/trollvidr" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json new file mode 100644 index 0000000000..a5a6bf56e4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal_miniature_structure.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/miniature/portal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json b/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json new file mode 100644 index 0000000000..793558b465 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/uberous_soil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/uberous_soil" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json b/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json new file mode 100644 index 0000000000..22661489b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/unripe_trollber.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/unripe_trollber" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json b/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json new file mode 100644 index 0000000000..eb60991e17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/wispy_cloud.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/wispy_cloud" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cinder_furnace.json b/src/generated/resources/assets/twilightforest/items/cinder_furnace.json new file mode 100644 index 0000000000..6a10d9d872 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cinder_furnace.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cinder_furnace" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cinder_log.json b/src/generated/resources/assets/twilightforest/items/cinder_log.json new file mode 100644 index 0000000000..040d128b69 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cinder_log.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cinder_wood.json b/src/generated/resources/assets/twilightforest/items/cinder_wood.json new file mode 100644 index 0000000000..9a4ffc94a2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cinder_wood.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/cinder_wood" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/clover_patch.json b/src/generated/resources/assets/twilightforest/items/clover_patch.json new file mode 100644 index 0000000000..31391f7b58 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/clover_patch.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/clover_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fiddlehead.json b/src/generated/resources/assets/twilightforest/items/fiddlehead.json new file mode 100644 index 0000000000..8f99431b28 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fiddlehead.json @@ -0,0 +1,13 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fiddlehead", + "tints": [ + { + "type": "minecraft:grass", + "downfall": 1.0, + "temperature": 0.5 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/items/fluffy_cloud.json new file mode 100644 index 0000000000..7f15df3057 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fluffy_cloud.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/fluffy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/huge_mushgloom.json b/src/generated/resources/assets/twilightforest/items/huge_mushgloom.json new file mode 100644 index 0000000000..3f7246f0b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/huge_mushgloom.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/huge_mushgloom_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/huge_mushgloom_stem.json b/src/generated/resources/assets/twilightforest/items/huge_mushgloom_stem.json new file mode 100644 index 0000000000..2976399e62 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/huge_mushgloom_stem.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/huge_mushgloom_stem_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/huge_stalk.json b/src/generated/resources/assets/twilightforest/items/huge_stalk.json new file mode 100644 index 0000000000..8cdc1a79ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/huge_stalk.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/huge_stalk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/lich_tower_miniature_structure.json b/src/generated/resources/assets/twilightforest/items/lich_tower_miniature_structure.json new file mode 100644 index 0000000000..926718271f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/lich_tower_miniature_structure.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/miniature/lich_tower" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mayapple.json b/src/generated/resources/assets/twilightforest/items/mayapple.json new file mode 100644 index 0000000000..bbc8c360b0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mayapple.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mayapple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/moss_patch.json b/src/generated/resources/assets/twilightforest/items/moss_patch.json new file mode 100644 index 0000000000..b2b1f73405 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/moss_patch.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/moss_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mushgloom.json b/src/generated/resources/assets/twilightforest/items/mushgloom.json new file mode 100644 index 0000000000..b0da073a96 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mushgloom.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/mushgloom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json b/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json new file mode 100644 index 0000000000..b5a8dd6dc6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/miniature/naga_courtyard" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/rainy_cloud.json b/src/generated/resources/assets/twilightforest/items/rainy_cloud.json new file mode 100644 index 0000000000..1a8b2e86b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/rainy_cloud.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/rainy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/snowy_cloud.json b/src/generated/resources/assets/twilightforest/items/snowy_cloud.json new file mode 100644 index 0000000000..611eccc39a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/snowy_cloud.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/snowy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/torchberry_plant.json b/src/generated/resources/assets/twilightforest/items/torchberry_plant.json new file mode 100644 index 0000000000..44f6726944 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/torchberry_plant.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/torchberry_plant" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/trollber.json b/src/generated/resources/assets/twilightforest/items/trollber.json new file mode 100644 index 0000000000..5b04e912b3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/trollber.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/trollber" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/trollsteinn.json b/src/generated/resources/assets/twilightforest/items/trollsteinn.json new file mode 100644 index 0000000000..dbb7547654 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/trollsteinn.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/trollsteinn_inventory" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/trollvidr.json b/src/generated/resources/assets/twilightforest/items/trollvidr.json new file mode 100644 index 0000000000..6d3a9a7229 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/trollvidr.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/trollvidr" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json b/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json new file mode 100644 index 0000000000..631a7b6f76 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/miniature/portal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/uberous_soil.json b/src/generated/resources/assets/twilightforest/items/uberous_soil.json new file mode 100644 index 0000000000..686c810e3e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/uberous_soil.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/uberous_soil" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/unripe_trollber.json b/src/generated/resources/assets/twilightforest/items/unripe_trollber.json new file mode 100644 index 0000000000..3be1293b06 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/unripe_trollber.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/unripe_trollber" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/wispy_cloud.json b/src/generated/resources/assets/twilightforest/items/wispy_cloud.json new file mode 100644 index 0000000000..a585bb20c4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/wispy_cloud.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/wispy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json index fe72ae2287..38d2061507 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json @@ -11,10 +11,6 @@ "faces": { "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -23,6 +19,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -38,10 +35,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -50,6 +43,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -66,10 +60,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -78,6 +68,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -93,10 +84,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -105,6 +92,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -121,10 +109,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -133,6 +117,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -148,10 +133,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -160,6 +141,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -176,10 +158,6 @@ "faces": { "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -188,6 +166,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -203,10 +182,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -215,6 +190,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -231,10 +207,6 @@ "faces": { "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -243,6 +215,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -258,10 +231,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -270,6 +239,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -286,10 +256,6 @@ "faces": { "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -298,6 +264,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -313,10 +280,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -325,6 +288,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -344,17 +308,9 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -364,10 +320,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -378,10 +330,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -396,6 +344,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -413,10 +362,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -431,6 +376,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -448,10 +394,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -460,6 +402,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -479,18 +422,10 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -500,10 +435,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -513,10 +444,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -531,6 +458,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -548,10 +476,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -566,6 +490,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -583,10 +508,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -595,6 +516,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -614,10 +536,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -627,18 +545,10 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -648,10 +558,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -666,6 +572,7 @@ 0, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -683,10 +590,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -701,6 +604,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -718,10 +622,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -736,6 +636,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -755,10 +656,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -768,10 +665,6 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -782,10 +675,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -795,10 +684,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -813,6 +698,7 @@ 0, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -830,10 +716,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -848,6 +730,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -865,10 +748,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -883,6 +762,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -901,10 +781,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -914,10 +790,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -928,18 +800,10 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -954,6 +818,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -971,10 +836,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -989,6 +850,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1006,10 +868,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1018,6 +876,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1037,10 +896,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1050,10 +905,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1063,10 +914,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1077,10 +924,6 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1089,6 +932,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1106,10 +950,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1124,6 +964,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1141,10 +982,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1153,6 +990,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1171,10 +1009,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1185,10 +1019,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1199,17 +1029,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1224,6 +1046,7 @@ 9, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1241,10 +1064,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1259,6 +1078,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1276,10 +1096,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1288,6 +1104,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1306,10 +1123,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1320,10 +1133,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1334,17 +1143,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1359,6 +1160,7 @@ 9, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1376,10 +1178,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1394,6 +1192,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1411,10 +1210,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1423,6 +1218,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1441,18 +1237,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1462,10 +1250,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1476,10 +1260,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1494,6 +1274,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1511,10 +1292,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1529,6 +1306,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1546,10 +1324,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1564,6 +1338,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1582,18 +1357,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1604,10 +1371,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1617,10 +1380,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1635,6 +1394,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1652,10 +1412,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1670,6 +1426,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1687,10 +1444,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1705,6 +1458,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1723,10 +1477,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1737,17 +1487,9 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1758,10 +1500,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1770,6 +1508,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1787,10 +1526,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1799,6 +1534,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1816,10 +1552,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1828,6 +1560,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1846,10 +1579,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1860,10 +1589,6 @@ }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1874,10 +1599,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1887,10 +1608,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1905,6 +1622,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1922,10 +1640,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1940,6 +1654,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1957,10 +1672,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1975,6 +1686,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_log.json b/src/generated/resources/assets/twilightforest/models/block/cinder_log.json new file mode 100644 index 0000000000..c1b02cab7f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cinder_log.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/cinder_log_top", + "side": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json new file mode 100644 index 0000000000..e8961aa2b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cinder_log_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/cinder_log_top", + "side": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json b/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json new file mode 100644 index 0000000000..c1b02cab7f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/cinder_log_top", + "side": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json new file mode 100644 index 0000000000..e8961aa2b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/cinder_log_top", + "side": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/clover_patch.json b/src/generated/resources/assets/twilightforest/models/block/clover_patch.json new file mode 100644 index 0000000000..ea94bd691c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/clover_patch.json @@ -0,0 +1,10 @@ +{ + "parent": "twilightforest:block/clover_patch", + "loader": "twilightforest:patch", + "render_type": "minecraft:cutout", + "shaggify": false, + "textures": { + "particle": "twilightforest:block/clover_patch", + "texture": "twilightforest:block/clover_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json b/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json new file mode 100644 index 0000000000..236d56ad87 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fiddlehead.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/tinted_cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/fiddlehead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json new file mode 100644 index 0000000000..c2f71ed26f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fluffy_cloud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/fluffy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json index 4c9b432d75..a96b3048b7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json @@ -11,10 +11,6 @@ "faces": { "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -23,6 +19,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -38,10 +35,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -50,6 +43,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -66,10 +60,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -78,6 +68,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -93,10 +84,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -105,6 +92,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -121,10 +109,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -133,6 +117,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -148,10 +133,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -160,6 +141,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -176,10 +158,6 @@ "faces": { "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -188,6 +166,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -203,10 +182,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -215,6 +190,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -231,10 +207,6 @@ "faces": { "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -243,6 +215,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -258,10 +231,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -270,6 +239,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -286,10 +256,6 @@ "faces": { "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -298,6 +264,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -313,10 +280,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -325,6 +288,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -344,17 +308,9 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -364,10 +320,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -378,10 +330,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -396,6 +344,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -413,10 +362,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -431,6 +376,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -448,10 +394,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -460,6 +402,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -479,18 +422,10 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -500,10 +435,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -513,10 +444,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -531,6 +458,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -548,10 +476,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -566,6 +490,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -583,10 +508,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -595,6 +516,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -614,10 +536,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -627,18 +545,10 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -648,10 +558,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -666,6 +572,7 @@ 0, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -683,10 +590,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -701,6 +604,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -718,10 +622,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -736,6 +636,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -755,10 +656,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -768,10 +665,6 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -782,10 +675,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -795,10 +684,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -813,6 +698,7 @@ 0, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -830,10 +716,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -848,6 +730,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -865,10 +748,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -883,6 +762,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -901,10 +781,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -914,10 +790,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -928,18 +800,10 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -954,6 +818,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -971,10 +836,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -989,6 +850,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1006,10 +868,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1018,6 +876,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1037,10 +896,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1050,10 +905,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1063,10 +914,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1077,10 +924,6 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1089,6 +932,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1106,10 +950,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1124,6 +964,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1141,10 +982,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1153,6 +990,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1171,10 +1009,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1185,10 +1019,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1199,17 +1029,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1224,6 +1046,7 @@ 9, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1241,10 +1064,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1259,6 +1078,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1276,10 +1096,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1288,6 +1104,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1306,10 +1123,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1320,10 +1133,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1334,17 +1143,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1359,6 +1160,7 @@ 9, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1376,10 +1178,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1394,6 +1192,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1411,10 +1210,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1423,6 +1218,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1441,18 +1237,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1462,10 +1250,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1476,10 +1260,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1494,6 +1274,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1511,10 +1292,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1529,6 +1306,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1546,10 +1324,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1564,6 +1338,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1582,18 +1357,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1604,10 +1371,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1617,10 +1380,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1635,6 +1394,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1652,10 +1412,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1670,6 +1426,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1687,10 +1444,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1705,6 +1458,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1723,10 +1477,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1737,17 +1487,9 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1758,10 +1500,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1770,6 +1508,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1787,10 +1526,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1799,6 +1534,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1816,10 +1552,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1828,6 +1560,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1846,10 +1579,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1860,10 +1589,6 @@ }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1874,10 +1599,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1887,10 +1608,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1905,6 +1622,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1922,10 +1640,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1940,6 +1654,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1957,10 +1672,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1975,6 +1686,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json index d68f35b003..443959af1d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/acacia_log_top", "inside": "minecraft:block/stripped_acacia_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json index 1a2ffcb22e..2dc5bb057a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_acacia_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/acacia_log_top", "inside": "minecraft:block/stripped_acacia_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json index 60630e65be..b20c1f7b1d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/birch_log_top", "inside": "minecraft:block/stripped_birch_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json index 5c723874bf..f40f382a6a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_birch_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/birch_log_top", "inside": "minecraft:block/stripped_birch_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json index 4d8bb503b0..562b59fb28 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/canopy_log_top", "inside": "twilightforest:block/stripped_canopy_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json index f41ca52110..16c18ce84b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_canopy_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/canopy_log_top", "inside": "twilightforest:block/stripped_canopy_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json index cc06d1adfa..101d4944e4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/cherry_log_top", "inside": "minecraft:block/stripped_cherry_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json index 3129bf3490..05aedf7c0a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_cherry_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/cherry_log_top", "inside": "minecraft:block/stripped_cherry_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json index 33275953d5..499cc0c7bc 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/crimson_stem_top", "inside": "minecraft:block/stripped_crimson_stem", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json index 1f1a816b79..738d15c3ef 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_crimson_stem_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/crimson_stem_top", "inside": "minecraft:block/stripped_crimson_stem", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json index ff95aebed3..57467b4a71 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/dark_log_top", "inside": "twilightforest:block/stripped_dark_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json index 8d8c6e535c..29006bc813 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/dark_log_top", "inside": "twilightforest:block/stripped_dark_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json index 388e31356d..e31e30500f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/dark_oak_log_top", "inside": "minecraft:block/stripped_dark_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json index 49fbbafc1d..0a6b074b00 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_dark_oak_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/dark_oak_log_top", "inside": "minecraft:block/stripped_dark_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json index 2dba9c9cf1..07f5e29940 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/jungle_log_top", "inside": "minecraft:block/stripped_jungle_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json index 837294a0ea..eaffb670ef 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_jungle_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/jungle_log_top", "inside": "minecraft:block/stripped_jungle_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json index c19b7b578b..25a62c80e5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/mangrove_log_top", "inside": "twilightforest:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json index c1bddd731d..e800be881c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mangrove_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/mangrove_log_top", "inside": "twilightforest:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json index 0012bfffcc..85ca989a18 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/mining_log_top", "inside": "twilightforest:block/stripped_mining_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json index bb7121251c..be057ae629 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_mining_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/mining_log_top", "inside": "twilightforest:block/stripped_mining_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json index 5bc1709ecb..5e6dd69a09 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/oak_log_top", "inside": "minecraft:block/stripped_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json index 6872f6fe7a..a755b9bb47 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_oak_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/oak_log_top", "inside": "minecraft:block/stripped_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json index 0fd274e4b5..557beb74ed 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/pale_oak_log_top", "inside": "minecraft:block/stripped_pale_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json index 4f5ef7bbe5..a9b349873b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_pale_oak_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/pale_oak_log_top", "inside": "minecraft:block/stripped_pale_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json index 786b33c8b5..ea331be34d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/sorting_log_top", "inside": "twilightforest:block/stripped_sorting_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json index 6b445089e3..b8b366a429 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_sorting_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/sorting_log_top", "inside": "twilightforest:block/stripped_sorting_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json index 585b3835aa..7969babf1d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/spruce_log_top", "inside": "minecraft:block/stripped_spruce_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json index a065a84efc..da8b0a970c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_spruce_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/spruce_log_top", "inside": "minecraft:block/stripped_spruce_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json index 1993acfd00..eb8744fe20 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/time_log_top", "inside": "twilightforest:block/stripped_time_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json index 7c5d1675ba..81a5e07cea 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_time_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/time_log_top", "inside": "twilightforest:block/stripped_time_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json index e9ff7f888f..bff6ddc2a3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/transformation_log_top", "inside": "twilightforest:block/stripped_transformation_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json index 23e13123d2..3d766784c7 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_transformation_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/transformation_log_top", "inside": "twilightforest:block/stripped_transformation_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json index c34b821e6f..c5db1e1019 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/twilight_oak_log_top", "inside": "twilightforest:block/stripped_twilight_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json index 84be0cc2b5..84cd245bb8 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_twilight_oak_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "twilightforest:block/twilight_oak_log_top", "inside": "twilightforest:block/stripped_twilight_oak_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json index 23f41290e8..7903c11cd4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/mangrove_log_top", "inside": "minecraft:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json index 12ad08911f..6d0241cf20 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_vangrove_log_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/mangrove_log_top", "inside": "minecraft:block/stripped_mangrove_log", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json index 6cd88773d7..09d01cf8df 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_grass_inventory.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_plant", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/warped_stem_top", "inside": "minecraft:block/stripped_warped_stem", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json index c919a2e045..535f308a7a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json +++ b/src/generated/resources/assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json @@ -1,7 +1,7 @@ { "parent": "twilightforest:block/horizontal_hollow_log_carpet", "textures": { - "carpet": "twilightforest:block/mosspatch", + "carpet": "twilightforest:block/moss_patch", "end": "minecraft:block/warped_stem_top", "inside": "minecraft:block/stripped_warped_stem", "overhang": "twilightforest:block/moss_overhang", diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom.json new file mode 100644 index 0000000000..bbd57b7b12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_single_face", + "textures": { + "texture": "twilightforest:block/huge_mushgloom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inventory.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inventory.json new file mode 100644 index 0000000000..8493e96999 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/huge_mushgloom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem.json new file mode 100644 index 0000000000..880120056b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_single_face", + "textures": { + "texture": "twilightforest:block/huge_mushgloom_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json new file mode 100644 index 0000000000..b36a8be547 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/huge_mushgloom_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json b/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json new file mode 100644 index 0000000000..f578b9152d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_stalk.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "twilightforest:block/huge_stalk_top", + "side": "twilightforest:block/huge_stalk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json new file mode 100644 index 0000000000..ff03364a8a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_stalk_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "twilightforest:block/huge_stalk_top", + "side": "twilightforest:block/huge_stalk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/moss_patch.json b/src/generated/resources/assets/twilightforest/models/block/moss_patch.json new file mode 100644 index 0000000000..011bab456c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/moss_patch.json @@ -0,0 +1,9 @@ +{ + "parent": "twilightforest:block/moss_patch", + "loader": "twilightforest:patch", + "shaggify": true, + "textures": { + "particle": "twilightforest:block/moss_patch", + "texture": "twilightforest:block/moss_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json index 2c806363d8..172bc38645 100644 --- a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json @@ -11,10 +11,6 @@ "faces": { "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -23,6 +19,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -38,10 +35,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -50,6 +43,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -66,10 +60,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -78,6 +68,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -93,10 +84,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -105,6 +92,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -121,10 +109,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -133,6 +117,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -148,10 +133,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -160,6 +141,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -176,10 +158,6 @@ "faces": { "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -188,6 +166,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -203,10 +182,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -215,6 +190,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -231,10 +207,6 @@ "faces": { "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -243,6 +215,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -258,10 +231,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -270,6 +239,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -286,10 +256,6 @@ "faces": { "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -298,6 +264,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -313,10 +280,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -325,6 +288,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -344,17 +308,9 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -364,10 +320,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -378,10 +330,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -396,6 +344,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -413,10 +362,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -431,6 +376,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -448,10 +394,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -460,6 +402,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -479,18 +422,10 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -500,10 +435,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -513,10 +444,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -531,6 +458,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -548,10 +476,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -566,6 +490,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -583,10 +508,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -595,6 +516,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -614,10 +536,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -627,18 +545,10 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -648,10 +558,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -666,6 +572,7 @@ 0, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -683,10 +590,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -701,6 +604,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -718,10 +622,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -736,6 +636,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -755,10 +656,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -768,10 +665,6 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -782,10 +675,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -795,10 +684,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -813,6 +698,7 @@ 0, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -830,10 +716,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -848,6 +730,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -865,10 +748,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -883,6 +762,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -901,10 +781,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -914,10 +790,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -928,18 +800,10 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -954,6 +818,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -971,10 +836,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -989,6 +850,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1006,10 +868,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1018,6 +876,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1037,10 +896,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1050,10 +905,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1063,10 +914,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1077,10 +924,6 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1089,6 +932,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1106,10 +950,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1124,6 +964,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1141,10 +982,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1153,6 +990,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1171,10 +1009,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1185,10 +1019,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1199,17 +1029,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1224,6 +1046,7 @@ 9, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1241,10 +1064,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1259,6 +1078,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1276,10 +1096,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1288,6 +1104,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1306,10 +1123,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1320,10 +1133,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1334,17 +1143,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1359,6 +1160,7 @@ 9, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1376,10 +1178,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1394,6 +1192,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1411,10 +1210,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1423,6 +1218,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1441,18 +1237,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1462,10 +1250,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1476,10 +1260,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1494,6 +1274,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1511,10 +1292,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1529,6 +1306,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1546,10 +1324,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1564,6 +1338,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1582,18 +1357,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1604,10 +1371,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1617,10 +1380,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1635,6 +1394,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1652,10 +1412,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1670,6 +1426,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1687,10 +1444,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1705,6 +1458,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1723,10 +1477,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1737,17 +1487,9 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1758,10 +1500,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1770,6 +1508,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1787,10 +1526,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1799,6 +1534,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1816,10 +1552,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1828,6 +1560,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1846,10 +1579,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1860,10 +1589,6 @@ }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1874,10 +1599,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1887,10 +1608,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1905,6 +1622,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1922,10 +1640,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1940,6 +1654,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1957,10 +1672,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1975,6 +1686,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json index 3840559442..857cfe5eb5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json @@ -11,10 +11,6 @@ "faces": { "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -23,6 +19,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -38,10 +35,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -50,6 +43,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -66,10 +60,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -78,6 +68,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -93,10 +84,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -105,6 +92,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -121,10 +109,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -133,6 +117,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -148,10 +133,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -160,6 +141,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -176,10 +158,6 @@ "faces": { "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -188,6 +166,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -203,10 +182,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -215,6 +190,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -231,10 +207,6 @@ "faces": { "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -243,6 +215,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -258,10 +231,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -270,6 +239,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -286,10 +256,6 @@ "faces": { "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -298,6 +264,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -313,10 +280,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -325,6 +288,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -344,17 +308,9 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -364,10 +320,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -378,10 +330,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -396,6 +344,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -413,10 +362,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -431,6 +376,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -448,10 +394,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -460,6 +402,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -479,18 +422,10 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -500,10 +435,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -513,10 +444,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -531,6 +458,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -548,10 +476,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -566,6 +490,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -583,10 +508,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -595,6 +516,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -614,10 +536,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -627,18 +545,10 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -648,10 +558,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -666,6 +572,7 @@ 0, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -683,10 +590,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -701,6 +604,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -718,10 +622,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -736,6 +636,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -755,10 +656,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -768,10 +665,6 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -782,10 +675,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -795,10 +684,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -813,6 +698,7 @@ 0, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -830,10 +716,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -848,6 +730,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -865,10 +748,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -883,6 +762,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -901,10 +781,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -914,10 +790,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -928,18 +800,10 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -954,6 +818,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -971,10 +836,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -989,6 +850,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1006,10 +868,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1018,6 +876,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1037,10 +896,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1050,10 +905,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1063,10 +914,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1077,10 +924,6 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1089,6 +932,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1106,10 +950,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1124,6 +964,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1141,10 +982,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1153,6 +990,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1171,10 +1009,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1185,10 +1019,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1199,17 +1029,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1224,6 +1046,7 @@ 9, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1241,10 +1064,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1259,6 +1078,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1276,10 +1096,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1288,6 +1104,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1306,10 +1123,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1320,10 +1133,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1334,17 +1143,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1359,6 +1160,7 @@ 9, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1376,10 +1178,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1394,6 +1192,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1411,10 +1210,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1423,6 +1218,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1441,18 +1237,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1462,10 +1250,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1476,10 +1260,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1494,6 +1274,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1511,10 +1292,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1529,6 +1306,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1546,10 +1324,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1564,6 +1338,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1582,18 +1357,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1604,10 +1371,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1617,10 +1380,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1635,6 +1394,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1652,10 +1412,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1670,6 +1426,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1687,10 +1444,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1705,6 +1458,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1723,10 +1477,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1737,17 +1487,9 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1758,10 +1500,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1770,6 +1508,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1787,10 +1526,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1799,6 +1534,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1816,10 +1552,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1828,6 +1560,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1846,10 +1579,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1860,10 +1589,6 @@ }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1874,10 +1599,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1887,10 +1608,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1905,6 +1622,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1922,10 +1640,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1940,6 +1654,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1957,10 +1672,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1975,6 +1686,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, diff --git a/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json new file mode 100644 index 0000000000..469c0e4e56 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/rainy_cloud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "render_type": "minecraft:translucent", + "textures": { + "all": "twilightforest:block/rainy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json new file mode 100644 index 0000000000..0768b7c391 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/snowy_cloud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "render_type": "minecraft:translucent", + "textures": { + "all": "twilightforest:block/snowy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json new file mode 100644 index 0000000000..46d4bb57e1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/torchberry_plant" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_berries.json b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_berries.json new file mode 100644 index 0000000000..9d3253656a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/torchberry_plant_berries.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cross_emissive", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/torchberry_plant", + "cross_emissive": "twilightforest:block/torchberry_plant_emissive" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollber.json b/src/generated/resources/assets/twilightforest/models/block/trollber.json new file mode 100644 index 0000000000..94f13e4aab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trollber.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cross_emissive", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/trollber", + "cross_emissive": "twilightforest:block/trollber_emissive" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollsteinn.json b/src/generated/resources/assets/twilightforest/models/block/trollsteinn.json new file mode 100644 index 0000000000..04845b224d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trollsteinn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_single_face", + "textures": { + "texture": "twilightforest:block/trollsteinn" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inventory.json b/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inventory.json new file mode 100644 index 0000000000..a3eaf4c6b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trollsteinn_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/trollsteinn" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/trollvidr.json b/src/generated/resources/assets/twilightforest/models/block/trollvidr.json new file mode 100644 index 0000000000..c26456ae41 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/trollvidr.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/trollvidr" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json b/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json new file mode 100644 index 0000000000..6cc9f7aae9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/uberous_soil.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_farmland", + "textures": { + "dirt": "twilightforest:block/uberous_soil", + "top": "twilightforest:block/uberous_soil" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json b/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json new file mode 100644 index 0000000000..375efed697 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/unripe_trollber.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/unripe_trollber" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json index d5411c8f4d..e103d084f9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json @@ -11,10 +11,6 @@ "faces": { "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -23,6 +19,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -38,10 +35,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -50,6 +43,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -66,10 +60,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -78,6 +68,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -93,10 +84,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -105,6 +92,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -121,10 +109,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -133,6 +117,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -148,10 +133,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -160,6 +141,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -176,10 +158,6 @@ "faces": { "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -188,6 +166,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -203,10 +182,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -215,6 +190,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -231,10 +207,6 @@ "faces": { "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -243,6 +215,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -258,10 +231,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -270,6 +239,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -286,10 +256,6 @@ "faces": { "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -298,6 +264,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -313,10 +280,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -325,6 +288,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -344,17 +308,9 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -364,10 +320,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -378,10 +330,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -396,6 +344,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -413,10 +362,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -431,6 +376,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -448,10 +394,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -460,6 +402,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -479,18 +422,10 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -500,10 +435,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -513,10 +444,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -531,6 +458,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -548,10 +476,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -566,6 +490,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -583,10 +508,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -595,6 +516,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -614,10 +536,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -627,18 +545,10 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -648,10 +558,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -666,6 +572,7 @@ 0, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -683,10 +590,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -701,6 +604,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -718,10 +622,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -736,6 +636,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -755,10 +656,6 @@ "faces": { "down": { "cullface": "down", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -768,10 +665,6 @@ ] }, "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -782,10 +675,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -795,10 +684,6 @@ ] }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -813,6 +698,7 @@ 0, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -830,10 +716,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -848,6 +730,7 @@ 0, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -865,10 +748,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -883,6 +762,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -901,10 +781,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -914,10 +790,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -928,18 +800,10 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -954,6 +818,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -971,10 +836,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -989,6 +850,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1006,10 +868,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1018,6 +876,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1037,10 +896,6 @@ "faces": { "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1050,10 +905,6 @@ ] }, "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1063,10 +914,6 @@ ] }, "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1077,10 +924,6 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1089,6 +932,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1106,10 +950,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1124,6 +964,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1141,10 +982,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1153,6 +990,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1171,10 +1009,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1185,10 +1019,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1199,17 +1029,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1224,6 +1046,7 @@ 9, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1241,10 +1064,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1259,6 +1078,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1276,10 +1096,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1288,6 +1104,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1306,10 +1123,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1320,10 +1133,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1334,17 +1143,9 @@ }, "up": { "cullface": "up", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1359,6 +1160,7 @@ 9, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1376,10 +1178,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 7.0, @@ -1394,6 +1192,7 @@ 9, 7 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1411,10 +1210,6 @@ }, "faces": { "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1423,6 +1218,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1441,18 +1237,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1462,10 +1250,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1476,10 +1260,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1494,6 +1274,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1511,10 +1292,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1529,6 +1306,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1546,10 +1324,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1564,6 +1338,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1582,18 +1357,10 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1604,10 +1371,6 @@ }, "north": { "cullface": "north", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1617,10 +1380,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1635,6 +1394,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1652,10 +1412,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1670,6 +1426,7 @@ 7, 0 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1687,10 +1444,6 @@ }, "faces": { "north": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1705,6 +1458,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1723,10 +1477,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1737,17 +1487,9 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1758,10 +1500,6 @@ }, "west": { "cullface": "west", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1770,6 +1508,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1787,10 +1526,6 @@ }, "faces": { "west": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1799,6 +1534,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1816,10 +1552,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane" } }, @@ -1828,6 +1560,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 7, @@ -1846,10 +1579,6 @@ }, "faces": { "down": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1860,10 +1589,6 @@ }, "east": { "cullface": "east", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1874,10 +1599,6 @@ }, "south": { "cullface": "south", - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1887,10 +1608,6 @@ ] }, "up": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1905,6 +1622,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 16, @@ -1922,10 +1640,6 @@ }, "faces": { "east": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 9.0, @@ -1940,6 +1654,7 @@ 7, 9 ], + "light_emission": 15, "shade": false, "to": [ 9, @@ -1957,10 +1672,6 @@ }, "faces": { "south": { - "neoforge_data": { - "block_light": 15, - "sky_light": 15 - }, "texture": "#pane", "uv": [ 0.0, @@ -1975,6 +1686,7 @@ 7, 7 ], + "light_emission": 15, "shade": false, "to": [ 16, diff --git a/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json b/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json new file mode 100644 index 0000000000..b9fa33fd77 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/wispy_cloud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "render_type": "minecraft:translucent", + "textures": { + "all": "twilightforest:block/wispy_cloud" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/huge_mushgloom_inside.json b/src/generated/resources/assets/twilightforest/models/huge_mushgloom_inside.json new file mode 100644 index 0000000000..a5a072eac3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/huge_mushgloom_inside.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_single_face", + "textures": { + "texture": "twilightforest:block/huge_mushgloom_inside" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/clover_patch.json b/src/generated/resources/assets/twilightforest/models/item/clover_patch.json new file mode 100644 index 0000000000..dba9af9383 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/clover_patch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/clover_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json b/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json new file mode 100644 index 0000000000..dc965e1fa6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fiddlehead.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/fiddlehead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mayapple.json b/src/generated/resources/assets/twilightforest/models/item/mayapple.json new file mode 100644 index 0000000000..362f9a61d7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mayapple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/mayapple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/moss_patch.json b/src/generated/resources/assets/twilightforest/models/item/moss_patch.json new file mode 100644 index 0000000000..aed915c569 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/moss_patch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/moss_patch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/mushgloom.json b/src/generated/resources/assets/twilightforest/models/item/mushgloom.json new file mode 100644 index 0000000000..4e409e94f9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/mushgloom.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/mushgloom", + "layer1": "twilightforest:block/mushgloom_head" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json b/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json new file mode 100644 index 0000000000..390a5cb1b4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/torchberry_plant.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/torchberry_plant" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollber.json b/src/generated/resources/assets/twilightforest/models/item/trollber.json new file mode 100644 index 0000000000..f8e05bd854 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/trollber.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/trollber", + "layer1": "twilightforest:block/trollber_emissive" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/trollvidr.json b/src/generated/resources/assets/twilightforest/models/item/trollvidr.json new file mode 100644 index 0000000000..0fef655689 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/trollvidr.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/trollvidr" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json b/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json new file mode 100644 index 0000000000..3a58f48b1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/unripe_trollber.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/unripe_trollber" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/trollsteinn_inside.json b/src/generated/resources/assets/twilightforest/models/trollsteinn_inside.json new file mode 100644 index 0000000000..7038f3c987 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/trollsteinn_inside.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_single_face", + "textures": { + "texture": "twilightforest:block/trollsteinn_light" + } +} \ No newline at end of file From d9b7c306b998d51fbaafa97d8811933e72e20eb6 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:37:56 -0600 Subject: [PATCH 117/239] tint the miniatures --- .../datagen/assets/models/BlockModelGenerator.java | 4 ++-- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 6 +++--- .../items/naga_courtyard_miniature_structure.json | 9 ++++++++- .../items/twilight_portal_miniature_structure.json | 9 ++++++++- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 8844334c6c..b98fee4e32 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -276,9 +276,9 @@ public void run() { this.wrapBlockItem(TFBlocks.CINDER_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(block))); this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"))); - this.registerSimpleItemModel(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal")); + this.registerSimpleTintedItemModel(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"), new GrassColorSource()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard"))); - this.registerSimpleItemModel(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard")); + this.registerSimpleTintedItemModel(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard"), new GrassColorSource()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/lich_tower"))); this.registerSimpleItemModel(TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/lich_tower")); } diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index bb61da00db..689ca2d4a0 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-10T20:19:37.3010226 Model Definitions - twilightforest +// 1.21.4 2025-04-10T20:36:14.3863784 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -781,7 +781,7 @@ d62b9ee4f91d48a12625e79332538f3857419ce2 assets/twilightforest/items/nagastone_s 819afbe976e646756c584d9353616319dd312d3d assets/twilightforest/items/naga_banner_pattern.json 94752a66ebd9b3ad7659a78177fc5a9a85762c77 assets/twilightforest/items/naga_boss_spawner.json 38ed0a9eee7f4a6f749d365475eb78e350410a20 assets/twilightforest/items/naga_chestplate.json -c948aab592cd7000f87509843cfb464407e92296 assets/twilightforest/items/naga_courtyard_miniature_structure.json +5c16d0f3bbdd25acdecc4e7c926d14ada7b8566b assets/twilightforest/items/naga_courtyard_miniature_structure.json 272ae773763fd54d52adc5b4ba6bd8f3f61161ed assets/twilightforest/items/naga_leggings.json d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale.json fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json @@ -967,7 +967,7 @@ fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oa b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json 7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oak_wood.json -d6ec6b3aa955ff08a04e23593f4e9161c2ad1e31 assets/twilightforest/items/twilight_portal_miniature_structure.json +e75f72b1bf9c753c60ffa07c0319e351d559a21f assets/twilightforest/items/twilight_portal_miniature_structure.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json f24a98c0b923e56abc2152d4d367df4dfb42b4ed assets/twilightforest/items/twisted_stone.json 34c1ae99d6248df51187846eb0dd22b3bf92d380 assets/twilightforest/items/twisted_stone_pillar.json diff --git a/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json b/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json index b5a8dd6dc6..b71f53151e 100644 --- a/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json +++ b/src/generated/resources/assets/twilightforest/items/naga_courtyard_miniature_structure.json @@ -1,6 +1,13 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/miniature/naga_courtyard" + "model": "twilightforest:block/miniature/naga_courtyard", + "tints": [ + { + "type": "minecraft:grass", + "downfall": 1.0, + "temperature": 0.5 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json b/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json index 631a7b6f76..83127d85e0 100644 --- a/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json +++ b/src/generated/resources/assets/twilightforest/items/twilight_portal_miniature_structure.json @@ -1,6 +1,13 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/miniature/portal" + "model": "twilightforest:block/miniature/portal", + "tints": [ + { + "type": "minecraft:grass", + "downfall": 1.0, + "temperature": 0.5 + } + ] } } \ No newline at end of file From 4b091d3ffc0e679d0a50a0f46f50913507ef5abd Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:26:17 -0600 Subject: [PATCH 118/239] finish last few item models --- .../assets/models/BlockModelGenerator.java | 2 +- .../assets/models/ItemModelGenerator.java | 89 +++++++++++++----- .../client/event/ColorHandler.java | 25 +---- .../client/event/RegistrationEvents.java | 28 +++--- .../client/properties/Experiment115Type.java | 29 ++++++ .../client/properties/PotionFlaskDamage.java | 33 +++++++ .../client/properties/PotionFlaskDosage.java | 33 +++++++ .../properties/PotionFlaskTintSource.java | 35 +++++++ .../renderer/PotionFlaskTooltipComponent.java | 6 +- ...imate_powder.png => exanimate_essence.png} | Bin ...lames.png => exanimate_essence_flames.png} | Bin .../map/decorations/questing_grove.png | Bin 193 -> 0 bytes 12 files changed, 220 insertions(+), 60 deletions(-) create mode 100644 src/main/java/twilightforest/client/properties/Experiment115Type.java create mode 100644 src/main/java/twilightforest/client/properties/PotionFlaskDamage.java create mode 100644 src/main/java/twilightforest/client/properties/PotionFlaskDosage.java create mode 100644 src/main/java/twilightforest/client/properties/PotionFlaskTintSource.java rename src/main/resources/assets/twilightforest/textures/item/{exanimate_powder.png => exanimate_essence.png} (100%) rename src/main/resources/assets/twilightforest/textures/item/{exanimate_flames.png => exanimate_essence_flames.png} (100%) delete mode 100644 src/main/resources/assets/twilightforest/textures/map/decorations/questing_grove.png diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index b98fee4e32..ec3e955657 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -79,6 +79,7 @@ public void run() { this.wroughtIronFence(); this.terrorcotta(); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.RED_THREAD.get(), ModelTemplates.PARTICLE_ONLY.create(TFBlocks.RED_THREAD.get(), TextureMapping.particle(TwilightForestMod.prefix("block/blank")), this.modelOutput))); this.wrapBlockItem(TFBlocks.MAZESTONE.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MAZESTONE_BRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.CRACKED_MAZESTONE.get(), this::createTrivialCube); @@ -158,7 +159,6 @@ public void run() { } return Variant.variant().with(VariantProperties.MODEL, model); }))); - this.itemModelOutput.accept(TFBlocks.EXPERIMENT_115.asItem(), ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.EXPERIMENT_115.asItem()))); //TODO aurora blocks this.wrapBlockItem(TFBlocks.HUGE_STALK.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index eb3f89d076..11de7d2b11 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -1,6 +1,7 @@ package twilightforest.datagen.assets.models; import net.minecraft.client.color.item.Dye; +import net.minecraft.client.color.item.Potion; import net.minecraft.client.data.models.ItemModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.model.*; @@ -8,8 +9,10 @@ import net.minecraft.client.renderer.item.RangeSelectItemModel; import net.minecraft.client.renderer.item.SelectItemModel; import net.minecraft.client.renderer.item.properties.conditional.HasComponent; +import net.minecraft.client.renderer.item.properties.numeric.Count; import net.minecraft.client.renderer.item.properties.numeric.Time; import net.minecraft.client.renderer.item.properties.numeric.UseDuration; +import net.minecraft.client.renderer.item.properties.select.CustomModelDataProperty; import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.client.renderer.item.properties.select.TrimMaterialProperty; import net.minecraft.core.registries.BuiltInRegistries; @@ -22,16 +25,12 @@ import net.minecraft.world.item.equipment.EquipmentAssets; import net.minecraft.world.item.equipment.trim.TrimMaterial; import net.minecraft.world.item.equipment.trim.TrimMaterials; +import org.w3c.dom.Text; import twilightforest.TwilightForestMod; -import twilightforest.client.properties.MoonwormQueenPulse; -import twilightforest.client.properties.NaturalDimension; -import twilightforest.client.properties.OreMeterFlash; +import twilightforest.client.properties.*; import twilightforest.client.renderer.special.*; import twilightforest.datagen.helpers.ItemModelBuilders; -import twilightforest.init.TFDataComponents; -import twilightforest.init.TFEquipmentModels; -import twilightforest.init.TFItems; -import twilightforest.init.TFTrimMaterials; +import twilightforest.init.*; import twilightforest.item.ArcticArmorItem; import java.util.ArrayList; @@ -69,6 +68,9 @@ public void run() { this.generateFlatItem(TFItems.MAGIC_MAP.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.MAZE_MAP.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.ORE_MAP.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.FILLED_MAGIC_MAP.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.FILLED_MAZE_MAP.get(), ModelTemplates.FLAT_ITEM); + this.generateFlatItem(TFItems.FILLED_ORE_MAP.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.TORCHBERRIES.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.RAVEN_FEATHER.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.MAGIC_MAP_FOCUS.get(), ModelTemplates.FLAT_ITEM); @@ -86,6 +88,9 @@ public void run() { this.generateFlatItem(TFItems.MAZE_WAFER.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.MEEF_STROGANOFF.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.HYDRA_CHOP.get(), ModelTemplates.FLAT_ITEM); + this.itemModelOutput.accept(TFBlocks.EXPERIMENT_115.asItem(), ItemModelUtils.select(new Experiment115Type(), ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.EXPERIMENT_115.asItem(), ModelTemplates.FLAT_ITEM)), + ItemModelUtils.when("think", ItemModelUtils.plainModel(ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(TFBlocks.EXPERIMENT_115.asItem(), "_think"), TextureMapping.layer0(TwilightForestMod.prefix("item/think115")), this.modelOutput))), + ItemModelUtils.when("full", ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFBlocks.EXPERIMENT_115.get(), "_8_8_regenerating"))))); this.generateFlatItem(TFItems.LIVEROOT.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.RAW_IRONWOOD.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.IRONWOOD_INGOT.get(), ModelTemplates.FLAT_ITEM); @@ -101,11 +106,16 @@ public void run() { this.generateFlatItem(TFItems.FIERY_INGOT.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.ARCTIC_FUR.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.ALPHA_YETI_FUR.get(), ModelTemplates.FLAT_ITEM); - //TODO flasks - //TODO essence + ResourceLocation empty = ModelTemplates.FLAT_ITEM.create(TwilightForestMod.prefix("item/potion_flask_empty"), TextureMapping.layer0(TwilightForestMod.prefix("block/blank")), this.modelOutput); + this.generatePotionFlask(TFItems.BRITTLE_FLASK.get(), true, empty); + this.generatePotionFlask(TFItems.GREATER_FLASK.get(), false, empty); + this.generateTwoLayerItem(TFItems.EXANIMATE_ESSENCE.get(), "_flames", ModelTemplates.TWO_LAYERED_ITEM); this.generateFlatItem(TFItems.CROWN_SPLINTER.get(), ModelTemplates.FLAT_ITEM); - //TODO red thread - //TODO borer essence + this.itemModelOutput.accept(TFBlocks.RED_THREAD.asItem(), ItemModelUtils.rangeSelect(new Count(true), ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.RED_THREAD.asItem(), ModelTemplates.FLAT_ITEM)), List.of( + ItemModelUtils.override(ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.RED_THREAD.asItem(), "_bundle_0", ModelTemplates.FLAT_ITEM)), 4.0F / 64.0F), + ItemModelUtils.override(ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.RED_THREAD.asItem(), "_bundle_1", ModelTemplates.FLAT_ITEM)), 16.0F / 64.0F), + ItemModelUtils.override(ItemModelUtils.plainModel(this.createFlatItemModel(TFBlocks.RED_THREAD.asItem(), "_bundle_2", ModelTemplates.FLAT_ITEM)), 32.0F / 64.0F)))); + this.generateTwoLayerItem(TFItems.BORER_ESSENCE.get(), "_particles", ModelTemplates.TWO_LAYERED_ITEM); this.generateFlatItem(TFItems.CARMINITE.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.TOWER_KEY.get(), ModelTemplates.FLAT_ITEM); this.generateFlatItem(TFItems.MAGIC_BEANS.get(), ModelTemplates.FLAT_ITEM); @@ -207,8 +217,8 @@ public void run() { this.generateFlatItem(TFItems.MAZEBREAKER_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.DIAMOND_MINOTAUR_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.GOLDEN_MINOTAUR_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateTwoLayerItem(TFItems.ICE_SWORD.get(), TFModelTemplates.TWO_LAYERED_HANDHELD); - this.generateTwoLayerItem(TFItems.GLASS_SWORD.get(), TFModelTemplates.TWO_LAYERED_HANDHELD); + this.generateTwoLayerItem(TFItems.ICE_SWORD.get(), "", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_HANDHELD); + this.generateTwoLayerItem(TFItems.GLASS_SWORD.get(), "", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_HANDHELD); this.generateBow(TFItems.TRIPLE_BOW.get(), false); this.generateBow(TFItems.SEEKER_BOW.get(), false); @@ -236,6 +246,13 @@ public void run() { this.itemModelOutput.accept(TFItems.MOONWORM_QUEEN.get(), ItemModelUtils.conditional(new MoonwormQueenPulse(), ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.MOONWORM_QUEEN.get(), "_alt", ModelTemplates.FLAT_HANDHELD_ITEM)), ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.MOONWORM_QUEEN.get(), ModelTemplates.FLAT_HANDHELD_ITEM)))); + this.generateFlatItem(TFItems.MAGIC_PAINTING.get(), ModelTemplates.FLAT_ITEM); + + this.generateFlatItem(TFItems.CUBE_TALISMAN.get(), ModelTemplates.FLAT_ITEM); + this.itemModelOutput.accept(TFItems.CUBE_OF_ANNIHILATION.get(), ItemModelUtils.conditional(new HasComponent(TFDataComponents.THROWN_PROJECTILE.get(), false), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.CUBE_OF_ANNIHILATION.get(), "_thrown", ModelTemplates.FLAT_HANDHELD_ITEM)), + ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.CUBE_OF_ANNIHILATION.get(), ModelTemplates.FLAT_HANDHELD_ITEM)))); + this.generateFlatItem(TFItems.FOUR_LEAF_CLOVER.get(), ModelTemplates.FLAT_ITEM); this.generateSpawnEgg("alpha_yeti", 0xCDCDCD, 0x29486E); this.generateSpawnEgg("armored_giant", 0x239391, 0x9A9A9A); @@ -351,10 +368,10 @@ public void generateExpandedTrimmableItem(Item item, ResourceKey } public void generateBow(Item bowItem, boolean twoLayered) { - ItemModel.Unbaked base = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, ModelTemplates.BOW)); - ItemModel.Unbaked pull0 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_0", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_0", ModelTemplates.BOW)); - ItemModel.Unbaked pull1 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_1", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_1", ModelTemplates.BOW)); - ItemModel.Unbaked pull2 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_2", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_2", ModelTemplates.BOW)); + ItemModel.Unbaked base = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, ModelTemplates.BOW)); + ItemModel.Unbaked pull0 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_0", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_0", ModelTemplates.BOW)); + ItemModel.Unbaked pull1 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_1", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_1", ModelTemplates.BOW)); + ItemModel.Unbaked pull2 = ItemModelUtils.plainModel(twoLayered ? this.twoLayerItem(bowItem, "_pulling_2", "_solid", "_clear", TFModelTemplates.TWO_LAYERED_BOW) : this.createFlatItemModel(bowItem, "_pulling_2", ModelTemplates.BOW)); this.itemModelOutput.accept(bowItem, ItemModelUtils.conditional(ItemModelUtils.isUsingItem(), ItemModelUtils.rangeSelect( new UseDuration(false), @@ -392,16 +409,44 @@ public void generateMoonDial(Item dial) { ItemModelUtils.rangeSelect(new Time(true, Time.TimeSource.RANDOM), 8.0F, list))); } - public void generateTwoLayerItem(Item item, ModelTemplate template) { - this.itemModelOutput.accept(item, ItemModelUtils.plainModel(this.twoLayerItem(item, template))); + public void generatePotionFlask(Item flask, boolean crackable, ResourceLocation empty) { + List potionEntries = new ArrayList<>(); + List flaskEntries = new ArrayList<>(); + String[] suffixes = {"_labelled", "_splintered", "_damaged"}; + + + for (int i = 0; i < 3; i++) { + potionEntries.add(ItemModelUtils.override(ItemModelUtils.tintedModel(this.createFlatItemModel(flask, "_" + (i + 1), ModelTemplates.FLAT_ITEM), new PotionFlaskTintSource()), i + 1)); + if (i == 0) { + var base = ItemModelUtils.plainModel(this.createFlatItemModel(flask, ModelTemplates.FLAT_ITEM)); + flaskEntries.add(ItemModelUtils.override(crackable ? + ItemModelUtils.conditional(new HasComponent(TFDataComponents.POTION_FLASK_CONTENTS.get(), true), + ItemModelUtils.plainModel(this.createFlatItemModel(flask, suffixes[i], ModelTemplates.FLAT_ITEM)), base) : base, 0)); + } else if (crackable) { + flaskEntries.add(ItemModelUtils.override(ItemModelUtils.plainModel(this.createFlatItemModel(flask, suffixes[i], ModelTemplates.FLAT_ITEM)), i)); + } + } + + ItemModel.Unbaked flaskModel = crackable ? ItemModelUtils.rangeSelect(new PotionFlaskDamage(false), flaskEntries) : flaskEntries.getFirst().model(); + ItemModel.Unbaked potionModel = ItemModelUtils.rangeSelect(new PotionFlaskDosage(false), ItemModelUtils.plainModel(empty), potionEntries); + + this.itemModelOutput.accept(flask, ItemModelUtils.composite(potionModel, flaskModel)); } - public ResourceLocation twoLayerItem(Item item, ModelTemplate template) { - return this.twoLayerItem(item, "", template); + public void generateTwoLayerItem(Item item, String modelSuffix, String suffix1, String suffix2, ModelTemplate template) { + this.itemModelOutput.accept(item, ItemModelUtils.plainModel(this.twoLayerItem(item, modelSuffix, suffix1, suffix2, template))); + } + + public void generateTwoLayerItem(Item item, String suffix, ModelTemplate template) { + this.itemModelOutput.accept(item, ItemModelUtils.plainModel(this.twoLayerItem(item, "", "", suffix, template))); } public ResourceLocation twoLayerItem(Item item, String suffix, ModelTemplate template) { + return this.twoLayerItem(item, "", "", suffix, template); + } + + public ResourceLocation twoLayerItem(Item item, String modelSuffix, String suffix1, String suffix2, ModelTemplate template) { ResourceLocation baseTex = TextureMapping.getItemTexture(item); - return template.create(ModelLocationUtils.getModelLocation(item, suffix), TextureMapping.layered(baseTex.withSuffix("_solid"), baseTex.withSuffix("_clear")), this.modelOutput); + return template.create(ModelLocationUtils.getModelLocation(item, modelSuffix), TextureMapping.layered(baseTex.withSuffix(suffix1 + modelSuffix), baseTex.withSuffix(suffix2 + modelSuffix)), this.modelOutput); } } diff --git a/src/main/java/twilightforest/client/event/ColorHandler.java b/src/main/java/twilightforest/client/event/ColorHandler.java index 5258a80624..f214931089 100644 --- a/src/main/java/twilightforest/client/event/ColorHandler.java +++ b/src/main/java/twilightforest/client/event/ColorHandler.java @@ -11,7 +11,9 @@ import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; import net.neoforged.neoforge.registries.DeferredHolder; +import twilightforest.TwilightForestMod; import twilightforest.block.ClimbableHollowLogBlock; +import twilightforest.client.properties.PotionFlaskTintSource; import twilightforest.components.item.PotionFlaskComponent; import twilightforest.enums.HollowLogVariants; import twilightforest.init.TFBlocks; @@ -209,24 +211,7 @@ protected static void registerBlockColors(RegisterColorHandlersEvent.Block event event.register((state, getter, pos, tintIndex) -> 0xFF0DDEFF, TFBlocks.BLUE_FORCE_FIELD.get()); } -// protected static void registerItemColors(RegisterColorHandlersEvent.Item event) { -// BlockColors blockColors = event.getBlockColors(); -// -// event.register((stack, tintIndex) -> stack.getItem() instanceof BlockItem blocc ? blockColors.getColor(blocc.getBlock().defaultBlockState(), null, null, tintIndex) : -1, -// TFBlocks.AURORA_BLOCK.get(), TFBlocks.AURORA_PILLAR.get(), TFBlocks.AURORA_SLAB.get(), TFBlocks.AURORALIZED_GLASS.get(), TFBlocks.DARK_LEAVES.get(), TFBlocks.GIANT_LEAVES.get(), TFBlocks.SMOKER.get(), TFBlocks.FIRE_JET.get(), -// TFBlocks.TIME_LEAVES.get(), TFBlocks.TRANSFORMATION_LEAVES.get(), TFBlocks.MINING_LEAVES.get(), TFBlocks.SORTING_LEAVES.get(), TFBlocks.TWILIGHT_OAK_LEAVES.get(), TFBlocks.CANOPY_LEAVES.get(), TFBlocks.MANGROVE_LEAVES.get(), TFBlocks.RAINBOW_OAK_LEAVES.get(), TFBlocks.THORN_LEAVES.get(), TFBlocks.BEANSTALK_LEAVES.get(), -// TFBlocks.FALLEN_LEAVES.get(), TFBlocks.FIDDLEHEAD.get(), TFBlocks.POTTED_FIDDLEHEAD.get(), TFBlocks.PINK_CASTLE_RUNE_BRICK.get(), TFBlocks.BLUE_CASTLE_RUNE_BRICK.get(), TFBlocks.YELLOW_CASTLE_RUNE_BRICK.get(), TFBlocks.VIOLET_CASTLE_RUNE_BRICK.get(), -// TFBlocks.YELLOW_CASTLE_DOOR.get(), TFBlocks.BLUE_CASTLE_DOOR.get(), TFBlocks.PINK_CASTLE_DOOR.get(), TFBlocks.VIOLET_CASTLE_DOOR.get(), TFBlocks.PINK_FORCE_FIELD.get(), TFBlocks.BLUE_FORCE_FIELD.get(), TFBlocks.GREEN_FORCE_FIELD.get(), TFBlocks.ORANGE_FORCE_FIELD.get(), TFBlocks.VIOLET_FORCE_FIELD.get(), TFBlocks.HUGE_LILY_PAD.get(), -// TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), /*TFBlocks.HEDGE_MAZE_MINIATURE_STRUCTURE.get(), TFBlocks.HOLLOW_HILL_MINIATURE_STRUCTURE.get(), TFBlocks.QUEST_GROVE_MINIATURE_STRUCTURE.get(), TFBlocks.MUSHROOM_TOWER_MINIATURE_STRUCTURE.get(),*/ TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TFBlocks.LICH_TOWER_MINIATURE_STRUCTURE.get()//, TFBlocks.MINOTAUR_LABYRINTH_MINIATURE_STRUCTURE.get(), -// /*TFBlocks.HYDRA_LAIR_MINIATURE_STRUCTURE.get(), TFBlocks.GOBLIN_STRONGHOLD_MINIATURE_STRUCTURE.get(), TFBlocks.DARK_TOWER_MINIATURE_STRUCTURE.get(), TFBlocks.YETI_CAVE_MINIATURE_STRUCTURE.get(), TFBlocks.AURORA_PALACE_MINIATURE_STRUCTURE.get(), TFBlocks.TROLL_CAVE_COTTAGE_MINIATURE_STRUCTURE.get(), TFBlocks.FINAL_CASTLE_MINIATURE_STRUCTURE.get()*/); -// -// event.register((stack, index) -> index != 1 ? -1 : DyedItemColor.getOrDefault(stack, ArcticArmorItem.DEFAULT_COLOR), TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); -// -// event.register((stack, index) -> { -// if (index > 0) return -1; -// var contents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); -// if (contents.potion().potion().isEmpty()) return -1; -// return contents.potion().getColor(); -// }, TFItems.BRITTLE_FLASK.get(), TFItems.GREATER_FLASK.get()); -// } + protected static void registerTintSources(RegisterColorHandlersEvent.ItemTintSources event) { + event.register(TwilightForestMod.prefix("potion_flask"), PotionFlaskTintSource.TYPE); + } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 05188d2dac..c443e1aa83 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -58,9 +58,7 @@ import twilightforest.client.model.block.patch.PatchModelLoader; import twilightforest.client.model.entity.*; import twilightforest.client.particle.*; -import twilightforest.client.properties.MoonwormQueenPulse; -import twilightforest.client.properties.NaturalDimension; -import twilightforest.client.properties.OreMeterFlash; +import twilightforest.client.properties.*; import twilightforest.client.renderer.PotionFlaskTooltipComponent; import twilightforest.client.renderer.TFSimpleArmorRenderer; import twilightforest.client.renderer.entity.RisingZombieRenderer; @@ -104,9 +102,13 @@ public static void initModBusEvents(IEventBus bus) { bus.addListener(RegistrationEvents::registerCustomRenderData); bus.addListener(RegistrationEvents::registerSpecialModelTypes); bus.addListener(RegistrationEvents::registerSpecialModels); + bus.addListener(RegistrationEvents::registerConditionalProperties); + bus.addListener(RegistrationEvents::registerRangeProperties); + bus.addListener(RegistrationEvents::registerSelectProperties); bus.addListener(ColorHandler::registerBlockColors); + bus.addListener(ColorHandler::registerTintSources); bus.addListener(OverlayHandler::registerOverlays); @@ -127,17 +129,6 @@ private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { // ItemProperties.register(TFItems.CUBE_OF_ANNIHILATION.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> // stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); // -// ItemProperties.register(TFBlocks.RED_THREAD.get().asItem(), TwilightForestMod.prefix("size"), (stack, level, entity, idk) -> { -// if (stack.getCount() >= 32) { -// return 1.0F; -// } else if (stack.getCount() >= 16) { -// return 0.5F; -// } else if (stack.getCount() >= 4) { -// return 0.25F; -// } -// return 0.0F; -// }); -// // ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.THINK, (stack, level, entity, idk) -> // stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("think") ? 1 : 0); // @@ -335,6 +326,15 @@ private static void registerConditionalProperties(RegisterConditionalItemModelPr event.register(TwilightForestMod.prefix("ore_meter_flash"), OreMeterFlash.TYPE); } + private static void registerRangeProperties(RegisterRangeSelectItemModelPropertyEvent event) { + event.register(TwilightForestMod.prefix("potion_flask_dosage"), PotionFlaskDosage.TYPE); + event.register(TwilightForestMod.prefix("potion_flask_damage"), PotionFlaskDamage.TYPE); + } + + private static void registerSelectProperties(RegisterSelectItemModelPropertyEvent event) { + event.register(TwilightForestMod.prefix("experiment_115_variant"), Experiment115Type.TYPE); + } + private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(TFModelLayers.ARCTIC_ARMOR_INNER, () -> LayerDefinition.create(ArcticArmorModel.addPieces(LayerDefinitions.INNER_ARMOR_DEFORMATION), 64, 32)); event.registerLayerDefinition(TFModelLayers.ARCTIC_ARMOR_OUTER, () -> LayerDefinition.create(ArcticArmorModel.addPieces(LayerDefinitions.OUTER_ARMOR_DEFORMATION), 64, 32)); diff --git a/src/main/java/twilightforest/client/properties/Experiment115Type.java b/src/main/java/twilightforest/client/properties/Experiment115Type.java new file mode 100644 index 0000000000..4b6dd34181 --- /dev/null +++ b/src/main/java/twilightforest/client/properties/Experiment115Type.java @@ -0,0 +1,29 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.select.SelectItemModelProperty; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; +import twilightforest.init.TFDataComponents; + +public class Experiment115Type implements SelectItemModelProperty { + + public static final SelectItemModelProperty.Type TYPE = SelectItemModelProperty.Type.create( + MapCodec.unit(new Experiment115Type()), Codec.STRING + ); + + @Nullable + @Override + public String get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed, ItemDisplayContext displayContext) { + return stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS); + } + + @Override + public Type, String> type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/properties/PotionFlaskDamage.java b/src/main/java/twilightforest/client/properties/PotionFlaskDamage.java new file mode 100644 index 0000000000..09f41e579e --- /dev/null +++ b/src/main/java/twilightforest/client/properties/PotionFlaskDamage.java @@ -0,0 +1,33 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.numeric.RangeSelectItemModelProperty; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; +import twilightforest.components.item.PotionFlaskComponent; +import twilightforest.init.TFDataComponents; +import twilightforest.item.BrittleFlaskItem; + +public record PotionFlaskDamage(boolean normalize) implements RangeSelectItemModelProperty { + + public static final MapCodec TYPE = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.BOOL.optionalFieldOf("normalize", true).forGetter(PotionFlaskDamage::normalize)) + .apply(instance, PotionFlaskDamage::new) + ); + + @Override + public float get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { + PotionFlaskComponent contents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); + return this.normalize ? Mth.clamp((float) contents.breakage() / BrittleFlaskItem.DOSES, 0.0F, 1.0F) : Mth.clamp(contents.breakage(), 0.0F, BrittleFlaskItem.DOSES); + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/properties/PotionFlaskDosage.java b/src/main/java/twilightforest/client/properties/PotionFlaskDosage.java new file mode 100644 index 0000000000..ce0e12289b --- /dev/null +++ b/src/main/java/twilightforest/client/properties/PotionFlaskDosage.java @@ -0,0 +1,33 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.item.properties.numeric.RangeSelectItemModelProperty; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; +import twilightforest.components.item.PotionFlaskComponent; +import twilightforest.init.TFDataComponents; +import twilightforest.item.BrittleFlaskItem; + +public record PotionFlaskDosage(boolean normalize) implements RangeSelectItemModelProperty { + + public static final MapCodec TYPE = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.BOOL.optionalFieldOf("normalize", true).forGetter(PotionFlaskDosage::normalize)) + .apply(instance, PotionFlaskDosage::new) + ); + + @Override + public float get(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { + PotionFlaskComponent contents = stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY); + return this.normalize ? Mth.clamp((float) contents.doses() / BrittleFlaskItem.DOSES, 0.0F, 1.0F) : Mth.clamp(contents.doses(), 0.0F, BrittleFlaskItem.DOSES); + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/properties/PotionFlaskTintSource.java b/src/main/java/twilightforest/client/properties/PotionFlaskTintSource.java new file mode 100644 index 0000000000..1ac3f9efd6 --- /dev/null +++ b/src/main/java/twilightforest/client/properties/PotionFlaskTintSource.java @@ -0,0 +1,35 @@ +package twilightforest.client.properties; + +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.color.item.ItemTintSource; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.util.ARGB; +import net.minecraft.util.ExtraCodecs; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import twilightforest.components.item.PotionFlaskComponent; +import twilightforest.init.TFDataComponents; + +import javax.annotation.Nullable; + +public record PotionFlaskTintSource(int defaultColor) implements ItemTintSource { + public static final MapCodec TYPE = RecordCodecBuilder.mapCodec(instance -> instance.group( + ExtraCodecs.RGB_COLOR_CODEC.fieldOf("default").forGetter(PotionFlaskTintSource::defaultColor)) + .apply(instance, PotionFlaskTintSource::new)); + + public PotionFlaskTintSource() { + this(-13083194); + } + + @Override + public int calculate(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity) { + PotionFlaskComponent flask = stack.get(TFDataComponents.POTION_FLASK_CONTENTS); + return flask != null ? ARGB.opaque(flask.potion().getColorOr(this.defaultColor)) : ARGB.opaque(this.defaultColor); + } + + @Override + public MapCodec type() { + return TYPE; + } +} diff --git a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java index a8dc4a1979..de375157a1 100644 --- a/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java +++ b/src/main/java/twilightforest/client/renderer/PotionFlaskTooltipComponent.java @@ -58,12 +58,12 @@ private int getDescriptionHeight(Font font) { if (component.getString().isEmpty()) { height += font.lineHeight; } - height += font.split(component, WIDTH).size() * font.lineHeight + 1; + height += font.split(component, this.getWidth(font)).size() * font.lineHeight + 1; } return height; } - return font.split(EMPTY_DESCRIPTION, WIDTH).size() * font.lineHeight + 1; + return font.split(EMPTY_DESCRIPTION, this.getWidth(font)).size() * font.lineHeight + 1; } private List getPotionTooltips() { @@ -96,7 +96,7 @@ public void renderImage(Font font, int x, int y, int xOffs, int yOffs, GuiGraphi height += font.split(component, WIDTH).size() * font.lineHeight + 1; } } - this.drawPotionBar(x + this.getContentXOffset(xOffs), y + this.getDescriptionHeight(font) + 4, font, graphics); + this.drawPotionBar(x, y + this.getDescriptionHeight(font) + 4, font, graphics); } private void drawPotionBar(int x, int y, Font font, GuiGraphics graphics) { diff --git a/src/main/resources/assets/twilightforest/textures/item/exanimate_powder.png b/src/main/resources/assets/twilightforest/textures/item/exanimate_essence.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/item/exanimate_powder.png rename to src/main/resources/assets/twilightforest/textures/item/exanimate_essence.png diff --git a/src/main/resources/assets/twilightforest/textures/item/exanimate_flames.png b/src/main/resources/assets/twilightforest/textures/item/exanimate_essence_flames.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/item/exanimate_flames.png rename to src/main/resources/assets/twilightforest/textures/item/exanimate_essence_flames.png diff --git a/src/main/resources/assets/twilightforest/textures/map/decorations/questing_grove.png b/src/main/resources/assets/twilightforest/textures/map/decorations/questing_grove.png deleted file mode 100644 index c67657b8389fba2e3e425d5a5c95ed6089cae757..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!7xu3#}JL+TE9R(2Sb*}cMnbfeZTRrMd#W_ zx*s>13i5_NJ+nl7-@EbyjxGt4)52K$B+I@wN$P4Uz48b(JY1ODm(c9JQMT^j$p`Pw ks>w?pxSg4{qd9}|9Gmmw$xe+sfHp9Ay85}Sb4q9e0F6CCY5)KL From dcf1db81be5cbdb98a3971a543e12d38bf6b9039 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:26:33 -0600 Subject: [PATCH 119/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 51 +++++++++- .../blockstates/red_thread.json | 7 ++ .../twilightforest/items/borer_essence.json | 6 ++ .../items/brittle_potion_flask.json | 95 +++++++++++++++++++ .../items/cube_of_annihilation.json | 15 +++ .../twilightforest/items/cube_talisman.json | 6 ++ .../items/exanimate_essence.json | 6 ++ .../twilightforest/items/experiment_115.json | 24 ++++- .../items/filled_magic_map.json | 6 ++ .../twilightforest/items/filled_maze_map.json | 6 ++ .../twilightforest/items/filled_ore_map.json | 6 ++ .../items/four_leaf_clover.json | 6 ++ .../items/greater_potion_flask.json | 61 ++++++++++++ .../twilightforest/items/magic_painting.json | 6 ++ .../twilightforest/items/red_thread.json | 33 +++++++ .../models/block/red_thread.json | 5 + .../models/item/borer_essence.json | 7 ++ .../models/item/brittle_potion_flask.json | 6 ++ .../models/item/brittle_potion_flask_1.json | 6 ++ .../models/item/brittle_potion_flask_2.json | 6 ++ .../models/item/brittle_potion_flask_3.json | 6 ++ .../item/brittle_potion_flask_damaged.json | 6 ++ .../item/brittle_potion_flask_labelled.json | 6 ++ .../item/brittle_potion_flask_splintered.json | 6 ++ .../models/item/cube_of_annihilation.json | 6 ++ .../item/cube_of_annihilation_thrown.json | 6 ++ .../models/item/cube_talisman.json | 6 ++ .../models/item/exanimate_essence.json | 7 ++ .../models/item/experiment_115_think.json | 6 ++ .../models/item/filled_magic_map.json | 6 ++ .../models/item/filled_maze_map.json | 6 ++ .../models/item/filled_ore_map.json | 6 ++ .../models/item/four_leaf_clover.json | 6 ++ .../models/item/greater_potion_flask.json | 6 ++ .../models/item/greater_potion_flask_1.json | 6 ++ .../models/item/greater_potion_flask_2.json | 6 ++ .../models/item/greater_potion_flask_3.json | 6 ++ .../models/item/ice_bow_pulling_0.json | 4 +- .../models/item/ice_bow_pulling_1.json | 4 +- .../models/item/ice_bow_pulling_2.json | 4 +- .../models/item/magic_painting.json | 6 ++ .../models/item/potion_flask_empty.json | 6 ++ .../models/item/red_thread.json | 6 ++ .../models/item/red_thread_bundle_0.json | 6 ++ .../models/item/red_thread_bundle_1.json | 6 ++ .../models/item/red_thread_bundle_2.json | 6 ++ 46 files changed, 502 insertions(+), 13 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/red_thread.json create mode 100644 src/generated/resources/assets/twilightforest/items/borer_essence.json create mode 100644 src/generated/resources/assets/twilightforest/items/brittle_potion_flask.json create mode 100644 src/generated/resources/assets/twilightforest/items/cube_of_annihilation.json create mode 100644 src/generated/resources/assets/twilightforest/items/cube_talisman.json create mode 100644 src/generated/resources/assets/twilightforest/items/exanimate_essence.json create mode 100644 src/generated/resources/assets/twilightforest/items/filled_magic_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/filled_maze_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/filled_ore_map.json create mode 100644 src/generated/resources/assets/twilightforest/items/four_leaf_clover.json create mode 100644 src/generated/resources/assets/twilightforest/items/greater_potion_flask.json create mode 100644 src/generated/resources/assets/twilightforest/items/magic_painting.json create mode 100644 src/generated/resources/assets/twilightforest/items/red_thread.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/red_thread.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/borer_essence.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_damaged.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_labelled.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_splintered.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/cube_talisman.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/experiment_115_think.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/magic_painting.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/potion_flask_empty.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_2.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 689ca2d4a0..2de8152e2b 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-10T20:36:14.3863784 Model Definitions - twilightforest +// 1.21.4 2025-04-10T23:22:00.7035185 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -291,6 +291,7 @@ d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potte 418c88c60c39a82bf3d9c577d3f7ce7048ec9ea6 assets/twilightforest/blockstates/rainbow_oak_sapling.json cbe3e92148e9c50ba453b1053d17aa3a9aab1bd4 assets/twilightforest/blockstates/rainy_cloud.json ca8b081c660985f4a74b629311953cd19b578d1d assets/twilightforest/blockstates/reappearing_block.json +559af5d22287bc8d15ab9819c724f8451b48b20d assets/twilightforest/blockstates/red_thread.json bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json 580c6986a8d821decce6c95c9d79cf447a0567e2 assets/twilightforest/blockstates/rope.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json @@ -475,6 +476,8 @@ c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle_brick_stairs.json 331a56341dafff69c9721952e7616aca780204e3 assets/twilightforest/items/bold_castle_brick_tile.json 51be9131d247425687001d44e9448fdf65d940d3 assets/twilightforest/items/bold_stone_pillar.json +495c0120e53763e8d45cc9f8b65957838629c2db assets/twilightforest/items/borer_essence.json +940f58025fad338c52ba98f576679afb0394a983 assets/twilightforest/items/brittle_potion_flask.json c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorns.json 7fcee9a21dc23e5a2947d6bc3a7dd8ab95377639 assets/twilightforest/items/burnt_thorns.json 94bcb56bc2cda362bb8af7792cd204abf879e9ec assets/twilightforest/items/candelabra.json @@ -541,6 +544,8 @@ a177726172be22ebef89f85f0144d4759aec51d2 assets/twilightforest/items/cracked_tow cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_banister.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json 075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json +279612534d6c58ef81464793ddca1ab7f80bc792 assets/twilightforest/items/cube_of_annihilation.json +13c2cf5d8cc0c5e055ef61d34074a39d854af444 assets/twilightforest/items/cube_talisman.json 39b440e56ef50da3547af86fb7697bb9f994b2b0 assets/twilightforest/items/cut_mazestone.json 3153d4072e1aa9ee6a6acf41ec81970eb24fb3c5 assets/twilightforest/items/darkwood_sapling.json b2407bc143ee34cc4e1e47c999111d90a9b9dc26 assets/twilightforest/items/dark_banister.json @@ -578,7 +583,8 @@ b2c20466dba10e2c89a7ac55e55454290d4f4e95 assets/twilightforest/items/encased_cas 6881694127e2c04b7de90db26bd1b1e32e72e24b assets/twilightforest/items/encased_towerwood.json d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.json 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json -639d182541ff6049eac72584b8b5e889f890e314 assets/twilightforest/items/experiment_115.json +742fe572cab13fab9c858a8fe7ad466c00b3d994 assets/twilightforest/items/exanimate_essence.json +c45a3180bc1c6e20120121ff5ea630dfb6e5d9f2 assets/twilightforest/items/experiment_115.json 89a3236a7f8ff31d41d6ee4495625961bbdd5e49 assets/twilightforest/items/fiddlehead.json b7b689a64be36eae22a2ad7adf9916ad81a12721 assets/twilightforest/items/fiery_block.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json @@ -590,12 +596,16 @@ e6206ce872b9cb28f0428b845ba29d9de1b80833 assets/twilightforest/items/fiery_helme 1fc7d31a4c8c53ec1c52e6a35170362d185e2632 assets/twilightforest/items/fiery_pickaxe.json ec64f43ef15c68543432ab55a98f1965aa8752fd assets/twilightforest/items/fiery_sword.json d191a9927eefe88f0c7bf99000697363270c9b19 assets/twilightforest/items/fiery_tears.json +6b155c996b4128b174c0fdbcae276b185c5826a1 assets/twilightforest/items/filled_magic_map.json +ce813db4941103ac8042e077dfefeca18f5ce65d assets/twilightforest/items/filled_maze_map.json +a075e6d51bb6968460215b867a86a16bb5537c6d assets/twilightforest/items/filled_ore_map.json 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json ddfbfe59023d896fd7293408debcff571da0e75b assets/twilightforest/items/fluffy_cloud.json d8e003785c5674fbd2fddfeed3472aa0121a2657 assets/twilightforest/items/fortification_scepter.json +d83fbecc6425cd179030d00c7fa8cf871c268a68 assets/twilightforest/items/four_leaf_clover.json 825b5da47a4b465e2d77f10b01788d3be362b4dd assets/twilightforest/items/ghast_trap.json d675a9396e9d3f757942a417a9a08242a6051797 assets/twilightforest/items/giant_cobblestone.json 35dfb0beabebe5e8e45041f422668eb0057cd71e assets/twilightforest/items/giant_leaves.json @@ -606,6 +616,7 @@ e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_picka 34fd62a9f35b6f108a2523b2536b6a98defa3345 assets/twilightforest/items/giant_sword.json 5915d8d3994af28a554c95015893aba9851ef982 assets/twilightforest/items/glass_sword.json aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minotaur_axe.json +1b981a5e8ec0c51fc19b78e7f587cbe2c8c229a2 assets/twilightforest/items/greater_potion_flask.json d2ad19a8ea0ce2efd661e7c0aa2a66b4cd8c1686 assets/twilightforest/items/green_force_field.json d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json @@ -689,6 +700,7 @@ f7c9e142ddb7be93b421a58c5b6e319285d13d4b assets/twilightforest/items/liveroot_bl 9a55e1f732bd74619934d4e50d34d86fdbfc5b86 assets/twilightforest/items/magic_beans.json c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.json 8fd4c876c03bb5702cb354d118ea9123ccfd557f assets/twilightforest/items/magic_map_focus.json +26c27ea4eb89a66f59d40967d17b047302f02488 assets/twilightforest/items/magic_painting.json be669d6c5ab9744744c9a81dfed70e88b22cbf0e assets/twilightforest/items/mangrove_banister.json 90fa384247127e230b028244c6b598086146a491 assets/twilightforest/items/mangrove_boat.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json @@ -817,6 +829,7 @@ f033f9883be3258589ad011cf63668fd10936970 assets/twilightforest/items/raw_venison 33750856199e871039c535e3ecca4fb4215e0a7d assets/twilightforest/items/reappearing_block.json d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapper_spawn_egg.json b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json +78138edda97ede0610bf5160d3bd9f5421e2360e assets/twilightforest/items/red_thread.json d6873cf3981e7fc851792bdd6f6b640d0c015e4c assets/twilightforest/items/root.json 55e7801774c057a351b8788b9d94ff89af310864 assets/twilightforest/items/rope.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json @@ -1607,6 +1620,7 @@ cc4c3931cdd9445247c0dccc5b234058c2fece6d assets/twilightforest/models/block/rain 56df5fb5364868cea031f7d9864e575dedb96aec assets/twilightforest/models/block/reappearing_block_invis.json df5a8d57f702ef72b84411e71d09946fc11c5f2c assets/twilightforest/models/block/reappearing_block_invis_on.json 732e10c49255616016f79ce27a173d3267400909 assets/twilightforest/models/block/reappearing_block_on.json +85a1846fe365e750f6065ae6b2674b599b1890cd assets/twilightforest/models/block/red_thread.json 1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json 7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json @@ -2002,6 +2016,14 @@ cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor cb7cc09776f8428aedf36ac18683f1c1a1ecc744 assets/twilightforest/models/item/block_and_chain.json ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json +6d65cf8e13ce9afe4c2fe6ab81d35749bf7ad362 assets/twilightforest/models/item/borer_essence.json +9d365385309717f3b21e91946b48b789ed5f6528 assets/twilightforest/models/item/brittle_potion_flask.json +5e70e2c07188a9af6b144367e34c32e5d36f3534 assets/twilightforest/models/item/brittle_potion_flask_1.json +86d836338bfee5c6e5b107b5cb97313822a46a8a assets/twilightforest/models/item/brittle_potion_flask_2.json +f6570d3c99e8d742a39a2e7679db4f8a7ca2e5de assets/twilightforest/models/item/brittle_potion_flask_3.json +70a875d94ad7dd9f35eb6ad9fb042b083c1a463b assets/twilightforest/models/item/brittle_potion_flask_damaged.json +ed5b11d9f185533ce21d12de4d7dff8cf9adb215 assets/twilightforest/models/item/brittle_potion_flask_labelled.json +d545882f9f495a8375818400535be2adf1af9cfd assets/twilightforest/models/item/brittle_potion_flask_splintered.json f530b5269751cdcc82e3e8c32377525d10d714e7 assets/twilightforest/models/item/canopy_boat.json 9070b9c1f049002422c47a06e6a137a13ff9b06c assets/twilightforest/models/item/canopy_chest.json e1139510edd55c4d52f005d55dc60b8df95badd4 assets/twilightforest/models/item/canopy_chest_boat.json @@ -2022,6 +2044,9 @@ db0b4a62901bb0e4ba7098fcf4ce6d75e906c2e9 assets/twilightforest/models/item/clove 55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json 26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json f49a7461b6de4822b4190d497c6db54a7c5d8721 assets/twilightforest/models/item/crumble_horn.json +d36c63d26640d408e6da58c5cf6759bd6d1f8ae2 assets/twilightforest/models/item/cube_of_annihilation.json +1ce5d3fe1b3c3104bee4bab8dd23df16c5393881 assets/twilightforest/models/item/cube_of_annihilation_thrown.json +a7c7d75939e66246dbb6064fad965191f4da748e assets/twilightforest/models/item/cube_talisman.json 1a55c73749a19400422d96f7d7ec241f75daf441 assets/twilightforest/models/item/darkwood_sapling.json 8b091e6bdefce5c8702babeb30bd1e889ba085f0 assets/twilightforest/models/item/dark_boat.json 5593abaed6dc3aeef52107b6c24160221b9b6491 assets/twilightforest/models/item/dark_chest.json @@ -2036,7 +2061,9 @@ bb5f3969ff84f8af6a50b31138ba47c88a1d0f35 assets/twilightforest/models/item/ender 2112c5b4eaa70e8cc5af2223ae96a0668af27ac7 assets/twilightforest/models/item/ender_bow_pulling_0.json 7d467d720096c8a1f927afe794fbef7e0f92e14c assets/twilightforest/models/item/ender_bow_pulling_1.json c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender_bow_pulling_2.json +c12a5c0ad2812a47a64c6838f927aa9c3ec1d98c assets/twilightforest/models/item/exanimate_essence.json 2df1005f58e6d3fbb401130330bd70ab78796380 assets/twilightforest/models/item/experiment_115.json +78629f1e6bc7d7af1d8bd03d9d445f839bcb37f8 assets/twilightforest/models/item/experiment_115_think.json 47b5e16cf269b2e6645653c5c184984eb596f6ca assets/twilightforest/models/item/fiddlehead.json d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json @@ -2115,20 +2142,28 @@ cec6499b7351df7be3eefddbb3e276faab8fde0b assets/twilightforest/models/item/fiery a950fc3e879f22ec4bbc6ea73780f31fb49d0813 assets/twilightforest/models/item/fiery_pickaxe.json 5a511fe94d38150879285fe402ee1f4f4600689a assets/twilightforest/models/item/fiery_sword.json d895c75381c7feefb45bb9b9554f3530b3ab90c6 assets/twilightforest/models/item/fiery_tears.json +5181d8a26402dcc3029d8f006e5d7619e80b1f77 assets/twilightforest/models/item/filled_magic_map.json +2cee91b73f1e622d13636ea951266294a7f8858f assets/twilightforest/models/item/filled_maze_map.json +a4efc46b585c4575013020061d1c0ff5ec73261b assets/twilightforest/models/item/filled_ore_map.json d7417e6f9a2cc511240c8c69b6d50668fad4c92a assets/twilightforest/models/item/fortification_scepter.json +9f410438de778e29167734c6d25de587438ba73d assets/twilightforest/models/item/four_leaf_clover.json 3143ff12e27e0c247d02db77b100b891542d5df3 assets/twilightforest/models/item/giant_pickaxe.json f8f5ca82ad63231d20843c16d43aa090d6cf2616 assets/twilightforest/models/item/giant_sword.json 9d1ea9a2d4af16c34c90f72733fd03b951263c68 assets/twilightforest/models/item/glass_sword.json e21b89209c4ae4bdf01ecbbd79a13e5209f36681 assets/twilightforest/models/item/gold_minotaur_axe.json +a4e7763547cd6d6bc95cb994ea2211756bb6f2e2 assets/twilightforest/models/item/greater_potion_flask.json +2c4278ea7e4c03ae4c98559d0c07a6fa3ca78e4c assets/twilightforest/models/item/greater_potion_flask_1.json +fa90294ea298166538510be4b1c507af243b991e assets/twilightforest/models/item/greater_potion_flask_2.json +60f30b5e51bdbcf2c50a1f84ad549d90124a15e1 assets/twilightforest/models/item/greater_potion_flask_3.json 3050f83aa9bd94aadb652f5bc6d58ea10d6be357 assets/twilightforest/models/item/green_force_field.json 94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json 7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json 6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json 6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow.json -6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_0.json -6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_1.json -6a5d641934290bc1e287e0ac23ecc1970492dab3 assets/twilightforest/models/item/ice_bow_pulling_2.json +343869b220112f1779587136c012defc4df8654c assets/twilightforest/models/item/ice_bow_pulling_0.json +d79a6f4b6044fc9729b7c81a84bdb86a83471d39 assets/twilightforest/models/item/ice_bow_pulling_1.json +9e89ee3aaf30a6e70278e24260ece969c7620811 assets/twilightforest/models/item/ice_bow_pulling_2.json 15e9bc03adbdcc917443791c9b8e02433a1b1072 assets/twilightforest/models/item/ice_sword.json 7f67e5c4fb773f4e6667073fd9b0723a242e9fe6 assets/twilightforest/models/item/ironwood_axe.json 6482ea17b1e18de5b88d81b5cd637a0707995665 assets/twilightforest/models/item/ironwood_boots.json @@ -2292,6 +2327,7 @@ c1428d0907051e585b83662a7414fcc9b8450fcc assets/twilightforest/models/item/liver b488c0e68304fe38b56b843b215bb46abd69fbc3 assets/twilightforest/models/item/magic_beans.json ff9e2e8376642cf0ae9452f73d2cdd2ae486022e assets/twilightforest/models/item/magic_map.json 3be27be382684a8a3955e7658c54d3d34a6a444c assets/twilightforest/models/item/magic_map_focus.json +7d6333678dc9845504c0da7b660debb25fc58dc6 assets/twilightforest/models/item/magic_painting.json 44ba301b492f28d0b9bfd8cc87b39c994c056e5d assets/twilightforest/models/item/major_boss_trophy.json 40e9fe30b711daf2712fa6533799c9bbe0c2366e assets/twilightforest/models/item/mangrove_boat.json 60593ce632bae51ade9afdc913ec273057fe5faa assets/twilightforest/models/item/mangrove_chest.json @@ -2422,6 +2458,7 @@ d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phant 4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json 158d791dc62223ad2b32309e9ecfcde09c364feb assets/twilightforest/models/item/pink_force_field.json 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json +cb78585b0e58039a36213d03546532f17d02229f assets/twilightforest/models/item/potion_flask_empty.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json 1bcf251cd7d77b9e841783508272d4d56ad7310e assets/twilightforest/models/item/quest_trophy.json b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainbow_oak_sapling.json @@ -2429,6 +2466,10 @@ b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainb 1e4c3d381913d42fdb65677fd5a2e3e4eb1b8589 assets/twilightforest/models/item/raw_ironwood.json 6564efa1440a974c23735ae4b4d65dbcde17af4c assets/twilightforest/models/item/raw_meef.json 1bbdd61f3f1d2b53812fbe21f1e53e42b55a7de7 assets/twilightforest/models/item/raw_venison.json +3cc0368c255ca57c543c1fc41804c8e04daf47c8 assets/twilightforest/models/item/red_thread.json +838755413cb66599d04290c9c7a66f4f4d1f0fea assets/twilightforest/models/item/red_thread_bundle_0.json +fcbf4ee3bdfc26cb430f28f4e76771da074a5aa0 assets/twilightforest/models/item/red_thread_bundle_1.json +8ffd7ca851414b40b4515be3ce1e9abfe92a1b8d assets/twilightforest/models/item/red_thread_bundle_2.json 9906e876cf4bf9bb6e28032e6129c3dba7081de4 assets/twilightforest/models/item/rope.json 37fa09cd8fb43aefdde6539b1d7a3744ed6b47e2 assets/twilightforest/models/item/seeker_bow.json 014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/red_thread.json b/src/generated/resources/assets/twilightforest/blockstates/red_thread.json new file mode 100644 index 0000000000..74496b7773 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/red_thread.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/red_thread" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/borer_essence.json b/src/generated/resources/assets/twilightforest/items/borer_essence.json new file mode 100644 index 0000000000..5ef7953230 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/borer_essence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/borer_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/brittle_potion_flask.json b/src/generated/resources/assets/twilightforest/items/brittle_potion_flask.json new file mode 100644 index 0000000000..8c59165e96 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/brittle_potion_flask.json @@ -0,0 +1,95 @@ +{ + "model": { + "type": "minecraft:composite", + "models": [ + { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_1", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 1.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_2", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 2.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_3", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 3.0 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/potion_flask_empty" + }, + "normalize": false, + "property": "twilightforest:potion_flask_dosage" + }, + { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:condition", + "component": "twilightforest:flask_contents", + "ignore_default": true, + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_labelled" + }, + "property": "minecraft:has_component" + }, + "threshold": 0.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_splintered" + }, + "threshold": 1.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/brittle_potion_flask_damaged" + }, + "threshold": 2.0 + } + ], + "normalize": false, + "property": "twilightforest:potion_flask_damage" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cube_of_annihilation.json b/src/generated/resources/assets/twilightforest/items/cube_of_annihilation.json new file mode 100644 index 0000000000..d2d49f2967 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cube_of_annihilation.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:condition", + "component": "twilightforest:thrown_projectile", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/cube_of_annihilation" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:item/cube_of_annihilation_thrown" + }, + "property": "minecraft:has_component" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cube_talisman.json b/src/generated/resources/assets/twilightforest/items/cube_talisman.json new file mode 100644 index 0000000000..cf368508e2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cube_talisman.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/cube_talisman" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/exanimate_essence.json b/src/generated/resources/assets/twilightforest/items/exanimate_essence.json new file mode 100644 index 0000000000..a20045363e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/exanimate_essence.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/exanimate_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/experiment_115.json b/src/generated/resources/assets/twilightforest/items/experiment_115.json index 5bbe6035f1..ec169a3045 100644 --- a/src/generated/resources/assets/twilightforest/items/experiment_115.json +++ b/src/generated/resources/assets/twilightforest/items/experiment_115.json @@ -1,6 +1,26 @@ { "model": { - "type": "minecraft:model", - "model": "twilightforest:item/experiment_115" + "type": "minecraft:select", + "cases": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/experiment_115_think" + }, + "when": "think" + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/experiment_115_8_8_regenerating" + }, + "when": "full" + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/experiment_115" + }, + "property": "twilightforest:experiment_115_variant" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/filled_magic_map.json b/src/generated/resources/assets/twilightforest/items/filled_magic_map.json new file mode 100644 index 0000000000..4c0361c139 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/filled_magic_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/filled_magic_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/filled_maze_map.json b/src/generated/resources/assets/twilightforest/items/filled_maze_map.json new file mode 100644 index 0000000000..3d95ca4445 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/filled_maze_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/filled_maze_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/filled_ore_map.json b/src/generated/resources/assets/twilightforest/items/filled_ore_map.json new file mode 100644 index 0000000000..a5b69efb1a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/filled_ore_map.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/filled_ore_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/four_leaf_clover.json b/src/generated/resources/assets/twilightforest/items/four_leaf_clover.json new file mode 100644 index 0000000000..3da779c9b2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/four_leaf_clover.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/four_leaf_clover" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/greater_potion_flask.json b/src/generated/resources/assets/twilightforest/items/greater_potion_flask.json new file mode 100644 index 0000000000..d197d7b4c0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/greater_potion_flask.json @@ -0,0 +1,61 @@ +{ + "model": { + "type": "minecraft:composite", + "models": [ + { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/greater_potion_flask_1", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 1.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/greater_potion_flask_2", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 2.0 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/greater_potion_flask_3", + "tints": [ + { + "type": "twilightforest:potion_flask", + "default": -13083194 + } + ] + }, + "threshold": 3.0 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/potion_flask_empty" + }, + "normalize": false, + "property": "twilightforest:potion_flask_dosage" + }, + { + "type": "minecraft:model", + "model": "twilightforest:item/greater_potion_flask" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/magic_painting.json b/src/generated/resources/assets/twilightforest/items/magic_painting.json new file mode 100644 index 0000000000..2557cb3b2e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/magic_painting.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/magic_painting" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/red_thread.json b/src/generated/resources/assets/twilightforest/items/red_thread.json new file mode 100644 index 0000000000..0fc8c75d83 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/red_thread.json @@ -0,0 +1,33 @@ +{ + "model": { + "type": "minecraft:range_dispatch", + "entries": [ + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/red_thread_bundle_0" + }, + "threshold": 0.0625 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/red_thread_bundle_1" + }, + "threshold": 0.25 + }, + { + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/red_thread_bundle_2" + }, + "threshold": 0.5 + } + ], + "fallback": { + "type": "minecraft:model", + "model": "twilightforest:item/red_thread" + }, + "property": "minecraft:count" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/red_thread.json b/src/generated/resources/assets/twilightforest/models/block/red_thread.json new file mode 100644 index 0000000000..d3a507333f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/red_thread.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/blank" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/borer_essence.json b/src/generated/resources/assets/twilightforest/models/item/borer_essence.json new file mode 100644 index 0000000000..80e23c3640 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/borer_essence.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/borer_essence", + "layer1": "twilightforest:item/borer_essence_particles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json new file mode 100644 index 0000000000..ad2b800a13 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_1.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_1.json new file mode 100644 index 0000000000..f980d890e9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_2.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_2.json new file mode 100644 index 0000000000..19d174fcd6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_3.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_3.json new file mode 100644 index 0000000000..edf6a8dce3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_damaged.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_damaged.json new file mode 100644 index 0000000000..89392c32bc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_damaged.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_damaged" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_labelled.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_labelled.json new file mode 100644 index 0000000000..17c9c7a652 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_labelled.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_labelled" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_splintered.json b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_splintered.json new file mode 100644 index 0000000000..3bd06289ec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/brittle_potion_flask_splintered.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/brittle_potion_flask_splintered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json new file mode 100644 index 0000000000..98f65a3be9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/cube_of_annihilation" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json new file mode 100644 index 0000000000..9d8b44da00 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/cube_of_annihilation_thrown.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "twilightforest:item/cube_of_annihilation_thrown" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json b/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json new file mode 100644 index 0000000000..97850a047f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/cube_talisman.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/cube_talisman" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json b/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json new file mode 100644 index 0000000000..3e4154f3d9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/exanimate_essence.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/exanimate_essence", + "layer1": "twilightforest:item/exanimate_essence_flames" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/experiment_115_think.json b/src/generated/resources/assets/twilightforest/models/item/experiment_115_think.json new file mode 100644 index 0000000000..3682ce71c2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/experiment_115_think.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/think115" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json new file mode 100644 index 0000000000..fc36c9f13f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/filled_magic_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/filled_magic_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json new file mode 100644 index 0000000000..2d03aa2a31 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/filled_maze_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/filled_maze_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json b/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json new file mode 100644 index 0000000000..2e8fd0893c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/filled_ore_map.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/filled_ore_map" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json b/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json new file mode 100644 index 0000000000..61b916f321 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/four_leaf_clover.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/four_leaf_clover" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json new file mode 100644 index 0000000000..c12f761f5a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/greater_potion_flask" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_1.json b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_1.json new file mode 100644 index 0000000000..fab2670858 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/greater_potion_flask_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_2.json b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_2.json new file mode 100644 index 0000000000..c2e4e66a65 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/greater_potion_flask_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_3.json b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_3.json new file mode 100644 index 0000000000..01a8d142b1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/greater_potion_flask_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/greater_potion_flask_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json index 58be024505..5a1fe12ce4 100644 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_0.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/bow", "textures": { - "layer0": "twilightforest:item/ice_bow_solid", - "layer1": "twilightforest:item/ice_bow_clear" + "layer0": "twilightforest:item/ice_bow_solid_pulling_0", + "layer1": "twilightforest:item/ice_bow_clear_pulling_0" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json index 58be024505..97d309993b 100644 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_1.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/bow", "textures": { - "layer0": "twilightforest:item/ice_bow_solid", - "layer1": "twilightforest:item/ice_bow_clear" + "layer0": "twilightforest:item/ice_bow_solid_pulling_1", + "layer1": "twilightforest:item/ice_bow_clear_pulling_1" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json index 58be024505..6979878263 100644 --- a/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json +++ b/src/generated/resources/assets/twilightforest/models/item/ice_bow_pulling_2.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/bow", "textures": { - "layer0": "twilightforest:item/ice_bow_solid", - "layer1": "twilightforest:item/ice_bow_clear" + "layer0": "twilightforest:item/ice_bow_solid_pulling_2", + "layer1": "twilightforest:item/ice_bow_clear_pulling_2" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/magic_painting.json b/src/generated/resources/assets/twilightforest/models/item/magic_painting.json new file mode 100644 index 0000000000..e997ca2b0f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/magic_painting.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/magic_painting" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/potion_flask_empty.json b/src/generated/resources/assets/twilightforest/models/item/potion_flask_empty.json new file mode 100644 index 0000000000..e3fa4292ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/potion_flask_empty.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/blank" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread.json b/src/generated/resources/assets/twilightforest/models/item/red_thread.json new file mode 100644 index 0000000000..8ff686a146 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/red_thread.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/red_thread" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_0.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_0.json new file mode 100644 index 0000000000..20fc88bda7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/red_thread_bundle_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_1.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_1.json new file mode 100644 index 0000000000..4375ac9586 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/red_thread_bundle_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_2.json b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_2.json new file mode 100644 index 0000000000..a3e734d76b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/red_thread_bundle_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/red_thread_bundle_2" + } +} \ No newline at end of file From 3e1724228086d918b1e1e117f5334c8a5a1da17b Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Apr 2025 12:02:48 -0600 Subject: [PATCH 120/239] leaf fixes, water plants --- .../assets/models/BlockModelGenerator.java | 28 ++++++++------ .../helpers/models/BlockModelBuilders.java | 23 ++++++++++- .../helpers/models/WoodBlockBuilders.java | 38 ++++++++++++++----- .../client/event/RegistrationEvents.java | 20 +--------- 4 files changed, 68 insertions(+), 41 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index ec3e955657..4662391f95 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -2,11 +2,9 @@ import net.minecraft.client.color.item.GrassColorSource; import net.minecraft.client.data.models.ItemModelOutput; -import net.minecraft.client.data.models.ModelProvider; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -46,7 +44,7 @@ public void run() { this.thorns(TFBlocks.GREEN_THORNS.get()); this.thorns(TFBlocks.BURNT_THORNS.get()); this.directionalCrossModel(TFBlocks.THORN_ROSE.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.THORN_LEAVES.get(), TextureMapping.cube(Blocks.SPRUCE_LEAVES), -10380959); + this.createTintedLeaves(TFBlocks.THORN_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.SPRUCE_LEAVES), ModelTemplates.LEAVES), -10380959); this.wrapBlockItem(TFBlocks.DEADROCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.CRACKED_DEADROCK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.WEATHERED_DEADROCK.get(), this::createTrivialCube); @@ -65,6 +63,9 @@ public void run() { this.registerSimpleFlatItemModel(TFBlocks.TORCHBERRY_PLANT.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MUSHGLOOM.get(), ModelLocationUtils.getModelLocation(TFBlocks.MUSHGLOOM.get()))); this.registerTwoLayerFlatItemModel(TFBlocks.MUSHGLOOM.get(), "_head"); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.HEDGE.get(), + Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.create(TFBlocks.HEDGE.get(), TextureMapping.cube(TFBlocks.HEDGE.get()), this.modelOutput)).with(VariantProperties.WEIGHT, 10), + Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.createWithSuffix(TFBlocks.HEDGE.get(), "_rose", TextureMapping.cube(TextureMapping.getBlockTexture(TFBlocks.HEDGE.get(), "_rose")), this.modelOutput)))); this.nagaStone(); @@ -79,6 +80,8 @@ public void run() { this.wroughtIronFence(); this.terrorcotta(); + this.generateHugeLilyPad(); + this.createCrossBlockWithDefaultItem(TFBlocks.HUGE_WATER_LILY.get(), PlantType.NOT_TINTED); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.RED_THREAD.get(), ModelTemplates.PARTICLE_ONLY.create(TFBlocks.RED_THREAD.get(), TextureMapping.particle(TwilightForestMod.prefix("block/blank")), this.modelOutput))); this.wrapBlockItem(TFBlocks.MAZESTONE.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MAZESTONE_BRICK.get(), this::createTrivialCube); @@ -293,7 +296,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); this.generateHollowLog(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.createTintedLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.OAK_LEAVES), ModelTemplates.LEAVES), -12012264); this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_PLANKS.get(), this::createTrivialCube); TextureMapping twilightOak = TextureMapping.cube(TFBlocks.TWILIGHT_OAK_PLANKS.get()); this.generateStairs(TFBlocks.TWILIGHT_OAK_STAIRS.get(), twilightOak); @@ -314,7 +317,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); this.generateHollowLog(TFBlocks.CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.CANOPY_LEAVES.get(), TextureMapping.cube(Blocks.SPRUCE_LEAVES), -10380959); + this.createTintedLeaves(TFBlocks.CANOPY_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.SPRUCE_LEAVES), ModelTemplates.LEAVES), -10380959); this.wrapBlockItem(TFBlocks.CANOPY_PLANKS.get(), this::createTrivialCube); TextureMapping canopy = TextureMapping.cube(TFBlocks.CANOPY_PLANKS.get()); this.generateStairs(TFBlocks.CANOPY_STAIRS.get(), canopy); @@ -339,7 +342,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); this.generateHollowLog(TFBlocks.MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.MANGROVE_LEAVES.get(), TextureMapping.cube(Blocks.BIRCH_LEAVES), -8345771); + this.createTintedLeaves(TFBlocks.MANGROVE_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.BIRCH_LEAVES), ModelTemplates.LEAVES), -8345771); this.wrapBlockItem(TFBlocks.MANGROVE_ROOT.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MANGROVE_PLANKS.get(), this::createTrivialCube); TextureMapping mangrove = TextureMapping.cube(TFBlocks.MANGROVE_PLANKS.get()); @@ -361,7 +364,8 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.DARK_LEAVES.get(), -12012264); + this.createTintedLeaves(TFBlocks.DARK_LEAVES.get(), TexturedModel.LEAVES, -12012264); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.HARDENED_DARK_LEAVES.get(), TexturedModel.LEAVES.create(TFBlocks.HARDENED_DARK_LEAVES.get(), this.modelOutput))); this.wrapBlockItem(TFBlocks.DARK_PLANKS.get(), this::createTrivialCube); TextureMapping dark = TextureMapping.cube(TFBlocks.DARK_PLANKS.get()); this.generateStairs(TFBlocks.DARK_STAIRS.get(), dark); @@ -383,7 +387,7 @@ private void generateWoodBlocks() { this.generateTreeCore(TFBlocks.TIME_LOG.get(), TFBlocks.TIME_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TIME_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.TIME_LEAVES.get(), 6986775); + this.generateMagicLeaves(TFBlocks.TIME_LEAVES.get(), 180, 6986775); this.wrapBlockItem(TFBlocks.TIME_PLANKS.get(), this::createTrivialCube); TextureMapping time = TextureMapping.cube(TFBlocks.TIME_PLANKS.get()); this.generateStairs(TFBlocks.TIME_STAIRS.get(), time); @@ -405,7 +409,7 @@ private void generateWoodBlocks() { this.generateTreeCore(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), 7130346); + this.generateMagicLeaves(TFBlocks.TRANSFORMATION_LEAVES.get(), 270, 7130346); this.wrapBlockItem(TFBlocks.TRANSFORMATION_PLANKS.get(), this::createTrivialCube); TextureMapping transformation = TextureMapping.cube(TFBlocks.TRANSFORMATION_PLANKS.get()); this.generateStairs(TFBlocks.TRANSFORMATION_STAIRS.get(), transformation); @@ -427,7 +431,7 @@ private void generateWoodBlocks() { this.generateTreeCore(TFBlocks.MINING_LOG.get(), TFBlocks.MINING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MINING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.MINING_LEAVES.get(), 16576836); + this.generateMagicLeaves(TFBlocks.MINING_LEAVES.get(), 90, 16576836); this.wrapBlockItem(TFBlocks.MINING_PLANKS.get(), this::createTrivialCube); TextureMapping mining = TextureMapping.cube(TFBlocks.MINING_PLANKS.get()); this.generateStairs(TFBlocks.MINING_STAIRS.get(), mining); @@ -449,7 +453,7 @@ private void generateWoodBlocks() { this.generateTreeCore(TFBlocks.SORTING_LOG.get(), TFBlocks.SORTING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SORTING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.SORTING_LEAVES.get(), 3558403); + this.wrapTintedBlockItem(TFBlocks.SORTING_LEAVES.get(), ItemModelUtils.constantTint(3558403), block -> this.generateSortingLeaves()); this.wrapBlockItem(TFBlocks.SORTING_PLANKS.get(), this::createTrivialCube); TextureMapping sorting = TextureMapping.cube(TFBlocks.SORTING_PLANKS.get()); this.generateStairs(TFBlocks.SORTING_STAIRS.get(), sorting); @@ -465,7 +469,7 @@ private void generateWoodBlocks() { this.generateBanister(TFBlocks.SORTING_BANISTER.get(), sorting); this.generateSapling(TFBlocks.HOLLOW_OAK_SAPLING.get(), TFBlocks.POTTED_HOLLOW_OAK_SAPLING.get(), PlantType.NOT_TINTED); - this.generateLeaves(TFBlocks.RAINBOW_OAK_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), -12012264); + this.createTintedLeaves(TFBlocks.RAINBOW_OAK_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.OAK_LEAVES), ModelTemplates.LEAVES), -12012264); this.generateSapling(TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.POTTED_RAINBOW_OAK_SAPLING.get(), PlantType.NOT_TINTED); this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 074986a720..60c9020171 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -1,5 +1,6 @@ package twilightforest.datagen.helpers.models; +import com.google.common.collect.ImmutableMap; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; @@ -18,7 +19,6 @@ import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.jetbrains.annotations.NotNull; -import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.block.*; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; @@ -30,11 +30,13 @@ import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; import twilightforest.enums.BossVariant; +import twilightforest.enums.HugeLilypadPiece; import twilightforest.enums.NagastoneVariant; import twilightforest.init.TFBlocks; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; @@ -890,6 +892,25 @@ public void createMultifaceBlock(Block mushroomBlock, ResourceLocation inside, b this.registerSimpleItemModel(mushroomBlock, TexturedModel.CUBE.createWithSuffix(mushroomBlock, "_inventory", this.modelOutput)); } + public void generateHugeLilyPad() { + Block block = TFBlocks.HUGE_LILY_PAD.get(); + ResourceLocation[] models = new ResourceLocation[4]; + for (int i = 0; i < models.length; i++) { + ResourceLocation texture = ModelLocationUtils.getModelLocation(block, "_" + i); + models[i] = TFModelTemplates.create(texture.toString(), TextureSlot.TEXTURE).extend().renderType("cutout").parent(ModelLocationUtils.getModelLocation(Blocks.LILY_PAD)).build().create(texture, TextureMapping.defaultTexture(texture), this.modelOutput); + } + + Map> stateMap = ImmutableMap.of( + Direction.NORTH, ImmutableMap.of(HugeLilypadPiece.NW, models[0], HugeLilypadPiece.NE, models[1], HugeLilypadPiece.SE, models[2], HugeLilypadPiece.SW, models[3]), + Direction.WEST, ImmutableMap.of(HugeLilypadPiece.NW, models[1], HugeLilypadPiece.NE, models[2], HugeLilypadPiece.SE, models[3], HugeLilypadPiece.SW, models[0]), + Direction.SOUTH, ImmutableMap.of(HugeLilypadPiece.NW, models[2], HugeLilypadPiece.NE, models[3], HugeLilypadPiece.SE, models[0], HugeLilypadPiece.SW, models[1]), + Direction.EAST, ImmutableMap.of(HugeLilypadPiece.NW, models[3], HugeLilypadPiece.NE, models[0], HugeLilypadPiece.SE, models[1], HugeLilypadPiece.SW, models[2]) + ); + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block).with(PropertyDispatch.properties(HugeLilyPadBlock.PIECE, HugeLilyPadBlock.FACING).generate((piece, facing) -> Variant.variant().with(VariantProperties.MODEL, stateMap.get(facing).get(piece)).with(VariantProperties.Y_ROT, getYRotationFromDirection(facing))))); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.tintedModel(ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(block), this.modelOutput), ItemModelUtils.constantTint(-9321636))); + } + @Override public void createCrossBlock(Block block, PlantType plantType, TextureMapping textureMapping) { ResourceLocation resourcelocation = plantType.getCross().extend().renderType("cutout").build().create(block, textureMapping, this.modelOutput); diff --git a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java index adf5970751..1e7e567486 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/WoodBlockBuilders.java @@ -14,8 +14,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; -import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; -import org.w3c.dom.Text; +import net.neoforged.neoforge.client.model.generators.template.FaceRotation; import twilightforest.TwilightForestMod; import twilightforest.block.BanisterBlock; import twilightforest.block.ClimbableHollowLogBlock; @@ -24,7 +23,6 @@ import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; -import twilightforest.enums.HollowLogVariants; import twilightforest.init.TFBlocks; import java.util.List; @@ -41,14 +39,36 @@ public WoodBlockBuilders(Consumer stateOutput, ItemModelOut @Override public abstract void run(); - public void generateLeaves(Block block, int tint) { - this.generateLeaves(block, TextureMapping.cube(block), tint); + public void generateSortingLeaves() { + Block block = TFBlocks.SORTING_LEAVES.get(); + + // we create 4 variants of leaves and choose 1 of 4 flowing direction for each face of each variant + int[][] CHOSEN_VARIANTS = {{0, 2, 2, 3, 0, 0}, {2, 0, 3, 0, 2, 1}, {3, 3, 1, 2, 3, 2}, {1, 1, 0, 1, 1, 3}}; + Variant[] modelFiles = new Variant[CHOSEN_VARIANTS.length]; + for(int i = 0; i < CHOSEN_VARIANTS.length; i++) { + int finalI = i; + ResourceLocation model = TFModelTemplates.CUBE_ALL.extend().element(builder -> builder.from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> { + FaceRotation rotation = FaceRotation.values()[CHOSEN_VARIANTS[finalI][direction.ordinal()]]; + faceBuilder.cullface(direction).texture(TextureSlot.ALL).rotation(rotation).tintindex(0); + })).build().createWithSuffix(block, (i > 0 ? "_" + i : ""), TextureMapping.cube(block), this.modelOutput); + + modelFiles[i] = Variant.variant().with(VariantProperties.MODEL, model); + } + + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, modelFiles)); + } - public void generateLeaves(Block block, TextureMapping mapping, int tint) { - ResourceLocation resourcelocation = ModelTemplates.LEAVES.extend().renderType("cutout_mipped").build().create(block, mapping, this.modelOutput); - this.blockStateOutput.accept(createSimpleBlock(block, resourcelocation)); - this.registerSimpleTintedItemModel(block, resourcelocation, ItemModelUtils.constantTint(tint)); + public void generateMagicLeaves(Block leaves, int rotation, int tint) { + FaceRotation faceRotation = rotation % 180 == 0 ? FaceRotation.ZERO : FaceRotation.values()[rotation / 90]; + boolean isRotation180 = rotation == 180; + float u1 = isRotation180 ? 16 : 0; + float v1 = isRotation180 ? 16 : 0; + float u2 = isRotation180 ? 0 : 16; + float v2 = isRotation180 ? 0 : 16; + + ResourceLocation model = ModelTemplates.CUBE_ALL.extend().element(builder -> builder.from(0, 0, 0).to(16, 16, 16).allFaces(((dir, faceBuilder) -> faceBuilder.cullface(dir).uvs(u1, v1, u2, v2).tintindex(0).rotation(faceRotation).texture(TextureSlot.ALL)))).build().create(leaves, TextureMapping.cube(leaves), this.modelOutput); + this.wrapTintedBlockItem(leaves, ItemModelUtils.constantTint(tint), block -> this.blockStateOutput.accept(createSimpleBlock(block, model))); } public void generateSapling(Block block, Block pottedBlock, BlockModelGenerators.PlantType type) { diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index c443e1aa83..d0125993e3 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -126,31 +126,13 @@ private static void registerModelLoaders(ModelEvent.RegisterLoaders event) { } private static void bakeCustomModels(ModelEvent.ModifyBakingResult event) { -// ItemProperties.register(TFItems.CUBE_OF_ANNIHILATION.get(), TwilightForestMod.prefix("thrown"), (stack, level, entity, idk) -> -// stack.get(TFDataComponents.THROWN_PROJECTILE) != null ? 1 : 0); -// -// ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.THINK, (stack, level, entity, idk) -> -// stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("think") ? 1 : 0); -// -// ItemProperties.register(TFItems.EXPERIMENT_115.get(), Experiment115Item.FULL, (stack, level, entity, idk) -> -// stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS) != null && stack.get(TFDataComponents.EXPERIMENT_115_VARIANTS).equals("full") ? 1 : 0); -// -// ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("breakage"), (stack, level, entity, i) -> -// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).breakage()); -// -// ItemProperties.register(TFItems.BRITTLE_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> -// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); -// -// ItemProperties.register(TFItems.GREATER_FLASK.get(), TwilightForestMod.prefix("potion_level"), (stack, level, entity, i) -> -// stack.getOrDefault(TFDataComponents.POTION_FLASK_CONTENTS, PotionFlaskComponent.EMPTY).doses()); -// // ItemProperties.register(TFItems.CRUMBLE_HORN.get(), TwilightForestMod.prefix("tooting"), (stack, world, entity, i) -> // entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F // ); Map models = event.getBakingResult().blockStateModels(); List> leavesModels = models.entrySet().stream() - .filter(entry -> entry.getKey().id().getNamespace().equals(TwilightForestMod.ID) && entry.getKey().id().getPath().contains("leaves") && !entry.getKey().id().getPath().contains("dark")).toList(); + .filter(entry -> entry.getKey().id().equals(TwilightForestMod.prefix("fallen_leaves"))).toList(); leavesModels.forEach(entry -> models.put(entry.getKey(), new BakedLeavesModel(entry.getValue()))); From 3553078f6a6e2ac294f94fb680f9bcd092c05d60 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Apr 2025 12:03:02 -0600 Subject: [PATCH 121/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 43 +++++++--- .../blockstates/hardened_dark_leaves.json | 7 ++ .../twilightforest/blockstates/hedge.json | 13 +++ .../blockstates/huge_lily_pad.json | 68 +++++++++++++++ .../blockstates/huge_water_lily.json | 7 ++ .../blockstates/sorting_leaves.json | 17 +++- .../twilightforest/items/huge_lily_pad.json | 12 +++ .../twilightforest/items/huge_water_lily.json | 6 ++ .../models/block/canopy_leaves.json | 1 - .../models/block/dark_leaves.json | 1 - .../models/block/hardened_dark_leaves.json | 6 ++ .../twilightforest/models/block/hedge.json | 6 ++ .../models/block/hedge_rose.json | 6 ++ .../models/block/huge_lily_pad_0.json | 7 ++ .../models/block/huge_lily_pad_1.json | 7 ++ .../models/block/huge_lily_pad_2.json | 7 ++ .../models/block/huge_lily_pad_3.json | 7 ++ .../models/block/huge_water_lily.json | 7 ++ .../models/block/mangrove_leaves.json | 1 - .../models/block/mining_leaves.json | 55 +++++++++++- .../models/block/rainbow_oak_leaves.json | 1 - .../models/block/sorting_leaves.json | 52 +++++++++++- .../models/block/sorting_leaves_1.json | 56 ++++++++++++ .../models/block/sorting_leaves_2.json | 58 +++++++++++++ .../models/block/sorting_leaves_3.json | 57 +++++++++++++ .../models/block/thorn_leaves.json | 1 - .../models/block/time_leaves.json | 85 ++++++++++++++++++- .../models/block/transformation_leaves.json | 55 +++++++++++- .../models/block/twilight_oak_leaves.json | 1 - .../models/item/huge_lily_pad.json | 6 ++ .../models/item/huge_water_lily.json | 6 ++ 31 files changed, 633 insertions(+), 29 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/hedge.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json create mode 100644 src/generated/resources/assets/twilightforest/items/huge_lily_pad.json create mode 100644 src/generated/resources/assets/twilightforest/items/huge_water_lily.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hedge.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/hedge_rose.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/sorting_leaves_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 2de8152e2b..8e35503e3a 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-10T23:22:00.7035185 Model Definitions - twilightforest +// 1.21.4 2025-04-11T11:51:23.2966264 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -115,6 +115,8 @@ f722bd4d4a054fcdd352f9db8d286198c8ffe13c assets/twilightforest/blockstates/giant db9c74d13678fb4c7cf4b30b375164049f736a25 assets/twilightforest/blockstates/giant_obsidian.json f208a33fe25aec4bf37f22f588e06defb80b4a34 assets/twilightforest/blockstates/green_force_field.json 99889a76236996686c356207d13f2017982155f8 assets/twilightforest/blockstates/green_thorns.json +741e7315c398c5bc49cde650c604a55849564960 assets/twilightforest/blockstates/hardened_dark_leaves.json +a31529013c346ad627e4f5c426f1252fa73e760c assets/twilightforest/blockstates/hedge.json d40475b0649f3040e73b1d636d5c67419e30895d assets/twilightforest/blockstates/hollow_acacia_log_climbable.json 8d2271a1b410d90c7b2300492d16a42ece71c5d1 assets/twilightforest/blockstates/hollow_acacia_log_horizontal.json b30b7535e761c740b8a25f669600faf63639459c assets/twilightforest/blockstates/hollow_acacia_log_vertical.json @@ -173,9 +175,11 @@ b7b2b50746698047fe37eaf2d543dcb0d8c48119 assets/twilightforest/blockstates/hollo 01d256e795bf6c6719c03fbc2edc8b2cbb30d1d0 assets/twilightforest/blockstates/hollow_warped_stem_climbable.json 59b9878f5096f15e42557bc6158af2e22370b658 assets/twilightforest/blockstates/hollow_warped_stem_horizontal.json 44ee2a08914b00bf15e2dc9a2e6b6b41c18bdd60 assets/twilightforest/blockstates/hollow_warped_stem_vertical.json +558dca9200f9a5ebe74605dcc6b1b7d69e15736a assets/twilightforest/blockstates/huge_lily_pad.json 39a1b53ea5ecf096b09b3fd8d449a972ae4b8526 assets/twilightforest/blockstates/huge_mushgloom.json 3d6bc4807ada33651a21ab213874cb7e9d5e3002 assets/twilightforest/blockstates/huge_mushgloom_stem.json 1eaf97f77df1cc93147aaeb75a4436c65d5367e5 assets/twilightforest/blockstates/huge_stalk.json +13485076cdedb902f476f36f43e8e0c6cbafcce6 assets/twilightforest/blockstates/huge_water_lily.json 86ff287690835aaa8e1c7a49e18b1dcafff8c5ca assets/twilightforest/blockstates/hydra_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/hydra_wall_trophy.json @@ -310,7 +314,7 @@ c77286635d3bae7125437cb52b159e584bf4478d assets/twilightforest/blockstates/sorti 37e9aa1bc44e0d768c479fd6353c336cca3f1f6e assets/twilightforest/blockstates/sorting_fence.json 49ca8b929e8f67eafd806ec0b5cd57d761b38583 assets/twilightforest/blockstates/sorting_fence_gate.json 214d9e165c10f1ffd1327cefabcf1e1c27b48dce assets/twilightforest/blockstates/sorting_hanging_sign.json -45ce3b21e53ef2f5619227eaa406d23e69a54f31 assets/twilightforest/blockstates/sorting_leaves.json +37f9bcc85bbcd9da99ce75e3028180b1e20b697a assets/twilightforest/blockstates/sorting_leaves.json 8c8eba19ea49d01f33cf8459ebbab0219ba7982a assets/twilightforest/blockstates/sorting_log.json bda25e0ca357774610a08c6a749112c1bb9f6a4a assets/twilightforest/blockstates/sorting_log_core.json b2f76c65ff687953aa80577cbab827b2f4edb948 assets/twilightforest/blockstates/sorting_planks.json @@ -642,9 +646,11 @@ a3ac50c9a15118942acb64fd5137f64d96893ba2 assets/twilightforest/items/hollow_tran 80cb85783f84ebd979549fe63a7b463e7592bc89 assets/twilightforest/items/hollow_vangrove_log.json ccc382241cc3dd89d4ef02e0415e26054644c547 assets/twilightforest/items/hollow_warped_stem.json 765ccf231d90da2cc5ad37f74ef37abb59eb03c2 assets/twilightforest/items/hostile_wolf_spawn_egg.json +5065d3bbcabe8a2dacf9f88ca4e99ccd4beb2a32 assets/twilightforest/items/huge_lily_pad.json 353dc6319abd0eba69f7aeb05e97bd08bd4b9a95 assets/twilightforest/items/huge_mushgloom.json 8b6cced8a3315722e14d1f2a4c103b562a52e8b3 assets/twilightforest/items/huge_mushgloom_stem.json 3ec725014c1ddfd7f6d893d568d143c79f9820df assets/twilightforest/items/huge_stalk.json +7d5d9b46dd570a830db628b66c688ac4553377a0 assets/twilightforest/items/huge_water_lily.json 2a5457ab1cb1129303f5e45499504213f5fb7b92 assets/twilightforest/items/hydra_banner_pattern.json c4532691c027ff8be979571f82310e54a51dccde assets/twilightforest/items/hydra_boss_spawner.json 37df4662aef8f239309c335b00434919d7ff5d13 assets/twilightforest/items/hydra_chop.json @@ -1105,7 +1111,7 @@ bf479a7cfe8517bbc32bb9c5b2912f92b4977c34 assets/twilightforest/models/block/cano d7933000f1caaafea6d0f1eee478b36fabb7281f assets/twilightforest/models/block/canopy_fence_post.json 22224620cbb583ba4152b0696efe4b2f35789dd6 assets/twilightforest/models/block/canopy_fence_side.json 7bcc5cc7dae7d0359b61eea70884b57453b2f8c7 assets/twilightforest/models/block/canopy_hanging_sign.json -adbaa0873ce2cc61c6db409eb4228e0e5a08706b assets/twilightforest/models/block/canopy_leaves.json +4b5f2d9acef33a6ac960fd562765cd3e580a4818 assets/twilightforest/models/block/canopy_leaves.json c614bf467f221cbfb861867002f1684c65185870 assets/twilightforest/models/block/canopy_log.json e041349aa9b8216cce24c9ad223d0bd75feec3ed assets/twilightforest/models/block/canopy_log_horizontal.json fece711695142795fbe24f041959b223c83a3436 assets/twilightforest/models/block/canopy_planks.json @@ -1218,7 +1224,7 @@ aed55e4fcfd0b56243dbd48ad5983e5491ee8bbb assets/twilightforest/models/block/dark c94aad12406b5ee322ab7f93047ea89bfda8f73e assets/twilightforest/models/block/dark_fence_post.json 73b63861315ff2577aa655f19b707508498f96c2 assets/twilightforest/models/block/dark_fence_side.json 79e612d857e941c9b089b706f35d458e2ec5af8d assets/twilightforest/models/block/dark_hanging_sign.json -07364502e5c64a3315889e3ab5a0c97849f91bc3 assets/twilightforest/models/block/dark_leaves.json +4a16d6fb674f50da9afd262a587cfef22f35195d assets/twilightforest/models/block/dark_leaves.json b3f43842bc667aa3f81435630f7c60d148f9f731 assets/twilightforest/models/block/dark_log.json e46df0845cb98acff243af97ac0d19bf38e7cb17 assets/twilightforest/models/block/dark_log_horizontal.json e1264e788d7e7fc1f325a6427809c2ce537b3d18 assets/twilightforest/models/block/dark_oak_banister_connected.json @@ -1290,6 +1296,9 @@ b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/gree d33e39d98f049f1f984a172f6d4586aeecfc251b assets/twilightforest/models/block/green_thorns_no_section_alt.json 27ceb320e50eb4125595271065810ad48265f66b assets/twilightforest/models/block/green_thorns_thorns.json e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json +edf6bf6ebb20a32843cf47f624b0ded2e291db7c assets/twilightforest/models/block/hardened_dark_leaves.json +f8e294e138e4b799803977718ce11ff07f04efb2 assets/twilightforest/models/block/hedge.json +48786d9c139433bba4a3f0bc86bbac222e70a922 assets/twilightforest/models/block/hedge_rose.json 9a33de75d0832b880351b8ddef1733f34b035f28 assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json 66c36b19c39c316e9068760a5ad048328d26c664 assets/twilightforest/models/block/hollow_acacia_log_climbable_vine.json 11e00aa1c50f35fc207588e39a01024216674f1c assets/twilightforest/models/block/hollow_acacia_log_horizontal.json @@ -1424,12 +1433,17 @@ fe74220e61f3aec43793c012eba323a34a909857 assets/twilightforest/models/block/holl 7f7d3fc00b924352c810f4d5bc25958b6ee196e8 assets/twilightforest/models/block/hollow_warped_stem_horizontal_moss.json 26236916abc028abd465f1b8600d4ef28e1eb90d assets/twilightforest/models/block/hollow_warped_stem_horizontal_snow.json 02f4f9fcc278c48690e8410d72cad03abd1252be assets/twilightforest/models/block/hollow_warped_stem_vertical.json +ac9ab0a79506286ec95e8772283db298dc76f93d assets/twilightforest/models/block/huge_lily_pad_0.json +2c88a19581a9eb4efe45803534e21a7ea7f38494 assets/twilightforest/models/block/huge_lily_pad_1.json +f201f591917636784ecd7235683f579a0aee627e assets/twilightforest/models/block/huge_lily_pad_2.json +63197336a2fdbdafa37dff261440c6966e8f0311 assets/twilightforest/models/block/huge_lily_pad_3.json d2145f0597b1ac54c8b9b44a1ca1b4765da7748e assets/twilightforest/models/block/huge_mushgloom.json 22db0781003a50daba2f499466454fbf7311c0c6 assets/twilightforest/models/block/huge_mushgloom_inventory.json 4c3a3dc569b4f4df80274019e71e7dbc0014bca2 assets/twilightforest/models/block/huge_mushgloom_stem.json fe614a9805ae16ef0e83c9aef84402b358bd920f assets/twilightforest/models/block/huge_mushgloom_stem_inventory.json 3987819dc50ed72e9bf7f59d6de17203530c473f assets/twilightforest/models/block/huge_stalk.json b4219d75eaeebeec715f400f5cb236f5f6c17671 assets/twilightforest/models/block/huge_stalk_horizontal.json +9f289229303726806bcff43120e2657277329d10 assets/twilightforest/models/block/huge_water_lily.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/hydra_boss_spawner.json 292cd96949d3dbfeb0ce76bbc719ea51f60f6f8b assets/twilightforest/models/block/infested_towerwood.json 8214cefd49f6a6ca9ccc96e3b02149e051f70762 assets/twilightforest/models/block/ironwood_block.json @@ -1473,7 +1487,7 @@ db6a1def193b06df184240c30dc03b7ec52dce09 assets/twilightforest/models/block/mang 4b0e4da7abbbf4030799ccdcf101d6341edf0646 assets/twilightforest/models/block/mangrove_fence_post.json 20835f01429279ddfda0c77feb7fad1592d24c7b assets/twilightforest/models/block/mangrove_fence_side.json 0b3889d0e10b5abeb5151bae201bc22acda5f3b3 assets/twilightforest/models/block/mangrove_hanging_sign.json -43ded7e32b408c3015e563c881b5a4de4e4f2a00 assets/twilightforest/models/block/mangrove_leaves.json +1f291b6bd1242c84ef04fea55c0b5cdd7c4444de assets/twilightforest/models/block/mangrove_leaves.json 1a778ad5a91d27be58f2084e42c40a9ec41899cd assets/twilightforest/models/block/mangrove_log.json 5288e7bd4936e048a1c15a3e4a1a6b8b897d2e9c assets/twilightforest/models/block/mangrove_log_horizontal.json fc2272ee47dae8aedd1fb6975ff86de61d6b24e2 assets/twilightforest/models/block/mangrove_planks.json @@ -1523,7 +1537,7 @@ a8456e8a5d99e140217765244df340683de546a1 assets/twilightforest/models/block/mini a3e3eb69f1e71d2d9f6c39a4ff26c7a608a5dbdb assets/twilightforest/models/block/mining_fence_post.json c9acf5abd480bc5791303cda7c95a2919f1f12dd assets/twilightforest/models/block/mining_fence_side.json 23b4ae1343d83ac53a421ae22bae3297981b9f46 assets/twilightforest/models/block/mining_hanging_sign.json -b5f0a8d6b53695ac1122ef57fe0ba35f976e58b1 assets/twilightforest/models/block/mining_leaves.json +856533101b2747a1372bc570d3fc61eef4531aa4 assets/twilightforest/models/block/mining_leaves.json efc73cc8fa5771fdd4c0e954ddd3c7bf4dac269c assets/twilightforest/models/block/mining_log.json ffcba12dbd958937d12018976ef8e0e99d8d7bc1 assets/twilightforest/models/block/mining_log_core.json d91d34f5af3408fbd9a375ddab8df97be64ed62b assets/twilightforest/models/block/mining_log_core_on.json @@ -1613,7 +1627,7 @@ f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/pott 8a3bc7125006eb3f9596b3f5cef5d0a7705684dc assets/twilightforest/models/block/potted_time_sapling.json c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/potted_transformation_sapling.json 4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/rainbow_oak_leaves.json +20a37c4aa6f4f5f3553f16959ba2c62ae798689a assets/twilightforest/models/block/rainbow_oak_leaves.json 8bd5239c5072f77539a40357736b47367a7484bd assets/twilightforest/models/block/rainbow_oak_sapling.json cc4c3931cdd9445247c0dccc5b234058c2fece6d assets/twilightforest/models/block/rainy_cloud.json 9f2832cc8c7d484dee56a452f448035dbb021d31 assets/twilightforest/models/block/reappearing_block.json @@ -1654,7 +1668,10 @@ ae4acfb949661f710d28ae642cd293df39ef5d6a assets/twilightforest/models/block/sort 74e1e16ed16cc05141900a9af6e558fde7ff7045 assets/twilightforest/models/block/sorting_fence_post.json 234baa1e0b1eeae7514bfae6a3592749df2f9768 assets/twilightforest/models/block/sorting_fence_side.json b86f0120b561e4efe5b29595e7ccfc369161c496 assets/twilightforest/models/block/sorting_hanging_sign.json -bb7a3d219bb7a8df6b426869c1cfdd2044f7658a assets/twilightforest/models/block/sorting_leaves.json +aedf4328a6b09550a4e4e69d39dcc7a0ae5bce5a assets/twilightforest/models/block/sorting_leaves.json +6127c76791d1c2a64134250b1f29f55cfdfef7d5 assets/twilightforest/models/block/sorting_leaves_1.json +2e6701b0a0566a36b92387f04fd5f2460ad9a4cc assets/twilightforest/models/block/sorting_leaves_2.json +9a73a5cf9022f117529dad7af2e8f4cdaa96fc02 assets/twilightforest/models/block/sorting_leaves_3.json 1bd3517d6a2f7438e30618820d0782bc778ed7d7 assets/twilightforest/models/block/sorting_log.json 9bbe5e5a62cdc38a6f8511c156a03bb9e4704f07 assets/twilightforest/models/block/sorting_log_core.json 075d1cc785a8294fbbc71b439c2284eeb9a024d4 assets/twilightforest/models/block/sorting_log_core_on.json @@ -1725,7 +1742,7 @@ ae2450eccf9cd838f17b46d48263583034e0c299 assets/twilightforest/models/block/terr f9b64799628d039e721d191ea797b99722567205 assets/twilightforest/models/block/terrorcotta_lines_0.json aa89a42fdfd5233d012c94d6c45d51a66e6376a5 assets/twilightforest/models/block/terrorcotta_lines_90.json 595bcb64d52267ec38330737e610da0e178b6140 assets/twilightforest/models/block/thick_castle_brick.json -adbaa0873ce2cc61c6db409eb4228e0e5a08706b assets/twilightforest/models/block/thorn_leaves.json +4b5f2d9acef33a6ac960fd562765cd3e580a4818 assets/twilightforest/models/block/thorn_leaves.json 07c256196f3031213ab9a5ee3cae20f77cf82708 assets/twilightforest/models/block/thorn_rose.json 14fac1797c30545a506f7da0659a55f38ebcbe38 assets/twilightforest/models/block/time_banister_connected.json d7f471566e12215d7a943c3da2e38952e34c2a07 assets/twilightforest/models/block/time_banister_connected_extended.json @@ -1754,7 +1771,7 @@ bd817b237e15dd60242eb801526e177b664d2b24 assets/twilightforest/models/block/time 59e324834830c71e861f92b8fedfb2d11e53773c assets/twilightforest/models/block/time_fence_post.json 4e412e5067dce2e56d9d586d879097c995cd1259 assets/twilightforest/models/block/time_fence_side.json 9e834a006e219ed519b33059ab9f7427d2c876d1 assets/twilightforest/models/block/time_hanging_sign.json -f080b150aae0dd00f9043046323386d564d498fe assets/twilightforest/models/block/time_leaves.json +7730d3145cd956b771b84644cb84af4f6b64f2ea assets/twilightforest/models/block/time_leaves.json d6fd1c256276de752510d2daff6bd231c4f60240 assets/twilightforest/models/block/time_log.json 4fb8f1db99ec95f03ed3244affbb6b17fc957d85 assets/twilightforest/models/block/time_log_core.json ad366cdb2c4d40253ed6932c8d970dadda93e7b2 assets/twilightforest/models/block/time_log_core_on.json @@ -1804,7 +1821,7 @@ d0bc5102c9ba1a321cb58a673da0c273ae8276a6 assets/twilightforest/models/block/tran da2d6bc172f337a8c4c0893a159e12f8ad9c92ad assets/twilightforest/models/block/transformation_fence_post.json c3f509eebb1bc42b03c6800ebd54ae99a36374c8 assets/twilightforest/models/block/transformation_fence_side.json db3e197ab1cd5e067cffff0e5cf70f883abf09d6 assets/twilightforest/models/block/transformation_hanging_sign.json -78a73e59315c8af0feb9c5fbe98e1e0edad499e9 assets/twilightforest/models/block/transformation_leaves.json +de66d8024f3f69518cd62251a02c5a7ad53cad70 assets/twilightforest/models/block/transformation_leaves.json 1f1ac9b689198d6dc152fd2d5e9517d159f79c5b assets/twilightforest/models/block/transformation_log.json 3d37c4a41e4e753e97dc6b3ec560e738aa4d8780 assets/twilightforest/models/block/transformation_log_core.json 7790f7cd8f8d85c32b17e38733b7ee6a5fc9e8ef assets/twilightforest/models/block/transformation_log_core_on.json @@ -1865,7 +1882,7 @@ f93dda0b84de8024a1c53525ca480c0f3b56963d assets/twilightforest/models/block/twil b3517972f0c1cf03f31af94ab049dd28021e81d7 assets/twilightforest/models/block/twilight_oak_fence_post.json 147242a6301eeaf156fbad63b202ae42a68a0ec7 assets/twilightforest/models/block/twilight_oak_fence_side.json d8c508aa42b3415b602f8b70993f995a44207c99 assets/twilightforest/models/block/twilight_oak_hanging_sign.json -74b24a20daba0c9321a856c1aded1b8259483c5d assets/twilightforest/models/block/twilight_oak_leaves.json +20a37c4aa6f4f5f3553f16959ba2c62ae798689a assets/twilightforest/models/block/twilight_oak_leaves.json ff5ffa661409624715ebe16b9469624e405f3c0e assets/twilightforest/models/block/twilight_oak_log.json 1c3c527fc5ed820a068e7432d1b1623e669adcb2 assets/twilightforest/models/block/twilight_oak_log_horizontal.json 70be3dcdb16fed524c38dd3cb6a19c919c368568 assets/twilightforest/models/block/twilight_oak_planks.json @@ -2157,6 +2174,8 @@ fa90294ea298166538510be4b1c507af243b991e assets/twilightforest/models/item/great 60f30b5e51bdbcf2c50a1f84ad549d90124a15e1 assets/twilightforest/models/item/greater_potion_flask_3.json 3050f83aa9bd94aadb652f5bc6d58ea10d6be357 assets/twilightforest/models/item/green_force_field.json 94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json +bf3c79561ee47e448fb9215117137d82a2e94c12 assets/twilightforest/models/item/huge_lily_pad.json +37b642a1be3526a36aa413659a8b6047b97f529e assets/twilightforest/models/item/huge_water_lily.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/hydra_banner_pattern.json 7c37e8cb936b68e999574fe35e963b31a32a2b3d assets/twilightforest/models/item/hydra_chop.json 6b997a2b434a783f83b15f1b7c13a141263478b8 assets/twilightforest/models/item/ice_bomb.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json new file mode 100644 index 0000000000..8898e41fa6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hardened_dark_leaves.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/hardened_dark_leaves" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/hedge.json b/src/generated/resources/assets/twilightforest/blockstates/hedge.json new file mode 100644 index 0000000000..f73b1ab041 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/hedge.json @@ -0,0 +1,13 @@ +{ + "variants": { + "": [ + { + "model": "twilightforest:block/hedge", + "weight": 10 + }, + { + "model": "twilightforest:block/hedge_rose" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json b/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json new file mode 100644 index 0000000000..5dace9ab46 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/huge_lily_pad.json @@ -0,0 +1,68 @@ +{ + "variants": { + "facing=east,piece=ne": { + "model": "twilightforest:block/huge_lily_pad_0", + "y": 90 + }, + "facing=east,piece=nw": { + "model": "twilightforest:block/huge_lily_pad_3", + "y": 90 + }, + "facing=east,piece=se": { + "model": "twilightforest:block/huge_lily_pad_1", + "y": 90 + }, + "facing=east,piece=sw": { + "model": "twilightforest:block/huge_lily_pad_2", + "y": 90 + }, + "facing=north,piece=ne": { + "model": "twilightforest:block/huge_lily_pad_1", + "y": 0 + }, + "facing=north,piece=nw": { + "model": "twilightforest:block/huge_lily_pad_0", + "y": 0 + }, + "facing=north,piece=se": { + "model": "twilightforest:block/huge_lily_pad_2", + "y": 0 + }, + "facing=north,piece=sw": { + "model": "twilightforest:block/huge_lily_pad_3", + "y": 0 + }, + "facing=south,piece=ne": { + "model": "twilightforest:block/huge_lily_pad_3", + "y": 180 + }, + "facing=south,piece=nw": { + "model": "twilightforest:block/huge_lily_pad_2", + "y": 180 + }, + "facing=south,piece=se": { + "model": "twilightforest:block/huge_lily_pad_0", + "y": 180 + }, + "facing=south,piece=sw": { + "model": "twilightforest:block/huge_lily_pad_1", + "y": 180 + }, + "facing=west,piece=ne": { + "model": "twilightforest:block/huge_lily_pad_2", + "y": 270 + }, + "facing=west,piece=nw": { + "model": "twilightforest:block/huge_lily_pad_1", + "y": 270 + }, + "facing=west,piece=se": { + "model": "twilightforest:block/huge_lily_pad_3", + "y": 270 + }, + "facing=west,piece=sw": { + "model": "twilightforest:block/huge_lily_pad_0", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json b/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json new file mode 100644 index 0000000000..1f724dd5a8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/huge_water_lily.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/huge_water_lily" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json index 3266789032..f4238c7343 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/blockstates/sorting_leaves.json @@ -1,7 +1,18 @@ { "variants": { - "": { - "model": "twilightforest:block/sorting_leaves" - } + "": [ + { + "model": "twilightforest:block/sorting_leaves" + }, + { + "model": "twilightforest:block/sorting_leaves_1" + }, + { + "model": "twilightforest:block/sorting_leaves_2" + }, + { + "model": "twilightforest:block/sorting_leaves_3" + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/huge_lily_pad.json b/src/generated/resources/assets/twilightforest/items/huge_lily_pad.json new file mode 100644 index 0000000000..a3677b2d3d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/huge_lily_pad.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/huge_lily_pad", + "tints": [ + { + "type": "minecraft:constant", + "value": -9321636 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/huge_water_lily.json b/src/generated/resources/assets/twilightforest/items/huge_water_lily.json new file mode 100644 index 0000000000..5e5503b2e6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/huge_water_lily.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/huge_water_lily" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json index d39e829f6d..fe8ae0dd7d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/canopy_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "minecraft:block/spruce_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json index 90cf177a97..42b2334499 100644 --- a/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/dark_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "twilightforest:block/dark_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json new file mode 100644 index 0000000000..5b3518a659 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/leaves", + "textures": { + "all": "twilightforest:block/hardened_dark_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hedge.json b/src/generated/resources/assets/twilightforest/models/block/hedge.json new file mode 100644 index 0000000000..575d5d0ff9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hedge.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/hedge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/hedge_rose.json b/src/generated/resources/assets/twilightforest/models/block/hedge_rose.json new file mode 100644 index 0000000000..a3d48944ff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/hedge_rose.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "twilightforest:block/hedge_rose" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json new file mode 100644 index 0000000000..af9ab69ea4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_0.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/lily_pad", + "render_type": "minecraft:cutout", + "textures": { + "texture": "twilightforest:block/huge_lily_pad_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json new file mode 100644 index 0000000000..09e18be7a7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_1.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/lily_pad", + "render_type": "minecraft:cutout", + "textures": { + "texture": "twilightforest:block/huge_lily_pad_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json new file mode 100644 index 0000000000..8348d266ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_2.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/lily_pad", + "render_type": "minecraft:cutout", + "textures": { + "texture": "twilightforest:block/huge_lily_pad_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json new file mode 100644 index 0000000000..04a6e67b24 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_lily_pad_3.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/lily_pad", + "render_type": "minecraft:cutout", + "textures": { + "texture": "twilightforest:block/huge_lily_pad_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json b/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json new file mode 100644 index 0000000000..b50105aa04 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/huge_water_lily.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "minecraft:cutout", + "textures": { + "cross": "twilightforest:block/huge_water_lily" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json index 51f6302d05..6f7f331c30 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mangrove_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "minecraft:block/birch_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json index cd606cb6a2..35223da98f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/mining_leaves.json @@ -1,6 +1,57 @@ { - "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/mining_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json index 362976935c..192ebd6700 100644 --- a/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/rainbow_oak_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "minecraft:block/oak_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json index 3e47156fdd..da3186602f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves.json @@ -1,6 +1,54 @@ { - "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/sorting_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_1.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_1.json new file mode 100644 index 0000000000..7556e20171 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_1.json @@ -0,0 +1,56 @@ +{ + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_2.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_2.json new file mode 100644 index 0000000000..690dd5ff9c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_2.json @@ -0,0 +1,58 @@ +{ + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 180, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_3.json b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_3.json new file mode 100644 index 0000000000..160b2ec65d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/sorting_leaves_3.json @@ -0,0 +1,57 @@ +{ + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 90, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], + "textures": { + "all": "twilightforest:block/sorting_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json b/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json index d39e829f6d..fe8ae0dd7d 100644 --- a/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/thorn_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "minecraft:block/spruce_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json index 4b074cf7e1..f75dc2bec0 100644 --- a/src/generated/resources/assets/twilightforest/models/block/time_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/time_leaves.json @@ -1,6 +1,87 @@ { - "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + }, + "east": { + "cullface": "east", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + }, + "north": { + "cullface": "north", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + }, + "south": { + "cullface": "south", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + }, + "up": { + "cullface": "up", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + }, + "west": { + "cullface": "west", + "texture": "#all", + "tintindex": 0, + "uv": [ + 16.0, + 16.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/time_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json index be32687bab..50af48c469 100644 --- a/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/transformation_leaves.json @@ -1,6 +1,57 @@ { - "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", + "parent": "minecraft:block/cube_all", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "east": { + "cullface": "east", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "north": { + "cullface": "north", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "south": { + "cullface": "south", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "up": { + "cullface": "up", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + }, + "west": { + "cullface": "west", + "rotation": 270, + "texture": "#all", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ] + } + ], "textures": { "all": "twilightforest:block/transformation_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json index 362976935c..192ebd6700 100644 --- a/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/twilight_oak_leaves.json @@ -1,6 +1,5 @@ { "parent": "minecraft:block/leaves", - "render_type": "minecraft:cutout_mipped", "textures": { "all": "minecraft:block/oak_leaves" } diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json b/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json new file mode 100644 index 0000000000..ab0c179c9b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/huge_lily_pad.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/huge_lily_pad" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json b/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json new file mode 100644 index 0000000000..cd09267b40 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/huge_water_lily.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/huge_water_lily" + } +} \ No newline at end of file From 52c1b362b592b7d9e55dcfb1235e5ce370daf0cb Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Apr 2025 13:57:58 -0600 Subject: [PATCH 122/239] item-less blocks, fix particles and patch loops --- .../assets/models/BlockModelGenerator.java | 57 ++- .../assets/models/ItemModelGenerator.java | 2 + .../models/block/twilight_portal_barrier.json | 7 +- .../models/block/wrought_iron_fence_top.json | 3 +- .../models/item/giant_block_base.json | 3 + .../models/item/giant_block_gui.json | 3 + .../models/item/giant_tool_base.json | 2 +- .../models/item/wrought_iron_fence.json | 473 +++++++++--------- 8 files changed, 302 insertions(+), 248 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 4662391f95..a4bc142e30 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -17,6 +17,7 @@ import twilightforest.datagen.helpers.models.BlockModelBuilders; import twilightforest.init.TFBlocks; +import java.util.List; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -29,6 +30,10 @@ public BlockModelGenerator(Consumer stateOutput, ItemModelO public void run() { this.generateWoodBlocks(); + this.blockStateOutput.accept(MultiPartGenerator.multiPart(TFBlocks.TWILIGHT_PORTAL.get()) + .with(Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.TWILIGHT_PORTAL.get()))) + .with(Condition.condition().term(TFPortalBlock.DISALLOW_RETURN, true), Variant.variant().with(VariantProperties.MODEL, ModelLocationUtils.getModelLocation(TFBlocks.TWILIGHT_PORTAL.get(), "_barrier")))); + this.spawner(TFBlocks.NAGA_BOSS_SPAWNER.get(), "block/boss_spawner"); this.spawner(TFBlocks.LICH_BOSS_SPAWNER.get(), "block/boss_spawner"); this.spawner(TFBlocks.MINOSHROOM_BOSS_SPAWNER.get(), "block/boss_spawner"); @@ -53,9 +58,10 @@ public void run() { this.createItemWithGrassTint(TFBlocks.FIDDLEHEAD.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MAYAPPLE.get(), ModelLocationUtils.getModelLocation(TFBlocks.MAYAPPLE.get()))); this.registerSimpleFlatItemModel(TFBlocks.MAYAPPLE.get()); - this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CLOVER_PATCH.get(), TFModelTemplates.create("twilightforest:clover_patch", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, builder -> {}).renderType("cutout").build().create(TFBlocks.CLOVER_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.CLOVER_PATCH.get()), this.modelOutput))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CLOVER_PATCH.get(), TFModelTemplates.create("block", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, builder -> { + }).renderType("cutout").build().create(TFBlocks.CLOVER_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.CLOVER_PATCH.get()), this.modelOutput))); this.registerSimpleFlatItemModel(TFBlocks.CLOVER_PATCH.asItem()); - this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MOSS_PATCH.get(), TFModelTemplates.create("twilightforest:moss_patch", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, PatchBuilder::shaggify).build().create(TFBlocks.MOSS_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.MOSS_PATCH.get()), this.modelOutput))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MOSS_PATCH.get(), TFModelTemplates.create("block", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, PatchBuilder::shaggify).build().create(TFBlocks.MOSS_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.MOSS_PATCH.get()), this.modelOutput))); this.registerSimpleFlatItemModel(TFBlocks.MOSS_PATCH.asItem()); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.TORCHBERRY_PLANT.get()).with(createBooleanModelDispatch(TorchberryPlantBlock.HAS_BERRIES, ModelTemplates.CROSS_EMISSIVE.extend().renderType("cutout").build().createWithSuffix(TFBlocks.TORCHBERRY_PLANT.get(), "_berries", TextureMapping.crossEmissive(TFBlocks.TORCHBERRY_PLANT.get()), this.modelOutput), @@ -63,9 +69,11 @@ public void run() { this.registerSimpleFlatItemModel(TFBlocks.TORCHBERRY_PLANT.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MUSHGLOOM.get(), ModelLocationUtils.getModelLocation(TFBlocks.MUSHGLOOM.get()))); this.registerTwoLayerFlatItemModel(TFBlocks.MUSHGLOOM.get(), "_head"); - this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.HEDGE.get(), - Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.create(TFBlocks.HEDGE.get(), TextureMapping.cube(TFBlocks.HEDGE.get()), this.modelOutput)).with(VariantProperties.WEIGHT, 10), - Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.createWithSuffix(TFBlocks.HEDGE.get(), "_rose", TextureMapping.cube(TextureMapping.getBlockTexture(TFBlocks.HEDGE.get(), "_rose")), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.HEDGE.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, + Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.create(block, TextureMapping.cube(block), this.modelOutput)).with(VariantProperties.WEIGHT, 10), + Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.createWithSuffix(block, "_rose", TextureMapping.cube(TextureMapping.getBlockTexture(block, "_rose")), this.modelOutput))))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.ROOT_STRAND.get(), ModelLocationUtils.getModelLocation(TFBlocks.ROOT_STRAND.get()))); + this.registerSimpleFlatItemModel(TFBlocks.ROOT_STRAND.get()); this.nagaStone(); @@ -79,10 +87,37 @@ public void run() { this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); + List floorOminous = this.createFloorFireModels(TFBlocks.OMINOUS_FIRE.get()); + List sideOminous = this.createSideFireModels(TFBlocks.OMINOUS_FIRE.get()); + this.blockStateOutput.accept(MultiPartGenerator.multiPart(TFBlocks.OMINOUS_FIRE.get()) + .with(wrapModels(floorOminous, variant -> variant)) + .with(wrapModels(sideOminous, variant -> variant)) + .with(wrapModels(sideOminous, variant -> variant.with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90))) + .with(wrapModels(sideOminous, variant -> variant.with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180))) + .with(wrapModels(sideOminous, variant -> variant.with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270))) + ); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_CANDLE.get(), Blocks.CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_BROWN_CANDLE.get(), Blocks.BROWN_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_WHITE_CANDLE.get(), Blocks.WHITE_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_LIGHT_GRAY_CANDLE.get(), Blocks.LIGHT_GRAY_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_GRAY_CANDLE.get(), Blocks.GRAY_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_BLACK_CANDLE.get(), Blocks.BLACK_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_RED_CANDLE.get(), Blocks.RED_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_ORANGE_CANDLE.get(), Blocks.ORANGE_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_YELLOW_CANDLE.get(), Blocks.YELLOW_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_GREEN_CANDLE.get(), Blocks.GREEN_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_LIME_CANDLE.get(), Blocks.LIME_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_BLUE_CANDLE.get(), Blocks.BLUE_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_CYAN_CANDLE.get(), Blocks.CYAN_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_LIGHT_BLUE_CANDLE.get(), Blocks.LIGHT_BLUE_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_PURPLE_CANDLE.get(), Blocks.PURPLE_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_MAGENTA_CANDLE.get(), Blocks.MAGENTA_CANDLE); + this.createParticleOnlyBlock(TFBlocks.OMINOUS_PINK_CANDLE.get(), Blocks.PINK_CANDLE); this.generateHugeLilyPad(); this.createCrossBlockWithDefaultItem(TFBlocks.HUGE_WATER_LILY.get(), PlantType.NOT_TINTED); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.RED_THREAD.get(), ModelTemplates.PARTICLE_ONLY.create(TFBlocks.RED_THREAD.get(), TextureMapping.particle(TwilightForestMod.prefix("block/blank")), this.modelOutput))); + this.wrapBlockItem(TFBlocks.MAZE_SLIME_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelTemplates.create(TwilightForestMod.prefix("maze_slime_block").toString(), TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().parent(ResourceLocation.withDefaultNamespace("block/slime_block")).renderType("translucent").build().create(block, TextureMapping.cube(block).put(TextureSlot.PARTICLE, TextureMapping.getBlockTexture(block)), this.modelOutput)))); this.wrapBlockItem(TFBlocks.MAZESTONE.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.MAZESTONE_BRICK.get(), this::createTrivialCube); this.wrapBlockItem(TFBlocks.CRACKED_MAZESTONE.get(), this::createTrivialCube); @@ -145,6 +180,10 @@ public void run() { .with(PropertyDispatch.property(VanishingBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, "_on", TFTextureMapping.threeLayerBlock(block, "_on"), this.modelOutput) : TFModelTemplates.THREE_LAYER_BLOCK.create(block, TFTextureMapping.threeLayerBlock(block, ""), this.modelOutput)))))); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.UNBREAKABLE_VANISHING_BLOCK.get()) + .with(PropertyDispatch.property(VanishingBlock.ACTIVE).generate(active -> Variant.variant().with(VariantProperties.MODEL, active ? + ModelLocationUtils.getModelLocation(TFBlocks.VANISHING_BLOCK.get(), "_on") : + ModelLocationUtils.getModelLocation(TFBlocks.VANISHING_BLOCK.get()))))); this.wrapBlockItem(TFBlocks.REAPPEARING_BLOCK.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block) .with(PropertyDispatch.properties(ReappearingBlock.ACTIVE, ReappearingBlock.VANISHED).generate((active, vanished) -> { String variant = (vanished ? "_invis" : "") + (active ? "_on" : ""); @@ -152,6 +191,8 @@ public void run() { TFModelTemplates.SMALL_CUBE.createWithSuffix(block, variant, TextureMapping.cube(TextureMapping.getBlockTexture(block, variant)), this.modelOutput) : TFModelTemplates.THREE_LAYER_BLOCK.createWithSuffix(block, variant, TFTextureMapping.threeLayerBlock(block, variant), this.modelOutput)); })))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FAKE_GOLD.get(), ModelLocationUtils.getModelLocation(Blocks.GOLD_BLOCK))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FAKE_DIAMOND.get(), ModelLocationUtils.getModelLocation(Blocks.DIAMOND_BLOCK))); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.EXPERIMENT_115.get()).with(PropertyDispatch.properties(Experiment115Block.BITES_TAKEN, Experiment115Block.REGENERATE).generate((bites, regen) -> { String suffix = String.format("_%d_8", 8 - bites); ResourceLocation model; @@ -165,6 +206,7 @@ public void run() { //TODO aurora blocks this.wrapBlockItem(TFBlocks.HUGE_STALK.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); + this.createParticleOnlyBlock(TFBlocks.BEANSTALK_GROWER.get(), TFBlocks.HUGE_STALK.get()); this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); ResourceLocation mushgloomInside = ModelTemplates.SINGLE_FACE.create(TwilightForestMod.prefix("huge_mushgloom_inside"), TextureMapping.cube(TwilightForestMod.prefix("block/huge_mushgloom_inside")), this.modelOutput); this.createMultifaceBlock(TFBlocks.HUGE_MUSHGLOOM.get(), mushgloomInside, false); @@ -217,7 +259,7 @@ public void run() { this.forcefield(TFBlocks.VIOLET_FORCE_FIELD.get()); this.generateSpecialModel(TFBlocks.KEEPSAKE_CASKET.get(), Blocks.NETHERITE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/keepsake_casket"), new KeepsakeCasketSpecialRenderer.Unbaked())); - this.generateSpecialModel(TFBlocks.SKULL_CHEST.get(), Blocks.BONE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/skull_chest"), new SkullChestSpecialRenderer.Unbaked())); + this.generateSpecialModel(TFBlocks.SKULL_CHEST.get(), Blocks.LIGHT_GRAY_CONCRETE_POWDER, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/skull_chest"), new SkullChestSpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.CICADA.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/cicada"), new CicadaSpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.FIREFLY.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/firefly"), new FireflySpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.MOONWORM.get(), Blocks.SLIME_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/moonworm"), new MoonwormSpecialRenderer.Unbaked())); @@ -275,6 +317,7 @@ public void run() { this.wrapBlockItem(TFBlocks.FIERY_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); this.wrapBlockItem(TFBlocks.CARMINITE_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); + this.createParticleOnlyBlock(TFBlocks.BRAZIER.get(), TFBlocks.CANOPY_PLANKS.get()); this.wrapBlockItem(TFBlocks.CINDER_FURNACE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(Blocks.FURNACE)))); this.wrapBlockItem(TFBlocks.CINDER_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(block))); this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); @@ -365,7 +408,7 @@ private void generateWoodBlocks() { this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.DARK_LEAVES.get(), TexturedModel.LEAVES, -12012264); - this.blockStateOutput.accept(createSimpleBlock(TFBlocks.HARDENED_DARK_LEAVES.get(), TexturedModel.LEAVES.create(TFBlocks.HARDENED_DARK_LEAVES.get(), this.modelOutput))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.HARDENED_DARK_LEAVES.get(), ModelTemplates.LEAVES.create(TFBlocks.HARDENED_DARK_LEAVES.get(), TextureMapping.cube(TFBlocks.DARK_LEAVES.get()), this.modelOutput))); this.wrapBlockItem(TFBlocks.DARK_PLANKS.get(), this::createTrivialCube); TextureMapping dark = TextureMapping.cube(TFBlocks.DARK_PLANKS.get()); this.generateStairs(TFBlocks.DARK_STAIRS.get(), dark); diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index 11de7d2b11..77a14331b3 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -305,6 +305,8 @@ public void run() { this.generateSpawnEgg("winter_wolf", 0xDFE3E5, 0xB2BCCA); this.generateSpawnEgg("wraith", 0x505050, 0x838383); this.generateSpawnEgg("yeti", 0xDEDEDE, 0x4675BB); + + this.generateLayeredItem(TwilightForestMod.prefix("item/shield"), TwilightForestMod.prefix("item/lich_shield_frame"), TwilightForestMod.prefix("item/lich_shield_fill")); } private void generateSpawnEgg(String entityName, int primary, int secondary) { diff --git a/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json b/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json index 8e9ae6290e..83dae5ae62 100755 --- a/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json +++ b/src/main/resources/assets/twilightforest/models/block/twilight_portal_barrier.json @@ -3,21 +3,22 @@ "ambientocclusion": false, "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:block/portal_barrier" + "texture": "twilightforest:block/portal_barrier", + "particle": "#texture" }, "elements": [ { "from": [0, 12.85, 0], "to": [16, 12.85, 16], "faces": { - "down": {"uv": [16, 16, 0, 0], "texture": "#all"} + "down": {"uv": [16, 16, 0, 0], "texture": "#texture"} } }, { "from": [0, 13.15, 0], "to": [16, 13.15, 16], "faces": { - "up": {"uv": [16, 0, 0, 16], "texture": "#all"} + "up": {"uv": [16, 0, 0, 16], "texture": "#texture"} } } ] diff --git a/src/main/resources/assets/twilightforest/models/block/wrought_iron_fence_top.json b/src/main/resources/assets/twilightforest/models/block/wrought_iron_fence_top.json index 696e3d14c8..5c900fa9ed 100644 --- a/src/main/resources/assets/twilightforest/models/block/wrought_iron_fence_top.json +++ b/src/main/resources/assets/twilightforest/models/block/wrought_iron_fence_top.json @@ -2,7 +2,8 @@ "ambientocclusion": false, "render_type": "minecraft:cutout", "textures": { - "all": "twilightforest:block/wrought_iron" + "all": "twilightforest:block/wrought_iron", + "particle": "#all" }, "elements": [ { diff --git a/src/main/resources/assets/twilightforest/models/item/giant_block_base.json b/src/main/resources/assets/twilightforest/models/item/giant_block_base.json index a4503e8fb3..abe09775d0 100644 --- a/src/main/resources/assets/twilightforest/models/item/giant_block_base.json +++ b/src/main/resources/assets/twilightforest/models/item/giant_block_base.json @@ -1,5 +1,8 @@ { "parent": "minecraft:block/cube", + "textures": { + "particle": "#north" + }, "display": { "firstperson_lefthand": { "rotation": [1, 225, 0], diff --git a/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json b/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json index 32bfae26b7..3a265de532 100644 --- a/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json +++ b/src/main/resources/assets/twilightforest/models/item/giant_block_gui.json @@ -1,5 +1,8 @@ { "parent": "minecraft:block/cube", + "textures": { + "particle": "#north" + }, "display": { "gui": { "rotation": [30, 45, 0], diff --git a/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json b/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json index 394dd78f6b..e286aad75f 100644 --- a/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json +++ b/src/main/resources/assets/twilightforest/models/item/giant_tool_base.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "particle": "minecraft:block/stone_block" + "particle": "minecraft:block/stone" }, "display": { "firstperson_lefthand": { diff --git a/src/main/resources/assets/twilightforest/models/item/wrought_iron_fence.json b/src/main/resources/assets/twilightforest/models/item/wrought_iron_fence.json index 3dbaab746d..de1b20bb1f 100644 --- a/src/main/resources/assets/twilightforest/models/item/wrought_iron_fence.json +++ b/src/main/resources/assets/twilightforest/models/item/wrought_iron_fence.json @@ -1,238 +1,239 @@ { - "parent": "block/block", - "ambientocclusion": false, - "render_type": "minecraft:cutout", - "textures": { - "all": "twilightforest:block/wrought_iron" - }, - "elements": [ - { - "name": "picket tip 1", - "from": [11.5, 15, 7.5], - "to": [12, 16, 8.5], - "faces": { - "north": {"uv": [0.5, 0, 1, 1], "texture": "#all"}, - "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "south": {"uv": [0, 0, 0.5, 1], "texture": "#all"}, - "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "up": {"uv": [7, 15.5, 8, 16], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 15, 8, 15.5], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket right 1", - "from": [10.5, 14, 7.5], - "to": [11.5, 15, 8.5], - "faces": { - "north": {"uv": [0, 1, 1, 2], "texture": "#all"}, - "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "south": {"uv": [15, 1, 16, 2], "texture": "#all"}, - "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "up": {"uv": [7, 1, 8, 2], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 15, 8, 16], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket tip 2", - "from": [7.5, 15, 7.5], - "to": [8.5, 15.99, 8.5], - "faces": { - "north": {"uv": [3, 0, 4, 1], "texture": "#all"}, - "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "south": {"uv": [12, 0, 13, 1], "texture": "#all"}, - "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 11, 8, 12], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket left 2", - "from": [8.5, 14, 7.5], - "to": [9.5, 15, 8.5], - "faces": { - "north": {"uv": [2, 1, 3, 2], "texture": "#all"}, - "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "south": {"uv": [12, 1, 13, 2], "texture": "#all"}, - "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 12, 8, 13], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket right 2", - "from": [6.5, 14, 7.5], - "to": [7.5, 15, 8.5], - "faces": { - "north": {"uv": [4, 1, 5, 2], "texture": "#all"}, - "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "south": {"uv": [11, 1, 12, 2], "texture": "#all"}, - "west": {"uv": [4, 1, 5, 2], "texture": "#all"}, - "up": {"uv": [7, 5, 8, 6], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 11, 8, 12], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket tip 3", - "from": [4, 15, 7.5], - "to": [4.5, 16, 8.5], - "faces": { - "north": {"uv": [0, 0, 0.5, 1], "texture": "#all"}, - "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "south": {"uv": [0.5, 0, 1, 1], "texture": "#all"}, - "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, - "up": {"uv": [7, 15, 8, 15.5], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 15.5, 8, 16], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "picket left 3", - "from": [4.5, 14, 7.5], - "to": [5.5, 15, 8.5], - "faces": { - "north": {"uv": [6, 1, 7, 2], "texture": "#all"}, - "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "south": {"uv": [8, 1, 9, 2], "texture": "#all"}, - "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, - "up": {"uv": [7, 7, 8, 8], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 8, 8, 9], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "bar 1", - "from": [11.5, 1, 7.5], - "to": [12, 14, 8.5], - "faces": { - "north": {"uv": [0.5, 2, 1, 15], "texture": "#all"}, - "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "south": {"uv": [0, 2, 0.5, 15], "texture": "#all"}, - "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "up": {"uv": [7, 0, 8, 0.5], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 15.5, 8, 16], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "bar 2", - "from": [7.5, 1, 7.5], - "to": [8.5, 14, 8.5], - "faces": { - "north": {"uv": [3, 2, 4, 15], "texture": "#all"}, - "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "south": {"uv": [11, 2, 12, 15], "texture": "#all"}, - "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 12, 8, 13], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "bar 3", - "from": [4, 1, 7.5], - "to": [4.5, 14, 8.5], - "faces": { - "north": {"uv": [0.5, 2, 1, 15], "texture": "#all"}, - "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "south": {"uv": [0, 2, 0.5, 15], "texture": "#all"}, - "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, - "up": {"uv": [7, 7, 8, 7.5], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 8, 8, 8.5], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "top row", - "from": [4, 12, 7.25], - "to": [12, 13, 8.75], - "faces": { - "north": {"uv": [0, 3, 8, 4], "texture": "#all"}, - "east": {"uv": [7.25, 3, 8.75, 4], "texture": "#all"}, - "south": {"uv": [8, 3, 16, 4], "texture": "#all"}, - "west": {"uv": [7.25, 3, 8.75, 4], "texture": "#all"}, - "up": {"uv": [7, 0, 8, 8], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 8, 8, 16], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "bottom row", - "from": [4, 3, 7.25], - "to": [12, 4, 8.75], - "faces": { - "north": {"uv": [0, 12, 8, 13], "texture": "#all"}, - "east": {"uv": [7, 12, 8, 13], "texture": "#all"}, - "south": {"uv": [8, 12, 16, 13], "texture": "#all"}, - "west": {"uv": [7, 12, 8, 13], "texture": "#all"}, - "up": {"uv": [7, 0, 8, 8], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 8, 8, 16], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "point 1", - "from": [9.5, 2, 7.5], - "to": [10.5, 5, 8.5], - "faces": { - "north": {"uv": [1, 11, 2, 14], "texture": "#all"}, - "east": {"uv": [7, 11, 8, 14], "texture": "#all"}, - "south": {"uv": [13.5, 11, 14.5, 14], "texture": "#all"}, - "west": {"uv": [7, 11, 8, 14], "texture": "#all"}, - "up": {"uv": [7, 2, 8, 3], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 14, 8, 15], "rotation": 270, "texture": "#all"} - } - }, - { - "name": "point 2", - "from": [5.5, 2, 7.5], - "to": [6.5, 5, 8.5], - "faces": { - "north": {"uv": [5, 11, 6, 14], "texture": "#all"}, - "east": {"uv": [7, 11, 8, 14], "texture": "#all"}, - "south": {"uv": [9, 11, 10, 14], "texture": "#all"}, - "west": {"uv": [7, 11, 8, 14], "texture": "#all"}, - "up": {"uv": [7, 5, 8, 6], "rotation": 90, "texture": "#all"}, - "down": {"uv": [7, 9, 8, 10], "rotation": 270, "texture": "#all"} - } - }, - { - "from": [12, 0, 7], - "to": [14, 16, 9], - "faces": { - "north": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "east": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "south": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "west": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#all"}, - "down": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#all"} - } - }, - { - "from": [2, 0, 7], - "to": [4, 16, 9], - "faces": { - "north": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "east": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "south": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "west": {"uv": [0, 0, 2, 16], "texture": "#all"}, - "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#all"}, - "down": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#all"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 3, 0.25], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, -40, 0], - "translation": [2.25, 2, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 0.75, 0], - "scale": [0.5, 0.5, 0.5] - }, - "gui": { - "rotation": [30, 225, 0], - "scale": [0.85, 0.85, 0.85] - }, - "head": { - "translation": [0, 0.25, -7.25] - } - } + "parent": "block/block", + "ambientocclusion": false, + "render_type": "minecraft:cutout", + "textures": { + "all": "twilightforest:block/wrought_iron", + "particle": "#all" + }, + "elements": [ + { + "name": "picket tip 1", + "from": [11.5, 15, 7.5], + "to": [12, 16, 8.5], + "faces": { + "north": {"uv": [0.5, 0, 1, 1], "texture": "#all"}, + "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "south": {"uv": [0, 0, 0.5, 1], "texture": "#all"}, + "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "up": {"uv": [7, 15.5, 8, 16], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 15, 8, 15.5], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket right 1", + "from": [10.5, 14, 7.5], + "to": [11.5, 15, 8.5], + "faces": { + "north": {"uv": [0, 1, 1, 2], "texture": "#all"}, + "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "south": {"uv": [15, 1, 16, 2], "texture": "#all"}, + "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "up": {"uv": [7, 1, 8, 2], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 15, 8, 16], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket tip 2", + "from": [7.5, 15, 7.5], + "to": [8.5, 15.99, 8.5], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#all"}, + "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "south": {"uv": [12, 0, 13, 1], "texture": "#all"}, + "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 11, 8, 12], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket left 2", + "from": [8.5, 14, 7.5], + "to": [9.5, 15, 8.5], + "faces": { + "north": {"uv": [2, 1, 3, 2], "texture": "#all"}, + "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "south": {"uv": [12, 1, 13, 2], "texture": "#all"}, + "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 12, 8, 13], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket right 2", + "from": [6.5, 14, 7.5], + "to": [7.5, 15, 8.5], + "faces": { + "north": {"uv": [4, 1, 5, 2], "texture": "#all"}, + "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "south": {"uv": [11, 1, 12, 2], "texture": "#all"}, + "west": {"uv": [4, 1, 5, 2], "texture": "#all"}, + "up": {"uv": [7, 5, 8, 6], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 11, 8, 12], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket tip 3", + "from": [4, 15, 7.5], + "to": [4.5, 16, 8.5], + "faces": { + "north": {"uv": [0, 0, 0.5, 1], "texture": "#all"}, + "east": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "south": {"uv": [0.5, 0, 1, 1], "texture": "#all"}, + "west": {"uv": [7, 0, 8, 1], "texture": "#all"}, + "up": {"uv": [7, 15, 8, 15.5], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 15.5, 8, 16], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "picket left 3", + "from": [4.5, 14, 7.5], + "to": [5.5, 15, 8.5], + "faces": { + "north": {"uv": [6, 1, 7, 2], "texture": "#all"}, + "east": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "south": {"uv": [8, 1, 9, 2], "texture": "#all"}, + "west": {"uv": [7, 1, 8, 2], "texture": "#all"}, + "up": {"uv": [7, 7, 8, 8], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 8, 8, 9], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "bar 1", + "from": [11.5, 1, 7.5], + "to": [12, 14, 8.5], + "faces": { + "north": {"uv": [0.5, 2, 1, 15], "texture": "#all"}, + "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "south": {"uv": [0, 2, 0.5, 15], "texture": "#all"}, + "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "up": {"uv": [7, 0, 8, 0.5], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 15.5, 8, 16], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "bar 2", + "from": [7.5, 1, 7.5], + "to": [8.5, 14, 8.5], + "faces": { + "north": {"uv": [3, 2, 4, 15], "texture": "#all"}, + "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "south": {"uv": [11, 2, 12, 15], "texture": "#all"}, + "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "up": {"uv": [7, 3, 8, 4], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 12, 8, 13], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "bar 3", + "from": [4, 1, 7.5], + "to": [4.5, 14, 8.5], + "faces": { + "north": {"uv": [0.5, 2, 1, 15], "texture": "#all"}, + "east": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "south": {"uv": [0, 2, 0.5, 15], "texture": "#all"}, + "west": {"uv": [7, 2, 8, 15], "texture": "#all"}, + "up": {"uv": [7, 7, 8, 7.5], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 8, 8, 8.5], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "top row", + "from": [4, 12, 7.25], + "to": [12, 13, 8.75], + "faces": { + "north": {"uv": [0, 3, 8, 4], "texture": "#all"}, + "east": {"uv": [7.25, 3, 8.75, 4], "texture": "#all"}, + "south": {"uv": [8, 3, 16, 4], "texture": "#all"}, + "west": {"uv": [7.25, 3, 8.75, 4], "texture": "#all"}, + "up": {"uv": [7, 0, 8, 8], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 8, 8, 16], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "bottom row", + "from": [4, 3, 7.25], + "to": [12, 4, 8.75], + "faces": { + "north": {"uv": [0, 12, 8, 13], "texture": "#all"}, + "east": {"uv": [7, 12, 8, 13], "texture": "#all"}, + "south": {"uv": [8, 12, 16, 13], "texture": "#all"}, + "west": {"uv": [7, 12, 8, 13], "texture": "#all"}, + "up": {"uv": [7, 0, 8, 8], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 8, 8, 16], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "point 1", + "from": [9.5, 2, 7.5], + "to": [10.5, 5, 8.5], + "faces": { + "north": {"uv": [1, 11, 2, 14], "texture": "#all"}, + "east": {"uv": [7, 11, 8, 14], "texture": "#all"}, + "south": {"uv": [13.5, 11, 14.5, 14], "texture": "#all"}, + "west": {"uv": [7, 11, 8, 14], "texture": "#all"}, + "up": {"uv": [7, 2, 8, 3], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 14, 8, 15], "rotation": 270, "texture": "#all"} + } + }, + { + "name": "point 2", + "from": [5.5, 2, 7.5], + "to": [6.5, 5, 8.5], + "faces": { + "north": {"uv": [5, 11, 6, 14], "texture": "#all"}, + "east": {"uv": [7, 11, 8, 14], "texture": "#all"}, + "south": {"uv": [9, 11, 10, 14], "texture": "#all"}, + "west": {"uv": [7, 11, 8, 14], "texture": "#all"}, + "up": {"uv": [7, 5, 8, 6], "rotation": 90, "texture": "#all"}, + "down": {"uv": [7, 9, 8, 10], "rotation": 270, "texture": "#all"} + } + }, + { + "from": [12, 0, 7], + "to": [14, 16, 9], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#all"}, + "down": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#all"} + } + }, + { + "from": [2, 0, 7], + "to": [4, 16, 9], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#all"}, + "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#all"}, + "down": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#all"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 3, 0.25], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -40, 0], + "translation": [2.25, 2, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 0.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.85, 0.85, 0.85] + }, + "head": { + "translation": [0, 0.25, -7.25] + } + } } \ No newline at end of file From 6d8a4cc02a75c2a6dc45c026ffab397e023828a0 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Apr 2025 13:58:10 -0600 Subject: [PATCH 123/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 67 ++++++++++++-- .../blockstates/beanstalk_grower.json | 7 ++ .../twilightforest/blockstates/brazier.json | 7 ++ .../blockstates/fake_diamond.json | 7 ++ .../twilightforest/blockstates/fake_gold.json | 7 ++ .../blockstates/maze_slime_block.json | 7 ++ .../blockstates/ominous_black_candle.json | 7 ++ .../blockstates/ominous_blue_candle.json | 7 ++ .../blockstates/ominous_brown_candle.json | 7 ++ .../blockstates/ominous_candle.json | 7 ++ .../blockstates/ominous_cyan_candle.json | 7 ++ .../blockstates/ominous_fire.json | 90 +++++++++++++++++++ .../blockstates/ominous_gray_candle.json | 7 ++ .../blockstates/ominous_green_candle.json | 7 ++ .../ominous_light_blue_candle.json | 7 ++ .../ominous_light_gray_candle.json | 7 ++ .../blockstates/ominous_lime_candle.json | 7 ++ .../blockstates/ominous_magenta_candle.json | 7 ++ .../blockstates/ominous_orange_candle.json | 7 ++ .../blockstates/ominous_pink_candle.json | 7 ++ .../blockstates/ominous_purple_candle.json | 7 ++ .../blockstates/ominous_red_candle.json | 7 ++ .../blockstates/ominous_white_candle.json | 7 ++ .../blockstates/ominous_yellow_candle.json | 7 ++ .../blockstates/root_strand.json | 7 ++ .../blockstates/twilight_portal.json | 17 ++++ .../unbreakable_vanishing_block.json | 10 +++ .../assets/twilightforest/items/hedge.json | 6 ++ .../items/maze_slime_block.json | 6 ++ .../twilightforest/items/root_strand.json | 6 ++ .../models/block/beanstalk_grower.json | 5 ++ .../twilightforest/models/block/brazier.json | 5 ++ .../models/block/clover_patch.json | 2 +- .../models/block/hardened_dark_leaves.json | 2 +- .../models/block/maze_slime_block.json | 8 ++ .../models/block/moss_patch.json | 2 +- .../models/block/ominous_black_candle.json | 5 ++ .../models/block/ominous_blue_candle.json | 5 ++ .../models/block/ominous_brown_candle.json | 5 ++ .../models/block/ominous_candle.json | 5 ++ .../models/block/ominous_cyan_candle.json | 5 ++ .../models/block/ominous_fire_floor0.json | 6 ++ .../models/block/ominous_fire_floor1.json | 6 ++ .../models/block/ominous_fire_side0.json | 6 ++ .../models/block/ominous_fire_side1.json | 6 ++ .../models/block/ominous_fire_side_alt0.json | 6 ++ .../models/block/ominous_fire_side_alt1.json | 6 ++ .../models/block/ominous_gray_candle.json | 5 ++ .../models/block/ominous_green_candle.json | 5 ++ .../block/ominous_light_blue_candle.json | 5 ++ .../block/ominous_light_gray_candle.json | 5 ++ .../models/block/ominous_lime_candle.json | 5 ++ .../models/block/ominous_magenta_candle.json | 5 ++ .../models/block/ominous_orange_candle.json | 5 ++ .../models/block/ominous_pink_candle.json | 5 ++ .../models/block/ominous_purple_candle.json | 5 ++ .../models/block/ominous_red_candle.json | 5 ++ .../models/block/ominous_white_candle.json | 5 ++ .../models/block/ominous_yellow_candle.json | 5 ++ .../models/block/skull_chest.json | 2 +- .../models/item/root_strand.json | 6 ++ .../twilightforest/models/item/shield.json | 7 ++ 62 files changed, 514 insertions(+), 9 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/brazier.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fake_gold.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/root_strand.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/hedge.json create mode 100644 src/generated/resources/assets/twilightforest/items/maze_slime_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/root_strand.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/brazier.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/root_strand.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/shield.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 8e35503e3a..c2cffc02d0 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-11T11:51:23.2966264 Model Definitions - twilightforest +// 1.21.4 2025-04-11T13:55:03.5967937 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -7,6 +7,7 @@ bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acaci a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json f5923dd090d2ed2a9ddd3733c5949c22a2a7535f assets/twilightforest/blockstates/bamboo_banister.json +62b18edaef9c27bb158830e8d1bb5e82cf3a73c2 assets/twilightforest/blockstates/beanstalk_grower.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json ce1effc5cd47e7bff66c74246f37fbdb32e3459d assets/twilightforest/blockstates/birch_banister.json 235fe76b4cec81da85069394f6af57a8bfdfcb8d assets/twilightforest/blockstates/blue_castle_door.json @@ -16,6 +17,7 @@ bd0c8ddce5de1aac44bae03f99cd4eb2409eeddf assets/twilightforest/blockstates/blue_ d72b1cd661284766ffd3bbb58e0103fcd661ec85 assets/twilightforest/blockstates/bold_castle_brick_stairs.json 837b9e4864b610470f48d1f10a153b9534255d5c assets/twilightforest/blockstates/bold_castle_brick_tile.json 0fe35f334a5cf6d5868913b14ce8c0ea7badb41b assets/twilightforest/blockstates/bold_stone_pillar.json +f1b7f5e3dd11d78ee1eb1013758d06875611656c assets/twilightforest/blockstates/brazier.json 54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json 787d527dc15da8db4f3f87740e9e4439f0d5772e assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json @@ -102,6 +104,8 @@ ab56c83f300bcad4fbc9ace1a5d4cf78bd2dd209 assets/twilightforest/blockstates/encas fc8fdb02e43ee80244c214eeb0abea182f241872 assets/twilightforest/blockstates/encased_towerwood.json b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etched_nagastone.json 83d2804b5a6ff4ec2c1fcaea1722bfe85c96f229 assets/twilightforest/blockstates/experiment_115.json +bb0ee23fb9067621d86f7ade278936bf644e9205 assets/twilightforest/blockstates/fake_diamond.json +bd1b05dc2697d7e22183d7cc0d97328088d2875c assets/twilightforest/blockstates/fake_gold.json 5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json @@ -224,6 +228,7 @@ a8062c3154e39f87d0548dc5b03f5ac0dd38b268 assets/twilightforest/blockstates/mazes 437f589b25154f38ea5d5181d49e838c1f1524ba assets/twilightforest/blockstates/mazestone_border.json d2528a33d68497718881b0961720e2eb66e8dc0c assets/twilightforest/blockstates/mazestone_brick.json 5b36ba1064db9f2984e50e6bbe7e9fa5dd235abf assets/twilightforest/blockstates/mazestone_mosaic.json +c3b07e69e77559217b7a2d31818bc23e3eea3805 assets/twilightforest/blockstates/maze_slime_block.json c703ec10c6af5fd1cc7fc4fc88df69a2ab080b75 assets/twilightforest/blockstates/mining_banister.json 6125566a63012e0221a317cebc0091ca958683f7 assets/twilightforest/blockstates/mining_button.json 79dc4cb9c0a97d1cc0a6f98e4466ff820cff4bff assets/twilightforest/blockstates/mining_chest.json @@ -270,6 +275,24 @@ beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagas 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_trophy.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/naga_wall_trophy.json 0fb6a112f2adaddd0ee00b84ffadf7f634c44357 assets/twilightforest/blockstates/oak_banister.json +f571d8970a0ab05401564254a010d6d73f3f41d8 assets/twilightforest/blockstates/ominous_black_candle.json +e85b8ffe4a70521b3a8dd075e57cf24845f91766 assets/twilightforest/blockstates/ominous_blue_candle.json +73284ef325e780dbf2b3ea596d524dfab9552bf8 assets/twilightforest/blockstates/ominous_brown_candle.json +c00c2d41074586aaac0234ccdd3232bdfa6ccaa6 assets/twilightforest/blockstates/ominous_candle.json +2d28d48bb631dec5307615f523eaa84a0727ae4a assets/twilightforest/blockstates/ominous_cyan_candle.json +84cf666f05fc2d05e6e6a25e89ad3532f3c8b4dd assets/twilightforest/blockstates/ominous_fire.json +8567f3f2565061e12a11487f05b1be2dfc0c733e assets/twilightforest/blockstates/ominous_gray_candle.json +7b18f0880b8ce9643462b0942154b283ed24bc82 assets/twilightforest/blockstates/ominous_green_candle.json +652255632614ed18159239fcffb95aca395e82ec assets/twilightforest/blockstates/ominous_light_blue_candle.json +1191aa2321ecfce5a11d83fb6e7956a1c19b43f3 assets/twilightforest/blockstates/ominous_light_gray_candle.json +a2bb4b09f17a89b818c0988408902538b74395da assets/twilightforest/blockstates/ominous_lime_candle.json +7f7f79ecb57c64c370996a5526352f10795adf45 assets/twilightforest/blockstates/ominous_magenta_candle.json +bd9b91650e8d4fc6523878edc66c0be7e1404d9b assets/twilightforest/blockstates/ominous_orange_candle.json +318f93b53f51547e240e58766b9f50cbc925574d assets/twilightforest/blockstates/ominous_pink_candle.json +dffcb30b2d8ba4f54158e7083e12b08015c54118 assets/twilightforest/blockstates/ominous_purple_candle.json +9ec6ae516ecfb8a78892ba8ffa94c8e0bdbd04a0 assets/twilightforest/blockstates/ominous_red_candle.json +6b4539fa5f776e231ca270c5f23186db99fb2bcf assets/twilightforest/blockstates/ominous_white_candle.json +eacc9261ed7c07eb06b642f9c98aef8df4f4dcdc assets/twilightforest/blockstates/ominous_yellow_candle.json f4b4e9fdae1c3ee5efdb198162249d82a92b433c assets/twilightforest/blockstates/orange_force_field.json f6619ff04ba1c60b028b98da141a03a40c3fc41e assets/twilightforest/blockstates/pale_oak_banister.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/piglin_skull_candle.json @@ -297,6 +320,7 @@ cbe3e92148e9c50ba453b1053d17aa3a9aab1bd4 assets/twilightforest/blockstates/rainy ca8b081c660985f4a74b629311953cd19b578d1d assets/twilightforest/blockstates/reappearing_block.json 559af5d22287bc8d15ab9819c724f8451b48b20d assets/twilightforest/blockstates/red_thread.json bb7819736d9dd523bd69ca88e344478c4c2e4a45 assets/twilightforest/blockstates/root.json +c7e8c3ec3d2c159a84327ac576f92eae60eb200e assets/twilightforest/blockstates/root_strand.json 580c6986a8d821decce6c95c9d79cf447a0567e2 assets/twilightforest/blockstates/rope.json 67d8d3f2e07c7c01c16deda3eb25824a1de0920a assets/twilightforest/blockstates/sinister_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json @@ -421,11 +445,13 @@ dc9ead6833b84ebe54468fed55b430c66ea948d5 assets/twilightforest/blockstates/twili c6847760524f013ca7ef22e9ade80a864c08875e assets/twilightforest/blockstates/twilight_oak_trapped_chest.json 7c16b40c05c3017566fed35205c4ba258cc19a47 assets/twilightforest/blockstates/twilight_oak_wall_hanging_sign.json 53e15828736a2b89045f003c1fbb29f4b3cdbe3c assets/twilightforest/blockstates/twilight_oak_wood.json +071c2989044315ff6e12f851c777f6186aaf7a2a assets/twilightforest/blockstates/twilight_portal.json e035ea6a6929d7d71ba1771fe8abdca33ba44354 assets/twilightforest/blockstates/twilight_portal_miniature_structure.json 1ea03554b0c387d41c18ebd61d81fa9b7690a8f9 assets/twilightforest/blockstates/twilight_wall_sign.json 3b9dd5814ffa59035d86965523387b54978e6f27 assets/twilightforest/blockstates/twisted_stone.json 3540d7a777e007581ca4b12bc036bf0498f01006 assets/twilightforest/blockstates/twisted_stone_pillar.json 904767116b59b5da0d9a22c82989aa7c261b6d00 assets/twilightforest/blockstates/uberous_soil.json +69f0f90e8568986ea8bed10f4dca2e3ed9532c2a assets/twilightforest/blockstates/unbreakable_vanishing_block.json 75f75d0b7557a94e6eb471b15d5de2859548dfef assets/twilightforest/blockstates/uncrafting_table.json 22e37e7ec0ce60e57918a6f473661f3b376df4b7 assets/twilightforest/blockstates/underbrick.json 6fbca5391f954de595a2019f6431007e24891685 assets/twilightforest/blockstates/underbrick_floor.json @@ -623,6 +649,7 @@ aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minota 1b981a5e8ec0c51fc19b78e7f587cbe2c8c229a2 assets/twilightforest/items/greater_potion_flask.json d2ad19a8ea0ce2efd661e7c0aa2a66b4cd8c1686 assets/twilightforest/items/green_force_field.json d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json +557fbbb8e274eb42e54d08c341be697d4682a3c8 assets/twilightforest/items/hedge.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json 0875a7711978fc2d8847d6449ef40c3cc4e4c75d assets/twilightforest/items/helmet_crab_spawn_egg.json f76ee10a76be7fd4359b95b2d66e9915f6fe0b55 assets/twilightforest/items/hollow_acacia_log.json @@ -736,6 +763,7 @@ f46bd2155b870e02a91ac25057cf841595d5e1a8 assets/twilightforest/items/mazestone.j 3c24dedf0d690ae22125de34a8ccc058657e57ab assets/twilightforest/items/mazestone_mosaic.json 99acc7324de28707234411b59e0eea3f89af9495 assets/twilightforest/items/maze_map.json 55b6fb716280fa0bd4452a4f7e2780a238c6ffc7 assets/twilightforest/items/maze_map_focus.json +49619f104e85d91d436474f088ef9f3f2182a5fb assets/twilightforest/items/maze_slime_block.json 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/maze_slime_spawn_egg.json b428f9c4c51b53d40b48cf481fcc15f7907c5b5d assets/twilightforest/items/maze_wafer.json 3567ae0aaad2ba5707f541eaeac2254842938576 assets/twilightforest/items/meef_stroganoff.json @@ -837,6 +865,7 @@ d10ec3fe6cfab05358d42d9a3f8710af5c302c73 assets/twilightforest/items/redcap_sapp b86cf5e47a52892701f2b44110949fe380bddee7 assets/twilightforest/items/redcap_spawn_egg.json 78138edda97ede0610bf5160d3bd9f5421e2360e assets/twilightforest/items/red_thread.json d6873cf3981e7fc851792bdd6f6b640d0c015e4c assets/twilightforest/items/root.json +4c1232a44ee83a20dcd4b257546e3161899e2b2f assets/twilightforest/items/root_strand.json 55e7801774c057a351b8788b9d94ff89af310864 assets/twilightforest/items/rope.json e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow.json 7f500dcd5571fff8dfee2efeb938b21a716eae8d assets/twilightforest/items/sinister_spawner.json @@ -1042,6 +1071,7 @@ ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arct bd8b252faa40078e061a83cb1631b4cc4076fabb assets/twilightforest/models/block/bamboo_banister_short_extended.json 80d278f2cda9ebe2e09996e1fd06bde154460727 assets/twilightforest/models/block/bamboo_banister_tall.json 7f0161252fc0396cbc4387790b0884415d3d0838 assets/twilightforest/models/block/bamboo_banister_tall_extended.json +563b55ac8cb5e3a428d5ecfd1db9f997b960842f assets/twilightforest/models/block/beanstalk_grower.json c4202e9aeccc99a778c4f0af099cdeff1153c190 assets/twilightforest/models/block/beanstalk_leaves.json a80406b6f10ed730630cce44f1fff5f635420fc0 assets/twilightforest/models/block/birch_banister_connected.json ad1253493f05424be21c408de2ef1c49e4bb608a assets/twilightforest/models/block/birch_banister_connected_extended.json @@ -1069,6 +1099,7 @@ f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/bold a462fd6b50a881c3a5ffea67b665576117232d7e assets/twilightforest/models/block/bold_castle_brick_tile.json dfae34f8d9174a2288a63b0e276daae43013c1b9 assets/twilightforest/models/block/bold_stone_pillar.json 5574ef22a8b9fc22c31fcefcb36afdac9f304412 assets/twilightforest/models/block/bold_stone_pillar_horizontal.json +e3e1e1b0af996b4b5bb4b8227e0db8c36670eee9 assets/twilightforest/models/block/brazier.json 45f0e7513a99924387702ce251ec64a6fabc1d8c assets/twilightforest/models/block/brown_thorns_bottom.json 0e9f345aea9692c2b708dd7e2cd5e96cb6abee63 assets/twilightforest/models/block/brown_thorns_main.json 3cc128ae4c9e151a6c9cb2efb615da18b1b4b6b0 assets/twilightforest/models/block/brown_thorns_no_section.json @@ -1169,7 +1200,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json 4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_wood.json 84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_wood_horizontal.json -dfca35120b4e57c84408935f4ee005775527d3f6 assets/twilightforest/models/block/clover_patch.json +cf325abb60b30b02e30a9a775ff09406f629d13d assets/twilightforest/models/block/clover_patch.json 771c5abff1cdc13f88168a1df7d31a732e42b088 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json @@ -1296,7 +1327,7 @@ b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/gree d33e39d98f049f1f984a172f6d4586aeecfc251b assets/twilightforest/models/block/green_thorns_no_section_alt.json 27ceb320e50eb4125595271065810ad48265f66b assets/twilightforest/models/block/green_thorns_thorns.json e221514a37933ab9e92d605c246c3e54d55f31e9 assets/twilightforest/models/block/green_thorns_top.json -edf6bf6ebb20a32843cf47f624b0ded2e291db7c assets/twilightforest/models/block/hardened_dark_leaves.json +4a16d6fb674f50da9afd262a587cfef22f35195d assets/twilightforest/models/block/hardened_dark_leaves.json f8e294e138e4b799803977718ce11ff07f04efb2 assets/twilightforest/models/block/hedge.json 48786d9c139433bba4a3f0bc86bbac222e70a922 assets/twilightforest/models/block/hedge_rose.json 9a33de75d0832b880351b8ddef1733f34b035f28 assets/twilightforest/models/block/hollow_acacia_log_climbable_ladder.json @@ -1510,6 +1541,7 @@ afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mang ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/mazestone_border.json 05513204303ea191a74a47714665d1d52e9b35a3 assets/twilightforest/models/block/mazestone_brick.json 326a7eb2700ebc7478f70ed50a2807bf317d79fc assets/twilightforest/models/block/mazestone_mosaic.json +a1a56b5b32a8c24109eee175fbf4b504e9c54862 assets/twilightforest/models/block/maze_slime_block.json 03dcc8355f6ab475b9af794916cc32d10411c553 assets/twilightforest/models/block/mining_banister_connected.json 31efc9b586fc7730d211a17f8e44b464637d563d assets/twilightforest/models/block/mining_banister_connected_extended.json 11479e6d08ae560969b25c5fa4fb1ff98f7738b1 assets/twilightforest/models/block/mining_banister_inventory.json @@ -1575,7 +1607,7 @@ fb0dd8135ad5b140c5a984881c01499c2a3db4f7 assets/twilightforest/models/block/moss 4ac5f1928809e7b9869f8a64b9cbe6fc3561b2ce assets/twilightforest/models/block/mossy_nagastone_stairs_right_outer_outer.json 9f7d8d23bbd1a999dbc0234cbc1708996195033a assets/twilightforest/models/block/mossy_towerwood.json 33d5ae1c13ae92090a05b6d3cf4085f10622408c assets/twilightforest/models/block/mossy_underbrick.json -b3c7e8118edbb7bb4068d661d0323a63a33e6b42 assets/twilightforest/models/block/moss_patch.json +937b532ee95d1c8fece08bc0e2231f92aadeb669 assets/twilightforest/models/block/moss_patch.json 95a9081f639153ad3cfb046406cf4a220503104a assets/twilightforest/models/block/nagastone_down.json 79b23c24b4324d6295ec74fdb586bd64c1a911ad assets/twilightforest/models/block/nagastone_head.json 2eef8bce3571818b8c6f6c21e42ded29ef9c3faa assets/twilightforest/models/block/nagastone_horizontal.json @@ -1598,6 +1630,29 @@ b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_ 8af63ae20fa45a7a4e31bf91b83ffadd4bd72b5a assets/twilightforest/models/block/oak_banister_short_extended.json 0525aa8aa79b3bcc63461f935a201b2bcdf344f9 assets/twilightforest/models/block/oak_banister_tall.json 1ce3e3f1f9214f27468e367f0f9b5b8ade60c7a6 assets/twilightforest/models/block/oak_banister_tall_extended.json +43ca5ab53cebc8ed8b85df7fa8b2504dbfe05693 assets/twilightforest/models/block/ominous_black_candle.json +49a550e29d3b09e19a890ca7ed4d7b79b53899cf assets/twilightforest/models/block/ominous_blue_candle.json +b9b3556acad7734c572250cb3ce91d09dbc81713 assets/twilightforest/models/block/ominous_brown_candle.json +d1154e74e9341ccc047b5f54379b88b68c08bfa1 assets/twilightforest/models/block/ominous_candle.json +8961e492a1f605b158adbb4c6f97568212a25253 assets/twilightforest/models/block/ominous_cyan_candle.json +8c5bd9b2f19cba740d48216caf92812ddd18562d assets/twilightforest/models/block/ominous_fire_floor0.json +0097934aebf34324139e9873dec3cbe59d980803 assets/twilightforest/models/block/ominous_fire_floor1.json +92364a9f5a423a5d49ea33001c5656f0ec96b93b assets/twilightforest/models/block/ominous_fire_side0.json +96f220ad6ae86c0dad37295cf62102a2dade8b41 assets/twilightforest/models/block/ominous_fire_side1.json +20cdad1953216098f3520835c02057bdb18ede59 assets/twilightforest/models/block/ominous_fire_side_alt0.json +7e130d54ca97cc38e1bd3e738c4a817d39f51944 assets/twilightforest/models/block/ominous_fire_side_alt1.json +2e9c24d7e92cf79e7d9288ca245a7fb15597777d assets/twilightforest/models/block/ominous_gray_candle.json +b4119f22d8d3b17947baca25210733aa7872d1ea assets/twilightforest/models/block/ominous_green_candle.json +c2eef2756d2e5fd5a9f120878cfc5d4b37f56bb1 assets/twilightforest/models/block/ominous_light_blue_candle.json +2c3108ce01d6aacbdb0d7697e5b44941b1eabbca assets/twilightforest/models/block/ominous_light_gray_candle.json +ec612655c546977ff939bf80c4f4d3d43b50dd52 assets/twilightforest/models/block/ominous_lime_candle.json +c4dec37c4994e096091a5ccd83e4e5192f79880a assets/twilightforest/models/block/ominous_magenta_candle.json +540a645c05142b4fa3c9b7882fc0e455da6b43f3 assets/twilightforest/models/block/ominous_orange_candle.json +955c3771bef58a0c19d85562f50f4962d9535dc0 assets/twilightforest/models/block/ominous_pink_candle.json +5a7b32ef32c4f1a4c8cfae82f84072c7ca833235 assets/twilightforest/models/block/ominous_purple_candle.json +a9dadcf9497996054aee17f06a92850f9ea15be2 assets/twilightforest/models/block/ominous_red_candle.json +cbb59b3162b823678d4420baca0eaad1e26e0d93 assets/twilightforest/models/block/ominous_white_candle.json +f26e693c7673786de1b9fac84ac79525c7d8b2a8 assets/twilightforest/models/block/ominous_yellow_candle.json 1ec9eb9de05c4f6c4714ad4fdf15e54324b59a16 assets/twilightforest/models/block/orange_force_field.json 3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json 3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json @@ -1637,7 +1692,7 @@ df5a8d57f702ef72b84411e71d09946fc11c5f2c assets/twilightforest/models/block/reap 85a1846fe365e750f6065ae6b2674b599b1890cd assets/twilightforest/models/block/red_thread.json 1cf498908e2faa0c9f648013b26c477d382b25c1 assets/twilightforest/models/block/root.json 476c786d8b82c1d81e9973684496cbd700dc03b4 assets/twilightforest/models/block/sinister_spawner.json -7516e40ce2d519ffdb1db16d742150c57fac81fc assets/twilightforest/models/block/skull_chest.json +62f98aa3af27489e61b06c04d969c65ad6934602 assets/twilightforest/models/block/skull_chest.json 32ee96be3e82cc2cf9850d6b2939d61e17201e1e assets/twilightforest/models/block/smoker.json 4266888514b2dada7cdc1601f3b3fc67eba7df52 assets/twilightforest/models/block/snowy_cloud.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/snow_queen_boss_spawner.json @@ -2489,11 +2544,13 @@ b2e0e0513eb1aef915a551acb1c6d3996ad29b5b assets/twilightforest/models/item/rainb 838755413cb66599d04290c9c7a66f4f4d1f0fea assets/twilightforest/models/item/red_thread_bundle_0.json fcbf4ee3bdfc26cb430f28f4e76771da074a5aa0 assets/twilightforest/models/item/red_thread_bundle_1.json 8ffd7ca851414b40b4515be3ce1e9abfe92a1b8d assets/twilightforest/models/item/red_thread_bundle_2.json +8537a6ba9f4a50d69cf01630607b3b2bbdd7c50e assets/twilightforest/models/item/root_strand.json 9906e876cf4bf9bb6e28032e6129c3dba7081de4 assets/twilightforest/models/item/rope.json 37fa09cd8fb43aefdde6539b1d7a3744ed6b47e2 assets/twilightforest/models/item/seeker_bow.json 014ac2a2d0d5ddb4e3d41552c2d7ff2e5527ab33 assets/twilightforest/models/item/seeker_bow_pulling_0.json 02dbf7d47b4be510da10aa9eeca37841abd09fae assets/twilightforest/models/item/seeker_bow_pulling_1.json efd1f5c64c16dacd32b8b1320d9e713ddc58f339 assets/twilightforest/models/item/seeker_bow_pulling_2.json +a450c4e34bd472d349597e9e1740eb26e6e98d80 assets/twilightforest/models/item/shield.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/snow_queen_banner_pattern.json d4a5f01bd0560ede6d9756cee312a4fcd2c7747f assets/twilightforest/models/item/sorting_boat.json 25a9e1522b9cd0cb87297cae33a76de268d6852c assets/twilightforest/models/item/sorting_chest.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json new file mode 100644 index 0000000000..8a4da80912 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/beanstalk_grower.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/beanstalk_grower" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/brazier.json b/src/generated/resources/assets/twilightforest/blockstates/brazier.json new file mode 100644 index 0000000000..3e9f47d180 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/brazier.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/brazier" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json b/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json new file mode 100644 index 0000000000..5a5d8888f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fake_diamond.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/diamond_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json b/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json new file mode 100644 index 0000000000..475eff0256 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fake_gold.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/gold_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json b/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json new file mode 100644 index 0000000000..985d20f9eb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/maze_slime_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/maze_slime_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json new file mode 100644 index 0000000000..795a43edff --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_black_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_black_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json new file mode 100644 index 0000000000..c3e4ce1555 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_blue_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_blue_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json new file mode 100644 index 0000000000..610f127c27 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_brown_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_brown_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json new file mode 100644 index 0000000000..da954e8756 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json new file mode 100644 index 0000000000..4c43b2c69a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_cyan_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_cyan_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json new file mode 100644 index 0000000000..088f4ad6d2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_fire.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": [ + { + "model": "twilightforest:block/ominous_fire_floor0" + }, + { + "model": "twilightforest:block/ominous_fire_floor1" + } + ] + }, + { + "apply": [ + { + "model": "twilightforest:block/ominous_fire_side0" + }, + { + "model": "twilightforest:block/ominous_fire_side1" + }, + { + "model": "twilightforest:block/ominous_fire_side_alt0" + }, + { + "model": "twilightforest:block/ominous_fire_side_alt1" + } + ] + }, + { + "apply": [ + { + "model": "twilightforest:block/ominous_fire_side0", + "y": 90 + }, + { + "model": "twilightforest:block/ominous_fire_side1", + "y": 90 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt0", + "y": 90 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt1", + "y": 90 + } + ] + }, + { + "apply": [ + { + "model": "twilightforest:block/ominous_fire_side0", + "y": 180 + }, + { + "model": "twilightforest:block/ominous_fire_side1", + "y": 180 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt0", + "y": 180 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt1", + "y": 180 + } + ] + }, + { + "apply": [ + { + "model": "twilightforest:block/ominous_fire_side0", + "y": 270 + }, + { + "model": "twilightforest:block/ominous_fire_side1", + "y": 270 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt0", + "y": 270 + }, + { + "model": "twilightforest:block/ominous_fire_side_alt1", + "y": 270 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json new file mode 100644 index 0000000000..39369c1ad8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_gray_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_gray_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json new file mode 100644 index 0000000000..b42558bdee --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_green_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_green_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json new file mode 100644 index 0000000000..441d7b6735 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_blue_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_light_blue_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json new file mode 100644 index 0000000000..44584b8a90 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_light_gray_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_light_gray_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json new file mode 100644 index 0000000000..3a9744ec16 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_lime_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_lime_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json new file mode 100644 index 0000000000..66663a9793 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_magenta_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_magenta_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json new file mode 100644 index 0000000000..04dc7ff343 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_orange_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_orange_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json new file mode 100644 index 0000000000..2e76fc7524 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_pink_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_pink_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json new file mode 100644 index 0000000000..7b5829033c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_purple_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_purple_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json new file mode 100644 index 0000000000..821c106bf0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_red_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_red_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json new file mode 100644 index 0000000000..c77d390081 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_white_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_white_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json b/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json new file mode 100644 index 0000000000..fa8688b060 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/ominous_yellow_candle.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/ominous_yellow_candle" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/root_strand.json b/src/generated/resources/assets/twilightforest/blockstates/root_strand.json new file mode 100644 index 0000000000..b51b6e44ab --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/root_strand.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/root_strand" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json new file mode 100644 index 0000000000..486562246c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/twilight_portal.json @@ -0,0 +1,17 @@ +{ + "multipart": [ + { + "apply": { + "model": "twilightforest:block/twilight_portal" + } + }, + { + "apply": { + "model": "twilightforest:block/twilight_portal_barrier" + }, + "when": { + "is_one_way": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json b/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json new file mode 100644 index 0000000000..90834b362e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/unbreakable_vanishing_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "twilightforest:block/vanishing_block" + }, + "active=true": { + "model": "twilightforest:block/vanishing_block_on" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/hedge.json b/src/generated/resources/assets/twilightforest/items/hedge.json new file mode 100644 index 0000000000..c20253322d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/hedge.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/hedge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/maze_slime_block.json b/src/generated/resources/assets/twilightforest/items/maze_slime_block.json new file mode 100644 index 0000000000..0ab86d1c47 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/maze_slime_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/maze_slime_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/root_strand.json b/src/generated/resources/assets/twilightforest/items/root_strand.json new file mode 100644 index 0000000000..07ef73ac3f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/root_strand.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/root_strand" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json b/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json new file mode 100644 index 0000000000..a1d750357e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/beanstalk_grower.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/huge_stalk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/brazier.json b/src/generated/resources/assets/twilightforest/models/block/brazier.json new file mode 100644 index 0000000000..0b31c7a27e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/brazier.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "twilightforest:block/canopy_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/clover_patch.json b/src/generated/resources/assets/twilightforest/models/block/clover_patch.json index ea94bd691c..e3bb3130d5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/clover_patch.json +++ b/src/generated/resources/assets/twilightforest/models/block/clover_patch.json @@ -1,5 +1,5 @@ { - "parent": "twilightforest:block/clover_patch", + "parent": "minecraft:block/block", "loader": "twilightforest:patch", "render_type": "minecraft:cutout", "shaggify": false, diff --git a/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json b/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json index 5b3518a659..42b2334499 100644 --- a/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json +++ b/src/generated/resources/assets/twilightforest/models/block/hardened_dark_leaves.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/leaves", "textures": { - "all": "twilightforest:block/hardened_dark_leaves" + "all": "twilightforest:block/dark_leaves" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json b/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json new file mode 100644 index 0000000000..95cf5127e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/maze_slime_block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slime_block", + "render_type": "minecraft:translucent", + "textures": { + "particle": "twilightforest:block/maze_slime_block", + "texture": "twilightforest:block/maze_slime_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/moss_patch.json b/src/generated/resources/assets/twilightforest/models/block/moss_patch.json index 011bab456c..c6a236ec6c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/moss_patch.json +++ b/src/generated/resources/assets/twilightforest/models/block/moss_patch.json @@ -1,5 +1,5 @@ { - "parent": "twilightforest:block/moss_patch", + "parent": "minecraft:block/block", "loader": "twilightforest:patch", "shaggify": true, "textures": { diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json new file mode 100644 index 0000000000..bb4d68ac1c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_black_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/black_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json new file mode 100644 index 0000000000..157bb22a60 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_blue_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/blue_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json new file mode 100644 index 0000000000..bdb98c0f62 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_brown_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/brown_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json new file mode 100644 index 0000000000..5eaf26d0da --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json new file mode 100644 index 0000000000..5cb22e6cc0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_cyan_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/cyan_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json new file mode 100644 index 0000000000..347ebddfbc --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "twilightforest:block/ominous_fire_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json new file mode 100644 index 0000000000..40bdfbdfe6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "twilightforest:block/ominous_fire_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json new file mode 100644 index 0000000000..366be65bf8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "twilightforest:block/ominous_fire_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json new file mode 100644 index 0000000000..b8631a9ea4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "twilightforest:block/ominous_fire_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json new file mode 100644 index 0000000000..95422a2fcf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "twilightforest:block/ominous_fire_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json new file mode 100644 index 0000000000..f33d80a0ba --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "twilightforest:block/ominous_fire_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json new file mode 100644 index 0000000000..72e684025f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_gray_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/gray_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json new file mode 100644 index 0000000000..fbe047f048 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_green_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/green_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json new file mode 100644 index 0000000000..df2541b5d5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_light_blue_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/light_blue_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json new file mode 100644 index 0000000000..5e349e84f6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_light_gray_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/light_gray_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json new file mode 100644 index 0000000000..d240c6495c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_lime_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/lime_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json new file mode 100644 index 0000000000..cd2e1b2aec --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_magenta_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/magenta_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json new file mode 100644 index 0000000000..82f8525024 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_orange_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/orange_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json new file mode 100644 index 0000000000..7e8d2af68b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_pink_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/pink_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json new file mode 100644 index 0000000000..2457f47841 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_purple_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/purple_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json new file mode 100644 index 0000000000..e0aafb2309 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_red_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/red_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json new file mode 100644 index 0000000000..39d395ab37 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_white_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/white_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json b/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json new file mode 100644 index 0000000000..ef1655e931 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_yellow_candle.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/yellow_candle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/skull_chest.json b/src/generated/resources/assets/twilightforest/models/block/skull_chest.json index 1960d25000..97c6706baa 100644 --- a/src/generated/resources/assets/twilightforest/models/block/skull_chest.json +++ b/src/generated/resources/assets/twilightforest/models/block/skull_chest.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "minecraft:block/bone_block" + "particle": "minecraft:block/light_gray_concrete_powder" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/root_strand.json b/src/generated/resources/assets/twilightforest/models/item/root_strand.json new file mode 100644 index 0000000000..70871ee6c3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/root_strand.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:block/root_strand" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/shield.json b/src/generated/resources/assets/twilightforest/models/item/shield.json new file mode 100644 index 0000000000..70f4930ac3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/shield.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "twilightforest:item/lich_shield_frame", + "layer1": "twilightforest:item/lich_shield_fill" + } +} \ No newline at end of file From bc4b65e8df933d376555d157368c7dada8f0668a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 00:03:44 +0200 Subject: [PATCH 124/239] jar block --- .../assets/models/BlockModelGenerator.java | 1 + .../assets/models/TFModelTemplates.java | 23 +++++++++- .../helpers/models/BlockModelBuilders.java | 41 +++++++++++++++-- .../datagen/helpers/models/package-info.java | 9 ++++ .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 46 ++++++++++++++++++- .../blockstates/cicada_jar.json | 7 +++ .../blockstates/firefly_jar.json | 7 +++ .../twilightforest/blockstates/mason_jar.json | 7 +++ .../models/block/lid/acacia_log.json | 7 +++ .../models/block/lid/bamboo_block.json | 7 +++ .../models/block/lid/birch_log.json | 7 +++ .../models/block/lid/canopy_log.json | 7 +++ .../models/block/lid/cherry_log.json | 7 +++ .../models/block/lid/cinder_log.json | 7 +++ .../models/block/lid/crimson_stem.json | 7 +++ .../models/block/lid/dark_log.json | 7 +++ .../models/block/lid/dark_oak_log.json | 7 +++ .../models/block/lid/jungle_log.json | 7 +++ .../models/block/lid/mangrove_log.json | 7 +++ .../models/block/lid/mining_log.json | 7 +++ .../models/block/lid/oak_log.json | 7 +++ .../models/block/lid/pumpkin.json | 7 +++ .../models/block/lid/sorting_log.json | 7 +++ .../models/block/lid/spruce_log.json | 7 +++ .../models/block/lid/stripped_acacia_log.json | 7 +++ .../block/lid/stripped_bamboo_block.json | 7 +++ .../models/block/lid/stripped_birch_log.json | 7 +++ .../models/block/lid/stripped_canopy_log.json | 7 +++ .../models/block/lid/stripped_cherry_log.json | 7 +++ .../block/lid/stripped_crimson_stem.json | 7 +++ .../models/block/lid/stripped_dark_log.json | 7 +++ .../block/lid/stripped_dark_oak_log.json | 7 +++ .../models/block/lid/stripped_jungle_log.json | 7 +++ .../block/lid/stripped_mangrove_log.json | 7 +++ .../models/block/lid/stripped_mining_log.json | 7 +++ .../models/block/lid/stripped_oak_log.json | 7 +++ .../block/lid/stripped_sorting_log.json | 7 +++ .../models/block/lid/stripped_spruce_log.json | 7 +++ .../models/block/lid/stripped_time_log.json | 7 +++ .../lid/stripped_transformation_log.json | 7 +++ .../block/lid/stripped_twilight_oak_log.json | 7 +++ .../block/lid/stripped_warped_stem.json | 7 +++ .../models/block/lid/time_log.json | 7 +++ .../models/block/lid/transformation_log.json | 7 +++ .../models/block/lid/twilight_oak_log.json | 7 +++ .../block/lid/vanilla_mangrove_log.json | 7 +++ .../lid/vanilla_stripped_mangrove_log.json | 7 +++ .../models/block/lid/warped_stem.json | 7 +++ .../models/block/mason_jar.json | 45 ++++++++++++++++++ 49 files changed, 458 insertions(+), 8 deletions(-) create mode 100644 src/data/java/twilightforest/datagen/helpers/models/package-info.java create mode 100644 src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/mason_jar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/time_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/mason_jar.json diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index a4bc142e30..04bd1691e1 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -87,6 +87,7 @@ public void run() { this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); + this.makeJars(); List floorOminous = this.createFloorFireModels(TFBlocks.OMINOUS_FIRE.get()); List sideOminous = this.createSideFireModels(TFBlocks.OMINOUS_FIRE.get()); this.blockStateOutput.accept(MultiPartGenerator.multiPart(TFBlocks.OMINOUS_FIRE.get()) diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index a9eb63dff5..0fa853ca00 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -3,11 +3,11 @@ import net.minecraft.client.data.models.model.ModelTemplate; import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; +import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; -import org.w3c.dom.Text; +import net.neoforged.neoforge.client.model.generators.template.ExtendedModelTemplateBuilder; import twilightforest.TwilightForestMod; import twilightforest.client.model.block.giantblock.GiantBlockBuilder; -import twilightforest.client.model.block.giantblock.GiantBlockModelLoader; public class TFModelTemplates extends ModelTemplates { @@ -81,4 +81,23 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate SPECIAL_HANDHELD = createItem("twilightforest:special_handheld", TextureSlot.LAYER0); public static final ModelTemplate TWO_LAYERED_HANDHELD = createItem("handheld", TextureSlot.LAYER0, TextureSlot.LAYER1); public static final ModelTemplate TWO_LAYERED_BOW = createItem("bow", TextureSlot.LAYER0, TextureSlot.LAYER1); + + public static final ModelTemplate MASON_JAR = ExtendedModelTemplateBuilder.builder() + .parent(ResourceLocation.withDefaultNamespace("block/block")) + .renderType(ResourceLocation.withDefaultNamespace("cutout")) + .requiredTextureSlot(TextureSlot.PARTICLE) + .requiredTextureSlot(TextureSlot.SIDE) + .requiredTextureSlot(TextureSlot.BOTTOM) + .requiredTextureSlot(TextureSlot.TOP) + .element(elementBuilder -> + elementBuilder.from(3.0F, 0.0F, 3.0F).to(13.0F, 14.0F, 13.0F) + .face(Direction.UP, faceBuilder -> faceBuilder.texture(TextureSlot.TOP)) + .face(Direction.DOWN, faceBuilder -> faceBuilder.texture(TextureSlot.BOTTOM).cullface(Direction.DOWN)) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + ).build(); + + public static final ModelTemplate JAR_LID = create("twilightforest:jar_lid", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/jar_lid")).build(); } diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 60c9020171..6f585d903d 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -11,12 +11,9 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.*; import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DirectionalBlock; -import net.minecraft.world.level.block.PipeBlock; -import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; @@ -24,6 +21,7 @@ import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; +import twilightforest.client.renderer.block.JarRenderer; import twilightforest.client.renderer.special.SkullCandleSpecialRenderer; import twilightforest.client.renderer.special.TrophySpecialRenderer; import twilightforest.datagen.assets.models.TFModelTemplates; @@ -448,6 +446,39 @@ private ResourceLocation makeTerrorcottaLinesModel(String type, boolean rotated) return TFModelTemplates.CUBE.create(TwilightForestMod.prefix("block/" + type + "_" + (rotated ? 90 : 0)), mapping, this.modelOutput); } + public void makeJars() { + TextureMapping mapping = TextureMapping.cube(TFBlocks.MASON_JAR.get()) + .put(TextureSlot.TOP, TwilightForestMod.prefix("block/jar_top")) + .put(TextureSlot.BOTTOM, TwilightForestMod.prefix("block/jar_bottom")) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/jar_side")) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/jar_side")); + + ResourceLocation location = TFModelTemplates.MASON_JAR.create(TwilightForestMod.prefix("block/" + TFBlocks.MASON_JAR.getId().getPath()), mapping, this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MASON_JAR.get(), location)); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CICADA_JAR.get(), location)); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FIREFLY_JAR.get(), location)); + + for (JarRenderer.LidResource lid : JarRenderer.LID_LOCATION_LIST.get()) { + ResourceLocation item = lid.resourceLocation(); + String name = item.getPath(); + + if (lid.lid() == Items.PUMPKIN) { + TextureMapping lidMapping = TextureMapping.cube(TFBlocks.MASON_JAR.get()) + .put(TextureSlot.SIDE, ResourceLocation.withDefaultNamespace("block/pumpkin_side")) + .put(TextureSlot.END, ResourceLocation.withDefaultNamespace("block/pumpkin_top")); + + TFModelTemplates.JAR_LID.create(TwilightForestMod.prefix("block/lid/" + name), lidMapping, this.modelOutput); + continue; + } + if (lid.customPath() != null) name = lid.customPath(); + TextureMapping lidMapping = TextureMapping.cube(TFBlocks.MASON_JAR.get()) + .put(TextureSlot.SIDE, ResourceLocation.fromNamespaceAndPath(item.getNamespace(), "block/" + item.getPath())) + .put(TextureSlot.END, ResourceLocation.fromNamespaceAndPath(item.getNamespace(), "block/" + item.getPath() + "_top")); + + TFModelTemplates.JAR_LID.create(TwilightForestMod.prefix("block/lid/" + name), lidMapping, this.modelOutput); + } + } + @NotNull private static String linesSuffixForFacing(boolean blockRotation, Direction blockFace) { Vec3i normal = blockFace.getUnitVec3i(); diff --git a/src/data/java/twilightforest/datagen/helpers/models/package-info.java b/src/data/java/twilightforest/datagen/helpers/models/package-info.java new file mode 100644 index 0000000000..4866bbfde1 --- /dev/null +++ b/src/data/java/twilightforest/datagen/helpers/models/package-info.java @@ -0,0 +1,9 @@ +@FieldsAreNonnullByDefault +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.datagen.helpers.models; + +import net.minecraft.FieldsAreNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index c2cffc02d0..0e13fdefbc 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-11T13:55:03.5967937 Model Definitions - twilightforest +// 1.21.4 2025-04-18T23:55:21.1459394 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -54,6 +54,7 @@ a1aafd0da411c08a2aadb7772175bbd57729d3d9 assets/twilightforest/blockstates/castl b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherry_banister.json 92f7638a60b873d8f26bfeba8f837d4ead6df70c assets/twilightforest/blockstates/chiseled_canopy_bookshelf.json 9df0d529e8bf974cf0c2be29316e9b9f1ef73078 assets/twilightforest/blockstates/cicada.json +e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/cicada_jar.json 506127577d22bb13c94efaa56e758eaac74c6717 assets/twilightforest/blockstates/cinder_furnace.json b53fdca651c846d8d8f51d96c1a6bc3e4584fc10 assets/twilightforest/blockstates/cinder_log.json 794beaa5f826d16ec9edb4209dd4cf9ee6ebeb6f assets/twilightforest/blockstates/cinder_wood.json @@ -110,6 +111,7 @@ bd1b05dc2697d7e22183d7cc0d97328088d2875c assets/twilightforest/blockstates/fake_ aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json +e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/firefly_jar.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json 836e22887f073d234297a3f80bc6c6f4546fbdfc assets/twilightforest/blockstates/ghast_trap.json @@ -223,6 +225,7 @@ ba193ec3517d4a2bb1ec3467d1dc2f1e0d41daaa assets/twilightforest/blockstates/mangr b187a6f468e35e648b3a98eebf6cbf6c9f8dc2f6 assets/twilightforest/blockstates/mangrove_wall_hanging_sign.json 83bb8a063a4c92a453823c8967471880ebc488a3 assets/twilightforest/blockstates/mangrove_wall_sign.json 79ba1c62c7d356e55518f4ccbe7eeb47f1dcf54e assets/twilightforest/blockstates/mangrove_wood.json +e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/mason_jar.json 471b7e8d1fda6e73a957cf375b3ff4b4a74446a7 assets/twilightforest/blockstates/mayapple.json a8062c3154e39f87d0548dc5b03f5ac0dd38b268 assets/twilightforest/blockstates/mazestone.json 437f589b25154f38ea5d5181d49e838c1f1524ba assets/twilightforest/blockstates/mazestone_border.json @@ -1488,6 +1491,46 @@ ef8f245fc413b66b9f5a9e1cb7c8da5ac0ccdfb6 assets/twilightforest/models/block/jung b24c219720a2fb2fd16580cbcff248b48212a399 assets/twilightforest/models/block/keepsake_casket.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/knight_phantom_boss_spawner.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/lich_boss_spawner.json +b88ae01506644a0b5192d29942d0f4843b31c196 assets/twilightforest/models/block/lid/acacia_log.json +716bb0a3104f66f022128546d8f56027506551a5 assets/twilightforest/models/block/lid/bamboo_block.json +ada2d8a3eb3ff27a5cad0f21d4c1561ce8d7bc8a assets/twilightforest/models/block/lid/birch_log.json +ab5612567f950bdc528af32fad0ee1f5e6a48b82 assets/twilightforest/models/block/lid/canopy_log.json +882d930efab3776f295f3361e240b9742bfb3998 assets/twilightforest/models/block/lid/cherry_log.json +823e96dd375fb6cd765c8d87257a31d2e1cd7a19 assets/twilightforest/models/block/lid/cinder_log.json +2a722310c318beed1ad60354ee66d813293b8704 assets/twilightforest/models/block/lid/crimson_stem.json +cae6c43d2ccc1afbab4cbd965462950eafa3d1f2 assets/twilightforest/models/block/lid/dark_log.json +a0b4ee38f12ddc70ad57689df5d303397e78b384 assets/twilightforest/models/block/lid/dark_oak_log.json +db6a9d6d158eb3a5a1a16b28d4489f3f480265b5 assets/twilightforest/models/block/lid/jungle_log.json +19842890142c3bb31401ac9da58087be97a76295 assets/twilightforest/models/block/lid/mangrove_log.json +647c8d268e4884bae99a5adad83b55729420f558 assets/twilightforest/models/block/lid/mining_log.json +6d4cf4d4748111a48745b1216ee0cf90df30c06c assets/twilightforest/models/block/lid/oak_log.json +452d508621d48693bb31b93afb52d4155144efdd assets/twilightforest/models/block/lid/pumpkin.json +70e3a5111dc6b8526ad109dced7e46f378677b46 assets/twilightforest/models/block/lid/sorting_log.json +6000c4fffd48f4a6cc1b09d7403863051974e1ef assets/twilightforest/models/block/lid/spruce_log.json +e1b506e4d7736bcfd9ebcd22c2dd9b526d52acc3 assets/twilightforest/models/block/lid/stripped_acacia_log.json +42c27de4aeed128e115e906016359c8be0f9e92a assets/twilightforest/models/block/lid/stripped_bamboo_block.json +11374bbda624ed7d61d0ebaf041138d575281f65 assets/twilightforest/models/block/lid/stripped_birch_log.json +2413a3f0b0843a6b1c1b618476183d6a5f121638 assets/twilightforest/models/block/lid/stripped_canopy_log.json +6dc29cdc96a1bc0a6cc3be71780b7ba568100c08 assets/twilightforest/models/block/lid/stripped_cherry_log.json +ed61da99c2d720bcc4accc4041eb4af3ff37b01b assets/twilightforest/models/block/lid/stripped_crimson_stem.json +4e009d74a21912b97b292b85ffa69d044462121a assets/twilightforest/models/block/lid/stripped_dark_log.json +3cc17fb4a171206a3546e49cd643e319c16089c0 assets/twilightforest/models/block/lid/stripped_dark_oak_log.json +6fb0f4ad22d0737306252a4c5dd1a81ebf51ac4f assets/twilightforest/models/block/lid/stripped_jungle_log.json +18de1925a507b375246dc7d4ee16328355bf2eb5 assets/twilightforest/models/block/lid/stripped_mangrove_log.json +63b1f5ac883e4b08627d9e5e97595fe87cdfc673 assets/twilightforest/models/block/lid/stripped_mining_log.json +a2fbab2a89e8996c546ca79e99f79e92961ad456 assets/twilightforest/models/block/lid/stripped_oak_log.json +0312afc5eace15f88c8b3cbc4f378dc2573b2188 assets/twilightforest/models/block/lid/stripped_sorting_log.json +1b13a84d58337e1bb7b0212c229ec077d779e3e8 assets/twilightforest/models/block/lid/stripped_spruce_log.json +145c186d3d81026460a889f8090b0f209d145f4b assets/twilightforest/models/block/lid/stripped_time_log.json +069623a49888e17d591b4cdbd016199462499687 assets/twilightforest/models/block/lid/stripped_transformation_log.json +24dd07071ac76f4ecfef27294b5da3e1aa0cd0c4 assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json +99f99e30899b7727d42e74dcc7c056e187a4609e assets/twilightforest/models/block/lid/stripped_warped_stem.json +48e9171d33633b8d2c1a14659935fdff13551eef assets/twilightforest/models/block/lid/time_log.json +72b3c54acdb7484a0221de392fdd20ab7d5a1919 assets/twilightforest/models/block/lid/transformation_log.json +c28e122e741370ee485f0c85ea800b25ee1d2042 assets/twilightforest/models/block/lid/twilight_oak_log.json +0811607dbaecb6aa53733a7451c51cb7f80503d4 assets/twilightforest/models/block/lid/vanilla_mangrove_log.json +6d2ffab1908613c481d6d89a84048e8e5d644905 assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json +c03e000113653b1c88763894dd1ff9f01dbbd496 assets/twilightforest/models/block/lid/warped_stem.json 7043b15a78685243835fc2861e5832db90d4e6e2 assets/twilightforest/models/block/liveroot_block.json 1966404141cbc2cae04540d9fde596aab1e625a7 assets/twilightforest/models/block/locked_vanishing_block.json f2f861ec196565a905592ab9873e7c988f9b2694 assets/twilightforest/models/block/locked_vanishing_block_on.json @@ -1537,6 +1580,7 @@ afa13ee126e55c408de40429be5573a6294a0745 assets/twilightforest/models/block/mang 46b74a3732853a40155721f3078eec918f6d20ad assets/twilightforest/models/block/mangrove_trapdoor_top.json 7397e704353d85910af55e3a467ec5879bd93c0d assets/twilightforest/models/block/mangrove_trapped_chest.json 9b9963a7f2560a12d25c3a70561c8ecb0477abbf assets/twilightforest/models/block/mangrove_wood.json +0e10719f3aadca5321e92190d07d7d1e2d2a45a4 assets/twilightforest/models/block/mason_jar.json 4995f7ce3c51e4ca5849be6a342dc4f7bae1d0e8 assets/twilightforest/models/block/mazestone.json ce33f80495f2f0bbad3203e1547cf4124e66f15e assets/twilightforest/models/block/mazestone_border.json 05513204303ea191a74a47714665d1d52e9b35a3 assets/twilightforest/models/block/mazestone_brick.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json b/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json new file mode 100644 index 0000000000..f392316ec5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/cicada_jar.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mason_jar" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json b/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json new file mode 100644 index 0000000000..f392316ec5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/firefly_jar.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mason_jar" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json b/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json new file mode 100644 index 0000000000..f392316ec5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/mason_jar.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/mason_jar" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json new file mode 100644 index 0000000000..a7e862fb17 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/acacia_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/acacia_log_top", + "side": "minecraft:block/acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json b/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json new file mode 100644 index 0000000000..a12d9d4034 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/bamboo_block.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/bamboo_block_top", + "side": "minecraft:block/bamboo_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json new file mode 100644 index 0000000000..23e7b8f27a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/birch_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/birch_log_top", + "side": "minecraft:block/birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json new file mode 100644 index 0000000000..94187cf6f0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/canopy_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/canopy_log_top", + "side": "twilightforest:block/canopy_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json new file mode 100644 index 0000000000..7e02c0cca0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/cherry_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/cherry_log_top", + "side": "minecraft:block/cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json new file mode 100644 index 0000000000..621258b5f3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/cinder_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/cinder_log_top", + "side": "twilightforest:block/cinder_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json new file mode 100644 index 0000000000..5bb86e96e5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/crimson_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/crimson_stem_top", + "side": "minecraft:block/crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json new file mode 100644 index 0000000000..1ed5079d8f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/dark_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/dark_log_top", + "side": "twilightforest:block/dark_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json new file mode 100644 index 0000000000..344c5ddb31 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/dark_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/dark_oak_log_top", + "side": "minecraft:block/dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json new file mode 100644 index 0000000000..6b83ae4928 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/jungle_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/jungle_log_top", + "side": "minecraft:block/jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json new file mode 100644 index 0000000000..b3bf0cd39d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/mangrove_log_top", + "side": "twilightforest:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json new file mode 100644 index 0000000000..9dc3db39f1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/mining_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/mining_log_top", + "side": "twilightforest:block/mining_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json new file mode 100644 index 0000000000..1e99136cf4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/oak_log_top", + "side": "minecraft:block/oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json b/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json new file mode 100644 index 0000000000..60f9dd6d4b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/pumpkin.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/pumpkin_top", + "side": "minecraft:block/pumpkin_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json new file mode 100644 index 0000000000..fd509fc6b6 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/sorting_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/sorting_log_top", + "side": "twilightforest:block/sorting_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json new file mode 100644 index 0000000000..fc4e78c530 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/spruce_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/spruce_log_top", + "side": "minecraft:block/spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json new file mode 100644 index 0000000000..bd288f3625 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_acacia_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_acacia_log_top", + "side": "minecraft:block/stripped_acacia_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json new file mode 100644 index 0000000000..c009c63ef9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_bamboo_block.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_bamboo_block_top", + "side": "minecraft:block/stripped_bamboo_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json new file mode 100644 index 0000000000..29384a8e82 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_birch_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_birch_log_top", + "side": "minecraft:block/stripped_birch_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json new file mode 100644 index 0000000000..e532f74879 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_canopy_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_canopy_log_top", + "side": "twilightforest:block/stripped_canopy_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json new file mode 100644 index 0000000000..fdb1582686 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_cherry_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_cherry_log_top", + "side": "minecraft:block/stripped_cherry_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json new file mode 100644 index 0000000000..286fa90a67 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_crimson_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_crimson_stem_top", + "side": "minecraft:block/stripped_crimson_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json new file mode 100644 index 0000000000..36d6b9112c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_dark_log_top", + "side": "twilightforest:block/stripped_dark_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json new file mode 100644 index 0000000000..e8b4ebe118 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_dark_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_dark_oak_log_top", + "side": "minecraft:block/stripped_dark_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json new file mode 100644 index 0000000000..34b0b70807 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_jungle_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_jungle_log_top", + "side": "minecraft:block/stripped_jungle_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json new file mode 100644 index 0000000000..fd4c91c55b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_mangrove_log_top", + "side": "twilightforest:block/stripped_mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json new file mode 100644 index 0000000000..2bc0c5b1b5 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_mining_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_mining_log_top", + "side": "twilightforest:block/stripped_mining_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json new file mode 100644 index 0000000000..501af68a3c --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_oak_log_top", + "side": "minecraft:block/stripped_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json new file mode 100644 index 0000000000..0d9c254191 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_sorting_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_sorting_log_top", + "side": "twilightforest:block/stripped_sorting_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json new file mode 100644 index 0000000000..270de24d86 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_spruce_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_spruce_log_top", + "side": "minecraft:block/stripped_spruce_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json new file mode 100644 index 0000000000..2991be0186 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_time_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_time_log_top", + "side": "twilightforest:block/stripped_time_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json new file mode 100644 index 0000000000..199f27c13d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_transformation_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_transformation_log_top", + "side": "twilightforest:block/stripped_transformation_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json new file mode 100644 index 0000000000..0cf5ddcd58 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_twilight_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/stripped_twilight_oak_log_top", + "side": "twilightforest:block/stripped_twilight_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json new file mode 100644 index 0000000000..164717ad41 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_warped_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_warped_stem_top", + "side": "minecraft:block/stripped_warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json new file mode 100644 index 0000000000..040ddbd7b9 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/time_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/time_log_top", + "side": "twilightforest:block/time_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json new file mode 100644 index 0000000000..3d55c00d73 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/transformation_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/transformation_log_top", + "side": "twilightforest:block/transformation_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json new file mode 100644 index 0000000000..715c6280c3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/twilight_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "twilightforest:block/twilight_oak_log_top", + "side": "twilightforest:block/twilight_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json new file mode 100644 index 0000000000..da2e0d0e49 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/mangrove_log_top", + "side": "minecraft:block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json new file mode 100644 index 0000000000..3fccea7f55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/vanilla_stripped_mangrove_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_mangrove_log_top", + "side": "minecraft:block/stripped_mangrove_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json b/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json new file mode 100644 index 0000000000..0a26a96357 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/warped_stem.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/warped_stem_top", + "side": "minecraft:block/warped_stem" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/mason_jar.json b/src/generated/resources/assets/twilightforest/models/block/mason_jar.json new file mode 100644 index 0000000000..aa112da0fe --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/mason_jar.json @@ -0,0 +1,45 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#bottom" + }, + "east": { + "texture": "#side" + }, + "north": { + "texture": "#side" + }, + "south": { + "texture": "#side" + }, + "up": { + "texture": "#top" + }, + "west": { + "texture": "#side" + } + }, + "from": [ + 3, + 0, + 3 + ], + "to": [ + 13, + 14, + 13 + ] + } + ], + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/jar_bottom", + "particle": "twilightforest:block/jar_side", + "side": "twilightforest:block/jar_side", + "top": "twilightforest:block/jar_top" + } +} \ No newline at end of file From 73b020860cbd7ace57c22c58136bc472ddc33e2d Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 00:02:06 -0600 Subject: [PATCH 125/239] aurora block set --- .../assets/models/BlockModelGenerator.java | 2 +- .../assets/models/TFModelTemplates.java | 3 ++ .../helpers/models/BlockModelBuilders.java | 29 ++++++++++++++++ .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 31 +++++++++++++++++- .../blockstates/aurora_block.json | 7 ++++ .../blockstates/aurora_pillar.json | 16 +++++++++ .../blockstates/aurora_slab.json | 13 ++++++++ .../blockstates/auroralized_glass.json | 7 ++++ .../twilightforest/items/aurora_block.json | 12 +++++++ .../twilightforest/items/aurora_pillar.json | 12 +++++++ .../twilightforest/items/aurora_slab.json | 12 +++++++ .../items/auroralized_glass.json | 12 +++++++ .../models/block/aurora_block.json | 22 +++++++++++++ .../models/block/aurora_block_0.json | 6 ++++ .../models/block/aurora_block_1.json | 6 ++++ .../models/block/aurora_block_10.json | 6 ++++ .../models/block/aurora_block_11.json | 6 ++++ .../models/block/aurora_block_12.json | 6 ++++ .../models/block/aurora_block_13.json | 6 ++++ .../models/block/aurora_block_14.json | 6 ++++ .../models/block/aurora_block_15.json | 6 ++++ .../models/block/aurora_block_2.json | 6 ++++ .../models/block/aurora_block_3.json | 6 ++++ .../models/block/aurora_block_4.json | 6 ++++ .../models/block/aurora_block_5.json | 6 ++++ .../models/block/aurora_block_6.json | 6 ++++ .../models/block/aurora_block_7.json | 6 ++++ .../models/block/aurora_block_8.json | 6 ++++ .../models/block/aurora_block_9.json | 6 ++++ .../models/block/aurora_pillar.json | 8 +++++ .../models/block/aurora_slab.json | 8 +++++ .../models/block/aurora_slab_top.json | 8 +++++ .../models/block/auroralized_glass.json | 17 ++++++++++ .../client/event/ColorHandler.java | 2 +- .../aurorablock/UnbakedNoiseVaryingModel.java | 15 +++++++-- .../models/block/tinted_block.json | 20 +++++++++++ .../models/block/tinted_slab_bottom.json | 20 +++++++++++ .../models/block/tinted_slab_top.json | 20 +++++++++++ .../{aurora_block_0.png => aurora_block.png} | Bin ...k_0.png.mcmeta => aurora_block.png.mcmeta} | 0 ...glass_ct.png => auroralized_glass_ctm.png} | Bin 41 files changed, 387 insertions(+), 5 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_block.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json create mode 100644 src/generated/resources/assets/twilightforest/items/aurora_block.json create mode 100644 src/generated/resources/assets/twilightforest/items/aurora_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/items/aurora_slab.json create mode 100644 src/generated/resources/assets/twilightforest/items/auroralized_glass.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_slab.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/aurora_slab_top.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json create mode 100644 src/main/resources/assets/twilightforest/models/block/tinted_block.json create mode 100644 src/main/resources/assets/twilightforest/models/block/tinted_slab_bottom.json create mode 100644 src/main/resources/assets/twilightforest/models/block/tinted_slab_top.json rename src/main/resources/assets/twilightforest/textures/block/{aurora_block_0.png => aurora_block.png} (100%) rename src/main/resources/assets/twilightforest/textures/block/{aurora_block_0.png.mcmeta => aurora_block.png.mcmeta} (100%) rename src/main/resources/assets/twilightforest/textures/block/{auroralized_glass_ct.png => auroralized_glass_ctm.png} (100%) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 04bd1691e1..7a8f07cfe6 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -205,7 +205,7 @@ public void run() { return Variant.variant().with(VariantProperties.MODEL, model); }))); - //TODO aurora blocks + this.generateAuroraBlocks(); this.wrapBlockItem(TFBlocks.HUGE_STALK.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.createParticleOnlyBlock(TFBlocks.BEANSTALK_GROWER.get(), TFBlocks.HUGE_STALK.get()); this.wrapBlockItem(TFBlocks.BEANSTALK_LEAVES.get(), block -> this.blockWithRenderType(block, "cutout_mipped", ModelTemplates.CUBE_ALL, u -> TextureMapping.cube(Blocks.AZALEA_LEAVES))); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 0fa853ca00..b28342eaf5 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -68,6 +68,9 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate CASTLE_RUNE_TEMPLATE = create("twilightforest:castle_rune_template", TextureSlot.ALL, TFTextureSlot.RUNE); public static final ModelTemplate TINTED_CUBE_BOTTOM_TOP = create("twilightforest:tinted_cube_bottom_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); + public static final ModelTemplate TINTED_BLOCK = create("twilightforest:tinted_block", TextureSlot.ALL); + public static final ModelTemplate TINTED_SLAB_BOTTOM = create("twilightforest:tinted_slab_bottom", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); + public static final ModelTemplate TINTED_SLAB_TOP = create("twilightforest:tinted_slab_top", "_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); public static final ModelTemplate TROPHY_PEDESTAL = create("twilightforest:template_trophy_pedestal", TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST); public static final ModelTemplate TROPHY_PEDESTAL_ACTIVE = create("twilightforest:template_trophy_pedestal_active", TextureSlot.NORTH, TextureSlot.SOUTH, TextureSlot.EAST, TextureSlot.WEST, //base diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 6f585d903d..1f55c2b1cb 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -18,6 +18,7 @@ import org.jetbrains.annotations.NotNull; import twilightforest.TwilightForestMod; import twilightforest.block.*; +import twilightforest.client.model.block.aurorablock.NoiseVaryingModelBuilder; import twilightforest.client.model.block.connected.ConnectedTextureBuilder; import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; @@ -942,6 +943,34 @@ public void generateHugeLilyPad() { this.itemModelOutput.accept(block.asItem(), ItemModelUtils.tintedModel(ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(block), this.modelOutput), ItemModelUtils.constantTint(-9321636))); } + public void generateAuroraBlocks() { + Block base = TFBlocks.AURORA_BLOCK.get(); + ResourceLocation[] auroras = new ResourceLocation[16]; + for (int i = 0; i < auroras.length; i++) { + auroras[i] = TFModelTemplates.TINTED_BLOCK.createWithSuffix(TFBlocks.AURORA_BLOCK.get(), "_" + i, TextureMapping.cube(TextureMapping.getBlockTexture(base, i == 0 ? "" : "_" + i)), this.modelOutput); + } + this.wrapTintedBlockItem(base, ItemModelUtils.constantTint(-16711758), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, TFModelTemplates.create("block").extend().customLoader(NoiseVaryingModelBuilder::new, builder -> builder.addAll(auroras)).build().create(block, new TextureMapping(), this.modelOutput))))); + + Block pillar = TFBlocks.AURORA_PILLAR.get(); + this.wrapTintedBlockItem(pillar, ItemModelUtils.constantTint(-9181501), block -> this.blockStateOutput.accept(createAxisAlignedPillarBlock(block, TexturedModel.createDefault(block1 -> new TextureMapping() + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(block)) + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(block, "_top")) + .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(block, "_top")), TFModelTemplates.TINTED_CUBE_BOTTOM_TOP) + .create(block, this.modelOutput)))); + + Block slab = TFBlocks.AURORA_SLAB.get(); + TextureMapping slabMap = new TextureMapping() + .put(TextureSlot.SIDE, TextureMapping.getBlockTexture(pillar)) + .put(TextureSlot.TOP, TextureMapping.getBlockTexture(pillar, "_top")) + .put(TextureSlot.BOTTOM, TextureMapping.getBlockTexture(pillar, "_top")); + + ResourceLocation bottom = TFModelTemplates.TINTED_SLAB_BOTTOM.create(slab, slabMap, this.modelOutput); + ResourceLocation top = TFModelTemplates.TINTED_SLAB_TOP.create(slab, slabMap, this.modelOutput); + this.wrapTintedBlockItem(slab, ItemModelUtils.constantTint(-9181501), block -> this.blockStateOutput.accept(createSlab(block, bottom, top, ModelLocationUtils.getModelLocation(pillar)))); + + this.wrapTintedBlockItem(TFBlocks.AURORALIZED_GLASS.get(), ItemModelUtils.constantTint(-9181501), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().renderType("translucent").customLoader(ConnectedTextureBuilder::new, builder -> builder.setOverlayTintIndex(0).connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); + } + @Override public void createCrossBlock(Block block, PlantType plantType, TextureMapping textureMapping) { ResourceLocation resourcelocation = plantType.getCross().extend().renderType("cutout").build().create(block, textureMapping, this.modelOutput); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 0e13fdefbc..2fe161afcc 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-18T23:55:21.1459394 Model Definitions - twilightforest +// 1.21.4 2025-04-18T23:54:41.8198164 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -6,6 +6,10 @@ bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acaci 796cb2fedc6bde053e988892110dbd38578f4424 assets/twilightforest/blockstates/antibuilder.json a753d663958c27ad77bd65d8d9ee637ae7cd5a9d assets/twilightforest/blockstates/antibuilt_block.json ff6dd086fab0453865f6439c576c9120934ae968 assets/twilightforest/blockstates/arctic_fur_block.json +feda195e2826ec1334fe59dc0d98cb9519743ff4 assets/twilightforest/blockstates/auroralized_glass.json +fe6cf80484f551029b58780bd1e46dfdbba4a11a assets/twilightforest/blockstates/aurora_block.json +06b8d2c19720a41c08406f14c410780ca4f2f3ac assets/twilightforest/blockstates/aurora_pillar.json +c4ad5da5c70d5d073f5487dabc65f6782358e0fe assets/twilightforest/blockstates/aurora_slab.json f5923dd090d2ed2a9ddd3733c5949c22a2a7535f assets/twilightforest/blockstates/bamboo_banister.json 62b18edaef9c27bb158830e8d1bb5e82cf3a73c2 assets/twilightforest/blockstates/beanstalk_grower.json 940f572934991a27db924a6e11011dc73e7e15f0 assets/twilightforest/blockstates/beanstalk_leaves.json @@ -495,6 +499,10 @@ f2a59ac53a4650eca48bc87ea5925dddfa448510 assets/twilightforest/items/arctic_helm e81f61d50559025a7d12ea4e684d061b53bff728 assets/twilightforest/items/armored_giant_spawn_egg.json 49913b0c0eeb57dd580b61e8f29d1f80e53a381d assets/twilightforest/items/armor_shard.json 795e07220a74e2680608e0ca10a19f7c8d194f6c assets/twilightforest/items/armor_shard_cluster.json +a6c591f639f13e0d362dd0613367809cbcc1bebb assets/twilightforest/items/auroralized_glass.json +baba62afb09416fa3d1b9cc6aa7c5d9475f1eb6e assets/twilightforest/items/aurora_block.json +247f80d989904ba1f6490758fbe024171ed8bff0 assets/twilightforest/items/aurora_pillar.json +a842651e2f7dfb39378927b322f900b0617c36b4 assets/twilightforest/items/aurora_slab.json eb6fb60046279bb018ed35c2dd9cbb39bd48dea9 assets/twilightforest/items/bamboo_banister.json f59cd1f6ea91be8e0a88a35e92815450de7ad4b3 assets/twilightforest/items/beanstalk_leaves.json c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_sheep_spawn_egg.json @@ -1067,6 +1075,27 @@ b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alph 8ed31aa5b028f81d5cb6c0137d5761ab3ca46ba3 assets/twilightforest/models/block/antibuilder.json 5f3dddeb78aae02d98087a676ba8a366f5b15e50 assets/twilightforest/models/block/antibuilt_block.json ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json +6dfc9202cdce32febcfafdbde9d5453105c9b36d assets/twilightforest/models/block/auroralized_glass.json +0d21d32180ab0091e43fea680cd7ce2fc1673233 assets/twilightforest/models/block/aurora_block.json +513f99f9485a8cb87590c9b6a21f57b8d8847d91 assets/twilightforest/models/block/aurora_block_0.json +56e03727fb6c108c796b2122997c9c2f4a6a318e assets/twilightforest/models/block/aurora_block_1.json +e48b8e49ab8d10d014a36233ce8fafa10dacc5df assets/twilightforest/models/block/aurora_block_10.json +352c30748f4ac806cff1c1bc3c2e25dc11116f8a assets/twilightforest/models/block/aurora_block_11.json +9068aed20641748b93b997fa394b88adabb08bad assets/twilightforest/models/block/aurora_block_12.json +30425669240c0c5c7cf3a04eb7a64ee4a443e6ac assets/twilightforest/models/block/aurora_block_13.json +6d6389a7c9a6f55d540c5e1188a9a64f7c7bed11 assets/twilightforest/models/block/aurora_block_14.json +bffcac28e4abbfb0c23326236b478261786871da assets/twilightforest/models/block/aurora_block_15.json +ac2a5586ccf3055790fe34de65ad68bf2bf0f708 assets/twilightforest/models/block/aurora_block_2.json +b9c9c6a72e6f02947707eb01f354605f2a49b995 assets/twilightforest/models/block/aurora_block_3.json +4bde0d232ca7d7feac5a08d78547c8e3cf38c3c9 assets/twilightforest/models/block/aurora_block_4.json +2cc27c95a8124b6de3eb71ce84e6a0ced6688965 assets/twilightforest/models/block/aurora_block_5.json +737950ad6685b3ba2b08640d9da77761973ca3f4 assets/twilightforest/models/block/aurora_block_6.json +6fed4ed97aabd8882b75c651ef59c236c500f341 assets/twilightforest/models/block/aurora_block_7.json +0dbca8a3d3a36ceb34d8e5de8484dfbbacb2c566 assets/twilightforest/models/block/aurora_block_8.json +f727df0f4f2f8cee6aeab6805a92518adf7cba75 assets/twilightforest/models/block/aurora_block_9.json +9cd39c599aba78a9f776e7136cb2eed326996583 assets/twilightforest/models/block/aurora_pillar.json +d925c000ce0a9889f0632f4fe6c97936561b2c91 assets/twilightforest/models/block/aurora_slab.json +c98526f3f06b939a330f3c037d169f8d971ba6de assets/twilightforest/models/block/aurora_slab_top.json 612b554b0e3a6aff36dd99acea8ac15f4393ec61 assets/twilightforest/models/block/bamboo_banister_connected.json 131bc8614567ad5f081c2fb7dbbed8044d2a19d5 assets/twilightforest/models/block/bamboo_banister_connected_extended.json 2a161f12a94f7912a49863fab0b4ad32f69a9910 assets/twilightforest/models/block/bamboo_banister_inventory.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json new file mode 100644 index 0000000000..a00b1d74f8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/aurora_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/aurora_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json new file mode 100644 index 0000000000..559fa862c7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/aurora_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/aurora_pillar", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/aurora_pillar" + }, + "axis=z": { + "model": "twilightforest:block/aurora_pillar", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json b/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json new file mode 100644 index 0000000000..3b6b3f6113 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/aurora_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "twilightforest:block/aurora_slab" + }, + "type=double": { + "model": "twilightforest:block/aurora_pillar" + }, + "type=top": { + "model": "twilightforest:block/aurora_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json b/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json new file mode 100644 index 0000000000..127e4a902e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/auroralized_glass.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/auroralized_glass" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/aurora_block.json b/src/generated/resources/assets/twilightforest/items/aurora_block.json new file mode 100644 index 0000000000..472a25349d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/aurora_block.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/aurora_block", + "tints": [ + { + "type": "minecraft:constant", + "value": -16711758 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/aurora_pillar.json b/src/generated/resources/assets/twilightforest/items/aurora_pillar.json new file mode 100644 index 0000000000..a472184078 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/aurora_pillar.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/aurora_pillar", + "tints": [ + { + "type": "minecraft:constant", + "value": -9181501 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/aurora_slab.json b/src/generated/resources/assets/twilightforest/items/aurora_slab.json new file mode 100644 index 0000000000..deee92c718 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/aurora_slab.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/aurora_slab", + "tints": [ + { + "type": "minecraft:constant", + "value": -9181501 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/auroralized_glass.json b/src/generated/resources/assets/twilightforest/items/auroralized_glass.json new file mode 100644 index 0000000000..3ee3335c3b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/auroralized_glass.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/auroralized_glass", + "tints": [ + { + "type": "minecraft:constant", + "value": -9181501 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block.json new file mode 100644 index 0000000000..cd7ca6d63b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block.json @@ -0,0 +1,22 @@ +{ + "parent": "minecraft:block/block", + "loader": "twilightforest:noise_varying", + "variants": [ + "twilightforest:block/aurora_block_0", + "twilightforest:block/aurora_block_1", + "twilightforest:block/aurora_block_2", + "twilightforest:block/aurora_block_3", + "twilightforest:block/aurora_block_4", + "twilightforest:block/aurora_block_5", + "twilightforest:block/aurora_block_6", + "twilightforest:block/aurora_block_7", + "twilightforest:block/aurora_block_8", + "twilightforest:block/aurora_block_9", + "twilightforest:block/aurora_block_10", + "twilightforest:block/aurora_block_11", + "twilightforest:block/aurora_block_12", + "twilightforest:block/aurora_block_13", + "twilightforest:block/aurora_block_14", + "twilightforest:block/aurora_block_15" + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json new file mode 100644 index 0000000000..c5c788b37a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_0.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json new file mode 100644 index 0000000000..42abaf2dcb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_1.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json new file mode 100644 index 0000000000..de35fdb9f1 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_10.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_10" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json new file mode 100644 index 0000000000..451f8ff39a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_11.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_11" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json new file mode 100644 index 0000000000..c79780b55f --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_12.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_12" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json new file mode 100644 index 0000000000..c0727eb870 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_13.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_13" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json new file mode 100644 index 0000000000..89eaf3b48b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_14.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_14" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json new file mode 100644 index 0000000000..99a0000915 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_15.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_15" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json new file mode 100644 index 0000000000..973ca937ca --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_2.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json new file mode 100644 index 0000000000..0dfe21af64 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_3.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json new file mode 100644 index 0000000000..627eb34ce7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_4.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json new file mode 100644 index 0000000000..9ef1751fc2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_5.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json new file mode 100644 index 0000000000..eea43e3e16 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_6.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json new file mode 100644 index 0000000000..de70ab9854 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_7.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json new file mode 100644 index 0000000000..b2028c17ad --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_8.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_8" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json b/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json new file mode 100644 index 0000000000..0151dc3e15 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_block_9.json @@ -0,0 +1,6 @@ +{ + "parent": "twilightforest:block/tinted_block", + "textures": { + "all": "twilightforest:block/aurora_block_9" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json b/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json new file mode 100644 index 0000000000..8145efc2c0 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_pillar.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/tinted_cube_bottom_top", + "textures": { + "bottom": "twilightforest:block/aurora_pillar_top", + "side": "twilightforest:block/aurora_pillar", + "top": "twilightforest:block/aurora_pillar_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json b/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json new file mode 100644 index 0000000000..08afb5b7d4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/tinted_slab_bottom", + "textures": { + "bottom": "twilightforest:block/aurora_pillar_top", + "side": "twilightforest:block/aurora_pillar", + "top": "twilightforest:block/aurora_pillar_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/aurora_slab_top.json b/src/generated/resources/assets/twilightforest/models/block/aurora_slab_top.json new file mode 100644 index 0000000000..5242d6763d --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/aurora_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "twilightforest:block/tinted_slab_top", + "textures": { + "bottom": "twilightforest:block/aurora_pillar_top", + "side": "twilightforest:block/aurora_pillar", + "top": "twilightforest:block/aurora_pillar_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json b/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json new file mode 100644 index 0000000000..24f376c994 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json @@ -0,0 +1,17 @@ +{ + "parent": "minecraft:block/block", + "connectable_blocks": [ + "twilightforest:auroralized_glass" + ], + "connected_texture": { + "render_disabled_faces": true, + "tint_index": 0 + }, + "loader": "twilightforest:connected_texture_block", + "render_type": "minecraft:translucent", + "textures": { + "overlay_connected": "twilightforest:block/auroralized_glass_ctm", + "overlay_texture": "twilightforest:block/auroralized_glass", + "particle": "twilightforest:block/auroralized_glass" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/client/event/ColorHandler.java b/src/main/java/twilightforest/client/event/ColorHandler.java index f214931089..6b78812ed7 100644 --- a/src/main/java/twilightforest/client/event/ColorHandler.java +++ b/src/main/java/twilightforest/client/event/ColorHandler.java @@ -31,7 +31,7 @@ public class ColorHandler { protected static void registerBlockColors(RegisterColorHandlersEvent.Block event) { BlockColors blockColors = event.getBlockColors(); - event.register((state, getter, pos, tintIndex) -> 0xFF000000 | ColorUtil.hsvToRGB(getter == null ? 0.45F : SimplexNoiseHelper.rippleFractalNoise(2, 128.0f, pos != null ? pos.above(128) : new BlockPos(0, 0, 0), 0.37f, 0.67f, 1.5f), 1.0f, 1.0f), TFBlocks.AURORA_BLOCK.get()); + event.register((state, getter, pos, tintIndex) -> 0xFF000000 | ColorUtil.hsvToRGB(getter == null ? 0.45F : SimplexNoiseHelper.rippleFractalNoise(2, 128.0F, pos != null ? pos.above(128) : BlockPos.ZERO, 0.37F, 0.67F, 1.5F), 1.0F, 1.0F), TFBlocks.AURORA_BLOCK.get()); event.register((state, getter, pos, tintIndex) -> { int normalColor = blockColors.getColor(TFBlocks.AURORA_BLOCK.get().defaultBlockState(), getter, pos, tintIndex); diff --git a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java index 2caf11e0ae..9acb60b7e7 100644 --- a/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java +++ b/src/main/java/twilightforest/client/model/block/aurorablock/UnbakedNoiseVaryingModel.java @@ -40,7 +40,7 @@ private static BlockModel resolveParent(UnbakedModel.Resolver modelGetter, Strin return blockModel; } - return (BlockModel) modelGetter.resolve(ResourceLocation.withDefaultNamespace("builtin/missing")); + return (BlockModel) modelGetter.resolve(MissingBlockModel.LOCATION); } @Override @@ -49,9 +49,20 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState m for (int i = 0; i < bakedVariants.length; i++) { BlockModel variant = this.variants.get(i); - bakedVariants[i] = variant.bake(textureSlots, baker, modelState, hasAmbientOcclusion, useBlockLight, transforms, additionalProperties); + bakedVariants[i] = variant.bake(getTopTextureSlots(variant, baker.rootName()), baker, modelState, hasAmbientOcclusion, useBlockLight, transforms, additionalProperties); } return new NoiseVaryingModel(bakedVariants); } + + static TextureSlots getTopTextureSlots(UnbakedModel model, ModelDebugName name) { + TextureSlots.Resolver textureslots$resolver = new TextureSlots.Resolver(); + + while (model != null) { + textureslots$resolver.addLast(model.getTextureSlots()); + model = model.getParent(); + } + + return textureslots$resolver.resolve(name); + } } diff --git a/src/main/resources/assets/twilightforest/models/block/tinted_block.json b/src/main/resources/assets/twilightforest/models/block/tinted_block.json new file mode 100644 index 0000000000..e1e2f04b58 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/tinted_block.json @@ -0,0 +1,20 @@ +{ + "parent": "block/block", + "textures": { + "particle": "#all" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#all", "cullface": "down", "tintindex": 0 }, + "up": { "texture": "#all", "cullface": "up", "tintindex": 0 }, + "north": { "texture": "#all", "cullface": "north", "tintindex": 0 }, + "south": { "texture": "#all", "cullface": "south", "tintindex": 0 }, + "west": { "texture": "#all", "cullface": "west", "tintindex": 0 }, + "east": { "texture": "#all", "cullface": "east", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/tinted_slab_bottom.json b/src/main/resources/assets/twilightforest/models/block/tinted_slab_bottom.json new file mode 100644 index 0000000000..6bd441fee8 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/tinted_slab_bottom.json @@ -0,0 +1,20 @@ +{ + "parent": "block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { "texture": "#bottom", "cullface": "down", "tintindex": 0 }, + "up": { "texture": "#top", "tintindex": 0 }, + "north": { "texture": "#side", "cullface": "north", "tintindex": 0 }, + "south": { "texture": "#side", "cullface": "south", "tintindex": 0 }, + "west": { "texture": "#side", "cullface": "west", "tintindex": 0 }, + "east": { "texture": "#side", "cullface": "east", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/tinted_slab_top.json b/src/main/resources/assets/twilightforest/models/block/tinted_slab_top.json new file mode 100644 index 0000000000..8991fab9f0 --- /dev/null +++ b/src/main/resources/assets/twilightforest/models/block/tinted_slab_top.json @@ -0,0 +1,20 @@ +{ + "parent": "block/block", + "textures": { + "particle": "#side" + }, + "elements": [ + { + "from": [ 0, 8, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#bottom", "cullface": "down", "tintindex": 0 }, + "up": { "texture": "#top", "tintindex": 0 }, + "north": { "texture": "#side", "cullface": "north", "tintindex": 0 }, + "south": { "texture": "#side", "cullface": "south", "tintindex": 0 }, + "west": { "texture": "#side", "cullface": "west", "tintindex": 0 }, + "east": { "texture": "#side", "cullface": "east", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/textures/block/aurora_block_0.png b/src/main/resources/assets/twilightforest/textures/block/aurora_block.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/aurora_block_0.png rename to src/main/resources/assets/twilightforest/textures/block/aurora_block.png diff --git a/src/main/resources/assets/twilightforest/textures/block/aurora_block_0.png.mcmeta b/src/main/resources/assets/twilightforest/textures/block/aurora_block.png.mcmeta similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/aurora_block_0.png.mcmeta rename to src/main/resources/assets/twilightforest/textures/block/aurora_block.png.mcmeta diff --git a/src/main/resources/assets/twilightforest/textures/block/auroralized_glass_ct.png b/src/main/resources/assets/twilightforest/textures/block/auroralized_glass_ctm.png similarity index 100% rename from src/main/resources/assets/twilightforest/textures/block/auroralized_glass_ct.png rename to src/main/resources/assets/twilightforest/textures/block/auroralized_glass_ctm.png From e5870022399fe557858b8889a243b736dc863f61 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 01:01:54 -0600 Subject: [PATCH 126/239] jar item rendering, add pale oak cork support --- .../helpers/models/BlockModelBuilders.java | 6 ++ .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 7 +- .../twilightforest/items/cicada_jar.json | 19 +++++ .../twilightforest/items/firefly_jar.json | 19 +++++ .../twilightforest/items/mason_jar.json | 19 +++++ .../models/block/lid/pale_oak_log.json | 7 ++ .../block/lid/stripped_pale_oak_log.json | 7 ++ .../twilightforest/TwilightForestMod.java | 2 + .../client/event/RegistrationEvents.java | 5 ++ .../client/renderer/block/JarRenderer.java | 2 + .../special/MasonJarSpecialRenderer.java | 84 +++++++++++++++++++ 11 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/items/cicada_jar.json create mode 100644 src/generated/resources/assets/twilightforest/items/firefly_jar.json create mode 100644 src/generated/resources/assets/twilightforest/items/mason_jar.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/pale_oak_log.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/lid/stripped_pale_oak_log.json create mode 100644 src/main/java/twilightforest/client/renderer/special/MasonJarSpecialRenderer.java diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 1f55c2b1cb..27f3221004 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -23,6 +23,7 @@ import twilightforest.client.model.block.forcefield.ForceFieldModel; import twilightforest.client.model.block.forcefield.ForceFieldModelBuilder; import twilightforest.client.renderer.block.JarRenderer; +import twilightforest.client.renderer.special.MasonJarSpecialRenderer; import twilightforest.client.renderer.special.SkullCandleSpecialRenderer; import twilightforest.client.renderer.special.TrophySpecialRenderer; import twilightforest.datagen.assets.models.TFModelTemplates; @@ -32,6 +33,7 @@ import twilightforest.enums.HugeLilypadPiece; import twilightforest.enums.NagastoneVariant; import twilightforest.init.TFBlocks; +import twilightforest.init.TFItems; import java.util.ArrayList; import java.util.List; @@ -459,6 +461,10 @@ public void makeJars() { this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CICADA_JAR.get(), location)); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FIREFLY_JAR.get(), location)); + this.itemModelOutput.accept(TFItems.MASON_JAR.get(), ItemModelUtils.composite(ItemModelUtils.plainModel(location), ItemModelUtils.specialModel(location, new MasonJarSpecialRenderer.Unbaked(TFBlocks.TWILIGHT_OAK_LOG.asItem())))); + this.itemModelOutput.accept(TFItems.FIREFLY_JAR.get(), ItemModelUtils.composite(ItemModelUtils.plainModel(location), ItemModelUtils.specialModel(location, new MasonJarSpecialRenderer.Unbaked(TFBlocks.TWILIGHT_OAK_LOG.asItem())))); + this.itemModelOutput.accept(TFItems.CICADA_JAR.get(), ItemModelUtils.composite(ItemModelUtils.plainModel(location), ItemModelUtils.specialModel(location, new MasonJarSpecialRenderer.Unbaked(TFBlocks.CANOPY_LOG.asItem())))); + for (JarRenderer.LidResource lid : JarRenderer.LID_LOCATION_LIST.get()) { ResourceLocation item = lid.resourceLocation(); String name = item.getPath(); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 2fe161afcc..8e1da248ca 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-18T23:54:41.8198164 Model Definitions - twilightforest +// 1.21.4 2025-04-19T00:41:15.7716621 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -564,6 +564,7 @@ b5a72c8b30f43cd98085254b5131737890a44760 assets/twilightforest/items/charm_of_li e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_banister.json 811a790d6d001885bb20f7bfa128c65fc925b401 assets/twilightforest/items/chiseled_canopy_bookshelf.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json +3031b70aef996de06574258c98175852ec2170db assets/twilightforest/items/cicada_jar.json 3b19e64ca96c86e1f735545c273a97c8e944f4fb assets/twilightforest/items/cinder_furnace.json baba64132f0f5ae339c0b3107e4d8a22fca3e19b assets/twilightforest/items/cinder_log.json b32eeb67d17c7ff44326bb95eb8de98f1a1eee28 assets/twilightforest/items/cinder_wood.json @@ -642,6 +643,7 @@ ce813db4941103ac8042e077dfefeca18f5ce65d assets/twilightforest/items/filled_maze a075e6d51bb6968460215b867a86a16bb5537c6d assets/twilightforest/items/filled_ore_map.json 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json +a75942f78ba7b879eb09c3e209dbbc7a1e2c4555 assets/twilightforest/items/firefly_jar.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json ddfbfe59023d896fd7293408debcff571da0e75b assets/twilightforest/items/fluffy_cloud.json @@ -766,6 +768,7 @@ c192583209d88243de973af6f3c15ac18c196cdb assets/twilightforest/items/mangrove_pl a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json 5181f75f10260ebf5007d576ad97b0889ac543f4 assets/twilightforest/items/mangrove_wood.json +a75942f78ba7b879eb09c3e209dbbc7a1e2c4555 assets/twilightforest/items/mason_jar.json 9bf06f4b6a46682a4523cbd79fbed9f299999abe assets/twilightforest/items/mayapple.json 63b129eb1e24f404ec777dab6e6acc38f4cf1f27 assets/twilightforest/items/mazebreaker_pickaxe.json f46bd2155b870e02a91ac25057cf841595d5e1a8 assets/twilightforest/items/mazestone.json @@ -1533,6 +1536,7 @@ db6a9d6d158eb3a5a1a16b28d4489f3f480265b5 assets/twilightforest/models/block/lid/ 19842890142c3bb31401ac9da58087be97a76295 assets/twilightforest/models/block/lid/mangrove_log.json 647c8d268e4884bae99a5adad83b55729420f558 assets/twilightforest/models/block/lid/mining_log.json 6d4cf4d4748111a48745b1216ee0cf90df30c06c assets/twilightforest/models/block/lid/oak_log.json +fa9b1f04c8da3dc414c4b0babb89783488699e02 assets/twilightforest/models/block/lid/pale_oak_log.json 452d508621d48693bb31b93afb52d4155144efdd assets/twilightforest/models/block/lid/pumpkin.json 70e3a5111dc6b8526ad109dced7e46f378677b46 assets/twilightforest/models/block/lid/sorting_log.json 6000c4fffd48f4a6cc1b09d7403863051974e1ef assets/twilightforest/models/block/lid/spruce_log.json @@ -1548,6 +1552,7 @@ ed61da99c2d720bcc4accc4041eb4af3ff37b01b assets/twilightforest/models/block/lid/ 18de1925a507b375246dc7d4ee16328355bf2eb5 assets/twilightforest/models/block/lid/stripped_mangrove_log.json 63b1f5ac883e4b08627d9e5e97595fe87cdfc673 assets/twilightforest/models/block/lid/stripped_mining_log.json a2fbab2a89e8996c546ca79e99f79e92961ad456 assets/twilightforest/models/block/lid/stripped_oak_log.json +659c6b354b7ecf79232a316efc50cf62a24c8de1 assets/twilightforest/models/block/lid/stripped_pale_oak_log.json 0312afc5eace15f88c8b3cbc4f378dc2573b2188 assets/twilightforest/models/block/lid/stripped_sorting_log.json 1b13a84d58337e1bb7b0212c229ec077d779e3e8 assets/twilightforest/models/block/lid/stripped_spruce_log.json 145c186d3d81026460a889f8090b0f209d145f4b assets/twilightforest/models/block/lid/stripped_time_log.json diff --git a/src/generated/resources/assets/twilightforest/items/cicada_jar.json b/src/generated/resources/assets/twilightforest/items/cicada_jar.json new file mode 100644 index 0000000000..89cb0a5d81 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/cicada_jar.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:composite", + "models": [ + { + "type": "minecraft:model", + "model": "twilightforest:block/mason_jar" + }, + { + "type": "minecraft:special", + "base": "twilightforest:block/mason_jar", + "model": { + "type": "twilightforest:mason_jar", + "default_lid": "twilightforest:canopy_log" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/firefly_jar.json b/src/generated/resources/assets/twilightforest/items/firefly_jar.json new file mode 100644 index 0000000000..8403950927 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/firefly_jar.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:composite", + "models": [ + { + "type": "minecraft:model", + "model": "twilightforest:block/mason_jar" + }, + { + "type": "minecraft:special", + "base": "twilightforest:block/mason_jar", + "model": { + "type": "twilightforest:mason_jar", + "default_lid": "twilightforest:twilight_oak_log" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/mason_jar.json b/src/generated/resources/assets/twilightforest/items/mason_jar.json new file mode 100644 index 0000000000..8403950927 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/mason_jar.json @@ -0,0 +1,19 @@ +{ + "model": { + "type": "minecraft:composite", + "models": [ + { + "type": "minecraft:model", + "model": "twilightforest:block/mason_jar" + }, + { + "type": "minecraft:special", + "base": "twilightforest:block/mason_jar", + "model": { + "type": "twilightforest:mason_jar", + "default_lid": "twilightforest:twilight_oak_log" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/pale_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/pale_oak_log.json new file mode 100644 index 0000000000..ea0aaf2550 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/pale_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/pale_oak_log_top", + "side": "minecraft:block/pale_oak_log" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/lid/stripped_pale_oak_log.json b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_pale_oak_log.json new file mode 100644 index 0000000000..6561b49fcd --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/lid/stripped_pale_oak_log.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/jar_lid", + "textures": { + "end": "minecraft:block/stripped_pale_oak_log_top", + "side": "minecraft:block/stripped_pale_oak_log" + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index 6e0b2c7c34..e2d33affc0 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -567,6 +567,7 @@ public void init(FMLCommonSetupEvent evt) { JarBlockEntity.addLid(Items.JUNGLE_LOG); JarBlockEntity.addLid(Items.MANGROVE_LOG); JarBlockEntity.addLid(Items.OAK_LOG); + JarBlockEntity.addLid(Items.PALE_OAK_LOG); JarBlockEntity.addLid(Items.SPRUCE_LOG); JarBlockEntity.addLid(Items.CRIMSON_STEM); JarBlockEntity.addLid(Items.WARPED_STEM); @@ -585,6 +586,7 @@ public void init(FMLCommonSetupEvent evt) { JarBlockEntity.addLid(Items.STRIPPED_JUNGLE_LOG); JarBlockEntity.addLid(Items.STRIPPED_MANGROVE_LOG); JarBlockEntity.addLid(Items.STRIPPED_OAK_LOG); + JarBlockEntity.addLid(Items.STRIPPED_PALE_OAK_LOG); JarBlockEntity.addLid(Items.STRIPPED_SPRUCE_LOG); JarBlockEntity.addLid(Items.STRIPPED_CRIMSON_STEM); JarBlockEntity.addLid(Items.STRIPPED_WARPED_STEM); diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index d0125993e3..21e73afd58 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -432,6 +432,7 @@ private static void registerSpecialModelTypes(RegisterSpecialModelRendererEvent event.register(TwilightForestMod.prefix("moonworm"), MoonwormSpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("knightmetal_shield"), KnightmetalShieldSpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("mystic_crown"), MysticCrownSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("mason_jar"), MasonJarSpecialRenderer.Unbaked.MAP_CODEC); } private static void registerSpecialModels(RegisterSpecialBlockModelRendererEvent event) { @@ -459,6 +460,10 @@ private static void registerSpecialModels(RegisterSpecialBlockModelRendererEvent event.register(TFBlocks.FIREFLY.get(), new FireflySpecialRenderer.Unbaked()); event.register(TFBlocks.MOONWORM.get(), new MoonwormSpecialRenderer.Unbaked()); + event.register(TFBlocks.FIREFLY_JAR.get(), new MasonJarSpecialRenderer.Unbaked(TFBlocks.TWILIGHT_OAK_LOG.asItem())); + event.register(TFBlocks.CICADA_JAR.get(), new MasonJarSpecialRenderer.Unbaked(TFBlocks.CANOPY_LOG.asItem())); + event.register(TFBlocks.MASON_JAR.get(), new MasonJarSpecialRenderer.Unbaked(TFBlocks.TWILIGHT_OAK_LOG.asItem())); + event.register(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.ZOMBIE)); event.register(TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.ZOMBIE)); event.register(TFBlocks.SKELETON_SKULL_CANDLE.get(), new SkullCandleSpecialRenderer.Unbaked(SkullBlock.Types.SKELETON)); diff --git a/src/main/java/twilightforest/client/renderer/block/JarRenderer.java b/src/main/java/twilightforest/client/renderer/block/JarRenderer.java index 1b12113719..8b0d6ae533 100644 --- a/src/main/java/twilightforest/client/renderer/block/JarRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/JarRenderer.java @@ -71,6 +71,7 @@ public LidResource(Item item, String path, String customPath) { new LidResource(Items.JUNGLE_LOG, "jungle_log"), new LidResource(Items.MANGROVE_LOG, "mangrove_log", "vanilla_mangrove_log"), new LidResource(Items.OAK_LOG, "oak_log"), + new LidResource(Items.PALE_OAK_LOG, "pale_oak_log"), new LidResource(Items.SPRUCE_LOG, "spruce_log"), new LidResource(Items.CRIMSON_STEM, "crimson_stem"), new LidResource(Items.WARPED_STEM, "warped_stem"), @@ -89,6 +90,7 @@ public LidResource(Item item, String path, String customPath) { new LidResource(Items.STRIPPED_JUNGLE_LOG, "stripped_jungle_log"), new LidResource(Items.STRIPPED_MANGROVE_LOG, "stripped_mangrove_log", "vanilla_stripped_mangrove_log"), new LidResource(Items.STRIPPED_OAK_LOG, "stripped_oak_log"), + new LidResource(Items.STRIPPED_PALE_OAK_LOG, "stripped_pale_oak_log"), new LidResource(Items.STRIPPED_SPRUCE_LOG, "stripped_spruce_log"), new LidResource(Items.STRIPPED_CRIMSON_STEM, "stripped_crimson_stem"), new LidResource(Items.STRIPPED_WARPED_STEM, "stripped_warped_stem"), diff --git a/src/main/java/twilightforest/client/renderer/special/MasonJarSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/MasonJarSpecialRenderer.java new file mode 100644 index 0000000000..ca06f39f98 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/MasonJarSpecialRenderer.java @@ -0,0 +1,84 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ItemContainerContents; +import net.neoforged.api.distmarker.Dist; +import org.jetbrains.annotations.Nullable; +import tamaized.beanification.Autowired; +import twilightforest.client.renderer.block.JarRenderer; +import twilightforest.components.item.JarLid; +import twilightforest.enums.extensions.TFItemDisplayContextEnumExtension; +import twilightforest.init.TFBlocks; +import twilightforest.init.TFDataComponents; + +import java.util.Optional; + +public record MasonJarSpecialRenderer(Optional defaultLid) implements SpecialModelRenderer { + + @Autowired(dist = Dist.CLIENT) + private static TFItemDisplayContextEnumExtension itemDisplayContextEnumExtension; + + @Override + public void render(@Nullable DataComponentMap map, ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + if (map != null) { + stack.pushPose(); + JarLid jarLid = map.get(TFDataComponents.JAR_LID.get()); + Item testLid = jarLid == null ? this.defaultLid().orElse(null) : jarLid.lid(); + Item lid = testLid == null || !JarRenderer.LIDS.containsKey(testLid) ? null : testLid; + if (lid != null) { + JarRenderer.renderModel(JarRenderer.LIDS.get(lid), TFBlocks.MASON_JAR.get().defaultBlockState(), Minecraft.getInstance().getBlockRenderer(), stack, source, light, overlay); + } + + ItemContainerContents contents = map.get(DataComponents.CONTAINER); + if (contents != null) { + stack.pushPose(); + stack.translate(0.5D, 0.4375D, 0.5D); + stack.scale(0.5F, 0.5F, 0.5F); + Minecraft.getInstance().getItemRenderer().renderStatic(contents.copyOne(), itemDisplayContextEnumExtension.JARRED, light, overlay, stack, source, null, 0); + stack.popPose(); + } + stack.popPose(); + } + } + + @Override + public DataComponentMap extractArgument(ItemStack stack) { + return stack.getComponents(); + } + + public record Unbaked(Optional defaultLid) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + BuiltInRegistries.ITEM.byNameCodec().optionalFieldOf("default_lid").forGetter(MasonJarSpecialRenderer.Unbaked::defaultLid)) + .apply(instance, MasonJarSpecialRenderer.Unbaked::new)); + + public Unbaked(Item item) { + this(Optional.of(item)); + } + + public Unbaked() { + this(Optional.empty()); + } + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + return new MasonJarSpecialRenderer(this.defaultLid()); + } + } +} From 43b3bc236e21d6267cc06c647c21581a8f80873a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 09:19:36 +0200 Subject: [PATCH 127/239] It's that easy --- src/main/java/twilightforest/block/JarBlock.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/block/JarBlock.java b/src/main/java/twilightforest/block/JarBlock.java index eb99e307d8..18a07d9fee 100644 --- a/src/main/java/twilightforest/block/JarBlock.java +++ b/src/main/java/twilightforest/block/JarBlock.java @@ -8,14 +8,17 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.*; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.ScheduledTickAccess; import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.DecoratedPotBlockEntity; @@ -29,7 +32,6 @@ import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -37,6 +39,7 @@ import twilightforest.init.TFBlocks; import twilightforest.init.TFSounds; +import javax.annotation.Nullable; import java.util.List; import java.util.function.BooleanSupplier; @@ -62,12 +65,18 @@ public VoxelShape getShape(BlockState state, BlockGetter getter, BlockPos pos, C return AABB; } + @Override + protected RenderShape getRenderShape(BlockState state) { + return RenderShape.INVISIBLE; + } + @Override public FluidState getFluidState(BlockState state) { return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(state); } @Override + @Nullable public BlockState getStateForPlacement(BlockPlaceContext context) { BlockState superState = super.getStateForPlacement(context); return superState == null ? null : superState.setValue(WATERLOGGED, context.getLevel().getFluidState(context.getClickedPos()).is(Fluids.WATER)); From 9bdf845c516408ad89a5f97022c9d8fd611592db Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 11:11:52 +0200 Subject: [PATCH 128/239] Firefly particle spawner --- .../models/TFExtendedModelTemplates.java | 86 +++++++++++++++++++ .../assets/models/TFModelTemplates.java | 22 +---- .../datagen/assets/models/TFTextureSlot.java | 3 + .../helpers/models/BlockModelBuilders.java | 15 +++- 4 files changed, 106 insertions(+), 20 deletions(-) create mode 100644 src/data/java/twilightforest/datagen/assets/models/TFExtendedModelTemplates.java diff --git a/src/data/java/twilightforest/datagen/assets/models/TFExtendedModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFExtendedModelTemplates.java new file mode 100644 index 0000000000..f950bc55f5 --- /dev/null +++ b/src/data/java/twilightforest/datagen/assets/models/TFExtendedModelTemplates.java @@ -0,0 +1,86 @@ +package twilightforest.datagen.assets.models; + +import net.minecraft.client.data.models.model.TextureSlot; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.neoforged.neoforge.client.model.generators.template.ExtendedModelTemplate; +import net.neoforged.neoforge.client.model.generators.template.ExtendedModelTemplateBuilder; +import net.neoforged.neoforge.client.model.generators.template.FaceRotation; + +/** + * Class for using ExtenderModelTemplate builders to generate block models from scratch. + */ +public class TFExtendedModelTemplates extends TFModelTemplates { + public static final ExtendedModelTemplate MASON_JAR = ExtendedModelTemplateBuilder.builder() + .parent(ResourceLocation.withDefaultNamespace("block/block")) + .renderType(ResourceLocation.withDefaultNamespace("cutout")) + .requiredTextureSlot(TextureSlot.PARTICLE) + .requiredTextureSlot(TextureSlot.SIDE) + .requiredTextureSlot(TextureSlot.BOTTOM) + .requiredTextureSlot(TextureSlot.TOP) + .element(elementBuilder -> + elementBuilder.from(3.0F, 0.0F, 3.0F).to(13.0F, 14.0F, 13.0F) + .face(Direction.UP, faceBuilder -> faceBuilder.texture(TextureSlot.TOP)) + .face(Direction.DOWN, faceBuilder -> faceBuilder.texture(TextureSlot.BOTTOM).cullface(Direction.DOWN)) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) + ).build(); + + public static final ExtendedModelTemplate FIREFLY_PARTICLE_SPAWNER = ExtendedModelTemplateBuilder.builder() + .parent(ResourceLocation.withDefaultNamespace("block/block")) + .renderType(ResourceLocation.withDefaultNamespace("cutout")) + .requiredTextureSlot(TextureSlot.PARTICLE) + .requiredTextureSlot(TextureSlot.SIDE) + .requiredTextureSlot(TextureSlot.BOTTOM) + .requiredTextureSlot(TextureSlot.TOP) + .requiredTextureSlot(TFTextureSlot.SOIL) + .requiredTextureSlot(TFTextureSlot.PLANT) + .element(elementBuilder -> + elementBuilder.from(3.0F, 0.0F, 3.0F).to(13.0F, 14.0F, 13.0F) + .face(Direction.UP, faceBuilder -> faceBuilder.texture(TextureSlot.TOP).uvs(3, 3, 13, 13)) + .face(Direction.DOWN, faceBuilder -> faceBuilder.texture(TextureSlot.BOTTOM).uvs(3, 3, 13, 13).cullface(Direction.DOWN)) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE).uvs(3, 2, 13, 16)) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE).uvs(3, 2, 13, 16)) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE).uvs(3, 2, 13, 16)) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE).uvs(3, 2, 13, 16)) + ) + .element(elementBuilder -> + elementBuilder.from(4.0F, 0.01F, 4.0F).to(12.0F, 2.0F, 12.0F) + .face(Direction.UP, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(4, 5, 12, 13)) + .face(Direction.DOWN, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(4, 5, 12, 13).cullface(Direction.DOWN)) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(4, 12, 12, 14)) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(4, 3, 12, 5).rotation(FaceRotation.UPSIDE_DOWN)) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(3, 5, 5, 13).rotation(FaceRotation.COUNTERCLOCKWISE_90)) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TFTextureSlot.SOIL).uvs(11, 5, 13, 13).rotation(FaceRotation.CLOCKWISE_90)) + ) + .element(elementBuilder -> + elementBuilder.from(1.0F, 2.0F, 6.0F).to(17.0F, 18.0F, 6.0F) + .rotation(rotationBuilder -> rotationBuilder.angle(45.0F).axis(Direction.Axis.Y).origin(8.0F, 1.0F, 8.0F)) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TFTextureSlot.PLANT).uvs(0, 0, 16, 16)) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TFTextureSlot.PLANT).uvs(0, 0, 16, 16)) + ) + .element(elementBuilder -> + elementBuilder.from(9.0F, 2.0F, -2.0F).to(9.0F, 18.0F, 14.0F) + .rotation(rotationBuilder -> rotationBuilder.angle(45.0F).axis(Direction.Axis.Y).origin(8.0F, 1.0F, 8.0F)) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TFTextureSlot.PLANT).uvs(0, 0, 16, 16)) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TFTextureSlot.PLANT).uvs(0, 0, 16, 16)) + ) + .element(elementBuilder -> + elementBuilder.from(4.0F, 13.0F, 3.0F).to(12.0F, 14.0F, 4.0F) + .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TextureSlot.TOP).uvs(4, 3, 12, 4)) + ) + .element(elementBuilder -> + elementBuilder.from(4.0F, 13.0F, 12.0F).to(12.0F, 14.0F, 13.0F) + .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TextureSlot.TOP).uvs(4, 12, 12, 13).rotation(FaceRotation.UPSIDE_DOWN)) + ) + .element(elementBuilder -> + elementBuilder.from(12.0F, 13.0F, 4.0F).to(13.0F, 14.0F, 12.0F) + .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TextureSlot.TOP).uvs(12, 4, 13, 12).rotation(FaceRotation.COUNTERCLOCKWISE_90)) + ) + .element(elementBuilder -> + elementBuilder.from(3.0F, 13.0F, 4.0F).to(4.0F, 14.0F, 12.0F) + .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TextureSlot.TOP).uvs(3, 4, 4, 12).rotation(FaceRotation.CLOCKWISE_90)) + ).build(); +} diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index b28342eaf5..24bbe62bea 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -3,12 +3,13 @@ import net.minecraft.client.data.models.model.ModelTemplate; import net.minecraft.client.data.models.model.ModelTemplates; import net.minecraft.client.data.models.model.TextureSlot; -import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.client.model.generators.template.ExtendedModelTemplateBuilder; import twilightforest.TwilightForestMod; import twilightforest.client.model.block.giantblock.GiantBlockBuilder; +/** + * Class for using ModelTemplates to reference existing block models. + */ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate TWO_LAYER_BLOCK = create("twilightforest:util/two_layer_block_15", TextureSlot.ALL, TFTextureSlot.ALL_2); @@ -85,22 +86,5 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate TWO_LAYERED_HANDHELD = createItem("handheld", TextureSlot.LAYER0, TextureSlot.LAYER1); public static final ModelTemplate TWO_LAYERED_BOW = createItem("bow", TextureSlot.LAYER0, TextureSlot.LAYER1); - public static final ModelTemplate MASON_JAR = ExtendedModelTemplateBuilder.builder() - .parent(ResourceLocation.withDefaultNamespace("block/block")) - .renderType(ResourceLocation.withDefaultNamespace("cutout")) - .requiredTextureSlot(TextureSlot.PARTICLE) - .requiredTextureSlot(TextureSlot.SIDE) - .requiredTextureSlot(TextureSlot.BOTTOM) - .requiredTextureSlot(TextureSlot.TOP) - .element(elementBuilder -> - elementBuilder.from(3.0F, 0.0F, 3.0F).to(13.0F, 14.0F, 13.0F) - .face(Direction.UP, faceBuilder -> faceBuilder.texture(TextureSlot.TOP)) - .face(Direction.DOWN, faceBuilder -> faceBuilder.texture(TextureSlot.BOTTOM).cullface(Direction.DOWN)) - .face(Direction.NORTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) - .face(Direction.SOUTH, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) - .face(Direction.WEST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) - .face(Direction.EAST, faceBuilder -> faceBuilder.texture(TextureSlot.SIDE)) - ).build(); - public static final ModelTemplate JAR_LID = create("twilightforest:jar_lid", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/jar_lid")).build(); } diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java index be78944b1d..61b8ab9c95 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureSlot.java @@ -34,4 +34,7 @@ public class TFTextureSlot { public static final TextureSlot CTM_BASE = TextureSlot.create("base_texture"); public static final TextureSlot CTM_OVERLAY = TextureSlot.create("overlay_texture"); public static final TextureSlot CTM_OVERLAY_CONNECTED = TextureSlot.create("overlay_connected"); + + public static final TextureSlot SOIL = TextureSlot.create("soil"); + public static final TextureSlot PLANT = TextureSlot.create("plant"); } diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 27f3221004..353aca4de0 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -26,6 +26,7 @@ import twilightforest.client.renderer.special.MasonJarSpecialRenderer; import twilightforest.client.renderer.special.SkullCandleSpecialRenderer; import twilightforest.client.renderer.special.TrophySpecialRenderer; +import twilightforest.datagen.assets.models.TFExtendedModelTemplates; import twilightforest.datagen.assets.models.TFModelTemplates; import twilightforest.datagen.assets.models.TFTextureMapping; import twilightforest.datagen.assets.models.TFTextureSlot; @@ -450,13 +451,25 @@ private ResourceLocation makeTerrorcottaLinesModel(String type, boolean rotated) } public void makeJars() { + TextureMapping spawnerMapping = TextureMapping.cube(TFBlocks.MASON_JAR.get()) + .put(TextureSlot.TOP, TwilightForestMod.prefix("block/jar_top")) + .put(TextureSlot.BOTTOM, TwilightForestMod.prefix("block/jar_bottom")) + .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/jar_side")) + .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/jar_side")) + .put(TFTextureSlot.SOIL, ResourceLocation.withDefaultNamespace("block/composter_compost")) + .put(TFTextureSlot.PLANT, ResourceLocation.withDefaultNamespace("block/poppy")); + + ResourceLocation spawnerLocation = TFExtendedModelTemplates.FIREFLY_PARTICLE_SPAWNER.create(TwilightForestMod.prefix("block/" + TFBlocks.FIREFLY_SPAWNER.getId().getPath()), spawnerMapping, this.modelOutput); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FIREFLY_SPAWNER.get(), spawnerLocation)); + this.itemModelOutput.accept(TFBlocks.FIREFLY_SPAWNER.get().asItem(), ItemModelUtils.plainModel(spawnerLocation)); + TextureMapping mapping = TextureMapping.cube(TFBlocks.MASON_JAR.get()) .put(TextureSlot.TOP, TwilightForestMod.prefix("block/jar_top")) .put(TextureSlot.BOTTOM, TwilightForestMod.prefix("block/jar_bottom")) .put(TextureSlot.SIDE, TwilightForestMod.prefix("block/jar_side")) .put(TextureSlot.PARTICLE, TwilightForestMod.prefix("block/jar_side")); - ResourceLocation location = TFModelTemplates.MASON_JAR.create(TwilightForestMod.prefix("block/" + TFBlocks.MASON_JAR.getId().getPath()), mapping, this.modelOutput); + ResourceLocation location = TFExtendedModelTemplates.MASON_JAR.create(TwilightForestMod.prefix("block/" + TFBlocks.MASON_JAR.getId().getPath()), mapping, this.modelOutput); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MASON_JAR.get(), location)); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CICADA_JAR.get(), location)); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.FIREFLY_JAR.get(), location)); From 86b3d93e9d4bab2acb978b82e4115a2311a2883f Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 11:12:00 +0200 Subject: [PATCH 129/239] Gen --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 5 +- .../blockstates/firefly_particle_spawner.json | 7 + .../items/firefly_particle_spawner.json | 6 + .../block/firefly_particle_spawner.json | 296 ++++++++++++++++++ 4 files changed, 313 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/items/firefly_particle_spawner.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/firefly_particle_spawner.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 8e1da248ca..d93155d17b 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-19T00:41:15.7716621 Model Definitions - twilightforest +// 1.21.4 2025-04-19T11:05:42.2681057 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -116,6 +116,7 @@ aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json 617d9d28462853c9fdb919dbb61aa229e54fcf8d assets/twilightforest/blockstates/firefly.json e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/firefly_jar.json +000396eb68815ecbc4d78f7b00984caaee57d88c assets/twilightforest/blockstates/firefly_particle_spawner.json 9d995780fe11d909fa60f65680f35bceb2b8e3b4 assets/twilightforest/blockstates/fire_jet.json 7a4d39a5a194e475e4eb6305954ec2bfd2468aba assets/twilightforest/blockstates/fluffy_cloud.json 836e22887f073d234297a3f80bc6c6f4546fbdfc assets/twilightforest/blockstates/ghast_trap.json @@ -644,6 +645,7 @@ a075e6d51bb6968460215b867a86a16bb5537c6d assets/twilightforest/items/filled_ore_ 8f7d3874c091f2c0dd37afe2fc371b97235002ac assets/twilightforest/items/final_boss_boss_spawner.json 78509625324ffc2bde1fef0603469b80a75f6719 assets/twilightforest/items/firefly.json a75942f78ba7b879eb09c3e209dbbc7a1e2c4555 assets/twilightforest/items/firefly_jar.json +cdd39c5ad288b3a373f05544876a84dea49d1561 assets/twilightforest/items/firefly_particle_spawner.json 3b83cb6b70b60830de98575ffd28fde31808aa2e assets/twilightforest/items/fire_beetle_spawn_egg.json 7a978965e0b28898e3db6e935938688371a8448f assets/twilightforest/items/fire_jet.json ddfbfe59023d896fd7293408debcff571da0e75b assets/twilightforest/items/fluffy_cloud.json @@ -1339,6 +1341,7 @@ f9d6abe18669d516d03044a478937f94bdfe318e assets/twilightforest/models/block/expe e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json +ae3687a56dd18aed6f1c11a1b81148f44a1dc929 assets/twilightforest/models/block/firefly_particle_spawner.json 2f188da9c031348675bd960c46be7cc2e760adde assets/twilightforest/models/block/fire_jet.json a8cb3a9bf21cd70ede74f84c27528adcfc805cb4 assets/twilightforest/models/block/fluffy_cloud.json bdaefa649722a99572a95642bffccec5fbccee0a assets/twilightforest/models/block/ghast_trap.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json b/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json new file mode 100644 index 0000000000..0933fe9e08 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/firefly_particle_spawner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/firefly_particle_spawner" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/firefly_particle_spawner.json b/src/generated/resources/assets/twilightforest/items/firefly_particle_spawner.json new file mode 100644 index 0000000000..67414184f4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/firefly_particle_spawner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/firefly_particle_spawner" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/firefly_particle_spawner.json b/src/generated/resources/assets/twilightforest/models/block/firefly_particle_spawner.json new file mode 100644 index 0000000000..998ae4fafb --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/firefly_particle_spawner.json @@ -0,0 +1,296 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#bottom" + }, + "east": { + "texture": "#side" + }, + "north": { + "texture": "#side" + }, + "south": { + "texture": "#side" + }, + "up": { + "texture": "#top" + }, + "west": { + "texture": "#side" + } + }, + "from": [ + 3, + 0, + 3 + ], + "to": [ + 13, + 14, + 13 + ] + }, + { + "faces": { + "down": { + "cullface": "down", + "texture": "#soil", + "uv": [ + 4.0, + 5.0, + 12.0, + 13.0 + ] + }, + "east": { + "rotation": 90, + "texture": "#soil", + "uv": [ + 11.0, + 5.0, + 13.0, + 13.0 + ] + }, + "north": { + "texture": "#soil", + "uv": [ + 4.0, + 12.0, + 12.0, + 14.0 + ] + }, + "south": { + "rotation": 180, + "texture": "#soil", + "uv": [ + 4.0, + 3.0, + 12.0, + 5.0 + ] + }, + "up": { + "texture": "#soil", + "uv": [ + 4.0, + 5.0, + 12.0, + 13.0 + ] + }, + "west": { + "rotation": 270, + "texture": "#soil", + "uv": [ + 3.0, + 5.0, + 5.0, + 13.0 + ] + } + }, + "from": [ + 4, + 0.01, + 4 + ], + "to": [ + 12, + 2, + 12 + ] + }, + { + "faces": { + "north": { + "texture": "#plant", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + }, + "south": { + "texture": "#plant", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 1, + 2, + 6 + ], + "rotation": { + "angle": 45.0, + "axis": "y", + "origin": [ + 8, + 1, + 8 + ] + }, + "to": [ + 17, + 18, + 6 + ] + }, + { + "faces": { + "east": { + "texture": "#plant", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + }, + "west": { + "texture": "#plant", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + } + }, + "from": [ + 9, + 2, + -2 + ], + "rotation": { + "angle": 45.0, + "axis": "y", + "origin": [ + 8, + 1, + 8 + ] + }, + "to": [ + 9, + 18, + 14 + ] + }, + { + "faces": { + "south": { + "texture": "#top", + "uv": [ + 4.0, + 3.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 13, + 3 + ], + "to": [ + 12, + 14, + 4 + ] + }, + { + "faces": { + "north": { + "rotation": 180, + "texture": "#top", + "uv": [ + 4.0, + 12.0, + 12.0, + 13.0 + ] + } + }, + "from": [ + 4, + 13, + 12 + ], + "to": [ + 12, + 14, + 13 + ] + }, + { + "faces": { + "west": { + "rotation": 270, + "texture": "#top", + "uv": [ + 12.0, + 4.0, + 13.0, + 12.0 + ] + } + }, + "from": [ + 12, + 13, + 4 + ], + "to": [ + 13, + 14, + 12 + ] + }, + { + "faces": { + "east": { + "rotation": 90, + "texture": "#top", + "uv": [ + 3.0, + 4.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 3, + 13, + 4 + ], + "to": [ + 4, + 14, + 12 + ] + } + ], + "render_type": "minecraft:cutout", + "textures": { + "bottom": "twilightforest:block/jar_bottom", + "particle": "twilightforest:block/jar_side", + "plant": "minecraft:block/poppy", + "side": "twilightforest:block/jar_side", + "soil": "minecraft:block/composter_compost", + "top": "twilightforest:block/jar_top" + } +} \ No newline at end of file From 2ca4a49c33b815f49a1947e7b4b376c1add601f5 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 11:36:21 +0200 Subject: [PATCH 130/239] Block&Chain lover has logged in --- .../renderer/entity/BlockChainRenderer.java | 15 ++++++++++++--- .../entity/projectile/ChainBlock.java | 12 +----------- .../twilightforest/item/ChainBlockItem.java | 18 ++++++++++++------ 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java index 9936df6ae1..ce71d0885b 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BlockChainRenderer.java @@ -11,8 +11,7 @@ import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.entity.Entity; +import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; @@ -60,6 +59,16 @@ public void render(ChainBlockRenderState state, PoseStack stack, MultiBufferSour } } + @Override + protected AABB getBoundingBoxForCulling(ChainBlock chainBlock) { + if (chainBlock.getOwner() != null) { + AABB dis = super.getBoundingBoxForCulling(chainBlock); + AABB owner = chainBlock.getOwner().getBoundingBox(); + return dis.minmax(owner); + } + return super.getBoundingBoxForCulling(chainBlock); + } + public static void renderChain(boolean renderFoil, Vec3 offset, PoseStack stack, MultiBufferSource buffer, int light, Model chainModel) { stack.pushPose(); VertexConsumer vertexConsumer = ItemRenderer.getFoilBuffer(buffer, chainModel.renderType(TEXTURE), false, renderFoil); @@ -82,7 +91,7 @@ public void extractRenderState(ChainBlock entity, ChainBlockRenderState state, f state.yRot = entity.getYRot(partialTick); state.xRot = entity.getXRot(partialTick); state.isFoil = entity.isFoil(); - state.chainStartPos = entity.getOwner() != null ? entity.getOwner().getEyePosition(partialTick).subtract(entity.getEyePosition(partialTick)).add(0.0D, entity.getOwner().getBbHeight() * 0.5D, 0.0D) : null; + state.chainStartPos = entity.getOwner() != null ? entity.getOwner().getEyePosition(partialTick).subtract(entity.getEyePosition(partialTick)).add(0.0D, entity.getBbHeight() * -0.5D, 0.0D) : null; state.ownerLight = entity.getOwner() != null ? Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(entity.getOwner(), partialTick) : 0; state.blockHeight = entity.getBbHeight(); } diff --git a/src/main/java/twilightforest/entity/projectile/ChainBlock.java b/src/main/java/twilightforest/entity/projectile/ChainBlock.java index c77a9d99e5..acaa66b369 100644 --- a/src/main/java/twilightforest/entity/projectile/ChainBlock.java +++ b/src/main/java/twilightforest/entity/projectile/ChainBlock.java @@ -61,20 +61,10 @@ public ChainBlock(EntityType type, Level level, LivingEnti this.setOwner(thrower); this.stack = stack; this.setHand(hand); - this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0.0F, 1.5F, 1.0F); + this.setPos(thrower.getEyePosition()); this.getEntityData().set(IS_FOIL, stack.hasFoil()); } -// @Override -// public AABB getBoundingBoxForCulling() { -// if (this.getOwner() != null) { -// AABB dis = super.getBoundingBoxForCulling(); -// AABB owner = this.getOwner().getBoundingBoxForCulling(); -// return dis.minmax(owner); -// } -// return super.getBoundingBoxForCulling(); -// } - private void setHand(InteractionHand hand) { this.getEntityData().set(HAND, hand == InteractionHand.MAIN_HAND); } diff --git a/src/main/java/twilightforest/item/ChainBlockItem.java b/src/main/java/twilightforest/item/ChainBlockItem.java index eb39fa710a..5be5137a4e 100644 --- a/src/main/java/twilightforest/item/ChainBlockItem.java +++ b/src/main/java/twilightforest/item/ChainBlockItem.java @@ -7,17 +7,21 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.*; +import net.minecraft.world.entity.projectile.Projectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemUseAnimation; +import net.minecraft.world.item.ToolMaterial; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.server.ServerLifecycleHooks; import org.jetbrains.annotations.Nullable; -import twilightforest.tags.TFBlockTags; import twilightforest.entity.projectile.ChainBlock; import twilightforest.init.TFDataComponents; import twilightforest.init.TFEnchantments; import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; +import twilightforest.tags.TFBlockTags; import java.util.UUID; @@ -43,10 +47,12 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { player.playSound(TFSounds.BLOCK_AND_CHAIN_FIRED.get(), 0.5F, 1.0F / (level.getRandom().nextFloat() * 0.4F + 1.2F)); - if (!level.isClientSide()) { - ChainBlock launchedBlock = new ChainBlock(TFEntities.CHAIN_BLOCK.get(), level, player, hand, stack); - level.addFreshEntity(launchedBlock); - stack.set(TFDataComponents.THROWN_PROJECTILE, launchedBlock.getUUID()); + if (level instanceof ServerLevel serverLevel) { + Projectile.spawnProjectileFromRotation((lev, entity, stacc) -> { + ChainBlock launchedBlock = new ChainBlock(TFEntities.CHAIN_BLOCK.get(), lev, entity, hand, stacc); + stack.set(TFDataComponents.THROWN_PROJECTILE, launchedBlock.getUUID()); + return launchedBlock; + }, serverLevel, stack, player, 0.0F, 1.5F, 1.0F); } player.startUsingItem(hand); From 03752813506f6d0111237141d9cf81c38fa3e84f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 08:26:27 -0600 Subject: [PATCH 131/239] fallen leaves, fallen leaves, fallen leaves, on the ground --- .../datagen/assets/models/BlockModelGenerator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 7a8f07cfe6..b83dfaf6a4 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -18,6 +18,7 @@ import twilightforest.init.TFBlocks; import java.util.List; +import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -74,6 +75,12 @@ public void run() { Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.createWithSuffix(block, "_rose", TextureMapping.cube(TextureMapping.getBlockTexture(block, "_rose")), this.modelOutput))))); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.ROOT_STRAND.get(), ModelLocationUtils.getModelLocation(TFBlocks.ROOT_STRAND.get()))); this.registerSimpleFlatItemModel(TFBlocks.ROOT_STRAND.get()); + this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.FALLEN_LEAVES.get()).with( + PropertyDispatch.property(BlockStateProperties.LAYERS).generate(layer -> Variant.variant().with(VariantProperties.MODEL, ModelTemplates.create("block", String.valueOf(layer), TextureSlot.TEXTURE, TextureSlot.PARTICLE) + .extend().element(builder -> builder.from(0.0F, 0.0F, 0.0F).to(16.0F, layer == 1 ? 0.2F : (layer - 1) * 2, 16.0F) + .allFacesExcept((direction, face) -> face.tintindex(0).texture(TextureSlot.TEXTURE), Set.of(Direction.DOWN)) + .face(Direction.DOWN, face -> face.cullface(Direction.DOWN).texture(TextureSlot.TEXTURE).tintindex(0))).build().create(TFBlocks.FALLEN_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), this.modelOutput))))); + this.registerSimpleTintedItemModel(TFBlocks.FALLEN_LEAVES.get(), this.createFlatItemModelWithBlockTexture(TFBlocks.FALLEN_LEAVES.asItem(), Blocks.OAK_LEAVES), ItemModelUtils.constantTint(-12012264)); this.nagaStone(); From ce2fbc9fad51af754040e39a44456339ab3c41f9 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 08:26:38 -0600 Subject: [PATCH 132/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 13 ++++- .../blockstates/fallen_leaves.json | 28 +++++++++++ .../twilightforest/items/fallen_leaves.json | 12 +++++ .../models/block/fallen_leaves1.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves2.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves3.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves4.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves5.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves6.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves7.json | 48 +++++++++++++++++++ .../models/block/fallen_leaves8.json | 48 +++++++++++++++++++ .../models/item/fallen_leaves.json | 6 +++ 12 files changed, 442 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/items/fallen_leaves.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json create mode 100644 src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index d93155d17b..58c4e2e7b4 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-19T11:05:42.2681057 Model Definitions - twilightforest +// 1.21.4 2025-04-19T08:23:47.2969317 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -111,6 +111,7 @@ b9710702c67a370285a2603ef762350fddf920fa assets/twilightforest/blockstates/etche 83d2804b5a6ff4ec2c1fcaea1722bfe85c96f229 assets/twilightforest/blockstates/experiment_115.json bb0ee23fb9067621d86f7ade278936bf644e9205 assets/twilightforest/blockstates/fake_diamond.json bd1b05dc2697d7e22183d7cc0d97328088d2875c assets/twilightforest/blockstates/fake_gold.json +c95b39b44a263d1b9fbf2e8003fb9fb2e1c182b3 assets/twilightforest/blockstates/fallen_leaves.json 5699fd02c0bac05f385327be39b3b8cd57856102 assets/twilightforest/blockstates/fiddlehead.json aebd9c98b88f749e2b6c788586ee740f02b7c1d4 assets/twilightforest/blockstates/fiery_block.json 6a50adee3e67ac9d406061be3424a07051cfb505 assets/twilightforest/blockstates/final_boss_boss_spawner.json @@ -628,6 +629,7 @@ d2e442dcfb427d070602d71f33d26be10b37cca3 assets/twilightforest/items/ender_bow.j 49f0fa2ea841186f6c1878c2c49550246a5b9ba3 assets/twilightforest/items/etched_nagastone.json 742fe572cab13fab9c858a8fe7ad466c00b3d994 assets/twilightforest/items/exanimate_essence.json c45a3180bc1c6e20120121ff5ea630dfb6e5d9f2 assets/twilightforest/items/experiment_115.json +2976b46807833ca87f6e4616042f336f948afd85 assets/twilightforest/items/fallen_leaves.json 89a3236a7f8ff31d41d6ee4495625961bbdd5e49 assets/twilightforest/items/fiddlehead.json b7b689a64be36eae22a2ad7adf9916ad81a12721 assets/twilightforest/items/fiery_block.json 00a62095b4279a07de5824aff8498946eefd4710 assets/twilightforest/items/fiery_blood.json @@ -1338,6 +1340,14 @@ f9d6abe18669d516d03044a478937f94bdfe318e assets/twilightforest/models/block/expe 8d389a74d02552287cf373e4b204f6354b6ebf34 assets/twilightforest/models/block/experiment_115_6_8_regenerating.json 248e85e1f1def24b3a5a3fbd7b07ea14a4687bee assets/twilightforest/models/block/experiment_115_7_8_regenerating.json 7b496f7f5e7c6a8ec852515f31566d90f13f178b assets/twilightforest/models/block/experiment_115_8_8_regenerating.json +3ddc36e97f152b84f6b8a0b7944d609fd172e842 assets/twilightforest/models/block/fallen_leaves1.json +ba5c93985fbeeb4655185745f7185b76d03f0a38 assets/twilightforest/models/block/fallen_leaves2.json +e43311a8c2922bcc04e98892ff05d5f01fb306c6 assets/twilightforest/models/block/fallen_leaves3.json +dee62aa83123f5f9794ea7f637290866fc3f440a assets/twilightforest/models/block/fallen_leaves4.json +5163c8e7a60faa20d0cabe4e5d846cbf60f602ce assets/twilightforest/models/block/fallen_leaves5.json +c204b0a93e8535884e5efdd144b04f02b8bad082 assets/twilightforest/models/block/fallen_leaves6.json +64036292d4e53c97b356850a84007919b9c51407 assets/twilightforest/models/block/fallen_leaves7.json +025db542085eaedd05edf48b5bac58d254e8c490 assets/twilightforest/models/block/fallen_leaves8.json e5d2c8ffbbfbcaf285c60e093d4037b6d1122959 assets/twilightforest/models/block/fiddlehead.json b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/final_boss_boss_spawner.json 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/firefly.json @@ -2217,6 +2227,7 @@ c6a5b686b47547226129b880b6a6187d41c8afaf assets/twilightforest/models/item/ender c12a5c0ad2812a47a64c6838f927aa9c3ec1d98c assets/twilightforest/models/item/exanimate_essence.json 2df1005f58e6d3fbb401130330bd70ab78796380 assets/twilightforest/models/item/experiment_115.json 78629f1e6bc7d7af1d8bd03d9d445f839bcb37f8 assets/twilightforest/models/item/experiment_115_think.json +801236d4cfd188d04b0fb89d2b1b5e0d21942d0d assets/twilightforest/models/item/fallen_leaves.json 47b5e16cf269b2e6645653c5c184984eb596f6ca assets/twilightforest/models/item/fiddlehead.json d72400c69238734c9e25d9fbac2cd71419aa2ac9 assets/twilightforest/models/item/fiery_blood.json f9296a1f9bf001ef5dd10de79e604944361e5b31 assets/twilightforest/models/item/fiery_boots.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json b/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json new file mode 100644 index 0000000000..f27fc339e8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/fallen_leaves.json @@ -0,0 +1,28 @@ +{ + "variants": { + "layers=1": { + "model": "twilightforest:block/fallen_leaves1" + }, + "layers=2": { + "model": "twilightforest:block/fallen_leaves2" + }, + "layers=3": { + "model": "twilightforest:block/fallen_leaves3" + }, + "layers=4": { + "model": "twilightforest:block/fallen_leaves4" + }, + "layers=5": { + "model": "twilightforest:block/fallen_leaves5" + }, + "layers=6": { + "model": "twilightforest:block/fallen_leaves6" + }, + "layers=7": { + "model": "twilightforest:block/fallen_leaves7" + }, + "layers=8": { + "model": "twilightforest:block/fallen_leaves8" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/fallen_leaves.json b/src/generated/resources/assets/twilightforest/items/fallen_leaves.json new file mode 100644 index 0000000000..0fa9cb3ded --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/fallen_leaves.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:item/fallen_leaves", + "tints": [ + { + "type": "minecraft:constant", + "value": -12012264 + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json new file mode 100644 index 0000000000..c633204650 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves1.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 0.2, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json new file mode 100644 index 0000000000..00d750d26e --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves2.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 2, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json new file mode 100644 index 0000000000..be9929f5ce --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves3.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 4, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json new file mode 100644 index 0000000000..1135c89376 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves4.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 6, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json new file mode 100644 index 0000000000..f594504396 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves5.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 8, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json new file mode 100644 index 0000000000..2ee3260c26 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves6.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 10, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json new file mode 100644 index 0000000000..e97d521cd3 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves7.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 12, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json new file mode 100644 index 0000000000..9821c02baa --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/fallen_leaves8.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:block/block", + "elements": [ + { + "faces": { + "down": { + "cullface": "down", + "texture": "#texture", + "tintindex": 0 + }, + "east": { + "texture": "#texture", + "tintindex": 0 + }, + "north": { + "texture": "#texture", + "tintindex": 0 + }, + "south": { + "texture": "#texture", + "tintindex": 0 + }, + "up": { + "texture": "#texture", + "tintindex": 0 + }, + "west": { + "texture": "#texture", + "tintindex": 0 + } + }, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 14, + 16 + ] + } + ], + "textures": { + "particle": "minecraft:block/oak_leaves", + "texture": "minecraft:block/oak_leaves" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json b/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json new file mode 100644 index 0000000000..eda19fe164 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/item/fallen_leaves.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:block/oak_leaves" + } +} \ No newline at end of file From f6612d4f7899c6b158883cfd5bd54f48bd2d5413 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 08:51:21 -0600 Subject: [PATCH 133/239] every model is now done... finally --- .../assets/models/BlockModelGenerator.java | 14 ++++++++++---- .../assets/models/TFModelTemplates.java | 1 + .../helpers/models/BlockModelBuilders.java | 4 +++- .../models/block/potted_thorn_template.json | 18 +++++++++--------- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index b83dfaf6a4..352b31edc7 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -5,6 +5,7 @@ import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -46,9 +47,9 @@ public void run() { this.spawner(TFBlocks.FINAL_BOSS_BOSS_SPAWNER.get(), "block/boss_spawner"); this.spawner(TFBlocks.SINISTER_SPAWNER.get(), "block/sinister_spawner"); - this.thorns(TFBlocks.BROWN_THORNS.get()); - this.thorns(TFBlocks.GREEN_THORNS.get()); - this.thorns(TFBlocks.BURNT_THORNS.get()); + this.thorns(TFBlocks.BROWN_THORNS.get(), TFBlocks.POTTED_THORN.get()); + this.thorns(TFBlocks.GREEN_THORNS.get(), TFBlocks.POTTED_GREEN_THORN.get()); + this.thorns(TFBlocks.BURNT_THORNS.get(), TFBlocks.POTTED_DEAD_THORN.get()); this.directionalCrossModel(TFBlocks.THORN_ROSE.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.THORN_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.SPRUCE_LEAVES), ModelTemplates.LEAVES), -10380959); this.wrapBlockItem(TFBlocks.DEADROCK.get(), this::createTrivialCube); @@ -56,8 +57,10 @@ public void run() { this.wrapBlockItem(TFBlocks.WEATHERED_DEADROCK.get(), this::createTrivialCube); this.createCrossBlock(TFBlocks.FIDDLEHEAD.get(), PlantType.TINTED); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.POTTED_FIDDLEHEAD.get(), ModelTemplates.TINTED_FLOWER_POT_CROSS.extend().renderType("cutout").build().create(TFBlocks.POTTED_FIDDLEHEAD.get(), TextureMapping.singleSlot(TextureSlot.PLANT, TwilightForestMod.prefix("block/potted_fiddlehead")), this.modelOutput))); this.createItemWithGrassTint(TFBlocks.FIDDLEHEAD.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MAYAPPLE.get(), ModelLocationUtils.getModelLocation(TFBlocks.MAYAPPLE.get()))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.POTTED_MAYAPPLE.get(), ModelLocationUtils.getModelLocation(TFBlocks.POTTED_MAYAPPLE.get()))); this.registerSimpleFlatItemModel(TFBlocks.MAYAPPLE.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CLOVER_PATCH.get(), TFModelTemplates.create("block", TextureSlot.TEXTURE, TextureSlot.PARTICLE).extend().customLoader(PatchBuilder::new, builder -> { }).renderType("cutout").build().create(TFBlocks.CLOVER_PATCH.get(), TextureMapping.defaultTexture(TFBlocks.CLOVER_PATCH.get()), this.modelOutput))); @@ -70,6 +73,7 @@ public void run() { this.registerSimpleFlatItemModel(TFBlocks.TORCHBERRY_PLANT.get()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.MUSHGLOOM.get(), ModelLocationUtils.getModelLocation(TFBlocks.MUSHGLOOM.get()))); this.registerTwoLayerFlatItemModel(TFBlocks.MUSHGLOOM.get(), "_head"); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.POTTED_MUSHGLOOM.get(), ModelTemplates.FLOWER_POT_CROSS.extend().renderType("cutout").build().create(TFBlocks.POTTED_MUSHGLOOM.get(), TextureMapping.singleSlot(TextureSlot.PLANT, TwilightForestMod.prefix("block/potted_mushgloom")), this.modelOutput))); this.wrapBlockItem(TFBlocks.HEDGE.get(), block -> this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.create(block, TextureMapping.cube(block), this.modelOutput)).with(VariantProperties.WEIGHT, 10), Variant.variant().with(VariantProperties.MODEL, ModelTemplates.CUBE_ALL.createWithSuffix(block, "_rose", TextureMapping.cube(TextureMapping.getBlockTexture(block, "_rose")), this.modelOutput))))); @@ -326,7 +330,9 @@ public void run() { this.wrapBlockItem(TFBlocks.CARMINITE_BLOCK.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(block)))); this.createParticleOnlyBlock(TFBlocks.BRAZIER.get(), TFBlocks.CANOPY_PLANKS.get()); - this.wrapBlockItem(TFBlocks.CINDER_FURNACE.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, ModelLocationUtils.getModelLocation(Blocks.FURNACE)))); + this.wrapBlockItem(TFBlocks.SLIDER.get(), block -> this.blockStateOutput.accept(createRotatedPillarWithHorizontalVariant(block, ModelLocationUtils.getModelLocation(block), ModelLocationUtils.getModelLocation(block, "_horiz")))); + this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CINDER_FURNACE.get(), ModelLocationUtils.getModelLocation(Blocks.FURNACE))); + this.registerSimpleItemModel(TFBlocks.CINDER_FURNACE.get(), ResourceLocation.withDefaultNamespace("block/furnace")); this.wrapBlockItem(TFBlocks.CINDER_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(block))); this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"))); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java index 24bbe62bea..98b28a4927 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFModelTemplates.java @@ -66,6 +66,7 @@ public class TFModelTemplates extends ModelTemplates { public static final ModelTemplate THORNS_SECTION_BOTTOM = create("twilightforest:thorns_section_bottom", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_section_bottom")).renderType("cutout").build(); public static final ModelTemplate THORNS_NO_SECTION = create("twilightforest:thorns_no_section", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section")).renderType("cutout").build(); public static final ModelTemplate THORNS_NO_SECTION_ALT = create("twilightforest:thorns_no_section_alt", TextureSlot.SIDE, TextureSlot.END).extend().parent(TwilightForestMod.prefix("block/thorns_no_section_alt")).renderType("cutout").build(); + public static final ModelTemplate POTTED_THORN = create("twilightforest:potted_thorn_template", TextureSlot.SIDE, TextureSlot.END); public static final ModelTemplate CASTLE_RUNE_TEMPLATE = create("twilightforest:castle_rune_template", TextureSlot.ALL, TFTextureSlot.RUNE); public static final ModelTemplate TINTED_CUBE_BOTTOM_TOP = create("twilightforest:tinted_cube_bottom_top", TextureSlot.TOP, TextureSlot.SIDE, TextureSlot.BOTTOM); diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 353aca4de0..63772e8474 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -525,8 +525,10 @@ public void rotationallySpecialColumn(Block block) { this.itemModelOutput.accept(block.asItem(), ItemModelUtils.plainModel(yModel)); } - public void thorns(Block block) { + public void thorns(Block block, Block potted) { TextureMapping mapping = TextureMapping.column(block); + this.blockStateOutput.accept(createSimpleBlock(potted, TFModelTemplates.POTTED_THORN.create(potted, mapping, this.modelOutput))); + ResourceLocation main = TFModelTemplates.THORNS_MAIN.createWithSuffix(block, "_main", mapping, this.modelOutput); ResourceLocation thorns = TFModelTemplates.THORNS.createWithSuffix(block, "_thorns", mapping, this.modelOutput); ResourceLocation top = TFModelTemplates.THORNS_SECTION_TOP.createWithSuffix(block, "_top", mapping, this.modelOutput); diff --git a/src/main/resources/assets/twilightforest/models/block/potted_thorn_template.json b/src/main/resources/assets/twilightforest/models/block/potted_thorn_template.json index 08d0f9317c..4a35bb12ea 100644 --- a/src/main/resources/assets/twilightforest/models/block/potted_thorn_template.json +++ b/src/main/resources/assets/twilightforest/models/block/potted_thorn_template.json @@ -22,11 +22,11 @@ "from": [6, 5, 6], "to": [10, 16, 10], "faces": { - "north": {"uv": [6, 0, 10, 12], "texture": "#thorn_side"}, - "east": {"uv": [6, 0, 10, 12], "texture": "#thorn_side"}, - "south": {"uv": [6, 0, 10, 12], "texture": "#thorn_side"}, - "west": {"uv": [6, 0, 10, 12], "texture": "#thorn_side"}, - "up": {"uv": [6, 6, 10, 10], "texture": "#thorn_top", "cullface": "up"} + "north": {"uv": [6, 0, 10, 12], "texture": "#side"}, + "east": {"uv": [6, 0, 10, 12], "texture": "#side"}, + "south": {"uv": [6, 0, 10, 12], "texture": "#side"}, + "west": {"uv": [6, 0, 10, 12], "texture": "#side"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#end", "cullface": "up"} } }, { @@ -34,8 +34,8 @@ "to": [17.25, 16, 2.5], "rotation": {"angle": 45, "axis": "y", "origin": [17, 13, 11]}, "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#thorn_side"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#thorn_side"} + "north": {"uv": [0, 0, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side"} } }, { @@ -43,8 +43,8 @@ "to": [8.5, 16, 5.25], "rotation": {"angle": 45, "axis": "y", "origin": [17, 13, 5]}, "faces": { - "east": {"uv": [0, 0, 16, 16], "texture": "#thorn_side"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#thorn_side"} + "east": {"uv": [0, 0, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side"} } } ] From 5d9574bdcf838302e48883acf2e22e537a376eba Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 08:51:36 -0600 Subject: [PATCH 134/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 17 +++++++++++++++-- .../blockstates/potted_dead_thorn.json | 7 +++++++ .../blockstates/potted_fiddlehead.json | 7 +++++++ .../blockstates/potted_green_thorn.json | 7 +++++++ .../blockstates/potted_mayapple.json | 7 +++++++ .../blockstates/potted_mushgloom.json | 7 +++++++ .../blockstates/potted_thorn.json | 7 +++++++ .../twilightforest/blockstates/slider.json | 16 ++++++++++++++++ .../twilightforest/items/cinder_furnace.json | 2 +- .../assets/twilightforest/items/slider.json | 6 ++++++ .../models/block/potted_dead_thorn.json | 7 +++++++ .../models/block/potted_fiddlehead.json | 7 +++++++ .../models/block/potted_green_thorn.json | 7 +++++++ .../models/block/potted_mushgloom.json | 7 +++++++ .../models/block/potted_thorn.json | 7 +++++++ 15 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json create mode 100644 src/generated/resources/assets/twilightforest/blockstates/slider.json create mode 100644 src/generated/resources/assets/twilightforest/items/slider.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json create mode 100644 src/generated/resources/assets/twilightforest/models/block/potted_thorn.json diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 58c4e2e7b4..07889fafa4 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-19T08:23:47.2969317 Model Definitions - twilightforest +// 1.21.4 2025-04-19T08:48:40.744376 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -313,11 +313,17 @@ e9b4fd0c89be09ea971e1abbe68bedcec7f83820 assets/twilightforest/blockstates/pink_ 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/player_wall_skull_candle.json 6d1355138bc99dc102517dd779b0a69cae69eb79 assets/twilightforest/blockstates/potted_canopy_sapling.json 165a66c5cdeb9bd559ddbe3557ade25ef8c6dea9 assets/twilightforest/blockstates/potted_darkwood_sapling.json +43dc9ef750fcec043a0045300c5e1c24ac20170b assets/twilightforest/blockstates/potted_dead_thorn.json +cbcf41c7d71d56a1c3697da19fe2525802cf369e assets/twilightforest/blockstates/potted_fiddlehead.json +2dc281fcf41de950e163eedeca5f27c2715570ef assets/twilightforest/blockstates/potted_green_thorn.json 9d0139029c6a6f32c82f6be1bbd3af7600a8142a assets/twilightforest/blockstates/potted_hollow_oak_sapling.json cbf9a4bee60c4f78f363749482569ce88246234d assets/twilightforest/blockstates/potted_mangrove_sapling.json +e51550c567131294d865c0a14353eccd4ee3dafe assets/twilightforest/blockstates/potted_mayapple.json cc99e996a4893cce317a4f29364171556025a240 assets/twilightforest/blockstates/potted_mining_sapling.json +bdca0fa815164fcd2d81a52f35e5fa6eec95053d assets/twilightforest/blockstates/potted_mushgloom.json cb5d5c919df96db36a0dc2ea15e3c4c8b881b73a assets/twilightforest/blockstates/potted_rainbow_oak_sapling.json 1a70ca5a6c64fcd7b010e5aea42f6974962b0fb0 assets/twilightforest/blockstates/potted_sorting_sapling.json +260a655b730233598a4736817df6d871e4b698b7 assets/twilightforest/blockstates/potted_thorn.json 9785c009daff75e161f07fa1887e995fffa7cb48 assets/twilightforest/blockstates/potted_time_sapling.json ce094a7d5901495f51ed9c4b51179a0746bbd349 assets/twilightforest/blockstates/potted_transformation_sapling.json d799fe07d26489146924f9e3965d2dd78d5fd86f assets/twilightforest/blockstates/potted_twilight_oak_sapling.json @@ -335,6 +341,7 @@ c7e8c3ec3d2c159a84327ac576f92eae60eb200e assets/twilightforest/blockstates/root_ 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_skull_candle.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/skeleton_wall_skull_candle.json 72dedb525c34b636653a1067601d2d98446c3334 assets/twilightforest/blockstates/skull_chest.json +3bbe78af6e0646bc2411c2324b690d36315ea7e7 assets/twilightforest/blockstates/slider.json 1c0c175d79f54fef7bd68427a70b45f5596f8914 assets/twilightforest/blockstates/smoker.json 250782d258bf94abf96736184adc18d99736d600 assets/twilightforest/blockstates/snowy_cloud.json 29cdc362c362875bf1a3f48491808cae5b623c9e assets/twilightforest/blockstates/snow_queen_boss_spawner.json @@ -567,7 +574,7 @@ e58d6a1275db10a970b1cae244727654c8f6866a assets/twilightforest/items/cherry_bani 811a790d6d001885bb20f7bfa128c65fc925b401 assets/twilightforest/items/chiseled_canopy_bookshelf.json 6bc2e4abafa165cedfa50db190d63d776a45318c assets/twilightforest/items/cicada.json 3031b70aef996de06574258c98175852ec2170db assets/twilightforest/items/cicada_jar.json -3b19e64ca96c86e1f735545c273a97c8e944f4fb assets/twilightforest/items/cinder_furnace.json +8f4302dfa92c10578810a51759ef4ce404258a33 assets/twilightforest/items/cinder_furnace.json baba64132f0f5ae339c0b3107e4d8a22fca3e19b assets/twilightforest/items/cinder_log.json b32eeb67d17c7ff44326bb95eb8de98f1a1eee28 assets/twilightforest/items/cinder_wood.json b7fc3ffbf1340664f880cfb19a117aadd9f74f03 assets/twilightforest/items/clover_patch.json @@ -890,6 +897,7 @@ e182b712f93eb0b0c38975b2bab0d2b0bdd5de51 assets/twilightforest/items/seeker_bow. 39ad5475a9608e25d803e687a20e2a49991e6989 assets/twilightforest/items/skeleton_druid_spawn_egg.json 28d3f09448ef594c02ddbf4fb32fec53cd8197b0 assets/twilightforest/items/skeleton_skull_candle.json ef7f0392b683a36f951508a8c33039a851e52f03 assets/twilightforest/items/skull_chest.json +95bfdefa4a3f43cbf3094680a4deafe0aeb99a2c assets/twilightforest/items/slider.json 6628bed4171446ef359c5f9549fc36c1398a7682 assets/twilightforest/items/slime_beetle_spawn_egg.json 5d3dc272e8a0c7bfec4cbc9cfaf058f4ed1db5d9 assets/twilightforest/items/smoker.json bdf2fb9c7e7a24097814b498243b526c466e7dad assets/twilightforest/items/snowy_cloud.json @@ -1765,11 +1773,16 @@ f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/pink 1ff82fd5ee63ba29d7267d7aada6f61b256bea79 assets/twilightforest/models/block/pink_force_field.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json +106f438ad018b7efb9a88ace8363f88e0cc0a130 assets/twilightforest/models/block/potted_dead_thorn.json +bffee8988b58e3e9a76250c996a8e777db78a2e8 assets/twilightforest/models/block/potted_fiddlehead.json +a4334d603137a6c824c7614cc11b25f6a1ede066 assets/twilightforest/models/block/potted_green_thorn.json f2518bdfeeda7cd3539b4190a1c3363c43cef43b assets/twilightforest/models/block/potted_hollow_oak_sapling.json 4a4f186233f1af5422b9c161b611097c2db8b577 assets/twilightforest/models/block/potted_mangrove_sapling.json 29966e31c9b5d2d9f2b9a1c16a217fe6cc4f293d assets/twilightforest/models/block/potted_mining_sapling.json +6d91930000bfbc65a650b2901657c63f0a14874d assets/twilightforest/models/block/potted_mushgloom.json 5e1644cb8333dcef209453e3e12f781e4817ea9a assets/twilightforest/models/block/potted_rainbow_oak_sapling.json 05a22fa8644c2408e6ce41447ffa5c12c416f96a assets/twilightforest/models/block/potted_sorting_sapling.json +60c675844f6da2abeeb73066ed6a94a23024a32e assets/twilightforest/models/block/potted_thorn.json 8a3bc7125006eb3f9596b3f5cef5d0a7705684dc assets/twilightforest/models/block/potted_time_sapling.json c2a7cd2152b20bd1c2e0deced7f5b349d3749729 assets/twilightforest/models/block/potted_transformation_sapling.json 4bd23e5c4ebba58f43f88c852dd56a8848a03647 assets/twilightforest/models/block/potted_twilight_oak_sapling.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json new file mode 100644 index 0000000000..492a781454 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_dead_thorn.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_dead_thorn" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json b/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json new file mode 100644 index 0000000000..b0618f4353 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_fiddlehead.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_fiddlehead" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json new file mode 100644 index 0000000000..1c9a9a8b75 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_green_thorn.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_green_thorn" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json new file mode 100644 index 0000000000..93b27e22f7 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_mayapple.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_mayapple" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json b/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json new file mode 100644 index 0000000000..a52eac7001 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_mushgloom.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_mushgloom" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json b/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json new file mode 100644 index 0000000000..4cff1fc400 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/potted_thorn.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "twilightforest:block/potted_thorn" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/blockstates/slider.json b/src/generated/resources/assets/twilightforest/blockstates/slider.json new file mode 100644 index 0000000000..c4dc619878 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/blockstates/slider.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "twilightforest:block/slider_horiz", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "twilightforest:block/slider" + }, + "axis=z": { + "model": "twilightforest:block/slider_horiz", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/cinder_furnace.json b/src/generated/resources/assets/twilightforest/items/cinder_furnace.json index 6a10d9d872..6449afc3c4 100644 --- a/src/generated/resources/assets/twilightforest/items/cinder_furnace.json +++ b/src/generated/resources/assets/twilightforest/items/cinder_furnace.json @@ -1,6 +1,6 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:block/cinder_furnace" + "model": "minecraft:block/furnace" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/slider.json b/src/generated/resources/assets/twilightforest/items/slider.json new file mode 100644 index 0000000000..45c4936c55 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/items/slider.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "twilightforest:block/slider" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json new file mode 100644 index 0000000000..b2d6aa47ea --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_dead_thorn.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/potted_thorn_template", + "textures": { + "end": "twilightforest:block/burnt_thorns_top", + "side": "twilightforest:block/burnt_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json b/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json new file mode 100644 index 0000000000..5bdf04c729 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_fiddlehead.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/tinted_flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/potted_fiddlehead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json new file mode 100644 index 0000000000..30e4b767bf --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_green_thorn.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/potted_thorn_template", + "textures": { + "end": "twilightforest:block/green_thorns_top", + "side": "twilightforest:block/green_thorns_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json b/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json new file mode 100644 index 0000000000..a678d4cbc4 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_mushgloom.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "render_type": "minecraft:cutout", + "textures": { + "plant": "twilightforest:block/potted_mushgloom" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json b/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json new file mode 100644 index 0000000000..4a984fad92 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/block/potted_thorn.json @@ -0,0 +1,7 @@ +{ + "parent": "twilightforest:block/potted_thorn_template", + "textures": { + "end": "twilightforest:block/brown_thorns_top", + "side": "twilightforest:block/brown_thorns_side" + } +} \ No newline at end of file From 070e805c49a334f71b4ad001a55f8bf9db16119f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 09:19:29 -0600 Subject: [PATCH 135/239] fix blockitem names --- .../datagen/helpers/TFLangProvider.java | 4 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 2 +- .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 +- .../assets/twilightforest/lang/en_ud.json | 76 +++------- .../assets/twilightforest/lang/en_us.json | 76 +++------- .../java/twilightforest/init/TFBlocks.java | 136 +++++++++--------- .../java/twilightforest/init/TFItems.java | 110 +++++++------- 7 files changed, 168 insertions(+), 242 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java index 9eab61eb65..8c79b1adc1 100644 --- a/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java +++ b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java @@ -69,9 +69,7 @@ public void createLogs(String woodPrefix, String woodName) { } public void createHollowLogs(String woodPrefix, String woodName, boolean stem) { - this.add("block.twilightforest.hollow_" + woodPrefix + (stem ? "_stem" : "_log") + "_horizontal", "Hollow " + woodName + (stem ? " Stem" : " Log")); - this.add("block.twilightforest.hollow_" + woodPrefix + (stem ? "_stem" : "_log") + "_vertical", "Hollow " + woodName + (stem ? " Stem" : " Log")); - this.add("block.twilightforest.hollow_" + woodPrefix + (stem ? "_stem" : "_log") + "_climbable", "Hollow " + woodName + (stem ? " Stem" : " Log")); + this.add("block.twilightforest.hollow_" + woodPrefix + (stem ? "_stem" : "_log"), "Hollow " + woodName + (stem ? " Stem" : " Log")); } public void createWoodSet(String woodPrefix, String woodName) { diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index cfc785f793..b9dc57a346 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-07T10:37:41.7411508 Loot Tables +// 1.21.4 2025-04-19T09:17:11.3663895 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 389167e0e5..0a1a9ced6d 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.4 2025-04-07T10:37:41.7872552 Languages: en_us for mod: twilightforest -a3e5a221f6b70c7503554d3234bc9b4acbbaf5c6 assets/twilightforest/lang/en_ud.json -54391cd14e6e9aba08427ea6d83a7c14a6602d72 assets/twilightforest/lang/en_us.json +// 1.21.4 2025-04-19T09:14:34.3163534 Languages: en_us for mod: twilightforest +05d97a2a8e184b0701d05c67168988367c1b7d60 assets/twilightforest/lang/en_ud.json +7b346da55d782fda846405ead78ce4ca3c4708cc assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index 25b378f49f..de61a4d879 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -382,64 +382,26 @@ "block.twilightforest.green_thorns": "suɹoɄ⟘ uĒĒÉ¹ā…", "block.twilightforest.hardened_dark_leaves": "sĒŹŒÉĒźž€ pooŹŹžÉ¹Éį—” ŹžÉ”į“‰É„āŸ˜", "block.twilightforest.hedge": "Ēįµ·pĒH", - "block.twilightforest.hollow_acacia_log_climbable": "įµ·oźž€ ɐᓉɔɐɔⱯ ŹoźžźžoH", - "block.twilightforest.hollow_acacia_log_horizontal": "įµ·oźž€ ɐᓉɔɐɔⱯ ŹoźžźžoH", - "block.twilightforest.hollow_acacia_log_vertical": "įµ·oźž€ ɐᓉɔɐɔⱯ ŹoźžźžoH", - "block.twilightforest.hollow_birch_log_climbable": "įµ·oźž€ Ʉɔɹᓉᗺ ŹoźžźžoH", - "block.twilightforest.hollow_birch_log_horizontal": "įµ·oźž€ Ʉɔɹᓉᗺ ŹoźžźžoH", - "block.twilightforest.hollow_birch_log_vertical": "įµ·oźž€ Ʉɔɹᓉᗺ ŹoźžźžoH", - "block.twilightforest.hollow_canopy_log_climbable": "įµ·oźž€ ĒĒÉ¹āŸ˜ ŹŽdouɐʆ ŹoźžźžoH", - "block.twilightforest.hollow_canopy_log_horizontal": "įµ·oźž€ ĒĒÉ¹āŸ˜ ŹŽdouɐʆ ŹoźžźžoH", - "block.twilightforest.hollow_canopy_log_vertical": "įµ·oźž€ ĒĒÉ¹āŸ˜ ŹŽdouɐʆ ŹoźžźžoH", - "block.twilightforest.hollow_cherry_log_climbable": "įµ·oźž€ ŹŽÉ¹É¹ĒÉ„Ę† ŹoźžźžoH", - "block.twilightforest.hollow_cherry_log_horizontal": "įµ·oźž€ ŹŽÉ¹É¹ĒÉ„Ę† ŹoźžźžoH", - "block.twilightforest.hollow_cherry_log_vertical": "įµ·oźž€ ŹŽÉ¹É¹ĒÉ„Ę† ŹoźžźžoH", - "block.twilightforest.hollow_crimson_stem_climbable": "ÉÆĒŹ‡S uosɯᓉɹƆ ŹoźžźžoH", - "block.twilightforest.hollow_crimson_stem_horizontal": "ÉÆĒŹ‡S uosɯᓉɹƆ ŹoźžźžoH", - "block.twilightforest.hollow_crimson_stem_vertical": "ÉÆĒŹ‡S uosɯᓉɹƆ ŹoźžźžoH", - "block.twilightforest.hollow_dark_log_climbable": "įµ·oźž€ pooŹŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_dark_log_horizontal": "įµ·oźž€ pooŹŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_dark_log_vertical": "įµ·oźž€ pooŹŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_dark_oak_log_climbable": "įµ·oźž€ ŹžÉO ŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_dark_oak_log_horizontal": "įµ·oźž€ ŹžÉO ŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_dark_oak_log_vertical": "įµ·oźž€ ŹžÉO ŹžÉ¹Éį—” ŹoźžźžoH", - "block.twilightforest.hollow_jungle_log_climbable": "įµ·oźž€ Ēźžįµ·unՐ ŹoźžźžoH", - "block.twilightforest.hollow_jungle_log_horizontal": "įµ·oźž€ Ēźžįµ·unՐ ŹoźžźžoH", - "block.twilightforest.hollow_jungle_log_vertical": "įµ·oźž€ Ēźžįµ·unՐ ŹoźžźžoH", - "block.twilightforest.hollow_mangrove_log_climbable": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_mangrove_log_horizontal": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_mangrove_log_vertical": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_mining_log_climbable": "įµ·oźž€ pooŹĒuᓉW ŹoźžźžoH", - "block.twilightforest.hollow_mining_log_horizontal": "įµ·oźž€ pooŹĒuᓉW ŹoźžźžoH", - "block.twilightforest.hollow_mining_log_vertical": "įµ·oźž€ pooŹĒuᓉW ŹoźžźžoH", - "block.twilightforest.hollow_oak_log_climbable": "įµ·oźž€ ŹžÉO ŹoźžźžoH", - "block.twilightforest.hollow_oak_log_horizontal": "įµ·oźž€ ŹžÉO ŹoźžźžoH", - "block.twilightforest.hollow_oak_log_vertical": "įµ·oźž€ ŹžÉO ŹoźžźžoH", + "block.twilightforest.hollow_acacia_log": "įµ·oźž€ ɐᓉɔɐɔⱯ ŹoźžźžoH", + "block.twilightforest.hollow_birch_log": "įµ·oźž€ Ʉɔɹᓉᗺ ŹoźžźžoH", + "block.twilightforest.hollow_canopy_log": "įµ·oźž€ ĒĒÉ¹āŸ˜ ŹŽdouɐʆ ŹoźžźžoH", + "block.twilightforest.hollow_cherry_log": "įµ·oźž€ ŹŽÉ¹É¹ĒÉ„Ę† ŹoźžźžoH", + "block.twilightforest.hollow_crimson_stem": "ÉÆĒŹ‡S uosɯᓉɹƆ ŹoźžźžoH", + "block.twilightforest.hollow_dark_log": "įµ·oźž€ pooŹŹžÉ¹Éį—” ŹoźžźžoH", + "block.twilightforest.hollow_dark_oak_log": "įµ·oźž€ ŹžÉO ŹžÉ¹Éį—” ŹoźžźžoH", + "block.twilightforest.hollow_jungle_log": "įµ·oźž€ Ēźžįµ·unՐ ŹoźžźžoH", + "block.twilightforest.hollow_mangrove_log": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", + "block.twilightforest.hollow_mining_log": "įµ·oźž€ pooŹĒuᓉW ŹoźžźžoH", + "block.twilightforest.hollow_oak_log": "įµ·oźž€ ŹžÉO ŹoźžźžoH", "block.twilightforest.hollow_oak_sapling": "įµ·uį“‰źždɐS ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ʇsnqoᓚ", - "block.twilightforest.hollow_pale_oak_log_climbable": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", - "block.twilightforest.hollow_pale_oak_log_horizontal": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", - "block.twilightforest.hollow_pale_oak_log_vertical": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", - "block.twilightforest.hollow_sorting_log_climbable": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", - "block.twilightforest.hollow_sorting_log_horizontal": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", - "block.twilightforest.hollow_sorting_log_vertical": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", - "block.twilightforest.hollow_spruce_log_climbable": "įµ·oźž€ ĒÉ”nɹdS ŹoźžźžoH", - "block.twilightforest.hollow_spruce_log_horizontal": "įµ·oźž€ ĒÉ”nɹdS ŹoźžźžoH", - "block.twilightforest.hollow_spruce_log_vertical": "įµ·oźž€ ĒÉ”nɹdS ŹoźžźžoH", - "block.twilightforest.hollow_time_log_climbable": "įµ·oźž€ pooŹĒÉÆį“‰āŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_time_log_horizontal": "įµ·oźž€ pooŹĒÉÆį“‰āŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_time_log_vertical": "įµ·oźž€ pooŹĒÉÆį“‰āŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_transformation_log_climbable": "įµ·oźž€ pooŹsuɐɹ⟘ ŹoźžźžoH", - "block.twilightforest.hollow_transformation_log_horizontal": "įµ·oźž€ pooŹsuɐɹ⟘ ŹoźžźžoH", - "block.twilightforest.hollow_transformation_log_vertical": "įµ·oźž€ pooŹsuɐɹ⟘ ŹoźžźžoH", - "block.twilightforest.hollow_twilight_oak_log_climbable": "įµ·oźž€ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_twilight_oak_log_horizontal": "įµ·oźž€ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_twilight_oak_log_vertical": "įµ·oźž€ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ŹoźžźžoH", - "block.twilightforest.hollow_vangrove_log_climbable": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_vangrove_log_horizontal": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_vangrove_log_vertical": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", - "block.twilightforest.hollow_warped_stem_climbable": "ÉÆĒŹ‡S pĒdɹɐM ŹoźžźžoH", - "block.twilightforest.hollow_warped_stem_horizontal": "ÉÆĒŹ‡S pĒdɹɐM ŹoźžźžoH", - "block.twilightforest.hollow_warped_stem_vertical": "ÉÆĒŹ‡S pĒdɹɐM ŹoźžźžoH", + "block.twilightforest.hollow_pale_oak_log": "įµ·oźž€ ŹžÉO ĒźžÉŌ€ ŹoźžźžoH", + "block.twilightforest.hollow_sorting_log": "įµ·oźž€ pooŹįµ·uᓉʇɹoS ŹoźžźžoH", + "block.twilightforest.hollow_spruce_log": "įµ·oźž€ ĒÉ”nɹdS ŹoźžźžoH", + "block.twilightforest.hollow_time_log": "įµ·oźž€ pooŹĒÉÆį“‰āŸ˜ ŹoźžźžoH", + "block.twilightforest.hollow_transformation_log": "įµ·oźž€ pooŹsuɐɹ⟘ ŹoźžźžoH", + "block.twilightforest.hollow_twilight_oak_log": "įµ·oźž€ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜ ŹoźžźžoH", + "block.twilightforest.hollow_vangrove_log": "įµ·oźž€ ĒŹŒoɹᵷuɐW ŹoźžźžoH", + "block.twilightforest.hollow_warped_stem": "ÉÆĒŹ‡S pĒdɹɐM ŹoźžźžoH", "block.twilightforest.huge_lily_pad": "pɐԀ ŹŽźžį“‰źž€ Ēįµ·nH", "block.twilightforest.huge_mushgloom": "ŹžÉ”oźžį—ŗ ÉÆooźžįµ·É„snW Ēįµ·nH", "block.twilightforest.huge_mushgloom_stem": "ÉÆĒŹ‡S ÉÆooźžįµ·É„snW Ēįµ·nH", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index f96c168991..0a89b0e581 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -382,64 +382,26 @@ "block.twilightforest.green_thorns": "Green Thorns", "block.twilightforest.hardened_dark_leaves": "Thick Darkwood Leaves", "block.twilightforest.hedge": "Hedge", - "block.twilightforest.hollow_acacia_log_climbable": "Hollow Acacia Log", - "block.twilightforest.hollow_acacia_log_horizontal": "Hollow Acacia Log", - "block.twilightforest.hollow_acacia_log_vertical": "Hollow Acacia Log", - "block.twilightforest.hollow_birch_log_climbable": "Hollow Birch Log", - "block.twilightforest.hollow_birch_log_horizontal": "Hollow Birch Log", - "block.twilightforest.hollow_birch_log_vertical": "Hollow Birch Log", - "block.twilightforest.hollow_canopy_log_climbable": "Hollow Canopy Tree Log", - "block.twilightforest.hollow_canopy_log_horizontal": "Hollow Canopy Tree Log", - "block.twilightforest.hollow_canopy_log_vertical": "Hollow Canopy Tree Log", - "block.twilightforest.hollow_cherry_log_climbable": "Hollow Cherry Log", - "block.twilightforest.hollow_cherry_log_horizontal": "Hollow Cherry Log", - "block.twilightforest.hollow_cherry_log_vertical": "Hollow Cherry Log", - "block.twilightforest.hollow_crimson_stem_climbable": "Hollow Crimson Stem", - "block.twilightforest.hollow_crimson_stem_horizontal": "Hollow Crimson Stem", - "block.twilightforest.hollow_crimson_stem_vertical": "Hollow Crimson Stem", - "block.twilightforest.hollow_dark_log_climbable": "Hollow Darkwood Log", - "block.twilightforest.hollow_dark_log_horizontal": "Hollow Darkwood Log", - "block.twilightforest.hollow_dark_log_vertical": "Hollow Darkwood Log", - "block.twilightforest.hollow_dark_oak_log_climbable": "Hollow Dark Oak Log", - "block.twilightforest.hollow_dark_oak_log_horizontal": "Hollow Dark Oak Log", - "block.twilightforest.hollow_dark_oak_log_vertical": "Hollow Dark Oak Log", - "block.twilightforest.hollow_jungle_log_climbable": "Hollow Jungle Log", - "block.twilightforest.hollow_jungle_log_horizontal": "Hollow Jungle Log", - "block.twilightforest.hollow_jungle_log_vertical": "Hollow Jungle Log", - "block.twilightforest.hollow_mangrove_log_climbable": "Hollow Mangrove Log", - "block.twilightforest.hollow_mangrove_log_horizontal": "Hollow Mangrove Log", - "block.twilightforest.hollow_mangrove_log_vertical": "Hollow Mangrove Log", - "block.twilightforest.hollow_mining_log_climbable": "Hollow Minewood Log", - "block.twilightforest.hollow_mining_log_horizontal": "Hollow Minewood Log", - "block.twilightforest.hollow_mining_log_vertical": "Hollow Minewood Log", - "block.twilightforest.hollow_oak_log_climbable": "Hollow Oak Log", - "block.twilightforest.hollow_oak_log_horizontal": "Hollow Oak Log", - "block.twilightforest.hollow_oak_log_vertical": "Hollow Oak Log", + "block.twilightforest.hollow_acacia_log": "Hollow Acacia Log", + "block.twilightforest.hollow_birch_log": "Hollow Birch Log", + "block.twilightforest.hollow_canopy_log": "Hollow Canopy Tree Log", + "block.twilightforest.hollow_cherry_log": "Hollow Cherry Log", + "block.twilightforest.hollow_crimson_stem": "Hollow Crimson Stem", + "block.twilightforest.hollow_dark_log": "Hollow Darkwood Log", + "block.twilightforest.hollow_dark_oak_log": "Hollow Dark Oak Log", + "block.twilightforest.hollow_jungle_log": "Hollow Jungle Log", + "block.twilightforest.hollow_mangrove_log": "Hollow Mangrove Log", + "block.twilightforest.hollow_mining_log": "Hollow Minewood Log", + "block.twilightforest.hollow_oak_log": "Hollow Oak Log", "block.twilightforest.hollow_oak_sapling": "Robust Twilight Oak Sapling", - "block.twilightforest.hollow_pale_oak_log_climbable": "Hollow Pale Oak Log", - "block.twilightforest.hollow_pale_oak_log_horizontal": "Hollow Pale Oak Log", - "block.twilightforest.hollow_pale_oak_log_vertical": "Hollow Pale Oak Log", - "block.twilightforest.hollow_sorting_log_climbable": "Hollow Sortingwood Log", - "block.twilightforest.hollow_sorting_log_horizontal": "Hollow Sortingwood Log", - "block.twilightforest.hollow_sorting_log_vertical": "Hollow Sortingwood Log", - "block.twilightforest.hollow_spruce_log_climbable": "Hollow Spruce Log", - "block.twilightforest.hollow_spruce_log_horizontal": "Hollow Spruce Log", - "block.twilightforest.hollow_spruce_log_vertical": "Hollow Spruce Log", - "block.twilightforest.hollow_time_log_climbable": "Hollow Timewood Log", - "block.twilightforest.hollow_time_log_horizontal": "Hollow Timewood Log", - "block.twilightforest.hollow_time_log_vertical": "Hollow Timewood Log", - "block.twilightforest.hollow_transformation_log_climbable": "Hollow Transwood Log", - "block.twilightforest.hollow_transformation_log_horizontal": "Hollow Transwood Log", - "block.twilightforest.hollow_transformation_log_vertical": "Hollow Transwood Log", - "block.twilightforest.hollow_twilight_oak_log_climbable": "Hollow Twilight Oak Log", - "block.twilightforest.hollow_twilight_oak_log_horizontal": "Hollow Twilight Oak Log", - "block.twilightforest.hollow_twilight_oak_log_vertical": "Hollow Twilight Oak Log", - "block.twilightforest.hollow_vangrove_log_climbable": "Hollow Mangrove Log", - "block.twilightforest.hollow_vangrove_log_horizontal": "Hollow Mangrove Log", - "block.twilightforest.hollow_vangrove_log_vertical": "Hollow Mangrove Log", - "block.twilightforest.hollow_warped_stem_climbable": "Hollow Warped Stem", - "block.twilightforest.hollow_warped_stem_horizontal": "Hollow Warped Stem", - "block.twilightforest.hollow_warped_stem_vertical": "Hollow Warped Stem", + "block.twilightforest.hollow_pale_oak_log": "Hollow Pale Oak Log", + "block.twilightforest.hollow_sorting_log": "Hollow Sortingwood Log", + "block.twilightforest.hollow_spruce_log": "Hollow Spruce Log", + "block.twilightforest.hollow_time_log": "Hollow Timewood Log", + "block.twilightforest.hollow_transformation_log": "Hollow Transwood Log", + "block.twilightforest.hollow_twilight_oak_log": "Hollow Twilight Oak Log", + "block.twilightforest.hollow_vangrove_log": "Hollow Mangrove Log", + "block.twilightforest.hollow_warped_stem": "Hollow Warped Stem", "block.twilightforest.huge_lily_pad": "Huge Lily Pad", "block.twilightforest.huge_mushgloom": "Huge Mushgloom Block", "block.twilightforest.huge_mushgloom_stem": "Huge Mushgloom Stem", diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index d8ae9674da..80af2421c3 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -349,70 +349,70 @@ public class TFBlocks { public static final DeferredBlock MINING_LOG = registerWithItem("mining_log", RotatedPillarBlock::new, () -> MINING_LOG_PROPS); public static final DeferredBlock SORTING_LOG = registerWithItem("sorting_log", RotatedPillarBlock::new, () -> SORTING_LOG_PROPS); - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = register("hollow_twilight_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> TWILIGHT_OAK_BARK_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = register("hollow_canopy_log_horizontal", HorizontalHollowLogBlock::new, () -> CANOPY_BARK_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = register("hollow_mangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> MANGROVE_BARK_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = register("hollow_dark_log_horizontal", HorizontalHollowLogBlock::new, () -> DARK_BARK_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = register("hollow_time_log_horizontal", HorizontalHollowLogBlock::new, () -> TIME_BARK_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = register("hollow_transformation_log_horizontal", HorizontalHollowLogBlock::new, () -> TRANSFORMATION_BARK_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = register("hollow_mining_log_horizontal", HorizontalHollowLogBlock::new, () -> MINING_BARK_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = register("hollow_sorting_log_horizontal", HorizontalHollowLogBlock::new, () -> SORTING_BARK_PROPS); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = register("hollow_twilight_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = register("hollow_canopy_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> CANOPY_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = register("hollow_mangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = register("hollow_dark_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> DARK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = register("hollow_time_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> TIME_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = register("hollow_transformation_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = register("hollow_mining_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> MINING_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = register("hollow_sorting_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> SORTING_STRIPPED_PROPS); - - public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = register("hollow_twilight_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = register("hollow_canopy_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, properties), () -> CANOPY_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = register("hollow_mangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, properties), () -> MANGROVE_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = register("hollow_dark_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, properties), () -> DARK_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = register("hollow_time_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, properties), () -> TIME_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = register("hollow_transformation_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, properties), () -> TRANSFORMATION_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = register("hollow_mining_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, properties), () -> MINING_STRIPPED_PROPS); - public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = register("hollow_sorting_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, properties), () -> SORTING_STRIPPED_PROPS); - - public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = register("hollow_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = register("hollow_spruce_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = register("hollow_birch_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = register("hollow_jungle_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = register("hollow_acacia_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = register("hollow_dark_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = register("hollow_crimson_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = register("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE)); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = register("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = register("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD)); - public static final DeferredBlock HOLLOW_PALE_OAK_LOG_HORIZONTAL = register("hollow_pale_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PALE_OAK_WOOD)); - - public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = register("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = register("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = register("hollow_birch_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = register("hollow_jungle_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = register("hollow_acacia_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = register("hollow_dark_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = register("hollow_crimson_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = register("hollow_warped_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL = registerCustomID("hollow_twilight_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> TWILIGHT_OAK_BARK_PROPS, "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_CANOPY_LOG_HORIZONTAL = registerCustomID("hollow_canopy_log_horizontal", HorizontalHollowLogBlock::new, () -> CANOPY_BARK_PROPS, "hollow_canopy_log"); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_HORIZONTAL = registerCustomID("hollow_mangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> MANGROVE_BARK_PROPS, "hollow_mangrove_log"); + public static final DeferredBlock HOLLOW_DARK_LOG_HORIZONTAL = registerCustomID("hollow_dark_log_horizontal", HorizontalHollowLogBlock::new, () -> DARK_BARK_PROPS, "hollow_dark_log"); + public static final DeferredBlock HOLLOW_TIME_LOG_HORIZONTAL = registerCustomID("hollow_time_log_horizontal", HorizontalHollowLogBlock::new, () -> TIME_BARK_PROPS, "hollow_time_log"); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_HORIZONTAL = registerCustomID("hollow_transformation_log_horizontal", HorizontalHollowLogBlock::new, () -> TRANSFORMATION_BARK_PROPS, "hollow_transformation_log"); + public static final DeferredBlock HOLLOW_MINING_LOG_HORIZONTAL = registerCustomID("hollow_mining_log_horizontal", HorizontalHollowLogBlock::new, () -> MINING_BARK_PROPS, "hollow_mining_log"); + public static final DeferredBlock HOLLOW_SORTING_LOG_HORIZONTAL = registerCustomID("hollow_sorting_log_horizontal", HorizontalHollowLogBlock::new, () -> SORTING_BARK_PROPS, "hollow_sorting_log"); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_VERTICAL = registerCustomID("hollow_twilight_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS, "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_CANOPY_LOG_VERTICAL = registerCustomID("hollow_canopy_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> CANOPY_STRIPPED_PROPS, "hollow_canopy_log"); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_VERTICAL = registerCustomID("hollow_mangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> MANGROVE_STRIPPED_PROPS, "hollow_mangrove_log"); + public static final DeferredBlock HOLLOW_DARK_LOG_VERTICAL = registerCustomID("hollow_dark_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> DARK_STRIPPED_PROPS, "hollow_dark_log"); + public static final DeferredBlock HOLLOW_TIME_LOG_VERTICAL = registerCustomID("hollow_time_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> TIME_STRIPPED_PROPS, "hollow_time_log"); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_VERTICAL = registerCustomID("hollow_transformation_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> TRANSFORMATION_STRIPPED_PROPS, "hollow_transformation_log"); + public static final DeferredBlock HOLLOW_MINING_LOG_VERTICAL = registerCustomID("hollow_mining_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> MINING_STRIPPED_PROPS, "hollow_mining_log"); + public static final DeferredBlock HOLLOW_SORTING_LOG_VERTICAL = registerCustomID("hollow_sorting_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> SORTING_STRIPPED_PROPS, "hollow_sorting_log"); + + public static final DeferredBlock HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE = registerCustomID("hollow_twilight_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, properties), () -> TWILIGHT_OAK_STRIPPED_PROPS, "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_CANOPY_LOG_CLIMBABLE = registerCustomID("hollow_canopy_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, properties), () -> CANOPY_STRIPPED_PROPS, "hollow_canopy_log"); + public static final DeferredBlock HOLLOW_MANGROVE_LOG_CLIMBABLE = registerCustomID("hollow_mangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, properties), () -> MANGROVE_STRIPPED_PROPS, "hollow_mangrove_log"); + public static final DeferredBlock HOLLOW_DARK_LOG_CLIMBABLE = registerCustomID("hollow_dark_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_LOG_VERTICAL, properties), () -> DARK_STRIPPED_PROPS, "hollow_dark_log"); + public static final DeferredBlock HOLLOW_TIME_LOG_CLIMBABLE = registerCustomID("hollow_time_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TIME_LOG_VERTICAL, properties), () -> TIME_STRIPPED_PROPS, "hollow_time_log"); + public static final DeferredBlock HOLLOW_TRANSFORMATION_LOG_CLIMBABLE = registerCustomID("hollow_transformation_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, properties), () -> TRANSFORMATION_STRIPPED_PROPS, "hollow_transformation_log"); + public static final DeferredBlock HOLLOW_MINING_LOG_CLIMBABLE = registerCustomID("hollow_mining_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_MINING_LOG_VERTICAL, properties), () -> MINING_STRIPPED_PROPS, "hollow_mining_log"); + public static final DeferredBlock HOLLOW_SORTING_LOG_CLIMBABLE = registerCustomID("hollow_sorting_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, properties), () -> SORTING_STRIPPED_PROPS, "hollow_sorting_log"); + + public static final DeferredBlock HOLLOW_OAK_LOG_HORIZONTAL = registerCustomID("hollow_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WOOD), "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_HORIZONTAL = registerCustomID("hollow_spruce_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_WOOD), "hollow_spruce_log"); + public static final DeferredBlock HOLLOW_BIRCH_LOG_HORIZONTAL = registerCustomID("hollow_birch_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_WOOD), "hollow_birch_log"); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_HORIZONTAL = registerCustomID("hollow_jungle_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_WOOD), "hollow_jungle_log"); + public static final DeferredBlock HOLLOW_ACACIA_LOG_HORIZONTAL = registerCustomID("hollow_acacia_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_WOOD), "hollow_acacia_log"); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_HORIZONTAL = registerCustomID("hollow_dark_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_WOOD), "hollow_dark_oak_log"); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_HORIZONTAL = registerCustomID("hollow_crimson_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_HYPHAE), "hollow_crimson_stem"); + public static final DeferredBlock HOLLOW_WARPED_STEM_HORIZONTAL = registerCustomID("hollow_warped_stem_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_HYPHAE), "hollow_warped_stem"); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_HORIZONTAL = registerCustomID("hollow_vangrove_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_WOOD), "hollow_vangrove_log"); + public static final DeferredBlock HOLLOW_CHERRY_LOG_HORIZONTAL = registerCustomID("hollow_cherry_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_WOOD), "hollow_cherry_log"); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_HORIZONTAL = registerCustomID("hollow_pale_oak_log_horizontal", HorizontalHollowLogBlock::new, () -> BlockBehaviour.Properties.ofFullCopy(Blocks.PALE_OAK_WOOD), "hollow_pale_oak_log"); + + public static final DeferredBlock HOLLOW_OAK_LOG_VERTICAL = registerCustomID("hollow_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD), "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_VERTICAL = registerCustomID("hollow_spruce_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD), "hollow_spruce_log"); + public static final DeferredBlock HOLLOW_BIRCH_LOG_VERTICAL = registerCustomID("hollow_birch_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD), "hollow_birch_log"); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_VERTICAL = registerCustomID("hollow_jungle_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD), "hollow_jungle_log"); + public static final DeferredBlock HOLLOW_ACACIA_LOG_VERTICAL = registerCustomID("hollow_acacia_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD), "hollow_acacia_log"); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_VERTICAL = registerCustomID("hollow_dark_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD), "hollow_dark_oak_log"); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_VERTICAL = registerCustomID("hollow_crimson_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE), "hollow_crimson_stem"); + public static final DeferredBlock HOLLOW_WARPED_STEM_VERTICAL = registerCustomID("hollow_warped_stem_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE), "hollow_warped_stem"); // wanna see a funny crash? Use () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_MANGROVE_WOOD) instead of the BlockBehaviour.Properties.of(...) // I still legit have no idea why it happens but it does - public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = register("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = register("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); - public static final DeferredBlock HOLLOW_PALE_OAK_LOG_VERTICAL = register("hollow_pale_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD)); - - public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = register("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD)); - public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = register("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD)); - public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = register("hollow_birch_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD)); - public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = register("hollow_jungle_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD)); - public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = register("hollow_acacia_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD)); - public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = register("hollow_dark_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD)); - public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = register("hollow_crimson_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE)); - public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = register("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE)); - public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = register("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD)); - public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = register("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD)); - public static final DeferredBlock HOLLOW_PALE_OAK_LOG_CLIMBABLE = register("hollow_pale_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD)); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_VERTICAL = registerCustomID("hollow_vangrove_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD), "hollow_vangrove_log"); + public static final DeferredBlock HOLLOW_CHERRY_LOG_VERTICAL = registerCustomID("hollow_cherry_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD), "hollow_cherry_log"); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_VERTICAL = registerCustomID("hollow_pale_oak_log_vertical", properties -> new VerticalHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD), "hollow_pale_oak_log"); + + public static final DeferredBlock HOLLOW_OAK_LOG_CLIMBABLE = registerCustomID("hollow_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_OAK_WOOD), "hollow_twilight_oak_log"); + public static final DeferredBlock HOLLOW_SPRUCE_LOG_CLIMBABLE = registerCustomID("hollow_spruce_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_SPRUCE_WOOD), "hollow_spruce_log"); + public static final DeferredBlock HOLLOW_BIRCH_LOG_CLIMBABLE = registerCustomID("hollow_birch_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_BIRCH_WOOD), "hollow_birch_log"); + public static final DeferredBlock HOLLOW_JUNGLE_LOG_CLIMBABLE = registerCustomID("hollow_jungle_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_JUNGLE_WOOD), "hollow_jungle_log"); + public static final DeferredBlock HOLLOW_ACACIA_LOG_CLIMBABLE = registerCustomID("hollow_acacia_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_ACACIA_WOOD), "hollow_acacia_log"); + public static final DeferredBlock HOLLOW_DARK_OAK_LOG_CLIMBABLE = registerCustomID("hollow_dark_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_DARK_OAK_WOOD), "hollow_dark_oak_log"); + public static final DeferredBlock HOLLOW_CRIMSON_STEM_CLIMBABLE = registerCustomID("hollow_crimson_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CRIMSON_HYPHAE), "hollow_crimson_stem"); + public static final DeferredBlock HOLLOW_WARPED_STEM_CLIMBABLE = registerCustomID("hollow_warped_stem_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_WARPED_HYPHAE), "hollow_warped_stem"); + public static final DeferredBlock HOLLOW_VANGROVE_LOG_CLIMBABLE = registerCustomID("hollow_vangrove_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_RED).strength(2.0F).sound(SoundType.WOOD), "hollow_vangrove_log"); + public static final DeferredBlock HOLLOW_CHERRY_LOG_CLIMBABLE = registerCustomID("hollow_cherry_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_CHERRY_WOOD), "hollow_cherry_log"); + public static final DeferredBlock HOLLOW_PALE_OAK_LOG_CLIMBABLE = registerCustomID("hollow_pale_oak_log_climbable", properties -> new ClimbableHollowLogBlock(TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, properties), () -> BlockBehaviour.Properties.ofFullCopy(Blocks.STRIPPED_PALE_OAK_WOOD), "hollow_pale_oak_log"); public static final DeferredBlock STRIPPED_TWILIGHT_OAK_LOG = registerWithItem("stripped_twilight_oak_log", RotatedPillarBlock::new, () -> TWILIGHT_OAK_STRIPPED_PROPS); public static final DeferredBlock STRIPPED_CANOPY_LOG = registerWithItem("stripped_canopy_log", RotatedPillarBlock::new, () -> CANOPY_STRIPPED_PROPS); @@ -631,27 +631,31 @@ public static DeferredBlock register(String name, Function< return BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); } + public static DeferredBlock registerCustomID(String name, Function block, Supplier properties, String id) { + return BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))).overrideDescription("block.twilightforest." + id))); + } + public static DeferredBlock registerWithItem(String name, Function block, Supplier properties) { DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties()); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties().useBlockDescriptionPrefix()); return ret; } public static DeferredBlock registerFireResistantItem(String name, Function block, Supplier properties) { DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); + TFItems.register(name, itemProps -> new BlockItem(ret.get(), itemProps), () -> new Item.Properties().useBlockDescriptionPrefix().fireResistant().rarity(Rarity.UNCOMMON)); return ret; } public static DeferredBlock registerDoubleBlockItem(String name, Function block, Supplier properties) { DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new DoubleHighBlockItem(ret.get(), itemProps), () -> new Item.Properties()); + TFItems.register(name, itemProps -> new DoubleHighBlockItem(ret.get(), itemProps), () -> new Item.Properties().useBlockDescriptionPrefix()); return ret; } public static DeferredBlock registerWroughtFence(String name, Function block, Supplier properties) { DeferredBlock ret = BLOCKS.register(name, () -> block.apply(properties.get().setId(ResourceKey.create(Registries.BLOCK, TwilightForestMod.prefix(name))))); - TFItems.register(name, itemProps -> new WroughtIronFenceItem(ret.get(), itemProps), () -> new Item.Properties()); + TFItems.register(name, itemProps -> new WroughtIronFenceItem(ret.get(), itemProps), () -> new Item.Properties().useBlockDescriptionPrefix()); return ret; } diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index e01391ce61..b0dacf2ebf 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -41,7 +41,7 @@ public class TFItems { public static final DeferredItem ZOMBIE_SCEPTER = register("zombie_scepter", ZombieWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); public static final DeferredItem FORTIFICATION_SCEPTER = register("fortification_scepter", FortificationWandItem::new, () -> new Item.Properties().durability(9).rarity(Rarity.UNCOMMON)); public static final DeferredItem EXANIMATE_ESSENCE = register("exanimate_essence", ExanimateEssenceItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(16)); - public static final DeferredItem WROUGHT_IRON_BAR =register("wrought_iron_bar", Item::new, Item.Properties::new); + public static final DeferredItem WROUGHT_IRON_BAR = register("wrought_iron_bar", Item::new, Item.Properties::new); //items.register("Wand of Pacification [NYI]", new Item().setIconIndex(6).setTranslationKey("wandPacification").setMaxStackSize(1)); public static final DeferredItem MAGIC_PAINTING = register("magic_painting", MagicPaintingItem::new, Item.Properties::new); public static final DeferredItem ORE_METER = register("ore_meter", OreMeterItem::new, () -> new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)); @@ -111,11 +111,11 @@ public class TFItems { public static final DeferredItem TOWER_KEY = register("tower_key", Item::new, () -> new Item.Properties().fireResistant().rarity(Rarity.UNCOMMON)); public static final DeferredItem BORER_ESSENCE = register("borer_essence", Item::new, Item.Properties::new); public static final DeferredItem CARMINITE = register("carminite", Item::new, Item.Properties::new); - public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), () -> new Item.Properties().food(TFFoods.EXPERIMENT_115)); - public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), Item.Properties::new); - public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), Item.Properties::new); - public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), Item.Properties::new); - public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), Item.Properties::new); + public static final DeferredItem EXPERIMENT_115 = register("experiment_115", properties -> new Experiment115Item(TFBlocks.EXPERIMENT_115.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().food(TFFoods.EXPERIMENT_115)); + public static final DeferredItem ROPE = register("rope", properties -> new RopeItem(TFBlocks.ROPE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem MASON_JAR = register("mason_jar", properties -> new JarItem.MasonJarItem(TFBlocks.MASON_JAR.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem FIREFLY_JAR = register("firefly_jar", properties -> new JarItem(TFBlocks.FIREFLY_JAR.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem CICADA_JAR = register("cicada_jar", properties -> new JarItem(TFBlocks.CICADA_JAR.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); public static final DeferredItem ARMOR_SHARD = register("armor_shard", Item::new, Item.Properties::new); public static final DeferredItem ARMOR_SHARD_CLUSTER = register("armor_shard_cluster", Item::new, Item.Properties::new); public static final DeferredItem KNIGHTMETAL_INGOT = register("knightmetal_ingot", Item::new, Item.Properties::new); @@ -159,12 +159,12 @@ public class TFItems { public static final DeferredItem EMPERORS_CLOTH = register("emperors_cloth", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem FOUR_LEAF_CLOVER = register("four_leaf_clover", Item::new, Item.Properties::new); public static final DeferredItem CROWN_SPLINTER = register("crown_splinter", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build())); + public static final DeferredItem MYSTIC_CROWN = register("mystic_crown", Item::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON).stacksTo(1).attributes(ItemAttributeModifiers.builder().add(Attributes.ARMOR, new AttributeModifier(ResourceLocation.withDefaultNamespace("armor." + EquipmentSlot.HEAD.getName()), 2.0F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD).build()).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem KEEPSAKE_CASKET = register("keepsake_casket", KeepsakeCasketItem::new, () -> new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), Item.Properties::new); - public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), Item.Properties::new); - public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), Item.Properties::new); + public static final DeferredItem KEEPSAKE_CASKET = register("keepsake_casket", KeepsakeCasketItem::new, () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON)); + public static final DeferredItem HUGE_LILY_PAD = register("huge_lily_pad", properties -> new HugeLilyPadItem(TFBlocks.HUGE_LILY_PAD.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); @@ -173,53 +173,53 @@ public class TFItems { public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), () -> new Item.Properties().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem MINOSHROOM_TROPHY = register("minoshroom_trophy", properties -> new TrophyItem(TFBlocks.MINOSHROOM_TROPHY.get(), TFBlocks.MINOSHROOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem HYDRA_TROPHY = register("hydra_trophy", properties -> new TrophyItem(TFBlocks.HYDRA_TROPHY.get(), TFBlocks.HYDRA_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem KNIGHT_PHANTOM_TROPHY = register("knight_phantom_trophy", properties -> new TrophyItem(TFBlocks.KNIGHT_PHANTOM_TROPHY.get(), TFBlocks.KNIGHT_PHANTOM_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem UR_GHAST_TROPHY = register("ur_ghast_trophy", properties -> new TrophyItem(TFBlocks.UR_GHAST_TROPHY.get(), TFBlocks.UR_GHAST_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem ALPHA_YETI_TROPHY = register("alpha_yeti_trophy", properties -> new TrophyItem(TFBlocks.ALPHA_YETI_TROPHY.get(), TFBlocks.ALPHA_YETI_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SNOW_QUEEN_TROPHY = register("snow_queen_trophy", properties -> new TrophyItem(TFBlocks.SNOW_QUEEN_TROPHY.get(), TFBlocks.SNOW_QUEEN_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem QUEST_RAM_TROPHY = register("quest_ram_trophy", properties -> new TrophyItem(TFBlocks.QUEST_RAM_TROPHY.get(), TFBlocks.QUEST_RAM_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_TWILIGHT_OAK_LOG = register("hollow_twilight_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_CANOPY_LOG = register("hollow_canopy_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL, TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_MANGROVE_LOG = register("hollow_mangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_DARK_LOG = register("hollow_dark_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_TIME_LOG = register("hollow_time_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL, TFBlocks.HOLLOW_TIME_LOG_VERTICAL, TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_TRANSFORMATION_LOG = register("hollow_transformation_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL, TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_MINING_LOG = register("hollow_mining_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL, TFBlocks.HOLLOW_MINING_LOG_VERTICAL, TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_SORTING_LOG = register("hollow_sorting_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL, TFBlocks.HOLLOW_SORTING_LOG_VERTICAL, TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); - public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), Item.Properties::new); - public static final DeferredItem HOLLOW_PALE_OAK_LOG = register("hollow_pale_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), Item.Properties::new); + public static final DeferredItem HOLLOW_OAK_LOG = register("hollow_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_SPRUCE_LOG = register("hollow_spruce_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_SPRUCE_LOG_HORIZONTAL, TFBlocks.HOLLOW_SPRUCE_LOG_VERTICAL, TFBlocks.HOLLOW_SPRUCE_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_BIRCH_LOG = register("hollow_birch_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_BIRCH_LOG_HORIZONTAL, TFBlocks.HOLLOW_BIRCH_LOG_VERTICAL, TFBlocks.HOLLOW_BIRCH_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_JUNGLE_LOG = register("hollow_jungle_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_JUNGLE_LOG_HORIZONTAL, TFBlocks.HOLLOW_JUNGLE_LOG_VERTICAL, TFBlocks.HOLLOW_JUNGLE_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_ACACIA_LOG = register("hollow_acacia_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_ACACIA_LOG_HORIZONTAL, TFBlocks.HOLLOW_ACACIA_LOG_VERTICAL, TFBlocks.HOLLOW_ACACIA_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_DARK_OAK_LOG = register("hollow_dark_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_DARK_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_DARK_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_DARK_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_CRIMSON_STEM = register("hollow_crimson_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_CRIMSON_STEM_HORIZONTAL, TFBlocks.HOLLOW_CRIMSON_STEM_VERTICAL, TFBlocks.HOLLOW_CRIMSON_STEM_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_WARPED_STEM = register("hollow_warped_stem", properties -> new HollowLogItem(TFBlocks.HOLLOW_WARPED_STEM_HORIZONTAL, TFBlocks.HOLLOW_WARPED_STEM_VERTICAL, TFBlocks.HOLLOW_WARPED_STEM_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_VANGROVE_LOG = register("hollow_vangrove_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_VANGROVE_LOG_HORIZONTAL, TFBlocks.HOLLOW_VANGROVE_LOG_VERTICAL, TFBlocks.HOLLOW_VANGROVE_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_CHERRY_LOG = register("hollow_cherry_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_CHERRY_LOG_HORIZONTAL, TFBlocks.HOLLOW_CHERRY_LOG_VERTICAL, TFBlocks.HOLLOW_CHERRY_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); + public static final DeferredItem HOLLOW_PALE_OAK_LOG = register("hollow_pale_oak_log", properties -> new HollowLogItem(TFBlocks.HOLLOW_PALE_OAK_LOG_HORIZONTAL, TFBlocks.HOLLOW_PALE_OAK_LOG_VERTICAL, TFBlocks.HOLLOW_PALE_OAK_LOG_CLIMBABLE, properties), () -> new Item.Properties().useBlockDescriptionPrefix()); - public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem CANOPY_SIGN = register("canopy_sign", properties -> new SignItem(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem MANGROVE_SIGN = register("mangrove_sign", properties -> new SignItem(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem DARK_SIGN = register("dark_sign", properties -> new SignItem(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TIME_SIGN = register("time_sign", properties -> new SignItem(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TRANSFORMATION_SIGN = register("transformation_sign", properties -> new SignItem(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem MINING_SIGN = register("mining_sign", properties -> new SignItem(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem SORTING_SIGN = register("sorting_sign", properties -> new SignItem(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); - public static final DeferredItem SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().stacksTo(16)); + public static final DeferredItem TWILIGHT_OAK_SIGN = register("twilight_oak_sign", properties -> new SignItem(TFBlocks.TWILIGHT_OAK_SIGN.get(), TFBlocks.TWILIGHT_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem TWILIGHT_OAK_HANGING_SIGN = register("twilight_oak_hanging_sign", properties -> new HangingSignItem(TFBlocks.TWILIGHT_OAK_HANGING_SIGN.get(), TFBlocks.TWILIGHT_OAK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem CANOPY_SIGN = register("canopy_sign", properties -> new SignItem(TFBlocks.CANOPY_SIGN.get(), TFBlocks.CANOPY_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem CANOPY_HANGING_SIGN = register("canopy_hanging_sign", properties -> new HangingSignItem(TFBlocks.CANOPY_HANGING_SIGN.get(), TFBlocks.CANOPY_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem MANGROVE_SIGN = register("mangrove_sign", properties -> new SignItem(TFBlocks.MANGROVE_SIGN.get(), TFBlocks.MANGROVE_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem MANGROVE_HANGING_SIGN = register("mangrove_hanging_sign", properties -> new HangingSignItem(TFBlocks.MANGROVE_HANGING_SIGN.get(), TFBlocks.MANGROVE_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem DARK_SIGN = register("dark_sign", properties -> new SignItem(TFBlocks.DARK_SIGN.get(), TFBlocks.DARK_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem DARK_HANGING_SIGN = register("dark_hanging_sign", properties -> new HangingSignItem(TFBlocks.DARK_HANGING_SIGN.get(), TFBlocks.DARK_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem TIME_SIGN = register("time_sign", properties -> new SignItem(TFBlocks.TIME_SIGN.get(), TFBlocks.TIME_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem TIME_HANGING_SIGN = register("time_hanging_sign", properties -> new HangingSignItem(TFBlocks.TIME_HANGING_SIGN.get(), TFBlocks.TIME_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_SIGN = register("transformation_sign", properties -> new SignItem(TFBlocks.TRANSFORMATION_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem TRANSFORMATION_HANGING_SIGN = register("transformation_hanging_sign", properties -> new HangingSignItem(TFBlocks.TRANSFORMATION_HANGING_SIGN.get(), TFBlocks.TRANSFORMATION_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem MINING_SIGN = register("mining_sign", properties -> new SignItem(TFBlocks.MINING_SIGN.get(), TFBlocks.MINING_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem MINING_HANGING_SIGN = register("mining_hanging_sign", properties -> new HangingSignItem(TFBlocks.MINING_HANGING_SIGN.get(), TFBlocks.MINING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem SORTING_SIGN = register("sorting_sign", properties -> new SignItem(TFBlocks.SORTING_SIGN.get(), TFBlocks.SORTING_WALL_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); + public static final DeferredItem SORTING_HANGING_SIGN = register("sorting_hanging_sign", properties -> new HangingSignItem(TFBlocks.SORTING_HANGING_SIGN.get(), TFBlocks.SORTING_WALL_HANGING_SIGN.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().stacksTo(16)); public static final DeferredItem TWILIGHT_OAK_BOAT = register("twilight_oak_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); public static final DeferredItem TWILIGHT_OAK_CHEST_BOAT = register("twilight_oak_chest_boat", properties -> new BoatItem(TFEntities.TWILIGHT_OAK_CHEST_BOAT.get(), properties), () -> new Item.Properties().stacksTo(1)); From 3b5932363ef4b05744bb122ec2b965accf674189 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 12:03:45 -0600 Subject: [PATCH 136/239] fix projectile weapons --- .../dispenser/CrumbleDispenseBehavior.java | 3 +- .../DamageableStackDispenseBehavior.java | 2 +- .../entity/ai/goal/YetiRampageGoal.java | 2 +- .../twilightforest/entity/boss/AlphaYeti.java | 12 +- .../entity/projectile/CubeOfAnnihilation.java | 3 + .../entity/projectile/FallingIce.java | 7 +- .../entity/projectile/IceBomb.java | 6 +- .../entity/projectile/MoonwormShot.java | 6 +- .../entity/projectile/TwilightWandBolt.java | 2 +- .../twilightforest/item/CrumbleHornItem.java | 5 +- .../item/CubeOfAnnihilationItem.java | 8 +- .../item/FortificationWandItem.java | 12 +- .../java/twilightforest/item/IceBombItem.java | 3 +- .../item/LampOfCindersItem.java | 16 ++- .../item/LifedrainScepterItem.java | 6 +- .../item/MoonwormQueenItem.java | 107 +++++++----------- .../twilightforest/item/TwilightWandItem.java | 13 ++- .../twilightforest/item/ZombieWandItem.java | 8 +- .../twilightforest/util/TFItemStackUtils.java | 14 ++- .../resources/META-INF/accesstransformer.cfg | 4 +- 20 files changed, 112 insertions(+), 127 deletions(-) diff --git a/src/main/java/twilightforest/dispenser/CrumbleDispenseBehavior.java b/src/main/java/twilightforest/dispenser/CrumbleDispenseBehavior.java index 25e07dab2e..a4c60fd862 100644 --- a/src/main/java/twilightforest/dispenser/CrumbleDispenseBehavior.java +++ b/src/main/java/twilightforest/dispenser/CrumbleDispenseBehavior.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.LevelEvent; import net.minecraft.world.level.block.state.BlockState; import twilightforest.init.TFDataMaps; +import twilightforest.util.TFItemStackUtils; public class CrumbleDispenseBehavior extends DefaultDispenseItemBehavior { @@ -24,7 +25,7 @@ protected ItemStack execute(BlockSource source, ItemStack stack) { ServerLevel level = source.level(); BlockPos pos = source.pos().relative(source.state().getValue(DispenserBlock.FACING)); BlockState state = level.getBlockState(pos); - if (!(stack.getMaxDamage() == stack.getDamageValue() + 1)) { + if (!TFItemStackUtils.isAtZeroDurability(stack)) { var resultBlock = state.getBlock().builtInRegistryHolder().getData(TFDataMaps.CRUMBLE_HORN); if (resultBlock != null) { if (resultBlock.result() == Blocks.AIR) { diff --git a/src/main/java/twilightforest/dispenser/DamageableStackDispenseBehavior.java b/src/main/java/twilightforest/dispenser/DamageableStackDispenseBehavior.java index ef43614924..dada287c21 100644 --- a/src/main/java/twilightforest/dispenser/DamageableStackDispenseBehavior.java +++ b/src/main/java/twilightforest/dispenser/DamageableStackDispenseBehavior.java @@ -28,7 +28,7 @@ public ItemStack execute(BlockSource source, ItemStack stack) { Projectile projectileentity = this.getProjectileEntity(level, pos, stack); projectileentity.shoot(direction.getStepX(), (float) direction.getStepY() + 0.1F, direction.getStepZ(), this.getProjectileVelocity(), this.getProjectileInaccuracy()); level.addFreshEntity(projectileentity); - TFItemStackUtils.hurtButDontBreak(stack, 1, level, null); + TFItemStackUtils.hurtWithoutBreaking(stack, 1, null); this.fired = true; } return stack; diff --git a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java index d8a362e6d8..c413d1269e 100644 --- a/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java +++ b/src/main/java/twilightforest/entity/ai/goal/YetiRampageGoal.java @@ -90,7 +90,7 @@ public void tick() { } if (this.currentDuration % 20 == 0) { - IceBomb ice = new IceBomb(TFEntities.THROWN_ICE.get(), this.yeti.level(), this.yeti); + IceBomb ice = new IceBomb(this.yeti.level(), this.yeti); Vec3 vec = new Vec3(0.5F + this.yeti.getRandom().nextFloat() * 0.5F, 0.5F + this.yeti.getRandom().nextFloat() * 0.3F, 0).yRot(this.yeti.getRandom().nextFloat() * 360F); ice.shoot(vec.x(), vec.y(), vec.z(), 0.4F + yeti.getRandom().nextFloat() * 0.3F, 0); this.yeti.playSound(TFSounds.ALPHA_YETI_ICE.get(), 1.0F, 1.0F / (this.yeti.getRandom().nextFloat() * 0.4F + 0.8F)); diff --git a/src/main/java/twilightforest/entity/boss/AlphaYeti.java b/src/main/java/twilightforest/entity/boss/AlphaYeti.java index 84db048b71..71c1ac800e 100644 --- a/src/main/java/twilightforest/entity/boss/AlphaYeti.java +++ b/src/main/java/twilightforest/entity/boss/AlphaYeti.java @@ -259,7 +259,7 @@ private void makeBlockFall(BlockPos pos, int hangTime) { @Override public void performRangedAttack(LivingEntity target, float distanceFactor) { if (!this.canRampage()) { - IceBomb ice = new IceBomb(TFEntities.THROWN_ICE.get(), this.level(), this); + IceBomb ice = new IceBomb(this.level(), this); // [VanillaCopy] Part of Skeleton.performRangedAttack double d0 = target.getX() - this.getX(); @@ -297,17 +297,17 @@ public boolean isTired() { @Override public boolean causeFallDamage(float distance, float multiplier, DamageSource source) { - if (!this.level().isClientSide() && this.isRampaging()) { + if (this.level() instanceof ServerLevel level && this.isRampaging()) { this.playSound(TFSounds.ALPHA_YETI_ICE.get(), 1.0F, 1.0F / (this.getRandom().nextFloat() * 0.4F + 0.8F)); - this.hitNearbyEntities(); + this.hitNearbyEntities(level); } return super.causeFallDamage(distance, multiplier, source); } - private void hitNearbyEntities() { - for (LivingEntity entity : this.level().getEntitiesOfClass(LivingEntity.class, this.getBoundingBox().inflate(5.0D, 0.0D, 5.0D))) { - if (entity != this && entity.hurtOrSimulate(this.damageSources().mobAttack(this), 5.0F)) { + private void hitNearbyEntities(ServerLevel level) { + for (LivingEntity entity : level.getEntitiesOfClass(LivingEntity.class, this.getBoundingBox().inflate(5.0D, 0.0D, 5.0D))) { + if (entity != this && entity.hurtServer(level, this.damageSources().mobAttack(this), 5.0F)) { entity.push(0.0D, 0.4D, 0.0D); } } diff --git a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java index b7d9612e92..f9479b347d 100644 --- a/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java +++ b/src/main/java/twilightforest/entity/projectile/CubeOfAnnihilation.java @@ -22,6 +22,7 @@ import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.level.BlockEvent; import net.neoforged.neoforge.network.PacketDistributor; +import org.jetbrains.annotations.Nullable; import twilightforest.tags.TFBlockTags; import twilightforest.init.TFItems; import twilightforest.init.TFParticleType; @@ -32,6 +33,7 @@ public class CubeOfAnnihilation extends ThrowableProjectile { private boolean hasHitObstacle = false; + @Nullable private ItemStack stack; public CubeOfAnnihilation(EntityType type, Level level) { @@ -42,6 +44,7 @@ public CubeOfAnnihilation(EntityType type, Level l super(type, level); this.setOwner(thrower); this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0.0F, 1.5F, 1.0F); + this.setPos(thrower.getEyePosition()); this.stack = stack; } diff --git a/src/main/java/twilightforest/entity/projectile/FallingIce.java b/src/main/java/twilightforest/entity/projectile/FallingIce.java index 1d19f7a5df..e747bea108 100644 --- a/src/main/java/twilightforest/entity/projectile/FallingIce.java +++ b/src/main/java/twilightforest/entity/projectile/FallingIce.java @@ -27,10 +27,7 @@ import net.minecraft.world.item.context.DirectionalPlaceContext; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.ConcretePowderBlock; -import net.minecraft.world.level.block.FallingBlock; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -214,7 +211,7 @@ public boolean causeFallDamage(float dist, float multiplier, DamageSource source this.level().addParticle(new BlockParticleOption(ParticleTypes.BLOCK, this.blockState), dx, dy, dz, 0, 0, 0); } - this.playSound(Blocks.PACKED_ICE.defaultBlockState().getSoundType().getBreakSound(), 3.0F, 0.5F); + this.playSound(SoundType.GLASS.getBreakSound(), 3.0F, 0.5F); return false; } diff --git a/src/main/java/twilightforest/entity/projectile/IceBomb.java b/src/main/java/twilightforest/entity/projectile/IceBomb.java index fd3a8f31ed..ed6c02ea6c 100644 --- a/src/main/java/twilightforest/entity/projectile/IceBomb.java +++ b/src/main/java/twilightforest/entity/projectile/IceBomb.java @@ -9,6 +9,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -35,8 +36,9 @@ public IceBomb(EntityType type, Level level) { super(type, level); } - public IceBomb(EntityType type, Level level, LivingEntity thrower) { - super(type, level, thrower); + public IceBomb(Level level, LivingEntity thrower) { + super(TFEntities.THROWN_ICE.get(), level, thrower); + this.setPos(thrower.getEyePosition()); } public IceBomb(Level level, Position pos) { diff --git a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java index 9c8a4c8317..669922d36b 100644 --- a/src/main/java/twilightforest/entity/projectile/MoonwormShot.java +++ b/src/main/java/twilightforest/entity/projectile/MoonwormShot.java @@ -39,9 +39,9 @@ public MoonwormShot(EntityType type, Level level) { super(type, level); } - public MoonwormShot(EntityType type, Level level, LivingEntity thrower) { - super(type, level, thrower); - this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0F, 1.5F, 1.0F); + public MoonwormShot(Level level, LivingEntity thrower) { + super(TFEntities.MOONWORM_SHOT.get(), level, thrower); + this.setPos(thrower.getEyePosition()); } public MoonwormShot(Level level, double x, double y, double z) { diff --git a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java index 49d32ba264..f5c6f80016 100644 --- a/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java +++ b/src/main/java/twilightforest/entity/projectile/TwilightWandBolt.java @@ -28,7 +28,7 @@ public TwilightWandBolt(EntityType type, Level world public TwilightWandBolt(Level world, LivingEntity thrower) { super(TFEntities.WAND_BOLT.get(), world, thrower); - this.shootFromRotation(thrower, thrower.getXRot(), thrower.getYRot(), 0, 1.5F, 1.0F); + this.setPos(thrower.getEyePosition()); } public TwilightWandBolt(Level worldIn, double x, double y, double z) { diff --git a/src/main/java/twilightforest/item/CrumbleHornItem.java b/src/main/java/twilightforest/item/CrumbleHornItem.java index 07105fd68a..702bbdd95e 100644 --- a/src/main/java/twilightforest/item/CrumbleHornItem.java +++ b/src/main/java/twilightforest/item/CrumbleHornItem.java @@ -24,6 +24,7 @@ import twilightforest.init.TFDataMaps; import twilightforest.init.TFSounds; import twilightforest.init.TFStats; +import twilightforest.util.TFItemStackUtils; import twilightforest.util.WorldUtil; public class CrumbleHornItem extends Item { @@ -85,9 +86,9 @@ private void crumbleBlocksInAABB(ServerLevel serverLevel, LivingEntity living, A if (this.crumbleBlock(serverLevel, living, pos)) { if (living instanceof ServerPlayer player) { player.awardStat(TFStats.BLOCKS_CRUMBLED.get()); + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); } - stack.hurtAndBreak(1, living, LivingEntity.getSlotForHand(living.getUsedItemHand())); - if (stack.getDamageValue() >= stack.getMaxDamage()) break; + if (TFItemStackUtils.isAtZeroDurability(stack)) break; } } } diff --git a/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java b/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java index 795d0204ac..8ebf99d385 100644 --- a/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java +++ b/src/main/java/twilightforest/item/CubeOfAnnihilationItem.java @@ -6,6 +6,7 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemUseAnimation; @@ -37,10 +38,9 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { if (stack.get(TFDataComponents.THROWN_PROJECTILE) != null) return InteractionResult.PASS; - if (!level.isClientSide()) { - CubeOfAnnihilation launchedCube = new CubeOfAnnihilation(TFEntities.CUBE_OF_ANNIHILATION.get(), level, player, stack); - level.addFreshEntity(launchedCube); - stack.set(TFDataComponents.THROWN_PROJECTILE, launchedCube.getUUID()); + if (level instanceof ServerLevel serverLevel) { + Projectile.spawnProjectile(new CubeOfAnnihilation(TFEntities.CUBE_OF_ANNIHILATION.get(), serverLevel, player, stack), serverLevel, stack, cube -> + stack.set(TFDataComponents.THROWN_PROJECTILE, cube.getUUID())); } player.startUsingItem(hand); diff --git a/src/main/java/twilightforest/item/FortificationWandItem.java b/src/main/java/twilightforest/item/FortificationWandItem.java index fa522d217c..0f13dcbcc6 100644 --- a/src/main/java/twilightforest/item/FortificationWandItem.java +++ b/src/main/java/twilightforest/item/FortificationWandItem.java @@ -18,7 +18,6 @@ import twilightforest.init.TFSounds; import twilightforest.util.TFItemStackUtils; -import javax.annotation.Nonnull; import java.util.List; public class FortificationWandItem extends Item { @@ -27,24 +26,23 @@ public FortificationWandItem(Properties properties) { super(properties); } - @Nonnull @Override - public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { + if (TFItemStackUtils.isAtZeroDurability(stack) && !player.hasInfiniteMaterials()) { return InteractionResult.FAIL; } if (!level.isClientSide()) { player.getData(TFDataAttachments.FORTIFICATION_SHIELDS).setShields(player, 5, true); - if(!player.getAbilities().instabuild) { - TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + if (!player.hasInfiniteMaterials()) { + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); } } player.playSound(TFSounds.SHIELD_ADD.get(), 1.0F, (player.getRandom().nextFloat() - player.getRandom().nextFloat()) * 0.2F + 1.0F); - if (!player.isCreative()) + if (!player.hasInfiniteMaterials()) player.getCooldowns().addCooldown(stack, 1200); return InteractionResult.SUCCESS; } diff --git a/src/main/java/twilightforest/item/IceBombItem.java b/src/main/java/twilightforest/item/IceBombItem.java index 2432de82e2..a8deb923dc 100644 --- a/src/main/java/twilightforest/item/IceBombItem.java +++ b/src/main/java/twilightforest/item/IceBombItem.java @@ -13,7 +13,6 @@ import net.minecraft.world.item.ProjectileItem; import net.minecraft.world.level.Level; import twilightforest.entity.projectile.IceBomb; -import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; public class IceBombItem extends Item implements ProjectileItem { @@ -28,7 +27,7 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { player.playSound(TFSounds.ICE_BOMB_FIRED.get(), 0.5F, 0.4F / (level.getRandom().nextFloat() * 0.4F + 0.8F)); if (level instanceof ServerLevel serverlevel) { - Projectile.spawnProjectileFromRotation((lev, entity, stacc) -> new IceBomb(TFEntities.THROWN_ICE.get(), level, player), serverlevel, stack, player, 0.0F, 1.5F, 1.0F); + Projectile.spawnProjectileFromRotation((lev, owner, stacc) -> new IceBomb(lev, owner), serverlevel, stack, player, -5.0F, 1.25F, 1.0F); } player.awardStat(Stats.ITEM_USED.get(this)); diff --git a/src/main/java/twilightforest/item/LampOfCindersItem.java b/src/main/java/twilightforest/item/LampOfCindersItem.java index 970d1292d1..f75c06885b 100644 --- a/src/main/java/twilightforest/item/LampOfCindersItem.java +++ b/src/main/java/twilightforest/item/LampOfCindersItem.java @@ -18,8 +18,7 @@ import net.minecraft.world.phys.AABB; import twilightforest.init.TFBlocks; import twilightforest.init.TFSounds; - -import javax.annotation.Nonnull; +import twilightforest.util.TFItemStackUtils; public class LampOfCindersItem extends Item { @@ -34,20 +33,25 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return false; } - @Nonnull @Override - public InteractionResult use(Level level, Player player, @Nonnull InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { + if (TFItemStackUtils.isAtZeroDurability(player.getItemInHand(hand))) { + return InteractionResult.FAIL; + } player.startUsingItem(hand); return InteractionResult.SUCCESS; } - @Nonnull @Override public InteractionResult useOn(UseOnContext context) { Level world = context.getLevel(); BlockPos pos = context.getClickedPos(); Player player = context.getPlayer(); + if (TFItemStackUtils.isAtZeroDurability(context.getItemInHand())) { + return InteractionResult.FAIL; + } + if (this.burnBlock(world, pos)) { if (player instanceof ServerPlayer serverPlayer) CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, pos, player.getItemInHand(context.getHand())); @@ -78,7 +82,7 @@ private boolean burnBlock(Level level, BlockPos pos) { public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { int useTime = this.getUseDuration(stack, living) - useRemaining; - if (useTime > FIRING_TIME && (stack.getDamageValue() + 1) < this.getMaxDamage(stack)) { + if (useTime > FIRING_TIME && !TFItemStackUtils.isAtZeroDurability(stack)) { this.doBurnEffect(level, living); return true; } diff --git a/src/main/java/twilightforest/item/LifedrainScepterItem.java b/src/main/java/twilightforest/item/LifedrainScepterItem.java index d4deb7982b..175464dc0e 100644 --- a/src/main/java/twilightforest/item/LifedrainScepterItem.java +++ b/src/main/java/twilightforest/item/LifedrainScepterItem.java @@ -56,7 +56,7 @@ public LifedrainScepterItem(Properties properties) { public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { + if (TFItemStackUtils.isAtZeroDurability(stack) && !player.hasInfiniteMaterials()) { return InteractionResult.FAIL; } else { player.startUsingItem(hand); @@ -142,7 +142,7 @@ private Entity getPlayerLookTarget(Level level, LivingEntity living) { @Override public void onUseTick(Level level, LivingEntity living, ItemStack stack, int count) { - if (stack.getDamageValue() == this.getMaxDamage(stack)) { + if (TFItemStackUtils.isAtZeroDurability(stack)) { // do not use living.stopUsingItem(); return; @@ -201,7 +201,7 @@ public void onUseTick(Level level, LivingEntity living, ItemStack stack, int cou } if (living instanceof Player player && !player.getAbilities().instabuild && (!player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) || level.getRandom().nextFloat() > 0.05f)) { - TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); } } diff --git a/src/main/java/twilightforest/item/MoonwormQueenItem.java b/src/main/java/twilightforest/item/MoonwormQueenItem.java index e0c81d26ea..ecfdd51b57 100644 --- a/src/main/java/twilightforest/item/MoonwormQueenItem.java +++ b/src/main/java/twilightforest/item/MoonwormQueenItem.java @@ -5,12 +5,12 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -22,17 +22,14 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.shapes.CollisionContext; import org.jetbrains.annotations.Nullable; import twilightforest.entity.projectile.MoonwormShot; import twilightforest.init.TFBlocks; -import twilightforest.init.TFEntities; import twilightforest.init.TFSounds; import twilightforest.util.TFItemStackUtils; -import javax.annotation.Nonnull; -import java.util.Objects; - public class MoonwormQueenItem extends Item { public static final int FIRING_TIME = 12; @@ -49,7 +46,7 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { @Override public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (stack.getDamageValue() == this.getMaxDamage(stack)) { + if (TFItemStackUtils.isAtZeroDurability(stack)) { return InteractionResult.FAIL; } else { player.startUsingItem(hand); @@ -71,9 +68,9 @@ public InteractionResult useOn(UseOnContext context) { } if (player != null) { - ItemStack itemstack = player.getItemInHand(context.getHand()); + ItemStack stack = player.getItemInHand(context.getHand()); - if (itemstack.getDamageValue() < itemstack.getMaxDamage() && player.mayUseItemAt(pos, context.getClickedFace(), itemstack) && level.isUnobstructed(TFBlocks.MOONWORM.get().defaultBlockState(), pos, CollisionContext.empty())) { + if (!TFItemStackUtils.isAtZeroDurability(stack) && player.mayUseItemAt(pos, context.getClickedFace(), stack) && level.isUnobstructed(TFBlocks.MOONWORM.get().defaultBlockState(), pos, CollisionContext.empty())) { if (this.tryPlace(blockItemUseContext).consumesAction()) { SoundType soundtype = level.getBlockState(pos).getBlock().getSoundType(level.getBlockState(pos), level, pos, player); level.playSound(player, pos, soundtype.getPlaceSound(), SoundSource.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F); @@ -94,20 +91,16 @@ public InteractionResult useOn(UseOnContext context) { public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int useRemaining) { int useTime = this.getUseDuration(stack, living) - useRemaining; - if (!level.isClientSide() && useTime > FIRING_TIME && (stack.getDamageValue() + 1) < stack.getMaxDamage()) { - - if (level.addFreshEntity(new MoonwormShot(TFEntities.MOONWORM_SHOT.get(), level, living))) { - if (living instanceof Player player && !player.getAbilities().instabuild) TFItemStackUtils.hurtButDontBreak(stack, 2, (ServerLevel) level, player); - - level.playSound(null, living.getX(), living.getY(), living.getZ(), TFSounds.MOONWORM_SQUISH.get(), living instanceof Player ? SoundSource.PLAYERS : SoundSource.NEUTRAL, 1.0F, 1.0F); - return true; - } + if (level instanceof ServerLevel serverLevel && useTime > FIRING_TIME && stack.getDamageValue() < stack.getMaxDamage() - 2) { + Projectile.spawnProjectileFromRotation((lev, owner, stacc) -> new MoonwormShot(lev, owner), serverLevel, stack, living, 0.0F, 1.5F, 1.0F); + if (living instanceof Player player) TFItemStackUtils.hurtWithoutBreaking(stack, 2, player); + level.playSound(null, living.blockPosition(), TFSounds.MOONWORM_SQUISH.get(), living instanceof Player ? SoundSource.PLAYERS : SoundSource.NEUTRAL, 1.0F, 1.0F); + return true; } return false; } - @Nonnull @Override public ItemUseAnimation getUseAnimation(ItemStack stack) { return ItemUseAnimation.BOW; @@ -123,68 +116,44 @@ public InteractionResult tryPlace(BlockPlaceContext context) { if (!context.canPlace()) { return InteractionResult.FAIL; } else { - BlockPlaceContext blockitemusecontext = this.getBlockItemUseContext(context); - if (blockitemusecontext == null) { + + BlockState blockstate = this.getPlacementState(context); + if (blockstate == null) { + return InteractionResult.FAIL; + } else if (!context.getLevel().setBlock(context.getClickedPos(), blockstate, Block.UPDATE_ALL_IMMEDIATE)) { return InteractionResult.FAIL; } else { - BlockState blockstate = this.getStateForPlacement(blockitemusecontext); - if (blockstate == null) { - return InteractionResult.FAIL; - } else if (!this.placeBlock(blockitemusecontext, blockstate)) { - return InteractionResult.FAIL; - } else { - BlockPos blockpos = blockitemusecontext.getClickedPos(); - Level level = blockitemusecontext.getLevel(); - Player playerentity = blockitemusecontext.getPlayer(); - ItemStack itemstack = blockitemusecontext.getItemInHand(); - BlockState blockstate1 = level.getBlockState(blockpos); - Block block = blockstate1.getBlock(); - if (block == blockstate.getBlock()) { - blockstate1 = this.updateBlockStateFromTag(blockpos, level, itemstack, blockstate1); - this.onBlockPlaced(blockpos, level, playerentity, itemstack); - block.setPlacedBy(level, blockpos, blockstate1, playerentity, itemstack); - if (playerentity instanceof ServerPlayer) { - CriteriaTriggers.PLACED_BLOCK.trigger((ServerPlayer) playerentity, blockpos, itemstack); - } - } - - SoundType soundtype = blockstate1.getSoundType(level, blockpos, context.getPlayer()); - level.playSound(playerentity, blockpos, this.getPlaceSound(blockstate1, level, blockpos, Objects.requireNonNull(context.getPlayer())), SoundSource.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F); - if (level instanceof ServerLevel server && !playerentity.getAbilities().instabuild) { - TFItemStackUtils.hurtButDontBreak(itemstack, 1, server, playerentity); + BlockPos blockpos = context.getClickedPos(); + Level level = context.getLevel(); + Player player = context.getPlayer(); + ItemStack stack = context.getItemInHand(); + BlockState blockstate1 = level.getBlockState(blockpos); + if (blockstate1.is(blockstate.getBlock())) { + blockstate1 = this.updateBlockStateFromTag(blockpos, level, stack, blockstate1); + BlockItem.updateCustomBlockEntityTag(level, player, blockpos, stack); + BlockItem.updateBlockEntityComponents(level, blockpos, stack); + blockstate1.getBlock().setPlacedBy(level, blockpos, blockstate1, player, stack); + if (player instanceof ServerPlayer) { + CriteriaTriggers.PLACED_BLOCK.trigger((ServerPlayer) player, blockpos, stack); } - - return InteractionResult.SUCCESS; } + + SoundType soundtype = blockstate1.getSoundType(level, blockpos, player); + level.playSound(player, blockpos, soundtype.getPlaceSound(), SoundSource.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F); + level.gameEvent(GameEvent.BLOCK_PLACE, blockpos, GameEvent.Context.of(player, blockstate1)); + //TF: instead of shrinking the stack here damage it + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); + return InteractionResult.SUCCESS; } } } - protected SoundEvent getPlaceSound(BlockState state, Level level, BlockPos pos, Player entity) { - return state.getSoundType(level, pos, entity).getPlaceSound(); - } - - @Nullable - public BlockPlaceContext getBlockItemUseContext(BlockPlaceContext context) { - return context; - } - - protected boolean onBlockPlaced(BlockPos pos, Level level, @Nullable Player player, ItemStack stack) { - return BlockItem.updateCustomBlockEntityTag(level, player, pos, stack); - } - @Nullable - protected BlockState getStateForPlacement(BlockPlaceContext context) { + protected BlockState getPlacementState(BlockPlaceContext context) { BlockState blockstate = TFBlocks.MOONWORM.get().getStateForPlacement(context); return blockstate != null && this.canPlace(context, blockstate) ? blockstate : null; } - protected boolean canPlace(BlockPlaceContext context, BlockState state) { - Player player = context.getPlayer(); - CollisionContext collision = player == null ? CollisionContext.empty() : CollisionContext.of(player); - return (state.canSurvive(context.getLevel(), context.getClickedPos())) && context.getLevel().isUnobstructed(state, context.getClickedPos(), collision); - } - private BlockState updateBlockStateFromTag(BlockPos pos, Level level, ItemStack stack, BlockState state) { BlockItemStateProperties blockitemstateproperties = stack.getOrDefault(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY); if (blockitemstateproperties.isEmpty()) { @@ -199,7 +168,9 @@ private BlockState updateBlockStateFromTag(BlockPos pos, Level level, ItemStack } } - protected boolean placeBlock(BlockPlaceContext context, BlockState state) { - return context.getLevel().setBlock(context.getClickedPos(), state, Block.UPDATE_ALL_IMMEDIATE); + protected boolean canPlace(BlockPlaceContext context, BlockState state) { + Player player = context.getPlayer(); + CollisionContext collision = player == null ? CollisionContext.empty() : CollisionContext.of(player); + return (state.canSurvive(context.getLevel(), context.getClickedPos())) && context.getLevel().isUnobstructed(state, context.getClickedPos(), collision); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/TwilightWandItem.java b/src/main/java/twilightforest/item/TwilightWandItem.java index 21134ae20b..f2eb17748e 100644 --- a/src/main/java/twilightforest/item/TwilightWandItem.java +++ b/src/main/java/twilightforest/item/TwilightWandItem.java @@ -4,16 +4,19 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import twilightforest.enchantment.RechargeScepterEffect; +import twilightforest.entity.projectile.MoonwormShot; import twilightforest.entity.projectile.TwilightWandBolt; import twilightforest.init.TFEnchantments; import twilightforest.init.TFItems; @@ -32,15 +35,15 @@ public TwilightWandItem(Properties properties) { public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { + if (TFItemStackUtils.isAtZeroDurability(stack) && !player.getAbilities().instabuild) { return InteractionResult.FAIL; } else { - player.playSound(TFSounds.TWILIGHT_SCEPTER_USE.get(), 1.0F, (level.getRandom().nextFloat() - level.getRandom().nextFloat()) * 0.2F + 1.0F); + if (level instanceof ServerLevel serverLevel) { + level.playSound(null, player.blockPosition(), TFSounds.TWILIGHT_SCEPTER_USE.get(), SoundSource.PLAYERS, 1.0F, (level.getRandom().nextFloat() - level.getRandom().nextFloat()) * 0.2F + 1.0F); + Projectile.spawnProjectileFromRotation((lev, owner, stacc) -> new TwilightWandBolt(lev, owner), serverLevel, stack, player, 0.0F, 1.5F, 1.0F); - if (!level.isClientSide()) { - level.addFreshEntity(new TwilightWandBolt(level, player)); if (!player.getAbilities().instabuild && (!player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) || level.getRandom().nextFloat() > 0.05f)) { - TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); } } diff --git a/src/main/java/twilightforest/item/ZombieWandItem.java b/src/main/java/twilightforest/item/ZombieWandItem.java index 1c16d46f49..4f5dabd6d9 100644 --- a/src/main/java/twilightforest/item/ZombieWandItem.java +++ b/src/main/java/twilightforest/item/ZombieWandItem.java @@ -41,7 +41,7 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (stack.getDamageValue() == stack.getMaxDamage() && !player.getAbilities().instabuild) { + if (TFItemStackUtils.isAtZeroDurability(stack) && !player.hasInfiniteMaterials()) { return InteractionResult.FAIL; } @@ -59,14 +59,14 @@ public InteractionResult use(Level level, Player player, InteractionHand hand) { zombie.setTame(true, false); zombie.setOwnerUUID(player.getUUID()); zombie.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 1200, 1)); - if (player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) && level.getRandom().nextFloat() <= 0.1f) { + if (player.getItemBySlot(EquipmentSlot.HEAD).is(TFItems.MYSTIC_CROWN) && level.getRandom().nextFloat() <= 0.1F) { zombie.setBaby(true); } level.addFreshEntity(zombie); level.gameEvent(player, GameEvent.ENTITY_PLACE, result.getBlockPos()); - if (!player.getAbilities().instabuild) { - TFItemStackUtils.hurtButDontBreak(stack, 1, (ServerLevel) level, player); + if (!player.hasInfiniteMaterials()) { + TFItemStackUtils.hurtWithoutBreaking(stack, 1, player); } zombie.playSound(TFSounds.ZOMBIE_SCEPTER_USE.get(), 1.0F, 1.0F); } diff --git a/src/main/java/twilightforest/util/TFItemStackUtils.java b/src/main/java/twilightforest/util/TFItemStackUtils.java index d71876b859..1127804e8a 100644 --- a/src/main/java/twilightforest/util/TFItemStackUtils.java +++ b/src/main/java/twilightforest/util/TFItemStackUtils.java @@ -142,18 +142,22 @@ public static void loadNoClear(RegistryAccess registryAccess, ListTag tag, Inven if (!blockedItems.isEmpty()) blockedItems.forEach(inventory::add); } - public static void hurtButDontBreak(ItemStack stack, int amount, ServerLevel level, @Nullable LivingEntity entity) { + public static boolean isAtZeroDurability(ItemStack stack) { + return stack.isDamageableItem() && stack.getDamageValue() >= stack.getMaxDamage(); + } + + public static void hurtWithoutBreaking(ItemStack stack, int amount, Player player) { if (stack.isDamageableItem()) { - amount = stack.getItem().damageItem(stack, amount, entity, item -> {}); - if (entity == null || !entity.hasInfiniteMaterials()) { + amount = stack.getItem().damageItem(stack, amount, player, item -> {}); + if (player instanceof ServerPlayer sp && !player.hasInfiniteMaterials()) { if (amount > 0) { - amount = EnchantmentHelper.processDurabilityChange(level, stack, amount); + amount = EnchantmentHelper.processDurabilityChange(sp.serverLevel(), stack, amount); if (amount <= 0) { return; } } - if (entity instanceof ServerPlayer sp && amount != 0) { + if (amount != 0) { CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(sp, stack, stack.getDamageValue() + amount); } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index c838e9c996..b70fb7cd63 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -245,4 +245,6 @@ public net.minecraft.client.renderer.item.ItemStackRenderState firstLayer()Lnet/ public net.minecraft.client.data.models.ModelProvider$ItemInfoCollector public net.minecraft.client.data.models.ModelProvider$BlockStateGeneratorCollector public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector -public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector ()V # \ No newline at end of file +public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector ()V # + +public net.minecraft.world.item.BlockItem updateBlockEntityComponents(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/item/ItemStack;)V \ No newline at end of file From 3bcb367b1cac82e3b51822b9446380bf38f4ce07 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 12:04:03 -0600 Subject: [PATCH 137/239] properly check enchants on items --- .../java/twilightforest/inventory/UncraftingMenu.java | 8 ++++---- src/main/java/twilightforest/item/OreMagnetItem.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index fe2db13d1c..863bba2765 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -241,7 +241,7 @@ public void slotsChanged(Container inventory) { result.get(DataComponents.ENCHANTMENTS).entrySet().forEach(enchantment -> enchants.set(enchantment.getKey(), enchantment.getIntValue())); } //remove any incompatible enchants - enchants.removeIf(holder -> !holder.value().canEnchant(result)); + enchants.removeIf(holder -> !result.supportsEnchantment(holder)); //remove enchantments and replace with filtered list result.remove(DataComponents.ENCHANTMENTS); @@ -313,7 +313,7 @@ protected static boolean isRecipeSupported(ItemStack inputStack, CraftingRecipe } protected static boolean isComplete(List list) { //TODO: check if properly ported - return !list.isEmpty() && list.stream().noneMatch((ingredient) -> ingredient.isEmpty()); + return !list.isEmpty() && list.stream().noneMatch(Ingredient::isEmpty); } private static boolean matches(ItemStack input, ItemStack output) { @@ -432,7 +432,7 @@ private int calculateRecraftingCost() { cost += enchantCost; // broken pieces cost - int damagedCost = (1 + this.countDamagedParts(input)) * output.getEnchantments().size(); + int damagedCost = (1 + this.countDamagedParts(input)) * output.getTagEnchantments().size(); cost += damagedCost; // minimum cost of 1 if we're even calling this part @@ -444,7 +444,7 @@ private int calculateRecraftingCost() { private static int countTotalEnchantmentCost(ItemStack stack) { int count = 0; - for (Object2IntMap.Entry> entry : stack.getEnchantments().entrySet()) { + for (Object2IntMap.Entry> entry : stack.getTagEnchantments().entrySet()) { Enchantment ench = entry.getKey().value(); int level = entry.getIntValue(); diff --git a/src/main/java/twilightforest/item/OreMagnetItem.java b/src/main/java/twilightforest/item/OreMagnetItem.java index c89cf073b2..3edbe48f11 100644 --- a/src/main/java/twilightforest/item/OreMagnetItem.java +++ b/src/main/java/twilightforest/item/OreMagnetItem.java @@ -53,7 +53,7 @@ public OreMagnetItem(Properties properties) { @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { AtomicBoolean badEnchant = new AtomicBoolean(); - book.getEnchantments().entrySet().forEach(enchantment -> { + book.getTagEnchantments().entrySet().forEach(enchantment -> { if (!Objects.equals(Enchantments.UNBREAKING, enchantment)) { badEnchant.set(true); } From 3cd489c8322c292706bde6137d271f511c543cdc Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 20:47:14 +0200 Subject: [PATCH 138/239] Let me have it --- src/main/java/twilightforest/init/TFCreativeTabs.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/init/TFCreativeTabs.java b/src/main/java/twilightforest/init/TFCreativeTabs.java index aba1c67dad..b8976a6731 100644 --- a/src/main/java/twilightforest/init/TFCreativeTabs.java +++ b/src/main/java/twilightforest/init/TFCreativeTabs.java @@ -15,15 +15,15 @@ import net.minecraft.world.item.enchantment.EnchantmentInstance; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.ItemLike; -import net.neoforged.fml.loading.FMLLoader; +import net.neoforged.fml.loading.FMLEnvironment; import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; -import twilightforest.components.item.SkullCandles; import twilightforest.config.TFConfig; import twilightforest.entity.MagicPaintingVariant; +import twilightforest.tags.TFItemTags; import java.util.Collection; import java.util.Comparator; @@ -629,6 +629,13 @@ public static void addToTabs(BuildCreativeModeTabContentsEvent event) { event.accept(itemstack); }); + + if (!FMLEnvironment.production) { + TFItems.ITEMS.getEntries().forEach(itemDeferredHolder -> { + ItemStack wipStack = itemDeferredHolder.get().getDefaultInstance(); + if (wipStack.is(TFItemTags.WIP)) event.accept(wipStack); + }); + } } } } From a9ae52f99d552b6e887a9410df5414b83a4484c1 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 21:35:28 +0200 Subject: [PATCH 139/239] Fix sheep --- .../client/event/RegistrationEvents.java | 1 + .../client/model/TFModelLayers.java | 1 + .../client/model/entity/BighornModel.java | 8 ++++-- .../renderer/entity/BighornRenderer.java | 27 ++++++++++++++----- .../entity/passive/Bighorn.java | 5 ++-- 5 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 21e73afd58..c4ccc8b1b3 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -343,6 +343,7 @@ private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerD event.registerLayerDefinition(TFModelLayers.ALPHA_YETI, AlphaYetiModel::create); event.registerLayerDefinition(TFModelLayers.ARMORED_GIANT, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 32)); event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP, BighornModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP_BABY, () -> BighornModel.checkForPack().apply(BighornModel.BABY_TRANSFORMER)); event.registerLayerDefinition(TFModelLayers.BLOCKCHAIN_GOBLIN, BlockChainGoblinModel::checkForPack); event.registerLayerDefinition(TFModelLayers.BOAR, BoarModel::checkForPack); event.registerLayerDefinition(TFModelLayers.BUNNY, BunnyModel::create); diff --git a/src/main/java/twilightforest/client/model/TFModelLayers.java b/src/main/java/twilightforest/client/model/TFModelLayers.java index cf971e4351..4a1ddad46c 100644 --- a/src/main/java/twilightforest/client/model/TFModelLayers.java +++ b/src/main/java/twilightforest/client/model/TFModelLayers.java @@ -30,6 +30,7 @@ public class TFModelLayers { public static final ModelLayerLocation ALPHA_YETI = register("alpha_yeti"); public static final ModelLayerLocation ARMORED_GIANT = register("armored_giant"); public static final ModelLayerLocation BIGHORN_SHEEP = register("bighorn_sheep"); + public static final ModelLayerLocation BIGHORN_SHEEP_BABY = register("bighorn_sheep_baby"); public static final ModelLayerLocation BLOCKCHAIN_GOBLIN = register("blockchain_goblin"); public static final ModelLayerLocation BOAR = register("boar"); public static final ModelLayerLocation BUNNY = register("bunny"); diff --git a/src/main/java/twilightforest/client/model/entity/BighornModel.java b/src/main/java/twilightforest/client/model/entity/BighornModel.java index 81a568cbbe..5b2a42cd67 100644 --- a/src/main/java/twilightforest/client/model/entity/BighornModel.java +++ b/src/main/java/twilightforest/client/model/entity/BighornModel.java @@ -1,5 +1,6 @@ package twilightforest.client.model.entity; +import net.minecraft.client.model.BabyModelTransform; import net.minecraft.client.model.SheepModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -7,7 +8,10 @@ import net.minecraft.client.renderer.entity.state.SheepRenderState; import twilightforest.client.JappaPackReloadListener; +import java.util.Set; + public class BighornModel extends SheepModel { + public static final MeshTransformer BABY_TRANSFORMER = new BabyModelTransform(false, 8.0F, 4.0F, 2.0F, 2.0F, 24.0F, Set.of("head")); public BighornModel(ModelPart root) { super(root); @@ -21,7 +25,7 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = SheepModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-3.0F, -4.0F, -6.0F, 6.0F, 6.0F, 7.0F), PartPose.offset(0.0F, 6.0F, -8.0F)); @@ -84,7 +88,7 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = SheepModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(38, 0) .addBox(-3.0F, -4.0F, -6.0F, 6.0F, 6.0F, 7.0F), PartPose.offset(0.0F, 5.0F, -8.0F)); diff --git a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java index 669a1337ef..ae0f97dac1 100644 --- a/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/BighornRenderer.java @@ -1,25 +1,40 @@ package twilightforest.client.renderer.entity; +import net.minecraft.client.model.SheepModel; +import net.minecraft.client.renderer.entity.AgeableMobRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.SheepRenderer; import net.minecraft.client.renderer.entity.layers.SheepWoolLayer; import net.minecraft.client.renderer.entity.state.SheepRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.BighornModel; +import twilightforest.entity.passive.Bighorn; -public class BighornRenderer extends SheepRenderer { - +@SuppressWarnings("deprecation") +public class BighornRenderer extends AgeableMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("bighorn.png"); public BighornRenderer(EntityRendererProvider.Context context) { - super(context); - this.shadowRadius = 0.7F; - this.model = new BighornModel(context.bakeLayer(TFModelLayers.BIGHORN_SHEEP)); + super(context, new BighornModel(context.bakeLayer(TFModelLayers.BIGHORN_SHEEP)), new BighornModel(context.bakeLayer(TFModelLayers.BIGHORN_SHEEP_BABY)), 0.7F); this.addLayer(new SheepWoolLayer(this, context.getModelSet())); } + @Override + public SheepRenderState createRenderState() { + return new SheepRenderState(); + } + + @Override + public void extractRenderState(Bighorn sheep, SheepRenderState renderState, float partialTick) { + super.extractRenderState(sheep, renderState, partialTick); + renderState.headEatAngleScale = sheep.getHeadEatAngleScale(partialTick); + renderState.headEatPositionScale = sheep.getHeadEatPositionScale(partialTick); + renderState.isSheared = sheep.isSheared(); + renderState.woolColor = sheep.getColor(); + renderState.id = sheep.getId(); + } + @Override public ResourceLocation getTextureLocation(SheepRenderState entity) { return TEXTURE; diff --git a/src/main/java/twilightforest/entity/passive/Bighorn.java b/src/main/java/twilightforest/entity/passive/Bighorn.java index 980597f3ff..ee5a962435 100644 --- a/src/main/java/twilightforest/entity/passive/Bighorn.java +++ b/src/main/java/twilightforest/entity/passive/Bighorn.java @@ -42,6 +42,7 @@ public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInst return livingdata; } + @Nullable @Override public Sheep getBreedOffspring(ServerLevel level, AgeableMob ageable) { if (!(ageable instanceof Bighorn otherParent)) { @@ -50,9 +51,7 @@ public Sheep getBreedOffspring(ServerLevel level, AgeableMob ageable) { } Bighorn babySheep = TFEntities.BIGHORN_SHEEP.get().create(level, EntitySpawnReason.BREEDING); - if (babySheep != null) { - babySheep.setColor(DyeColor.getMixedColor(level, this.getColor(), otherParent.getColor())); - } + if (babySheep != null) babySheep.setColor(DyeColor.getMixedColor(level, this.getColor(), otherParent.getColor())); return babySheep; } From 545824e70d853f1405750d8237b2265627f380d5 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 21:58:40 +0200 Subject: [PATCH 140/239] Fix giants --- .../client/renderer/entity/TFGiantRenderer.java | 13 ++++++------- .../twilightforest/entity/monster/GiantMiner.java | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java index 74b4108ee5..04467e1e56 100644 --- a/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/TFGiantRenderer.java @@ -10,28 +10,24 @@ import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.entity.*; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.client.renderer.entity.layers.ItemInHandLayer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.DefaultPlayerSkin; import net.minecraft.client.resources.PlayerSkin; -import net.minecraft.client.resources.model.BakedModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.entity.player.PlayerModelPart; -import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.item.ItemStack; import twilightforest.client.model.entity.GiantModel; import twilightforest.client.state.GiantRenderState; import twilightforest.config.TFConfig; import twilightforest.entity.monster.GiantMiner; -import javax.annotation.Nullable; - public class TFGiantRenderer extends HumanoidMobRenderer { private final GiantModel normalModel; private final GiantModel slimModel; @@ -41,6 +37,7 @@ public TFGiantRenderer(EntityRendererProvider.Context context) { this.normalModel = this.getModel(); this.slimModel = new GiantModel(context.bakeLayer(ModelLayers.PLAYER_SLIM), true); + this.layers.removeIf(layer -> layer instanceof ItemInHandLayer); this.addLayer(new GiantItemInHandLayer<>(this)); this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getEquipmentRenderer())); } @@ -62,6 +59,8 @@ public ResourceLocation getTextureLocation(GiantRenderState state) { if (client.getSkin().model().id().equals("slim")) this.model = this.slimModel; } + if (this.model == this.slimModel) this.slimModel.setupAnim(state); + return texture; } diff --git a/src/main/java/twilightforest/entity/monster/GiantMiner.java b/src/main/java/twilightforest/entity/monster/GiantMiner.java index 42ea32a386..72a1bd2db6 100644 --- a/src/main/java/twilightforest/entity/monster/GiantMiner.java +++ b/src/main/java/twilightforest/entity/monster/GiantMiner.java @@ -56,6 +56,7 @@ public static AttributeSupplier.Builder registerAttributes() { @Nullable @Override + @SuppressWarnings("deprecation") public SpawnGroupData finalizeSpawn(ServerLevelAccessor accessor, DifficultyInstance difficulty, EntitySpawnReason reason, @Nullable SpawnGroupData spawnDataIn) { SpawnGroupData data = super.finalizeSpawn(accessor, difficulty, reason, spawnDataIn); populateDefaultEquipmentSlots(accessor.getRandom(), difficulty); From c38edb703632400f1d73466c7831655b7ef7f37a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 22:28:39 +0200 Subject: [PATCH 141/239] Lich fix --- .../client/model/entity/LichModel.java | 29 +++++++++++-------- .../client/renderer/entity/LichRenderer.java | 9 ++---- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index e1d861efe1..84571a024d 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -28,44 +28,49 @@ public LichModel(ModelPart root) { public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); + PartDefinition root = meshdefinition.getRoot(); - partdefinition.getChild("head").addOrReplaceChild("hat", CubeListBuilder.create() + PartDefinition head = root.addOrReplaceChild("head", CubeListBuilder.create() + .texOffs(0, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, CubeDeformation.NONE), + PartPose.offset(0.0F, -4.0F, 0.0F) + ); + + head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-4.0F, -12.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.5F)), PartPose.ZERO); - partdefinition.addOrReplaceChild("collar", CubeListBuilder.create() + root.addOrReplaceChild("collar", CubeListBuilder.create() .texOffs(32, 16) .addBox(-6.0F, -2.0F, -4.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(-0.1F)), - PartPose.offsetAndRotation(0.0F, -3.0F, -1.0F, 2.164208F, 0.0F, 0.0F)); + PartPose.offsetAndRotation(0.0F, -7.0F, -1.0F, 2.164208F, 0.0F, 0.0F)); - partdefinition.addOrReplaceChild("cloak", CubeListBuilder.create() + root.addOrReplaceChild("cloak", CubeListBuilder.create() .texOffs(0, 44) .addBox(-6.0F, 2.0F, 0.0F, 12.0F, 19.0F, 1.0F), - PartPose.offset(0.0F, -4.0F, 2.5F)); + PartPose.offset(0.0F, -8.0F, 2.5F)); - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() + root.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(8, 16) .addBox(-4.0F, 0.0F, -2.0F, 8.0F, 24.0F, 4.0F), PartPose.offset(0.0F, -4.0F, 0.0F)); - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() + root.addOrReplaceChild("right_arm", CubeListBuilder.create() .texOffs(0, 16) .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(-5.0F, -2.0F, 0.0F)); - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create().mirror() + root.addOrReplaceChild("left_arm", CubeListBuilder.create().mirror() .texOffs(0, 16) .addBox(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), - PartPose.offset(5.0F, 2.0F, 0.0F)); + PartPose.offset(5.0F, -2.0F, 0.0F)); - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() + root.addOrReplaceChild("right_leg", CubeListBuilder.create() .texOffs(0, 16) .addBox(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(-2.0F, 12.0F, 0.0F)); - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create().mirror() + root.addOrReplaceChild("left_leg", CubeListBuilder.create().mirror() .texOffs(0, 16) .addBox(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), PartPose.offset(2.0F, 12.0F, 0.0F)); diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index 003bbd5d7a..459cd74f48 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -41,9 +41,7 @@ public RenderType renderType() { @Override protected int getModelTint(LichRenderState state) { - if (state.isShadowClone) { - return ARGB.colorFromFloat(0.5F, 0.333F, 0.333F, 0.333F); - } + if (state.isShadowClone) return ARGB.colorFromFloat(0.5F, 0.333F, 0.333F, 0.333F); return super.getModelTint(state); } @@ -56,13 +54,11 @@ protected RenderType getRenderType(LichRenderState state, boolean bodyVisible, b @Override protected boolean isShaking(LichRenderState state) { - return super.isShaking(state) || (state.deathTime <= Lich.DEATH_ANIMATION_POINT_A); + return super.isShaking(state) || (state.deathTime > 0 && state.deathTime <= Lich.DEATH_ANIMATION_POINT_A); } @Override public void render(LichRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { - stack.pushPose(); - stack.scale(1.125F, 1.125F, 1.125F); if (state.deathTime > 0) { if (state.deathTime > Lich.DEATH_ANIMATION_POINT_A) { stack.translate(0.0D, -1.8D * Math.pow(Math.min(((state.deathTime - Lich.DEATH_ANIMATION_POINT_A) + state.partialTick) * 0.05D, 1.0D), 3.0D), 0.0D); @@ -72,7 +68,6 @@ public void render(LichRenderState state, PoseStack stack, MultiBufferSource buf } super.render(state, stack, buffer, packedLight); } else super.render(state, stack, buffer, packedLight); - stack.popPose(); } @Override From 6765dcd9b47d32acdaf95da352f98534930b2d02 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 22:40:19 +0200 Subject: [PATCH 142/239] fix maze slime --- .../renderer/entity/MazeSlimeRenderer.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java index d6b103f024..6c634645a6 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MazeSlimeRenderer.java @@ -1,11 +1,13 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.SlimeModel; +import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.client.renderer.entity.layers.SlimeOuterLayer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.*; +import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.client.renderer.entity.state.SlimeRenderState; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -19,7 +21,7 @@ public class MazeSlimeRenderer extends MobRenderer { + private final SlimeModel model; + + public MazeSlimeOuterLayer(RenderLayerParent renderer, EntityModelSet modelSet) { + super(renderer); + this.model = new SlimeModel(modelSet.bakeLayer(TFModelLayers.MAZE_SLIME_OUTER)); + } + + @Override + public void render(PoseStack stack, MultiBufferSource source, int light, SlimeRenderState renderState, float yRot, float xRot) { + boolean flag = renderState.appearsGlowing && renderState.isInvisible; + if (!renderState.isInvisible || flag) { + VertexConsumer vertexconsumer; + if (flag) vertexconsumer = source.getBuffer(RenderType.outline(TEXTURE)); + else vertexconsumer = source.getBuffer(RenderType.entityTranslucent(TEXTURE)); + + this.model.setupAnim(renderState); + this.model.renderToBuffer(stack, vertexconsumer, light, LivingEntityRenderer.getOverlayCoords(renderState, 0.0F)); + } + } + } } From a638b588da511eeed7f15bf0d1aa079de95b024f Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sat, 19 Apr 2025 23:22:48 +0200 Subject: [PATCH 143/239] Fix redcap(s) --- .../twilightforest/client/model/entity/RedcapModel.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/RedcapModel.java b/src/main/java/twilightforest/client/model/entity/RedcapModel.java index e6d770e1d9..affcc88d69 100644 --- a/src/main/java/twilightforest/client/model/entity/RedcapModel.java +++ b/src/main/java/twilightforest/client/model/entity/RedcapModel.java @@ -21,7 +21,7 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 0) .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 7.0F, 7.0F) .texOffs(0, 0) @@ -37,7 +37,7 @@ private static LayerDefinition create() { head.addOrReplaceChild("hat", CubeListBuilder.create() .texOffs(32, 0) .addBox(-2.0F, -8.5F, -3.0F, 4.0F, 5.0F, 7.0F), - PartPose.offset(0.0F, 6.0F, 0.0F)); + PartPose.offset(0.0F, -0.0F, 0.0F)); partdefinition.addOrReplaceChild("body", CubeListBuilder.create() .texOffs(12, 19) @@ -71,7 +71,7 @@ private static LayerDefinition createJappaModel() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() + PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() .texOffs(0, 1) .addBox(-5.5F, -6.0F, -0.5F, 2.0F, 3.0F, 0.0F) .texOffs(0, 1).mirror() From dc7dd37b9854e01cbbd06593a993a1a4061f32b4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:18:03 -0600 Subject: [PATCH 144/239] fix armor models and emperor's cloth --- .../assets/EquipmentAssetsGenerator.java | 21 +++++++ .../assets/models/ItemModelGenerator.java | 59 +++++++++--------- .../datagen/generator/AssetsGenerator.java | 6 +- .../ece1a0d38a152b7be1e86680691afdfd6d9fba1f | 9 +++ .../twilightforest/equipment/arctic.json | 26 ++++++++ .../twilightforest/equipment/fiery.json | 14 +++++ .../twilightforest/equipment/ironwood.json | 14 +++++ .../twilightforest/equipment/knightmetal.json | 14 +++++ .../assets/twilightforest/equipment/naga.json | 14 +++++ .../twilightforest/equipment/phantom.json | 9 +++ .../twilightforest/equipment/steeleaf.json | 14 +++++ .../assets/twilightforest/equipment/yeti.json | 14 +++++ src/main/java/twilightforest/ASMHooks.java | 3 +- .../client/event/RegistrationEvents.java | 2 +- .../twilightforest/init/TFArmorMaterials.java | 16 ++--- ...mentModels.java => TFEquipmentAssets.java} | 17 +++-- .../twilightforest/item/ArcticArmorItem.java | 14 ----- .../equipment/humanoid/arctic.png} | Bin .../equipment/humanoid/arctic_overlay.png | Bin 0 -> 733 bytes .../entity/equipment/humanoid/fiery.png | Bin 0 -> 2577 bytes .../entity/equipment/humanoid/ironwood.png | Bin 0 -> 2567 bytes .../equipment/humanoid/knightmetal.png} | Bin .../entity/equipment/humanoid/naga_scale.png | Bin 0 -> 1429 bytes .../entity/equipment/humanoid/phantom.png | Bin 0 -> 1939 bytes .../entity/equipment/humanoid/steeleaf.png | Bin 0 -> 2667 bytes .../equipment/humanoid/yeti.png} | Bin .../equipment/humanoid_leggings/arctic.png} | Bin .../humanoid_leggings/arctic_overlay.png} | Bin .../equipment/humanoid_leggings/fiery.png} | Bin .../equipment/humanoid_leggings/ironwood.png} | Bin .../humanoid_leggings/knightmetal.png} | Bin .../humanoid_leggings/naga_scale.png} | Bin .../equipment/humanoid_leggings/steeleaf.png} | Bin .../equipment/humanoid_leggings/yeti.png} | Bin .../textures/models/armor/arctic_layer_1.png | Bin 820 -> 0 bytes .../models/armor/arctic_layer_1_overlay.png | Bin 408 -> 0 bytes .../textures/models/armor/arctic_layer_2.png | Bin 290 -> 0 bytes .../textures/models/armor/fiery_layer_1.png | Bin 1922 -> 0 bytes .../models/armor/ironwood_layer_1.png | Bin 1988 -> 0 bytes .../models/armor/naga_scale_layer_1.png | Bin 1751 -> 0 bytes .../textures/models/armor/phantom_layer_1.png | Bin 1735 -> 0 bytes .../models/armor/steeleaf_layer_1.png | Bin 1978 -> 0 bytes .../CancelArmorRenderingTransformer.java | 6 +- 43 files changed, 206 insertions(+), 66 deletions(-) create mode 100644 src/data/java/twilightforest/datagen/assets/EquipmentAssetsGenerator.java create mode 100644 src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f create mode 100644 src/generated/resources/assets/twilightforest/equipment/arctic.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/fiery.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/ironwood.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/knightmetal.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/naga.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/phantom.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/steeleaf.json create mode 100644 src/generated/resources/assets/twilightforest/equipment/yeti.json rename src/main/java/twilightforest/init/{TFEquipmentModels.java => TFEquipmentAssets.java} (66%) rename src/main/resources/assets/twilightforest/textures/{models/armor/arctic_layer_1_dyed.png => entity/equipment/humanoid/arctic.png} (100%) create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/arctic_overlay.png create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/fiery.png create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/ironwood.png rename src/main/resources/assets/twilightforest/textures/{models/armor/knightmetal_layer_1.png => entity/equipment/humanoid/knightmetal.png} (100%) create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/naga_scale.png create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/phantom.png create mode 100644 src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/steeleaf.png rename src/main/resources/assets/twilightforest/textures/{models/armor/yeti_layer_1.png => entity/equipment/humanoid/yeti.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/arctic_layer_2_dyed.png => entity/equipment/humanoid_leggings/arctic.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/arctic_layer_2_overlay.png => entity/equipment/humanoid_leggings/arctic_overlay.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/fiery_layer_2.png => entity/equipment/humanoid_leggings/fiery.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/ironwood_layer_2.png => entity/equipment/humanoid_leggings/ironwood.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/knightmetal_layer_2.png => entity/equipment/humanoid_leggings/knightmetal.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/naga_scale_layer_2.png => entity/equipment/humanoid_leggings/naga_scale.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/steeleaf_layer_2.png => entity/equipment/humanoid_leggings/steeleaf.png} (100%) rename src/main/resources/assets/twilightforest/textures/{models/armor/yeti_layer_2.png => entity/equipment/humanoid_leggings/yeti.png} (100%) delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/arctic_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/arctic_layer_1_overlay.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/arctic_layer_2.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/fiery_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/ironwood_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/naga_scale_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/phantom_layer_1.png delete mode 100644 src/main/resources/assets/twilightforest/textures/models/armor/steeleaf_layer_1.png diff --git a/src/data/java/twilightforest/datagen/assets/EquipmentAssetsGenerator.java b/src/data/java/twilightforest/datagen/assets/EquipmentAssetsGenerator.java new file mode 100644 index 0000000000..dcde15b6b9 --- /dev/null +++ b/src/data/java/twilightforest/datagen/assets/EquipmentAssetsGenerator.java @@ -0,0 +1,21 @@ +package twilightforest.datagen.assets; + +import net.minecraft.client.data.models.EquipmentAssetProvider; +import net.minecraft.client.resources.model.EquipmentClientInfo; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.item.equipment.EquipmentAsset; +import twilightforest.init.TFEquipmentAssets; + +import java.util.function.BiConsumer; + +public class EquipmentAssetsGenerator extends EquipmentAssetProvider { + public EquipmentAssetsGenerator(PackOutput output) { + super(output); + } + + @Override + protected void registerModels(BiConsumer, EquipmentClientInfo> output) { + TFEquipmentAssets.bootstrap(output); + } +} diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index 77a14331b3..c28a8c1e2d 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -1,7 +1,6 @@ package twilightforest.datagen.assets.models; import net.minecraft.client.color.item.Dye; -import net.minecraft.client.color.item.Potion; import net.minecraft.client.data.models.ItemModelGenerators; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.model.*; @@ -12,7 +11,6 @@ import net.minecraft.client.renderer.item.properties.numeric.Count; import net.minecraft.client.renderer.item.properties.numeric.Time; import net.minecraft.client.renderer.item.properties.numeric.UseDuration; -import net.minecraft.client.renderer.item.properties.select.CustomModelDataProperty; import net.minecraft.client.renderer.item.properties.select.DisplayContext; import net.minecraft.client.renderer.item.properties.select.TrimMaterialProperty; import net.minecraft.core.registries.BuiltInRegistries; @@ -25,7 +23,6 @@ import net.minecraft.world.item.equipment.EquipmentAssets; import net.minecraft.world.item.equipment.trim.TrimMaterial; import net.minecraft.world.item.equipment.trim.TrimMaterials; -import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import twilightforest.client.properties.*; import twilightforest.client.renderer.special.*; @@ -157,30 +154,30 @@ public void run() { this.generateChestBoat(TFItems.MINING_CHEST_BOAT.get()); this.generateChestBoat(TFItems.SORTING_CHEST_BOAT.get()); - this.generateExpandedTrimmableItem(TFItems.IRONWOOD_HELMET.get(), TFEquipmentModels.IRONWOOD, "helmet"); - this.generateExpandedTrimmableItem(TFItems.IRONWOOD_CHESTPLATE.get(), TFEquipmentModels.IRONWOOD, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.IRONWOOD_LEGGINGS.get(), TFEquipmentModels.IRONWOOD, "leggings"); - this.generateExpandedTrimmableItem(TFItems.IRONWOOD_BOOTS.get(), TFEquipmentModels.IRONWOOD, "boots"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_HELMET.get(), TFEquipmentAssets.IRONWOOD, "helmet"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_CHESTPLATE.get(), TFEquipmentAssets.IRONWOOD, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_LEGGINGS.get(), TFEquipmentAssets.IRONWOOD, "leggings"); + this.generateExpandedTrimmableItem(TFItems.IRONWOOD_BOOTS.get(), TFEquipmentAssets.IRONWOOD, "boots"); this.generateFlatItem(TFItems.IRONWOOD_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.IRONWOOD_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.IRONWOOD_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.IRONWOOD_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.IRONWOOD_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateExpandedTrimmableItem(TFItems.STEELEAF_HELMET.get(), TFEquipmentModels.STEELEAF, "helmet"); - this.generateExpandedTrimmableItem(TFItems.STEELEAF_CHESTPLATE.get(), TFEquipmentModels.STEELEAF, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.STEELEAF_LEGGINGS.get(), TFEquipmentModels.STEELEAF, "leggings"); - this.generateExpandedTrimmableItem(TFItems.STEELEAF_BOOTS.get(), TFEquipmentModels.STEELEAF, "boots"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_HELMET.get(), TFEquipmentAssets.STEELEAF, "helmet"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_CHESTPLATE.get(), TFEquipmentAssets.STEELEAF, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_LEGGINGS.get(), TFEquipmentAssets.STEELEAF, "leggings"); + this.generateExpandedTrimmableItem(TFItems.STEELEAF_BOOTS.get(), TFEquipmentAssets.STEELEAF, "boots"); this.generateFlatItem(TFItems.STEELEAF_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.STEELEAF_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.STEELEAF_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.STEELEAF_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.STEELEAF_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_HELMET.get(), TFEquipmentModels.KNIGHTMETAL, "helmet"); - this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_CHESTPLATE.get(), TFEquipmentModels.KNIGHTMETAL, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_LEGGINGS.get(), TFEquipmentModels.KNIGHTMETAL, "leggings"); - this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_BOOTS.get(), TFEquipmentModels.KNIGHTMETAL, "boots"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_HELMET.get(), TFEquipmentAssets.KNIGHTMETAL, "helmet"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_CHESTPLATE.get(), TFEquipmentAssets.KNIGHTMETAL, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_LEGGINGS.get(), TFEquipmentAssets.KNIGHTMETAL, "leggings"); + this.generateExpandedTrimmableItem(TFItems.KNIGHTMETAL_BOOTS.get(), TFEquipmentAssets.KNIGHTMETAL, "boots"); this.generateFlatItem(TFItems.KNIGHTMETAL_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.KNIGHTMETAL_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.KNIGHTMETAL_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); @@ -189,28 +186,28 @@ public void run() { ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.BLOCK_AND_CHAIN.get(), ModelTemplates.FLAT_HANDHELD_ITEM)))); this.generateKnightmetalShield(TFItems.KNIGHTMETAL_SHIELD.get()); - this.generateExpandedTrimmableItem(TFItems.FIERY_HELMET.get(), TFEquipmentModels.FIERY, "helmet"); - this.generateExpandedTrimmableItem(TFItems.FIERY_CHESTPLATE.get(), TFEquipmentModels.FIERY, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.FIERY_LEGGINGS.get(), TFEquipmentModels.FIERY, "leggings"); - this.generateExpandedTrimmableItem(TFItems.FIERY_BOOTS.get(), TFEquipmentModels.FIERY, "boots"); + this.generateExpandedTrimmableItem(TFItems.FIERY_HELMET.get(), TFEquipmentAssets.FIERY, "helmet"); + this.generateExpandedTrimmableItem(TFItems.FIERY_CHESTPLATE.get(), TFEquipmentAssets.FIERY, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.FIERY_LEGGINGS.get(), TFEquipmentAssets.FIERY, "leggings"); + this.generateExpandedTrimmableItem(TFItems.FIERY_BOOTS.get(), TFEquipmentAssets.FIERY, "boots"); this.generateFlatItem(TFItems.FIERY_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.generateFlatItem(TFItems.FIERY_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - this.generateExpandedTrimmableItem(TFItems.ARCTIC_HELMET.get(), TFEquipmentModels.ARCTIC, "helmet", ArcticArmorItem.DEFAULT_COLOR); - this.generateExpandedTrimmableItem(TFItems.ARCTIC_CHESTPLATE.get(), TFEquipmentModels.ARCTIC, "chestplate", ArcticArmorItem.DEFAULT_COLOR); - this.generateExpandedTrimmableItem(TFItems.ARCTIC_LEGGINGS.get(), TFEquipmentModels.ARCTIC, "leggings", ArcticArmorItem.DEFAULT_COLOR); - this.generateExpandedTrimmableItem(TFItems.ARCTIC_BOOTS.get(), TFEquipmentModels.ARCTIC, "boots", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_HELMET.get(), TFEquipmentAssets.ARCTIC, "helmet", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_CHESTPLATE.get(), TFEquipmentAssets.ARCTIC, "chestplate", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_LEGGINGS.get(), TFEquipmentAssets.ARCTIC, "leggings", ArcticArmorItem.DEFAULT_COLOR); + this.generateExpandedTrimmableItem(TFItems.ARCTIC_BOOTS.get(), TFEquipmentAssets.ARCTIC, "boots", ArcticArmorItem.DEFAULT_COLOR); - this.generateExpandedTrimmableItem(TFItems.YETI_HELMET.get(), TFEquipmentModels.YETI, "helmet"); - this.generateExpandedTrimmableItem(TFItems.YETI_CHESTPLATE.get(), TFEquipmentModels.YETI, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.YETI_LEGGINGS.get(), TFEquipmentModels.YETI, "leggings"); - this.generateExpandedTrimmableItem(TFItems.YETI_BOOTS.get(), TFEquipmentModels.YETI, "boots"); + this.generateExpandedTrimmableItem(TFItems.YETI_HELMET.get(), TFEquipmentAssets.YETI, "helmet"); + this.generateExpandedTrimmableItem(TFItems.YETI_CHESTPLATE.get(), TFEquipmentAssets.YETI, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.YETI_LEGGINGS.get(), TFEquipmentAssets.YETI, "leggings"); + this.generateExpandedTrimmableItem(TFItems.YETI_BOOTS.get(), TFEquipmentAssets.YETI, "boots"); - this.generateExpandedTrimmableItem(TFItems.PHANTOM_HELMET.get(), TFEquipmentModels.PHANTOM, "helmet"); - this.generateExpandedTrimmableItem(TFItems.PHANTOM_CHESTPLATE.get(), TFEquipmentModels.PHANTOM, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.PHANTOM_HELMET.get(), TFEquipmentAssets.PHANTOM, "helmet"); + this.generateExpandedTrimmableItem(TFItems.PHANTOM_CHESTPLATE.get(), TFEquipmentAssets.PHANTOM, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.NAGA_CHESTPLATE.get(), TFEquipmentModels.NAGA, "chestplate"); - this.generateExpandedTrimmableItem(TFItems.NAGA_LEGGINGS.get(), TFEquipmentModels.NAGA, "leggings"); + this.generateExpandedTrimmableItem(TFItems.NAGA_CHESTPLATE.get(), TFEquipmentAssets.NAGA, "chestplate"); + this.generateExpandedTrimmableItem(TFItems.NAGA_LEGGINGS.get(), TFEquipmentAssets.NAGA, "leggings"); this.itemModelOutput.accept(TFItems.MYSTIC_CROWN.get(), ItemModelUtils.specialModel(ModelLocationUtils.getModelLocation(TFItems.MYSTIC_CROWN.get()), new MysticCrownSpecialRenderer.Unbaked())); diff --git a/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java index 1044d09a39..7cc05e7850 100644 --- a/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java +++ b/src/data/java/twilightforest/datagen/generator/AssetsGenerator.java @@ -4,10 +4,7 @@ import net.minecraft.data.PackOutput; import net.neoforged.neoforge.data.event.GatherDataEvent; import tamaized.beanification.Component; -import twilightforest.datagen.assets.AtlasGenerator; -import twilightforest.datagen.assets.LangGenerator; -import twilightforest.datagen.assets.ParticleGenerator; -import twilightforest.datagen.assets.SoundGenerator; +import twilightforest.datagen.assets.*; import twilightforest.datagen.assets.models.ModelGenerator; @Component @@ -18,6 +15,7 @@ public void generate(GatherDataEvent.Client event) { PackOutput output = generator.getPackOutput(); generator.addProvider(true, new AtlasGenerator(output, event.getLookupProvider())); + generator.addProvider(true, new EquipmentAssetsGenerator(output)); generator.addProvider(true, new ModelGenerator(output)); generator.addProvider(true, new ParticleGenerator(output)); generator.addProvider(true, new SoundGenerator(output)); diff --git a/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f b/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f new file mode 100644 index 0000000000..a2412d8e58 --- /dev/null +++ b/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f @@ -0,0 +1,9 @@ +// 1.21.4 2025-04-19T22:48:11.1485444 Equipment Asset Definitions +6583e2b2f09b15911a559e632e35453ed1d21be8 assets/twilightforest/equipment/arctic.json +402d50dfa8c0bbaccd023b2537d6e2fc49320b1d assets/twilightforest/equipment/fiery.json +9e0b6c58543bd6e21a572c0e9a1391a16793fdd4 assets/twilightforest/equipment/ironwood.json +39cb26b5cbffa681182733f6ab4785408f5c7a84 assets/twilightforest/equipment/knightmetal.json +7a25d8e83dc0fe146561894794b1600a586f3f3f assets/twilightforest/equipment/naga.json +3e6f4063241d7a2cd4e5a110f02a24e305b456da assets/twilightforest/equipment/phantom.json +c222f4d30024d05e38048c906a7f57c4707092f4 assets/twilightforest/equipment/steeleaf.json +aa810124ef4607357e3dcda4f0bca4aa9b1b1c30 assets/twilightforest/equipment/yeti.json diff --git a/src/generated/resources/assets/twilightforest/equipment/arctic.json b/src/generated/resources/assets/twilightforest/equipment/arctic.json new file mode 100644 index 0000000000..5aabc99361 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/arctic.json @@ -0,0 +1,26 @@ +{ + "layers": { + "humanoid": [ + { + "dyeable": { + "color_when_undyed": -4337703 + }, + "texture": "twilightforest:arctic" + }, + { + "texture": "twilightforest:arctic_overlay" + } + ], + "humanoid_leggings": [ + { + "dyeable": { + "color_when_undyed": -4337703 + }, + "texture": "twilightforest:arctic" + }, + { + "texture": "twilightforest:arctic_overlay" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/fiery.json b/src/generated/resources/assets/twilightforest/equipment/fiery.json new file mode 100644 index 0000000000..3f7fed7667 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/fiery.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:fiery" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:fiery" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/ironwood.json b/src/generated/resources/assets/twilightforest/equipment/ironwood.json new file mode 100644 index 0000000000..2d5533bc9a --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/ironwood.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:ironwood" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:ironwood" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/knightmetal.json b/src/generated/resources/assets/twilightforest/equipment/knightmetal.json new file mode 100644 index 0000000000..b1c19205ad --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/knightmetal.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:knightmetal" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:knightmetal" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/naga.json b/src/generated/resources/assets/twilightforest/equipment/naga.json new file mode 100644 index 0000000000..4dc36d1b3b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/naga.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:naga" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:naga" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/phantom.json b/src/generated/resources/assets/twilightforest/equipment/phantom.json new file mode 100644 index 0000000000..17f68aee6b --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/phantom.json @@ -0,0 +1,9 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:phantom" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/steeleaf.json b/src/generated/resources/assets/twilightforest/equipment/steeleaf.json new file mode 100644 index 0000000000..4ff297af34 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/steeleaf.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:steeleaf" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:steeleaf" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/equipment/yeti.json b/src/generated/resources/assets/twilightforest/equipment/yeti.json new file mode 100644 index 0000000000..482d92d1f2 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/yeti.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:yeti" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:yeti" + } + ] + } +} \ No newline at end of file diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index c8174bb5ff..bff231df66 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -25,6 +25,7 @@ import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.decoration.LeashFenceKnotEntity; import net.minecraft.world.item.*; +import net.minecraft.world.item.equipment.Equippable; import net.minecraft.world.level.*; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.state.BlockState; @@ -89,7 +90,7 @@ public static float modifyArmorVisibility(float o, LivingEntity entity) { * {@link twilightforest.asm.transformers.armor.CancelArmorRenderingTransformer}

* * Injection Point:
- * {@link net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer#renderArmorPiece(PoseStack, MultiBufferSource, LivingEntity, EquipmentSlot, int, HumanoidModel, float, float, float, float, float, float)} + * {@link net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer#renderArmorPiece(PoseStack, MultiBufferSource, ItemStack, EquipmentSlot, int, HumanoidModel)} */ public static boolean cancelArmorRendering(boolean o, ItemStack stack) { if (o && stack.get(TFDataComponents.EMPERORS_CLOTH) != null) { diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index c4ccc8b1b3..ad7fd2eeb4 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -614,7 +614,7 @@ public boolean addDestroyEffects(BlockState state, Level level, BlockPos pos, Pa // ); event.registerItem( - new ArcticArmorItem.ArmorRender(), + new TFSimpleArmorRenderer(HumanoidArmorModel::new, TFModelLayers.ARCTIC_ARMOR_INNER, TFModelLayers.ARCTIC_ARMOR_OUTER), TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); event.registerItem( new TFSimpleArmorRenderer(FieryArmorModel::new, TFModelLayers.FIERY_ARMOR_INNER, TFModelLayers.FIERY_ARMOR_OUTER), diff --git a/src/main/java/twilightforest/init/TFArmorMaterials.java b/src/main/java/twilightforest/init/TFArmorMaterials.java index 5eb42dbacb..5f3f7eccff 100644 --- a/src/main/java/twilightforest/init/TFArmorMaterials.java +++ b/src/main/java/twilightforest/init/TFArmorMaterials.java @@ -16,7 +16,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 8); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.5F, 0.0F, TFItemTags.REPAIRS_NAGA_ARMOR, TFEquipmentModels.NAGA); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.5F, 0.0F, TFItemTags.REPAIRS_NAGA_ARMOR, TFEquipmentAssets.NAGA); public static final ArmorMaterial IRONWOOD = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 2); @@ -24,7 +24,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 5); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_IRONWOOD_ARMOR, TFEquipmentModels.IRONWOOD); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_IRONWOOD_ARMOR, TFEquipmentAssets.IRONWOOD); public static final ArmorMaterial FIERY = new ArmorMaterial(25, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 4); @@ -32,7 +32,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 9); map.put(ArmorType.HELMET, 4); map.put(ArmorType.BODY, 13); - }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, 1.5F, 0.0F, TFItemTags.REPAIRS_FIERY_ARMOR, TFEquipmentModels.FIERY); + }), 10, SoundEvents.ARMOR_EQUIP_GENERIC, 1.5F, 0.0F, TFItemTags.REPAIRS_FIERY_ARMOR, TFEquipmentAssets.FIERY); public static final ArmorMaterial STEELEAF = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -40,7 +40,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 11); - }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_STEELEAF_ARMOR, TFEquipmentModels.STEELEAF); + }), 9, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, TFItemTags.REPAIRS_STEELEAF_ARMOR, TFEquipmentAssets.STEELEAF); public static final ArmorMaterial KNIGHTMETAL = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -48,7 +48,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 11); - }), 8, TFSounds.KNIGHTMETAL_EQUIP, 1.0F, 0.0F, TFItemTags.REPAIRS_KNIGHTMETAL_ARMOR, TFEquipmentModels.KNIGHTMETAL); + }), 8, TFSounds.KNIGHTMETAL_EQUIP, 1.0F, 0.0F, TFItemTags.REPAIRS_KNIGHTMETAL_ARMOR, TFEquipmentAssets.KNIGHTMETAL); public static final ArmorMaterial PHANTOM = new ArmorMaterial(30, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -56,7 +56,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 8); map.put(ArmorType.HELMET, 3); map.put(ArmorType.BODY, 10); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.5F, 0.0F, TFItemTags.REPAIRS_PHANTOM_ARMOR, TFEquipmentModels.PHANTOM); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.5F, 0.0F, TFItemTags.REPAIRS_PHANTOM_ARMOR, TFEquipmentAssets.PHANTOM); public static final ArmorMaterial YETI = new ArmorMaterial(20, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 3); @@ -64,7 +64,7 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 4); map.put(ArmorType.BODY, 11); - }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 3.0F, 0.0F, TFItemTags.REPAIRS_YETI_ARMOR, TFEquipmentModels.YETI); + }), 15, SoundEvents.ARMOR_EQUIP_GENERIC, 3.0F, 0.0F, TFItemTags.REPAIRS_YETI_ARMOR, TFEquipmentAssets.YETI); public static final ArmorMaterial ARCTIC = new ArmorMaterial(10, Util.make(new EnumMap<>(ArmorType.class), map -> { map.put(ArmorType.BOOTS, 2); @@ -72,5 +72,5 @@ public class TFArmorMaterials { map.put(ArmorType.CHESTPLATE, 7); map.put(ArmorType.HELMET, 2); map.put(ArmorType.BODY, 7); - }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.0F, 0.0F, TFItemTags.REPAIRS_ARCTIC_ARMOR, TFEquipmentModels.ARCTIC); + }), 8, SoundEvents.ARMOR_EQUIP_GENERIC, 2.0F, 0.0F, TFItemTags.REPAIRS_ARCTIC_ARMOR, TFEquipmentAssets.ARCTIC); } diff --git a/src/main/java/twilightforest/init/TFEquipmentModels.java b/src/main/java/twilightforest/init/TFEquipmentAssets.java similarity index 66% rename from src/main/java/twilightforest/init/TFEquipmentModels.java rename to src/main/java/twilightforest/init/TFEquipmentAssets.java index b4b5ec82b6..ea937af420 100644 --- a/src/main/java/twilightforest/init/TFEquipmentModels.java +++ b/src/main/java/twilightforest/init/TFEquipmentAssets.java @@ -2,13 +2,16 @@ import net.minecraft.client.resources.model.EquipmentClientInfo; import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.equipment.EquipmentAsset; import net.minecraft.world.item.equipment.EquipmentAssets; import twilightforest.TwilightForestMod; +import twilightforest.item.ArcticArmorItem; +import java.util.Optional; import java.util.function.BiConsumer; -public class TFEquipmentModels { +public class TFEquipmentAssets { public static final ResourceKey IRONWOOD = createId("ironwood"); public static final ResourceKey STEELEAF = createId("steeleaf"); @@ -29,11 +32,17 @@ public static void bootstrap(BiConsumer, EquipmentCl consumer.accept(NAGA, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("naga"), false).build()); consumer.accept(FIERY, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("fiery"), false).build()); consumer.accept(KNIGHTMETAL, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("knightmetal"), false).build()); - consumer.accept(PHANTOM, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("phantom"), false).build()); + consumer.accept(PHANTOM, EquipmentClientInfo.builder().addMainHumanoidLayer(TwilightForestMod.prefix("phantom"), false).build()); consumer.accept(ARCTIC, EquipmentClientInfo.builder() - .addHumanoidLayers(TwilightForestMod.prefix("arctic_dyed"), true) - .addHumanoidLayers(TwilightForestMod.prefix("arctic_overlay"), false) + .addLayers(EquipmentClientInfo.LayerType.HUMANOID, arcticDyeable(TwilightForestMod.prefix("arctic"), true)) + .addLayers(EquipmentClientInfo.LayerType.HUMANOID, arcticDyeable(TwilightForestMod.prefix("arctic_overlay"), false)) + .addLayers(EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS, arcticDyeable(TwilightForestMod.prefix("arctic"), true)) + .addLayers(EquipmentClientInfo.LayerType.HUMANOID_LEGGINGS, arcticDyeable(TwilightForestMod.prefix("arctic_overlay"), false)) .build()); consumer.accept(YETI, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("yeti"), false).build()); } + + public static EquipmentClientInfo.Layer arcticDyeable(ResourceLocation textureId, boolean dyeable) { + return new EquipmentClientInfo.Layer(textureId, dyeable ? Optional.of(new EquipmentClientInfo.Dyeable(Optional.of(ArcticArmorItem.DEFAULT_COLOR))) : Optional.empty(), false); + } } diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index 00c5c7da00..9cd466e8a2 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -1,7 +1,6 @@ package twilightforest.item; import net.minecraft.ChatFormatting; -import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.LivingEntity; @@ -10,8 +9,6 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.equipment.ArmorMaterial; import net.minecraft.world.item.equipment.ArmorType; -import twilightforest.client.model.TFModelLayers; -import twilightforest.client.renderer.TFSimpleArmorRenderer; import twilightforest.init.TFItems; import java.util.List; @@ -34,15 +31,4 @@ public void appendHoverText(ItemStack stack, TooltipContext context, ListNn{1`qXK+FT;IKW_v+QFA3uKl|NsBx%a^}?{d)7}&Bu=)U%!6+<;xc*b#Y52 z5nnxNdlfN%E$MV4rAiBpSUq_=Wl?h_kz8j}6Gh=RA6o|%F>ehiYh_ViO(_c{5pzXh zpz+7fp8~l=t|Z7W7-%?d!0<*wCJv~Qv%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=; zEJ|evNX*PD(erZ+Q83jr)HCnC_T3VwW?O26XPT#{76S*6!^$AV$jZP7WO)IxG?Wbr z9Sufius9QtZOF*PAONJJfHopNRs#Tek`$E;lOO;~?L;vtMmjl)P R1waAH;OXk;vd$@?2>==E_;COL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/fiery.png b/src/main/resources/assets/twilightforest/textures/entity/equipment/humanoid/fiery.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8bf9ebfcb3378312b98c313d469bcdd09cf992 GIT binary patch literal 2577 zcmZ8jc|6qX7ygbh48quItYaIYVlehywsFZAgpr-fmNhC3vP{;8NKx zPG}UBKmj-d9pLp4-zqhsy`^oU4FJ_iOeandYR=$mXcGVcEFEV6_4t&yQj73FJ?lVo zpPPZfPX2BH*2(=&pwu-z3qg4)87am1@dIV5=bf81<|YOs2|%d{1mFQd01#CfQNjD4 zK6{Ng2>ef-hN@*iGysgscq-f<)BaQUpz5=5q~dJ;fBb)!0$>10rUz)L4wS4M3iR^d zt!EREm;Y``qw2Guq3)si$B9!`qN@Lr#SUi4)=P^!uSv@Q!e#2gp;I3MTYo57I zj10Hl=l4VT3~8}-(otiBfoif#LJ2ODS=ap&PhBNSn~q=2mF@FZ*ad5uw}yU?0IF$z zRarmIJjPejX$9FyOGs{ydYWh?5#vI!=;>=p7ut&lmf^?RoE=CQPu_jK<^Y^@Mhdsubx!+N?RfZZ1Z~ajHIA49 zC@vHAO=YZcz_Djse-Tv~-5)9A$Kb3Om8Oy=rl9K zL;mtg`Oe)#*?TfvMIdY`R$?`iXpdSFV!d|4QG4tf%;|H`8)EK`@bbVYarUqTHYgee}Y@Pr`z;k32l!Tb23pCuHguZFWI17m^$`z_GVEPP^|iC7OBcNqV)ha!IS`kF`GkK zCTOQ`Bg6Wp&|HTVw>gZ)_gY`;}&Fkdv7S0 zbn_lkYyE+)aDlDsH?{p)<~B`TZ?B?*NvIyEnyn*?TuVH4XeeBesyCGv?=bpWA8utI zdvY;s;+1Of?|TxT7_+&%ek7s-Ke}5-Pc-U>Tw^DcExjO3(nnq@FvS4ER)SBsJSIEa zhJq6JUx*%AEH@|}agmD)k2|NjOEPEj+cCOB;*%~D2e+X&+zAcd#!ejXqw-3YP&XIK1Pwd6pFIYLqNg!#s#@v&Ow{#F?2L-j)*p0u8! z-R`?>pTO8+hbX1f^Ko2=Nb>`UPU)~%{^HoGnV#sQ5b|cb*idmmYZ%|c-X&>Imp+&{ zvLAUN^Dc|x?4>>t6+y$4vgJJ8txtvPcjH=HjAo83IaF#2N7?VjfA$?1ffZe)=tK(z z=jnY|C{jR|C5O|sdSUyrZc5P)v%}G~T#=i~kk(0%)n*bY^)yC1I8S#vh<%QCIN#%r zD&3$4Q=Ynh3jslAqWOsA@Q{E0gPa}D4SWN$77>oIl}`?IHza<_KqEAi!0F2FE4yj zH7`5f6%tVgO%bj%R|+eAj{cb(Hk12hLdIZKIeYz^^y*KtT0n;6j7KmpFv*}-WLw)f zx&wZ+y*4tZJ6HXi8hS`M$!UQ{gL2(s8tUg4(og>;D#Ti*Nn9C^$-JGrcDsJ%0lMYf z`PN&nZCDarFDb{q!*sp@CkbgBp|kpouZ)JnWe^_US2)WvPblRRw0?sg=$Zk&bN~nC!Ce~ zaP1h#A0|V>wyqu?0d^&EY;Ak2ltV7D`;kdXApDW2oeDmKO_xh&^lH=YAT*>^^Bh?J zNp$eG+ne&Zk2OuuRuRj^nvo6BmCd6B9=T(!{{4Ng5SV>WHe7RKSz^=5l_l`0Ao+aalOxdKHI%y0Xr@D*bj`dpQji*GT}!-^7N!xnC1 zVNd#N)$~qc@N9>Sk8Mqhi+fY^<))^((f~2X)T5(;j&2C#j_Pv@^b6 z&PLWeG5k4<-l~{lWuDnE?6gwCUGH+FzhapxSV;inYlkTm2d9^Kiw_BA>YKvdp@YW5 zAc8xJ(h@0i(1jviqaWhaf2vx}%f4lMrPtzmeyI<{m?srpYLS);78Uz?-66{7R6vH` z{#Hy0YbcXns4nA^u1pi{I33Ytq#3*|$Ug^fulKa;s-|{;8?v!ErhE?-F-mXNBRXGI z7zO?ovG&YKDK*(~oG2F_TQ0G|nEH*ZS;a`&LQvA>74YNa=vooBQ}2s3Jp8cBsrq#8 z?WyiiUH%I4rR-|Y=*ZcVT@G@;W}AmrWU1j(3>uR_w~P#Hs6UramJal|&!tyl^5@s0 zW7V+0gCl8RnPu+XA$|RC38V}}`;Q&9={G24@$|{V_}FByf%CdIYw@R@XoH8YVyA15 zy1Vk^|L_|)d9#aLj>PPY*5H$A5QO1-QeG8S*ZhqNy2R^MWR1PLl08icJL=00n5WSS z<37KPpHu$Q>E&0d%X_tc`n*)GEFI$x-9*-0R>coikT7@&gb*I&vVXs&UxQI-xx!EZH9~N7XbiZKkNbS6K=#x++($Sf5Mlr=IiUvFLDT?wF&WgvNc@*KwFD|tC=`!{6rmlFi*0a zuGTPBxPM^e1w)xsfC{UrZbpGZQN$Nn!`OR8KeI=!&s?MyN!RutFHSvD*^4TUH({wk zlw4eSWq74vs%>OKs0I|ayO|LT*RjD%k)yaC)I`JPV@;9iQ#3uhV!QL^11&vme)E8z zvyB_{P=dWEdh}to*Ogkki=QW7;^+goBH)B`W%Yz=uVAcAg2I;(Dcm zs+sNctXi25nF#~Od?nF`F3ObH1a3*ur~O4?G|kV}%mZ||<5ZRd?q?glB|81?C@d}S z-kqsi2;1G_-|q0K_YP(^up%*<->2WRYQBWmeTQ*-&emqr>@0AXS7D&rdL9Tm3W{{Y5i7Pu)htd*-FAKpk8&t3&lyjtZE@nd#@fn;s zC_vZ*&oaXtlPc<#d7riHWHzU%rz9UAVzbskMVL(K@`Xk0^-)bFDhf3cB?v{ar5KEE z+)#W%il5#4UcP1LQ_rZRq_Pbw%76D>i>E8M_7`LsX4IL)Hp||iF(zwRXA{x9Wq08D zLxRq9;TRbgA9wk{Rd63z*=q~49I9e%viI-)y*1n-nEJEnr~$p5-Cje~RbBQ~R(Q9j zZAl;`_TR_&W|#8AMe+LGMwNx3iQiz@?c_sfpgSjxK3+y z?{g?BrSAMn-2X0Du7!faxeXKfSnITeX&a-m({ABJ@C)V{Yo=AcAzAdqx4@t}e9w8AdXRU(>BXQbi(7vO#s^=%cFTi?&i+A`e#QDmStPWcKS`8h#_l_CT zzeV~bH4!=4*Ls}>W4Fs_(%xX7@vlV+{iqA6%Fg%?hg8w#*j+ z)Q?oyJ72f%4?h+!i>7pK{VhZ|@+{ySlrVvC4i_+S5#eXn1GNeXL_-DScxRi;Vbw`x z3sxz6UihA^S~@fQ?86WKFW=7yk`Tv4cIG!mlePBEI5xO)k3{=?_`ask8}Ew#68DvK z+nXeme@vA!9#Luc$@AOb^o>tDA$PtFbUF@?OiYJ+ZeCD;T~(;T{;3!oytjT$Vc*T8 zVzR1%4k2e^+xfZSHABg!>wU(oJ0YwB=XNy=;Mh)o@G3ZpUbr%NVzl#i`cT6 z?4H=nf>%2+B@bLHSGpcfc%b>SEh?Qae`z!~ny)ttW*P%5tY$*D-$3D;W=P1Tr|C>2 z3`?V$>nJWq6yh(@mo~g?O*;awYuMel@OSAMFwQtA z7cxr>p4v+z4aQNSeq3E@n34C;nt)Wes#9 zRmUHDTkAa+P3bny;^q0%xv^!P4nF+K=lAza_GKlpN4T%A zfGAhDnFSd2POofMwIX!7BptKKj7{jBV747)O`^ItOT%QfA|z5G#0-a!vi)*_ZWvA$%%fJ7r<)pi^-6)b zC&%BM#Lp7iY>@HV;O!S5@x)W&2Z5=tW2&3=>rLJsF+nHsN|ujFCzSSRNPG_0enKR3jYI`pgHaWc&VuJ*;7&t%GIP~r6SlsZIwv?;xXUq5AshE8o zd#$;;-hPJofkXrx>L+topEfr>Tz>no1p0`eVc*@>Pv2DOrWtL<@w#2D)Z>BbZ3mm> zFVO6TT))RkM6=9qqqYP}e45O-=qxLtZNch<7!tn+&6O%IR-c@-Qnlz1o7!tG=xv;7 z-G`wtN-?iLw9i<6i9A{jWUI#2zb|TG>(GhCD19cYoX7Y4W3M>9p6u&5KhV%DnNgcC+WSoV$?R5_eeY{#?)76HTO6^VNB2pWZHd z{gsF?DknUnry6r+z*eW1W`gL3m|?hJ@~GQ`tRFL6&}^()h0QOeS{cXhC8u*I%#9B} z8n5B1B5gLcu9cOFY73>R782RaYbi9sG}e`Ns{_8Gkgwrt{QYR7+31t4KIG_GZ-HiP z;mGHS3Zac#?|zBIsXqVMO+zA08kKTPOU6{Z@uPMW682p43%9h*vsp6lyyDf^^ek-m zl58WJl%mzNn{1`ISV`@iy0XB4ude`@%$AjKtYKT*NBqf{Irtt#G+J&fW*wa5zyvgh z39K^6(gMhW>M}Gi0LiMl&+A=mvh^r1BwRdQ978gk--bo|$An76R?okEr?Kem6u+G! zOw3!wkN$8-%IXQq_4%WDOmU-Ee%@@c+%6( z<>p_PR992sI(AZJQMzi%`I$H8Y~H{1+V*|TESy3r9upKCo1lz?|M?bem6P__JM;QP z{uLevN?5}3LT;^c+;%OQIp2R##l>S!YPjk`x9|J=+@g#nJUCU& z+Xol8pOhLNe%x~4?w3yn=P1!EdJ{_FeH zJ(JU9Rf<2nrE)C`%lgNs9;Lp0eAswVF4tm*goJBu-+Fp$_P4qzA9*oTfcv^v{g2PR zuNVKC>1`w2ZR*o`uv_zs@9hp7-h<5c=B6!=YTWww##~UI{`uFNY*yQdvRQoBCm#7R zqd8}Oi-#vmY45_~NS+vv!wL(#8h^aGYLXULB5+Mq`;x?rQwara*8{Iu9gJU`%hWRA z$Jg5oSJ~~d*0rD7*5A%A`s|t1j$h|G;&zlp?KgOy_?cZ;O-Ig4`Bu2ccZ(1{j+JQ+ z?6F$nfqHxwA2Y=+<`a2(JxVb_@V4oyv(LmgzS?+ep_`X9hv$N%vtMO7j~gZ|t=D(g z=)G0P@>X7}PT2ju1(WiYS6?%5ITQzusJifiWEsh%?R%dSPYZ=@5B zB=zzy!AJwm78S;r8%j)eb2HLaujRj$jY_`F(xWf(<>%(e8#NC;iE+;KUA#VgvCZNM znmab=uuqlU)-@^O&yhpd+Pe2~3Tw_zEZfbuUaD~3=0!K&J1sB?Jo4)9{D~(&Kil%Z zIr{C{pNlV)aW~lRDcRm-oh`Rz<%JckJc}C`MIO5Ni?xX=oww<}y7^>zKr&x|T05h} zXZ?()?+V%NewXJIaaleVS$6uegnj&yr7LUNFPbqHhKPHK8L9JVd`k;AXXRGTu?yYt zd1iaBD7$?w!~UGCkh>dZGOnJ#>&KtNS(o=^sF_z=rC(6Z;oaP1^ECeVFG2t7fgfjQ z%w}->{>$fChiimPXj|%L^PlR$GqkwXDjd3U-mtS3-4u~I{ou-pqz_JN*XHXk+W32K z`=1S+Tc7gQd_T*zFJ_l-Q0|Z4#~T_NI^WrKUAWO3Q2FR!k;Q#p)|uZg-1ROiVmi7| zV9ngk)-6+oD)zj2^f9QJbKS$;4)>QZ&$he}zisySm-Ek>Jm3B3&U+Ipr;o2?>XVm0 z3Ml^Bbi{=(=T7v-j~9QxuK%@X^7-c_%fdg|+BY43(ih)zX3McJPtTm3eSN!m^lhuA zzREXOxBI_#GfkPb{HI9kY%$R72#UB*oUUVy$(6 zLbU<|Xw_0tVbx-{p;oP{!-B0ZNLP35_$aR9Le~d~W2uzEz1Z$A`ycF?Irn_-x##tn zxu?$MFhxi5A|VKhwwQC=z-9rJgolB%WqDH{FpMg;nBKQ$pSZlI#vmxmChfy=d zYzSh)E_=R#RKh5tBybEv5fVd5R7qh7N#KZ5k%1`*6rnLCiKDs-Hfa^nPNBApO&|)& zA)xIN1uVxgR8z#o3`wL}q;l~vrGj$taFdvF3Q2bYZj{gjN}-CZGB$4GQ+5$y7Lj%V zW)c&20p;e=d3?emrW`yq2*{Dpb`fS0QZ50mgw;My27%&c5pEW!D%g~hkAp5CI9Ev6 zgi07DtRm7NCCn1kBBb*8lskb$U_>ED1m`X3AYH<1VULQR4$*gi7};| z0;EV>g(13i;e<&{nk5v0X#hc+kZ|w_t3cypQvloeq+LW>B^VgYAtKAz+BH#>RfJi@ zv{j<@aj3jR5)9)^L=~{!#~~epOdp4K^9YL&&5@9vM8YT{z$BorhfkR$xIs+1cod=_ zoP5*-iil{300m540?Z)BEn?gzq%2}Gmrq)RDjdN8uUs){OvVuyh0`eIE1e znJS|_i7HefPfsHha#)^@!14?nrBNka#>SRQGrSzFH$t;2RPN616u1GfGG&pSBBBd5MHwgy$qaXSECBbl9Zm7nkq|CdH6D!jB+M| zFXYS%gMm5ecRM`K|6c_<<^5d%u!yKM7gj+Kw|`C<=PM4s4x9;o!%DxW;thXw@rDw} zRqQSI!wy5fgn$v4YWVw<3dHo4thBsgv7|!b;KGJ@3^v37$O@GI8=l+76h_z!KNDbt z!GvOfeF>;{JL`qN6yP~20y>xfU;95zA+XOoI1md&C{aww*#B$QxeWIHUn?~OJSR+0 zhxsDXt)caoWo~mSvvJ|hg+Y0Nv_7r8z_w_;_m;f%q#_uEk49bDJjzFnx?N`a$=B^~ zO`RI2rfye{{upQA{7V+8lK-Xl?S8-1vMaG(8L#iiZU~M=A>S@#WFhtOT?cw6F1Gg- zzCUx|7HqW0)^S_!q^BCai;IqR$#_nrhOS~6TKAx_5 z+Ii^Uo5cmUI9b}pl$ES+ziOL+&$;Ej{<^r2IzK!2!`S?*zS^bQqK`tumkv%ZUbe17 zwMxwBD=|z?#-|ZO1!qey8I-JFI)Z_<1)d9s<3{cW0+Z7h`s#>pEHY@YWSj7(=r{kA zRGp>kUZP&``6|s{%X^o%E$+YC?NG_grXi|zVh|z=PbMEV><&FT?hg#T3Y9-zY29?@ zW5NE<#v038`nKGVx=-BL(loxOX?*io*yfwZ|Ga5Mnf=MdRADve^v;gi{Ku114+0Aw z_*hf(A7obclH22$*|M>wvwQZu{QYRApUwyut>3ok!z=BA$|HA9^auXAZ1`GF%Cauc zE1TcGAKJG)>)DcuFE&(es8#Jv&`76N)2V6o_tUSp(xV#1x$9M@55CGRAD;Q#dgzh1 zBWBS**dr@KQS*XH^9TOD%KYSFPrmeC=bea}$2SaZ`7_PX>A1xvr#t10pueS?*>kM4 zCRD889IIQ+@-W{yQb%W33Vr1xQ#e$J>Tky>?w#nKl|Jk#P|U_R_12~!&hz3$r8~I^ zPq#MAy#93GT58p>uEhU29ky|L(}vkjr&@{$R=RZ#>Pt z^f^6sJ)R{le?_Ky?b=N&M|n5)=Z%NEF8{J5W1oQW{HJOCcbP?3ThAZjPV9g#M_%(i zN`#ySiuY_B3+4M;w%i#lIkUHRtncx>hPvY3L-p+uF%N@J49U73YeNB@58D3HA9UTb zir|Q+i*e+SCQ-=rH|__+Uydi#xNk0*=+e*TduyK$onfkfo^A}^Rbhyg)~KuBy7iT* zD5h}oa$DyIjoqrPycj-!536k8`Q_@wDBF}GP3 MgCpmdzUbZm0PY3(xw8@<@%wV4HTXZBuE=e3r zoDd@SBt(8FO1b~$ob&tV_k2Fz_xpXG_j#W8egAnsPlA=DDHH;S0000eg-o*Hun`Ax zM|e1EVIKW9hk!vgrpAEEKItWn!|h41AOHZ>Dg3*a!5p72fb19q0KnQ00qpWGqjG{0 z!6pvDw*DT$p_c>Q0alm2uLY}Fn%K$dsA;I_CXW2XadMu!J5W3*loNm>90v@51Hk|w zN11UT^{+m>4H^jgJI=+?8bB_h2=y7|KpLaBu*&_S+uh$z#Vx{_Ov>2rQAfCDfuIosZW0k8~Jv2 z&#B9rV}O!XYF_Y3_@3W1 zE#+X1o_`SNz}+v6zO408PYw_<2q-$KnTXF?PF7Iuk4x#lE%vgjD9J?JwHBAzxCi@c z&aEEsRtGv0erqWnswn6q6;XjOx~BqrF~t)ri8+eEA2+HRNTf%JeKmq%(AIv}hAzQk zUJo7cyrdPJl?}(IifTPX&*7jka<_z)ce=p?`#9=cxQ!>i#o-QSyXI!mX9hv#&tzN!&dH+Pv_jp!GePPDiFdM3ELSxuhHbb6 zI~dg-zjLF`*J|-XO6@Q#m-Z6qUN^Sr1&=<}pD?$GpS#V&j3_G2NslQ~Yf~^-y!D!5 zWe2Tp3->d$0XbT54XUW^&+3QqGOYeuXIfvBu}A8g_=O>5z3Jl4zRnKzccYWI1WJuH zeCQC#C8M(I+#jo9=1Jy6+itQ?d=h<@npJCK?8FqVbml#uK`r!4k>!~`uTpV|ZpV%! zwQc(2Q$7X=jQ8z|hHrI_Mn$T-i=S1!velZo)^jEzS}GQiP72YR%P2uU>PT$d=f;o0 zB&1c-E}{goTJl=Il4V0=o^;mTIgNQNklAl}hi&~eSPXKqrp$9uq6G(j+Mh7kq+@jh zs_));Ns%O}6;Cr9O-yJ}p4?xAWEm?zdoyErdg7c)CUJE;BVcSLYt`=h@}C&|mgT5H z2pI;HeJMI?{De5^C2Mg@222FGkU;1TeWj+hnQx6t*@O;;w%&d2r~xxy>YePaf)4M< zalI2@L38&kne0F3NV3=Hm?QpgbDY@g(GyjMuM77y;tP+keAYug&BW+9+GUuA8yiwz zWxoq}MEljU5u1T~vw9CBo5^Zan{w-Ywntg4`F&iW|BCh?yc(!C`bUcsuffP zs!oU3(Hx-%hBgk`kog;6bEG^~0qbQM!xY%g)Ct_V7{zpb*d znW9KB?_|Jf!fjM(F;h*pGH=avxXpspVCQUTn5w_sU0nw9QFrZN?N=DCt1-Au0Q z7fu}rI!_k}pGhXAmQC%&qlM_1as#m5M&3Q}Rp%N|%iaR8 zw1+4A%LO^IkVLmOTb5>SMyfY8%@fz;Az(2oL9Aco7ym_zw>R*cTnEkJ^F}}x89-e zEAU$zd*bV7SFHRyY*j(BfE^cq44>B)QR)kMiBH}jaX-WVFQjPq!`hyHGoN_em+umV zzzOF0qOEr(@oKQOJTG>o!myR-o{T+;cuI;vVF{fZt>MWI$Jec(zH(6lMXRg1LuAJ9 zB>KA=5BX16lOV(R`40v?lZ}<5`HYbdF6_AUep-1e>kSt8zc`(`4%Wttm!mYJd#}J1x*@ z^_I}p%_z2-x+LNf%Wa=)SEAf{g50?MzOvob5<3tanDz~i<0tn((iBcSZ>g13PzVk9 zypGnNb`A4W9|O)$fK()Zt9UKh6iqaw2_C11vB!mfP4d&7yflvXB>l9++S)-enjIeX zj_EJ;`-2qV3F)5bC$EP#?S+I`TQ?tookt3LT@;vb`)?z45)C@; zVn~D*Ww{u)tS=vw%QyZ8e zlGh6gTk6`uXi3MJDPgcCebR>uJwzAU8R$^<$zUuYSS`_?OHFqnR#U zk2TD*_u36z>h-mqe~R&D3_8!TisAe&OL3v9DZi^qp#za<>*0vTz}zf&R&3rgVt~?2 zAhmF2W30h0O0;hn``7}0We6e?lsjc#vBL+G0Ucx&Bv_g1s9uRwOe*ignIG+I&098} z8=pI8<4Z%&^wiI5Z4jCs%Ht~K$=7X1cC=eF&hOmUHA38LmOb9%tLD+KyNsUF(cXP5Iqj!=H2Wh8r*UfC*;V=!bHoUR zdLPn+K!_jw%o_U@sH|m+$7UC6u;0>_26lxq_|GrYRA{P$9ok2G(YcZx3u$*(QSIxE z8bhH6(+53n>Vpr^ft#fZZk|b^YeqTDBjwFuu>H9BvzPT;; zpRLP_w;!`72z~E&_9Voo{n2P7Xn423lPVhrM6&sC=FR7CnKN(@wEgvmus_6y&33yj z7J{wwp3DPiAa7HweyDA{`yiK39?P7E-BJR8!RHMC zbxb;l0IWTDTz&xZq<}4-S3lI&UvJ5BYNxam2sL|_fq*;L&QHijKwf!nps<8;$C?(u ztPZ$R4Fn!!O4(>(pk|)aA*}}Fm1h9VU1V$kN;!@C99p|^DWli`xa8?P2um@S<*TWa z*B9p|wE%>7^nu4)tV#mFJ~|T$fKQ(AX9}1oxR@5h)zfo-(USE2LqLh?M5umCb3_}0e6?KbqHj>AQ6fkMk( zQ8LHMvjoo}z7uZr>=(TS(jdxjo()VMDMokd5H5NPBn0yS0000>l@=QB-o5kH zlQvNl&UH3z^RZ1gQnFVO`~Uy{j~_qYym@1-Ec){0OMfkCZw;xBA3xeDi~4FxIjD&J z`t{2~NyJ=H`1R}8U%q@XR}y*k>J`vzs|6b)fs|}XkY6y+5S)M^vh8^mP~l}y7sn8f z<8LS5ZfE(UF#Unh93KZ3Gj}PYYU|xgUo&w{ZtzOb+p)YP zmSG)(N+Z*9)}$GncG9{%(oGtD$(79JtCiALSq?tQwqY(~Dh;yiWF zNh(kj^w{*vZMC;h($ diff --git a/src/main/resources/assets/twilightforest/textures/models/armor/fiery_layer_1.png b/src/main/resources/assets/twilightforest/textures/models/armor/fiery_layer_1.png deleted file mode 100644 index bb7877610603bd37ddb796027396764057d0d2ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1922 zcmV-|2YvX7P)WGfS?jXLD!Vv+bMKTPhnSIpRxw`nZ(8i0Q)tJ zP~*d~81e*SIGI2;p1>dhXg;NH0t;Ze^En*zN#?z$dGj>9IRo}|3hvAXhyi9@V~*G0 zRC)pL0Q}}tK*VaD%If%eI2(QALVu9%fJ~>D4@+p=pbsOUfJJy*()#)x#{nKq#&-#_KR^ zfKg@z``CTJsrx$Xhxq>yj-9JSVwebfpjQ1HEu490k1s?@8q}D`aFZ=h{OlJmobt^ z!kgFN&89-(`7W<9n=p>Z`vMCpEUtqX;&Ou`bdCb#4B3>1=2V~BoKx1}UaNIBDS}u> zR*N6+rJo^~N>IyDc#VFT6+@-ROiEK0V>PnyFZ`T>>&Q^+*;G=!%ke5%#h$)n?E%2i zv@%6^p29Xh-6yS5AFNXPQ|CBk4c1~myfT5gejMKWmoOwIPmPOP?BZ1b7b|ENqnn_V zE)T$(i>SCFBTx4lCLnexg;qJa@d4;qTG;@~UxZts=`U;|!9VvO@m(oXd+YZj(R!3AEw8R?U$_MGtKF$x`ogW>PnP*xQdo{@O@i2ZNZW(a zSO`Ej>WB%ZtnqYM7-f>{zyccM@Rr8lE*WUAd~5B4X^T-E3v7%QqUhBPo`YJF# zfY#|B0oNPw%Tdnb?;eTb{WE)kqhCf)-;UtiBexzPv#2Sb9Hx6%EPmXDxO%o0jLwfc zvk_H7qqG(6xv(@Ig;~Q|# z{;>0GlA?2t-Q9V{^1!VJ0JW5AoHF8*SBh}XKCrsMDFe-F7_`QjO@hV zb20&cDY@EA#bX#Z^iGg#&czfU3NZ2!&YSF1FF&T9cQ7Ma(-HVL0nM<{vX{5PttC1N z!BQ8p7LMvlAnEe_f3LuK{a|OqGUQ%3MCk)?_Cer8Ry9gvY>ZkZy28AEvlET8Pe`h6 zR08jW0Cwdtq<|78dQ3Nzu#y6Wm&|f~`|_{g{q6e-tYMCSR_}%PPF)3T$zG@%T>zk= zvDS~PO}HPt0{7x?!tRhw&p5lsodia#BPZ`)BOh>WS!rh?orY6lKXB?h7}r9oU6|%P zg_ZfT&i~*7aIK0aUB{h?t18l}^IGLvx`}(~7r?piqV*gt<@ntQ-r5iI+{3C5@o61) zu?qk=C+}6-RX+a4A+%rKivo+L>`n5tKtZJm5{=@$6`0pwP;+Gj4IMWwKcPBD)k4!^ z?utYd37ZiMxwx+j8f^ay_O%Aw^N+$lc@ItOON#9=tBlxH9sW#OMQ^*_t0HYM8%Abt zneFoP_ftc2VTz0;7@>a+^XxB`1&A4nAO)JP05C%Bwx9or;t&dY2#QzZxU^S+p*RA9 zHo^I_W>3kkB5nw1XFJGUF|%Kh|bO&zefZyknnwXXbLNEqb?1Y+DU z6cdd~7dXe(iw~+6b%Hq4&+mpgvqMGjQC+k?414A49iO)sav_(< z)>fjqd*&hdr@yDz9|>G}YBEEnNrV@n>=Qo#F74s`J7K->V+8*>54=-WU<+7MXepQB zy{vJkV_mQS3h>dXkNM)GFqvD0_LkIUUi}N4#gvNXvZ3~wpTc?jPdp+E&k0)9|DR?) zJQQkETtL=Ibhla9e4-NSNd=;iq~;W3#T<{_rXt;`@=Qihp{T?J-#xvX(KVs~8KTg5 zdkQyd1q@P%T`Y&)>&pn<{j-`Y1gBJWpIEXklJ%X5a4=TPr`K=)FDXT=K&Wbo%FRj? z=2C`7;(12xzbef*)qYyS5b*as@Lu^X>9ZbnF3>K0{trk02l>$1`%4AM{r~^~07*qo IM6N<$f_YfCNdN!< diff --git a/src/main/resources/assets/twilightforest/textures/models/armor/ironwood_layer_1.png b/src/main/resources/assets/twilightforest/textures/models/armor/ironwood_layer_1.png deleted file mode 100644 index 6e665c4a291e75972b6350cef0f52f645722fd0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1988 zcmV;#2RrzQP)L+=DDskr{)PfYA5PBm8D`5|5hELQkALcH(#0iXegbZ5!y;@W#HVR)V!IfS|B z%~%YdfBFLP*a9+te-|^odkRp0w*sHpqCiP#9CRzn4}(rs$8Nodd6Q8yMXycbG>j_S>+~cu=lt?|0g&B$+8xID!CnLPat8U-D%!OI7eDlX8`g9Knk z0k~EW{B(ICxq3ORMwmYsh3WAlIB1-YZv5}X4zqv`Io`SVy%EU*3dHmjTt*|@9G!X| zwcIkc)&hLS1iWSgcCrho7naefrO+&`p;lN&W-|)6Y4Z9#Kn!%7OmG?vbm>`$VKV;9 zTpizZIE+*Dl1G?)?^iI6K7wWJ1JsKNWH-X}j14qO>!{{dQO>Mr2wXb{Tp0YH58k-yLx=WIO~_04_1++dEl$Ssumos*Z*fhl$N_SX-$=8*bd(&X`=%~V;v_MH>X67tphg(>*bUnuo~O5k2yHNi~)ApOr@ z!1nS1LRXMDQxH^2jA_kEu}fT8~*rr0aUB2vML{FOdHzg@f$9w244hQLjb z;}VCm5Mg%r6C)NVmZV?!N_ymXA;;X;Jw;7}tOKO1eqCQ-*o(9w#ODPl$%DK%z{=Fi zlq&N*=RL{Lxj^%?XcIjX^SD);xS4H4gIqcQVpxy$eXFvqh0OwAe$=ZX$`blwPMCV2 z(&-{&0-HoV`T&+!$$~ zR0|1~*rV{UT$cIe+!mZHx1%)tldHk?BySo zH;!n?fXcC)jl(`Y2@j1DQq8AUR6{HUgZSH5U*hx6Uf__1ijoxLd#w`O+(G-qm{yTX z0SD}po=ldou9{|7AME6giT}jb6 zqwc_GAD`f8u&a7M!q`3Duc^z<(SR_&JMK47+}?oGFs&~C@#zT_X`RMbhK*NxK#%Qr zQJ%u|(u|R_l+GgFoYT{)Otmq?F;Czf1XDOj!p6z7i`wQ}%@PlPcz5KT`>&SBUTXeo zZV{z)41N-!#x!?Qh^c^g;X8e(q}VJaxyT6$E(3~5KjI5!E_jrRbDH6kL?s<2kQ?aM zGgOUfdQ_SoWx`Lsf9G;{P`WtFbX(aiF+hl9$?sS60_W*w!Q;{R_7dIn>M9b8i>$`T zz)pwmPBp)b?KKA%Y&eg>9c69j>5nnizpvkI#{=|`U-LPWRE6uvZ!I#$M|uBm*gJ@# zkZ=>k2ui5{`C=K_O&{EJ?@M>#t)(S=L=tL}RNUOD6Zy3HLjVUxd~p8O8= z$}q+or4mk_AEQ;x>3rGU7Jo~wM&UAz!N;*jLKJrv*9_Y%DuLtCSvaOfsSJlPnqeH< z8Lt6?E=>~gq9#3{%3eY-vq*r#bnhz=O~W+Q;mgw`jVX<(=f``f6;qhE3>zXsO48`? z%#!5h9LloUL`(sZm=xl18Vn?%J+N5jCsUZ@ zYti({wa6=a{^9+*Dy^lHl%or8aM#7v6-ctqxKMxP4cLemvid=WM;Cugo2e-n)N)-N=L`|_%TV$05e-$mho}6x<*;;xxVv_jeh~A Wo816SLx&Rp0000EOKp diff --git a/src/main/resources/assets/twilightforest/textures/models/armor/naga_scale_layer_1.png b/src/main/resources/assets/twilightforest/textures/models/armor/naga_scale_layer_1.png deleted file mode 100644 index fcc668fe58c9a91b531fed7dd9d7e9517cdb68c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1751 zcmV;|1}OQ7P)xTByI4^P5h@_cD1xR~0lQdR|nN82Y{n!#`9DFxCtJWA|%C@)Cf- zZ!6Xo1GwTGGWk8MW90bq~kK9?ap{&CWrD97&W8QM9fS_Ju1CYC)T$QZeo5P)RQ5puoU zi`T9Qii^YlR3kzvJ|C2;lwD!@T+&~*g|ta2j&ct%IX(rT3yK7Sdb{-zZa5){b{ z*(UtX>UWXHATSFg6PRtXJ#yB{C0#>0Mb7`%t1=1`U9Sk?7o^&F()x7xUVd3Jw6#}*bX8%Bw1^PP*+TYd?Y&0$YdE~#u z#Ay2uHd&Q+t^2QgQx(@ynE%b1ux^IG-h?0l5l&i`UrY;JV}~96r^D!) z4?J_Qmcts_rUNKW=0U45!(C}ah?0r4o8YT|wvrmrTWc^Q+-!oU$^fn23}3YoLHZt` z_k9U^)?lQyM)*09tea!p#==YKAP}Ml9EeWXq191^DT;gZuzs7B0HN=-CX|mWsGd;Zt1&^XFd{kULg#x_Wr12T^*b zq?4%MVnQL=84FqGcm!R0iqSI?rrtK9bkvEmQ5Ql4PLSHbn=n%44RFWlliI*bptviH z0z9pbT7=rcPrw9qqCM$Cuqh87VoFe70+(Pv?wwH4zt@3H9S(FH(=c?_hcov)xbPqk z7auA(b6>$n_f)jbXatfC&2t3Q`%dBKT5YaKG(>=~Ce%+9!=2zZpwKNVe_{-`SfEjb z*poN*P;!Ud82QA7b3eOq^N|Oaf45=bHz!WraifzoU}I-KTIW^t5hDsxr0A4v={^Tl z*?^{W4DE*+(Kr@^eyj*3-Ah4XQc4yQ52-R+i;slE9j9KZC3+>eLS`XGzC@-UCEff) z%@9#7)Iy2xwqiq{73)dh`c8N-a^8WXH=LNfWXIesH)cr>4qsH!koJ&USP`PN9&(Nl zDY~D8Y|E$}k))aQV-xi0GISqq6znMJT>=U#aRXv$1*KDVa6fxV&{8`Kpzn!LznP#! zbCDXhVsNiZ0Oh6RyFXNsI%OBYgh{arNu*e)Hg9ua$H^cjE_pC}OT)qg2d+MJ;P_21 zMlN_sAHvw&Z6_61QA$D=ChA98Gdi$kB;yJpoj@m$qvJL(yB2@6Y-VfWid#fgnE}3p z8A@p`C2SJ+{Zn3SA5w@J2I0e@YA97qgCjd z(&43ngVnQSmlZ{1JHm#j1>CWW>Iwy}&ZXxW&;rjHMN{Mi=}-Mge`d$=Z>SxvcxVO) zJ~tVa_777Fc&RPIB!=E9-rLCYzH9LrKz*M~S3{>@G4qqH6wqH;?7KX4aJ6EG6qHRW zq!R|w24#~}AsSQyFPO#kX&>rFRV1fFNFE8STs7BdxX`GtwfYQ&{Rt96ssMW}kCR*t t9yoZs)aoo^(C`uU)r#DunY0%9`V)9poQpBxWQ70#002ovPDHLkV1iCNEB62Z diff --git a/src/main/resources/assets/twilightforest/textures/models/armor/phantom_layer_1.png b/src/main/resources/assets/twilightforest/textures/models/armor/phantom_layer_1.png deleted file mode 100644 index 30584589016324035baa1a779054ad2d29bcf344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1735 zcmds1`BM{j6km`ufJL+_N0QAZaXg60-rwEL0f`|YS#lCChw%Wds0GAUTNw{ZtTH+Z ztx_6_2hLz?K}%0VTdLww&}!8l(h6un1*=%Cs3-&0?%&Zj^WOXAectCYpLz4P`#koT zXh}2#K{33;>KD3MNJZoXq1L8Whaf0?xzCklBMBVP6d*7XLqWQnz%eFWPT?4aYLk+Z z7(geNh*+1N<=!E z0O>N?rlffoq$zL|Wl4;2$yq1N`ecm2l_6yXYM;bVBsL0gH>{%w&LszKDQ!boFU$}q z#ly5!0lbM6uEjKS8QTm!g{zb1=xLI5BcxSfDiSjeg)Spe=aT?oxm(J3rL0E+1hpB7 zEP(-+jIk>z0%LF#c%_t8!T2P4Kmw11al@P!rk&E1;z(n0BxQ$Fmd4I26;V8*FA^D6 zM(IdQ=T9(XO1X47=aDl!%nF);;4#Yb%49)ykqFq8v_r zEQTgf;FOX$Dx6$VdFxw3`)RG;llkI*6p->kuMC1FSa|EaEJtVUZ%c#sR!kH19jnRm zC-oHegs%M_+SJ(v_k>D%I>s6YQ=dHkEiXB{NjLibk(${LbVZ+;w>9SHL=KB`19893 z!p_Zq#S$5^B&Qypw#k--Mut%rENerdPke36&6iLPiT^)RI z;Nw##&O=a?+3x&_Cg$LW^14aTz@mpnDT{rbeR=Ye07hYFY7oVsyfQb*99 z8@%29@1Dkj9{QVO{TEyB*MC|NvCa{ryW#lY{>;#`+xH(H4Ll0mxV-(Vj`ow+m+o($ zkh?jMqP(B|;>LdV-G*297xo1Y7^MPED8(?P!ZHKD}z?%zP56$vHj_DoPzUv8L6j&Cmb3aBla?m7>&rV60H?o`8OsadeV$Yk(wJ_9;% z?vxIW{j7O=ed@oLo@GZRJv+I>-#S(}e{alzN56k}RQp}aQ1*?I@QT5$mg| bO+%&27A2k-HLa=@-UP(kJk}OV{^tJx3R(Lq diff --git a/src/main/resources/assets/twilightforest/textures/models/armor/steeleaf_layer_1.png b/src/main/resources/assets/twilightforest/textures/models/armor/steeleaf_layer_1.png deleted file mode 100644 index 5e43f6f870fcfa8787aeb6122021089f18ab52ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1978 zcmV;r2SxaaP)(KO8RchS%i8ZM85`|ai&xCz4{^Z8i*`$v06Vt4&}2%dp|Jy|#)R~1O96wy(0@SF zrZfZnU8m=HRgy9^lTWs(t(iOaNLN?)InQ>^xhGEi!Yf&_VD!0R47w3?TnMCHh*eF# z*M(TYz=@;&l0YLR4Y8tyM8!t5pd(r`5iM#8gku4KGZ#XH*^ZSA#07|Y2#Jz;d;mz! zg^_C71i(b98bY#85X$!P0YHw^GdhwCUaBEcZwH?&SVtcKrx{Yg>U}O)!*1vUT`)Ni z6D7`rqJH!NNY-qG&jnzOxH0?Z5nO#djfJOWoH`#soRx6o0f<-H<-Ym$bKHEr1pAB+ zm+m-Nc~*nbe*|WLO!i>96Tyt@Kjq!UUEcxgj0dSX3r-^pd(exqTPdtQt>fma1=z!0 zOl+nV81Y#f-4}e&35Jnte^<+NLeG#VR5T7vn;S%D3w2>}w~FSYX*737p^;M2|d?|%l9&vxSdwlhzn6- z)-T>p!XEMP^DcbK|E(bpzWi<(OHV79AQ-_^$KeB@liE6s5XSFj(BJ4mU!jM=deq)` zxc}p`=8rdN5BUf}6yq#^*#u@kw?WlVC2ljb7v>Y_D|KUHBSW5GA;b!i_LA)}v6+FH zb7S#Q8ToJeRCPp)AHf=xvh_PBRhA@(U*rWt44j#i84=8OesI2)b#ZI>5Xg2QM(`4K zlP%_j#&fSdDc~Z(>#Oyuwu@AbftC>3ECbd$<3|2|2E)x>_%j`>EDO={F(6X%3Oa0q z5ibX+SMi678`p*h{lgl5_k9Z+|5(BLUt5QsxyidZ=-Do|ln;~l4xo~L{oMjK zU;heUe*YQ1`upmk10d}4%7ZCrgD$m+_WcLf->wjVFR<}?73=?8K6C(l+9Hj^ErcG#rD5$96A6d8L2hoCCBh!a=ZWVhpE;t{J#?+PI+N=q8*Y~K2(Vo ziBIUfmjuX-&^f>QE148_sOLVU#6j|jcfP~BBT>^4%ad2oqdYYlKzPK5ZYtGxpNGg^ zMazhEw|U*dw}bl+(9)9YVUduQFnVf+uR^3$)`>)F#nMgW&ma^^XO#_KNEJBEaGm5-w73 zjfpS@Tv&Kk!pdHq*YF$w06SGhbwArJD+VYO_tH88VNf@aufJ$gWK}VJpXc05x7&kNl&Dw~Se6o3=73j~`oz5))}Gf0EcFCi zB2M+1A_%?tpaTBNgCaiJa8$MIznnhrC-T(x%&5$RP4WhR`XtM<1LIo`J%p+%cgcvx zo0s>cGUN~s!5a3V^`e61mo-dLBuTYM72JH)QeeL8?^M&m>Aa?TTPiKYa|HZk`KLK? zT1447wjco(`7Uj=|6HF&sklaohNS|$Mb5Cc+rXW-Hz;`An7ox!Wh;tPhE#%%vPkFz z<+n_8F?}@&MZ&L>iH){w035(^}`Kio=8hXi-uC0GRaR*>FAyIb94BS zY#1DV8P(V8e_O@slR6e3m$>3G>bLekgB&s`W=9@#i9(Y{VDmdOSbb4dJ?+%Oh%z{l z&Ef(Fa~{$c68>WR=6ldQ?j=fCM^CaYMWiyUw|_%Ov}ke>I>7hfS> zG!+k6-J9cjEaLL*9QrHWobp~}&F%jXV_&A|M`!u82enZ z94Q8s$G60lrsaBgmMI-)$wmo6lD=WA(taK&>+0&mB0@tyU!wBpEJ{OFuBm^_ z_PIuemTrbsiF%VKVV!d;av^IZS$Us|%8@43l@(;u?-SeW|6T6?8&+_M#>c9ARR910 M07*qoM6N<$f`VGlGynhq diff --git a/tf-asm/src/main/java/twilightforest/asm/transformers/armor/CancelArmorRenderingTransformer.java b/tf-asm/src/main/java/twilightforest/asm/transformers/armor/CancelArmorRenderingTransformer.java index b08258a57c..1e868935d9 100644 --- a/tf-asm/src/main/java/twilightforest/asm/transformers/armor/CancelArmorRenderingTransformer.java +++ b/tf-asm/src/main/java/twilightforest/asm/transformers/armor/CancelArmorRenderingTransformer.java @@ -18,12 +18,12 @@ public class CancelArmorRenderingTransformer implements ITransformer @Override public @NotNull MethodNode transform(MethodNode node, ITransformerVotingContext context) { - ASMUtil.findInstructions(node, Opcodes.INSTANCEOF) + ASMUtil.findInstructions(node, Opcodes.INVOKESTATIC) .findFirst() .ifPresent(target -> node.instructions.insert( target, ASMAPI.listOf( - new VarInsnNode(Opcodes.ALOAD, 13), + new VarInsnNode(Opcodes.ALOAD, 3), new MethodInsnNode( Opcodes.INVOKESTATIC, "twilightforest/ASMHooks", @@ -45,7 +45,7 @@ public class CancelArmorRenderingTransformer implements ITransformer return Set.of(Target.targetMethod( "net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer", "renderArmorPiece", - "(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/EquipmentSlot;ILnet/minecraft/client/model/HumanoidModel;FFFFFF)V" + "(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/EquipmentSlot;ILnet/minecraft/client/model/HumanoidModel;)V" )); } From 2d59ea94eb20adbd1fd07f9b1eb0f76fad1f3de3 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:18:17 -0600 Subject: [PATCH 145/239] remove old enum extensions --- .../resources/META-INF/enumextensions.json | 72 ------------------- 1 file changed, 72 deletions(-) diff --git a/src/main/resources/META-INF/enumextensions.json b/src/main/resources/META-INF/enumextensions.json index 08e76af5dd..f3f3e89e76 100644 --- a/src/main/resources/META-INF/enumextensions.json +++ b/src/main/resources/META-INF/enumextensions.json @@ -71,78 +71,6 @@ "class": "twilightforest/TFEnumExtensions", "method": "ItemDisplayContext_JARRED" } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_TWILIGHT_OAK", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_TWILIGHT_OAK" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_CANOPY", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_CANOPY" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_MANGROVE", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_MANGROVE" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_DARK", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_DARK" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_TIME", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_TIME" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_TRANSFORMATION", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_TRANSFORMATION" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_MINING", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_MINING" - } - }, - { - "enum": "net/minecraft/world/entity/vehicle/Boat$Type", - "name": "TWILIGHTFOREST_SORTING", - "constructor": "(Ljava/util/function/Supplier;Ljava/lang/String;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Z)V", - "parameters": { - "class": "twilightforest/TFEnumExtensions", - "method": "Boat$Type_SORTING" - } } ] } \ No newline at end of file From a0b952f9f05c97f7cb92b54aee5590779989841d Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:34:29 -0600 Subject: [PATCH 146/239] fix phantom trophy, fix render state name lol --- .../model/entity/KnightPhantomModel.java | 8 ++++---- .../client/renderer/block/TrophyRenderer.java | 1 - .../renderer/entity/KnightPhantomRenderer.java | 18 +++++++++--------- ...tate.java => KnightPhantomRenderState.java} | 2 +- 4 files changed, 14 insertions(+), 15 deletions(-) rename src/main/java/twilightforest/client/state/{KnightPhatomRenderState.java => KnightPhantomRenderState.java} (70%) diff --git a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java index 7973f674c7..fd47f11801 100644 --- a/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java +++ b/src/main/java/twilightforest/client/model/entity/KnightPhantomModel.java @@ -15,11 +15,11 @@ import net.minecraft.world.item.ItemDisplayContext; import twilightforest.TwilightForestMod; import twilightforest.client.renderer.entity.KnightPhantomRenderer; -import twilightforest.client.state.KnightPhatomRenderState; +import twilightforest.client.state.KnightPhantomRenderState; -public class KnightPhantomModel extends HumanoidModel implements TrophyBlockModel { +public class KnightPhantomModel extends HumanoidModel implements TrophyBlockModel { - private static final ResourceLocation PHANTOM_ARMOR_TEXTURE = TwilightForestMod.prefix("textures/models/armor/phantom_layer_1.png"); + private static final ResourceLocation PHANTOM_ARMOR_TEXTURE = TwilightForestMod.prefix("textures/entity/equipment/humanoid/phantom.png"); private ModelPart helmet; @@ -110,7 +110,7 @@ public static LayerDefinition createTrophy() { } @Override - public void setupAnim(KnightPhatomRenderState state) { + public void setupAnim(KnightPhantomRenderState state) { this.root.visible = state.isCharging; super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java index 7cfb9ac687..875b6bb3d6 100644 --- a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java @@ -6,7 +6,6 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java index f2b9d5ea2d..ddd31b9c22 100644 --- a/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/KnightPhantomRenderer.java @@ -11,10 +11,10 @@ import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.KnightPhantomModel; -import twilightforest.client.state.KnightPhatomRenderState; +import twilightforest.client.state.KnightPhantomRenderState; import twilightforest.entity.boss.KnightPhantom; -public class KnightPhantomRenderer extends HumanoidMobRenderer { +public class KnightPhantomRenderer extends HumanoidMobRenderer { public static final ResourceLocation TEXTURE = TwilightForestMod.getModelTexture("phantomskeleton.png"); @@ -25,34 +25,34 @@ public KnightPhantomRenderer(EntityRendererProvider.Context context) { } @Override - public void render(KnightPhatomRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { + public void render(KnightPhantomRenderState state, PoseStack stack, MultiBufferSource buffer, int packedLight) { if (!state.isDying) super.render(state, stack, buffer, packedLight); } @Override - protected boolean isShaking(KnightPhatomRenderState state) { + protected boolean isShaking(KnightPhantomRenderState state) { return super.isShaking(state) || state.deathTime > 0; } @Override - public KnightPhatomRenderState createRenderState() { - return new KnightPhatomRenderState(); + public KnightPhantomRenderState createRenderState() { + return new KnightPhantomRenderState(); } @Override - public void extractRenderState(KnightPhantom entity, KnightPhatomRenderState state, float partialTick) { + public void extractRenderState(KnightPhantom entity, KnightPhantomRenderState state, float partialTick) { super.extractRenderState(entity, state, partialTick); state.isDying = !entity.hasYetToDisappear(); state.isCharging = entity.isChargingAtPlayer(); } @Override - public ResourceLocation getTextureLocation(KnightPhatomRenderState state) { + public ResourceLocation getTextureLocation(KnightPhantomRenderState state) { return TEXTURE; } @Override - protected void scale(KnightPhatomRenderState state, PoseStack stack) { + protected void scale(KnightPhantomRenderState state, PoseStack stack) { float scale = state.isCharging ? 1.8F : 1.2F; stack.scale(scale, scale, scale); } diff --git a/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java b/src/main/java/twilightforest/client/state/KnightPhantomRenderState.java similarity index 70% rename from src/main/java/twilightforest/client/state/KnightPhatomRenderState.java rename to src/main/java/twilightforest/client/state/KnightPhantomRenderState.java index 1ffcdf94d1..5ace7ebf68 100644 --- a/src/main/java/twilightforest/client/state/KnightPhatomRenderState.java +++ b/src/main/java/twilightforest/client/state/KnightPhantomRenderState.java @@ -2,7 +2,7 @@ import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -public class KnightPhatomRenderState extends HumanoidRenderState { +public class KnightPhantomRenderState extends HumanoidRenderState { public boolean isCharging; public boolean isDying; } From fc935b7a81a73c0ac82acb899269bd0fd5e0e11f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:34:47 -0600 Subject: [PATCH 147/239] fix snow guardian renderer --- .../client/renderer/entity/SnowGuardianRenderer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java index 13d7d10f7c..eeb6ddf744 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowGuardianRenderer.java @@ -4,7 +4,7 @@ import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; @@ -13,7 +13,7 @@ import twilightforest.client.model.TFModelLayers; import twilightforest.entity.monster.SnowGuardian; -public class SnowGuardianRenderer extends MobRenderer> { +public class SnowGuardianRenderer extends HumanoidMobRenderer> { private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/entity/zombie/zombie.png"); From 14e0bbc835dc4d2b9a96674ffcffe2e56313d0e4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:34:58 -0600 Subject: [PATCH 148/239] fix chest missing textures --- .../client/renderer/block/TFChestRenderer.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java b/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java index b02616c2c3..5c89d35b20 100644 --- a/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java @@ -56,12 +56,13 @@ protected Material getMaterial(T entity, ChestType chestType) { return material != null ? material : super.getMaterial(entity, chestType); } - private static EnumMap chestMaterial(String type, boolean trapped) { + private static EnumMap chestMaterial(String wood, boolean trapped) { EnumMap map = new EnumMap<>(ChestType.class); + String type = (trapped ? "trapped" : "normal"); - map.put(ChestType.SINGLE, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + type + "/" + (trapped ? "trapped" : "single")))); - map.put(ChestType.LEFT, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + type + "/" + (trapped ? "trapped_left" : "left")))); - map.put(ChestType.RIGHT, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + type + "/" + (trapped ? "trapped_right" : "right")))); + map.put(ChestType.SINGLE, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + wood + "/" + type))); + map.put(ChestType.LEFT, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + wood + "/" + type + "_left"))); + map.put(ChestType.RIGHT, new Material(Sheets.CHEST_SHEET, TwilightForestMod.prefix("entity/chest/" + wood + "/" + type + "_right"))); return map; } From 526f7e061758eb5ff99fff63f4cc537cf199894d Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:13:32 -0600 Subject: [PATCH 149/239] fix multipart rendering --- src/main/java/twilightforest/ASMHooks.java | 1 - .../multipart/ResolveEntitiesForRendereringTransformer.java | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index bff231df66..cc7444338d 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -5,7 +5,6 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList; import it.unimi.dsi.fastutil.objects.ObjectListIterator; import net.minecraft.client.Camera; -import net.minecraft.client.DeltaTracker; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.LightTexture; diff --git a/tf-asm/src/main/java/twilightforest/asm/transformers/multipart/ResolveEntitiesForRendereringTransformer.java b/tf-asm/src/main/java/twilightforest/asm/transformers/multipart/ResolveEntitiesForRendereringTransformer.java index d7f37a6637..2de884d96a 100644 --- a/tf-asm/src/main/java/twilightforest/asm/transformers/multipart/ResolveEntitiesForRendereringTransformer.java +++ b/tf-asm/src/main/java/twilightforest/asm/transformers/multipart/ResolveEntitiesForRendereringTransformer.java @@ -57,8 +57,8 @@ public class ResolveEntitiesForRendereringTransformer implements ITransformer> targets() { return Set.of(Target.targetMethod( "net.minecraft.client.renderer.LevelRenderer", - "renderLevel", - "(Lnet/minecraft/client/DeltaTracker;ZLnet/minecraft/client/Camera;Lnet/minecraft/client/renderer/GameRenderer;Lnet/minecraft/client/renderer/LightTexture;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;)V" + "collectVisibleEntities", + "(Lnet/minecraft/client/Camera;Lnet/minecraft/client/renderer/culling/Frustum;Ljava/util/List;)Z" )); } From b255ef46ae35c84ad7ef950fbf130d1a0930bc28 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:15:50 -0600 Subject: [PATCH 150/239] fix hydra body being invis --- .../client/model/entity/HydraModel.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/HydraModel.java b/src/main/java/twilightforest/client/model/entity/HydraModel.java index a97aba42c6..16cee98b9f 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraModel.java @@ -386,13 +386,11 @@ private static LayerDefinition createJappaModel() { @Override public void setupAnim(HydraRenderState state) { - if (!state.renderFakeHeads) { - this.root().getAllParts().forEach(modelPart -> modelPart.visible = false); - this.body.visible = true; - this.tail.visible = true; - this.rightLeg.visible = true; - this.leftLeg.visible = true; - } + this.root().getAllParts().forEach(modelPart -> modelPart.skipDraw = !state.renderFakeHeads); + this.body.skipDraw = false; + this.tail.skipDraw = false; + this.rightLeg.skipDraw = false; + this.leftLeg.skipDraw = false; this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; this.leftLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed; } From 901ebbed8f4cf759e50219409a2646c8f53fa65a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:16:22 -0600 Subject: [PATCH 151/239] fix hint book titles --- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 22 +++---- .../worldgen/structure/aurora_palace.json | 3 +- .../worldgen/structure/dark_tower.json | 3 +- .../worldgen/structure/final_castle.json | 3 +- .../worldgen/structure/giant_house.json | 3 +- .../worldgen/structure/hydra_lair.json | 3 +- .../worldgen/structure/knight_stronghold.json | 3 +- .../worldgen/structure/labyrinth.json | 3 +- .../worldgen/structure/lich_tower.json | 3 +- .../worldgen/structure/troll_cave.json | 3 +- .../worldgen/structure/yeti_cave.json | 3 +- src/main/java/twilightforest/ASMHooks.java | 25 +------- .../structures/util/StructureHints.java | 5 +- .../java/twilightforest/asm/TFCoreMod.java | 4 -- .../ModifyWrittenBookNameTransformer.java | 60 ------------------- 15 files changed, 37 insertions(+), 109 deletions(-) delete mode 100644 tf-asm/src/main/java/twilightforest/asm/transformers/book/ModifyWrittenBookNameTransformer.java diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index ba69cefb3c..2e37feb0bb 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.21.4 2025-03-31T09:20:45.8024919 Registries +// 1.21.4 2025-04-20T00:11:31.12561 Registries 9089ada9ce06fd30adf8b10e50f02233c7d5a76e data/minecraft/twilight/wood_palettes/acacia.json dca1ef01d0df4e956fd414782de57c25dfddd290 data/minecraft/twilight/wood_palettes/birch.json 01becb45438b7f2bfdc77baba72bc986341510c8 data/minecraft/twilight/wood_palettes/crimson.json @@ -363,26 +363,26 @@ fc958799683c3678e341b73d9a24dc466ced77da data/twilightforest/worldgen/placed_fea 8b40d9464bfda34641b8bc897e0052a8a811297e data/twilightforest/worldgen/placed_feature/webs.json cf1c91f89f727cbbb41f58ce9865533b956cfef3 data/twilightforest/worldgen/placed_feature/well_placer.json acf33832e2093d6dd231b73c085d201755345886 data/twilightforest/worldgen/placed_feature/wood_roots.json -3ee5b430015b944abb12691e99b35c24cc0b122b data/twilightforest/worldgen/structure/aurora_palace.json -431bebc61d8813c5654c1f3db84e7cd13273af9e data/twilightforest/worldgen/structure/dark_tower.json +0bb9152c9d3a1918ac145aa18cf42e9aa2551d27 data/twilightforest/worldgen/structure/aurora_palace.json +7bd1be81aa8d659c7e6e2123515dde9fd1b8f03c data/twilightforest/worldgen/structure/dark_tower.json 18220d6177ec50de5647843dbe4aec7b39ea00b2 data/twilightforest/worldgen/structure/fallen_trunk.json -d46575dc4f45c10821b533389322fda77b9ca9dc data/twilightforest/worldgen/structure/final_castle.json -f3dd6746ddee506d0e5ce66db99546a6d2b1bc48 data/twilightforest/worldgen/structure/giant_house.json +a5d593881e9fa592028b796e2dc67d8276094ec7 data/twilightforest/worldgen/structure/final_castle.json +391dd646a6b94ce34b0201fb1416798e25b960f1 data/twilightforest/worldgen/structure/giant_house.json 96718e6c4d0937959a03e8c993417389ee21bc0f data/twilightforest/worldgen/structure/hedge_maze.json 5bb4e2e8a35238af61bb068d00c814db1a246921 data/twilightforest/worldgen/structure/hollow_tree.json -8b984ac036f5a7d29cbb522d24785f87a085c572 data/twilightforest/worldgen/structure/hydra_lair.json -b3e3877005ddfcdf009312fd0df0f0b60f450d39 data/twilightforest/worldgen/structure/knight_stronghold.json -b144587f63f08ae87eeefd48fa70fdca6da7b57a data/twilightforest/worldgen/structure/labyrinth.json +755dc5b9c30c7f417e0914ab31e0e621d97a805c data/twilightforest/worldgen/structure/hydra_lair.json +992b2198f21489eabf05523c80edec2fe0c9ff10 data/twilightforest/worldgen/structure/knight_stronghold.json +58ce96555bc3eab7d4f0a360ec6bbb8b27094b32 data/twilightforest/worldgen/structure/labyrinth.json aa10576faf6be61c9278fbb735d6d409bcfc47ee data/twilightforest/worldgen/structure/large_hollow_hill.json -83fa959cb339a5375ae58fef9a119dfb05431e5f data/twilightforest/worldgen/structure/lich_tower.json +70267e2e2c4a305e528edc62871849261fab78c5 data/twilightforest/worldgen/structure/lich_tower.json b7bd5daaa8cef97751de34cd8297629062d3509a data/twilightforest/worldgen/structure/medium_hollow_hill.json 6c772c1c3911cd9a6fd6bfa71a665b5cd6a93058 data/twilightforest/worldgen/structure/mushroom_tower.json 7ef96d683b85d38e93ec244d821e2310571337c9 data/twilightforest/worldgen/structure/naga_courtyard.json 087300c760f5f8b61e28882b71c6803c400a0772 data/twilightforest/worldgen/structure/quest_grove.json 007d6ea9fc2a1702934cbc4218f87e282f97e367 data/twilightforest/worldgen/structure/small_hollow_hill.json 68d9bd71b42815538f565ec04f54d8a1cafbe46b data/twilightforest/worldgen/structure/swamp_hollow_tree.json -b4e3f13db15d63249aff1a8d10e10eb51f8abafb data/twilightforest/worldgen/structure/troll_cave.json -cda5d4a45d2987d6f0d28ca90606e84449864601 data/twilightforest/worldgen/structure/yeti_cave.json +afc428c0a206d5e2596d24bf0f4195d8323866f8 data/twilightforest/worldgen/structure/troll_cave.json +20d5d1f797ba53443e3e79d61a9f72e1fc78411e data/twilightforest/worldgen/structure/yeti_cave.json 9b7532428e43ad07cbd01befa87d2e61c1b3665b data/twilightforest/worldgen/structure_set/aurora_palace.json 85637b23df17209511ee48619f7c2e62ee711e46 data/twilightforest/worldgen/structure_set/dark_tower.json c4b8ea24a4e71721b0361691b331753a17cba076 data/twilightforest/worldgen/structure_set/fallen_trunk.json diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/aurora_palace.json b/src/generated/resources/data/twilightforest/worldgen/structure/aurora_palace.json index 027ea10b25..c16ec05084 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/aurora_palace.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/aurora_palace.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 2.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.icetower\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -28,7 +29,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.icetower" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/dark_tower.json b/src/generated/resources/data/twilightforest/worldgen/structure/dark_tower.json index e8c3f70ad5..8063935539 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/dark_tower.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/dark_tower.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 1.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.darktower\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -28,7 +29,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.darktower" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/final_castle.json b/src/generated/resources/data/twilightforest/worldgen/structure/final_castle.json index fa31761d97..14a95d9fcd 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/final_castle.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/final_castle.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 4.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.unknown\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -25,7 +26,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.unknown" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/giant_house.json b/src/generated/resources/data/twilightforest/worldgen/structure/giant_house.json index 19d9c7e493..08429ee0bc 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/giant_house.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/giant_house.json @@ -13,6 +13,7 @@ "chunk_clearance_radius": 1.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.trollcave\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -29,7 +30,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.trollcave" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/hydra_lair.json b/src/generated/resources/data/twilightforest/worldgen/structure/hydra_lair.json index 832e4a6c4d..fde73af599 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/hydra_lair.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/hydra_lair.json @@ -11,6 +11,7 @@ "chunk_clearance_radius": 2.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.hydralair\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -30,7 +31,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.hydralair" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json b/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json index 4f84bfa60d..026bdaccbe 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/knight_stronghold.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 3.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.tfstronghold\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -31,7 +32,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.tfstronghold" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/labyrinth.json b/src/generated/resources/data/twilightforest/worldgen/structure/labyrinth.json index df11c6285e..079a787361 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/labyrinth.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/labyrinth.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 3.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.labyrinth\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -34,7 +35,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.labyrinth" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/lich_tower.json b/src/generated/resources/data/twilightforest/worldgen/structure/lich_tower.json index ece152deed..ec6b119dc8 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/lich_tower.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/lich_tower.json @@ -12,6 +12,7 @@ "chunk_clearance_radius": 0.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.lichtower\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -31,7 +32,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.lichtower" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/troll_cave.json b/src/generated/resources/data/twilightforest/worldgen/structure/troll_cave.json index 8a62e0b3a3..1a68320018 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/troll_cave.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/troll_cave.json @@ -13,6 +13,7 @@ "chunk_clearance_radius": 4.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.trollcave\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -29,7 +30,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.trollcave" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/generated/resources/data/twilightforest/worldgen/structure/yeti_cave.json b/src/generated/resources/data/twilightforest/worldgen/structure/yeti_cave.json index e6cfd6ac7c..caadb58eb7 100644 --- a/src/generated/resources/data/twilightforest/worldgen/structure/yeti_cave.json +++ b/src/generated/resources/data/twilightforest/worldgen/structure/yeti_cave.json @@ -13,6 +13,7 @@ "chunk_clearance_radius": 2.0, "hint_item": { "components": { + "minecraft:item_name": "{\"translate\":\"twilightforest.book.yeticave\"}", "minecraft:written_book_content": { "author": "twilightforest.book.author", "generation": 3, @@ -29,7 +30,7 @@ ], "resolved": true, "title": { - "raw": "twilightforest.book.yeticave" + "raw": "" } }, "twilightforest:translatable_book": {} diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index cc7444338d..f033ae7cdd 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -6,16 +6,14 @@ import it.unimi.dsi.fastutil.objects.ObjectListIterator; import net.minecraft.client.Camera; import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.WorldGenRegion; import net.minecraft.world.entity.Entity; @@ -24,7 +22,6 @@ import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.decoration.LeashFenceKnotEntity; import net.minecraft.world.item.*; -import net.minecraft.world.item.equipment.Equippable; import net.minecraft.world.level.*; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.state.BlockState; @@ -40,7 +37,6 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; import net.neoforged.neoforge.common.util.TriState; import org.jetbrains.annotations.Nullable; -import org.joml.Matrix4f; import tamaized.beanification.Autowired; import twilightforest.init.TFDataAttachments; import twilightforest.util.ArmorUtil; @@ -57,6 +53,7 @@ import twilightforest.world.components.structures.util.CustomStructureData; import java.util.Iterator; +import java.util.List; // TODO: Think about reorganizing each group into their own class or subclass of ASMHooks @SuppressWarnings({"JavadocReference", "unused", "RedundantSuppression", "deprecation"}) @@ -138,22 +135,6 @@ public static double getCustomDensity(double o, DensityFunction.FunctionContext return o + newDensity; } - // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // book - // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - /** - * {@link twilightforest.asm.transformers.book.ModifyWrittenBookNameTransformer}

- * - * Injection Point:
- * {@link net.minecraft.world.item.WrittenBookItem#getName(net.minecraft.world.item.ItemStack)} - */ - public static Component modifyWrittenBookName(Component component, ItemStack stack) { - if (stack.has(TFDataComponents.TRANSLATABLE_BOOK)) { - return Component.translatable(component.getString()); - } else return component; - } - // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // chunk // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -266,7 +247,7 @@ public static Pair> resolveNearestNonRandomSpreadMap * {@link twilightforest.asm.transformers.multipart.ResolveEntitiesForRendereringTransformer}

* * Injection Point:
- * {@link net.minecraft.client.renderer.LevelRenderer#renderLevel(DeltaTracker, boolean, Camera, GameRenderer, LightTexture, Matrix4f, Matrix4f)}
+ * {@link net.minecraft.client.renderer.LevelRenderer#collectVisibleEntities(Camera, Frustum, List)}
* [Targets: {@link net.minecraft.client.multiplayer.ClientLevel#entitiesForRendering}] */ public static Iterator resolveEntitiesForRendering(Iterator iter) { diff --git a/src/main/java/twilightforest/world/components/structures/util/StructureHints.java b/src/main/java/twilightforest/world/components/structures/util/StructureHints.java index ecff53f694..7d4e39d769 100644 --- a/src/main/java/twilightforest/world/components/structures/util/StructureHints.java +++ b/src/main/java/twilightforest/world/components/structures/util/StructureHints.java @@ -60,14 +60,15 @@ static void addBookInformationStatic(ItemStack book, @Nullable String name, int .toList(); book.set(DataComponents.WRITTEN_BOOK_CONTENT, new WrittenBookContent( - Filterable.passThrough(TwilightForestMod.ID + ".book." + key), + Filterable.passThrough(""), BOOK_AUTHOR, 3, list, true )); - book.set(TFDataComponents.TRANSLATABLE_BOOK, Unit.INSTANCE); + book.set(TFDataComponents.TRANSLATABLE_BOOK, Unit.INSTANCE); //for the author + book.set(DataComponents.ITEM_NAME, Component.translatable(TwilightForestMod.ID + ".book." + key)); } /** diff --git a/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java b/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java index d96943be47..79cceabe69 100644 --- a/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java +++ b/tf-asm/src/main/java/twilightforest/asm/TFCoreMod.java @@ -7,7 +7,6 @@ import twilightforest.asm.transformers.beardifier.BeardifierClassTransformer; import twilightforest.asm.transformers.beardifier.BeardifierComputeTransformer; import twilightforest.asm.transformers.beardifier.InitializeCustomBeardifierFieldsDuringCreateNoiseChunkTransformer; -import twilightforest.asm.transformers.book.ModifyWrittenBookNameTransformer; import twilightforest.asm.transformers.chunk.ChunkStatusTaskTransformer; import twilightforest.asm.transformers.cloud.IsRainingAtTransformer; import twilightforest.asm.transformers.conquered.StructureStartLoadStaticTransformer; @@ -35,9 +34,6 @@ public Iterable> getTransformers() { new BeardifierComputeTransformer(), new InitializeCustomBeardifierFieldsDuringCreateNoiseChunkTransformer(), - // book - new ModifyWrittenBookNameTransformer(), - // chunk new ChunkStatusTaskTransformer(), diff --git a/tf-asm/src/main/java/twilightforest/asm/transformers/book/ModifyWrittenBookNameTransformer.java b/tf-asm/src/main/java/twilightforest/asm/transformers/book/ModifyWrittenBookNameTransformer.java deleted file mode 100644 index 74d9916719..0000000000 --- a/tf-asm/src/main/java/twilightforest/asm/transformers/book/ModifyWrittenBookNameTransformer.java +++ /dev/null @@ -1,60 +0,0 @@ -package twilightforest.asm.transformers.book; - -import cpw.mods.modlauncher.api.ITransformer; -import cpw.mods.modlauncher.api.ITransformerVotingContext; -import cpw.mods.modlauncher.api.TargetType; -import cpw.mods.modlauncher.api.TransformerVoteResult; -import net.neoforged.coremod.api.ASMAPI; -import org.jetbrains.annotations.NotNull; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.VarInsnNode; -import twilightforest.asm.ASMUtil; - -import java.util.Set; - -/** - * {@link twilightforest.ASMHooks#modifyWrittenBookName} - */ -public class ModifyWrittenBookNameTransformer implements ITransformer { - - @Override - public @NotNull MethodNode transform(MethodNode node, ITransformerVotingContext context) { - ASMUtil.findInstructions(node, Opcodes.ARETURN) - .findFirst() - .ifPresent(target -> node.instructions.insertBefore( - target, - ASMAPI.listOf( - new VarInsnNode(Opcodes.ALOAD, 1), - new MethodInsnNode( - Opcodes.INVOKESTATIC, - "twilightforest/ASMHooks", - "modifyWrittenBookName", - "(Lnet/minecraft/network/chat/Component;Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/chat/Component;" - ) - ) - )); - return node; - } - - @Override - public @NotNull TransformerVoteResult castVote(ITransformerVotingContext context) { - return TransformerVoteResult.YES; - } - - @Override - public @NotNull Set> targets() { - return Set.of(Target.targetMethod( - "net.minecraft.world.item.WrittenBookItem", - "getName", - "(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/chat/Component;" - )); - } - - @Override - public @NotNull TargetType getTargetType() { - return TargetType.METHOD; - } - -} From 97a5d5c3f35e63d06821218b91fc4a9bb1dadb2f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:29:28 -0600 Subject: [PATCH 152/239] fix broken heads --- .../twilightforest/client/model/entity/SnowQueenModel.java | 7 +------ .../client/model/entity/UpperGoblinKnightModel.java | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java index c0cf47b6ac..c07cc7332c 100644 --- a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java +++ b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java @@ -30,12 +30,7 @@ private static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), - PartPose.offset(0.0F, -4.0F, 0.0F)); - - var crown = head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); + var crown = partdefinition.getChild("head").addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); makeFrontCrown(crown, -1.0F, -4.0F, 10.0F, 0); makeFrontCrown(crown, 0.0F, 4.0F, -10.0F, 1); diff --git a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java index 349fb44f3c..9f9af409e1 100644 --- a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java @@ -35,7 +35,7 @@ private static LayerDefinition create() { PartPose.offset(0.0F, 12.0F, 0.0F)); var hat = head.addOrReplaceChild("hat", CubeListBuilder.create(), - PartPose.offset(0.0F, 12.0F, 0.0F)); + PartPose.ZERO); hat.addOrReplaceChild("helmet", CubeListBuilder.create() .texOffs(0, 0) From 430f5a1eea13435fe39059bb2ab4c7a0d7e458d5 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:35:02 -0600 Subject: [PATCH 153/239] wraith fixes --- .../twilightforest/client/model/entity/WraithModel.java | 3 +++ .../client/renderer/entity/WraithRenderer.java | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/main/java/twilightforest/client/model/entity/WraithModel.java b/src/main/java/twilightforest/client/model/entity/WraithModel.java index 0b12140fac..732a1414e6 100644 --- a/src/main/java/twilightforest/client/model/entity/WraithModel.java +++ b/src/main/java/twilightforest/client/model/entity/WraithModel.java @@ -34,6 +34,9 @@ public static LayerDefinition create() { .addBox(-4.0F, 12.0F, -2.0F, 8.0F, 12.0F, 4.0F), PartPose.ZERO); + partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO); + partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO); + return LayerDefinition.create(meshdefinition, 64, 32); } diff --git a/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java b/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java index 0d67a974f6..e3d11447df 100644 --- a/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/WraithRenderer.java @@ -3,7 +3,9 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; +import net.minecraft.client.renderer.entity.state.ZombieRenderState; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ARGB; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.WraithModel; @@ -17,6 +19,11 @@ public WraithRenderer(EntityRendererProvider.Context context) { super(context, new WraithModel(context.bakeLayer(TFModelLayers.WRAITH)), 0.5F); } + @Override + protected int getModelTint(HumanoidRenderState state) { + return ARGB.colorFromFloat(0.6F, 1.0F, 1.0F, 1.0F); + } + @Override public HumanoidRenderState createRenderState() { return new HumanoidRenderState(); From ad2b133eb02d53d3f909064ff487638f7c319927 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 11:23:02 +0200 Subject: [PATCH 154/239] Fix boss bar rendering somehow changing the color of all text in the game --- .../entity/boss/bar/ClientTFBossBar.java | 53 +++++++++++++------ .../resources/META-INF/accesstransformer.cfg | 4 ++ 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java index d110be356f..dfbe9e5304 100644 --- a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java +++ b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java @@ -1,24 +1,28 @@ package twilightforest.entity.boss.bar; import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.BossHealthOverlay; import net.minecraft.client.gui.components.LerpingBossEvent; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.BossEvent; +import org.joml.Matrix4f; import java.util.UUID; +import java.util.function.Function; public class ClientTFBossBar extends LerpingBossEvent { private int color; - public ClientTFBossBar(UUID pId, Component pName, float pProgress, int pColor, BossBarOverlay pOverlay, boolean pDarkenScreen, boolean pBossMusic, boolean pWorldFog) { - super(pId, pName, pProgress, BossBarColor.WHITE, pOverlay, pDarkenScreen, pBossMusic, pWorldFog); - this.color = pColor; + public ClientTFBossBar(UUID id, Component name, float progress, int color, BossBarOverlay overlay, boolean darkenScreen, boolean bossMusic, boolean worldFog) { + super(id, name, progress, BossBarColor.WHITE, overlay, darkenScreen, bossMusic, worldFog); + this.color = color; } public void setBarColor(int color) { @@ -38,24 +42,39 @@ public void setSetTime(long setTime) { public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.enableBlend(); - RenderSystem.setShaderColor(((this.color >> 16) & 255) / 255F, ((this.color >> 8) & 255) / 255F, (this.color & 255) / 255F, 1.0F); - - guiGraphics.blitSprite(RenderType::guiTextured, BAR_BACKGROUND, 182, 5, 0, 0, x, y, 182, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, 182, 5); - int i = Mth.lerpDiscrete(this.getProgress(), 0, 182); - if (i > 0) { - guiGraphics.blitSprite(RenderType::guiTextured, BAR_PROGRESS, 182, 5, 0, 0, x, y, i, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], 182, 5, 0, 0, x, y, i, 5); - } - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); + this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_BACKGROUND, x, y, 182, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], x, y, 182, 5); + int progress = Mth.lerpDiscrete(this.getProgress(), 0, 182); + if (progress > 0) { + this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_PROGRESS, x, y, progress, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], x, y, progress, 5); + } Component title = this.getName(); - int l = Minecraft.getInstance().font.width(title); - int i1 = guiGraphics.guiWidth() / 2 - l / 2; - int j1 = y - 9; - guiGraphics.drawString(Minecraft.getInstance().font, title, i1, j1, 16777215); + int width = Minecraft.getInstance().font.width(title); + int fontX = guiGraphics.guiWidth() / 2 - width / 2; + int fontY = y - 9; + guiGraphics.drawString(Minecraft.getInstance().font, title, fontX, fontY, 0xFFFFFF); RenderSystem.disableBlend(); } + + public void blitSprite(GuiGraphics guiGraphics, Function renderTypeGetter, ResourceLocation location, float x, float y, int uWidth, int vHeight) { + TextureAtlasSprite sprite = guiGraphics.sprites.getSprite(location); + + float minU = sprite.getU(0.0F); + float maxU = sprite.getU(uWidth / 182.0F); + float minV = sprite.getV(0.0F); + float maxV = sprite.getV(vHeight / 5.0F); + + float r = ((this.color >> 16) & 255) / 255F, g = ((this.color >> 8) & 255) / 255F, b = (this.color & 255) / 255F, a = 1.0F; + + Matrix4f matrix4f = guiGraphics.pose().last().pose(); + VertexConsumer vertex = guiGraphics.bufferSource.getBuffer(renderTypeGetter.apply(sprite.atlasLocation())); + vertex.addVertex(matrix4f, x, y, 0.0F).setUv(minU, minV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x, y + vHeight, 0.0F).setUv(minU, maxV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x + uWidth, y + vHeight, 0.0F).setUv(maxU, maxV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x + uWidth, y, 0.0F).setUv(maxU, minV).setColor(r, g, b, a); + } } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index b70fb7cd63..ce21ba895d 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -234,6 +234,10 @@ public net.minecraft.world.entity.ai.goal.MeleeAttackGoal speedModifier public net.minecraft.world.entity.Mob getEquipmentDropChance(Lnet/minecraft/world/entity/EquipmentSlot;)F +# ClientTFBossBar +public net.minecraft.client.gui.GuiGraphics bufferSource +public net.minecraft.client.gui.GuiGraphics sprites + # CountTemplateCommand public net.minecraft.world.level.levelgen.structure.structures.EndCityPieces$EndCityPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; public net.minecraft.world.level.levelgen.structure.structures.WoodlandMansionPieces$WoodlandMansionPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; From 59d7dbda325bbc6b3963283c99584b9c4f28d4ab Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 12:15:34 +0200 Subject: [PATCH 155/239] =?UTF-8?q?Every=20ASM=20seems=20to=20work=20?= =?UTF-8?q?=F0=9F=91=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/twilightforest/ASMHooks.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index f033ae7cdd..661f30ea82 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -217,9 +217,8 @@ public static int resolveFoliageColor(int o, Biome biome, double x, double z) { * Injection Point:
* {@link net.minecraft.world.entity.decoration.LeashFenceKnotEntity#survives()} */ - public static boolean leashFenceKnotSurvives(boolean o, LeashFenceKnotEntity entity) { - if (o) - return true; // Short-circuit to avoid an unnecessary #getBlockState call + public static boolean leashFenceKnotSurvives(boolean vanillaCheckWasTrue, LeashFenceKnotEntity entity) { + if (vanillaCheckWasTrue) return true; // Short-circuit to avoid an unnecessary #getBlockState call BlockState fenceState = entity.level().getBlockState(entity.getPos()); return fenceState.is(TFBlocks.WROUGHT_IRON_FENCE) && fenceState.getValue(WroughtIronFenceBlock.POST) != WroughtIronFenceBlock.PostState.NONE; } From 2f8ce4ea4f77266d681faa7208d8d3abc3539123 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 12:25:38 +0200 Subject: [PATCH 156/239] =?UTF-8?q?Fix=20candelabras=20being=20rotated=201?= =?UTF-8?q?80=C2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/models/BlockModelGenerator.java | 9 ++++----- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 4 ++-- .../twilightforest/blockstates/candelabra.json | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 352b31edc7..d1ecd881d2 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -5,7 +5,6 @@ import net.minecraft.client.data.models.blockstates.*; import net.minecraft.client.data.models.model.*; import net.minecraft.core.Direction; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -281,10 +280,10 @@ public void run() { .select(true, Variant.variant().with(VariantProperties.MODEL, TwilightForestMod.prefix("block/wall_candelabra"))) .select(false, Variant.variant().with(VariantProperties.MODEL, TwilightForestMod.prefix("block/candelabra")))) .with(PropertyDispatch.property(CandelabraBlock.FACING) - .select(Direction.NORTH, Variant.variant()) - .select(Direction.EAST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) - .select(Direction.WEST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) - .select(Direction.SOUTH, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)))); + .select(Direction.NORTH, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)))); this.itemModelOutput.accept(TFBlocks.CANDELABRA.asItem(), ItemModelUtils.composite(ItemModelUtils.plainModel(ModelLocationUtils.getModelLocation(TFBlocks.CANDELABRA.get())), ItemModelUtils.specialModel(TwilightForestMod.prefix("block/candelabra"), new CandelabraSpecialRenderer.Unbaked()))); this.generateSkullCandle(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get()); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 07889fafa4..5dc29f3fc6 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-19T08:48:40.744376 Model Definitions - twilightforest +// 1.21.4 2025-04-20T12:22:37.861692 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -25,7 +25,7 @@ f1b7f5e3dd11d78ee1eb1013758d06875611656c assets/twilightforest/blockstates/brazi 54ebb2eea4482a5907fa266195c19b2d7cc9cd4f assets/twilightforest/blockstates/brown_thorns.json 787d527dc15da8db4f3f87740e9e4439f0d5772e assets/twilightforest/blockstates/built_block.json 8387cc5d3da350857978959aa07b6e30528e4c25 assets/twilightforest/blockstates/burnt_thorns.json -97606ce1e236f6a9fa8a4fe1cc6ebf8a86943766 assets/twilightforest/blockstates/candelabra.json +114b6dbbb960305c9e6b83cb2359a7fc5fc4a631 assets/twilightforest/blockstates/candelabra.json 4cf9e1114c26460ef7b405d4da5e9c3bbc712dd0 assets/twilightforest/blockstates/canopy_banister.json 11253eeffd002ce835efe93d3dbfa9b8dbc347c8 assets/twilightforest/blockstates/canopy_bookshelf.json 00ec1f804d0935e5f475c9cc8b08b865f2c394f1 assets/twilightforest/blockstates/canopy_button.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/candelabra.json b/src/generated/resources/assets/twilightforest/blockstates/candelabra.json index 764c51b97e..3a3343f4c6 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/candelabra.json +++ b/src/generated/resources/assets/twilightforest/blockstates/candelabra.json @@ -2,33 +2,35 @@ "variants": { "facing=east,on_wall=false": { "model": "twilightforest:block/candelabra", - "y": 90 + "y": 270 }, "facing=east,on_wall=true": { "model": "twilightforest:block/wall_candelabra", - "y": 90 + "y": 270 }, "facing=north,on_wall=false": { - "model": "twilightforest:block/candelabra" + "model": "twilightforest:block/candelabra", + "y": 180 }, "facing=north,on_wall=true": { - "model": "twilightforest:block/wall_candelabra" + "model": "twilightforest:block/wall_candelabra", + "y": 180 }, "facing=south,on_wall=false": { "model": "twilightforest:block/candelabra", - "y": 180 + "y": 0 }, "facing=south,on_wall=true": { "model": "twilightforest:block/wall_candelabra", - "y": 180 + "y": 0 }, "facing=west,on_wall=false": { "model": "twilightforest:block/candelabra", - "y": 270 + "y": 90 }, "facing=west,on_wall=true": { "model": "twilightforest:block/wall_candelabra", - "y": 270 + "y": 90 } } } \ No newline at end of file From aab56f68221fbd35ce0d1309316ce19353c8e7cd Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 22:55:17 +0200 Subject: [PATCH 157/239] Fix paintings --- .../entity/MagicPaintingRenderer.java | 117 ++++++++---------- .../twilightforest/entity/MagicPainting.java | 11 +- 2 files changed, 58 insertions(+), 70 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java index 394585cddc..3cfbcf8ac9 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MagicPaintingRenderer.java @@ -10,7 +10,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.core.BlockPos; @@ -52,7 +51,7 @@ public void render(MagicPaintingRenderState state, PoseStack stack, MultiBufferS stack.scale(0.0625F, 0.0625F, 0.0625F); MagicPaintingTextureManager manager = MagicPaintingTextureManager.instance; TextureAtlasSprite textureatlassprite = manager.getBackSprite(variant); - VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entitySolidZOffsetForward(textureatlassprite.atlasLocation())); + VertexConsumer vertexconsumer = buffer.getBuffer(RenderType.entityTranslucent(textureatlassprite.atlasLocation())); this.renderPainting(stack, vertexconsumer, state.lightCoords, variant.width(), variant.height(), state, manager, textureatlassprite); stack.popPose(); super.render(state, stack, buffer, light); @@ -74,8 +73,6 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, int[] worldL double widthFactor = 1.0D / (double) widthAsBlock; double heightFactor = 1.0D / (double) heightAsBlock; - Direction direction = state.direction; - for (MagicPaintingVariant.Layer layer : state.variant.layers()) { float alpha = this.getAlpha(layer.opacityModifier(), state, state.partialTick); if (alpha <= 0.0F) continue; @@ -101,18 +98,18 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, int[] worldL TextureAtlasSprite layerTexture = MagicPaintingTextureManager.instance.getLayerSprite(textureLocation, layer); - for (int k = 0; k < widthAsBlock; ++k) { - for (int l = 0; l < heightAsBlock; ++l) { - float xMax = x + (float) ((k + 1) * 16); - float xMin = x + (float) (k * 16); - float yMax = y + (float) ((l + 1) * 16); - float yMin = y + (float) (l * 16); - - int light = layer.fullbright() ? 15728850 : worldLight[widthAsBlock + heightAsBlock * width]; - float xEnd = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - k) + widthOffset)); - float xStart = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - (k + 1)) + widthOffset)); - float yEnd = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - l) + heightOffset)); - float yStart = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - (l + 1)) + heightOffset)); + for (int w = 0; w < widthAsBlock; ++w) { + for (int h = 0; h < heightAsBlock; ++h) { + float xMax = x + (float) ((w + 1) * 16); + float xMin = x + (float) (w * 16); + float yMax = y + (float) ((h + 1) * 16); + float yMin = y + (float) (h * 16); + + int light = layer.fullbright() ? 15728850 : worldLight[w + h * widthAsBlock]; + float xEnd = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - w) + widthOffset)); + float xStart = layerTexture.getU((float) (layerWidthFactor * (double) (widthAsBlock - (w + 1)) + widthOffset)); + float yEnd = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - h) + heightOffset)); + float yStart = layerTexture.getV((float) (layerHeightFactor * (double) (heightAsBlock - (h + 1)) + heightOffset)); this.vertex(pose, vertex, xMax, yMin, -z, xStart, yEnd, 0, 0, -1, light, alpha, localLighting); this.vertex(pose, vertex, xMin, yMin, -z, xEnd, yEnd, 0, 0, -1, light, alpha, localLighting); this.vertex(pose, vertex, xMin, yMax, -z, xEnd, yStart, 0, 0, -1, light, alpha, localLighting); @@ -147,7 +144,7 @@ private void renderPainting(PoseStack stack, VertexConsumer vertex, int[] worldL float yMax = y + (float) ((h + 1) * 16); float yMin = y + (float) (h * 16); - int light = worldLight[widthAsBlock + heightAsBlock * width]; + int light = worldLight[w + h * widthAsBlock]; // Back this.vertex(pose, vertex, xMax, yMax, z, u1, v0, 0, 0, 1, light, false); @@ -189,10 +186,8 @@ protected void vertex(PoseStack.Pose pose, VertexConsumer vertex, float x, float protected void vertex(PoseStack.Pose pose, VertexConsumer vertex, float x, float y, float z, float u, float v, int normX, int normY, int normZ, int light, float a, boolean localLighting) { vertex.addVertex(pose, x, y, z).setColor(255, 255, 255, (int) (255.0F * a)).setUv(u, v).setOverlay(OverlayTexture.NO_OVERLAY).setLight(light); - if (localLighting) - vertex.setNormal(normX, normY, normZ); - else - vertex.setNormal(pose, normX, normY, normZ); + if (localLighting) vertex.setNormal(normX, normY, normZ); + else vertex.setNormal(pose, normX, normY, normZ); } protected double getWidthOffset(@Nullable Parallax parallax, MagicPaintingRenderState state, double widthDiff, float partialTicks) { @@ -263,23 +258,17 @@ protected float getAlpha(@Nullable OpacityModifier opacityModifier, MagicPaintin a = fromTo(opacityModifier.from(), opacityModifier.to(), (float) camPos.distanceTo(state.position)); } case WEATHER -> a = level.getRainLevel(partialTicks); - case STORM -> { - a = (level.getRainLevel(partialTicks) + level.getThunderLevel(partialTicks)) * 0.5F; - } - case LIGHTNING -> { - a = 1.0F - ((float) (level.getGameTime() - lastLightning) - partialTicks) * opacityModifier.multiplier(); - if (a > 0.0F) a = a * a; - } + case STORM -> a = (level.getRainLevel(partialTicks) + level.getThunderLevel(partialTicks)) * 0.5F; + case LIGHTNING -> a = level.getSkyFlashTime() * opacityModifier.multiplier(); case DAY_TIME -> { + float time = level.dimensionType().fixedTime().orElse(level.dayTime()) + partialTicks; - float time = level.dimensionType().fixedTime().orElse(level.dayTime()) + partialTicks; - - if (opacityModifier.from() < opacityModifier.to()) { - a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() - opacityModifier.from())) - 0.5F) * 2.0F; - } else { - if (time < opacityModifier.to()) time += DAY_LENGTH; - a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() + DAY_LENGTH - opacityModifier.from())) - 0.5F) * 2.0F; - } + if (opacityModifier.from() < opacityModifier.to()) { + a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() - opacityModifier.from())) - 0.5F) * 2.0F; + } else { + if (time < opacityModifier.to()) time += DAY_LENGTH; + a = 1.0F - Math.abs(((time - opacityModifier.from()) / (opacityModifier.to() + DAY_LENGTH - opacityModifier.from())) - 0.5F) * 2.0F; + } } case SINE_TIME -> a = (float) (Math.sin(state.ageInTicks * opacityModifier.multiplier())) * 0.5F + 0.5F; case HEALTH -> { @@ -341,46 +330,46 @@ public MagicPaintingRenderState createRenderState() { } @Override - public void extractRenderState(MagicPainting entity, MagicPaintingRenderState state, float partialTick) { - super.extractRenderState(entity, state, partialTick); - Direction direction = entity.getDirection(); - MagicPaintingVariant variant = entity.getVariant().value(); + public void extractRenderState(MagicPainting painting, MagicPaintingRenderState state, float partialTick) { + super.extractRenderState(painting, state, partialTick); + Direction direction = painting.getDirection(); + MagicPaintingVariant variant = painting.getVariant().value(); state.direction = direction; state.variant = variant; - state.texture = MagicPaintingVariant.getVariantResourceLocation(entity.level().registryAccess(), variant); - state.yRot = Mth.lerp(partialTick, entity.yRotO, entity.getYRot()); - int i = variant.width(); - int j = variant.height(); - if (state.lightCoords.length != i * j) { - state.lightCoords = new int[i * j]; - } - - float f = (float)(-i) / 2.0F; - float f1 = (float)(-j) / 2.0F; - Level level = entity.level(); - - for (int k = 0; k < j; k++) { - for (int l = 0; l < i; l++) { - float f2 = (float)l + f + 0.5F; - float f3 = (float)k + f1 + 0.5F; - int i1 = entity.getBlockX(); - int j1 = Mth.floor(entity.getY() + (double)f3); - int k1 = entity.getBlockZ(); + state.texture = MagicPaintingVariant.getVariantResourceLocation(painting.level().registryAccess(), variant); + state.yRot = Mth.lerp(partialTick, painting.yRotO, painting.getYRot()); + state.position = painting.position(); + + int widthAsBlock = variant.width() / 16; + int heightAsBlock = variant.height() / 16; + if (state.lightCoords.length != widthAsBlock * heightAsBlock) state.lightCoords = new int[widthAsBlock * heightAsBlock]; + + float halfWidth = (float)(-widthAsBlock) / 2.0F; + float halfHeight = (float)(-heightAsBlock) / 2.0F; + Level level = painting.level(); + + for (int w = 0; w < widthAsBlock; w++) { + for (int h = 0; h < heightAsBlock; h++) { + float widthOffset = (float)w + halfWidth + 0.5F; + float heightOffset = (float)h + halfHeight + 0.5F; + int lightX = painting.getBlockX(); + int lightY = Mth.floor(painting.getY() + (double)heightOffset); + int lightZ = painting.getBlockZ(); switch (direction) { case NORTH: - i1 = Mth.floor(entity.getX() + (double)f2); + lightX = Mth.floor(lightX + (double)widthOffset); break; case WEST: - k1 = Mth.floor(entity.getZ() - (double)f2); + lightZ = Mth.floor(lightZ - (double)widthOffset); break; case SOUTH: - i1 = Mth.floor(entity.getX() - (double)f2); + lightX = Mth.floor(lightX - (double)widthOffset); break; case EAST: - k1 = Mth.floor(entity.getZ() + (double)f2); + lightZ = Mth.floor(lightZ + (double)widthOffset); } - state.lightCoords[l + k * i] = LevelRenderer.getLightColor(level, new BlockPos(i1, j1, k1)); + state.lightCoords[w + h * widthAsBlock] = LevelRenderer.getLightColor(level, new BlockPos(lightX, lightY, lightZ)); } } } diff --git a/src/main/java/twilightforest/entity/MagicPainting.java b/src/main/java/twilightforest/entity/MagicPainting.java index 237ae23b19..a3e2462e5a 100644 --- a/src/main/java/twilightforest/entity/MagicPainting.java +++ b/src/main/java/twilightforest/entity/MagicPainting.java @@ -24,7 +24,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.NotNull; import twilightforest.TFRegistries; import twilightforest.init.TFDataComponents; @@ -39,7 +38,7 @@ import java.util.Optional; public class MagicPainting extends HangingEntity { - private static final Lazy>> MAGIC_PAINTING_VARIANT = Lazy.of(() -> SynchedEntityData.defineId(MagicPainting.class, TFDataSerializers.MAGIC_PAINTING_VARIANT.value())); + private static final EntityDataAccessor> MAGIC_PAINTING_VARIANT = SynchedEntityData.defineId(MagicPainting.class, TFDataSerializers.MAGIC_PAINTING_VARIANT.value()); public MagicPainting(EntityType entityType, Level level) { super(entityType, level); @@ -51,22 +50,22 @@ private MagicPainting(Level level, BlockPos pos) { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { - builder.define(MAGIC_PAINTING_VARIANT.get(), this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT)); + builder.define(MAGIC_PAINTING_VARIANT, this.getReg().getOrThrow(MagicPaintingVariants.DEFAULT)); } @Override public void onSyncedDataUpdated(EntityDataAccessor pKey) { - if (MAGIC_PAINTING_VARIANT.get().equals(pKey)) { + if (MAGIC_PAINTING_VARIANT.equals(pKey)) { this.recalculateBoundingBox(); } } public void setVariant(Holder variant) { - this.getEntityData().set(MAGIC_PAINTING_VARIANT.get(), variant); + this.getEntityData().set(MAGIC_PAINTING_VARIANT, variant); } public Holder getVariant() { - return this.getEntityData().get(MAGIC_PAINTING_VARIANT.get()); + return this.getEntityData().get(MAGIC_PAINTING_VARIANT); } public static Optional create(Level level, BlockPos pos, Direction direction) { From 3b57a6ed0a3a7bfc568b65ba830f3de710908d33 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 22:56:26 +0200 Subject: [PATCH 158/239] Is this better, mr Tama? --- src/main/java/twilightforest/ASMHooks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index 661f30ea82..6b475efc30 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -217,8 +217,8 @@ public static int resolveFoliageColor(int o, Biome biome, double x, double z) { * Injection Point:
* {@link net.minecraft.world.entity.decoration.LeashFenceKnotEntity#survives()} */ - public static boolean leashFenceKnotSurvives(boolean vanillaCheckWasTrue, LeashFenceKnotEntity entity) { - if (vanillaCheckWasTrue) return true; // Short-circuit to avoid an unnecessary #getBlockState call + public static boolean leashFenceKnotSurvives(boolean returnOfInjected, LeashFenceKnotEntity entity) { + if (returnOfInjected) return true; // Short-circuit to avoid an unnecessary #getBlockState call BlockState fenceState = entity.level().getBlockState(entity.getPos()); return fenceState.is(TFBlocks.WROUGHT_IRON_FENCE) && fenceState.getValue(WroughtIronFenceBlock.POST) != WroughtIronFenceBlock.PostState.NONE; } From b80a90b2d984b0019121aef945cd79c8e92ff02c Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 20 Apr 2025 23:37:40 +0200 Subject: [PATCH 159/239] o --- src/main/java/twilightforest/ASMHooks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/ASMHooks.java b/src/main/java/twilightforest/ASMHooks.java index 6b475efc30..c993c5b819 100644 --- a/src/main/java/twilightforest/ASMHooks.java +++ b/src/main/java/twilightforest/ASMHooks.java @@ -217,8 +217,8 @@ public static int resolveFoliageColor(int o, Biome biome, double x, double z) { * Injection Point:
* {@link net.minecraft.world.entity.decoration.LeashFenceKnotEntity#survives()} */ - public static boolean leashFenceKnotSurvives(boolean returnOfInjected, LeashFenceKnotEntity entity) { - if (returnOfInjected) return true; // Short-circuit to avoid an unnecessary #getBlockState call + public static boolean leashFenceKnotSurvives(boolean o, LeashFenceKnotEntity entity) { + if (o) return true; // Short-circuit to avoid an unnecessary #getBlockState call BlockState fenceState = entity.level().getBlockState(entity.getPos()); return fenceState.is(TFBlocks.WROUGHT_IRON_FENCE) && fenceState.getValue(WroughtIronFenceBlock.POST) != WroughtIronFenceBlock.PostState.NONE; } From 0b645cc2eaea56edae3b44a0529c0c8f558d2897 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:52:11 -0600 Subject: [PATCH 160/239] use guigraphics method of rendering bossbars again --- .../twilightforest/entity/boss/AlphaYeti.java | 2 +- .../twilightforest/entity/boss/Hydra.java | 2 +- .../entity/boss/KnightPhantom.java | 2 +- .../java/twilightforest/entity/boss/Lich.java | 4 +-- .../entity/boss/Minoshroom.java | 2 +- .../java/twilightforest/entity/boss/Naga.java | 2 +- .../entity/boss/PlateauBoss.java | 2 +- .../twilightforest/entity/boss/SnowQueen.java | 2 +- .../twilightforest/entity/boss/UrGhast.java | 2 +- .../entity/boss/bar/ClientTFBossBar.java | 27 ++++--------------- 10 files changed, 15 insertions(+), 32 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/AlphaYeti.java b/src/main/java/twilightforest/entity/boss/AlphaYeti.java index 71c1ac800e..652d5a0969 100644 --- a/src/main/java/twilightforest/entity/boss/AlphaYeti.java +++ b/src/main/java/twilightforest/entity/boss/AlphaYeti.java @@ -335,6 +335,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xB4F0F0; + return 0xFFB4F0F0; } } diff --git a/src/main/java/twilightforest/entity/boss/Hydra.java b/src/main/java/twilightforest/entity/boss/Hydra.java index 34f87c1da1..606cd20d92 100644 --- a/src/main/java/twilightforest/entity/boss/Hydra.java +++ b/src/main/java/twilightforest/entity/boss/Hydra.java @@ -758,6 +758,6 @@ public void tickDeathAnimation() { @Override public int getBossBarColor() { - return 0x05EBB9; + return 0xFF05EBB9; } } diff --git a/src/main/java/twilightforest/entity/boss/KnightPhantom.java b/src/main/java/twilightforest/entity/boss/KnightPhantom.java index e4bdfd5a40..fb555c892d 100644 --- a/src/main/java/twilightforest/entity/boss/KnightPhantom.java +++ b/src/main/java/twilightforest/entity/boss/KnightPhantom.java @@ -667,7 +667,7 @@ public Component getBossBarTitle() { @Override public int getBossBarColor() { - return 0x86BF37; + return 0xFF86BF37; } public enum Formation { diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index 269a16e059..3b967123d7 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -1064,8 +1064,8 @@ public BossEvent.BossBarOverlay getBossBarOverlay() { @Override public int getBossBarColor() { - if (this.getShieldStrength() > 0) return 0xFFD800; - return this.getPhase() == 2 ? 0xBE23FF : 0xFF0000; + if (this.getShieldStrength() > 0) return 0xFFFFD800; + return this.getPhase() == 2 ? 0xFFBE23FF : 0xFFFF0000; } @Override diff --git a/src/main/java/twilightforest/entity/boss/Minoshroom.java b/src/main/java/twilightforest/entity/boss/Minoshroom.java index 167dc0c5fd..dce667d837 100644 --- a/src/main/java/twilightforest/entity/boss/Minoshroom.java +++ b/src/main/java/twilightforest/entity/boss/Minoshroom.java @@ -203,6 +203,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFF0000; + return 0xFFFF0000; } } diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index ff5dcabc28..0db8406412 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -606,6 +606,6 @@ public BossEvent.BossBarOverlay getBossBarOverlay() { @Override public int getBossBarColor() { - return 0x5E9916; + return 0xFF5E9916; } } diff --git a/src/main/java/twilightforest/entity/boss/PlateauBoss.java b/src/main/java/twilightforest/entity/boss/PlateauBoss.java index da7abf56ca..3f8f588a47 100644 --- a/src/main/java/twilightforest/entity/boss/PlateauBoss.java +++ b/src/main/java/twilightforest/entity/boss/PlateauBoss.java @@ -44,6 +44,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFFFFFF; + return 0xFFFFFFFF; } } diff --git a/src/main/java/twilightforest/entity/boss/SnowQueen.java b/src/main/java/twilightforest/entity/boss/SnowQueen.java index 1ea83402d7..335d2bd7d9 100644 --- a/src/main/java/twilightforest/entity/boss/SnowQueen.java +++ b/src/main/java/twilightforest/entity/boss/SnowQueen.java @@ -440,6 +440,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0x8CF0F0; + return 0xFF8CF0F0; } } diff --git a/src/main/java/twilightforest/entity/boss/UrGhast.java b/src/main/java/twilightforest/entity/boss/UrGhast.java index 0e8f885a23..b89d3fd5e8 100644 --- a/src/main/java/twilightforest/entity/boss/UrGhast.java +++ b/src/main/java/twilightforest/entity/boss/UrGhast.java @@ -573,6 +573,6 @@ public void makePoofParticles() { @Override public int getBossBarColor() { - return 0xFF0000; + return 0xFFFF0000; } } diff --git a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java index dfbe9e5304..0e9e2ba654 100644 --- a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java +++ b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java @@ -40,15 +40,16 @@ public void setSetTime(long setTime) { private static final ResourceLocation BAR_BACKGROUND = ResourceLocation.withDefaultNamespace("boss_bar/white_background"); private static final ResourceLocation BAR_PROGRESS = ResourceLocation.withDefaultNamespace("boss_bar/white_progress"); + //parchment calls the last param in `GuiGraphics.blitSprite` `blitOffset` but it's actually the color public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.enableBlend(); - this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_BACKGROUND, x, y, 182, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], x, y, 182, 5); + guiGraphics.blitSprite(RenderType::guiTextured, BAR_BACKGROUND, x, y, 182, 5, this.color); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], x, y, 182, 5, this.color); int progress = Mth.lerpDiscrete(this.getProgress(), 0, 182); if (progress > 0) { - this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_PROGRESS, x, y, progress, 5); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], x, y, progress, 5); + guiGraphics.blitSprite(RenderType::guiTextured, BAR_PROGRESS, x, y, progress, 5, this.color); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], x, y, progress, 5, this.color); } Component title = this.getName(); @@ -59,22 +60,4 @@ public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.disableBlend(); } - - public void blitSprite(GuiGraphics guiGraphics, Function renderTypeGetter, ResourceLocation location, float x, float y, int uWidth, int vHeight) { - TextureAtlasSprite sprite = guiGraphics.sprites.getSprite(location); - - float minU = sprite.getU(0.0F); - float maxU = sprite.getU(uWidth / 182.0F); - float minV = sprite.getV(0.0F); - float maxV = sprite.getV(vHeight / 5.0F); - - float r = ((this.color >> 16) & 255) / 255F, g = ((this.color >> 8) & 255) / 255F, b = (this.color & 255) / 255F, a = 1.0F; - - Matrix4f matrix4f = guiGraphics.pose().last().pose(); - VertexConsumer vertex = guiGraphics.bufferSource.getBuffer(renderTypeGetter.apply(sprite.atlasLocation())); - vertex.addVertex(matrix4f, x, y, 0.0F).setUv(minU, minV).setColor(r, g, b, a); - vertex.addVertex(matrix4f, x, y + vHeight, 0.0F).setUv(minU, maxV).setColor(r, g, b, a); - vertex.addVertex(matrix4f, x + uWidth, y + vHeight, 0.0F).setUv(maxU, maxV).setColor(r, g, b, a); - vertex.addVertex(matrix4f, x + uWidth, y, 0.0F).setUv(maxU, minV).setColor(r, g, b, a); - } } From 769cc94fcb9c421c0d1a73861bdb72c84e8cb0f3 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:38:03 -0600 Subject: [PATCH 161/239] fix snow queen shield rendering --- .../entity/SnowQueenIceShieldRenderer.java | 44 ++++--------- .../client/state/IceShieldRenderState.java | 65 ------------------- 2 files changed, 14 insertions(+), 95 deletions(-) delete mode 100644 src/main/java/twilightforest/client/state/IceShieldRenderState.java diff --git a/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java b/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java index 5081b836aa..e817cc7afa 100644 --- a/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/SnowQueenIceShieldRenderer.java @@ -1,52 +1,36 @@ package twilightforest.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.BlockRenderDispatcher; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.RenderShape; -import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.client.model.data.ModelData; -import twilightforest.client.state.IceShieldRenderState; import twilightforest.entity.boss.SnowQueenIceShield; -public class SnowQueenIceShieldRenderer extends EntityRenderer { +public class SnowQueenIceShieldRenderer extends EntityRenderer { + + private final BlockRenderDispatcher dispatcher; + public SnowQueenIceShieldRenderer(EntityRendererProvider.Context context) { super(context); + this.dispatcher = context.getBlockRenderDispatcher(); } @Override - public void render(IceShieldRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { - BlockState blockstate = Blocks.PACKED_ICE.defaultBlockState(); - if (blockstate.getRenderShape() == RenderShape.MODEL) { - stack.pushPose(); - stack.translate(-0.5D, 0.0D, -0.5D); - BlockRenderDispatcher dispatcher = Minecraft.getInstance().getBlockRenderer(); - var model = dispatcher.getBlockModel(blockstate); - for (var renderType : model.getRenderTypes(blockstate, RandomSource.create(blockstate.getSeed(state.blockPos)), ModelData.EMPTY)) - dispatcher.getModelRenderer().tesselateBlock(state, model, blockstate, state.blockPos, stack, buffer.getBuffer(renderType), false, RandomSource.create(), blockstate.getSeed(state.blockPos), OverlayTexture.NO_OVERLAY, ModelData.EMPTY, renderType); - stack.popPose(); - super.render(state, stack, buffer, light); - } - } - - @Override - public IceShieldRenderState createRenderState() { - return new IceShieldRenderState(); + public void render(EntityRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + stack.pushPose(); + stack.translate(-0.5D, 0.0, -0.5D); + this.dispatcher.renderSingleBlock(Blocks.PACKED_ICE.defaultBlockState(), stack, buffer, light, OverlayTexture.NO_OVERLAY, ModelData.EMPTY, null); + stack.popPose(); + super.render(state, stack, buffer, light); } @Override - public void extractRenderState(SnowQueenIceShield entity, IceShieldRenderState state, float partialTick) { - super.extractRenderState(entity, state, partialTick); - BlockPos blockpos = BlockPos.containing(entity.getX(), entity.getBoundingBox().maxY, entity.getZ()); - state.blockPos = blockpos; - state.biome = entity.level().getBiome(blockpos); - state.level = entity.level(); + public EntityRenderState createRenderState() { + return new EntityRenderState(); } } diff --git a/src/main/java/twilightforest/client/state/IceShieldRenderState.java b/src/main/java/twilightforest/client/state/IceShieldRenderState.java deleted file mode 100644 index 40b828985d..0000000000 --- a/src/main/java/twilightforest/client/state/IceShieldRenderState.java +++ /dev/null @@ -1,65 +0,0 @@ -package twilightforest.client.state; - -import net.minecraft.client.renderer.entity.state.EntityRenderState; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.core.Holder; -import net.minecraft.world.level.BlockAndTintGetter; -import net.minecraft.world.level.ColorResolver; -import net.minecraft.world.level.EmptyBlockAndTintGetter; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.lighting.LevelLightEngine; -import net.minecraft.world.level.material.FluidState; - -import javax.annotation.Nullable; - -public class IceShieldRenderState extends EntityRenderState implements BlockAndTintGetter { - public BlockPos blockPos; - @Nullable - public Holder biome; - public BlockAndTintGetter level = EmptyBlockAndTintGetter.INSTANCE; - - @Override - public float getShade(Direction direction, boolean shade) { - return this.level.getShade(direction, shade); - } - - @Override - public LevelLightEngine getLightEngine() { - return this.level.getLightEngine(); - } - - @Override - public int getBlockTint(BlockPos pos, ColorResolver resolver) { - return this.biome == null ? -1 : resolver.getColor(this.biome.value(), pos.getX(), pos.getZ()); - } - - @Nullable - @Override - public BlockEntity getBlockEntity(BlockPos pos) { - return null; - } - - @Override - public BlockState getBlockState(BlockPos pos) { - return Blocks.PACKED_ICE.defaultBlockState(); - } - - @Override - public FluidState getFluidState(BlockPos pos) { - return this.getBlockState(pos).getFluidState(); - } - - @Override - public int getHeight() { - return 1; - } - - @Override - public int getMinY() { - return this.blockPos.getY(); - } -} From bd2bbd75f635cb84ff61ccab8e5b516e167803c4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:14:59 -0600 Subject: [PATCH 162/239] fix boat crash --- .../client/event/RegistrationEvents.java | 42 +++++++++++++++++++ .../client/model/TFModelLayers.java | 26 ++++++++++-- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index ad7fd2eeb4..b00c97f12d 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -9,6 +9,7 @@ import net.minecraft.client.particle.*; import net.minecraft.client.renderer.DimensionSpecialEffects; import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.entity.BoatRenderer; import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.NoopRenderer; import net.minecraft.client.renderer.entity.ThrownItemRenderer; @@ -79,6 +80,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.function.Supplier; public class RegistrationEvents { @@ -282,6 +284,25 @@ private static void registerEntityRenderers(EntityRenderersEvent.RegisterRendere event.registerEntityRenderer(TFEntities.SEEKER_ARROW.get(), DefaultArrowRenderer::new); event.registerEntityRenderer(TFEntities.ICE_ARROW.get(), DefaultArrowRenderer::new); + //boats + event.registerEntityRenderer(TFEntities.TWILIGHT_OAK_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TWILIGHT_OAK_BOAT)); + event.registerEntityRenderer(TFEntities.CANOPY_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.CANOPY_BOAT)); + event.registerEntityRenderer(TFEntities.MANGROVE_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.MANGROVE_BOAT)); + event.registerEntityRenderer(TFEntities.DARK_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.DARK_BOAT)); + event.registerEntityRenderer(TFEntities.TIME_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TIME_BOAT)); + event.registerEntityRenderer(TFEntities.TRANSFORMATION_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TRANSFORMATION_BOAT)); + event.registerEntityRenderer(TFEntities.MINING_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.MINING_BOAT)); + event.registerEntityRenderer(TFEntities.SORTING_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.SORTING_BOAT)); + event.registerEntityRenderer(TFEntities.TWILIGHT_OAK_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TWILIGHT_OAK_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.CANOPY_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.CANOPY_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.MANGROVE_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.MANGROVE_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.DARK_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.DARK_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.TIME_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TIME_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.TRANSFORMATION_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.TRANSFORMATION_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.MINING_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.MINING_CHEST_BOAT)); + event.registerEntityRenderer(TFEntities.SORTING_CHEST_BOAT.get(), context -> new BoatRenderer(context, TFModelLayers.SORTING_CHEST_BOAT)); + + // Block Entities event.registerBlockEntityRenderer(TFBlockEntities.FIREFLY.get(), FireflyRenderer::new); event.registerBlockEntityRenderer(TFBlockEntities.CICADA.get(), CicadaRenderer::new); @@ -420,6 +441,27 @@ private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerD event.registerLayerDefinition(TFModelLayers.RED_THREAD, RedThreadModel::create); event.registerLayerDefinition(TFModelLayers.KNIGHTMETAL_SHIELD, KnightmetalShieldModel::create); + + Supplier boatModel = BoatModel::createBoatModel; + Supplier chestBoatModel = BoatModel::createChestBoatModel; + + event.registerLayerDefinition(TFModelLayers.TWILIGHT_OAK_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.CANOPY_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.MANGROVE_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.DARK_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.TIME_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.TRANSFORMATION_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.MINING_BOAT, boatModel); + event.registerLayerDefinition(TFModelLayers.SORTING_BOAT, boatModel); + + event.registerLayerDefinition(TFModelLayers.TWILIGHT_OAK_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.CANOPY_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.MANGROVE_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.DARK_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.TIME_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.TRANSFORMATION_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.MINING_CHEST_BOAT, chestBoatModel); + event.registerLayerDefinition(TFModelLayers.SORTING_CHEST_BOAT, chestBoatModel); } private static void registerSpecialModelTypes(RegisterSpecialModelRendererEvent event) { diff --git a/src/main/java/twilightforest/client/model/TFModelLayers.java b/src/main/java/twilightforest/client/model/TFModelLayers.java index 4a1ddad46c..9b68cb1c7d 100644 --- a/src/main/java/twilightforest/client/model/TFModelLayers.java +++ b/src/main/java/twilightforest/client/model/TFModelLayers.java @@ -112,11 +112,29 @@ public class TFModelLayers { public static final ModelLayerLocation CHARM_OF_LIFE = register("charm_of_life"); - private static ModelLayerLocation register(String p_171294_) { - return register(p_171294_, "main"); + public static final ModelLayerLocation TWILIGHT_OAK_BOAT = register("boat/twilight_oak"); + public static final ModelLayerLocation CANOPY_BOAT = register("boat/canopy"); + public static final ModelLayerLocation MANGROVE_BOAT = register("boat/mangrove"); + public static final ModelLayerLocation DARK_BOAT = register("boat/dark"); + public static final ModelLayerLocation TIME_BOAT = register("boat/time"); + public static final ModelLayerLocation TRANSFORMATION_BOAT = register("boat/transformation"); + public static final ModelLayerLocation MINING_BOAT = register("boat/mining"); + public static final ModelLayerLocation SORTING_BOAT = register("boat/sorting"); + + public static final ModelLayerLocation TWILIGHT_OAK_CHEST_BOAT = register("chest_boat/twilight_oak"); + public static final ModelLayerLocation CANOPY_CHEST_BOAT = register("chest_boat/canopy"); + public static final ModelLayerLocation MANGROVE_CHEST_BOAT = register("chest_boat/mangrove"); + public static final ModelLayerLocation DARK_CHEST_BOAT = register("chest_boat/dark"); + public static final ModelLayerLocation TIME_CHEST_BOAT = register("chest_boat/time"); + public static final ModelLayerLocation TRANSFORMATION_CHEST_BOAT = register("chest_boat/transformation"); + public static final ModelLayerLocation MINING_CHEST_BOAT = register("chest_boat/mining"); + public static final ModelLayerLocation SORTING_CHEST_BOAT = register("chest_boat/sorting"); + + private static ModelLayerLocation register(String name) { + return register(name, "main"); } - private static ModelLayerLocation register(String p_171301_, String p_171302_) { - return new ModelLayerLocation(TwilightForestMod.prefix(p_171301_), p_171302_); + private static ModelLayerLocation register(String name, String layer) { + return new ModelLayerLocation(TwilightForestMod.prefix(name), layer); } } From 0745391e8302d822479cafa45dbd3631447fae8c Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 23:11:39 -0600 Subject: [PATCH 163/239] fix crumble horn use anim --- .../datagen/assets/models/ItemModelGenerator.java | 4 +++- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 7 ++++--- .../assets/twilightforest/items/crumble_horn.json | 12 ++++++++++-- .../twilightforest/models/item/crumble_horn.json | 2 +- .../twilightforest/models/tooting_crumble_horn.json | 6 ++++++ 5 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 src/generated/resources/assets/twilightforest/models/tooting_crumble_horn.json diff --git a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java index c28a8c1e2d..9ca72e3280 100644 --- a/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/ItemModelGenerator.java @@ -238,7 +238,9 @@ public void run() { ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.ORE_METER.get(), ModelTemplates.FLAT_ITEM)))); this.generateFlatItem(TFItems.POCKET_WATCH.get(), ModelTemplates.FLAT_ITEM); this.generateMoonDial(TFItems.MOON_DIAL.get()); - this.generateFlatItem(TFItems.CRUMBLE_HORN.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + this.generateBooleanDispatch(TFItems.CRUMBLE_HORN.get(), ItemModelUtils.isUsingItem(), + ItemModelUtils.plainModel(ModelTemplates.createItem(ResourceLocation.withDefaultNamespace("tooting_goat_horn").toString(), TextureSlot.LAYER0).create(TwilightForestMod.prefix("tooting_crumble_horn"), TextureMapping.layer0(TFItems.CRUMBLE_HORN.get()), this.modelOutput)), + ItemModelUtils.plainModel(ModelTemplates.createItem(ResourceLocation.withDefaultNamespace("goat_horn").toString(), TextureSlot.LAYER0).create(TFItems.CRUMBLE_HORN.get(), TextureMapping.layer0(TFItems.CRUMBLE_HORN.get()), this.modelOutput))); this.generateFlatItem(TFItems.PEACOCK_FEATHER_FAN.get(), ModelTemplates.FLAT_HANDHELD_ITEM); this.itemModelOutput.accept(TFItems.MOONWORM_QUEEN.get(), ItemModelUtils.conditional(new MoonwormQueenPulse(), ItemModelUtils.plainModel(this.createFlatItemModel(TFItems.MOONWORM_QUEEN.get(), "_alt", ModelTemplates.FLAT_HANDHELD_ITEM)), diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 5dc29f3fc6..659a87e6b9 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-20T12:22:37.861692 Model Definitions - twilightforest +// 1.21.4 2025-04-20T23:10:02.7908596 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -594,7 +594,7 @@ a177726172be22ebef89f85f0144d4759aec51d2 assets/twilightforest/items/cracked_tow 1110e102232076e16590624c876a32e7c82c5bcb assets/twilightforest/items/creeper_skull_candle.json cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_banister.json 751b99856cf5079c29c59b006ab72934812bf497 assets/twilightforest/items/crown_splinter.json -075d53461c759967993ed4ec657ef13d4423fa1f assets/twilightforest/items/crumble_horn.json +7f421d7e9b5ebbefcef9c64bb99fbfd4c33bcf30 assets/twilightforest/items/crumble_horn.json 279612534d6c58ef81464793ddca1ab7f80bc792 assets/twilightforest/items/cube_of_annihilation.json 13c2cf5d8cc0c5e055ef61d34074a39d854af444 assets/twilightforest/items/cube_talisman.json 39b440e56ef50da3547af86fb7697bb9f994b2b0 assets/twilightforest/items/cut_mazestone.json @@ -2219,7 +2219,7 @@ db0b4a62901bb0e4ba7098fcf4ce6d75e906c2e9 assets/twilightforest/models/item/clove 672edc91d696882be7a512bd4b0016095d10bd5b assets/twilightforest/models/item/cooked_meef.json 55102a381f3b4f01bc9e6a243790d044a95cd5c8 assets/twilightforest/models/item/cooked_venison.json 26b4954dcdc98cb4a179d670509b880dffe0dd5f assets/twilightforest/models/item/crown_splinter.json -f49a7461b6de4822b4190d497c6db54a7c5d8721 assets/twilightforest/models/item/crumble_horn.json +e5b15cca7a6c5959119545b6633b08b806effd7f assets/twilightforest/models/item/crumble_horn.json d36c63d26640d408e6da58c5cf6759bd6d1f8ae2 assets/twilightforest/models/item/cube_of_annihilation.json 1ce5d3fe1b3c3104bee4bab8dd23df16c5393881 assets/twilightforest/models/item/cube_of_annihilation_thrown.json a7c7d75939e66246dbb6064fad965191f4da748e assets/twilightforest/models/item/cube_talisman.json @@ -2856,4 +2856,5 @@ f11a88461d365ac273c876c6fe6f25087590af6f assets/twilightforest/models/item/yeti_ 710794ab9a702d0dbdca73586197b3bd868aa7c0 assets/twilightforest/models/item/yeti_leggings_resin_trim.json f005b6b9553e9dfd7772f3132e262647c5ddd648 assets/twilightforest/models/item/yeti_leggings_steeleaf_trim.json 5c5358f8dadee7998b214b7105b8927dd6d6fcd3 assets/twilightforest/models/item/zombie_scepter.json +84b6e8abf533a1367db9f8aefcbdcc30c3b90496 assets/twilightforest/models/tooting_crumble_horn.json 4ae965c1ff8d93ea34612519560e7657812d00da assets/twilightforest/models/trollsteinn_inside.json diff --git a/src/generated/resources/assets/twilightforest/items/crumble_horn.json b/src/generated/resources/assets/twilightforest/items/crumble_horn.json index 175b472a88..cc219afb91 100644 --- a/src/generated/resources/assets/twilightforest/items/crumble_horn.json +++ b/src/generated/resources/assets/twilightforest/items/crumble_horn.json @@ -1,6 +1,14 @@ { "model": { - "type": "minecraft:model", - "model": "twilightforest:item/crumble_horn" + "type": "minecraft:condition", + "on_false": { + "type": "minecraft:model", + "model": "twilightforest:item/crumble_horn" + }, + "on_true": { + "type": "minecraft:model", + "model": "twilightforest:tooting_crumble_horn" + }, + "property": "minecraft:using_item" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json b/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json index 4ba8ff0f16..356f916189 100644 --- a/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json +++ b/src/generated/resources/assets/twilightforest/models/item/crumble_horn.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/goat_horn", "textures": { "layer0": "twilightforest:item/crumble_horn" } diff --git a/src/generated/resources/assets/twilightforest/models/tooting_crumble_horn.json b/src/generated/resources/assets/twilightforest/models/tooting_crumble_horn.json new file mode 100644 index 0000000000..6e2fb7fc12 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/models/tooting_crumble_horn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/tooting_goat_horn", + "textures": { + "layer0": "twilightforest:item/crumble_horn" + } +} \ No newline at end of file From 21dc6b189592a8bc2e82e9f4ced311c3b3ce6941 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 23:25:35 -0600 Subject: [PATCH 164/239] fix debug world crashes --- .../block/CinderFurnaceBlock.java | 5 ++- .../entity/CinderFurnaceBlockEntity.java | 7 ++++ .../entity/ReactorDebrisBlockEntity.java | 39 +++++++++++-------- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/main/java/twilightforest/block/CinderFurnaceBlock.java b/src/main/java/twilightforest/block/CinderFurnaceBlock.java index 7a82901af6..7412dd7e6b 100644 --- a/src/main/java/twilightforest/block/CinderFurnaceBlock.java +++ b/src/main/java/twilightforest/block/CinderFurnaceBlock.java @@ -17,6 +17,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.phys.BlockHitResult; @@ -24,7 +25,7 @@ public class CinderFurnaceBlock extends BaseEntityBlock { - public static final BooleanProperty LIT = BooleanProperty.create("lit"); + public static final BooleanProperty LIT = BlockStateProperties.LIT; private static final EnumProperty FACING = TFHorizontalBlock.FACING; public static final MapCodec CODEC = simpleCodec(CinderFurnaceBlock::new); @@ -70,7 +71,7 @@ public boolean triggerEvent(BlockState state, Level level, BlockPos pos, int id, @Override protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { if (!level.isClientSide() && level.getBlockEntity(pos) instanceof CinderFurnaceBlockEntity cinder) { - player.openMenu(cinder); + //player.openMenu(cinder); } return InteractionResult.PASS; diff --git a/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java b/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java index 7dfe1f9f28..6b9a050811 100644 --- a/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/CinderFurnaceBlockEntity.java @@ -20,11 +20,13 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.LevelEvent; import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.FurnaceBlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.common.Tags; import org.jetbrains.annotations.Nullable; import twilightforest.block.CinderFurnaceBlock; +import twilightforest.init.TFBlockEntities; import twilightforest.init.TFBlocks; public class CinderFurnaceBlockEntity extends FurnaceBlockEntity { @@ -34,6 +36,11 @@ public CinderFurnaceBlockEntity(BlockPos pos, BlockState state) { super(pos, state); } + @Override + public BlockEntityType getType() { + return TFBlockEntities.CINDER_FURNACE.get(); + } + // // [VanillaCopy] of superclass, edits noted // public static void tick(Level level, BlockPos pos, BlockState state, CinderFurnaceBlockEntity te) { // boolean flag = te.isBurning(); diff --git a/src/main/java/twilightforest/block/entity/ReactorDebrisBlockEntity.java b/src/main/java/twilightforest/block/entity/ReactorDebrisBlockEntity.java index a4278d3120..4b5c10ad82 100644 --- a/src/main/java/twilightforest/block/entity/ReactorDebrisBlockEntity.java +++ b/src/main/java/twilightforest/block/entity/ReactorDebrisBlockEntity.java @@ -101,13 +101,16 @@ private static ResourceLocation nonEmptyNotNull(String texturesString) { @Override protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { super.loadAdditional(tag, registries); - CompoundTag textures = tag.getCompound("textures"); - this.textures[0] = nonEmptyNotNull(textures.getString("west")); - this.textures[1] = nonEmptyNotNull(textures.getString("east")); - this.textures[2] = nonEmptyNotNull(textures.getString("bottom")); - this.textures[3] = nonEmptyNotNull(textures.getString("top")); - this.textures[4] = nonEmptyNotNull(textures.getString("north")); - this.textures[5] = nonEmptyNotNull(textures.getString("south")); + + if (tag.contains("textures")) { + CompoundTag textures = tag.getCompound("textures"); + this.textures[0] = nonEmptyNotNull(textures.getString("west")); + this.textures[1] = nonEmptyNotNull(textures.getString("east")); + this.textures[2] = nonEmptyNotNull(textures.getString("bottom")); + this.textures[3] = nonEmptyNotNull(textures.getString("top")); + this.textures[4] = nonEmptyNotNull(textures.getString("north")); + this.textures[5] = nonEmptyNotNull(textures.getString("south")); + } ListTag posTag = tag.getList("pos", Tag.TAG_FLOAT); if (posTag.size() == 3) { @@ -128,25 +131,27 @@ protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) this.shape = Shapes.box(this.minPos.x, this.minPos.y, this.minPos.z, this.maxPos.x, this.maxPos.y, this.maxPos.z); this.rerolls = tag.getBoolean("rerolls"); this.willDisappear = tag.getBoolean("will_disappear"); - this.timeAlive = tag.getByte("timeAlive"); + this.timeAlive = tag.getByte("time_alive"); } @Override protected void saveAdditional(CompoundTag tag, HolderLookup.Provider registries) { super.saveAdditional(tag, registries); - CompoundTag textures = new CompoundTag(); - textures.putString("west", this.textures[0].toString()); - textures.putString("east", this.textures[1].toString()); - textures.putString("bottom", this.textures[2].toString()); - textures.putString("top", this.textures[3].toString()); - textures.putString("north", this.textures[4].toString()); - textures.putString("south", this.textures[5].toString()); - tag.put("textures", textures); + if (this.textures[0] != null) { + CompoundTag textures = new CompoundTag(); + textures.putString("west", this.textures[0].toString()); + textures.putString("east", this.textures[1].toString()); + textures.putString("bottom", this.textures[2].toString()); + textures.putString("top", this.textures[3].toString()); + textures.putString("north", this.textures[4].toString()); + textures.putString("south", this.textures[5].toString()); + tag.put("textures", textures); + } tag.put("pos", this.newFloatList(this.minPos.x, this.minPos.y, this.minPos.z)); tag.put("sizes", this.newFloatList(this.maxPos.x - this.minPos.x, this.maxPos.y - this.minPos.y, this.maxPos.z - this.minPos.z)); tag.putBoolean("rerolls", this.rerolls); tag.putBoolean("will_disappear", this.willDisappear); - tag.putByte("timeAlive", this.timeAlive); + tag.putByte("time_alive", this.timeAlive); } protected ListTag newFloatList(float... values) { From e85c4599f41b083feceec50163d0bcf23cee5cc7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 20 Apr 2025 23:33:47 -0600 Subject: [PATCH 165/239] fix lich hitbox --- src/main/java/twilightforest/init/TFEntities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/init/TFEntities.java b/src/main/java/twilightforest/init/TFEntities.java index 04ee66c3c6..59e0ee2e98 100644 --- a/src/main/java/twilightforest/init/TFEntities.java +++ b/src/main/java/twilightforest/init/TFEntities.java @@ -66,7 +66,7 @@ public class TFEntities { public static final DeferredHolder, EntityType> KING_SPIDER = registerWithEgg("king_spider", EntityType.Builder.of(KingSpider::new, MobCategory.MONSTER).sized(1.6F, 1.6F).clientTrackingRange(8), KingSpider::registerAttributes, Monster::checkMonsterSpawnRules); public static final DeferredHolder, EntityType> KNIGHT_PHANTOM = registerWithEgg("knight_phantom", EntityType.Builder.of(KnightPhantom::new, MobCategory.MONSTER).sized(1.25F, 2.5F).clientTrackingRange(10), KnightPhantom::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> KOBOLD = registerWithEgg("kobold", EntityType.Builder.of(Kobold::new, MobCategory.MONSTER).sized(0.8F, 1.1F).clientTrackingRange(8), Kobold::registerAttributes, Monster::checkMonsterSpawnRules); - public static final DeferredHolder, EntityType> LICH = registerWithEgg("lich", EntityType.Builder.of(Lich::new, MobCategory.MONSTER).sized(1.1F, 2.1F), Lich::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); + public static final DeferredHolder, EntityType> LICH = registerWithEgg("lich", EntityType.Builder.of(Lich::new, MobCategory.MONSTER).sized(0.8F, 2.5F).eyeHeight(1.95F), Lich::registerAttributes, Monster::checkAnyLightMonsterSpawnRules); public static final DeferredHolder, EntityType> LICH_BOLT = registerMisc("lich_bolt", EntityType.Builder.of(LichBolt::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); public static final DeferredHolder, EntityType> LICH_BOMB = registerMisc("lich_bomb", EntityType.Builder.of(LichBomb::new, MobCategory.MISC).sized(0.25F, 0.25F).clientTrackingRange(8).updateInterval(10)); public static final DeferredHolder, EntityType> LICH_MINION = registerWithAttributes("lich_minion", EntityType.Builder.of(LichMinion::new, MobCategory.MONSTER).sized(0.6F, 1.95F).eyeHeight(1.74F).passengerAttachments(2.0125F).ridingOffset(-0.7F).clientTrackingRange(8), LichMinion::createAttributes); From 27f1f88f6a1241e1bed98cfa8fad7dac92e89ec0 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Mon, 21 Apr 2025 08:59:31 +0200 Subject: [PATCH 166/239] We dont need this anymore --- src/main/resources/META-INF/accesstransformer.cfg | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index ce21ba895d..b70fb7cd63 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -234,10 +234,6 @@ public net.minecraft.world.entity.ai.goal.MeleeAttackGoal speedModifier public net.minecraft.world.entity.Mob getEquipmentDropChance(Lnet/minecraft/world/entity/EquipmentSlot;)F -# ClientTFBossBar -public net.minecraft.client.gui.GuiGraphics bufferSource -public net.minecraft.client.gui.GuiGraphics sprites - # CountTemplateCommand public net.minecraft.world.level.levelgen.structure.structures.EndCityPieces$EndCityPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; public net.minecraft.world.level.levelgen.structure.structures.WoodlandMansionPieces$WoodlandMansionPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; From 7813d223226314b068242e9406be6255df4a5080 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Mon, 21 Apr 2025 10:48:25 -0400 Subject: [PATCH 167/239] Resolve duplicate source path for module dataForPublishing warning --- build.gradle | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index 0e251ba351..4876973602 100644 --- a/build.gradle +++ b/build.gradle @@ -105,13 +105,6 @@ sourceSets { srcDirs = ['src/main/resources'] } } - dataForPublishing { - compileClasspath += data.compileClasspath - - java { - srcDirs = ['src/data/java'] - } - } } configurations { @@ -362,15 +355,21 @@ tasks.register('sourceJar', Jar) { archiveClassifier = 'sources' } +tasks.register('dataClassesForPublishing', JavaCompile) { + dependsOn "dataClasses" + source = fileTree('src/data/java') + classpath = sourceSets.named('data').get().compileClasspath + destinationDirectory = layout.buildDirectory.dir("classes/java/dataForPublishing") +} + tasks.register('dataJar', Jar) { - dependsOn 'classes' - from sourceSets.dataForPublishing.output + dependsOn 'dataClassesForPublishing' + from layout.buildDirectory.dir("classes/java/dataForPublishing") archiveClassifier = 'data' } tasks.register('dataSourceJar', Jar) { - dependsOn 'classes' - from sourceSets.dataForPublishing.allSource + from sourceSets.data.allSource archiveClassifier = 'data-sources' } From fd0110718cec2824c2f9df970d75141e0cb1a6d2 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 21 Apr 2025 09:13:59 -0600 Subject: [PATCH 168/239] fix hydra necks --- .../client/model/entity/HydraNeckModel.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java index 19661a1666..8554c9c2b4 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java @@ -33,7 +33,7 @@ private static LayerDefinition create() { .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) .texOffs(128, 200) .addBox(-2.0F, -23.0F, 0.0F, 4.0F, 24.0F, 24.0F), - PartPose.ZERO); + PartPose.offset(0.0F, 8.0F, 0.0F)); return LayerDefinition.create(meshdefinition, 512, 256); } @@ -51,10 +51,4 @@ private static LayerDefinition createJappaModel() { return LayerDefinition.create(meshdefinition, 512, 256); } - - @Override - public void setupAnim(HydraNeckRenderState state) { - this.neck.yRot = state.yRot * Mth.DEG_TO_RAD; - this.neck.xRot = state.xRot * Mth.DEG_TO_RAD; - } } \ No newline at end of file From 467e6cf4aba2b258a75ebb82536f49e6c3066b5a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 21 Apr 2025 09:18:15 -0600 Subject: [PATCH 169/239] tail --- .../java/twilightforest/client/model/entity/HydraModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/model/entity/HydraModel.java b/src/main/java/twilightforest/client/model/entity/HydraModel.java index 16cee98b9f..03ef8f8f3a 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraModel.java @@ -388,7 +388,7 @@ private static LayerDefinition createJappaModel() { public void setupAnim(HydraRenderState state) { this.root().getAllParts().forEach(modelPart -> modelPart.skipDraw = !state.renderFakeHeads); this.body.skipDraw = false; - this.tail.skipDraw = false; + this.tail.getAllParts().forEach(modelPart -> modelPart.skipDraw = false); this.rightLeg.skipDraw = false; this.leftLeg.skipDraw = false; this.rightLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed; From e982765a8969b05800554bc74cb62ac872e9727b Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 21 Apr 2025 09:36:33 -0600 Subject: [PATCH 170/239] fix cinder wood --- .../datagen/assets/models/BlockModelGenerator.java | 2 +- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 7 +++---- .../assets/twilightforest/blockstates/cinder_wood.json | 4 ++-- .../assets/twilightforest/models/block/cinder_wood.json | 2 +- .../models/block/cinder_wood_horizontal.json | 7 ------- 5 files changed, 7 insertions(+), 15 deletions(-) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index d1ecd881d2..88cd6ceff4 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -333,7 +333,7 @@ public void run() { this.blockStateOutput.accept(createSimpleBlock(TFBlocks.CINDER_FURNACE.get(), ModelLocationUtils.getModelLocation(Blocks.FURNACE))); this.registerSimpleItemModel(TFBlocks.CINDER_FURNACE.get(), ResourceLocation.withDefaultNamespace("block/furnace")); this.wrapBlockItem(TFBlocks.CINDER_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(block))); - this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); + this.wrapBlockItem(TFBlocks.CINDER_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.CINDER_LOG.get()))); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"))); this.registerSimpleTintedItemModel(TFBlocks.TWILIGHT_PORTAL_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/portal"), new GrassColorSource()); this.blockStateOutput.accept(createSimpleBlock(TFBlocks.NAGA_COURTYARD_MINIATURE_STRUCTURE.get(), TwilightForestMod.prefix("block/miniature/naga_courtyard"))); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 659a87e6b9..1f90df365e 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-20T23:10:02.7908596 Model Definitions - twilightforest +// 1.21.4 2025-04-21T09:20:28.3857473 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -61,7 +61,7 @@ b0c8361f2a70856b75d1f38680c73284229445f6 assets/twilightforest/blockstates/cherr e4e8e60dad9f38bdc38962828c0380ec75dbed79 assets/twilightforest/blockstates/cicada_jar.json 506127577d22bb13c94efaa56e758eaac74c6717 assets/twilightforest/blockstates/cinder_furnace.json b53fdca651c846d8d8f51d96c1a6bc3e4584fc10 assets/twilightforest/blockstates/cinder_log.json -794beaa5f826d16ec9edb4209dd4cf9ee6ebeb6f assets/twilightforest/blockstates/cinder_wood.json +ad27382e53d8bee929e5f329ca6894dd2b35c408 assets/twilightforest/blockstates/cinder_wood.json 4c8950c67ab660a2167f204644fdfe06cd13a60f assets/twilightforest/blockstates/clover_patch.json 20d24deb34e2acd2a43e5abebed11b20e0bafd70 assets/twilightforest/blockstates/coronation_carpet.json 1261f404df8aec15a7b62454520e8ea2d4dbc5a4 assets/twilightforest/blockstates/cracked_castle_brick.json @@ -1245,8 +1245,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 85943df6ad1f7ace7273f71e14f5bcf7b3dbd4d0 assets/twilightforest/models/block/cicada.json 4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_log.json 84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json -4cca9f71464dc67993e49ed3e5d298b3ab6def70 assets/twilightforest/models/block/cinder_wood.json -84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_wood_horizontal.json +9f51bf0f611143e552b26bdd9e89435b03437159 assets/twilightforest/models/block/cinder_wood.json cf325abb60b30b02e30a9a775ff09406f629d13d assets/twilightforest/models/block/clover_patch.json 771c5abff1cdc13f88168a1df7d31a732e42b088 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json b/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json index e8749a4020..d6ebc1d0fd 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/cinder_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/cinder_wood_horizontal", + "model": "twilightforest:block/cinder_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/cinder_wood" }, "axis=z": { - "model": "twilightforest:block/cinder_wood_horizontal", + "model": "twilightforest:block/cinder_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json b/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json index c1b02cab7f..1ebbee07a9 100644 --- a/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/cinder_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/cinder_log_top", + "end": "twilightforest:block/cinder_log", "side": "twilightforest:block/cinder_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json deleted file mode 100644 index e8961aa2b6..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/cinder_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/cinder_log_top", - "side": "twilightforest:block/cinder_log" - } -} \ No newline at end of file From 7455691c4bfa1b8645c9ab8bb41b944be0246ead Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 21 Apr 2025 09:36:45 -0600 Subject: [PATCH 171/239] fix brazier --- .../client/model/block/BrazierModel.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/twilightforest/client/model/block/BrazierModel.java b/src/main/java/twilightforest/client/model/block/BrazierModel.java index fb2ed34ec7..4370c731bc 100644 --- a/src/main/java/twilightforest/client/model/block/BrazierModel.java +++ b/src/main/java/twilightforest/client/model/block/BrazierModel.java @@ -20,34 +20,34 @@ public static LayerDefinition create() { PartDefinition part = mesh.getRoot(); part.addOrReplaceChild("leg1", CubeListBuilder.create() - .texOffs(24, 13) - .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), + .texOffs(24, 15) + .addBox(-1.0F, -30.0F, -1.0F, 2.0F, 30.0F, 2.0F), PartPose.offsetAndRotation(-5.0F, 24.0F, 5.0F, 0.3655F, 0.7119F, 0.5299F)); part.addOrReplaceChild("leg2", CubeListBuilder.create() - .texOffs(16, 13) - .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), + .texOffs(16, 15) + .addBox(-1.0F, -30.0F, -1.0F, 2.0F, 30.0F, 2.0F), PartPose.offsetAndRotation(5.0F, 24.0F, 5.0F, 0.3655F, -0.7119F, -0.5299F)); part.addOrReplaceChild("leg3", CubeListBuilder.create() - .texOffs(8, 13) - .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), + .texOffs(8, 15) + .addBox(-1.0F, -30.0F, -1.0F, 2.0F, 30.0F, 2.0F), PartPose.offsetAndRotation(-5.0F, 24.0F, -5.0F, -0.3655F, -0.7119F, 0.5299F)); part.addOrReplaceChild("leg4", CubeListBuilder.create() - .texOffs(0, 13) - .addBox(-1.0F, -32.0F, -1.0F, 2.0F, 32.0F, 2.0F), + .texOffs(0, 15) + .addBox(-1.0F, -30.0F, -1.0F, 2.0F, 30.0F, 2.0F), PartPose.offsetAndRotation(5.0F, 24.0F, -5.0F, -0.3655F, 0.7119F, -0.5299F)); part.addOrReplaceChild("basket", CubeListBuilder.create() .texOffs(0, 0) .addBox(-4.0F, -5.0F, -4.0F, 8.0F, 5.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, -2.0F, 0.0F, 0.0F, 0.7854F, 0.0F)); + PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F)); part.addOrReplaceChild("charcoal", CubeListBuilder.create() .texOffs(32, 6) .addBox(-3.0F, -1.0F, -3.0F, 6.0F, 2.0F, 6.0F), - PartPose.offsetAndRotation(0.0F, -3.25F, 0.0F, 0.0F, 0.7854F, 0.0F)); + PartPose.offsetAndRotation(0.0F, -1.25F, 0.0F, 0.0F, 0.7854F, 0.0F)); part.addOrReplaceChild("rope", CubeListBuilder.create() .texOffs(32, 0) From 9501985398ee9f2473474bbd74dcee69c80984b0 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 21 Apr 2025 10:00:34 -0600 Subject: [PATCH 172/239] crying --- src/main/java/twilightforest/world/TFTeleporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/world/TFTeleporter.java b/src/main/java/twilightforest/world/TFTeleporter.java index d197b57f33..b6a9e6b417 100644 --- a/src/main/java/twilightforest/world/TFTeleporter.java +++ b/src/main/java/twilightforest/world/TFTeleporter.java @@ -178,7 +178,7 @@ private static int getScanHeight(ServerLevel world, BlockPos pos) { } private static int getScanHeight(ServerLevel world, int x, int z) { - int worldHeight = world.getMinY() - 1; + int worldHeight = world.getMaxY() - 1; //FIXME find an alternative to getHighestSectionPosition, its marked for removal @SuppressWarnings("removal") int chunkHeight = world.getChunk(x >> 4, z >> 4).getHighestSectionPosition() + 15; From 6fc3d55fbeb4cca9b9fa8941280287116cbf4620 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Mon, 21 Apr 2025 21:05:27 +0200 Subject: [PATCH 173/239] Fix twilight oak chest --- .../twilightforest/client/renderer/block/TFChestRenderer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java b/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java index 5c89d35b20..7e86fccf30 100644 --- a/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TFChestRenderer.java @@ -20,7 +20,7 @@ public class TFChestRenderer extends ChestRenderer> builder = ImmutableMap.builder(); - builder.put(TFBlocks.TWILIGHT_OAK_CHEST.get(), chestMaterial("twilight", false)); + builder.put(TFBlocks.TWILIGHT_OAK_CHEST.get(), chestMaterial("twilight_oak", false)); builder.put(TFBlocks.CANOPY_CHEST.get(), chestMaterial("canopy", false)); builder.put(TFBlocks.MANGROVE_CHEST.get(), chestMaterial("mangrove", false)); builder.put(TFBlocks.DARK_CHEST.get(), chestMaterial("darkwood", false)); @@ -29,7 +29,7 @@ public class TFChestRenderer extends ChestRenderer Date: Mon, 21 Apr 2025 22:22:42 +0200 Subject: [PATCH 174/239] Fix chests --- .../assets/models/BlockModelGenerator.java | 34 ++++++------ .../helpers/models/BlockModelBuilders.java | 7 +++ .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 34 ++++++------ .../twilightforest/items/canopy_chest.json | 2 +- .../items/canopy_trapped_chest.json | 2 +- .../twilightforest/items/dark_chest.json | 2 +- .../items/dark_trapped_chest.json | 2 +- .../twilightforest/items/mangrove_chest.json | 2 +- .../items/mangrove_trapped_chest.json | 2 +- .../twilightforest/items/mining_chest.json | 2 +- .../items/mining_trapped_chest.json | 2 +- .../twilightforest/items/sorting_chest.json | 2 +- .../items/sorting_trapped_chest.json | 2 +- .../twilightforest/items/time_chest.json | 2 +- .../items/time_trapped_chest.json | 2 +- .../items/transformation_chest.json | 2 +- .../items/transformation_trapped_chest.json | 2 +- .../items/twilight_oak_chest.json | 2 +- .../items/twilight_oak_trapped_chest.json | 2 +- .../client/event/RegistrationEvents.java | 43 ++++++++------- .../special/TFChestSpecialRenderer.java | 54 +++++++++++++++++++ 21 files changed, 134 insertions(+), 70 deletions(-) create mode 100644 src/main/java/twilightforest/client/renderer/special/TFChestSpecialRenderer.java diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 88cd6ceff4..8ca1cc2df5 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -528,23 +528,23 @@ private void generateWoodBlocks() { this.createTintedLeaves(TFBlocks.RAINBOW_OAK_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.OAK_LEAVES), ModelTemplates.LEAVES), -12012264); this.generateSapling(TFBlocks.RAINBOW_OAK_SAPLING.get(), TFBlocks.POTTED_RAINBOW_OAK_SAPLING.get(), PlantType.NOT_TINTED); - this.createChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal"), false); - this.createChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal"), false); - this.createChest(TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/normal"), false); - this.createChest(TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/normal"), false); - this.createChest(TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/normal"), false); - this.createChest(TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/normal"), false); - this.createChest(TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/normal"), false); - this.createChest(TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/normal"), false); - - this.createChest(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/trapped"), false); - this.createChest(TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/trapped"), false); - this.createChest(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/trapped"), false); - this.createChest(TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/trapped"), false); - this.createChest(TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/trapped"), false); - this.createChest(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/trapped"), false); - this.createChest(TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/trapped"), false); - this.createChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped"), false); + this.createTFChest(TFBlocks.TWILIGHT_OAK_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/normal")); + this.createTFChest(TFBlocks.CANOPY_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/normal")); + this.createTFChest(TFBlocks.MANGROVE_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/normal")); + this.createTFChest(TFBlocks.DARK_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/normal")); + this.createTFChest(TFBlocks.TIME_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/normal")); + this.createTFChest(TFBlocks.TRANSFORMATION_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/normal")); + this.createTFChest(TFBlocks.MINING_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/normal")); + this.createTFChest(TFBlocks.SORTING_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/normal")); + + this.createTFChest(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), TFBlocks.TWILIGHT_OAK_PLANKS.get(), TwilightForestMod.prefix("twilight_oak/trapped")); + this.createTFChest(TFBlocks.CANOPY_TRAPPED_CHEST.get(), TFBlocks.CANOPY_PLANKS.get(), TwilightForestMod.prefix("canopy/trapped")); + this.createTFChest(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), TFBlocks.MANGROVE_PLANKS.get(), TwilightForestMod.prefix("mangrove/trapped")); + this.createTFChest(TFBlocks.DARK_TRAPPED_CHEST.get(), TFBlocks.DARK_PLANKS.get(), TwilightForestMod.prefix("darkwood/trapped")); + this.createTFChest(TFBlocks.TIME_TRAPPED_CHEST.get(), TFBlocks.TIME_PLANKS.get(), TwilightForestMod.prefix("time/trapped")); + this.createTFChest(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), TFBlocks.TRANSFORMATION_PLANKS.get(), TwilightForestMod.prefix("transformation/trapped")); + this.createTFChest(TFBlocks.MINING_TRAPPED_CHEST.get(), TFBlocks.MINING_PLANKS.get(), TwilightForestMod.prefix("mining/trapped")); + this.createTFChest(TFBlocks.SORTING_TRAPPED_CHEST.get(), TFBlocks.SORTING_PLANKS.get(), TwilightForestMod.prefix("sorting/trapped")); this.generateHollowLog(Blocks.OAK_LOG, Blocks.STRIPPED_OAK_LOG, TFBlocks.HOLLOW_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_OAK_LOG_CLIMBABLE.get()); this.generateBanister(TFBlocks.OAK_BANISTER.get(), TextureMapping.cube(Blocks.OAK_PLANKS)); diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 63772e8474..121914bba8 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -25,6 +25,7 @@ import twilightforest.client.renderer.block.JarRenderer; import twilightforest.client.renderer.special.MasonJarSpecialRenderer; import twilightforest.client.renderer.special.SkullCandleSpecialRenderer; +import twilightforest.client.renderer.special.TFChestSpecialRenderer; import twilightforest.client.renderer.special.TrophySpecialRenderer; import twilightforest.datagen.assets.models.TFExtendedModelTemplates; import twilightforest.datagen.assets.models.TFModelTemplates; @@ -992,6 +993,12 @@ public void generateAuroraBlocks() { this.wrapTintedBlockItem(TFBlocks.AURORALIZED_GLASS.get(), ItemModelUtils.constantTint(-9181501), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().renderType("translucent").customLoader(ConnectedTextureBuilder::new, builder -> builder.setOverlayTintIndex(0).connectsTo(block)).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); } + public void createTFChest(Block chestBlock, Block particleBlock, ResourceLocation texture) { + this.createParticleOnlyBlock(chestBlock, particleBlock); + Item item = chestBlock.asItem(); + this.itemModelOutput.accept(item, ItemModelUtils.specialModel(ModelTemplates.CHEST_INVENTORY.create(item, TextureMapping.particle(particleBlock), this.modelOutput), new TFChestSpecialRenderer.Unbaked(texture))); + } + @Override public void createCrossBlock(Block block, PlantType plantType, TextureMapping textureMapping) { ResourceLocation resourcelocation = plantType.getCross().extend().renderType("cutout").build().create(block, textureMapping, this.modelOutput); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 1f90df365e..6df892e0fb 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-21T09:20:28.3857473 Model Definitions - twilightforest +// 1.21.4 2025-04-21T22:16:00.378998 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -535,7 +535,7 @@ c4f3d6d3660c2d601a9f531bd445d7001fbf2186 assets/twilightforest/items/brown_thorn f638f4b325aee0e97537a12bcd4763e9d2a458a4 assets/twilightforest/items/canopy_boat.json cfec799b1628ec52ef6a2e7b0085e440c50b5d01 assets/twilightforest/items/canopy_bookshelf.json 0dbbbd5ed6955140c74ba2cd012cd1042ca339e3 assets/twilightforest/items/canopy_button.json -292cd3e4cb30952e1be94a9f49d885ed81c9b2f5 assets/twilightforest/items/canopy_chest.json +4db5473982ca8335e82cb851844208d22a50eced assets/twilightforest/items/canopy_chest.json 3e3be9263ae59578af07d429e62cd29db30bca20 assets/twilightforest/items/canopy_chest_boat.json a132027035ae79a9d18eadb22880dc220a9f80fc assets/twilightforest/items/canopy_door.json c8355cc845d30d44a1b9f75010ebc3c6a0b544d6 assets/twilightforest/items/canopy_fence.json @@ -550,7 +550,7 @@ e63d42e422dbaeae73f2a23366bae6b04cf4db32 assets/twilightforest/items/canopy_sign f6794ac9e3cacc031d5d3de1c1444da066bf7df2 assets/twilightforest/items/canopy_slab.json ce7dde3241343863b3b0e1e18976d4cd898588eb assets/twilightforest/items/canopy_stairs.json 2476e0a8a188c8aa8c53c0fb89b2d4bd5a49a59a assets/twilightforest/items/canopy_trapdoor.json -34b8ed1fb062d06958f977bf6b4b231127d7f386 assets/twilightforest/items/canopy_trapped_chest.json +c633bc589459f30788b4bfa59e7a550320e6fb8c assets/twilightforest/items/canopy_trapped_chest.json 54b824e9437efc512911e75dac06f5c0d1dc5ade assets/twilightforest/items/canopy_window.json 3059035669d5c0debc414219e7a2ff2c4c91ec1e assets/twilightforest/items/canopy_window_pane.json 80dcdab276f4490d97dd3b9efc8f4100785f49aa assets/twilightforest/items/canopy_wood.json @@ -602,7 +602,7 @@ cfa0126523c18d2b7e2d7ed8405e0136056d71e9 assets/twilightforest/items/crimson_ban b2407bc143ee34cc4e1e47c999111d90a9b9dc26 assets/twilightforest/items/dark_banister.json be1df433c582f223dbb853c9bcc94786de548b1e assets/twilightforest/items/dark_boat.json 7b7733be9f39aaf88531a6e5a0c97283f8aa1276 assets/twilightforest/items/dark_button.json -f69cb43411d85270281d69db67358e8428c0b311 assets/twilightforest/items/dark_chest.json +5dece8d24cbeda798697314e6040071dc1d63116 assets/twilightforest/items/dark_chest.json 35ae976d3f2d089bec4c40ba6ac88ba7893e6528 assets/twilightforest/items/dark_chest_boat.json b17b10d6537efdf7119e1ae28ad426c15977c3da assets/twilightforest/items/dark_door.json d03877282b2f1d824191e28ebd72c152b14589b7 assets/twilightforest/items/dark_fence.json @@ -617,7 +617,7 @@ a85e4646555e9fecffcb221205e45f0c766b3c7d assets/twilightforest/items/dark_sign.j cde289b23548ddaf47fc7f2f1edb2d1a2da95340 assets/twilightforest/items/dark_slab.json a58ddc4afdf54fd64420bdb77a5f31a0eec5af74 assets/twilightforest/items/dark_stairs.json 339f5f2d02ad920ea1b8b14eb47edcfc5115b7fb assets/twilightforest/items/dark_trapdoor.json -98ce19719d17fecb09246d5a711e05127bcc546c assets/twilightforest/items/dark_trapped_chest.json +2fcb5f7313cca561db1b4884559d759e8ac55e8a assets/twilightforest/items/dark_trapped_chest.json c97dd0289bfab7806d8e767766f53d16c1074d39 assets/twilightforest/items/dark_wood.json 9505e586ffa48dbbed26c6c324ed828b8b07ff88 assets/twilightforest/items/deadrock.json ead13b7c55d7a88683490371a86c1c2994034b82 assets/twilightforest/items/death_tome_spawn_egg.json @@ -761,7 +761,7 @@ c0a619eebf7639029a720cd95684e8378032606c assets/twilightforest/items/magic_map.j be669d6c5ab9744744c9a81dfed70e88b22cbf0e assets/twilightforest/items/mangrove_banister.json 90fa384247127e230b028244c6b598086146a491 assets/twilightforest/items/mangrove_boat.json b0894b7d4a218a3849946fbcdbbb3e314a981749 assets/twilightforest/items/mangrove_button.json -8c6e65ada3aec317a8b012b7331031f802b41a68 assets/twilightforest/items/mangrove_chest.json +6bc343c4b935dbab41ce816f25090a97998adba1 assets/twilightforest/items/mangrove_chest.json f4ce9fd6b764294f5898ff6b2e486306b9d353af assets/twilightforest/items/mangrove_chest_boat.json f7265a83b75f75f5868f61e560447d900341d34a assets/twilightforest/items/mangrove_door.json 5b57873338fda17bf236a500c5e0e8a3274d2ddb assets/twilightforest/items/mangrove_fence.json @@ -777,7 +777,7 @@ c192583209d88243de973af6f3c15ac18c196cdb assets/twilightforest/items/mangrove_pl 52b6ef8c45ec1bbf838d0c4e90a0be9284cfa021 assets/twilightforest/items/mangrove_slab.json 0d08fd0a56f729914720921ffc5d286528021a82 assets/twilightforest/items/mangrove_stairs.json a6afb5bf93467c4a88cf5e794c9fa45850d58f20 assets/twilightforest/items/mangrove_trapdoor.json -c066524152659a2fb8a7db8cd209d94dcf15f7f2 assets/twilightforest/items/mangrove_trapped_chest.json +32c129183d6e70fb1e6c3d3f0d56aa3372d5c924 assets/twilightforest/items/mangrove_trapped_chest.json 5181f75f10260ebf5007d576ad97b0889ac543f4 assets/twilightforest/items/mangrove_wood.json a75942f78ba7b879eb09c3e209dbbc7a1e2c4555 assets/twilightforest/items/mason_jar.json 9bf06f4b6a46682a4523cbd79fbed9f299999abe assets/twilightforest/items/mayapple.json @@ -795,7 +795,7 @@ b428f9c4c51b53d40b48cf481fcc15f7907c5b5d assets/twilightforest/items/maze_wafer. b8c8fcd72c790dc370450ff45c174c4a39e98272 assets/twilightforest/items/mining_banister.json 83a1762ea999d21d64d237b14c2763bfb718b6f1 assets/twilightforest/items/mining_boat.json fbbd0766d86e8b6efc8182effb01ce09047530aa assets/twilightforest/items/mining_button.json -38bcfeea7ff67a428c694981e1ddbb388ded256b assets/twilightforest/items/mining_chest.json +175d4edfb587109a6bc9e5cd89eda26989dc73f9 assets/twilightforest/items/mining_chest.json 1f756e440c80f74aa363bbd2e2c88f166d937ae5 assets/twilightforest/items/mining_chest_boat.json 327b57f3c1645a709e646ba7101152a521d5d76b assets/twilightforest/items/mining_door.json e72eef8781e605865ce6cd1f5311a0b3c767dbdc assets/twilightforest/items/mining_fence.json @@ -811,7 +811,7 @@ e8a66df2bf3e1f6a9e84bac4c1c09e4fc56c2848 assets/twilightforest/items/mining_sign e889009d9681774dbc370b0c630366d49abe95fe assets/twilightforest/items/mining_slab.json 2d32082ac1f2517b6c3ea3731adcb5e099b4fe3b assets/twilightforest/items/mining_stairs.json 6703b965683fbf38794397a4ce743647a05e7451 assets/twilightforest/items/mining_trapdoor.json -5e2b769a9d9a605adb2910316d14e2e4d1199735 assets/twilightforest/items/mining_trapped_chest.json +47a5d807be6079c685fc467efb1e99cdcc2eb33a assets/twilightforest/items/mining_trapped_chest.json 25dafacd3528043f9777d93122db12e91c5d1fd7 assets/twilightforest/items/mining_wood.json e32ac52b700d34937495b27479bf92f9e9a712cb assets/twilightforest/items/minoshroom_banner_pattern.json adae1e7d2c2941d7ecf3f7969fc91e74819e0a66 assets/twilightforest/items/minoshroom_boss_spawner.json @@ -909,7 +909,7 @@ c38044967da9ee3cab599d117bddf8867d2fb671 assets/twilightforest/items/snow_queen_ 0a4130daf265cefc9522d17dffa3624c91d44c56 assets/twilightforest/items/sorting_banister.json 5d751c60ce4ae3023bb90aeff4498aab3b42ef69 assets/twilightforest/items/sorting_boat.json 7c8e8ecfeacf342741493c5db39fed961fd0e90f assets/twilightforest/items/sorting_button.json -fa45a09f32b8c553c88ba5d3b197ac93fdbd6a9e assets/twilightforest/items/sorting_chest.json +84bc506ea8ba218c2af37e1b2a5339abf5fe57ae assets/twilightforest/items/sorting_chest.json d6cf732e9be383c54e14c264312694d8ddb33566 assets/twilightforest/items/sorting_chest_boat.json efe4115ca64e0f66be10124b64e15aaf88f7a353 assets/twilightforest/items/sorting_door.json a3b6018143fb76aea8c4cd66e16b50e8f5756904 assets/twilightforest/items/sorting_fence.json @@ -925,7 +925,7 @@ e50e95b3f0e5404391ea7b1a1edf55da01ad51f5 assets/twilightforest/items/sorting_sap 561d3f5dec00213282356433311740e5c26c4e78 assets/twilightforest/items/sorting_slab.json 365eed3e0cbfd903de1fb157f5b2eafaaada64d6 assets/twilightforest/items/sorting_stairs.json 51fb4715f66926fb6642989523627c9d943ae620 assets/twilightforest/items/sorting_trapdoor.json -d84a3ce3786242b19151f49a3546ed3cba93ef57 assets/twilightforest/items/sorting_trapped_chest.json +537defee0b728cb1434f13cac724ddb68900f757 assets/twilightforest/items/sorting_trapped_chest.json 710cd025b909a2755d1266f3fa6f93216dc181e6 assets/twilightforest/items/sorting_wood.json 8c18c36efcafc7a0454b8eb82f1f40452e368b9b assets/twilightforest/items/spiral_bricks.json c4fe74256ae346fc56f14cd8b6eb3ff5348be463 assets/twilightforest/items/spruce_banister.json @@ -969,7 +969,7 @@ a8007b45607c737e3840771e401fa7c8fda6b823 assets/twilightforest/items/thorn_rose. cb04aa51bda071a21587594d8da41f848dbcdd2f assets/twilightforest/items/time_banister.json 05c5b969185adb1725a6d0861524d97104b5ae1f assets/twilightforest/items/time_boat.json 3f5ad8774c1b11b1c1f09cc238f73b735a76039e assets/twilightforest/items/time_button.json -65b6f9e05612a8b1c2dd36f19befba666b044d8d assets/twilightforest/items/time_chest.json +13498175cee487ab680a86241140224ed80c3724 assets/twilightforest/items/time_chest.json 400c5593131656146d5317c838bba0108b3e8852 assets/twilightforest/items/time_chest_boat.json a8123fb380b321df3c65a4b4c7d2eddaa0f318e1 assets/twilightforest/items/time_door.json cfad4f919c9562b48a0dee337e2e50147c9d5ba3 assets/twilightforest/items/time_fence.json @@ -985,7 +985,7 @@ c9bd57761f58627f38d888214fa05b83099dc788 assets/twilightforest/items/time_pressu 5721945eabe3d1f6d333c7c93beb4e4a230c2009 assets/twilightforest/items/time_slab.json e58a9d72ba3bf6e9964f8a1215cd2ed970d9466f assets/twilightforest/items/time_stairs.json 3e922a20d29b255e44396f3c53deca9651f0909a assets/twilightforest/items/time_trapdoor.json -b267b296b49b21fed10796bf79413db2e36c462e assets/twilightforest/items/time_trapped_chest.json +9ec24544ecc08af1d8571a2f294e308823694eed assets/twilightforest/items/time_trapped_chest.json e429a3c1ed97fae45f8b58d96c22f0d88e8b2919 assets/twilightforest/items/time_wood.json 3cf2a82932ac9fa5013df3776317ccd871cf5575 assets/twilightforest/items/tiny_bird_spawn_egg.json d53d8b7413c628be178d083a8f64f4d3f9d17fc0 assets/twilightforest/items/torchberries.json @@ -996,7 +996,7 @@ f8aa6d55806c1b8c0005089a8263fbaee6c79a5a assets/twilightforest/items/tower_key.j 067d8bbc3843be7a77a69cf76faa6d0f167d3858 assets/twilightforest/items/transformation_banister.json 9a273b66d311af26faf0c035c309c621d800dfd1 assets/twilightforest/items/transformation_boat.json 29c965cb7a2101eecc044fbf1835ad3b84c3a55b assets/twilightforest/items/transformation_button.json -e9c8ab14d47cc6b34767ad0eb64cea8bd9c5a854 assets/twilightforest/items/transformation_chest.json +4cd8b5ae3d13e331d8a60ebe71f41b06040496ed assets/twilightforest/items/transformation_chest.json 2ba7974e3f43c6cfd4a1472827cfd403ed9fa573 assets/twilightforest/items/transformation_chest_boat.json 7d2bedc90008402f4b941c7208c749326bb5595f assets/twilightforest/items/transformation_door.json cb167659cdec30bd4b6e34b67313062bbdf859e4 assets/twilightforest/items/transformation_fence.json @@ -1013,7 +1013,7 @@ a19e3e4cd37f90ead380192b12904f4fc0135559 assets/twilightforest/items/transformat 1d58e633de954e23f44ab4028cfd901cf1583144 assets/twilightforest/items/transformation_slab.json 3292e90a35a6a5e8a2987c5ff9ac5d0b91e75c32 assets/twilightforest/items/transformation_stairs.json aec3c30c5bc7683c5b69763f26e851a15cf29d4c assets/twilightforest/items/transformation_trapdoor.json -350b6827bdb83e3a70c6b41fdd0ad49c3c149988 assets/twilightforest/items/transformation_trapped_chest.json +50f32ee1d1875b3c2430ef00250c75571b5ab5f3 assets/twilightforest/items/transformation_trapped_chest.json da1eccf990fcc0ce8f74ca7d1f374639e287d620 assets/twilightforest/items/transformation_wood.json d4a03054fa7cf6221f0c8c1d1d2108556ca4eb07 assets/twilightforest/items/triple_bow.json a931070fe8986e602b3d3eea58afc2ca8443b9a9 assets/twilightforest/items/trollber.json @@ -1024,7 +1024,7 @@ c8cabf21dea0401bab2a163bd61b97f528c88627 assets/twilightforest/items/trophy_pede 38d04a14f6461e4c88f4e33162fe39e87eff7741 assets/twilightforest/items/twilight_oak_banister.json f1513a74b266ffb650db5620a870f3517b1a8b9a assets/twilightforest/items/twilight_oak_boat.json a6dc5f92ded158bf4bea9f82822ce1b038097660 assets/twilightforest/items/twilight_oak_button.json -4dc8250199d640a471d6eb690ef3b0d2e2025960 assets/twilightforest/items/twilight_oak_chest.json +1e5df1c5e183d1b75d277d2d4d4a7fe17232f15a assets/twilightforest/items/twilight_oak_chest.json 0f15d4c36aaef690fb28fad9111a466983839bcd assets/twilightforest/items/twilight_oak_chest_boat.json 1848300974d7949375074ee120ca895c20958398 assets/twilightforest/items/twilight_oak_door.json 799ba91c5597ffc7c325ccfab2c5618dad5a3632 assets/twilightforest/items/twilight_oak_fence.json @@ -1039,7 +1039,7 @@ da9bebb3392aee1deb31430e3aa6b411548cb80f assets/twilightforest/items/twilight_oa 78daec2b3c6b1ec90b1eec30869e1634c7b23335 assets/twilightforest/items/twilight_oak_slab.json fc03384b83df36bec22ee6c225190cd323ad5179 assets/twilightforest/items/twilight_oak_stairs.json b7bcacaab7998edb40cd541d5cdf8d7f49dcc6ff assets/twilightforest/items/twilight_oak_trapdoor.json -7c64620f63d4c615ffc60d682f24d339636f70b4 assets/twilightforest/items/twilight_oak_trapped_chest.json +e789856440509fd2cff98e90b1e990091987894d assets/twilightforest/items/twilight_oak_trapped_chest.json cb10f1e332a45f2eba2bbff7ada16dbecc5f26ee assets/twilightforest/items/twilight_oak_wood.json e75f72b1bf9c753c60ffa07c0319e351d559a21f assets/twilightforest/items/twilight_portal_miniature_structure.json 1ad89ae59d4f77295ad8af39df11b575dedcc7c6 assets/twilightforest/items/twilight_scepter.json diff --git a/src/generated/resources/assets/twilightforest/items/canopy_chest.json b/src/generated/resources/assets/twilightforest/items/canopy_chest.json index be37c30f4e..a29e3ea274 100644 --- a/src/generated/resources/assets/twilightforest/items/canopy_chest.json +++ b/src/generated/resources/assets/twilightforest/items/canopy_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/canopy_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:canopy/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/canopy_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/canopy_trapped_chest.json index 6b2b637350..f686658b99 100644 --- a/src/generated/resources/assets/twilightforest/items/canopy_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/canopy_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/canopy_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:canopy/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/dark_chest.json b/src/generated/resources/assets/twilightforest/items/dark_chest.json index ae6929333d..38703a5f7d 100644 --- a/src/generated/resources/assets/twilightforest/items/dark_chest.json +++ b/src/generated/resources/assets/twilightforest/items/dark_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/dark_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:darkwood/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/dark_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/dark_trapped_chest.json index 6727125777..a16e47d7fb 100644 --- a/src/generated/resources/assets/twilightforest/items/dark_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/dark_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/dark_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:darkwood/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_chest.json b/src/generated/resources/assets/twilightforest/items/mangrove_chest.json index 4323ae6ad8..f9a610d137 100644 --- a/src/generated/resources/assets/twilightforest/items/mangrove_chest.json +++ b/src/generated/resources/assets/twilightforest/items/mangrove_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/mangrove_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:mangrove/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/mangrove_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/mangrove_trapped_chest.json index 2d5baf49d6..0f249e438e 100644 --- a/src/generated/resources/assets/twilightforest/items/mangrove_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/mangrove_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/mangrove_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:mangrove/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/mining_chest.json b/src/generated/resources/assets/twilightforest/items/mining_chest.json index 70db6e8cd3..f643fff38f 100644 --- a/src/generated/resources/assets/twilightforest/items/mining_chest.json +++ b/src/generated/resources/assets/twilightforest/items/mining_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/mining_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:mining/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/mining_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/mining_trapped_chest.json index 1258239766..56ba340858 100644 --- a/src/generated/resources/assets/twilightforest/items/mining_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/mining_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/mining_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:mining/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/sorting_chest.json b/src/generated/resources/assets/twilightforest/items/sorting_chest.json index 3e4933c712..037516ddaa 100644 --- a/src/generated/resources/assets/twilightforest/items/sorting_chest.json +++ b/src/generated/resources/assets/twilightforest/items/sorting_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/sorting_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:sorting/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/sorting_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/sorting_trapped_chest.json index e74586e458..5531747939 100644 --- a/src/generated/resources/assets/twilightforest/items/sorting_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/sorting_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/sorting_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:sorting/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/time_chest.json b/src/generated/resources/assets/twilightforest/items/time_chest.json index 1c66fedd86..48ae9672c8 100644 --- a/src/generated/resources/assets/twilightforest/items/time_chest.json +++ b/src/generated/resources/assets/twilightforest/items/time_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/time_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:time/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/time_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/time_trapped_chest.json index 8e946b5fa5..360dd66199 100644 --- a/src/generated/resources/assets/twilightforest/items/time_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/time_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/time_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:time/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/transformation_chest.json b/src/generated/resources/assets/twilightforest/items/transformation_chest.json index 4f1db8ed3f..cb5c54484e 100644 --- a/src/generated/resources/assets/twilightforest/items/transformation_chest.json +++ b/src/generated/resources/assets/twilightforest/items/transformation_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/transformation_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:transformation/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/transformation_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/transformation_trapped_chest.json index fd98e4ac85..fa74f2090d 100644 --- a/src/generated/resources/assets/twilightforest/items/transformation_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/transformation_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/transformation_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:transformation/trapped" } } diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_chest.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_chest.json index cf92a6610d..1e9175c131 100644 --- a/src/generated/resources/assets/twilightforest/items/twilight_oak_chest.json +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/twilight_oak_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:twilight_oak/normal" } } diff --git a/src/generated/resources/assets/twilightforest/items/twilight_oak_trapped_chest.json b/src/generated/resources/assets/twilightforest/items/twilight_oak_trapped_chest.json index 50ec5d3d66..9bee142724 100644 --- a/src/generated/resources/assets/twilightforest/items/twilight_oak_trapped_chest.json +++ b/src/generated/resources/assets/twilightforest/items/twilight_oak_trapped_chest.json @@ -3,7 +3,7 @@ "type": "minecraft:special", "base": "twilightforest:item/twilight_oak_trapped_chest", "model": { - "type": "minecraft:chest", + "type": "twilightforest:tf_chest", "texture": "twilightforest:twilight_oak/trapped" } } diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index b00c97f12d..67aede0eca 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -6,7 +6,10 @@ import net.minecraft.client.model.geom.LayerDefinitions; import net.minecraft.client.model.geom.builders.CubeDeformation; import net.minecraft.client.model.geom.builders.LayerDefinition; -import net.minecraft.client.particle.*; +import net.minecraft.client.particle.FlameParticle; +import net.minecraft.client.particle.Particle; +import net.minecraft.client.particle.ParticleEngine; +import net.minecraft.client.particle.SpriteSet; import net.minecraft.client.renderer.DimensionSpecialEffects; import net.minecraft.client.renderer.Sheets; import net.minecraft.client.renderer.entity.BoatRenderer; @@ -15,7 +18,6 @@ import net.minecraft.client.renderer.entity.ThrownItemRenderer; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.renderer.entity.state.PlayerRenderState; -import net.minecraft.client.renderer.special.ChestSpecialRenderer; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; @@ -62,7 +64,6 @@ import twilightforest.client.properties.*; import twilightforest.client.renderer.PotionFlaskTooltipComponent; import twilightforest.client.renderer.TFSimpleArmorRenderer; -import twilightforest.client.renderer.entity.RisingZombieRenderer; import twilightforest.client.renderer.block.*; import twilightforest.client.renderer.entity.*; import twilightforest.client.renderer.entity.layers.IceLayer; @@ -72,7 +73,8 @@ import twilightforest.client.renderer.special.*; import twilightforest.enums.BossVariant; import twilightforest.init.*; -import twilightforest.item.*; +import twilightforest.item.BrittleFlaskItem; +import twilightforest.item.TrophyItem; import twilightforest.item.mapdata.TFMagicMapData; import twilightforest.potions.FrostedEffect; import twilightforest.util.woods.TFWoodTypes; @@ -476,25 +478,26 @@ private static void registerSpecialModelTypes(RegisterSpecialModelRendererEvent event.register(TwilightForestMod.prefix("knightmetal_shield"), KnightmetalShieldSpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("mystic_crown"), MysticCrownSpecialRenderer.Unbaked.MAP_CODEC); event.register(TwilightForestMod.prefix("mason_jar"), MasonJarSpecialRenderer.Unbaked.MAP_CODEC); + event.register(TwilightForestMod.prefix("tf_chest"), TFChestSpecialRenderer.Unbaked.MAP_CODEC); } private static void registerSpecialModels(RegisterSpecialBlockModelRendererEvent event) { - event.register(TFBlocks.TWILIGHT_OAK_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/normal"))); - event.register(TFBlocks.CANOPY_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/normal"))); - event.register(TFBlocks.MANGROVE_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/normal"))); - event.register(TFBlocks.DARK_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/normal"))); - event.register(TFBlocks.TIME_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/normal"))); - event.register(TFBlocks.TRANSFORMATION_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/normal"))); - event.register(TFBlocks.MINING_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/normal"))); - event.register(TFBlocks.SORTING_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/normal"))); - event.register(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/trapped"))); - event.register(TFBlocks.CANOPY_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/trapped"))); - event.register(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/trapped"))); - event.register(TFBlocks.DARK_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/trapped"))); - event.register(TFBlocks.TIME_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/trapped"))); - event.register(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/trapped"))); - event.register(TFBlocks.MINING_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/trapped"))); - event.register(TFBlocks.SORTING_TRAPPED_CHEST.get(), new ChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/trapped"))); + event.register(TFBlocks.TWILIGHT_OAK_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/normal"))); + event.register(TFBlocks.CANOPY_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/normal"))); + event.register(TFBlocks.MANGROVE_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/normal"))); + event.register(TFBlocks.DARK_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/normal"))); + event.register(TFBlocks.TIME_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/normal"))); + event.register(TFBlocks.TRANSFORMATION_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/normal"))); + event.register(TFBlocks.MINING_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/normal"))); + event.register(TFBlocks.SORTING_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/normal"))); + event.register(TFBlocks.TWILIGHT_OAK_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("twilight_oak/trapped"))); + event.register(TFBlocks.CANOPY_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("canopy/trapped"))); + event.register(TFBlocks.MANGROVE_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mangrove/trapped"))); + event.register(TFBlocks.DARK_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("darkwood/trapped"))); + event.register(TFBlocks.TIME_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("time/trapped"))); + event.register(TFBlocks.TRANSFORMATION_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("tranformation/trapped"))); + event.register(TFBlocks.MINING_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("mining/trapped"))); + event.register(TFBlocks.SORTING_TRAPPED_CHEST.get(), new TFChestSpecialRenderer.Unbaked(TwilightForestMod.prefix("sorting/trapped"))); event.register(TFBlocks.SKULL_CHEST.get(), new SkullChestSpecialRenderer.Unbaked()); event.register(TFBlocks.KEEPSAKE_CASKET.get(), new KeepsakeCasketSpecialRenderer.Unbaked()); diff --git a/src/main/java/twilightforest/client/renderer/special/TFChestSpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/TFChestSpecialRenderer.java new file mode 100644 index 0000000000..ef4dfb1075 --- /dev/null +++ b/src/main/java/twilightforest/client/renderer/special/TFChestSpecialRenderer.java @@ -0,0 +1,54 @@ +package twilightforest.client.renderer.special; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.client.model.ChestModel; +import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.model.geom.ModelLayers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.special.NoDataSpecialModelRenderer; +import net.minecraft.client.renderer.special.SpecialModelRenderer; +import net.minecraft.client.resources.model.Material; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; + +public record TFChestSpecialRenderer(ChestModel model, Material material, float openness) implements NoDataSpecialModelRenderer { + + @Override + public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + VertexConsumer vertexconsumer = this.material.buffer(source, RenderType::entityCutout); + this.model.setupAnim(this.openness); + this.model.renderToBuffer(stack, vertexconsumer, light, overlay); + } + + public record Unbaked(ResourceLocation texture, float openness) implements SpecialModelRenderer.Unbaked { + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec( + instance -> instance.group( + ResourceLocation.CODEC.fieldOf("texture").forGetter(TFChestSpecialRenderer.Unbaked::texture), + Codec.FLOAT.optionalFieldOf("openness", 0.0F).forGetter(TFChestSpecialRenderer.Unbaked::openness) + ) + .apply(instance, TFChestSpecialRenderer.Unbaked::new) + ); + + public Unbaked(ResourceLocation location) { + this(location, 0.0F); + } + + @Override + public MapCodec type() { + return MAP_CODEC; + } + + @Override + public SpecialModelRenderer bake(EntityModelSet set) { + ChestModel chestmodel = new ChestModel(set.bakeLayer(ModelLayers.CHEST)); + Material material = Sheets.chestMaterial(this.texture); + return new TFChestSpecialRenderer(chestmodel, material, this.openness()); + } + } +} From c0ffc2b43e83aead07d76850718347e663e4f2a6 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 09:50:22 -0600 Subject: [PATCH 175/239] partially fix sky rendering --- .../twilightforest/client/event/RegistrationEvents.java | 2 +- .../java/twilightforest/client/renderer/TFSkyRenderer.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 67aede0eca..10ea647696 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -164,7 +164,7 @@ private static void cacheJarLids(ModelEvent.BakingCompleted event) { } private static void registerDimEffects(RegisterDimensionSpecialEffectsEvent event) { - event.register(TFDimension.DIMENSION_RENDERER, new TwilightForestRenderInfo(128.0F, false, DimensionSpecialEffects.SkyType.NONE, false, false)); + event.register(TFDimension.DIMENSION_RENDERER, new TwilightForestRenderInfo(128.0F, false, DimensionSpecialEffects.SkyType.OVERWORLD, false, false)); } private static void clientSetup(FMLClientSetupEvent evt) { diff --git a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java index 3a1d5ee0b4..61e96ff93d 100644 --- a/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFSkyRenderer.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; +import com.mojang.math.Axis; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; @@ -41,7 +42,11 @@ public static boolean renderSky(ClientLevel level, float partialTicks, Camera ca // } //TF: replace sun, moon, and star rendering method with our own star renderer + //rotation is from SkyRenderer.renderSunMoonAndStars + posestack.pushPose(); + posestack.mulPose(Axis.YP.rotationDegrees(-90.0F)); renderStars(setupFog, posestack); + posestack.popPose(); //TF: use custom height checks for the void sky as vanilla hardcodes to 63 if (shouldDarkenSky(level, camera, partialTicks)) { levelRenderer.skyRenderer.renderDarkDisc(posestack); @@ -59,7 +64,6 @@ private static void renderStars(Runnable setupFog, PoseStack stack) { Matrix4fStack matrix = RenderSystem.getModelViewStack(); matrix.pushMatrix(); matrix.mul(stack.last().pose()); - RenderSystem.depthMask(false); RenderSystem.setShaderFog(FogParameters.NO_FOG); starBuffer.drawWithRenderType(RenderType.stars()); setupFog.run(); From 3473676146b0b341358e3c93ea87c7ab3cf836c6 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 09:59:13 -0600 Subject: [PATCH 176/239] fix trophies --- .../java/twilightforest/client/model/entity/LichModel.java | 1 + .../twilightforest/client/model/entity/SnowQueenModel.java | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/LichModel.java b/src/main/java/twilightforest/client/model/entity/LichModel.java index 84571a024d..1fa5122386 100644 --- a/src/main/java/twilightforest/client/model/entity/LichModel.java +++ b/src/main/java/twilightforest/client/model/entity/LichModel.java @@ -145,6 +145,7 @@ public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { + stack.translate(0.0F, 0.25F, 0.0F); VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(LichRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } diff --git a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java index c07cc7332c..ad4a3f148c 100644 --- a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java +++ b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java @@ -201,9 +201,6 @@ public void setupAnim(SnowQueenRenderState state) { @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.translate(0.0F, 0.25F, 0.0F); - } VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(SnowQueenRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } From 96daf863a2e544a91417a7c69657d452dc8d8b8e Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:01:44 -0600 Subject: [PATCH 177/239] only show arctic tooltip when not dyed --- src/main/java/twilightforest/item/ArcticArmorItem.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/item/ArcticArmorItem.java b/src/main/java/twilightforest/item/ArcticArmorItem.java index 9cd466e8a2..dc4ea5403e 100644 --- a/src/main/java/twilightforest/item/ArcticArmorItem.java +++ b/src/main/java/twilightforest/item/ArcticArmorItem.java @@ -1,6 +1,7 @@ package twilightforest.item; import net.minecraft.ChatFormatting; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.LivingEntity; @@ -23,8 +24,9 @@ public ArcticArmorItem(ArmorMaterial material, ArmorType type, Properties proper @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { - super.appendHoverText(stack, context, tooltip, flag); - tooltip.add(TOOLTIP); + if (!stack.has(DataComponents.DYED_COLOR)) { + tooltip.add(TOOLTIP); + } } @Override From 348f884e67c368489d0ded1e255fbbcd9bde4f97 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:08:00 -0600 Subject: [PATCH 178/239] fix fiery helmet not rendering fullbright --- .../java/twilightforest/client/event/RegistrationEvents.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 10ea647696..70896b46c2 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -663,7 +663,7 @@ public boolean addDestroyEffects(BlockState state, Level level, BlockPos pos, Pa TFItems.ARCTIC_HELMET.get(), TFItems.ARCTIC_CHESTPLATE.get(), TFItems.ARCTIC_LEGGINGS.get(), TFItems.ARCTIC_BOOTS.get()); event.registerItem( new TFSimpleArmorRenderer(FieryArmorModel::new, TFModelLayers.FIERY_ARMOR_INNER, TFModelLayers.FIERY_ARMOR_OUTER), - TFItems.FIERY_CHESTPLATE.get(), TFItems.FIERY_LEGGINGS.get(), TFItems.FIERY_BOOTS.get() + TFItems.FIERY_HELMET.get(), TFItems.FIERY_CHESTPLATE.get(), TFItems.FIERY_LEGGINGS.get(), TFItems.FIERY_BOOTS.get() ); event.registerItem( new TFSimpleArmorRenderer(HumanoidArmorModel::new, TFModelLayers.KNIGHTMETAL_ARMOR_INNER, TFModelLayers.KNIGHTMETAL_ARMOR_OUTER), From 18470d9294eb66cc1c0b087f804ab5e5b2ea0f2f Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:27:38 -0600 Subject: [PATCH 179/239] fix mist wolf scale and transparency --- .../client/renderer/entity/MistWolfRenderer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java index c2a05dd27e..98d9fc8dbd 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MistWolfRenderer.java @@ -1,5 +1,6 @@ package twilightforest.client.renderer.entity; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; @@ -18,10 +19,16 @@ public MistWolfRenderer(EntityRendererProvider.Context context) { super(context, new MistWolfModel(context.bakeLayer(TFModelLayers.HOSTILE_WOLF)), 1.0F); } + @Override + protected void scale(MistWolfRenderState state, PoseStack stack) { + float wolfScale = 1.9F; + stack.scale(wolfScale, wolfScale, wolfScale); + } + @Override protected int getModelTint(MistWolfRenderState state) { float misty = Math.min(1.0F, state.brightness * 3.0F + 0.25F); - float smoky = state.brightness * 2.0F + 0.6F; + float smoky = Math.min(1.0F, state.brightness * 2.0F + 0.6F); return ARGB.colorFromFloat(smoky, misty, misty, misty); } From 68d3cef2120f33cf2fe1ded40cb8e1c1a0f9e68a Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:49:40 -0600 Subject: [PATCH 180/239] fix redcap boot offset --- .../renderer/entity/RedcapRenderer.java | 27 ++++++++++++++++++- .../resources/META-INF/accesstransformer.cfg | 5 +++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java b/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java index 420568c935..39ed9e91bd 100644 --- a/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/RedcapRenderer.java @@ -1,10 +1,16 @@ package twilightforest.client.renderer.entity; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.RenderLayerParent; +import net.minecraft.client.renderer.entity.layers.EquipmentLayerRenderer; import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EquipmentSlot; import twilightforest.TwilightForestMod; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.RedcapModel; @@ -16,7 +22,7 @@ public class RedcapRenderer extends HumanoidMobRenderer(this, new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_INNER)), new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_OUTER)), context.getEquipmentRenderer())); + this.addLayer(new RedcapArmorLayer<>(this, new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_INNER)), new RedcapModel(context.bakeLayer(TFModelLayers.REDCAP_ARMOR_OUTER)), context.getEquipmentRenderer())); } @Override @@ -28,4 +34,23 @@ public HumanoidRenderState createRenderState() { public ResourceLocation getTextureLocation(HumanoidRenderState state) { return TEXTURE; } + + public static class RedcapArmorLayer, A extends HumanoidModel> extends HumanoidArmorLayer { + + public RedcapArmorLayer(RenderLayerParent renderer, A innerModel, A outerModel, EquipmentLayerRenderer equipmentRenderer) { + super(renderer, innerModel, outerModel, equipmentRenderer); + } + + @Override + public void render(PoseStack stack, MultiBufferSource source, int light, S state, float yRot, float xRot) { + this.renderArmorPiece(stack, source, state.chestEquipment, EquipmentSlot.CHEST, light, this.getArmorModel(state, EquipmentSlot.CHEST)); + this.renderArmorPiece(stack, source, state.legsEquipment, EquipmentSlot.LEGS, light, this.getArmorModel(state, EquipmentSlot.LEGS)); + //TF: raise boots + stack.pushPose(); + stack.translate(0.0D, -0.2D, 0.0D); + this.renderArmorPiece(stack, source, state.feetEquipment, EquipmentSlot.FEET, light, this.getArmorModel(state, EquipmentSlot.FEET)); + stack.popPose(); + this.renderArmorPiece(stack, source, state.headEquipment, EquipmentSlot.HEAD, light, this.getArmorModel(state, EquipmentSlot.HEAD)); + } + } } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index b70fb7cd63..fb22a199ab 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -247,4 +247,7 @@ public net.minecraft.client.data.models.ModelProvider$BlockStateGeneratorCollect public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector ()V # -public net.minecraft.world.item.BlockItem updateBlockEntityComponents(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/item/ItemStack;)V \ No newline at end of file +public net.minecraft.world.item.BlockItem updateBlockEntityComponents(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/item/ItemStack;)V + +public net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer renderArmorPiece(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/EquipmentSlot;ILnet/minecraft/client/model/HumanoidModel;)V +public net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer getArmorModel(Lnet/minecraft/client/renderer/entity/state/HumanoidRenderState;Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/client/model/HumanoidModel; \ No newline at end of file From 8b98c992fb190b409795254e442ba2cee12a67b7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:54:59 -0600 Subject: [PATCH 181/239] fix kobold pogging --- .../twilightforest/client/renderer/entity/KoboldRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java b/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java index b0adbfb130..bcaa16d4ef 100644 --- a/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/KoboldRenderer.java @@ -25,7 +25,7 @@ public KoboldRenderState createRenderState() { @Override public void extractRenderState(Kobold entity, KoboldRenderState state, float partialTick) { super.extractRenderState(entity, state, partialTick); - state.jumping = !entity.isNoAi() && entity.getDeltaMovement().y() != 0; + state.jumping = !entity.isNoAi() && !entity.onGround() && entity.getDeltaMovement().y() != 0; } @Override From 3448b776116ea04dcbd3594616c70c3cfcf8e45e Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:57:50 -0600 Subject: [PATCH 182/239] fix hydra neck position --- .../java/twilightforest/entity/boss/HydraHeadContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java index 2b3ef6587b..40974feecf 100644 --- a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java +++ b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java @@ -615,7 +615,7 @@ protected void setNeckPosition() { } vector = vector.yRot((-(this.hydra.yBodyRot + neckRotation) * Mth.PI) / 180.0F); - this.setNeckPosition(this.hydra.getX() + vector.x(), this.hydra.getY() + vector.y(), this.hydra.getZ() + vector.z(), this.hydra.yBodyRot); + this.setNeckPosition(this.hydra.getX() + vector.x(), this.hydra.getY() + vector.y() + 0.5D, this.hydra.getZ() + vector.z(), this.hydra.yBodyRot); } protected void setHeadPosition() { From 10dad6735aabbddbf7bcf503a4215ca3d5cf932b Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 11:25:52 -0600 Subject: [PATCH 183/239] fix ominous fire rendertype --- .../helpers/models/BlockModelBuilders.java | 23 +++++++++++++++++++ .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 14 +++++------ .../models/block/ominous_fire_floor0.json | 1 + .../models/block/ominous_fire_floor1.json | 1 + .../models/block/ominous_fire_side0.json | 1 + .../models/block/ominous_fire_side1.json | 1 + .../models/block/ominous_fire_side_alt0.json | 1 + .../models/block/ominous_fire_side_alt1.json | 1 + 8 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 121914bba8..f440cf8365 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -1,5 +1,6 @@ package twilightforest.datagen.helpers.models; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import net.minecraft.client.data.models.ItemModelOutput; import net.minecraft.client.data.models.blockstates.*; @@ -1005,6 +1006,28 @@ public void createCrossBlock(Block block, PlantType plantType, TextureMapping te this.blockStateOutput.accept(createSimpleBlock(block, resourcelocation)); } + @Override + public List createFloorFireModels(Block fireBlock) { + ResourceLocation resourcelocation = ModelTemplates.FIRE_FLOOR.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_floor0"), TextureMapping.fire0(fireBlock), this.modelOutput); + ResourceLocation resourcelocation1 = ModelTemplates.FIRE_FLOOR.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_floor1"), TextureMapping.fire1(fireBlock), this.modelOutput); + return ImmutableList.of(resourcelocation, resourcelocation1); + } + + @Override + public List createSideFireModels(Block fireBlock) { + ResourceLocation resourcelocation = ModelTemplates.FIRE_SIDE.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_side0"), TextureMapping.fire0(fireBlock), this.modelOutput); + ResourceLocation resourcelocation1 = ModelTemplates.FIRE_SIDE.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_side1"), TextureMapping.fire1(fireBlock), this.modelOutput); + ResourceLocation resourcelocation2 = ModelTemplates.FIRE_SIDE_ALT.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_side_alt0"), TextureMapping.fire0(fireBlock), this.modelOutput); + ResourceLocation resourcelocation3 = ModelTemplates.FIRE_SIDE_ALT.extend().renderType("cutout").build() + .create(ModelLocationUtils.getModelLocation(fireBlock, "_side_alt1"), TextureMapping.fire1(fireBlock), this.modelOutput); + return ImmutableList.of(resourcelocation, resourcelocation1, resourcelocation2, resourcelocation3); + } + public static VariantProperties.Rotation getYRotationFromDirection(Direction direction) { return switch (direction) { case EAST -> VariantProperties.Rotation.R90; diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 6df892e0fb..4c12370411 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-21T22:16:00.378998 Model Definitions - twilightforest +// 1.21.4 2025-04-22T11:23:37.57569 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -1733,12 +1733,12 @@ b83ed2fedff83739ec388e7213bc0469e88c67c4 assets/twilightforest/models/block/oak_ b9b3556acad7734c572250cb3ce91d09dbc81713 assets/twilightforest/models/block/ominous_brown_candle.json d1154e74e9341ccc047b5f54379b88b68c08bfa1 assets/twilightforest/models/block/ominous_candle.json 8961e492a1f605b158adbb4c6f97568212a25253 assets/twilightforest/models/block/ominous_cyan_candle.json -8c5bd9b2f19cba740d48216caf92812ddd18562d assets/twilightforest/models/block/ominous_fire_floor0.json -0097934aebf34324139e9873dec3cbe59d980803 assets/twilightforest/models/block/ominous_fire_floor1.json -92364a9f5a423a5d49ea33001c5656f0ec96b93b assets/twilightforest/models/block/ominous_fire_side0.json -96f220ad6ae86c0dad37295cf62102a2dade8b41 assets/twilightforest/models/block/ominous_fire_side1.json -20cdad1953216098f3520835c02057bdb18ede59 assets/twilightforest/models/block/ominous_fire_side_alt0.json -7e130d54ca97cc38e1bd3e738c4a817d39f51944 assets/twilightforest/models/block/ominous_fire_side_alt1.json +e9cd3c32815e26fbc913a17e6c8716d77b85261c assets/twilightforest/models/block/ominous_fire_floor0.json +799b2a92a3976335f7ff8f269d2993d43a66a6f9 assets/twilightforest/models/block/ominous_fire_floor1.json +bc35f0e33d955fe9698d40f67433ea8aabdbf061 assets/twilightforest/models/block/ominous_fire_side0.json +7bbeb4d2a76fb3acc043a248741916f8c5bd6112 assets/twilightforest/models/block/ominous_fire_side1.json +50e1f627153f461d8e7553c1f04121582708a07f assets/twilightforest/models/block/ominous_fire_side_alt0.json +394f4041965e6587e03f5a386cb0b98b4bab3910 assets/twilightforest/models/block/ominous_fire_side_alt1.json 2e9c24d7e92cf79e7d9288ca245a7fb15597777d assets/twilightforest/models/block/ominous_gray_candle.json b4119f22d8d3b17947baca25210733aa7872d1ea assets/twilightforest/models/block/ominous_green_candle.json c2eef2756d2e5fd5a9f120878cfc5d4b37f56bb1 assets/twilightforest/models/block/ominous_light_blue_candle.json diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json index 347ebddfbc..d0d422522e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor0.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_floor", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_0" } diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json index 40bdfbdfe6..66eec3b47b 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_floor1.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_floor", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_1" } diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json index 366be65bf8..37df4c029f 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side0.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_side", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_0" } diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json index b8631a9ea4..62623aad47 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side1.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_side", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_1" } diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json index 95422a2fcf..a0eba6c9c4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt0.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_side_alt", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_0" } diff --git a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json index f33d80a0ba..a75248c476 100644 --- a/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json +++ b/src/generated/resources/assets/twilightforest/models/block/ominous_fire_side_alt1.json @@ -1,5 +1,6 @@ { "parent": "minecraft:block/template_fire_side_alt", + "render_type": "minecraft:cutout", "textures": { "fire": "twilightforest:block/ominous_fire_1" } From 96a97ead1369cb91c0039bfd0eae9472126b2efe Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Tue, 22 Apr 2025 11:31:06 -0600 Subject: [PATCH 184/239] fix block sounds --- src/main/java/twilightforest/init/TFBlocks.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/init/TFBlocks.java b/src/main/java/twilightforest/init/TFBlocks.java index 80af2421c3..76a5c83192 100644 --- a/src/main/java/twilightforest/init/TFBlocks.java +++ b/src/main/java/twilightforest/init/TFBlocks.java @@ -52,9 +52,9 @@ public class TFBlocks { public static final DeferredBlock ROOT_BLOCK = registerWithItem("root", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(2.0F, 3.0F)); public static final DeferredBlock LIVEROOT_BLOCK = registerWithItem("liveroot_block", LiverootBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.COLOR_LIGHT_GREEN).sound(SoundType.WOOD).strength(2.0F, 3.0F)); public static final DeferredBlock UNCRAFTING_TABLE = registerWithItem("uncrafting_table", UncraftingTableBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.FIRE).sound(SoundType.WOOD).strength(2.5F)); - public static final DeferredBlock SMOKER = registerWithItem("smoker", TFSmokerBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock SMOKER = registerWithItem("smoker", TFSmokerBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.GRASS).sound(SoundType.GRASS).strength(1.5F, 6.0F)); public static final DeferredBlock ENCASED_SMOKER = registerWithItem("encased_smoker", EncasedSmokerBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); - public static final DeferredBlock FIRE_JET = registerWithItem("fire_jet", FireJetBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.WOOD).strength(1.5F, 6.0F)); + public static final DeferredBlock FIRE_JET = registerWithItem("fire_jet", FireJetBlock::new, () -> BlockBehaviour.Properties.of().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.GRASS).randomTicks().sound(SoundType.GRASS).strength(1.5F, 6.0F)); public static final DeferredBlock ENCASED_FIRE_JET = registerWithItem("encased_fire_jet", EncasedFireJetBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().lightLevel((state) -> state.getValue(FireJetBlock.STATE) != FireJetVariant.FLAME ? 0 : 15).mapColor(MapColor.SAND).requiresCorrectToolForDrops().sound(SoundType.WOOD).strength(1.5F, 6.0F)); public static final DeferredBlock FIREFLY = registerWithItem("firefly", FireflyBlock::new, () -> BlockBehaviour.Properties.of().instabreak().lightLevel((state) -> 15).noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); public static final DeferredBlock CICADA = registerWithItem("cicada", CicadaBlock::new, () -> BlockBehaviour.Properties.of().instabreak().noCollission().noTerrainParticles().pushReaction(PushReaction.DESTROY).sound(SoundType.SLIME_BLOCK)); @@ -264,7 +264,7 @@ public class TFBlocks { public static final DeferredBlock KNIGHTMETAL_BLOCK = registerWithItem("knightmetal_block", KnightmetalBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 40.0F)); public static final DeferredBlock IRONWOOD_BLOCK = registerWithItem("ironwood_block", Block::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOD).sound(SoundType.WOOD).strength(5.0F, 6.0F)); public static final DeferredBlock FIERY_BLOCK = registerFireResistantItem("fiery_block", FieryBlock::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).noOcclusion().requiresCorrectToolForDrops().sound(SoundType.METAL).strength(5.0F, 6.0F).emissiveRendering((state, world, pos) -> true)); - public static final DeferredBlock STEELEAF_BLOCK = registerWithItem("steeleaf_block", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.MOSS).strength(5.0F, 6.0F)); + public static final DeferredBlock STEELEAF_BLOCK = registerWithItem("steeleaf_block", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).sound(SoundType.NETHERITE_BLOCK).strength(5.0F, 6.0F)); public static final DeferredBlock ARCTIC_FUR_BLOCK = registerWithItem("arctic_fur_block", ArcticFurBlock::new, () -> BlockBehaviour.Properties.of().ignitedByLava().mapColor(MapColor.WOOL).sound(SoundType.WOOL).strength(0.8F)); public static final DeferredBlock CARMINITE_BLOCK = registerWithItem("carminite_block", Block::new, () -> BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(1.5F, 10.0F).requiresCorrectToolForDrops().sound(SoundType.METAL)); From 64ca8ffb370908382d5ab4e9b260ec738a2974fa Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Wed, 23 Apr 2025 18:48:35 +0200 Subject: [PATCH 185/239] boom --- .../block/firefly_particle_spawner.json | 112 ------------------ .../models/block/nagastone_head.json | 26 ---- 2 files changed, 138 deletions(-) delete mode 100644 src/main/resources/assets/twilightforest/models/block/firefly_particle_spawner.json delete mode 100644 src/main/resources/assets/twilightforest/models/block/nagastone_head.json diff --git a/src/main/resources/assets/twilightforest/models/block/firefly_particle_spawner.json b/src/main/resources/assets/twilightforest/models/block/firefly_particle_spawner.json deleted file mode 100644 index ee1c71ef2c..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/firefly_particle_spawner.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "parent": "block/block", - "render_type": "minecraft:cutout", - "textures": { - "side": "twilightforest:block/jar_side", - "top": "twilightforest:block/jar_top", - "bottom": "twilightforest:block/jar_bottom", - "dirt": "block/composter_compost", - "poppy": "block/poppy", - "particle": "#side" - }, - "elements": [ - { - "from": [3, 0, 3], - "to": [13, 14, 13], - "faces": { - "north": {"uv": [3, 2, 13, 16], "texture": "#side"}, - "east": {"uv": [3, 2, 13, 16], "texture": "#side"}, - "south": {"uv": [3, 2, 13, 16], "texture": "#side"}, - "west": {"uv": [3, 2, 13, 16], "texture": "#side"}, - "up": {"uv": [3, 3, 13, 13], "texture": "#top"}, - "down": {"uv": [3, 3, 13, 13], "texture": "#bottom"} - } - }, - { - "from": [4, 0.01, 4], - "to": [12, 2, 12], - "faces": { - "north": {"uv": [4, 12, 12, 14], "texture": "#dirt"}, - "east": {"uv": [11, 5, 13, 13], "rotation": 90, "texture": "#dirt"}, - "south": {"uv": [4, 3, 12, 5], "rotation": 180, "texture": "#dirt"}, - "west": {"uv": [3, 5, 5, 13], "rotation": 270, "texture": "#dirt"}, - "up": {"uv": [4, 5, 12, 13], "texture": "#dirt"}, - "down": {"uv": [4, 5, 12, 13], "texture": "#dirt"} - } - }, - { - "from": [1, 2, 6], - "to": [17, 18, 6], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#poppy"}, - "east": {"uv": [0, 0, 1, 1], "texture": "#poppy"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#poppy"}, - "west": {"uv": [0, 0, 1, 1], "texture": "#poppy"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#poppy"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#poppy"} - } - }, - { - "from": [9, 2, -2], - "to": [9, 18, 14], - "rotation": {"angle": 45, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#poppy"}, - "east": {"uv": [0, 0, 16, 16], "texture": "#poppy"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#poppy"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#poppy"}, - "up": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#poppy"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#poppy"} - } - }, - { - "from": [4, 13, 3], - "to": [12, 14, 4], - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "east": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "south": {"uv": [4, 3, 12, 4], "texture": "#top"}, - "west": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#top"} - } - }, - { - "from": [4, 13, 12], - "to": [12, 14, 13], - "faces": { - "north": {"uv": [4, 12, 12, 13], "rotation": 180, "texture": "#top"}, - "east": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "west": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#top"} - } - }, - { - "from": [12, 13, 4], - "to": [13, 14, 12], - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "east": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "west": {"uv": [12, 4, 13, 12], "rotation": 270, "texture": "#top"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#top"} - } - }, - { - "from": [3, 13, 4], - "to": [4, 14, 12], - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "east": {"uv": [3, 4, 4, 12], "rotation": 90, "texture": "#top"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "west": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#top"}, - "down": {"uv": [0, 0, 1, 1], "texture": "#top"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/twilightforest/models/block/nagastone_head.json b/src/main/resources/assets/twilightforest/models/block/nagastone_head.json deleted file mode 100644 index c948f6316b..0000000000 --- a/src/main/resources/assets/twilightforest/models/block/nagastone_head.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parent": "block/block", - "textures": { - "down": "twilightforest:block/nagastone_bottom_tip", - "south": "twilightforest:block/nagastone_cross_section", - "north": "twilightforest:block/nagastone_face_front", - "west": "twilightforest:block/nagastone_face_left", - "east": "twilightforest:block/nagastone_face_right", - "up": "twilightforest:block/nagastone_top_tip", - "particle": "twilightforest:block/nagastone_bottom_tip" - }, - "elements": [ - { - "from": [0, 0, 0], - "to": [16, 16, 16], - "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#north", "cullface": "north"}, - "east": {"uv": [0, 0, 16, 16], "texture": "#east", "cullface": "east"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#south", "cullface": "south"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#west", "cullface": "west"}, - "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#up", "cullface": "up"}, - "down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#down", "cullface": "down"} - } - } - ] -} \ No newline at end of file From 1456bd9448c54681fea3bae9072fcaa11562b2b5 Mon Sep 17 00:00:00 2001 From: Tamaized <9671313+Tamaized@users.noreply.github.com> Date: Fri, 25 Apr 2025 13:41:03 -0400 Subject: [PATCH 186/239] Fix maven published jar --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 8623ea7681..ce506d564e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ neo_version=21.4.124 mdg_version=2.0.76 # Deps -beanification_version=1.5.93 +beanification_version=1.5.97 jei_version=19.8.2.99 rei_version=18.0.796 emi_version=1.1.11 From b3cd86c5a4fd21d76a28735c426fe09401b8fd35 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 12:01:22 -0600 Subject: [PATCH 187/239] the purge --- .../client/JappaPackReloadListener.java | 26 --- .../client/event/RegistrationEvents.java | 68 ++++--- .../client/model/entity/BighornModel.java | 62 +------ .../model/entity/BlockChainGoblinModel.java | 49 +---- .../client/model/entity/BoarModel.java | 48 ----- .../client/model/entity/DeerModel.java | 60 +----- .../client/model/entity/FireBeetleModel.java | 81 +------- .../client/model/entity/HelmetCrabModel.java | 86 +-------- .../client/model/entity/HydraHeadModel.java | 37 +--- .../client/model/entity/HydraModel.java | 174 +----------------- .../client/model/entity/HydraNeckModel.java | 25 +-- .../client/model/entity/KoboldModel.java | 63 +------ .../model/entity/LowerGoblinKnightModel.java | 52 +----- .../client/model/entity/MinoshroomModel.java | 93 +--------- .../client/model/entity/MinotaurModel.java | 55 +----- .../client/model/entity/NagaModel.java | 34 +--- .../client/model/entity/PinchBeetleModel.java | 77 +------- .../client/model/entity/QuestRamModel.java | 136 +------------- .../client/model/entity/RavenModel.java | 51 +---- .../client/model/entity/RedcapModel.java | 54 +----- .../client/model/entity/SlimeBeetleModel.java | 101 +--------- .../client/model/entity/SnowQueenModel.java | 68 +------ .../client/model/entity/SquirrelModel.java | 63 +------ .../client/model/entity/TinyBirdModel.java | 53 +----- .../client/model/entity/TrollModel.java | 48 +---- .../model/entity/UpperGoblinKnightModel.java | 72 +------- .../renderer/entity/MinoshroomRenderer.java | 11 +- .../client/renderer/entity/NagaRenderer.java | 5 +- .../renderer/entity/NagaSegmentRenderer.java | 5 +- 29 files changed, 89 insertions(+), 1668 deletions(-) delete mode 100644 src/main/java/twilightforest/client/JappaPackReloadListener.java diff --git a/src/main/java/twilightforest/client/JappaPackReloadListener.java b/src/main/java/twilightforest/client/JappaPackReloadListener.java deleted file mode 100644 index a08d52d173..0000000000 --- a/src/main/java/twilightforest/client/JappaPackReloadListener.java +++ /dev/null @@ -1,26 +0,0 @@ -package twilightforest.client; - -import net.minecraft.client.Minecraft; -import net.minecraft.server.packs.PackType; -import net.minecraft.server.packs.resources.ResourceManager; -import net.minecraft.server.packs.resources.ResourceManagerReloadListener; -import twilightforest.TwilightForestMod; - -//TODO -// I would like to look at migrating the models to using EntityModelJson (https://www.curseforge.com/minecraft/mc-mods/entity-model-json) in the future. -// we can make the pack depend on it to load the new models instead of having them hardcoded here. -// could also shade the mod since I dont trust people to actually download the mod. I can already see the bug reports flooding in, yikes -public class JappaPackReloadListener implements ResourceManagerReloadListener { - - private static boolean jappaPackLoaded = false; - public static final JappaPackReloadListener INSTANCE = new JappaPackReloadListener(); - - @Override - public void onResourceManagerReload(ResourceManager manager) { - jappaPackLoaded = Minecraft.getInstance().getResourceManager().listPacks().anyMatch(pack -> pack.getResource(PackType.CLIENT_RESOURCES, TwilightForestMod.prefix("jappa_models.marker")) != null); - } - - public boolean isJappaPackLoaded() { - return jappaPackLoaded; - } -} diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 70896b46c2..241d9f2599 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -46,7 +46,6 @@ import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import net.neoforged.neoforge.client.gui.map.RegisterMapDecorationRenderersEvent; import net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent; -import net.neoforged.neoforge.client.resources.VanillaClientListeners; import twilightforest.TwilightForestMod; import twilightforest.client.*; import twilightforest.client.model.TFModelLayers; @@ -188,9 +187,6 @@ private static void clientSetup(FMLClientSetupEvent evt) { } private static void registerClientReloadListeners(AddClientReloadListenersEvent event) { - event.addListener(TwilightForestMod.prefix("jappa_pack"), JappaPackReloadListener.INSTANCE); - event.addDependency(VanillaClientListeners.FIRST, TwilightForestMod.prefix("jappa_pack")); - MagicPaintingTextureManager.instance = new MagicPaintingTextureManager(Minecraft.getInstance().getTextureManager()); event.addListener(TwilightForestMod.prefix("magic_paintings"), MagicPaintingTextureManager.instance); event.addListener(TwilightForestMod.prefix("texture_generators"), TextureGeneratorReloadListener.INSTANCE); @@ -353,22 +349,22 @@ private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerD event.registerLayerDefinition(TFModelLayers.YETI_ARMOR_OUTER, () -> LayerDefinition.create(YetiArmorModel.addPieces(LayerDefinitions.OUTER_ARMOR_DEFORMATION), 64, 32)); event.registerLayerDefinition(TFModelLayers.ALPHA_YETI_TROPHY, AlphaYetiModel::createTrophy); - event.registerLayerDefinition(TFModelLayers.HYDRA_TROPHY, HydraHeadModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.HYDRA_TROPHY, HydraHeadModel::create); event.registerLayerDefinition(TFModelLayers.KNIGHT_PHANTOM_TROPHY, KnightPhantomModel::createTrophy); event.registerLayerDefinition(TFModelLayers.LICH_TROPHY, LichModel::create); - event.registerLayerDefinition(TFModelLayers.MINOSHROOM_TROPHY, MinoshroomModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.NAGA_TROPHY, NagaModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.QUEST_RAM_TROPHY, QuestRamModel::checkForPackTrophyEdition); - event.registerLayerDefinition(TFModelLayers.SNOW_QUEEN_TROPHY, SnowQueenModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.MINOSHROOM_TROPHY, MinoshroomModel::create); + event.registerLayerDefinition(TFModelLayers.NAGA_TROPHY, NagaModel::create); + event.registerLayerDefinition(TFModelLayers.QUEST_RAM_TROPHY, QuestRamModel::create); + event.registerLayerDefinition(TFModelLayers.SNOW_QUEEN_TROPHY, SnowQueenModel::create); event.registerLayerDefinition(TFModelLayers.UR_GHAST_TROPHY, UrGhastModel::create); event.registerLayerDefinition(TFModelLayers.ADHERENT, AdherentModel::create); event.registerLayerDefinition(TFModelLayers.ALPHA_YETI, AlphaYetiModel::create); event.registerLayerDefinition(TFModelLayers.ARMORED_GIANT, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 32)); - event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP, BighornModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP_BABY, () -> BighornModel.checkForPack().apply(BighornModel.BABY_TRANSFORMER)); - event.registerLayerDefinition(TFModelLayers.BLOCKCHAIN_GOBLIN, BlockChainGoblinModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.BOAR, BoarModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP, BighornModel::create); + event.registerLayerDefinition(TFModelLayers.BIGHORN_SHEEP_BABY, () -> BighornModel.create().apply(BighornModel.BABY_TRANSFORMER)); + event.registerLayerDefinition(TFModelLayers.BLOCKCHAIN_GOBLIN, BlockChainGoblinModel::create); + event.registerLayerDefinition(TFModelLayers.BOAR, BoarModel::create); event.registerLayerDefinition(TFModelLayers.BUNNY, BunnyModel::create); event.registerLayerDefinition(TFModelLayers.CARMINITE_BROODLING, SpiderModel::createSpiderBodyLayer); event.registerLayerDefinition(TFModelLayers.CARMINITE_GOLEM, CarminiteGolemModel::create); @@ -377,57 +373,57 @@ private static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerD event.registerLayerDefinition(TFModelLayers.CHAIN, ChainModel::create); event.registerLayerDefinition(TFModelLayers.CUBE_OF_ANNIHILATION, CubeOfAnnihilationModel::create); event.registerLayerDefinition(TFModelLayers.DEATH_TOME, DeathTomeModel::create); - event.registerLayerDefinition(TFModelLayers.DEER, DeerModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.FIRE_BEETLE, FireBeetleModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.DEER, DeerModel::create); + event.registerLayerDefinition(TFModelLayers.FIRE_BEETLE, FireBeetleModel::create); event.registerLayerDefinition(TFModelLayers.GIANT_MINER, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 32)); event.registerLayerDefinition(TFModelLayers.HARBINGER_CUBE, HarbingerCubeModel::create); event.registerLayerDefinition(TFModelLayers.HEDGE_SPIDER, SpiderModel::createSpiderBodyLayer); - event.registerLayerDefinition(TFModelLayers.HELMET_CRAB, HelmetCrabModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.HELMET_CRAB, HelmetCrabModel::create); event.registerLayerDefinition(TFModelLayers.HOSTILE_WOLF, () -> LayerDefinition.create(WolfModel.createMeshDefinition(CubeDeformation.NONE), 64, 32)); - event.registerLayerDefinition(TFModelLayers.HYDRA_HEAD, HydraHeadModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.HYDRA, HydraModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.HYDRA_HEAD, HydraHeadModel::create); + event.registerLayerDefinition(TFModelLayers.HYDRA, HydraModel::create); event.registerLayerDefinition(TFModelLayers.HYDRA_MORTAR, HydraMortarModel::create); - event.registerLayerDefinition(TFModelLayers.HYDRA_NECK, HydraNeckModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.HYDRA_NECK, HydraNeckModel::create); event.registerLayerDefinition(TFModelLayers.ICE_CRYSTAL, IceCrystalModel::create); event.registerLayerDefinition(TFModelLayers.KING_SPIDER, SpiderModel::createSpiderBodyLayer); event.registerLayerDefinition(TFModelLayers.KNIGHT_PHANTOM, KnightPhantomModel::create); - event.registerLayerDefinition(TFModelLayers.KOBOLD, KoboldModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.KOBOLD, KoboldModel::create); event.registerLayerDefinition(TFModelLayers.LICH_MINION, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 64)); event.registerLayerDefinition(TFModelLayers.LICH, LichModel::create); - event.registerLayerDefinition(TFModelLayers.LOWER_GOBLIN_KNIGHT, LowerGoblinKnightModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.LOWER_GOBLIN_KNIGHT, LowerGoblinKnightModel::create); event.registerLayerDefinition(TFModelLayers.LOYAL_ZOMBIE, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 64)); event.registerLayerDefinition(TFModelLayers.MAZE_SLIME, SlimeModel::createInnerBodyLayer); event.registerLayerDefinition(TFModelLayers.MAZE_SLIME_OUTER, SlimeModel::createOuterBodyLayer); - event.registerLayerDefinition(TFModelLayers.MINOSHROOM, MinoshroomModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.MINOTAUR, MinotaurModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.MINOSHROOM, MinoshroomModel::create); + event.registerLayerDefinition(TFModelLayers.MINOTAUR, MinotaurModel::create); event.registerLayerDefinition(TFModelLayers.MIST_WOLF, () -> LayerDefinition.create(WolfModel.createMeshDefinition(CubeDeformation.NONE), 64, 32)); event.registerLayerDefinition(TFModelLayers.MOSQUITO_SWARM, MosquitoSwarmModel::create); - event.registerLayerDefinition(TFModelLayers.NAGA, NagaModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.NAGA_BODY, NagaModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.NAGA, NagaModel::create); + event.registerLayerDefinition(TFModelLayers.NAGA_BODY, NagaModel::create); event.registerLayerDefinition(TFModelLayers.NOOP, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 0, 0)); event.registerLayerDefinition(TFModelLayers.PENGUIN, PenguinModel::create); - event.registerLayerDefinition(TFModelLayers.PINCH_BEETLE, PinchBeetleModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.PINCH_BEETLE, PinchBeetleModel::create); event.registerLayerDefinition(TFModelLayers.PROTECTION_BOX, () -> LayerDefinition.create(ProtectionBoxModel.createMesh(), 16, 16)); - event.registerLayerDefinition(TFModelLayers.QUEST_RAM, QuestRamModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.RAVEN, RavenModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.REDCAP, RedcapModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.QUEST_RAM, QuestRamModel::create); + event.registerLayerDefinition(TFModelLayers.RAVEN, RavenModel::create); + event.registerLayerDefinition(TFModelLayers.REDCAP, RedcapModel::create); event.registerLayerDefinition(TFModelLayers.REDCAP_ARMOR_INNER, () -> LayerDefinition.create(HumanoidModel.createMesh(new CubeDeformation(0.25F), 0.7F), 64, 32)); event.registerLayerDefinition(TFModelLayers.REDCAP_ARMOR_OUTER, () -> LayerDefinition.create(HumanoidModel.createMesh(new CubeDeformation(0.65F), 0.7F), 64, 32)); event.registerLayerDefinition(TFModelLayers.RISING_ZOMBIE, () -> LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 64)); event.registerLayerDefinition(TFModelLayers.ROVING_CUBE, CubeOfAnnihilationModel::create); event.registerLayerDefinition(TFModelLayers.SKELETON_DRUID, SkeletonDruidModel::create); - event.registerLayerDefinition(TFModelLayers.SLIME_BEETLE, SlimeBeetleModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.SLIME_BEETLE_TAIL, SlimeBeetleModel::checkForPack); - event.registerLayerDefinition(TFModelLayers.SNOW_QUEEN, SnowQueenModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.SLIME_BEETLE, SlimeBeetleModel::create); + event.registerLayerDefinition(TFModelLayers.SLIME_BEETLE_TAIL, SlimeBeetleModel::create); + event.registerLayerDefinition(TFModelLayers.SNOW_QUEEN, SnowQueenModel::create); event.registerLayerDefinition(TFModelLayers.CHAIN_BLOCK, SpikeBlockModel::create); - event.registerLayerDefinition(TFModelLayers.SQUIRREL, SquirrelModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.SQUIRREL, SquirrelModel::create); event.registerLayerDefinition(TFModelLayers.STABLE_ICE_CORE, StableIceCoreModel::create); event.registerLayerDefinition(TFModelLayers.SWARM_SPIDER, SpiderModel::createSpiderBodyLayer); - event.registerLayerDefinition(TFModelLayers.TINY_BIRD, TinyBirdModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.TINY_BIRD, TinyBirdModel::create); event.registerLayerDefinition(TFModelLayers.TOWERWOOD_BORER, SilverfishModel::createBodyLayer); - event.registerLayerDefinition(TFModelLayers.TROLL, TrollModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.TROLL, TrollModel::create); event.registerLayerDefinition(TFModelLayers.UNSTABLE_ICE_CORE, UnstableIceCoreModel::create); - event.registerLayerDefinition(TFModelLayers.UPPER_GOBLIN_KNIGHT, UpperGoblinKnightModel::checkForPack); + event.registerLayerDefinition(TFModelLayers.UPPER_GOBLIN_KNIGHT, UpperGoblinKnightModel::create); event.registerLayerDefinition(TFModelLayers.UR_GHAST, UrGhastModel::create); event.registerLayerDefinition(TFModelLayers.WINTER_WOLF, () -> LayerDefinition.create(WolfModel.createMeshDefinition(CubeDeformation.NONE), 64, 32)); event.registerLayerDefinition(TFModelLayers.WRAITH, WraithModel::create); diff --git a/src/main/java/twilightforest/client/model/entity/BighornModel.java b/src/main/java/twilightforest/client/model/entity/BighornModel.java index 5b2a42cd67..f3c2ecc9b9 100644 --- a/src/main/java/twilightforest/client/model/entity/BighornModel.java +++ b/src/main/java/twilightforest/client/model/entity/BighornModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.SheepRenderState; -import twilightforest.client.JappaPackReloadListener; import java.util.Set; @@ -17,11 +16,7 @@ public BighornModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = SheepModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -84,61 +79,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = SheepModel.createBodyMesh(0, CubeDeformation.NONE); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(38, 0) - .addBox(-3.0F, -4.0F, -6.0F, 6.0F, 6.0F, 7.0F), - PartPose.offset(0.0F, 5.0F, -8.0F)); - - head.addOrReplaceChild("right_horn", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-3.0F, -1.0F, -7.0F, 3.0F, 3.0F, 5.0F) - .texOffs(0, 8) - .addBox(-4.0F, 2.0F, -9.0F, 3.0F, 2.0F, 5.0F) - .texOffs(4, 15) - .addBox(-4.0F, 0.0F, -11.0F, 2.0F, 3.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, -3.0F, -1.0F, 0.0F, 0.39269908169872414F, 0.2181661564992912F)); - - head.addOrReplaceChild("left_horn", CubeListBuilder.create() - .texOffs(16, 0) - .addBox(0.0F, -1.0F, -7.0F, 3.0F, 3.0F, 5.0F) - .texOffs(16, 8) - .addBox(1.0F, 2.0F, -9.0F, 3.0F, 2.0F, 5.0F) - .texOffs(20, 15) - .addBox(2.0F, 0.0F, -11.0F, 2.0F, 3.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, -3.0F, -1.0F, 0.0F, -0.39269908169872414F, -0.2181661564992912F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(34, 13) - .addBox(-4.5F, -14.0F, -3.0F, 9.0F, 16.0F, 6.0F), - PartPose.offsetAndRotation(0.0F, 10.0F, 6.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_hind_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(-3.0F, 12.0F, 7.0F)); - - partdefinition.addOrReplaceChild("left_hind_leg", CubeListBuilder.create() - .texOffs(16, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(3.0F, 12.0F, 7.0F)); - - partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(0, 32) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(-3.0F, 12.0F, -5.0F)); - - partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .texOffs(16, 32) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(3.0F, 12.0F, -5.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - @Override public void setupAnim(SheepRenderState state) { this.head.getChild("left_horn").visible = !state.isBaby; diff --git a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java index 210a711636..ba62019df3 100644 --- a/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java +++ b/src/main/java/twilightforest/client/model/entity/BlockChainGoblinModel.java @@ -5,7 +5,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.BlockChainGoblinRenderState; public class BlockChainGoblinModel extends FixedHumanoidModel { @@ -14,11 +13,7 @@ public BlockChainGoblinModel(ModelPart root) { super(root, 3.0F); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -60,48 +55,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(52, 2) - .addBox(-1.5F, -2.0F, -1.5F, 3.0F, 12.0F, 3.0F), - PartPose.offsetAndRotation(-5.0F, 12.0F, 0.0F, 0.0F, 0.0F, 3.0543261909900767F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(52, 17) - .addBox(-1.5F, -2.0F, -1.5F, 3.0F, 12.0F, 3.0F), - PartPose.offsetAndRotation(5.0F, 12.0F, 0.0F, 0.0F, 0.0F, -3.0543261909900767F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 33) - .addBox(-1.4F, 0.0F, -1.5F, 3.0F, 6.0F, 3.0F), - PartPose.offset(-2.0F, 18.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(12, 33) - .addBox(-1.6F, 0.0F, -1.5F, 3.0F, 6.0F, 3.0F), - PartPose.offset(2.0F, 18.0F, 0.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(28, 6) - .addBox(-3.5F, 1.0F, -2.0F, 7.0F, 6.0F, 4.0F), - PartPose.offset(0.0F, 11.0F, 0.0F)); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 18) - .addBox(-7.5F, -9.0F, -2.03F, 15.0F, 10.0F, 2.0F), - PartPose.offsetAndRotation(0.0F, 11.0F, 0.0F, 0.0F, -0.7853981633974483F, 0.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create() - .texOffs(0, 5) - .addBox(-2.5F, -7.0F, -2.5F, 5.0F, 8.0F, 5.0F), - PartPose.rotation(0.0F, 0.7853981633974483F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 48); - } - @Override public void setupAnim(BlockChainGoblinRenderState state) { super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/model/entity/BoarModel.java b/src/main/java/twilightforest/client/model/entity/BoarModel.java index a6bf159c2d..1d06ff5f75 100644 --- a/src/main/java/twilightforest/client/model/entity/BoarModel.java +++ b/src/main/java/twilightforest/client/model/entity/BoarModel.java @@ -5,7 +5,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import twilightforest.client.JappaPackReloadListener; public class BoarModel extends PigModel { @@ -13,10 +12,6 @@ public BoarModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - public static LayerDefinition create() { MeshDefinition meshdefinition = PigModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -59,47 +54,4 @@ public static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - - public static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = QuadrupedModel.createBodyMesh(6, CubeDeformation.NONE); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(0, 13) - .addBox(-2.0F, 0.0F, -1.9F, 4.0F, 6.0F, 4.0F), - PartPose.offset(-2.9F, 18.0F, -2.0F)); - - partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .texOffs(0, 23) - .addBox(-2.0F, 0.0F, -1.9F, 4.0F, 6.0F, 4.0F), - PartPose.offset(2.9F, 18.0F, -2.0F)); - - partdefinition.addOrReplaceChild("right_hind_leg", CubeListBuilder.create() - .texOffs(0, 33) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 6.0F, 4.0F), - PartPose.offset(-3.1F, 18.0F, 9.0F)); - - partdefinition.addOrReplaceChild("left_hind_leg", CubeListBuilder.create() - .texOffs(0, 43) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 6.0F, 4.0F), - PartPose.offset(3.1F, 18.0F, 9.0F)); - - // Snout and tusks included - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .addBox(-4.0F, -4.0F, -5.0F, 8.0F, 7.0F, 6.0F) - .texOffs(46, 22) - .addBox(-3.0F, -1.0F, -8.0F, 6.0F, 4.0F, 3.0F) - .texOffs(28, 0) - .addBox(-4.0F, 0.0F, -8.0F, 1.0F, 2.0F, 1.0F) - .texOffs(28, 3) - .addBox(3.0F, 0.0F, -8.0F, 1.0F, 2.0F, 1.0F), - PartPose.offset(0.0F, 15.5F, -5.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(28, 0) - .addBox(-5.0F, -6.0F, 0.0F, 10.0F, 14.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 19.0F, 2.0F, 1.6580627893946132F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } } diff --git a/src/main/java/twilightforest/client/model/entity/DeerModel.java b/src/main/java/twilightforest/client/model/entity/DeerModel.java index a5f1c3a41d..60cae9b2c6 100644 --- a/src/main/java/twilightforest/client/model/entity/DeerModel.java +++ b/src/main/java/twilightforest/client/model/entity/DeerModel.java @@ -5,7 +5,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import twilightforest.client.JappaPackReloadListener; public class DeerModel extends QuadrupedModel { @@ -13,11 +12,7 @@ public DeerModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = QuadrupedModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -92,59 +87,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition mesh = QuadrupedModel.createBodyMesh(12, CubeDeformation.NONE); - PartDefinition definition = mesh.getRoot(); - - var head = definition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(24, 2) - .addBox(-2.0F, -4.0F, -4.0F, 4.0F, 6.0F, 6.0F) - .texOffs(52, 0) - .addBox(-1.5F, -1.0F, -7.0F, 3.0F, 3.0F, 3.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, -8.0F, -0.4363323129985824F, 0.0F, 0.0F)); - - head.addOrReplaceChild("right_antler", CubeListBuilder.create() - .texOffs(0, 16) - .addBox(0.0F, -16.0F, -8.0F, 0.0F, 16.0F, 16.0F), - PartPose.offsetAndRotation(-1.0F, -4.0F, 0.0F, 0.0F, -0.39269908169872414F, -0.39269908169872414F)); - - head.addOrReplaceChild("left_antler", CubeListBuilder.create() - .texOffs(32, 16) - .addBox(0.0F, -16.0F, -8.0F, 0.0F, 16.0F, 16.0F), - PartPose.offsetAndRotation(1.0F, -4.0F, 0.0F, 0.0F, 0.39269908169872414F, 0.39269908169872414F)); - - var body = definition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(36, 6) - .addBox(-3.0F, -14.0F, -2.0F, 6.0F, 18.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 10.0F, 7.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - body.addOrReplaceChild("neck", CubeListBuilder.create() - .texOffs(22, 14) - .addBox(-2.5F, -8.0F, -11.0F, 3.0F, 9.0F, 4.0F), - PartPose.offsetAndRotation(1.0F, -4.0F, 5.0F, 4.974188f, 0.0F, 0.0F)); - - definition.addOrReplaceChild("left_hind_leg", CubeListBuilder.create() - .texOffs(0, 15) - .addBox(-1.0F, 0.0F, -1.5F, 2.0F, 12.0F, 3.0F), - PartPose.offset(-2.0F, 12.0F, 9.5F)); - - definition.addOrReplaceChild("right_hind_leg", CubeListBuilder.create() - .texOffs(10, 15) - .addBox(-1.0F, 0.0F, -1.5F, 2.0F, 12.0F, 3.0F), - PartPose.offset(2.0F, 12.0F, 9.5F)); - - definition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .addBox(-1.0F, 0.0F, -1.5F, 2.0F, 12.0F, 3.0F), - PartPose.offset(-2.0F, 12.0F, -4.5F)); - - definition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(10, 0) - .addBox(-1.0F, 0.0F, -1.5F, 2.0F, 12.0F, 3.0F), - PartPose.offset(2.0F, 12.0F, -4.5F)); - - return LayerDefinition.create(mesh, 64, 48); - } - @Override public void setupAnim(LivingEntityRenderState state) { this.head.getChild("right_antler").visible = !state.isBaby; diff --git a/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java b/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java index 09d27876b4..0d3ae41996 100644 --- a/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/FireBeetleModel.java @@ -14,7 +14,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; public class FireBeetleModel extends EntityModel { @@ -39,11 +38,7 @@ public FireBeetleModel(ModelPart root) { this.leftLeg3 = root.getChild("left_leg_3"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -145,80 +140,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .addBox(-4.0F, -3.0F, -6.0F, 8.0F, 6.0F, 6.0F), - PartPose.offset(0.0F, 18.0F, -4.0F)); - - head.addOrReplaceChild("jaws", CubeListBuilder.create() - .texOffs(-6, 18) - .addBox(-3.0F, 0.0F, -6.0F, 6.0F, 0.0F, 6.0F), - PartPose.offsetAndRotation(0.0F, 2.0F, -6.0F, 0.39269908169872414F, 0.0F, 0.0F)); - - head.addOrReplaceChild("right_eye", CubeListBuilder.create() - .texOffs(0, 12) - .addBox(-2.0F, -1.0F, -2.0F, 3.0F, 3.0F, 3.0F), - PartPose.offset(-2.5F, -1.0F, -4.5F)); - - head.addOrReplaceChild("left_eye", CubeListBuilder.create() - .texOffs(16, 12) - .addBox(-1.0F, -1.0F, -2.0F, 3.0F, 3.0F, 3.0F), - PartPose.offset(2.5F, -1.0F, -4.5F)); - - head.addOrReplaceChild("right_antenna", CubeListBuilder.create() - .texOffs(38, 4) - .addBox(-12.0F, -0.5F, -0.5F, 12.0F, 1.0F, 1.0F), - PartPose.offsetAndRotation(-0.5F, -1.5F, -5.0F, 0.0F, -0.7853981633974483F, 0.2181661564992912F)); - - head.addOrReplaceChild("left_antenna", CubeListBuilder.create() - .texOffs(38, 6) - .addBox(0.0F, -0.5F, -0.5F, 12.0F, 1.0F, 1.0F), - PartPose.offsetAndRotation(0.5F, -1.5F, -5.0F, 0.0F, 0.7853981633974483F, -0.2181661564992912F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(22, 9) - .addBox(-6.0F, 0.0F, -4.0F, 12.0F, 14.0F, 9.0F), - PartPose.offsetAndRotation(0.0F, 18.0F, -4.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg_1", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-3.0F, 21.0F, -3.0F, 0.0F, -0.39269908169872414F, -0.2181661564992912F)); - - partdefinition.addOrReplaceChild("right_leg_2", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-3.0F, 21.0F, 0.0F, 0.0F, 0.2181661564992912F, -0.2181661564992912F)); - - partdefinition.addOrReplaceChild("right_leg_3", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-3.0F, 21.0F, 4.0F, 0.0F, 0.39269908169872414F, -0.2181661564992912F)); - - partdefinition.addOrReplaceChild("left_leg_1", CubeListBuilder.create() - .mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(3.0F, 21.0F, -3.0F, 0.0F, 0.39269908169872414F, 0.2181661564992912F)); - - partdefinition.addOrReplaceChild("left_leg_2", CubeListBuilder.create() - .mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(3.0F, 21.0F, 0.0F, 0.0F, -0.2181661564992912F, 0.2181661564992912F)); - - partdefinition.addOrReplaceChild("left_leg_3", CubeListBuilder.create() - .mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(3.0F, 21.0F, 4.0F, 0.0F, -0.39269908169872414F, 0.2181661564992912F)); - - return LayerDefinition.create(meshdefinition, 64, 32); - } - @Override public void setupAnim(LivingEntityRenderState state) { this.head.yRot = state.yRot * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java index 1f4ee34b74..cd77c05e9e 100644 --- a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java +++ b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java @@ -12,7 +12,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; public class HelmetCrabModel extends EntityModel { @@ -37,11 +36,7 @@ public HelmetCrabModel(ModelPart root) { this.leftLeg2 = root.getChild("left_leg_2"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -136,65 +131,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 9) - .addBox(-2.5F, -4.0F, -2.5F, 5.0F, 4.0F, 5.0F) - .texOffs(58, 0) - .addBox(-1.5F, -5.0F, -3.5F, 1.0F, 2.0F, 1.0F) - .texOffs(58, 3) - .addBox(0.5F, -5.0F, -3.5F, 1.0F, 2.0F, 1.0F), - PartPose.offset(0.0F, 21.0F, 0.0F)); - - var helmet = body.addOrReplaceChild("helmet", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-4.0F, -8.0F, -4.0F, 6.0F, 8.0F, 6.0F) - .texOffs(16, 0) - .addBox(-4.0F, -8.0F, -4.0F, 6.0F, 8.0F, 6.0F, new CubeDeformation(-0.25F)), - PartPose.offsetAndRotation(0.0F, -1.0F, 0.5F, -1.3089969389957472F, -0.2617993877991494F, 0.7463027588580033F)); - - helmet.addOrReplaceChild("horns", CubeListBuilder.create() - .texOffs(18, 23) - .addBox(-11.5F, -12.0F, -0.67F, 23.0F, 9.0F, 0.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7853981633974483F, 0.0F)); - - partdefinition.addOrReplaceChild("right_claw", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-1.0F, -3.0F, -5.0F, 2.0F, 4.0F, 5.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, -2.0F, 0.0F, 0.39269908169872414F, 0.0F)); - - partdefinition.addOrReplaceChild("left_claw", CubeListBuilder.create() - .texOffs(0, 23) - .addBox(-1.0F, -3.0F, -5.0F, 2.0F, 4.0F, 5.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, -2.0F, 0.0F, -0.39269908169872414F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg_1", CubeListBuilder.create() - .texOffs(32, 15) - .addBox(-6.0F, -1.0F, -1.0F, 6.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, 0.0F, 0.2181661564992912F, 0.4363323129985824F, -0.4363323129985824F)); - - partdefinition.addOrReplaceChild("left_leg_1", CubeListBuilder.create() - .texOffs(48, 19) - .addBox(0.0F, -1.0F, -1.0F, 6.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, 0.0F, 0.2181661564992912F, -0.4363323129985824F, 0.4363323129985824F)); - - partdefinition.addOrReplaceChild("right_leg_2", CubeListBuilder.create() - .texOffs(32, 19) - .addBox(-6.0F, -1.0F, -1.0F, 6.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, -1.5F, 0.2181661564992912F, 0.0F, -0.4363323129985824F)); - - partdefinition.addOrReplaceChild("left_leg_2", CubeListBuilder.create() - .texOffs(48, 15) - .addBox(0.0F, -1.0F, -1.0F, 6.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, -1.5F, 0.2181661564992912F, 0.0F, 0.4363323129985824F)); - - - return LayerDefinition.create(meshdefinition, 64, 32); - } - @Override public void setupAnim(LivingEntityRenderState state) { this.body.yRot = state.yRot * Mth.DEG_TO_RAD; @@ -226,19 +162,11 @@ public void setupAnim(LivingEntityRenderState state) { this.rightLeg2.zRot += f15; this.leftLeg2.zRot -= f15; - // swing right arm as if it were an arm, not a leg - if (JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - this.rightClaw.yRot = 0.319531F; - this.rightClaw.yRot += (Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F) / 2; - this.leftClaw.yRot = -0.319531F; - this.leftClaw.yRot += -(Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F) / 2; - } else { - this.rightClaw.yRot = -1.319531F; - this.rightClaw.yRot += Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; - this.leftClaw.zRot = f6; - this.leftClaw.yRot = f8 * 2.0F - f7; - this.leftClaw.yRot -= f12; - this.leftClaw.zRot -= f16; - } + this.rightClaw.yRot = -1.319531F; + this.rightClaw.yRot += Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 2.0F * state.walkAnimationSpeed * 0.5F; + this.leftClaw.zRot = f6; + this.leftClaw.yRot = f8 * 2.0F - f7; + this.leftClaw.yRot -= f12; + this.leftClaw.zRot -= f16; } } diff --git a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java index 04e5fd344c..643f23a889 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java @@ -13,7 +13,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.HydraRenderer; import twilightforest.client.state.HydraHeadRenderState; @@ -28,11 +27,7 @@ public HydraHeadModel(ModelPart root) { this.jaw = this.head.getChild("jaw"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -80,34 +75,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 512, 256); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(260, 64) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(236, 128) - .addBox(-16.0F, -2.0F, -40.0F, 32.0F, 10.0F, 24.0F) - .texOffs(356, 70) - .addBox(-12.0F, 8.0F, -36.0F, 24.0F, 6.0F, 20.0F), - PartPose.ZERO); - - head.addOrReplaceChild("jaw", CubeListBuilder.create() - .texOffs(240, 162) - .addBox(-15.0F, 0.0F, -24.0F, 30.0F, 8.0F, 24.0F), - PartPose.offset(0.0F, 10.0F, -14.0F)); - - head.addOrReplaceChild("plate", CubeListBuilder.create() - .texOffs(388, 0) - .addBox(-24.0F, -48.0F, 0.0F, 48.0F, 48.0F, 6.0F) - .texOffs(220, 0) - .addBox(-4.0F, -32.0F, -8.0F, 8.0F, 32.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.7853981633974483F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 512, 256); - } - @Override public void setupAnim(HydraHeadRenderState state) { super.setupAnim(state); @@ -138,7 +105,7 @@ public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, i if (context == ItemDisplayContext.GUI) { stack.translate(0.0F, 0.0F, 0.75f); } - stack.translate(0.0F, -1.0F, itemForm && !JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? -1.0F : 0.0F); + stack.translate(0.0F, -1.0F, itemForm ? -1.0F : 0.0F); VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(HydraRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } diff --git a/src/main/java/twilightforest/client/model/entity/HydraModel.java b/src/main/java/twilightforest/client/model/entity/HydraModel.java index 03ef8f8f3a..9f0b4e8612 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraModel.java @@ -13,7 +13,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.HydraRenderState; public class HydraModel extends EntityModel { @@ -31,11 +30,7 @@ public HydraModel(ModelPart root) { this.leftLeg = root.getChild("left_leg"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -217,173 +212,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 512, 256); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head1 = partdefinition.addOrReplaceChild("head_1", CubeListBuilder.create() - .texOffs(260, 64) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(236, 128) - .addBox(-16.0F, -2.0F, -40.0F, 32.0F, 10.0F, 24.0F) - .texOffs(356, 70) - .addBox(-12.0F, 8.0F, -36.0F, 24.0F, 6.0F, 20.0F), - PartPose.offset(-74.0F, -100.0F, -56.0F)); - - var head2 = partdefinition.addOrReplaceChild("head_2", CubeListBuilder.create() - .texOffs(260, 64) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(236, 128) - .addBox(-16.0F, -2.0F, -40.0F, 32.0F, 10.0F, 24.0F) - .texOffs(356, 70) - .addBox(-12.0F, 8.0F, -36.0F, 24.0F, 6.0F, 20.0F), - PartPose.offset(0.0F, -116.0F, -56.0F)); - - var head3 = partdefinition.addOrReplaceChild("head_3", CubeListBuilder.create() - .texOffs(260, 64) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(236, 128) - .addBox(-16.0F, -2.0F, -40.0F, 32.0F, 10.0F, 24.0F) - .texOffs(356, 70) - .addBox(-12.0F, 8.0F, -36.0F, 24.0F, 6.0F, 20.0F), - PartPose.offset(74.0F, -100.0F, -56.0F)); - - head1.addOrReplaceChild("mouth_1", CubeListBuilder.create() - .texOffs(240, 162) - .addBox(-15.0F, 0.0F, -24.0F, 30.0F, 8.0F, 24.0F), - PartPose.offset(0.0F, 8.0F, -16.0F)); - - head2.addOrReplaceChild("mouth_2", CubeListBuilder.create() - .texOffs(240, 162) - .addBox(-15.0F, 0.0F, -24.0F, 30.0F, 8.0F, 24.0F), - PartPose.offset(0.0F, 8.0F, -16.0F)); - - head3.addOrReplaceChild("mouth_3", CubeListBuilder.create() - .texOffs(240, 162) - .addBox(-15.0F, 0.0F, -24.0F, 30.0F, 8.0F, 24.0F), - PartPose.offset(0.0F, 8.0F, -16.0F)); - - head1.addOrReplaceChild("plate_1", CubeListBuilder.create() - .texOffs(388, 0) - .addBox(-24.0F, -48.0F, 0.0F, 48.0F, 48.0F, 6.0F) - .texOffs(220, 0) - .addBox(-4.0F, -32.0F, -8.0F, 8.0F, 32.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, -0.7853981633974483F, 0.0F, 0.0F)); - - head2.addOrReplaceChild("plate_2", CubeListBuilder.create() - .texOffs(388, 0) - .addBox(-24.0F, -48.0F, 0.0F, 48.0F, 48.0F, 6.0F) - .texOffs(220, 0) - .addBox(-4.0F, -32.0F, -8.0F, 8.0F, 32.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, -0.7853981633974483F, 0.0F, 0.0F)); - - head3.addOrReplaceChild("plate_3", CubeListBuilder.create() - .texOffs(388, 0) - .addBox(-24.0F, -48.0F, 0.0F, 48.0F, 48.0F, 6.0F) - .texOffs(220, 0) - .addBox(-4.0F, -32.0F, -8.0F, 8.0F, 32.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, -0.7853981633974483F, 0.0F, 0.0F)); - - var neck1 = partdefinition.addOrReplaceChild("neck_1", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(-42.0F, -48.0F, 0.0F)); - - var neck2 = partdefinition.addOrReplaceChild("neck_2", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, -48.0F, 0.0F)); - - var neck3 = partdefinition.addOrReplaceChild("neck_3", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(42.0F, -48.0F, 0.0F)); - - var neck4 = neck1.addOrReplaceChild("neck_4", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(-16.0F, -16.0F, -16.0F)); - - var neck5 = neck2.addOrReplaceChild("neck_5", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, -24.0F, -16.0F)); - - var neck6 = neck3.addOrReplaceChild("neck_6", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(16.0F, -16.0F, -16.0F)); - - neck4.addOrReplaceChild("neck_7", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(-16.0F, -16.0F, -16.0F)); - - neck5.addOrReplaceChild("neck_8", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, -24.0F, -16.0F)); - - neck6.addOrReplaceChild("neck_9", CubeListBuilder.create() - .texOffs(260, 0).addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0).addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(16.0F, -16.0F, -16.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-45.0F, -12.0F, -20.0F, 90.0F, 96.0F, 40.0F) - .texOffs(88, 136) - .addBox(-2.0F, 20.0F, 20.0F, 4.0F, 16.0F, 12.0F) - .texOffs(120, 136) - .addBox(-2.0F, 48.0F, 20.0F, 4.0F, 16.0F, 12.0F), - PartPose.offsetAndRotation(0.0F, -32.0F, 0.0F, 1.117010721276371F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 136) - .addBox(-14.0F, -8.0F, -16.0F, 28.0F, 52.0F, 32.0F) - .texOffs(0, 220) - .addBox(-14.0F, 36.0F, -22.0F, 28.0F, 8.0F, 6.0F), - PartPose.offset(-40.0F, -20.0F, -12.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(120, 136) - .addBox(-14.0F, -8.0F, -16.0F, 28.0F, 52.0F, 32.0F) - .texOffs(68, 220) - .addBox(-14.0F, 36.0F, -22.0F, 28.0F, 8.0F, 6.0F), - PartPose.offset(40.0F, -20.0F, -12.0F)); - - var tail1 = partdefinition.addOrReplaceChild("tail_1", CubeListBuilder.create() - .texOffs(260, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0) - .addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, 8.0F, 80.0F)); - - var tail2 = tail1.addOrReplaceChild("tail_2", CubeListBuilder.create() - .texOffs(260, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0) - .addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, 0.0F, 32.0F)); - - var tail3 = tail2.addOrReplaceChild("tail_3", CubeListBuilder.create() - .texOffs(260, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0) - .addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, 0.0F, 32.0F)); - - tail3.addOrReplaceChild("tail_4", CubeListBuilder.create() - .texOffs(260, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0) - .addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.offset(0.0F, 0.0F, 32.0F)); - - return LayerDefinition.create(meshdefinition, 512, 256); - } - - @Override public void setupAnim(HydraRenderState state) { this.root().getAllParts().forEach(modelPart -> modelPart.skipDraw = !state.renderFakeHeads); diff --git a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java index 8554c9c2b4..d33f02eda5 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraNeckModel.java @@ -7,24 +7,15 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; -import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.HydraNeckRenderState; public class HydraNeckModel extends EntityModel { - private final ModelPart neck; - public HydraNeckModel(ModelPart root) { super(root); - this.neck = root.getChild("neck"); - } - - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); } - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -37,18 +28,4 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 512, 256); } - - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("neck", CubeListBuilder.create() - .texOffs(260, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F) - .texOffs(0, 0) - .addBox(-2.0F, -24.0F, 0.0F, 4.0F, 8.0F, 16.0F), - PartPose.ZERO); - - return LayerDefinition.create(meshdefinition, 512, 256); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/entity/KoboldModel.java b/src/main/java/twilightforest/client/model/entity/KoboldModel.java index 69cbe8089e..51df11f17f 100644 --- a/src/main/java/twilightforest/client/model/entity/KoboldModel.java +++ b/src/main/java/twilightforest/client/model/entity/KoboldModel.java @@ -13,7 +13,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.KoboldRenderState; public class KoboldModel extends HumanoidModel { @@ -25,11 +24,7 @@ public KoboldModel(ModelPart root) { this.jaw = this.getHead().getChild("mouth"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -88,62 +83,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-3.5F, -6.0F, -3.0F, 7.0F, 6.0F, 6.0F) - .texOffs(20, 0) - .addBox(-1.5F, -3.0F, -6.0F, 3.0F, 2.0F, 3.0F), - PartPose.offset(0.0F, 12.0F, 0.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - head.addOrReplaceChild("mouth", CubeListBuilder.create() - .texOffs(26, 5) - .addBox(-1.5F, 0.0F, -3.0F, 3.0F, 1.0F, 3.0F), - PartPose.offsetAndRotation(0.0F, -1.0F, -3.0F, 0.2181661564992912F, 0.0F, 0.0F)); - - head.addOrReplaceChild("right_ear", CubeListBuilder.create() - .texOffs(32, 0) - .addBox(-2.0F, -4.0F, 0.0F, 4.0F, 4.0F, 1.0F), - PartPose.offsetAndRotation(-3.0F, -4.0F, 0.0F, 0.0F, 0.0F, -1.3089969389957472F)); - - head.addOrReplaceChild("left_ear", CubeListBuilder.create() - .texOffs(42, 0) - .addBox(-2.0F, -4.0F, 0.0F, 4.0F, 4.0F, 1.0F), - PartPose.offsetAndRotation(3.0F, -4.0F, 0.0F, 0.0F, 0.0F, 1.3089969389957472F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(12, 12) - .addBox(-3.5F, 0.0F, -2.0F, 7.0F, 7.0F, 4.0F), - PartPose.offset(0.0F, 12.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(34, 12) - .addBox(-2.0F, -1.0F, -1.5F, 3.0F, 7.0F, 3.0F), - PartPose.offset(-4.5F, 13.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(34, 22) - .addBox(-1.0F, -1.0F, -1.5F, 3.0F, 7.0F, 3.0F), - PartPose.offset(4.5F, 13.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 12) - .addBox(-1.5F, 0.0F, -1.5F, 3.0F, 5.0F, 3.0F), - PartPose.offset(-1.9F, 19.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(0, 20) - .addBox(-1.5F, 0.0F, -1.5F, 3.0F, 5.0F, 3.0F), - PartPose.offset(1.9F, 19.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 32); - } - @Override public void setupAnim(KoboldRenderState state) { this.head.yRot = state.yRot * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java index b2276008dc..ef123871b8 100644 --- a/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/LowerGoblinKnightModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.LowerGoblinKnightRenderState; public class LowerGoblinKnightModel extends HumanoidModel { @@ -18,11 +17,7 @@ public LowerGoblinKnightModel(ModelPart root) { this.tunic = root.getChild("tunic"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -67,51 +62,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 128, 64); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 30) - .addBox(-2.5F, -5.0F, -3.5F, 5.0F, 5.0F, 5.0F), - PartPose.offset(0.0F, 8.0F, 1.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create(), - PartPose.ZERO); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(16, 48) - .addBox(-3.5F, 0.0F, -2.0F, 7.0F, 8.0F, 4.0F), - PartPose.offset(0.0F, 8.0F, 0.0F)); - - partdefinition.addOrReplaceChild("tunic", CubeListBuilder.create() - .texOffs(64, 19) - .addBox(-6.0F, 0.0F, -3.0F, 12.0F, 9.0F, 6.0F), - PartPose.offset(0.0F, 7.5F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(48, 48) - .addBox(-2.0F, -2.0F, -1.5F, 2.0F, 8.0F, 3.0F), - PartPose.offsetAndRotation(-3.5F, 10.0F, 0.0F, 0.0F, 0.0F, 0.10000000116728046F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(38, 48) - .addBox(0.0F, -2.0F, -1.5F, 2.0F, 8.0F, 3.0F), - PartPose.offsetAndRotation(3.5F, 10.0F, 0.0F, 0.0F, 0.0F, -0.10000736647217022F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 40) - .addBox(-3.0F, 0.0F, -2.0F, 4.0F, 8.0F, 4.0F), - PartPose.offset(-2.5F, 16.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(0, 52) - .addBox(-1.0F, 0.0F, -2.0F, 4.0F, 8.0F, 4.0F), - PartPose.offset(2.5F, 16.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 128, 64); - } - @Override public void setupAnim(LowerGoblinKnightRenderState state) { if (state.hasUpperGoblin) { diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index 4bc96fc6cf..5f7d5fe80f 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -13,7 +13,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.item.ItemDisplayContext; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.MinoshroomRenderer; import twilightforest.client.state.MinoshroomRenderState; @@ -34,11 +33,7 @@ public MinoshroomModel(ModelPart root) { this.leftBackLeg = root.getChild("left_back_leg"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -122,70 +117,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 128, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -11.0F, -4.0F, 8.0F, 8.0F, 8.0F) - .texOffs(0, 16) - .addBox(-3.0F, -6.0F, -5.0F, 6.0F, 3.0F, 1.0F) - .texOffs(32, 0) - .addBox(-8.0F, -10.0F, -1.0F, 4.0F, 2.0F, 3.0F) - .texOffs(32, 5) - .addBox(-8.0F, -13.0F, -1.0F, 2.0F, 3.0F, 3.0F) - .texOffs(46, 0) - .addBox(4.0F, -10.0F, -1.0F, 4.0F, 2.0F, 3.0F) - .texOffs(46, 5) - .addBox(6.0F, -13.0F, -1.0F, 2.0F, 3.0F, 3.0F), - PartPose.offset(0.0F, -6.0F, -7.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 29) - .addBox(-5.0F, -3.0F, 0.0F, 10.0F, 12.0F, 5.0F), - PartPose.offset(0.0F, -6.0F, -9.0F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(46, 15) - .addBox(0.0F, -1.0F, -2.0F, 4.0F, 14.0F, 5.0F), - PartPose.offset(5.0F, -8.0F, -7.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(28, 15) - .addBox(-4.0F, -1.0F, -2.0F, 4.0F, 14.0F, 5.0F), - PartPose.offset(-5.0F, -8.0F, -7.0F)); - - partdefinition.addOrReplaceChild("cow_torso", CubeListBuilder.create() - .texOffs(20, 36) - .addBox(-6.0F, -14.0F, -2.0F, 12.0F, 18.0F, 10.0F) - .texOffs(0, 20) - .addBox(-2.0F, -2.0F, -3.0F, 4.0F, 6.0F, 1.0F), - PartPose.offsetAndRotation(0.0F, 10.0F, 6.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(-4.0F, 12.0F, -6.0F)); - - partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(4.0F, 12.0F, -6.0F)); - - partdefinition.addOrReplaceChild("right_back_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(-4.0F, 12.0F, 7.0F)); - - partdefinition.addOrReplaceChild("left_back_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(4.0F, 12.0F, 7.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - @Override public void setupAnim(MinoshroomRenderState state) { // copied from HumanoidModel @@ -246,19 +177,17 @@ public void setupAnim(MinoshroomRenderState state) { float f1 = state.chargeAnim; f1 = f1 * f1; - boolean jappa = JappaPackReloadListener.INSTANCE.isJappaPackLoaded(); - - this.leftFrontLeg.y = 12.0F + ((jappa ? -7.0F : -5.0F) * f1); + this.leftFrontLeg.y = 12.0F + -5.0F * f1; this.leftFrontLeg.z = -4.0F + f1; this.rightFrontLeg.y = this.leftFrontLeg.y; this.rightFrontLeg.z = this.leftFrontLeg.z; - this.head.y = (jappa ? -4.0F : -6.0F) + -3.0F * f1; + this.head.y = -6.0F + -3.0F * f1; this.head.z = -9.0F + 6.0F * f1; - this.body.y = (jappa ? -4.0F : -6.0F) + -3.0F * f1; - this.body.z = (jappa ? -11.0F : -9.0F) + 6.0F * f1; - this.cowTorso.y = (jappa ? 10.0F : 5.0F) + f1; - this.cowTorso.z = (jappa ? 6.0F : 2.0F) + ((jappa ? 1.0F : 4.0F) * f1); - this.rightArm.y = (jappa ? -6.0F : -4.0F) - (3.0F * f1); + this.body.y = -6.0F + -3.0F * f1; + this.body.z = -9.0F + 6.0F * f1; + this.cowTorso.y = 5.0F + f1; + this.cowTorso.z = 2.0F + 4.0F * f1; + this.rightArm.y = -4.0F - 3.0F * f1; this.rightArm.z = -9.0F + (6.0F * f1); this.leftArm.y = this.rightArm.y; this.leftArm.z = this.rightArm.z; @@ -287,11 +216,7 @@ public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.translate(0.0F, 0.375F, 0.56F); - } else { - stack.translate(0.0F, 0.5625F, 0.4375F); - } + stack.translate(0.0F, 0.375F, 0.56F); VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(MinoshroomRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } diff --git a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java index 0f190a75ea..17b809ee5f 100644 --- a/src/main/java/twilightforest/client/model/entity/MinotaurModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinotaurModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; public class MinotaurModel extends HumanoidModel { @@ -14,11 +13,7 @@ public MinotaurModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -56,52 +51,4 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -10.0F, -4.0F, 8.0F, 8.0F, 8.0F) - .texOffs(25, 1) - .addBox(-3.0F, -5.0F, -5.0F, 6.0F, 3.0F, 1.0F) - .texOffs(0, 16) - .addBox(-8.0F, -9.0F, -1.0F, 4.0F, 2.0F, 2.0F) - .texOffs(0, 20) - .addBox(-8.0F, -11.0F, -1.0F, 2.0F, 2.0F, 2.0F) - .texOffs(12, 16) - .addBox(4.0F, -9.0F, -1.0F, 4.0F, 2.0F, 2.0F) - .texOffs(12, 20) - .addBox(6.0F, -11.0F, -1.0F, 2.0F, 2.0F, 2.0F), - PartPose.offset(0.0F, -2.0F, 0.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(34, 0) - .addBox(-5.0F, -2.0F, -2.5F, 10.0F, 14.0F, 5.0F), - PartPose.offset(0.0F, -2.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(20, 26) - .addBox(-4.0F, -4.0F, -2.5F, 4.0F, 14.0F, 5.0F), - PartPose.offset(-7.5F, -4.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(20, 45) - .addBox(0.0F, -4.0F, -2.5F, 4.0F, 14.0F, 5.0F), - PartPose.offset(7.5F, -4.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 26).addBox(-2.5F, 0.0F, -2.5F, 5.0F, 12.0F, 5.0F), - PartPose.offset(-2.5F, 12.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(0, 43) - .addBox(-2.5F, 0.0F, -2.5F, 5.0F, 12.0F, 5.0F), - PartPose.offset(2.5F, 12.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } } diff --git a/src/main/java/twilightforest/client/model/entity/NagaModel.java b/src/main/java/twilightforest/client/model/entity/NagaModel.java index c4891a233f..2f86336639 100644 --- a/src/main/java/twilightforest/client/model/entity/NagaModel.java +++ b/src/main/java/twilightforest/client/model/entity/NagaModel.java @@ -14,7 +14,6 @@ import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.NagaRenderer; public class NagaModel extends EntityModel implements TrophyBlockModel { @@ -26,11 +25,7 @@ public NagaModel(ModelPart root) { this.head = root.getChild("head"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -42,32 +37,11 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-16.0F, -16.0F, -16.0F, 32.0F, 32.0F, 32.0F), - PartPose.offset(0.0F, 8.0F, 0.0F)); - - head.addOrReplaceChild("tongue", CubeListBuilder.create() - .texOffs(84, 0) - .addBox(-6.0F, 0.0F, -12.0F, 12.0F, 0.0F, 12.0F), - PartPose.offsetAndRotation(0.0F, 10.0F, -16.0F, 0.4363323129985824F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 128, 64); - } - @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { - if (JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.scale(0.25F, 0.25F, 0.25F); - stack.translate(0.0F, -1.5F, 0.0F); - } else { - stack.scale(0.5F, 0.5F, 0.5F); - stack.translate(0.0F, -0.25F, 0.0F); - } + stack.scale(0.5F, 0.5F, 0.5F); + stack.translate(0.0F, -0.25F, 0.0F); + VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(NagaRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); } diff --git a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java index 25dda7caa7..b127d6edb7 100644 --- a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java @@ -13,7 +13,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.PinchBeetleRenderState; public class PinchBeetleModel extends EntityModel { @@ -45,11 +44,7 @@ public PinchBeetleModel(ModelPart root) { this.leftLeg3 = root.getChild("left_leg_3"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -181,72 +176,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -3.0F, -6.0F, 8.0F, 6.0F, 6.0F), - PartPose.offset(0.0F, 19.0F, 0.0F)); - - head.addOrReplaceChild("left_antenna", CubeListBuilder.create() - .texOffs(52, 0) - .addBox(0.0F, 0.0F, -10.0F, 1.0F, 0.0F, 10.0F), - PartPose.offsetAndRotation(1.0F, -3.0F, -6.0F, -0.4363323129985824F, -0.4363323129985824F, 0.0F)); - - head.addOrReplaceChild("right_antenna", CubeListBuilder.create() - .texOffs(48, 0).addBox(-1.0F, 0.0F, -10.0F, 1.0F, 0.0F, 10.0F), - PartPose.offsetAndRotation(-1.0F, -3.0F, -6.0F, -0.4363323129985824F, 0.4363323129985824F, 0.0F)); - - head.addOrReplaceChild("left_pincher", CubeListBuilder.create() - .texOffs(16, 14) - .addBox(0.0F, 0.0F, -12.0F, 12.0F, 2.0F, 12.0F), - PartPose.offsetAndRotation(4.0F, 2.0F, -4.0F, 0.08726646259971647F, 0.6108652381980153F, 0.0F)); - - head.addOrReplaceChild("right_pincher", CubeListBuilder.create() - .texOffs(16, 0) - .addBox(-12.0F, 0.0F, -12.0F, 12.0F, 2.0F, 12.0F), - PartPose.offsetAndRotation(-4.0F, 2.0F, -4.0F, 0.08726646259971647F, -0.6108652381980153F, 0.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 28) - .addBox(-5.0F, -8.0F, -3.0F, 10.0F, 10.0F, 7.0F), - PartPose.offsetAndRotation(0.0F, 19.0F, 8.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg_1", CubeListBuilder.create() - .texOffs(40, 28) - .addBox(-10.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, 6.0F, 0.0F, 0.6108652381980153F, -0.17453292519943295F)); - - partdefinition.addOrReplaceChild("right_leg_2", CubeListBuilder.create() - .texOffs(40, 32) - .addBox(-10.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, 4.0F, 0.0F, 0.20943951023931953F, -0.17453292519943295F)); - - partdefinition.addOrReplaceChild("right_leg_3", CubeListBuilder.create() - .texOffs(40, 36) - .addBox(-10.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 21.0F, 2.0F, 0.0F, -0.20943951023931953F, -0.17453292519943295F)); - - partdefinition.addOrReplaceChild("left_leg_1", CubeListBuilder.create() - .texOffs(40, 42) - .addBox(0.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, 6.0F, 0.0F, -0.6108652381980153F, 0.17453292519943295F)); - - partdefinition.addOrReplaceChild("left_leg_2", CubeListBuilder.create() - .texOffs(40, 46) - .addBox(0.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, 4.0F, 0.0F, -0.20943951023931953F, 0.17453292519943295F)); - - partdefinition.addOrReplaceChild("left_leg_3", CubeListBuilder.create() - .texOffs(40, 50) - .addBox(0.0F, 0.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 21.0F, 2.0F, 0.0F, 0.20943951023931953F, 0.17453292519943295F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - @Override public void setupAnim(PinchBeetleRenderState state) { super.setupAnim(state); @@ -296,11 +225,11 @@ public void setupAnim(PinchBeetleRenderState state) { if (state.isHoldingVictim) { // open jaws - this.rightPincer.yRot = -(JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 20.0F : 170.0F) * Mth.DEG_TO_RAD; + this.rightPincer.yRot = -170.0F * Mth.DEG_TO_RAD; this.leftPincer.yRot = 20.0F * Mth.DEG_TO_RAD; } else { // close jaws - this.rightPincer.yRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? -45.0F : 135.0F) * Mth.DEG_TO_RAD; + this.rightPincer.yRot = 135.0F * Mth.DEG_TO_RAD; this.leftPincer.yRot = 45.0F * Mth.DEG_TO_RAD; } } diff --git a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java index cc1dd40201..118538aa3e 100644 --- a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java +++ b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java @@ -18,7 +18,6 @@ import net.minecraft.world.entity.animal.Sheep; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemDisplayContext; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.QuestRamRenderer; import twilightforest.client.state.QuestingRamRenderState; @@ -56,15 +55,7 @@ public QuestRamModel(ModelPart root) { } } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - public static LayerDefinition checkForPackTrophyEdition() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaTrophy() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -166,112 +157,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 128, 128); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - //these ARE actually the horns, theyre just called the head so its rendered properly as a trophy - var horns = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(64, 0) - .addBox(-9.0F, -11.0F, -1.0F, 4.0F, 10.0F, 10.0F) - .texOffs(48, 0) - .addBox(-13.0F, -11.0F, 5.0F, 4.0F, 4.0F, 4.0F) - .texOffs(92, 0) - .addBox(5.0F, -11.0F, -1.0F, 4.0F, 10.0F, 10.0F) - .texOffs(110, 0) - .addBox(9.0F, -11.0F, 5.0F, 4.0F, 4.0F, 4.0F), - PartPose.offset(0.0F, -10.0F, -8.0F)); - - horns.addOrReplaceChild("real_head", CubeListBuilder.create() - .texOffs(74, 70) - .addBox(-6.0F, -2.0F, -13.0F, 12.0F, 8.0F, 15.0F) - .texOffs(42, 71) - .addBox(-6.0F, -5.0F, -9.0F, 12.0F, 3.0F, 11.0F), - PartPose.offsetAndRotation(0.0F, -4.0F, 3.0F, 0.4363323129985824F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.ZERO); - - partdefinition.addOrReplaceChild("front_torso", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-8.0F, -7.0F, -6.0F, 16.0F, 14.0F, 16.0F), - PartPose.offset(0.0F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("neck", CubeListBuilder.create() - .texOffs(84, 93) - .addBox(-5.0F, -11.0F, -2.0F, 10.0F, 12.0F, 12.0F), - PartPose.offsetAndRotation(0.0F, 2.0F, -3.0F, 0.6108652381980153F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("back_torso", CubeListBuilder.create() - .texOffs(0, 30) - .addBox(-8.0F, -7.0F, 8.0F, 16.0F, 14.0F, 16.0F), - PartPose.offset(0.0F, 0.0F, 6.0F)); - - partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(0, 60) - .addBox(-3.0F, 2.0F, -3.0F, 6.0F, 16.0F, 6.0F) - .texOffs(54, 20) - .addBox(-4.0F, -4.0F, -5.0F, 8.0F, 10.0F, 10.0F), - PartPose.offset(-5.0F, 6.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .texOffs(24, 60) - .addBox(-3.0F, 2.0F, -3.0F, 6.0F, 16.0F, 6.0F) - .texOffs(90, 20) - .addBox(-4.0F, -4.0F, -5.0F, 8.0F, 10.0F, 10.0F), - PartPose.offset(5.0F, 6.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_back_leg", CubeListBuilder.create() - .texOffs(0, 82) - .addBox(7.0F, 2.0F, -5.0F, 6.0F, 16.0F, 6.0F) - .texOffs(54, 50) - .addBox(6.0F, -4.0F, -7.0F, 8.0F, 10.0F, 10.0F), - PartPose.offset(-16.0F, 6.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_back_leg", CubeListBuilder.create() - .texOffs(24, 82) - .addBox(-13.0F, 2.0F, -5.0F, 6.0F, 16.0F, 6.0F) - .texOffs(90, 50) - .addBox(-14.0F, -4.0F, -7.0F, 8.0F, 10.0F, 10.0F), - PartPose.offset(16.0F, 6.0F, 0.0F)); - - for (int i = 0; i < 16; i++) { - partdefinition.addOrReplaceChild("segment" + i, CubeListBuilder.create() - .texOffs(0, 112) - .addBox(-8.0F, -7.0F, 8.0F, 16.0F, 14.0F, 2.0F), - PartPose.offset(0.0F, 0.0F, 10.0F)); - } - - return LayerDefinition.create(meshdefinition, 128, 128); - } - - //the rotation of the original head prevents me from making a proper trophy so it needs its own model - private static LayerDefinition createJappaTrophy() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", - CubeListBuilder.create() - .texOffs(74, 70) - .addBox(-6.0F, -4.0F, -10.0F, 12.0F, 8.0F, 15.0F) - .texOffs(42, 71) - .addBox(-6.0F, -7.0F, -6.0F, 12.0F, 3.0F, 11.0F), - PartPose.offset(0.0F, -4.0F, 0.0F)); - - head.addOrReplaceChild("horns", - CubeListBuilder.create() - .texOffs(64, 0) - .addBox(-9.0F, -6.0F, -1.0F, 4.0F, 10.0F, 10.0F) - .texOffs(48, 0) - .addBox(-13.0F, -6.0F, 5.0F, 4.0F, 4.0F, 4.0F) - .texOffs(92, 0) - .addBox(5.0F, -6.0F, -1.0F, 4.0F, 10.0F, 10.0F) - .texOffs(110, 0) - .addBox(9.0F, -6.0F, 5.0F, 4.0F, 4.0F, 4.0F), - PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, -0.4363323129985824F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 128, 128); - } - private static String getSegmentName(int num) { return "segment" + num; } @@ -292,9 +177,7 @@ public void setupAnim(QuestingRamRenderState state) { this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - this.neck.yRot = this.head.yRot; - } + this.neck.yRot = this.head.yRot; this.leftFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F) * 1.4F * state.walkAnimationSpeed * 0.5F; this.rightFrontLeg.xRot = Mth.cos(state.walkAnimationPos * 0.6662F + Mth.PI) * 1.4F * state.walkAnimationSpeed * 0.5F; @@ -303,12 +186,11 @@ public void setupAnim(QuestingRamRenderState state) { // how many colors should we display? int count = state.countColorsSet(); - boolean jappa = JappaPackReloadListener.INSTANCE.isJappaPackLoaded(); - this.head.z = -count - (jappa ? 20 : 11); - this.neck.z = -count - (jappa ? 17 : 11); - this.frontTorso.z = -count - (jappa ? 12 : 0); - this.backTorso.z = count - (jappa ? 10 : 0); + this.head.z = -count - 11; + this.neck.z = -count - 11; + this.frontTorso.z = -count; + this.backTorso.z = count; this.leftBackLeg.z = 9 + count; this.rightBackLeg.z = 9 + count; this.leftFrontLeg.z = -11 - count; @@ -319,7 +201,7 @@ public void setupAnim(QuestingRamRenderState state) { for (int color : this.colorOrder) { if (state.isColorPresent(DyeColor.byId(color))) { this.segments[color].visible = true; - this.segments[color].z = segmentOffset - count - (jappa ? 10 : 0); + this.segments[color].z = segmentOffset - count; segmentOffset += 2; } else { @@ -337,9 +219,7 @@ public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) @Override public void renderTrophy(PoseStack stack, MultiBufferSource buffer, int light, int overlay, int color, ItemDisplayContext context) { stack.scale(0.67F, 0.67F, 0.67F); - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.translate(0.0F, 0.5F, context != ItemDisplayContext.NONE ? 0.5F : 0.67F); - } + stack.translate(0.0F, 0.5F, context != ItemDisplayContext.NONE ? 0.5F : 0.67F); VertexConsumer consumer = buffer.getBuffer(RenderType.entityCutoutNoCull(QuestRamRenderer.TEXTURE)); this.head.render(stack, consumer, light, overlay, color); diff --git a/src/main/java/twilightforest/client/model/entity/RavenModel.java b/src/main/java/twilightforest/client/model/entity/RavenModel.java index b67c26f54e..2d3ed495c2 100644 --- a/src/main/java/twilightforest/client/model/entity/RavenModel.java +++ b/src/main/java/twilightforest/client/model/entity/RavenModel.java @@ -14,7 +14,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.BirdRenderState; public class RavenModel extends EntityModel { @@ -36,11 +35,7 @@ public RavenModel(ModelPart root) { this.leftLeg = root.getChild("left_leg"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition base = meshdefinition.getRoot(); @@ -102,50 +97,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-1.5F, -1.0F, -2.0F, 3.0F, 3.0F, 3.0F) - .texOffs(9, 0) - .addBox(-0.5F, 0.0F, -3.0F, 1.0F, 2.0F, 1.0F), - PartPose.offset(0.0F, 18.5F, -2.0F)); - - var body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 6) - .addBox(-2.0F, -1.5F, 0.0F, 4.0F, 3.0F, 6.0F), - PartPose.offsetAndRotation(0.0F, 18.5F, -2.0F, -0.4363323129985824F, 0.0F, 0.0F)); - - body.addOrReplaceChild("right_wing", CubeListBuilder.create() - .texOffs(0, 15) - .addBox(-1.0F, 0.0F, -1.0F, 1.0F, 3.0F, 6.0F), - PartPose.offsetAndRotation(-2.0F, -1.0F, 2.0F, 0.2617993877991494F, 0.0F, 0.0F)); - - body.addOrReplaceChild("left_wing", CubeListBuilder.create() - .texOffs(14, 15) - .addBox(0.0F, 0.0F, -1.0F, 1.0F, 3.0F, 6.0F), - PartPose.offsetAndRotation(2.0F, -1.0F, 2.0F, 0.2617993877991494F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(8, 15) - .addBox(0.0F, 0.0F, -1.0F, 1.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.7853981633974483F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(14, 15) - .addBox(0.0F, 0.0F, -1.0F, 1.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.7853981633974483F, 0.0F, 0.0F)); - - body.addOrReplaceChild("tail", CubeListBuilder.create() - .texOffs(8, 0) - .addBox(-2.5F, 0.0F, 0.0F, 5.0F, 0.0F, 5.0F), - PartPose.offsetAndRotation(0.0F, -1.5F, 6.0F, -0.4363323129985824F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 32, 32); - } - @Override public void setupAnim(BirdRenderState state) { super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/model/entity/RedcapModel.java b/src/main/java/twilightforest/client/model/entity/RedcapModel.java index affcc88d69..67e294294f 100644 --- a/src/main/java/twilightforest/client/model/entity/RedcapModel.java +++ b/src/main/java/twilightforest/client/model/entity/RedcapModel.java @@ -5,7 +5,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import twilightforest.client.JappaPackReloadListener; public class RedcapModel extends FixedHumanoidModel { @@ -13,11 +12,7 @@ public RedcapModel(ModelPart root) { super(root, 3.0F); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -66,51 +61,4 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 32); } - - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 1) - .addBox(-5.5F, -6.0F, -0.5F, 2.0F, 3.0F, 0.0F) - .texOffs(0, 1).mirror() - .addBox(3.5F, -6.0F, -0.5F, 2.0F, 3.0F, 0.0F).mirror(false) - .texOffs(0, 0) - .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 7.0F, 7.0F), - PartPose.offset(0.0F, 8.0F, 0.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create() - .texOffs(28, 0) - .addBox(-3.5F, -8.0F, -3.5F, 7.0F, 8.0F, 7.0F, new CubeDeformation(0.25F)), - PartPose.offset(0.0F, 6.0F, 0.0F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(15, 19) - .addBox(-4.0F, 1.0F, -2.0F, 8.0F, 9.0F, 4.0F), - PartPose.offset(0.0F, 5.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create().mirror() - .texOffs(39, 17) - .addBox(-3.0F, -1.0F, -1.5F, 3.0F, 12.0F, 3.0F), - PartPose.offset(-4.0F, 7.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(39, 17) - .addBox(0.0F, -1.0F, -1.5F, 3.0F, 12.0F, 3.0F), - PartPose.offset(4.0F, 7.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create().mirror() - .texOffs(0, 19) - .addBox(-1.5F, 0.0F, -2.0F, 3.0F, 9.0F, 4.0F), - PartPose.offset(-2.5F, 15.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(0, 19) - .addBox(-1.5F, 0.0F, -2.0F, 3.0F, 9.0F, 4.0F), - PartPose.offset(2.5F, 15.0F, 0.0F)); - - - return LayerDefinition.create(meshdefinition, 64, 32); - } } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java index f78f24fc61..81db65e5d8 100644 --- a/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/SlimeBeetleModel.java @@ -16,7 +16,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; public class SlimeBeetleModel extends EntityModel { @@ -52,11 +51,7 @@ public SlimeBeetleModel(ModelPart root) { this.slime = this.slimeCenter.getChild("slime"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition base = meshdefinition.getRoot(); @@ -153,100 +148,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 64, 64); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -3.0F, -6.0F, 8.0F, 6.0F, 6.0F), - PartPose.offset(0.0F, 17.0F, -8.0F)); - - head.addOrReplaceChild("right_antenna", CubeListBuilder.create() - .texOffs(38, 4) - .addBox(-12.0F, -0.5F, -0.5F, 12.0F, 1.0F, 1.0F), - PartPose.offsetAndRotation(-0.5F, -1.5F, -5.0F, 0.0F, -0.7853981633974483F, 0.7853981633974483F)); - - head.addOrReplaceChild("left_antenna", CubeListBuilder.create() - .texOffs(38, 6) - .addBox(0.0F, -0.5F, -0.5F, 12.0F, 1.0F, 1.0F), - PartPose.offsetAndRotation(0.5F, -1.5F, -5.0F, 0.0F, 0.7853981633974483F, -0.7853981633974483F)); - - head.addOrReplaceChild("right_eye", CubeListBuilder.create() - .texOffs(0, 12) - .addBox(-2.0F, -1.0F, -2.0F, 3.0F, 3.0F, 3.0F), - PartPose.offset(-2.5F, -1.0F, -4.5F)); - - head.addOrReplaceChild("left_eye", CubeListBuilder.create() - .texOffs(16, 12) - .addBox(-1.0F, -1.0F, -2.0F, 3.0F, 3.0F, 3.0F), - PartPose.offset(2.5F, -1.0F, -4.5F)); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(32, 8) - .addBox(-4.0F, 0.0F, -4.0F, 8.0F, 10.0F, 8.0F), - PartPose.offsetAndRotation(0.0F, 17.0F, -8.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg_1", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 20.0F, -6.0F, 0.0F, -0.4363323129985824F, -0.4363323129985824F)); - - partdefinition.addOrReplaceChild("right_leg_2", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 20.0F, -4.0F, 0.0F, 0.2181661564992912F, -0.4363323129985824F)); - - partdefinition.addOrReplaceChild("right_leg_3", CubeListBuilder.create() - .texOffs(40, 0) - .addBox(-10.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 20.0F, -2.0F, 0.0F, 0.7853981633974483F, -0.4363323129985824F)); - - partdefinition.addOrReplaceChild("left_leg_1", CubeListBuilder.create().mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 20.0F, -6.0F, 0.0F, 0.4363323129985824F, 0.4363323129985824F)); - - partdefinition.addOrReplaceChild("left_leg_2", CubeListBuilder.create().mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 20.0F, -4.0F, 0.0F, -0.2181661564992912F, 0.4363323129985824F)); - - partdefinition.addOrReplaceChild("left_leg_3", CubeListBuilder.create().mirror() - .texOffs(40, 0) - .addBox(0.0F, -1.0F, -1.0F, 10.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(2.0F, 20.0F, -2.0F, 0.0F, -0.7853981633974483F, 0.4363323129985824F)); - - var tailBottom = partdefinition.addOrReplaceChild("tail_bottom", CubeListBuilder.create() - .texOffs(0, 34) - .addBox(-3.0F, -3.0F, 0.0F, 6.0F, 6.0F, 6.0F), - PartPose.offset(0.0F, 18.0F, 2.0F)); - - var tailTop = tailBottom.addOrReplaceChild("tail_top", CubeListBuilder.create() - .texOffs(32, 28) - .addBox(-3.0F, -9.0F, -1.0F, 6.0F, 6.0F, 6.0F), - PartPose.offset(0.0F, 0.0F, 3.0F)); - - var center = tailTop.addOrReplaceChild("slime_center", CubeListBuilder.create() - .texOffs(0, 18) - .addBox(-4.0F, -10.0F, -5.0F, 8.0F, 8.0F, 8.0F), - PartPose.offset(0.0F, -9.0F, 2.0F)); - - center.addOrReplaceChild("slime", CubeListBuilder.create() - .texOffs(16, 40) - .addBox(-6.0F, -12.0F, -7.0F, 12.0F, 12.0F, 12.0F), - PartPose.offset(0.0F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - - public void copyTailTo(SlimeBeetleModel model) { - model.tailBottom.copyFrom(this.tailBottom); - model.tailTop.copyFrom(this.tailTop); - model.slimeCenter.copyFrom(this.slimeCenter); - model.slime.copyFrom(this.slime); - } - public void renderTail(PoseStack stack, VertexConsumer builder, int light, int overlay) { this.slime.visible = true; this.tailBottom.render(stack, builder, light, overlay); diff --git a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java index ad4a3f148c..151d155b87 100644 --- a/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java +++ b/src/main/java/twilightforest/client/model/entity/SnowQueenModel.java @@ -11,7 +11,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemDisplayContext; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.renderer.entity.SnowQueenRenderer; import twilightforest.client.state.SnowQueenRenderState; import twilightforest.entity.boss.SnowQueen.Phase; @@ -22,11 +21,7 @@ public SnowQueenModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -113,67 +108,6 @@ private static void makeFrontCrown(PartDefinition parent, float spikeDepth, floa } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 16) - .addBox(-4.0F, 0.0F, -2.0F, 8.0F, 12.0F, 4.0F) - .texOffs(32, 45) - .addBox(-4.5F, 10.0F, -2.5F, 9.0F, 14.0F, 5.0F), - PartPose.ZERO); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F), - PartPose.ZERO); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(14, 32) - .addBox(-1.0F, -2.0F, -2.0F, 3.0F, 12.0F, 4.0F), - PartPose.offset(5.0F, 2.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(16, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(1.9F, 12.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(0, 48) - .addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offset(-1.9F, 12.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(0, 32) - .addBox(-2.0F, -2.0F, -2.0F, 3.0F, 12.0F, 4.0F), - PartPose.offset(-5.0F, 2.0F, 0.0F)); - - var hat = head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - hat.addOrReplaceChild("crown_front", CubeListBuilder.create() - .texOffs(24, 0) - .addBox(-5.0F, -4.0F, 0.0F, 10.0F, 4.0F, 0.0F), - PartPose.offsetAndRotation(0.0F, -6.0F, -4.0F, 0.39269908169872414F, 0.0F, 0.0F)); - - hat.addOrReplaceChild("crown_right", CubeListBuilder.create() - .texOffs(24, 4) - .addBox(-5.0F, -4.0F, 0.0F, 10.0F, 4.0F, 0.0F), - PartPose.offsetAndRotation(-4.0F, -6.0F, 0.0F, 0.39269908169872414F, 1.5707963267948966F, 0.0F)); - - hat.addOrReplaceChild("crown_left", CubeListBuilder.create() - .texOffs(44, 4) - .addBox(-5.0F, -4.0F, 0.0F, 10.0F, 4.0F, 0.0F), - PartPose.offsetAndRotation(4.0F, -6.0F, 0.0F, -0.39269908169872414F, 1.5707963267948966F, 0.0F)); - - hat.addOrReplaceChild("crown_back", CubeListBuilder.create() - .texOffs(44, 0) - .addBox(-5.0F, -4.0F, 0.0F, 10.0F, 4.0F, 0.0F), - PartPose.offsetAndRotation(0.0F, -6.0F, 4.0F, -0.39269908169872414F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 64, 64); - } - @Override public void setupAnim(SnowQueenRenderState state) { super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java index b56a494681..4228595896 100644 --- a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java +++ b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java @@ -12,7 +12,6 @@ import net.minecraft.client.model.geom.builders.*; import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; public class SquirrelModel extends QuadrupedModel { @@ -27,11 +26,7 @@ public SquirrelModel(ModelPart root) { this.tailPart2 = this.tailPart1.getChild("tail_2"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = QuadrupedModel.createBodyMesh(0, CubeDeformation.NONE); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -89,58 +84,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = QuadrupedModel.createBodyMesh(1, CubeDeformation.NONE); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-2.0F, -2.0F, -3.0F, 4.0F, 4.0F, 4.0F) - .addBox(-2.0F, -3.0F, -1.0F, 1.0F, 1.0F, 1.0F) - .texOffs(0, 2) - .addBox(1.0F, -3.0F, -1.0F, 1.0F, 1.0F, 1.0F), - PartPose.offset(0.0F, 20.0F, -3.0F)); - - var body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 8) - .addBox(-2.0F, -3.0F, -3.0F, 4.0F, 3.0F, 5.0F), - PartPose.offset(0.0F, 23.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create() - .texOffs(0, 16) - .addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F), - PartPose.offset(-1.5F, 23.0F, -2.5F)); - - partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create() - .texOffs(4, 16) - .addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F), - PartPose.offset(1.5F, 23.0F, -2.5F)); - - partdefinition.addOrReplaceChild("right_hind_leg", CubeListBuilder.create() - .texOffs(0, 18) - .addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F), - PartPose.offset(-1.5F, 23.0F, 1.5F)); - - partdefinition.addOrReplaceChild("left_hind_leg", CubeListBuilder.create() - .texOffs(4, 18) - .addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F), - PartPose.offset(1.5F, 23.0F, 1.5F)); - - var tail = body.addOrReplaceChild("tail", CubeListBuilder.create() - .texOffs(18, 0) - .addBox(-1.5F, 0.0F, -1.5F, 3.0F, 4.0F, 3.0F), - PartPose.offset(0.0F, -3.0F, 2.0F)); - - var tail1 = tail.addOrReplaceChild("tail_1", CubeListBuilder.create() - .texOffs(13, 11) - .addBox(-1.5F, -1.0F, 0.0F, 3.0F, 3.0F, 5.0F), - PartPose.offset(0.0F, 4.0F, 0.5F)); - - tail1.addOrReplaceChild("tail_2", CubeListBuilder.create(), PartPose.ZERO); - - return LayerDefinition.create(meshdefinition, 32, 32); - } - @Override public void setupAnim(LivingEntityRenderState state) { super.setupAnim(state); @@ -153,11 +96,11 @@ public void setupAnim(LivingEntityRenderState state) { if (state.walkAnimationSpeed > 0.2) { float wiggle = Math.min(state.walkAnimationSpeed, 0.6F); - this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + (Mth.cos(state.ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; + this.tail.xRot = 0.2F + (Mth.cos(state.ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; this.tailPart1.xRot = Mth.cos(state.ageInTicks * 0.7774F) * 1.2F * wiggle; this.tailPart2.xRot = Mth.cos(state.ageInTicks * 0.8886F + Mth.PI / 2.0F) * 1.4F * wiggle; } else { - this.tail.xRot = (JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 2.5F : 0.2F) + Mth.cos(state.ageInTicks * 0.3335F) * 0.15F; + this.tail.xRot = 0.2F + Mth.cos(state.ageInTicks * 0.3335F) * 0.15F; this.tailPart1.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.4445F) * 0.20F; this.tailPart2.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.5555F) * 0.25F; } diff --git a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java index cd1f7ee509..17dc37f726 100644 --- a/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java +++ b/src/main/java/twilightforest/client/model/entity/TinyBirdModel.java @@ -14,7 +14,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.BirdRenderState; public class TinyBirdModel extends EntityModel { @@ -35,11 +34,7 @@ public TinyBirdModel(ModelPart root) { this.leftWing = body.getChild("left_wing"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -86,52 +81,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 32, 32); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-1.5F, -2.0F, -2.0F, 3.0F, 3.0F, 3.0F) - .texOffs(9, 0) - .addBox(-0.5F, 0.0F, -3.0F, 1.0F, 1.0F, 1.0F) - .texOffs(0, 6) - .addBox(-1.5F, -5.0F, 1.0F, 3.0F, 3.0F, 0.0F), - PartPose.offset(0.0F, 21.0F, 0.0F)); - - var body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(12, 0) - .addBox(-1.5F, 0.0F, 0.0F, 3.0F, 3.0F, 3.0F), - PartPose.offset(0.0F, 20.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_foot", CubeListBuilder.create() - .texOffs(0, 9) - .addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F), - PartPose.offset(-1.0F, 23.0F, 2.0F)); - - partdefinition.addOrReplaceChild("left_foot", CubeListBuilder.create() - .texOffs(0, 11) - .addBox(-0.5F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F), - PartPose.offset(1.0F, 23.0F, 2.0F)); - - body.addOrReplaceChild("right_wing", CubeListBuilder.create() - .texOffs(24, 0) - .addBox(-0.5F, 0.0F, -1.0F, 1.0F, 2.0F, 3.0F), - PartPose.offset(-2.0F, 0.0F, 1.0F)); - - body.addOrReplaceChild("left_wing", CubeListBuilder.create() - .texOffs(24, 5) - .addBox(-0.5F, 0.0F, -1.0F, 1.0F, 2.0F, 3.0F), - PartPose.offset(2.0F, 0.0F, 1.0F)); - - body.addOrReplaceChild("tail", CubeListBuilder.create() - .texOffs(1, 6) - .addBox(-2.5F, 0.0F, 0.0F, 5.0F, 0.0F, 5.0F), - PartPose.offsetAndRotation(0.0F, 1.0F, 3.0F, 0.4363323129985824F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 32, 32); - } - @Override public void setupAnim(BirdRenderState state) { super.setupAnim(state); diff --git a/src/main/java/twilightforest/client/model/entity/TrollModel.java b/src/main/java/twilightforest/client/model/entity/TrollModel.java index fedf3ffb2a..8ef3d7389d 100644 --- a/src/main/java/twilightforest/client/model/entity/TrollModel.java +++ b/src/main/java/twilightforest/client/model/entity/TrollModel.java @@ -6,7 +6,6 @@ import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.TrollRenderState; public class TrollModel extends HumanoidModel { @@ -15,11 +14,7 @@ public TrollModel(ModelPart root) { super(root); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -63,47 +58,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 128, 64); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(52, 31) - .addBox(-5.0F, -8.0F, -8.0F, 10.0F, 10.0F, 10.0F) - .texOffs(36, 41) - .addBox(-2.0F, -4.0F, -11.0F, 4.0F, 8.0F, 4.0F), - PartPose.offset(0.0F, -11.0F, -1.0F)); - - head.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-8.0F, -37.0F, -6.0F, 16.0F, 26.0F, 15.0F), - PartPose.offset(0.0F, 24.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(0, 41) - .addBox(-6.0F, -1.0F, -4.0F, 6.0F, 25.0F, 8.0F), - PartPose.offset(-8.0F, -9.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create().mirror() - .texOffs(0, 41) - .addBox(0.0F, -1.0F, -4.0F, 6.0F, 25.0F, 8.0F), - PartPose.offset(8.0F, -9.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(28, 54) - .addBox(-3.0F, -1.0F, -4.0F, 6.0F, 12.0F, 8.0F), - PartPose.offset(-4.0F, 13.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create().mirror() - .texOffs(28, 54) - .addBox(-3.0F, -1.0F, -4.0F, 6.0F, 12.0F, 8.0F), - PartPose.offset(4.0F, 13.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 128, 128); - } - @Override public void setupAnim(TrollRenderState state) { this.head.yRot = state.yRot * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java index 9f9af409e1..086240bcd8 100644 --- a/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java +++ b/src/main/java/twilightforest/client/model/entity/UpperGoblinKnightModel.java @@ -9,7 +9,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.state.UpperGoblinKnightRenderState; public class UpperGoblinKnightModel extends HumanoidModel { @@ -23,11 +22,7 @@ public UpperGoblinKnightModel(ModelPart root) { this.shield = this.leftArm.getChild("shield"); } - public static LayerDefinition checkForPack() { - return JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? createJappaModel() : create(); - } - - private static LayerDefinition create() { + public static LayerDefinition create() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); @@ -109,71 +104,6 @@ private static LayerDefinition create() { return LayerDefinition.create(meshdefinition, 128, 64); } - private static LayerDefinition createJappaModel() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - var head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create() - .texOffs(28, 0) - .addBox(-8.0F, -14.0F, -1.9F, 16.0F, 14.0F, 2.0F) - .texOffs(116, 0) - .addBox(-6.0F, -12.0F, -0.9F, 4.0F, 2.0F, 2.0F) - .texOffs(116, 4) - .addBox(2.0F, -12.0F, -1.0F, 4.0F, 2.0F, 2.0F), - PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, -0.7853981633974483F, 0.0F)); - - partdefinition.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO); - - //turns out, putting this as the hat doesnt allow us to rotate it at a 45 degree angle, so we have to make it its own piece - head.addOrReplaceChild("helm", CubeListBuilder.create() - .texOffs(0, 0) - .addBox(-3.5F, 0.0F, -3.5F, 7.0F, 11.0F, 7.0F), - PartPose.offsetAndRotation(0.0F, -11.0F, 0.0F, 0.0F, 0.7853981633974483F, 0.0F)); - - var body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create() - .texOffs(0, 18) - .addBox(-5.5F, 0.0F, -2.0F, 11.0F, 8.0F, 4.0F), - PartPose.offset(0.0F, 12.0F, 0.0F)); - - body.addOrReplaceChild("breastplate", CubeListBuilder.create() - .texOffs(64, 0) - .addBox(-6.5F, 0.0F, -3.0F, 13.0F, 12.0F, 6.0F), - PartPose.offset(0.0F, -0.5F, 0.0F)); - - var rightArm = partdefinition.addOrReplaceChild("right_arm", CubeListBuilder.create() - .texOffs(44, 16) - .addBox(-4.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offsetAndRotation(-5.5F, 14.0F, 0.0F, -2.3876104699914644F, 0.0F, 0.10000736647217022F)); - - var leftArm = partdefinition.addOrReplaceChild("left_arm", CubeListBuilder.create() - .texOffs(44, 32) - .addBox(0.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F), - PartPose.offsetAndRotation(5.5F, 14.0F, 0.0F, 0.20001473294434044F, 0.0F, 0.10000736647217022F)); - - rightArm.addOrReplaceChild("spear", CubeListBuilder.create() - .texOffs(108, 0) - .addBox(-1.0F, -19.0F, -1.0F, 2.0F, 40.0F, 2.0F), - PartPose.offsetAndRotation(-2.0F, 8.5F, 0.0F, 1.5707963267948966F, 0.0F, 0.0F)); - - leftArm.addOrReplaceChild("shield", CubeListBuilder.create() - .texOffs(63, 36) - .addBox(-6.0F, -6.0F, -2.0F, 12.0F, 20.0F, 2.0F), - PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 6.083185105107944F, 0.0F, 0.0F)); - - partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create() - .texOffs(30, 24) - .addBox(-1.5F, 0.0F, -2.0F, 3.0F, 4.0F, 4.0F), - PartPose.offset(-4.0F, 20.0F, 0.0F)); - - partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create() - .texOffs(30, 16) - .addBox(-1.5F, 0.0F, -2.0F, 3.0F, 4.0F, 4.0F), - PartPose.offset(4.0F, 20.0F, 0.0F)); - - - return LayerDefinition.create(meshdefinition, 128, 64); - } - @Override public void setupAnim(UpperGoblinKnightRenderState state) { this.head.yRot = state.yRot * Mth.DEG_TO_RAD; diff --git a/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java index 28f51988e5..0315d182cd 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MinoshroomRenderer.java @@ -15,7 +15,6 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import twilightforest.TwilightForestMod; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.MinoshroomModel; import twilightforest.client.state.MinoshroomRenderState; @@ -63,8 +62,8 @@ public void render(PoseStack stack, MultiBufferSource source, int light, Minoshr BlockRenderDispatcher blockrendererdispatcher = Minecraft.getInstance().getBlockRenderer(); BlockState blockstate = Blocks.RED_MUSHROOM.defaultBlockState(); // TF: hardcode mushroom state int i = LivingEntityRenderer.getOverlayCoords(state, 0.0F); - float yOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? -0.95F : -0.65F; - float zOffs = JappaPackReloadListener.INSTANCE.isJappaPackLoaded() ? 0.0F : 0.25F; + float yOffs = -0.65F; + float zOffs = 0.25F; stack.pushPose(); this.getParentModel().cowTorso.translateAndRotate(stack); stack.mulPose(Axis.XP.rotationDegrees(-90.0F)); @@ -88,11 +87,7 @@ public void render(PoseStack stack, MultiBufferSource source, int light, Minoshr stack.pushPose(); this.getParentModel().head.translateAndRotate(stack); // TF - adjust head shroom - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.translate(0.0D, -0.9D, 0.05D); - } else { - stack.translate(0.0D, -1.1D, 0.0D); - } + stack.translate(0.0D, -0.9D, 0.05D); stack.mulPose(Axis.YP.rotationDegrees(-78.0F)); stack.scale(-1.0F, -1.0F, 1.0F); stack.translate(-0.5D, -0.5D, -0.5D); diff --git a/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java b/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java index bbc9da171a..33ac0ed706 100644 --- a/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/NagaRenderer.java @@ -6,7 +6,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ARGB; import twilightforest.TwilightForestMod; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.NagaModel; import twilightforest.client.state.NagaRenderState; @@ -26,9 +25,7 @@ public NagaRenderer(EntityRendererProvider.Context context) { protected void scale(NagaRenderState state, PoseStack stack) { super.scale(state, stack); //make size adjustment - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.scale(2.01F, 2.01F, 2.01F); - } + stack.scale(2.01F, 2.01F, 2.01F); stack.translate(0.0F, state.isDazed ? 1.075F : 0.75F, state.isDazed ? 0.175F : 0.0F); } diff --git a/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java b/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java index 056085fbd9..c5d63cdb5b 100644 --- a/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/NagaSegmentRenderer.java @@ -6,7 +6,6 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; -import twilightforest.client.JappaPackReloadListener; import twilightforest.client.model.entity.NagaModel; import twilightforest.client.state.NagaSegmentRenderState; import twilightforest.entity.boss.NagaSegment; @@ -34,9 +33,7 @@ public void render(NagaSegmentRenderState state, PoseStack stack, MultiBufferSou stack.mulPose(Axis.YP.rotationDegrees(yaw2)); stack.mulPose(Axis.XP.rotationDegrees(state.xRot)); - if (!JappaPackReloadListener.INSTANCE.isJappaPackLoaded()) { - stack.scale(2.0F, 2.0F, 2.0F); - } + stack.scale(2.0F, 2.0F, 2.0F); stack.translate(0.0D, -1.25F, 0.0D); super.render(state, stack, buffer, state.parentLight); From d99868694de5507d06d12ae8cb2c3b8c50550f47 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 13:41:53 -0600 Subject: [PATCH 188/239] dont hardcode limb positions for minoshroom --- .../client/model/entity/MinoshroomModel.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index 5f7d5fe80f..fcf5095449 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -19,10 +19,10 @@ public class MinoshroomModel extends HumanoidModel implements TrophyBlockModel { public final ModelPart cowTorso; - private final ModelPart rightFrontLeg; - private final ModelPart leftFrontLeg; - private final ModelPart rightBackLeg; - private final ModelPart leftBackLeg; + protected final ModelPart rightFrontLeg; + protected final ModelPart leftFrontLeg; + protected final ModelPart rightBackLeg; + protected final ModelPart leftBackLeg; public MinoshroomModel(ModelPart root) { super(root); @@ -83,6 +83,9 @@ public static LayerDefinition create() { .texOffs(90, 0) .addBox(-1.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F), PartPose.offset(5.0F, -4.0F, -9.0F)); + + partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO); + partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO); var body = partdefinition.addOrReplaceChild("cow_torso", CubeListBuilder.create() .texOffs(18, 4) @@ -119,6 +122,7 @@ public static LayerDefinition create() { @Override public void setupAnim(MinoshroomRenderState state) { + this.resetPose(); // copied from HumanoidModel HumanoidModel.ArmPose leftPose = state.leftArmPose; HumanoidModel.ArmPose rightPose = state.rightArmPose; @@ -177,18 +181,18 @@ public void setupAnim(MinoshroomRenderState state) { float f1 = state.chargeAnim; f1 = f1 * f1; - this.leftFrontLeg.y = 12.0F + -5.0F * f1; - this.leftFrontLeg.z = -4.0F + f1; + this.leftFrontLeg.y += -5.0F * f1; + this.leftFrontLeg.z += f1; this.rightFrontLeg.y = this.leftFrontLeg.y; this.rightFrontLeg.z = this.leftFrontLeg.z; - this.head.y = -6.0F + -3.0F * f1; - this.head.z = -9.0F + 6.0F * f1; - this.body.y = -6.0F + -3.0F * f1; - this.body.z = -9.0F + 6.0F * f1; - this.cowTorso.y = 5.0F + f1; - this.cowTorso.z = 2.0F + 4.0F * f1; - this.rightArm.y = -4.0F - 3.0F * f1; - this.rightArm.z = -9.0F + (6.0F * f1); + this.head.y += -3.0F * f1; + this.head.z += 6.0F * f1; + this.body.y += -3.0F * f1; + this.body.z += 6.0F * f1; + this.cowTorso.y += f1; + this.cowTorso.z += 4.0F * f1; + this.rightArm.y -= 3.0F * f1; + this.rightArm.z += (6.0F * f1); this.leftArm.y = this.rightArm.y; this.leftArm.z = this.rightArm.z; From 6094ff095ae955b9206387b87f00a7d072baac2e Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 16:12:03 -0600 Subject: [PATCH 189/239] do the same for the questing ram --- .../client/model/entity/MinoshroomModel.java | 2 +- .../client/model/entity/QuestRamModel.java | 23 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java index fcf5095449..998a95f0fe 100644 --- a/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java +++ b/src/main/java/twilightforest/client/model/entity/MinoshroomModel.java @@ -83,7 +83,7 @@ public static LayerDefinition create() { .texOffs(90, 0) .addBox(-1.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F), PartPose.offset(5.0F, -4.0F, -9.0F)); - + partdefinition.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO); partdefinition.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO); diff --git a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java index 118538aa3e..a1a5adb9c4 100644 --- a/src/main/java/twilightforest/client/model/entity/QuestRamModel.java +++ b/src/main/java/twilightforest/client/model/entity/QuestRamModel.java @@ -25,7 +25,7 @@ public class QuestRamModel extends EntityModel implements TrophyBlockModel { - private final ModelPart head; + protected final ModelPart head; private ModelPart neck; private ModelPart frontTorso; private ModelPart backTorso; @@ -173,6 +173,7 @@ public void renderToBuffer(PoseStack stack, VertexConsumer builder, int light, i @Override public void setupAnim(QuestingRamRenderState state) { + this.resetPose(); super.setupAnim(state); this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; @@ -187,21 +188,21 @@ public void setupAnim(QuestingRamRenderState state) { // how many colors should we display? int count = state.countColorsSet(); - this.head.z = -count - 11; - this.neck.z = -count - 11; - this.frontTorso.z = -count; - this.backTorso.z = count; - this.leftBackLeg.z = 9 + count; - this.rightBackLeg.z = 9 + count; - this.leftFrontLeg.z = -11 - count; - this.rightFrontLeg.z = -11 - count; + this.head.z -= count; + this.neck.z -= count; + this.frontTorso.z -= count; + this.backTorso.z += count; + this.leftBackLeg.z += count; + this.rightBackLeg.z += count; + this.leftFrontLeg.z -= count; + this.rightFrontLeg.z -= count; // set up the colors displayed in color order - int segmentOffset = 0; + float segmentOffset = this.segments[0].z; for (int color : this.colorOrder) { if (state.isColorPresent(DyeColor.byId(color))) { this.segments[color].visible = true; - this.segments[color].z = segmentOffset - count; + this.segments[color].z += segmentOffset - count; segmentOffset += 2; } else { From 7bcdc886d61ca47aa81c50ab662caa65f022c7d5 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 20:45:25 -0600 Subject: [PATCH 190/239] more unhardcoding --- .../client/model/entity/HelmetCrabModel.java | 4 ++-- .../client/model/entity/PinchBeetleModel.java | 9 +++------ .../client/model/entity/SquirrelModel.java | 5 +++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java index cd77c05e9e..da7218743a 100644 --- a/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java +++ b/src/main/java/twilightforest/client/model/entity/HelmetCrabModel.java @@ -16,8 +16,8 @@ public class HelmetCrabModel extends EntityModel { private final ModelPart body; - private final ModelPart leftClaw; - private final ModelPart rightClaw; + protected final ModelPart leftClaw; + protected final ModelPart rightClaw; private final ModelPart rightLeg1; private final ModelPart rightLeg2; private final ModelPart leftLeg1; diff --git a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java index b127d6edb7..f189f695ca 100644 --- a/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java +++ b/src/main/java/twilightforest/client/model/entity/PinchBeetleModel.java @@ -178,6 +178,7 @@ public static LayerDefinition create() { @Override public void setupAnim(PinchBeetleRenderState state) { + this.resetPose(); super.setupAnim(state); this.head.yRot = state.yRot * Mth.DEG_TO_RAD; this.head.xRot = state.xRot * Mth.DEG_TO_RAD; @@ -225,12 +226,8 @@ public void setupAnim(PinchBeetleRenderState state) { if (state.isHoldingVictim) { // open jaws - this.rightPincer.yRot = -170.0F * Mth.DEG_TO_RAD; - this.leftPincer.yRot = 20.0F * Mth.DEG_TO_RAD; - } else { - // close jaws - this.rightPincer.yRot = 135.0F * Mth.DEG_TO_RAD; - this.leftPincer.yRot = 45.0F * Mth.DEG_TO_RAD; + this.rightPincer.yRot += 25.0F * Mth.DEG_TO_RAD; + this.leftPincer.yRot -= 25.0F * Mth.DEG_TO_RAD; } } } diff --git a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java index 4228595896..6494da3321 100644 --- a/src/main/java/twilightforest/client/model/entity/SquirrelModel.java +++ b/src/main/java/twilightforest/client/model/entity/SquirrelModel.java @@ -86,6 +86,7 @@ public static LayerDefinition create() { @Override public void setupAnim(LivingEntityRenderState state) { + this.resetPose(); super.setupAnim(state); this.head.xRot = state.xRot * Mth.DEG_TO_RAD; this.head.yRot = state.yRot * Mth.DEG_TO_RAD; @@ -96,11 +97,11 @@ public void setupAnim(LivingEntityRenderState state) { if (state.walkAnimationSpeed > 0.2) { float wiggle = Math.min(state.walkAnimationSpeed, 0.6F); - this.tail.xRot = 0.2F + (Mth.cos(state.ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; + this.tail.xRot += 0.2F + (Mth.cos(state.ageInTicks * 0.6662F) - Mth.PI / 3.0F) * wiggle; this.tailPart1.xRot = Mth.cos(state.ageInTicks * 0.7774F) * 1.2F * wiggle; this.tailPart2.xRot = Mth.cos(state.ageInTicks * 0.8886F + Mth.PI / 2.0F) * 1.4F * wiggle; } else { - this.tail.xRot = 0.2F + Mth.cos(state.ageInTicks * 0.3335F) * 0.15F; + this.tail.xRot += 0.2F + Mth.cos(state.ageInTicks * 0.3335F) * 0.15F; this.tailPart1.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.4445F) * 0.20F; this.tailPart2.xRot = 0.1F + Mth.cos(state.ageInTicks * 0.5555F) * 0.25F; } From 9a44424161649beac7bd41ff77dce9733e8a4a4e Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 20:46:16 -0600 Subject: [PATCH 191/239] fix ur-ghast tentacle UVs (broken for 4 years everyone!) --- .../client/model/entity/UrGhastModel.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java index e97a0c7a53..53d98cb01f 100644 --- a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java @@ -51,7 +51,7 @@ public static LayerDefinition create() { protected static void makeTentacle(PartDefinition parent, String name, int iteration) { - var tentacleBase = parent.addOrReplaceChild(name, CubeListBuilder.create() + var tentacleBase = parent.addOrReplaceChild(name, CubeListBuilder.create().texOffs(iteration % 3, 0) .addBox(-1.5F, 0.0F, -1.5F, 3.0F, 5.0F, 3.0F), switch (iteration) { case 0 -> PartPose.offset(4.5F, 7.0F, 4.5F); @@ -69,18 +69,20 @@ protected static void makeTentacle(PartDefinition parent, String name, int itera } }); + + var tentacleExtension = tentacleBase.addOrReplaceChild(name + "_extension", CubeListBuilder.create() - .texOffs(0, 3) + .texOffs(iteration % 4, 0) .addBox(-1.5F, 1.0F, -1.5F, 3.0F, 4.0F, 3.0F), PartPose.offset(0.0F, 4.0F, 0.0F)); var tentacleExtension2 = tentacleExtension.addOrReplaceChild(name + "_extension_2", CubeListBuilder.create() - .texOffs(0, 9) + .texOffs(iteration % 4, 4) .addBox(-1.5F, 1.0F, -1.5F, 3.0F, 4.0F, 3.0F), PartPose.offset(0.0F, 4.0F, 0.0F)); tentacleExtension2.addOrReplaceChild(name + "_tip", CubeListBuilder.create() - .texOffs(0, 9) + .texOffs(iteration % 4, 9) .addBox(-1.5F, 1.0F, -1.5F, 3.0F, 4.0F, 3.0F), PartPose.offset(0.0F, 4.0F, 0.0F)); From fbfeca1fbf6e8ed9af1a616cf7c688e931971c32 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 21:05:41 -0600 Subject: [PATCH 192/239] ok last one I hope --- .../twilightforest/client/model/entity/UrGhastModel.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java index 53d98cb01f..3f05039fbd 100644 --- a/src/main/java/twilightforest/client/model/entity/UrGhastModel.java +++ b/src/main/java/twilightforest/client/model/entity/UrGhastModel.java @@ -18,13 +18,16 @@ public class UrGhastModel extends TFGhastModel implements TrophyBlockModel { - private final ModelPart[][] tentacles = new ModelPart[9][4]; - private final ModelPart body; + protected final ModelPart[][] tentacles = new ModelPart[9][4]; + protected final ModelPart body; public UrGhastModel(ModelPart root) { super(root); this.body = root.getChild("body"); + this.setupTentacles(); + } + protected void setupTentacles() { for (int i = 0; i < this.tentacles.length; i++) { this.tentacles[i][0] = this.body.getChild("tentacle_" + i); this.tentacles[i][1] = this.tentacles[i][0].getChild("tentacle_" + i + "_extension"); @@ -96,7 +99,7 @@ public void setupAnim(TFGhastRenderState state) { this.waveTentacles(state.walkAnimationSpeed, state.ageInTicks); } - private void waveTentacles(float limbSwingAmount, float ageInTicks) { + protected void waveTentacles(float limbSwingAmount, float ageInTicks) { for (int i = 0; i < this.tentacles.length; ++i) { float wiggle = Math.min(limbSwingAmount, 0.6F); From f4bd4abad9e8c05aef9d957cb94762f9294459d3 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 22:22:22 -0600 Subject: [PATCH 193/239] clean up forcefield textures, why are there 15??? --- .../assets/models/BlockModelGenerator.java | 10 +-- .../assets/models/TFTextureMapping.java | 5 +- .../helpers/models/BlockModelBuilders.java | 68 +++++++++--------- .../forcefield/ForceFieldModelBuilder.java | 21 ++++-- .../textures/block/blue_force_field.png | Bin 177 -> 0 bytes .../{forcefield_white.png => forcefield.png} | Bin .../textures/block/forcefield_blue.png | Bin 177 -> 0 bytes .../textures/block/forcefield_green.png | Bin 176 -> 0 bytes .../textures/block/forcefield_orange.png | Bin 177 -> 0 bytes .../textures/block/forcefield_pink.png | Bin 177 -> 0 bytes .../textures/block/forcefield_purple.png | Bin 177 -> 0 bytes .../textures/block/forcefield_tint.png | Bin 90 -> 0 bytes .../textures/block/forcefield_tint_ct.png | Bin 247 -> 0 bytes .../textures/block/forcefield_top.png | Bin 82 -> 0 bytes .../textures/block/green_force_field.png | Bin 176 -> 0 bytes .../textures/block/orange_force_field.png | Bin 177 -> 0 bytes .../textures/block/pink_force_field.png | Bin 177 -> 0 bytes .../textures/block/violet_force_field.png | Bin 177 -> 0 bytes 18 files changed, 57 insertions(+), 47 deletions(-) delete mode 100644 src/main/resources/assets/twilightforest/textures/block/blue_force_field.png rename src/main/resources/assets/twilightforest/textures/block/{forcefield_white.png => forcefield.png} (100%) delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_blue.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_green.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_orange.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_pink.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_purple.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_tint.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_tint_ct.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/forcefield_top.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/green_force_field.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/orange_force_field.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/pink_force_field.png delete mode 100644 src/main/resources/assets/twilightforest/textures/block/violet_force_field.png diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 8ca1cc2df5..87f783b780 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -263,11 +263,11 @@ public void run() { this.castleDoor(TFBlocks.YELLOW_CASTLE_DOOR.get(), 16776960); this.castleDoor(TFBlocks.BLUE_CASTLE_DOOR.get(), 65535); this.castleDoor(TFBlocks.VIOLET_CASTLE_DOOR.get(), 4915330); - this.forcefield(TFBlocks.PINK_FORCE_FIELD.get()); - this.forcefield(TFBlocks.ORANGE_FORCE_FIELD.get()); - this.forcefield(TFBlocks.GREEN_FORCE_FIELD.get()); - this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get()); - this.forcefield(TFBlocks.VIOLET_FORCE_FIELD.get()); + this.forcefield(TFBlocks.PINK_FORCE_FIELD.get(), 0xFFFA057E); + this.forcefield(TFBlocks.ORANGE_FORCE_FIELD.get(), 0xFFFF5B02); + this.forcefield(TFBlocks.GREEN_FORCE_FIELD.get(), 0xFF89E701); + this.forcefield(TFBlocks.BLUE_FORCE_FIELD.get(), 0xFF0DDEFF); + this.forcefield(TFBlocks.VIOLET_FORCE_FIELD.get(), 0xFF5C1074); this.generateSpecialModel(TFBlocks.KEEPSAKE_CASKET.get(), Blocks.NETHERITE_BLOCK, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/keepsake_casket"), new KeepsakeCasketSpecialRenderer.Unbaked())); this.generateSpecialModel(TFBlocks.SKULL_CHEST.get(), Blocks.LIGHT_GRAY_CONCRETE_POWDER, block -> ItemModelUtils.specialModel(TwilightForestMod.prefix("item/skull_chest"), new SkullChestSpecialRenderer.Unbaked())); diff --git a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java index 9d0750831b..3473deb31a 100644 --- a/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java +++ b/src/data/java/twilightforest/datagen/assets/models/TFTextureMapping.java @@ -7,6 +7,7 @@ import net.minecraft.world.level.block.Blocks; import org.jetbrains.annotations.Nullable; import org.w3c.dom.Text; +import twilightforest.TwilightForestMod; import twilightforest.enums.BossVariant; import twilightforest.init.TFBlocks; @@ -54,8 +55,8 @@ public static TextureMapping ctmBlock(Block block) { return ctmBlock(null, overlay); } - public static TextureMapping forcefield(Block block) { - var tex = TextureMapping.getBlockTexture(block); + public static TextureMapping forcefield() { + var tex = TwilightForestMod.prefix("block/forcefield"); return new TextureMapping().put(TextureSlot.PANE, tex).put(TextureSlot.PARTICLE, tex); } diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index f440cf8365..47d2ed0ae0 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -657,32 +657,32 @@ public void directionalCrossModel(Block block, PlantType type) { )); } - public void forcefield(Block block) { + public void forcefield(Block block, int tint) { this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.FORCEFIELD.extend().customLoader(ForceFieldModelBuilder::new, builder -> { - builder.brightnessOverride(15).disableShade() + builder.tintAll(0).brightnessOverride(15).disableShade() //WEST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.WEST, true).from(0, 7, 7).to(7, 9, 9).face(Direction.WEST).cullface(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.WEST).uvs(7, 7, 9, 9).texture("#pane").end().end() //EAST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.EAST, true).from(9, 7, 7).to(16, 9, 9).face(Direction.EAST).cullface(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.EAST).uvs(7, 7, 9, 9).texture("#pane").end().end() //DOWN .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN, true).from(7, 0, 7).to(9, 7, 9).face(Direction.DOWN).cullface(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.DOWN).uvs(7, 7, 9, 9).texture("#pane").end().end() //UP .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP, true).from(7, 9, 7).to(9, 16, 9).face(Direction.UP).cullface(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.UP).uvs(7, 7, 9, 9).texture("#pane").end().end() //NORTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH, true).from(7, 7, 0).to(9, 9, 7).face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.NORTH).uvs(7, 7, 9, 9).texture("#pane").end().end() //SOUTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH, true).from(7, 7, 9).to(9, 9, 16).face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").end() - .ifElse().from(7, 7, 7).to(9, 9, 9).shade(false).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 7).to(9, 9, 9).face(Direction.SOUTH).uvs(7, 7, 9, 9).texture("#pane").end().end() //DOWN WEST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_WEST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.WEST).from(0, 0, 7).to(7, 7, 9) @@ -690,8 +690,8 @@ public void forcefield(Block block) { .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).uvs(0, 0, 7, 7).end() .face(Direction.SOUTH).uvs(9, 0, 16, 7).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").end().end() + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).face(Direction.WEST).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).face(Direction.DOWN).uvs(0, 7, 7, 9).texture("#pane").end().end() //DOWN EAST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_EAST, true).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.EAST).from(9, 0, 7).to(16, 7, 9) @@ -699,8 +699,8 @@ public void forcefield(Block block) { .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 0, 9, 7).end() .face(Direction.NORTH).uvs(9, 0, 16, 7).end() .face(Direction.SOUTH).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").end().end() + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).face(Direction.EAST).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).face(Direction.DOWN).uvs(9, 7, 16, 9).texture("#pane").end().end() //DOWN NORTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_NORTH, true).from(7, 0, 0).to(9, 7, 7).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.NORTH) @@ -708,8 +708,8 @@ public void forcefield(Block block) { .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 0, 9, 7).end() .face(Direction.WEST).uvs(0, 0, 7, 7).end() .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").end() - .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").end().end() + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).face(Direction.NORTH).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).face(Direction.DOWN).uvs(7, 0, 9, 7).texture("#pane").end().end() //DOWN SOUTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.DOWN_SOUTH, true).from(7, 0, 9).to(9, 7, 16).parents(ForceFieldModel.ExtraDirection.DOWN, ForceFieldModel.ExtraDirection.SOUTH) @@ -717,8 +717,8 @@ public void forcefield(Block block) { .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 0, 9, 7).end() .face(Direction.WEST).uvs(9, 0, 16, 7).end() .face(Direction.EAST).uvs(0, 0, 7, 7).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).shade(false).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").end() - .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").end().end() + .ifElse().from(7, 0, 7).to(9, 7, 9).parents(ForceFieldModel.ExtraDirection.DOWN).face(Direction.SOUTH).uvs(7, 0, 9, 7).texture("#pane").end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).face(Direction.DOWN).uvs(7, 9, 9, 16).texture("#pane").end().end() //UP WEST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_WEST, true).from(0, 9, 7).to(7, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.WEST) @@ -726,8 +726,8 @@ public void forcefield(Block block) { .face(Direction.WEST).cullface(Direction.WEST).uvs(7, 9, 9, 16).end() .face(Direction.NORTH).uvs(0, 9, 7, 16).end() .face(Direction.SOUTH).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").end().end() + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).face(Direction.WEST).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).face(Direction.UP).uvs(0, 7, 7, 9).texture("#pane").end().end() //UP EAST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_EAST, true).from(9, 9, 7).to(16, 16, 9).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.EAST) @@ -735,8 +735,8 @@ public void forcefield(Block block) { .face(Direction.EAST).cullface(Direction.EAST).uvs(7, 9, 9, 16).end() .face(Direction.NORTH).uvs(9, 9, 16, 16).end() .face(Direction.SOUTH).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").end().end() + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).face(Direction.EAST).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).face(Direction.UP).uvs(9, 7, 16, 9).texture("#pane").end().end() //UP NORTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_NORTH, true).from(7, 9, 0).to(9, 16, 7).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.NORTH) @@ -744,8 +744,8 @@ public void forcefield(Block block) { .face(Direction.NORTH).cullface(Direction.NORTH).uvs(7, 9, 9, 16).end() .face(Direction.WEST).uvs(0, 9, 7, 16).end() .face(Direction.EAST).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").end() - .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").end().end() + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).face(Direction.NORTH).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).face(Direction.UP).uvs(7, 0, 9, 7).texture("#pane").end().end() //UP SOUTH .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.UP_SOUTH, true).from(7, 9, 9).to(9, 16, 16).parents(ForceFieldModel.ExtraDirection.UP, ForceFieldModel.ExtraDirection.SOUTH) @@ -753,8 +753,8 @@ public void forcefield(Block block) { .face(Direction.SOUTH).cullface(Direction.SOUTH).uvs(7, 9, 9, 16).end() .face(Direction.WEST).uvs(9, 9, 16, 16).end() .face(Direction.EAST).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).shade(false).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").end() - .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").end().end() + .ifElse().from(7, 9, 7).to(9, 16, 9).parents(ForceFieldModel.ExtraDirection.UP).face(Direction.SOUTH).uvs(7, 9, 9, 16).texture("#pane").end() + .ifSame().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).face(Direction.UP).uvs(7, 9, 9, 16).texture("#pane").end().end() //NORTH WEST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_WEST, true).from(0, 7, 0).to(7, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.WEST) @@ -762,8 +762,8 @@ public void forcefield(Block block) { .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(0, 9, 7, 16).end() .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).face(Direction.NORTH).uvs(0, 7, 7, 9).texture("#pane").end().end() //NORTH EAST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.NORTH_EAST, true).from(9, 7, 0).to(16, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH, ForceFieldModel.ExtraDirection.EAST) @@ -771,8 +771,8 @@ public void forcefield(Block block) { .face(Direction.EAST).cullface(Direction.EAST).uvs(0, 7, 7, 9).end() .face(Direction.DOWN).uvs(9, 9, 16, 16).end() .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).shade(false).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 0).to(9, 9, 7).parents(ForceFieldModel.ExtraDirection.NORTH).face(Direction.EAST).uvs(0, 7, 7, 9).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).face(Direction.NORTH).uvs(9, 7, 16, 9).texture("#pane").end().end() //SOUTH WEST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_WEST, true).from(0, 7, 9).to(7, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.WEST) @@ -780,8 +780,8 @@ public void forcefield(Block block) { .face(Direction.WEST).cullface(Direction.WEST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(0, 9, 7, 16).end() .face(Direction.UP).uvs(9, 9, 16, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() - .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end() + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).face(Direction.WEST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(0, 7, 7).to(7, 9, 9).parents(ForceFieldModel.ExtraDirection.WEST).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end() //SOUTH EAST .forceFieldElement().ifState(ForceFieldModel.ExtraDirection.SOUTH_EAST, true).from(9, 7, 9).to(16, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH, ForceFieldModel.ExtraDirection.EAST) @@ -789,10 +789,10 @@ public void forcefield(Block block) { .face(Direction.EAST).cullface(Direction.EAST).uvs(9, 7, 16, 9).end() .face(Direction.DOWN).uvs(9, 9, 16, 16).end() .face(Direction.UP).uvs(0, 9, 7, 16).end().faces((direction, face) -> face.texture("#pane")) - .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).shade(false).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").end() - .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).shade(false).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end(); - }).build().create(block, TFTextureMapping.forcefield(block), this.modelOutput))); - this.registerSimpleFlatItemModel(block); + .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").end() + .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end(); + }).build().create(block, TFTextureMapping.forcefield(), this.modelOutput))); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.tintedModel(ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(TwilightForestMod.prefix("block/forcefield")), this.modelOutput), ItemModelUtils.constantTint(tint))); } public void generatePaneBlock(Block glassBlock, Block paneBlock) { diff --git a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java index e3ce26eb91..67a6b97846 100644 --- a/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java +++ b/src/main/java/twilightforest/client/model/block/forcefield/ForceFieldModelBuilder.java @@ -29,6 +29,7 @@ public class ForceFieldModelBuilder extends CustomLoaderBuilder { private boolean defaultShade = true; private int brightnessOverride = 0; + private int tint = -1; protected List elements = new ArrayList<>(); public static ForceFieldModelBuilder begin() { @@ -44,7 +45,7 @@ public ForceFieldModelBuilder() { } public ForceFieldElementBuilder forceFieldElement() { - ForceFieldElementBuilder ret = new ForceFieldElementBuilder(this.defaultShade, this.brightnessOverride); + ForceFieldElementBuilder ret = new ForceFieldElementBuilder(this.defaultShade, this.brightnessOverride, this.tint); this.elements.add(ret); return ret; } @@ -59,12 +60,18 @@ public ForceFieldModelBuilder disableShade() { return this; } + public ForceFieldModelBuilder tintAll(int index) { + this.tint = index; + return this; + } + @Override protected CustomLoaderBuilder copyInternal() { ForceFieldModelBuilder builder = new ForceFieldModelBuilder(); builder.elements = this.elements; builder.defaultShade = this.defaultShade; builder.brightnessOverride = this.brightnessOverride; + builder.tint = this.tint; return builder; } @@ -176,13 +183,15 @@ public class ForceFieldElementBuilder { private ForceFieldElementBuilder.RotationBuilder rotation; private boolean shade; private int light; + private int tint; @Nullable private Pair condition = null; private final List parents = new ArrayList<>(); - private ForceFieldElementBuilder(boolean defaultShade, int brightnessOverride) { + private ForceFieldElementBuilder(boolean defaultShade, int brightnessOverride, int tint) { this.shade = defaultShade; this.light = brightnessOverride; + this.tint = tint; } private static void validateCoordinate(float coord, char name) { @@ -209,7 +218,7 @@ public ForceFieldElementBuilder to(float x, float y, float z) { public ForceFieldElementBuilder.FaceBuilder face(Direction dir) { Preconditions.checkNotNull(dir, "Direction must not be null"); - return this.faces.computeIfAbsent(dir, ForceFieldElementBuilder.FaceBuilder::new); + return this.faces.computeIfAbsent(dir, direction -> new FaceBuilder(this.tint)); } public ForceFieldElementBuilder.RotationBuilder rotation() { @@ -294,14 +303,14 @@ public ForceFieldModelBuilder end() { public class FaceBuilder { @Nullable private Direction cullface; - private int tintindex = -1; + private int tintindex; @Nullable private String texture = MissingTextureAtlasSprite.getLocation().toString(); private float@Nullable[] uvs; private FaceRotation rotation = FaceRotation.ZERO; - FaceBuilder(Direction dir) { - // param unused for functional match + FaceBuilder(int tint) { + this.tintindex = tint; } public ForceFieldElementBuilder.FaceBuilder cullface(@Nullable Direction dir) { diff --git a/src/main/resources/assets/twilightforest/textures/block/blue_force_field.png b/src/main/resources/assets/twilightforest/textures/block/blue_force_field.png deleted file mode 100644 index 6eb4fbafa8cf5cffb36c680ecfcdf11019b83a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0CPCm`sV8G+Nm%+HY z@yrRWh6xWQsFh8yaQS;8GrsP|x8~`t8||vKcqcilvoI-@g=$xKO<$+%G| z)6~GeeRr_sf|IV^559SeTJ&yLYRr&uJ+O*j?P^Bx0mY+9@tlwNo6Oi{0(7KiG!`B{ aB7A6D{@Xu#E;&FqFnGH9xvXoI-@g=$xKO<$+%G| z)6~GeeRr_sf|IV^559SeTJ&yLYRr&uJ+O*j?P^Bx0mY+9@tlwNo6Oi{0(7KiG!`B{ aB7A6D{@Xu#E;&FqFnGH9xvXAi!oar!e zi`0zyhwrYGx$tC>YQgWNTyu^^PjoQpQA)VVJ~?ZP<%0=H8`raZWOtm+%%>s7d*;B7 b#7CT(ufE+AIHi3R=mZ8&S3j3^P6<25qR|RcaPH&8RLuI2i%r8C8!0c ztYv%lyr5i*-DGD5=bgHhOv^upsR-~c=7{)uaEVkdpT&}hH`BbP0l+XkKP1!^4 diff --git a/src/main/resources/assets/twilightforest/textures/block/forcefield_pink.png b/src/main/resources/assets/twilightforest/textures/block/forcefield_pink.png deleted file mode 100644 index 6c00e0dbc7dd7905ff37ff2403cc98fea5633c67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0CPPXPdV8G!VxnouS zfl~*KOS9PR+B{?zEjXdV&;De^;}y{x_Z!Y|b82d3QJ#J~uw6uHnnb4^lZjFolM^`Uf diff --git a/src/main/resources/assets/twilightforest/textures/block/forcefield_tint.png b/src/main/resources/assets/twilightforest/textures/block/forcefield_tint.png deleted file mode 100644 index c4fcd761512dc9e278b40a1ddf463a116eb3b71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ik>cxAr_~TfBgS%l@k)bY nf`g{Oa^4k;i#Hmm@Gvmgy8OGk% zK@J2V2n2m?|DfN`p5`)9Xco+xjR!JjBGMM14l{$9aq@k}2<8mO9^d7h@mh?pfOG;g zT3iu1CPBQwmgTe~DWM4f3?UX< diff --git a/src/main/resources/assets/twilightforest/textures/block/green_force_field.png b/src/main/resources/assets/twilightforest/textures/block/green_force_field.png deleted file mode 100644 index f6cade8f710cb9e82899155137122a5c81311a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar`0CPWI+%aNu!%d~&l` zmH+yM9J^j@@njWGwOeAm-u}(;W2YBI%(tD&c2aSYbI0-b##|GN&ba6^N>Ai!oar!e zi`0zyhwrYGx$tC>YQgWNTyu^^PjoQpQA)VVJ~?ZP<%0=H8`raZWOtm+%%>s7d*;B7 b#7CT(ufE+AIHi3R=mZ8&S3j3^P6<25qR|RcaPH&8RLuI2i%r8C8!0c ztYv%lyr5i*-DGD5=bgHhOv^upsR-~c=7{)uaEVkdpT&}hH`BbP0l+XkKP1!^4 diff --git a/src/main/resources/assets/twilightforest/textures/block/pink_force_field.png b/src/main/resources/assets/twilightforest/textures/block/pink_force_field.png deleted file mode 100644 index 6c00e0dbc7dd7905ff37ff2403cc98fea5633c67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0CPPXPdV8G!VxnouS zfl~*KOS9PR+B{?zEjXdV&;De^;}y{x_Z!Y|b82d3QJ#J~uw6uHnnb4^lZjFolM^`Uf From 6fa3db1660062257f734abdd51d19c22a1993a56 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 22:22:34 -0600 Subject: [PATCH 194/239] datagen push --- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 32 ++-- .../items/blue_force_field.json | 8 +- .../items/green_force_field.json | 8 +- .../items/orange_force_field.json | 8 +- .../items/pink_force_field.json | 8 +- .../items/violet_force_field.json | 8 +- .../models/block/blue_force_field.json | 150 ++++++++++++++---- .../models/block/green_force_field.json | 150 ++++++++++++++---- .../models/block/orange_force_field.json | 150 ++++++++++++++---- .../models/block/pink_force_field.json | 150 ++++++++++++++---- .../models/block/violet_force_field.json | 150 ++++++++++++++---- .../models/item/blue_force_field.json | 2 +- .../models/item/green_force_field.json | 2 +- .../models/item/orange_force_field.json | 2 +- .../models/item/pink_force_field.json | 2 +- .../models/item/violet_force_field.json | 2 +- 16 files changed, 641 insertions(+), 191 deletions(-) diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 4c12370411..6962152e1d 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-22T11:23:37.57569 Model Definitions - twilightforest +// 1.21.4 2025-04-25T22:14:15.626498 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -520,7 +520,7 @@ c24917d542f7ba59a2f0b79b669f378480e1aa11 assets/twilightforest/items/bighorn_she 48f633a5213859982d513b42437a7c06faadb77d assets/twilightforest/items/block_and_chain_goblin_spawn_egg.json 214e307625d727cbe4b83f560760232a722f7fac assets/twilightforest/items/blue_castle_door.json 71bf03fa1a78983b81139b14bf985d07cca25453 assets/twilightforest/items/blue_castle_rune_brick.json -2e889ecdd1a528bdc02e1f94d492febb20c5bd31 assets/twilightforest/items/blue_force_field.json +1d9f0edfcdd03c10923fbb76b60ef03543d90a60 assets/twilightforest/items/blue_force_field.json 1b48411bef57beebb32f665f68a3e05395ba3c98 assets/twilightforest/items/boar_spawn_egg.json c81c1bcd06ccfb481c2b71f9b0cc3739ee453a35 assets/twilightforest/items/bold_castle_brick_pillar.json ffb001a9ba75a20dcb289114d667eca1a3fd009a assets/twilightforest/items/bold_castle_brick_stairs.json @@ -671,7 +671,7 @@ e3edd6e7e578648a59bafb8e3ad5b1919d9c79a3 assets/twilightforest/items/giant_picka 5915d8d3994af28a554c95015893aba9851ef982 assets/twilightforest/items/glass_sword.json aeb79a6a63401d6f061a0679094b23dcc6939f4d assets/twilightforest/items/gold_minotaur_axe.json 1b981a5e8ec0c51fc19b78e7f587cbe2c8c229a2 assets/twilightforest/items/greater_potion_flask.json -d2ad19a8ea0ce2efd661e7c0aa2a66b4cd8c1686 assets/twilightforest/items/green_force_field.json +562c2134e1f01b6ebc783889d63ad35c223935bb assets/twilightforest/items/green_force_field.json d6f06af5251db3d00e8e24e7524065dc2c80456f assets/twilightforest/items/green_thorns.json 557fbbb8e274eb42e54d08c341be697d4682a3c8 assets/twilightforest/items/hedge.json 9f488383a39cd94dd09bf6dd67b51804ff801059 assets/twilightforest/items/hedge_spider_spawn_egg.json @@ -858,7 +858,7 @@ d1b91627c89fa52011c317aac3bb6a3620cf7a05 assets/twilightforest/items/naga_scale. fc8ab6466cfec9b37ee6a82286eef83b8930d306 assets/twilightforest/items/naga_spawn_egg.json 8abea00fff03460a35c79c64e54cf66c0781f84a assets/twilightforest/items/naga_trophy.json 04b0358438825a2b5d239d1a8a1f4e4e298dfb18 assets/twilightforest/items/oak_banister.json -8e1fcd8b497c04a9a12c3f4ffb587169c4176613 assets/twilightforest/items/orange_force_field.json +9f689509b78701f52e02f71683777502cf3eedeb assets/twilightforest/items/orange_force_field.json 825d5e28fe55175fd3b92366bb7c9f457276f760 assets/twilightforest/items/ore_magnet.json 02d53639ab94a68e5a24566cb3f0bb2f6cdf4fe5 assets/twilightforest/items/ore_map.json 5fd1c9fe44bb415056e270ccf58d5c888fa5e9a8 assets/twilightforest/items/ore_meter.json @@ -871,7 +871,7 @@ b0b3135c120309d94aae084ca9c3bb51366ecfd3 assets/twilightforest/items/piglin_skul c435748849792db1afe8503c17d266e52a20d7a4 assets/twilightforest/items/pinch_beetle_spawn_egg.json 658488f480de86791ac243cbde752c3afa643bf6 assets/twilightforest/items/pink_castle_door.json 8cf9a3987196e81f7e7cc89c9bacc24aada2b669 assets/twilightforest/items/pink_castle_rune_brick.json -f7b7c1bd2b0d9872ac4c1654b3633d7a4736e28e assets/twilightforest/items/pink_force_field.json +ec852bbf75c4d934676ca1cf34e8db9badfe3142 assets/twilightforest/items/pink_force_field.json ba095c9b3a3ab5881246bb1ea93bd4ee0b61e18a assets/twilightforest/items/player_skull_candle.json b0149b1000e8ea6417cd26f4c90f42e9280fd05f assets/twilightforest/items/pocket_watch.json dcd51affeee0819cb80e3e30aaf02332d0856998 assets/twilightforest/items/quest_ram_banner_pattern.json @@ -1059,7 +1059,7 @@ d9d715406af0f64bfa5444d27580ccc3d7a4e5a3 assets/twilightforest/items/ur_ghast_tr e349c000a3f8218cf9f111c8beb3cb356c52660c assets/twilightforest/items/vanishing_block.json 71746ddfc8969e6b3939699886dd8bd1b42b8578 assets/twilightforest/items/violet_castle_door.json 93656a9f715c0b6e58a7084358abe45a90e8ce7a assets/twilightforest/items/violet_castle_rune_brick.json -4b7faf9071d58cb084cbed65460cc0f3dc91a98a assets/twilightforest/items/violet_force_field.json +7039d9384bffc848bc6085deb777a2fc9d5e043e assets/twilightforest/items/violet_force_field.json c7918c062c6198f1dce42805319c3d7a955748d8 assets/twilightforest/items/warped_banister.json f924ce78f6a45301dc17c59ca1846b7790380a3f assets/twilightforest/items/weathered_deadrock.json ab823c96b33b116c76afac56fe6d7d9188a75416 assets/twilightforest/items/winter_wolf_spawn_egg.json @@ -1137,7 +1137,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/blue e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/blue_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/blue_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/blue_castle_rune_brick_7.json -ee8378b31aab51432521c0f2c2e3de8536563d0f assets/twilightforest/models/block/blue_force_field.json +226426ad12e8c1443cd960e10f8b5dfe09214ccf assets/twilightforest/models/block/blue_force_field.json 9f815d1a83c1eb9cdd90f47e6eb275691e0b3474 assets/twilightforest/models/block/bold_castle_brick_pillar.json 64f394c9dd3550c3ee4bf0726cae429b7b70a5b4 assets/twilightforest/models/block/bold_castle_brick_pillar_horizontal.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/bold_castle_brick_stairs.json @@ -1375,7 +1375,7 @@ a9d0423b8666260a4fcbe66231b20190e4c91629 assets/twilightforest/models/block/gian d19b58a31b5d7584437c74c92181a3cf049eaa64 assets/twilightforest/models/block/giant_obsidian.json fbdc0f10caaba0775345e9a1d71e38327422891a assets/twilightforest/models/block/giant_obsidian_gui.json 19327f496f15d8e1253affe984fb6f1cec24ba55 assets/twilightforest/models/block/giant_obsidian_item.json -4b42acb4de5fb7c9ebab0ec9bbd7ef036587c38c assets/twilightforest/models/block/green_force_field.json +226426ad12e8c1443cd960e10f8b5dfe09214ccf assets/twilightforest/models/block/green_force_field.json d8f4bbc8889aec16292774a1548cded7fdc9a9b9 assets/twilightforest/models/block/green_thorns_bottom.json 7057d96d897529b87e727d08dfe498d05367242b assets/twilightforest/models/block/green_thorns_main.json b04dd8505734d43bcf706b48d04ad6240e10d9a6 assets/twilightforest/models/block/green_thorns_no_section.json @@ -1751,7 +1751,7 @@ c4dec37c4994e096091a5ccd83e4e5192f79880a assets/twilightforest/models/block/omin a9dadcf9497996054aee17f06a92850f9ea15be2 assets/twilightforest/models/block/ominous_red_candle.json cbb59b3162b823678d4420baca0eaad1e26e0d93 assets/twilightforest/models/block/ominous_white_candle.json f26e693c7673786de1b9fac84ac79525c7d8b2a8 assets/twilightforest/models/block/ominous_yellow_candle.json -1ec9eb9de05c4f6c4714ad4fdf15e54324b59a16 assets/twilightforest/models/block/orange_force_field.json +226426ad12e8c1443cd960e10f8b5dfe09214ccf assets/twilightforest/models/block/orange_force_field.json 3a98837db20fa778137e655508ea4c1adca0dad7 assets/twilightforest/models/block/pale_oak_banister_connected.json 3aefdc4db5691f7a065662663399a70d0c7b5f29 assets/twilightforest/models/block/pale_oak_banister_connected_extended.json afdb121c9852c3c60e3a546abcdcf99944fe9d2b assets/twilightforest/models/block/pale_oak_banister_inventory.json @@ -1769,7 +1769,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/pink e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/pink_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/pink_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/pink_castle_rune_brick_7.json -1ff82fd5ee63ba29d7267d7aada6f61b256bea79 assets/twilightforest/models/block/pink_force_field.json +226426ad12e8c1443cd960e10f8b5dfe09214ccf assets/twilightforest/models/block/pink_force_field.json 988edd84b7f8f27049b1c0597c4d2f66a0e8301d assets/twilightforest/models/block/potted_canopy_sapling.json be003e1afbb31137924c542d2b9be02a8b3ec113 assets/twilightforest/models/block/potted_darkwood_sapling.json 106f438ad018b7efb9a88ace8363f88e0cc0a130 assets/twilightforest/models/block/potted_dead_thorn.json @@ -2086,7 +2086,7 @@ a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/viol e7c1c51cde0ffea4fed79ffd89be17ed7fcd01c3 assets/twilightforest/models/block/violet_castle_rune_brick_5.json f8714a502b067e2da62d70efe2da45a7044f91d1 assets/twilightforest/models/block/violet_castle_rune_brick_6.json 2f6803f5dce808a441cfef79603275707b9231f3 assets/twilightforest/models/block/violet_castle_rune_brick_7.json -15e3ee1b5fc45f809126e352b2cc39b82f725a79 assets/twilightforest/models/block/violet_force_field.json +226426ad12e8c1443cd960e10f8b5dfe09214ccf assets/twilightforest/models/block/violet_force_field.json 43a10e6744a8af41346182899be8889591fcacb5 assets/twilightforest/models/block/warped_banister_connected.json dd7b943857c308c9b5d7120dbd4bc10f7abe96c7 assets/twilightforest/models/block/warped_banister_connected_extended.json 37f2a74097b62b900187f50092d80ad25c68c279 assets/twilightforest/models/block/warped_banister_inventory.json @@ -2190,7 +2190,7 @@ d9b538a65a3195254d3d684fa591210d80fd5968 assets/twilightforest/models/item/arcti cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor_shard_cluster.json cb7cc09776f8428aedf36ac18683f1c1a1ecc744 assets/twilightforest/models/item/block_and_chain.json ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json -afa5f63527fb752ec93dee00fe9e6021f3f22374 assets/twilightforest/models/item/blue_force_field.json +e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/blue_force_field.json 6d65cf8e13ce9afe4c2fe6ab81d35749bf7ad362 assets/twilightforest/models/item/borer_essence.json 9d365385309717f3b21e91946b48b789ed5f6528 assets/twilightforest/models/item/brittle_potion_flask.json 5e70e2c07188a9af6b144367e34c32e5d36f3534 assets/twilightforest/models/item/brittle_potion_flask_1.json @@ -2331,7 +2331,7 @@ a4e7763547cd6d6bc95cb994ea2211756bb6f2e2 assets/twilightforest/models/item/great 2c4278ea7e4c03ae4c98559d0c07a6fa3ca78e4c assets/twilightforest/models/item/greater_potion_flask_1.json fa90294ea298166538510be4b1c507af243b991e assets/twilightforest/models/item/greater_potion_flask_2.json 60f30b5e51bdbcf2c50a1f84ad549d90124a15e1 assets/twilightforest/models/item/greater_potion_flask_3.json -3050f83aa9bd94aadb652f5bc6d58ea10d6be357 assets/twilightforest/models/item/green_force_field.json +e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/green_force_field.json 94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json bf3c79561ee47e448fb9215117137d82a2e94c12 assets/twilightforest/models/item/huge_lily_pad.json 37b642a1be3526a36aa413659a8b6047b97f529e assets/twilightforest/models/item/huge_water_lily.json @@ -2590,7 +2590,7 @@ f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_ 6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json 0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json -7e2fe876dbbd244b36b898224c1c96495c3d704f assets/twilightforest/models/item/orange_force_field.json +e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/orange_force_field.json e41febc342a31175c85b45f5394700eb7f9ac39e assets/twilightforest/models/item/ore_magnet.json 4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json @@ -2634,7 +2634,7 @@ eab5812709d6db628fb5b7b3470e817c8aa87b56 assets/twilightforest/models/item/phant d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phantom_helmet_redstone_trim.json 4af9d9b9385d8befc3fa664ece7bba54680adf66 assets/twilightforest/models/item/phantom_helmet_resin_trim.json 4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json -158d791dc62223ad2b32309e9ecfcde09c364feb assets/twilightforest/models/item/pink_force_field.json +e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/pink_force_field.json 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json cb78585b0e58039a36213d03546532f17d02229f assets/twilightforest/models/item/potion_flask_empty.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json @@ -2780,7 +2780,7 @@ fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twili 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json 221ae2bf8b6db463b4909daac2b03451fd52792b assets/twilightforest/models/item/unripe_trollber.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json -6ca7643a593e229f7e9d89e978a9c68b38b19d3d assets/twilightforest/models/item/violet_force_field.json +e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/violet_force_field.json ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json 0229fa1d67eea7895e2c8330a25b4f20cdc643f8 assets/twilightforest/models/item/yeti_boots.json 5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json diff --git a/src/generated/resources/assets/twilightforest/items/blue_force_field.json b/src/generated/resources/assets/twilightforest/items/blue_force_field.json index af2ced76b1..4160f57a9e 100644 --- a/src/generated/resources/assets/twilightforest/items/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/items/blue_force_field.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:item/blue_force_field" + "model": "twilightforest:item/blue_force_field", + "tints": [ + { + "type": "minecraft:constant", + "value": -15868161 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/green_force_field.json b/src/generated/resources/assets/twilightforest/items/green_force_field.json index a8860de51e..f0fcb02145 100644 --- a/src/generated/resources/assets/twilightforest/items/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/items/green_force_field.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:item/green_force_field" + "model": "twilightforest:item/green_force_field", + "tints": [ + { + "type": "minecraft:constant", + "value": -7739647 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/orange_force_field.json b/src/generated/resources/assets/twilightforest/items/orange_force_field.json index 28eda691e0..8014ae2a29 100644 --- a/src/generated/resources/assets/twilightforest/items/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/items/orange_force_field.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:item/orange_force_field" + "model": "twilightforest:item/orange_force_field", + "tints": [ + { + "type": "minecraft:constant", + "value": -42238 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/pink_force_field.json b/src/generated/resources/assets/twilightforest/items/pink_force_field.json index b4bb357308..8c0d78acf3 100644 --- a/src/generated/resources/assets/twilightforest/items/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/items/pink_force_field.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:item/pink_force_field" + "model": "twilightforest:item/pink_force_field", + "tints": [ + { + "type": "minecraft:constant", + "value": -391810 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/items/violet_force_field.json b/src/generated/resources/assets/twilightforest/items/violet_force_field.json index 9461547d39..43d640b71d 100644 --- a/src/generated/resources/assets/twilightforest/items/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/items/violet_force_field.json @@ -1,6 +1,12 @@ { "model": { "type": "minecraft:model", - "model": "twilightforest:item/violet_force_field" + "model": "twilightforest:item/violet_force_field", + "tints": [ + { + "type": "minecraft:constant", + "value": -10743692 + } + ] } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json index 38d2061507..789cba106c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_force_field.json @@ -11,7 +11,8 @@ "faces": { "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -35,7 +36,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -60,7 +62,8 @@ "faces": { "east": { "cullface": "east", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -84,7 +87,8 @@ }, "faces": { "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -109,7 +113,8 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -133,7 +138,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -158,7 +164,8 @@ "faces": { "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -182,7 +189,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -207,7 +215,8 @@ "faces": { "north": { "cullface": "north", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -231,7 +240,8 @@ }, "faces": { "north": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -256,7 +266,8 @@ "faces": { "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -280,7 +291,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -308,10 +320,12 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -321,6 +335,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -331,6 +346,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -363,6 +379,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -394,7 +411,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -422,11 +440,13 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -436,6 +456,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -445,6 +466,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -477,6 +499,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -508,7 +531,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -537,6 +561,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -545,11 +570,13 @@ ] }, "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -559,6 +586,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -591,6 +619,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -623,6 +652,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -657,6 +687,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -666,6 +697,7 @@ }, "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -676,6 +708,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -685,6 +718,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -717,6 +751,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -749,6 +784,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -782,6 +818,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -791,6 +828,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -800,11 +838,13 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -837,6 +877,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -868,7 +909,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -897,6 +939,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -906,6 +949,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -915,6 +959,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -924,7 +969,8 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -951,6 +997,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -982,7 +1029,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1010,6 +1058,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1020,6 +1069,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1029,10 +1079,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1065,6 +1117,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1096,7 +1149,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1124,6 +1178,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1134,6 +1189,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1143,10 +1199,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1179,6 +1237,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1210,7 +1269,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1237,11 +1297,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1251,6 +1313,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1261,6 +1324,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1293,6 +1357,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1325,6 +1390,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1357,11 +1423,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1372,6 +1440,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1381,6 +1450,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1413,6 +1483,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1445,6 +1516,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1478,6 +1550,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1487,10 +1560,12 @@ }, "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1500,7 +1575,8 @@ }, "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1526,7 +1602,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1552,7 +1629,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1580,6 +1658,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1590,6 +1669,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1600,6 +1680,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1609,6 +1690,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1641,6 +1723,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1673,6 +1756,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1698,7 +1782,7 @@ "loader": "twilightforest:force_field", "render_type": "minecraft:translucent", "textures": { - "pane": "twilightforest:block/blue_force_field", - "particle": "twilightforest:block/blue_force_field" + "pane": "twilightforest:block/forcefield", + "particle": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json index a96b3048b7..789cba106c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/green_force_field.json @@ -11,7 +11,8 @@ "faces": { "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -35,7 +36,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -60,7 +62,8 @@ "faces": { "east": { "cullface": "east", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -84,7 +87,8 @@ }, "faces": { "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -109,7 +113,8 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -133,7 +138,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -158,7 +164,8 @@ "faces": { "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -182,7 +189,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -207,7 +215,8 @@ "faces": { "north": { "cullface": "north", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -231,7 +240,8 @@ }, "faces": { "north": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -256,7 +266,8 @@ "faces": { "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -280,7 +291,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -308,10 +320,12 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -321,6 +335,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -331,6 +346,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -363,6 +379,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -394,7 +411,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -422,11 +440,13 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -436,6 +456,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -445,6 +466,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -477,6 +499,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -508,7 +531,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -537,6 +561,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -545,11 +570,13 @@ ] }, "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -559,6 +586,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -591,6 +619,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -623,6 +652,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -657,6 +687,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -666,6 +697,7 @@ }, "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -676,6 +708,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -685,6 +718,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -717,6 +751,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -749,6 +784,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -782,6 +818,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -791,6 +828,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -800,11 +838,13 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -837,6 +877,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -868,7 +909,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -897,6 +939,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -906,6 +949,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -915,6 +959,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -924,7 +969,8 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -951,6 +997,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -982,7 +1029,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1010,6 +1058,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1020,6 +1069,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1029,10 +1079,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1065,6 +1117,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1096,7 +1149,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1124,6 +1178,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1134,6 +1189,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1143,10 +1199,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1179,6 +1237,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1210,7 +1269,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1237,11 +1297,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1251,6 +1313,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1261,6 +1324,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1293,6 +1357,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1325,6 +1390,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1357,11 +1423,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1372,6 +1440,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1381,6 +1450,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1413,6 +1483,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1445,6 +1516,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1478,6 +1550,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1487,10 +1560,12 @@ }, "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1500,7 +1575,8 @@ }, "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1526,7 +1602,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1552,7 +1629,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1580,6 +1658,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1590,6 +1669,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1600,6 +1680,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1609,6 +1690,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1641,6 +1723,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1673,6 +1756,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1698,7 +1782,7 @@ "loader": "twilightforest:force_field", "render_type": "minecraft:translucent", "textures": { - "pane": "twilightforest:block/green_force_field", - "particle": "twilightforest:block/green_force_field" + "pane": "twilightforest:block/forcefield", + "particle": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json index 172bc38645..789cba106c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/orange_force_field.json @@ -11,7 +11,8 @@ "faces": { "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -35,7 +36,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -60,7 +62,8 @@ "faces": { "east": { "cullface": "east", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -84,7 +87,8 @@ }, "faces": { "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -109,7 +113,8 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -133,7 +138,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -158,7 +164,8 @@ "faces": { "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -182,7 +189,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -207,7 +215,8 @@ "faces": { "north": { "cullface": "north", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -231,7 +240,8 @@ }, "faces": { "north": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -256,7 +266,8 @@ "faces": { "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -280,7 +291,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -308,10 +320,12 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -321,6 +335,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -331,6 +346,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -363,6 +379,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -394,7 +411,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -422,11 +440,13 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -436,6 +456,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -445,6 +466,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -477,6 +499,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -508,7 +531,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -537,6 +561,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -545,11 +570,13 @@ ] }, "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -559,6 +586,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -591,6 +619,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -623,6 +652,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -657,6 +687,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -666,6 +697,7 @@ }, "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -676,6 +708,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -685,6 +718,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -717,6 +751,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -749,6 +784,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -782,6 +818,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -791,6 +828,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -800,11 +838,13 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -837,6 +877,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -868,7 +909,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -897,6 +939,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -906,6 +949,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -915,6 +959,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -924,7 +969,8 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -951,6 +997,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -982,7 +1029,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1010,6 +1058,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1020,6 +1069,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1029,10 +1079,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1065,6 +1117,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1096,7 +1149,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1124,6 +1178,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1134,6 +1189,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1143,10 +1199,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1179,6 +1237,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1210,7 +1269,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1237,11 +1297,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1251,6 +1313,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1261,6 +1324,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1293,6 +1357,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1325,6 +1390,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1357,11 +1423,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1372,6 +1440,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1381,6 +1450,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1413,6 +1483,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1445,6 +1516,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1478,6 +1550,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1487,10 +1560,12 @@ }, "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1500,7 +1575,8 @@ }, "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1526,7 +1602,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1552,7 +1629,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1580,6 +1658,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1590,6 +1669,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1600,6 +1680,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1609,6 +1690,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1641,6 +1723,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1673,6 +1756,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1698,7 +1782,7 @@ "loader": "twilightforest:force_field", "render_type": "minecraft:translucent", "textures": { - "pane": "twilightforest:block/orange_force_field", - "particle": "twilightforest:block/orange_force_field" + "pane": "twilightforest:block/forcefield", + "particle": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json index 857cfe5eb5..789cba106c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/pink_force_field.json @@ -11,7 +11,8 @@ "faces": { "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -35,7 +36,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -60,7 +62,8 @@ "faces": { "east": { "cullface": "east", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -84,7 +87,8 @@ }, "faces": { "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -109,7 +113,8 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -133,7 +138,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -158,7 +164,8 @@ "faces": { "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -182,7 +189,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -207,7 +215,8 @@ "faces": { "north": { "cullface": "north", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -231,7 +240,8 @@ }, "faces": { "north": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -256,7 +266,8 @@ "faces": { "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -280,7 +291,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -308,10 +320,12 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -321,6 +335,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -331,6 +346,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -363,6 +379,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -394,7 +411,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -422,11 +440,13 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -436,6 +456,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -445,6 +466,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -477,6 +499,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -508,7 +531,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -537,6 +561,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -545,11 +570,13 @@ ] }, "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -559,6 +586,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -591,6 +619,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -623,6 +652,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -657,6 +687,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -666,6 +697,7 @@ }, "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -676,6 +708,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -685,6 +718,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -717,6 +751,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -749,6 +784,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -782,6 +818,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -791,6 +828,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -800,11 +838,13 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -837,6 +877,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -868,7 +909,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -897,6 +939,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -906,6 +949,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -915,6 +959,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -924,7 +969,8 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -951,6 +997,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -982,7 +1029,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1010,6 +1058,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1020,6 +1069,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1029,10 +1079,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1065,6 +1117,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1096,7 +1149,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1124,6 +1178,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1134,6 +1189,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1143,10 +1199,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1179,6 +1237,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1210,7 +1269,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1237,11 +1297,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1251,6 +1313,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1261,6 +1324,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1293,6 +1357,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1325,6 +1390,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1357,11 +1423,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1372,6 +1440,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1381,6 +1450,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1413,6 +1483,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1445,6 +1516,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1478,6 +1550,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1487,10 +1560,12 @@ }, "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1500,7 +1575,8 @@ }, "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1526,7 +1602,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1552,7 +1629,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1580,6 +1658,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1590,6 +1669,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1600,6 +1680,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1609,6 +1690,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1641,6 +1723,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1673,6 +1756,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1698,7 +1782,7 @@ "loader": "twilightforest:force_field", "render_type": "minecraft:translucent", "textures": { - "pane": "twilightforest:block/pink_force_field", - "particle": "twilightforest:block/pink_force_field" + "pane": "twilightforest:block/forcefield", + "particle": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json index e103d084f9..789cba106c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/block/violet_force_field.json @@ -11,7 +11,8 @@ "faces": { "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -35,7 +36,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -60,7 +62,8 @@ "faces": { "east": { "cullface": "east", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -84,7 +87,8 @@ }, "faces": { "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -109,7 +113,8 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -133,7 +138,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -158,7 +164,8 @@ "faces": { "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -182,7 +189,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -207,7 +215,8 @@ "faces": { "north": { "cullface": "north", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -231,7 +240,8 @@ }, "faces": { "north": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -256,7 +266,8 @@ "faces": { "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -280,7 +291,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -308,10 +320,12 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -321,6 +335,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -331,6 +346,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -363,6 +379,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -394,7 +411,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -422,11 +440,13 @@ "faces": { "down": { "cullface": "down", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -436,6 +456,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -445,6 +466,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -477,6 +499,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -508,7 +531,8 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -537,6 +561,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -545,11 +570,13 @@ ] }, "east": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -559,6 +586,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -591,6 +619,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -623,6 +652,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -657,6 +687,7 @@ "down": { "cullface": "down", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -666,6 +697,7 @@ }, "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 0.0, @@ -676,6 +708,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -685,6 +718,7 @@ }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 0.0, @@ -717,6 +751,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 0.0, @@ -749,6 +784,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -782,6 +818,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -791,6 +828,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -800,11 +838,13 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -837,6 +877,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -868,7 +909,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -897,6 +939,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -906,6 +949,7 @@ }, "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -915,6 +959,7 @@ }, "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -924,7 +969,8 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -951,6 +997,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -982,7 +1029,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1010,6 +1058,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1020,6 +1069,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1029,10 +1079,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1065,6 +1117,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1096,7 +1149,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1124,6 +1178,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1134,6 +1189,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1143,10 +1199,12 @@ }, "up": { "cullface": "up", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1179,6 +1237,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 7.0, 9.0, @@ -1210,7 +1269,8 @@ }, "faces": { "up": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1237,11 +1297,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1251,6 +1313,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1261,6 +1324,7 @@ "west": { "cullface": "west", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1293,6 +1357,7 @@ "faces": { "west": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1325,6 +1390,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1357,11 +1423,13 @@ }, "faces": { "down": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1372,6 +1440,7 @@ "north": { "cullface": "north", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1381,6 +1450,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1413,6 +1483,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1445,6 +1516,7 @@ "faces": { "north": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1478,6 +1550,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1487,10 +1560,12 @@ }, "south": { "cullface": "south", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1500,7 +1575,8 @@ }, "west": { "cullface": "west", - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1526,7 +1602,8 @@ }, "faces": { "west": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1552,7 +1629,8 @@ }, "faces": { "south": { - "texture": "#pane" + "texture": "#pane", + "tintindex": 0 } }, "from": [ @@ -1580,6 +1658,7 @@ "faces": { "down": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 9.0, @@ -1590,6 +1669,7 @@ "east": { "cullface": "east", "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1600,6 +1680,7 @@ "south": { "cullface": "south", "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1609,6 +1690,7 @@ }, "up": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 9.0, @@ -1641,6 +1723,7 @@ "faces": { "east": { "texture": "#pane", + "tintindex": 0, "uv": [ 9.0, 7.0, @@ -1673,6 +1756,7 @@ "faces": { "south": { "texture": "#pane", + "tintindex": 0, "uv": [ 0.0, 7.0, @@ -1698,7 +1782,7 @@ "loader": "twilightforest:force_field", "render_type": "minecraft:translucent", "textures": { - "pane": "twilightforest:block/violet_force_field", - "particle": "twilightforest:block/violet_force_field" + "pane": "twilightforest:block/forcefield", + "particle": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json index b0c8349e94..8eda0be0e2 100644 --- a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "twilightforest:block/blue_force_field" + "layer0": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json index e4fa75ea98..8eda0be0e2 100644 --- a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "twilightforest:block/green_force_field" + "layer0": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json index 1cb3d080f7..8eda0be0e2 100644 --- a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "twilightforest:block/orange_force_field" + "layer0": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json index c9b77d4989..8eda0be0e2 100644 --- a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "twilightforest:block/pink_force_field" + "layer0": "twilightforest:block/forcefield" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json index 855879a249..8eda0be0e2 100644 --- a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "twilightforest:block/violet_force_field" + "layer0": "twilightforest:block/forcefield" } } \ No newline at end of file From f590bc2711ccbabf23db7caf97c399bc549deba0 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 25 Apr 2025 22:23:57 -0600 Subject: [PATCH 195/239] hmm yes quite cursed --- .../client/renderer/block/TrophyRenderer.java | 44 ++++++++++++++++--- .../special/TrophySpecialRenderer.java | 29 ++++++------ 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java index 875b6bb3d6..6a9ad6be51 100644 --- a/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java +++ b/src/main/java/twilightforest/client/renderer/block/TrophyRenderer.java @@ -2,15 +2,20 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.Util; +import net.minecraft.client.Minecraft; import net.minecraft.client.model.geom.EntityModelSet; +import net.minecraft.client.model.geom.ModelLayerLocation; +import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.core.Direction; +import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; +import twilightforest.TwilightForestMod; import twilightforest.block.AbstractTrophyBlock; import twilightforest.block.TrophyBlock; import twilightforest.block.TrophyWallBlock; @@ -18,13 +23,14 @@ import twilightforest.client.model.TFModelLayers; import twilightforest.client.model.entity.*; import twilightforest.enums.BossVariant; -import twilightforest.init.TFBlocks; +import twilightforest.init.TFEntities; +import java.util.function.BiFunction; import java.util.function.Function; public class TrophyRenderer implements BlockEntityRenderer { - private final Function modelByType; + protected final Function modelByType; public TrophyRenderer(BlockEntityRendererProvider.Context context) { this.modelByType = Util.memoize(variant -> createTrophyModel(context.getModelSet(), variant)); @@ -32,6 +38,36 @@ public TrophyRenderer(BlockEntityRendererProvider.Context context) { @Nullable public static TrophyBlockModel createTrophyModel(EntityModelSet set, BossVariant variant) { + return createTrophyModel((type, layer) -> { + //holy fucking shit what + try { + return (TrophyBlockModel) ((LivingEntityRenderer) + Minecraft.getInstance().getEntityRenderDispatcher().renderers.get(type)).getModel().getClass().getDeclaredConstructor(ModelPart.class).newInstance(set.bakeLayer(layer)); + } catch (Exception e) { + TwilightForestMod.LOGGER.warn("Failed to create trophy renderer for entity {}, using fallback", type.getDescription().getString()); + return createFallback(set, variant); + } + }, variant); + } + + @Nullable + public static TrophyBlockModel createTrophyModel(BiFunction, ModelLayerLocation, TrophyBlockModel> modelFunction, BossVariant variant) { + return switch (variant) { + case NAGA -> modelFunction.apply(TFEntities.NAGA.get(), TFModelLayers.NAGA_TROPHY); + case LICH -> modelFunction.apply(TFEntities.LICH.get(), TFModelLayers.LICH_TROPHY); + case MINOSHROOM -> modelFunction.apply(TFEntities.MINOSHROOM.get(), TFModelLayers.MINOSHROOM_TROPHY); + case HYDRA -> new HydraHeadModel(Minecraft.getInstance().getEntityModels().bakeLayer(TFModelLayers.HYDRA_TROPHY)); //special case: doesn't use the base entity model + case KNIGHT_PHANTOM -> modelFunction.apply(TFEntities.KNIGHT_PHANTOM.get(),TFModelLayers.KNIGHT_PHANTOM_TROPHY); + case UR_GHAST -> modelFunction.apply(TFEntities.UR_GHAST.get(), TFModelLayers.UR_GHAST_TROPHY); + case ALPHA_YETI -> modelFunction.apply(TFEntities.ALPHA_YETI.get(), TFModelLayers.ALPHA_YETI_TROPHY); + case SNOW_QUEEN -> modelFunction.apply(TFEntities.SNOW_QUEEN.get(), TFModelLayers.SNOW_QUEEN_TROPHY); + case QUEST_RAM -> modelFunction.apply(TFEntities.QUEST_RAM.get(), TFModelLayers.QUEST_RAM_TROPHY); + case FINAL_BOSS -> null; //lol + }; + } + + @Nullable + public static TrophyBlockModel createFallback(EntityModelSet set, BossVariant variant) { return switch (variant) { case NAGA -> new NagaModel<>(set.bakeLayer(TFModelLayers.NAGA_TROPHY)); case LICH -> new LichModel(set.bakeLayer(TFModelLayers.LICH_TROPHY)); @@ -46,8 +82,6 @@ public static TrophyBlockModel createTrophyModel(EntityModelSet set, BossVariant }; } - public static final ItemStack stack = new ItemStack(TFBlocks.NAGA_TROPHY.get()); - @Override public void render(TrophyBlockEntity entity, float partialTicks, PoseStack stack, MultiBufferSource buffer, int light, int overlay) { float f = entity.getAnimationProgress(partialTicks); diff --git a/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java b/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java index 24602ae4cd..f5359280f5 100644 --- a/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java +++ b/src/main/java/twilightforest/client/renderer/special/TrophySpecialRenderer.java @@ -19,22 +19,26 @@ import javax.annotation.Nullable; import java.util.Optional; +import java.util.function.Function; -public record TrophySpecialRenderer(TrophyBlockModel trophy, Optional fixedRotation) implements NoDataSpecialModelRenderer { +public record TrophySpecialRenderer(Function trophy, BossVariant variant, Optional fixedRotation) implements NoDataSpecialModelRenderer { @Override public void render(ItemDisplayContext context, PoseStack stack, MultiBufferSource source, int light, int overlay, boolean foil) { + TrophyBlockModel model = this.trophy().apply(this.variant()); float rotation = this.fixedRotation.orElse(TFConfig.rotateTrophyHeadsGui && !Minecraft.getInstance().isPaused() ? (int) (Util.getMillis() / 35) : 0); float animation = !Minecraft.getInstance().isPaused() ? (int) (Util.getMillis() / 30) + Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaTicks() : 0; - if (context == ItemDisplayContext.GUI) { - stack.pushPose(); - stack.translate(0.5F, 0.5F, 0.5F); - stack.mulPose(Axis.YN.rotationDegrees(rotation)); - stack.translate(-0.5F, -0.5F, -0.5F); - TrophyRenderer.render(null, 180.0F, this.trophy, false, animation, stack, source, light, overlay, context); - stack.popPose(); - } else { - TrophyRenderer.render(null, 180.0F, this.trophy, false, animation, stack, source, light, overlay, context); + if (model != null) { + if (context == ItemDisplayContext.GUI) { + stack.pushPose(); + stack.translate(0.5F, 0.5F, 0.5F); + stack.mulPose(Axis.YN.rotationDegrees(rotation)); + stack.translate(-0.5F, -0.5F, -0.5F); + TrophyRenderer.render(null, 180.0F, model, false, animation, stack, source, light, overlay, context); + stack.popPose(); + } else { + TrophyRenderer.render(null, 180.0F, model, false, animation, stack, source, light, overlay, context); + } } } @@ -53,11 +57,10 @@ public MapCodec type() { return MAP_CODEC; } - @Nullable @Override public SpecialModelRenderer bake(EntityModelSet set) { - TrophyBlockModel model = TrophyRenderer.createTrophyModel(set, this.variant()); - return model != null ? new TrophySpecialRenderer(model, this.fixedRotation()) : null; + Function model = Util.memoize(variant -> TrophyRenderer.createTrophyModel(set, variant)); + return new TrophySpecialRenderer(model, variant, this.fixedRotation()); } } } From f574558dd711c77f722bce042fe276fe3a192863 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Thu, 1 May 2025 23:42:26 +0200 Subject: [PATCH 196/239] Port restriction rendering --- .../client/renderer/TFWeatherRenderer.java | 77 ++++++++----------- 1 file changed, 31 insertions(+), 46 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index 2fe3e28534..5a2f1075a1 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -9,6 +9,7 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.CoreShaders; import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.RenderType; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.SectionPos; @@ -39,7 +40,10 @@ import twilightforest.util.IntervalUtils; import twilightforest.util.Restriction; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Optional; /** * Copypasta of LevelRenderer.renderRainSnow() hacked to include progression environmental effects @@ -99,9 +103,6 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel int py = Mth.floor(camera.y()); int pz = Mth.floor(camera.z()); - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder bufferBuilder = null; - RenderSystem.disableCull(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); @@ -114,7 +115,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel RenderSystem.depthMask(Minecraft.useShaderTransparency()); - RenderType currentType = null; + WeatherRenderType currentType = null; float combinedTicks = ticks + partialTicks; RenderSystem.setShader(CoreShaders.PARTICLE); BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(); @@ -147,19 +148,9 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel random.setSeed((long) dx * dx * 3121 + dx * 45238971L ^ (long) dz * dz * 418711 + dz * 13761L); - RenderType nextType = getRenderType(restriction.get()); - if (nextType == null) { - continue; - } - - if (currentType != nextType) { - if (currentType != null) { - BufferUploader.drawWithShader(bufferBuilder.buildOrThrow()); - } - currentType = nextType; - RenderSystem.setShaderTexture(0, nextType.getTextureLocation()); - bufferBuilder = tessellator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); - } + WeatherRenderType nextType = getRenderType(restriction.get()); + if (nextType == null) continue; + if (currentType != nextType) currentType = nextType; double xRange = (double) ((float) dx + 0.5F) - camera.x(); double zRange = (double) ((float) dz + 0.5F) - camera.z(); @@ -173,7 +164,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float countFactor = ((float) (ticks & 511) + partialTicks) / 512.0F; float uFactor = random.nextFloat() + combinedTicks * 0.05F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); - renderEffect(bufferBuilder, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case MOSQUITO -> { float countFactor = 0; @@ -182,26 +173,26 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float red = random.nextFloat() * 0.3F; float green = random.nextFloat() * 0.3F; float blue = random.nextFloat() * 0.3F; - renderEffect(bufferBuilder, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); + renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); } case ASHES -> { float countFactor = -((float) (ticks & 1023) + partialTicks) / 1024.0F; float uFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); float color = random.nextFloat() * 0.2F + 0.8F; - renderEffect(bufferBuilder, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); + renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); } case DARK_STREAM -> { float countFactor = -((ticks & 511) + partialTicks) / 512.0F; float uFactor = 0; //no moving horizontally float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); - renderEffect(bufferBuilder, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case BIG_RAIN -> { float countFactor = ((float) (ticks + dx * dx * 3121 + dx * 45238971 + dz * dz * 418711 + dz * 13761 & 31) + partialTicks) / 32.0F * (3.0F + random.nextFloat()); float uFactor = random.nextFloat(); float vFactor = random.nextFloat(); - renderEffect(bufferBuilder, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); + renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); } } } @@ -209,10 +200,6 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel } } - if (currentType != null) { - BufferUploader.drawWithShader(bufferBuilder.buildOrThrow()); - } - RenderSystem.enableCull(); RenderSystem.disableBlend(); } @@ -339,29 +326,27 @@ private static List> getRainIntervals(int x, int z, Bound return intervals; } - private static void renderEffect(BufferBuilder bufferBuilder, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { - int blockLight = light >> 16 & 65535; - int skyLight = light & 65535; - bufferBuilder + private static void renderEffect(VertexConsumer consumer, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { + consumer .addVertex((float) (dx - camera.x() - rainX + 0.5F), (float) (minY - camera.y()), (float) (dz - camera.z() - rainZ + 0.5F)) .setUv(0.0F + uFactor, minY * 0.25F + countFactor + vFactor) .setColor(color[0], color[1], color[2], color[3]) - .setUv2(blockLight, skyLight); - bufferBuilder + .setLight(light); + consumer .addVertex((float) (dx - camera.x() + rainX + 0.5F), (float) (minY - camera.y()), (float) (dz - camera.z() + rainZ + 0.5F)) .setUv(1.0F + uFactor, minY * 0.25F + countFactor + vFactor) .setColor(color[0], color[1], color[2], color[3]) - .setUv2(blockLight, skyLight); - bufferBuilder + .setLight(light); + consumer .addVertex((float) (dx - camera.x() + rainX + 0.5F), (float) (maxY - camera.y()), (float) (dz - camera.z() + rainZ + 0.5F)) .setUv(1.0F + uFactor, maxY * 0.25F + countFactor + vFactor) .setColor(color[0], color[1], color[2], color[3]) - .setUv2(blockLight, skyLight); - bufferBuilder + .setLight(light); + consumer .addVertex((float) (dx - camera.x() - rainX + 0.5F), (float) (maxY - camera.y()), (float) (dz - camera.z() - rainZ + 0.5F)) .setUv(0.0F + uFactor, maxY * 0.25F + countFactor + vFactor) .setColor(color[0], color[1], color[2], color[3]) - .setUv2(blockLight, skyLight); + .setLight(light); } private static boolean isNearLockedBiome(Level level, Entity viewEntity) { @@ -390,23 +375,23 @@ public static void setProtectedBoxes(@Nullable List> TFWeatherRenderer.boxData = protectedBoxes; } - private static @Nullable RenderType getRenderType(Restriction restriction) { - if (restriction.enforcement().equals(Enforcements.FROST.getKey())) return RenderType.BLIZZARD; - else if (restriction.enforcement().equals(Enforcements.HUNGER.getKey())) return RenderType.MOSQUITO; - else if (restriction.enforcement().equals(Enforcements.FIRE.getKey())) return RenderType.ASHES; - else if (restriction.enforcement().equals(Enforcements.DARKNESS.getKey())) return random.nextBoolean() ? RenderType.DARK_STREAM : null; - else if (restriction.enforcement().equals(Enforcements.ACID_RAIN.getKey())) return RenderType.BIG_RAIN; + private static @Nullable TFWeatherRenderer.WeatherRenderType getRenderType(Restriction restriction) { + if (restriction.enforcement().equals(Enforcements.FROST.getKey())) return WeatherRenderType.BLIZZARD; + else if (restriction.enforcement().equals(Enforcements.HUNGER.getKey())) return WeatherRenderType.MOSQUITO; + else if (restriction.enforcement().equals(Enforcements.FIRE.getKey())) return WeatherRenderType.ASHES; + else if (restriction.enforcement().equals(Enforcements.DARKNESS.getKey())) return random.nextBoolean() ? WeatherRenderType.DARK_STREAM : null; + else if (restriction.enforcement().equals(Enforcements.ACID_RAIN.getKey())) return WeatherRenderType.BIG_RAIN; return null; } - private enum RenderType { + private enum WeatherRenderType { BLIZZARD("blizzard.png"), MOSQUITO("mosquitoes.png"), ASHES("ashes.png"), DARK_STREAM("darkstream.png"), BIG_RAIN("bigrain.png"); - RenderType(String textureName) { + WeatherRenderType(String textureName) { this.textureLocation = TwilightForestMod.getEnvTexture(textureName); } From ca7c50162ed86f1592ae66758e1e29d378ebf1ee Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Thu, 1 May 2025 23:45:40 +0200 Subject: [PATCH 197/239] better? --- .../client/renderer/TFWeatherRenderer.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index 5a2f1075a1..7db4491cb0 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -164,7 +164,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float countFactor = ((float) (ticks & 511) + partialTicks) / 512.0F; float uFactor = random.nextFloat() + combinedTicks * 0.05F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); - renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case MOSQUITO -> { float countFactor = 0; @@ -173,26 +173,26 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float red = random.nextFloat() * 0.3F; float green = random.nextFloat() * 0.3F; float blue = random.nextFloat() * 0.3F; - renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); + renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); } case ASHES -> { float countFactor = -((float) (ticks & 1023) + partialTicks) / 1024.0F; float uFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); float color = random.nextFloat() * 0.2F + 0.8F; - renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); + renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); } case DARK_STREAM -> { float countFactor = -((ticks & 511) + partialTicks) / 512.0F; float uFactor = 0; //no moving horizontally float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); - renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case BIG_RAIN -> { float countFactor = ((float) (ticks + dx * dx * 3121 + dx * 45238971 + dz * dz * 418711 + dz * 13761 & 31) + partialTicks) / 32.0F * (3.0F + random.nextFloat()); float uFactor = random.nextFloat(); float vFactor = random.nextFloat(); - renderEffect(Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(nextType.getTextureLocation(), Minecraft.useShaderTransparency())), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); + renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); } } } @@ -326,7 +326,8 @@ private static List> getRainIntervals(int x, int z, Bound return intervals; } - private static void renderEffect(VertexConsumer consumer, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { + private static void renderEffect(WeatherRenderType type, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { + VertexConsumer consumer = Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(type.getTextureLocation(), Minecraft.useShaderTransparency())); consumer .addVertex((float) (dx - camera.x() - rainX + 0.5F), (float) (minY - camera.y()), (float) (dz - camera.z() - rainZ + 0.5F)) .setUv(0.0F + uFactor, minY * 0.25F + countFactor + vFactor) From 9d5b7616f78c9805ed0ea3e22be25bd808a1c591 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Thu, 1 May 2025 23:49:08 +0200 Subject: [PATCH 198/239] this time for sure --- .../client/renderer/TFWeatherRenderer.java | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java index 7db4491cb0..d8311b8efa 100644 --- a/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java +++ b/src/main/java/twilightforest/client/renderer/TFWeatherRenderer.java @@ -164,7 +164,7 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float countFactor = ((float) (ticks & 511) + partialTicks) / 512.0F; float uFactor = random.nextFloat() + combinedTicks * 0.05F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); - renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(currentType.getTextureLocation(), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case MOSQUITO -> { float countFactor = 0; @@ -173,26 +173,26 @@ private static void renderLockedBiome(int ticks, float partialTicks, ClientLevel float red = random.nextFloat() * 0.3F; float green = random.nextFloat() * 0.3F; float blue = random.nextFloat() * 0.3F; - renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); + renderEffect(currentType.getTextureLocation(), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{red, green, blue, 1.0F}, fullbright); } case ASHES -> { float countFactor = -((float) (ticks & 1023) + partialTicks) / 1024.0F; float uFactor = random.nextFloat() + combinedTicks * 0.0025F * (float) random.nextGaussian(); float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); float color = random.nextFloat() * 0.2F + 0.8F; - renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); + renderEffect(currentType.getTextureLocation(), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{color, color, color, alpha}, fullbright); } case DARK_STREAM -> { float countFactor = -((ticks & 511) + partialTicks) / 512.0F; float uFactor = 0; //no moving horizontally float vFactor = random.nextFloat() + combinedTicks * 0.005F * (float) random.nextGaussian(); - renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); + renderEffect(currentType.getTextureLocation(), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, fullbright); } case BIG_RAIN -> { float countFactor = ((float) (ticks + dx * dx * 3121 + dx * 45238971 + dz * dz * 418711 + dz * 13761 & 31) + partialTicks) / 32.0F * (3.0F + random.nextFloat()); float uFactor = random.nextFloat(); float vFactor = random.nextFloat(); - renderEffect(currentType, rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); + renderEffect(currentType.getTextureLocation(), rainX, rainZ, minY, maxY, camera, dx, dz, countFactor, uFactor, vFactor, new float[]{1.0F, 1.0F, 1.0F, alpha}, worldBrightness); } } } @@ -225,9 +225,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, Vec3 ca pBoxOld = pBox; } - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder bufferbuilder = null; - RenderSystem.disableCull(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); @@ -249,8 +246,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, Vec3 ca if (drawFlag != 0) { drawFlag = 0; RenderSystem.setShader(CoreShaders.PARTICLE); - RenderSystem.setShaderTexture(0, SPARKLES_TEXTURE); - bufferbuilder = tessellator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); } float countFactor = ((ticks & 511) + partialTicks) / 512.0F; @@ -262,7 +257,7 @@ private static void renderLockedStructure(int ticks, float partialTicks, Vec3 ca float alpha = ((1.0F - distanceFromPlayer * distanceFromPlayer) * 0.3F + 0.5F) * random.nextFloat(); renderEffect( - bufferbuilder, + SPARKLES_TEXTURE, rainxs[(z - pz + 16) * 32 + x - px + 16] * 0.5, rainzs[(z - pz + 16) * 32 + x - px + 16] * 0.5, rainMin, rainMax, @@ -275,10 +270,6 @@ private static void renderLockedStructure(int ticks, float partialTicks, Vec3 ca } } - if (drawFlag == 0) { - BufferUploader.drawWithShader(bufferbuilder.buildOrThrow()); - } - RenderSystem.enableCull(); RenderSystem.disableBlend(); } @@ -326,8 +317,8 @@ private static List> getRainIntervals(int x, int z, Bound return intervals; } - private static void renderEffect(WeatherRenderType type, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { - VertexConsumer consumer = Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(type.getTextureLocation(), Minecraft.useShaderTransparency())); + private static void renderEffect(ResourceLocation type, double rainX, double rainZ, int minY, int maxY, Vec3 camera, int dx, int dz, float countFactor, float uFactor, float vFactor, float[] color, int light) { + VertexConsumer consumer = Minecraft.getInstance().renderBuffers().bufferSource().getBuffer(RenderType.weather(type, Minecraft.useShaderTransparency())); consumer .addVertex((float) (dx - camera.x() - rainX + 0.5F), (float) (minY - camera.y()), (float) (dz - camera.z() - rainZ + 0.5F)) .setUv(0.0F + uFactor, minY * 0.25F + countFactor + vFactor) From fa4eadbfabf6247ed614dd8c026655d0414357f6 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Wed, 7 May 2025 20:12:06 +0200 Subject: [PATCH 199/239] Fix crumble horn being weirdly offset --- .../java/twilightforest/item/CrumbleHornItem.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/twilightforest/item/CrumbleHornItem.java b/src/main/java/twilightforest/item/CrumbleHornItem.java index 702bbdd95e..06969a141d 100644 --- a/src/main/java/twilightforest/item/CrumbleHornItem.java +++ b/src/main/java/twilightforest/item/CrumbleHornItem.java @@ -69,14 +69,14 @@ public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStac } private void doCrumble(ServerLevel serverLevel, LivingEntity living, ItemStack stack) { - final double range = 3.0D; - final double radius = 2.0D; + final double centerDistance = 3.0D; + final int radius = 2; - Vec3 srcVec = new Vec3(living.getX(), living.getY() + living.getEyeHeight(), living.getZ()); - Vec3 lookVec = living.getLookAngle().scale(range); - Vec3 destVec = srcVec.add(lookVec); + Vec3 eyePosition = living.getEyePosition(); + Vec3 lookVec = living.getLookAngle().scale(centerDistance); + BlockPos center = BlockPos.containing(eyePosition.add(lookVec)); - AABB crumbleBox = new AABB(destVec.x() - radius, destVec.y() - radius, destVec.z() - radius, destVec.x() + radius, destVec.y() + radius, destVec.z() + radius); + AABB crumbleBox = AABB.encapsulatingFullBlocks(center.offset(-radius, -radius, -radius), center.offset(radius - 1, radius - 1, radius - 1)); this.crumbleBlocksInAABB(serverLevel, living, crumbleBox, stack); } From 50182bf3b803610f6378a59f889444e4f63d79eb Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Fri, 9 May 2025 23:29:48 +0200 Subject: [PATCH 200/239] Fix CT models culling faces for no reason --- .../assets/models/BlockModelGenerator.java | 8 ++-- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 4 +- .../models/block/coronation_carpet.json | 5 ++- .../connected/ConnectedTextureBuilder.java | 13 ++++++ .../connected/ConnectedTextureModel.java | 44 +++++++++++-------- .../ConnectedTextureModelLoader.java | 13 +++--- .../UnbakedConnectedTextureModel.java | 16 ++++--- 7 files changed, 65 insertions(+), 38 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 87f783b780..9b5ab76abf 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -80,9 +80,9 @@ public void run() { this.registerSimpleFlatItemModel(TFBlocks.ROOT_STRAND.get()); this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.FALLEN_LEAVES.get()).with( PropertyDispatch.property(BlockStateProperties.LAYERS).generate(layer -> Variant.variant().with(VariantProperties.MODEL, ModelTemplates.create("block", String.valueOf(layer), TextureSlot.TEXTURE, TextureSlot.PARTICLE) - .extend().element(builder -> builder.from(0.0F, 0.0F, 0.0F).to(16.0F, layer == 1 ? 0.2F : (layer - 1) * 2, 16.0F) - .allFacesExcept((direction, face) -> face.tintindex(0).texture(TextureSlot.TEXTURE), Set.of(Direction.DOWN)) - .face(Direction.DOWN, face -> face.cullface(Direction.DOWN).texture(TextureSlot.TEXTURE).tintindex(0))).build().create(TFBlocks.FALLEN_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), this.modelOutput))))); + .extend().element(builder -> builder.from(0.0F, 0.0F, 0.0F).to(16.0F, layer == 1 ? 0.2F : (layer - 1) * 2, 16.0F) + .allFacesExcept((direction, face) -> face.tintindex(0).texture(TextureSlot.TEXTURE), Set.of(Direction.DOWN)) + .face(Direction.DOWN, face -> face.cullface(Direction.DOWN).texture(TextureSlot.TEXTURE).tintindex(0))).build().create(TFBlocks.FALLEN_LEAVES.get(), TextureMapping.cube(Blocks.OAK_LEAVES), this.modelOutput))))); this.registerSimpleTintedItemModel(TFBlocks.FALLEN_LEAVES.get(), this.createFlatItemModelWithBlockTexture(TFBlocks.FALLEN_LEAVES.asItem(), Blocks.OAK_LEAVES), ItemModelUtils.constantTint(-12012264)); this.nagaStone(); @@ -93,7 +93,7 @@ public void run() { this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); - this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block).addConnectionFaces(Direction.UP, Direction.DOWN).createElement(new Vector3f(0, 0, 0), new Vector3f(16, 1, 16))).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block).addConnectionFaces(Direction.UP, Direction.DOWN).addUnculledFaces(Direction.UP).createElement(new Vector3f(0, 0, 0), new Vector3f(16, 1, 16))).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 6962152e1d..ec15c38d2c 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-25T22:14:15.626498 Model Definitions - twilightforest +// 1.21.4 2025-05-09T23:14:17.1153832 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -1247,7 +1247,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json 9f51bf0f611143e552b26bdd9e89435b03437159 assets/twilightforest/models/block/cinder_wood.json cf325abb60b30b02e30a9a775ff09406f629d13d assets/twilightforest/models/block/clover_patch.json -771c5abff1cdc13f88168a1df7d31a732e42b088 assets/twilightforest/models/block/coronation_carpet.json +4289ea8d3d433e4cac23be7d7242304e38280b30 assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json diff --git a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json index 7dc0fb746f..bc9e5050a5 100644 --- a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json +++ b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json @@ -27,5 +27,8 @@ "overlay_connected": "twilightforest:block/coronation_carpet_ctm", "overlay_texture": "twilightforest:block/coronation_carpet", "particle": "twilightforest:block/coronation_carpet" - } + }, + "unculled_faces": [ + "up" + ] } \ No newline at end of file diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java index 77c8352d6e..b44ed0d91e 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java @@ -24,6 +24,7 @@ public class ConnectedTextureBuilder extends CustomLoaderBuilder { @Nullable private Pair element; private boolean renderOnDisabledFaces = true; + private List unculledFaces = new ArrayList<>(); private int baseTintIndex = -1; private int baseEmissivity = 0; @@ -53,6 +54,11 @@ public ConnectedTextureBuilder disableRenderingOnDisabledFaces() { return this; } + public ConnectedTextureBuilder addUnculledFaces(Direction... faces) { + this.unculledFaces.addAll(List.of(faces)); + return this; + } + public ConnectedTextureBuilder setBaseTintIndex(int index) { this.baseTintIndex = index; return this; @@ -93,6 +99,7 @@ protected ConnectedTextureBuilder copyInternal() { builder.connectableTags = List.copyOf(this.connectableTags); builder.element = this.element; builder.renderOnDisabledFaces = this.renderOnDisabledFaces; + builder.unculledFaces = List.copyOf(this.unculledFaces); builder.baseTintIndex = this.baseTintIndex; builder.baseEmissivity = this.baseEmissivity; builder.tintIndex = this.tintIndex; @@ -130,6 +137,12 @@ public JsonObject toJson(JsonObject json) { json.add("connected_texture", overlayInfo); } + if (!this.unculledFaces.isEmpty()) { + JsonArray array = new JsonArray(); + this.unculledFaces.forEach(face -> array.add(face.getName())); + json.add("unculled_faces", array); + } + if (!this.connectableTags.isEmpty() || !this.connectableBlocks.isEmpty()) { JsonArray connectables = new JsonArray(); if (!this.connectableBlocks.isEmpty()) { diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index 35d2e6e68a..b2afc58330 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -26,6 +26,7 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final EnumSet enabledFaces; + private final EnumSet unculledFaces; private final boolean renderOnDisabledFaces; private final List@Nullable[] baseQuads; private final BakedQuad[][][] quads; @@ -40,8 +41,9 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final List validConnectors; private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { + public ConnectedTextureModel(EnumSet enabledFaces, EnumSet unculledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { this.enabledFaces = enabledFaces; + this.unculledFaces = unculledFaces; this.renderOnDisabledFaces = renderOnDisabledFaces; this.validConnectors = connectableBlocks; this.baseQuads = baseQuads; @@ -57,27 +59,29 @@ public ConnectedTextureModel(EnumSet enabledFaces, boolean renderOnDi @NotNull @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, @NotNull RandomSource random, @NotNull ModelData extraData, @Nullable RenderType type) { - if (side != null) { - int faceIndex = side.get3DDataValue(); - ConnectedTextureData data = extraData.get(DATA); - ArrayList quads = new ArrayList<>(4 + (this.baseQuads != null ? 4 : 0)); - if (this.baseQuads != null) { - quads.addAll(this.baseQuads[faceIndex]); - } + if (side == null) { + List quadList = new ArrayList<>(); + for (Direction direction : this.unculledFaces) quadList.addAll(this.getQuadsForFace(direction, extraData)); + return quadList; + } else return this.getQuadsForFace(side, extraData); + } - if (this.enabledFaces.contains(side) || this.renderOnDisabledFaces) { - for (int quad = 0; quad < 4; ++quad) { - //if our model data is null (happens for items) we can skip connected textures since we dont have the info we need - //i'd rather do this than crash the game or skip rendering the block entirely - ConnectionLogic connectionType = data != null && this.enabledFaces.contains(side) ? data.logic[faceIndex][quad] : ConnectionLogic.NONE; - quads.add(this.quads[faceIndex][quad][connectionType.ordinal()]); - } + public List getQuadsForFace(Direction side, @NotNull ModelData extraData) { + int faceIndex = side.get3DDataValue(); + ConnectedTextureData data = extraData.get(DATA); + ArrayList quads = new ArrayList<>(4 + (this.baseQuads != null ? 4 : 0)); + if (this.baseQuads != null) quads.addAll(this.baseQuads[faceIndex]); + + if (this.enabledFaces.contains(side) || this.renderOnDisabledFaces) { + for (int quad = 0; quad < 4; ++quad) { + //if our model data is null (happens for items) we can skip connected textures since we dont have the info we need + //i'd rather do this than crash the game or skip rendering the block entirely + ConnectionLogic connectionType = data != null && this.enabledFaces.contains(side) ? data.logic[faceIndex][quad] : ConnectionLogic.NONE; + quads.add(this.quads[faceIndex][quad][connectionType.ordinal()]); } - - return quads; - } else { - return List.of(); } + + return quads; } @NotNull @@ -110,11 +114,13 @@ public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull Block private boolean shouldConnectSide(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side) { BlockState neighborState = getter.getBlockState(pos.relative(side)); + if (this.unculledFaces.contains(face)) return this.validConnectors.stream().anyMatch(neighborState::is); return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos.relative(face), neighborState, getter.getBlockState(pos.relative(face)), face); } private boolean isCornerBlockPresent(BlockAndTintGetter getter, BlockPos pos, Direction face, Direction side1, Direction side2) { BlockState neighborState = getter.getBlockState(pos.relative(side1).relative(side2)); + if (this.unculledFaces.contains(face)) return this.validConnectors.stream().anyMatch(neighborState::is); return this.validConnectors.stream().anyMatch(neighborState::is) && Block.shouldRenderFace(getter, pos.relative(face), neighborState, getter.getBlockState(pos.relative(face)), face); } diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index f46f12af50..db677a9ebc 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -10,7 +10,6 @@ import net.minecraft.util.GsonHelper; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedModelLoader; import org.joml.Vector3f; @@ -43,19 +42,21 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat int tintIndex = GsonHelper.getAsInt(overlayInfo, "tint_index", -1); int emissivity = GsonHelper.getAsInt(overlayInfo, "emissivity", 0); boolean renderDisabled = GsonHelper.getAsBoolean(overlayInfo, "render_disabled_faces", true); - EnumSet faces = this.parseEnabledFaces(overlayInfo); + EnumSet faces = this.parseEnabledFaces(overlayInfo, "faces"); + + EnumSet unCulledFaces = this.parseEnabledFaces(jsonObject, "unculled_faces"); List connectables = this.parseConnnectableBlocks(jsonObject); - return new UnbakedConnectedTextureModel(element, faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext)); + return new UnbakedConnectedTextureModel(element, faces, unCulledFaces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext)); } - private EnumSet parseEnabledFaces(JsonObject object) { - if (!object.has("faces")) { + private EnumSet parseEnabledFaces(JsonObject object, String key) { + if (!object.has(key)) { return EnumSet.allOf(Direction.class); } else { EnumSet faces = EnumSet.noneOf(Direction.class); - for (JsonElement element : object.getAsJsonArray("faces")) { + for (JsonElement element : object.getAsJsonArray(key)) { Direction face = Direction.byName(element.getAsString()); if (face == null) { throw new JsonParseException("Invalid face: " + element.getAsString()); diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 73837312f3..f3268af416 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -4,12 +4,13 @@ import com.mojang.math.Transformation; import net.minecraft.client.renderer.block.model.*; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.*; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.client.resources.model.ModelBaker; +import net.minecraft.client.resources.model.ModelState; import net.minecraft.core.Direction; import net.minecraft.core.Vec3i; import net.minecraft.util.context.ContextMap; import net.minecraft.world.level.block.Block; -import net.neoforged.neoforge.client.RenderTypeGroup; import net.neoforged.neoforge.client.model.AbstractUnbakedModel; import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; @@ -29,11 +30,14 @@ public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { protected final List connectableBlocks; protected BlockElement[][] baseElements; protected BlockElement[][][] faceElements; + protected final EnumSet unculledFaces; - public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters) { + public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, EnumSet unculledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters) { super(parameters); //a list of block faces that should have connected textures. this.enabledFaces = enabledFaces; + //a list of block faces that should not be culled. Probably cuz they don't extend to the edge of the block. + this.unculledFaces = unculledFaces; //whether or not the overlay texture should render on disabled faces or not. Defaults to true this.renderOnDisabledFaces = renderOnDisabledFaces; //a list of blocks this block can connect its texture to @@ -62,10 +66,10 @@ public UnbakedConnectedTextureModel(Pair element, EnumSet Date: Fri, 9 May 2025 23:52:44 +0200 Subject: [PATCH 201/239] Dont think this does anything but I didnt mean to change it --- .../model/block/connected/UnbakedConnectedTextureModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index f3268af416..833b891b2a 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -66,10 +66,10 @@ public UnbakedConnectedTextureModel(Pair element, EnumSet Date: Fri, 9 May 2025 23:13:30 -0600 Subject: [PATCH 202/239] auto cull faces, clean up CTM logic slightly --- .../assets/models/BlockModelGenerator.java | 2 +- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 22 +++--- .../models/block/auroralized_glass.json | 1 - .../models/block/blue_castle_door.json | 1 - .../block/blue_castle_door_vanished.json | 1 - .../models/block/coronation_carpet.json | 8 +- .../models/block/pink_castle_door.json | 1 - .../block/pink_castle_door_vanished.json | 1 - .../models/block/violet_castle_door.json | 1 - .../block/violet_castle_door_vanished.json | 1 - .../models/block/yellow_castle_door.json | 1 - .../block/yellow_castle_door_vanished.json | 1 - .../connected/ConnectedTextureBuilder.java | 37 ++++----- .../connected/ConnectedTextureModel.java | 51 +++++------- .../ConnectedTextureModelLoader.java | 6 +- .../UnbakedConnectedTextureModel.java | 78 ++++++++++--------- 16 files changed, 91 insertions(+), 122 deletions(-) diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 9b5ab76abf..1b825ab299 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -93,7 +93,7 @@ public void run() { this.wrapBlockItem(TFBlocks.TWISTED_STONE.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); this.wrapBlockItem(TFBlocks.BOLD_STONE_PILLAR.get(), block -> this.createRotatedPillarWithHorizontalVariant(block, TexturedModel.COLUMN_ALT, TexturedModel.COLUMN_HORIZONTAL_ALT)); - this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block).addConnectionFaces(Direction.UP, Direction.DOWN).addUnculledFaces(Direction.UP).createElement(new Vector3f(0, 0, 0), new Vector3f(16, 1, 16))).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); + this.wrapBlockItem(TFBlocks.CORONATION_CARPET.get(), block -> this.blockStateOutput.accept(createSimpleBlock(block, TFModelTemplates.CTM_NO_BASE.extend().customLoader(ConnectedTextureBuilder::new, builder -> builder.connectsTo(block).addConnectionFaces(Direction.UP, Direction.DOWN).createElement(new Vector3f(0, 0, 0), new Vector3f(16, 1, 16))).build().create(block, TFTextureMapping.ctmBlock(block), this.modelOutput)))); this.stonePillar(); this.wroughtIronFence(); this.terrorcotta(); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index ec15c38d2c..fb858997ea 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-05-09T23:14:17.1153832 Model Definitions - twilightforest +// 1.21.4 2025-05-09T23:10:34.799309 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -1090,7 +1090,7 @@ b755adb2dbabb8d054d4f97a53421008f363c261 assets/twilightforest/models/block/alph 8ed31aa5b028f81d5cb6c0137d5761ab3ca46ba3 assets/twilightforest/models/block/antibuilder.json 5f3dddeb78aae02d98087a676ba8a366f5b15e50 assets/twilightforest/models/block/antibuilt_block.json ba01291db52baea8f2ae16dc9d1951418ffb9ef0 assets/twilightforest/models/block/arctic_fur_block.json -6dfc9202cdce32febcfafdbde9d5453105c9b36d assets/twilightforest/models/block/auroralized_glass.json +11b3b7e5aeb9a1fddb585b3e54d660cda5b3859d assets/twilightforest/models/block/auroralized_glass.json 0d21d32180ab0091e43fea680cd7ce2fc1673233 assets/twilightforest/models/block/aurora_block.json 513f99f9485a8cb87590c9b6a21f57b8d8847d91 assets/twilightforest/models/block/aurora_block_0.json 56e03727fb6c108c796b2122997c9c2f4a6a318e assets/twilightforest/models/block/aurora_block_1.json @@ -1127,8 +1127,8 @@ c01d6f8e556660d31b89e7aeb1041968ba285d10 assets/twilightforest/models/block/birc fcb6ce40a91ccb555156b1c8a0fcd9d01356de1a assets/twilightforest/models/block/birch_banister_short_extended.json 1f4815b512abe55b025b5cbe3ec580094f89503f assets/twilightforest/models/block/birch_banister_tall.json 18766c8d26d7ba0ae13d6b17de869b8158b92d6e assets/twilightforest/models/block/birch_banister_tall_extended.json -755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/blue_castle_door.json -f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/blue_castle_door_vanished.json +aefd2272ee611e85a0f473d772b4a0968d58e013 assets/twilightforest/models/block/blue_castle_door.json +127d269a5a9824230ac4f29d25a12ac8d0aa507a assets/twilightforest/models/block/blue_castle_door_vanished.json ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/blue_castle_rune_brick_0.json a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/blue_castle_rune_brick_1.json 591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/blue_castle_rune_brick_2.json @@ -1247,7 +1247,7 @@ acb126a76db8e72dc7a8a873edfd302210ef357e assets/twilightforest/models/block/chis 84ebc3ecc8e9c6631fdd763658078acdec41b247 assets/twilightforest/models/block/cinder_log_horizontal.json 9f51bf0f611143e552b26bdd9e89435b03437159 assets/twilightforest/models/block/cinder_wood.json cf325abb60b30b02e30a9a775ff09406f629d13d assets/twilightforest/models/block/clover_patch.json -4289ea8d3d433e4cac23be7d7242304e38280b30 assets/twilightforest/models/block/coronation_carpet.json +e9e595e95b7e712007de7300d3ea5949bafe4c7b assets/twilightforest/models/block/coronation_carpet.json 5b6b856b1e975cdc65d1f9e03f83bb313b36b74c assets/twilightforest/models/block/cracked_castle_brick.json 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/cracked_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/cracked_castle_brick_stairs_inner_inner.json @@ -1759,8 +1759,8 @@ d489a1f0147316a3799d54c8cb9891a25b48147f assets/twilightforest/models/block/pale 629ea794ff42369d6781b1599d3c64320355d14f assets/twilightforest/models/block/pale_oak_banister_short_extended.json c7cec0a14cbd4cb74438c3d04dda0e116b9e207b assets/twilightforest/models/block/pale_oak_banister_tall.json cf4dfb070014d616d5569fa0ebc30e71cbe2646a assets/twilightforest/models/block/pale_oak_banister_tall_extended.json -755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/pink_castle_door.json -f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/pink_castle_door_vanished.json +aefd2272ee611e85a0f473d772b4a0968d58e013 assets/twilightforest/models/block/pink_castle_door.json +127d269a5a9824230ac4f29d25a12ac8d0aa507a assets/twilightforest/models/block/pink_castle_door_vanished.json ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/pink_castle_rune_brick_0.json a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/pink_castle_rune_brick_1.json 591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/pink_castle_rune_brick_2.json @@ -2076,8 +2076,8 @@ de826e045489780de0fa64fa1f2ccdfa11bb0fff assets/twilightforest/models/block/vang d73e3a5bbbbcbeb9b7016d1d906dd8ecf565478a assets/twilightforest/models/block/vangrove_banister_tall_extended.json ad76ce55988b4c67b263d382f4009bb659980ca2 assets/twilightforest/models/block/vanishing_block.json 7c6e17fb133f72e6d50832e80cdd48d45c01a0a1 assets/twilightforest/models/block/vanishing_block_on.json -755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/violet_castle_door.json -f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/violet_castle_door_vanished.json +aefd2272ee611e85a0f473d772b4a0968d58e013 assets/twilightforest/models/block/violet_castle_door.json +127d269a5a9824230ac4f29d25a12ac8d0aa507a assets/twilightforest/models/block/violet_castle_door_vanished.json ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/violet_castle_rune_brick_0.json a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/violet_castle_rune_brick_1.json 591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/violet_castle_rune_brick_2.json @@ -2100,8 +2100,8 @@ aae3c42bc50afa1ec4f97c8cdf84e58e109b8a6e assets/twilightforest/models/block/wisp 6a9fff69573a1e88c6d946f99c518a7ed5ee57ce assets/twilightforest/models/block/worn_castle_brick_stairs.json f9231681aa47fdc0ab680e11caab75c72b7191fb assets/twilightforest/models/block/worn_castle_brick_stairs_inner_inner.json 36cc7d5138f6fc57d01071ca30df4b370216f4d7 assets/twilightforest/models/block/worn_castle_brick_stairs_outer_outer.json -755323c3f73ff1510f2f21806478eae61d239c87 assets/twilightforest/models/block/yellow_castle_door.json -f6c3484655ac64a67d31e10ebb972661a9361a27 assets/twilightforest/models/block/yellow_castle_door_vanished.json +aefd2272ee611e85a0f473d772b4a0968d58e013 assets/twilightforest/models/block/yellow_castle_door.json +127d269a5a9824230ac4f29d25a12ac8d0aa507a assets/twilightforest/models/block/yellow_castle_door_vanished.json ed60e5494687acd3e122954f6b6922c66bb8110e assets/twilightforest/models/block/yellow_castle_rune_brick_0.json a7f5a35c2bdbbbcfdb612c825514441ee740c92d assets/twilightforest/models/block/yellow_castle_rune_brick_1.json 591811862cb48fcb037800d32423dbd0fb119ba8 assets/twilightforest/models/block/yellow_castle_rune_brick_2.json diff --git a/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json b/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json index 24f376c994..b386bace8e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json +++ b/src/generated/resources/assets/twilightforest/models/block/auroralized_glass.json @@ -4,7 +4,6 @@ "twilightforest:auroralized_glass" ], "connected_texture": { - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json index a50ecb6d33..497038e446 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json index e32ac6158b..dccfc2ec49 100644 --- a/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json +++ b/src/generated/resources/assets/twilightforest/models/block/blue_castle_door_vanished.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json index bc9e5050a5..5faeaa7356 100644 --- a/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json +++ b/src/generated/resources/assets/twilightforest/models/block/coronation_carpet.json @@ -7,8 +7,7 @@ "faces": [ "up", "down" - ], - "render_disabled_faces": true + ] }, "element": { "from": [ @@ -27,8 +26,5 @@ "overlay_connected": "twilightforest:block/coronation_carpet_ctm", "overlay_texture": "twilightforest:block/coronation_carpet", "particle": "twilightforest:block/coronation_carpet" - }, - "unculled_faces": [ - "up" - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json index a50ecb6d33..497038e446 100644 --- a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json index e32ac6158b..dccfc2ec49 100644 --- a/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json +++ b/src/generated/resources/assets/twilightforest/models/block/pink_castle_door_vanished.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json index a50ecb6d33..497038e446 100644 --- a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json index e32ac6158b..dccfc2ec49 100644 --- a/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json +++ b/src/generated/resources/assets/twilightforest/models/block/violet_castle_door_vanished.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json index a50ecb6d33..497038e446 100644 --- a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json index e32ac6158b..dccfc2ec49 100644 --- a/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json +++ b/src/generated/resources/assets/twilightforest/models/block/yellow_castle_door_vanished.json @@ -8,7 +8,6 @@ ], "connected_texture": { "emissivity": 15, - "render_disabled_faces": true, "tint_index": 0 }, "loader": "twilightforest:connected_texture_block", diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java index b44ed0d91e..5d2acdb209 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureBuilder.java @@ -18,13 +18,12 @@ @SuppressWarnings("unused") public class ConnectedTextureBuilder extends CustomLoaderBuilder { - private List enabledFaces = new ArrayList<>(); + private List connectedFaces = new ArrayList<>(); private List connectableBlocks = new ArrayList<>(); private List> connectableTags = new ArrayList<>(); @Nullable private Pair element; - private boolean renderOnDisabledFaces = true; - private List unculledFaces = new ArrayList<>(); + private boolean renderOverlayOnAllFaces = true; private int baseTintIndex = -1; private int baseEmissivity = 0; @@ -40,7 +39,7 @@ public static ConnectedTextureBuilder begin() { } public ConnectedTextureBuilder addConnectionFaces(Direction... faces) { - this.enabledFaces.addAll(List.of(faces)); + this.connectedFaces.addAll(List.of(faces)); return this; } @@ -49,13 +48,8 @@ public ConnectedTextureBuilder createElement(Vector3f from, Vector3f to) { return this; } - public ConnectedTextureBuilder disableRenderingOnDisabledFaces() { - this.renderOnDisabledFaces = false; - return this; - } - - public ConnectedTextureBuilder addUnculledFaces(Direction... faces) { - this.unculledFaces.addAll(List.of(faces)); + public ConnectedTextureBuilder disableOverlayRenderingOnAllFaces() { + this.renderOverlayOnAllFaces = false; return this; } @@ -94,12 +88,11 @@ public final ConnectedTextureBuilder connectsTo(TagKey... blocks) { @Override protected ConnectedTextureBuilder copyInternal() { ConnectedTextureBuilder builder = new ConnectedTextureBuilder(); - builder.enabledFaces = List.copyOf(this.enabledFaces); + builder.connectedFaces = List.copyOf(this.connectedFaces); builder.connectableBlocks = List.copyOf(this.connectableBlocks); builder.connectableTags = List.copyOf(this.connectableTags); builder.element = this.element; - builder.renderOnDisabledFaces = this.renderOnDisabledFaces; - builder.unculledFaces = List.copyOf(this.unculledFaces); + builder.renderOverlayOnAllFaces = this.renderOverlayOnAllFaces; builder.baseTintIndex = this.baseTintIndex; builder.baseEmissivity = this.baseEmissivity; builder.tintIndex = this.tintIndex; @@ -120,11 +113,11 @@ public JsonObject toJson(JsonObject json) { } json.add("base", baseInfo); } - if (!this.enabledFaces.isEmpty() || this.tintIndex > -1 || this.emissivity != 0) { + if (!this.connectedFaces.isEmpty() || this.tintIndex > -1 || this.emissivity != 0) { JsonObject overlayInfo = new JsonObject(); - if (!this.enabledFaces.isEmpty()) { + if (!this.connectedFaces.isEmpty()) { JsonArray array = new JsonArray(); - this.enabledFaces.forEach(face -> array.add(face.getName())); + this.connectedFaces.forEach(face -> array.add(face.getName())); overlayInfo.add("faces", array); } if (this.tintIndex > -1) { @@ -133,16 +126,12 @@ public JsonObject toJson(JsonObject json) { if (this.emissivity != 0) { overlayInfo.addProperty("emissivity", this.emissivity); } - overlayInfo.addProperty("render_disabled_faces", this.renderOnDisabledFaces); + if (!this.renderOverlayOnAllFaces) { + overlayInfo.addProperty("always_render_overlay", false); + } json.add("connected_texture", overlayInfo); } - if (!this.unculledFaces.isEmpty()) { - JsonArray array = new JsonArray(); - this.unculledFaces.forEach(face -> array.add(face.getName())); - json.add("unculled_faces", array); - } - if (!this.connectableTags.isEmpty() || !this.connectableBlocks.isEmpty()) { JsonArray connectables = new JsonArray(); if (!this.connectableBlocks.isEmpty()) { diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java index b2afc58330..b853ee29c5 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModel.java @@ -16,20 +16,17 @@ import net.neoforged.neoforge.client.model.IDynamicBakedModel; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.data.ModelProperty; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.List; +import java.util.*; public class ConnectedTextureModel implements IDynamicBakedModel { - private final EnumSet enabledFaces; - private final EnumSet unculledFaces; - private final boolean renderOnDisabledFaces; - private final List@Nullable[] baseQuads; - private final BakedQuad[][][] quads; + private final Set connectedFaces; + private final Set unculledFaces; + private final boolean renderOverlayOnAllFaces; + private final Map baseQuads; + private final Map connectedQuads; private final TextureAtlasSprite particle; private final boolean usesAO; private final boolean usesBlockLight; @@ -41,13 +38,13 @@ public class ConnectedTextureModel implements IDynamicBakedModel { private final List validConnectors; private static final ModelProperty DATA = new ModelProperty<>(); - public ConnectedTextureModel(EnumSet enabledFaces, EnumSet unculledFaces, boolean renderOnDisabledFaces, List connectableBlocks, List@Nullable[] baseQuads, BakedQuad[][][] quads, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { - this.enabledFaces = enabledFaces; + public ConnectedTextureModel(Set connectedFaces, Set unculledFaces, boolean renderOverlayOnAllFaces, List connectableBlocks, Map baseQuads, Map connectedQuads, TextureAtlasSprite particle, boolean usesAO, boolean usesBlockLight, ItemTransforms transforms, RenderTypeGroup group) { + this.connectedFaces = connectedFaces; this.unculledFaces = unculledFaces; - this.renderOnDisabledFaces = renderOnDisabledFaces; + this.renderOverlayOnAllFaces = renderOverlayOnAllFaces; this.validConnectors = connectableBlocks; this.baseQuads = baseQuads; - this.quads = quads; + this.connectedQuads = connectedQuads; this.particle = particle; this.usesAO = usesAO; this.usesBlockLight = usesBlockLight; @@ -56,9 +53,8 @@ public ConnectedTextureModel(EnumSet enabledFaces, EnumSet this.itemRenderType = !group.isEmpty() ? group.entity() : null; } - @NotNull @Override - public List getQuads(@Nullable BlockState state, @Nullable Direction side, @NotNull RandomSource random, @NotNull ModelData extraData, @Nullable RenderType type) { + public List getQuads(@Nullable BlockState state, @Nullable Direction side, RandomSource random, ModelData extraData, @Nullable RenderType type) { if (side == null) { List quadList = new ArrayList<>(); for (Direction direction : this.unculledFaces) quadList.addAll(this.getQuadsForFace(direction, extraData)); @@ -66,27 +62,25 @@ public List getQuads(@Nullable BlockState state, @Nullable Direction } else return this.getQuadsForFace(side, extraData); } - public List getQuadsForFace(Direction side, @NotNull ModelData extraData) { - int faceIndex = side.get3DDataValue(); + public List getQuadsForFace(Direction side, ModelData extraData) { + BakedQuad[] baseQuads = this.baseQuads.get(side); ConnectedTextureData data = extraData.get(DATA); - ArrayList quads = new ArrayList<>(4 + (this.baseQuads != null ? 4 : 0)); - if (this.baseQuads != null) quads.addAll(this.baseQuads[faceIndex]); + ArrayList quads = new ArrayList<>(4 + (baseQuads != null ? 4 : 0)); + if (baseQuads != null) quads.addAll(List.of(baseQuads)); - if (this.enabledFaces.contains(side) || this.renderOnDisabledFaces) { + if (this.connectedFaces.contains(side) || this.renderOverlayOnAllFaces) { for (int quad = 0; quad < 4; ++quad) { - //if our model data is null (happens for items) we can skip connected textures since we dont have the info we need - //i'd rather do this than crash the game or skip rendering the block entirely - ConnectionLogic connectionType = data != null && this.enabledFaces.contains(side) ? data.logic[faceIndex][quad] : ConnectionLogic.NONE; - quads.add(this.quads[faceIndex][quad][connectionType.ordinal()]); + //if our model data is null (happens for items), we can skip connected textures since we dont have the info we need + ConnectionLogic connectionType = data != null && this.connectedFaces.contains(side) ? data.logic[side.get3DDataValue()][quad] : ConnectionLogic.NONE; + quads.add(this.connectedQuads.get(side)[quad][connectionType.ordinal()]); } } return quads; } - @NotNull @Override - public ModelData getModelData(@NotNull BlockAndTintGetter getter, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ModelData modelData) { + public ModelData getModelData(BlockAndTintGetter getter, BlockPos pos, BlockState state, ModelData modelData) { ConnectedTextureData data = new ConnectedTextureData(); for (Direction face : Direction.values()) { @@ -139,21 +133,18 @@ public boolean usesBlockLight() { return this.usesBlockLight; } - @NotNull @Override public TextureAtlasSprite getParticleIcon() { return this.particle; } - @NotNull @Override public ItemTransforms getTransforms() { return this.transforms; } - @NotNull @Override - public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + public ChunkRenderTypeSet getRenderTypes(BlockState state, RandomSource rand, ModelData data) { return this.blockRenderTypes != null ? this.blockRenderTypes : IDynamicBakedModel.super.getRenderTypes(state, rand, data); } diff --git a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java index db677a9ebc..ed8e9188ea 100644 --- a/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java +++ b/src/main/java/twilightforest/client/model/block/connected/ConnectedTextureModelLoader.java @@ -41,13 +41,11 @@ public UnbakedConnectedTextureModel read(JsonObject jsonObject, JsonDeserializat JsonObject overlayInfo = GsonHelper.getAsJsonObject(jsonObject, "connected_texture", new JsonObject()); int tintIndex = GsonHelper.getAsInt(overlayInfo, "tint_index", -1); int emissivity = GsonHelper.getAsInt(overlayInfo, "emissivity", 0); - boolean renderDisabled = GsonHelper.getAsBoolean(overlayInfo, "render_disabled_faces", true); + boolean renderDisabled = GsonHelper.getAsBoolean(overlayInfo, "always_render_overlay", true); EnumSet faces = this.parseEnabledFaces(overlayInfo, "faces"); - EnumSet unCulledFaces = this.parseEnabledFaces(jsonObject, "unculled_faces"); - List connectables = this.parseConnnectableBlocks(jsonObject); - return new UnbakedConnectedTextureModel(element, faces, unCulledFaces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext)); + return new UnbakedConnectedTextureModel(element, faces, renderDisabled, connectables, baseTintIndex, baseEmissivity, tintIndex, emissivity, StandardModelParameters.parse(jsonObject, deserializationContext)); } private EnumSet parseEnabledFaces(JsonObject object, String key) { diff --git a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java index 833b891b2a..7eaf0d2497 100644 --- a/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java +++ b/src/main/java/twilightforest/client/model/block/connected/UnbakedConnectedTextureModel.java @@ -15,43 +15,38 @@ import net.neoforged.neoforge.client.model.NeoForgeModelProperties; import net.neoforged.neoforge.client.model.StandardModelParameters; import net.neoforged.neoforge.client.model.UnbakedElementsHelper; +import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.List; -import java.util.Map; +import java.util.*; public class UnbakedConnectedTextureModel extends AbstractUnbakedModel { - protected final boolean renderOnDisabledFaces; - protected final EnumSet enabledFaces; + protected final boolean renderOverlayOnAllFaces; + protected final Set connectedFaces; protected final List connectableBlocks; protected BlockElement[][] baseElements; - protected BlockElement[][][] faceElements; - protected final EnumSet unculledFaces; + protected BlockElement[][][] connectedElements; - public UnbakedConnectedTextureModel(Pair element, EnumSet enabledFaces, EnumSet unculledFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters) { + public UnbakedConnectedTextureModel(Pair element, Set connectedFaces, boolean renderOnDisabledFaces, List connectableBlocks, int baseTintIndex, int baseEmissivity, int tintIndex, int emissivity, StandardModelParameters parameters) { super(parameters); //a list of block faces that should have connected textures. - this.enabledFaces = enabledFaces; - //a list of block faces that should not be culled. Probably cuz they don't extend to the edge of the block. - this.unculledFaces = unculledFaces; - //whether or not the overlay texture should render on disabled faces or not. Defaults to true - this.renderOnDisabledFaces = renderOnDisabledFaces; + this.connectedFaces = connectedFaces; + //whether the overlay texture should render on all faces or not. Defaults to true + this.renderOverlayOnAllFaces = renderOnDisabledFaces; //a list of blocks this block can connect its texture to this.connectableBlocks = connectableBlocks; //base elements - the base block. No Connected Textures on this bit. //the array is made of the directions and "sections". Each section is a corner quadrant of the block this.baseElements = new BlockElement[6][4]; - //face elements - the connected bit of the model. //the array is made of the directions, "sections", and each logic value in the ConnectionLogic class - this.faceElements = new BlockElement[6][4][5]; + this.connectedElements = new BlockElement[6][4][5]; + int center = 8; for (Direction face : Direction.values()) { + Direction cull = this.getCullface(face, element.getFirst(), element.getSecond()); Direction[] planeDirections = ConnectionLogic.AXIS_PLANE_DIRECTIONS[face.getAxis().ordinal()]; for (int i = 0; i < 4; ++i) { @@ -66,21 +61,27 @@ public UnbakedConnectedTextureModel(Pair element, EnumSet corner.x(); - case Y -> corner.y(); - case Z -> corner.z(); + @Nullable + private Direction getCullface(Direction direction, Vector3f from, Vector3f to) { + boolean cull = switch (direction) { + case DOWN -> from.y() == 0.0F; + case UP -> to.y() == 16.0F; + case NORTH -> from.x() == 0.0F; + case SOUTH -> to.x() == 16.0F; + case WEST -> from.z() == 0.0F; + case EAST -> to.z() == 16.0F; }; + + return cull ? direction : null; } @Override @@ -89,21 +90,20 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState s if (!rootTransform.isIdentity()) state = UnbakedElementsHelper.composeRootTransformIntoModelState(state, rootTransform); - @SuppressWarnings("unchecked") //this is fine, I hope - List[] baseQuads = (List[]) Array.newInstance(List.class, 6); + Map baseQuads = new HashMap<>(); + Set unculledFaces = new HashSet<>(); if (textureSlots.getMaterial("base_texture") != null) { TextureAtlasSprite baseTexture = baker.findSprite(textureSlots, "base_texture"); - for (int dir = 0; dir < 6; dir++) { - baseQuads[dir] = new ArrayList<>(); + for (Direction dir : Direction.values()) { + List quadList = new ArrayList<>(); - for (BlockElement element : this.baseElements[dir]) { - baseQuads[dir].add(FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), baseTexture, Direction.values()[dir], state, element.rotation, element.shade, element.lightEmission)); + for (BlockElement element : this.baseElements[dir.get3DDataValue()]) { + quadList.add(FaceBakery.bakeQuad(element.from, element.to, element.faces.get(dir), baseTexture, dir, state, element.rotation, element.shade, element.lightEmission)); } + baseQuads.put(dir, quadList.toArray(new BakedQuad[0])); } - } else { - baseQuads = null; } //we'll use this to figure out which texture to use with the Connected Texture logic @@ -113,17 +113,21 @@ public BakedModel bake(TextureSlots textureSlots, ModelBaker baker, ModelState s sprites[2] = sprites[0]; } - BakedQuad[][][] quads = new BakedQuad[6][4][5]; + Map connectedQuads = new HashMap<>(); - for (int dir = 0; dir < 6; dir++) { + for (Direction dir : Direction.values()) { + BakedQuad[][] dirQuads = new BakedQuad[4][5]; for (int quad = 0; quad < 4; quad++) { for (int type = 0; type < 5; type++) { - BlockElement element = this.faceElements[dir][quad][type]; - quads[dir][quad][type] = FaceBakery.bakeQuad(element.from, element.to, element.faces.values().iterator().next(), ConnectionLogic.values()[type].chooseTexture(sprites), Direction.values()[dir], state, element.rotation, element.shade, element.lightEmission); + BlockElement element = this.connectedElements[dir.get3DDataValue()][quad][type]; + BlockElementFace face = element.faces.get(dir); + if (face.cullForDirection() == null) unculledFaces.add(dir); + dirQuads[quad][type] = FaceBakery.bakeQuad(element.from, element.to, face, ConnectionLogic.values()[type].chooseTexture(sprites), dir, state, element.rotation, element.shade, element.lightEmission); } } + connectedQuads.put(dir, dirQuads); } - return new ConnectedTextureModel(this.enabledFaces, this.unculledFaces, this.renderOnDisabledFaces, this.connectableBlocks, baseQuads, quads, sprites[2], useAmbientOcclusion, usesBlockLight, itemTransforms, this.parameters.renderTypeGroup()); + return new ConnectedTextureModel(this.connectedFaces, unculledFaces, this.renderOverlayOnAllFaces, this.connectableBlocks, baseQuads, connectedQuads, sprites[2], useAmbientOcclusion, usesBlockLight, itemTransforms, this.parameters.renderTypeGroup()); } } \ No newline at end of file From 712fae69b2ba2a66b951fd6c8c6688d9f6c61130 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 11 May 2025 08:39:59 +0200 Subject: [PATCH 203/239] Revert "use guigraphics method of rendering bossbars again" This reverts commit 0b645cc2eaea56edae3b44a0529c0c8f558d2897. --- .../twilightforest/entity/boss/AlphaYeti.java | 2 +- .../twilightforest/entity/boss/Hydra.java | 2 +- .../entity/boss/KnightPhantom.java | 2 +- .../java/twilightforest/entity/boss/Lich.java | 4 +-- .../entity/boss/Minoshroom.java | 2 +- .../java/twilightforest/entity/boss/Naga.java | 2 +- .../entity/boss/PlateauBoss.java | 2 +- .../twilightforest/entity/boss/SnowQueen.java | 2 +- .../twilightforest/entity/boss/UrGhast.java | 2 +- .../entity/boss/bar/ClientTFBossBar.java | 27 +++++++++++++++---- 10 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/AlphaYeti.java b/src/main/java/twilightforest/entity/boss/AlphaYeti.java index 652d5a0969..71c1ac800e 100644 --- a/src/main/java/twilightforest/entity/boss/AlphaYeti.java +++ b/src/main/java/twilightforest/entity/boss/AlphaYeti.java @@ -335,6 +335,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFFB4F0F0; + return 0xB4F0F0; } } diff --git a/src/main/java/twilightforest/entity/boss/Hydra.java b/src/main/java/twilightforest/entity/boss/Hydra.java index c918bda4a3..85abc4d112 100644 --- a/src/main/java/twilightforest/entity/boss/Hydra.java +++ b/src/main/java/twilightforest/entity/boss/Hydra.java @@ -786,6 +786,6 @@ public void tickDeathAnimation() { @Override public int getBossBarColor() { - return 0xFF05EBB9; + return 0x05EBB9; } } diff --git a/src/main/java/twilightforest/entity/boss/KnightPhantom.java b/src/main/java/twilightforest/entity/boss/KnightPhantom.java index fb555c892d..e4bdfd5a40 100644 --- a/src/main/java/twilightforest/entity/boss/KnightPhantom.java +++ b/src/main/java/twilightforest/entity/boss/KnightPhantom.java @@ -667,7 +667,7 @@ public Component getBossBarTitle() { @Override public int getBossBarColor() { - return 0xFF86BF37; + return 0x86BF37; } public enum Formation { diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index 3b967123d7..269a16e059 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -1064,8 +1064,8 @@ public BossEvent.BossBarOverlay getBossBarOverlay() { @Override public int getBossBarColor() { - if (this.getShieldStrength() > 0) return 0xFFFFD800; - return this.getPhase() == 2 ? 0xFFBE23FF : 0xFFFF0000; + if (this.getShieldStrength() > 0) return 0xFFD800; + return this.getPhase() == 2 ? 0xBE23FF : 0xFF0000; } @Override diff --git a/src/main/java/twilightforest/entity/boss/Minoshroom.java b/src/main/java/twilightforest/entity/boss/Minoshroom.java index dce667d837..167dc0c5fd 100644 --- a/src/main/java/twilightforest/entity/boss/Minoshroom.java +++ b/src/main/java/twilightforest/entity/boss/Minoshroom.java @@ -203,6 +203,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFFFF0000; + return 0xFF0000; } } diff --git a/src/main/java/twilightforest/entity/boss/Naga.java b/src/main/java/twilightforest/entity/boss/Naga.java index 0db8406412..ff5dcabc28 100644 --- a/src/main/java/twilightforest/entity/boss/Naga.java +++ b/src/main/java/twilightforest/entity/boss/Naga.java @@ -606,6 +606,6 @@ public BossEvent.BossBarOverlay getBossBarOverlay() { @Override public int getBossBarColor() { - return 0xFF5E9916; + return 0x5E9916; } } diff --git a/src/main/java/twilightforest/entity/boss/PlateauBoss.java b/src/main/java/twilightforest/entity/boss/PlateauBoss.java index 3f8f588a47..da7abf56ca 100644 --- a/src/main/java/twilightforest/entity/boss/PlateauBoss.java +++ b/src/main/java/twilightforest/entity/boss/PlateauBoss.java @@ -44,6 +44,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFFFFFFFF; + return 0xFFFFFF; } } diff --git a/src/main/java/twilightforest/entity/boss/SnowQueen.java b/src/main/java/twilightforest/entity/boss/SnowQueen.java index 335d2bd7d9..1ea83402d7 100644 --- a/src/main/java/twilightforest/entity/boss/SnowQueen.java +++ b/src/main/java/twilightforest/entity/boss/SnowQueen.java @@ -440,6 +440,6 @@ public Block getBossSpawner() { @Override public int getBossBarColor() { - return 0xFF8CF0F0; + return 0x8CF0F0; } } diff --git a/src/main/java/twilightforest/entity/boss/UrGhast.java b/src/main/java/twilightforest/entity/boss/UrGhast.java index b89d3fd5e8..0e8f885a23 100644 --- a/src/main/java/twilightforest/entity/boss/UrGhast.java +++ b/src/main/java/twilightforest/entity/boss/UrGhast.java @@ -573,6 +573,6 @@ public void makePoofParticles() { @Override public int getBossBarColor() { - return 0xFFFF0000; + return 0xFF0000; } } diff --git a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java index 0e9e2ba654..dfbe9e5304 100644 --- a/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java +++ b/src/main/java/twilightforest/entity/boss/bar/ClientTFBossBar.java @@ -40,16 +40,15 @@ public void setSetTime(long setTime) { private static final ResourceLocation BAR_BACKGROUND = ResourceLocation.withDefaultNamespace("boss_bar/white_background"); private static final ResourceLocation BAR_PROGRESS = ResourceLocation.withDefaultNamespace("boss_bar/white_progress"); - //parchment calls the last param in `GuiGraphics.blitSprite` `blitOffset` but it's actually the color public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.enableBlend(); - guiGraphics.blitSprite(RenderType::guiTextured, BAR_BACKGROUND, x, y, 182, 5, this.color); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], x, y, 182, 5, this.color); + this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_BACKGROUND, x, y, 182, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_BACKGROUND_SPRITES[this.overlay.ordinal() - 1], x, y, 182, 5); int progress = Mth.lerpDiscrete(this.getProgress(), 0, 182); if (progress > 0) { - guiGraphics.blitSprite(RenderType::guiTextured, BAR_PROGRESS, x, y, progress, 5, this.color); - if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) guiGraphics.blitSprite(RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], x, y, progress, 5, this.color); + this.blitSprite(guiGraphics, RenderType::guiTextured, BAR_PROGRESS, x, y, progress, 5); + if (this.overlay != BossEvent.BossBarOverlay.PROGRESS) this.blitSprite(guiGraphics, RenderType::guiTextured, BossHealthOverlay.OVERLAY_PROGRESS_SPRITES[this.overlay.ordinal() - 1], x, y, progress, 5); } Component title = this.getName(); @@ -60,4 +59,22 @@ public void renderBossBar(GuiGraphics guiGraphics, int x, int y) { RenderSystem.disableBlend(); } + + public void blitSprite(GuiGraphics guiGraphics, Function renderTypeGetter, ResourceLocation location, float x, float y, int uWidth, int vHeight) { + TextureAtlasSprite sprite = guiGraphics.sprites.getSprite(location); + + float minU = sprite.getU(0.0F); + float maxU = sprite.getU(uWidth / 182.0F); + float minV = sprite.getV(0.0F); + float maxV = sprite.getV(vHeight / 5.0F); + + float r = ((this.color >> 16) & 255) / 255F, g = ((this.color >> 8) & 255) / 255F, b = (this.color & 255) / 255F, a = 1.0F; + + Matrix4f matrix4f = guiGraphics.pose().last().pose(); + VertexConsumer vertex = guiGraphics.bufferSource.getBuffer(renderTypeGetter.apply(sprite.atlasLocation())); + vertex.addVertex(matrix4f, x, y, 0.0F).setUv(minU, minV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x, y + vHeight, 0.0F).setUv(minU, maxV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x + uWidth, y + vHeight, 0.0F).setUv(maxU, maxV).setColor(r, g, b, a); + vertex.addVertex(matrix4f, x + uWidth, y, 0.0F).setUv(maxU, minV).setColor(r, g, b, a); + } } From b0baaecf4605561732f65dda97e6d1b1d8a9e193 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 11 May 2025 08:44:18 +0200 Subject: [PATCH 204/239] Revert "We dont need this anymore" This reverts commit 27f1f88f6a1241e1bed98cfa8fad7dac92e89ec0. --- src/main/resources/META-INF/accesstransformer.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index fb22a199ab..d3fe7cc6c4 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -234,6 +234,10 @@ public net.minecraft.world.entity.ai.goal.MeleeAttackGoal speedModifier public net.minecraft.world.entity.Mob getEquipmentDropChance(Lnet/minecraft/world/entity/EquipmentSlot;)F +# ClientTFBossBar +public net.minecraft.client.gui.GuiGraphics bufferSource +public net.minecraft.client.gui.GuiGraphics sprites + # CountTemplateCommand public net.minecraft.world.level.levelgen.structure.structures.EndCityPieces$EndCityPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; public net.minecraft.world.level.levelgen.structure.structures.WoodlandMansionPieces$WoodlandMansionPiece makeTemplateLocation()Lnet/minecraft/resources/ResourceLocation; From 9628d160c77e35c8cb846b4790fe8f0b98a1368a Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 11 May 2025 08:49:25 +0200 Subject: [PATCH 205/239] Fix shadow clones not being invisible --- .../twilightforest/client/renderer/entity/LichRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index 459cd74f48..009c91adc2 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -48,7 +48,7 @@ protected int getModelTint(LichRenderState state) { @Nullable @Override protected RenderType getRenderType(LichRenderState state, boolean bodyVisible, boolean translucent, boolean glowing) { - if (state.isShadowClone) return TFRenderTypes.SHADOW_CLONE; + if (state.isShadowClone && !state.isInvisible) return TFRenderTypes.SHADOW_CLONE; else return super.getRenderType(state, bodyVisible, translucent, glowing); } From 09d4098f91f667b48ac0f0cb855b025e8fe156ce Mon Sep 17 00:00:00 2001 From: jodi / jodlodi Date: Sun, 11 May 2025 08:58:16 +0200 Subject: [PATCH 206/239] Fix force field item models --- .../datagen/helpers/models/BlockModelBuilders.java | 2 +- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 12 ++++++------ .../twilightforest/models/item/blue_force_field.json | 1 + .../models/item/green_force_field.json | 1 + .../models/item/orange_force_field.json | 1 + .../twilightforest/models/item/pink_force_field.json | 1 + .../models/item/violet_force_field.json | 1 + 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index 47d2ed0ae0..dfaddc1244 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -792,7 +792,7 @@ public void forcefield(Block block, int tint) { .ifElse().from(7, 7, 9).to(9, 9, 16).parents(ForceFieldModel.ExtraDirection.SOUTH).face(Direction.EAST).uvs(9, 7, 16, 9).texture("#pane").end() .ifSame().from(9, 7, 7).to(16, 9, 9).parents(ForceFieldModel.ExtraDirection.EAST).face(Direction.SOUTH).uvs(0, 7, 7, 9).texture("#pane").end().end(); }).build().create(block, TFTextureMapping.forcefield(), this.modelOutput))); - this.itemModelOutput.accept(block.asItem(), ItemModelUtils.tintedModel(ModelTemplates.FLAT_ITEM.create(ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(TwilightForestMod.prefix("block/forcefield")), this.modelOutput), ItemModelUtils.constantTint(tint))); + this.itemModelOutput.accept(block.asItem(), ItemModelUtils.tintedModel(ModelTemplates.FLAT_ITEM.extend().renderType("translucent").build().create(ModelLocationUtils.getModelLocation(block.asItem()), TextureMapping.layer0(TwilightForestMod.prefix("block/forcefield")), this.modelOutput), ItemModelUtils.constantTint(tint))); } public void generatePaneBlock(Block glassBlock, Block paneBlock) { diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index fb858997ea..26a6212b2b 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-05-09T23:10:34.799309 Model Definitions - twilightforest +// 1.21.4 2025-05-11T08:56:35.8189193 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -2190,7 +2190,7 @@ d9b538a65a3195254d3d684fa591210d80fd5968 assets/twilightforest/models/item/arcti cb2255d73af1355ad61e69229c59abeeffff5808 assets/twilightforest/models/item/armor_shard_cluster.json cb7cc09776f8428aedf36ac18683f1c1a1ecc744 assets/twilightforest/models/item/block_and_chain.json ccb6875f92bac4395777de14ea6a7c5a8aba3339 assets/twilightforest/models/item/block_and_chain_thrown.json -e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/blue_force_field.json +f2e2ae1fc9cb612e673916065e817576a4cd3662 assets/twilightforest/models/item/blue_force_field.json 6d65cf8e13ce9afe4c2fe6ab81d35749bf7ad362 assets/twilightforest/models/item/borer_essence.json 9d365385309717f3b21e91946b48b789ed5f6528 assets/twilightforest/models/item/brittle_potion_flask.json 5e70e2c07188a9af6b144367e34c32e5d36f3534 assets/twilightforest/models/item/brittle_potion_flask_1.json @@ -2331,7 +2331,7 @@ a4e7763547cd6d6bc95cb994ea2211756bb6f2e2 assets/twilightforest/models/item/great 2c4278ea7e4c03ae4c98559d0c07a6fa3ca78e4c assets/twilightforest/models/item/greater_potion_flask_1.json fa90294ea298166538510be4b1c507af243b991e assets/twilightforest/models/item/greater_potion_flask_2.json 60f30b5e51bdbcf2c50a1f84ad549d90124a15e1 assets/twilightforest/models/item/greater_potion_flask_3.json -e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/green_force_field.json +f2e2ae1fc9cb612e673916065e817576a4cd3662 assets/twilightforest/models/item/green_force_field.json 94bf93398841347bf1044e34ad61322386678dae assets/twilightforest/models/item/hollow_oak_sapling.json bf3c79561ee47e448fb9215117137d82a2e94c12 assets/twilightforest/models/item/huge_lily_pad.json 37b642a1be3526a36aa413659a8b6047b97f529e assets/twilightforest/models/item/huge_water_lily.json @@ -2590,7 +2590,7 @@ f93958a633f9f0382c2477a8d60632029fa0e4e5 assets/twilightforest/models/item/naga_ 6e30a52e81f386a5d734795ef09091e8c9d9e6c2 assets/twilightforest/models/item/naga_leggings_resin_trim.json 0e8aeeaabfe3c846e1852f0203bb70231532186d assets/twilightforest/models/item/naga_leggings_steeleaf_trim.json e80919ce5e6ce3931333871ce7d80d8e4b5ab5cb assets/twilightforest/models/item/naga_scale.json -e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/orange_force_field.json +f2e2ae1fc9cb612e673916065e817576a4cd3662 assets/twilightforest/models/item/orange_force_field.json e41febc342a31175c85b45f5394700eb7f9ac39e assets/twilightforest/models/item/ore_magnet.json 4a9c66551e026c1c307438b3b43de1ebb71bd3e7 assets/twilightforest/models/item/ore_magnet_pulling_1.json f17b50be9b7bc4a364eee40e71158b54b88f6253 assets/twilightforest/models/item/ore_magnet_pulling_2.json @@ -2634,7 +2634,7 @@ eab5812709d6db628fb5b7b3470e817c8aa87b56 assets/twilightforest/models/item/phant d8473a8cc5cf799231ac3b9e72ae35450cfbaf87 assets/twilightforest/models/item/phantom_helmet_redstone_trim.json 4af9d9b9385d8befc3fa664ece7bba54680adf66 assets/twilightforest/models/item/phantom_helmet_resin_trim.json 4bab448f6e647952c6916a629b41aef0292de292 assets/twilightforest/models/item/phantom_helmet_steeleaf_trim.json -e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/pink_force_field.json +f2e2ae1fc9cb612e673916065e817576a4cd3662 assets/twilightforest/models/item/pink_force_field.json 29942577b2493cf382c15ea1af34e34e7ed6bc1c assets/twilightforest/models/item/pocket_watch.json cb78585b0e58039a36213d03546532f17d02229f assets/twilightforest/models/item/potion_flask_empty.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/quest_ram_banner_pattern.json @@ -2780,7 +2780,7 @@ fc99216a22eaa844aa6e18f507161d9b337ec7d4 assets/twilightforest/models/item/twili 8d6955b7035e3b64f6325f3d620a3a1becab03a1 assets/twilightforest/models/item/twilight_scepter.json 221ae2bf8b6db463b4909daac2b03451fd52792b assets/twilightforest/models/item/unripe_trollber.json 0ca7dc7b4daec376dd0f85d57465830781584c7d assets/twilightforest/models/item/ur_ghast_banner_pattern.json -e29af30abd625fef4b53d815cd2805a482e86931 assets/twilightforest/models/item/violet_force_field.json +f2e2ae1fc9cb612e673916065e817576a4cd3662 assets/twilightforest/models/item/violet_force_field.json ae27527b76898ab4ee5cf9e78aad8eab49fc97e7 assets/twilightforest/models/item/wrought_iron_bar.json 0229fa1d67eea7895e2c8330a25b4f20cdc643f8 assets/twilightforest/models/item/yeti_boots.json 5bd3106b7f87957ecc386757a1bc0b0750749e54 assets/twilightforest/models/item/yeti_boots_amethyst_trim.json diff --git a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json index 8eda0be0e2..faf86b9cbd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/blue_force_field.json @@ -1,5 +1,6 @@ { "parent": "minecraft:item/generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "twilightforest:block/forcefield" } diff --git a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json index 8eda0be0e2..faf86b9cbd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/green_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/green_force_field.json @@ -1,5 +1,6 @@ { "parent": "minecraft:item/generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "twilightforest:block/forcefield" } diff --git a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json index 8eda0be0e2..faf86b9cbd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/orange_force_field.json @@ -1,5 +1,6 @@ { "parent": "minecraft:item/generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "twilightforest:block/forcefield" } diff --git a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json index 8eda0be0e2..faf86b9cbd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/pink_force_field.json @@ -1,5 +1,6 @@ { "parent": "minecraft:item/generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "twilightforest:block/forcefield" } diff --git a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json index 8eda0be0e2..faf86b9cbd 100644 --- a/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json +++ b/src/generated/resources/assets/twilightforest/models/item/violet_force_field.json @@ -1,5 +1,6 @@ { "parent": "minecraft:item/generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "twilightforest:block/forcefield" } From f27721d3e6fecac12ac3d0a7ed50fc13f2d79266 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 17 May 2025 20:09:37 +0200 Subject: [PATCH 207/239] Copy seed and TP command --- .../datagen/assets/LangGenerator.java | 3 ++ .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 ++-- .../assets/twilightforest/lang/en_ud.json | 3 ++ .../assets/twilightforest/lang/en_us.json | 3 ++ .../twilightforest/TwilightForestMod.java | 2 +- .../command/GetSeedAndTeleportCommand.java | 34 +++++++++++++++++++ .../twilightforest/command/TFCommand.java | 6 +++- 7 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/main/java/twilightforest/command/GetSeedAndTeleportCommand.java diff --git a/src/data/java/twilightforest/datagen/assets/LangGenerator.java b/src/data/java/twilightforest/datagen/assets/LangGenerator.java index 3e277a894c..77e51bc35c 100644 --- a/src/data/java/twilightforest/datagen/assets/LangGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/LangGenerator.java @@ -79,6 +79,9 @@ protected void addTranslations() { this.addCommand("structure.spawn_list", "Spawn list for this area is:"); this.addCommand("structure.spawn_info", "%s, Weight %s"); this.addCommand("structure.boundaries", "Structure boundaries: %s"); + this.addCommand("coords", "Position: %s"); + this.addCommand("tp", "Click to copy TP command"); + this.addCommand("seed_and_tp", "Click to copy both"); this.add("gamerule.tfEnforcedProgression", "Twilight Forest: Enforced Progression"); this.add("gamerule.tfEnforcedProgression.description", "Some Twilight Forest biomes will be locked until you defeat certain bosses in the dimension. (You can check the progression order in your advancements)"); diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index 0a1a9ced6d..b962f9c2e2 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.4 2025-04-19T09:14:34.3163534 Languages: en_us for mod: twilightforest -05d97a2a8e184b0701d05c67168988367c1b7d60 assets/twilightforest/lang/en_ud.json -7b346da55d782fda846405ead78ce4ca3c4708cc assets/twilightforest/lang/en_us.json +// 1.21.4 2025-05-17T19:49:46.9604487 Languages: en_us for mod: twilightforest +a12d5cff51214a2c56a3ab29c10540e7a68a4d14 assets/twilightforest/lang/en_ud.json +83c34a22eb481caa744dc5c326847fa2317e6738 assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index de61a4d879..aa51bcdd17 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -689,9 +689,11 @@ "block.twilightforest.zombie_skull_candle": "Ēźžpuɐʆ źžźžnŹžS Ēį“‰qÉÆoZ", "commands.tffeature.center": "%s :ĒÉ¹nŹ‡ÉĒÉŸ ɟo É¹ĒŹ‡uĒĘ†", "commands.tffeature.chunk": "%s :ŹžunɄɔ ĒÉ¹nŹ‡ÉĒÉŸ uᓉ pĒŹ‡ÉÉ”oźž€", + "commands.tffeature.coords": "%s :uoᓉʇᓉsoŌ€", "commands.tffeature.nearest": "%s :sᓉ ĒÉ¹nŹ‡ÉĒÉŸ ʇsĒÉ¹ÉĒu ĒÉ„āŸ˜", "commands.tffeature.none_nearby": "Ā”ŹŽqÉ¹ÉĒu ĒÉ¹nŹ‡ÉĒÉŸ ɐ puį“‰ÉŸ ʇ,upźžnoʆ", "commands.tffeature.not_player": "Ā”É¹ĒŹŽÉźžd pį“‰źžÉŹŒ ɐ ŹŽq unɹ Ēq ʇsnÉÆ puɐɯɯoɔ sį“‰É„āŸ˜", + "commands.tffeature.seed_and_tp": "Ʉʇoq ŹŽdoɔ oʇ ŹžÉ”į“‰źžĘ†", "commands.tffeature.structure.boundaries": "%s :sĒį“‰É¹Épunoq ĒÉ¹nʇɔnɹʇS", "commands.tffeature.structure.conquer.status": "%s :įµ·ÉźžÉŸ É¹Ēnbuoɔ ĒÉ¹nʇɔnɹʇS", "commands.tffeature.structure.conquer.update": "%2$s oʇ įµ·uᓉᵷuɐɄɔ '%1$s sÉŹ įµ·ÉźžÉŸ É¹Ēnbuoɔ ĒÉ¹nʇɔnɹʇS", @@ -700,6 +702,7 @@ "commands.tffeature.structure.required": "ĒÉ¹nʇɔnɹʇs ɐ uᓉ ʇou ĒÉ¹É noā…„", "commands.tffeature.structure.spawn_info": "%2$s Ź‡É„įµ·į“‰ĒM '%1$s", "commands.tffeature.structure.spawn_list": ":sᓉ ÉĒÉ¹É sᓉɄʇ ɹoɟ ʇsį“‰źž uŹÉdS", + "commands.tffeature.tp": "puɐɯɯoɔ Ō€āŸ˜ ŹŽdoɔ oʇ ŹžÉ”į“‰źžĘ†", "commands.tffeature.usage": "<É¹ĒŹ‡uĒÉ” | É¹Ēnbuoɔ | ĒŹ‡ÉŹŒį“‰Ź‡É”ÉĒÉ¹ | oɟuᓉ> %s/", "config.jade.plugin_twilightforest.chiseled_bookshelf_spawner": "suŹÉdS ÉŸźžĒÉ„sŹžooį—ŗ ŹŽdouɐʆ pĒźžĒsᓉɄƆ", "config.jade.plugin_twilightforest.quest_ram_wool": "źžooM ɯɐᓚ įµ·uᓉʇsĒnź¹", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index 0a89b0e581..534a84f777 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -689,9 +689,11 @@ "block.twilightforest.zombie_skull_candle": "Zombie Skull Candle", "commands.tffeature.center": "Center of feature: %s", "commands.tffeature.chunk": "Located in feature chunk: %s", + "commands.tffeature.coords": "Position: %s", "commands.tffeature.nearest": "The nearest feature is: %s", "commands.tffeature.none_nearby": "Couldn't find a feature nearby!", "commands.tffeature.not_player": "This command must be run by a valid player!", + "commands.tffeature.seed_and_tp": "Click to copy both", "commands.tffeature.structure.boundaries": "Structure boundaries: %s", "commands.tffeature.structure.conquer.status": "Structure conquer flag: %s", "commands.tffeature.structure.conquer.update": "Structure conquer flag was %s, changing to %s", @@ -700,6 +702,7 @@ "commands.tffeature.structure.required": "You are not in a structure", "commands.tffeature.structure.spawn_info": "%s, Weight %s", "commands.tffeature.structure.spawn_list": "Spawn list for this area is:", + "commands.tffeature.tp": "Click to copy TP command", "commands.tffeature.usage": "/%s ", "config.jade.plugin_twilightforest.chiseled_bookshelf_spawner": "Chiseled Canopy Bookshelf Spawns", "config.jade.plugin_twilightforest.quest_ram_wool": "Questing Ram Wool", diff --git a/src/main/java/twilightforest/TwilightForestMod.java b/src/main/java/twilightforest/TwilightForestMod.java index e2d33affc0..3062f9239a 100644 --- a/src/main/java/twilightforest/TwilightForestMod.java +++ b/src/main/java/twilightforest/TwilightForestMod.java @@ -598,7 +598,7 @@ public void init(FMLCommonSetupEvent evt) { } public void registerCommands(RegisterCommandsEvent event) { - tfCommand.register(event.getDispatcher(), event.getBuildContext()); + tfCommand.register(event.getDispatcher(), event.getBuildContext(), event.getCommandSelection()); } public static ResourceLocation prefix(String name) { diff --git a/src/main/java/twilightforest/command/GetSeedAndTeleportCommand.java b/src/main/java/twilightforest/command/GetSeedAndTeleportCommand.java new file mode 100644 index 0000000000..c88d9f20c3 --- /dev/null +++ b/src/main/java/twilightforest/command/GetSeedAndTeleportCommand.java @@ -0,0 +1,34 @@ +package twilightforest.command; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import com.mojang.brigadier.context.CommandContext; +import net.minecraft.ChatFormatting; +import net.minecraft.commands.CommandSourceStack; +import net.minecraft.commands.Commands; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.*; +import net.minecraft.server.level.ServerLevel; + +@tamaized.beanification.Component +public class GetSeedAndTeleportCommand { + public LiteralArgumentBuilder register(boolean notIntegratedServer) { + return Commands.literal("seed_and_tp").requires((stack) -> !notIntegratedServer || stack.hasPermission(2)).executes(this::run); + } + + private int run(CommandContext ctx) { + CommandSourceStack source = ctx.getSource(); + ServerLevel level = source.getLevel(); + BlockPos pos = BlockPos.containing(source.getPosition()); + long seed = level.getSeed(); + source.sendSuccess(() -> Component.translatable("commands.seed.success", ComponentUtils.copyOnClickText(String.valueOf(seed))), false); + source.sendSuccess(() -> Component.translatable("commands.tffeature.coords", ComponentUtils.copyOnClickText(pos.toShortString())), false); + String tp = "/execute in " + level.dimension().location() + " run tp " + pos.getX() + " " + pos.getY() + " " + pos.getZ(); + String block = "Seed: `" + seed + "`" + System.lineSeparator() + "Tp: `" + tp + "`"; + source.sendSuccess(() -> copyOnClickText(Component.translatable("commands.tffeature.tp"), tp).append(" ").append(copyOnClickText(Component.translatable("commands.tffeature.seed_and_tp"), block)), false); + return (int) seed; + } + + public static MutableComponent copyOnClickText(MutableComponent component, String text) { + return ComponentUtils.wrapInSquareBrackets(component.withStyle((style) -> style.withColor(ChatFormatting.GREEN).withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, text)).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Component.translatable("chat.copy.click"))).withInsertion(text))); + } +} diff --git a/src/main/java/twilightforest/command/TFCommand.java b/src/main/java/twilightforest/command/TFCommand.java index 730f7fb73e..b00ec4185b 100644 --- a/src/main/java/twilightforest/command/TFCommand.java +++ b/src/main/java/twilightforest/command/TFCommand.java @@ -54,7 +54,10 @@ public class TFCommand { @Autowired private ClearDisplayCommand clearDisplayCommand; - public void register(CommandDispatcher dispatcher, CommandBuildContext buildContext) { + @Autowired + private GetSeedAndTeleportCommand getSeedAndTeleportCommand; + + public void register(CommandDispatcher dispatcher, CommandBuildContext buildContext, Commands.CommandSelection selection) { LiteralArgumentBuilder structureBranch = Commands.literal("structure_util") .then(displayPiecesCommand.register()) .then(clearDisplayCommand.register()) @@ -72,6 +75,7 @@ public void register(CommandDispatcher dispatcher, CommandBu .then(mapBiomesCommand.register()) .then(shieldCommand.register()) .then(spawnerCommand.register(buildContext)) + .then(getSeedAndTeleportCommand.register(selection != Commands.CommandSelection.INTEGRATED)) .then(structureBranch); LiteralCommandNode node = dispatcher.register(builder); dispatcher.register(Commands.literal("tf").executes(this::run).redirect(node)); From 834bb06a6f06f978de245bd2f93a7dea6e3d732e Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Tue, 20 May 2025 21:45:11 +0200 Subject: [PATCH 208/239] Port hydra death animation --- .../client/renderer/entity/HydraHeadRenderer.java | 13 +++++++++---- .../java/twilightforest/entity/boss/HydraPart.java | 12 ++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java index f46c033d7d..02ad4264ed 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -30,11 +31,15 @@ public HydraHeadRenderer(EntityRendererProvider.Context context, HydraHeadModel @Override public void render(HydraHeadRenderState state, PoseStack stack, MultiBufferSource buffer, int light) { + stack.mulPose(Axis.YP.rotationDegrees(-180)); + super.render(state, stack, buffer, light); + } + + @Override + protected @Nullable RenderType getRenderType(HydraHeadRenderState state, boolean visible, boolean ghostly, boolean glowing) { // see whether we want to render these - if (state.active) { - stack.mulPose(Axis.YP.rotationDegrees(-180)); - super.render(state, stack, buffer, light); - } + if (!state.active) return null; + return super.getRenderType(state, visible, ghostly, glowing); } @Override diff --git a/src/main/java/twilightforest/entity/boss/HydraPart.java b/src/main/java/twilightforest/entity/boss/HydraPart.java index dc105b022c..5d778e9149 100644 --- a/src/main/java/twilightforest/entity/boss/HydraPart.java +++ b/src/main/java/twilightforest/entity/boss/HydraPart.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; +import twilightforest.TwilightForestMod; import twilightforest.entity.TFPart; public abstract class HydraPart extends TFPart { @@ -65,11 +66,8 @@ public void tick() { this.clearFire(); super.tick(); - if (this.hurtTime > 0) - this.hurtTime--; - - if (this.markedDead) - this.deathTime++; + if (this.hurtTime > 0) this.hurtTime--; + if (this.markedDead) this.deathTime++; if (this.markedDead && this.isActive() && this.level().isClientSide()) { float width = this.getBbWidth(); @@ -83,9 +81,7 @@ public void tick() { } } - if (this.deathTime == 20) { - this.deactivate(); - } + if (this.deathTime >= 20) this.deactivate(); } @Override From a762a33be664d597f3cdcde6921b3b59e4c555e2 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Tue, 20 May 2025 22:11:12 +0200 Subject: [PATCH 209/239] Fix lich not putting out fire --- src/main/java/twilightforest/entity/boss/Lich.java | 10 ++++++++-- .../twilightforest/entity/projectile/LichBolt.java | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index 269a16e059..e22edf2cbe 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -259,6 +259,7 @@ public void aiStep() { this.getLookControl().tick(); } this.setTeleportInvisibility(tpInvisibility - 1); + if (this.getRemainingFireTicks() > 0) this.clearFire(); if (tpInvisibility - 1 <= 0) { this.lichTeleportParticles(true); this.playSound(TFSounds.LICH_TELEPORT.get(), 1.125F, 1.125F); @@ -576,8 +577,8 @@ public boolean teleportToNewTarget(@Nullable LivingEntity target, float range, @ if (this.teleportToSightOfEntity(target)) { for (Lich clone : this.getAllClones()) { clone.setTarget(target); - clone.teleportToSightOfEntity(target); - } + clone.teleportToSightOfEntity(target); + } if (lichShadowsGoal != null) lichShadowsGoal.checkAndSpawnClones(target); return true; } @@ -783,6 +784,11 @@ public int getPhase() { } } + @Override + public boolean isOnFire() { + return super.isOnFire() && this.getTeleportInvisibility() <= 0; + } + public int getAttackCooldown() { return this.attackCooldown; } diff --git a/src/main/java/twilightforest/entity/projectile/LichBolt.java b/src/main/java/twilightforest/entity/projectile/LichBolt.java index 3635219dbd..ee49846dff 100644 --- a/src/main/java/twilightforest/entity/projectile/LichBolt.java +++ b/src/main/java/twilightforest/entity/projectile/LichBolt.java @@ -20,6 +20,7 @@ import twilightforest.entity.boss.Lich; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFEntities; +import twilightforest.init.TFParticleType; public class LichBolt extends TFThrowable { @@ -42,7 +43,7 @@ private void makeTrail() { float s2 = ((this.random.nextFloat() * 0.5F) + 0.5F) * 0.80F; float s3 = ((this.random.nextFloat() * 0.5F) + 0.5F) * 0.69F; - this.makeTrail(ColorParticleOption.create(ParticleTypes.ENTITY_EFFECT, s1, s2, s3), 5); + this.makeTrail(ColorParticleOption.create(TFParticleType.MAGIC_EFFECT.get(), s1, s2, s3), 5); } @Override From b14ceeab8dd3d62d7769138b9e5f550afce36553 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Fri, 23 May 2025 19:47:54 +0200 Subject: [PATCH 210/239] I might be losing my mind but this should work ye? --- .../datagen/helpers/models/BlockModelBuilders.java | 8 ++++---- .../.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 4 ++-- .../assets/twilightforest/blockstates/nagastone_head.json | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java index dfaddc1244..20981f618a 100644 --- a/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java +++ b/src/data/java/twilightforest/datagen/helpers/models/BlockModelBuilders.java @@ -164,10 +164,10 @@ public void nagaStone() { this.blockStateOutput.accept(MultiVariantGenerator.multiVariant(TFBlocks.NAGASTONE_HEAD.get()).with( PropertyDispatch.property(BlockStateProperties.HORIZONTAL_FACING) - .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) - .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)) - .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) - .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.SOUTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90)) + .select(Direction.WEST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R0)) + .select(Direction.EAST, Variant.variant().with(VariantProperties.MODEL, model).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180)) )); this.itemModelOutput.accept(TFBlocks.NAGASTONE_HEAD.asItem(), ItemModelUtils.plainModel(model)); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index 26a6212b2b..bf7512f708 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-05-11T08:56:35.8189193 Model Definitions - twilightforest +// 1.21.4 2025-05-23T19:12:55.9869619 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -275,7 +275,7 @@ fe5bd00d8150e9d086a951a8a4df9557e2510394 assets/twilightforest/blockstates/mossy 740668d5508541d13a02505eee1bbc6af177f583 assets/twilightforest/blockstates/moss_patch.json f06dac21e55066a5a2da510d51d778ef1be85f67 assets/twilightforest/blockstates/mushgloom.json cb500dbdfb2dc2cd5e1eef62e987dda58a69cd10 assets/twilightforest/blockstates/nagastone.json -7d84f2b8f8ce462a4cdd4a0a690b4b59ba235ca0 assets/twilightforest/blockstates/nagastone_head.json +b609ca5161aa6cba127356dd7e6cf739b5ba90cc assets/twilightforest/blockstates/nagastone_head.json 8fce57e49c9944451fdd609f7dc195805495f436 assets/twilightforest/blockstates/nagastone_pillar.json beadc2350f7b8c58833c309391f895251da7e5c9 assets/twilightforest/blockstates/nagastone_stairs_left.json 344bc801ddf20afa798499ec3c80d49ba89be47c assets/twilightforest/blockstates/nagastone_stairs_right.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json index f5210ade6f..1044adb91a 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json +++ b/src/generated/resources/assets/twilightforest/blockstates/nagastone_head.json @@ -2,19 +2,19 @@ "variants": { "facing=east": { "model": "twilightforest:block/nagastone_head", - "y": 90 + "y": 180 }, "facing=north": { "model": "twilightforest:block/nagastone_head", - "y": 0 + "y": 90 }, "facing=south": { "model": "twilightforest:block/nagastone_head", - "y": 180 + "y": 270 }, "facing=west": { "model": "twilightforest:block/nagastone_head", - "y": 270 + "y": 0 } } } \ No newline at end of file From 04393e31ff558da4d8a353dd692886f6a88cc40c Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 24 May 2025 09:24:52 +0200 Subject: [PATCH 211/239] Boats have names too --- .../datagen/helpers/TFLangProvider.java | 2 ++ .../d91874c9af25bf3e353141f6b1abac2184bcbcb7 | 6 +++--- .../assets/twilightforest/lang/en_ud.json | 16 ++++++++++++++++ .../assets/twilightforest/lang/en_us.json | 16 ++++++++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java index 8c79b1adc1..fb7003ab05 100644 --- a/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java +++ b/src/data/java/twilightforest/datagen/helpers/TFLangProvider.java @@ -87,7 +87,9 @@ public void createWoodSet(String woodPrefix, String woodName) { this.add("block.twilightforest." + woodPrefix + "_chest", woodName + " Chest"); this.add("block.twilightforest." + woodPrefix + "_trapped_chest", "Trapped " + woodName + " Chest"); this.add("item.twilightforest." + woodPrefix + "_boat", woodName + " Boat"); + this.add("entity.twilightforest." + woodPrefix + "_boat", woodName + " Boat"); this.add("item.twilightforest." + woodPrefix + "_chest_boat", woodName + " Boat with Chest"); + this.add("entity.twilightforest." + woodPrefix + "_chest_boat", woodName + " Boat with Chest"); this.add("block.twilightforest." + woodPrefix + "_hanging_sign", woodName + " Hanging Sign"); } diff --git a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 index b962f9c2e2..8bc7b8d135 100644 --- a/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 +++ b/src/generated/resources/.cache/d91874c9af25bf3e353141f6b1abac2184bcbcb7 @@ -1,6 +1,6 @@ -// 1.21.4 2025-05-17T19:49:46.9604487 Languages: en_us for mod: twilightforest -a12d5cff51214a2c56a3ab29c10540e7a68a4d14 assets/twilightforest/lang/en_ud.json -83c34a22eb481caa744dc5c326847fa2317e6738 assets/twilightforest/lang/en_us.json +// 1.21.4 2025-05-24T09:23:04.9528656 Languages: en_us for mod: twilightforest +ea3848067380836bbdf93d6c58a5005a0ea632d1 assets/twilightforest/lang/en_ud.json +fc48582a04e072b509182aaa18cbcb29a865228b assets/twilightforest/lang/en_us.json 31d12dd44604bd3c937abbc3d606bdd4d209058d assets/twilightforest/tips/anvil_squashing.json caa537d278fb4c0d01e8ba9ff9db8772e00351f3 assets/twilightforest/tips/arctic_armor.json b5e3a038ee043e0da8dc6aca7af9673b8b6182c2 assets/twilightforest/tips/banister_shape.json diff --git a/src/generated/resources/assets/twilightforest/lang/en_ud.json b/src/generated/resources/assets/twilightforest/lang/en_ud.json index aa51bcdd17..032750997e 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_ud.json +++ b/src/generated/resources/assets/twilightforest/lang/en_ud.json @@ -904,6 +904,8 @@ "entity.twilightforest.bighorn_sheep": "dĒĒÉ„S uɹoɄᵷᓉᗺ", "entity.twilightforest.block_and_chain_goblin": "uį“‰źžqo⅁ uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", "entity.twilightforest.boar": "ɹɐoį—ŗ", + "entity.twilightforest.canopy_boat": "ʇɐoį—ŗ ŹŽdouɐʆ", + "entity.twilightforest.canopy_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ ŹŽdouɐʆ", "entity.twilightforest.carminite_broodling": "įµ·uį“‰źžpooɹᗺ ĒŹ‡į“‰uᓉɯɹɐƆ", "entity.twilightforest.carminite_ghastguard": "pɹɐnᵷʇsɐɄ⅁ ĒŹ‡į“‰uᓉɯɹɐƆ", "entity.twilightforest.carminite_ghastling": "įµ·uį“‰źžŹ‡sɐɄ⅁ ĒŹ‡į“‰uᓉɯɹɐƆ", @@ -911,6 +913,8 @@ "entity.twilightforest.chain_block": "uᓉɐɄƆ puɐ ŹžÉ”oźžį—ŗ", "entity.twilightforest.charm_effect": "Ź‡É”ĒÉŸÉŸĘŽ ɯɹɐɄƆ", "entity.twilightforest.cube_of_annihilation": "uoį“‰Ź‡Éźžį“‰É„į“‰uuⱯ ɟo Ēqnʆ", + "entity.twilightforest.dark_boat": "ʇɐoį—ŗ pooŹŹžÉ¹Éį—”", + "entity.twilightforest.dark_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ pooŹŹžÉ¹Éį—”", "entity.twilightforest.death_tome": "ĒÉÆo⟘ É„Ź‡ÉĒį—”", "entity.twilightforest.deer": "É¹ĒĒį—”", "entity.twilightforest.dwarf_rabbit": "ʇᓉqqɐᓚ ÉŸÉ¹ÉŹį—”", @@ -938,7 +942,11 @@ "entity.twilightforest.lower_goblin_knight": "ʇɄᵷᓉuźž° uį“‰źžqo⅁ É¹ĒŹoźž€", "entity.twilightforest.loyal_zombie": "Ēį“‰qÉÆoZ źžÉŹŽoźž€", "entity.twilightforest.magic_painting": "įµ·uᓉʇuᓉɐԀ ɔᓉᵷɐW", + "entity.twilightforest.mangrove_boat": "ʇɐoį—ŗ ĒŹŒoɹᵷuɐW", + "entity.twilightforest.mangrove_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ ĒŹŒoɹᵷuɐW", "entity.twilightforest.maze_slime": "ĒÉÆį“‰źžS ĒzɐW", + "entity.twilightforest.mining_boat": "ʇɐoį—ŗ pooŹĒuᓉW", + "entity.twilightforest.mining_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ pooŹĒuᓉW", "entity.twilightforest.minoshroom": "ÉÆooɹɄsouᓉW", "entity.twilightforest.minotaur": "ɹnɐʇouᓉW", "entity.twilightforest.mist_wolf": "ÉŸźžoM ʇsᓉW", @@ -962,15 +970,23 @@ "entity.twilightforest.slime_projectile": "qoźžį—ŗ ĒÉÆį“‰źžS", "entity.twilightforest.snow_guardian": "uɐᓉpɹɐn⅁ ŹouS", "entity.twilightforest.snow_queen": "uĒĒnź¹ ŹouS", + "entity.twilightforest.sorting_boat": "ʇɐoį—ŗ pooŹįµ·uᓉʇɹoS", + "entity.twilightforest.sorting_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ pooŹįµ·uᓉʇɹoS", "entity.twilightforest.squirrel": "źžĒÉ¹É¹į“‰nbS", "entity.twilightforest.stable_ice_core": "ĒÉ¹oʆ ĒÉ”I ĒźžqɐʇS", "entity.twilightforest.swarm_spider": "É¹ĒpᓉdS ÉÆÉ¹ÉŹS", "entity.twilightforest.thrown_block": "ŹžÉ”oźžį—ŗ uŹoɹɄ⟘", "entity.twilightforest.thrown_weapon": "uodÉĒM uŹoɹɄ⟘", + "entity.twilightforest.time_boat": "ʇɐoį—ŗ pooŹĒÉÆį“‰āŸ˜", + "entity.twilightforest.time_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ pooŹĒÉÆį“‰āŸ˜", "entity.twilightforest.tiny_bird": "pɹᓉᗺ ŹŽuį“‰āŸ˜", "entity.twilightforest.tome_bolt": "Ź‡źžoį—ŗ ĒÉÆo⟘ É„Ź‡ÉĒį—”", "entity.twilightforest.towerwood_borer": "É¹ĒÉ¹oį—ŗ pooŹÉ¹ĒŹo⟘", + "entity.twilightforest.transformation_boat": "ʇɐoį—ŗ pooŹsuɐɹ⟘", + "entity.twilightforest.transformation_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ pooŹsuɐɹ⟘", "entity.twilightforest.troll": "źžźžoɹ⟘", + "entity.twilightforest.twilight_oak_boat": "ʇɐoį—ŗ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", + "entity.twilightforest.twilight_oak_chest_boat": "ʇsĒÉ„Ę† É„Ź‡į“‰Ź ʇɐoį—ŗ ŹžÉO Ź‡É„įµ·į“‰źžį“‰ŹāŸ˜", "entity.twilightforest.unstable_ice_core": "ĒÉ¹oʆ ĒÉ”I Ēźžqɐʇsu∩", "entity.twilightforest.upper_goblin_knight": "ʇɄᵷᓉuźž° uį“‰źžqo⅁ É¹Ēdd∩", "entity.twilightforest.ur_ghast": "ʇsɐɄ⅁-ɹ∩", diff --git a/src/generated/resources/assets/twilightforest/lang/en_us.json b/src/generated/resources/assets/twilightforest/lang/en_us.json index 534a84f777..6c074d3ab1 100644 --- a/src/generated/resources/assets/twilightforest/lang/en_us.json +++ b/src/generated/resources/assets/twilightforest/lang/en_us.json @@ -904,6 +904,8 @@ "entity.twilightforest.bighorn_sheep": "Bighorn Sheep", "entity.twilightforest.block_and_chain_goblin": "Block and Chain Goblin", "entity.twilightforest.boar": "Boar", + "entity.twilightforest.canopy_boat": "Canopy Boat", + "entity.twilightforest.canopy_chest_boat": "Canopy Boat with Chest", "entity.twilightforest.carminite_broodling": "Carminite Broodling", "entity.twilightforest.carminite_ghastguard": "Carminite Ghastguard", "entity.twilightforest.carminite_ghastling": "Carminite Ghastling", @@ -911,6 +913,8 @@ "entity.twilightforest.chain_block": "Block and Chain", "entity.twilightforest.charm_effect": "Charm Effect", "entity.twilightforest.cube_of_annihilation": "Cube of Annihilation", + "entity.twilightforest.dark_boat": "Darkwood Boat", + "entity.twilightforest.dark_chest_boat": "Darkwood Boat with Chest", "entity.twilightforest.death_tome": "Death Tome", "entity.twilightforest.deer": "Deer", "entity.twilightforest.dwarf_rabbit": "Dwarf Rabbit", @@ -938,7 +942,11 @@ "entity.twilightforest.lower_goblin_knight": "Lower Goblin Knight", "entity.twilightforest.loyal_zombie": "Loyal Zombie", "entity.twilightforest.magic_painting": "Magic Painting", + "entity.twilightforest.mangrove_boat": "Mangrove Boat", + "entity.twilightforest.mangrove_chest_boat": "Mangrove Boat with Chest", "entity.twilightforest.maze_slime": "Maze Slime", + "entity.twilightforest.mining_boat": "Minewood Boat", + "entity.twilightforest.mining_chest_boat": "Minewood Boat with Chest", "entity.twilightforest.minoshroom": "Minoshroom", "entity.twilightforest.minotaur": "Minotaur", "entity.twilightforest.mist_wolf": "Mist Wolf", @@ -962,15 +970,23 @@ "entity.twilightforest.slime_projectile": "Slime Blob", "entity.twilightforest.snow_guardian": "Snow Guardian", "entity.twilightforest.snow_queen": "Snow Queen", + "entity.twilightforest.sorting_boat": "Sortingwood Boat", + "entity.twilightforest.sorting_chest_boat": "Sortingwood Boat with Chest", "entity.twilightforest.squirrel": "Squirrel", "entity.twilightforest.stable_ice_core": "Stable Ice Core", "entity.twilightforest.swarm_spider": "Swarm Spider", "entity.twilightforest.thrown_block": "Thrown Block", "entity.twilightforest.thrown_weapon": "Thrown Weapon", + "entity.twilightforest.time_boat": "Timewood Boat", + "entity.twilightforest.time_chest_boat": "Timewood Boat with Chest", "entity.twilightforest.tiny_bird": "Tiny Bird", "entity.twilightforest.tome_bolt": "Death Tome Bolt", "entity.twilightforest.towerwood_borer": "Towerwood Borer", + "entity.twilightforest.transformation_boat": "Transwood Boat", + "entity.twilightforest.transformation_chest_boat": "Transwood Boat with Chest", "entity.twilightforest.troll": "Troll", + "entity.twilightforest.twilight_oak_boat": "Twilight Oak Boat", + "entity.twilightforest.twilight_oak_chest_boat": "Twilight Oak Boat with Chest", "entity.twilightforest.unstable_ice_core": "Unstable Ice Core", "entity.twilightforest.upper_goblin_knight": "Upper Goblin Knight", "entity.twilightforest.ur_ghast": "Ur-Ghast", From c593c4044ee835faaa80dfa477b3cd9e7d017c50 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 24 May 2025 09:27:22 +0200 Subject: [PATCH 212/239] =?UTF-8?q?Fixed=20chest=20boat=20textures=20not?= =?UTF-8?q?=20loading=20=F0=9F=91=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (watch this be a memory leak or something) --- .../TextureGeneratorReloadListener.java | 61 +++++++------------ 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java index 2584fe87ea..e80725fec1 100644 --- a/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java +++ b/src/main/java/twilightforest/client/TextureGeneratorReloadListener.java @@ -3,19 +3,15 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.platform.TextureUtil; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.AbstractTexture; import net.minecraft.client.renderer.texture.ReloadableTexture; import net.minecraft.client.renderer.texture.TextureContents; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; -import net.minecraft.world.entity.vehicle.Boat; -import org.w3c.dom.Text; import twilightforest.TwilightForestMod; import java.io.IOException; import java.io.InputStream; -import java.util.EnumMap; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,24 +56,7 @@ public void onResourceManagerReload(ResourceManager manager) { } } - ref.set(newImage); - - if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).loadContents(manager); - } else { - ReloadableTexture texture = new ReloadableTexture(location) { - @Override - public TextureContents loadContents(ResourceManager resourceManager) { - if (ref.get() == null) - return TextureContents.createMissing(); - TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); - return new TextureContents(ref.get(), null); - } - }; - Minecraft.getInstance().getTextureManager().register(location, texture); - BOAT_CACHE.put(type, texture); - } + registerAndLoad(manager, type, location, newImage); } } else { for (int x = 0; x < 48 * tfScale; x++) { @@ -86,24 +65,7 @@ public TextureContents loadContents(ResourceManager resourceManager) { } } - ref.set(tfImage); - - if (BOAT_CACHE.containsKey(type)) { - BOAT_CACHE.get(type).loadContents(manager); - } else { - ReloadableTexture texture = new ReloadableTexture(location) { - @Override - public TextureContents loadContents(ResourceManager resourceManager) { - if (ref.get() == null) - return TextureContents.createMissing(); - TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); - ref.get().upload(0, 0, 0, 0, 0, ref.get().getWidth(), ref.get().getHeight(), true); - return new TextureContents(ref.get(), null); - } - }; - Minecraft.getInstance().getTextureManager().register(location, texture); - BOAT_CACHE.put(type, texture); - } + registerAndLoad(manager, type, location, tfImage); } } } catch (IOException e) { @@ -119,6 +81,25 @@ public TextureContents loadContents(ResourceManager resourceManager) { ref.set(null); } + private static void registerAndLoad(ResourceManager manager, String type, ResourceLocation location, NativeImage image) throws IOException { + ref.set(image); + + if (BOAT_CACHE.containsKey(type)) { + BOAT_CACHE.get(type).apply(BOAT_CACHE.get(type).loadContents(manager)); + } else { + ReloadableTexture texture = new ReloadableTexture(location) { + @Override + public TextureContents loadContents(ResourceManager resourceManager) { + if (ref.get() == null) return TextureContents.createMissing(); + TextureUtil.prepareImage(this.getId(), 0, ref.get().getWidth(), ref.get().getHeight()); + return new TextureContents(ref.get(), null); + } + }; + Minecraft.getInstance().getTextureManager().registerAndLoad(location, texture); + BOAT_CACHE.put(type, texture); + } + } + private static ResourceLocation getTextureLocation(ResourceLocation type) { return type.withPrefix("textures/entity/chest_boat/").withSuffix(".png"); } From 9a672044f873528c73afe97ec71d8906bfc09844 Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 24 May 2025 20:51:37 +0200 Subject: [PATCH 213/239] Uncrafting is a god-given right --- .../twilightforest/events/EntityEvents.java | 1 + .../inventory/UncraftingMenu.java | 33 ++++++++++--------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/twilightforest/events/EntityEvents.java b/src/main/java/twilightforest/events/EntityEvents.java index 87e2963bd3..eee1d64552 100644 --- a/src/main/java/twilightforest/events/EntityEvents.java +++ b/src/main/java/twilightforest/events/EntityEvents.java @@ -492,6 +492,7 @@ public static void handleQuestSyncing(OnDatapackSyncEvent event) { } else { event.getPlayerList().getPlayers().forEach(player -> PacketDistributor.sendToPlayer(player, new SyncQuestsPacket(questingRamCurrentContext.getContext()))); } + event.sendRecipes(TFRecipes.UNCRAFTING_RECIPE.get()); } @SubscribeEvent diff --git a/src/main/java/twilightforest/inventory/UncraftingMenu.java b/src/main/java/twilightforest/inventory/UncraftingMenu.java index 863bba2765..a2744164ec 100644 --- a/src/main/java/twilightforest/inventory/UncraftingMenu.java +++ b/src/main/java/twilightforest/inventory/UncraftingMenu.java @@ -1,5 +1,6 @@ package twilightforest.inventory; +import it.unimi.dsi.fastutil.ints.IntList; import it.unimi.dsi.fastutil.objects.Object2IntMap; import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; @@ -27,14 +28,14 @@ import org.jetbrains.annotations.Nullable; import twilightforest.TwilightForestMod; import twilightforest.config.TFConfig; -import twilightforest.network.UpdateUncraftingCostPacket; -import twilightforest.tags.TFItemTags; import twilightforest.init.TFBlocks; import twilightforest.init.TFMenuTypes; import twilightforest.inventory.slot.AssemblySlot; import twilightforest.inventory.slot.UncraftingResultSlot; import twilightforest.inventory.slot.UncraftingSlot; import twilightforest.item.recipe.UncraftingRecipe; +import twilightforest.network.UpdateUncraftingCostPacket; +import twilightforest.tags.TFItemTags; import twilightforest.util.TFItemStackUtils; import java.util.ArrayList; @@ -123,6 +124,10 @@ public UncraftingMenu(int id, Inventory inventory, Level level, ContainerLevelAc } } + public static boolean canCraftInDimensions(ShapedRecipe recipe, int width, int height) { + return width >= recipe.getWidth() && height >= recipe.getHeight(); + } + @Override public void slotsChanged(Container inventory) { // we need to see what inventory is calling this, and update appropriately @@ -141,21 +146,19 @@ public void slotsChanged(Container inventory) { CraftingRecipe recipe = recipes[Math.floorMod(this.unrecipeInCycle, size)]; this.storedGhostRecipe = recipe; ItemStack[] recipeItems = this.getIngredients(recipe); + IntList slotIndex = recipe.placementInfo().slotsToIngredientIndex(); if (recipe instanceof ShapedRecipe rec) { - - int recipeWidth = rec.getWidth(); - int recipeHeight = rec.getHeight(); - - // set uncrafting grid - for (int invY = 0; invY < recipeHeight; invY++) { - for (int invX = 0; invX < recipeWidth; invX++) { - - int index = invX + invY * recipeWidth; - if (index >= recipeItems.length) continue; - - ItemStack ingredient = normalizeIngredient(recipeItems[index].copy()); - this.uncraftingMatrix.setItem(invX + invY * 3, ingredient); + for (int j = 0, k = 0; j - k < slotIndex.size(); j++) { + int x = j % 3, y = j / 3; + if (canCraftInDimensions(rec, x, 3) || canCraftInDimensions(rec, 3, y)) { + k++; + continue; + } //Skips empty spaces in shaped recipes + + int index = slotIndex.getInt(j - k); + if (index > -1) { + this.uncraftingMatrix.setItem(x + y * 3, recipeItems[index]); } } } else { From 83e237a3d8a6b37e6269a95b7b9629599571a46b Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 24 May 2025 20:52:27 +0200 Subject: [PATCH 214/239] Just Enough --- .../disabled/compat/jei/FakeEntityType.java | 7 - .../disabled/compat/jei/FakeItemEntity.java | 8 -- .../jei/categories/JEIUncraftingCategory.java | 98 -------------- .../compat/RecipeViewerConstants.java | 42 +++--- .../compat/jei/FakeEntityType.java | 23 ++++ .../compat/jei/FakeItemEntity.java | 14 ++ .../twilightforest}/compat/jei/JEICompat.java | 48 +++---- .../jei/categories/CrumbleHornCategory.java | 16 +-- .../jei/categories/JEIUncraftingCategory.java | 127 ++++++++++++++++++ .../jei/categories/MoonwormQueenCategory.java | 7 +- .../jei/categories/OminousFireCategory.java | 27 ++-- .../TransformationPowderCategory.java | 27 ++-- .../compat/jei/categories/package-info.java | 0 .../NoTemplateSmithingExtension.java | 16 +-- .../jei/extension/ScepterRepairExtension.java | 10 +- .../compat/jei/extension/package-info.java | 7 + .../compat/jei/package-info.java | 0 .../compat/jei/renderers/EntityHelper.java | 24 +--- .../compat/jei/renderers/EntityRenderer.java | 8 +- .../jei/renderers/FakeItemEntityHelper.java | 7 +- .../jei/renderers/FakeItemEntityRenderer.java | 7 +- .../compat/jei/renderers/package-info.java | 0 .../jei/subtype/CasketSubtypeInterpreter.java | 12 +- .../compat/jei/subtype/package-info.java | 7 + .../compat/jei/util/CrumbleRecipe.java | 0 .../compat/jei/util/OminousFireRecipe.java | 0 .../compat/jei/util/TransformationRecipe.java | 0 .../twilightforest}/compat/package-info.java | 0 .../util/entities/EntityRenderingUtil.java | 10 +- 29 files changed, 300 insertions(+), 252 deletions(-) delete mode 100644 src/main/disabled/compat/jei/FakeEntityType.java delete mode 100644 src/main/disabled/compat/jei/FakeItemEntity.java delete mode 100644 src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java rename src/main/{disabled => java/twilightforest}/compat/RecipeViewerConstants.java (78%) create mode 100644 src/main/java/twilightforest/compat/jei/FakeEntityType.java create mode 100644 src/main/java/twilightforest/compat/jei/FakeItemEntity.java rename src/main/{disabled => java/twilightforest}/compat/jei/JEICompat.java (75%) rename src/main/{disabled => java/twilightforest}/compat/jei/categories/CrumbleHornCategory.java (79%) create mode 100644 src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java rename src/main/{disabled => java/twilightforest}/compat/jei/categories/MoonwormQueenCategory.java (90%) rename src/main/{disabled => java/twilightforest}/compat/jei/categories/OminousFireCategory.java (74%) rename src/main/{disabled => java/twilightforest}/compat/jei/categories/TransformationPowderCategory.java (75%) rename src/main/{disabled => java/twilightforest}/compat/jei/categories/package-info.java (100%) rename src/main/{disabled => java/twilightforest}/compat/jei/extension/NoTemplateSmithingExtension.java (56%) rename src/main/{disabled => java/twilightforest}/compat/jei/extension/ScepterRepairExtension.java (80%) create mode 100644 src/main/java/twilightforest/compat/jei/extension/package-info.java rename src/main/{disabled => java/twilightforest}/compat/jei/package-info.java (100%) rename src/main/{disabled => java/twilightforest}/compat/jei/renderers/EntityHelper.java (57%) rename src/main/{disabled => java/twilightforest}/compat/jei/renderers/EntityRenderer.java (71%) rename src/main/{disabled => java/twilightforest}/compat/jei/renderers/FakeItemEntityHelper.java (84%) rename src/main/{disabled => java/twilightforest}/compat/jei/renderers/FakeItemEntityRenderer.java (93%) rename src/main/{disabled => java/twilightforest}/compat/jei/renderers/package-info.java (100%) rename src/main/{disabled => java/twilightforest}/compat/jei/subtype/CasketSubtypeInterpreter.java (55%) create mode 100644 src/main/java/twilightforest/compat/jei/subtype/package-info.java rename src/main/{disabled => java/twilightforest}/compat/jei/util/CrumbleRecipe.java (100%) rename src/main/{disabled => java/twilightforest}/compat/jei/util/OminousFireRecipe.java (100%) rename src/main/{disabled => java/twilightforest}/compat/jei/util/TransformationRecipe.java (100%) rename src/main/{disabled => java/twilightforest}/compat/package-info.java (100%) diff --git a/src/main/disabled/compat/jei/FakeEntityType.java b/src/main/disabled/compat/jei/FakeEntityType.java deleted file mode 100644 index 11ae103dfd..0000000000 --- a/src/main/disabled/compat/jei/FakeEntityType.java +++ /dev/null @@ -1,7 +0,0 @@ -package twilightforest.compat.jei; - -import net.minecraft.world.entity.EntityType; - -//I have to wrap the entitytype in a class like this because otherwise it conflicts with other mods that also try to add entity ingredients -public record FakeEntityType(EntityType type) { -} diff --git a/src/main/disabled/compat/jei/FakeItemEntity.java b/src/main/disabled/compat/jei/FakeItemEntity.java deleted file mode 100644 index d9247296d8..0000000000 --- a/src/main/disabled/compat/jei/FakeItemEntity.java +++ /dev/null @@ -1,8 +0,0 @@ -package twilightforest.compat.jei; - -import net.minecraft.world.item.ItemStack; - -//I have to wrap the itemstack in a class like this because otherwise it conflicts with JEI's VanillaTypes.ITEM_STACK -public record FakeItemEntity(ItemStack stack) { - -} diff --git a/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java b/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java deleted file mode 100644 index 233ca69d4d..0000000000 --- a/src/main/disabled/compat/jei/categories/JEIUncraftingCategory.java +++ /dev/null @@ -1,98 +0,0 @@ -package twilightforest.compat.jei.categories; - -import mezz.jei.api.constants.VanillaTypes; -import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; -import mezz.jei.api.gui.drawable.IDrawable; -import mezz.jei.api.gui.ingredient.IRecipeSlotsView; -import mezz.jei.api.helpers.IGuiHelper; -import mezz.jei.api.recipe.IFocusGroup; -import mezz.jei.api.recipe.RecipeIngredientRole; -import mezz.jei.api.recipe.RecipeType; -import mezz.jei.api.recipe.category.IRecipeCategory; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.CraftingRecipe; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.ShapelessRecipe; -import twilightforest.TwilightForestMod; -import twilightforest.compat.RecipeViewerConstants; -import twilightforest.tags.TFItemTags; -import twilightforest.init.TFBlocks; -import twilightforest.item.recipe.UncraftingRecipe; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class JEIUncraftingCategory implements IRecipeCategory { - public static final RecipeType UNCRAFTING = RecipeType.create(TwilightForestMod.ID, "uncrafting", CraftingRecipe.class); - private final IDrawable background; - private final IDrawable icon; - private final Component localizedName; - - public JEIUncraftingCategory(IGuiHelper guiHelper) { - ResourceLocation location = TwilightForestMod.getGuiTexture("uncrafting_jei.png"); - this.background = guiHelper.createDrawable(location, 0, 0, RecipeViewerConstants.GENERIC_RECIPE_WIDTH, RecipeViewerConstants.GENERIC_RECIPE_HEIGHT); - this.icon = guiHelper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(TFBlocks.UNCRAFTING_TABLE.get())); - this.localizedName = Component.translatable("gui.twilightforest.uncrafting_jei"); - } - - @Override - public RecipeType getRecipeType() { - return UNCRAFTING; - } - - @Override - public Component getTitle() { - return this.localizedName; - } - - @Override - public IDrawable getBackground() { - return this.background; - } - - @Override - public IDrawable getIcon() { - return this.icon; - } - - @Override - public void setRecipe(IRecipeLayoutBuilder builder, CraftingRecipe recipe, IFocusGroup focuses) { - List outputs = new ArrayList<>(recipe.getIngredients()); //Collect each ingredient - outputs.replaceAll(ingredient -> Ingredient.of(Arrays.stream(ingredient.getItems()) - .filter(o -> !(o.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS))) - .filter(o -> !(o.getItem().hasCraftingRemainingItem(o))))//Remove any banned items - ); - - for (int j = 0, k = 0; j - k < outputs.size() && j < 9; j++) { - int x = j % 3, y = j / 3; - if ((recipe.canCraftInDimensions(x, 3) | recipe.canCraftInDimensions(3, y)) && !(recipe instanceof ShapelessRecipe)) { - k++; - continue; - } //Skips empty spaces in shaped recipes - builder.addSlot(RecipeIngredientRole.OUTPUT, x * 18 + 63, y * 18 + 1).addIngredients(outputs.get(j - k)); //Set input as output and place in the grid - } - - if (recipe instanceof UncraftingRecipe uncraftingRecipe) { - ItemStack[] stacks = uncraftingRecipe.getInput().getItems(); - ItemStack[] stackedStacks = new ItemStack[stacks.length]; - for (int i = 0; i < stacks.length; i++) stackedStacks[i] = new ItemStack(stacks[0].getItem(), uncraftingRecipe.getCount()); - builder.addSlot(RecipeIngredientRole.INPUT, 5, 19).addIngredients(Ingredient.of(stackedStacks));//If the recipe is an uncrafting recipe, we need to get the ingredient instead of an itemStack - } else { - builder.addSlot(RecipeIngredientRole.INPUT, 5, 19).addItemStack(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()));//Set the outputs as inputs and draw the item you're uncrafting in the right spot as well - } - } - - @Override - public void draw(CraftingRecipe recipe, IRecipeSlotsView views, GuiGraphics graphics, double mouseX, double mouseY) { - int cost = recipe instanceof UncraftingRecipe ur ? ur.getCost() : RecipeViewerConstants.getRecipeCost(views.getSlotViews(RecipeIngredientRole.OUTPUT).stream().map(view -> view.getDisplayedItemStack().orElse(ItemStack.EMPTY)).toList()); - if (cost > 0) { - String costStr = cost + ""; - graphics.drawString(Minecraft.getInstance().font, costStr, 45 - Minecraft.getInstance().font.width(costStr), 22, RecipeViewerConstants.getXPColor(cost), true); - } - } -} \ No newline at end of file diff --git a/src/main/disabled/compat/RecipeViewerConstants.java b/src/main/java/twilightforest/compat/RecipeViewerConstants.java similarity index 78% rename from src/main/disabled/compat/RecipeViewerConstants.java rename to src/main/java/twilightforest/compat/RecipeViewerConstants.java index cf33799da9..395b1c006a 100644 --- a/src/main/disabled/compat/RecipeViewerConstants.java +++ b/src/main/java/twilightforest/compat/RecipeViewerConstants.java @@ -11,16 +11,15 @@ import net.minecraft.world.item.crafting.*; import net.minecraft.world.level.block.Block; import twilightforest.config.TFConfig; -import twilightforest.tags.TFItemTags; import twilightforest.init.TFDataMaps; import twilightforest.init.TFItems; import twilightforest.init.TFRecipes; import twilightforest.inventory.UncraftingMenu; +import twilightforest.tags.TFItemTags; import twilightforest.util.datamaps.EntityTransformation; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; public class RecipeViewerConstants { public static final int GENERIC_RECIPE_WIDTH = 116; @@ -38,21 +37,28 @@ public class RecipeViewerConstants { Util.make(new ItemStack(TFItems.MOONWORM_QUEEN.get()), stack -> stack.setDamageValue(64)), new ItemStack(TFItems.MOONWORM_QUEEN.get())); - public static List> getAllUncraftingRecipes(RecipeManager manager) { + public static List> getAllUncraftingRecipes(RecipeMap manager) { + List> recipes = new ArrayList<>(); if (!TFConfig.disableUncraftingOnly) { //we only do this if uncrafting is not disabled - List> recipes = new ArrayList<>(manager.getAllRecipesFor(RecipeType.CRAFTING)); - recipes = recipes.stream().filter(recipe -> - !recipe.value().getResultItem(Minecraft.getInstance().level.registryAccess()).isEmpty() && //get rid of empty items - !recipe.value().getResultItem(Minecraft.getInstance().level.registryAccess()).is(TFItemTags.BANNED_UNCRAFTABLES) && //Prevents things that are tagged as banned from showing up - TFConfig.reverseRecipeBlacklist == TFConfig.disableUncraftingRecipes.contains(recipe.id().toString()) && //remove disabled recipes - TFConfig.flipUncraftingModIdList == TFConfig.blacklistedUncraftingModIds.contains(recipe.id().getNamespace())) //remove blacklisted mod ids - .collect(Collectors.toList()); - recipes.removeIf(recipe -> (recipe.value() instanceof ShapelessRecipe && !TFConfig.allowShapelessUncrafting)); - recipes.addAll(manager.getAllRecipesFor(TFRecipes.UNCRAFTING_RECIPE.get())); - return recipes; - } else { - return new ArrayList<>(manager.getAllRecipesFor(TFRecipes.UNCRAFTING_RECIPE.get())); + for (RecipeHolder recipeHolder : manager.byType(RecipeType.CRAFTING)) { + if (recipeHolder.value() instanceof CraftingRecipe recipe) { + if (recipe instanceof ShapedRecipe shapedRecipe && isRecipeChill(recipeHolder, shapedRecipe.result.copy())) { + recipes.add(recipeHolder); + } else if (recipe instanceof ShapelessRecipe shapelessRecipe && !TFConfig.allowShapelessUncrafting && isRecipeChill(recipeHolder, shapelessRecipe.result.copy())) { + recipes.add(recipeHolder); + } + } + } } + recipes.addAll(manager.byType(TFRecipes.UNCRAFTING_RECIPE.get())); + return recipes; + } + + public static boolean isRecipeChill(RecipeHolder holder, ItemStack result) { + return !result.isEmpty() && //get rid of empty items + !result.is(TFItemTags.BANNED_UNCRAFTABLES) && //Prevents things that are tagged as banned from showing up + TFConfig.reverseRecipeBlacklist == TFConfig.disableUncraftingRecipes.contains(holder.id().toString()) && //remove disabled recipes + TFConfig.flipUncraftingModIdList == TFConfig.blacklistedUncraftingModIds.contains(holder.id().location().getNamespace()); } //all recipe viewers run this once when initializing recipes @@ -93,12 +99,12 @@ public static List getOminousFireRecipes() { } for (EntityType input : new ArrayList<>(inputs)) { - EntityTransformation output = input.builtInRegistryHolder().getData(TFDataMaps.OMINOUS_FIRE); + EntityTransformation output = input.builtInRegistryHolder().getData(TFDataMaps.OMINOUS_FIRE); if (output != null) { OminousFireInfo dummy = new OminousFireInfo(output.result(), input); if (!info.contains(dummy)) { - info.add(new OminousFireInfo(input, output.result())); - } + info.add(new OminousFireInfo(input, output.result())); + } } } return info; diff --git a/src/main/java/twilightforest/compat/jei/FakeEntityType.java b/src/main/java/twilightforest/compat/jei/FakeEntityType.java new file mode 100644 index 0000000000..be464c8705 --- /dev/null +++ b/src/main/java/twilightforest/compat/jei/FakeEntityType.java @@ -0,0 +1,23 @@ +package twilightforest.compat.jei; + +import com.mojang.serialization.Codec; +import mezz.jei.api.ingredients.IIngredientType; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.entity.EntityType; + +import java.util.Objects; + +//I have to wrap the entitytype in a class like this because otherwise it conflicts with other mods that also try to add entity ingredients +public record FakeEntityType(ResourceKey> type) { + public static final IIngredientType ENTITY_TYPE = () -> FakeEntityType.class; + public static final Codec CODEC = ResourceKey.codec(Registries.ENTITY_TYPE).xmap( + FakeEntityType::new, + FakeEntityType::type + ); + + @SuppressWarnings("deprecation") + public FakeEntityType(EntityType entityType) { + this(Objects.requireNonNull(entityType.builtInRegistryHolder().getKey())); + } +} diff --git a/src/main/java/twilightforest/compat/jei/FakeItemEntity.java b/src/main/java/twilightforest/compat/jei/FakeItemEntity.java new file mode 100644 index 0000000000..5d63fe6a15 --- /dev/null +++ b/src/main/java/twilightforest/compat/jei/FakeItemEntity.java @@ -0,0 +1,14 @@ +package twilightforest.compat.jei; + +import com.mojang.serialization.Codec; +import mezz.jei.api.ingredients.IIngredientType; +import net.minecraft.world.item.ItemStack; + +//I have to wrap the itemstack in a class like this because otherwise it conflicts with JEI's VanillaTypes.ITEM_STACK +public record FakeItemEntity(ItemStack stack) { + public static final IIngredientType FAKE_ITEM_ENTITY = () -> FakeItemEntity.class; + public static final Codec CODEC = ItemStack.STRICT_SINGLE_ITEM_CODEC.xmap( + FakeItemEntity::new, + FakeItemEntity::stack + ); +} diff --git a/src/main/disabled/compat/jei/JEICompat.java b/src/main/java/twilightforest/compat/jei/JEICompat.java similarity index 75% rename from src/main/disabled/compat/jei/JEICompat.java rename to src/main/java/twilightforest/compat/jei/JEICompat.java index 67ec5bcf0a..ec73cfa00f 100644 --- a/src/main/disabled/compat/jei/JEICompat.java +++ b/src/main/java/twilightforest/compat/jei/JEICompat.java @@ -4,28 +4,29 @@ import mezz.jei.api.JeiPlugin; import mezz.jei.api.constants.RecipeTypes; import mezz.jei.api.constants.VanillaTypes; -import mezz.jei.api.ingredients.IIngredientType; import mezz.jei.api.registration.*; import mezz.jei.api.runtime.IJeiRuntime; -import net.minecraft.client.Minecraft; +import mezz.jei.common.Internal; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.*; -import twilightforest.compat.jei.categories.*; -import twilightforest.compat.jei.extension.NoTemplateSmithingExtension; -import twilightforest.compat.jei.extension.ScepterRepairExtension; -import twilightforest.compat.jei.subtype.CasketSubtypeInterpreter; -import twilightforest.compat.jei.util.OminousFireRecipe; -import twilightforest.config.TFConfig; +import net.minecraft.world.item.crafting.CraftingBookCategory; +import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.item.crafting.RecipeType; import twilightforest.TwilightForestMod; import twilightforest.client.UncraftingScreen; import twilightforest.compat.RecipeViewerConstants; +import twilightforest.compat.jei.categories.*; +import twilightforest.compat.jei.extension.NoTemplateSmithingExtension; +import twilightforest.compat.jei.extension.ScepterRepairExtension; import twilightforest.compat.jei.renderers.EntityHelper; import twilightforest.compat.jei.renderers.EntityRenderer; import twilightforest.compat.jei.renderers.FakeItemEntityHelper; import twilightforest.compat.jei.renderers.FakeItemEntityRenderer; +import twilightforest.compat.jei.subtype.CasketSubtypeInterpreter; import twilightforest.compat.jei.util.CrumbleRecipe; +import twilightforest.compat.jei.util.OminousFireRecipe; import twilightforest.compat.jei.util.TransformationRecipe; +import twilightforest.config.TFConfig; import twilightforest.init.TFBlocks; import twilightforest.init.TFItems; import twilightforest.init.TFMenuTypes; @@ -36,25 +37,20 @@ import java.util.Collections; import java.util.List; -import java.util.Objects; @JeiPlugin @SuppressWarnings("unused") public class JEICompat implements IModPlugin { - - public static final IIngredientType ENTITY_TYPE = () -> FakeEntityType.class; - public static final IIngredientType FAKE_ITEM_ENTITY = () -> FakeItemEntity.class; - @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { if (!TFConfig.disableEntireTable) { - registration.addRecipeCatalyst(new ItemStack(TFBlocks.UNCRAFTING_TABLE.get()), RecipeTypes.CRAFTING); - registration.addRecipeCatalyst(new ItemStack(TFBlocks.UNCRAFTING_TABLE.get()), JEIUncraftingCategory.UNCRAFTING); + registration.addCraftingStation(RecipeTypes.CRAFTING, TFBlocks.UNCRAFTING_TABLE); + registration.addCraftingStation(JEIUncraftingCategory.UNCRAFTING, TFBlocks.UNCRAFTING_TABLE); } - registration.addRecipeCatalyst(new ItemStack(TFItems.TRANSFORMATION_POWDER.get()), TransformationPowderCategory.TRANSFORMATION); - registration.addRecipeCatalyst(new ItemStack(TFItems.EXANIMATE_ESSENCE.get()), OminousFireCategory.OMINOUS_FIRE); - registration.addRecipeCatalyst(new ItemStack(TFItems.CRUMBLE_HORN.get()), CrumbleHornCategory.CRUMBLE_HORN); - registration.addRecipeCatalyst(new ItemStack(TFItems.MOONWORM_QUEEN.get()), MoonwormQueenCategory.MOONWORM_QUEEN); + registration.addCraftingStation(TransformationPowderCategory.TRANSFORMATION, TFItems.TRANSFORMATION_POWDER); + registration.addCraftingStation(OminousFireCategory.OMINOUS_FIRE, TFItems.EXANIMATE_ESSENCE); + registration.addCraftingStation(CrumbleHornCategory.CRUMBLE_HORN, TFItems.CRUMBLE_HORN); + registration.addCraftingStation(MoonwormQueenCategory.MOONWORM_QUEEN, TFItems.MOONWORM_QUEEN); } @Override @@ -69,8 +65,8 @@ public void registerRecipeTransferHandlers(IRecipeTransferRegistration registrat @Override public void registerIngredients(IModIngredientRegistration registration) { - registration.register(ENTITY_TYPE, Collections.emptyList(), new EntityHelper(), new EntityRenderer(16)); - registration.register(FAKE_ITEM_ENTITY, Collections.emptyList(), new FakeItemEntityHelper(), new FakeItemEntityRenderer(16)); + registration.register(FakeEntityType.ENTITY_TYPE, Collections.emptyList(), new EntityHelper(), new EntityRenderer(16), FakeEntityType.CODEC); + registration.register(FakeItemEntity.FAKE_ITEM_ENTITY, Collections.emptyList(), new FakeItemEntityHelper(), new FakeItemEntityRenderer(16), FakeItemEntity.CODEC); } @Override @@ -84,8 +80,7 @@ public void registerCategories(IRecipeCategoryRegistration registration) { registration.addRecipeCategories(new TransformationPowderCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new OminousFireCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new CrumbleHornCategory(registration.getJeiHelpers().getGuiHelper())); - RecipeManager manager = Objects.requireNonNull(Minecraft.getInstance().level).getRecipeManager(); - if (!manager.getAllRecipesFor(RecipeType.CRAFTING).stream().filter(holder -> holder.value() instanceof MoonwormQueenRepairRecipe).toList().isEmpty()) { + if (!Internal.getClientSyncedRecipes().byType(RecipeType.CRAFTING).stream().filter(holder -> holder.value() instanceof MoonwormQueenRepairRecipe).toList().isEmpty()) { registration.addRecipeCategories(new MoonwormQueenCategory(registration.getJeiHelpers().getGuiHelper())); } } @@ -99,9 +94,8 @@ public void registerVanillaCategoryExtensions(IVanillaCategoryExtensionRegistrat @Override @SuppressWarnings("unchecked") public void registerRecipes(IRecipeRegistration registration) { - RecipeManager manager = Objects.requireNonNull(Minecraft.getInstance().level).getRecipeManager(); if (!TFConfig.disableEntireTable) { - List> recipes = RecipeViewerConstants.getAllUncraftingRecipes(manager); + List> recipes = RecipeViewerConstants.getAllUncraftingRecipes(Internal.getClientSyncedRecipes()); registration.addRecipes(JEIUncraftingCategory.UNCRAFTING, (List) recipes.stream().map(RecipeHolder::value).toList()); } registration.addRecipes(TransformationPowderCategory.TRANSFORMATION, RecipeViewerConstants.getTransformationPowderRecipes().stream().map(info -> new TransformationRecipe(new FakeEntityType(info.input()), new FakeEntityType(info.output()), info.reversible())).toList()); diff --git a/src/main/disabled/compat/jei/categories/CrumbleHornCategory.java b/src/main/java/twilightforest/compat/jei/categories/CrumbleHornCategory.java similarity index 79% rename from src/main/disabled/compat/jei/categories/CrumbleHornCategory.java rename to src/main/java/twilightforest/compat/jei/categories/CrumbleHornCategory.java index ad17e432fc..3289c3d037 100644 --- a/src/main/disabled/compat/jei/categories/CrumbleHornCategory.java +++ b/src/main/java/twilightforest/compat/jei/categories/CrumbleHornCategory.java @@ -7,8 +7,8 @@ import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.RecipeIngredientRole; -import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.recipe.types.IRecipeType; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -17,14 +17,13 @@ import twilightforest.TwilightForestMod; import twilightforest.compat.RecipeViewerConstants; import twilightforest.compat.jei.FakeItemEntity; -import twilightforest.compat.jei.JEICompat; import twilightforest.compat.jei.renderers.FakeItemEntityRenderer; import twilightforest.compat.jei.util.CrumbleRecipe; import twilightforest.init.TFItems; public class CrumbleHornCategory implements IRecipeCategory { - public static final RecipeType CRUMBLE_HORN = RecipeType.create(TwilightForestMod.ID, "crumble_horn", CrumbleRecipe.class); + public static final IRecipeType CRUMBLE_HORN = IRecipeType.create(TwilightForestMod.prefix("crumble_horn"), CrumbleRecipe.class); private final IDrawable background; private final IDrawable icon; private final IDrawable crumbleSlot; @@ -41,7 +40,7 @@ public CrumbleHornCategory(IGuiHelper helper) { } @Override - public RecipeType getRecipeType() { + public IRecipeType getRecipeType() { return CRUMBLE_HORN; } @@ -51,6 +50,7 @@ public Component getTitle() { } @Override + @SuppressWarnings("removal")//FIXME? public IDrawable getBackground() { return this.background; } @@ -67,14 +67,14 @@ public void draw(CrumbleRecipe recipe, IRecipeSlotsView recipeSlotsView, GuiGrap @Override public void setRecipe(IRecipeLayoutBuilder builder, CrumbleRecipe recipe, IFocusGroup focuses) { - builder.addSlot(RecipeIngredientRole.INPUT, 19, 19).addItemStack(new ItemStack(recipe.input().asItem())); + builder.addSlot(RecipeIngredientRole.INPUT, 19, 19).add(new ItemStack(recipe.input().asItem())); if (recipe.output() != Blocks.AIR) { - builder.addSlot(RecipeIngredientRole.OUTPUT, 81, 19).addItemStack(new ItemStack(recipe.output().asItem())); + builder.addSlot(RecipeIngredientRole.OUTPUT, 81, 19).add(new ItemStack(recipe.output().asItem())); } else { builder.addSlot(RecipeIngredientRole.OUTPUT, 75, 12) - .setCustomRenderer(JEICompat.FAKE_ITEM_ENTITY, this.itemRenderer) - .addIngredient(JEICompat.FAKE_ITEM_ENTITY, new FakeItemEntity(new ItemStack(recipe.input().asItem()))); + .setCustomRenderer(FakeItemEntity.FAKE_ITEM_ENTITY, this.itemRenderer) + .add(FakeItemEntity.FAKE_ITEM_ENTITY, new FakeItemEntity(new ItemStack(recipe.input().asItem()))); } } } diff --git a/src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java b/src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java new file mode 100644 index 0000000000..0422606e2e --- /dev/null +++ b/src/main/java/twilightforest/compat/jei/categories/JEIUncraftingCategory.java @@ -0,0 +1,127 @@ +package twilightforest.compat.jei.categories; + +import it.unimi.dsi.fastutil.ints.IntList; +import mezz.jei.api.constants.VanillaTypes; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.helpers.IGuiHelper; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.recipe.types.IRecipeType; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.ShapedRecipe; +import net.minecraft.world.item.crafting.ShapelessRecipe; +import net.minecraft.world.item.crafting.display.SlotDisplay; +import twilightforest.TwilightForestMod; +import twilightforest.compat.RecipeViewerConstants; +import twilightforest.init.TFBlocks; +import twilightforest.inventory.UncraftingMenu; +import twilightforest.item.recipe.UncraftingRecipe; +import twilightforest.tags.TFItemTags; + +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Stream; + +public class JEIUncraftingCategory implements IRecipeCategory { + public static final IRecipeType UNCRAFTING = IRecipeType.create(TwilightForestMod.prefix("uncrafting"), CraftingRecipe.class); + private final IDrawable background; + private final IDrawable icon; + private final Component localizedName; + + public JEIUncraftingCategory(IGuiHelper guiHelper) { + ResourceLocation location = TwilightForestMod.getGuiTexture("uncrafting_jei.png"); + this.background = guiHelper.createDrawable(location, 0, 0, RecipeViewerConstants.GENERIC_RECIPE_WIDTH, RecipeViewerConstants.GENERIC_RECIPE_HEIGHT); + this.icon = guiHelper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(TFBlocks.UNCRAFTING_TABLE.get())); + this.localizedName = Component.translatable("gui.twilightforest.uncrafting_jei"); + } + + @Override + public IRecipeType getRecipeType() { + return UNCRAFTING; + } + + @Override + public Component getTitle() { + return this.localizedName; + } + + @Override + @SuppressWarnings("removal")//FIXME? + public IDrawable getBackground() { + return this.background; + } + + @Override + public IDrawable getIcon() { + return this.icon; + } + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, CraftingRecipe recipe, IFocusGroup focuses) { + List outputs = new ArrayList<>(recipe.placementInfo().ingredients()); //Collect each ingredient + outputs.replaceAll(ingredient -> { + Item[] array = extractItems(ingredient) + .filter(o -> !o.is(TFItemTags.BANNED_UNCRAFTING_INGREDIENTS)) //Remove any banned items + .filter(o -> o.value().getCraftingRemainder(o.value().getDefaultInstance()).isEmpty()) //Can't uncraft into items that don't get used + .map(Holder::value).toArray(Item[]::new); + + return array.length > 0 ? Ingredient.of(array) : null; + } + ); + + IntList slotIndex = recipe.placementInfo().slotsToIngredientIndex(); + + for (int j = 0, k = 0; j - k < slotIndex.size(); j++) { + int x = j % 3, y = j / 3; + if (recipe instanceof ShapedRecipe shapedRecipe && (UncraftingMenu.canCraftInDimensions(shapedRecipe, x, 3) || UncraftingMenu.canCraftInDimensions(shapedRecipe, 3, y))) { + k++; + continue; + } //Skips empty spaces in shaped recipes + + int index = slotIndex.getInt(j - k); + @Nullable Ingredient ingredient = index < 0 ? null : outputs.get(index); + if (ingredient != null) builder.addSlot(RecipeIngredientRole.OUTPUT, x * 18 + 63, y * 18 + 1).add(ingredient); //Set input as output and place in the grid + } + + switch (recipe) { + case UncraftingRecipe uncraftingRecipe -> builder.addSlot(RecipeIngredientRole.INPUT, 5, 19).add(uncraftDisplay(uncraftingRecipe));//If the recipe is an uncrafting recipe, we need to get the ingredient instead of an itemStack + case ShapedRecipe shapedRecipe -> builder.addSlot(RecipeIngredientRole.INPUT, 5, 19).add(shapedRecipe.result.copy()); //Set the outputs as inputs and draw the item you're uncrafting in the right spot as well + case ShapelessRecipe shapelessRecipe -> builder.addSlot(RecipeIngredientRole.INPUT, 5, 19).add(shapelessRecipe.result.copy()); //Set the outputs as inputs and draw the item you're uncrafting in the right spot as well + default -> { + } + } + } + + @Override + public void draw(CraftingRecipe recipe, IRecipeSlotsView views, GuiGraphics graphics, double mouseX, double mouseY) { + int cost = recipe instanceof UncraftingRecipe ur ? ur.getCost() : RecipeViewerConstants.getRecipeCost(views.getSlotViews(RecipeIngredientRole.OUTPUT).stream().map(view -> view.getDisplayedItemStack().orElse(ItemStack.EMPTY)).toList()); + if (cost > 0) { + String costStr = cost + ""; + graphics.drawString(Minecraft.getInstance().font, costStr, 45 - Minecraft.getInstance().font.width(costStr), 22, RecipeViewerConstants.getXPColor(cost), true); + } + } + + public static Stream> extractItems(Ingredient ingredient) { + if (ingredient.isCustom()) return Objects.requireNonNull(ingredient.getCustomIngredient()).items(); + else return ingredient.getValues().stream(); + } + + public static SlotDisplay uncraftDisplay(UncraftingRecipe recipe) { + List displayList = new ArrayList<>(); + extractItems(recipe.getInput()).map(Holder::value).forEach(item -> displayList.add(new SlotDisplay.ItemStackSlotDisplay(new ItemStack(item, recipe.getCount())))); + return new SlotDisplay.Composite(displayList); + } +} \ No newline at end of file diff --git a/src/main/disabled/compat/jei/categories/MoonwormQueenCategory.java b/src/main/java/twilightforest/compat/jei/categories/MoonwormQueenCategory.java similarity index 90% rename from src/main/disabled/compat/jei/categories/MoonwormQueenCategory.java rename to src/main/java/twilightforest/compat/jei/categories/MoonwormQueenCategory.java index cb18f1437c..dd982062a7 100644 --- a/src/main/disabled/compat/jei/categories/MoonwormQueenCategory.java +++ b/src/main/java/twilightforest/compat/jei/categories/MoonwormQueenCategory.java @@ -7,8 +7,8 @@ import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.RecipeIngredientRole; -import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.recipe.types.IRecipeType; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -19,7 +19,7 @@ public class MoonwormQueenCategory implements IRecipeCategory { - public static final RecipeType MOONWORM_QUEEN = RecipeType.create(TwilightForestMod.ID, "moonworm_queen_repair", MoonwormQueenRepairRecipe.class); + public static final IRecipeType MOONWORM_QUEEN = IRecipeType.create(TwilightForestMod.prefix("moonworm_queen_repair"), MoonwormQueenRepairRecipe.class); private final IDrawable background; private final IDrawable icon; private final Component localizedName; @@ -32,7 +32,7 @@ public MoonwormQueenCategory(IGuiHelper guiHelper) { } @Override - public RecipeType getRecipeType() { + public IRecipeType getRecipeType() { return MOONWORM_QUEEN; } @@ -42,6 +42,7 @@ public Component getTitle() { } @Override + @SuppressWarnings("removal") public IDrawable getBackground() { return this.background; } diff --git a/src/main/disabled/compat/jei/categories/OminousFireCategory.java b/src/main/java/twilightforest/compat/jei/categories/OminousFireCategory.java similarity index 74% rename from src/main/disabled/compat/jei/categories/OminousFireCategory.java rename to src/main/java/twilightforest/compat/jei/categories/OminousFireCategory.java index 057883cebc..12df1a46ae 100644 --- a/src/main/disabled/compat/jei/categories/OminousFireCategory.java +++ b/src/main/java/twilightforest/compat/jei/categories/OminousFireCategory.java @@ -7,23 +7,23 @@ import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.RecipeIngredientRole; -import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.recipe.types.IRecipeType; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SpawnEggItem; -import net.neoforged.neoforge.common.DeferredSpawnEggItem; import twilightforest.TwilightForestMod; import twilightforest.compat.RecipeViewerConstants; -import twilightforest.compat.jei.JEICompat; +import twilightforest.compat.jei.FakeEntityType; import twilightforest.compat.jei.renderers.EntityRenderer; import twilightforest.compat.jei.util.OminousFireRecipe; import twilightforest.init.TFItems; public class OminousFireCategory implements IRecipeCategory { - public static final RecipeType OMINOUS_FIRE = RecipeType.create(TwilightForestMod.ID, "ominous_fire", OminousFireRecipe.class); + public static final IRecipeType OMINOUS_FIRE = IRecipeType.create(TwilightForestMod.prefix("ominous_fire"), OminousFireRecipe.class); private final IDrawable background; private final IDrawable icon; private final IDrawable arrow; @@ -39,7 +39,7 @@ public OminousFireCategory(IGuiHelper helper) { } @Override - public RecipeType getRecipeType() { + public IRecipeType getRecipeType() { return OMINOUS_FIRE; } @@ -49,6 +49,7 @@ public Component getTitle() { } @Override + @SuppressWarnings("removal") public IDrawable getBackground() { return this.background; } @@ -66,22 +67,22 @@ public void draw(OminousFireRecipe recipe, IRecipeSlotsView recipeSlotsView, Gui @Override public void setRecipe(IRecipeLayoutBuilder builder, OminousFireRecipe recipe, IFocusGroup focuses) { builder.addSlot(RecipeIngredientRole.INPUT, 8, 11) - .setCustomRenderer(JEICompat.ENTITY_TYPE, this.entityRenderer) - .addIngredient(JEICompat.ENTITY_TYPE, recipe.input()); + .setCustomRenderer(FakeEntityType.ENTITY_TYPE, this.entityRenderer) + .add(FakeEntityType.ENTITY_TYPE, recipe.input()); - SpawnEggItem inputEgg = DeferredSpawnEggItem.byId(recipe.input().type()); + SpawnEggItem inputEgg = SpawnEggItem.byId(BuiltInRegistries.ENTITY_TYPE.getValue(recipe.input().type())); if (inputEgg != null) { //make it so hovering over the entity shows its name - builder.addInvisibleIngredients(RecipeIngredientRole.INPUT).addItemStack(new ItemStack(inputEgg)); + builder.addInvisibleIngredients(RecipeIngredientRole.INPUT).add(new ItemStack(inputEgg)); } builder.addSlot(RecipeIngredientRole.OUTPUT, 76, 11) - .setCustomRenderer(JEICompat.ENTITY_TYPE, this.entityRenderer) - .addIngredient(JEICompat.ENTITY_TYPE, recipe.output()); + .setCustomRenderer(FakeEntityType.ENTITY_TYPE, this.entityRenderer) + .add(FakeEntityType.ENTITY_TYPE, recipe.output()); - SpawnEggItem outputEgg = DeferredSpawnEggItem.byId(recipe.output().type()); + SpawnEggItem outputEgg = SpawnEggItem.byId(BuiltInRegistries.ENTITY_TYPE.getValue(recipe.output().type())); if (outputEgg != null) { //make it so hovering over the entity shows its name - builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).addItemStack(new ItemStack(outputEgg)); + builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).add(new ItemStack(outputEgg)); } } } diff --git a/src/main/disabled/compat/jei/categories/TransformationPowderCategory.java b/src/main/java/twilightforest/compat/jei/categories/TransformationPowderCategory.java similarity index 75% rename from src/main/disabled/compat/jei/categories/TransformationPowderCategory.java rename to src/main/java/twilightforest/compat/jei/categories/TransformationPowderCategory.java index a8246c830b..b7fb6291d6 100644 --- a/src/main/disabled/compat/jei/categories/TransformationPowderCategory.java +++ b/src/main/java/twilightforest/compat/jei/categories/TransformationPowderCategory.java @@ -7,23 +7,23 @@ import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.RecipeIngredientRole; -import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.recipe.types.IRecipeType; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SpawnEggItem; -import net.neoforged.neoforge.common.DeferredSpawnEggItem; import twilightforest.TwilightForestMod; import twilightforest.compat.RecipeViewerConstants; -import twilightforest.compat.jei.JEICompat; +import twilightforest.compat.jei.FakeEntityType; import twilightforest.compat.jei.renderers.EntityRenderer; import twilightforest.compat.jei.util.TransformationRecipe; import twilightforest.init.TFItems; public class TransformationPowderCategory implements IRecipeCategory { - public static final RecipeType TRANSFORMATION = RecipeType.create(TwilightForestMod.ID, "transformation_powder", TransformationRecipe.class); + public static final IRecipeType TRANSFORMATION = IRecipeType.create(TwilightForestMod.prefix("transformation_powder"), TransformationRecipe.class); private final IDrawable background; private final IDrawable icon; private final IDrawable arrow; @@ -41,7 +41,7 @@ public TransformationPowderCategory(IGuiHelper helper) { } @Override - public RecipeType getRecipeType() { + public IRecipeType getRecipeType() { return TRANSFORMATION; } @@ -51,6 +51,7 @@ public Component getTitle() { } @Override + @SuppressWarnings("removal") public IDrawable getBackground() { return this.background; } @@ -72,22 +73,22 @@ public void draw(TransformationRecipe recipe, IRecipeSlotsView recipeSlotsView, @Override public void setRecipe(IRecipeLayoutBuilder builder, TransformationRecipe recipe, IFocusGroup focuses) { builder.addSlot(RecipeIngredientRole.INPUT, 8, 11) - .setCustomRenderer(JEICompat.ENTITY_TYPE, this.entityRenderer) - .addIngredient(JEICompat.ENTITY_TYPE, recipe.input()); + .setCustomRenderer(FakeEntityType.ENTITY_TYPE, this.entityRenderer) + .add(FakeEntityType.ENTITY_TYPE, recipe.input()); - SpawnEggItem inputEgg = DeferredSpawnEggItem.byId(recipe.input().type()); + SpawnEggItem inputEgg = SpawnEggItem.byId(BuiltInRegistries.ENTITY_TYPE.getValue(recipe.input().type())); if (inputEgg != null) { //make it so hovering over the entity shows its name - builder.addInvisibleIngredients(RecipeIngredientRole.INPUT).addItemStack(new ItemStack(inputEgg)); + builder.addInvisibleIngredients(RecipeIngredientRole.INPUT).add(new ItemStack(inputEgg)); } builder.addSlot(RecipeIngredientRole.OUTPUT, 76, 11) - .setCustomRenderer(JEICompat.ENTITY_TYPE, this.entityRenderer) - .addIngredient(JEICompat.ENTITY_TYPE, recipe.output()); + .setCustomRenderer(FakeEntityType.ENTITY_TYPE, this.entityRenderer) + .add(FakeEntityType.ENTITY_TYPE, recipe.output()); - SpawnEggItem outputEgg = DeferredSpawnEggItem.byId(recipe.output().type()); + SpawnEggItem outputEgg = SpawnEggItem.byId(BuiltInRegistries.ENTITY_TYPE.getValue(recipe.output().type())); if (outputEgg != null) { //make it so hovering over the entity shows its name - builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).addItemStack(new ItemStack(outputEgg)); + builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).add(new ItemStack(outputEgg)); } } } diff --git a/src/main/disabled/compat/jei/categories/package-info.java b/src/main/java/twilightforest/compat/jei/categories/package-info.java similarity index 100% rename from src/main/disabled/compat/jei/categories/package-info.java rename to src/main/java/twilightforest/compat/jei/categories/package-info.java diff --git a/src/main/disabled/compat/jei/extension/NoTemplateSmithingExtension.java b/src/main/java/twilightforest/compat/jei/extension/NoTemplateSmithingExtension.java similarity index 56% rename from src/main/disabled/compat/jei/extension/NoTemplateSmithingExtension.java rename to src/main/java/twilightforest/compat/jei/extension/NoTemplateSmithingExtension.java index e1a2dd1428..f302e9aafb 100644 --- a/src/main/disabled/compat/jei/extension/NoTemplateSmithingExtension.java +++ b/src/main/java/twilightforest/compat/jei/extension/NoTemplateSmithingExtension.java @@ -1,20 +1,10 @@ package twilightforest.compat.jei.extension; import mezz.jei.api.gui.builder.IIngredientAcceptor; -import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; -import mezz.jei.api.gui.ingredient.ICraftingGridHelper; -import mezz.jei.api.recipe.IFocusGroup; -import mezz.jei.api.recipe.category.extensions.vanilla.crafting.ICraftingCategoryExtension; import mezz.jei.api.recipe.category.extensions.vanilla.smithing.ISmithingCategoryExtension; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.RecipeHolder; import twilightforest.item.recipe.NoTemplateSmithingRecipe; -import twilightforest.item.recipe.ScepterRepairRecipe; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +@SuppressWarnings("NonExtendableApiUsage") public class NoTemplateSmithingExtension implements ISmithingCategoryExtension { @Override @@ -24,11 +14,11 @@ public > void setTemplate(NoTemplateSmithingRec @Override public > void setBase(NoTemplateSmithingRecipe recipe, T acceptor) { - acceptor.addIngredients(recipe.getBase()); + recipe.baseIngredient().ifPresent(acceptor::add); } @Override public > void setAddition(NoTemplateSmithingRecipe recipe, T acceptor) { - acceptor.addIngredients(recipe.getAddition()); + recipe.additionIngredient().ifPresent(acceptor::add); } } diff --git a/src/main/disabled/compat/jei/extension/ScepterRepairExtension.java b/src/main/java/twilightforest/compat/jei/extension/ScepterRepairExtension.java similarity index 80% rename from src/main/disabled/compat/jei/extension/ScepterRepairExtension.java rename to src/main/java/twilightforest/compat/jei/extension/ScepterRepairExtension.java index 8875753dc4..e9bd6f9d63 100644 --- a/src/main/disabled/compat/jei/extension/ScepterRepairExtension.java +++ b/src/main/java/twilightforest/compat/jei/extension/ScepterRepairExtension.java @@ -6,21 +6,20 @@ import mezz.jei.api.recipe.category.extensions.vanilla.crafting.ICraftingCategoryExtension; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.item.crafting.display.SlotDisplay; import twilightforest.item.recipe.ScepterRepairRecipe; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class ScepterRepairExtension implements ICraftingCategoryExtension { - @Override public void setRecipe(RecipeHolder recipeHolder, IRecipeLayoutBuilder builder, ICraftingGridHelper craftingGridHelper, IFocusGroup focuses) { var scepter = new ItemStack(recipeHolder.value().getScepter()); scepter.setDamageValue(scepter.getMaxDamage()); List> inputs = new ArrayList<>(); inputs.add(List.of(scepter)); - inputs.addAll(recipeHolder.value().getRepairItems().stream().map(ingredient -> Arrays.stream(ingredient.getItems()).toList()).toList()); + //inputs.addAll(recipeHolder.value().getRepairItems().stream().map(ingredient -> Arrays.stream(ingredient.g()).toList()).toList());FIXME craftingGridHelper.createAndSetInputs(builder, inputs, 0, 0); @@ -28,4 +27,9 @@ public void setRecipe(RecipeHolder recipeHolder, IRecipeLay repairedScepter.setDamageValue(scepter.getMaxDamage() - recipeHolder.value().getRepairDurability()); craftingGridHelper.createAndSetOutputs(builder, List.of(repairedScepter)); } + + @Override + public List getIngredients(RecipeHolder recipeHolder) { + return List.of(); + } } diff --git a/src/main/java/twilightforest/compat/jei/extension/package-info.java b/src/main/java/twilightforest/compat/jei/extension/package-info.java new file mode 100644 index 0000000000..e80e2c77b2 --- /dev/null +++ b/src/main/java/twilightforest/compat/jei/extension/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.compat.jei.extension; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/disabled/compat/jei/package-info.java b/src/main/java/twilightforest/compat/jei/package-info.java similarity index 100% rename from src/main/disabled/compat/jei/package-info.java rename to src/main/java/twilightforest/compat/jei/package-info.java diff --git a/src/main/disabled/compat/jei/renderers/EntityHelper.java b/src/main/java/twilightforest/compat/jei/renderers/EntityHelper.java similarity index 57% rename from src/main/disabled/compat/jei/renderers/EntityHelper.java rename to src/main/java/twilightforest/compat/jei/renderers/EntityHelper.java index 9d302d4ecb..a98e5a0f39 100644 --- a/src/main/disabled/compat/jei/renderers/EntityHelper.java +++ b/src/main/java/twilightforest/compat/jei/renderers/EntityHelper.java @@ -5,33 +5,29 @@ import mezz.jei.api.ingredients.subtypes.UidContext; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.EntityType; import org.jetbrains.annotations.Nullable; import twilightforest.compat.jei.FakeEntityType; -import twilightforest.compat.jei.JEICompat; - -import java.util.Objects; public class EntityHelper implements IIngredientHelper { @Override public IIngredientType getIngredientType() { - return JEICompat.ENTITY_TYPE; + return FakeEntityType.ENTITY_TYPE; } @Override public String getDisplayName(FakeEntityType type) { - return type.type().getDescription().getString(); + return BuiltInRegistries.ENTITY_TYPE.get(type.type()).map(entityTypeReference -> entityTypeReference.value().getDescription().getString()).orElse(""); } @Override - public String getUniqueId(FakeEntityType type, UidContext context) { - return Objects.requireNonNull(BuiltInRegistries.ENTITY_TYPE.getKey(type.type())).toString(); + public Object getUid(FakeEntityType type, UidContext context) { + return this.getResourceLocation(type).toString(); } @Override public ResourceLocation getResourceLocation(FakeEntityType type) { - return Objects.requireNonNull(BuiltInRegistries.ENTITY_TYPE.getKey(type.type())); + return type.type().location(); } @Override @@ -41,13 +37,7 @@ public FakeEntityType copyIngredient(FakeEntityType type) { @Override public String getErrorInfo(@Nullable FakeEntityType type) { - if (type == null) { - return "null"; - } - ResourceLocation name = BuiltInRegistries.ENTITY_TYPE.getKey(type.type()); - if (name == null) { - return "unnamed sadface :("; - } - return name.toString(); + if (type == null) return "null"; + return type.type().location().toString(); } } \ No newline at end of file diff --git a/src/main/disabled/compat/jei/renderers/EntityRenderer.java b/src/main/java/twilightforest/compat/jei/renderers/EntityRenderer.java similarity index 71% rename from src/main/disabled/compat/jei/renderers/EntityRenderer.java rename to src/main/java/twilightforest/compat/jei/renderers/EntityRenderer.java index 77c1448df7..b4dfc6db6d 100644 --- a/src/main/disabled/compat/jei/renderers/EntityRenderer.java +++ b/src/main/java/twilightforest/compat/jei/renderers/EntityRenderer.java @@ -3,7 +3,9 @@ import mezz.jei.api.gui.builder.ITooltipBuilder; import mezz.jei.api.ingredients.IIngredientRenderer; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.TooltipFlag; import org.jetbrains.annotations.Nullable; import twilightforest.compat.jei.FakeEntityType; @@ -32,7 +34,8 @@ public int getHeight() { @Override public void render(GuiGraphics graphics, @Nullable FakeEntityType type) { if (type != null) { - EntityRenderingUtil.renderEntity(graphics, type.type(), this.size); + EntityType entityType = BuiltInRegistries.ENTITY_TYPE.getValue(type.type()); + if (entityType != null) EntityRenderingUtil.renderEntity(graphics, entityType, this.size); } } @@ -44,6 +47,7 @@ public List getTooltip(FakeEntityType type, TooltipFlag flag) { @Override public void getTooltip(ITooltipBuilder tooltip, FakeEntityType type, TooltipFlag flag) { - tooltip.addAll(EntityRenderingUtil.getMobTooltip(type.type())); + EntityType entityType = BuiltInRegistries.ENTITY_TYPE.getValue(type.type()); + if (entityType != null) tooltip.addAll(EntityRenderingUtil.getMobTooltip(entityType, type.type())); } } \ No newline at end of file diff --git a/src/main/disabled/compat/jei/renderers/FakeItemEntityHelper.java b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityHelper.java similarity index 84% rename from src/main/disabled/compat/jei/renderers/FakeItemEntityHelper.java rename to src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityHelper.java index 41acd6453c..277a8c383a 100644 --- a/src/main/disabled/compat/jei/renderers/FakeItemEntityHelper.java +++ b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityHelper.java @@ -7,7 +7,6 @@ import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.Nullable; import twilightforest.compat.jei.FakeItemEntity; -import twilightforest.compat.jei.JEICompat; import java.util.Objects; @@ -15,16 +14,16 @@ public class FakeItemEntityHelper implements IIngredientHelper { @Override public IIngredientType getIngredientType() { - return JEICompat.FAKE_ITEM_ENTITY; + return FakeItemEntity.FAKE_ITEM_ENTITY; } @Override public String getDisplayName(FakeItemEntity ingredient) { - return ingredient.stack().getItem().getDescription().toString(); + return ingredient.stack().getItem().getName().getString(); } @Override - public String getUniqueId(FakeItemEntity ingredient, UidContext context) { + public Object getUid(FakeItemEntity ingredient, UidContext context) { return Objects.requireNonNull(BuiltInRegistries.ITEM.getKey(ingredient.stack().getItem())).toString(); } diff --git a/src/main/disabled/compat/jei/renderers/FakeItemEntityRenderer.java b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java similarity index 93% rename from src/main/disabled/compat/jei/renderers/FakeItemEntityRenderer.java rename to src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java index 6b92214e35..6c98e6d002 100644 --- a/src/main/disabled/compat/jei/renderers/FakeItemEntityRenderer.java +++ b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java @@ -17,7 +17,6 @@ import twilightforest.compat.jei.FakeItemEntity; import twilightforest.util.entities.EntityRenderingUtil; -import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -49,9 +48,9 @@ public void render(GuiGraphics graphics, @Nullable FakeItemEntity item) { Matrix4fStack modelView = RenderSystem.getModelViewStack(); modelView.pushMatrix(); modelView.mul(graphics.pose().last().pose()); - EntityRenderingUtil.renderItemEntity(graphics, item.stack(), level, this.bobOffs); + EntityRenderingUtil.renderItemEntity(graphics, item.stack(), this.bobOffs); modelView.popMatrix(); - RenderSystem.applyModelViewMatrix(); + //RenderSystem.applyModelViewMatrix(); FIXME no worky :( } catch (Exception e) { TwilightForestMod.LOGGER.error("Error drawing item in JEI!", e); } @@ -66,7 +65,7 @@ public List getTooltip(FakeItemEntity item, TooltipFlag flag) { @Override public void getTooltip(ITooltipBuilder tooltip, FakeItemEntity item, TooltipFlag flag) { - tooltip.add(item.stack().getItem().getDescription()); + tooltip.add(item.stack().getItem().getName()); if (flag.isAdvanced()) { tooltip.add(Component.literal(Objects.requireNonNull(BuiltInRegistries.ITEM.getKey(item.stack().getItem())).toString()).withStyle(ChatFormatting.DARK_GRAY)); } diff --git a/src/main/disabled/compat/jei/renderers/package-info.java b/src/main/java/twilightforest/compat/jei/renderers/package-info.java similarity index 100% rename from src/main/disabled/compat/jei/renderers/package-info.java rename to src/main/java/twilightforest/compat/jei/renderers/package-info.java diff --git a/src/main/disabled/compat/jei/subtype/CasketSubtypeInterpreter.java b/src/main/java/twilightforest/compat/jei/subtype/CasketSubtypeInterpreter.java similarity index 55% rename from src/main/disabled/compat/jei/subtype/CasketSubtypeInterpreter.java rename to src/main/java/twilightforest/compat/jei/subtype/CasketSubtypeInterpreter.java index 2db2ceb43e..855b94c893 100644 --- a/src/main/disabled/compat/jei/subtype/CasketSubtypeInterpreter.java +++ b/src/main/java/twilightforest/compat/jei/subtype/CasketSubtypeInterpreter.java @@ -1,21 +1,19 @@ package twilightforest.compat.jei.subtype; -import mezz.jei.api.ingredients.subtypes.IIngredientSubtypeInterpreter; +import mezz.jei.api.ingredients.subtypes.ISubtypeInterpreter; import mezz.jei.api.ingredients.subtypes.UidContext; import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; import twilightforest.init.TFDataComponents; -public class CasketSubtypeInterpreter implements IIngredientSubtypeInterpreter { +public class CasketSubtypeInterpreter implements ISubtypeInterpreter { public static final CasketSubtypeInterpreter INSTANCE = new CasketSubtypeInterpreter(); @Override - public String apply(ItemStack stack, UidContext context) { + public @Nullable Object getSubtypeData(ItemStack stack, UidContext context) { Integer damage = stack.get(TFDataComponents.CASKET_DAMAGE); - if (damage == null) { - return IIngredientSubtypeInterpreter.NONE; - } - + if (damage == null) return null; return damage.toString(); } } diff --git a/src/main/java/twilightforest/compat/jei/subtype/package-info.java b/src/main/java/twilightforest/compat/jei/subtype/package-info.java new file mode 100644 index 0000000000..aa429c98a6 --- /dev/null +++ b/src/main/java/twilightforest/compat/jei/subtype/package-info.java @@ -0,0 +1,7 @@ +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +package twilightforest.compat.jei.subtype; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/disabled/compat/jei/util/CrumbleRecipe.java b/src/main/java/twilightforest/compat/jei/util/CrumbleRecipe.java similarity index 100% rename from src/main/disabled/compat/jei/util/CrumbleRecipe.java rename to src/main/java/twilightforest/compat/jei/util/CrumbleRecipe.java diff --git a/src/main/disabled/compat/jei/util/OminousFireRecipe.java b/src/main/java/twilightforest/compat/jei/util/OminousFireRecipe.java similarity index 100% rename from src/main/disabled/compat/jei/util/OminousFireRecipe.java rename to src/main/java/twilightforest/compat/jei/util/OminousFireRecipe.java diff --git a/src/main/disabled/compat/jei/util/TransformationRecipe.java b/src/main/java/twilightforest/compat/jei/util/TransformationRecipe.java similarity index 100% rename from src/main/disabled/compat/jei/util/TransformationRecipe.java rename to src/main/java/twilightforest/compat/jei/util/TransformationRecipe.java diff --git a/src/main/disabled/compat/package-info.java b/src/main/java/twilightforest/compat/package-info.java similarity index 100% rename from src/main/disabled/compat/package-info.java rename to src/main/java/twilightforest/compat/package-info.java diff --git a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java index b9109aa10d..4e70e63953 100644 --- a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java @@ -1,7 +1,6 @@ package twilightforest.util.entities; import com.mojang.blaze3d.platform.Lighting; -import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.ChatFormatting; @@ -12,12 +11,9 @@ import net.minecraft.client.renderer.entity.EntityRenderDispatcher; import net.minecraft.client.renderer.entity.ItemEntityRenderer; import net.minecraft.client.renderer.entity.state.ItemClusterRenderState; -import net.minecraft.client.renderer.entity.state.ItemEntityRenderState; -import net.minecraft.client.renderer.item.ItemStackRenderState; -import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; import net.minecraft.util.Mth; import net.minecraft.world.entity.*; import net.minecraft.world.entity.item.ItemEntity; @@ -178,11 +174,11 @@ private static void render(ItemStack item, float partialTicks, PoseStack stack, } } - public static List getMobTooltip(EntityType type) { + public static List getMobTooltip(EntityType type, ResourceKey> key) { List components = new ArrayList<>(); components.add(type.getDescription()); if (Minecraft.getInstance().options.advancedItemTooltips) { - components.add(Component.literal(BuiltInRegistries.ENTITY_TYPE.getKey(type).toString()).withStyle(ChatFormatting.DARK_GRAY)); + components.add(Component.literal(key.location().toString()).withStyle(ChatFormatting.DARK_GRAY)); } return components; } From 76f0c7554c0d8323bc9d8fb214a97a4caa2ccc2e Mon Sep 17 00:00:00 2001 From: jodi / jodlodi <88628285+jodlodi@users.noreply.github.com> Date: Sat, 24 May 2025 20:52:36 +0200 Subject: [PATCH 215/239] Whoops --- build.gradle | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4876973602..51098a2c1a 100644 --- a/build.gradle +++ b/build.gradle @@ -239,7 +239,7 @@ dependencies { testCompileOnly "${beanification}:test-sources" //make sure to only pick one of these when testing (switch others to compileOnly) -// implementation "mezz.jei:jei-${project.base_minecraft_version}-neoforge:${project.jei_version}" + implementation "mezz.jei:jei-${project.minecraft_version}-neoforge:${project.jei_version}" // compileOnly "me.shedaniel:RoughlyEnoughItems-neoforge:${project.rei_version}" // compileOnly "dev.emi:emi-neoforge:${project.emi_version}+${project.base_minecraft_version}" diff --git a/gradle.properties b/gradle.properties index ce506d564e..751a6ecb34 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,7 +21,7 @@ mdg_version=2.0.76 # Deps beanification_version=1.5.97 -jei_version=19.8.2.99 +jei_version=20.0.0.4 rei_version=18.0.796 emi_version=1.1.11 curios_version=9.0.5 From 8fe554c46aa36eb0786a19f7740bf4a4002ef909 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Sun, 25 May 2025 21:48:03 -0600 Subject: [PATCH 216/239] enable discord builds, I think porting is basically done --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c8fc77e123..6d5ede78cf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,7 +10,7 @@ variables: artifactName: 'Release' GRADLE_USER_HOME: $(Pipeline.Workspace)/.gradle SKIP_BUILD: $[contains(variables['Build.SourceBranch'], 'refs/heads/no-build/')] - SKIP_DISCORD: 'true' + SKIP_DISCORD: 'false' ${{ if not(contains(variables['Build.SourceBranch'], 'refs/heads/no-build/')) }}: revision: $[counter('release-number', 0)] From 7a1b58f1fb58a1e0a240cecdcc967db235c5ad1e Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 00:01:40 -0600 Subject: [PATCH 217/239] fix crumble horn display and shapeless uncrafting --- .../twilightforest/compat/RecipeViewerConstants.java | 11 +++++------ .../compat/jei/renderers/FakeItemEntityRenderer.java | 9 ++------- .../util/entities/EntityRenderingUtil.java | 5 +++-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/main/java/twilightforest/compat/RecipeViewerConstants.java b/src/main/java/twilightforest/compat/RecipeViewerConstants.java index 395b1c006a..bed062c377 100644 --- a/src/main/java/twilightforest/compat/RecipeViewerConstants.java +++ b/src/main/java/twilightforest/compat/RecipeViewerConstants.java @@ -41,12 +41,11 @@ public static List> getAllUncraftingRecip List> recipes = new ArrayList<>(); if (!TFConfig.disableUncraftingOnly) { //we only do this if uncrafting is not disabled for (RecipeHolder recipeHolder : manager.byType(RecipeType.CRAFTING)) { - if (recipeHolder.value() instanceof CraftingRecipe recipe) { - if (recipe instanceof ShapedRecipe shapedRecipe && isRecipeChill(recipeHolder, shapedRecipe.result.copy())) { - recipes.add(recipeHolder); - } else if (recipe instanceof ShapelessRecipe shapelessRecipe && !TFConfig.allowShapelessUncrafting && isRecipeChill(recipeHolder, shapelessRecipe.result.copy())) { - recipes.add(recipeHolder); - } + CraftingRecipe recipe = recipeHolder.value(); + if (recipe instanceof ShapedRecipe shapedRecipe && isRecipeChill(recipeHolder, shapedRecipe.result.copy())) { + recipes.add(recipeHolder); + } else if (recipe instanceof ShapelessRecipe shapelessRecipe && TFConfig.allowShapelessUncrafting && isRecipeChill(recipeHolder, shapelessRecipe.result.copy())) { + recipes.add(recipeHolder); } } } diff --git a/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java index 6c98e6d002..ec266f9b42 100644 --- a/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java +++ b/src/main/java/twilightforest/compat/jei/renderers/FakeItemEntityRenderer.java @@ -1,6 +1,5 @@ package twilightforest.compat.jei.renderers; -import com.mojang.blaze3d.systems.RenderSystem; import mezz.jei.api.gui.builder.ITooltipBuilder; import mezz.jei.api.ingredients.IIngredientRenderer; import net.minecraft.ChatFormatting; @@ -12,7 +11,6 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; -import org.joml.Matrix4fStack; import twilightforest.TwilightForestMod; import twilightforest.compat.jei.FakeItemEntity; import twilightforest.util.entities.EntityRenderingUtil; @@ -45,12 +43,9 @@ public void render(GuiGraphics graphics, @Nullable FakeItemEntity item) { Level level = Minecraft.getInstance().level; if (item != null && level != null) { try { - Matrix4fStack modelView = RenderSystem.getModelViewStack(); - modelView.pushMatrix(); - modelView.mul(graphics.pose().last().pose()); + graphics.pose().pushPose(); EntityRenderingUtil.renderItemEntity(graphics, item.stack(), this.bobOffs); - modelView.popMatrix(); - //RenderSystem.applyModelViewMatrix(); FIXME no worky :( + graphics.pose().popPose(); } catch (Exception e) { TwilightForestMod.LOGGER.error("Error drawing item in JEI!", e); } diff --git a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java index 4e70e63953..53ed0d1e38 100644 --- a/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java +++ b/src/main/java/twilightforest/util/entities/EntityRenderingUtil.java @@ -162,10 +162,11 @@ private static void render(ItemStack item, float partialTicks, PoseStack stack, ItemClusterRenderState state = new ItemClusterRenderState(); Minecraft.getInstance().getItemModelResolver().updateForTopItem(state.item, item, ItemDisplayContext.GROUND, false, Minecraft.getInstance().level, null, 0); stack.pushPose(); - float bob = Mth.sin((Minecraft.getInstance().level.getGameTime() + partialTicks) / 10.0F + bobOffset) * 0.1F + 0.1F; + float ageInTicks = Minecraft.getInstance().level.getGameTime() + partialTicks; + float bob = Mth.sin(ageInTicks / 10.0F + bobOffset) * 0.1F + 0.1F; float offset = state.item.transform().scale.y(); stack.translate(0.0D, bob + 0.25F * offset, 0.0D); - float f3 = ItemEntity.getSpin(partialTicks, bobOffset); + float f3 = ItemEntity.getSpin(ageInTicks, bobOffset); stack.mulPose(Axis.YP.rotation(f3)); state.count = ItemClusterRenderState.getRenderedAmount(item.getCount()); state.seed = ItemClusterRenderState.getSeedForItemStack(item); From 552be26bfc918400dc13c514ff1da54e012e33d4 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:22:38 -0600 Subject: [PATCH 218/239] fix #2404, fix #2405 --- .../ece1a0d38a152b7be1e86680691afdfd6d9fba1f | 4 ++-- .../assets/twilightforest/equipment/naga.json | 14 -------------- .../twilightforest/init/TFEquipmentAssets.java | 4 ++-- 3 files changed, 4 insertions(+), 18 deletions(-) delete mode 100644 src/generated/resources/assets/twilightforest/equipment/naga.json diff --git a/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f b/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f index a2412d8e58..4dde5eb53d 100644 --- a/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f +++ b/src/generated/resources/.cache/ece1a0d38a152b7be1e86680691afdfd6d9fba1f @@ -1,9 +1,9 @@ -// 1.21.4 2025-04-19T22:48:11.1485444 Equipment Asset Definitions +// 1.21.4 2025-05-26T09:39:09.181215171 Equipment Asset Definitions 6583e2b2f09b15911a559e632e35453ed1d21be8 assets/twilightforest/equipment/arctic.json 402d50dfa8c0bbaccd023b2537d6e2fc49320b1d assets/twilightforest/equipment/fiery.json 9e0b6c58543bd6e21a572c0e9a1391a16793fdd4 assets/twilightforest/equipment/ironwood.json 39cb26b5cbffa681182733f6ab4785408f5c7a84 assets/twilightforest/equipment/knightmetal.json -7a25d8e83dc0fe146561894794b1600a586f3f3f assets/twilightforest/equipment/naga.json +7e8db5d105a2b292b0ebf181dd1d21dc0a59e57e assets/twilightforest/equipment/naga_scale.json 3e6f4063241d7a2cd4e5a110f02a24e305b456da assets/twilightforest/equipment/phantom.json c222f4d30024d05e38048c906a7f57c4707092f4 assets/twilightforest/equipment/steeleaf.json aa810124ef4607357e3dcda4f0bca4aa9b1b1c30 assets/twilightforest/equipment/yeti.json diff --git a/src/generated/resources/assets/twilightforest/equipment/naga.json b/src/generated/resources/assets/twilightforest/equipment/naga.json deleted file mode 100644 index 4dc36d1b3b..0000000000 --- a/src/generated/resources/assets/twilightforest/equipment/naga.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "layers": { - "humanoid": [ - { - "texture": "twilightforest:naga" - } - ], - "humanoid_leggings": [ - { - "texture": "twilightforest:naga" - } - ] - } -} \ No newline at end of file diff --git a/src/main/java/twilightforest/init/TFEquipmentAssets.java b/src/main/java/twilightforest/init/TFEquipmentAssets.java index ea937af420..0f1fefb09c 100644 --- a/src/main/java/twilightforest/init/TFEquipmentAssets.java +++ b/src/main/java/twilightforest/init/TFEquipmentAssets.java @@ -15,7 +15,7 @@ public class TFEquipmentAssets { public static final ResourceKey IRONWOOD = createId("ironwood"); public static final ResourceKey STEELEAF = createId("steeleaf"); - public static final ResourceKey NAGA = createId("naga"); + public static final ResourceKey NAGA = createId("naga_scale"); public static final ResourceKey FIERY = createId("fiery"); public static final ResourceKey KNIGHTMETAL = createId("knightmetal"); public static final ResourceKey PHANTOM = createId("phantom"); @@ -29,7 +29,7 @@ static ResourceKey createId(String name) { public static void bootstrap(BiConsumer, EquipmentClientInfo> consumer) { consumer.accept(IRONWOOD, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("ironwood"), false).build()); consumer.accept(STEELEAF, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("steeleaf"), false).build()); - consumer.accept(NAGA, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("naga"), false).build()); + consumer.accept(NAGA, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("naga_scale"), false).build()); consumer.accept(FIERY, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("fiery"), false).build()); consumer.accept(KNIGHTMETAL, EquipmentClientInfo.builder().addHumanoidLayers(TwilightForestMod.prefix("knightmetal"), false).build()); consumer.accept(PHANTOM, EquipmentClientInfo.builder().addMainHumanoidLayer(TwilightForestMod.prefix("phantom"), false).build()); From b757ec7b6654d4625be5f7d656161a9c1f996634 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:23:23 -0600 Subject: [PATCH 219/239] fix #2409, add skulls back to creative tab --- .../java/twilightforest/init/TFCreativeTabs.java | 14 ++++++++++++++ src/main/java/twilightforest/init/TFItems.java | 12 ++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/twilightforest/init/TFCreativeTabs.java b/src/main/java/twilightforest/init/TFCreativeTabs.java index b8976a6731..41b982e3c6 100644 --- a/src/main/java/twilightforest/init/TFCreativeTabs.java +++ b/src/main/java/twilightforest/init/TFCreativeTabs.java @@ -21,6 +21,8 @@ import net.neoforged.neoforge.registries.DeferredRegister; import twilightforest.TFRegistries; import twilightforest.TwilightForestMod; +import twilightforest.block.AbstractSkullCandleBlock; +import twilightforest.components.item.SkullCandles; import twilightforest.config.TFConfig; import twilightforest.entity.MagicPaintingVariant; import twilightforest.tags.TFItemTags; @@ -284,6 +286,12 @@ public class TFCreativeTabs { output.accept(TFBlocks.TERRORCOTTA_LINES); output.accept(TFBlocks.TERRORCOTTA_CURVES); output.accept(TFBlocks.TERRORCOTTA_ARCS); + createDefaultSkullCandle(output, TFItems.SKELETON_SKULL_CANDLE); + createDefaultSkullCandle(output, TFItems.WITHER_SKELETON_SKULL_CANDLE); + createDefaultSkullCandle(output, TFItems.PLAYER_SKULL_CANDLE); + createDefaultSkullCandle(output, TFItems.ZOMBIE_SKULL_CANDLE); + createDefaultSkullCandle(output, TFItems.CREEPER_SKULL_CANDLE); + createDefaultSkullCandle(output, TFItems.PIGLIN_SKULL_CANDLE); createCaskets(output); output.accept(TFBlocks.SKULL_CHEST); output.accept(TFBlocks.WROUGHT_IRON_FENCE); @@ -572,6 +580,12 @@ private static void createSpawnEggsAlphabetical(CreativeModeTab.Output output) { eggs.forEach(output::accept); } + private static void createDefaultSkullCandle(CreativeModeTab.Output output, ItemLike item) { + ItemStack stack = new ItemStack(item); + stack.set(TFDataComponents.SKULL_CANDLES, new SkullCandles(AbstractSkullCandleBlock.CandleColors.PLAIN.getValue(), 1)); + output.accept(stack); + } + private static void createCaskets(CreativeModeTab.Output output) { for (int i = 0; i< 3; i++) { ItemStack stack = new ItemStack(TFItems.KEEPSAKE_CASKET.get()); diff --git a/src/main/java/twilightforest/init/TFItems.java b/src/main/java/twilightforest/init/TFItems.java index b0dacf2ebf..df838331d3 100644 --- a/src/main/java/twilightforest/init/TFItems.java +++ b/src/main/java/twilightforest/init/TFItems.java @@ -166,12 +166,12 @@ public class TFItems { public static final DeferredItem HUGE_WATER_LILY = register("huge_water_lily", properties -> new PlaceOnWaterBlockItem(TFBlocks.HUGE_WATER_LILY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); public static final DeferredItem FALLEN_LEAVES = register("fallen_leaves", properties -> new FallenLeavesItem(TFBlocks.FALLEN_LEAVES.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix()); - public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); - public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem ZOMBIE_SKULL_CANDLE = register("zombie_skull_candle", properties -> new SkullCandleItem(TFBlocks.ZOMBIE_SKULL_CANDLE.get(), TFBlocks.ZOMBIE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem SKELETON_SKULL_CANDLE = register("skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.SKELETON_SKULL_CANDLE.get(), TFBlocks.SKELETON_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem WITHER_SKELETON_SKULL_CANDLE = register("wither_skeleton_skull_candle", properties -> new SkullCandleItem(TFBlocks.WITHER_SKELE_SKULL_CANDLE.get(), TFBlocks.WITHER_SKELE_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem CREEPER_SKULL_CANDLE = register("creeper_skull_candle", properties -> new SkullCandleItem(TFBlocks.CREEPER_SKULL_CANDLE.get(), TFBlocks.CREEPER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PLAYER_SKULL_CANDLE = register("player_skull_candle", properties -> new SkullCandleItem(TFBlocks.PLAYER_SKULL_CANDLE.get(), TFBlocks.PLAYER_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); + public static final DeferredItem PIGLIN_SKULL_CANDLE = register("piglin_skull_candle", properties -> new SkullCandleItem(TFBlocks.PIGLIN_SKULL_CANDLE.get(), TFBlocks.PIGLIN_WALL_SKULL_CANDLE.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(Rarity.UNCOMMON).equippable(EquipmentSlot.HEAD)); public static final DeferredItem NAGA_TROPHY = register("naga_trophy", properties -> new TrophyItem(TFBlocks.NAGA_TROPHY.get(), TFBlocks.NAGA_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); public static final DeferredItem LICH_TROPHY = register("lich_trophy", properties -> new TrophyItem(TFBlocks.LICH_TROPHY.get(), TFBlocks.LICH_WALL_TROPHY.get(), properties), () -> new Item.Properties().useBlockDescriptionPrefix().rarity(tfRarityEnumExtension.TWILIGHT).equippable(EquipmentSlot.HEAD)); From a639e87fd1fca7f1efe6cdd3ebd9259c036c9075 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:23:41 -0600 Subject: [PATCH 220/239] fix #2410 --- .../twilightforest/item/TripleBowItem.java | 55 +++++++------------ 1 file changed, 19 insertions(+), 36 deletions(-) diff --git a/src/main/java/twilightforest/item/TripleBowItem.java b/src/main/java/twilightforest/item/TripleBowItem.java index a74f5bdb81..549cc81efc 100644 --- a/src/main/java/twilightforest/item/TripleBowItem.java +++ b/src/main/java/twilightforest/item/TripleBowItem.java @@ -12,6 +12,7 @@ import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.BowItem; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.level.Level; import net.neoforged.neoforge.event.EventHooks; @@ -24,53 +25,35 @@ public TripleBowItem(Properties properties) { super(properties); } - // Half [VanillaCopy]: copy of modified super to fire three arrows + //[VanillaCopy] of super: edits noted @Override - public boolean releaseUsing(ItemStack stack, Level level, LivingEntity living, int timeLeft) { - if (living instanceof Player player) { - ItemStack arrowStack = player.getProjectile(stack); - - int i = this.getUseDuration(stack, player) - timeLeft; - i = EventHooks.onArrowLoose(stack, level, player, i, !arrowStack.isEmpty()); - if (i < 0) return false; - - if (!arrowStack.isEmpty()) { - float f = getPowerForTime(i); - if (f >= 0.1D) { - List list = draw(stack, arrowStack, player); - if (!level.isClientSide() && !list.isEmpty()) { - this.shoot((ServerLevel) level, player, player.getUsedItemHand(), stack, list, f * 2.5F, 1.0F, f == 1.0F, null); - } - - level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.ARROW_SHOOT, SoundSource.PLAYERS, 1.0F, 1.0F / (level.getRandom().nextFloat() * 0.4F + 1.2F) + f * 0.5F); - player.awardStat(Stats.ITEM_USED.get(this)); - return true; - } - } - } - return false; - } - - @Override - protected void shoot(ServerLevel level, LivingEntity living, InteractionHand hand, ItemStack stack, List arrows, float speed, float accuracy, boolean crit, @Nullable LivingEntity target) { - float f1 = arrows.size() == 1 ? 0.0F : 20.0F / (float)(arrows.size() - 1); - float f2 = (float)((arrows.size() - 1) % 2) * f1 / 2.0F; + protected void shoot(ServerLevel level, LivingEntity shooter, InteractionHand hand, ItemStack weapon, List projectiles, float velocity, float inaccuracy, boolean crit, @Nullable LivingEntity target) { + float f = EnchantmentHelper.processProjectileSpread(level, weapon, shooter, 0.0F); + float f1 = projectiles.size() == 1 ? 0.0F : 2.0F * f / (float)(projectiles.size() - 1); + float f2 = (float)((projectiles.size() - 1) % 2) * f1 / 2.0F; float f3 = 1.0F; - for (int i = 0; i < arrows.size(); i++) { - ItemStack itemstack = arrows.get(i); + for (int i = 0; i < projectiles.size(); i++) { + ItemStack itemstack = projectiles.get(i); if (!itemstack.isEmpty()) { float f4 = f2 + f3 * (float)((i + 1) / 2) * f1; f3 = -f3; - stack.hurtAndBreak(this.getDurabilityUse(itemstack), living, LivingEntity.getSlotForHand(hand)); + //TF: modify to always shoot a row of 3 arrows for (int j = -1; j < 2; j++) { ItemStack copy = itemstack.copy(); - if (j != 0) copy.set(DataComponents.INTANGIBLE_PROJECTILE, Unit.INSTANCE); - Projectile projectile = this.createProjectile(level, living, stack, copy, crit); - this.shootProjectile(living, projectile, i, speed, accuracy, f4, target); + //TF: set all projectiles except the middle to intangible so people cant dupe arrows + if (i != 0 || j != 0) copy.set(DataComponents.INTANGIBLE_PROJECTILE, Unit.INSTANCE); + Projectile projectile = this.createProjectile(level, shooter, weapon, copy, crit); + this.shootProjectile(shooter, projectile, i, velocity, inaccuracy, f4, target); projectile.setDeltaMovement(projectile.getDeltaMovement().add(0.0D, 0.0075D * 20D * j, 0.0D)); level.addFreshEntity(projectile); + projectile.applyOnProjectileSpawned(level, itemstack); + } + + weapon.hurtAndBreak(this.getDurabilityUse(itemstack), shooter, LivingEntity.getSlotForHand(hand)); + if (weapon.isEmpty()) { + break; } } } From 732746c039b276ed7235bbcecc6ea90a32135e0d Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:27:11 -0600 Subject: [PATCH 221/239] I may be stupid --- .../twilightforest/equipment/naga_scale.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/generated/resources/assets/twilightforest/equipment/naga_scale.json diff --git a/src/generated/resources/assets/twilightforest/equipment/naga_scale.json b/src/generated/resources/assets/twilightforest/equipment/naga_scale.json new file mode 100644 index 0000000000..6f949cdcf8 --- /dev/null +++ b/src/generated/resources/assets/twilightforest/equipment/naga_scale.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "twilightforest:naga_scale" + } + ], + "humanoid_leggings": [ + { + "texture": "twilightforest:naga_scale" + } + ] + } +} \ No newline at end of file From eff069fed1c8f9a1285351ae6dd17364dd74ebae Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:42:57 -0600 Subject: [PATCH 222/239] fix #2406, fix initial neck positions --- .../client/renderer/entity/HydraHeadRenderer.java | 2 +- .../client/renderer/entity/HydraNeckRenderer.java | 2 +- .../twilightforest/entity/boss/HydraHeadContainer.java | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java index 02ad4264ed..9c7462fb5e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraHeadRenderer.java @@ -78,7 +78,7 @@ public HydraHeadRenderState createRenderState() { public void extractRenderState(HydraHead entity, HydraHeadRenderState state, float partialTick) { super.extractRenderState(entity, state, partialTick); var container = getHeadObject(entity); - state.active = container == null || container.isActive(); + state.active = container == null || entity.isActive(); state.mouthAngle = Mth.lerp(partialTick, entity.getMouthOpenLast(), entity.getMouthOpen()); } diff --git a/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java b/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java index 1c79fa2569..029d85ed68 100644 --- a/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/HydraNeckRenderer.java @@ -43,7 +43,7 @@ public HydraNeckRenderState createRenderState() { public void extractRenderState(HydraNeck entity, HydraNeckRenderState state, float partialTick) { super.extractRenderState(entity, state, partialTick); var container = HydraHeadRenderer.getHeadObject(entity.head); - state.active = container == null || container.isActive(); + state.active = container == null || entity.isActive(); } @Override diff --git a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java index 40974feecf..aab39378a0 100644 --- a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java +++ b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java @@ -597,20 +597,20 @@ protected void setNeckPosition() { neckRotation = -90; } if (this.headNum == 3) { - vector = new Vec3(-1, 3, 3); + vector = new Vec3(-1, 2.5, 3); neckRotation = 135; } if (this.headNum == 4) { - vector = new Vec3(1, 3, 3); + vector = new Vec3(1, 2.5, 3); neckRotation = -135; } if (this.headNum == 5) { - vector = new Vec3(-1, 3, 5); + vector = new Vec3(-1, 2, 5); neckRotation = 135; } if (this.headNum == 6) { - vector = new Vec3(1, 3, 5); + vector = new Vec3(1, 2, 5); neckRotation = -135; } From 43b4373dd1579bc2ff6ed0dad6564b170f7e18fe Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 10:57:12 -0600 Subject: [PATCH 223/239] fix hydra jaw rotations --- .../client/model/entity/HydraHeadModel.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java index 643f23a889..038fc85169 100644 --- a/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java +++ b/src/main/java/twilightforest/client/model/entity/HydraHeadModel.java @@ -54,18 +54,18 @@ public static LayerDefinition create() { head.addOrReplaceChild("jaw", CubeListBuilder.create() .texOffs(272, 92) - .addBox(-15.0F, 0.0F, -16.0F, 30.0F, 8.0F, 32.0F) + .addBox(-15.0F, 0.0F, -26.0F, 30.0F, 8.0F, 32.0F) .texOffs(272, 156) - .addBox(-10.0F, -5.0F, -13.0F, 2.0F, 5.0F, 2.0F) + .addBox(-10.0F, -5.0F, -23.0F, 2.0F, 5.0F, 2.0F) .texOffs(272, 156) - .addBox(8.0F, -5.0F, -13.0F, 2.0F, 5.0F, 2.0F) + .addBox(8.0F, -5.0F, -23.0F, 2.0F, 5.0F, 2.0F) .texOffs(280, 156) - .addBox(-8.0F, -1.0F, -13.0F, 16.0F, 2.0F, 2.0F) + .addBox(-8.0F, -1.0F, -23.0F, 16.0F, 2.0F, 2.0F) .texOffs(280, 160) - .addBox(-10.0F, -1.0F, -9.0F, 2.0F, 2.0F, 16.0F) + .addBox(-10.0F, -1.0F, -19.0F, 2.0F, 2.0F, 16.0F) .texOffs(280, 160) - .addBox(8.0F, -1.0F, -9.0F, 2.0F, 2.0F, 16.0F), - PartPose.offset(0.0F, 10.0F, -20.0F)); + .addBox(8.0F, -1.0F, -19.0F, 2.0F, 2.0F, 16.0F), + PartPose.offset(0.0F, 10.0F, -10.0F)); head.addOrReplaceChild("frill", CubeListBuilder.create() .texOffs(272, 200) @@ -90,8 +90,6 @@ public void setupAnim(HydraHeadRenderState state) { public void setupRotationsForTrophy(float x, float y, float z, float mouthAngle) { this.head.yRot = y * Mth.DEG_TO_RAD; this.head.xRot = z * Mth.DEG_TO_RAD; - - this.head.xRot -= mouthAngle * (Mth.PI / 12.0F); this.jaw.xRot = mouthAngle * (Mth.PI / 3.0F); } From 7e284ddb72fe820f9e27a84f5d58f8de30bcd55b Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Mon, 26 May 2025 11:13:08 -0600 Subject: [PATCH 224/239] gross workaround to fix #2407 --- src/main/java/twilightforest/events/EntityEvents.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/twilightforest/events/EntityEvents.java b/src/main/java/twilightforest/events/EntityEvents.java index eee1d64552..a32251432d 100644 --- a/src/main/java/twilightforest/events/EntityEvents.java +++ b/src/main/java/twilightforest/events/EntityEvents.java @@ -47,6 +47,7 @@ import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.damagesource.DamageContainer; import net.neoforged.neoforge.event.EventHooks; +import net.neoforged.neoforge.event.ItemAttributeModifierEvent; import net.neoforged.neoforge.event.OnDatapackSyncEvent; import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; import net.neoforged.neoforge.event.entity.ProjectileImpactEvent; @@ -505,6 +506,14 @@ public static void resetFlaskLogic(AdvancementEvent.AdvancementEarnEvent event) } } + @SubscribeEvent + public static void addGiantModifiers(ItemAttributeModifierEvent event) { + if (event.getItemStack().is(TFItems.GIANT_PICKAXE) || event.getItemStack().is(TFItems.GIANT_SWORD)) { + event.addModifier(Attributes.BLOCK_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("reach_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND); + event.addModifier(Attributes.ENTITY_INTERACTION_RANGE, new AttributeModifier(TwilightForestMod.prefix("range_modifier"), 2.5, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND); + } + } + @SubscribeEvent public static void entityJoinedWorld(EntityJoinLevelEvent event) { if (!(event.getEntity() instanceof PathfinderMob mob && mob.hasData(TFDataAttachments.LEASH_PATHFINDER_OVERRIDE))) { From 5ec59307cee094470dd46bfaaeb82b252f60cb61 Mon Sep 17 00:00:00 2001 From: Andromander Date: Sun, 8 Jun 2025 23:17:24 +1000 Subject: [PATCH 225/239] Fix #2428 --- .../assets/models/BlockModelGenerator.java | 16 +++---- .../460ba157b0fc7dd203d7dd0c25f3130154f3a6ae | 42 ++++++++----------- .../blockstates/stripped_canopy_wood.json | 4 +- .../blockstates/stripped_dark_wood.json | 4 +- .../blockstates/stripped_mangrove_wood.json | 4 +- .../blockstates/stripped_mining_wood.json | 4 +- .../blockstates/stripped_sorting_wood.json | 4 +- .../blockstates/stripped_time_wood.json | 4 +- .../stripped_transformation_wood.json | 4 +- .../stripped_twilight_oak_wood.json | 4 +- .../models/block/stripped_canopy_wood.json | 2 +- .../stripped_canopy_wood_horizontal.json | 7 ---- .../models/block/stripped_dark_wood.json | 2 +- .../block/stripped_dark_wood_horizontal.json | 7 ---- .../models/block/stripped_mangrove_wood.json | 2 +- .../stripped_mangrove_wood_horizontal.json | 7 ---- .../models/block/stripped_mining_wood.json | 2 +- .../stripped_mining_wood_horizontal.json | 7 ---- .../models/block/stripped_sorting_wood.json | 2 +- .../stripped_sorting_wood_horizontal.json | 7 ---- .../models/block/stripped_time_wood.json | 2 +- .../block/stripped_time_wood_horizontal.json | 7 ---- .../block/stripped_transformation_wood.json | 2 +- ...ripped_transformation_wood_horizontal.json | 7 ---- .../block/stripped_twilight_oak_wood.json | 2 +- ...stripped_twilight_oak_wood_horizontal.json | 7 ---- 26 files changed, 49 insertions(+), 113 deletions(-) delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json delete mode 100644 src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json diff --git a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java index 1b825ab299..6ab291cbc3 100644 --- a/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java +++ b/src/data/java/twilightforest/datagen/assets/models/BlockModelGenerator.java @@ -349,7 +349,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TWILIGHT_OAK_LOG.get()))); this.wrapBlockItem(TFBlocks.TWILIGHT_OAK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TWILIGHT_OAK_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TWILIGHT_OAK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get()))); this.generateHollowLog(TFBlocks.TWILIGHT_OAK_LOG.get(), TFBlocks.STRIPPED_TWILIGHT_OAK_LOG.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TWILIGHT_OAK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TWILIGHT_OAK_SAPLING.get(), TFBlocks.POTTED_TWILIGHT_OAK_SAPLING.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.TWILIGHT_OAK_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.OAK_LEAVES), ModelTemplates.LEAVES), -12012264); @@ -370,7 +370,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.CANOPY_LOG.get()))); this.wrapBlockItem(TFBlocks.CANOPY_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.CANOPY_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_CANOPY_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_CANOPY_LOG.get()))); this.generateHollowLog(TFBlocks.CANOPY_LOG.get(), TFBlocks.STRIPPED_CANOPY_LOG.get(), TFBlocks.HOLLOW_CANOPY_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_VERTICAL.get(), TFBlocks.HOLLOW_CANOPY_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.CANOPY_SAPLING.get(), TFBlocks.POTTED_CANOPY_SAPLING.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.CANOPY_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.SPRUCE_LEAVES), ModelTemplates.LEAVES), -10380959); @@ -395,7 +395,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); this.wrapBlockItem(TFBlocks.MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.MANGROVE_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MANGROVE_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MANGROVE_LOG.get()))); this.generateHollowLog(TFBlocks.MANGROVE_LOG.get(), TFBlocks.STRIPPED_MANGROVE_LOG.get(), TFBlocks.HOLLOW_MANGROVE_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MANGROVE_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MANGROVE_SAPLING.get(), TFBlocks.POTTED_MANGROVE_SAPLING.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.MANGROVE_LEAVES.get(), TexturedModel.createDefault(block -> TextureMapping.cube(Blocks.BIRCH_LEAVES), ModelTemplates.LEAVES), -8345771); @@ -417,7 +417,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.DARK_LOG.get()))); this.wrapBlockItem(TFBlocks.DARK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.DARK_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_DARK_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_DARK_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_DARK_LOG.get()))); this.generateHollowLog(TFBlocks.DARK_LOG.get(), TFBlocks.STRIPPED_DARK_LOG.get(), TFBlocks.HOLLOW_DARK_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_DARK_LOG_VERTICAL.get(), TFBlocks.HOLLOW_DARK_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.DARKWOOD_SAPLING.get(), TFBlocks.POTTED_DARKWOOD_SAPLING.get(), PlantType.NOT_TINTED); this.createTintedLeaves(TFBlocks.DARK_LEAVES.get(), TexturedModel.LEAVES, -12012264); @@ -439,7 +439,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TIME_LOG.get()))); this.wrapBlockItem(TFBlocks.TIME_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TIME_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_TIME_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TIME_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TIME_LOG.get()))); this.generateTreeCore(TFBlocks.TIME_LOG.get(), TFBlocks.TIME_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TIME_LOG.get(), TFBlocks.STRIPPED_TIME_LOG.get(), TFBlocks.HOLLOW_TIME_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TIME_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TIME_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TIME_SAPLING.get(), TFBlocks.POTTED_TIME_SAPLING.get(), PlantType.NOT_TINTED); @@ -461,7 +461,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.TRANSFORMATION_LOG.get()))); this.wrapBlockItem(TFBlocks.TRANSFORMATION_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.TRANSFORMATION_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_TRANSFORMATION_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_TRANSFORMATION_LOG.get()))); this.generateTreeCore(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.TRANSFORMATION_LOG_CORE.get()); this.generateHollowLog(TFBlocks.TRANSFORMATION_LOG.get(), TFBlocks.STRIPPED_TRANSFORMATION_LOG.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_VERTICAL.get(), TFBlocks.HOLLOW_TRANSFORMATION_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.TRANSFORMATION_SAPLING.get(), TFBlocks.POTTED_TRANSFORMATION_SAPLING.get(), PlantType.NOT_TINTED); @@ -483,7 +483,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.MINING_LOG.get()))); this.wrapBlockItem(TFBlocks.MINING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.MINING_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_MINING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_MINING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_MINING_LOG.get()))); this.generateTreeCore(TFBlocks.MINING_LOG.get(), TFBlocks.MINING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.MINING_LOG.get(), TFBlocks.STRIPPED_MINING_LOG.get(), TFBlocks.HOLLOW_MINING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_MINING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_MINING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.MINING_SAPLING.get(), TFBlocks.POTTED_MINING_SAPLING.get(), PlantType.NOT_TINTED); @@ -505,7 +505,7 @@ private void generateWoodBlocks() { this.wrapBlockItem(TFBlocks.SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.SORTING_LOG.get()))); this.wrapBlockItem(TFBlocks.SORTING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.SORTING_LOG.get()))); this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_LOG.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); - this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateLog(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); + this.wrapBlockItem(TFBlocks.STRIPPED_SORTING_WOOD.get(), block -> this.generateWood(block, TextureMapping.logColumn(TFBlocks.STRIPPED_SORTING_LOG.get()))); this.generateTreeCore(TFBlocks.SORTING_LOG.get(), TFBlocks.SORTING_LOG_CORE.get()); this.generateHollowLog(TFBlocks.SORTING_LOG.get(), TFBlocks.STRIPPED_SORTING_LOG.get(), TFBlocks.HOLLOW_SORTING_LOG_HORIZONTAL.get(), TFBlocks.HOLLOW_SORTING_LOG_VERTICAL.get(), TFBlocks.HOLLOW_SORTING_LOG_CLIMBABLE.get()); this.generateSapling(TFBlocks.SORTING_SAPLING.get(), TFBlocks.POTTED_SORTING_SAPLING.get(), PlantType.NOT_TINTED); diff --git a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae index bf7512f708..a22207c04e 100644 --- a/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae +++ b/src/generated/resources/.cache/460ba157b0fc7dd203d7dd0c25f3130154f3a6ae @@ -1,4 +1,4 @@ -// 1.21.4 2025-05-23T19:12:55.9869619 Model Definitions - twilightforest +// 1.21.4 2025-06-08T23:14:21.718277 Model Definitions - twilightforest bfc4b40d2c8daf9144a74758b5060ff35a20c7b8 assets/twilightforest/blockstates/acacia_banister.json 2ba5945264a026fc35aa113643919b494cf4406d assets/twilightforest/blockstates/alpha_yeti_boss_spawner.json 94ee00eebd82061338b6db439a84b3fdf98f3942 assets/twilightforest/blockstates/alpha_yeti_trophy.json @@ -372,21 +372,21 @@ fa4ca921290966afd22d3eb726b45812ae950b4d assets/twilightforest/blockstates/spira 19294b4bcc55ffed1467c68e66acba67225160f8 assets/twilightforest/blockstates/spruce_banister.json c3323b0a8d369d3f2aaccb0cbad0f25fdb3b7236 assets/twilightforest/blockstates/steeleaf_block.json b2e74bad436c08b77027498c4722448d678ae13f assets/twilightforest/blockstates/stripped_canopy_log.json -7d3fec0b41d5610e6544df651bcdbe9da992ac18 assets/twilightforest/blockstates/stripped_canopy_wood.json +eec40c0cea09c4d1f326d1db923f22d2690ba7cb assets/twilightforest/blockstates/stripped_canopy_wood.json 85b3a6d805a8e29cc5f13c2c73656b7af562b8a7 assets/twilightforest/blockstates/stripped_dark_log.json -b163a9767fe6ee24521db2ac3257b9d0ba0845a1 assets/twilightforest/blockstates/stripped_dark_wood.json +91a4b615dd1ecd24c36668d79902019007d83851 assets/twilightforest/blockstates/stripped_dark_wood.json e5c2e1a5a4558c9876d0ffd0c51b27a193caafb1 assets/twilightforest/blockstates/stripped_mangrove_log.json -2d9ab0cf43a9e5aa2c0a4257ed6600d3df14b533 assets/twilightforest/blockstates/stripped_mangrove_wood.json +3cd6da2f32c20f1109f97e267a51df02a0237d8b assets/twilightforest/blockstates/stripped_mangrove_wood.json 41fb9ad57cd913bf27f2c997642803197a451ff2 assets/twilightforest/blockstates/stripped_mining_log.json -1488c9fab31e988044683ab24f7220ebaa57d901 assets/twilightforest/blockstates/stripped_mining_wood.json +142f45ce5c032160beaad08c4e4cbcbc833a9cea assets/twilightforest/blockstates/stripped_mining_wood.json 1f2492d9a9a4507f56e1bc4f077c279f31659f8b assets/twilightforest/blockstates/stripped_sorting_log.json -8cc85643090d4f0b12204ed37c08cc7aa26dd72d assets/twilightforest/blockstates/stripped_sorting_wood.json +5a697a56d69fbceedf235946137cc8f342551e79 assets/twilightforest/blockstates/stripped_sorting_wood.json d76a5e567943b47c4697dfdc500fa836eab228df assets/twilightforest/blockstates/stripped_time_log.json -10109d08a0056b1b85ef55906bdf42d78c0ec63c assets/twilightforest/blockstates/stripped_time_wood.json +aada3d2f4eac3813bc4d1b1e850faeed655a3f73 assets/twilightforest/blockstates/stripped_time_wood.json f1aefe5659335464583459fe475d3c8791c2cbc1 assets/twilightforest/blockstates/stripped_transformation_log.json -14fa938521e7501a3cff560e88b89a877b69435e assets/twilightforest/blockstates/stripped_transformation_wood.json +d9f533ca419bfc982f753b5843cbfa82401d44b4 assets/twilightforest/blockstates/stripped_transformation_wood.json cc40f471409eb7fea00628473cfbe152318065ee assets/twilightforest/blockstates/stripped_twilight_oak_log.json -ae8815f9c72650a5c2bb5a0d481022191b47068f assets/twilightforest/blockstates/stripped_twilight_oak_wood.json +b5c8b467c5f448b465e459721b29ba9d97b10d20 assets/twilightforest/blockstates/stripped_twilight_oak_wood.json 73f07bb7c1212505aad3a2fd3a097430d3354f39 assets/twilightforest/blockstates/stronghold_shield.json 76c56656b9e147afc09fb1d80a7401eab5b8e442 assets/twilightforest/blockstates/terrorcotta_arcs.json 9f7fcf30aedea5b26d372db7425c499505e129e8 assets/twilightforest/blockstates/terrorcotta_curves.json @@ -1859,36 +1859,28 @@ ef69791a9675daacaf5b54b42d280942589995cb assets/twilightforest/models/block/spru b56d9fb7d6c6de2d70da12d6f4b6b353240753a3 assets/twilightforest/models/block/steeleaf_block.json a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_log.json 043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_log_horizontal.json -a3a95698efdd99fd6c26e240f5bfd14745239d40 assets/twilightforest/models/block/stripped_canopy_wood.json -043fe07072f207e3ceb36c12fee527d6d8b0e4c8 assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +0b049acba8f501ad23fa66adcf3f823fe576c165 assets/twilightforest/models/block/stripped_canopy_wood.json 1a881064c8a895eef0dbe13dcc644ca575a0f5f9 assets/twilightforest/models/block/stripped_dark_log.json e875dcdeda1755d2f494c02d6780e0c998c0a9dc assets/twilightforest/models/block/stripped_dark_log_horizontal.json -1a881064c8a895eef0dbe13dcc644ca575a0f5f9 assets/twilightforest/models/block/stripped_dark_wood.json -e875dcdeda1755d2f494c02d6780e0c998c0a9dc assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +7959cde4e9fff07ed87623700c69599914092d76 assets/twilightforest/models/block/stripped_dark_wood.json 8416328d50a3870fdae7fcd94a7b2e53cceb1c82 assets/twilightforest/models/block/stripped_mangrove_log.json d995772a4666a787531cd25b0221e0688ece785a assets/twilightforest/models/block/stripped_mangrove_log_horizontal.json -8416328d50a3870fdae7fcd94a7b2e53cceb1c82 assets/twilightforest/models/block/stripped_mangrove_wood.json -d995772a4666a787531cd25b0221e0688ece785a assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +3518a7f421fc90d8a2325e916a9f49f00c4fedb6 assets/twilightforest/models/block/stripped_mangrove_wood.json 9f28ee80915cacb83b16691f3e100463ed8a7060 assets/twilightforest/models/block/stripped_mining_log.json 1101bf5e76b84ea3b3b7125502f8378f2fb04d62 assets/twilightforest/models/block/stripped_mining_log_horizontal.json -9f28ee80915cacb83b16691f3e100463ed8a7060 assets/twilightforest/models/block/stripped_mining_wood.json -1101bf5e76b84ea3b3b7125502f8378f2fb04d62 assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +c4307e1f770d620e7637d0ff2723ffedcb1c9ede assets/twilightforest/models/block/stripped_mining_wood.json dc73664a0b34c1c781de67dddafbd6d8db7cc4b9 assets/twilightforest/models/block/stripped_sorting_log.json a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stripped_sorting_log_horizontal.json -dc73664a0b34c1c781de67dddafbd6d8db7cc4b9 assets/twilightforest/models/block/stripped_sorting_wood.json -a0d91fbd93f229f4b6223ffea77ff69cb5a8c8fa assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +777c1141960f58e8243f915178f07650458b33b2 assets/twilightforest/models/block/stripped_sorting_wood.json 89121f67e195d98501e86f873ae9a93ba324cb07 assets/twilightforest/models/block/stripped_time_log.json 7246198f678fb47764aea551423f906f1ea27dc5 assets/twilightforest/models/block/stripped_time_log_horizontal.json -89121f67e195d98501e86f873ae9a93ba324cb07 assets/twilightforest/models/block/stripped_time_wood.json -7246198f678fb47764aea551423f906f1ea27dc5 assets/twilightforest/models/block/stripped_time_wood_horizontal.json +1e86956b7364a86210d6bd64ae7395016bb4c07a assets/twilightforest/models/block/stripped_time_wood.json 0678c441ff364be02825078838192666954305fc assets/twilightforest/models/block/stripped_transformation_log.json 0e70f00092372063a4c46f948efff6a174a6930c assets/twilightforest/models/block/stripped_transformation_log_horizontal.json -0678c441ff364be02825078838192666954305fc assets/twilightforest/models/block/stripped_transformation_wood.json -0e70f00092372063a4c46f948efff6a174a6930c assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +ba050e72daf1356618f804691bd2f0eb507c3290 assets/twilightforest/models/block/stripped_transformation_wood.json 4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_log.json 36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_log_horizontal.json -4ff0640b739f62952521efbb24acc8fba788293e assets/twilightforest/models/block/stripped_twilight_oak_wood.json -36c1d27c7e89404a89b54fc2634556b655f2086e assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +3ca2eba98744ca40365a57c129ad498d3432ebac assets/twilightforest/models/block/stripped_twilight_oak_wood.json cc943e2f517b64e0fc4523a3e6b993fa70c9ba1b assets/twilightforest/models/block/stronghold_shield.json 525e4d5adf8e33068f8c60da7317102d530bba4d assets/twilightforest/models/block/terrorcotta_arcs.json 93012cd75b805226ef88e2bb671b6e0170f4858e assets/twilightforest/models/block/terrorcotta_arcs_special_x.json diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json index da43a11a26..63aad612d5 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_canopy_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_canopy_wood_horizontal", + "model": "twilightforest:block/stripped_canopy_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_canopy_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_canopy_wood_horizontal", + "model": "twilightforest:block/stripped_canopy_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json index 3c3d314da5..271ca0979a 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_dark_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_dark_wood_horizontal", + "model": "twilightforest:block/stripped_dark_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_dark_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_dark_wood_horizontal", + "model": "twilightforest:block/stripped_dark_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json index 9f3f51938f..2e9ff83877 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mangrove_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_mangrove_wood_horizontal", + "model": "twilightforest:block/stripped_mangrove_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_mangrove_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_mangrove_wood_horizontal", + "model": "twilightforest:block/stripped_mangrove_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json index af717ebd6f..eacc13ff4d 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_mining_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_mining_wood_horizontal", + "model": "twilightforest:block/stripped_mining_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_mining_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_mining_wood_horizontal", + "model": "twilightforest:block/stripped_mining_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json index 8d73136ddd..91163dddb2 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_sorting_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_sorting_wood_horizontal", + "model": "twilightforest:block/stripped_sorting_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_sorting_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_sorting_wood_horizontal", + "model": "twilightforest:block/stripped_sorting_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json index ac3577c6fe..85949047d0 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_time_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_time_wood_horizontal", + "model": "twilightforest:block/stripped_time_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_time_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_time_wood_horizontal", + "model": "twilightforest:block/stripped_time_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json index 569f5328a6..aee65b1586 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_transformation_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_transformation_wood_horizontal", + "model": "twilightforest:block/stripped_transformation_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_transformation_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_transformation_wood_horizontal", + "model": "twilightforest:block/stripped_transformation_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json index b3c46adcac..5cfcf22ba1 100644 --- a/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json +++ b/src/generated/resources/assets/twilightforest/blockstates/stripped_twilight_oak_wood.json @@ -1,7 +1,7 @@ { "variants": { "axis=x": { - "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", + "model": "twilightforest:block/stripped_twilight_oak_wood", "x": 90, "y": 90 }, @@ -9,7 +9,7 @@ "model": "twilightforest:block/stripped_twilight_oak_wood" }, "axis=z": { - "model": "twilightforest:block/stripped_twilight_oak_wood_horizontal", + "model": "twilightforest:block/stripped_twilight_oak_wood", "x": 90 } } diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json index 3574749d00..24cb69f30c 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_canopy_log_top", + "end": "twilightforest:block/stripped_canopy_log", "side": "twilightforest:block/stripped_canopy_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json deleted file mode 100644 index 912a3d0b0c..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_canopy_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_canopy_log_top", - "side": "twilightforest:block/stripped_canopy_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json index c87f00787e..3d5201f24e 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_dark_log_top", + "end": "twilightforest:block/stripped_dark_log", "side": "twilightforest:block/stripped_dark_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json deleted file mode 100644 index 5ef59dbf65..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_dark_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_dark_log_top", - "side": "twilightforest:block/stripped_dark_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json index 5e2c5d3864..3e82f3a108 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_mangrove_log_top", + "end": "twilightforest:block/stripped_mangrove_log", "side": "twilightforest:block/stripped_mangrove_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json deleted file mode 100644 index 34f4b7fa88..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mangrove_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mangrove_log_top", - "side": "twilightforest:block/stripped_mangrove_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json index a28005962c..8673294350 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_mining_log_top", + "end": "twilightforest:block/stripped_mining_log", "side": "twilightforest:block/stripped_mining_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json deleted file mode 100644 index 47e11cf3dd..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_mining_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_mining_log_top", - "side": "twilightforest:block/stripped_mining_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json index e4aa12ad00..6a1f01d208 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_sorting_log_top", + "end": "twilightforest:block/stripped_sorting_log", "side": "twilightforest:block/stripped_sorting_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json deleted file mode 100644 index b4379c931b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_sorting_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_sorting_log_top", - "side": "twilightforest:block/stripped_sorting_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json index 6feda53830..422d3038f4 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_time_log_top", + "end": "twilightforest:block/stripped_time_log", "side": "twilightforest:block/stripped_time_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json deleted file mode 100644 index 343f9f1f0b..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_time_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_time_log_top", - "side": "twilightforest:block/stripped_time_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json index 2c701602d4..6ed6f1b6c3 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_transformation_log_top", + "end": "twilightforest:block/stripped_transformation_log", "side": "twilightforest:block/stripped_transformation_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json deleted file mode 100644 index 2545f7d408..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_transformation_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_transformation_log_top", - "side": "twilightforest:block/stripped_transformation_log" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json index 43c292d795..bd3e822a4a 100644 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json +++ b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_column", "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log_top", + "end": "twilightforest:block/stripped_twilight_oak_log", "side": "twilightforest:block/stripped_twilight_oak_log" } } \ No newline at end of file diff --git a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json b/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json deleted file mode 100644 index d6ed59905e..0000000000 --- a/src/generated/resources/assets/twilightforest/models/block/stripped_twilight_oak_wood_horizontal.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column_horizontal", - "textures": { - "end": "twilightforest:block/stripped_twilight_oak_log_top", - "side": "twilightforest:block/stripped_twilight_oak_log" - } -} \ No newline at end of file From 921c26daf26edc99608bf95b005f7261be6de17d Mon Sep 17 00:00:00 2001 From: Andromander Date: Mon, 9 Jun 2025 19:36:31 +1000 Subject: [PATCH 226/239] Fix #2427 and #2432 --- .../datagen/data/loot/BlockLootTables.java | 17 ++++++++++-- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 6 ++--- .../loot_table/blocks/keepsake_casket.json | 26 ++++++++++++++----- .../loot_table/blocks/skull_chest.json | 14 ++++++---- .../twilightforest/block/SkullChestBlock.java | 12 +-------- 5 files changed, 47 insertions(+), 28 deletions(-) diff --git a/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java index 92237ca4fc..17c780d95f 100644 --- a/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java +++ b/src/data/java/twilightforest/datagen/data/loot/BlockLootTables.java @@ -279,7 +279,7 @@ protected void generate() { dropSelf(TFBlocks.TWISTED_STONE.get()); dropSelf(TFBlocks.TWISTED_STONE_PILLAR.get()); dropSelf(TFBlocks.BOLD_STONE_PILLAR.get()); - dropSelf(TFBlocks.SKULL_CHEST.get()); + add(TFBlocks.SKULL_CHEST.get(), skullChestInfo(TFBlocks.SKULL_CHEST.get())); add(TFBlocks.KEEPSAKE_CASKET.get(), casketInfo(TFBlocks.KEEPSAKE_CASKET.get())); dropSelf(TFBlocks.CANDELABRA.get()); dropSelf(TFBlocks.WROUGHT_IRON_FENCE.get()); @@ -633,8 +633,21 @@ private LootTable.Builder silkAndStick(Block block, ItemLike nonSilk, float... n return createSilkTouchOrShearsDispatchTable(block, this.applyExplosionCondition(block, LootItem.lootTableItem(nonSilk.asItem())).when(BonusLevelTableCondition.bonusLevelFlatChance(registrylookup.getOrThrow(Enchantments.FORTUNE), nonSilkFortune))).withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).when((HAS_SHEARS.or(this.hasSilkTouch())).invert()).add(applyExplosionDecay(block, LootItem.lootTableItem(Items.STICK).apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 2.0F)))).when(BonusLevelTableCondition.bonusLevelFlatChance(registrylookup.getOrThrow(Enchantments.FORTUNE), 0.02F, 0.022222223F, 0.025F, 0.033333335F, 0.1F)))); } + private static LootTable.Builder skullChestInfo(Block block) { + return LootTable.lootTable() + .withPool(LootPool.lootPool() + .setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(block) + .apply(CopyComponentsFunction.copyComponents(CopyComponentsFunction.Source.BLOCK_ENTITY).include(DataComponents.CUSTOM_NAME)))); + } + private static LootTable.Builder casketInfo(Block block) { - return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).apply(CopyBlockState.copyState(block).copy(KeepsakeCasketBlock.BREAKAGE))); + return LootTable.lootTable() + .withPool(LootPool.lootPool() + .setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(block) + .apply(CopyComponentsFunction.copyComponents(CopyComponentsFunction.Source.BLOCK_ENTITY).include(DataComponents.CUSTOM_NAME)) + .apply(CopyBlockState.copyState(block).copy(KeepsakeCasketBlock.BREAKAGE)))); } private LootTable.Builder particleSpawner() { diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index b9dc57a346..832b5f9707 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.4 2025-04-19T09:17:11.3663895 Loot Tables +// 1.21.4 2025-06-09T19:30:50.3747056 Loot Tables 483a7e0c99d5cabeab1ba9f04bd8e88d0a8f7386 data/twilightforest/loot_table/aurora_cache.json 002a6e2eccdc92db019bd775911912877b26771f data/twilightforest/loot_table/aurora_room.json afe7197a19b997d2f5c5980d9805b6093191b44f data/twilightforest/loot_table/blocks/acacia_banister.json @@ -180,7 +180,7 @@ bfac878f3f3337cae9b12477f82d0004dc489bb3 data/twilightforest/loot_table/blocks/h 66caeca7e64506c4ebf595c81d40ebb03d68e07c data/twilightforest/loot_table/blocks/ironwood_block.json 3f7e92cbac43eeb9b9677d7e0047128ffab1c5c4 data/twilightforest/loot_table/blocks/iron_ladder.json c615f3316b9deb500c021b5665729ca49639ba13 data/twilightforest/loot_table/blocks/jungle_banister.json -cd7cbebd276c4a3119c54f6da92aa512c05e1422 data/twilightforest/loot_table/blocks/keepsake_casket.json +75f861b8ca95c4400bf22fd312420306a316301b data/twilightforest/loot_table/blocks/keepsake_casket.json 8b178ab9d6562c428e911e9fd51d63623780be56 data/twilightforest/loot_table/blocks/knightmetal_block.json 987a3f9e2b2a1417c6281e6750f8db1115c2ca1d data/twilightforest/loot_table/blocks/knight_phantom_trophy.json 48c340fc13fbd8cae6f8bd034a86c0b6de02a9ef data/twilightforest/loot_table/blocks/lich_tower_miniature_structure.json @@ -304,7 +304,7 @@ fff8c14cea64f079189a2e6eeb2bc54526fe0a3c data/twilightforest/loot_table/blocks/r ab8d5987d12f7961a1f8bc2669c889ef58eb3aff data/twilightforest/loot_table/blocks/root_strand.json fb7868a21fc15bb2227693e0604831ce049a0772 data/twilightforest/loot_table/blocks/rope.json ef904a158987dbd9963909ef8fb80667071025b7 data/twilightforest/loot_table/blocks/skeleton_skull_candle.json -fa1bacdc1bec1dd168958c51a377d9a0609f44dc data/twilightforest/loot_table/blocks/skull_chest.json +3cea4885275a47e1dbd15802d9d7722d86387bce data/twilightforest/loot_table/blocks/skull_chest.json b7336d3399cc73483a2b33de9185b17f64d19c1d data/twilightforest/loot_table/blocks/smoker.json 358ed83d512f26a1dda0ab29047792e465020783 data/twilightforest/loot_table/blocks/snowy_cloud.json b1e3901cfaa3a38522179ac1f7338841754f13f9 data/twilightforest/loot_table/blocks/snow_queen_trophy.json diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/keepsake_casket.json b/src/generated/resources/data/twilightforest/loot_table/blocks/keepsake_casket.json index 98c93c9e7b..6ec44a8998 100644 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/keepsake_casket.json +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/keepsake_casket.json @@ -3,14 +3,26 @@ "pools": [ { "bonus_rolls": 0.0, - "entries": [], - "functions": [ + "entries": [ { - "block": "twilightforest:keepsake_casket", - "function": "minecraft:copy_state", - "properties": [ - "damage" - ] + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], + "source": "block_entity" + }, + { + "block": "twilightforest:keepsake_casket", + "function": "minecraft:copy_state", + "properties": [ + "damage" + ] + } + ], + "name": "twilightforest:keepsake_casket" } ], "rolls": 1.0 diff --git a/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json b/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json index 7ef2a86f8c..63c9398afb 100644 --- a/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json +++ b/src/generated/resources/data/twilightforest/loot_table/blocks/skull_chest.json @@ -3,14 +3,18 @@ "pools": [ { "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], "entries": [ { "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], + "source": "block_entity" + } + ], "name": "twilightforest:skull_chest" } ], diff --git a/src/main/java/twilightforest/block/SkullChestBlock.java b/src/main/java/twilightforest/block/SkullChestBlock.java index 39b30c2841..127bb2e6a1 100644 --- a/src/main/java/twilightforest/block/SkullChestBlock.java +++ b/src/main/java/twilightforest/block/SkullChestBlock.java @@ -126,15 +126,7 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level l public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { if (level instanceof ServerLevel sl && !player.isCreative() && sl.getGameRules().getBoolean(GameRules.RULE_DOBLOCKDROPS)) { BlockEntity tile = level.getBlockEntity(pos); - if (tile instanceof SkullChestBlockEntity chest) { - ItemStack stack = new ItemStack(this); - ItemEntity itementity = new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), stack); - this.modifyDrop(state, stack); - if (chest.hasCustomName()) { - if (chest.owner != null) - itementity.setCustomName(chest.getDisplayName()); - else itementity.setCustomName(chest.getCustomName()); - } + if (tile instanceof SkullChestBlockEntity) { if (state.getValue(BlockLoggingEnum.MULTILOGGED).getFluid() == Fluids.EMPTY) { Block block = state.getValue(BlockLoggingEnum.MULTILOGGED).getBlock(); if (block != Blocks.AIR) { @@ -144,8 +136,6 @@ public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, level.addFreshEntity(item); } } - itementity.setDefaultPickUpDelay(); - level.addFreshEntity(itementity); } } return super.playerWillDestroy(level, pos, state, player); From 2854c360ef5e0dc481af51067b711ba21bdac1fa Mon Sep 17 00:00:00 2001 From: Andromander Date: Mon, 9 Jun 2025 21:02:04 +1000 Subject: [PATCH 227/239] Set projectile position, fixes #2421, fixes #2422 Also fixes Skeleton Druid --- src/main/java/twilightforest/entity/projectile/TFThrowable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/entity/projectile/TFThrowable.java b/src/main/java/twilightforest/entity/projectile/TFThrowable.java index df43503195..d99bfb66f4 100644 --- a/src/main/java/twilightforest/entity/projectile/TFThrowable.java +++ b/src/main/java/twilightforest/entity/projectile/TFThrowable.java @@ -21,7 +21,7 @@ public TFThrowable(EntityType type, Level level, double x } public TFThrowable(EntityType type, Level level, LivingEntity thrower) { - super(type, level); + super(type, thrower.getX(), thrower.getEyeY() - 0.1F, thrower.getZ(), level); this.setOwner(thrower); } From 30b1065c9c2043abb12d92ec99f4ffe0b977f0d8 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Jul 2025 10:09:55 -0600 Subject: [PATCH 228/239] fix #2448 --- src/main/java/twilightforest/events/ToolEvents.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/events/ToolEvents.java b/src/main/java/twilightforest/events/ToolEvents.java index 9b4ac555f9..bf6c993ac2 100644 --- a/src/main/java/twilightforest/events/ToolEvents.java +++ b/src/main/java/twilightforest/events/ToolEvents.java @@ -78,8 +78,7 @@ public static void fieryToolSetFire(LivingIncomingDamageEvent event) { } @SubscribeEvent - @SuppressWarnings("UnstableApiUsage") - public static void onKnightmetalToolDamage(LivingDamageEvent.Pre event) { + public static void onKnightmetalToolDamage(LivingIncomingDamageEvent event) { LivingEntity target = event.getEntity(); DamageContainer container = event.getContainer(); @@ -106,7 +105,6 @@ public static void onKnightmetalToolDamage(LivingDamageEvent.Pre event) { } @SubscribeEvent - @SuppressWarnings("UnstableApiUsage") public static void onMinotaurAxeCharge(LivingDamageEvent.Pre event) { LivingEntity target = event.getEntity(); DamageContainer container = event.getContainer(); From ab660fbc6d9717021c30d3568c47f1cc4af844aa Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Wed, 9 Jul 2025 10:21:17 -0600 Subject: [PATCH 229/239] check cancellation too --- src/main/java/twilightforest/events/ToolEvents.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/events/ToolEvents.java b/src/main/java/twilightforest/events/ToolEvents.java index bf6c993ac2..c1c5d5d0ce 100644 --- a/src/main/java/twilightforest/events/ToolEvents.java +++ b/src/main/java/twilightforest/events/ToolEvents.java @@ -82,7 +82,7 @@ public static void onKnightmetalToolDamage(LivingIncomingDamageEvent event) { LivingEntity target = event.getEntity(); DamageContainer container = event.getContainer(); - if (!target.level().isClientSide() && container.getSource().getDirectEntity() instanceof LivingEntity living) { + if (!event.isCanceled() && !target.level().isClientSide() && container.getSource().getDirectEntity() instanceof LivingEntity living) { ItemStack weapon = living.getMainHandItem(); if (!weapon.isEmpty()) { From 93cf5fa909eb365ca2b247abbb1e3fff30bf4312 Mon Sep 17 00:00:00 2001 From: NoodleInWater <88147278+LShiftLess@users.noreply.github.com> Date: Sat, 23 Aug 2025 21:25:42 +0800 Subject: [PATCH 230/239] Fix #2399 (#2440) --- .../entity/projectile/IceArrow.java | 5 ++++ .../entity/projectile/SeekerArrow.java | 6 +++++ .../entity/projectile/TFArrow.java | 23 +++++++++++++++++++ .../java/twilightforest/item/IceBowItem.java | 2 +- .../twilightforest/item/SeekerBowItem.java | 2 +- .../resources/META-INF/accesstransformer.cfg | 7 +++++- 6 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/main/java/twilightforest/entity/projectile/IceArrow.java b/src/main/java/twilightforest/entity/projectile/IceArrow.java index c8e1f74cfc..82d266ea14 100644 --- a/src/main/java/twilightforest/entity/projectile/IceArrow.java +++ b/src/main/java/twilightforest/entity/projectile/IceArrow.java @@ -5,6 +5,7 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; @@ -24,6 +25,10 @@ public IceArrow(Level world, @Nullable LivingEntity shooter, ItemStack stack, It super(TFEntities.ICE_ARROW.get(), world, shooter, stack, weapon); } + public IceArrow(AbstractArrow parentArrow, ItemStack stack, ItemStack weapon) { + super(TFEntities.ICE_ARROW.get(), parentArrow, stack, weapon); + } + @Override public void tick() { super.tick(); diff --git a/src/main/java/twilightforest/entity/projectile/SeekerArrow.java b/src/main/java/twilightforest/entity/projectile/SeekerArrow.java index b277df6a1a..c5fae65a4f 100644 --- a/src/main/java/twilightforest/entity/projectile/SeekerArrow.java +++ b/src/main/java/twilightforest/entity/projectile/SeekerArrow.java @@ -6,6 +6,7 @@ import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.world.entity.*; import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; @@ -35,6 +36,11 @@ public SeekerArrow(Level world, LivingEntity shooter, ItemStack stack, ItemStack this.setBaseDamage(1.0D); } + public SeekerArrow(AbstractArrow parentArrow, ItemStack stack, ItemStack weapon) { + super(TFEntities.SEEKER_ARROW.get(), parentArrow, stack, weapon); + this.setBaseDamage(1.0D); + } + @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); diff --git a/src/main/java/twilightforest/entity/projectile/TFArrow.java b/src/main/java/twilightforest/entity/projectile/TFArrow.java index 8370f71fe3..e541013078 100644 --- a/src/main/java/twilightforest/entity/projectile/TFArrow.java +++ b/src/main/java/twilightforest/entity/projectile/TFArrow.java @@ -11,8 +11,12 @@ public abstract class TFArrow extends AbstractArrow implements ITFProjectile { + @Nullable + protected final AbstractArrow parentArrow; + public TFArrow(EntityType type, Level level) { super(type, level); + this.parentArrow = null; } public TFArrow(EntityType type, Level level, @Nullable LivingEntity shooter, ItemStack stack, ItemStack weapon) { @@ -21,10 +25,29 @@ public TFArrow(EntityType type, Level level, @Nullable Living if (shooter != null) { this.setPos(shooter.getX(), shooter.getEyeY() - 0.1D, shooter.getZ()); } + this.parentArrow = null; + } + + public TFArrow(EntityType type, AbstractArrow parentArrow, ItemStack stack, ItemStack weapon) { + super(type, (LivingEntity) parentArrow.getOwner(), parentArrow.level(), stack, weapon); + var shooter = (LivingEntity) parentArrow.getOwner(); + this.setOwner(shooter); + if (shooter != null) { + this.setPos(shooter.getX(), shooter.getEyeY() - 0.1D, shooter.getZ()); + } + this.parentArrow = parentArrow; } @Override protected ItemStack getDefaultPickupItem() { return new ItemStack(Items.ARROW); } + + @Override + public void doPostHurtEffects(LivingEntity target) { + if (this.parentArrow != null) { + this.parentArrow.doPostHurtEffects(target); + } + super.doPostHurtEffects(target); + } } diff --git a/src/main/java/twilightforest/item/IceBowItem.java b/src/main/java/twilightforest/item/IceBowItem.java index 86f793b714..39feb2b089 100644 --- a/src/main/java/twilightforest/item/IceBowItem.java +++ b/src/main/java/twilightforest/item/IceBowItem.java @@ -14,6 +14,6 @@ public IceBowItem(Properties properties) { @Override public AbstractArrow customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) { - return new IceArrow(arrow.level(), (LivingEntity) arrow.getOwner(), projectileStack.copyWithCount(1), weaponStack); + return new IceArrow(arrow, projectileStack.copyWithCount(1), weaponStack); } } \ No newline at end of file diff --git a/src/main/java/twilightforest/item/SeekerBowItem.java b/src/main/java/twilightforest/item/SeekerBowItem.java index be3e9278fd..d80518c6ee 100644 --- a/src/main/java/twilightforest/item/SeekerBowItem.java +++ b/src/main/java/twilightforest/item/SeekerBowItem.java @@ -14,6 +14,6 @@ public SeekerBowItem(Properties properties) { @Override public AbstractArrow customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) { - return new SeekerArrow(arrow.level(), (LivingEntity) arrow.getOwner(), projectileStack.copyWithCount(1), weaponStack); + return new SeekerArrow(arrow, projectileStack.copyWithCount(1), weaponStack); } } \ No newline at end of file diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index d3fe7cc6c4..a289f3c9db 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -254,4 +254,9 @@ public net.minecraft.client.data.models.ModelProvider$SimpleModelCollector Date: Fri, 24 Oct 2025 09:18:24 +0900 Subject: [PATCH 231/239] Prevent crash when placing TrollsteinnBlock on dedicated server (#2484) --- src/main/java/twilightforest/block/TrollsteinnBlock.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/block/TrollsteinnBlock.java b/src/main/java/twilightforest/block/TrollsteinnBlock.java index 4ab06c4766..298de1be66 100644 --- a/src/main/java/twilightforest/block/TrollsteinnBlock.java +++ b/src/main/java/twilightforest/block/TrollsteinnBlock.java @@ -47,7 +47,7 @@ public TrollsteinnBlock(Properties properties) { /** * Computation from vanilla function updateSkyBrightness in Level.java */ - public static int calculateServerSkyDarken(ClientLevel level) { + public static int calculateServerSkyDarken(Level level) { double rainEffect = 1.0 - (double) (level.getRainLevel(1.0F) * 5.0F) / 16.0; double thunderEffect = 1.0 - (double) (level.getThunderLevel(1.0F) * 5.0F) / 16.0; double dayCycleEffect = 0.5 + 2.0 * Mth.clamp(Mth.cos(level.getTimeOfDay(1.0F) * (float) (Math.PI * 2)), -0.25, 0.25); @@ -88,7 +88,8 @@ public BlockState getStateForPlacement(BlockPlaceContext ctx) { for (Map.Entry e : PROPERTY_MAP.entrySet()) { Level level = ctx.getLevel(); BlockPos pos = ctx.getClickedPos(); - int light = level.getMaxLocalRawBrightness(pos.relative(e.getKey()), level instanceof ClientLevel clientLevel ? calculateServerSkyDarken(clientLevel) : level.getSkyDarken()); + int light = level.getMaxLocalRawBrightness(pos.relative(e.getKey()), + level.isClientSide() ? calculateServerSkyDarken(level) : level.getSkyDarken()); ret = ret.setValue(e.getValue(), light > LIGHT_THRESHOLD); } return ret; From 84fe67f562652fc5ed3fec46f20c1564f149bb39 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 12 Feb 2026 11:50:49 +0900 Subject: [PATCH 232/239] Check if StructureStart is valid to avoid potential crashes when it has no pieces. (#2554) --- .../world/components/placements/AvoidLandmarkModifier.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/twilightforest/world/components/placements/AvoidLandmarkModifier.java b/src/main/java/twilightforest/world/components/placements/AvoidLandmarkModifier.java index f8dd8466d6..0f8098a519 100644 --- a/src/main/java/twilightforest/world/components/placements/AvoidLandmarkModifier.java +++ b/src/main/java/twilightforest/world/components/placements/AvoidLandmarkModifier.java @@ -102,7 +102,7 @@ private boolean structureTypeBlocksFeaturePlacement(PlacementContext worldDecora StructureStart startForStructure = startChunk.getStartForStructure(structure); - if (startForStructure == null) + if (startForStructure == null || !startForStructure.isValid()) continue; BlockPos diff = blockPos.subtract(startForStructure.getBoundingBox().getCenter()); From 5b32f046d97b6d9c54185701c55452a044129137 Mon Sep 17 00:00:00 2001 From: Narrik Synthfox <80410683+NarrikSynthfox@users.noreply.github.com> Date: Tue, 17 Feb 2026 10:31:51 -0500 Subject: [PATCH 233/239] Add check to see if candle exists in CANDLE_MAP (#2563) Fixes a crash issue with candles from other mods, while still allowing other mods to add to CANDLE_MAP to add more Ominous Candle variants. --- src/main/java/twilightforest/entity/boss/Lich.java | 2 +- src/main/java/twilightforest/item/ExanimateEssenceItem.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/Lich.java b/src/main/java/twilightforest/entity/boss/Lich.java index e22edf2cbe..583864cd34 100644 --- a/src/main/java/twilightforest/entity/boss/Lich.java +++ b/src/main/java/twilightforest/entity/boss/Lich.java @@ -731,7 +731,7 @@ protected void turnNearbyCandles(int tick, boolean done) { for (BlockPos pos : BlockPos.betweenClosed(this.homeOrElseCurrent().offset(-range, -3, -range), this.homeOrElseCurrent().offset(range, yRange, range))) { if (this.random.nextInt(Math.max(40 - tick, 2)) == 1 || done) { BlockState state = this.level().getBlockState(pos); - if (state.getBlock() instanceof AbstractCandleBlock candleBlock && state.getValue(CandleBlock.LIT)) { + if (state.getBlock() instanceof AbstractCandleBlock candleBlock && OminousCandleBlock.CANDLE_MAP.containsKey(candleBlock) && state.getValue(CandleBlock.LIT)) { this.level().setBlockAndUpdate(pos, OminousCandleBlock.CANDLE_MAP.get(candleBlock).get().defaultBlockState().setValue(OminousCandleBlock.CANDLES, state.getValue(CandleBlock.CANDLES))); this.level().playSound(null, pos, TFSounds.OMINOUS_FIRE.get(), SoundSource.BLOCKS, 0.5F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.75F); } else if (state.getBlock() instanceof LightableBlock && state.getValue(LightableBlock.LIGHTING) == LightableBlock.Lighting.NORMAL) { diff --git a/src/main/java/twilightforest/item/ExanimateEssenceItem.java b/src/main/java/twilightforest/item/ExanimateEssenceItem.java index b497710b49..35d491c315 100644 --- a/src/main/java/twilightforest/item/ExanimateEssenceItem.java +++ b/src/main/java/twilightforest/item/ExanimateEssenceItem.java @@ -25,7 +25,7 @@ public InteractionResult useOn(UseOnContext context) { BlockPos blockpos = context.getClickedPos(); boolean flag = false; BlockState state = level.getBlockState(blockpos); - if (state.getBlock() instanceof CandleBlock candleBlock && state.getValue(CandleBlock.LIT)) { + if (state.getBlock() instanceof CandleBlock candleBlock && OminousCandleBlock.CANDLE_MAP.containsKey(candleBlock) && state.getValue(CandleBlock.LIT)) { this.playSound(level, blockpos); level.setBlockAndUpdate(blockpos, OminousCandleBlock.CANDLE_MAP.get(candleBlock).get().defaultBlockState().setValue(OminousCandleBlock.CANDLES, state.getValue(CandleBlock.CANDLES))); level.gameEvent(context.getPlayer(), GameEvent.BLOCK_PLACE, blockpos); From 83bc14103afd302a811d262edf5f64e0137ec2f5 Mon Sep 17 00:00:00 2001 From: Albazavr Date: Wed, 3 Jun 2026 00:23:40 +0300 Subject: [PATCH 234/239] Fix Minotaur axe spawning and rendering on 1.21.4 (#2415) --- .../client/renderer/entity/MinotaurRenderer.java | 8 ++++++++ src/main/java/twilightforest/entity/monster/Minotaur.java | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java b/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java index 941eab6349..811a94df87 100644 --- a/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/MinotaurRenderer.java @@ -2,6 +2,7 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.client.renderer.entity.layers.ItemInHandLayer; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; import net.minecraft.resources.ResourceLocation; import twilightforest.TwilightForestMod; @@ -15,6 +16,7 @@ public class MinotaurRenderer extends MobRenderer(this)); } @Override @@ -22,6 +24,12 @@ public HumanoidRenderState createRenderState() { return new HumanoidRenderState(); } + @Override + public void extractRenderState(Minotaur entity, HumanoidRenderState state, float partialTick) { + super.extractRenderState(entity, state, partialTick); + HumanoidRenderState.extractArmedEntityRenderState(entity, state, this.itemModelResolver); + } + @Override public ResourceLocation getTextureLocation(HumanoidRenderState state) { return TEXTURE; diff --git a/src/main/java/twilightforest/entity/monster/Minotaur.java b/src/main/java/twilightforest/entity/monster/Minotaur.java index 4732ce00fe..70edf85565 100644 --- a/src/main/java/twilightforest/entity/monster/Minotaur.java +++ b/src/main/java/twilightforest/entity/monster/Minotaur.java @@ -1,9 +1,12 @@ package twilightforest.entity.monster; +import com.mojang.datafixers.util.Pair; import net.minecraft.core.BlockPos; +import net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; @@ -22,14 +25,18 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.storage.loot.LootTable; import org.jetbrains.annotations.Nullable; import twilightforest.entity.ITFCharger; import twilightforest.entity.ai.goal.ChargeAttackGoal; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFItems; import twilightforest.init.TFSounds; +import twilightforest.loot.TFLootTables; import twilightforest.util.entities.EntityUtil; +import java.util.List; + public class Minotaur extends Monster implements ITFCharger { private static final EntityDataAccessor CHARGING = SynchedEntityData.defineId(Minotaur.class, EntityDataSerializers.BOOLEAN); @@ -80,6 +87,7 @@ protected void populateDefaultEquipmentSlots(RandomSource source, DifficultyInst this.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(TFItems.GOLDEN_MINOTAUR_AXE.get())); else this.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_AXE)); + this.setDropChance(EquipmentSlot.MAINHAND, 0.085F); } @Override From a437b0a92198a0b8dae9a56290995b3e87ec5f9b Mon Sep 17 00:00:00 2001 From: Albazavr Date: Wed, 3 Jun 2026 00:24:23 +0300 Subject: [PATCH 235/239] Removed some extra imports --- src/main/java/twilightforest/entity/monster/Minotaur.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/java/twilightforest/entity/monster/Minotaur.java b/src/main/java/twilightforest/entity/monster/Minotaur.java index 70edf85565..7437c89f7c 100644 --- a/src/main/java/twilightforest/entity/monster/Minotaur.java +++ b/src/main/java/twilightforest/entity/monster/Minotaur.java @@ -1,12 +1,9 @@ package twilightforest.entity.monster; -import com.mojang.datafixers.util.Pair; import net.minecraft.core.BlockPos; -import net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; @@ -25,18 +22,14 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.storage.loot.LootTable; import org.jetbrains.annotations.Nullable; import twilightforest.entity.ITFCharger; import twilightforest.entity.ai.goal.ChargeAttackGoal; import twilightforest.init.TFDamageTypes; import twilightforest.init.TFItems; import twilightforest.init.TFSounds; -import twilightforest.loot.TFLootTables; import twilightforest.util.entities.EntityUtil; -import java.util.List; - public class Minotaur extends Monster implements ITFCharger { private static final EntityDataAccessor CHARGING = SynchedEntityData.defineId(Minotaur.class, EntityDataSerializers.BOOLEAN); From 89725eb9c907f5fa90f74f73eeac7c85ccdb9cb5 Mon Sep 17 00:00:00 2001 From: Albazavr Date: Thu, 4 Jun 2026 12:07:25 +0300 Subject: [PATCH 236/239] Fix Hydra extra heads invisibility on player respawn (#2434) --- .../twilightforest/entity/boss/Hydra.java | 4 +-- .../entity/boss/HydraHeadContainer.java | 28 ++++++++++++------- .../twilightforest/entity/boss/HydraPart.java | 1 - 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/twilightforest/entity/boss/Hydra.java b/src/main/java/twilightforest/entity/boss/Hydra.java index 85abc4d112..33b530b5e4 100644 --- a/src/main/java/twilightforest/entity/boss/Hydra.java +++ b/src/main/java/twilightforest/entity/boss/Hydra.java @@ -190,7 +190,7 @@ public void aiStep() { double dx, dy, dz; // body goes behind the actual position of the hydra - angle = (((this.yBodyRot + 180.0F) * Mth.PI) / 180.0F); + angle = (this.yBodyRot + 180.0F) * Mth.DEG_TO_RAD; dx = this.getX() - Mth.sin(angle) * 3.0D; dy = this.getY() + 0.1D; @@ -248,7 +248,7 @@ public void readAdditionalSaveData(CompoundTag compound) { private void activateHeadsOnLoad(byte heads) { for (int i = 0; i < MAX_HEADS; i++) { if ((heads & 1 << i) != 0) { - this.hc[i].setNextState(HydraHeadContainer.State.IDLE); + this.hc[i].forceActive(); this.hc[i].endCurrentAction(); } } diff --git a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java index aab39378a0..9c4c7d6274 100644 --- a/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java +++ b/src/main/java/twilightforest/entity/boss/HydraHeadContainer.java @@ -181,17 +181,9 @@ public HydraHeadContainer(Hydra hydra, int number, boolean startActive) { this.setupStateRotations(); if (startActive) { - this.prevState = State.IDLE; - this.currentState = State.IDLE; - this.nextState = NEXT_AUTOMATIC; - this.ticksNeeded = 60; - this.ticksProgress = 60; + this.forceActive(); } else { - this.prevState = State.DEAD; - this.currentState = State.DEAD; - this.nextState = NEXT_AUTOMATIC; - this.ticksNeeded = 20; - this.ticksProgress = 20; + this.forceInactive(); } this.setHeadPosition(); this.setNeckPosition(); @@ -375,6 +367,22 @@ public boolean canRespawn() { return this.currentState == State.DEAD && this.respawnCounter == -1; } + public void forceActive() { + this.prevState = State.IDLE; + this.currentState = State.IDLE; + this.nextState = NEXT_AUTOMATIC; + this.ticksNeeded = 60; + this.ticksProgress = 60; + } + + public void forceInactive() { + this.prevState = State.DEAD; + this.currentState = State.DEAD; + this.nextState = NEXT_AUTOMATIC; + this.ticksNeeded = 20; + this.ticksProgress = 20; + } + private void advanceRespawnCounter() { if (this.currentState == State.DEAD && this.respawnCounter > -1) { if (--this.respawnCounter <= 0) { diff --git a/src/main/java/twilightforest/entity/boss/HydraPart.java b/src/main/java/twilightforest/entity/boss/HydraPart.java index 5d778e9149..36617d3d12 100644 --- a/src/main/java/twilightforest/entity/boss/HydraPart.java +++ b/src/main/java/twilightforest/entity/boss/HydraPart.java @@ -14,7 +14,6 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; -import twilightforest.TwilightForestMod; import twilightforest.entity.TFPart; public abstract class HydraPart extends TFPart { From c186b5b3a24bdc1a5dcaaae9153e81d0599dadfd Mon Sep 17 00:00:00 2001 From: Albazavr Date: Thu, 4 Jun 2026 20:46:44 +0300 Subject: [PATCH 237/239] Fix Frosted effect ice cubes rendering on 1.21.x (#2419) --- .../client/event/RegistrationEvents.java | 45 +++++++++---------- .../renderer/entity/layers/IceLayer.java | 3 +- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/main/java/twilightforest/client/event/RegistrationEvents.java b/src/main/java/twilightforest/client/event/RegistrationEvents.java index 241d9f2599..e2b9bf9248 100644 --- a/src/main/java/twilightforest/client/event/RegistrationEvents.java +++ b/src/main/java/twilightforest/client/event/RegistrationEvents.java @@ -16,8 +16,6 @@ import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.NoopRenderer; import net.minecraft.client.renderer.entity.ThrownItemRenderer; -import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; -import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; @@ -26,11 +24,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.SkullBlock; @@ -80,7 +74,6 @@ import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.function.Supplier; public class RegistrationEvents { @@ -689,25 +682,28 @@ private static void registerMapDecorators(RegisterMapDecorationRenderersEvent ev event.register(TFMapDecorations.FINAL_CASTLE.get(), new ConqueredMapIconRenderer()); } - @SuppressWarnings("unchecked")//Should be fine…? - private static > void attachRenderLayers(EntityRenderersEvent.AddLayers event) { + private static void attachRenderLayers(EntityRenderersEvent.AddLayers event) { BakedMultiPartRenderers.bakeMultiPartRenderers(event.getContext()); + for (EntityType type : event.getEntityTypes()) { var renderer = event.getRenderer(type); if (renderer instanceof LivingEntityRenderer living) { - attachRenderLayers((LivingEntityRenderer) living); + attachSingleRenderLayer(living); } } - event.getSkins().forEach(renderer -> { - LivingEntityRenderer> skin = event.getSkin(renderer); - attachRenderLayers(Objects.requireNonNull(skin)); + event.getSkins().forEach(skinName -> { + var skin = event.getSkin(skinName); + if (skin instanceof LivingEntityRenderer livingSkin) { + attachSingleRenderLayer(livingSkin); + } }); } - private static > void attachRenderLayers(LivingEntityRenderer renderer) { - renderer.addLayer(new ShieldLayer<>(renderer)); - renderer.addLayer(new IceLayer<>(renderer)); + @SuppressWarnings({"unchecked", "rawtypes"}) + private static void attachSingleRenderLayer(LivingEntityRenderer renderer) { + renderer.addLayer(new ShieldLayer(renderer)); + renderer.addLayer(new IceLayer(renderer)); } public static boolean isOptifinePresent() { @@ -717,14 +713,15 @@ public static boolean isOptifinePresent() { public static void registerCustomRenderData(RegisterRenderStateModifiersEvent event) { event.registerEntityModifier(new TypeToken>() {}, (living, state) -> state.setRenderData(ShieldLayer.SHIELD_COUNT_KEY, ShieldLayer.getShieldCount(living))); event.registerEntityModifier(new TypeToken>() {}, (living, state) -> { - AttributeInstance speed = living.getAttribute(Attributes.MOVEMENT_SPEED); - if (speed == null) return; - - AttributeModifier frost = speed.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); - if (frost == null) return; - - state.setRenderData(IceLayer.FROST_COUNT_KEY, frost.amount()); - state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); + var speedAttribute = living.getAttribute(Attributes.MOVEMENT_SPEED); + if (speedAttribute != null) { + var frostModifier = speedAttribute.getModifier(FrostedEffect.MOVEMENT_SPEED_MODIFIER); + if (frostModifier != null) { + double count = Math.abs(frostModifier.amount()) / Math.abs(FrostedEffect.FROST_MULTIPLIER); + state.setRenderData(IceLayer.FROST_COUNT_KEY, count); + state.setRenderData(IceLayer.FROST_ID_KEY, living.getId()); + } + } }); event.registerEntityModifier(new TypeToken>() {}, (living, state) -> state.setRenderData(ClientEvents.HEAD_KEY, living.getItemBySlot(EquipmentSlot.HEAD).getItem() instanceof TrophyItem || ClientEvents.areCuriosEquipped(living))); diff --git a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java index 96d26c0562..7b8a4b070e 100644 --- a/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java +++ b/src/main/java/twilightforest/client/renderer/entity/layers/IceLayer.java @@ -16,7 +16,6 @@ import net.neoforged.neoforge.client.model.data.ModelData; import twilightforest.TwilightForestMod; import twilightforest.client.model.entity.DeathTomeModel; -import twilightforest.potions.FrostedEffect; public class IceLayer> extends RenderLayer { private final RandomSource random = RandomSource.create(); @@ -37,7 +36,7 @@ public void render(PoseStack stack, MultiBufferSource buffer, int light, S state this.random.setSeed(id * id * 3121L + id * 45238971L); - int numCubes = (int) (state.boundingBoxHeight / 0.4F) + (int) (count / FrostedEffect.FROST_MULTIPLIER) + 1; //Number of cubes, adds more cubes based on the level of the effect + int numCubes = (int) (state.boundingBoxHeight / 0.4F) + (int) (count.doubleValue()) + 1; //Number of cubes, adds more cubes based on the level of the effect float specialOffset = this.getParentModel() instanceof DeathTomeModel ? 1.0F : 0.0F; From b93b78a69bc99efd9f407a8226ea926a916a3e1a Mon Sep 17 00:00:00 2001 From: Albazavr Date: Thu, 4 Jun 2026 21:10:34 +0300 Subject: [PATCH 238/239] Fix Unstable Ice Core death animation scaling on 1.21.4 (#2416) --- .../client/renderer/entity/UnstableIceCoreRenderer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java b/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java index 29aaf2c0b3..860bf7f0f7 100644 --- a/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/UnstableIceCoreRenderer.java @@ -22,18 +22,18 @@ public UnstableIceCoreRenderer(EntityRendererProvider.Context context) { @Override protected void scale(LivingEntityRenderState state, PoseStack stack) { - stack.translate(0.0F, Mth.sin(state.ageInTicks * 0.2F) * 0.15F, 0.0F); // flash - float f1 = state.deathTime; - if (f1 > 0) { - float f2 = 1.0F + Mth.sin(f1 * 100.0F) * f1 * 0.01F; + if (state.deathTime > 0) { + float f1 = state.deathTime / 60.0F; if (f1 > 1.0F) { f1 = 1.0F; } + float f2 = 1.0F + Mth.sin(f1 * 60 * 100.0F) * f1 * 0.01F; + f1 *= f1; f1 *= f1; float f3 = (1.0F + f1 * 0.4F) * f2; From 581828ca7093260c6a64e73fd7b7253f037663e3 Mon Sep 17 00:00:00 2001 From: Albazavr Date: Thu, 4 Jun 2026 21:36:37 +0300 Subject: [PATCH 239/239] Fix Twilight Lich rendering height and entity dimensions on 1.21.4 (#2420) --- .../twilightforest/client/renderer/entity/LichRenderer.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java index 009c91adc2..a17fa66aa9 100644 --- a/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java +++ b/src/main/java/twilightforest/client/renderer/entity/LichRenderer.java @@ -39,6 +39,11 @@ public RenderType renderType() { }); } + @Override + protected void scale(LichRenderState state, PoseStack stack) { + stack.scale(1.03125F, 1.03125F, 1.03125F); + } + @Override protected int getModelTint(LichRenderState state) { if (state.isShadowClone) return ARGB.colorFromFloat(0.5F, 0.333F, 0.333F, 0.333F);